angular-three-soba 2.0.0-beta.26 → 2.0.0-beta.28
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/controls/orbit-controls/orbit-controls.d.ts +1 -1
- package/esm2022/abstractions/billboard/billboard.mjs +3 -3
- package/esm2022/abstractions/detailed/detailed.mjs +3 -3
- package/esm2022/abstractions/edges/edges.mjs +3 -3
- package/esm2022/abstractions/grid/grid.mjs +3 -3
- package/esm2022/abstractions/text/text.mjs +3 -3
- package/esm2022/abstractions/text-3d/text-3d.mjs +3 -3
- package/esm2022/cameras/camera/camera-content.mjs +3 -3
- package/esm2022/cameras/camera/camera.mjs +3 -3
- package/esm2022/cameras/cube-camera/cube-camera.mjs +9 -9
- package/esm2022/cameras/orthographic-camera/orthographic-camera.mjs +3 -3
- package/esm2022/cameras/perspective-camera/perspective-camera.mjs +3 -3
- package/esm2022/controls/orbit-controls/orbit-controls.mjs +10 -6
- package/esm2022/gizmos/gizmo-helper/gizmo-helper.mjs +3 -3
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-edge.mjs +3 -3
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-face.mjs +6 -6
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube-input.mjs +3 -3
- package/esm2022/gizmos/gizmo-helper/gizmo-viewcube/gizmo-viewcube.mjs +3 -3
- package/esm2022/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport-axis.mjs +6 -6
- package/esm2022/gizmos/gizmo-helper/gizmo-viewport/gizmo-viewport.mjs +3 -3
- package/esm2022/loaders/gltf-loader/gltf-loader.mjs +6 -2
- package/esm2022/loaders/loader/loader.mjs +3 -3
- package/esm2022/loaders/progress/progress.mjs +3 -3
- package/esm2022/loaders/texture-loader/texture-loader.mjs +3 -3
- package/esm2022/materials/mesh-distort-material/mesh-distort-material.mjs +3 -3
- package/esm2022/materials/mesh-reflector-material/mesh-reflector-material.mjs +3 -3
- package/esm2022/materials/mesh-refraction-material/mesh-refraction-material.mjs +3 -3
- package/esm2022/materials/mesh-transmission-material/mesh-transmission-material.mjs +3 -3
- package/esm2022/materials/mesh-wobble-material/mesh-wobble-material.mjs +3 -3
- package/esm2022/materials/point-material/point-material.mjs +3 -3
- package/esm2022/misc/animations/animations.mjs +3 -3
- package/esm2022/misc/bake-shadows/bake-shadows.mjs +3 -3
- package/esm2022/misc/caustics/caustics.mjs +3 -3
- package/esm2022/misc/decal/decal.mjs +3 -3
- package/esm2022/misc/depth-buffer/depth-buffer.mjs +3 -3
- package/esm2022/misc/example/example.mjs +3 -3
- package/esm2022/misc/fbo/fbo.mjs +3 -3
- package/esm2022/misc/html/html-wrapper.mjs +3 -3
- package/esm2022/misc/html/html.mjs +3 -3
- package/esm2022/misc/sampler/sampler.mjs +6 -6
- package/esm2022/misc/shadow/shadow.mjs +3 -3
- package/esm2022/misc/stats-gl/stats-gl.mjs +3 -3
- package/esm2022/misc/trail/trail.mjs +6 -6
- package/esm2022/misc/trail-texture/inject-trail-texture.mjs +3 -3
- package/esm2022/modifiers/curve-modifier/curve-modifier.mjs +3 -3
- package/esm2022/performances/adaptive-dpr/adaptive-dpr.mjs +3 -3
- package/esm2022/performances/adaptive-events/adaptive-events.mjs +3 -3
- package/esm2022/performances/instances/instances.mjs +6 -6
- package/esm2022/performances/points/points-input.mjs +3 -3
- package/esm2022/performances/points/points.mjs +12 -12
- package/esm2022/performances/segments/segments.mjs +6 -6
- package/esm2022/shaders/wireframe-material/wireframe-material.mjs +3 -3
- package/esm2022/staging/accumulative-shadows/accumulative-shadows.mjs +3 -3
- package/esm2022/staging/accumulative-shadows/progressive-light-map.mjs +8 -8
- package/esm2022/staging/accumulative-shadows/randomized-lights.mjs +5 -5
- package/esm2022/staging/backdrop/backdrop.mjs +3 -3
- package/esm2022/staging/bb-anchor/bb-anchor.mjs +6 -6
- package/esm2022/staging/bounds/bounds.mjs +3 -3
- package/esm2022/staging/camera-shake/camera-shake.mjs +3 -3
- package/esm2022/staging/center/center.mjs +3 -3
- package/esm2022/staging/cloud/cloud.mjs +3 -3
- package/esm2022/staging/contact-shadows/contact-shadows.mjs +3 -3
- package/esm2022/staging/environment/environment-cube.mjs +3 -3
- package/esm2022/staging/environment/environment-ground.mjs +3 -3
- package/esm2022/staging/environment/environment-input.mjs +3 -3
- package/esm2022/staging/environment/environment-map.mjs +3 -3
- package/esm2022/staging/environment/environment-portal.mjs +3 -3
- package/esm2022/staging/environment/environment.mjs +3 -3
- package/esm2022/staging/environment/utils.mjs +3 -3
- package/esm2022/staging/float/float.mjs +3 -3
- package/esm2022/staging/matcap-texture/matcap-texture.mjs +3 -3
- package/esm2022/staging/normal-texture/normal-texture.mjs +3 -3
- package/esm2022/staging/sky/sky.mjs +3 -3
- package/esm2022/staging/sparkles/sparkles.mjs +3 -3
- package/esm2022/staging/spot-light/shadow-mesh-input.mjs +3 -3
- package/esm2022/staging/spot-light/shadow-mesh.mjs +12 -12
- package/esm2022/staging/spot-light/spot-light-input.mjs +3 -3
- package/esm2022/staging/spot-light/spot-light.mjs +3 -3
- package/esm2022/staging/spot-light/volumetric-mesh.mjs +3 -3
- package/esm2022/staging/stage/stage.mjs +6 -6
- package/esm2022/staging/stars/stars.mjs +3 -3
- package/esm2022/staging/wireframe/wireframe-input.mjs +3 -3
- package/esm2022/staging/wireframe/wireframe.mjs +9 -9
- package/esm2022/utils/content/content.mjs +3 -3
- package/fesm2022/angular-three-soba-abstractions.mjs +18 -18
- package/fesm2022/angular-three-soba-cameras.mjs +20 -20
- package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
- package/fesm2022/angular-three-soba-controls.mjs +9 -5
- package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
- package/fesm2022/angular-three-soba-gizmos.mjs +27 -27
- package/fesm2022/angular-three-soba-loaders.mjs +11 -7
- package/fesm2022/angular-three-soba-loaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-materials.mjs +18 -18
- package/fesm2022/angular-three-soba-misc.mjs +37 -37
- package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
- package/fesm2022/angular-three-soba-modifiers.mjs +3 -3
- package/fesm2022/angular-three-soba-performances.mjs +33 -33
- package/fesm2022/angular-three-soba-shaders.mjs +2 -2
- package/fesm2022/angular-three-soba-shaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-staging.mjs +111 -111
- package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
- package/fesm2022/angular-three-soba-utils.mjs +3 -3
- package/package.json +7 -7
|
@@ -420,8 +420,8 @@ export class NgtsHtmlWrapper {
|
|
|
420
420
|
}
|
|
421
421
|
});
|
|
422
422
|
}
|
|
423
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
424
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
423
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsHtmlWrapper, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
424
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsHtmlWrapper, isStandalone: true, selector: "ngts-html-wrapper", viewQueries: [{ propertyName: "transformTemplate", first: true, predicate: ["transformTemplate"], descendants: true, static: true }, { propertyName: "renderTemplate", first: true, predicate: ["renderTemplate"], descendants: true, static: true }, { propertyName: "outerDiv", first: true, predicate: ["transformedOuterDiv"], descendants: true }, { propertyName: "innerDiv", first: true, predicate: ["transformedInnerDiv"], descendants: true }, { propertyName: "renderAnchor", first: true, predicate: ["renderAnchor"], descendants: true, read: ViewContainerRef }], ngImport: i0, template: `
|
|
425
425
|
<ng-template #transformTemplate>
|
|
426
426
|
<div #transformedOuterDiv [style]="styles()">
|
|
427
427
|
<div #transformedInnerDiv [style]="transformInnerStyles()">
|
|
@@ -437,7 +437,7 @@ export class NgtsHtmlWrapper {
|
|
|
437
437
|
</ng-template>
|
|
438
438
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
439
439
|
}
|
|
440
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
440
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsHtmlWrapper, decorators: [{
|
|
441
441
|
type: Component,
|
|
442
442
|
args: [{
|
|
443
443
|
selector: 'ngts-html-wrapper',
|
|
@@ -179,8 +179,8 @@ export class NgtsHtml {
|
|
|
179
179
|
set _calculatePosition(calculatePosition) {
|
|
180
180
|
this.inputs.set({ calculatePosition });
|
|
181
181
|
}
|
|
182
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
183
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
182
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsHtml, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
183
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsHtml, isStandalone: true, selector: "ngts-html", inputs: { groupRef: "groupRef", _as: ["as", "_as"], _zIndexRange: ["zIndexRange", "_zIndexRange"], _portal: ["portal", "_portal"], _occlude: ["occlude", "_occlude"], _castShadow: ["castShadow", "_castShadow"], _receiveShadow: ["receiveShadow", "_receiveShadow"], _material: ["material", "_material"], _geometry: ["geometry", "_geometry"], _scale: ["scale", "_scale"], _prepend: ["prepend", "_prepend"], _transform: ["transform", "_transform"], _center: ["center", "_center"], _sprite: ["sprite", "_sprite"], _fullscreen: ["fullscreen", "_fullscreen"], _eps: ["eps", "_eps"], _distanceFactor: ["distanceFactor", "_distanceFactor"], _wrapperClass: ["wrapperClass", "_wrapperClass"], _renderedDivClass: ["renderedDivClass", "_renderedDivClass"], _style: ["style", "_style"], _pointerEvents: ["pointerEvents", "_pointerEvents"], _calculatePosition: ["calculatePosition", "_calculatePosition"] }, outputs: { occluded: "occluded" }, providers: [provideNgtsHtmlInputs()], queries: [{ propertyName: "content", first: true, predicate: NgtsSobaContent, descendants: true, read: TemplateRef }], ngImport: i0, template: `
|
|
184
184
|
<ngt-group ngtCompound [ref]="groupRef" [scale]="scale()">
|
|
185
185
|
<ngt-mesh
|
|
186
186
|
*ngIf="occlude() && !isRayCastOcclusion()"
|
|
@@ -201,7 +201,7 @@ export class NgtsHtml {
|
|
|
201
201
|
<ngts-html-wrapper />
|
|
202
202
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgtsHtmlWrapper, selector: "ngts-html-wrapper" }] }); }
|
|
203
203
|
}
|
|
204
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
204
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsHtml, decorators: [{
|
|
205
205
|
type: Component,
|
|
206
206
|
args: [{
|
|
207
207
|
selector: 'ngts-html',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CUSTOM_ELEMENTS_SCHEMA, Component, Injector, Input, computed, effect, inject, runInInjectionContext, signal, untracked, } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { assertInjector, checkUpdate, extend, injectNgtRef, is, signalStore, } from 'angular-three';
|
|
3
3
|
import * as THREE from 'three';
|
|
4
4
|
import { Group } from 'three';
|
|
5
5
|
import { MeshSurfaceSampler } from 'three-stdlib';
|
|
@@ -8,7 +8,7 @@ const defaultState = {
|
|
|
8
8
|
count: 16,
|
|
9
9
|
};
|
|
10
10
|
export function injectNgtsSurfaceSampler(surfaceSamplerState, { injector } = {}) {
|
|
11
|
-
injector =
|
|
11
|
+
injector = assertInjector(injectNgtsSurfaceSampler, injector);
|
|
12
12
|
return runInInjectionContext(injector, () => {
|
|
13
13
|
const state = computed(() => {
|
|
14
14
|
const _state = surfaceSamplerState();
|
|
@@ -102,14 +102,14 @@ export class NgtsSampler {
|
|
|
102
102
|
injectNgtsSurfaceSampler(this.surfaceSamplerState, { injector });
|
|
103
103
|
});
|
|
104
104
|
}
|
|
105
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
106
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
105
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsSampler, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
106
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsSampler, isStandalone: true, selector: "ngts-sampler", inputs: { samplerRef: "samplerRef", _count: ["count", "_count"], _mesh: ["mesh", "_mesh"], _transform: ["transform", "_transform"], _weight: ["weight", "_weight"], _instancedMesh: ["instancedMesh", "_instancedMesh"] }, ngImport: i0, template: `
|
|
107
107
|
<ngt-group ngtCompound [ref]="samplerRef">
|
|
108
108
|
<ng-content />
|
|
109
109
|
</ngt-group>
|
|
110
110
|
`, isInline: true }); }
|
|
111
111
|
}
|
|
112
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsSampler, decorators: [{
|
|
113
113
|
type: Component,
|
|
114
114
|
args: [{
|
|
115
115
|
selector: 'ngts-sampler',
|
|
@@ -139,4 +139,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImpor
|
|
|
139
139
|
type: Input,
|
|
140
140
|
args: [{ alias: 'instancedMesh' }]
|
|
141
141
|
}] } });
|
|
142
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FtcGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9taXNjL3NyYy9zYW1wbGVyL3NhbXBsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHNCQUFzQixFQUN0QixTQUFTLEVBQ1QsUUFBUSxFQUNSLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLE1BQU0sRUFDTixxQkFBcUIsRUFDckIsTUFBTSxFQUNOLFNBQVMsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ04sc0JBQXNCLEVBQ3RCLFdBQVcsRUFDWCxNQUFNLEVBQ04sWUFBWSxFQUNaLEVBQUUsRUFDRixXQUFXLEdBR1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUM5QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBMENsRCxNQUFNLFlBQVksR0FBMEM7SUFDM0QsS0FBSyxFQUFFLEVBQUU7Q0FDVCxDQUFDO0FBRUYsTUFBTSxVQUFVLHdCQUF3QixDQUN2QyxtQkFBaUgsRUFDakgsRUFBRSxRQUFRLEtBQThCLEVBQUU7SUFFMUMsUUFBUSxHQUFHLHNCQUFzQixDQUFDLHdCQUF3QixFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3RFLE9BQU8scUJBQXFCLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtRQUMzQyxNQUFNLEtBQUssR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQzNCLE1BQU0sTUFBTSxHQUFHLG1CQUFtQixFQUFFLENBQUM7WUFDckMsSUFBSSxDQUFDLE1BQU07Z0JBQUUsT0FBTyxJQUFJLENBQUM7WUFDekIsT0FBTyxFQUFFLEdBQUcsWUFBWSxFQUFFLEdBQUcsTUFBTSxFQUFFLENBQUM7UUFDdkMsQ0FBQyxDQUFDLENBQUM7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QUMsQ0FBQztJQUNKLENBQUM7OEdBNUNXLFdBQVc7a0dBQVgsV0FBVyxtU0FQYjs7OztFQUlUOzsyRkFHVyxXQUFXO2tCQVZ2QixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxjQUFjO29CQUN4QixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOzs7O0VBSVQ7b0JBQ0QsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2pDOzBFQUlTLFVBQVU7c0JBQWxCLEtBQUs7Z0JBRXlCLE1BQU07c0JBQXBDLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFO2dCQUlLLEtBQUs7c0JBQWxDLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFO2dCQUlXLFVBQVU7c0JBQTVDLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFO2dCQUlHLE9BQU87c0JBQXRDLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFO2dCQUlhLGNBQWM7c0JBQXBELEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcblx0Q29tcG9uZW50LFxuXHRJbmplY3Rvcixcblx0SW5wdXQsXG5cdGNvbXB1dGVkLFxuXHRlZmZlY3QsXG5cdGluamVjdCxcblx0cnVuSW5JbmplY3Rpb25Db250ZXh0LFxuXHRzaWduYWwsXG5cdHVudHJhY2tlZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuXHRhc3NlcnRJbmplY3Rpb25Db250ZXh0LFxuXHRjaGVja1VwZGF0ZSxcblx0ZXh0ZW5kLFxuXHRpbmplY3ROZ3RSZWYsXG5cdGlzLFxuXHRzaWduYWxTdG9yZSxcblx0dHlwZSBOZ3RHcm91cCxcblx0dHlwZSBOZ3RSZWYsXG59IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgR3JvdXAgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBNZXNoU3VyZmFjZVNhbXBsZXIgfSBmcm9tICd0aHJlZS1zdGRsaWInO1xuXG50eXBlIFNhbXBsZVBheWxvYWQgPSB7XG5cdC8qKlxuXHQgKiBUaGUgcG9zaXRpb24gb2YgdGhlIHNhbXBsZS5cblx0ICovXG5cdHBvc2l0aW9uOiBUSFJFRS5WZWN0b3IzO1xuXHQvKipcblx0ICogVGhlIG5vcm1hbCBvZiB0aGUgbWVzaCBhdCB0aGUgc2FtcGxlZCBwb3NpdGlvbi5cblx0ICovXG5cdG5vcm1hbDogVEhSRUUuVmVjdG9yMztcblx0LyoqXG5cdCAqIFRoZSB2ZXJ0ZXggY29sb3Igb2YgdGhlIG1lc2ggYXQgdGhlIHNhbXBsZWQgcG9zaXRpb24uXG5cdCAqL1xuXHRjb2xvcjogVEhSRUUuQ29sb3I7XG59O1xuXG50eXBlIFRyYW5zZm9ybVBheWxvYWQgPSBTYW1wbGVQYXlsb2FkICYge1xuXHQvKipcblx0ICogVGhlIGR1bW15IG9iamVjdCB1c2VkIHRvIHRyYW5zZm9ybSBlYWNoIGluc3RhbmNlLlxuXHQgKiBUaGlzIG9iamVjdCdzIG1hdHJpeCB3aWxsIGJlIHVwZGF0ZWQgYWZ0ZXIgdHJhbnNmb3JtaW5nICYgaXQgd2lsbCBiZSB1c2VkXG5cdCAqIHRvIHNldCB0aGUgaW5zdGFuY2UncyBtYXRyaXguXG5cdCAqL1xuXHRkdW1teTogVEhSRUUuT2JqZWN0M0Q7XG5cdC8qKlxuXHQgKiBUaGUgbWVzaCB0aGF0J3MgaW5pdGlhbGx5IHBhc3NlZCB0byB0aGUgc2FtcGxlci5cblx0ICogVXNlIHRoaXMgaWYgeW91IG5lZWQgdG8gYXBwbHkgdHJhbnNmb3JtcyBmcm9tIHlvdXIgbWVzaCB0byB5b3VyIGluc3RhbmNlc1xuXHQgKiBvciBpZiB5b3UgbmVlZCB0byBncmFiIGF0dHJpYnV0ZXMgZnJvbSB0aGUgZ2VvbWV0cnkuXG5cdCAqL1xuXHRzYW1wbGVkTWVzaDogVEhSRUUuTWVzaDtcbn07XG5cbmV4cG9ydCB0eXBlIE5ndHNTdXJmYWNlU2FtcGxlclRyYW5zZm9ybUZuID0gKHBheWxvYWQ6IFRyYW5zZm9ybVBheWxvYWQsIGk6IG51bWJlcikgPT4gdm9pZDtcblxuZXhwb3J0IHR5cGUgTmd0c1N1cmZhY2VTYW1wbGVyU3RhdGUgPSB7XG5cdGNvdW50OiBudW1iZXI7XG5cdG1lc2g6IE5ndFJlZjxUSFJFRS5NZXNoPjtcblx0dHJhbnNmb3JtPzogTmd0c1N1cmZhY2VTYW1wbGVyVHJhbnNmb3JtRm47XG5cdHdlaWdodD86IHN0cmluZztcblx0aW5zdGFuY2VkTWVzaD86IE5ndFJlZjxUSFJFRS5JbnN0YW5jZWRNZXNoPjtcbn07XG5cbmNvbnN0IGRlZmF1bHRTdGF0ZTogT21pdDxOZ3RzU3VyZmFjZVNhbXBsZXJTdGF0ZSwgJ21lc2gnPiA9IHtcblx0Y291bnQ6IDE2LFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdE5ndHNTdXJmYWNlU2FtcGxlcihcblx0c3VyZmFjZVNhbXBsZXJTdGF0ZTogKCkgPT4gKFBhcnRpYWw8T21pdDxOZ3RzU3VyZmFjZVNhbXBsZXJTdGF0ZSwgJ21lc2gnPj4gJiB7IG1lc2g6IE5ndFJlZjxUSFJFRS5NZXNoPiB9KSB8IG51bGwsXG5cdHsgaW5qZWN0b3IgfTogeyBpbmplY3Rvcj86IEluamVjdG9yIH0gPSB7fSxcbikge1xuXHRpbmplY3RvciA9IGFzc2VydEluamVjdGlvbkNvbnRleHQoaW5qZWN0Tmd0c1N1cmZhY2VTYW1wbGVyLCBpbmplY3Rvcik7XG5cdHJldHVybiBydW5JbkluamVjdGlvbkNvbnRleHQoaW5qZWN0b3IsICgpID0+IHtcblx0XHRjb25zdCBzdGF0ZSA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRcdGNvbnN0IF9zdGF0ZSA9IHN1cmZhY2VTYW1wbGVyU3RhdGUoKTtcblx0XHRcdGlmICghX3N0YXRlKSByZXR1cm4gbnVsbDtcblx0XHRcdHJldHVybiB7IC4uLmRlZmF1bHRTdGF0ZSwgLi4uX3N0YXRlIH07XG5cdFx0fSk7XG5cdFx0Y29uc3QgX2J1ZmZlciA9IHNpZ25hbChcblx0XHRcdCgoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IGFyciA9IEFycmF5LmZyb20oeyBsZW5ndGg6IHN0YXRlKCk/LmNvdW50IHx8IGRlZmF1bHRTdGF0ZS5jb3VudCB9LCAoKSA9PiBbXG5cdFx0XHRcdFx0MSwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMSxcblx0XHRcdFx0XSkuZmxhdCgpO1xuXHRcdFx0XHRyZXR1cm4gbmV3IFRIUkVFLkluc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZShGbG9hdDMyQXJyYXkuZnJvbShhcnIpLCAxNik7XG5cdFx0XHR9KSgpLFxuXHRcdCk7XG5cblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgX3N0YXRlID0gc3RhdGUoKTtcblx0XHRcdGlmICghX3N0YXRlKSByZXR1cm47XG5cdFx0XHRjb25zdCB7IG1lc2gsIGNvdW50LCB0cmFuc2Zvcm0sIGluc3RhbmNlZE1lc2gsIHdlaWdodCB9ID0gX3N0YXRlO1xuXHRcdFx0Y29uc3QgbWVzaE9iaiA9IGlzLnJlZihtZXNoKSA/IG1lc2gubmF0aXZlRWxlbWVudCA6IG1lc2g7XG5cdFx0XHRpZiAoIW1lc2hPYmopIHJldHVybjtcblx0XHRcdGNvbnN0IGluc3RhbmNlZE1lc2hPYmogPSBpcy5yZWYoaW5zdGFuY2VkTWVzaCkgPyBpbnN0YW5jZWRNZXNoLm5hdGl2ZUVsZW1lbnQgOiBpbnN0YW5jZWRNZXNoO1xuXHRcdFx0Y29uc3QgYnVmZmVyID0gdW50cmFja2VkKF9idWZmZXIpO1xuXG5cdFx0XHRjb25zdCBzYW1wbGVyID0gbmV3IE1lc2hTdXJmYWNlU2FtcGxlcihtZXNoT2JqKTtcblxuXHRcdFx0aWYgKHdlaWdodCkge1xuXHRcdFx0XHRzYW1wbGVyLnNldFdlaWdodEF0dHJpYnV0ZSh3ZWlnaHQpO1xuXHRcdFx0fVxuXG5cdFx0XHRzYW1wbGVyLmJ1aWxkKCk7XG5cblx0XHRcdGNvbnN0IHBvc2l0aW9uID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcblx0XHRcdGNvbnN0IG5vcm1hbCA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG5cdFx0XHRjb25zdCBjb2xvciA9IG5ldyBUSFJFRS5Db2xvcigpO1xuXHRcdFx0Y29uc3QgZHVtbXkgPSBuZXcgVEhSRUUuT2JqZWN0M0QoKTtcblxuXHRcdFx0bWVzaE9iai51cGRhdGVNYXRyaXhXb3JsZCh0cnVlKTtcblxuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7XG5cdFx0XHRcdHNhbXBsZXIuc2FtcGxlKHBvc2l0aW9uLCBub3JtYWwsIGNvbG9yKTtcblxuXHRcdFx0XHRpZiAodHlwZW9mIHRyYW5zZm9ybSA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0XHRcdHRyYW5zZm9ybSh7IGR1bW15LCBzYW1wbGVkTWVzaDogbWVzaE9iaiwgcG9zaXRpb24sIG5vcm1hbCwgY29sb3IgfSwgaSk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0ZHVtbXkucG9zaXRpb24uY29weShwb3NpdGlvbik7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRkdW1teS51cGRhdGVNYXRyaXgoKTtcblxuXHRcdFx0XHRpZiAoaW5zdGFuY2VkTWVzaE9iaikge1xuXHRcdFx0XHRcdGluc3RhbmNlZE1lc2hPYmouc2V0TWF0cml4QXQoaSwgZHVtbXkubWF0cml4KTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGR1bW15Lm1hdHJpeC50b0FycmF5KGJ1ZmZlci5hcnJheSwgaSAqIDE2KTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKGluc3RhbmNlZE1lc2hPYmopIHtcblx0XHRcdFx0Y2hlY2tVcGRhdGUoaW5zdGFuY2VkTWVzaE9iai5pbnN0YW5jZU1hdHJpeCk7XG5cdFx0XHR9XG5cblx0XHRcdGNoZWNrVXBkYXRlKGJ1ZmZlcik7XG5cblx0XHRcdHVudHJhY2tlZCgoKSA9PiB7XG5cdFx0XHRcdF9idWZmZXIuc2V0KGJ1ZmZlci5jbG9uZSgpIGFzIFRIUkVFLkluc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZSk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblxuXHRcdHJldHVybiBfYnVmZmVyLmFzUmVhZG9ubHkoKTtcblx0fSk7XG59XG5cbmV4dGVuZCh7IEdyb3VwIH0pO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG5cdGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuXHRcdC8qKlxuXHRcdCAqIEBleHRlbmRzIG5ndC1ncm91cFxuXHRcdCAqL1xuXHRcdCduZ3RzLXNhbXBsZXInOiBOZ3RzU3VyZmFjZVNhbXBsZXJTdGF0ZSAmIE5ndEdyb3VwO1xuXHR9XG59XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndHMtc2FtcGxlcicsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1ncm91cCBuZ3RDb21wb3VuZCBbcmVmXT1cInNhbXBsZXJSZWZcIj5cblx0XHRcdDxuZy1jb250ZW50IC8+XG5cdFx0PC9uZ3QtZ3JvdXA+XG5cdGAsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c1NhbXBsZXIge1xuXHRwcml2YXRlIGlucHV0cyA9IHNpZ25hbFN0b3JlPE5ndHNTdXJmYWNlU2FtcGxlclN0YXRlPih7IGNvdW50OiAxNiB9KTtcblxuXHRASW5wdXQoKSBzYW1wbGVyUmVmID0gaW5qZWN0Tmd0UmVmPEdyb3VwPigpO1xuXG5cdEBJbnB1dCh7IGFsaWFzOiAnY291bnQnIH0pIHNldCBfY291bnQoY291bnQ6IG51bWJlcikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGNvdW50IH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdtZXNoJyB9KSBzZXQgX21lc2gobWVzaDogTmd0UmVmPFRIUkVFLk1lc2g+KSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgbWVzaCB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAndHJhbnNmb3JtJyB9KSBzZXQgX3RyYW5zZm9ybSh0cmFuc2Zvcm06IE5ndHNTdXJmYWNlU2FtcGxlclRyYW5zZm9ybUZuKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgdHJhbnNmb3JtIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICd3ZWlnaHQnIH0pIHNldCBfd2VpZ2h0KHdlaWdodDogc3RyaW5nKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgd2VpZ2h0IH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdpbnN0YW5jZWRNZXNoJyB9KSBzZXQgX2luc3RhbmNlZE1lc2goaW5zdGFuY2VkTWVzaDogTmd0UmVmPFRIUkVFLkluc3RhbmNlZE1lc2g+KSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgaW5zdGFuY2VkTWVzaCB9KTtcblx0fVxuXG5cdHByaXZhdGUgc3VyZmFjZVNhbXBsZXJTdGF0ZSA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCBzYW1wbGVyID0gdGhpcy5zYW1wbGVyUmVmLm5hdGl2ZUVsZW1lbnQ7XG5cdFx0aWYgKCFzYW1wbGVyKSByZXR1cm4gbnVsbDtcblx0XHRjb25zdCB7IGNvdW50LCB3ZWlnaHQsIHRyYW5zZm9ybSwgbWVzaCwgaW5zdGFuY2VkTWVzaCB9ID0gdGhpcy5pbnB1dHMuc3RhdGUoKTtcblxuXHRcdGNvbnN0IGluc3RhbmNlZE1lc2hSZWYgPVxuXHRcdFx0aW5zdGFuY2VkTWVzaCA/P1xuXHRcdFx0KHNhbXBsZXIuY2hpbGRyZW4uZmluZCgoY2hpbGQpID0+IGNoaWxkLmhhc093blByb3BlcnR5KCdpbnN0YW5jZU1hdHJpeCcpKSBhcyBUSFJFRS5JbnN0YW5jZWRNZXNoKTtcblxuXHRcdGNvbnN0IG1lc2hSZWYgPSBtZXNoID8/IChzYW1wbGVyLmNoaWxkcmVuLmZpbmQoKGNoaWxkKSA9PiBjaGlsZC50eXBlID09PSAnTWVzaCcpIGFzIFRIUkVFLk1lc2gpO1xuXG5cdFx0cmV0dXJuIHsgY291bnQsIHdlaWdodCwgdHJhbnNmb3JtLCBtZXNoOiBtZXNoUmVmLCBpbnN0YW5jZWRNZXNoOiBpbnN0YW5jZWRNZXNoUmVmIH07XG5cdH0pO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGNvbnN0IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0aW5qZWN0Tmd0c1N1cmZhY2VTYW1wbGVyKHRoaXMuc3VyZmFjZVNhbXBsZXJTdGF0ZSwgeyBpbmplY3RvciB9KTtcblx0XHR9KTtcblx0fVxufVxuIl19
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FtcGxlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvc29iYS9taXNjL3NyYy9zYW1wbGVyL3NhbXBsZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHNCQUFzQixFQUN0QixTQUFTLEVBQ1QsUUFBUSxFQUNSLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLE1BQU0sRUFDTixxQkFBcUIsRUFDckIsTUFBTSxFQUNOLFNBQVMsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ04sY0FBYyxFQUNkLFdBQVcsRUFDWCxNQUFNLEVBQ04sWUFBWSxFQUNaLEVBQUUsRUFDRixXQUFXLEdBR1gsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUM5QixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxjQUFjLENBQUM7O0FBMENsRCxNQUFNLFlBQVksR0FBMEM7SUFDM0QsS0FBSyxFQUFFLEVBQUU7Q0FDVCxDQUFDO0FBRUYsTUFBTSxVQUFVLHdCQUF3QixDQUN2QyxtQkFBaUgsRUFDakgsRUFBRSxRQUFRLEtBQThCLEVBQUU7SUFFMUMsUUFBUSxHQUFHLGNBQWMsQ0FBQyx3QkFBd0IsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM5RCxPQUFPLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7UUFDM0MsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUMzQixNQUFNLE1BQU0sR0FBRyxtQkFBbUIsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxNQUFNO2dCQUFFLE9BQU8sSUFBSSxDQUFDO1lBQ3pCLE9BQU8sRUFBRSxHQUFHLFlBQVksRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO1FBQ0gs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QUM7SUFDSixDQUFDOzhHQTVDVyxXQUFXO2tHQUFYLFdBQVcsbVNBUGI7Ozs7RUFJVDs7MkZBR1csV0FBVztrQkFWdkIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsY0FBYztvQkFDeEIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7OztFQUlUO29CQUNELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO2lCQUNqQzswRUFJUyxVQUFVO3NCQUFsQixLQUFLO2dCQUV5QixNQUFNO3NCQUFwQyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRTtnQkFJSyxLQUFLO3NCQUFsQyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRTtnQkFJVyxVQUFVO3NCQUE1QyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRTtnQkFJRyxPQUFPO3NCQUF0QyxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtnQkFJYSxjQUFjO3NCQUFwRCxLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLGVBQWUsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG5cdENvbXBvbmVudCxcblx0SW5qZWN0b3IsXG5cdElucHV0LFxuXHRjb21wdXRlZCxcblx0ZWZmZWN0LFxuXHRpbmplY3QsXG5cdHJ1bkluSW5qZWN0aW9uQ29udGV4dCxcblx0c2lnbmFsLFxuXHR1bnRyYWNrZWQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcblx0YXNzZXJ0SW5qZWN0b3IsXG5cdGNoZWNrVXBkYXRlLFxuXHRleHRlbmQsXG5cdGluamVjdE5ndFJlZixcblx0aXMsXG5cdHNpZ25hbFN0b3JlLFxuXHR0eXBlIE5ndEdyb3VwLFxuXHR0eXBlIE5ndFJlZixcbn0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBHcm91cCB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IE1lc2hTdXJmYWNlU2FtcGxlciB9IGZyb20gJ3RocmVlLXN0ZGxpYic7XG5cbnR5cGUgU2FtcGxlUGF5bG9hZCA9IHtcblx0LyoqXG5cdCAqIFRoZSBwb3NpdGlvbiBvZiB0aGUgc2FtcGxlLlxuXHQgKi9cblx0cG9zaXRpb246IFRIUkVFLlZlY3RvcjM7XG5cdC8qKlxuXHQgKiBUaGUgbm9ybWFsIG9mIHRoZSBtZXNoIGF0IHRoZSBzYW1wbGVkIHBvc2l0aW9uLlxuXHQgKi9cblx0bm9ybWFsOiBUSFJFRS5WZWN0b3IzO1xuXHQvKipcblx0ICogVGhlIHZlcnRleCBjb2xvciBvZiB0aGUgbWVzaCBhdCB0aGUgc2FtcGxlZCBwb3NpdGlvbi5cblx0ICovXG5cdGNvbG9yOiBUSFJFRS5Db2xvcjtcbn07XG5cbnR5cGUgVHJhbnNmb3JtUGF5bG9hZCA9IFNhbXBsZVBheWxvYWQgJiB7XG5cdC8qKlxuXHQgKiBUaGUgZHVtbXkgb2JqZWN0IHVzZWQgdG8gdHJhbnNmb3JtIGVhY2ggaW5zdGFuY2UuXG5cdCAqIFRoaXMgb2JqZWN0J3MgbWF0cml4IHdpbGwgYmUgdXBkYXRlZCBhZnRlciB0cmFuc2Zvcm1pbmcgJiBpdCB3aWxsIGJlIHVzZWRcblx0ICogdG8gc2V0IHRoZSBpbnN0YW5jZSdzIG1hdHJpeC5cblx0ICovXG5cdGR1bW15OiBUSFJFRS5PYmplY3QzRDtcblx0LyoqXG5cdCAqIFRoZSBtZXNoIHRoYXQncyBpbml0aWFsbHkgcGFzc2VkIHRvIHRoZSBzYW1wbGVyLlxuXHQgKiBVc2UgdGhpcyBpZiB5b3UgbmVlZCB0byBhcHBseSB0cmFuc2Zvcm1zIGZyb20geW91ciBtZXNoIHRvIHlvdXIgaW5zdGFuY2VzXG5cdCAqIG9yIGlmIHlvdSBuZWVkIHRvIGdyYWIgYXR0cmlidXRlcyBmcm9tIHRoZSBnZW9tZXRyeS5cblx0ICovXG5cdHNhbXBsZWRNZXNoOiBUSFJFRS5NZXNoO1xufTtcblxuZXhwb3J0IHR5cGUgTmd0c1N1cmZhY2VTYW1wbGVyVHJhbnNmb3JtRm4gPSAocGF5bG9hZDogVHJhbnNmb3JtUGF5bG9hZCwgaTogbnVtYmVyKSA9PiB2b2lkO1xuXG5leHBvcnQgdHlwZSBOZ3RzU3VyZmFjZVNhbXBsZXJTdGF0ZSA9IHtcblx0Y291bnQ6IG51bWJlcjtcblx0bWVzaDogTmd0UmVmPFRIUkVFLk1lc2g+O1xuXHR0cmFuc2Zvcm0/OiBOZ3RzU3VyZmFjZVNhbXBsZXJUcmFuc2Zvcm1Gbjtcblx0d2VpZ2h0Pzogc3RyaW5nO1xuXHRpbnN0YW5jZWRNZXNoPzogTmd0UmVmPFRIUkVFLkluc3RhbmNlZE1lc2g+O1xufTtcblxuY29uc3QgZGVmYXVsdFN0YXRlOiBPbWl0PE5ndHNTdXJmYWNlU2FtcGxlclN0YXRlLCAnbWVzaCc+ID0ge1xuXHRjb3VudDogMTYsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0Tmd0c1N1cmZhY2VTYW1wbGVyKFxuXHRzdXJmYWNlU2FtcGxlclN0YXRlOiAoKSA9PiAoUGFydGlhbDxPbWl0PE5ndHNTdXJmYWNlU2FtcGxlclN0YXRlLCAnbWVzaCc+PiAmIHsgbWVzaDogTmd0UmVmPFRIUkVFLk1lc2g+IH0pIHwgbnVsbCxcblx0eyBpbmplY3RvciB9OiB7IGluamVjdG9yPzogSW5qZWN0b3IgfSA9IHt9LFxuKSB7XG5cdGluamVjdG9yID0gYXNzZXJ0SW5qZWN0b3IoaW5qZWN0Tmd0c1N1cmZhY2VTYW1wbGVyLCBpbmplY3Rvcik7XG5cdHJldHVybiBydW5JbkluamVjdGlvbkNvbnRleHQoaW5qZWN0b3IsICgpID0+IHtcblx0XHRjb25zdCBzdGF0ZSA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRcdGNvbnN0IF9zdGF0ZSA9IHN1cmZhY2VTYW1wbGVyU3RhdGUoKTtcblx0XHRcdGlmICghX3N0YXRlKSByZXR1cm4gbnVsbDtcblx0XHRcdHJldHVybiB7IC4uLmRlZmF1bHRTdGF0ZSwgLi4uX3N0YXRlIH07XG5cdFx0fSk7XG5cdFx0Y29uc3QgX2J1ZmZlciA9IHNpZ25hbChcblx0XHRcdCgoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IGFyciA9IEFycmF5LmZyb20oeyBsZW5ndGg6IHN0YXRlKCk/LmNvdW50IHx8IGRlZmF1bHRTdGF0ZS5jb3VudCB9LCAoKSA9PiBbXG5cdFx0XHRcdFx0MSwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMSwgMCwgMCwgMCwgMCwgMSxcblx0XHRcdFx0XSkuZmxhdCgpO1xuXHRcdFx0XHRyZXR1cm4gbmV3IFRIUkVFLkluc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZShGbG9hdDMyQXJyYXkuZnJvbShhcnIpLCAxNik7XG5cdFx0XHR9KSgpLFxuXHRcdCk7XG5cblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgX3N0YXRlID0gc3RhdGUoKTtcblx0XHRcdGlmICghX3N0YXRlKSByZXR1cm47XG5cdFx0XHRjb25zdCB7IG1lc2gsIGNvdW50LCB0cmFuc2Zvcm0sIGluc3RhbmNlZE1lc2gsIHdlaWdodCB9ID0gX3N0YXRlO1xuXHRcdFx0Y29uc3QgbWVzaE9iaiA9IGlzLnJlZihtZXNoKSA/IG1lc2gubmF0aXZlRWxlbWVudCA6IG1lc2g7XG5cdFx0XHRpZiAoIW1lc2hPYmopIHJldHVybjtcblx0XHRcdGNvbnN0IGluc3RhbmNlZE1lc2hPYmogPSBpcy5yZWYoaW5zdGFuY2VkTWVzaCkgPyBpbnN0YW5jZWRNZXNoLm5hdGl2ZUVsZW1lbnQgOiBpbnN0YW5jZWRNZXNoO1xuXHRcdFx0Y29uc3QgYnVmZmVyID0gdW50cmFja2VkKF9idWZmZXIpO1xuXG5cdFx0XHRjb25zdCBzYW1wbGVyID0gbmV3IE1lc2hTdXJmYWNlU2FtcGxlcihtZXNoT2JqKTtcblxuXHRcdFx0aWYgKHdlaWdodCkge1xuXHRcdFx0XHRzYW1wbGVyLnNldFdlaWdodEF0dHJpYnV0ZSh3ZWlnaHQpO1xuXHRcdFx0fVxuXG5cdFx0XHRzYW1wbGVyLmJ1aWxkKCk7XG5cblx0XHRcdGNvbnN0IHBvc2l0aW9uID0gbmV3IFRIUkVFLlZlY3RvcjMoKTtcblx0XHRcdGNvbnN0IG5vcm1hbCA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG5cdFx0XHRjb25zdCBjb2xvciA9IG5ldyBUSFJFRS5Db2xvcigpO1xuXHRcdFx0Y29uc3QgZHVtbXkgPSBuZXcgVEhSRUUuT2JqZWN0M0QoKTtcblxuXHRcdFx0bWVzaE9iai51cGRhdGVNYXRyaXhXb3JsZCh0cnVlKTtcblxuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBjb3VudDsgaSsrKSB7XG5cdFx0XHRcdHNhbXBsZXIuc2FtcGxlKHBvc2l0aW9uLCBub3JtYWwsIGNvbG9yKTtcblxuXHRcdFx0XHRpZiAodHlwZW9mIHRyYW5zZm9ybSA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0XHRcdHRyYW5zZm9ybSh7IGR1bW15LCBzYW1wbGVkTWVzaDogbWVzaE9iaiwgcG9zaXRpb24sIG5vcm1hbCwgY29sb3IgfSwgaSk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0ZHVtbXkucG9zaXRpb24uY29weShwb3NpdGlvbik7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRkdW1teS51cGRhdGVNYXRyaXgoKTtcblxuXHRcdFx0XHRpZiAoaW5zdGFuY2VkTWVzaE9iaikge1xuXHRcdFx0XHRcdGluc3RhbmNlZE1lc2hPYmouc2V0TWF0cml4QXQoaSwgZHVtbXkubWF0cml4KTtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGR1bW15Lm1hdHJpeC50b0FycmF5KGJ1ZmZlci5hcnJheSwgaSAqIDE2KTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKGluc3RhbmNlZE1lc2hPYmopIHtcblx0XHRcdFx0Y2hlY2tVcGRhdGUoaW5zdGFuY2VkTWVzaE9iai5pbnN0YW5jZU1hdHJpeCk7XG5cdFx0XHR9XG5cblx0XHRcdGNoZWNrVXBkYXRlKGJ1ZmZlcik7XG5cblx0XHRcdHVudHJhY2tlZCgoKSA9PiB7XG5cdFx0XHRcdF9idWZmZXIuc2V0KGJ1ZmZlci5jbG9uZSgpIGFzIFRIUkVFLkluc3RhbmNlZEJ1ZmZlckF0dHJpYnV0ZSk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblxuXHRcdHJldHVybiBfYnVmZmVyLmFzUmVhZG9ubHkoKTtcblx0fSk7XG59XG5cbmV4dGVuZCh7IEdyb3VwIH0pO1xuXG5kZWNsYXJlIGdsb2JhbCB7XG5cdGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuXHRcdC8qKlxuXHRcdCAqIEBleHRlbmRzIG5ndC1ncm91cFxuXHRcdCAqL1xuXHRcdCduZ3RzLXNhbXBsZXInOiBOZ3RzU3VyZmFjZVNhbXBsZXJTdGF0ZSAmIE5ndEdyb3VwO1xuXHR9XG59XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndHMtc2FtcGxlcicsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1ncm91cCBuZ3RDb21wb3VuZCBbcmVmXT1cInNhbXBsZXJSZWZcIj5cblx0XHRcdDxuZy1jb250ZW50IC8+XG5cdFx0PC9uZ3QtZ3JvdXA+XG5cdGAsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0c1NhbXBsZXIge1xuXHRwcml2YXRlIGlucHV0cyA9IHNpZ25hbFN0b3JlPE5ndHNTdXJmYWNlU2FtcGxlclN0YXRlPih7IGNvdW50OiAxNiB9KTtcblxuXHRASW5wdXQoKSBzYW1wbGVyUmVmID0gaW5qZWN0Tmd0UmVmPEdyb3VwPigpO1xuXG5cdEBJbnB1dCh7IGFsaWFzOiAnY291bnQnIH0pIHNldCBfY291bnQoY291bnQ6IG51bWJlcikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IGNvdW50IH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdtZXNoJyB9KSBzZXQgX21lc2gobWVzaDogTmd0UmVmPFRIUkVFLk1lc2g+KSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgbWVzaCB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAndHJhbnNmb3JtJyB9KSBzZXQgX3RyYW5zZm9ybSh0cmFuc2Zvcm06IE5ndHNTdXJmYWNlU2FtcGxlclRyYW5zZm9ybUZuKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgdHJhbnNmb3JtIH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICd3ZWlnaHQnIH0pIHNldCBfd2VpZ2h0KHdlaWdodDogc3RyaW5nKSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgd2VpZ2h0IH0pO1xuXHR9XG5cblx0QElucHV0KHsgYWxpYXM6ICdpbnN0YW5jZWRNZXNoJyB9KSBzZXQgX2luc3RhbmNlZE1lc2goaW5zdGFuY2VkTWVzaDogTmd0UmVmPFRIUkVFLkluc3RhbmNlZE1lc2g+KSB7XG5cdFx0dGhpcy5pbnB1dHMuc2V0KHsgaW5zdGFuY2VkTWVzaCB9KTtcblx0fVxuXG5cdHByaXZhdGUgc3VyZmFjZVNhbXBsZXJTdGF0ZSA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCBzYW1wbGVyID0gdGhpcy5zYW1wbGVyUmVmLm5hdGl2ZUVsZW1lbnQ7XG5cdFx0aWYgKCFzYW1wbGVyKSByZXR1cm4gbnVsbDtcblx0XHRjb25zdCB7IGNvdW50LCB3ZWlnaHQsIHRyYW5zZm9ybSwgbWVzaCwgaW5zdGFuY2VkTWVzaCB9ID0gdGhpcy5pbnB1dHMuc3RhdGUoKTtcblxuXHRcdGNvbnN0IGluc3RhbmNlZE1lc2hSZWYgPVxuXHRcdFx0aW5zdGFuY2VkTWVzaCA/P1xuXHRcdFx0KHNhbXBsZXIuY2hpbGRyZW4uZmluZCgoY2hpbGQpID0+IGNoaWxkLmhhc093blByb3BlcnR5KCdpbnN0YW5jZU1hdHJpeCcpKSBhcyBUSFJFRS5JbnN0YW5jZWRNZXNoKTtcblxuXHRcdGNvbnN0IG1lc2hSZWYgPSBtZXNoID8/IChzYW1wbGVyLmNoaWxkcmVuLmZpbmQoKGNoaWxkKSA9PiBjaGlsZC50eXBlID09PSAnTWVzaCcpIGFzIFRIUkVFLk1lc2gpO1xuXG5cdFx0cmV0dXJuIHsgY291bnQsIHdlaWdodCwgdHJhbnNmb3JtLCBtZXNoOiBtZXNoUmVmLCBpbnN0YW5jZWRNZXNoOiBpbnN0YW5jZWRNZXNoUmVmIH07XG5cdH0pO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGNvbnN0IGluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0aW5qZWN0Tmd0c1N1cmZhY2VTYW1wbGVyKHRoaXMuc3VyZmFjZVNhbXBsZXJTdGF0ZSwgeyBpbmplY3RvciB9KTtcblx0XHR9KTtcblx0fVxufVxuIl19
|
|
@@ -50,8 +50,8 @@ export class NgtsShadow {
|
|
|
50
50
|
set _depthWrite(depthWrite) {
|
|
51
51
|
this.inputs.set({ depthWrite });
|
|
52
52
|
}
|
|
53
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
54
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
53
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsShadow, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
54
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsShadow, isStandalone: true, selector: "ngts-shadow", inputs: { shadowRef: "shadowRef", _colorStop: ["colorStop", "_colorStop"], _fog: ["fog", "_fog"], _color: ["color", "_color"], _opacity: ["opacity", "_opacity"], _depthWrite: ["depthWrite", "_depthWrite"] }, ngImport: i0, template: `
|
|
55
55
|
<ngt-mesh ngtCompound [ref]="shadowRef" [rotation]="[-Math.PI / 2, 0, 0]">
|
|
56
56
|
<ngt-plane-geometry />
|
|
57
57
|
<ngt-mesh-basic-material
|
|
@@ -67,7 +67,7 @@ export class NgtsShadow {
|
|
|
67
67
|
</ngt-mesh>
|
|
68
68
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
|
|
69
69
|
}
|
|
70
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsShadow, decorators: [{
|
|
71
71
|
type: Component,
|
|
72
72
|
args: [{
|
|
73
73
|
selector: 'ngts-shadow',
|
|
@@ -42,10 +42,10 @@ export class NgtsStatsGL {
|
|
|
42
42
|
});
|
|
43
43
|
});
|
|
44
44
|
}
|
|
45
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
46
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.
|
|
45
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsStatsGL, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
46
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: NgtsStatsGL, isStandalone: true, selector: "ngts-stats-gl", inputs: { _parent: ["parent", "_parent"], _containerClass: ["containerClass", "_containerClass"], _config: ["config", "_config"] }, ngImport: i0 }); }
|
|
47
47
|
}
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsStatsGL, decorators: [{
|
|
49
49
|
type: Directive,
|
|
50
50
|
args: [{ selector: 'ngts-stats-gl', standalone: true }]
|
|
51
51
|
}], ctorParameters: function () { return []; }, propDecorators: { _parent: [{
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CUSTOM_ELEMENTS_SCHEMA, Component, Input, computed, effect, runInInjectionContext, } from '@angular/core';
|
|
2
|
-
import { NgtPortal, NgtPortalContent,
|
|
2
|
+
import { NgtPortal, NgtPortalContent, assertInjector, extend, injectBeforeRender, injectNgtRef, injectNgtStore, is, signalStore, } from 'angular-three';
|
|
3
3
|
import { MeshLineGeometry, MeshLineMaterial } from 'meshline';
|
|
4
4
|
import * as THREE from 'three';
|
|
5
5
|
import { Group, Mesh } from 'three';
|
|
@@ -18,7 +18,7 @@ const defaultSettings = {
|
|
|
18
18
|
interval: 1,
|
|
19
19
|
};
|
|
20
20
|
export function injectNgtsTrail(targetFactory, settingsFactory, { injector } = {}) {
|
|
21
|
-
injector =
|
|
21
|
+
injector = assertInjector(injectNgtsTrail, injector);
|
|
22
22
|
return runInInjectionContext(injector, () => {
|
|
23
23
|
const points = injectNgtRef();
|
|
24
24
|
let frameCount = 0;
|
|
@@ -157,8 +157,8 @@ export class NgtsTrail {
|
|
|
157
157
|
this.geometry.setPoints(points, attenuation);
|
|
158
158
|
});
|
|
159
159
|
}
|
|
160
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
161
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
160
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsTrail, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
161
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsTrail, isStandalone: true, selector: "ngts-trail", inputs: { trailRef: "trailRef", _color: ["color", "_color"], _attenuation: ["attenuation", "_attenuation"], _target: ["target", "_target"], _settings: ["settings", "_settings"] }, ngImport: i0, template: `
|
|
162
162
|
<ngt-group>
|
|
163
163
|
<ngt-portal [container]="scene()" [autoRender]="false">
|
|
164
164
|
<ng-template ngtPortalContent>
|
|
@@ -171,7 +171,7 @@ export class NgtsTrail {
|
|
|
171
171
|
</ngt-group>
|
|
172
172
|
`, isInline: true, dependencies: [{ kind: "component", type: NgtPortal, selector: "ngt-portal", inputs: ["container", "state", "autoRender", "autoRenderPriority"], outputs: ["beforeRender"] }, { kind: "directive", type: NgtPortalContent, selector: "ng-template[ngtPortalContent]" }] }); }
|
|
173
173
|
}
|
|
174
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
174
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsTrail, decorators: [{
|
|
175
175
|
type: Component,
|
|
176
176
|
args: [{
|
|
177
177
|
selector: 'ngts-trail',
|
|
@@ -206,4 +206,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImpor
|
|
|
206
206
|
type: Input,
|
|
207
207
|
args: [{ alias: 'settings' }]
|
|
208
208
|
}] } });
|
|
209
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhaWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvbWlzYy9zcmMvdHJhaWwvdHJhaWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHNCQUFzQixFQUN0QixTQUFTLEVBQ1QsS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04scUJBQXFCLEdBRXJCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLHNCQUFzQixFQUN0QixNQUFNLEVBQ04sa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixjQUFjLEVBQ2QsRUFBRSxFQUNGLFdBQVcsR0FFWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDOUQsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxPQUFPLENBQUM7O0FBRXBDLE1BQU0sU0FBUyxHQUFHLENBQUMsVUFBd0IsRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFnQixFQUFFO0lBQ3ZFLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzNDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxPQUFPLFVBQVUsQ0FBQztBQUNuQixDQUFDLENBQUM7QUFnQkYsTUFBTSxlQUFlLEdBQXNCO0lBQzFDLEtBQUssRUFBRSxHQUFHO0lBQ1YsTUFBTSxFQUFFLENBQUM7SUFDVCxLQUFLLEVBQUUsQ0FBQztJQUNSLEtBQUssRUFBRSxLQUFLO0lBQ1osTUFBTSxFQUFFLENBQUM7SUFDVCxRQUFRLEVBQUUsQ0FBQztDQUNYLENBQUM7QUFFRixNQUFNLFVBQVUs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dCI6WyJpbXBvcnQge1xuXHRDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuXHRDb21wb25lbnQsXG5cdElucHV0LFxuXHRjb21wdXRlZCxcblx0ZWZmZWN0LFxuXHRydW5JbkluamVjdGlvbkNvbnRleHQsXG5cdHR5cGUgSW5qZWN0b3IsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcblx0Tmd0UG9ydGFsLFxuXHROZ3RQb3J0YWxDb250ZW50LFxuXHRhc3NlcnRJbmplY3Rpb25Db250ZXh0LFxuXHRleHRlbmQsXG5cdGluamVjdEJlZm9yZVJlbmRlcixcblx0aW5qZWN0Tmd0UmVmLFxuXHRpbmplY3ROZ3RTdG9yZSxcblx0aXMsXG5cdHNpZ25hbFN0b3JlLFxuXHR0eXBlIE5ndFJlZixcbn0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBNZXNoTGluZUdlb21ldHJ5LCBNZXNoTGluZU1hdGVyaWFsIH0gZnJvbSAnbWVzaGxpbmUnO1xuaW1wb3J0ICogYXMgVEhSRUUgZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgR3JvdXAsIE1lc2ggfSBmcm9tICd0aHJlZSc7XG5cbmNvbnN0IHNoaWZ0TGVmdCA9IChjb2xsZWN0aW9uOiBGbG9hdDMyQXJyYXksIHN0ZXBzID0gMSk6IEZsb2F0MzJBcnJheSA9PiB7XG5cdGNvbGxlY3Rpb24uc2V0KGNvbGxlY3Rpb24uc3ViYXJyYXkoc3RlcHMpKTtcblx0Y29sbGVjdGlvbi5maWxsKC1JbmZpbml0eSwgLXN0ZXBzKTtcblx0cmV0dXJuIGNvbGxlY3Rpb247XG59O1xuXG5leHBvcnQgdHlwZSBOZ3RzVHJhaWxTZXR0aW5ncyA9IHtcblx0d2lkdGg6IG51bWJlcjtcblx0bGVuZ3RoOiBudW1iZXI7XG5cdGRlY2F5OiBudW1iZXI7XG5cdC8qKlxuXHQgKiBXZXRoZXIgdG8gdXNlIHRoZSB0YXJnZXQncyB3b3JsZCBvciBsb2NhbCBwb3NpdGlvbnNcblx0ICovXG5cdGxvY2FsOiBib29sZWFuO1xuXHQvLyBNaW4gZGlzdGFuY2UgYmV0d2VlbiBwcmV2aW91cyBhbmQgY3VycmVudCBwb2ludHNcblx0c3RyaWRlOiBudW1iZXI7XG5cdC8vIE51bWJlciBvZiBmcmFtZXMgdG8gd2FpdCBiZWZvcmUgbmV4dCBjYWxjdWxhdGlvblxuXHRpbnRlcnZhbDogbnVtYmVyO1xufTtcblxuY29uc3QgZGVmYXVsdFNldHRpbmdzOiBOZ3RzVHJhaWxTZXR0aW5ncyA9IHtcblx0d2lkdGg6IDAuMixcblx0bGVuZ3RoOiAxLFxuXHRkZWNheTogMSxcblx0bG9jYWw6IGZhbHNlLFxuXHRzdHJpZGU6IDAsXG5cdGludGVydmFsOiAxLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdE5ndHNUcmFpbChcblx0dGFyZ2V0RmFjdG9yeTogKCkgPT4gTmd0UmVmPFRIUkVFLk9iamVjdDNEPiB8IG51bGwsXG5cdHNldHRpbmdzRmFjdG9yeTogKCkgPT4gUGFydGlhbDxOZ3RzVHJhaWxTZXR0aW5ncz4sXG5cdHsgaW5qZWN0b3IgfTogeyBpbmplY3Rvcj86IEluamVjdG9yIH0gPSB7fSxcbikge1xuXHRpbmplY3RvciA9IGFzc2VydEluamVjdGlvbkNvbnRleHQoaW5qZWN0Tmd0c1RyYWlsLCBpbmplY3Rvcik7XG5cdHJldHVybiBydW5JbkluamVjdGlvbkNvbnRleHQoaW5qZWN0b3IsICgpID0+IHtcblx0XHRjb25zdCBwb2ludHMgPSBpbmplY3ROZ3RSZWY8RmxvYXQzMkFycmF5PigpO1xuXHRcdGxldCBmcmFtZUNvdW50ID0gMDtcblxuXHRcdGNvbnN0IHByZXZQb3NpdGlvbiA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG5cdFx0Y29uc3Qgd29ybGRQb3NpdGlvbiA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG5cblx0XHRjb25zdCBfdGFyZ2V0ID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdFx0Y29uc3QgX3RhcmdldCA9IHRhcmdldEZhY3RvcnkoKTtcblx0XHRcdGlmIChpcy5yZWYoX3RhcmdldCkpIHJldHVybiBfdGFyZ2V0Lm5hdGl2ZUVsZW1lbnQ7XG5cdFx0XHRyZXR1cm4gX3RhcmdldDtcblx0XHR9KTtcblxuXHRcdGNvbnN0IF9zZXR0aW5ncyA9IGNvbXB1dGVkKCgpID0+ICh7IC4uLmRlZmF1bHRTZXR0aW5ncywgLi4uc2V0dGluZ3NGYWN0b3J5KCkgfSkpO1xuXHRcdGNvbnN0IF9sZW5ndGggPSBjb21wdXRlZCgoKSA9PiBfc2V0dGluZ3MoKS5sZW5ndGgpO1xuXG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IFt0YXJnZXQsIGxlbmd0aF0gPSBbX3RhcmdldCgpLCBfbGVuZ3RoKCldO1xuXHRcdFx0aWYgKHRhcmdldCkge1xuXHRcdFx0XHRwb2ludHMubmF0aXZlRWxlbWVudCA9IEZsb2F0MzJBcnJheS5mcm9tKHsgbGVuZ3RoOiBsZW5ndGggKiAxMCAqIDMgfSwgKF8sIGkpID0+XG5cdFx0XHRcdFx0dGFyZ2V0LnBvc2l0aW9uLmdldENvbXBvbmVudChpICUgMyksXG5cdFx0XHRcdCk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cblx0XHRpbmplY3RCZWZvcmVSZW5kZXIoKCkgPT4ge1xuXHRcdFx0Y29uc3QgW3RhcmdldCwgX3BvaW50cywgeyBsb2NhbCwgZGVjYXksIHN0cmlkZSwgaW50ZXJ2YWwgfV0gPSBbXG5cdFx0XHRcdF90YXJnZXQoKSxcblx0XHRcdFx0cG9pbnRzLm5hdGl2ZUVsZW1lbnQsXG5cdFx0XHRcdF9zZXR0aW5ncygpLFxuXHRcdFx0XTtcblx0XHRcdGlmICghdGFyZ2V0KSByZXR1cm47XG5cdFx0XHRpZiAoIV9wb2ludHMpIHJldHVybjtcblxuXHRcdFx0aWYgKGZyYW1lQ291bnQgPT09IDApIHtcblx0XHRcdFx0bGV0IG5ld1Bvc2l0aW9uOiBUSFJFRS5WZWN0b3IzO1xuXHRcdFx0XHRpZiAobG9jYWwpIHtcblx0XHRcdFx0XHRuZXdQb3NpdGlvbiA9IHRhcmdldC5wb3NpdGlvbjtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR0YXJnZXQuZ2V0V29ybGRQb3NpdGlvbih3b3JsZFBvc2l0aW9uKTtcblx0XHRcdFx0XHRuZXdQb3NpdGlvbiA9IHdvcmxkUG9zaXRpb247XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRjb25zdCBzdGVwcyA9IDEgKiBkZWNheTtcblx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBzdGVwczsgaSsrKSB7XG5cdFx0XHRcdFx0aWYgKG5ld1Bvc2l0aW9uLmRpc3RhbmNlVG8ocHJldlBvc2l0aW9uKSA8IHN0cmlkZSkgY29udGludWU7XG5cblx0XHRcdFx0XHRzaGlmdExlZnQoX3BvaW50cywgMyk7XG5cdFx0XHRcdFx0X3BvaW50cy5zZXQobmV3UG9zaXRpb24udG9BcnJheSgpLCBfcG9pbnRzLmxlbmd0aCAtIDMpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHByZXZQb3NpdGlvbi5jb3B5KG5ld1Bvc2l0aW9uKTtcblx0XHRcdH1cblxuXHRcdFx0ZnJhbWVDb3VudCsrO1xuXHRcdFx0ZnJhbWVDb3VudCA9IGZyYW1lQ291bnQgJSBpbnRlcnZhbDtcblx0XHR9KTtcblxuXHRcdHJldHVybiBwb2ludHM7XG5cdH0pO1xufVxuXG5leHBvcnQgdHlwZSBOZ3RzVHJhaWxTdGF0ZSA9IHtcblx0Y29sb3I6IFRIUkVFLkNvbG9yUmVwcmVzZW50YXRpb247XG5cdGF0dGVudWF0aW9uOiAod2lkdGg6IG51bWJlcikgPT4gbnVtYmVyO1xuXHRzZXR0aW5nczogTmd0c1RyYWlsU2V0dGluZ3M7XG5cdHRhcmdldD86IE5ndFJlZjxUSFJFRS5PYmplY3QzRD47XG59O1xuXG5kZWNsYXJlIGdsb2JhbCB7XG5cdGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuXHRcdCduZ3RzLXRyYWlsJzogTmd0c1RyYWlsU3RhdGU7XG5cdH1cbn1cblxuZXh0ZW5kKHsgR3JvdXAsIE1lc2ggfSk7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndHMtdHJhaWwnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3QtZ3JvdXA+XG5cdFx0XHQ8bmd0LXBvcnRhbCBbY29udGFpbmVyXT1cInNjZW5lKClcIiBbYXV0b1JlbmRlcl09XCJmYWxzZVwiPlxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgbmd0UG9ydGFsQ29udGVudD5cblx0XHRcdFx0XHQ8bmd0LW1lc2ggW3JlZl09XCJ0cmFpbFJlZlwiIFtnZW9tZXRyeV09XCJnZW9tZXRyeVwiIFttYXRlcmlhbF09XCJtYXRlcmlhbCgpXCIgLz5cblx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDwvbmd0LXBvcnRhbD5cblx0XHRcdDxuZ3QtZ3JvdXAgW3JlZl09XCJncm91cFJlZlwiPlxuXHRcdFx0XHQ8bmctY29udGVudCAvPlxuXHRcdFx0PC9uZ3QtZ3JvdXA+XG5cdFx0PC9uZ3QtZ3JvdXA+XG5cdGAsXG5cdGltcG9ydHM6IFtOZ3RQb3J0YWwsIE5ndFBvcnRhbENvbnRlbnRdLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNUcmFpbCB7XG5cdHByaXZhdGUgaW5wdXRzID0gc2lnbmFsU3RvcmU8Tmd0c1RyYWlsU3RhdGU+KHsgc2V0dGluZ3M6IGRlZmF1bHRTZXR0aW5ncywgY29sb3I6ICdob3RwaW5rJyB9KTtcblxuXHRASW5wdXQoKSB0cmFpbFJlZiA9IGluamVjdE5ndFJlZjxNZXNoPigpO1xuXG5cdEBJbnB1dCh7IGFsaWFzOiAnY29sb3InIH0pIHNldCBfY29sb3IoY29sb3I6IFRIUkVFLkNvbG9yUmVwcmVzZW50YXRpb24pIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBjb2xvciB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAnYXR0ZW51YXRpb24nIH0pIHNldCBfYXR0ZW51YXRpb24oYXR0ZW51YXRpb246ICh3aWR0aDogbnVtYmVyKSA9PiBudW1iZXIpIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBhdHRlbnVhdGlvbiB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAndGFyZ2V0JyB9KSBzZXQgX3RhcmdldCh0YXJnZXQ6IE5ndFJlZjxUSFJFRS5PYmplY3QzRD4pIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyB0YXJnZXQgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ3NldHRpbmdzJyB9KSBzZXQgX3NldHRpbmdzKHNldHRpbmdzOiBQYXJ0aWFsPE5ndHNUcmFpbFNldHRpbmdzPikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IHNldHRpbmdzOiB7IC4uLmRlZmF1bHRTZXR0aW5ncywgLi4uc2V0dGluZ3MgfSB9KTtcblx0fVxuXG5cdGdyb3VwUmVmID0gaW5qZWN0Tmd0UmVmPEdyb3VwPigpO1xuXG5cdHByaXZhdGUgY2hpbGRyZW4gPSB0aGlzLmdyb3VwUmVmLmNoaWxkcmVuKCdib3RoJyk7XG5cblx0cHJpdmF0ZSBzdG9yZSA9IGluamVjdE5ndFN0b3JlKCk7XG5cdHByaXZhdGUgc2l6ZSA9IHRoaXMuc3RvcmUuc2VsZWN0KCdzaXplJyk7XG5cblx0cHJpdmF0ZSB0YXJnZXQgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ3RhcmdldCcpO1xuXHRwcml2YXRlIHNldHRpbmdzID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdzZXR0aW5ncycpO1xuXHRwcml2YXRlIHdpZHRoID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zZXR0aW5ncygpLndpZHRoKTtcblx0cHJpdmF0ZSBjb2xvciA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnY29sb3InKTtcblx0cHJpdmF0ZSBhdHRlbnVhdGlvbiA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnYXR0ZW51YXRpb24nKTtcblxuXHRwcml2YXRlIGFuY2hvciA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCB0YXJnZXQgPSB0aGlzLnRhcmdldCgpO1xuXHRcdGlmICh0YXJnZXQpIHJldHVybiB0YXJnZXQ7XG5cdFx0Y29uc3QgZ3JvdXAgPSB0aGlzLmdyb3VwUmVmLm5hdGl2ZUVsZW1lbnQ7XG5cdFx0aWYgKGdyb3VwKSB7XG5cdFx0XHRyZXR1cm4gZ3JvdXAuY2hpbGRyZW4uZmluZCgoY2hpbGQpID0+IGNoaWxkIGluc3RhbmNlb2YgVEhSRUUuT2JqZWN0M0QpIHx8IG51bGw7XG5cdFx0fVxuXHRcdHJldHVybiBudWxsO1xuXHR9KTtcblxuXHRwcml2YXRlIHBvaW50cyA9IGluamVjdE5ndHNUcmFpbCh0aGlzLmFuY2hvciwgdGhpcy5zZXR0aW5ncyk7XG5cblx0c2NlbmUgPSB0aGlzLnN0b3JlLnNlbGVjdCgnc2NlbmUnKTtcblx0Z2VvbWV0cnkgPSBuZXcgTWVzaExpbmVHZW9tZXRyeSgpO1xuXHRtYXRlcmlhbCA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCBbd2lkdGgsIGNvbG9yLCBzaXplXSA9IFt0aGlzLndpZHRoKCksIHRoaXMuY29sb3IoKSwgdGhpcy5zaXplKCldO1xuXG5cdFx0Y29uc3QgbSA9IG5ldyBNZXNoTGluZU1hdGVyaWFsKHtcblx0XHRcdGxpbmVXaWR0aDogMC4xICogd2lkdGgsXG5cdFx0XHRjb2xvcixcblx0XHRcdHNpemVBdHRlbnVhdGlvbjogMSxcblx0XHRcdHJlc29sdXRpb246IG5ldyBUSFJFRS5WZWN0b3IyKHNpemUud2lkdGgsIHNpemUuaGVpZ2h0KSxcblx0XHR9KTtcblxuXHRcdC8vIFRPRE86IHVuZGVyc3RhbmQgdGhpcyBmaXJzdFxuXHRcdC8vIEdldCBhbmQgYXBwbHkgZmlyc3QgPG1lc2hMaW5lTWF0ZXJpYWwgLz4gZnJvbSBjaGlsZHJlblxuXHRcdC8vIGxldCBtYXRPdmVycmlkZTogUmVhY3QuUmVhY3RFbGVtZW50IHwgdW5kZWZpbmVkO1xuXHRcdC8vIGlmIChjaGlsZHJlbikge1xuXHRcdC8vIFx0aWYgKEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pKSB7XG5cdFx0Ly8gXHRcdG1hdE92ZXJyaWRlID0gY2hpbGRyZW4uZmluZCgoY2hpbGQ6IFJlYWN0LlJlYWN0Tm9kZSkgPT4ge1xuXHRcdC8vIFx0XHRcdGNvbnN0IGMgPSBjaGlsZCBhcyBSZWFjdC5SZWFjdEVsZW1lbnQ7XG5cdFx0Ly8gXHRcdFx0cmV0dXJuIHR5cGVvZiBjLnR5cGUgPT09ICdzdHJpbmcnICYmIGMudHlwZSA9PT0gJ21lc2hMaW5lTWF0ZXJpYWwnO1xuXHRcdC8vIFx0XHR9KSBhcyBSZWFjdC5SZWFjdEVsZW1lbnQgfCB1bmRlZmluZWQ7XG5cdFx0Ly8gXHR9IGVsc2Uge1xuXHRcdC8vIFx0XHRjb25zdCBjID0gY2hpbGRyZW4gYXMgUmVhY3QuUmVhY3RFbGVtZW50O1xuXHRcdC8vIFx0XHRpZiAodHlwZW9mIGMudHlwZSA9PT0gJ3N0cmluZycgJiYgYy50eXBlID09PSAnbWVzaExpbmVNYXRlcmlhbCcpIHtcblx0XHQvLyBcdFx0XHRtYXRPdmVycmlkZSA9IGM7XG5cdFx0Ly8gXHRcdH1cblx0XHQvLyBcdH1cblx0XHQvLyB9XG5cdFx0Ly8gaWYgKHR5cGVvZiBtYXRPdmVycmlkZT8ucHJvcHMgPT09ICdvYmplY3QnKSB7XG5cdFx0Ly8gXHRtLnNldFZhbHVlcyhtYXRPdmVycmlkZS5wcm9wcyk7XG5cdFx0Ly8gfVxuXG5cdFx0cmV0dXJuIG07XG5cdH0pO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHRoaXMuc2V0TWF0ZXJpYWxTaXplKCk7XG5cdFx0dGhpcy5iZWZvcmVSZW5kZXIoKTtcblx0fVxuXG5cdHByaXZhdGUgc2V0TWF0ZXJpYWxTaXplKCkge1xuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHRjb25zdCBbbWF0ZXJpYWwsIHNpemVdID0gW3RoaXMubWF0ZXJpYWwoKSwgdGhpcy5zaXplKCldO1xuXHRcdFx0bWF0ZXJpYWwudW5pZm9ybXNbJ3Jlc29sdXRpb24nXS52YWx1ZS5zZXQoc2l6ZS53aWR0aCwgc2l6ZS5oZWlnaHQpO1xuXHRcdH0pO1xuXHR9XG5cblx0cHJpdmF0ZSBiZWZvcmVSZW5kZXIoKSB7XG5cdFx0aW5qZWN0QmVmb3JlUmVuZGVyKCgpID0+IHtcblx0XHRcdGNvbnN0IFtwb2ludHMsIGF0dGVudWF0aW9uXSA9IFt0aGlzLnBvaW50cy5uYXRpdmVFbGVtZW50LCB0aGlzLmF0dGVudWF0aW9uKCldO1xuXHRcdFx0aWYgKCFwb2ludHMpIHJldHVybjtcblx0XHRcdHRoaXMuZ2VvbWV0cnkuc2V0UG9pbnRzKHBvaW50cywgYXR0ZW51YXRpb24pO1xuXHRcdH0pO1xuXHR9XG59XG4iXX0=
|
|
209
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhaWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvbWlzYy9zcmMvdHJhaWwvdHJhaWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHNCQUFzQixFQUN0QixTQUFTLEVBQ1QsS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04scUJBQXFCLEdBRXJCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2hCLGNBQWMsRUFDZCxNQUFNLEVBQ04sa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixjQUFjLEVBQ2QsRUFBRSxFQUNGLFdBQVcsR0FFWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDOUQsT0FBTyxLQUFLLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsTUFBTSxPQUFPLENBQUM7O0FBRXBDLE1BQU0sU0FBUyxHQUFHLENBQUMsVUFBd0IsRUFBRSxLQUFLLEdBQUcsQ0FBQyxFQUFnQixFQUFFO0lBQ3ZFLFVBQVUsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzNDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxPQUFPLFVBQVUsQ0FBQztBQUNuQixDQUFDLENBQUM7QUFnQkYsTUFBTSxlQUFlLEdBQXNCO0lBQzFDLEtBQUssRUFBRSxHQUFHO0lBQ1YsTUFBTSxFQUFFLENBQUM7SUFDVCxLQUFLLEVBQUUsQ0FBQztJQUNSLEtBQUssRUFBRSxLQUFLO0lBQ1osTUFBTSxFQUFFLENBQUM7SUFDVCxRQUFRLEVBQUUsQ0FBQztDQUNYLENBQUM7QUFFRixNQUFNLFVBQVUsZUFB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aW1wb3J0IHtcblx0Q1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcblx0Q29tcG9uZW50LFxuXHRJbnB1dCxcblx0Y29tcHV0ZWQsXG5cdGVmZmVjdCxcblx0cnVuSW5JbmplY3Rpb25Db250ZXh0LFxuXHR0eXBlIEluamVjdG9yLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG5cdE5ndFBvcnRhbCxcblx0Tmd0UG9ydGFsQ29udGVudCxcblx0YXNzZXJ0SW5qZWN0b3IsXG5cdGV4dGVuZCxcblx0aW5qZWN0QmVmb3JlUmVuZGVyLFxuXHRpbmplY3ROZ3RSZWYsXG5cdGluamVjdE5ndFN0b3JlLFxuXHRpcyxcblx0c2lnbmFsU3RvcmUsXG5cdHR5cGUgTmd0UmVmLFxufSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IE1lc2hMaW5lR2VvbWV0cnksIE1lc2hMaW5lTWF0ZXJpYWwgfSBmcm9tICdtZXNobGluZSc7XG5pbXBvcnQgKiBhcyBUSFJFRSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBHcm91cCwgTWVzaCB9IGZyb20gJ3RocmVlJztcblxuY29uc3Qgc2hpZnRMZWZ0ID0gKGNvbGxlY3Rpb246IEZsb2F0MzJBcnJheSwgc3RlcHMgPSAxKTogRmxvYXQzMkFycmF5ID0+IHtcblx0Y29sbGVjdGlvbi5zZXQoY29sbGVjdGlvbi5zdWJhcnJheShzdGVwcykpO1xuXHRjb2xsZWN0aW9uLmZpbGwoLUluZmluaXR5LCAtc3RlcHMpO1xuXHRyZXR1cm4gY29sbGVjdGlvbjtcbn07XG5cbmV4cG9ydCB0eXBlIE5ndHNUcmFpbFNldHRpbmdzID0ge1xuXHR3aWR0aDogbnVtYmVyO1xuXHRsZW5ndGg6IG51bWJlcjtcblx0ZGVjYXk6IG51bWJlcjtcblx0LyoqXG5cdCAqIFdldGhlciB0byB1c2UgdGhlIHRhcmdldCdzIHdvcmxkIG9yIGxvY2FsIHBvc2l0aW9uc1xuXHQgKi9cblx0bG9jYWw6IGJvb2xlYW47XG5cdC8vIE1pbiBkaXN0YW5jZSBiZXR3ZWVuIHByZXZpb3VzIGFuZCBjdXJyZW50IHBvaW50c1xuXHRzdHJpZGU6IG51bWJlcjtcblx0Ly8gTnVtYmVyIG9mIGZyYW1lcyB0byB3YWl0IGJlZm9yZSBuZXh0IGNhbGN1bGF0aW9uXG5cdGludGVydmFsOiBudW1iZXI7XG59O1xuXG5jb25zdCBkZWZhdWx0U2V0dGluZ3M6IE5ndHNUcmFpbFNldHRpbmdzID0ge1xuXHR3aWR0aDogMC4yLFxuXHRsZW5ndGg6IDEsXG5cdGRlY2F5OiAxLFxuXHRsb2NhbDogZmFsc2UsXG5cdHN0cmlkZTogMCxcblx0aW50ZXJ2YWw6IDEsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0Tmd0c1RyYWlsKFxuXHR0YXJnZXRGYWN0b3J5OiAoKSA9PiBOZ3RSZWY8VEhSRUUuT2JqZWN0M0Q+IHwgbnVsbCxcblx0c2V0dGluZ3NGYWN0b3J5OiAoKSA9PiBQYXJ0aWFsPE5ndHNUcmFpbFNldHRpbmdzPixcblx0eyBpbmplY3RvciB9OiB7IGluamVjdG9yPzogSW5qZWN0b3IgfSA9IHt9LFxuKSB7XG5cdGluamVjdG9yID0gYXNzZXJ0SW5qZWN0b3IoaW5qZWN0Tmd0c1RyYWlsLCBpbmplY3Rvcik7XG5cdHJldHVybiBydW5JbkluamVjdGlvbkNvbnRleHQoaW5qZWN0b3IsICgpID0+IHtcblx0XHRjb25zdCBwb2ludHMgPSBpbmplY3ROZ3RSZWY8RmxvYXQzMkFycmF5PigpO1xuXHRcdGxldCBmcmFtZUNvdW50ID0gMDtcblxuXHRcdGNvbnN0IHByZXZQb3NpdGlvbiA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG5cdFx0Y29uc3Qgd29ybGRQb3NpdGlvbiA9IG5ldyBUSFJFRS5WZWN0b3IzKCk7XG5cblx0XHRjb25zdCBfdGFyZ2V0ID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdFx0Y29uc3QgX3RhcmdldCA9IHRhcmdldEZhY3RvcnkoKTtcblx0XHRcdGlmIChpcy5yZWYoX3RhcmdldCkpIHJldHVybiBfdGFyZ2V0Lm5hdGl2ZUVsZW1lbnQ7XG5cdFx0XHRyZXR1cm4gX3RhcmdldDtcblx0XHR9KTtcblxuXHRcdGNvbnN0IF9zZXR0aW5ncyA9IGNvbXB1dGVkKCgpID0+ICh7IC4uLmRlZmF1bHRTZXR0aW5ncywgLi4uc2V0dGluZ3NGYWN0b3J5KCkgfSkpO1xuXHRcdGNvbnN0IF9sZW5ndGggPSBjb21wdXRlZCgoKSA9PiBfc2V0dGluZ3MoKS5sZW5ndGgpO1xuXG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IFt0YXJnZXQsIGxlbmd0aF0gPSBbX3RhcmdldCgpLCBfbGVuZ3RoKCldO1xuXHRcdFx0aWYgKHRhcmdldCkge1xuXHRcdFx0XHRwb2ludHMubmF0aXZlRWxlbWVudCA9IEZsb2F0MzJBcnJheS5mcm9tKHsgbGVuZ3RoOiBsZW5ndGggKiAxMCAqIDMgfSwgKF8sIGkpID0+XG5cdFx0XHRcdFx0dGFyZ2V0LnBvc2l0aW9uLmdldENvbXBvbmVudChpICUgMyksXG5cdFx0XHRcdCk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cblx0XHRpbmplY3RCZWZvcmVSZW5kZXIoKCkgPT4ge1xuXHRcdFx0Y29uc3QgW3RhcmdldCwgX3BvaW50cywgeyBsb2NhbCwgZGVjYXksIHN0cmlkZSwgaW50ZXJ2YWwgfV0gPSBbXG5cdFx0XHRcdF90YXJnZXQoKSxcblx0XHRcdFx0cG9pbnRzLm5hdGl2ZUVsZW1lbnQsXG5cdFx0XHRcdF9zZXR0aW5ncygpLFxuXHRcdFx0XTtcblx0XHRcdGlmICghdGFyZ2V0KSByZXR1cm47XG5cdFx0XHRpZiAoIV9wb2ludHMpIHJldHVybjtcblxuXHRcdFx0aWYgKGZyYW1lQ291bnQgPT09IDApIHtcblx0XHRcdFx0bGV0IG5ld1Bvc2l0aW9uOiBUSFJFRS5WZWN0b3IzO1xuXHRcdFx0XHRpZiAobG9jYWwpIHtcblx0XHRcdFx0XHRuZXdQb3NpdGlvbiA9IHRhcmdldC5wb3NpdGlvbjtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHR0YXJnZXQuZ2V0V29ybGRQb3NpdGlvbih3b3JsZFBvc2l0aW9uKTtcblx0XHRcdFx0XHRuZXdQb3NpdGlvbiA9IHdvcmxkUG9zaXRpb247XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRjb25zdCBzdGVwcyA9IDEgKiBkZWNheTtcblx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBzdGVwczsgaSsrKSB7XG5cdFx0XHRcdFx0aWYgKG5ld1Bvc2l0aW9uLmRpc3RhbmNlVG8ocHJldlBvc2l0aW9uKSA8IHN0cmlkZSkgY29udGludWU7XG5cblx0XHRcdFx0XHRzaGlmdExlZnQoX3BvaW50cywgMyk7XG5cdFx0XHRcdFx0X3BvaW50cy5zZXQobmV3UG9zaXRpb24udG9BcnJheSgpLCBfcG9pbnRzLmxlbmd0aCAtIDMpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHByZXZQb3NpdGlvbi5jb3B5KG5ld1Bvc2l0aW9uKTtcblx0XHRcdH1cblxuXHRcdFx0ZnJhbWVDb3VudCsrO1xuXHRcdFx0ZnJhbWVDb3VudCA9IGZyYW1lQ291bnQgJSBpbnRlcnZhbDtcblx0XHR9KTtcblxuXHRcdHJldHVybiBwb2ludHM7XG5cdH0pO1xufVxuXG5leHBvcnQgdHlwZSBOZ3RzVHJhaWxTdGF0ZSA9IHtcblx0Y29sb3I6IFRIUkVFLkNvbG9yUmVwcmVzZW50YXRpb247XG5cdGF0dGVudWF0aW9uOiAod2lkdGg6IG51bWJlcikgPT4gbnVtYmVyO1xuXHRzZXR0aW5nczogTmd0c1RyYWlsU2V0dGluZ3M7XG5cdHRhcmdldD86IE5ndFJlZjxUSFJFRS5PYmplY3QzRD47XG59O1xuXG5kZWNsYXJlIGdsb2JhbCB7XG5cdGludGVyZmFjZSBIVE1MRWxlbWVudFRhZ05hbWVNYXAge1xuXHRcdCduZ3RzLXRyYWlsJzogTmd0c1RyYWlsU3RhdGU7XG5cdH1cbn1cblxuZXh0ZW5kKHsgR3JvdXAsIE1lc2ggfSk7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndHMtdHJhaWwnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3QtZ3JvdXA+XG5cdFx0XHQ8bmd0LXBvcnRhbCBbY29udGFpbmVyXT1cInNjZW5lKClcIiBbYXV0b1JlbmRlcl09XCJmYWxzZVwiPlxuXHRcdFx0XHQ8bmctdGVtcGxhdGUgbmd0UG9ydGFsQ29udGVudD5cblx0XHRcdFx0XHQ8bmd0LW1lc2ggW3JlZl09XCJ0cmFpbFJlZlwiIFtnZW9tZXRyeV09XCJnZW9tZXRyeVwiIFttYXRlcmlhbF09XCJtYXRlcmlhbCgpXCIgLz5cblx0XHRcdFx0PC9uZy10ZW1wbGF0ZT5cblx0XHRcdDwvbmd0LXBvcnRhbD5cblx0XHRcdDxuZ3QtZ3JvdXAgW3JlZl09XCJncm91cFJlZlwiPlxuXHRcdFx0XHQ8bmctY29udGVudCAvPlxuXHRcdFx0PC9uZ3QtZ3JvdXA+XG5cdFx0PC9uZ3QtZ3JvdXA+XG5cdGAsXG5cdGltcG9ydHM6IFtOZ3RQb3J0YWwsIE5ndFBvcnRhbENvbnRlbnRdLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNUcmFpbCB7XG5cdHByaXZhdGUgaW5wdXRzID0gc2lnbmFsU3RvcmU8Tmd0c1RyYWlsU3RhdGU+KHsgc2V0dGluZ3M6IGRlZmF1bHRTZXR0aW5ncywgY29sb3I6ICdob3RwaW5rJyB9KTtcblxuXHRASW5wdXQoKSB0cmFpbFJlZiA9IGluamVjdE5ndFJlZjxNZXNoPigpO1xuXG5cdEBJbnB1dCh7IGFsaWFzOiAnY29sb3InIH0pIHNldCBfY29sb3IoY29sb3I6IFRIUkVFLkNvbG9yUmVwcmVzZW50YXRpb24pIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBjb2xvciB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAnYXR0ZW51YXRpb24nIH0pIHNldCBfYXR0ZW51YXRpb24oYXR0ZW51YXRpb246ICh3aWR0aDogbnVtYmVyKSA9PiBudW1iZXIpIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyBhdHRlbnVhdGlvbiB9KTtcblx0fVxuXG5cdEBJbnB1dCh7IGFsaWFzOiAndGFyZ2V0JyB9KSBzZXQgX3RhcmdldCh0YXJnZXQ6IE5ndFJlZjxUSFJFRS5PYmplY3QzRD4pIHtcblx0XHR0aGlzLmlucHV0cy5zZXQoeyB0YXJnZXQgfSk7XG5cdH1cblxuXHRASW5wdXQoeyBhbGlhczogJ3NldHRpbmdzJyB9KSBzZXQgX3NldHRpbmdzKHNldHRpbmdzOiBQYXJ0aWFsPE5ndHNUcmFpbFNldHRpbmdzPikge1xuXHRcdHRoaXMuaW5wdXRzLnNldCh7IHNldHRpbmdzOiB7IC4uLmRlZmF1bHRTZXR0aW5ncywgLi4uc2V0dGluZ3MgfSB9KTtcblx0fVxuXG5cdGdyb3VwUmVmID0gaW5qZWN0Tmd0UmVmPEdyb3VwPigpO1xuXG5cdHByaXZhdGUgY2hpbGRyZW4gPSB0aGlzLmdyb3VwUmVmLmNoaWxkcmVuKCdib3RoJyk7XG5cblx0cHJpdmF0ZSBzdG9yZSA9IGluamVjdE5ndFN0b3JlKCk7XG5cdHByaXZhdGUgc2l6ZSA9IHRoaXMuc3RvcmUuc2VsZWN0KCdzaXplJyk7XG5cblx0cHJpdmF0ZSB0YXJnZXQgPSB0aGlzLmlucHV0cy5zZWxlY3QoJ3RhcmdldCcpO1xuXHRwcml2YXRlIHNldHRpbmdzID0gdGhpcy5pbnB1dHMuc2VsZWN0KCdzZXR0aW5ncycpO1xuXHRwcml2YXRlIHdpZHRoID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zZXR0aW5ncygpLndpZHRoKTtcblx0cHJpdmF0ZSBjb2xvciA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnY29sb3InKTtcblx0cHJpdmF0ZSBhdHRlbnVhdGlvbiA9IHRoaXMuaW5wdXRzLnNlbGVjdCgnYXR0ZW51YXRpb24nKTtcblxuXHRwcml2YXRlIGFuY2hvciA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCB0YXJnZXQgPSB0aGlzLnRhcmdldCgpO1xuXHRcdGlmICh0YXJnZXQpIHJldHVybiB0YXJnZXQ7XG5cdFx0Y29uc3QgZ3JvdXAgPSB0aGlzLmdyb3VwUmVmLm5hdGl2ZUVsZW1lbnQ7XG5cdFx0aWYgKGdyb3VwKSB7XG5cdFx0XHRyZXR1cm4gZ3JvdXAuY2hpbGRyZW4uZmluZCgoY2hpbGQpID0+IGNoaWxkIGluc3RhbmNlb2YgVEhSRUUuT2JqZWN0M0QpIHx8IG51bGw7XG5cdFx0fVxuXHRcdHJldHVybiBudWxsO1xuXHR9KTtcblxuXHRwcml2YXRlIHBvaW50cyA9IGluamVjdE5ndHNUcmFpbCh0aGlzLmFuY2hvciwgdGhpcy5zZXR0aW5ncyk7XG5cblx0c2NlbmUgPSB0aGlzLnN0b3JlLnNlbGVjdCgnc2NlbmUnKTtcblx0Z2VvbWV0cnkgPSBuZXcgTWVzaExpbmVHZW9tZXRyeSgpO1xuXHRtYXRlcmlhbCA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCBbd2lkdGgsIGNvbG9yLCBzaXplXSA9IFt0aGlzLndpZHRoKCksIHRoaXMuY29sb3IoKSwgdGhpcy5zaXplKCldO1xuXG5cdFx0Y29uc3QgbSA9IG5ldyBNZXNoTGluZU1hdGVyaWFsKHtcblx0XHRcdGxpbmVXaWR0aDogMC4xICogd2lkdGgsXG5cdFx0XHRjb2xvcixcblx0XHRcdHNpemVBdHRlbnVhdGlvbjogMSxcblx0XHRcdHJlc29sdXRpb246IG5ldyBUSFJFRS5WZWN0b3IyKHNpemUud2lkdGgsIHNpemUuaGVpZ2h0KSxcblx0XHR9KTtcblxuXHRcdC8vIFRPRE86IHVuZGVyc3RhbmQgdGhpcyBmaXJzdFxuXHRcdC8vIEdldCBhbmQgYXBwbHkgZmlyc3QgPG1lc2hMaW5lTWF0ZXJpYWwgLz4gZnJvbSBjaGlsZHJlblxuXHRcdC8vIGxldCBtYXRPdmVycmlkZTogUmVhY3QuUmVhY3RFbGVtZW50IHwgdW5kZWZpbmVkO1xuXHRcdC8vIGlmIChjaGlsZHJlbikge1xuXHRcdC8vIFx0aWYgKEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pKSB7XG5cdFx0Ly8gXHRcdG1hdE92ZXJyaWRlID0gY2hpbGRyZW4uZmluZCgoY2hpbGQ6IFJlYWN0LlJlYWN0Tm9kZSkgPT4ge1xuXHRcdC8vIFx0XHRcdGNvbnN0IGMgPSBjaGlsZCBhcyBSZWFjdC5SZWFjdEVsZW1lbnQ7XG5cdFx0Ly8gXHRcdFx0cmV0dXJuIHR5cGVvZiBjLnR5cGUgPT09ICdzdHJpbmcnICYmIGMudHlwZSA9PT0gJ21lc2hMaW5lTWF0ZXJpYWwnO1xuXHRcdC8vIFx0XHR9KSBhcyBSZWFjdC5SZWFjdEVsZW1lbnQgfCB1bmRlZmluZWQ7XG5cdFx0Ly8gXHR9IGVsc2Uge1xuXHRcdC8vIFx0XHRjb25zdCBjID0gY2hpbGRyZW4gYXMgUmVhY3QuUmVhY3RFbGVtZW50O1xuXHRcdC8vIFx0XHRpZiAodHlwZW9mIGMudHlwZSA9PT0gJ3N0cmluZycgJiYgYy50eXBlID09PSAnbWVzaExpbmVNYXRlcmlhbCcpIHtcblx0XHQvLyBcdFx0XHRtYXRPdmVycmlkZSA9IGM7XG5cdFx0Ly8gXHRcdH1cblx0XHQvLyBcdH1cblx0XHQvLyB9XG5cdFx0Ly8gaWYgKHR5cGVvZiBtYXRPdmVycmlkZT8ucHJvcHMgPT09ICdvYmplY3QnKSB7XG5cdFx0Ly8gXHRtLnNldFZhbHVlcyhtYXRPdmVycmlkZS5wcm9wcyk7XG5cdFx0Ly8gfVxuXG5cdFx0cmV0dXJuIG07XG5cdH0pO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHRoaXMuc2V0TWF0ZXJpYWxTaXplKCk7XG5cdFx0dGhpcy5iZWZvcmVSZW5kZXIoKTtcblx0fVxuXG5cdHByaXZhdGUgc2V0TWF0ZXJpYWxTaXplKCkge1xuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHRjb25zdCBbbWF0ZXJpYWwsIHNpemVdID0gW3RoaXMubWF0ZXJpYWwoKSwgdGhpcy5zaXplKCldO1xuXHRcdFx0bWF0ZXJpYWwudW5pZm9ybXNbJ3Jlc29sdXRpb24nXS52YWx1ZS5zZXQoc2l6ZS53aWR0aCwgc2l6ZS5oZWlnaHQpO1xuXHRcdH0pO1xuXHR9XG5cblx0cHJpdmF0ZSBiZWZvcmVSZW5kZXIoKSB7XG5cdFx0aW5qZWN0QmVmb3JlUmVuZGVyKCgpID0+IHtcblx0XHRcdGNvbnN0IFtwb2ludHMsIGF0dGVudWF0aW9uXSA9IFt0aGlzLnBvaW50cy5uYXRpdmVFbGVtZW50LCB0aGlzLmF0dGVudWF0aW9uKCldO1xuXHRcdFx0aWYgKCFwb2ludHMpIHJldHVybjtcblx0XHRcdHRoaXMuZ2VvbWV0cnkuc2V0UG9pbnRzKHBvaW50cywgYXR0ZW51YXRpb24pO1xuXHRcdH0pO1xuXHR9XG59XG4iXX0=
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Injector, computed, runInInjectionContext } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { assertInjector, injectBeforeRender } from 'angular-three';
|
|
3
3
|
import { TrailTexture } from './trail-texture';
|
|
4
4
|
export function injectNgtsTrailTexture(trailConfigFn, { injector } = {}) {
|
|
5
|
-
injector =
|
|
5
|
+
injector = assertInjector(injectNgtsTrailTexture, injector);
|
|
6
6
|
return runInInjectionContext(injector, () => {
|
|
7
7
|
const config = computed(() => trailConfigFn() || {});
|
|
8
8
|
const trail = computed(() => new TrailTexture(config()));
|
|
@@ -14,4 +14,4 @@ export function injectNgtsTrailTexture(trailConfigFn, { injector } = {}) {
|
|
|
14
14
|
return { texture, onMove };
|
|
15
15
|
});
|
|
16
16
|
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5qZWN0LXRyYWlsLXRleHR1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvbWlzYy9zcmMvdHJhaWwtdGV4dHVyZS9pbmplY3QtdHJhaWwtdGV4dHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFzQixNQUFNLGVBQWUsQ0FBQztBQUN2RixPQUFPLEVBQUUsWUFBWSxFQUFvQixNQUFNLGlCQUFpQixDQUFDO0FBRWpFLE1BQU0sVUFBVSxzQkFBc0IsQ0FDckMsYUFBeUMsRUFDekMsRUFBRSxRQUFRLEtBQThCLEVBQUU7SUFFMUMsUUFBUSxHQUFHLGNBQWMsQ0FBQyxzQkFBc0IsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM1RCxPQUFPLHFCQUFxQixDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7UUFDM0MsTUFBTSxNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELE1BQU0sS0FBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDekQsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRWhELGtCQUFrQixDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO1lBQ2hDLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sTUFBTSxHQUFHLENBQUMsRUFBK0IsRUFBRSxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFHLENBQUMsQ0FBQztRQUU3RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzVCLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdG9yLCBjb21wdXRlZCwgcnVuSW5JbmplY3Rpb25Db250ZXh0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhc3NlcnRJbmplY3RvciwgaW5qZWN0QmVmb3JlUmVuZGVyLCB0eXBlIE5ndFRocmVlRXZlbnQgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IFRyYWlsVGV4dHVyZSwgdHlwZSBUcmFpbENvbmZpZyB9IGZyb20gJy4vdHJhaWwtdGV4dHVyZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpbmplY3ROZ3RzVHJhaWxUZXh0dXJlKFxuXHR0cmFpbENvbmZpZ0ZuOiAoKSA9PiBQYXJ0aWFsPFRyYWlsQ29uZmlnPixcblx0eyBpbmplY3RvciB9OiB7IGluamVjdG9yPzogSW5qZWN0b3IgfSA9IHt9LFxuKSB7XG5cdGluamVjdG9yID0gYXNzZXJ0SW5qZWN0b3IoaW5qZWN0Tmd0c1RyYWlsVGV4dHVyZSwgaW5qZWN0b3IpO1xuXHRyZXR1cm4gcnVuSW5JbmplY3Rpb25Db250ZXh0KGluamVjdG9yLCAoKSA9PiB7XG5cdFx0Y29uc3QgY29uZmlnID0gY29tcHV0ZWQoKCkgPT4gdHJhaWxDb25maWdGbigpIHx8IHt9KTtcblx0XHRjb25zdCB0cmFpbCA9IGNvbXB1dGVkKCgpID0+IG5ldyBUcmFpbFRleHR1cmUoY29uZmlnKCkpKTtcblx0XHRjb25zdCB0ZXh0dXJlID0gY29tcHV0ZWQoKCkgPT4gdHJhaWwoKS50ZXh0dXJlKTtcblxuXHRcdGluamVjdEJlZm9yZVJlbmRlcigoeyBkZWx0YSB9KSA9PiB7XG5cdFx0XHR0cmFpbCgpLnVwZGF0ZShkZWx0YSk7XG5cdFx0fSk7XG5cblx0XHRjb25zdCBvbk1vdmUgPSAoZXY6IE5ndFRocmVlRXZlbnQ8UG9pbnRlckV2ZW50PikgPT4gdHJhaWwoKS5hZGRUb3VjaChldi51diEpO1xuXG5cdFx0cmV0dXJuIHsgdGV4dHVyZSwgb25Nb3ZlIH07XG5cdH0pO1xufVxuIl19
|
|
@@ -31,8 +31,8 @@ export class NgtsCurveModifier {
|
|
|
31
31
|
moveAlongCurve(value) {
|
|
32
32
|
this.modifier?.moveAlongCurve(value);
|
|
33
33
|
}
|
|
34
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
35
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsCurveModifier, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsCurveModifier, isStandalone: true, selector: "ngts-curve-modifier", inputs: { _curve: ["curve", "_curve"] }, ngImport: i0, template: `
|
|
36
36
|
<ngt-portal [container]="sceneRef" [autoRender]="false">
|
|
37
37
|
<ng-template ngtPortalContent>
|
|
38
38
|
<ng-content />
|
|
@@ -41,7 +41,7 @@ export class NgtsCurveModifier {
|
|
|
41
41
|
<ngt-primitive *args="[modifierObject()]" />
|
|
42
42
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }, { kind: "component", type: NgtPortal, selector: "ngt-portal", inputs: ["container", "state", "autoRender", "autoRenderPriority"], outputs: ["beforeRender"] }, { kind: "directive", type: NgtPortalContent, selector: "ng-template[ngtPortalContent]" }] }); }
|
|
43
43
|
}
|
|
44
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsCurveModifier, decorators: [{
|
|
45
45
|
type: Component,
|
|
46
46
|
args: [{
|
|
47
47
|
selector: 'ngts-curve-modifier',
|
|
@@ -31,10 +31,10 @@ export class NgtsAdaptiveDpr {
|
|
|
31
31
|
}
|
|
32
32
|
});
|
|
33
33
|
}
|
|
34
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
35
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsAdaptiveDpr, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
35
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: NgtsAdaptiveDpr, isStandalone: true, selector: "ngts-adaptive-dpr", inputs: { _pixelated: ["pixelated", "_pixelated"] }, ngImport: i0 }); }
|
|
36
36
|
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsAdaptiveDpr, decorators: [{
|
|
38
38
|
type: Directive,
|
|
39
39
|
args: [{ selector: 'ngts-adaptive-dpr', standalone: true }]
|
|
40
40
|
}], ctorParameters: function () { return []; }, propDecorators: { _pixelated: [{
|
|
@@ -17,10 +17,10 @@ export class NgtsAdaptiveEvents {
|
|
|
17
17
|
this.setEvents({ enabled: current === 1 });
|
|
18
18
|
});
|
|
19
19
|
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
21
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsAdaptiveEvents, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
21
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: NgtsAdaptiveEvents, isStandalone: true, selector: "ngts-adaptive-events", ngImport: i0 }); }
|
|
22
22
|
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsAdaptiveEvents, decorators: [{
|
|
24
24
|
type: Directive,
|
|
25
25
|
args: [{ selector: 'ngts-adaptive-events', standalone: true }]
|
|
26
26
|
}], ctorParameters: function () { return []; } });
|
|
@@ -27,8 +27,8 @@ export class NgtsInstance {
|
|
|
27
27
|
onCleanup(cleanup);
|
|
28
28
|
}, { injector: this.injector });
|
|
29
29
|
}
|
|
30
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
31
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
30
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsInstance, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
31
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsInstance, isStandalone: true, selector: "ngts-instance", inputs: { instanceRef: "instanceRef" }, ngImport: i0, template: `
|
|
32
32
|
<ngt-position-mesh
|
|
33
33
|
[ref]="instanceRef"
|
|
34
34
|
[instance]="instancesApi.getParent()"
|
|
@@ -39,7 +39,7 @@ export class NgtsInstance {
|
|
|
39
39
|
</ngt-position-mesh>
|
|
40
40
|
`, isInline: true }); }
|
|
41
41
|
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsInstance, decorators: [{
|
|
43
43
|
type: Component,
|
|
44
44
|
args: [{
|
|
45
45
|
selector: 'ngts-instance',
|
|
@@ -149,8 +149,8 @@ export class NgtsInstances {
|
|
|
149
149
|
}
|
|
150
150
|
});
|
|
151
151
|
}
|
|
152
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
153
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
152
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsInstances, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
153
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsInstances, isStandalone: true, selector: "ngts-instances", inputs: { instancesRef: "instancesRef", _range: ["range", "_range"], _limit: ["limit", "_limit"], _frames: ["frames", "_frames"] }, providers: [provideNgtsInstancesApi()], queries: [{ propertyName: "content", first: true, predicate: NgtsSobaContent, descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: `
|
|
154
154
|
<ngt-instanced-mesh
|
|
155
155
|
[userData]="{ instances: meshes() }"
|
|
156
156
|
[ref]="instancesRef"
|
|
@@ -172,7 +172,7 @@ export class NgtsInstances {
|
|
|
172
172
|
</ngt-instanced-mesh>
|
|
173
173
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
174
174
|
}
|
|
175
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
175
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsInstances, decorators: [{
|
|
176
176
|
type: Component,
|
|
177
177
|
args: [{
|
|
178
178
|
selector: 'ngts-instances',
|
|
@@ -35,10 +35,10 @@ export class NgtsPointsInput {
|
|
|
35
35
|
set _stride(stride) {
|
|
36
36
|
this.inputs.set({ stride });
|
|
37
37
|
}
|
|
38
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
39
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.
|
|
38
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsPointsInput, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
39
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.3", type: NgtsPointsInput, inputs: { pointsRef: "pointsRef", _range: ["range", "_range"], _limit: ["limit", "_limit"], _positions: ["positions", "_positions"], _colors: ["colors", "_colors"], _sizes: ["sizes", "_sizes"], _stride: ["stride", "_stride"] }, ngImport: i0 }); }
|
|
40
40
|
}
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsPointsInput, decorators: [{
|
|
42
42
|
type: Directive
|
|
43
43
|
}], propDecorators: { pointsRef: [{
|
|
44
44
|
type: Input
|
|
@@ -81,8 +81,8 @@ export class NgtsPointsInstances {
|
|
|
81
81
|
}
|
|
82
82
|
});
|
|
83
83
|
}
|
|
84
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
85
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
84
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsPointsInstances, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
85
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsPointsInstances, isStandalone: true, selector: "ngts-points-instances", providers: [provideNgtsPointsInstancesApi()], ngImport: i0, template: `
|
|
86
86
|
<ngt-points
|
|
87
87
|
[ref]="pointsInput.pointsRef"
|
|
88
88
|
[userData]="{ instances: points() }"
|
|
@@ -117,7 +117,7 @@ export class NgtsPointsInstances {
|
|
|
117
117
|
</ngt-points>
|
|
118
118
|
`, isInline: true }); }
|
|
119
119
|
}
|
|
120
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
120
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsPointsInstances, decorators: [{
|
|
121
121
|
type: Component,
|
|
122
122
|
args: [{
|
|
123
123
|
selector: 'ngts-points-instances',
|
|
@@ -173,8 +173,8 @@ export class NgtsPoint {
|
|
|
173
173
|
onCleanup(cleanup);
|
|
174
174
|
}, { injector: this.injector });
|
|
175
175
|
}
|
|
176
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
177
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
176
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsPoint, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
177
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsPoint, isStandalone: true, selector: "ngts-point", inputs: { pointRef: "pointRef" }, ngImport: i0, template: `
|
|
178
178
|
<ngt-position-point
|
|
179
179
|
[instance]="pointsInstancesApi.getParent()"
|
|
180
180
|
[ref]="pointRef"
|
|
@@ -185,7 +185,7 @@ export class NgtsPoint {
|
|
|
185
185
|
</ngt-position-point>
|
|
186
186
|
`, isInline: true }); }
|
|
187
187
|
}
|
|
188
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
188
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsPoint, decorators: [{
|
|
189
189
|
type: Component,
|
|
190
190
|
args: [{
|
|
191
191
|
selector: 'ngts-point',
|
|
@@ -223,8 +223,8 @@ export class NgtsPointsBuffers {
|
|
|
223
223
|
checkUpdate(attr['size']);
|
|
224
224
|
});
|
|
225
225
|
}
|
|
226
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
227
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
226
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsPointsBuffers, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
227
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsPointsBuffers, isStandalone: true, selector: "ngts-points-buffers", ngImport: i0, template: `
|
|
228
228
|
<ngt-points [ref]="pointsInput.pointsRef" ngtCompound>
|
|
229
229
|
<ngt-buffer-geometry>
|
|
230
230
|
<ngt-buffer-attribute
|
|
@@ -253,7 +253,7 @@ export class NgtsPointsBuffers {
|
|
|
253
253
|
</ngt-points>
|
|
254
254
|
`, isInline: true }); }
|
|
255
255
|
}
|
|
256
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
256
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsPointsBuffers, decorators: [{
|
|
257
257
|
type: Component,
|
|
258
258
|
args: [{
|
|
259
259
|
selector: 'ngts-points-buffers',
|
|
@@ -290,8 +290,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImpor
|
|
|
290
290
|
}]
|
|
291
291
|
}], ctorParameters: function () { return []; } });
|
|
292
292
|
export class NgtsPoints extends NgtsPointsInput {
|
|
293
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
294
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
293
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsPoints, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
294
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsPoints, isStandalone: true, selector: "ngts-points", providers: [{ provide: NgtsPointsInput, useExisting: NgtsPoints }], queries: [{ propertyName: "content", first: true, predicate: NgtsSobaContent, descendants: true, read: TemplateRef, static: true }], usesInheritance: true, ngImport: i0, template: `
|
|
295
295
|
<ngts-points-buffers *ngIf="positions()">
|
|
296
296
|
<ng-container *ngTemplateOutlet="content" />
|
|
297
297
|
</ngts-points-buffers>
|
|
@@ -301,7 +301,7 @@ export class NgtsPoints extends NgtsPointsInput {
|
|
|
301
301
|
</ngts-points-instances>
|
|
302
302
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: NgtsPointsBuffers, selector: "ngts-points-buffers" }, { kind: "component", type: NgtsPointsInstances, selector: "ngts-points-instances" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
303
303
|
}
|
|
304
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
304
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsPoints, decorators: [{
|
|
305
305
|
type: Component,
|
|
306
306
|
args: [{
|
|
307
307
|
selector: 'ngts-points',
|
|
@@ -40,12 +40,12 @@ export class NgtsSegment {
|
|
|
40
40
|
onCleanup(cleanup);
|
|
41
41
|
}, { injector: this.injector });
|
|
42
42
|
}
|
|
43
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
44
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsSegment, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
44
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsSegment, isStandalone: true, selector: "ngts-segment", inputs: { segmentRef: "segmentRef", _start: ["start", "_start"], _end: ["end", "_end"], _color: ["color", "_color"] }, ngImport: i0, template: `
|
|
45
45
|
<ngt-segment-object [ref]="segmentRef" [color]="color()" [start]="normalizedStart()" [end]="normalizedEnd()" />
|
|
46
46
|
`, isInline: true }); }
|
|
47
47
|
}
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsSegment, decorators: [{
|
|
49
49
|
type: Component,
|
|
50
50
|
args: [{
|
|
51
51
|
selector: 'ngts-segment',
|
|
@@ -131,8 +131,8 @@ export class NgtsSegments {
|
|
|
131
131
|
this.line.computeLineDistances();
|
|
132
132
|
});
|
|
133
133
|
}
|
|
134
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.
|
|
135
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.
|
|
134
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsSegments, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
135
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.3", type: NgtsSegments, isStandalone: true, selector: "ngts-segments", inputs: { segmentsRef: "segmentsRef", _limit: ["limit", "_limit"], _lineWidth: ["lineWidth", "_lineWidth"] }, providers: [provideNgtsSegmentsApi()], ngImport: i0, template: `
|
|
136
136
|
<ngt-primitive *args="[line]" [ref]="segmentsRef">
|
|
137
137
|
<ngt-primitive *args="[geometry]" attach="geometry" />
|
|
138
138
|
<ngt-primitive
|
|
@@ -147,7 +147,7 @@ export class NgtsSegments {
|
|
|
147
147
|
</ngt-primitive>
|
|
148
148
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }] }); }
|
|
149
149
|
}
|
|
150
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.
|
|
150
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.3", ngImport: i0, type: NgtsSegments, decorators: [{
|
|
151
151
|
type: Component,
|
|
152
152
|
args: [{
|
|
153
153
|
selector: 'ngts-segments',
|