angular-three-soba 2.2.0 → 2.3.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/abstractions/lib/catmull-rom-line.d.ts +148 -148
- package/abstractions/lib/edges.d.ts +166 -166
- package/abstractions/lib/grid.d.ts +30 -30
- package/abstractions/lib/line.d.ts +10 -9
- package/abstractions/lib/prism-geometry.d.ts +4 -4
- package/abstractions/lib/rounded-box.d.ts +3 -3
- package/abstractions/lib/text-3d.d.ts +38 -38
- package/abstractions/lib/text.d.ts +2 -3
- package/cameras/lib/cube-camera.d.ts +2 -2
- package/cameras/lib/orthographic-camera.d.ts +7 -8
- package/cameras/lib/perspective-camera.d.ts +2 -3
- package/controls/lib/camera-controls.d.ts +1 -1
- package/controls/lib/orbit-controls.d.ts +1 -1
- package/esm2022/abstractions/lib/billboard.mjs +3 -3
- package/esm2022/abstractions/lib/catmull-rom-line.mjs +3 -3
- package/esm2022/abstractions/lib/cubic-bezier-line.mjs +3 -3
- package/esm2022/abstractions/lib/edges.mjs +30 -34
- package/esm2022/abstractions/lib/gradient-texture.mjs +3 -3
- package/esm2022/abstractions/lib/grid.mjs +3 -3
- package/esm2022/abstractions/lib/helper.mjs +18 -20
- package/esm2022/abstractions/lib/line.mjs +25 -28
- package/esm2022/abstractions/lib/prism-geometry.mjs +3 -3
- package/esm2022/abstractions/lib/quadratic-bezier-line.mjs +3 -3
- package/esm2022/abstractions/lib/rounded-box.mjs +11 -17
- package/esm2022/abstractions/lib/text-3d.mjs +14 -17
- package/esm2022/abstractions/lib/text.mjs +11 -16
- package/esm2022/cameras/lib/camera-content.mjs +3 -3
- package/esm2022/cameras/lib/cube-camera.mjs +18 -27
- package/esm2022/cameras/lib/orthographic-camera.mjs +20 -20
- package/esm2022/cameras/lib/perspective-camera.mjs +21 -21
- package/esm2022/controls/lib/camera-controls.mjs +3 -3
- package/esm2022/controls/lib/orbit-controls.mjs +3 -3
- package/esm2022/controls/lib/scroll-controls.mjs +124 -130
- package/esm2022/gizmos/lib/gizmo-helper/gizmo-helper.mjs +6 -6
- package/esm2022/gizmos/lib/gizmo-helper/gizmo-viewcube.mjs +12 -12
- package/esm2022/gizmos/lib/gizmo-helper/gizmo-viewport.mjs +9 -9
- package/esm2022/gizmos/lib/pivot-controls/axis-arrow.mjs +6 -4
- package/esm2022/gizmos/lib/pivot-controls/axis-rotator.mjs +3 -3
- package/esm2022/gizmos/lib/pivot-controls/pivot-controls.mjs +44 -47
- package/esm2022/gizmos/lib/pivot-controls/plane-slider.mjs +3 -3
- package/esm2022/gizmos/lib/pivot-controls/scaling-sphere.mjs +3 -3
- package/esm2022/gizmos/lib/transform-controls.mjs +3 -3
- package/esm2022/loaders/lib/loader.mjs +3 -3
- package/esm2022/materials/lib/custom-shader-material.mjs +8 -12
- package/esm2022/materials/lib/mesh-distort-material.mjs +3 -3
- package/esm2022/materials/lib/mesh-reflector-material.mjs +11 -15
- package/esm2022/materials/lib/mesh-refraction-material.mjs +26 -30
- package/esm2022/materials/lib/mesh-transmission-material.mjs +3 -3
- package/esm2022/materials/lib/mesh-wobble-material.mjs +3 -3
- package/esm2022/materials/lib/point-material.mjs +3 -3
- package/esm2022/misc/lib/bake-shadows.mjs +8 -10
- package/esm2022/misc/lib/computed-attribute.mjs +15 -19
- package/esm2022/misc/lib/decal.mjs +56 -53
- package/esm2022/misc/lib/fbo.mjs +10 -10
- package/esm2022/misc/lib/html/html-content.mjs +62 -67
- package/esm2022/misc/lib/html/html.mjs +3 -3
- package/esm2022/misc/lib/intersect.mjs +6 -9
- package/esm2022/misc/lib/sampler.mjs +42 -42
- package/esm2022/performances/lib/adaptive-dpr.mjs +29 -35
- package/esm2022/performances/lib/adaptive-events.mjs +12 -16
- package/esm2022/performances/lib/detailed.mjs +14 -18
- package/esm2022/performances/lib/instances/instances.mjs +16 -22
- package/esm2022/performances/lib/points/points.mjs +19 -25
- package/esm2022/performances/lib/segments/segments.mjs +11 -14
- package/esm2022/shaders/lib/mesh-refraction-material.mjs +1 -1
- package/esm2022/staging/index.mjs +3 -2
- package/esm2022/staging/lib/accumulative-shadows.mjs +19 -21
- package/esm2022/staging/lib/backdrop.mjs +19 -23
- package/esm2022/staging/lib/bb-anchor.mjs +3 -3
- package/esm2022/staging/lib/bounds.mjs +39 -43
- package/esm2022/staging/lib/camera-shake.mjs +14 -18
- package/esm2022/staging/lib/caustics.mjs +24 -28
- package/esm2022/staging/lib/center.mjs +28 -32
- package/esm2022/staging/lib/contact-shadows.mjs +3 -3
- package/esm2022/staging/lib/environment/environment.mjs +338 -0
- package/esm2022/staging/lib/environment/inject-environment.mjs +184 -0
- package/esm2022/staging/lib/float.mjs +3 -3
- package/esm2022/staging/lib/lightformer.mjs +18 -22
- package/esm2022/staging/lib/mask.mjs +8 -12
- package/esm2022/staging/lib/matcap-texture.mjs +9 -11
- package/esm2022/staging/lib/normal-texture.mjs +9 -11
- package/esm2022/staging/lib/randomized-lights.mjs +9 -13
- package/esm2022/staging/lib/render-texture.mjs +19 -20
- package/esm2022/staging/lib/sky.mjs +3 -3
- package/esm2022/staging/lib/spot-light.mjs +32 -40
- package/esm2022/staging/lib/stage.mjs +13 -17
- package/esm2022/stats/lib/stats.mjs +21 -27
- package/fesm2022/angular-three-soba-abstractions.mjs +119 -138
- package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
- package/fesm2022/angular-three-soba-cameras.mjs +57 -64
- package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
- package/fesm2022/angular-three-soba-controls.mjs +129 -135
- package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
- package/fesm2022/angular-three-soba-gizmos.mjs +87 -88
- package/fesm2022/angular-three-soba-gizmos.mjs.map +1 -1
- package/fesm2022/angular-three-soba-loaders.mjs +3 -3
- package/fesm2022/angular-three-soba-materials.mjs +52 -62
- package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
- package/fesm2022/angular-three-soba-misc.mjs +188 -195
- package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
- package/fesm2022/angular-three-soba-performances.mjs +90 -114
- package/fesm2022/angular-three-soba-performances.mjs.map +1 -1
- package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-staging.mjs +427 -430
- package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
- package/fesm2022/angular-three-soba-stats.mjs +20 -26
- package/fesm2022/angular-three-soba-stats.mjs.map +1 -1
- package/materials/lib/custom-shader-material.d.ts +3 -3
- package/materials/lib/mesh-refraction-material.d.ts +3 -3
- package/materials/lib/mesh-transmission-material.d.ts +1 -1
- package/misc/lib/computed-attribute.d.ts +5 -5
- package/misc/lib/decal.d.ts +5 -5
- package/misc/lib/html/html-content.d.ts +6 -6
- package/misc/lib/html/html.d.ts +1 -1
- package/misc/lib/sampler.d.ts +2 -4
- package/package.json +12 -12
- package/performances/lib/instances/instances.d.ts +11 -11
- package/performances/lib/points/points.d.ts +20 -20
- package/performances/lib/segments/segments.d.ts +4 -4
- package/shaders/lib/mesh-refraction-material.d.ts +2 -5
- package/staging/index.d.ts +2 -1
- package/staging/lib/camera-shake.d.ts +0 -1
- package/staging/lib/caustics.d.ts +1 -1
- package/staging/lib/center.d.ts +2 -2
- package/staging/lib/contact-shadows.d.ts +1 -1
- package/staging/lib/{environment.d.ts → environment/environment.d.ts} +20 -49
- package/staging/lib/environment/inject-environment.d.ts +33 -0
- package/staging/lib/lightformer.d.ts +1 -1
- package/staging/lib/mask.d.ts +1 -1
- package/staging/lib/matcap-texture.d.ts +0 -1
- package/staging/lib/normal-texture.d.ts +0 -1
- package/staging/lib/render-texture.d.ts +1 -1
- package/staging/lib/sky.d.ts +1 -1
- package/staging/lib/spot-light.d.ts +2 -2
- package/staging/lib/stage.d.ts +7 -6
- package/esm2022/staging/lib/environment.mjs +0 -481
|
@@ -18,8 +18,8 @@ export class Axis {
|
|
|
18
18
|
this.rotation = input([0, 0, 0]);
|
|
19
19
|
extend({ Group, Mesh, BoxGeometry, MeshBasicMaterial });
|
|
20
20
|
}
|
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
22
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: Axis, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.4", type: Axis, isStandalone: true, selector: "viewport-axis", inputs: { scale: { classPropertyName: "scale", publicName: "scale", isSignal: true, isRequired: false, transformFunction: null }, color: { classPropertyName: "color", publicName: "color", isSignal: true, isRequired: false, transformFunction: null }, rotation: { classPropertyName: "rotation", publicName: "rotation", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
23
23
|
<ngt-group [rotation]="rotation()">
|
|
24
24
|
<ngt-mesh [position]="[0.4, 0, 0]">
|
|
25
25
|
<ngt-box-geometry *args="scale()" />
|
|
@@ -28,7 +28,7 @@ export class Axis {
|
|
|
28
28
|
</ngt-group>
|
|
29
29
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
30
30
|
}
|
|
31
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: Axis, decorators: [{
|
|
32
32
|
type: Component,
|
|
33
33
|
args: [{
|
|
34
34
|
selector: 'viewport-axis',
|
|
@@ -114,8 +114,8 @@ export class AxisHead {
|
|
|
114
114
|
event.stopPropagation();
|
|
115
115
|
this.gizmoHelper.tweenCamera(event.object.position);
|
|
116
116
|
}
|
|
117
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
118
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.
|
|
117
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AxisHead, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
118
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.4", type: AxisHead, isStandalone: true, selector: "viewport-axis-head", inputs: { arcStyle: { classPropertyName: "arcStyle", publicName: "arcStyle", isSignal: true, isRequired: true, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: true, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelColor: { classPropertyName: "labelColor", publicName: "labelColor", isSignal: true, isRequired: false, transformFunction: null }, axisHeadScale: { classPropertyName: "axisHeadScale", publicName: "axisHeadScale", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, font: { classPropertyName: "font", publicName: "font", isSignal: true, isRequired: false, transformFunction: null }, onClick: { classPropertyName: "onClick", publicName: "onClick", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
119
119
|
<ngt-sprite
|
|
120
120
|
[scale]="scale()"
|
|
121
121
|
[position]="position()"
|
|
@@ -127,7 +127,7 @@ export class AxisHead {
|
|
|
127
127
|
</ngt-sprite>
|
|
128
128
|
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
129
129
|
}
|
|
130
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
130
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: AxisHead, decorators: [{
|
|
131
131
|
type: Component,
|
|
132
132
|
args: [{
|
|
133
133
|
selector: 'viewport-axis-head',
|
|
@@ -189,8 +189,8 @@ export class NgtsGizmoViewport {
|
|
|
189
189
|
return getEmitter(this.click);
|
|
190
190
|
return undefined;
|
|
191
191
|
}
|
|
192
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
193
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
192
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsGizmoViewport, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
193
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: NgtsGizmoViewport, isStandalone: true, selector: "ngts-gizmo-viewport", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click: "click" }, ngImport: i0, template: `
|
|
194
194
|
<ngt-group [scale]="40" [parameters]="parameters()">
|
|
195
195
|
<viewport-axis [color]="axisColors()[0]" [rotation]="[0, 0, 0]" [scale]="axisScale()" />
|
|
196
196
|
<viewport-axis [color]="axisColors()[1]" [rotation]="[0, 0, Math.PI / 2]" [scale]="axisScale()" />
|
|
@@ -255,7 +255,7 @@ export class NgtsGizmoViewport {
|
|
|
255
255
|
</ngt-group>
|
|
256
256
|
`, isInline: true, dependencies: [{ kind: "component", type: Axis, selector: "viewport-axis", inputs: ["scale", "color", "rotation"] }, { kind: "component", type: AxisHead, selector: "viewport-axis-head", inputs: ["arcStyle", "position", "label", "labelColor", "axisHeadScale", "disabled", "font", "onClick"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
257
257
|
}
|
|
258
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
258
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsGizmoViewport, decorators: [{
|
|
259
259
|
type: Component,
|
|
260
260
|
args: [{
|
|
261
261
|
selector: 'ngts-gizmo-viewport',
|
|
@@ -124,8 +124,8 @@ export class NgtsAxisArrow {
|
|
|
124
124
|
event.stopPropagation();
|
|
125
125
|
this.hovered.set(false);
|
|
126
126
|
}
|
|
127
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
128
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
127
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsAxisArrow, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
128
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: NgtsAxisArrow, isStandalone: true, selector: "ngts-axis-arrow", inputs: { direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: true, transformFunction: null }, axis: { classPropertyName: "axis", publicName: "axis", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, isSignal: true }, { propertyName: "annotationRef", first: true, predicate: ["annotation"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: `
|
|
129
129
|
<ngt-group #group>
|
|
130
130
|
<ngt-group
|
|
131
131
|
[matrix]="matrixL()"
|
|
@@ -145,6 +145,7 @@ export class NgtsAxisArrow {
|
|
|
145
145
|
></div>
|
|
146
146
|
</ngts-html>
|
|
147
147
|
}
|
|
148
|
+
|
|
148
149
|
<ngt-mesh
|
|
149
150
|
[visible]="false"
|
|
150
151
|
[position]="[0, (cylinderLength() + coneLength()) / 2.0, 0]"
|
|
@@ -188,7 +189,7 @@ export class NgtsAxisArrow {
|
|
|
188
189
|
</ngt-group>
|
|
189
190
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }, { kind: "component", type: NgtsLine, selector: "ngts-line", inputs: ["points", "options"] }, { kind: "component", type: NgtsHTML, selector: "ngts-html", inputs: ["options"] }, { kind: "component", type: NgtsHTMLContent, selector: "[ngtsHTMLContent]", inputs: ["ngtsHTMLContent"], outputs: ["occluded"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
190
191
|
}
|
|
191
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
192
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsAxisArrow, decorators: [{
|
|
192
193
|
type: Component,
|
|
193
194
|
args: [{
|
|
194
195
|
selector: 'ngts-axis-arrow',
|
|
@@ -213,6 +214,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
213
214
|
></div>
|
|
214
215
|
</ngts-html>
|
|
215
216
|
}
|
|
217
|
+
|
|
216
218
|
<ngt-mesh
|
|
217
219
|
[visible]="false"
|
|
218
220
|
[position]="[0, (cylinderLength() + coneLength()) / 2.0, 0]"
|
|
@@ -260,4 +262,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
260
262
|
imports: [NgtArgs, NgtsLine, NgtsHTML, NgtsHTMLContent],
|
|
261
263
|
}]
|
|
262
264
|
}], ctorParameters: () => [] });
|
|
263
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpcy1hcnJvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9naXptb3Mvc3JjL2xpYi9waXZvdC1jb250cm9scy9heGlzLWFycm93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixzQkFBc0IsRUFDdEIsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BFLE9BQU8sRUFDTixZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLFVBQVUsRUFDVixLQUFLLEVBQ0wsT0FBTyxFQUNQLElBQUksRUFDSixpQkFBaUIsRUFDakIsVUFBVSxFQUNWLE9BQU8sR0FDUCxNQUFNLE9BQU8sQ0FBQztBQUNmLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUVyRCxNQUFNLElBQUksR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0FBQzNCLE1BQU0sSUFBSSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7QUFFM0IsTUFBTSxVQUFVLGVBQWUsQ0FBQyxVQUFtQixFQUFFLE1BQWUsRUFBRSxRQUFpQixFQUFFLE1BQWU7SUFDdkcsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDekQsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUU5QixJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUNkLE9BQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxJQUFJO1NBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQztTQUNaLGNBQWMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO1NBQ3ZCLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNkLElBQUk7U0FDRixJQUFJLENBQUMsTUFBTSxDQUFDO1NBQ1osY0FBYyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7U0FDdkIsR0FBRyxDQUFDLFFBQVEsQ0FBQztTQUNiLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUVsQixPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRCxNQUFNLEdBQUcsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2pDLE1BQU0sWUFBWSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7QUF1RW5DLE1BQU0sT0FBTyxhQUFhO0lBbUN6QjtRQWxDbUIsZUFBVSxHQUFHLFVBQVUsQ0FBQztRQUUzQyxjQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVyxDQUFDO1FBQ3RDLFNBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFhLENBQUM7UUFFbkMsYUFBUSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQW9CLE9BQU8sQ0FBQyxDQUFDO1FBQzFELGtCQUFhLEdBQUcsU0FBUyxDQUFzQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUVuRyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQ2xDLFVBQUssR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUN0QixhQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUE0QyxDQUFDO1FBRXBGLFlBQU8sR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsY0FBUyxHQUFpRCxJQUFJLENBQUM7UUFDL0QsWUFBTyxHQUFHLENBQUMsQ0FBQztRQUVwQixVQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUNyQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQ2pHLENBQUM7UUFFRixjQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUN6QixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRTtZQUN6QixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxHQUFHO1lBQ3JFLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FDbEMsQ0FBQztRQUNGLGVBQVUsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqRyxtQkFBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQ25HLENBQUM7UUFDRixZQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN2QixNQUFNLFVBQVUsR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztZQUNsRyxPQUFPLElBQUksT0FBTyxFQUFFLENBQUMsMEJBQTBCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0QsQ0FBQyxDQUFDLENBQUM7UUFHRixNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLFlBQVksRUFBRSxnQkFBZ0IsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFrQztRQUMvQyxNQUFNLENBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxHQUFHO1lBQ3RELElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxhQUFhO1lBQzdCLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDaEIsSUFBSSxDQUFDLElBQUksRUFBRTtZQUNYLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsYUFBYTtTQUNuQyxDQUFDO1FBRUYsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNoQixVQUFVLENBQUMsU0FBUyxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDNUUsVUFBVSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3BDLENBQUM7UUFFRCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFeEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xFLE1BQU0sTUFBTSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdkMsTUFBTSxHQUFHLEdBQUcsU0FBUyxDQUFDLEtBQUssRUFBRSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqRSxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3hGLElBQUksUUFBUSxFQUFFLENBQUM7WUFDZCxRQUFRLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztRQUMxQixDQUFDO1FBRUQscUVBQXFFO1FBQ3JFLEtBQUssQ0FBQyxNQUFNLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFRCxXQUFXLENBQUMsS0FBa0M7UUFDN0MsTUFBTSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFFdEYsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNoQixVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDbkMsQ0FBQztRQUVELEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUN0QixJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQy9CLElBQUksUUFBUSxFQUFFLENBQUM7WUFDZCxRQUFRLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN6QixDQUFDO1FBRUQscUVBQXFFO1FBQ3JFLEtBQUssQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxhQUFhLENBQUMsS0FBa0M7UUFDL0MsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBRXhCLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QixDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDcEIsTUFBTSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQzNDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEdBQUc7Z0JBQzdDLElBQUksQ0FBQyxhQUFhLENBQUMsaUJBQWlCLEVBQUU7Z0JBQ3RDLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxhQUFhO2dCQUNuQyxJQUFJLENBQUMsSUFBSSxFQUFFO2FBQ1gsQ0FBQztZQUVGLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUV2RSxJQUFJLE1BQU0sR0FBRyxlQUFlLENBQUMsVUFBVSxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQ3JGLElBQUksR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUN2QixNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUMvQyxDQUFDO1lBRUQsSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFLENBQUM7Z0JBQ3ZCLE1BQU0sR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQy9DLENBQUM7WUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztZQUU3RCxJQUFJLFVBQVUsRUFBRSxDQUFDO2dCQUNoQixVQUFVLENBQUMsU0FBUyxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDN0UsQ0FBQztZQUVELFlBQVksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQztZQUM3RSxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUN6QyxDQUFDO0lBQ0YsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFrQztRQUM5QyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekIsQ0FBQzs4R0FoSVcsYUFBYTtrR0FBYixhQUFhLDBnQkFPNEQsVUFBVSw2Q0F6RXJGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBNkRULDREQUdTLE9BQU8sZ0ZBQUUsUUFBUSxxRkFBRSxRQUFRLDJFQUFFLGVBQWU7OzJGQUUxQyxhQUFhO2tCQXJFekIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBNkRUO29CQUNELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsZUFBZSxDQUFDO2lCQUN2RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdGNvbXB1dGVkLFxuXHRDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuXHRFbGVtZW50UmVmLFxuXHRpbmplY3QsXG5cdGlucHV0LFxuXHRzaWduYWwsXG5cdFNpZ25hbCxcblx0dmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGV4dGVuZCwgaW5qZWN0U3RvcmUsIE5ndEFyZ3MsIE5ndFRocmVlRXZlbnQgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IE5ndHNMaW5lIH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL2Fic3RyYWN0aW9ucyc7XG5pbXBvcnQgeyBOZ3RzSFRNTCwgTmd0c0hUTUxDb250ZW50IH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL21pc2MnO1xuaW1wb3J0IHtcblx0Q29uZUdlb21ldHJ5LFxuXHRDeWxpbmRlckdlb21ldHJ5LFxuXHREb3VibGVTaWRlLFxuXHRHcm91cCxcblx0TWF0cml4NCxcblx0TWVzaCxcblx0TWVzaEJhc2ljTWF0ZXJpYWwsXG5cdFF1YXRlcm5pb24sXG5cdFZlY3RvcjMsXG59IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IE5ndHNQaXZvdENvbnRyb2xzIH0gZnJvbSAnLi9waXZvdC1jb250cm9scyc7XG5cbmNvbnN0IHZlYzEgPSBuZXcgVmVjdG9yMygpO1xuY29uc3QgdmVjMiA9IG5ldyBWZWN0b3IzKCk7XG5cbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVPZmZzZXQoY2xpY2tQb2ludDogVmVjdG9yMywgbm9ybWFsOiBWZWN0b3IzLCByYXlTdGFydDogVmVjdG9yMywgcmF5RGlyOiBWZWN0b3IzKSB7XG5cdGNvbnN0IGUxID0gbm9ybWFsLmRvdChub3JtYWwpO1xuXHRjb25zdCBlMiA9IG5vcm1hbC5kb3QoY2xpY2tQb2ludCkgLSBub3JtYWwuZG90KHJheVN0YXJ0KTtcblx0Y29uc3QgZTMgPSBub3JtYWwuZG90KHJheURpcik7XG5cblx0aWYgKGUzID09PSAwKSB7XG5cdFx0cmV0dXJuIC1lMiAvIGUxO1xuXHR9XG5cblx0dmVjMVxuXHRcdC5jb3B5KHJheURpcilcblx0XHQubXVsdGlwbHlTY2FsYXIoZTEgLyBlMylcblx0XHQuc3ViKG5vcm1hbCk7XG5cdHZlYzJcblx0XHQuY29weShyYXlEaXIpXG5cdFx0Lm11bHRpcGx5U2NhbGFyKGUyIC8gZTMpXG5cdFx0LmFkZChyYXlTdGFydClcblx0XHQuc3ViKGNsaWNrUG9pbnQpO1xuXG5cdHJldHVybiAtdmVjMS5kb3QodmVjMikgLyB2ZWMxLmRvdCh2ZWMxKTtcbn1cblxuY29uc3QgdXBWID0gbmV3IFZlY3RvcjMoMCwgMSwgMCk7XG5jb25zdCBvZmZzZXRNYXRyaXggPSBuZXcgTWF0cml4NCgpO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLWF4aXMtYXJyb3cnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3QtZ3JvdXAgI2dyb3VwPlxuXHRcdFx0PG5ndC1ncm91cFxuXHRcdFx0XHRbbWF0cml4XT1cIm1hdHJpeEwoKVwiXG5cdFx0XHRcdFttYXRyaXhBdXRvVXBkYXRlXT1cImZhbHNlXCJcblx0XHRcdFx0KHBvaW50ZXJkb3duKT1cIm9uUG9pbnRlckRvd24oJGFueSgkZXZlbnQpKVwiXG5cdFx0XHRcdChwb2ludGVydXApPVwib25Qb2ludGVyVXAoJGFueSgkZXZlbnQpKVwiXG5cdFx0XHRcdChwb2ludGVybW92ZSk9XCJvblBvaW50ZXJNb3ZlKCRhbnkoJGV2ZW50KSlcIlxuXHRcdFx0XHQocG9pbnRlcm91dCk9XCJvblBvaW50ZXJPdXQoJGFueSgkZXZlbnQpKVwiXG5cdFx0XHQ+XG5cdFx0XHRcdEBpZiAocGl2b3RDb250cm9scy5hbm5vdGF0aW9ucygpKSB7XG5cdFx0XHRcdFx0PG5ndHMtaHRtbCBbb3B0aW9uc109XCJ7IHBvc2l0aW9uOiBbMCwgLWNvbmVMZW5ndGgoKSwgMF0gfVwiPlxuXHRcdFx0XHRcdFx0PGRpdlxuXHRcdFx0XHRcdFx0XHQjYW5ub3RhdGlvblxuXHRcdFx0XHRcdFx0XHRuZ3RzSFRNTENvbnRlbnRcblx0XHRcdFx0XHRcdFx0c3R5bGU9XCJkaXNwbGF5OiBub25lOyBiYWNrZ3JvdW5kOiAjMTUxNTIwOyBjb2xvcjogd2hpdGU7IHBhZGRpbmc6IDZweCA4cHg7IGJvcmRlci1yYWRpdXM6IDdweDsgd2hpdGUtc3BhY2U6IG5vd3JhcDtcIlxuXHRcdFx0XHRcdFx0XHRbY2xhc3NdPVwicGl2b3RDb250cm9scy5hbm5vdGF0aW9uc0NsYXNzKClcIlxuXHRcdFx0XHRcdFx0PjwvZGl2PlxuXHRcdFx0XHRcdDwvbmd0cy1odG1sPlxuXHRcdFx0XHR9XG5cdFx0XHRcdDxuZ3QtbWVzaFxuXHRcdFx0XHRcdFt2aXNpYmxlXT1cImZhbHNlXCJcblx0XHRcdFx0XHRbcG9zaXRpb25dPVwiWzAsIChjeWxpbmRlckxlbmd0aCgpICsgY29uZUxlbmd0aCgpKSAvIDIuMCwgMF1cIlxuXHRcdFx0XHRcdFt1c2VyRGF0YV09XCJwaXZvdENvbnRyb2xzLnVzZXJEYXRhKClcIlxuXHRcdFx0XHQ+XG5cdFx0XHRcdFx0PG5ndC1jeWxpbmRlci1nZW9tZXRyeVxuXHRcdFx0XHRcdFx0KmFyZ3M9XCJbY29uZVdpZHRoKCkgKiAxLjQsIGNvbmVXaWR0aCgpICogMS40LCBjeWxpbmRlckxlbmd0aCgpICsgY29uZUxlbmd0aCgpLCA4LCAxXVwiXG5cdFx0XHRcdFx0Lz5cblx0XHRcdFx0PC9uZ3QtbWVzaD5cblxuXHRcdFx0XHQ8bmd0cy1saW5lXG5cdFx0XHRcdFx0W3BvaW50c109XCJbMCwgMCwgMCwgMCwgY3lsaW5kZXJMZW5ndGgoKSwgMF1cIlxuXHRcdFx0XHRcdFtvcHRpb25zXT1cIntcblx0XHRcdFx0XHRcdHJheWNhc3Q6IG51bGwsXG5cdFx0XHRcdFx0XHRzaWRlOiBEb3VibGVTaWRlLFxuXHRcdFx0XHRcdFx0cG9seWdvbk9mZnNldDogdHJ1ZSxcblx0XHRcdFx0XHRcdHBvbHlnb25PZmZzZXRGYWN0b3I6IC0xMCxcblx0XHRcdFx0XHRcdHJlbmRlck9yZGVyOiAxLFxuXHRcdFx0XHRcdFx0Zm9nOiBmYWxzZSxcblx0XHRcdFx0XHRcdHRyYW5zcGFyZW50OiB0cnVlLFxuXHRcdFx0XHRcdFx0bGluZVdpZHRoOiBwaXZvdENvbnRyb2xzLmxpbmVXaWR0aCgpLFxuXHRcdFx0XHRcdFx0Y29sb3I6IGNvbG9yKCksXG5cdFx0XHRcdFx0XHRvcGFjaXR5OiBwaXZvdENvbnRyb2xzLm9wYWNpdHkoKSxcblx0XHRcdFx0XHRcdGRlcHRoVGVzdDogcGl2b3RDb250cm9scy5kZXB0aFRlc3QoKSxcblx0XHRcdFx0XHR9XCJcblx0XHRcdFx0Lz5cblxuXHRcdFx0XHQ8bmd0LW1lc2ggW3JheWNhc3RdPVwibnVsbFwiIFtwb3NpdGlvbl09XCJbMCwgY3lsaW5kZXJMZW5ndGgoKSArIGNvbmVMZW5ndGgoKSAvIDIuMCwgMF1cIiBbcmVuZGVyT3JkZXJdPVwiNTAwXCI+XG5cdFx0XHRcdFx0PG5ndC1jb25lLWdlb21ldHJ5ICphcmdzPVwiW2NvbmVXaWR0aCgpLCBjb25lTGVuZ3RoKCksIDI0LCAxXVwiIC8+XG5cdFx0XHRcdFx0PG5ndC1tZXNoLWJhc2ljLW1hdGVyaWFsXG5cdFx0XHRcdFx0XHRbdHJhbnNwYXJlbnRdPVwidHJ1ZVwiXG5cdFx0XHRcdFx0XHRbZGVwdGhUZXN0XT1cInBpdm90Q29udHJvbHMuZGVwdGhUZXN0KClcIlxuXHRcdFx0XHRcdFx0W2NvbG9yXT1cImNvbG9yKClcIlxuXHRcdFx0XHRcdFx0W29wYWNpdHldPVwicGl2b3RDb250cm9scy5vcGFjaXR5KClcIlxuXHRcdFx0XHRcdFx0W3BvbHlnb25PZmZzZXRdPVwidHJ1ZVwiXG5cdFx0XHRcdFx0XHRbcG9seWdvbk9mZnNldEZhY3Rvcl09XCItMTBcIlxuXHRcdFx0XHRcdFx0W2ZvZ109XCJmYWxzZVwiXG5cdFx0XHRcdFx0Lz5cblx0XHRcdFx0PC9uZ3QtbWVzaD5cblx0XHRcdDwvbmd0LWdyb3VwPlxuXHRcdDwvbmd0LWdyb3VwPlxuXHRgLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRpbXBvcnRzOiBbTmd0QXJncywgTmd0c0xpbmUsIE5ndHNIVE1MLCBOZ3RzSFRNTENvbnRlbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzQXhpc0Fycm93IHtcblx0cHJvdGVjdGVkIHJlYWRvbmx5IERvdWJsZVNpZGUgPSBEb3VibGVTaWRlO1xuXG5cdGRpcmVjdGlvbiA9IGlucHV0LnJlcXVpcmVkPFZlY3RvcjM+KCk7XG5cdGF4aXMgPSBpbnB1dC5yZXF1aXJlZDwwIHwgMSB8IDI+KCk7XG5cblx0Z3JvdXBSZWYgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxHcm91cD4+KCdncm91cCcpO1xuXHRhbm5vdGF0aW9uUmVmID0gdmlld0NoaWxkPHVua25vd24sIEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+PignYW5ub3RhdGlvbicsIHsgcmVhZDogRWxlbWVudFJlZiB9KTtcblxuXHRwaXZvdENvbnRyb2xzID0gaW5qZWN0KE5ndHNQaXZvdENvbnRyb2xzKTtcblx0cHJpdmF0ZSBzdG9yZSA9IGluamVjdFN0b3JlKCk7XG5cdHByaXZhdGUgY29udHJvbHMgPSB0aGlzLnN0b3JlLnNlbGVjdCgnY29udHJvbHMnKSBhcyB1bmtub3duIGFzIFNpZ25hbDx7IGVuYWJsZWQ6IGJvb2xlYW4gfT47XG5cblx0cHJpdmF0ZSBob3ZlcmVkID0gc2lnbmFsKGZhbHNlKTtcblx0cHJpdmF0ZSBjbGlja0luZm86IHsgY2xpY2tQb2ludDogVmVjdG9yMzsgZGlyOiBWZWN0b3IzIH0gfCBudWxsID0gbnVsbDtcblx0cHJpdmF0ZSBvZmZzZXQwID0gMDtcblxuXHRjb2xvciA9IGNvbXB1dGVkKCgpID0+XG5cdFx0dGhpcy5ob3ZlcmVkKCkgPyB0aGlzLnBpdm90Q29udHJvbHMuaG92ZXJlZENvbG9yKCkgOiB0aGlzLnBpdm90Q29udHJvbHMuYXhpc0NvbG9ycygpW3RoaXMuYXhpcygpXSxcblx0KTtcblxuXHRjb25lV2lkdGggPSBjb21wdXRlZCgoKSA9PlxuXHRcdHRoaXMucGl2b3RDb250cm9scy5maXhlZCgpXG5cdFx0XHQ/ICh0aGlzLnBpdm90Q29udHJvbHMubGluZVdpZHRoKCkgLyB0aGlzLnBpdm90Q29udHJvbHMuc2NhbGUoKSkgKiAxLjZcblx0XHRcdDogdGhpcy5waXZvdENvbnRyb2xzLnNjYWxlKCkgLyAyMCxcblx0KTtcblx0Y29uZUxlbmd0aCA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLnBpdm90Q29udHJvbHMuZml4ZWQoKSA/IDAuMiA6IHRoaXMucGl2b3RDb250cm9scy5zY2FsZSgpIC8gNSkpO1xuXHRjeWxpbmRlckxlbmd0aCA9IGNvbXB1dGVkKCgpID0+XG5cdFx0dGhpcy5waXZvdENvbnRyb2xzLmZpeGVkKCkgPyAxIC0gdGhpcy5jb25lTGVuZ3RoKCkgOiB0aGlzLnBpdm90Q29udHJvbHMuc2NhbGUoKSAtIHRoaXMuY29uZUxlbmd0aCgpLFxuXHQpO1xuXHRtYXRyaXhMID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IHF1YXRlcm5pb24gPSBuZXcgUXVhdGVybmlvbigpLnNldEZyb21Vbml0VmVjdG9ycyh1cFYsIHRoaXMuZGlyZWN0aW9uKCkuY2xvbmUoKS5ub3JtYWxpemUoKSk7XG5cdFx0cmV0dXJuIG5ldyBNYXRyaXg0KCkubWFrZVJvdGF0aW9uRnJvbVF1YXRlcm5pb24ocXVhdGVybmlvbik7XG5cdH0pO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGV4dGVuZCh7IEdyb3VwLCBNZXNoLCBDb25lR2VvbWV0cnksIEN5bGluZGVyR2VvbWV0cnksIE1lc2hCYXNpY01hdGVyaWFsIH0pO1xuXHR9XG5cblx0b25Qb2ludGVyRG93bihldmVudDogTmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+KSB7XG5cdFx0Y29uc3QgW2dyb3VwLCBkaXJlY3Rpb24sIGF4aXMsIGNvbnRyb2xzLCBhbm5vdGF0aW9uXSA9IFtcblx0XHRcdHRoaXMuZ3JvdXBSZWYoKS5uYXRpdmVFbGVtZW50LFxuXHRcdFx0dGhpcy5kaXJlY3Rpb24oKSxcblx0XHRcdHRoaXMuYXhpcygpLFxuXHRcdFx0dGhpcy5jb250cm9scygpLFxuXHRcdFx0dGhpcy5hbm5vdGF0aW9uUmVmKCk/Lm5hdGl2ZUVsZW1lbnQsXG5cdFx0XTtcblxuXHRcdGlmIChhbm5vdGF0aW9uKSB7XG5cdFx0XHRhbm5vdGF0aW9uLmlubmVyVGV4dCA9IGAke3RoaXMucGl2b3RDb250cm9scy50cmFuc2xhdGlvbltheGlzXS50b0ZpeGVkKDIpfWA7XG5cdFx0XHRhbm5vdGF0aW9uLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuXHRcdH1cblxuXHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG5cdFx0Y29uc3Qgcm90YXRpb24gPSBuZXcgTWF0cml4NCgpLmV4dHJhY3RSb3RhdGlvbihncm91cC5tYXRyaXhXb3JsZCk7XG5cdFx0Y29uc3Qgb3JpZ2luID0gbmV3IFZlY3RvcjMoKS5zZXRGcm9tTWF0cml4UG9zaXRpb24oZ3JvdXAubWF0cml4V29ybGQpO1xuXHRcdGNvbnN0IGNsaWNrUG9pbnQgPSBldmVudC5wb2ludC5jbG9uZSgpO1xuXHRcdGNvbnN0IGRpciA9IGRpcmVjdGlvbi5jbG9uZSgpLmFwcGx5TWF0cml4NChyb3RhdGlvbikubm9ybWFsaXplKCk7XG5cdFx0dGhpcy5jbGlja0luZm8gPSB7IGNsaWNrUG9pbnQsIGRpciB9O1xuXHRcdHRoaXMub2Zmc2V0MCA9IHRoaXMucGl2b3RDb250cm9scy50cmFuc2xhdGlvbltheGlzXTtcblx0XHR0aGlzLnBpdm90Q29udHJvbHMub25EcmFnU3RhcnQoeyBjb21wb25lbnQ6ICdBcnJvdycsIGF4aXMsIG9yaWdpbiwgZGlyZWN0aW9uczogW2Rpcl0gfSk7XG5cdFx0aWYgKGNvbnRyb2xzKSB7XG5cdFx0XHRjb250cm9scy5lbmFibGVkID0gZmFsc2U7XG5cdFx0fVxuXG5cdFx0Ly8gQHRzLWV4cGVjdC1lcnJvciAtIHNldFBvaW50ZXJDYXB0dXJlIGlzIG5vdCBpbiB0aGUgdHlwZSBkZWZpbml0aW9uXG5cdFx0ZXZlbnQudGFyZ2V0LnNldFBvaW50ZXJDYXB0dXJlKGV2ZW50LnBvaW50ZXJJZCk7XG5cdH1cblxuXHRvblBvaW50ZXJVcChldmVudDogTmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+KSB7XG5cdFx0Y29uc3QgW2Fubm90YXRpb24sIGNvbnRyb2xzXSA9IFt0aGlzLmFubm90YXRpb25SZWYoKT8ubmF0aXZlRWxlbWVudCwgdGhpcy5jb250cm9scygpXTtcblxuXHRcdGlmIChhbm5vdGF0aW9uKSB7XG5cdFx0XHRhbm5vdGF0aW9uLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG5cdFx0fVxuXG5cdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0dGhpcy5jbGlja0luZm8gPSBudWxsO1xuXHRcdHRoaXMucGl2b3RDb250cm9scy5vbkRyYWdFbmQoKTtcblx0XHRpZiAoY29udHJvbHMpIHtcblx0XHRcdGNvbnRyb2xzLmVuYWJsZWQgPSB0cnVlO1xuXHRcdH1cblxuXHRcdC8vIEB0cy1leHBlY3QtZXJyb3IgLSBzZXRQb2ludGVyQ2FwdHVyZSBpcyBub3QgaW4gdGhlIHR5cGUgZGVmaW5pdGlvblxuXHRcdGV2ZW50LnRhcmdldC5yZWxlYXNlUG9pbnRlckNhcHR1cmUoZXZlbnQucG9pbnRlcklkKTtcblx0fVxuXG5cdG9uUG9pbnRlck1vdmUoZXZlbnQ6IE5ndFRocmVlRXZlbnQ8UG9pbnRlckV2ZW50Pikge1xuXHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXG5cdFx0aWYgKCF0aGlzLmhvdmVyZWQoKSkge1xuXHRcdFx0dGhpcy5ob3ZlcmVkLnNldCh0cnVlKTtcblx0XHR9XG5cblx0XHRpZiAodGhpcy5jbGlja0luZm8pIHtcblx0XHRcdGNvbnN0IHsgY2xpY2tQb2ludCwgZGlyIH0gPSB0aGlzLmNsaWNrSW5mbztcblx0XHRcdGNvbnN0IFt0cmFuc2xhdGlvbkxpbWl0cywgYW5ub3RhdGlvbiwgYXhpc10gPSBbXG5cdFx0XHRcdHRoaXMucGl2b3RDb250cm9scy50cmFuc2xhdGlvbkxpbWl0cygpLFxuXHRcdFx0XHR0aGlzLmFubm90YXRpb25SZWYoKT8ubmF0aXZlRWxlbWVudCxcblx0XHRcdFx0dGhpcy5heGlzKCksXG5cdFx0XHRdO1xuXG5cdFx0XHRjb25zdCBbbWluLCBtYXhdID0gdHJhbnNsYXRpb25MaW1pdHM/LltheGlzXSB8fCBbdW5kZWZpbmVkLCB1bmRlZmluZWRdO1xuXG5cdFx0XHRsZXQgb2Zmc2V0ID0gY2FsY3VsYXRlT2Zmc2V0KGNsaWNrUG9pbnQsIGRpciwgZXZlbnQucmF5Lm9yaWdpbiwgZXZlbnQucmF5LmRpcmVjdGlvbik7XG5cdFx0XHRpZiAobWluICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0b2Zmc2V0ID0gTWF0aC5tYXgob2Zmc2V0LCBtaW4gLSB0aGlzLm9mZnNldDApO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAobWF4ICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0b2Zmc2V0ID0gTWF0aC5taW4ob2Zmc2V0LCBtYXggLSB0aGlzLm9mZnNldDApO1xuXHRcdFx0fVxuXG5cdFx0XHR0aGlzLnBpdm90Q29udHJvbHMudHJhbnNsYXRpb25bYXhpc10gPSB0aGlzLm9mZnNldDAgKyBvZmZzZXQ7XG5cblx0XHRcdGlmIChhbm5vdGF0aW9uKSB7XG5cdFx0XHRcdGFubm90YXRpb24uaW5uZXJUZXh0ID0gYCR7dGhpcy5waXZvdENvbnRyb2xzLnRyYW5zbGF0aW9uW2F4aXNdLnRvRml4ZWQoMil9YDtcblx0XHRcdH1cblxuXHRcdFx0b2Zmc2V0TWF0cml4Lm1ha2VUcmFuc2xhdGlvbihkaXIueCAqIG9mZnNldCwgZGlyLnkgKiBvZmZzZXQsIGRpci56ICogb2Zmc2V0KTtcblx0XHRcdHRoaXMucGl2b3RDb250cm9scy5vbkRyYWcob2Zmc2V0TWF0cml4KTtcblx0XHR9XG5cdH1cblxuXHRvblBvaW50ZXJPdXQoZXZlbnQ6IE5ndFRocmVlRXZlbnQ8UG9pbnRlckV2ZW50Pikge1xuXHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdHRoaXMuaG92ZXJlZC5zZXQoZmFsc2UpO1xuXHR9XG59XG4iXX0=
|
|
265
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpcy1hcnJvdy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9naXptb3Mvc3JjL2xpYi9waXZvdC1jb250cm9scy9heGlzLWFycm93LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFFBQVEsRUFDUixzQkFBc0IsRUFDdEIsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUVOLFNBQVMsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BFLE9BQU8sRUFDTixZQUFZLEVBQ1osZ0JBQWdCLEVBQ2hCLFVBQVUsRUFDVixLQUFLLEVBQ0wsT0FBTyxFQUNQLElBQUksRUFDSixpQkFBaUIsRUFDakIsVUFBVSxFQUNWLE9BQU8sR0FDUCxNQUFNLE9BQU8sQ0FBQztBQUNmLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUVyRCxNQUFNLElBQUksR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0FBQzNCLE1BQU0sSUFBSSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7QUFFM0IsTUFBTSxVQUFVLGVBQWUsQ0FBQyxVQUFtQixFQUFFLE1BQWUsRUFBRSxRQUFpQixFQUFFLE1BQWU7SUFDdkcsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsUUFB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UyxPQUFPLGdGQUFFLFFBQVEscUZBQUUsUUFBUSwyRUFBRSxlQUFlOzsyRkFFMUMsYUFBYTtrQkF0RXpCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUE4RFQ7b0JBQ0QsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ2pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxlQUFlLENBQUM7aUJBQ3ZEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0Y29tcHV0ZWQsXG5cdENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG5cdEVsZW1lbnRSZWYsXG5cdGluamVjdCxcblx0aW5wdXQsXG5cdHNpZ25hbCxcblx0U2lnbmFsLFxuXHR2aWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZXh0ZW5kLCBpbmplY3RTdG9yZSwgTmd0QXJncywgTmd0VGhyZWVFdmVudCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgTmd0c0xpbmUgfSBmcm9tICdhbmd1bGFyLXRocmVlLXNvYmEvYWJzdHJhY3Rpb25zJztcbmltcG9ydCB7IE5ndHNIVE1MLCBOZ3RzSFRNTENvbnRlbnQgfSBmcm9tICdhbmd1bGFyLXRocmVlLXNvYmEvbWlzYyc7XG5pbXBvcnQge1xuXHRDb25lR2VvbWV0cnksXG5cdEN5bGluZGVyR2VvbWV0cnksXG5cdERvdWJsZVNpZGUsXG5cdEdyb3VwLFxuXHRNYXRyaXg0LFxuXHRNZXNoLFxuXHRNZXNoQmFzaWNNYXRlcmlhbCxcblx0UXVhdGVybmlvbixcblx0VmVjdG9yMyxcbn0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgTmd0c1Bpdm90Q29udHJvbHMgfSBmcm9tICcuL3Bpdm90LWNvbnRyb2xzJztcblxuY29uc3QgdmVjMSA9IG5ldyBWZWN0b3IzKCk7XG5jb25zdCB2ZWMyID0gbmV3IFZlY3RvcjMoKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNhbGN1bGF0ZU9mZnNldChjbGlja1BvaW50OiBWZWN0b3IzLCBub3JtYWw6IFZlY3RvcjMsIHJheVN0YXJ0OiBWZWN0b3IzLCByYXlEaXI6IFZlY3RvcjMpIHtcblx0Y29uc3QgZTEgPSBub3JtYWwuZG90KG5vcm1hbCk7XG5cdGNvbnN0IGUyID0gbm9ybWFsLmRvdChjbGlja1BvaW50KSAtIG5vcm1hbC5kb3QocmF5U3RhcnQpO1xuXHRjb25zdCBlMyA9IG5vcm1hbC5kb3QocmF5RGlyKTtcblxuXHRpZiAoZTMgPT09IDApIHtcblx0XHRyZXR1cm4gLWUyIC8gZTE7XG5cdH1cblxuXHR2ZWMxXG5cdFx0LmNvcHkocmF5RGlyKVxuXHRcdC5tdWx0aXBseVNjYWxhcihlMSAvIGUzKVxuXHRcdC5zdWIobm9ybWFsKTtcblx0dmVjMlxuXHRcdC5jb3B5KHJheURpcilcblx0XHQubXVsdGlwbHlTY2FsYXIoZTIgLyBlMylcblx0XHQuYWRkKHJheVN0YXJ0KVxuXHRcdC5zdWIoY2xpY2tQb2ludCk7XG5cblx0cmV0dXJuIC12ZWMxLmRvdCh2ZWMyKSAvIHZlYzEuZG90KHZlYzEpO1xufVxuXG5jb25zdCB1cFYgPSBuZXcgVmVjdG9yMygwLCAxLCAwKTtcbmNvbnN0IG9mZnNldE1hdHJpeCA9IG5ldyBNYXRyaXg0KCk7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndHMtYXhpcy1hcnJvdycsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1ncm91cCAjZ3JvdXA+XG5cdFx0XHQ8bmd0LWdyb3VwXG5cdFx0XHRcdFttYXRyaXhdPVwibWF0cml4TCgpXCJcblx0XHRcdFx0W21hdHJpeEF1dG9VcGRhdGVdPVwiZmFsc2VcIlxuXHRcdFx0XHQocG9pbnRlcmRvd24pPVwib25Qb2ludGVyRG93bigkYW55KCRldmVudCkpXCJcblx0XHRcdFx0KHBvaW50ZXJ1cCk9XCJvblBvaW50ZXJVcCgkYW55KCRldmVudCkpXCJcblx0XHRcdFx0KHBvaW50ZXJtb3ZlKT1cIm9uUG9pbnRlck1vdmUoJGFueSgkZXZlbnQpKVwiXG5cdFx0XHRcdChwb2ludGVyb3V0KT1cIm9uUG9pbnRlck91dCgkYW55KCRldmVudCkpXCJcblx0XHRcdD5cblx0XHRcdFx0QGlmIChwaXZvdENvbnRyb2xzLmFubm90YXRpb25zKCkpIHtcblx0XHRcdFx0XHQ8bmd0cy1odG1sIFtvcHRpb25zXT1cInsgcG9zaXRpb246IFswLCAtY29uZUxlbmd0aCgpLCAwXSB9XCI+XG5cdFx0XHRcdFx0XHQ8ZGl2XG5cdFx0XHRcdFx0XHRcdCNhbm5vdGF0aW9uXG5cdFx0XHRcdFx0XHRcdG5ndHNIVE1MQ29udGVudFxuXHRcdFx0XHRcdFx0XHRzdHlsZT1cImRpc3BsYXk6IG5vbmU7IGJhY2tncm91bmQ6ICMxNTE1MjA7IGNvbG9yOiB3aGl0ZTsgcGFkZGluZzogNnB4IDhweDsgYm9yZGVyLXJhZGl1czogN3B4OyB3aGl0ZS1zcGFjZTogbm93cmFwO1wiXG5cdFx0XHRcdFx0XHRcdFtjbGFzc109XCJwaXZvdENvbnRyb2xzLmFubm90YXRpb25zQ2xhc3MoKVwiXG5cdFx0XHRcdFx0XHQ+PC9kaXY+XG5cdFx0XHRcdFx0PC9uZ3RzLWh0bWw+XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQ8bmd0LW1lc2hcblx0XHRcdFx0XHRbdmlzaWJsZV09XCJmYWxzZVwiXG5cdFx0XHRcdFx0W3Bvc2l0aW9uXT1cIlswLCAoY3lsaW5kZXJMZW5ndGgoKSArIGNvbmVMZW5ndGgoKSkgLyAyLjAsIDBdXCJcblx0XHRcdFx0XHRbdXNlckRhdGFdPVwicGl2b3RDb250cm9scy51c2VyRGF0YSgpXCJcblx0XHRcdFx0PlxuXHRcdFx0XHRcdDxuZ3QtY3lsaW5kZXItZ2VvbWV0cnlcblx0XHRcdFx0XHRcdCphcmdzPVwiW2NvbmVXaWR0aCgpICogMS40LCBjb25lV2lkdGgoKSAqIDEuNCwgY3lsaW5kZXJMZW5ndGgoKSArIGNvbmVMZW5ndGgoKSwgOCwgMV1cIlxuXHRcdFx0XHRcdC8+XG5cdFx0XHRcdDwvbmd0LW1lc2g+XG5cblx0XHRcdFx0PG5ndHMtbGluZVxuXHRcdFx0XHRcdFtwb2ludHNdPVwiWzAsIDAsIDAsIDAsIGN5bGluZGVyTGVuZ3RoKCksIDBdXCJcblx0XHRcdFx0XHRbb3B0aW9uc109XCJ7XG5cdFx0XHRcdFx0XHRyYXljYXN0OiBudWxsLFxuXHRcdFx0XHRcdFx0c2lkZTogRG91YmxlU2lkZSxcblx0XHRcdFx0XHRcdHBvbHlnb25PZmZzZXQ6IHRydWUsXG5cdFx0XHRcdFx0XHRwb2x5Z29uT2Zmc2V0RmFjdG9yOiAtMTAsXG5cdFx0XHRcdFx0XHRyZW5kZXJPcmRlcjogMSxcblx0XHRcdFx0XHRcdGZvZzogZmFsc2UsXG5cdFx0XHRcdFx0XHR0cmFuc3BhcmVudDogdHJ1ZSxcblx0XHRcdFx0XHRcdGxpbmVXaWR0aDogcGl2b3RDb250cm9scy5saW5lV2lkdGgoKSxcblx0XHRcdFx0XHRcdGNvbG9yOiBjb2xvcigpLFxuXHRcdFx0XHRcdFx0b3BhY2l0eTogcGl2b3RDb250cm9scy5vcGFjaXR5KCksXG5cdFx0XHRcdFx0XHRkZXB0aFRlc3Q6IHBpdm90Q29udHJvbHMuZGVwdGhUZXN0KCksXG5cdFx0XHRcdFx0fVwiXG5cdFx0XHRcdC8+XG5cblx0XHRcdFx0PG5ndC1tZXNoIFtyYXljYXN0XT1cIm51bGxcIiBbcG9zaXRpb25dPVwiWzAsIGN5bGluZGVyTGVuZ3RoKCkgKyBjb25lTGVuZ3RoKCkgLyAyLjAsIDBdXCIgW3JlbmRlck9yZGVyXT1cIjUwMFwiPlxuXHRcdFx0XHRcdDxuZ3QtY29uZS1nZW9tZXRyeSAqYXJncz1cIltjb25lV2lkdGgoKSwgY29uZUxlbmd0aCgpLCAyNCwgMV1cIiAvPlxuXHRcdFx0XHRcdDxuZ3QtbWVzaC1iYXNpYy1tYXRlcmlhbFxuXHRcdFx0XHRcdFx0W3RyYW5zcGFyZW50XT1cInRydWVcIlxuXHRcdFx0XHRcdFx0W2RlcHRoVGVzdF09XCJwaXZvdENvbnRyb2xzLmRlcHRoVGVzdCgpXCJcblx0XHRcdFx0XHRcdFtjb2xvcl09XCJjb2xvcigpXCJcblx0XHRcdFx0XHRcdFtvcGFjaXR5XT1cInBpdm90Q29udHJvbHMub3BhY2l0eSgpXCJcblx0XHRcdFx0XHRcdFtwb2x5Z29uT2Zmc2V0XT1cInRydWVcIlxuXHRcdFx0XHRcdFx0W3BvbHlnb25PZmZzZXRGYWN0b3JdPVwiLTEwXCJcblx0XHRcdFx0XHRcdFtmb2ddPVwiZmFsc2VcIlxuXHRcdFx0XHRcdC8+XG5cdFx0XHRcdDwvbmd0LW1lc2g+XG5cdFx0XHQ8L25ndC1ncm91cD5cblx0XHQ8L25ndC1ncm91cD5cblx0YCxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0aW1wb3J0czogW05ndEFyZ3MsIE5ndHNMaW5lLCBOZ3RzSFRNTCwgTmd0c0hUTUxDb250ZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c0F4aXNBcnJvdyB7XG5cdHByb3RlY3RlZCByZWFkb25seSBEb3VibGVTaWRlID0gRG91YmxlU2lkZTtcblxuXHRkaXJlY3Rpb24gPSBpbnB1dC5yZXF1aXJlZDxWZWN0b3IzPigpO1xuXHRheGlzID0gaW5wdXQucmVxdWlyZWQ8MCB8IDEgfCAyPigpO1xuXG5cdGdyb3VwUmVmID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8R3JvdXA+PignZ3JvdXAnKTtcblx0YW5ub3RhdGlvblJlZiA9IHZpZXdDaGlsZDx1bmtub3duLCBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50Pj4oJ2Fubm90YXRpb24nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSk7XG5cblx0cGl2b3RDb250cm9scyA9IGluamVjdChOZ3RzUGl2b3RDb250cm9scyk7XG5cdHByaXZhdGUgc3RvcmUgPSBpbmplY3RTdG9yZSgpO1xuXHRwcml2YXRlIGNvbnRyb2xzID0gdGhpcy5zdG9yZS5zZWxlY3QoJ2NvbnRyb2xzJykgYXMgdW5rbm93biBhcyBTaWduYWw8eyBlbmFibGVkOiBib29sZWFuIH0+O1xuXG5cdHByaXZhdGUgaG92ZXJlZCA9IHNpZ25hbChmYWxzZSk7XG5cdHByaXZhdGUgY2xpY2tJbmZvOiB7IGNsaWNrUG9pbnQ6IFZlY3RvcjM7IGRpcjogVmVjdG9yMyB9IHwgbnVsbCA9IG51bGw7XG5cdHByaXZhdGUgb2Zmc2V0MCA9IDA7XG5cblx0Y29sb3IgPSBjb21wdXRlZCgoKSA9PlxuXHRcdHRoaXMuaG92ZXJlZCgpID8gdGhpcy5waXZvdENvbnRyb2xzLmhvdmVyZWRDb2xvcigpIDogdGhpcy5waXZvdENvbnRyb2xzLmF4aXNDb2xvcnMoKVt0aGlzLmF4aXMoKV0sXG5cdCk7XG5cblx0Y29uZVdpZHRoID0gY29tcHV0ZWQoKCkgPT5cblx0XHR0aGlzLnBpdm90Q29udHJvbHMuZml4ZWQoKVxuXHRcdFx0PyAodGhpcy5waXZvdENvbnRyb2xzLmxpbmVXaWR0aCgpIC8gdGhpcy5waXZvdENvbnRyb2xzLnNjYWxlKCkpICogMS42XG5cdFx0XHQ6IHRoaXMucGl2b3RDb250cm9scy5zY2FsZSgpIC8gMjAsXG5cdCk7XG5cdGNvbmVMZW5ndGggPSBjb21wdXRlZCgoKSA9PiAodGhpcy5waXZvdENvbnRyb2xzLmZpeGVkKCkgPyAwLjIgOiB0aGlzLnBpdm90Q29udHJvbHMuc2NhbGUoKSAvIDUpKTtcblx0Y3lsaW5kZXJMZW5ndGggPSBjb21wdXRlZCgoKSA9PlxuXHRcdHRoaXMucGl2b3RDb250cm9scy5maXhlZCgpID8gMSAtIHRoaXMuY29uZUxlbmd0aCgpIDogdGhpcy5waXZvdENvbnRyb2xzLnNjYWxlKCkgLSB0aGlzLmNvbmVMZW5ndGgoKSxcblx0KTtcblx0bWF0cml4TCA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCBxdWF0ZXJuaW9uID0gbmV3IFF1YXRlcm5pb24oKS5zZXRGcm9tVW5pdFZlY3RvcnModXBWLCB0aGlzLmRpcmVjdGlvbigpLmNsb25lKCkubm9ybWFsaXplKCkpO1xuXHRcdHJldHVybiBuZXcgTWF0cml4NCgpLm1ha2VSb3RhdGlvbkZyb21RdWF0ZXJuaW9uKHF1YXRlcm5pb24pO1xuXHR9KTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRleHRlbmQoeyBHcm91cCwgTWVzaCwgQ29uZUdlb21ldHJ5LCBDeWxpbmRlckdlb21ldHJ5LCBNZXNoQmFzaWNNYXRlcmlhbCB9KTtcblx0fVxuXG5cdG9uUG9pbnRlckRvd24oZXZlbnQ6IE5ndFRocmVlRXZlbnQ8UG9pbnRlckV2ZW50Pikge1xuXHRcdGNvbnN0IFtncm91cCwgZGlyZWN0aW9uLCBheGlzLCBjb250cm9scywgYW5ub3RhdGlvbl0gPSBbXG5cdFx0XHR0aGlzLmdyb3VwUmVmKCkubmF0aXZlRWxlbWVudCxcblx0XHRcdHRoaXMuZGlyZWN0aW9uKCksXG5cdFx0XHR0aGlzLmF4aXMoKSxcblx0XHRcdHRoaXMuY29udHJvbHMoKSxcblx0XHRcdHRoaXMuYW5ub3RhdGlvblJlZigpPy5uYXRpdmVFbGVtZW50LFxuXHRcdF07XG5cblx0XHRpZiAoYW5ub3RhdGlvbikge1xuXHRcdFx0YW5ub3RhdGlvbi5pbm5lclRleHQgPSBgJHt0aGlzLnBpdm90Q29udHJvbHMudHJhbnNsYXRpb25bYXhpc10udG9GaXhlZCgyKX1gO1xuXHRcdFx0YW5ub3RhdGlvbi5zdHlsZS5kaXNwbGF5ID0gJ2Jsb2NrJztcblx0XHR9XG5cblx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuXHRcdGNvbnN0IHJvdGF0aW9uID0gbmV3IE1hdHJpeDQoKS5leHRyYWN0Um90YXRpb24oZ3JvdXAubWF0cml4V29ybGQpO1xuXHRcdGNvbnN0IG9yaWdpbiA9IG5ldyBWZWN0b3IzKCkuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKGdyb3VwLm1hdHJpeFdvcmxkKTtcblx0XHRjb25zdCBjbGlja1BvaW50ID0gZXZlbnQucG9pbnQuY2xvbmUoKTtcblx0XHRjb25zdCBkaXIgPSBkaXJlY3Rpb24uY2xvbmUoKS5hcHBseU1hdHJpeDQocm90YXRpb24pLm5vcm1hbGl6ZSgpO1xuXHRcdHRoaXMuY2xpY2tJbmZvID0geyBjbGlja1BvaW50LCBkaXIgfTtcblx0XHR0aGlzLm9mZnNldDAgPSB0aGlzLnBpdm90Q29udHJvbHMudHJhbnNsYXRpb25bYXhpc107XG5cdFx0dGhpcy5waXZvdENvbnRyb2xzLm9uRHJhZ1N0YXJ0KHsgY29tcG9uZW50OiAnQXJyb3cnLCBheGlzLCBvcmlnaW4sIGRpcmVjdGlvbnM6IFtkaXJdIH0pO1xuXHRcdGlmIChjb250cm9scykge1xuXHRcdFx0Y29udHJvbHMuZW5hYmxlZCA9IGZhbHNlO1xuXHRcdH1cblxuXHRcdC8vIEB0cy1leHBlY3QtZXJyb3IgLSBzZXRQb2ludGVyQ2FwdHVyZSBpcyBub3QgaW4gdGhlIHR5cGUgZGVmaW5pdGlvblxuXHRcdGV2ZW50LnRhcmdldC5zZXRQb2ludGVyQ2FwdHVyZShldmVudC5wb2ludGVySWQpO1xuXHR9XG5cblx0b25Qb2ludGVyVXAoZXZlbnQ6IE5ndFRocmVlRXZlbnQ8UG9pbnRlckV2ZW50Pikge1xuXHRcdGNvbnN0IFthbm5vdGF0aW9uLCBjb250cm9sc10gPSBbdGhpcy5hbm5vdGF0aW9uUmVmKCk/Lm5hdGl2ZUVsZW1lbnQsIHRoaXMuY29udHJvbHMoKV07XG5cblx0XHRpZiAoYW5ub3RhdGlvbikge1xuXHRcdFx0YW5ub3RhdGlvbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuXHRcdH1cblxuXHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdHRoaXMuY2xpY2tJbmZvID0gbnVsbDtcblx0XHR0aGlzLnBpdm90Q29udHJvbHMub25EcmFnRW5kKCk7XG5cdFx0aWYgKGNvbnRyb2xzKSB7XG5cdFx0XHRjb250cm9scy5lbmFibGVkID0gdHJ1ZTtcblx0XHR9XG5cblx0XHQvLyBAdHMtZXhwZWN0LWVycm9yIC0gc2V0UG9pbnRlckNhcHR1cmUgaXMgbm90IGluIHRoZSB0eXBlIGRlZmluaXRpb25cblx0XHRldmVudC50YXJnZXQucmVsZWFzZVBvaW50ZXJDYXB0dXJlKGV2ZW50LnBvaW50ZXJJZCk7XG5cdH1cblxuXHRvblBvaW50ZXJNb3ZlKGV2ZW50OiBOZ3RUaHJlZUV2ZW50PFBvaW50ZXJFdmVudD4pIHtcblx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuXHRcdGlmICghdGhpcy5ob3ZlcmVkKCkpIHtcblx0XHRcdHRoaXMuaG92ZXJlZC5zZXQodHJ1ZSk7XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMuY2xpY2tJbmZvKSB7XG5cdFx0XHRjb25zdCB7IGNsaWNrUG9pbnQsIGRpciB9ID0gdGhpcy5jbGlja0luZm87XG5cdFx0XHRjb25zdCBbdHJhbnNsYXRpb25MaW1pdHMsIGFubm90YXRpb24sIGF4aXNdID0gW1xuXHRcdFx0XHR0aGlzLnBpdm90Q29udHJvbHMudHJhbnNsYXRpb25MaW1pdHMoKSxcblx0XHRcdFx0dGhpcy5hbm5vdGF0aW9uUmVmKCk/Lm5hdGl2ZUVsZW1lbnQsXG5cdFx0XHRcdHRoaXMuYXhpcygpLFxuXHRcdFx0XTtcblxuXHRcdFx0Y29uc3QgW21pbiwgbWF4XSA9IHRyYW5zbGF0aW9uTGltaXRzPy5bYXhpc10gfHwgW3VuZGVmaW5lZCwgdW5kZWZpbmVkXTtcblxuXHRcdFx0bGV0IG9mZnNldCA9IGNhbGN1bGF0ZU9mZnNldChjbGlja1BvaW50LCBkaXIsIGV2ZW50LnJheS5vcmlnaW4sIGV2ZW50LnJheS5kaXJlY3Rpb24pO1xuXHRcdFx0aWYgKG1pbiAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdG9mZnNldCA9IE1hdGgubWF4KG9mZnNldCwgbWluIC0gdGhpcy5vZmZzZXQwKTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKG1heCAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRcdG9mZnNldCA9IE1hdGgubWluKG9mZnNldCwgbWF4IC0gdGhpcy5vZmZzZXQwKTtcblx0XHRcdH1cblxuXHRcdFx0dGhpcy5waXZvdENvbnRyb2xzLnRyYW5zbGF0aW9uW2F4aXNdID0gdGhpcy5vZmZzZXQwICsgb2Zmc2V0O1xuXG5cdFx0XHRpZiAoYW5ub3RhdGlvbikge1xuXHRcdFx0XHRhbm5vdGF0aW9uLmlubmVyVGV4dCA9IGAke3RoaXMucGl2b3RDb250cm9scy50cmFuc2xhdGlvbltheGlzXS50b0ZpeGVkKDIpfWA7XG5cdFx0XHR9XG5cblx0XHRcdG9mZnNldE1hdHJpeC5tYWtlVHJhbnNsYXRpb24oZGlyLnggKiBvZmZzZXQsIGRpci55ICogb2Zmc2V0LCBkaXIueiAqIG9mZnNldCk7XG5cdFx0XHR0aGlzLnBpdm90Q29udHJvbHMub25EcmFnKG9mZnNldE1hdHJpeCk7XG5cdFx0fVxuXHR9XG5cblx0b25Qb2ludGVyT3V0KGV2ZW50OiBOZ3RUaHJlZUV2ZW50PFBvaW50ZXJFdmVudD4pIHtcblx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblx0XHR0aGlzLmhvdmVyZWQuc2V0KGZhbHNlKTtcblx0fVxufVxuIl19
|
|
@@ -163,8 +163,8 @@ export class NgtsAxisRotator {
|
|
|
163
163
|
event.stopPropagation();
|
|
164
164
|
this.hovered.set(false);
|
|
165
165
|
}
|
|
166
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
167
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
166
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsAxisRotator, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
167
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: NgtsAxisRotator, isStandalone: true, selector: "ngts-axis-rotator", inputs: { dir1: { classPropertyName: "dir1", publicName: "dir1", isSignal: true, isRequired: true, transformFunction: null }, dir2: { classPropertyName: "dir2", publicName: "dir2", isSignal: true, isRequired: true, transformFunction: null }, axis: { classPropertyName: "axis", publicName: "axis", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, isSignal: true }, { propertyName: "annotationRef", first: true, predicate: ["annotation"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: `
|
|
168
168
|
<ngt-group
|
|
169
169
|
#group
|
|
170
170
|
[matrix]="matrixL()"
|
|
@@ -208,7 +208,7 @@ export class NgtsAxisRotator {
|
|
|
208
208
|
</ngt-group>
|
|
209
209
|
`, isInline: true, dependencies: [{ kind: "component", type: NgtsLine, selector: "ngts-line", inputs: ["points", "options"] }, { kind: "component", type: NgtsHTML, selector: "ngts-html", inputs: ["options"] }, { kind: "component", type: NgtsHTMLContent, selector: "[ngtsHTMLContent]", inputs: ["ngtsHTMLContent"], outputs: ["occluded"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
210
210
|
}
|
|
211
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
211
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsAxisRotator, decorators: [{
|
|
212
212
|
type: Component,
|
|
213
213
|
args: [{
|
|
214
214
|
selector: 'ngts-axis-rotator',
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ChangeDetectionStrategy, Component, CUSTOM_ELEMENTS_SCHEMA, effect, input, output, viewChild, } from '@angular/core';
|
|
2
2
|
import { extend, getLocalState, injectBeforeRender, injectStore, omit, pick } from 'angular-three';
|
|
3
3
|
import { calculateScaleFactor } from 'angular-three-soba/misc';
|
|
4
|
-
import { injectAutoEffect } from 'ngxtension/auto-effect';
|
|
5
4
|
import { mergeInputs } from 'ngxtension/inject-inputs';
|
|
6
5
|
import { Box3, Group, Matrix4, Vector3 } from 'three';
|
|
7
6
|
import { NgtsAxisArrow } from './axis-arrow';
|
|
@@ -48,6 +47,7 @@ const defaultOptions = {
|
|
|
48
47
|
opacity: 1,
|
|
49
48
|
visible: true,
|
|
50
49
|
};
|
|
50
|
+
// TODO: PivotControls is not working properly with control flow
|
|
51
51
|
export class NgtsPivotControls {
|
|
52
52
|
constructor() {
|
|
53
53
|
this.options = input(defaultOptions, { transform: mergeInputs(defaultOptions) });
|
|
@@ -119,49 +119,46 @@ export class NgtsPivotControls {
|
|
|
119
119
|
this.cameraScale = new Vector3(1, 1, 1);
|
|
120
120
|
this.gizmoScale = new Vector3(1, 1, 1);
|
|
121
121
|
extend({ Group });
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
122
|
+
effect(() => {
|
|
123
|
+
const anchor = this.anchor();
|
|
124
|
+
if (!anchor)
|
|
125
|
+
return;
|
|
126
|
+
const childrenContainer = this.childrenRef().nativeElement;
|
|
127
|
+
const localState = getLocalState(childrenContainer);
|
|
128
|
+
if (!localState)
|
|
129
|
+
return;
|
|
130
|
+
const [gizmo, offset, invalidate] = [
|
|
131
|
+
this.gizmoRef().nativeElement,
|
|
132
|
+
this.offset(),
|
|
133
|
+
this.invalidate(),
|
|
134
|
+
this.options(),
|
|
135
|
+
[localState.objects(), localState.nonObjects()],
|
|
136
|
+
];
|
|
137
|
+
childrenContainer.updateWorldMatrix(true, true);
|
|
138
|
+
mPInv.copy(childrenContainer.matrixWorld).invert();
|
|
139
|
+
bb.makeEmpty();
|
|
140
|
+
childrenContainer.traverse((obj) => {
|
|
141
|
+
if (!obj.geometry)
|
|
131
142
|
return;
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
bb.makeEmpty();
|
|
142
|
-
children.traverse((obj) => {
|
|
143
|
-
if (!obj.geometry)
|
|
144
|
-
return;
|
|
145
|
-
if (!obj.geometry.boundingBox)
|
|
146
|
-
obj.geometry.computeBoundingBox();
|
|
147
|
-
mL.copy(obj.matrixWorld).premultiply(mPInv);
|
|
148
|
-
const boundingBox = obj.geometry.boundingBox;
|
|
149
|
-
if (boundingBox) {
|
|
150
|
-
bbObj.copy(boundingBox);
|
|
151
|
-
bbObj.applyMatrix4(mL);
|
|
152
|
-
bb.union(bbObj);
|
|
153
|
-
}
|
|
154
|
-
});
|
|
155
|
-
vCenter.copy(bb.max).add(bb.min).multiplyScalar(0.5);
|
|
156
|
-
vSize.copy(bb.max).sub(bb.min).multiplyScalar(0.5);
|
|
157
|
-
vAnchorOffset
|
|
158
|
-
.copy(vSize)
|
|
159
|
-
.multiply(new Vector3(...anchor))
|
|
160
|
-
.add(vCenter);
|
|
161
|
-
vPosition.set(...offset).add(vAnchorOffset);
|
|
162
|
-
gizmo.position.copy(vPosition);
|
|
163
|
-
invalidate();
|
|
143
|
+
if (!obj.geometry.boundingBox)
|
|
144
|
+
obj.geometry.computeBoundingBox();
|
|
145
|
+
mL.copy(obj.matrixWorld).premultiply(mPInv);
|
|
146
|
+
const boundingBox = obj.geometry.boundingBox;
|
|
147
|
+
if (boundingBox) {
|
|
148
|
+
bbObj.copy(boundingBox);
|
|
149
|
+
bbObj.applyMatrix4(mL);
|
|
150
|
+
bb.union(bbObj);
|
|
151
|
+
}
|
|
164
152
|
});
|
|
153
|
+
vCenter.copy(bb.max).add(bb.min).multiplyScalar(0.5);
|
|
154
|
+
vSize.copy(bb.max).sub(bb.min).multiplyScalar(0.5);
|
|
155
|
+
vAnchorOffset
|
|
156
|
+
.copy(vSize)
|
|
157
|
+
.multiply(new Vector3(...anchor))
|
|
158
|
+
.add(vCenter);
|
|
159
|
+
vPosition.set(...offset).add(vAnchorOffset);
|
|
160
|
+
gizmo.position.copy(vPosition);
|
|
161
|
+
invalidate();
|
|
165
162
|
});
|
|
166
163
|
const vec = new Vector3();
|
|
167
164
|
injectBeforeRender(({ camera, size, invalidate }) => {
|
|
@@ -221,8 +218,8 @@ export class NgtsPivotControls {
|
|
|
221
218
|
this.dragEnded.emit();
|
|
222
219
|
this.store.snapshot.invalidate();
|
|
223
220
|
}
|
|
224
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
225
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
221
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsPivotControls, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
222
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: NgtsPivotControls, isStandalone: true, selector: "ngts-pivot-controls", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dragStarted: "dragStarted", dragEnded: "dragEnded", dragged: "dragged" }, viewQueries: [{ propertyName: "parentRef", first: true, predicate: ["parent"], descendants: true, isSignal: true }, { propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, isSignal: true }, { propertyName: "gizmoRef", first: true, predicate: ["gizmo"], descendants: true, isSignal: true }, { propertyName: "childrenRef", first: true, predicate: ["children"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
226
223
|
<ngt-group #parent>
|
|
227
224
|
<ngt-group #group [matrix]="matrix()" [matrixAutoUpdate]="false" [parameters]="parameters()">
|
|
228
225
|
<ngt-group #gizmo [visible]="visible()" [position]="offset()" [rotation]="rotation()">
|
|
@@ -275,7 +272,7 @@ export class NgtsPivotControls {
|
|
|
275
272
|
</ngt-group>
|
|
276
273
|
`, isInline: true, dependencies: [{ kind: "component", type: NgtsAxisArrow, selector: "ngts-axis-arrow", inputs: ["direction", "axis"] }, { kind: "component", type: NgtsPlaneSlider, selector: "ngts-plane-slider", inputs: ["dir1", "dir2", "axis"] }, { kind: "component", type: NgtsAxisRotator, selector: "ngts-axis-rotator", inputs: ["dir1", "dir2", "axis"] }, { kind: "component", type: NgtsScalingSphere, selector: "ngts-scaling-sphere", inputs: ["direction", "axis"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
277
274
|
}
|
|
278
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
275
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsPivotControls, decorators: [{
|
|
279
276
|
type: Component,
|
|
280
277
|
args: [{
|
|
281
278
|
selector: 'ngts-pivot-controls',
|
|
@@ -337,4 +334,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
|
337
334
|
imports: [NgtsAxisArrow, NgtsPlaneSlider, NgtsAxisRotator, NgtsScalingSphere],
|
|
338
335
|
}]
|
|
339
336
|
}], ctorParameters: () => [] });
|
|
340
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGl2b3QtY29udHJvbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvZ2l6bW9zL3NyYy9saWIvcGl2b3QtY29udHJvbHMvcGl2b3QtY29udHJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLGVBQWUsRUFDZix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULHNCQUFzQixFQUV0QixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQWdCLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBUSxPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQWdCckQsTUFBTSxHQUFHLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUMxQixNQUFNLEdBQUcsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0FBQzFCLE1BQU0sRUFBRSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7QUFDekIsTUFBTSxLQUFLLEdBQUcsSUFBSSxP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QUFDLElBQUksRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ2xDLENBQUM7OEdBdk1XLGlCQUFpQjtrR0FBakIsaUJBQWlCLHF0QkF4RG5COzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtRFQsNERBR1MsYUFBYSwyRkFBRSxlQUFlLGdHQUFFLGVBQWUsZ0dBQUUsaUJBQWlCOzsyRkFFaEUsaUJBQWlCO2tCQTNEN0IsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUscUJBQXFCO29CQUMvQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtRFQ7b0JBQ0QsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ2pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxPQUFPLEVBQUUsQ0FBQyxhQUFhLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsQ0FBQztpQkFDN0UiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRhZnRlck5leHRSZW5kZXIsXG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG5cdEVsZW1lbnRSZWYsXG5cdGlucHV0LFxuXHRvdXRwdXQsXG5cdHZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBleHRlbmQsIGdldExvY2FsU3RhdGUsIGluamVjdEJlZm9yZVJlbmRlciwgaW5qZWN0U3RvcmUsIE5ndEFueVJlY29yZCwgb21pdCwgcGljayB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgY2FsY3VsYXRlU2NhbGVGYWN0b3IgfSBmcm9tICdhbmd1bGFyLXRocmVlLXNvYmEvbWlzYyc7XG5pbXBvcnQgeyBpbmplY3RBdXRvRWZmZWN0IH0gZnJvbSAnbmd4dGVuc2lvbi9hdXRvLWVmZmVjdCc7XG5pbXBvcnQgeyBtZXJnZUlucHV0cyB9IGZyb20gJ25neHRlbnNpb24vaW5qZWN0LWlucHV0cyc7XG5pbXBvcnQgeyBCb3gzLCBHcm91cCwgTWF0cml4NCwgTWVzaCwgVmVjdG9yMyB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IE5ndHNBeGlzQXJyb3cgfSBmcm9tICcuL2F4aXMtYXJyb3cnO1xuaW1wb3J0IHsgTmd0c0F4aXNSb3RhdG9yIH0gZnJvbSAnLi9heGlzLXJvdGF0b3InO1xuaW1wb3J0IHsgTmd0c1BsYW5lU2xpZGVyIH0gZnJvbSAnLi9wbGFuZS1zbGlkZXInO1xuaW1wb3J0IHsgTmd0c1NjYWxpbmdTcGhlcmUgfSBmcm9tICcuL3NjYWxpbmctc3BoZXJlJztcblxuZXhwb3J0IGludGVyZmFjZSBPbkRyYWdTdGFydFBhcmFtZXRlcnMge1xuXHRjb21wb25lbnQ6ICdBcnJvdycgfCAnU2xpZGVyJyB8ICdSb3RhdG9yJyB8ICdTcGhlcmUnO1xuXHRheGlzOiAwIHwgMSB8IDI7XG5cdG9yaWdpbjogVmVjdG9yMztcblx0ZGlyZWN0aW9uczogVmVjdG9yM1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9uRHJhZ1BhcmFtZXRlcnMge1xuXHRsOiBNYXRyaXg0O1xuXHRkZWx0YUw6IE1hdHJpeDQ7XG5cdHc6IE1hdHJpeDQ7XG5cdGRlbHRhVzogTWF0cml4NDtcbn1cblxuY29uc3QgbUwwID0gbmV3IE1hdHJpeDQoKTtcbmNvbnN0IG1XMCA9IG5ldyBNYXRyaXg0KCk7XG5jb25zdCBtUCA9IG5ldyBNYXRyaXg0KCk7XG5jb25zdCBtUEludiA9IG5ldyBNYXRyaXg0KCk7XG5jb25zdCBtVyA9IG5ldyBNYXRyaXg0KCk7XG5jb25zdCBtTCA9IG5ldyBNYXRyaXg0KCk7XG5jb25zdCBtTDBJbnYgPSBuZXcgTWF0cml4NCgpO1xuY29uc3QgbWRMID0gbmV3IE1hdHJpeDQoKTtcbmNvbnN0IG1HID0gbmV3IE1hdHJpeDQoKTtcblxuY29uc3QgYmIgPSBuZXcgQm94MygpO1xuY29uc3QgYmJPYmogPSBuZXcgQm94MygpO1xuY29uc3QgdkNlbnRlciA9IG5ldyBWZWN0b3IzKCk7XG5jb25zdCB2U2l6ZSA9IG5ldyBWZWN0b3IzKCk7XG5jb25zdCB2QW5jaG9yT2Zmc2V0ID0gbmV3IFZlY3RvcjMoKTtcbmNvbnN0IHZQb3NpdGlvbiA9IG5ldyBWZWN0b3IzKCk7XG5jb25zdCB2U2NhbGUgPSBuZXcgVmVjdG9yMygpO1xuXG5jb25zdCB4RGlyID0gbmV3IFZlY3RvcjMoMSwgMCwgMCk7XG5jb25zdCB5RGlyID0gbmV3IFZlY3RvcjMoMCwgMSwgMCk7XG5jb25zdCB6RGlyID0gbmV3IFZlY3RvcjMoMCwgMCwgMSk7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0c1Bpdm90Q29udHJvbHNPcHRpb25zIHtcblx0LyoqIEVuYWJsZXMvZGlzYWJsZXMgdGhlIGNvbnRyb2wsIHRydWUgKi9cblx0ZW5hYmxlZDogYm9vbGVhbjtcblx0LyoqIFNjYWxlIG9mIHRoZSBnaXptbywgMSAqL1xuXHRzY2FsZTogbnVtYmVyO1xuXHQvKiogV2lkdGggb2YgdGhlIGdpem1vIGxpbmVzLCB0aGlzIGlzIGEgVEhSRUUuTGluZTIgcHJvcCwgMi41ICovXG5cdGxpbmVXaWR0aDogbnVtYmVyO1xuXHQvKiogSWYgZml4ZWQgaXMgdHJ1ZSBpcyByZW1haW5zIGNvbnN0YW50IGluIHNpemUsIHNjYWxlIGlzIG5vdyBpbiBwaXhlbHMsIGZhbHNlICovXG5cdGZpeGVkOiBib29sZWFuO1xuXHQvKiogUGl2b3QgZG9lcyBub3QgYWN0IGFzIGEgZ3JvdXAsIGl0IHdvbid0IHNoaWZ0IGNvbnRlbnRzIGJ1dCBjYW4gb2Zmc2V0IGluIHBvc2l0aW9uICovXG5cdG9mZnNldDogW251bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuXHQvKiogU3RhcnRpbmcgcm90YXRpb24gKi9cblx0cm90YXRpb246IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcblxuXHQvKiogU3RhcnRpbmcgbWF0cml4ICovXG5cdG1hdHJpeD86IE1hdHJpeDQ7XG5cdC8qKiBCQkFuY2hvciwgZWFjaCBheGlzIGNhbiBiZSBiZXR3ZWVuIC0xLzAvKzEgKi9cblx0YW5jaG9yPzogW251bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuXHQvKiogSWYgYXV0b1RyYW5zZm9ybSBpcyB0cnVlLCBhdXRvbWF0aWNhbGx5IGFwcGx5IHRoZSBsb2NhbCB0cmFuc2Zvcm0gb24gZHJhZywgdHJ1ZSAqL1xuXHRhdXRvVHJhbnNmb3JtOiBib29sZWFuO1xuXHQvKiogQWxsb3dzIHlvdSB0byBzd2l0Y2ggaW5kaXZpZHVhbCBheGVzIG9mZiAqL1xuXHRhY3RpdmVBeGVzOiBbYm9vbGVhbiwgYm9vbGVhbiwgYm9vbGVhbl07XG5cblx0LyoqIEFsbG93cyB5b3UgdG8gc3dpdGNoIGluZGl2aWR1YWwgdHJhbnNmb3JtYXRpb25zIG9mZiAqL1xuXHRkaXNhYmxlQXhlczogYm9vbGVhbjtcblx0ZGlzYWJsZVNsaWRlcnM6IGJvb2xlYW47XG5cdGRpc2FibGVSb3RhdGlvbnM6IGJvb2xlYW47XG5cdGRpc2FibGVTY2FsaW5nOiBib29sZWFuO1xuXG5cdC8qKiBMaW1pdHMgKi9cblx0dHJhbnNsYXRpb25MaW1pdHM/OiBbW251bWJlciwgbnVtYmVyXSB8IHVuZGVmaW5lZCwgW251bWJlciwgbnVtYmVyXSB8IHVuZGVmaW5lZCwgW251bWJlciwgbnVtYmVyXSB8IHVuZGVmaW5lZF07XG5cdHJvdGF0aW9uTGltaXRzPzogW1tudW1iZXIsIG51bWJlcl0gfCB1bmRlZmluZWQsIFtudW1iZXIsIG51bWJlcl0gfCB1bmRlZmluZWQsIFtudW1iZXIsIG51bWJlcl0gfCB1bmRlZmluZWRdO1xuXHRzY2FsZUxpbWl0cz86IFtbbnVtYmVyLCBudW1iZXJdIHwgdW5kZWZpbmVkLCBbbnVtYmVyLCBudW1iZXJdIHwgdW5kZWZpbmVkLCBbbnVtYmVyLCBudW1iZXJdIHwgdW5kZWZpbmVkXTtcblxuXHQvKiogUkdCIGNvbG9ycyAqL1xuXHRheGlzQ29sb3JzOiBbc3RyaW5nIHwgbnVtYmVyLCBzdHJpbmcgfCBudW1iZXIsIHN0cmluZyB8IG51bWJlcl07XG5cdC8qKiBDb2xvciBvZiB0aGUgaG92ZXJlZCBpdGVtICovXG5cdGhvdmVyZWRDb2xvcjogc3RyaW5nIHwgbnVtYmVyO1xuXHQvKiogSFRNTCB2YWx1ZSBhbm5vdGF0aW9ucywgZGVmYXVsdDogZmFsc2UgKi9cblx0YW5ub3RhdGlvbnM6IGJvb2xlYW47XG5cdC8qKiBDU1MgQ2xhc3NuYW1lIGFwcGxpZWQgdG8gdGhlIEhUTUwgYW5ub3RhdGlvbnMgKi9cblx0YW5ub3RhdGlvbnNDbGFzcz86IHN0cmluZztcblx0LyoqIFNldCB0aGlzIHRvIGZhbHNlIGlmIHlvdSB3YW50IHRoZSBnaXptbyB0byBiZSB2aXNpYmxlIHRocm91Z2ggZmFjZXMgKi9cblx0ZGVwdGhUZXN0OiBib29sZWFuO1xuXHRvcGFjaXR5PzogbnVtYmVyO1xuXHR2aXNpYmxlOiBib29sZWFuO1xuXHR1c2VyRGF0YT86IE5ndEFueVJlY29yZDtcbn1cblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IE5ndHNQaXZvdENvbnRyb2xzT3B0aW9ucyA9IHtcblx0ZW5hYmxlZDogdHJ1ZSxcblx0YXV0b1RyYW5zZm9ybTogdHJ1ZSxcblx0ZGlzYWJsZUF4ZXM6IGZhbHNlLFxuXHRkaXNhYmxlU2xpZGVyczogZmFsc2UsXG5cdGRpc2FibGVSb3RhdGlvbnM6IGZhbHNlLFxuXHRkaXNhYmxlU2NhbGluZzogZmFsc2UsXG5cdGFjdGl2ZUF4ZXM6IFt0cnVlLCB0cnVlLCB0cnVlXSxcblx0b2Zmc2V0OiBbMCwgMCwgMF0sXG5cdHJvdGF0aW9uOiBbMCwgMCwgMF0sXG5cdHNjYWxlOiAxLFxuXHRsaW5lV2lkdGg6IDQsXG5cdGZpeGVkOiBmYWxzZSxcblx0ZGVwdGhUZXN0OiB0cnVlLFxuXHRheGlzQ29sb3JzOiBbJyNmZjIwNjAnLCAnIzIwZGY4MCcsICcjMjA4MGZmJ10sXG5cdGhvdmVyZWRDb2xvcjogJyNmZmZmNDAnLFxuXHRhbm5vdGF0aW9uczogZmFsc2UsXG5cdG9wYWNpdHk6IDEsXG5cdHZpc2libGU6IHRydWUsXG59O1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLXBpdm90LWNvbnRyb2xzJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LWdyb3VwICNwYXJlbnQ+XG5cdFx0XHQ8bmd0LWdyb3VwICNncm91cCBbbWF0cml4XT1cIm1hdHJpeCgpXCIgW21hdHJpeEF1dG9VcGRhdGVdPVwiZmFsc2VcIiBbcGFyYW1ldGVyc109XCJwYXJhbWV0ZXJzKClcIj5cblx0XHRcdFx0PG5ndC1ncm91cCAjZ2l6bW8gW3Zpc2libGVdPVwidmlzaWJsZSgpXCIgW3Bvc2l0aW9uXT1cIm9mZnNldCgpXCIgW3JvdGF0aW9uXT1cInJvdGF0aW9uKClcIj5cblx0XHRcdFx0XHRAaWYgKGVuYWJsZWQoKSkge1xuXHRcdFx0XHRcdFx0QGlmICghZGlzYWJsZUF4ZXMoKSAmJiBhY3RpdmVBeGVzKClbMF0pIHtcblx0XHRcdFx0XHRcdFx0PG5ndHMtYXhpcy1hcnJvdyBbYXhpc109XCIwXCIgW2RpcmVjdGlvbl09XCJ4RGlyXCIgLz5cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdEBpZiAoIWRpc2FibGVBeGVzKCkgJiYgYWN0aXZlQXhlcygpWzFdKSB7XG5cdFx0XHRcdFx0XHRcdDxuZ3RzLWF4aXMtYXJyb3cgW2F4aXNdPVwiMVwiIFtkaXJlY3Rpb25dPVwieURpclwiIC8+XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRAaWYgKCFkaXNhYmxlQXhlcygpICYmIGFjdGl2ZUF4ZXMoKVsyXSkge1xuXHRcdFx0XHRcdFx0XHQ8bmd0cy1heGlzLWFycm93IFtheGlzXT1cIjJcIiBbZGlyZWN0aW9uXT1cInpEaXJcIiAvPlxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRAaWYgKCFkaXNhYmxlU2xpZGVycygpICYmIGFjdGl2ZUF4ZXMoKVswXSAmJiBhY3RpdmVBeGVzKClbMV0pIHtcblx0XHRcdFx0XHRcdFx0PG5ndHMtcGxhbmUtc2xpZGVyIFtheGlzXT1cIjJcIiBbZGlyMV09XCJ4RGlyXCIgW2RpcjJdPVwieURpclwiIC8+XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRAaWYgKCFkaXNhYmxlU2xpZGVycygpICYmIGFjdGl2ZUF4ZXMoKVswXSAmJiBhY3RpdmVBeGVzKClbMl0pIHtcblx0XHRcdFx0XHRcdFx0PG5ndHMtcGxhbmUtc2xpZGVyIFtheGlzXT1cIjFcIiBbZGlyMV09XCJ6RGlyXCIgW2RpcjJdPVwieERpclwiIC8+XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRAaWYgKCFkaXNhYmxlU2xpZGVycygpICYmIGFjdGl2ZUF4ZXMoKVsyXSAmJiBhY3RpdmVBeGVzKClbMV0pIHtcblx0XHRcdFx0XHRcdFx0PG5ndHMtcGxhbmUtc2xpZGVyIFtheGlzXT1cIjBcIiBbZGlyMV09XCJ5RGlyXCIgW2RpcjJdPVwiekRpclwiIC8+XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdEBpZiAoIWRpc2FibGVSb3RhdGlvbnMoKSAmJiBhY3RpdmVBeGVzKClbMF0gJiYgYWN0aXZlQXhlcygpWzFdKSB7XG5cdFx0XHRcdFx0XHRcdDxuZ3RzLWF4aXMtcm90YXRvciBbYXhpc109XCIyXCIgW2RpcjFdPVwieERpclwiIFtkaXIyXT1cInlEaXJcIiAvPlxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0QGlmICghZGlzYWJsZVJvdGF0aW9ucygpICYmIGFjdGl2ZUF4ZXMoKVswXSAmJiBhY3RpdmVBeGVzKClbMl0pIHtcblx0XHRcdFx0XHRcdFx0PG5ndHMtYXhpcy1yb3RhdG9yIFtheGlzXT1cIjFcIiBbZGlyMV09XCJ6RGlyXCIgW2RpcjJdPVwieERpclwiIC8+XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRAaWYgKCFkaXNhYmxlUm90YXRpb25zKCkgJiYgYWN0aXZlQXhlcygpWzJdICYmIGFjdGl2ZUF4ZXMoKVsxXSkge1xuXHRcdFx0XHRcdFx0XHQ8bmd0cy1heGlzLXJvdGF0b3IgW2F4aXNdPVwiMFwiIFtkaXIxXT1cInlEaXJcIiBbZGlyMl09XCJ6RGlyXCIgLz5cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0QGlmICghZGlzYWJsZVNjYWxpbmcoKSAmJiBhY3RpdmVBeGVzKClbMF0pIHtcblx0XHRcdFx0XHRcdFx0PG5ndHMtc2NhbGluZy1zcGhlcmUgW2F4aXNdPVwiMFwiIFtkaXJlY3Rpb25dPVwieERpclwiIC8+XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRAaWYgKCFkaXNhYmxlU2NhbGluZygpICYmIGFjdGl2ZUF4ZXMoKVsxXSkge1xuXHRcdFx0XHRcdFx0XHQ8bmd0cy1zY2FsaW5nLXNwaGVyZSBbYXhpc109XCIxXCIgW2RpcmVjdGlvbl09XCJ5RGlyXCIgLz5cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdEBpZiAoIWRpc2FibGVTY2FsaW5nKCkgJiYgYWN0aXZlQXhlcygpWzJdKSB7XG5cdFx0XHRcdFx0XHRcdDxuZ3RzLXNjYWxpbmctc3BoZXJlIFtheGlzXT1cIjJcIiBbZGlyZWN0aW9uXT1cInpEaXJcIiAvPlxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0PC9uZ3QtZ3JvdXA+XG5cdFx0XHRcdDxuZ3QtZ3JvdXAgI2NoaWxkcmVuPlxuXHRcdFx0XHRcdDxuZy1jb250ZW50IC8+XG5cdFx0XHRcdDwvbmd0LWdyb3VwPlxuXHRcdFx0PC9uZ3QtZ3JvdXA+XG5cdFx0PC9uZ3QtZ3JvdXA+XG5cdGAsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdGltcG9ydHM6IFtOZ3RzQXhpc0Fycm93LCBOZ3RzUGxhbmVTbGlkZXIsIE5ndHNBeGlzUm90YXRvciwgTmd0c1NjYWxpbmdTcGhlcmVdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzUGl2b3RDb250cm9scyB7XG5cdG9wdGlvbnMgPSBpbnB1dChkZWZhdWx0T3B0aW9ucywgeyB0cmFuc2Zvcm06IG1lcmdlSW5wdXRzKGRlZmF1bHRPcHRpb25zKSB9KTtcblx0cGFyYW1ldGVycyA9IG9taXQodGhpcy5vcHRpb25zLCBbXG5cdFx0J2VuYWJsZWQnLFxuXHRcdCdtYXRyaXgnLFxuXHRcdCdhdXRvVHJhbnNmb3JtJyxcblx0XHQnYW5jaG9yJyxcblx0XHQnZGlzYWJsZUF4ZXMnLFxuXHRcdCdkaXNhYmxlU2xpZGVycycsXG5cdFx0J2Rpc2FibGVSb3RhdGlvbnMnLFxuXHRcdCdkaXNhYmxlU2NhbGluZycsXG5cdFx0J2FjdGl2ZUF4ZXMnLFxuXHRcdCdvZmZzZXQnLFxuXHRcdCdyb3RhdGlvbicsXG5cdFx0J3NjYWxlJyxcblx0XHQnbGluZVdpZHRoJyxcblx0XHQnZml4ZWQnLFxuXHRcdCd0cmFuc2xhdGlvbkxpbWl0cycsXG5cdFx0J3JvdGF0aW9uTGltaXRzJyxcblx0XHQnc2NhbGVMaW1pdHMnLFxuXHRcdCdkZXB0aFRlc3QnLFxuXHRcdCdheGlzQ29sb3JzJyxcblx0XHQnaG92ZXJlZENvbG9yJyxcblx0XHQnYW5ub3RhdGlvbnMnLFxuXHRcdCdhbm5vdGF0aW9uc0NsYXNzJyxcblx0XHQnb3BhY2l0eScsXG5cdFx0J3Zpc2libGUnLFxuXHRcdCd1c2VyRGF0YScsXG5cdF0pO1xuXG5cdGRyYWdTdGFydGVkID0gb3V0cHV0PE9uRHJhZ1N0YXJ0UGFyYW1ldGVycz4oKTtcblx0ZHJhZ0VuZGVkID0gb3V0cHV0PHZvaWQ+KCk7XG5cdGRyYWdnZWQgPSBvdXRwdXQ8T25EcmFnUGFyYW1ldGVycz4oKTtcblxuXHRtYXRyaXggPSBwaWNrKHRoaXMub3B0aW9ucywgJ21hdHJpeCcpO1xuXHRhbm5vdGF0aW9ucyA9IHBpY2sodGhpcy5vcHRpb25zLCAnYW5ub3RhdGlvbnMnKTtcblx0YW5ub3RhdGlvbnNDbGFzcyA9IHBpY2sodGhpcy5vcHRpb25zLCAnYW5ub3RhdGlvbnNDbGFzcycpO1xuXHR0cmFuc2xhdGlvbkxpbWl0cyA9IHBpY2sodGhpcy5vcHRpb25zLCAndHJhbnNsYXRpb25MaW1pdHMnKTtcblx0cm90YXRpb25MaW1pdHMgPSBwaWNrKHRoaXMub3B0aW9ucywgJ3JvdGF0aW9uTGltaXRzJyk7XG5cdHNjYWxlTGltaXRzID0gcGljayh0aGlzLm9wdGlvbnMsICdzY2FsZUxpbWl0cycpO1xuXHRhdXRvVHJhbnNmb3JtID0gcGljayh0aGlzLm9wdGlvbnMsICdhdXRvVHJhbnNmb3JtJyk7XG5cdGZpeGVkID0gcGljayh0aGlzLm9wdGlvbnMsICdmaXhlZCcpO1xuXHRob3ZlcmVkQ29sb3IgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2hvdmVyZWRDb2xvcicpO1xuXHRheGlzQ29sb3JzID0gcGljayh0aGlzLm9wdGlvbnMsICdheGlzQ29sb3JzJyk7XG5cdGxpbmVXaWR0aCA9IHBpY2sodGhpcy5vcHRpb25zLCAnbGluZVdpZHRoJyk7XG5cdHNjYWxlID0gcGljayh0aGlzLm9wdGlvbnMsICdzY2FsZScpO1xuXHR1c2VyRGF0YSA9IHBpY2sodGhpcy5vcHRpb25zLCAndXNlckRhdGEnKTtcblx0b3BhY2l0eSA9IHBpY2sodGhpcy5vcHRpb25zLCAnb3BhY2l0eScpO1xuXHRkZXB0aFRlc3QgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2RlcHRoVGVzdCcpO1xuXHRvZmZzZXQgPSBwaWNrKHRoaXMub3B0aW9ucywgJ29mZnNldCcpO1xuXHRyb3RhdGlvbiA9IHBpY2sodGhpcy5vcHRpb25zLCAncm90YXRpb24nKTtcblx0dmlzaWJsZSA9IHBpY2sodGhpcy5vcHRpb25zLCAndmlzaWJsZScpO1xuXHRlbmFibGVkID0gcGljayh0aGlzLm9wdGlvbnMsICdlbmFibGVkJyk7XG5cdGRpc2FibGVBeGVzID0gcGljayh0aGlzLm9wdGlvbnMsICdkaXNhYmxlQXhlcycpO1xuXHRkaXNhYmxlU2xpZGVycyA9IHBpY2sodGhpcy5vcHRpb25zLCAnZGlzYWJsZVNsaWRlcnMnKTtcblx0ZGlzYWJsZVJvdGF0aW9ucyA9IHBpY2sodGhpcy5vcHRpb25zLCAnZGlzYWJsZVJvdGF0aW9ucycpO1xuXHRkaXNhYmxlU2NhbGluZyA9IHBpY2sodGhpcy5vcHRpb25zLCAnZGlzYWJsZVNjYWxpbmcnKTtcblx0YWN0aXZlQXhlcyA9IHBpY2sodGhpcy5vcHRpb25zLCAnYWN0aXZlQXhlcycpO1xuXG5cdHhEaXIgPSB4RGlyO1xuXHR5RGlyID0geURpcjtcblx0ekRpciA9IHpEaXI7XG5cblx0cGFyZW50UmVmID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8R3JvdXA+PigncGFyZW50Jyk7XG5cdGdyb3VwUmVmID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8R3JvdXA+PignZ3JvdXAnKTtcblx0Z2l6bW9SZWYgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxHcm91cD4+KCdnaXptbycpO1xuXHRjaGlsZHJlblJlZiA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEdyb3VwPj4oJ2NoaWxkcmVuJyk7XG5cblx0cHJpdmF0ZSBzdG9yZSA9IGluamVjdFN0b3JlKCk7XG5cdHByaXZhdGUgaW52YWxpZGF0ZSA9IHRoaXMuc3RvcmUuc2VsZWN0KCdpbnZhbGlkYXRlJyk7XG5cblx0dHJhbnNsYXRpb246IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXSA9IFswLCAwLCAwXTtcblxuXHRwcml2YXRlIGFuY2hvciA9IHBpY2sodGhpcy5vcHRpb25zLCAnYW5jaG9yJyk7XG5cdHByaXZhdGUgY2FtZXJhU2NhbGUgPSBuZXcgVmVjdG9yMygxLCAxLCAxKTtcblx0cHJpdmF0ZSBnaXptb1NjYWxlID0gbmV3IFZlY3RvcjMoMSwgMSwgMSk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0ZXh0ZW5kKHsgR3JvdXAgfSk7XG5cblx0XHRjb25zdCBhdXRvRWZmZWN0ID0gaW5qZWN0QXV0b0VmZmVjdCgpO1xuXG5cdFx0YWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcblx0XHRcdGF1dG9FZmZlY3QoKCkgPT4ge1xuXHRcdFx0XHRjb25zdCBhbmNob3IgPSB0aGlzLmFuY2hvcigpO1xuXHRcdFx0XHRpZiAoIWFuY2hvcikgcmV0dXJuO1xuXG5cdFx0XHRcdGNvbnN0IGNoaWxkcmVuID0gdGhpcy5jaGlsZHJlblJlZigpLm5hdGl2ZUVsZW1lbnQ7XG5cdFx0XHRcdGNvbnN0IGxvY2FsU3RhdGUgPSBnZXRMb2NhbFN0YXRlKGNoaWxkcmVuKTtcblxuXHRcdFx0XHRpZiAoIWxvY2FsU3RhdGUpIHJldHVybjtcblxuXHRcdFx0XHRjb25zdCBbZ2l6bW8sIG9mZnNldCwgaW52YWxpZGF0ZV0gPSBbXG5cdFx0XHRcdFx0dGhpcy5naXptb1JlZigpLm5hdGl2ZUVsZW1lbnQsXG5cdFx0XHRcdFx0dGhpcy5vZmZzZXQoKSxcblx0XHRcdFx0XHR0aGlzLmludmFsaWRhdGUoKSxcblx0XHRcdFx0XHR0aGlzLm9wdGlvbnMoKSxcblx0XHRcdFx0XHRsb2NhbFN0YXRlLm9iamVjdHMoKSxcblx0XHRcdFx0XTtcblx0XHRcdFx0Y2hpbGRyZW4udXBkYXRlV29ybGRNYXRyaXgodHJ1ZSwgdHJ1ZSk7XG5cblx0XHRcdFx0bVBJbnYuY29weShjaGlsZHJlbi5tYXRyaXhXb3JsZCkuaW52ZXJ0KCk7XG5cdFx0XHRcdGJiLm1ha2VFbXB0eSgpO1xuXG5cdFx0XHRcdGNoaWxkcmVuLnRyYXZlcnNlKChvYmopID0+IHtcblx0XHRcdFx0XHRpZiAoIShvYmogYXMgTWVzaCkuZ2VvbWV0cnkpIHJldHVybjtcblx0XHRcdFx0XHRpZiAoIShvYmogYXMgTWVzaCkuZ2VvbWV0cnkuYm91bmRpbmdCb3gpIChvYmogYXMgTWVzaCkuZ2VvbWV0cnkuY29tcHV0ZUJvdW5kaW5nQm94KCk7XG5cdFx0XHRcdFx0bUwuY29weShvYmoubWF0cml4V29ybGQpLnByZW11bHRpcGx5KG1QSW52KTtcblx0XHRcdFx0XHRjb25zdCBib3VuZGluZ0JveCA9IChvYmogYXMgTWVzaCkuZ2VvbWV0cnkuYm91bmRpbmdCb3g7XG5cdFx0XHRcdFx0aWYgKGJvdW5kaW5nQm94KSB7XG5cdFx0XHRcdFx0XHRiYk9iai5jb3B5KGJvdW5kaW5nQm94KTtcblx0XHRcdFx0XHRcdGJiT2JqLmFwcGx5TWF0cml4NChtTCk7XG5cdFx0XHRcdFx0XHRiYi51bmlvbihiYk9iaik7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KTtcblxuXHRcdFx0XHR2Q2VudGVyLmNvcHkoYmIubWF4KS5hZGQoYmIubWluKS5tdWx0aXBseVNjYWxhcigwLjUpO1xuXHRcdFx0XHR2U2l6ZS5jb3B5KGJiLm1heCkuc3ViKGJiLm1pbikubXVsdGlwbHlTY2FsYXIoMC41KTtcblx0XHRcdFx0dkFuY2hvck9mZnNldFxuXHRcdFx0XHRcdC5jb3B5KHZTaXplKVxuXHRcdFx0XHRcdC5tdWx0aXBseShuZXcgVmVjdG9yMyguLi5hbmNob3IpKVxuXHRcdFx0XHRcdC5hZGQodkNlbnRlcik7XG5cdFx0XHRcdHZQb3NpdGlvbi5zZXQoLi4ub2Zmc2V0KS5hZGQodkFuY2hvck9mZnNldCk7XG5cdFx0XHRcdGdpem1vLnBvc2l0aW9uLmNvcHkodlBvc2l0aW9uKTtcblx0XHRcdFx0aW52YWxpZGF0ZSgpO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cblx0XHRjb25zdCB2ZWMgPSBuZXcgVmVjdG9yMygpO1xuXHRcdGluamVjdEJlZm9yZVJlbmRlcigoeyBjYW1lcmEsIHNpemUsIGludmFsaWRhdGUgfSkgPT4ge1xuXHRcdFx0Y29uc3QgW3sgZml4ZWQsIHNjYWxlLCBtYXRyaXggfSwgZ2l6bW8sIGdyb3VwXSA9IFtcblx0XHRcdFx0dGhpcy5vcHRpb25zKCksXG5cdFx0XHRcdHRoaXMuZ2l6bW9SZWYoKS5uYXRpdmVFbGVtZW50LFxuXHRcdFx0XHR0aGlzLmdyb3VwUmVmKCkubmF0aXZlRWxlbWVudCxcblx0XHRcdF07XG5cblx0XHRcdGlmIChmaXhlZCkge1xuXHRcdFx0XHRjb25zdCBzZiA9IGNhbGN1bGF0ZVNjYWxlRmFjdG9yKGdpem1vLmdldFdvcmxkUG9zaXRpb24odmVjKSwgc2NhbGUsIGNhbWVyYSwgc2l6ZSk7XG5cdFx0XHRcdHRoaXMuY2FtZXJhU2NhbGUuc2V0U2NhbGFyKHNmKTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKG1hdHJpeCAmJiBtYXRyaXggaW5zdGFuY2VvZiBNYXRyaXg0KSB7XG5cdFx0XHRcdGdyb3VwLm1hdHJpeCA9IG1hdHJpeDtcblx0XHRcdH1cblxuXHRcdFx0Ly8gVXBkYXRlIGdpem1vIHNjYWxlIGluIGFjY29yZGFuY2Ugd2l0aCBtYXRyaXggY2hhbmdlc1xuXHRcdFx0Ly8gV2l0aG91dCB0aGlzLCB0aGVyZSBtaWdodCBiZSBub3RpY2VhYmxlIHR1cmJ1bGVuY2UgaWYgc2NhbGluZyBoYXBwZW5zIGZhc3QgZW5vdWdoXG5cdFx0XHRnaXptby51cGRhdGVXb3JsZE1hdHJpeCh0cnVlLCB0cnVlKTtcblxuXHRcdFx0bUcubWFrZVJvdGF0aW9uRnJvbUV1bGVyKGdpem1vLnJvdGF0aW9uKS5zZXRQb3NpdGlvbihnaXptby5wb3NpdGlvbikucHJlbXVsdGlwbHkoZ3JvdXAubWF0cml4V29ybGQpO1xuXHRcdFx0dGhpcy5naXptb1NjYWxlLnNldEZyb21NYXRyaXhTY2FsZShtRyk7XG5cblx0XHRcdHZTY2FsZS5jb3B5KHRoaXMuY2FtZXJhU2NhbGUpLmRpdmlkZSh0aGlzLmdpem1vU2NhbGUpO1xuXG5cdFx0XHRpZiAoXG5cdFx0XHRcdE1hdGguYWJzKGdpem1vLnNjYWxlLnggLSB2U2NhbGUueCkgPiAxZS00IHx8XG5cdFx0XHRcdE1hdGguYWJzKGdpem1vLnNjYWxlLnkgLSB2U2NhbGUueSkgPiAxZS00IHx8XG5cdFx0XHRcdE1hdGguYWJzKGdpem1vLnNjYWxlLnogLSB2U2NhbGUueikgPiAxZS00XG5cdFx0XHQpIHtcblx0XHRcdFx0Z2l6bW8uc2NhbGUuY29weSh2U2NhbGUpO1xuXHRcdFx0XHRpbnZhbGlkYXRlKCk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHRvbkRyYWdTdGFydChwYXJhbWV0ZXJzOiBPbkRyYWdTdGFydFBhcmFtZXRlcnMpIHtcblx0XHRjb25zdCBncm91cCA9IHRoaXMuZ3JvdXBSZWYoKS5uYXRpdmVFbGVtZW50O1xuXHRcdG1MMC5jb3B5KGdyb3VwLm1hdHJpeCk7XG5cdFx0bVcwLmNvcHkoZ3JvdXAubWF0cml4V29ybGQpO1xuXHRcdHRoaXMuZHJhZ1N0YXJ0ZWQuZW1pdChwYXJhbWV0ZXJzKTtcblx0XHR0aGlzLnN0b3JlLnNuYXBzaG90LmludmFsaWRhdGUoKTtcblx0fVxuXG5cdG9uRHJhZyhtZFc6IE1hdHJpeDQpIHtcblx0XHRjb25zdCBbcGFyZW50LCBncm91cCwgYXV0b1RyYW5zZm9ybV0gPSBbXG5cdFx0XHR0aGlzLnBhcmVudFJlZigpLm5hdGl2ZUVsZW1lbnQsXG5cdFx0XHR0aGlzLmdyb3VwUmVmKCkubmF0aXZlRWxlbWVudCxcblx0XHRcdHRoaXMuYXV0b1RyYW5zZm9ybSgpLFxuXHRcdF07XG5cblx0XHRtUC5jb3B5KHBhcmVudC5tYXRyaXhXb3JsZCk7XG5cdFx0bVBJbnYuY29weShtUCkuaW52ZXJ0KCk7XG5cdFx0Ly8gQWZ0ZXIgYXBwbHlpbmcgdGhlIGRlbHRhXG5cdFx0bVcuY29weShtVzApLnByZW11bHRpcGx5KG1kVyk7XG5cdFx0bUwuY29weShtVykucHJlbXVsdGlwbHkobVBJbnYpO1xuXHRcdG1MMEludi5jb3B5KG1MMCkuaW52ZXJ0KCk7XG5cdFx0bWRMLmNvcHkobUwpLm11bHRpcGx5KG1MMEludik7XG5cblx0XHRpZiAoYXV0b1RyYW5zZm9ybSkge1xuXHRcdFx0Z3JvdXAubWF0cml4LmNvcHkobUwpO1xuXHRcdH1cblxuXHRcdHRoaXMuZHJhZ2dlZC5lbWl0KHsgbDogbUwsIGRlbHRhTDogbWRMLCB3OiBtVywgZGVsdGFXOiBtZFcgfSk7XG5cdFx0dGhpcy5zdG9yZS5zbmFwc2hvdC5pbnZhbGlkYXRlKCk7XG5cdH1cblxuXHRvbkRyYWdFbmQoKSB7XG5cdFx0dGhpcy5kcmFnRW5kZWQuZW1pdCgpO1xuXHRcdHRoaXMuc3RvcmUuc25hcHNob3QuaW52YWxpZGF0ZSgpO1xuXHR9XG59XG4iXX0=
|
|
337
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGl2b3QtY29udHJvbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvZ2l6bW9zL3NyYy9saWIvcGl2b3QtY29udHJvbHMvcGl2b3QtY29udHJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHVCQUF1QixFQUN2QixTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLE1BQU0sRUFFTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQWdCLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBUSxPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQWdCckQsTUFBTSxHQUFHLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUMxQixNQUFNLEdBQUcsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0FBQzFCLE1BQU0sRUFBRSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7QUFDekIsTUFBTSxLQUFLLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUM1QixNQUFNLEVBQUUsR0FBRyxJQUFJLE9BQU8s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QkFBaUI7a0dBQWpCLGlCQUFpQixxdEJBekRuQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbURULDREQUdTLGFBQWEsMkZBQUUsZUFBZSxnR0FBRSxlQUFlLGdHQUFFLGlCQUFpQjs7MkZBR2hFLGlCQUFpQjtrQkE1RDdCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbURUO29CQUNELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLENBQUM7aUJBQzdFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0Q1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcblx0ZWZmZWN0LFxuXHRFbGVtZW50UmVmLFxuXHRpbnB1dCxcblx0b3V0cHV0LFxuXHR2aWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZXh0ZW5kLCBnZXRMb2NhbFN0YXRlLCBpbmplY3RCZWZvcmVSZW5kZXIsIGluamVjdFN0b3JlLCBOZ3RBbnlSZWNvcmQsIG9taXQsIHBpY2sgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IGNhbGN1bGF0ZVNjYWxlRmFjdG9yIH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL21pc2MnO1xuaW1wb3J0IHsgbWVyZ2VJbnB1dHMgfSBmcm9tICduZ3h0ZW5zaW9uL2luamVjdC1pbnB1dHMnO1xuaW1wb3J0IHsgQm94MywgR3JvdXAsIE1hdHJpeDQsIE1lc2gsIFZlY3RvcjMgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBOZ3RzQXhpc0Fycm93IH0gZnJvbSAnLi9heGlzLWFycm93JztcbmltcG9ydCB7IE5ndHNBeGlzUm90YXRvciB9IGZyb20gJy4vYXhpcy1yb3RhdG9yJztcbmltcG9ydCB7IE5ndHNQbGFuZVNsaWRlciB9IGZyb20gJy4vcGxhbmUtc2xpZGVyJztcbmltcG9ydCB7IE5ndHNTY2FsaW5nU3BoZXJlIH0gZnJvbSAnLi9zY2FsaW5nLXNwaGVyZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25EcmFnU3RhcnRQYXJhbWV0ZXJzIHtcblx0Y29tcG9uZW50OiAnQXJyb3cnIHwgJ1NsaWRlcicgfCAnUm90YXRvcicgfCAnU3BoZXJlJztcblx0YXhpczogMCB8IDEgfCAyO1xuXHRvcmlnaW46IFZlY3RvcjM7XG5cdGRpcmVjdGlvbnM6IFZlY3RvcjNbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPbkRyYWdQYXJhbWV0ZXJzIHtcblx0bDogTWF0cml4NDtcblx0ZGVsdGFMOiBNYXRyaXg0O1xuXHR3OiBNYXRyaXg0O1xuXHRkZWx0YVc6IE1hdHJpeDQ7XG59XG5cbmNvbnN0IG1MMCA9IG5ldyBNYXRyaXg0KCk7XG5jb25zdCBtVzAgPSBuZXcgTWF0cml4NCgpO1xuY29uc3QgbVAgPSBuZXcgTWF0cml4NCgpO1xuY29uc3QgbVBJbnYgPSBuZXcgTWF0cml4NCgpO1xuY29uc3QgbVcgPSBuZXcgTWF0cml4NCgpO1xuY29uc3QgbUwgPSBuZXcgTWF0cml4NCgpO1xuY29uc3QgbUwwSW52ID0gbmV3IE1hdHJpeDQoKTtcbmNvbnN0IG1kTCA9IG5ldyBNYXRyaXg0KCk7XG5jb25zdCBtRyA9IG5ldyBNYXRyaXg0KCk7XG5cbmNvbnN0IGJiID0gbmV3IEJveDMoKTtcbmNvbnN0IGJiT2JqID0gbmV3IEJveDMoKTtcbmNvbnN0IHZDZW50ZXIgPSBuZXcgVmVjdG9yMygpO1xuY29uc3QgdlNpemUgPSBuZXcgVmVjdG9yMygpO1xuY29uc3QgdkFuY2hvck9mZnNldCA9IG5ldyBWZWN0b3IzKCk7XG5jb25zdCB2UG9zaXRpb24gPSBuZXcgVmVjdG9yMygpO1xuY29uc3QgdlNjYWxlID0gbmV3IFZlY3RvcjMoKTtcblxuY29uc3QgeERpciA9IG5ldyBWZWN0b3IzKDEsIDAsIDApO1xuY29uc3QgeURpciA9IG5ldyBWZWN0b3IzKDAsIDEsIDApO1xuY29uc3QgekRpciA9IG5ldyBWZWN0b3IzKDAsIDAsIDEpO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5ndHNQaXZvdENvbnRyb2xzT3B0aW9ucyB7XG5cdC8qKiBFbmFibGVzL2Rpc2FibGVzIHRoZSBjb250cm9sLCB0cnVlICovXG5cdGVuYWJsZWQ6IGJvb2xlYW47XG5cdC8qKiBTY2FsZSBvZiB0aGUgZ2l6bW8sIDEgKi9cblx0c2NhbGU6IG51bWJlcjtcblx0LyoqIFdpZHRoIG9mIHRoZSBnaXptbyBsaW5lcywgdGhpcyBpcyBhIFRIUkVFLkxpbmUyIHByb3AsIDIuNSAqL1xuXHRsaW5lV2lkdGg6IG51bWJlcjtcblx0LyoqIElmIGZpeGVkIGlzIHRydWUgaXMgcmVtYWlucyBjb25zdGFudCBpbiBzaXplLCBzY2FsZSBpcyBub3cgaW4gcGl4ZWxzLCBmYWxzZSAqL1xuXHRmaXhlZDogYm9vbGVhbjtcblx0LyoqIFBpdm90IGRvZXMgbm90IGFjdCBhcyBhIGdyb3VwLCBpdCB3b24ndCBzaGlmdCBjb250ZW50cyBidXQgY2FuIG9mZnNldCBpbiBwb3NpdGlvbiAqL1xuXHRvZmZzZXQ6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcblx0LyoqIFN0YXJ0aW5nIHJvdGF0aW9uICovXG5cdHJvdGF0aW9uOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG5cblx0LyoqIFN0YXJ0aW5nIG1hdHJpeCAqL1xuXHRtYXRyaXg/OiBNYXRyaXg0O1xuXHQvKiogQkJBbmNob3IsIGVhY2ggYXhpcyBjYW4gYmUgYmV0d2VlbiAtMS8wLysxICovXG5cdGFuY2hvcj86IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcblx0LyoqIElmIGF1dG9UcmFuc2Zvcm0gaXMgdHJ1ZSwgYXV0b21hdGljYWxseSBhcHBseSB0aGUgbG9jYWwgdHJhbnNmb3JtIG9uIGRyYWcsIHRydWUgKi9cblx0YXV0b1RyYW5zZm9ybTogYm9vbGVhbjtcblx0LyoqIEFsbG93cyB5b3UgdG8gc3dpdGNoIGluZGl2aWR1YWwgYXhlcyBvZmYgKi9cblx0YWN0aXZlQXhlczogW2Jvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW5dO1xuXG5cdC8qKiBBbGxvd3MgeW91IHRvIHN3aXRjaCBpbmRpdmlkdWFsIHRyYW5zZm9ybWF0aW9ucyBvZmYgKi9cblx0ZGlzYWJsZUF4ZXM6IGJvb2xlYW47XG5cdGRpc2FibGVTbGlkZXJzOiBib29sZWFuO1xuXHRkaXNhYmxlUm90YXRpb25zOiBib29sZWFuO1xuXHRkaXNhYmxlU2NhbGluZzogYm9vbGVhbjtcblxuXHQvKiogTGltaXRzICovXG5cdHRyYW5zbGF0aW9uTGltaXRzPzogW1tudW1iZXIsIG51bWJlcl0gfCB1bmRlZmluZWQsIFtudW1iZXIsIG51bWJlcl0gfCB1bmRlZmluZWQsIFtudW1iZXIsIG51bWJlcl0gfCB1bmRlZmluZWRdO1xuXHRyb3RhdGlvbkxpbWl0cz86IFtbbnVtYmVyLCBudW1iZXJdIHwgdW5kZWZpbmVkLCBbbnVtYmVyLCBudW1iZXJdIHwgdW5kZWZpbmVkLCBbbnVtYmVyLCBudW1iZXJdIHwgdW5kZWZpbmVkXTtcblx0c2NhbGVMaW1pdHM/OiBbW251bWJlciwgbnVtYmVyXSB8IHVuZGVmaW5lZCwgW251bWJlciwgbnVtYmVyXSB8IHVuZGVmaW5lZCwgW251bWJlciwgbnVtYmVyXSB8IHVuZGVmaW5lZF07XG5cblx0LyoqIFJHQiBjb2xvcnMgKi9cblx0YXhpc0NvbG9yczogW3N0cmluZyB8IG51bWJlciwgc3RyaW5nIHwgbnVtYmVyLCBzdHJpbmcgfCBudW1iZXJdO1xuXHQvKiogQ29sb3Igb2YgdGhlIGhvdmVyZWQgaXRlbSAqL1xuXHRob3ZlcmVkQ29sb3I6IHN0cmluZyB8IG51bWJlcjtcblx0LyoqIEhUTUwgdmFsdWUgYW5ub3RhdGlvbnMsIGRlZmF1bHQ6IGZhbHNlICovXG5cdGFubm90YXRpb25zOiBib29sZWFuO1xuXHQvKiogQ1NTIENsYXNzbmFtZSBhcHBsaWVkIHRvIHRoZSBIVE1MIGFubm90YXRpb25zICovXG5cdGFubm90YXRpb25zQ2xhc3M/OiBzdHJpbmc7XG5cdC8qKiBTZXQgdGhpcyB0byBmYWxzZSBpZiB5b3Ugd2FudCB0aGUgZ2l6bW8gdG8gYmUgdmlzaWJsZSB0aHJvdWdoIGZhY2VzICovXG5cdGRlcHRoVGVzdDogYm9vbGVhbjtcblx0b3BhY2l0eT86IG51bWJlcjtcblx0dmlzaWJsZTogYm9vbGVhbjtcblx0dXNlckRhdGE/OiBOZ3RBbnlSZWNvcmQ7XG59XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zOiBOZ3RzUGl2b3RDb250cm9sc09wdGlvbnMgPSB7XG5cdGVuYWJsZWQ6IHRydWUsXG5cdGF1dG9UcmFuc2Zvcm06IHRydWUsXG5cdGRpc2FibGVBeGVzOiBmYWxzZSxcblx0ZGlzYWJsZVNsaWRlcnM6IGZhbHNlLFxuXHRkaXNhYmxlUm90YXRpb25zOiBmYWxzZSxcblx0ZGlzYWJsZVNjYWxpbmc6IGZhbHNlLFxuXHRhY3RpdmVBeGVzOiBbdHJ1ZSwgdHJ1ZSwgdHJ1ZV0sXG5cdG9mZnNldDogWzAsIDAsIDBdLFxuXHRyb3RhdGlvbjogWzAsIDAsIDBdLFxuXHRzY2FsZTogMSxcblx0bGluZVdpZHRoOiA0LFxuXHRmaXhlZDogZmFsc2UsXG5cdGRlcHRoVGVzdDogdHJ1ZSxcblx0YXhpc0NvbG9yczogWycjZmYyMDYwJywgJyMyMGRmODAnLCAnIzIwODBmZiddLFxuXHRob3ZlcmVkQ29sb3I6ICcjZmZmZjQwJyxcblx0YW5ub3RhdGlvbnM6IGZhbHNlLFxuXHRvcGFjaXR5OiAxLFxuXHR2aXNpYmxlOiB0cnVlLFxufTtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cy1waXZvdC1jb250cm9scycsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1ncm91cCAjcGFyZW50PlxuXHRcdFx0PG5ndC1ncm91cCAjZ3JvdXAgW21hdHJpeF09XCJtYXRyaXgoKVwiIFttYXRyaXhBdXRvVXBkYXRlXT1cImZhbHNlXCIgW3BhcmFtZXRlcnNdPVwicGFyYW1ldGVycygpXCI+XG5cdFx0XHRcdDxuZ3QtZ3JvdXAgI2dpem1vIFt2aXNpYmxlXT1cInZpc2libGUoKVwiIFtwb3NpdGlvbl09XCJvZmZzZXQoKVwiIFtyb3RhdGlvbl09XCJyb3RhdGlvbigpXCI+XG5cdFx0XHRcdFx0QGlmIChlbmFibGVkKCkpIHtcblx0XHRcdFx0XHRcdEBpZiAoIWRpc2FibGVBeGVzKCkgJiYgYWN0aXZlQXhlcygpWzBdKSB7XG5cdFx0XHRcdFx0XHRcdDxuZ3RzLWF4aXMtYXJyb3cgW2F4aXNdPVwiMFwiIFtkaXJlY3Rpb25dPVwieERpclwiIC8+XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRAaWYgKCFkaXNhYmxlQXhlcygpICYmIGFjdGl2ZUF4ZXMoKVsxXSkge1xuXHRcdFx0XHRcdFx0XHQ8bmd0cy1heGlzLWFycm93IFtheGlzXT1cIjFcIiBbZGlyZWN0aW9uXT1cInlEaXJcIiAvPlxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0QGlmICghZGlzYWJsZUF4ZXMoKSAmJiBhY3RpdmVBeGVzKClbMl0pIHtcblx0XHRcdFx0XHRcdFx0PG5ndHMtYXhpcy1hcnJvdyBbYXhpc109XCIyXCIgW2RpcmVjdGlvbl09XCJ6RGlyXCIgLz5cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0QGlmICghZGlzYWJsZVNsaWRlcnMoKSAmJiBhY3RpdmVBeGVzKClbMF0gJiYgYWN0aXZlQXhlcygpWzFdKSB7XG5cdFx0XHRcdFx0XHRcdDxuZ3RzLXBsYW5lLXNsaWRlciBbYXhpc109XCIyXCIgW2RpcjFdPVwieERpclwiIFtkaXIyXT1cInlEaXJcIiAvPlxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0QGlmICghZGlzYWJsZVNsaWRlcnMoKSAmJiBhY3RpdmVBeGVzKClbMF0gJiYgYWN0aXZlQXhlcygpWzJdKSB7XG5cdFx0XHRcdFx0XHRcdDxuZ3RzLXBsYW5lLXNsaWRlciBbYXhpc109XCIxXCIgW2RpcjFdPVwiekRpclwiIFtkaXIyXT1cInhEaXJcIiAvPlxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0QGlmICghZGlzYWJsZVNsaWRlcnMoKSAmJiBhY3RpdmVBeGVzKClbMl0gJiYgYWN0aXZlQXhlcygpWzFdKSB7XG5cdFx0XHRcdFx0XHRcdDxuZ3RzLXBsYW5lLXNsaWRlciBbYXhpc109XCIwXCIgW2RpcjFdPVwieURpclwiIFtkaXIyXT1cInpEaXJcIiAvPlxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRAaWYgKCFkaXNhYmxlUm90YXRpb25zKCkgJiYgYWN0aXZlQXhlcygpWzBdICYmIGFjdGl2ZUF4ZXMoKVsxXSkge1xuXHRcdFx0XHRcdFx0XHQ8bmd0cy1heGlzLXJvdGF0b3IgW2F4aXNdPVwiMlwiIFtkaXIxXT1cInhEaXJcIiBbZGlyMl09XCJ5RGlyXCIgLz5cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdEBpZiAoIWRpc2FibGVSb3RhdGlvbnMoKSAmJiBhY3RpdmVBeGVzKClbMF0gJiYgYWN0aXZlQXhlcygpWzJdKSB7XG5cdFx0XHRcdFx0XHRcdDxuZ3RzLWF4aXMtcm90YXRvciBbYXhpc109XCIxXCIgW2RpcjFdPVwiekRpclwiIFtkaXIyXT1cInhEaXJcIiAvPlxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0QGlmICghZGlzYWJsZVJvdGF0aW9ucygpICYmIGFjdGl2ZUF4ZXMoKVsyXSAmJiBhY3RpdmVBeGVzKClbMV0pIHtcblx0XHRcdFx0XHRcdFx0PG5ndHMtYXhpcy1yb3RhdG9yIFtheGlzXT1cIjBcIiBbZGlyMV09XCJ5RGlyXCIgW2RpcjJdPVwiekRpclwiIC8+XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdEBpZiAoIWRpc2FibGVTY2FsaW5nKCkgJiYgYWN0aXZlQXhlcygpWzBdKSB7XG5cdFx0XHRcdFx0XHRcdDxuZ3RzLXNjYWxpbmctc3BoZXJlIFtheGlzXT1cIjBcIiBbZGlyZWN0aW9uXT1cInhEaXJcIiAvPlxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0QGlmICghZGlzYWJsZVNjYWxpbmcoKSAmJiBhY3RpdmVBeGVzKClbMV0pIHtcblx0XHRcdFx0XHRcdFx0PG5ndHMtc2NhbGluZy1zcGhlcmUgW2F4aXNdPVwiMVwiIFtkaXJlY3Rpb25dPVwieURpclwiIC8+XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRAaWYgKCFkaXNhYmxlU2NhbGluZygpICYmIGFjdGl2ZUF4ZXMoKVsyXSkge1xuXHRcdFx0XHRcdFx0XHQ8bmd0cy1zY2FsaW5nLXNwaGVyZSBbYXhpc109XCIyXCIgW2RpcmVjdGlvbl09XCJ6RGlyXCIgLz5cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdDwvbmd0LWdyb3VwPlxuXHRcdFx0XHQ8bmd0LWdyb3VwICNjaGlsZHJlbj5cblx0XHRcdFx0XHQ8bmctY29udGVudCAvPlxuXHRcdFx0XHQ8L25ndC1ncm91cD5cblx0XHRcdDwvbmd0LWdyb3VwPlxuXHRcdDwvbmd0LWdyb3VwPlxuXHRgLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRpbXBvcnRzOiBbTmd0c0F4aXNBcnJvdywgTmd0c1BsYW5lU2xpZGVyLCBOZ3RzQXhpc1JvdGF0b3IsIE5ndHNTY2FsaW5nU3BoZXJlXSxcbn0pXG4vLyBUT0RPOiBQaXZvdENvbnRyb2xzIGlzIG5vdCB3b3JraW5nIHByb3Blcmx5IHdpdGggY29udHJvbCBmbG93XG5leHBvcnQgY2xhc3MgTmd0c1Bpdm90Q29udHJvbHMge1xuXHRvcHRpb25zID0gaW5wdXQoZGVmYXVsdE9wdGlvbnMsIHsgdHJhbnNmb3JtOiBtZXJnZUlucHV0cyhkZWZhdWx0T3B0aW9ucykgfSk7XG5cdHBhcmFtZXRlcnMgPSBvbWl0KHRoaXMub3B0aW9ucywgW1xuXHRcdCdlbmFibGVkJyxcblx0XHQnbWF0cml4Jyxcblx0XHQnYXV0b1RyYW5zZm9ybScsXG5cdFx0J2FuY2hvcicsXG5cdFx0J2Rpc2FibGVBeGVzJyxcblx0XHQnZGlzYWJsZVNsaWRlcnMnLFxuXHRcdCdkaXNhYmxlUm90YXRpb25zJyxcblx0XHQnZGlzYWJsZVNjYWxpbmcnLFxuXHRcdCdhY3RpdmVBeGVzJyxcblx0XHQnb2Zmc2V0Jyxcblx0XHQncm90YXRpb24nLFxuXHRcdCdzY2FsZScsXG5cdFx0J2xpbmVXaWR0aCcsXG5cdFx0J2ZpeGVkJyxcblx0XHQndHJhbnNsYXRpb25MaW1pdHMnLFxuXHRcdCdyb3RhdGlvbkxpbWl0cycsXG5cdFx0J3NjYWxlTGltaXRzJyxcblx0XHQnZGVwdGhUZXN0Jyxcblx0XHQnYXhpc0NvbG9ycycsXG5cdFx0J2hvdmVyZWRDb2xvcicsXG5cdFx0J2Fubm90YXRpb25zJyxcblx0XHQnYW5ub3RhdGlvbnNDbGFzcycsXG5cdFx0J29wYWNpdHknLFxuXHRcdCd2aXNpYmxlJyxcblx0XHQndXNlckRhdGEnLFxuXHRdKTtcblxuXHRkcmFnU3RhcnRlZCA9IG91dHB1dDxPbkRyYWdTdGFydFBhcmFtZXRlcnM+KCk7XG5cdGRyYWdFbmRlZCA9IG91dHB1dDx2b2lkPigpO1xuXHRkcmFnZ2VkID0gb3V0cHV0PE9uRHJhZ1BhcmFtZXRlcnM+KCk7XG5cblx0bWF0cml4ID0gcGljayh0aGlzLm9wdGlvbnMsICdtYXRyaXgnKTtcblx0YW5ub3RhdGlvbnMgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2Fubm90YXRpb25zJyk7XG5cdGFubm90YXRpb25zQ2xhc3MgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2Fubm90YXRpb25zQ2xhc3MnKTtcblx0dHJhbnNsYXRpb25MaW1pdHMgPSBwaWNrKHRoaXMub3B0aW9ucywgJ3RyYW5zbGF0aW9uTGltaXRzJyk7XG5cdHJvdGF0aW9uTGltaXRzID0gcGljayh0aGlzLm9wdGlvbnMsICdyb3RhdGlvbkxpbWl0cycpO1xuXHRzY2FsZUxpbWl0cyA9IHBpY2sodGhpcy5vcHRpb25zLCAnc2NhbGVMaW1pdHMnKTtcblx0YXV0b1RyYW5zZm9ybSA9IHBpY2sodGhpcy5vcHRpb25zLCAnYXV0b1RyYW5zZm9ybScpO1xuXHRmaXhlZCA9IHBpY2sodGhpcy5vcHRpb25zLCAnZml4ZWQnKTtcblx0aG92ZXJlZENvbG9yID0gcGljayh0aGlzLm9wdGlvbnMsICdob3ZlcmVkQ29sb3InKTtcblx0YXhpc0NvbG9ycyA9IHBpY2sodGhpcy5vcHRpb25zLCAnYXhpc0NvbG9ycycpO1xuXHRsaW5lV2lkdGggPSBwaWNrKHRoaXMub3B0aW9ucywgJ2xpbmVXaWR0aCcpO1xuXHRzY2FsZSA9IHBpY2sodGhpcy5vcHRpb25zLCAnc2NhbGUnKTtcblx0dXNlckRhdGEgPSBwaWNrKHRoaXMub3B0aW9ucywgJ3VzZXJEYXRhJyk7XG5cdG9wYWNpdHkgPSBwaWNrKHRoaXMub3B0aW9ucywgJ29wYWNpdHknKTtcblx0ZGVwdGhUZXN0ID0gcGljayh0aGlzLm9wdGlvbnMsICdkZXB0aFRlc3QnKTtcblx0b2Zmc2V0ID0gcGljayh0aGlzLm9wdGlvbnMsICdvZmZzZXQnKTtcblx0cm90YXRpb24gPSBwaWNrKHRoaXMub3B0aW9ucywgJ3JvdGF0aW9uJyk7XG5cdHZpc2libGUgPSBwaWNrKHRoaXMub3B0aW9ucywgJ3Zpc2libGUnKTtcblx0ZW5hYmxlZCA9IHBpY2sodGhpcy5vcHRpb25zLCAnZW5hYmxlZCcpO1xuXHRkaXNhYmxlQXhlcyA9IHBpY2sodGhpcy5vcHRpb25zLCAnZGlzYWJsZUF4ZXMnKTtcblx0ZGlzYWJsZVNsaWRlcnMgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2Rpc2FibGVTbGlkZXJzJyk7XG5cdGRpc2FibGVSb3RhdGlvbnMgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2Rpc2FibGVSb3RhdGlvbnMnKTtcblx0ZGlzYWJsZVNjYWxpbmcgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2Rpc2FibGVTY2FsaW5nJyk7XG5cdGFjdGl2ZUF4ZXMgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2FjdGl2ZUF4ZXMnKTtcblxuXHR4RGlyID0geERpcjtcblx0eURpciA9IHlEaXI7XG5cdHpEaXIgPSB6RGlyO1xuXG5cdHBhcmVudFJlZiA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEdyb3VwPj4oJ3BhcmVudCcpO1xuXHRncm91cFJlZiA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEdyb3VwPj4oJ2dyb3VwJyk7XG5cdGdpem1vUmVmID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8R3JvdXA+PignZ2l6bW8nKTtcblx0Y2hpbGRyZW5SZWYgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxHcm91cD4+KCdjaGlsZHJlbicpO1xuXG5cdHByaXZhdGUgc3RvcmUgPSBpbmplY3RTdG9yZSgpO1xuXHRwcml2YXRlIGludmFsaWRhdGUgPSB0aGlzLnN0b3JlLnNlbGVjdCgnaW52YWxpZGF0ZScpO1xuXG5cdHRyYW5zbGF0aW9uOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl0gPSBbMCwgMCwgMF07XG5cblx0cHJpdmF0ZSBhbmNob3IgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2FuY2hvcicpO1xuXHRwcml2YXRlIGNhbWVyYVNjYWxlID0gbmV3IFZlY3RvcjMoMSwgMSwgMSk7XG5cdHByaXZhdGUgZ2l6bW9TY2FsZSA9IG5ldyBWZWN0b3IzKDEsIDEsIDEpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGV4dGVuZCh7IEdyb3VwIH0pO1xuXG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IGFuY2hvciA9IHRoaXMuYW5jaG9yKCk7XG5cdFx0XHRpZiAoIWFuY2hvcikgcmV0dXJuO1xuXG5cdFx0XHRjb25zdCBjaGlsZHJlbkNvbnRhaW5lciA9IHRoaXMuY2hpbGRyZW5SZWYoKS5uYXRpdmVFbGVtZW50O1xuXHRcdFx0Y29uc3QgbG9jYWxTdGF0ZSA9IGdldExvY2FsU3RhdGUoY2hpbGRyZW5Db250YWluZXIpO1xuXHRcdFx0aWYgKCFsb2NhbFN0YXRlKSByZXR1cm47XG5cblx0XHRcdGNvbnN0IFtnaXptbywgb2Zmc2V0LCBpbnZhbGlkYXRlXSA9IFtcblx0XHRcdFx0dGhpcy5naXptb1JlZigpLm5hdGl2ZUVsZW1lbnQsXG5cdFx0XHRcdHRoaXMub2Zmc2V0KCksXG5cdFx0XHRcdHRoaXMuaW52YWxpZGF0ZSgpLFxuXHRcdFx0XHR0aGlzLm9wdGlvbnMoKSxcblx0XHRcdFx0W2xvY2FsU3RhdGUub2JqZWN0cygpLCBsb2NhbFN0YXRlLm5vbk9iamVjdHMoKV0sXG5cdFx0XHRdO1xuXHRcdFx0Y2hpbGRyZW5Db250YWluZXIudXBkYXRlV29ybGRNYXRyaXgodHJ1ZSwgdHJ1ZSk7XG5cblx0XHRcdG1QSW52LmNvcHkoY2hpbGRyZW5Db250YWluZXIubWF0cml4V29ybGQpLmludmVydCgpO1xuXHRcdFx0YmIubWFrZUVtcHR5KCk7XG5cblx0XHRcdGNoaWxkcmVuQ29udGFpbmVyLnRyYXZlcnNlKChvYmopID0+IHtcblx0XHRcdFx0aWYgKCEob2JqIGFzIE1lc2gpLmdlb21ldHJ5KSByZXR1cm47XG5cdFx0XHRcdGlmICghKG9iaiBhcyBNZXNoKS5nZW9tZXRyeS5ib3VuZGluZ0JveCkgKG9iaiBhcyBNZXNoKS5nZW9tZXRyeS5jb21wdXRlQm91bmRpbmdCb3goKTtcblx0XHRcdFx0bUwuY29weShvYmoubWF0cml4V29ybGQpLnByZW11bHRpcGx5KG1QSW52KTtcblx0XHRcdFx0Y29uc3QgYm91bmRpbmdCb3ggPSAob2JqIGFzIE1lc2gpLmdlb21ldHJ5LmJvdW5kaW5nQm94O1xuXHRcdFx0XHRpZiAoYm91bmRpbmdCb3gpIHtcblx0XHRcdFx0XHRiYk9iai5jb3B5KGJvdW5kaW5nQm94KTtcblx0XHRcdFx0XHRiYk9iai5hcHBseU1hdHJpeDQobUwpO1xuXHRcdFx0XHRcdGJiLnVuaW9uKGJiT2JqKTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cblx0XHRcdHZDZW50ZXIuY29weShiYi5tYXgpLmFkZChiYi5taW4pLm11bHRpcGx5U2NhbGFyKDAuNSk7XG5cdFx0XHR2U2l6ZS5jb3B5KGJiLm1heCkuc3ViKGJiLm1pbikubXVsdGlwbHlTY2FsYXIoMC41KTtcblx0XHRcdHZBbmNob3JPZmZzZXRcblx0XHRcdFx0LmNvcHkodlNpemUpXG5cdFx0XHRcdC5tdWx0aXBseShuZXcgVmVjdG9yMyguLi5hbmNob3IpKVxuXHRcdFx0XHQuYWRkKHZDZW50ZXIpO1xuXHRcdFx0dlBvc2l0aW9uLnNldCguLi5vZmZzZXQpLmFkZCh2QW5jaG9yT2Zmc2V0KTtcblx0XHRcdGdpem1vLnBvc2l0aW9uLmNvcHkodlBvc2l0aW9uKTtcblx0XHRcdGludmFsaWRhdGUoKTtcblx0XHR9KTtcblxuXHRcdGNvbnN0IHZlYyA9IG5ldyBWZWN0b3IzKCk7XG5cdFx0aW5qZWN0QmVmb3JlUmVuZGVyKCh7IGNhbWVyYSwgc2l6ZSwgaW52YWxpZGF0ZSB9KSA9PiB7XG5cdFx0XHRjb25zdCBbeyBmaXhlZCwgc2NhbGUsIG1hdHJpeCB9LCBnaXptbywgZ3JvdXBdID0gW1xuXHRcdFx0XHR0aGlzLm9wdGlvbnMoKSxcblx0XHRcdFx0dGhpcy5naXptb1JlZigpLm5hdGl2ZUVsZW1lbnQsXG5cdFx0XHRcdHRoaXMuZ3JvdXBSZWYoKS5uYXRpdmVFbGVtZW50LFxuXHRcdFx0XTtcblxuXHRcdFx0aWYgKGZpeGVkKSB7XG5cdFx0XHRcdGNvbnN0IHNmID0gY2FsY3VsYXRlU2NhbGVGYWN0b3IoZ2l6bW8uZ2V0V29ybGRQb3NpdGlvbih2ZWMpLCBzY2FsZSwgY2FtZXJhLCBzaXplKTtcblx0XHRcdFx0dGhpcy5jYW1lcmFTY2FsZS5zZXRTY2FsYXIoc2YpO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAobWF0cml4ICYmIG1hdHJpeCBpbnN0YW5jZW9mIE1hdHJpeDQpIHtcblx0XHRcdFx0Z3JvdXAubWF0cml4ID0gbWF0cml4O1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBVcGRhdGUgZ2l6bW8gc2NhbGUgaW4gYWNjb3JkYW5jZSB3aXRoIG1hdHJpeCBjaGFuZ2VzXG5cdFx0XHQvLyBXaXRob3V0IHRoaXMsIHRoZXJlIG1pZ2h0IGJlIG5vdGljZWFibGUgdHVyYnVsZW5jZSBpZiBzY2FsaW5nIGhhcHBlbnMgZmFzdCBlbm91Z2hcblx0XHRcdGdpem1vLnVwZGF0ZVdvcmxkTWF0cml4KHRydWUsIHRydWUpO1xuXG5cdFx0XHRtRy5tYWtlUm90YXRpb25Gcm9tRXVsZXIoZ2l6bW8ucm90YXRpb24pLnNldFBvc2l0aW9uKGdpem1vLnBvc2l0aW9uKS5wcmVtdWx0aXBseShncm91cC5tYXRyaXhXb3JsZCk7XG5cdFx0XHR0aGlzLmdpem1vU2NhbGUuc2V0RnJvbU1hdHJpeFNjYWxlKG1HKTtcblxuXHRcdFx0dlNjYWxlLmNvcHkodGhpcy5jYW1lcmFTY2FsZSkuZGl2aWRlKHRoaXMuZ2l6bW9TY2FsZSk7XG5cblx0XHRcdGlmIChcblx0XHRcdFx0TWF0aC5hYnMoZ2l6bW8uc2NhbGUueCAtIHZTY2FsZS54KSA+IDFlLTQgfHxcblx0XHRcdFx0TWF0aC5hYnMoZ2l6bW8uc2NhbGUueSAtIHZTY2FsZS55KSA+IDFlLTQgfHxcblx0XHRcdFx0TWF0aC5hYnMoZ2l6bW8uc2NhbGUueiAtIHZTY2FsZS56KSA+IDFlLTRcblx0XHRcdCkge1xuXHRcdFx0XHRnaXptby5zY2FsZS5jb3B5KHZTY2FsZSk7XG5cdFx0XHRcdGludmFsaWRhdGUoKTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdG9uRHJhZ1N0YXJ0KHBhcmFtZXRlcnM6IE9uRHJhZ1N0YXJ0UGFyYW1ldGVycykge1xuXHRcdGNvbnN0IGdyb3VwID0gdGhpcy5ncm91cFJlZigpLm5hdGl2ZUVsZW1lbnQ7XG5cdFx0bUwwLmNvcHkoZ3JvdXAubWF0cml4KTtcblx0XHRtVzAuY29weShncm91cC5tYXRyaXhXb3JsZCk7XG5cdFx0dGhpcy5kcmFnU3RhcnRlZC5lbWl0KHBhcmFtZXRlcnMpO1xuXHRcdHRoaXMuc3RvcmUuc25hcHNob3QuaW52YWxpZGF0ZSgpO1xuXHR9XG5cblx0b25EcmFnKG1kVzogTWF0cml4NCkge1xuXHRcdGNvbnN0IFtwYXJlbnQsIGdyb3VwLCBhdXRvVHJhbnNmb3JtXSA9IFtcblx0XHRcdHRoaXMucGFyZW50UmVmKCkubmF0aXZlRWxlbWVudCxcblx0XHRcdHRoaXMuZ3JvdXBSZWYoKS5uYXRpdmVFbGVtZW50LFxuXHRcdFx0dGhpcy5hdXRvVHJhbnNmb3JtKCksXG5cdFx0XTtcblxuXHRcdG1QLmNvcHkocGFyZW50Lm1hdHJpeFdvcmxkKTtcblx0XHRtUEludi5jb3B5KG1QKS5pbnZlcnQoKTtcblx0XHQvLyBBZnRlciBhcHBseWluZyB0aGUgZGVsdGFcblx0XHRtVy5jb3B5KG1XMCkucHJlbXVsdGlwbHkobWRXKTtcblx0XHRtTC5jb3B5KG1XKS5wcmVtdWx0aXBseShtUEludik7XG5cdFx0bUwwSW52LmNvcHkobUwwKS5pbnZlcnQoKTtcblx0XHRtZEwuY29weShtTCkubXVsdGlwbHkobUwwSW52KTtcblxuXHRcdGlmIChhdXRvVHJhbnNmb3JtKSB7XG5cdFx0XHRncm91cC5tYXRyaXguY29weShtTCk7XG5cdFx0fVxuXG5cdFx0dGhpcy5kcmFnZ2VkLmVtaXQoeyBsOiBtTCwgZGVsdGFMOiBtZEwsIHc6IG1XLCBkZWx0YVc6IG1kVyB9KTtcblx0XHR0aGlzLnN0b3JlLnNuYXBzaG90LmludmFsaWRhdGUoKTtcblx0fVxuXG5cdG9uRHJhZ0VuZCgpIHtcblx0XHR0aGlzLmRyYWdFbmRlZC5lbWl0KCk7XG5cdFx0dGhpcy5zdG9yZS5zbmFwc2hvdC5pbnZhbGlkYXRlKCk7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -149,8 +149,8 @@ export class NgtsPlaneSlider {
|
|
|
149
149
|
event.stopPropagation();
|
|
150
150
|
this.hovered.set(false);
|
|
151
151
|
}
|
|
152
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
153
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
152
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsPlaneSlider, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
153
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: NgtsPlaneSlider, isStandalone: true, selector: "ngts-plane-slider", inputs: { dir1: { classPropertyName: "dir1", publicName: "dir1", isSignal: true, isRequired: true, transformFunction: null }, dir2: { classPropertyName: "dir2", publicName: "dir2", isSignal: true, isRequired: true, transformFunction: null }, axis: { classPropertyName: "axis", publicName: "axis", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, isSignal: true }, { propertyName: "annotationRef", first: true, predicate: ["annotation"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: `
|
|
154
154
|
<ngt-group #group [matrix]="matrixL()" [matrixAutoUpdate]="false">
|
|
155
155
|
@if (pivotControls.annotations()) {
|
|
156
156
|
<ngts-html [options]="{ position: [0, 0, 0] }">
|
|
@@ -202,7 +202,7 @@ export class NgtsPlaneSlider {
|
|
|
202
202
|
</ngt-group>
|
|
203
203
|
`, isInline: true, dependencies: [{ kind: "component", type: NgtsHTML, selector: "ngts-html", inputs: ["options"] }, { kind: "component", type: NgtsHTMLContent, selector: "[ngtsHTMLContent]", inputs: ["ngtsHTMLContent"], outputs: ["occluded"] }, { kind: "component", type: NgtsLine, selector: "ngts-line", inputs: ["points", "options"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
204
204
|
}
|
|
205
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
205
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsPlaneSlider, decorators: [{
|
|
206
206
|
type: Component,
|
|
207
207
|
args: [{
|
|
208
208
|
selector: 'ngts-plane-slider',
|
|
@@ -149,8 +149,8 @@ export class NgtsScalingSphere {
|
|
|
149
149
|
event.stopPropagation();
|
|
150
150
|
this.hovered.set(false);
|
|
151
151
|
}
|
|
152
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
153
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
152
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsScalingSphere, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
153
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: NgtsScalingSphere, isStandalone: true, selector: "ngts-scaling-sphere", inputs: { direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: true, transformFunction: null }, axis: { classPropertyName: "axis", publicName: "axis", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, isSignal: true }, { propertyName: "annotationRef", first: true, predicate: ["annotation"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "meshRef", first: true, predicate: ["mesh"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
154
154
|
<ngt-group #group>
|
|
155
155
|
<ngt-group
|
|
156
156
|
[matrix]="matrixL()"
|
|
@@ -185,7 +185,7 @@ export class NgtsScalingSphere {
|
|
|
185
185
|
</ngt-group>
|
|
186
186
|
`, isInline: true, dependencies: [{ kind: "component", type: NgtsHTML, selector: "ngts-html", inputs: ["options"] }, { kind: "component", type: NgtsHTMLContent, selector: "[ngtsHTMLContent]", inputs: ["ngtsHTMLContent"], outputs: ["occluded"] }, { kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
187
187
|
}
|
|
188
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
188
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsScalingSphere, decorators: [{
|
|
189
189
|
type: Component,
|
|
190
190
|
args: [{
|
|
191
191
|
selector: 'ngts-scaling-sphere',
|
|
@@ -148,8 +148,8 @@ export class NgtsTransformControls {
|
|
|
148
148
|
this.store.update({ controls });
|
|
149
149
|
return () => this.store.update(() => ({ controls: oldControls }));
|
|
150
150
|
}
|
|
151
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
152
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.
|
|
151
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsTransformControls, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
152
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.4", type: NgtsTransformControls, isStandalone: true, selector: "ngts-transform-controls", inputs: { object: { classPropertyName: "object", publicName: "object", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { change: "change", mouseDown: "mouseDown", mouseUp: "mouseUp", objectChange: "objectChange" }, viewQueries: [{ propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
153
153
|
<ngt-primitive *args="[controls()]" [parameters]="controlsOptions()" />
|
|
154
154
|
|
|
155
155
|
<ngt-group #group [parameters]="parameters()">
|
|
@@ -157,7 +157,7 @@ export class NgtsTransformControls {
|
|
|
157
157
|
</ngt-group>
|
|
158
158
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
159
159
|
}
|
|
160
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
160
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsTransformControls, decorators: [{
|
|
161
161
|
type: Component,
|
|
162
162
|
args: [{
|
|
163
163
|
selector: 'ngts-transform-controls',
|
|
@@ -61,8 +61,8 @@ export class NgtsLoader {
|
|
|
61
61
|
onCleanup(() => cancelAnimationFrame(rafId));
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
65
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
64
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsLoader, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
65
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.4", type: NgtsLoader, isStandalone: true, selector: "ngts-loader", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "progressSpanRef", first: true, predicate: ["progressSpanRef"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
66
66
|
@if (shown()) {
|
|
67
67
|
<div
|
|
68
68
|
class="ngts-loader-container"
|
|
@@ -83,7 +83,7 @@ export class NgtsLoader {
|
|
|
83
83
|
}
|
|
84
84
|
`, isInline: true, styles: [".ngts-loader-container{--ngts-loader-container-opacity: 0;position:absolute;top:0;left:0;width:100%;height:100%;background:#171717;display:flex;align-items:center;justify-content:center;transition:opacity .3s ease;z-index:1000;opacity:var(--ngts-loader-container-opacity)}.ngts-loader-inner{width:100px;height:3px;background:#272727;text-align:center}.ngts-loader-bar{--ngts-loader-bar-scale: 0;height:3px;width:100px;background:#fff;transition:transform .2s;transform-origin:left center;transform:scaleX(var(--ngts-loader-bar-scale))}.ngts-loader-data{display:inline-block;position:relative;font-variant-numeric:tabular-nums;margin-top:.8em;color:#f0f0f0;font-size:.6em;font-family:-apple-system,BlinkMacSystemFont,Inter,Segoe UI,Helvetica Neue,Helvetica,Arial,Roboto,Ubuntu,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",Segoe UI Symbol;white-space:nowrap}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
85
85
|
}
|
|
86
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
86
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.4", ngImport: i0, type: NgtsLoader, decorators: [{
|
|
87
87
|
type: Component,
|
|
88
88
|
args: [{ selector: 'ngts-loader', standalone: true, template: `
|
|
89
89
|
@if (shown()) {
|