angular-three 2.0.0-beta.21 → 2.0.0-beta.223
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/index.mjs +4 -11
- package/esm2022/lib/canvas.mjs +81 -156
- package/esm2022/lib/directives/args.mjs +6 -6
- package/esm2022/lib/directives/common.mjs +15 -14
- package/esm2022/lib/directives/parent.mjs +6 -6
- package/esm2022/lib/dom/events.mjs +2 -2
- package/esm2022/lib/events.mjs +28 -25
- package/esm2022/lib/instance.mjs +39 -34
- package/esm2022/lib/loader.mjs +12 -14
- package/esm2022/lib/loop.mjs +9 -10
- package/esm2022/lib/portal.mjs +122 -135
- package/esm2022/lib/ref.mjs +18 -20
- package/esm2022/lib/renderer/catalogue.mjs +2 -2
- package/esm2022/lib/renderer/constants.mjs +2 -2
- package/esm2022/lib/renderer/index.mjs +58 -62
- package/esm2022/lib/renderer/store.mjs +129 -120
- package/esm2022/lib/renderer/utils.mjs +35 -42
- package/esm2022/lib/roots.mjs +41 -38
- package/esm2022/lib/routed-scene.mjs +6 -7
- package/esm2022/lib/store.mjs +163 -189
- package/esm2022/lib/utils/apply-props.mjs +12 -17
- package/esm2022/lib/utils/attach.mjs +6 -6
- package/esm2022/lib/utils/before-render.mjs +12 -0
- package/esm2022/lib/utils/cd-aware-signal.mjs +24 -0
- package/esm2022/lib/utils/create-api-token.mjs +13 -0
- package/esm2022/lib/utils/is.mjs +6 -5
- package/esm2022/lib/utils/make.mjs +15 -12
- package/esm2022/lib/utils/signal-store.mjs +67 -57
- package/esm2022/lib/utils/update.mjs +3 -2
- package/fesm2022/angular-three.mjs +1621 -1795
- package/fesm2022/angular-three.mjs.map +1 -1
- package/index.d.ts +6 -10
- package/lib/canvas.d.ts +24 -37
- package/lib/directives/common.d.ts +12 -1
- package/lib/events.d.ts +2 -2
- package/lib/instance.d.ts +19 -10
- package/lib/loader.d.ts +13 -4
- package/lib/loop.d.ts +6 -29
- package/lib/portal.d.ts +18 -26
- package/lib/ref.d.ts +0 -1
- package/lib/renderer/catalogue.d.ts +5 -1
- package/lib/renderer/constants.d.ts +1 -1
- package/lib/renderer/index.d.ts +55 -4
- package/lib/renderer/store.d.ts +18 -21
- package/lib/renderer/utils.d.ts +2 -3
- package/lib/roots.d.ts +4 -3
- package/lib/store.d.ts +9 -11
- package/lib/utils/apply-props.d.ts +0 -1
- package/lib/{before-render.d.ts → utils/before-render.d.ts} +1 -1
- package/lib/utils/cd-aware-signal.d.ts +4 -0
- package/lib/utils/create-api-token.d.ts +23 -0
- package/lib/utils/is.d.ts +11 -12
- package/lib/utils/make.d.ts +3 -2
- package/lib/utils/signal-store.d.ts +16 -3
- package/metadata.json +1 -1
- package/package.json +30 -11
- package/plugin/generators.json +0 -32
- package/plugin/src/generators/init/compat.d.ts +1 -3
- package/plugin/src/generators/init/files/experience/{experience.component.ts.__tmpl__ → experience.component.ts__tmpl__} +1 -0
- package/plugin/src/generators/init/generator.d.ts +2 -5
- package/plugin/src/generators/init/generator.js +94 -95
- package/plugin/src/generators/init/generator.js.map +1 -1
- package/plugin/src/generators/init/schema.json +1 -12
- package/plugin/src/generators/utils.js.map +1 -1
- package/plugin/src/generators/{versions.d.ts → version.d.ts} +5 -3
- package/plugin/src/generators/version.js +18 -0
- package/plugin/src/generators/version.js.map +1 -0
- package/plugin/src/index.d.ts +0 -3
- package/plugin/src/index.js +0 -9
- package/plugin/src/index.js.map +1 -1
- package/web-types.json +1 -1
- package/esm2022/lib/before-render.mjs +0 -13
- package/esm2022/lib/directives/key.mjs +0 -29
- package/esm2022/lib/directives/repeat.mjs +0 -17
- package/esm2022/lib/three-types.mjs +0 -2
- package/esm2022/lib/utils/assert-injection-context.mjs +0 -14
- package/esm2022/lib/utils/create-injection-token.mjs +0 -47
- package/esm2022/lib/utils/safe-detect-changes.mjs +0 -17
- package/lib/directives/key.d.ts +0 -10
- package/lib/directives/repeat.d.ts +0 -7
- package/lib/three-types.d.ts +0 -306
- package/lib/utils/assert-injection-context.d.ts +0 -2
- package/lib/utils/create-injection-token.d.ts +0 -27
- package/lib/utils/safe-detect-changes.d.ts +0 -2
- package/plugin/package.json +0 -6
- package/plugin/src/generators/init-cannon/compat.d.ts +0 -2
- package/plugin/src/generators/init-cannon/compat.js +0 -6
- package/plugin/src/generators/init-cannon/compat.js.map +0 -1
- package/plugin/src/generators/init-cannon/generator.d.ts +0 -2
- package/plugin/src/generators/init-cannon/generator.js +0 -22
- package/plugin/src/generators/init-cannon/generator.js.map +0 -1
- package/plugin/src/generators/init-cannon/schema.json +0 -6
- package/plugin/src/generators/init-postprocessing/compat.d.ts +0 -2
- package/plugin/src/generators/init-postprocessing/compat.js +0 -6
- package/plugin/src/generators/init-postprocessing/compat.js.map +0 -1
- package/plugin/src/generators/init-postprocessing/generator.d.ts +0 -2
- package/plugin/src/generators/init-postprocessing/generator.js +0 -20
- package/plugin/src/generators/init-postprocessing/generator.js.map +0 -1
- package/plugin/src/generators/init-postprocessing/schema.json +0 -6
- package/plugin/src/generators/init-soba/compat.d.ts +0 -2
- package/plugin/src/generators/init-soba/compat.js +0 -6
- package/plugin/src/generators/init-soba/compat.js.map +0 -1
- package/plugin/src/generators/init-soba/generator.d.ts +0 -2
- package/plugin/src/generators/init-soba/generator.js +0 -26
- package/plugin/src/generators/init-soba/generator.js.map +0 -1
- package/plugin/src/generators/init-soba/schema.json +0 -6
- package/plugin/src/generators/versions.js +0 -16
- package/plugin/src/generators/versions.js.map +0 -1
- /package/plugin/src/generators/init/files/experience/{experience.component.html.__tmpl__ → experience.component.html__tmpl__} +0 -0
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { DestroyRef, Injector, inject, runInInjectionContext } from '@angular/core';
|
|
2
|
-
import { injectNgtStore } from './store';
|
|
3
|
-
import { assertInjectionContext } from './utils/assert-injection-context';
|
|
4
|
-
export function injectBeforeRender(cb, { priority = 0, injector } = {}) {
|
|
5
|
-
injector = assertInjectionContext(injectBeforeRender, injector);
|
|
6
|
-
return runInInjectionContext(injector, () => {
|
|
7
|
-
const store = injectNgtStore();
|
|
8
|
-
const sub = store.get('internal').subscribe(cb, priority, store);
|
|
9
|
-
inject(DestroyRef).onDestroy(() => void sub());
|
|
10
|
-
return sub;
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmVmb3JlLXJlbmRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL2JlZm9yZS1yZW5kZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxjQUFjLEVBQThCLE1BQU0sU0FBUyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRTFFLE1BQU0sVUFBVSxrQkFBa0IsQ0FDakMsRUFBcUMsRUFDckMsRUFBRSxRQUFRLEdBQUcsQ0FBQyxFQUFFLFFBQVEsS0FBaUQsRUFBRTtJQUUzRSxRQUFRLEdBQUcsc0JBQXNCLENBQUMsa0JBQWtCLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEUsT0FBTyxxQkFBcUIsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO1FBQzNDLE1BQU0sS0FBSyxHQUFHLGNBQWMsRUFBRSxDQUFDO1FBQy9CLE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsU0FBUyxDQUFDLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDakUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFDL0MsT0FBTyxHQUFHLENBQUM7SUFDWixDQUFDLENBQUMsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXN0cm95UmVmLCBJbmplY3RvciwgaW5qZWN0LCBydW5JbkluamVjdGlvbkNvbnRleHQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdE5ndFN0b3JlLCB0eXBlIE5ndEJlZm9yZVJlbmRlclJlY29yZCB9IGZyb20gJy4vc3RvcmUnO1xuaW1wb3J0IHsgYXNzZXJ0SW5qZWN0aW9uQ29udGV4dCB9IGZyb20gJy4vdXRpbHMvYXNzZXJ0LWluamVjdGlvbi1jb250ZXh0JztcblxuZXhwb3J0IGZ1bmN0aW9uIGluamVjdEJlZm9yZVJlbmRlcihcblx0Y2I6IE5ndEJlZm9yZVJlbmRlclJlY29yZFsnY2FsbGJhY2snXSxcblx0eyBwcmlvcml0eSA9IDAsIGluamVjdG9yIH06IHsgcHJpb3JpdHk/OiBudW1iZXI7IGluamVjdG9yPzogSW5qZWN0b3IgfSA9IHt9LFxuKSB7XG5cdGluamVjdG9yID0gYXNzZXJ0SW5qZWN0aW9uQ29udGV4dChpbmplY3RCZWZvcmVSZW5kZXIsIGluamVjdG9yKTtcblx0cmV0dXJuIHJ1bkluSW5qZWN0aW9uQ29udGV4dChpbmplY3RvciwgKCkgPT4ge1xuXHRcdGNvbnN0IHN0b3JlID0gaW5qZWN0Tmd0U3RvcmUoKTtcblx0XHRjb25zdCBzdWIgPSBzdG9yZS5nZXQoJ2ludGVybmFsJykuc3Vic2NyaWJlKGNiLCBwcmlvcml0eSwgc3RvcmUpO1xuXHRcdGluamVjdChEZXN0cm95UmVmKS5vbkRlc3Ryb3koKCkgPT4gdm9pZCBzdWIoKSk7XG5cdFx0cmV0dXJuIHN1Yjtcblx0fSk7XG59XG4iXX0=
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Directive, Input } from '@angular/core';
|
|
2
|
-
import { NgtCommonDirective } from './common';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class NgtKey extends NgtCommonDirective {
|
|
5
|
-
constructor() {
|
|
6
|
-
super(...arguments);
|
|
7
|
-
this.lastKey = '';
|
|
8
|
-
}
|
|
9
|
-
static { this.processComment = false; }
|
|
10
|
-
validate() {
|
|
11
|
-
return false;
|
|
12
|
-
}
|
|
13
|
-
set key(key) {
|
|
14
|
-
const normalizedKey = JSON.stringify(key);
|
|
15
|
-
if (this.lastKey !== normalizedKey) {
|
|
16
|
-
this.lastKey = normalizedKey;
|
|
17
|
-
this.createView();
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtKey, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
21
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.2", type: NgtKey, isStandalone: true, selector: "ng-template[key]", inputs: { key: "key" }, usesInheritance: true, ngImport: i0 }); }
|
|
22
|
-
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtKey, decorators: [{
|
|
24
|
-
type: Directive,
|
|
25
|
-
args: [{ selector: 'ng-template[key]', standalone: true }]
|
|
26
|
-
}], propDecorators: { key: [{
|
|
27
|
-
type: Input
|
|
28
|
-
}] } });
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy9rZXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sVUFBVSxDQUFDOztBQUc5QyxNQUFNLE9BQU8sTUFBTyxTQUFRLGtCQUFrQjtJQUQ5Qzs7UUFJUyxZQUFPLEdBQUcsRUFBRSxDQUFDO0tBYXJCO2FBZmdCLG1CQUFjLEdBQUcsS0FBSyxBQUFSLENBQVM7SUFJOUIsUUFBUTtRQUNoQixPQUFPLEtBQUssQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFhLEdBQUcsQ0FBQyxHQUE2QjtRQUM3QyxNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxhQUFhLEVBQUU7WUFDbkMsSUFBSSxDQUFDLE9BQU8sR0FBRyxhQUFhLENBQUM7WUFDN0IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1NBQ2xCO0lBQ0YsQ0FBQzs4R0FmVyxNQUFNO2tHQUFOLE1BQU07OzJGQUFOLE1BQU07a0JBRGxCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRTs4QkFVL0MsR0FBRztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0Q29tbW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21tb24nO1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICduZy10ZW1wbGF0ZVtrZXldJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIE5ndEtleSBleHRlbmRzIE5ndENvbW1vbkRpcmVjdGl2ZSB7XG5cdHN0YXRpYyBvdmVycmlkZSBwcm9jZXNzQ29tbWVudCA9IGZhbHNlO1xuXG5cdHByaXZhdGUgbGFzdEtleSA9ICcnO1xuXG5cdG92ZXJyaWRlIHZhbGlkYXRlKCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBmYWxzZTtcblx0fVxuXG5cdEBJbnB1dCgpIHNldCBrZXkoa2V5OiBzdHJpbmcgfCBudW1iZXIgfCBvYmplY3QpIHtcblx0XHRjb25zdCBub3JtYWxpemVkS2V5ID0gSlNPTi5zdHJpbmdpZnkoa2V5KTtcblx0XHRpZiAodGhpcy5sYXN0S2V5ICE9PSBub3JtYWxpemVkS2V5KSB7XG5cdFx0XHR0aGlzLmxhc3RLZXkgPSBub3JtYWxpemVkS2V5O1xuXHRcdFx0dGhpcy5jcmVhdGVWaWV3KCk7XG5cdFx0fVxuXHR9XG59XG4iXX0=
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { NgForOf } from '@angular/common';
|
|
2
|
-
import { Directive, Input } from '@angular/core';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export class NgtRepeat extends NgForOf {
|
|
5
|
-
set ngForRepeat(count) {
|
|
6
|
-
this.ngForOf = Number.isInteger(count) ? Array.from({ length: count }, (_, i) => i) : [];
|
|
7
|
-
}
|
|
8
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtRepeat, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
9
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.2", type: NgtRepeat, isStandalone: true, selector: "[ngFor][ngForRepeat]", inputs: { ngForRepeat: "ngForRepeat" }, usesInheritance: true, ngImport: i0 }); }
|
|
10
|
-
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.2", ngImport: i0, type: NgtRepeat, decorators: [{
|
|
12
|
-
type: Directive,
|
|
13
|
-
args: [{ selector: '[ngFor][ngForRepeat]', standalone: true }]
|
|
14
|
-
}], propDecorators: { ngForRepeat: [{
|
|
15
|
-
type: Input
|
|
16
|
-
}] } });
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVwZWF0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvZGlyZWN0aXZlcy9yZXBlYXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUdqRCxNQUFNLE9BQU8sU0FBVSxTQUFRLE9BQWU7SUFDN0MsSUFBYSxXQUFXLENBQUMsS0FBYTtRQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQzFGLENBQUM7OEdBSFcsU0FBUztrR0FBVCxTQUFTOzsyRkFBVCxTQUFTO2tCQURyQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLHNCQUFzQixFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUU7OEJBRW5ELFdBQVc7c0JBQXZCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ0Zvck9mIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW25nRm9yXVtuZ0ZvclJlcGVhdF0nLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgTmd0UmVwZWF0IGV4dGVuZHMgTmdGb3JPZjxudW1iZXI+IHtcblx0QElucHV0KCkgc2V0IG5nRm9yUmVwZWF0KGNvdW50OiBudW1iZXIpIHtcblx0XHR0aGlzLm5nRm9yT2YgPSBOdW1iZXIuaXNJbnRlZ2VyKGNvdW50KSA/IEFycmF5LmZyb20oeyBsZW5ndGg6IGNvdW50IH0sIChfLCBpKSA9PiBpKSA6IFtdO1xuXHR9XG59XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import * as THREE from 'three';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyZWUtdHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvc3JjL2xpYi90aHJlZS10eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssS0FBSyxNQUFNLE9BQU8sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFRIUkVFIGZyb20gJ3RocmVlJztcbmltcG9ydCB0eXBlIHsgTmd0RXZlbnRIYW5kbGVycyB9IGZyb20gJy4vZXZlbnRzJztcbmltcG9ydCB0eXBlIHsgTmd0QWZ0ZXJBdHRhY2gsIE5ndEF0dGFjaEZ1bmN0aW9uLCBOZ3RJbnN0YW5jZU5vZGUgfSBmcm9tICcuL2luc3RhbmNlJztcbmltcG9ydCB0eXBlIHsgTmd0QmVmb3JlUmVuZGVyRXZlbnQgfSBmcm9tICcuL3N0b3JlJztcblxudHlwZSBOb0V2ZW50PFQ+ID0gT21pdDxULCAnYWRkRXZlbnRMaXN0ZW5lcicgfCAncmVtb3ZlRXZlbnRMaXN0ZW5lcic+O1xuXG5leHBvcnQgdHlwZSBOZ3ROb25GdW5jdGlvbktleXM8VD4gPSB7IFtLIGluIGtleW9mIFRdLT86IFRbS10gZXh0ZW5kcyBGdW5jdGlvbiA/IG5ldmVyIDogSyB9W2tleW9mIFRdO1xuZXhwb3J0IHR5cGUgTmd0T3ZlcndyaXRlPFQsIE8+ID0gT21pdDxULCBOZ3ROb25GdW5jdGlvbktleXM8Tz4+ICYgTztcblxuZXhwb3J0IHR5cGUgTmd0RXh0ZW5kZWRDb2xvcnM8VD4gPSB7XG5cdFtLIGluIGtleW9mIFRdOiBUW0tdIGV4dGVuZHMgVEhSRUUuQ29sb3IgfCB1bmRlZmluZWQgPyBUSFJFRS5Db2xvclJlcHJlc2VudGF0aW9uIDogVFtLXTtcbn07XG5cbi8qKlxuICogSWYgKipUKiogY29udGFpbnMgYSBjb25zdHJ1Y3RvciwgQHNlZSBDb25zdHJ1Y3RvclBhcmFtZXRlcnMgbXVzdCBiZSB1c2VkLCBvdGhlcndpc2UgKipUKiouXG4gKi9cbnR5cGUgTmd0QXJnczxUPiA9IFQgZXh0ZW5kcyBuZXcgKC4uLmFyZ3M6IGFueSkgPT4gYW55ID8gQ29uc3RydWN0b3JQYXJhbWV0ZXJzPFQ+IDogVDtcblxuZXhwb3J0IHR5cGUgTmd0RXVsZXIgPSBUSFJFRS5FdWxlciB8IFBhcmFtZXRlcnM8VEhSRUUuRXVsZXJbJ3NldCddPjtcbmV4cG9ydCB0eXBlIE5ndE1hdHJpeDQgPSBUSFJFRS5NYXRyaXg0IHwgUGFyYW1ldGVyczxUSFJFRS5NYXRyaXg0WydzZXQnXT4gfCBSZWFkb25seTxUSFJFRS5NYXRyaXg0WydzZXQnXT47XG5cbi8qKlxuICogVHVybiBhbiBpbXBsZW1lbnRhdGlvbiBvZiBUSFJFRS5WZWN0b3IgaW4gdG8gdGhlIHR5cGUgdGhhdCBhbiByM2YgY29tcG9uZW50IHdvdWxkIGFjY2VwdCBhcyBhIHByb3AuXG4gKi9cbnR5cGUgTmd0VmVjdG9yTGlrZTxWZWN0b3JDbGFzcyBleHRlbmRzIFRIUkVFLlZlY3Rvcj4gPVxuXHR8IFZlY3RvckNsYXNzXG5cdHwgUGFyYW1ldGVyczxWZWN0b3JDbGFzc1snc2V0J10+XG5cdHwgUmVhZG9ubHk8UGFyYW1ldGVyczxWZWN0b3JDbGFzc1snc2V0J10+PlxuXHR8IFBhcmFtZXRlcnM8VmVjdG9yQ2xhc3NbJ3NldFNjYWxhciddPlswXTtcblxuZXhwb3J0IHR5cGUgTmd0VmVjdG9yMiA9IE5ndFZlY3Rvckxpa2U8VEhSRUUuVmVjdG9yMj47XG5leHBvcnQgdHlwZSBOZ3RWZWN0b3IzID0gTmd0VmVjdG9yTGlrZTxUSFJFRS5WZWN0b3IzPjtcbmV4cG9ydCB0eXBlIE5ndFZlY3RvcjQgPSBOZ3RWZWN0b3JMaWtlPFRIUkVFLlZlY3RvcjQ+O1xuZXhwb3J0IHR5cGUgTmd0TGF5ZXJzID0gVEhSRUUuTGF5ZXJzIHwgUGFyYW1ldGVyczxUSFJFRS5MYXllcnNbJ3NldCddPlswXTtcbmV4cG9ydCB0eXBlIE5ndFF1YXRlcm5pb24gPSBUSFJFRS5RdWF0ZXJuaW9uIHwgUGFyYW1ldGVyczxUSFJFRS5RdWF0ZXJuaW9uWydzZXQnXT47XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0Tm9kZUV2ZW50TWFwPFRPcmlnaW5hbD4ge1xuXHRhZnRlckF0dGFjaDogTmd0QWZ0ZXJBdHRhY2g8VE9yaWdpbmFsLCBOZ3RJbnN0YW5jZU5vZGU+O1xuXHRhZnRlclVwZGF0ZTogVE9yaWdpbmFsO1xuXHRiZWZvcmVSZW5kZXI6IE5ndEJlZm9yZVJlbmRlckV2ZW50PFRPcmlnaW5hbD47XG59XG5cbmV4cG9ydCB0eXBlIE5ndE5vZGVFbGVtZW50PFRPcmlnaW5hbCwgVENvbnN0cnVjdG9yPiA9IHtcblx0YXR0YWNoOiBzdHJpbmcgfCBzdHJpbmdbXSB8IE5ndEF0dGFjaEZ1bmN0aW9uO1xuXHQvLyByZWY6IE5ndEluamVjdGVkUmVmPFRPcmlnaW5hbD47XG5cdGFkZEV2ZW50TGlzdGVuZXI8VEV2ZW50S2V5IGV4dGVuZHMga2V5b2YgTmd0Tm9kZUV2ZW50TWFwPFRPcmlnaW5hbD4+KFxuXHRcdHR5cGU6IFRFdmVudEtleSxcblx0XHRsaXN0ZW5lcjogKHRoaXM6IE5ndE5vZGVFbGVtZW50PFRPcmlnaW5hbCwgVENvbnN0cnVjdG9yPiwgZXY6IE5ndE5vZGVFdmVudE1hcDxUT3JpZ2luYWw+W1RFdmVudEtleV0pID0+IGFueSxcblx0KTogdm9pZDtcblx0cmVtb3ZlRXZlbnRMaXN0ZW5lcjxURXZlbnRLZXkgZXh0ZW5kcyBrZXlvZiBOZ3ROb2RlRXZlbnRNYXA8VE9yaWdpbmFsPj4oXG5cdFx0dHlwZTogVEV2ZW50S2V5LFxuXHRcdGxpc3RlbmVyOiAodGhpczogTmd0Tm9kZUVsZW1lbnQ8VE9yaWdpbmFsLCBUQ29uc3RydWN0b3I+LCBldjogTmd0Tm9kZUV2ZW50TWFwPFRPcmlnaW5hbD5bVEV2ZW50S2V5XSkgPT4gYW55LFxuXHQpOiB2b2lkO1xuXHRfX25ndF9hcmdzX186IE5ndEFyZ3M8VENvbnN0cnVjdG9yPjtcbn07XG5cbmV4cG9ydCB0eXBlIE5ndE5vZGU8VE9yaWdpbmFsLCBUQ29uc3RydWN0b3IsIFROb0V2ZW50ID0gTm9FdmVudDxUT3JpZ2luYWw+PiA9IE5ndEV4dGVuZGVkQ29sb3JzPFxuXHROZ3RPdmVyd3JpdGU8UGFydGlhbDxUTm9FdmVudD4sIE5ndE5vZGVFbGVtZW50PFRPcmlnaW5hbCwgVENvbnN0cnVjdG9yPj5cbj47XG5cbmV4cG9ydCB0eXBlIE5ndE9iamVjdDNERXZlbnRzTWFwID0ge1xuXHRbVEV2ZW50IGluIGtleW9mIE5ndEV2ZW50SGFuZGxlcnNdLT86IFBhcmFtZXRlcnM8Tm9uTnVsbGFibGU8Tmd0RXZlbnRIYW5kbGVyc1tURXZlbnRdPj5bMF07XG59O1xuXG5leHBvcnQgdHlwZSBOZ3RPYmplY3QzRE5vZGU8VE9yaWdpbmFsLCBUQ29uc3RydWN0b3IsIFROb0V2ZW50ID0gTm9FdmVudDxUT3JpZ2luYWw+PiA9IE5ndE92ZXJ3cml0ZTxcblx0Tmd0Tm9kZTxUT3JpZ2luYWwsIFRDb25zdHJ1Y3RvciwgVE5vRXZlbnQ+LFxuXHR7XG5cdFx0cG9zaXRpb246IE5ndFZlY3RvcjM7XG5cdFx0dXA6IE5ndFZlY3RvcjM7XG5cdFx0c2NhbGU6IE5ndFZlY3RvcjM7XG5cdFx0cm90YXRpb246IE5ndEV1bGVyO1xuXHRcdG1hdHJpeDogTmd0TWF0cml4NDtcblx0XHRxdWF0ZXJuaW9uOiBOZ3RRdWF0ZXJuaW9uO1xuXHRcdGxheWVyczogTmd0TGF5ZXJzO1xuXHRcdGRpc3Bvc2U6ICgoKSA9PiB2b2lkKSB8IG51bGw7XG5cdFx0YWRkRXZlbnRMaXN0ZW5lcjxURXZlbnRLZXkgZXh0ZW5kcyBrZXlvZiBOZ3RPYmplY3QzREV2ZW50c01hcD4oXG5cdFx0XHR0eXBlOiBURXZlbnRLZXksXG5cdFx0XHRsaXN0ZW5lcjogKHRoaXM6IE5ndE9iamVjdDNETm9kZTxUT3JpZ2luYWwsIFRDb25zdHJ1Y3Rvcj4sIGV2OiBOZ3RPYmplY3QzREV2ZW50c01hcFtURXZlbnRLZXldKSA9PiBhbnksXG5cdFx0KTogdm9pZDtcblx0XHRyZW1vdmVFdmVudExpc3RlbmVyPFRFdmVudEtleSBleHRlbmRzIGtleW9mIE5ndE9iamVjdDNERXZlbnRzTWFwPihcblx0XHRcdHR5cGU6IFRFdmVudEtleSxcblx0XHRcdGxpc3RlbmVyOiAodGhpczogTmd0T2JqZWN0M0ROb2RlPFRPcmlnaW5hbCwgVENvbnN0cnVjdG9yPiwgZXY6IE5ndE9iamVjdDNERXZlbnRzTWFwW1RFdmVudEtleV0pID0+IGFueSxcblx0XHQpOiB2b2lkO1xuXHR9XG4+O1xuXG5leHBvcnQgdHlwZSBOZ3RHZW9tZXRyeTxUR2VvbWV0cnkgZXh0ZW5kcyBUSFJFRS5CdWZmZXJHZW9tZXRyeSwgVENvbnN0cnVjdG9yPiA9IE5ndE5vZGU8VEdlb21ldHJ5LCBUQ29uc3RydWN0b3I+O1xuZXhwb3J0IHR5cGUgTmd0TWF0ZXJpYWw8VE1hdGVyaWFsIGV4dGVuZHMgVEhSRUUuTWF0ZXJpYWwsIFRDb25zdHJ1Y3Rvcj4gPSBOZ3ROb2RlPFRNYXRlcmlhbCwgVENvbnN0cnVjdG9yPjtcbmV4cG9ydCB0eXBlIE5ndExpZ2h0PFQgZXh0ZW5kcyBUSFJFRS5MaWdodCwgUD4gPSBOZ3RPYmplY3QzRE5vZGU8VCwgUD47XG5cbmV4cG9ydCB0eXBlIE5ndE9iamVjdDNEID0gTmd0T2JqZWN0M0ROb2RlPFRIUkVFLk9iamVjdDNELCB0eXBlb2YgVEhSRUUuT2JqZWN0M0Q+O1xuZXhwb3J0IHR5cGUgTmd0QXVkaW8gPSBOZ3RPYmplY3QzRE5vZGU8VEhSRUUuQXVkaW8sIHR5cGVvZiBUSFJFRS5BdWRpbz47XG5leHBvcnQgdHlwZSBOZ3RBdWRpb0xpc3RlbmVyID0gTmd0T2JqZWN0M0ROb2RlPFRIUkVFLkF1ZGlvTGlzdGVuZXIsIHR5cGVvZiBUSFJFRS5BdWRpb0xpc3RlbmVyPjtcbmV4cG9ydCB0eXBlIE5ndFBvc2l0aW9uYWxBdWRpbyA9IE5ndE9iamVjdDNETm9kZTxUSFJFRS5Qb3NpdGlvbmFsQXVkaW8sIHR5cGVvZiBUSFJFRS5Qb3NpdGlvbmFsQXVkaW8+O1xuXG5leHBvcnQgdHlwZSBOZ3RNZXNoID0gTmd0T2JqZWN0M0ROb2RlPFRIUkVFLk1lc2gsIHR5cGVvZiBUSFJFRS5NZXNoPjtcbmV4cG9ydCB0eXBlIE5ndEluc3RhbmNlZE1lc2ggPSBOZ3RPYmplY3QzRE5vZGU8VEhSRUUuSW5zdGFuY2VkTWVzaCwgdHlwZW9mIFRIUkVFLkluc3RhbmNlZE1lc2g+O1xuZXhwb3J0IHR5cGUgTmd0U2NlbmUgPSBOZ3RPYmplY3QzRE5vZGU8VEhSRUUuU2NlbmUsIHR5cGVvZiBUSFJFRS5TY2VuZT47XG5leHBvcnQgdHlwZSBOZ3RTcHJpdGUgPSBOZ3RPYmplY3QzRE5vZGU8VEhSRUUuU3ByaXRlLCB0eXBlb2YgVEhSRUUuU3ByaXRlPjtcbmV4cG9ydCB0eXBlIE5ndExPRCA9IE5ndE9iamVjdDNETm9kZTxUSFJFRS5MT0QsIHR5cGVvZiBUSFJFRS5MT0Q+O1xuZXhwb3J0IHR5cGUgTmd0U2tpbm5lZE1lc2ggPSBOZ3RPYmplY3QzRE5vZGU8VEhSRUUuU2tpbm5lZE1lc2gsIHR5cGVvZiBUSFJFRS5Ta2lubmVkTWVzaD47XG5cbmV4cG9ydCB0eXBlIE5ndFNrZWxldG9uID0gTmd0T2JqZWN0M0ROb2RlPFRIUkVFLlNrZWxldG9uLCB0eXBlb2YgVEhSRUUuU2tlbGV0b24+O1xuZXhwb3J0IHR5cGUgTmd0Qm9uZSA9IE5ndE9iamVjdDNETm9kZTxUSFJFRS5Cb25lLCB0eXBlb2YgVEhSRUUuQm9uZT47XG5leHBvcnQgdHlwZSBOZ3RMaW5lID0gTmd0T2JqZWN0M0ROb2RlPFRIUkVFLkxpbmUsIHR5cGVvZiBUSFJFRS5MaW5lPjtcbmV4cG9ydCB0eXBlIE5ndExpbmVTZWdtZW50cyA9IE5ndE9iamVjdDNETm9kZTxUSFJFRS5MaW5lU2VnbWVudHMsIHR5cGVvZiBUSFJFRS5MaW5lU2VnbWVudHM+O1xuZXhwb3J0IHR5cGUgTmd0TGluZUxvb3AgPSBOZ3RPYmplY3QzRE5vZGU8VEhSRUUuTGluZUxvb3AsIHR5cGVvZiBUSFJFRS5MaW5lTG9vcD47XG5leHBvcnQgdHlwZSBOZ3RQb2ludHMgPSBOZ3RPYmplY3QzRE5vZGU8VEhSRUUuUG9pbnRzLCB0eXBlb2YgVEhSRUUuUG9pbnRzPjtcbmV4cG9ydCB0eXBlIE5ndEdyb3VwID0gTmd0T2JqZWN0M0ROb2RlPFRIUkVFLkdyb3VwLCB0eXBlb2YgVEhSRUUuR3JvdXA+O1xuXG5leHBvcnQgdHlwZSBOZ3RDYW1lcmFOb2RlID0gTmd0T2JqZWN0M0ROb2RlPFRIUkVFLkNhbWVyYSwgdHlwZW9mIFRIUkVFLkNhbWVyYT47XG5leHBvcnQgdHlwZSBOZ3RQZXJzcGVjdGl2ZUNhbWVyYSA9IE5ndE9iamVjdDNETm9kZTxUSFJFRS5QZXJzcGVjdGl2ZUNhbWVyYSwgdHlwZW9mIFRIUkVFLlBlcnNwZWN0aXZlQ2FtZXJhPjtcbmV4cG9ydCB0eXBlIE5ndE9ydGhvZ3JhcGhpY0NhbWVyYSA9IE5ndE9iamVjdDNETm9kZTxUSFJFRS5PcnRob2dyYXBoaWNDYW1lcmEsIHR5cGVvZiBUSFJFRS5PcnRob2dyYXBoaWNDYW1lcmE+O1xuZXhwb3J0IHR5cGUgTmd0Q3ViZUNhbWVyYSA9IE5ndE9iamVjdDNETm9kZTxUSFJFRS5DdWJlQ2FtZXJhLCB0eXBlb2YgVEhSRUUuQ3ViZUNhbWVyYT47XG5leHBvcnQgdHlwZSBOZ3RBcnJheUNhbWVyYSA9IE5ndE9iamVjdDNETm9kZTxUSFJFRS5BcnJheUNhbWVyYSwgdHlwZW9mIFRIUkVFLkFycmF5Q2FtZXJhPjtcblxuZXhwb3J0IHR5cGUgTmd0SW5zdGFuY2VkQnVmZmVyR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxcblx0VEhSRUUuSW5zdGFuY2VkQnVmZmVyR2VvbWV0cnksXG5cdHR5cGVvZiBUSFJFRS5JbnN0YW5jZWRCdWZmZXJHZW9tZXRyeVxuPjtcbmV4cG9ydCB0eXBlIE5ndEJ1ZmZlckdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8VEhSRUUuQnVmZmVyR2VvbWV0cnksIHR5cGVvZiBUSFJFRS5CdWZmZXJHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RXaXJlZnJhbWVHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PFRIUkVFLldpcmVmcmFtZUdlb21ldHJ5LCB0eXBlb2YgVEhSRUUuV2lyZWZyYW1lR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0VGV0cmFoZWRyb25HZW9tZXRyeSA9IE5ndEdlb21ldHJ5PFRIUkVFLlRldHJhaGVkcm9uR2VvbWV0cnksIHR5cGVvZiBUSFJFRS5UZXRyYWhlZHJvbkdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndE9jdGFoZWRyb25HZW9tZXRyeSA9IE5ndEdlb21ldHJ5PFRIUkVFLk9jdGFoZWRyb25HZW9tZXRyeSwgdHlwZW9mIFRIUkVFLk9jdGFoZWRyb25HZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RJY29zYWhlZHJvbkdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8VEhSRUUuSWNvc2FoZWRyb25HZW9tZXRyeSwgdHlwZW9mIFRIUkVFLkljb3NhaGVkcm9uR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0RG9kZWNhaGVkcm9uR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxUSFJFRS5Eb2RlY2FoZWRyb25HZW9tZXRyeSwgdHlwZW9mIFRIUkVFLkRvZGVjYWhlZHJvbkdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndFBvbHloZWRyb25HZW9tZXRyeSA9IE5ndEdlb21ldHJ5PFRIUkVFLlBvbHloZWRyb25HZW9tZXRyeSwgdHlwZW9mIFRIUkVFLlBvbHloZWRyb25HZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RUdWJlR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxUSFJFRS5UdWJlR2VvbWV0cnksIHR5cGVvZiBUSFJFRS5UdWJlR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0VG9ydXNLbm90R2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxUSFJFRS5Ub3J1c0tub3RHZW9tZXRyeSwgdHlwZW9mIFRIUkVFLlRvcnVzS25vdEdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndFRvcnVzR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxUSFJFRS5Ub3J1c0dlb21ldHJ5LCB0eXBlb2YgVEhSRUUuVG9ydXNHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RTcGhlcmVHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PFRIUkVFLlNwaGVyZUdlb21ldHJ5LCB0eXBlb2YgVEhSRUUuU3BoZXJlR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0UmluZ0dlb21ldHJ5ID0gTmd0R2VvbWV0cnk8VEhSRUUuUmluZ0dlb21ldHJ5LCB0eXBlb2YgVEhSRUUuUmluZ0dlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndFBsYW5lR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxUSFJFRS5QbGFuZUdlb21ldHJ5LCB0eXBlb2YgVEhSRUUuUGxhbmVHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RMYXRoZUdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8VEhSRUUuTGF0aGVHZW9tZXRyeSwgdHlwZW9mIFRIUkVFLkxhdGhlR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0U2hhcGVHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PFRIUkVFLlNoYXBlR2VvbWV0cnksIHR5cGVvZiBUSFJFRS5TaGFwZUdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndEV4dHJ1ZGVHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PFRIUkVFLkV4dHJ1ZGVHZW9tZXRyeSwgdHlwZW9mIFRIUkVFLkV4dHJ1ZGVHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RFZGdlc0dlb21ldHJ5ID0gTmd0R2VvbWV0cnk8VEhSRUUuRWRnZXNHZW9tZXRyeSwgdHlwZW9mIFRIUkVFLkVkZ2VzR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0Q29uZUdlb21ldHJ5ID0gTmd0R2VvbWV0cnk8VEhSRUUuQ29uZUdlb21ldHJ5LCB0eXBlb2YgVEhSRUUuQ29uZUdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndEN5bGluZGVyR2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxUSFJFRS5DeWxpbmRlckdlb21ldHJ5LCB0eXBlb2YgVEhSRUUuQ3lsaW5kZXJHZW9tZXRyeT47XG5leHBvcnQgdHlwZSBOZ3RDaXJjbGVHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PFRIUkVFLkNpcmNsZUdlb21ldHJ5LCB0eXBlb2YgVEhSRUUuQ2lyY2xlR2VvbWV0cnk+O1xuZXhwb3J0IHR5cGUgTmd0Qm94R2VvbWV0cnkgPSBOZ3RHZW9tZXRyeTxUSFJFRS5Cb3hHZW9tZXRyeSwgdHlwZW9mIFRIUkVFLkJveEdlb21ldHJ5PjtcbmV4cG9ydCB0eXBlIE5ndENhcHN1bGVHZW9tZXRyeSA9IE5ndEdlb21ldHJ5PFRIUkVFLkNhcHN1bGVHZW9tZXRyeSwgdHlwZW9mIFRIUkVFLkNhcHN1bGVHZW9tZXRyeT47XG5cbmV4cG9ydCB0eXBlIE5ndFNoYWRvd01hdGVyaWFsID0gTmd0TWF0ZXJpYWw8VEhSRUUuU2hhZG93TWF0ZXJpYWwsIFtUSFJFRS5TaGFkZXJNYXRlcmlhbFBhcmFtZXRlcnNdPjtcbmV4cG9ydCB0eXBlIE5ndFNwcml0ZU1hdGVyaWFsID0gTmd0TWF0ZXJpYWw8VEhSRUUuU3ByaXRlTWF0ZXJpYWwsIFtUSFJFRS5TcHJpdGVNYXRlcmlhbFBhcmFtZXRlcnNdPjtcbmV4cG9ydCB0eXBlIE5ndFJhd1NoYWRlck1hdGVyaWFsID0gTmd0TWF0ZXJpYWw8VEhSRUUuUmF3U2hhZGVyTWF0ZXJpYWwsIFtUSFJFRS5TaGFkZXJNYXRlcmlhbFBhcmFtZXRlcnNdPjtcbmV4cG9ydCB0eXBlIE5ndFNoYWRlck1hdGVyaWFsID0gTmd0TWF0ZXJpYWw8VEhSRUUuU2hhZGVyTWF0ZXJpYWwsIFtUSFJFRS5TaGFkZXJNYXRlcmlhbFBhcmFtZXRlcnNdPjtcbmV4cG9ydCB0eXBlIE5ndFBvaW50c01hdGVyaWFsID0gTmd0TWF0ZXJpYWw8VEhSRUUuUG9pbnRzTWF0ZXJpYWwsIFtUSFJFRS5Qb2ludHNNYXRlcmlhbFBhcmFtZXRlcnNdPjtcbmV4cG9ydCB0eXBlIE5ndE1lc2hQaHlzaWNhbE1hdGVyaWFsID0gTmd0TWF0ZXJpYWw8VEhSRUUuTWVzaFBoeXNpY2FsTWF0ZXJpYWwsIFtUSFJFRS5NZXNoUGh5c2ljYWxNYXRlcmlhbFBhcmFtZXRlcnNdPjtcbmV4cG9ydCB0eXBlIE5ndE1lc2hTdGFuZGFyZE1hdGVyaWFsID0gTmd0TWF0ZXJpYWw8VEhSRUUuTWVzaFN0YW5kYXJkTWF0ZXJpYWwsIFtUSFJFRS5NZXNoU3RhbmRhcmRNYXRlcmlhbFBhcmFtZXRlcnNdPjtcbmV4cG9ydCB0eXBlIE5ndE1lc2hQaG9uZ01hdGVyaWFsID0gTmd0TWF0ZXJpYWw8VEhSRUUuTWVzaFBob25nTWF0ZXJpYWwsIFtUSFJFRS5NZXNoUGhvbmdNYXRlcmlhbFBhcmFtZXRlcnNdPjtcbmV4cG9ydCB0eXBlIE5ndE1lc2hUb29uTWF0ZXJpYWwgPSBOZ3RNYXRlcmlhbDxUSFJFRS5NZXNoVG9vbk1hdGVyaWFsLCBbVEhSRUUuTWVzaFRvb25NYXRlcmlhbFBhcmFtZXRlcnNdPjtcbmV4cG9ydCB0eXBlIE5ndE1lc2hOb3JtYWxNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPFRIUkVFLk1lc2hOb3JtYWxNYXRlcmlhbCwgW1RIUkVFLk1lc2hOb3JtYWxNYXRlcmlhbFBhcmFtZXRlcnNdPjtcbmV4cG9ydCB0eXBlIE5ndE1lc2hMYW1iZXJ0TWF0ZXJpYWwgPSBOZ3RNYXRlcmlhbDxUSFJFRS5NZXNoTGFtYmVydE1hdGVyaWFsLCBbVEhSRUUuTWVzaExhbWJlcnRNYXRlcmlhbFBhcmFtZXRlcnNdPjtcbmV4cG9ydCB0eXBlIE5ndE1lc2hEZXB0aE1hdGVyaWFsID0gTmd0TWF0ZXJpYWw8VEhSRUUuTWVzaERlcHRoTWF0ZXJpYWwsIFtUSFJFRS5NZXNoRGVwdGhNYXRlcmlhbFBhcmFtZXRlcnNdPjtcbmV4cG9ydCB0eXBlIE5ndE1lc2hEaXN0YW5jZU1hdGVyaWFsID0gTmd0TWF0ZXJpYWw8VEhSRUUuTWVzaERpc3RhbmNlTWF0ZXJpYWwsIFtUSFJFRS5NZXNoRGlzdGFuY2VNYXRlcmlhbFBhcmFtZXRlcnNdPjtcbmV4cG9ydCB0eXBlIE5ndE1lc2hCYXNpY01hdGVyaWFsID0gTmd0TWF0ZXJpYWw8VEhSRUUuTWVzaEJhc2ljTWF0ZXJpYWwsIFtUSFJFRS5NZXNoQmFzaWNNYXRlcmlhbFBhcmFtZXRlcnNdPjtcbmV4cG9ydCB0eXBlIE5ndE1lc2hNYXRjYXBNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPFRIUkVFLk1lc2hNYXRjYXBNYXRlcmlhbCwgW1RIUkVFLk1lc2hNYXRjYXBNYXRlcmlhbFBhcmFtZXRlcnNdPjtcbmV4cG9ydCB0eXBlIE5ndExpbmVEYXNoZWRNYXRlcmlhbCA9IE5ndE1hdGVyaWFsPFRIUkVFLkxpbmVEYXNoZWRNYXRlcmlhbCwgW1RIUkVFLkxpbmVEYXNoZWRNYXRlcmlhbFBhcmFtZXRlcnNdPjtcbmV4cG9ydCB0eXBlIE5ndExpbmVCYXNpY01hdGVyaWFsID0gTmd0TWF0ZXJpYWw8VEhSRUUuTGluZUJhc2ljTWF0ZXJpYWwsIFtUSFJFRS5MaW5lQmFzaWNNYXRlcmlhbFBhcmFtZXRlcnNdPjtcblxuZXhwb3J0IHR5cGUgTmd0UHJpbWl0aXZlID0gTmd0Tm9kZUVsZW1lbnQ8YW55LCBhbnk+O1xuZXhwb3J0IHR5cGUgTmd0VmFsdWUgPSBOZ3ROb2RlPHsgcmF3VmFsdWU6IGFueSB9LCB7fT47XG5cbmV4cG9ydCB0eXBlIE5ndExpZ2h0U2hhZG93ID0gTmd0Tm9kZTxUSFJFRS5MaWdodFNoYWRvdywgdHlwZW9mIFRIUkVFLkxpZ2h0U2hhZG93PjtcbmV4cG9ydCB0eXBlIE5ndFNwb3RMaWdodFNoYWRvdyA9IE5ndE5vZGU8VEhSRUUuU3BvdExpZ2h0U2hhZG93LCB0eXBlb2YgVEhSRUUuU3BvdExpZ2h0U2hhZG93PjtcbmV4cG9ydCB0eXBlIE5ndERpcmVjdGlvbmFsTGlnaHRTaGFkb3cgPSBOZ3ROb2RlPFRIUkVFLkRpcmVjdGlvbmFsTGlnaHRTaGFkb3csIHR5cGVvZiBUSFJFRS5EaXJlY3Rpb25hbExpZ2h0U2hhZG93PjtcblxuZXhwb3J0IHR5cGUgTmd0U3BvdExpZ2h0ID0gTmd0TGlnaHQ8VEhSRUUuU3BvdExpZ2h0LCB0eXBlb2YgVEhSRUUuU3BvdExpZ2h0PjtcbmV4cG9ydCB0eXBlIE5ndFBvaW50TGlnaHQgPSBOZ3RMaWdodDxUSFJFRS5Qb2ludExpZ2h0LCB0eXBlb2YgVEhSRUUuUG9pbnRMaWdodD47XG5leHBvcnQgdHlwZSBOZ3RSZWN0QXJlYUxpZ2h0ID0gTmd0TGlnaHQ8VEhSRUUuUmVjdEFyZWFMaWdodCwgdHlwZW9mIFRIUkVFLlJlY3RBcmVhTGlnaHQ+O1xuZXhwb3J0IHR5cGUgTmd0SGVtaXNwaGVyZUxpZ2h0ID0gTmd0TGlnaHQ8VEhSRUUuSGVtaXNwaGVyZUxpZ2h0LCB0eXBlb2YgVEhSRUUuSGVtaXNwaGVyZUxpZ2h0PjtcbmV4cG9ydCB0eXBlIE5ndERpcmVjdGlvbmFsTGlnaHQgPSBOZ3RMaWdodDxUSFJFRS5EaXJlY3Rpb25hbExpZ2h0LCB0eXBlb2YgVEhSRUUuRGlyZWN0aW9uYWxMaWdodD47XG5leHBvcnQgdHlwZSBOZ3RBbWJpZW50TGlnaHQgPSBOZ3RMaWdodDxUSFJFRS5BbWJpZW50TGlnaHQsIHR5cGVvZiBUSFJFRS5BbWJpZW50TGlnaHQ+O1xuZXhwb3J0IHR5cGUgTmd0QW1iaWVudExpZ2h0UHJvYmUgPSBOZ3RMaWdodDxUSFJFRS5BbWJpZW50TGlnaHRQcm9iZSwgdHlwZW9mIFRIUkVFLkFtYmllbnRMaWdodFByb2JlPjtcbmV4cG9ydCB0eXBlIE5ndEhlbWlzcGhlcmVMaWdodFByb2JlID0gTmd0TGlnaHQ8VEhSRUUuSGVtaXNwaGVyZUxpZ2h0UHJvYmUsIHR5cGVvZiBUSFJFRS5IZW1pc3BoZXJlTGlnaHRQcm9iZT47XG5leHBvcnQgdHlwZSBOZ3RMaWdodFByb2JlID0gTmd0TGlnaHQ8VEhSRUUuTGlnaHRQcm9iZSwgdHlwZW9mIFRIUkVFLkxpZ2h0UHJvYmU+O1xuXG5leHBvcnQgdHlwZSBOZ3RTcG90TGlnaHRIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8VEhSRUUuU3BvdExpZ2h0SGVscGVyLCB0eXBlb2YgVEhSRUUuU3BvdExpZ2h0SGVscGVyPjtcbmV4cG9ydCB0eXBlIE5ndFNrZWxldG9uSGVscGVyID0gTmd0T2JqZWN0M0ROb2RlPFRIUkVFLlNrZWxldG9uSGVscGVyLCB0eXBlb2YgVEhSRUUuU2tlbGV0b25IZWxwZXI+O1xuZXhwb3J0IHR5cGUgTmd0UG9pbnRMaWdodEhlbHBlciA9IE5ndE9iamVjdDNETm9kZTxUSFJFRS5Qb2ludExpZ2h0SGVscGVyLCB0eXBlb2YgVEhSRUUuUG9pbnRMaWdodEhlbHBlcj47XG5leHBvcnQgdHlwZSBOZ3RIZW1pc3BoZXJlTGlnaHRIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8VEhSRUUuSGVtaXNwaGVyZUxpZ2h0SGVscGVyLCB0eXBlb2YgVEhSRUUuSGVtaXNwaGVyZUxpZ2h0SGVscGVyPjtcbmV4cG9ydCB0eXBlIE5ndEdyaWRIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8VEhSRUUuR3JpZEhlbHBlciwgdHlwZW9mIFRIUkVFLkdyaWRIZWxwZXI+O1xuZXhwb3J0IHR5cGUgTmd0UG9sYXJHcmlkSGVscGVyID0gTmd0T2JqZWN0M0ROb2RlPFRIUkVFLlBvbGFyR3JpZEhlbHBlciwgdHlwZW9mIFRIUkVFLlBvbGFyR3JpZEhlbHBlcj47XG5leHBvcnQgdHlwZSBOZ3REaXJlY3Rpb25hbExpZ2h0SGVscGVyID0gTmd0T2JqZWN0M0ROb2RlPFxuXHRUSFJFRS5EaXJlY3Rpb25hbExpZ2h0SGVscGVyLFxuXHR0eXBlb2YgVEhSRUUuRGlyZWN0aW9uYWxMaWdodEhlbHBlclxuPjtcbmV4cG9ydCB0eXBlIE5ndENhbWVyYUhlbHBlciA9IE5ndE9iamVjdDNETm9kZTxUSFJFRS5DYW1lcmFIZWxwZXIsIHR5cGVvZiBUSFJFRS5DYW1lcmFIZWxwZXI+O1xuZXhwb3J0IHR5cGUgTmd0Qm94SGVscGVyID0gTmd0T2JqZWN0M0ROb2RlPFRIUkVFLkJveEhlbHBlciwgdHlwZW9mIFRIUkVFLkJveEhlbHBlcj47XG5leHBvcnQgdHlwZSBOZ3RCb3gzSGVscGVyID0gTmd0T2JqZWN0M0ROb2RlPFRIUkVFLkJveDNIZWxwZXIsIHR5cGVvZiBUSFJFRS5Cb3gzSGVscGVyPjtcbmV4cG9ydCB0eXBlIE5ndFBsYW5lSGVscGVyID0gTmd0T2JqZWN0M0ROb2RlPFRIUkVFLlBsYW5lSGVscGVyLCB0eXBlb2YgVEhSRUUuUGxhbmVIZWxwZXI+O1xuZXhwb3J0IHR5cGUgTmd0QXJyb3dIZWxwZXIgPSBOZ3RPYmplY3QzRE5vZGU8VEhSRUUuQXJyb3dIZWxwZXIsIHR5cGVvZiBUSFJFRS5BcnJvd0hlbHBlcj47XG5leHBvcnQgdHlwZSBOZ3RBeGVzSGVscGVyID0gTmd0T2JqZWN0M0ROb2RlPFRIUkVFLkF4ZXNIZWxwZXIsIHR5cGVvZiBUSFJFRS5BeGVzSGVscGVyPjtcblxuZXhwb3J0IHR5cGUgTmd0VGV4dHVyZSA9IE5ndE5vZGU8VEhSRUUuVGV4dHVyZSwgdHlwZW9mIFRIUkVFLlRleHR1cmU+O1xuZXhwb3J0IHR5cGUgTmd0VmlkZW9UZXh0dXJlID0gTmd0Tm9kZTxUSFJFRS5WaWRlb1RleHR1cmUsIHR5cGVvZiBUSFJFRS5WaWRlb1RleHR1cmU+O1xuZXhwb3J0IHR5cGUgTmd0RGF0YVRleHR1cmUgPSBOZ3ROb2RlPFRIUkVFLkRhdGFUZXh0dXJlLCB0eXBlb2YgVEhSRUUuRGF0YVRleHR1cmU+O1xuZXhwb3J0IHR5cGUgTmd0RGF0YTNEVGV4dHVyZSA9IE5ndE5vZGU8VEhSRUUuRGF0YTNEVGV4dHVyZSwgdHlwZW9mIFRIUkVFLkRhdGEzRFRleHR1cmU+O1xuZXhwb3J0IHR5cGUgTmd0Q29tcHJlc3NlZFRleHR1cmUgPSBOZ3ROb2RlPFRIUkVFLkNvbXByZXNzZWRUZXh0dXJlLCB0eXBlb2YgVEhSRUUuQ29tcHJlc3NlZFRleHR1cmU+O1xuZXhwb3J0IHR5cGUgTmd0Q3ViZVRleHR1cmUgPSBOZ3ROb2RlPFRIUkVFLkN1YmVUZXh0dXJlLCB0eXBlb2YgVEhSRUUuQ3ViZVRleHR1cmU+O1xuZXhwb3J0IHR5cGUgTmd0Q2FudmFzVGV4dHVyZSA9IE5ndE5vZGU8VEhSRUUuQ2FudmFzVGV4dHVyZSwgdHlwZW9mIFRIUkVFLkNhbnZhc1RleHR1cmU+O1xuZXhwb3J0IHR5cGUgTmd0RGVwdGhUZXh0dXJlID0gTmd0Tm9kZTxUSFJFRS5EZXB0aFRleHR1cmUsIHR5cGVvZiBUSFJFRS5EZXB0aFRleHR1cmU+O1xuXG5leHBvcnQgdHlwZSBOZ3RSYXljYXN0ZXIgPSBOZ3ROb2RlPFRIUkVFLlJheWNhc3RlciwgdHlwZW9mIFRIUkVFLlJheWNhc3Rlcj47XG5leHBvcnQgdHlwZSBOZ3RWZWN0b3IyTm9kZSA9IE5ndE5vZGU8VEhSRUUuVmVjdG9yMiwgdHlwZW9mIFRIUkVFLlZlY3RvcjI+O1xuZXhwb3J0IHR5cGUgTmd0VmVjdG9yM05vZGUgPSBOZ3ROb2RlPFRIUkVFLlZlY3RvcjMsIHR5cGVvZiBUSFJFRS5WZWN0b3IzPjtcbmV4cG9ydCB0eXBlIE5ndFZlY3RvcjROb2RlID0gTmd0Tm9kZTxUSFJFRS5WZWN0b3I0LCB0eXBlb2YgVEhSRUUuVmVjdG9yND47XG5leHBvcnQgdHlwZSBOZ3RFdWxlck5vZGUgPSBOZ3ROb2RlPFRIUkVFLkV1bGVyLCB0eXBlb2YgVEhSRUUuRXVsZXI+O1xuZXhwb3J0IHR5cGUgTmd0TWF0cml4M05vZGUgPSBOZ3ROb2RlPFRIUkVFLk1hdHJpeDMsIHR5cGVvZiBUSFJFRS5NYXRyaXgzPjtcbmV4cG9ydCB0eXBlIE5ndE1hdHJpeDROb2RlID0gTmd0Tm9kZTxUSFJFRS5NYXRyaXg0LCB0eXBlb2YgVEhSRUUuTWF0cml4ND47XG5leHBvcnQgdHlwZSBOZ3RRdWF0ZXJuaW9uTm9kZSA9IE5ndE5vZGU8VEhSRUUuUXVhdGVybmlvbiwgdHlwZW9mIFRIUkVFLlF1YXRlcm5pb24+O1xuZXhwb3J0IHR5cGUgTmd0QnVmZmVyQXR0cmlidXRlID0gTmd0Tm9kZTxUSFJFRS5CdWZmZXJBdHRyaWJ1dGUsIHR5cGVvZiBUSFJFRS5CdWZmZXJBdHRyaWJ1dGU+O1xuZXhwb3J0IHR5cGUgTmd0RmxvYXQxNkJ1ZmZlckF0dHJpYnV0ZSA9IE5ndE5vZGU8VEhSRUUuRmxvYXQxNkJ1ZmZlckF0dHJpYnV0ZSwgdHlwZW9mIFRIUkVFLkZsb2F0MTZCdWZmZXJBdHRyaWJ1dGU+O1xuZXhwb3J0IHR5cGUgTmd0RmxvYXQzMkJ1ZmZlckF0dHJpYnV0ZSA9IE5ndE5vZGU8VEhSRUUuRmxvYXQzMkJ1ZmZlckF0dHJpYnV0ZSwgdHlwZW9mIFRIUkVFLkZsb2F0MzJCdWZmZXJBdHRyaWJ1dGU+O1xuZXhwb3J0IHR5cGUgTmd0RmxvYXQ2NEJ1ZmZlckF0dHJpYnV0ZSA9IE5ndE5vZGU8VEhSRUUuRmxvYXQ2NEJ1ZmZlckF0dHJpYnV0ZSwgdHlwZW9mIFRIUkVFLkZsb2F0NjRCdWZmZXJBdHRyaWJ1dGU+O1xuZXhwb3J0IHR5cGUgTmd0SW50OEJ1ZmZlckF0dHJpYnV0ZSA9IE5ndE5vZGU8VEhSRUUuSW50OEJ1ZmZlckF0dHJpYnV0ZSwgdHlwZW9mIFRIUkVFLkludDhCdWZmZXJBdHRyaWJ1dGU+O1xuZXhwb3J0IHR5cGUgTmd0SW50MTZCdWZmZXJBdHRyaWJ1dGUgPSBOZ3ROb2RlPFRIUkVFLkludDE2QnVmZmVyQXR0cmlidXRlLCB0eXBlb2YgVEhSRUUuSW50MTZCdWZmZXJBdHRyaWJ1dGU+O1xuZXhwb3J0IHR5cGUgTmd0SW50MzJCdWZmZXJBdHRyaWJ1dGUgPSBOZ3ROb2RlPFRIUkVFLkludDMyQnVmZmVyQXR0cmlidXRlLCB0eXBlb2YgVEhSRUUuSW50MzJCdWZmZXJBdHRyaWJ1dGU+O1xuZXhwb3J0IHR5cGUgTmd0VWludDhCdWZmZXJBdHRyaWJ1dGUgPSBOZ3ROb2RlPFRIUkVFLlVpbnQ4QnVmZmVyQXR0cmlidXRlLCB0eXBlb2YgVEhSRUUuVWludDhCdWZmZXJBdHRyaWJ1dGU+O1xuZXhwb3J0IHR5cGUgTmd0VWludDE2QnVmZmVyQXR0cmlidXRlID0gTmd0Tm9kZTxUSFJFRS5VaW50MTZCdWZmZXJBdHRyaWJ1dGUsIHR5cGVvZiBUSFJFRS5VaW50MTZCdWZmZXJBdHRyaWJ1dGU+O1xuZXhwb3J0IHR5cGUgTmd0VWludDMyQnVmZmVyQXR0cmlidXRlID0gTmd0Tm9kZTxUSFJFRS5VaW50MzJCdWZmZXJBdHRyaWJ1dGUsIHR5cGVvZiBUSFJFRS5VaW50MzJCdWZmZXJBdHRyaWJ1dGU+O1xuZXhwb3J0IHR5cGUgTmd0SW5zdGFuY2VkQnVmZmVyQXR0cmlidXRlID0gTmd0Tm9kZTxcblx0VEhSRUUuSW5zdGFuY2VkQnVmZmVyQXR0cmlidXRlLFxuXHR0eXBlb2YgVEhSRUUuSW5zdGFuY2VkQnVmZmVyQXR0cmlidXRlXG4+O1xuZXhwb3J0IHR5cGUgTmd0Q29sb3IgPSBOZ3ROb2RlPFRIUkVFLkNvbG9yLCBUSFJFRS5Db2xvclJlcHJlc2VudGF0aW9uPjtcbmV4cG9ydCB0eXBlIE5ndEZvZyA9IE5ndE5vZGU8VEhSRUUuRm9nLCB0eXBlb2YgVEhSRUUuRm9nPjtcbmV4cG9ydCB0eXBlIE5ndEZvZ0V4cDIgPSBOZ3ROb2RlPFRIUkVFLkZvZ0V4cDIsIHR5cGVvZiBUSFJFRS5Gb2dFeHAyPjtcbmV4cG9ydCB0eXBlIE5ndFNoYXBlID0gTmd0Tm9kZTxUSFJFRS5TaGFwZSwgdHlwZW9mIFRIUkVFLlNoYXBlPjtcblxuZXhwb3J0IGludGVyZmFjZSBUaHJlZUVsZW1lbnRzIHtcblx0J25ndC1vYmplY3QzRCc6IE5ndE9iamVjdDNEO1xuXG5cdC8vIGBhdWRpb2Agd29ya3MgYnV0IGNvbmZsaWN0cyB3aXRoIEB0eXBlcy9yZWFjdC4gVHJ5IHVzaW5nIFBvc2l0aW9uYWxBdWRpbyBmcm9tIEByZWFjdC10aHJlZS9kcmVpIGluc3RlYWRcblx0J25ndC1hdWRpbyc6IE5ndEF1ZGlvO1xuXHQnbmd0LWF1ZGlvLWxpc3RlbmVyJzogTmd0QXVkaW9MaXN0ZW5lcjtcblx0J25ndC1wb3NpdGlvbmFsLWF1ZGlvJzogTmd0UG9zaXRpb25hbEF1ZGlvO1xuXG5cdCduZ3QtbWVzaCc6IE5ndE1lc2g7XG5cdCduZ3QtaW5zdGFuY2VkLW1lc2gnOiBOZ3RJbnN0YW5jZWRNZXNoO1xuXHQnbmd0LXNjZW5lJzogTmd0U2NlbmU7XG5cdCduZ3Qtc3ByaXRlJzogTmd0U3ByaXRlO1xuXHQnbmd0LWxPRCc6IE5ndExPRDtcblx0J25ndC1za2lubmVkLW1lc2gnOiBOZ3RTa2lubmVkTWVzaDtcblx0J25ndC1za2VsZXRvbic6IE5ndFNrZWxldG9uO1xuXHQnbmd0LWJvbmUnOiBOZ3RCb25lO1xuXG5cdCduZ3QtbGluZSc6IE5ndExpbmU7XG5cdCduZ3QtbGluZS1zZWdtZW50cyc6IE5ndExpbmVTZWdtZW50cztcblx0J25ndC1saW5lLWxvb3AnOiBOZ3RMaW5lTG9vcDtcblx0J25ndC1wb2ludHMnOiBOZ3RQb2ludHM7XG5cdCduZ3QtZ3JvdXAnOiBOZ3RHcm91cDtcblxuXHQvLyBjYW1lcmFzXG5cdCduZ3QtY2FtZXJhJzogTmd0Q2FtZXJhTm9kZTtcblx0J25ndC1wZXJzcGVjdGl2ZS1jYW1lcmEnOiBOZ3RQZXJzcGVjdGl2ZUNhbWVyYTtcblx0J25ndC1vcnRob2dyYXBoaWMtY2FtZXJhJzogTmd0T3J0aG9ncmFwaGljQ2FtZXJhO1xuXHQnbmd0LWN1YmUtY2FtZXJhJzogTmd0Q3ViZUNhbWVyYTtcblx0J25ndC1hcnJheS1jYW1lcmEnOiBOZ3RBcnJheUNhbWVyYTtcblxuXHQvLyBnZW9tZXRyeVxuXHQnbmd0LWluc3RhbmNlZC1idWZmZXItZ2VvbWV0cnknOiBOZ3RJbnN0YW5jZWRCdWZmZXJHZW9tZXRyeTtcblx0J25ndC1idWZmZXItZ2VvbWV0cnknOiBOZ3RCdWZmZXJHZW9tZXRyeTtcblx0J25ndC13aXJlZnJhbWUtZ2VvbWV0cnknOiBOZ3RXaXJlZnJhbWVHZW9tZXRyeTtcblx0J25ndC10ZXRyYWhlZHJvbi1nZW9tZXRyeSc6IE5ndFRldHJhaGVkcm9uR2VvbWV0cnk7XG5cdCduZ3Qtb2N0YWhlZHJvbi1nZW9tZXRyeSc6IE5ndE9jdGFoZWRyb25HZW9tZXRyeTtcblx0J25ndC1pY29zYWhlZHJvbi1nZW9tZXRyeSc6IE5ndEljb3NhaGVkcm9uR2VvbWV0cnk7XG5cdCduZ3QtcG9seWhlZHJvbi1nZW9tZXRyeSc6IE5ndFBvbHloZWRyb25HZW9tZXRyeTtcblx0J25ndC1kb2RlY2FoZWRyb24tZ2VvbWV0cnknOiBOZ3REb2RlY2FoZWRyb25HZW9tZXRyeTtcblx0J25ndC10dWJlLWdlb21ldHJ5JzogTmd0VHViZUdlb21ldHJ5O1xuXHQnbmd0LXRvcnVzLWtub3QtZ2VvbWV0cnknOiBOZ3RUb3J1c0tub3RHZW9tZXRyeTtcblx0J25ndC10b3J1cy1nZW9tZXRyeSc6IE5ndFRvcnVzR2VvbWV0cnk7XG5cdCduZ3Qtc3BoZXJlLWdlb21ldHJ5JzogTmd0U3BoZXJlR2VvbWV0cnk7XG5cdCduZ3QtcmluZy1nZW9tZXRyeSc6IE5ndFJpbmdHZW9tZXRyeTtcblx0J25ndC1wbGFuZS1nZW9tZXRyeSc6IE5ndFBsYW5lR2VvbWV0cnk7XG5cdCduZ3QtbGF0aGUtZ2VvbWV0cnknOiBOZ3RMYXRoZUdlb21ldHJ5O1xuXHQnbmd0LXNoYXBlLWdlb21ldHJ5JzogTmd0U2hhcGVHZW9tZXRyeTtcblx0J25ndC1leHRydWRlLWdlb21ldHJ5JzogTmd0RXh0cnVkZUdlb21ldHJ5O1xuXHQnbmd0LWVkZ2VzLWdlb21ldHJ5JzogTmd0RWRnZXNHZW9tZXRyeTtcblx0J25ndC1jb25lLWdlb21ldHJ5JzogTmd0Q29uZUdlb21ldHJ5O1xuXHQnbmd0LWN5bGluZGVyLWdlb21ldHJ5JzogTmd0Q3lsaW5kZXJHZW9tZXRyeTtcblx0J25ndC1jaXJjbGUtZ2VvbWV0cnknOiBOZ3RDaXJjbGVHZW9tZXRyeTtcblx0J25ndC1ib3gtZ2VvbWV0cnknOiBOZ3RCb3hHZW9tZXRyeTtcblx0J25ndC1jYXBzdWxlLWdlb21ldHJ5JzogTmd0Q2Fwc3VsZUdlb21ldHJ5O1xuXG5cdC8vIG1hdGVyaWFsc1xuXHQnbmd0LXNoYWRvdy1tYXRlcmlhbCc6IE5ndFNoYWRvd01hdGVyaWFsO1xuXHQnbmd0LXNwcml0ZS1tYXRlcmlhbCc6IE5ndFNwcml0ZU1hdGVyaWFsO1xuXHQnbmd0LXJhdy1zaGFkZXItbWF0ZXJpYWwnOiBOZ3RSYXdTaGFkZXJNYXRlcmlhbDtcblx0J25ndC1zaGFkZXItbWF0ZXJpYWwnOiBOZ3RTaGFkZXJNYXRlcmlhbDtcblx0J25ndC1wb2ludHMtbWF0ZXJpYWwnOiBOZ3RQb2ludHNNYXRlcmlhbDtcblx0J25ndC1tZXNoLXBoeXNpY2FsLW1hdGVyaWFsJzogTmd0TWVzaFBoeXNpY2FsTWF0ZXJpYWw7XG5cdCduZ3QtbWVzaC1zdGFuZGFyZC1tYXRlcmlhbCc6IE5ndE1lc2hTdGFuZGFyZE1hdGVyaWFsO1xuXHQnbmd0LW1lc2gtcGhvbmctbWF0ZXJpYWwnOiBOZ3RNZXNoUGhvbmdNYXRlcmlhbDtcblx0J25ndC1tZXNoLXRvb24tbWF0ZXJpYWwnOiBOZ3RNZXNoVG9vbk1hdGVyaWFsO1xuXHQnbmd0LW1lc2gtbm9ybWFsLW1hdGVyaWFsJzogTmd0TWVzaE5vcm1hbE1hdGVyaWFsO1xuXHQnbmd0LW1lc2gtbGFtYmVydC1tYXRlcmlhbCc6IE5ndE1lc2hMYW1iZXJ0TWF0ZXJpYWw7XG5cdCduZ3QtbWVzaC1kZXB0aC1tYXRlcmlhbCc6IE5ndE1lc2hEZXB0aE1hdGVyaWFsO1xuXHQnbmd0LW1lc2gtZGlzdGFuY2UtbWF0ZXJpYWwnOiBOZ3RNZXNoRGlzdGFuY2VNYXRlcmlhbDtcblx0J25ndC1tZXNoLWJhc2ljLW1hdGVyaWFsJzogTmd0TWVzaEJhc2ljTWF0ZXJpYWw7XG5cdCduZ3QtbWVzaC1tYXRjYXAtbWF0ZXJpYWwnOiBOZ3RNZXNoTWF0Y2FwTWF0ZXJpYWw7XG5cdCduZ3QtbGluZS1kYXNoZWQtbWF0ZXJpYWwnOiBOZ3RMaW5lRGFzaGVkTWF0ZXJpYWw7XG5cdCduZ3QtbGluZS1iYXNpYy1tYXRlcmlhbCc6IE5ndExpbmVCYXNpY01hdGVyaWFsO1xuXG5cdC8vIHByaW1pdGl2ZVxuXHQnbmd0LXByaW1pdGl2ZSc6IE5ndFByaW1pdGl2ZTtcblxuXHQvLyByYXdWYWx1ZVxuXHQnbmd0LXZhbHVlJzogTmd0VmFsdWU7XG5cblx0Ly8gbGlnaHRzIGFuZCBvdGhlclxuXHQnbmd0LXNwb3QtbGlnaHQtc2hhZG93JzogTmd0U3BvdExpZ2h0U2hhZG93O1xuXHQnbmd0LXNwb3QtbGlnaHQnOiBOZ3RTcG90TGlnaHQ7XG5cdCduZ3QtcG9pbnQtbGlnaHQnOiBOZ3RQb2ludExpZ2h0O1xuXHQnbmd0LXJlY3QtYXJlYS1saWdodCc6IE5ndFJlY3RBcmVhTGlnaHQ7XG5cdCduZ3QtaGVtaXNwaGVyZS1saWdodCc6IE5ndEhlbWlzcGhlcmVMaWdodDtcblx0J25ndC1kaXJlY3Rpb25hbC1saWdodC1zaGFkb3cnOiBOZ3REaXJlY3Rpb25hbExpZ2h0U2hhZG93O1xuXHQnbmd0LWRpcmVjdGlvbmFsLWxpZ2h0JzogTmd0RGlyZWN0aW9uYWxMaWdodDtcblx0J25ndC1hbWJpZW50LWxpZ2h0JzogTmd0QW1iaWVudExpZ2h0O1xuXHQnbmd0LWxpZ2h0LXNoYWRvdyc6IE5ndExpZ2h0U2hhZG93O1xuXHQnbmd0LWFtYmllbnQtbGlnaHQtcHJvYmUnOiBOZ3RBbWJpZW50TGlnaHRQcm9iZTtcblx0J25ndC1oZW1pc3BoZXJlLWxpZ2h0LXByb2JlJzogTmd0SGVtaXNwaGVyZUxpZ2h0UHJvYmU7XG5cdCduZ3QtbGlnaHQtcHJvYmUnOiBOZ3RMaWdodFByb2JlO1xuXG5cdC8vIGhlbHBlcnNcblx0J25ndC1zcG90LWxpZ2h0LWhlbHBlcic6IE5ndFNwb3RMaWdodEhlbHBlcjtcblx0J25ndC1za2VsZXRvbi1oZWxwZXInOiBOZ3RTa2VsZXRvbkhlbHBlcjtcblx0J25ndC1wb2ludC1saWdodC1oZWxwZXInOiBOZ3RQb2ludExpZ2h0SGVscGVyO1xuXHQnbmd0LWhlbWlzcGhlcmUtbGlnaHQtaGVscGVyJzogTmd0SGVtaXNwaGVyZUxpZ2h0SGVscGVyO1xuXHQnbmd0LWdyaWQtaGVscGVyJzogTmd0R3JpZEhlbHBlcjtcblx0J25ndC1wb2xhci1ncmlkLWhlbHBlcic6IE5ndFBvbGFyR3JpZEhlbHBlcjtcblx0J25ndC1kaXJlY3Rpb25hbC1saWdodC1oZWxwZXInOiBOZ3REaXJlY3Rpb25hbExpZ2h0SGVscGVyO1xuXHQnbmd0LWNhbWVyYS1oZWxwZXInOiBOZ3RDYW1lcmFIZWxwZXI7XG5cdCduZ3QtYm94LWhlbHBlcic6IE5ndEJveEhlbHBlcjtcblx0J25ndC1ib3gzLWhlbHBlcic6IE5ndEJveDNIZWxwZXI7XG5cdCduZ3QtcGxhbmUtaGVscGVyJzogTmd0UGxhbmVIZWxwZXI7XG5cdCduZ3QtYXJyb3ctaGVscGVyJzogTmd0QXJyb3dIZWxwZXI7XG5cdCduZ3QtYXhlcy1oZWxwZXInOiBOZ3RBeGVzSGVscGVyO1xuXG5cdC8vIHRleHR1cmVzXG5cdCduZ3QtdGV4dHVyZSc6IE5ndFRleHR1cmU7XG5cdCduZ3QtdmlkZW8tdGV4dHVyZSc6IE5ndFZpZGVvVGV4dHVyZTtcblx0J25ndC1kYXRhLXRleHR1cmUnOiBOZ3REYXRhVGV4dHVyZTtcblx0J25ndC1kYXRhM0QtdGV4dHVyZSc6IE5ndERhdGEzRFRleHR1cmU7XG5cdCduZ3QtY29tcHJlc3NlZC10ZXh0dXJlJzogTmd0Q29tcHJlc3NlZFRleHR1cmU7XG5cdCduZ3QtY3ViZS10ZXh0dXJlJzogTmd0Q3ViZVRleHR1cmU7XG5cdCduZ3QtY2FudmFzLXRleHR1cmUnOiBOZ3RDYW52YXNUZXh0dXJlO1xuXHQnbmd0LWRlcHRoLXRleHR1cmUnOiBOZ3REZXB0aFRleHR1cmU7XG5cblx0Ly8gbWlzY1xuXHQnbmd0LXJheWNhc3Rlcic6IE5ndFJheWNhc3Rlcjtcblx0J25ndC12ZWN0b3IyJzogTmd0VmVjdG9yMk5vZGU7XG5cdCduZ3QtdmVjdG9yMyc6IE5ndFZlY3RvcjNOb2RlO1xuXHQnbmd0LXZlY3RvcjQnOiBOZ3RWZWN0b3I0Tm9kZTtcblx0J25ndC1ldWxlcic6IE5ndEV1bGVyTm9kZTtcblx0J25ndC1tYXRyaXgzJzogTmd0TWF0cml4M05vZGU7XG5cdCduZ3QtbWF0cml4NCc6IE5ndE1hdHJpeDROb2RlO1xuXHQnbmd0LXF1YXRlcm5pb24nOiBOZ3RRdWF0ZXJuaW9uTm9kZTtcblx0J25ndC1idWZmZXItYXR0cmlidXRlJzogTmd0QnVmZmVyQXR0cmlidXRlO1xuXHQnbmd0LWZsb2F0MTYtYnVmZmVyLWF0dHJpYnV0ZSc6IE5ndEZsb2F0MTZCdWZmZXJBdHRyaWJ1dGU7XG5cdCduZ3QtZmxvYXQzMi1idWZmZXItYXR0cmlidXRlJzogTmd0RmxvYXQzMkJ1ZmZlckF0dHJpYnV0ZTtcblx0J25ndC1mbG9hdDY0LWJ1ZmZlci1hdHRyaWJ1dGUnOiBOZ3RGbG9hdDY0QnVmZmVyQXR0cmlidXRlO1xuXHQnbmd0LWludDgtYnVmZmVyLWF0dHJpYnV0ZSc6IE5ndEludDhCdWZmZXJBdHRyaWJ1dGU7XG5cdCduZ3QtaW50MTYtYnVmZmVyLWF0dHJpYnV0ZSc6IE5ndEludDE2QnVmZmVyQXR0cmlidXRlO1xuXHQnbmd0LWludDMyLWJ1ZmZlci1hdHRyaWJ1dGUnOiBOZ3RJbnQzMkJ1ZmZlckF0dHJpYnV0ZTtcblx0J25ndC11bml0OC1idWZmZXItYXR0cmlidXRlJzogTmd0VWludDhCdWZmZXJBdHRyaWJ1dGU7XG5cdCduZ3QtdW5pdDE2LWJ1ZmZlci1hdHRyaWJ1dGUnOiBOZ3RVaW50MTZCdWZmZXJBdHRyaWJ1dGU7XG5cdCduZ3QtdW5pdDMyLWJ1ZmZlci1hdHRyaWJ1dGUnOiBOZ3RVaW50MzJCdWZmZXJBdHRyaWJ1dGU7XG5cdCduZ3QtaW5zdGFuY2VkLWJ1ZmZlci1hdHRyaWJ1dGUnOiBOZ3RJbnN0YW5jZWRCdWZmZXJBdHRyaWJ1dGU7XG5cdCduZ3QtY29sb3InOiBOZ3RDb2xvcjtcblx0J25ndC1mb2cnOiBOZ3RGb2c7XG5cdCduZ3QtZm9nLWV4cDInOiBOZ3RGb2dFeHAyO1xuXHQnbmd0LXNoYXBlJzogTmd0U2hhcGU7XG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcblx0aW50ZXJmYWNlIEhUTUxFbGVtZW50VGFnTmFtZU1hcCBleHRlbmRzIFRocmVlRWxlbWVudHMge31cbn1cbiJdfQ==
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Injector, assertInInjectionContext, inject } from '@angular/core';
|
|
2
|
-
export function assertInjectionContext(fn, injector) {
|
|
3
|
-
try {
|
|
4
|
-
if (!injector) {
|
|
5
|
-
return inject(Injector);
|
|
6
|
-
}
|
|
7
|
-
return injector;
|
|
8
|
-
}
|
|
9
|
-
catch {
|
|
10
|
-
!injector && assertInInjectionContext(fn);
|
|
11
|
-
return null;
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXJ0LWluamVjdGlvbi1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3NyYy9saWIvdXRpbHMvYXNzZXJ0LWluamVjdGlvbi1jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNFLE1BQU0sVUFBVSxzQkFBc0IsQ0FBQyxFQUFZLEVBQUUsUUFBbUI7SUFDdkUsSUFBSTtRQUNILElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZCxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUN4QjtRQUNELE9BQU8sUUFBUSxDQUFDO0tBQ2hCO0lBQUMsTUFBTTtRQUNQLENBQUMsUUFBUSxJQUFJLHdCQUF3QixDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLE9BQU8sSUFBSyxDQUFDO0tBQ2I7QUFDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0b3IsIGFzc2VydEluSW5qZWN0aW9uQ29udGV4dCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRJbmplY3Rpb25Db250ZXh0KGZuOiBGdW5jdGlvbiwgaW5qZWN0b3I/OiBJbmplY3Rvcik6IEluamVjdG9yIHtcblx0dHJ5IHtcblx0XHRpZiAoIWluamVjdG9yKSB7XG5cdFx0XHRyZXR1cm4gaW5qZWN0KEluamVjdG9yKTtcblx0XHR9XG5cdFx0cmV0dXJuIGluamVjdG9yO1xuXHR9IGNhdGNoIHtcblx0XHQhaW5qZWN0b3IgJiYgYXNzZXJ0SW5JbmplY3Rpb25Db250ZXh0KGZuKTtcblx0XHRyZXR1cm4gbnVsbCE7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { Host, InjectionToken, Optional, Self, SkipSelf, inject, } from '@angular/core';
|
|
2
|
-
function createInjectFn(token) {
|
|
3
|
-
return (injectOptions) => inject(token, injectOptions);
|
|
4
|
-
}
|
|
5
|
-
function createProvideFn(token, factory, deps, extraProviders) {
|
|
6
|
-
return (value) => {
|
|
7
|
-
let provider;
|
|
8
|
-
if (value) {
|
|
9
|
-
provider = { provide: token, useValue: value };
|
|
10
|
-
}
|
|
11
|
-
else {
|
|
12
|
-
provider = { provide: token, useFactory: factory, deps: (deps ?? []) };
|
|
13
|
-
}
|
|
14
|
-
return extraProviders ? [extraProviders, provider] : provider;
|
|
15
|
-
};
|
|
16
|
-
}
|
|
17
|
-
export function createInjectionToken(factory, options) {
|
|
18
|
-
const opts = options ?? { isRoot: true };
|
|
19
|
-
opts.isRoot ??= true;
|
|
20
|
-
if (opts.isRoot) {
|
|
21
|
-
if (opts.token) {
|
|
22
|
-
throw new Error(`\
|
|
23
|
-
createInjectionToken is creating a root InjectionToken but an external token is passed in.
|
|
24
|
-
`);
|
|
25
|
-
}
|
|
26
|
-
const token = new InjectionToken(`Token for ${factory.name}`, {
|
|
27
|
-
factory: () => {
|
|
28
|
-
if (opts.deps && Array.isArray(opts.deps)) {
|
|
29
|
-
return factory(...opts.deps.map((dep) => inject(dep)));
|
|
30
|
-
}
|
|
31
|
-
return factory();
|
|
32
|
-
},
|
|
33
|
-
});
|
|
34
|
-
return [
|
|
35
|
-
createInjectFn(token),
|
|
36
|
-
createProvideFn(token, factory, opts.deps),
|
|
37
|
-
token,
|
|
38
|
-
];
|
|
39
|
-
}
|
|
40
|
-
const token = opts.token || new InjectionToken(`Token for ${factory.name}`);
|
|
41
|
-
return [
|
|
42
|
-
createInjectFn(token),
|
|
43
|
-
createProvideFn(token, factory, opts.deps, opts.extraProviders),
|
|
44
|
-
token,
|
|
45
|
-
];
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLWluamVjdGlvbi10b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL2NyZWF0ZS1pbmplY3Rpb24tdG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLElBQUksRUFDSixjQUFjLEVBQ2QsUUFBUSxFQUNSLElBQUksRUFDSixRQUFRLEVBQ1IsTUFBTSxHQUtOLE1BQU0sZUFBZSxDQUFDO0FBaUR2QixTQUFTLGNBQWMsQ0FBUyxLQUE2QjtJQUM1RCxPQUFPLENBQUMsYUFBNkIsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxhQUE4QixDQUFDLENBQUM7QUFDekYsQ0FBQztBQUVELFNBQVMsZUFBZSxDQUt2QixLQUE2QixFQUM3QixPQUFtQyxFQUNuQyxJQUF1RCxFQUN2RCxjQUF5QjtJQUV6QixPQUFPLENBQUMsS0FBYyxFQUFFLEVBQUU7UUFDekIsSUFBSSxRQUFrQixDQUFDO1FBQ3ZCLElBQUksS0FBSyxFQUFFO1lBQ1YsUUFBUSxHQUFHLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7U0FDL0M7YUFBTTtZQUNOLFFBQVEsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUE0QixFQUFFLENBQUM7U0FDbEc7UUFFRCxPQUFPLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztJQUMvRCxDQUFDLENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUtuQyxPQUFpQixFQUNqQixPQUE2RDtJQUU3RCxNQUFNLElBQUksR0FBRyxPQUFPLElBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUEwRCxDQUFDO0lBRWxHLElBQUksQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDO0lBRXJCLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtRQUNoQixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZixNQUFNLElBQUksS0FBSyxDQUFDOztDQUVsQixDQUFDLENBQUM7U0FDQTtRQUVELE1BQU0sS0FBSyxHQUFHLElBQUksY0FBYyxDQUFpQixhQUFhLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUM3RSxPQUFPLEVBQUUsR0FBRyxFQUFFO2dCQUNiLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtvQkFDMUMsT0FBTyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDdkQ7Z0JBQ0QsT0FBTyxPQUFPLEVBQUUsQ0FBQztZQUNsQixDQUFDO1NBQ0QsQ0FBQyxDQUFDO1FBRUgsT0FBTztZQUNOLGNBQWMsQ0FBQyxLQUFLLENBQTREO1lBQ2hGLGVBQWUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFhLENBQUM7WUFDbkQsS0FBSztTQUNMLENBQUM7S0FDRjtJQUVELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxjQUFjLENBQWlCLGFBQWEsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDNUYsT0FBTztRQUNOLGNBQWMsQ0FBQyxLQUFLLENBQTREO1FBQ2hGLGVBQWUsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFhLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUN4RSxLQUFLO0tBQ0wsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRIb3N0LFxuXHRJbmplY3Rpb25Ub2tlbixcblx0T3B0aW9uYWwsXG5cdFNlbGYsXG5cdFNraXBTZWxmLFxuXHRpbmplY3QsXG5cdHR5cGUgRmFjdG9yeVByb3ZpZGVyLFxuXHR0eXBlIEluamVjdE9wdGlvbnMsXG5cdHR5cGUgUHJvdmlkZXIsXG5cdHR5cGUgVHlwZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbnR5cGUgQ3JlYXRlSW5qZWN0aW9uVG9rZW5EZXA8VFRva2VuVHlwZT4gPVxuXHR8IFR5cGU8VFRva2VuVHlwZT5cblx0Ly8gTk9URTogd2UgZG9uJ3QgaGF2ZSBhbiBBYnN0cmFjdFR5cGVcblx0fCAoYWJzdHJhY3QgbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gVFRva2VuVHlwZSlcblx0fCBJbmplY3Rpb25Ub2tlbjxUVG9rZW5UeXBlPjtcblxudHlwZSBDcmVhdGVJbmplY3Rpb25Ub2tlbkRlcHM8XG5cdFRGYWN0b3J5IGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnksXG5cdFRGYWN0b3J5RGVwcyBleHRlbmRzIFBhcmFtZXRlcnM8VEZhY3Rvcnk+ID0gUGFyYW1ldGVyczxURmFjdG9yeT4sXG4+ID0ge1xuXHRbSW5kZXggaW4ga2V5b2YgVEZhY3RvcnlEZXBzXTpcblx0XHR8IENyZWF0ZUluamVjdGlvblRva2VuRGVwPFRGYWN0b3J5RGVwc1tJbmRleF0+XG5cdFx0fCBbLi4ubW9kaWZpZXJzOiBBcnJheTxPcHRpb25hbCB8IFNlbGYgfCBTa2lwU2VsZiB8IEhvc3Q+LCB0b2tlbjogQ3JlYXRlSW5qZWN0aW9uVG9rZW5EZXA8VEZhY3RvcnlEZXBzW0luZGV4XT5dO1xufSAmIHsgbGVuZ3RoOiBURmFjdG9yeURlcHNbJ2xlbmd0aCddIH07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUluamVjdGlvblRva2VuT3B0aW9uczxcblx0VEZhY3RvcnkgZXh0ZW5kcyAoLi4uYXJnczogYW55W10pID0+IGFueSxcblx0VEZhY3RvcnlEZXBzIGV4dGVuZHMgUGFyYW1ldGVyczxURmFjdG9yeT4gPSBQYXJhbWV0ZXJzPFRGYWN0b3J5Pixcbj4gPVxuXHQvLyB0aGlzIG1lYW5zIFRGdW5jdGlvbiBoYXMgbm8gYXJndW1lbnRzXG5cdChURmFjdG9yeURlcHNbMF0gZXh0ZW5kcyB1bmRlZmluZWRcblx0XHQ/IHtcblx0XHRcdFx0aXNSb290OiBib29sZWFuO1xuXHRcdFx0XHRkZXBzPzogbmV2ZXI7XG5cdFx0ICB9XG5cdFx0OiB7XG5cdFx0XHRcdGlzUm9vdD86IGJvb2xlYW47XG5cdFx0XHRcdGRlcHM6IENyZWF0ZUluamVjdGlvblRva2VuRGVwczxURmFjdG9yeSwgVEZhY3RvcnlEZXBzPjtcblx0XHQgIH0pICYge1xuXHRcdHRva2VuPzogSW5qZWN0aW9uVG9rZW48UmV0dXJuVHlwZTxURmFjdG9yeT4+O1xuXHRcdGV4dHJhUHJvdmlkZXJzPzogUHJvdmlkZXI7XG5cdH07XG5cbnR5cGUgSW5qZWN0Rm48XG5cdFRGYWN0b3J5IGV4dGVuZHMgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnksXG5cdFRGYWN0b3J5UmV0dXJuIGV4dGVuZHMgUmV0dXJuVHlwZTxURmFjdG9yeT4gPSBSZXR1cm5UeXBlPFRGYWN0b3J5Pixcbj4gPSB7XG5cdCgpOiBURmFjdG9yeVJldHVybjtcblx0KGluamVjdE9wdGlvbnM6IEluamVjdE9wdGlvbnMgJiB7IG9wdGlvbmFsPzogZmFsc2UgfSk6IFRGYWN0b3J5UmV0dXJuO1xuXHQoaW5qZWN0T3B0aW9uczogSW5qZWN0T3B0aW9ucyk6IFRGYWN0b3J5UmV0dXJuIHwgbnVsbDtcbn07XG5cbmV4cG9ydCB0eXBlIENyZWF0ZUluamVjdGlvblRva2VuUmV0dXJuPFxuXHRURmFjdG9yeSBleHRlbmRzICguLi5hcmdzOiBhbnlbXSkgPT4gYW55LFxuXHRURmFjdG9yeVJldHVybiBleHRlbmRzIFJldHVyblR5cGU8VEZhY3Rvcnk+ID0gUmV0dXJuVHlwZTxURmFjdG9yeT4sXG4+ID0gW0luamVjdEZuPFRGYWN0b3J5LCBURmFjdG9yeVJldHVybj4sICh2YWx1ZT86IFRGYWN0b3J5UmV0dXJuKSA9PiBQcm92aWRlciwgSW5qZWN0aW9uVG9rZW48VEZhY3RvcnlSZXR1cm4+XTtcblxuZnVuY3Rpb24gY3JlYXRlSW5qZWN0Rm48VFZhbHVlPih0b2tlbjogSW5qZWN0aW9uVG9rZW48VFZhbHVlPikge1xuXHRyZXR1cm4gKGluamVjdE9wdGlvbnM/OiBJbmplY3RPcHRpb25zKSA9PiBpbmplY3QodG9rZW4sIGluamVjdE9wdGlvbnMgYXMgSW5qZWN0T3B0aW9ucyk7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZVByb3ZpZGVGbjxcblx0VFZhbHVlLFxuXHRURmFjdG9yeSBleHRlbmRzICguLi5hcmdzOiBhbnlbXSkgPT4gYW55ID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBUVmFsdWUsXG5cdFRGYWN0b3J5RGVwcyBleHRlbmRzIFBhcmFtZXRlcnM8VEZhY3Rvcnk+ID0gUGFyYW1ldGVyczxURmFjdG9yeT4sXG4+KFxuXHR0b2tlbjogSW5qZWN0aW9uVG9rZW48VFZhbHVlPixcblx0ZmFjdG9yeTogKC4uLmFyZ3M6IGFueVtdKSA9PiBUVmFsdWUsXG5cdGRlcHM/OiBDcmVhdGVJbmplY3Rpb25Ub2tlbkRlcHM8VEZhY3RvcnksIFRGYWN0b3J5RGVwcz4sXG5cdGV4dHJhUHJvdmlkZXJzPzogUHJvdmlkZXIsXG4pIHtcblx0cmV0dXJuICh2YWx1ZT86IFRWYWx1ZSkgPT4ge1xuXHRcdGxldCBwcm92aWRlcjogUHJvdmlkZXI7XG5cdFx0aWYgKHZhbHVlKSB7XG5cdFx0XHRwcm92aWRlciA9IHsgcHJvdmlkZTogdG9rZW4sIHVzZVZhbHVlOiB2YWx1ZSB9O1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRwcm92aWRlciA9IHsgcHJvdmlkZTogdG9rZW4sIHVzZUZhY3Rvcnk6IGZhY3RvcnksIGRlcHM6IChkZXBzID8/IFtdKSBhcyBGYWN0b3J5UHJvdmlkZXJbJ2RlcHMnXSB9O1xuXHRcdH1cblxuXHRcdHJldHVybiBleHRyYVByb3ZpZGVycyA/IFtleHRyYVByb3ZpZGVycywgcHJvdmlkZXJdIDogcHJvdmlkZXI7XG5cdH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVJbmplY3Rpb25Ub2tlbjxcblx0VEZhY3RvcnkgZXh0ZW5kcyAoLi4uYXJnczogYW55W10pID0+IGFueSxcblx0VEZhY3RvcnlEZXBzIGV4dGVuZHMgUGFyYW1ldGVyczxURmFjdG9yeT4gPSBQYXJhbWV0ZXJzPFRGYWN0b3J5Pixcblx0VEZhY3RvcnlSZXR1cm4gZXh0ZW5kcyBSZXR1cm5UeXBlPFRGYWN0b3J5PiA9IFJldHVyblR5cGU8VEZhY3Rvcnk+LFxuPihcblx0ZmFjdG9yeTogVEZhY3RvcnksXG5cdG9wdGlvbnM/OiBDcmVhdGVJbmplY3Rpb25Ub2tlbk9wdGlvbnM8VEZhY3RvcnksIFRGYWN0b3J5RGVwcz4sXG4pOiBDcmVhdGVJbmplY3Rpb25Ub2tlblJldHVybjxURmFjdG9yeSwgVEZhY3RvcnlSZXR1cm4+IHtcblx0Y29uc3Qgb3B0cyA9IG9wdGlvbnMgPz8gKHsgaXNSb290OiB0cnVlIH0gYXMgQ3JlYXRlSW5qZWN0aW9uVG9rZW5PcHRpb25zPFRGYWN0b3J5LCBURmFjdG9yeURlcHM+KTtcblxuXHRvcHRzLmlzUm9vdCA/Pz0gdHJ1ZTtcblxuXHRpZiAob3B0cy5pc1Jvb3QpIHtcblx0XHRpZiAob3B0cy50b2tlbikge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBcXFxuY3JlYXRlSW5qZWN0aW9uVG9rZW4gaXMgY3JlYXRpbmcgYSByb290IEluamVjdGlvblRva2VuIGJ1dCBhbiBleHRlcm5hbCB0b2tlbiBpcyBwYXNzZWQgaW4uXG5gKTtcblx0XHR9XG5cblx0XHRjb25zdCB0b2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxURmFjdG9yeVJldHVybj4oYFRva2VuIGZvciAke2ZhY3RvcnkubmFtZX1gLCB7XG5cdFx0XHRmYWN0b3J5OiAoKSA9PiB7XG5cdFx0XHRcdGlmIChvcHRzLmRlcHMgJiYgQXJyYXkuaXNBcnJheShvcHRzLmRlcHMpKSB7XG5cdFx0XHRcdFx0cmV0dXJuIGZhY3RvcnkoLi4ub3B0cy5kZXBzLm1hcCgoZGVwKSA9PiBpbmplY3QoZGVwKSkpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiBmYWN0b3J5KCk7XG5cdFx0XHR9LFxuXHRcdH0pO1xuXG5cdFx0cmV0dXJuIFtcblx0XHRcdGNyZWF0ZUluamVjdEZuKHRva2VuKSBhcyBDcmVhdGVJbmplY3Rpb25Ub2tlblJldHVybjxURmFjdG9yeSwgVEZhY3RvcnlSZXR1cm4+WzBdLFxuXHRcdFx0Y3JlYXRlUHJvdmlkZUZuKHRva2VuLCBmYWN0b3J5LCBvcHRzLmRlcHMgYXMgYW55W10pLFxuXHRcdFx0dG9rZW4sXG5cdFx0XTtcblx0fVxuXG5cdGNvbnN0IHRva2VuID0gb3B0cy50b2tlbiB8fCBuZXcgSW5qZWN0aW9uVG9rZW48VEZhY3RvcnlSZXR1cm4+KGBUb2tlbiBmb3IgJHtmYWN0b3J5Lm5hbWV9YCk7XG5cdHJldHVybiBbXG5cdFx0Y3JlYXRlSW5qZWN0Rm4odG9rZW4pIGFzIENyZWF0ZUluamVjdGlvblRva2VuUmV0dXJuPFRGYWN0b3J5LCBURmFjdG9yeVJldHVybj5bMF0sXG5cdFx0Y3JlYXRlUHJvdmlkZUZuKHRva2VuLCBmYWN0b3J5LCBvcHRzLmRlcHMgYXMgYW55W10sIG9wdHMuZXh0cmFQcm92aWRlcnMpLFxuXHRcdHRva2VuLFxuXHRdO1xufVxuIl19
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
export function safeDetectChanges(...cdrs) {
|
|
2
|
-
cdrs.forEach((cdr) => {
|
|
3
|
-
if (!cdr)
|
|
4
|
-
return;
|
|
5
|
-
try {
|
|
6
|
-
// dynamic created component with ViewContainerRef#createComponent does not have Context
|
|
7
|
-
// but it has _attachedToViewContainer
|
|
8
|
-
if (cdr['_attachedToViewContainer'] || !!cdr['context']) {
|
|
9
|
-
cdr.detectChanges();
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
catch (e) {
|
|
13
|
-
cdr.markForCheck();
|
|
14
|
-
}
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FmZS1kZXRlY3QtY2hhbmdlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS9zcmMvbGliL3V0aWxzL3NhZmUtZGV0ZWN0LWNoYW5nZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEdBQUcsSUFBOEM7SUFDbEYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1FBQ3BCLElBQUksQ0FBQyxHQUFHO1lBQUUsT0FBTztRQUNqQixJQUFJO1lBQ0gsd0ZBQXdGO1lBQ3hGLHNDQUFzQztZQUN0QyxJQUFLLEdBQW9CLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLENBQUUsR0FBb0IsQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDNUYsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO2FBQ3BCO1NBQ0Q7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNYLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztTQUNuQjtJQUNGLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ2hhbmdlRGV0ZWN0b3JSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgTmd0QW55UmVjb3JkIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gc2FmZURldGVjdENoYW5nZXMoLi4uY2RyczogKENoYW5nZURldGVjdG9yUmVmIHwgdW5kZWZpbmVkIHwgbnVsbClbXSkge1xuXHRjZHJzLmZvckVhY2goKGNkcikgPT4ge1xuXHRcdGlmICghY2RyKSByZXR1cm47XG5cdFx0dHJ5IHtcblx0XHRcdC8vIGR5bmFtaWMgY3JlYXRlZCBjb21wb25lbnQgd2l0aCBWaWV3Q29udGFpbmVyUmVmI2NyZWF0ZUNvbXBvbmVudCBkb2VzIG5vdCBoYXZlIENvbnRleHRcblx0XHRcdC8vIGJ1dCBpdCBoYXMgX2F0dGFjaGVkVG9WaWV3Q29udGFpbmVyXG5cdFx0XHRpZiAoKGNkciBhcyBOZ3RBbnlSZWNvcmQpWydfYXR0YWNoZWRUb1ZpZXdDb250YWluZXInXSB8fCAhIShjZHIgYXMgTmd0QW55UmVjb3JkKVsnY29udGV4dCddKSB7XG5cdFx0XHRcdGNkci5kZXRlY3RDaGFuZ2VzKCk7XG5cdFx0XHR9XG5cdFx0fSBjYXRjaCAoZSkge1xuXHRcdFx0Y2RyLm1hcmtGb3JDaGVjaygpO1xuXHRcdH1cblx0fSk7XG59XG4iXX0=
|
package/lib/directives/key.d.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { NgtCommonDirective } from './common';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class NgtKey extends NgtCommonDirective {
|
|
4
|
-
static processComment: boolean;
|
|
5
|
-
private lastKey;
|
|
6
|
-
validate(): boolean;
|
|
7
|
-
set key(key: string | number | object);
|
|
8
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NgtKey, never>;
|
|
9
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<NgtKey, "ng-template[key]", never, { "key": { "alias": "key"; "required": false; }; }, {}, never, never, true, never>;
|
|
10
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { NgForOf } from '@angular/common';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class NgtRepeat extends NgForOf<number> {
|
|
4
|
-
set ngForRepeat(count: number);
|
|
5
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<NgtRepeat, never>;
|
|
6
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<NgtRepeat, "[ngFor][ngForRepeat]", never, { "ngForRepeat": { "alias": "ngForRepeat"; "required": false; }; }, {}, never, never, true, never>;
|
|
7
|
-
}
|
package/lib/three-types.d.ts
DELETED
|
@@ -1,306 +0,0 @@
|
|
|
1
|
-
import * as THREE from 'three';
|
|
2
|
-
import type { NgtEventHandlers } from './events';
|
|
3
|
-
import type { NgtAfterAttach, NgtAttachFunction, NgtInstanceNode } from './instance';
|
|
4
|
-
import type { NgtBeforeRenderEvent } from './store';
|
|
5
|
-
type NoEvent<T> = Omit<T, 'addEventListener' | 'removeEventListener'>;
|
|
6
|
-
export type NgtNonFunctionKeys<T> = {
|
|
7
|
-
[K in keyof T]-?: T[K] extends Function ? never : K;
|
|
8
|
-
}[keyof T];
|
|
9
|
-
export type NgtOverwrite<T, O> = Omit<T, NgtNonFunctionKeys<O>> & O;
|
|
10
|
-
export type NgtExtendedColors<T> = {
|
|
11
|
-
[K in keyof T]: T[K] extends THREE.Color | undefined ? THREE.ColorRepresentation : T[K];
|
|
12
|
-
};
|
|
13
|
-
/**
|
|
14
|
-
* If **T** contains a constructor, @see ConstructorParameters must be used, otherwise **T**.
|
|
15
|
-
*/
|
|
16
|
-
type NgtArgs<T> = T extends new (...args: any) => any ? ConstructorParameters<T> : T;
|
|
17
|
-
export type NgtEuler = THREE.Euler | Parameters<THREE.Euler['set']>;
|
|
18
|
-
export type NgtMatrix4 = THREE.Matrix4 | Parameters<THREE.Matrix4['set']> | Readonly<THREE.Matrix4['set']>;
|
|
19
|
-
/**
|
|
20
|
-
* Turn an implementation of THREE.Vector in to the type that an r3f component would accept as a prop.
|
|
21
|
-
*/
|
|
22
|
-
type NgtVectorLike<VectorClass extends THREE.Vector> = VectorClass | Parameters<VectorClass['set']> | Readonly<Parameters<VectorClass['set']>> | Parameters<VectorClass['setScalar']>[0];
|
|
23
|
-
export type NgtVector2 = NgtVectorLike<THREE.Vector2>;
|
|
24
|
-
export type NgtVector3 = NgtVectorLike<THREE.Vector3>;
|
|
25
|
-
export type NgtVector4 = NgtVectorLike<THREE.Vector4>;
|
|
26
|
-
export type NgtLayers = THREE.Layers | Parameters<THREE.Layers['set']>[0];
|
|
27
|
-
export type NgtQuaternion = THREE.Quaternion | Parameters<THREE.Quaternion['set']>;
|
|
28
|
-
export interface NgtNodeEventMap<TOriginal> {
|
|
29
|
-
afterAttach: NgtAfterAttach<TOriginal, NgtInstanceNode>;
|
|
30
|
-
afterUpdate: TOriginal;
|
|
31
|
-
beforeRender: NgtBeforeRenderEvent<TOriginal>;
|
|
32
|
-
}
|
|
33
|
-
export type NgtNodeElement<TOriginal, TConstructor> = {
|
|
34
|
-
attach: string | string[] | NgtAttachFunction;
|
|
35
|
-
addEventListener<TEventKey extends keyof NgtNodeEventMap<TOriginal>>(type: TEventKey, listener: (this: NgtNodeElement<TOriginal, TConstructor>, ev: NgtNodeEventMap<TOriginal>[TEventKey]) => any): void;
|
|
36
|
-
removeEventListener<TEventKey extends keyof NgtNodeEventMap<TOriginal>>(type: TEventKey, listener: (this: NgtNodeElement<TOriginal, TConstructor>, ev: NgtNodeEventMap<TOriginal>[TEventKey]) => any): void;
|
|
37
|
-
__ngt_args__: NgtArgs<TConstructor>;
|
|
38
|
-
};
|
|
39
|
-
export type NgtNode<TOriginal, TConstructor, TNoEvent = NoEvent<TOriginal>> = NgtExtendedColors<NgtOverwrite<Partial<TNoEvent>, NgtNodeElement<TOriginal, TConstructor>>>;
|
|
40
|
-
export type NgtObject3DEventsMap = {
|
|
41
|
-
[TEvent in keyof NgtEventHandlers]-?: Parameters<NonNullable<NgtEventHandlers[TEvent]>>[0];
|
|
42
|
-
};
|
|
43
|
-
export type NgtObject3DNode<TOriginal, TConstructor, TNoEvent = NoEvent<TOriginal>> = NgtOverwrite<NgtNode<TOriginal, TConstructor, TNoEvent>, {
|
|
44
|
-
position: NgtVector3;
|
|
45
|
-
up: NgtVector3;
|
|
46
|
-
scale: NgtVector3;
|
|
47
|
-
rotation: NgtEuler;
|
|
48
|
-
matrix: NgtMatrix4;
|
|
49
|
-
quaternion: NgtQuaternion;
|
|
50
|
-
layers: NgtLayers;
|
|
51
|
-
dispose: (() => void) | null;
|
|
52
|
-
addEventListener<TEventKey extends keyof NgtObject3DEventsMap>(type: TEventKey, listener: (this: NgtObject3DNode<TOriginal, TConstructor>, ev: NgtObject3DEventsMap[TEventKey]) => any): void;
|
|
53
|
-
removeEventListener<TEventKey extends keyof NgtObject3DEventsMap>(type: TEventKey, listener: (this: NgtObject3DNode<TOriginal, TConstructor>, ev: NgtObject3DEventsMap[TEventKey]) => any): void;
|
|
54
|
-
}>;
|
|
55
|
-
export type NgtGeometry<TGeometry extends THREE.BufferGeometry, TConstructor> = NgtNode<TGeometry, TConstructor>;
|
|
56
|
-
export type NgtMaterial<TMaterial extends THREE.Material, TConstructor> = NgtNode<TMaterial, TConstructor>;
|
|
57
|
-
export type NgtLight<T extends THREE.Light, P> = NgtObject3DNode<T, P>;
|
|
58
|
-
export type NgtObject3D = NgtObject3DNode<THREE.Object3D, typeof THREE.Object3D>;
|
|
59
|
-
export type NgtAudio = NgtObject3DNode<THREE.Audio, typeof THREE.Audio>;
|
|
60
|
-
export type NgtAudioListener = NgtObject3DNode<THREE.AudioListener, typeof THREE.AudioListener>;
|
|
61
|
-
export type NgtPositionalAudio = NgtObject3DNode<THREE.PositionalAudio, typeof THREE.PositionalAudio>;
|
|
62
|
-
export type NgtMesh = NgtObject3DNode<THREE.Mesh, typeof THREE.Mesh>;
|
|
63
|
-
export type NgtInstancedMesh = NgtObject3DNode<THREE.InstancedMesh, typeof THREE.InstancedMesh>;
|
|
64
|
-
export type NgtScene = NgtObject3DNode<THREE.Scene, typeof THREE.Scene>;
|
|
65
|
-
export type NgtSprite = NgtObject3DNode<THREE.Sprite, typeof THREE.Sprite>;
|
|
66
|
-
export type NgtLOD = NgtObject3DNode<THREE.LOD, typeof THREE.LOD>;
|
|
67
|
-
export type NgtSkinnedMesh = NgtObject3DNode<THREE.SkinnedMesh, typeof THREE.SkinnedMesh>;
|
|
68
|
-
export type NgtSkeleton = NgtObject3DNode<THREE.Skeleton, typeof THREE.Skeleton>;
|
|
69
|
-
export type NgtBone = NgtObject3DNode<THREE.Bone, typeof THREE.Bone>;
|
|
70
|
-
export type NgtLine = NgtObject3DNode<THREE.Line, typeof THREE.Line>;
|
|
71
|
-
export type NgtLineSegments = NgtObject3DNode<THREE.LineSegments, typeof THREE.LineSegments>;
|
|
72
|
-
export type NgtLineLoop = NgtObject3DNode<THREE.LineLoop, typeof THREE.LineLoop>;
|
|
73
|
-
export type NgtPoints = NgtObject3DNode<THREE.Points, typeof THREE.Points>;
|
|
74
|
-
export type NgtGroup = NgtObject3DNode<THREE.Group, typeof THREE.Group>;
|
|
75
|
-
export type NgtCameraNode = NgtObject3DNode<THREE.Camera, typeof THREE.Camera>;
|
|
76
|
-
export type NgtPerspectiveCamera = NgtObject3DNode<THREE.PerspectiveCamera, typeof THREE.PerspectiveCamera>;
|
|
77
|
-
export type NgtOrthographicCamera = NgtObject3DNode<THREE.OrthographicCamera, typeof THREE.OrthographicCamera>;
|
|
78
|
-
export type NgtCubeCamera = NgtObject3DNode<THREE.CubeCamera, typeof THREE.CubeCamera>;
|
|
79
|
-
export type NgtArrayCamera = NgtObject3DNode<THREE.ArrayCamera, typeof THREE.ArrayCamera>;
|
|
80
|
-
export type NgtInstancedBufferGeometry = NgtGeometry<THREE.InstancedBufferGeometry, typeof THREE.InstancedBufferGeometry>;
|
|
81
|
-
export type NgtBufferGeometry = NgtGeometry<THREE.BufferGeometry, typeof THREE.BufferGeometry>;
|
|
82
|
-
export type NgtWireframeGeometry = NgtGeometry<THREE.WireframeGeometry, typeof THREE.WireframeGeometry>;
|
|
83
|
-
export type NgtTetrahedronGeometry = NgtGeometry<THREE.TetrahedronGeometry, typeof THREE.TetrahedronGeometry>;
|
|
84
|
-
export type NgtOctahedronGeometry = NgtGeometry<THREE.OctahedronGeometry, typeof THREE.OctahedronGeometry>;
|
|
85
|
-
export type NgtIcosahedronGeometry = NgtGeometry<THREE.IcosahedronGeometry, typeof THREE.IcosahedronGeometry>;
|
|
86
|
-
export type NgtDodecahedronGeometry = NgtGeometry<THREE.DodecahedronGeometry, typeof THREE.DodecahedronGeometry>;
|
|
87
|
-
export type NgtPolyhedronGeometry = NgtGeometry<THREE.PolyhedronGeometry, typeof THREE.PolyhedronGeometry>;
|
|
88
|
-
export type NgtTubeGeometry = NgtGeometry<THREE.TubeGeometry, typeof THREE.TubeGeometry>;
|
|
89
|
-
export type NgtTorusKnotGeometry = NgtGeometry<THREE.TorusKnotGeometry, typeof THREE.TorusKnotGeometry>;
|
|
90
|
-
export type NgtTorusGeometry = NgtGeometry<THREE.TorusGeometry, typeof THREE.TorusGeometry>;
|
|
91
|
-
export type NgtSphereGeometry = NgtGeometry<THREE.SphereGeometry, typeof THREE.SphereGeometry>;
|
|
92
|
-
export type NgtRingGeometry = NgtGeometry<THREE.RingGeometry, typeof THREE.RingGeometry>;
|
|
93
|
-
export type NgtPlaneGeometry = NgtGeometry<THREE.PlaneGeometry, typeof THREE.PlaneGeometry>;
|
|
94
|
-
export type NgtLatheGeometry = NgtGeometry<THREE.LatheGeometry, typeof THREE.LatheGeometry>;
|
|
95
|
-
export type NgtShapeGeometry = NgtGeometry<THREE.ShapeGeometry, typeof THREE.ShapeGeometry>;
|
|
96
|
-
export type NgtExtrudeGeometry = NgtGeometry<THREE.ExtrudeGeometry, typeof THREE.ExtrudeGeometry>;
|
|
97
|
-
export type NgtEdgesGeometry = NgtGeometry<THREE.EdgesGeometry, typeof THREE.EdgesGeometry>;
|
|
98
|
-
export type NgtConeGeometry = NgtGeometry<THREE.ConeGeometry, typeof THREE.ConeGeometry>;
|
|
99
|
-
export type NgtCylinderGeometry = NgtGeometry<THREE.CylinderGeometry, typeof THREE.CylinderGeometry>;
|
|
100
|
-
export type NgtCircleGeometry = NgtGeometry<THREE.CircleGeometry, typeof THREE.CircleGeometry>;
|
|
101
|
-
export type NgtBoxGeometry = NgtGeometry<THREE.BoxGeometry, typeof THREE.BoxGeometry>;
|
|
102
|
-
export type NgtCapsuleGeometry = NgtGeometry<THREE.CapsuleGeometry, typeof THREE.CapsuleGeometry>;
|
|
103
|
-
export type NgtShadowMaterial = NgtMaterial<THREE.ShadowMaterial, [THREE.ShaderMaterialParameters]>;
|
|
104
|
-
export type NgtSpriteMaterial = NgtMaterial<THREE.SpriteMaterial, [THREE.SpriteMaterialParameters]>;
|
|
105
|
-
export type NgtRawShaderMaterial = NgtMaterial<THREE.RawShaderMaterial, [THREE.ShaderMaterialParameters]>;
|
|
106
|
-
export type NgtShaderMaterial = NgtMaterial<THREE.ShaderMaterial, [THREE.ShaderMaterialParameters]>;
|
|
107
|
-
export type NgtPointsMaterial = NgtMaterial<THREE.PointsMaterial, [THREE.PointsMaterialParameters]>;
|
|
108
|
-
export type NgtMeshPhysicalMaterial = NgtMaterial<THREE.MeshPhysicalMaterial, [THREE.MeshPhysicalMaterialParameters]>;
|
|
109
|
-
export type NgtMeshStandardMaterial = NgtMaterial<THREE.MeshStandardMaterial, [THREE.MeshStandardMaterialParameters]>;
|
|
110
|
-
export type NgtMeshPhongMaterial = NgtMaterial<THREE.MeshPhongMaterial, [THREE.MeshPhongMaterialParameters]>;
|
|
111
|
-
export type NgtMeshToonMaterial = NgtMaterial<THREE.MeshToonMaterial, [THREE.MeshToonMaterialParameters]>;
|
|
112
|
-
export type NgtMeshNormalMaterial = NgtMaterial<THREE.MeshNormalMaterial, [THREE.MeshNormalMaterialParameters]>;
|
|
113
|
-
export type NgtMeshLambertMaterial = NgtMaterial<THREE.MeshLambertMaterial, [THREE.MeshLambertMaterialParameters]>;
|
|
114
|
-
export type NgtMeshDepthMaterial = NgtMaterial<THREE.MeshDepthMaterial, [THREE.MeshDepthMaterialParameters]>;
|
|
115
|
-
export type NgtMeshDistanceMaterial = NgtMaterial<THREE.MeshDistanceMaterial, [THREE.MeshDistanceMaterialParameters]>;
|
|
116
|
-
export type NgtMeshBasicMaterial = NgtMaterial<THREE.MeshBasicMaterial, [THREE.MeshBasicMaterialParameters]>;
|
|
117
|
-
export type NgtMeshMatcapMaterial = NgtMaterial<THREE.MeshMatcapMaterial, [THREE.MeshMatcapMaterialParameters]>;
|
|
118
|
-
export type NgtLineDashedMaterial = NgtMaterial<THREE.LineDashedMaterial, [THREE.LineDashedMaterialParameters]>;
|
|
119
|
-
export type NgtLineBasicMaterial = NgtMaterial<THREE.LineBasicMaterial, [THREE.LineBasicMaterialParameters]>;
|
|
120
|
-
export type NgtPrimitive = NgtNodeElement<any, any>;
|
|
121
|
-
export type NgtValue = NgtNode<{
|
|
122
|
-
rawValue: any;
|
|
123
|
-
}, {}>;
|
|
124
|
-
export type NgtLightShadow = NgtNode<THREE.LightShadow, typeof THREE.LightShadow>;
|
|
125
|
-
export type NgtSpotLightShadow = NgtNode<THREE.SpotLightShadow, typeof THREE.SpotLightShadow>;
|
|
126
|
-
export type NgtDirectionalLightShadow = NgtNode<THREE.DirectionalLightShadow, typeof THREE.DirectionalLightShadow>;
|
|
127
|
-
export type NgtSpotLight = NgtLight<THREE.SpotLight, typeof THREE.SpotLight>;
|
|
128
|
-
export type NgtPointLight = NgtLight<THREE.PointLight, typeof THREE.PointLight>;
|
|
129
|
-
export type NgtRectAreaLight = NgtLight<THREE.RectAreaLight, typeof THREE.RectAreaLight>;
|
|
130
|
-
export type NgtHemisphereLight = NgtLight<THREE.HemisphereLight, typeof THREE.HemisphereLight>;
|
|
131
|
-
export type NgtDirectionalLight = NgtLight<THREE.DirectionalLight, typeof THREE.DirectionalLight>;
|
|
132
|
-
export type NgtAmbientLight = NgtLight<THREE.AmbientLight, typeof THREE.AmbientLight>;
|
|
133
|
-
export type NgtAmbientLightProbe = NgtLight<THREE.AmbientLightProbe, typeof THREE.AmbientLightProbe>;
|
|
134
|
-
export type NgtHemisphereLightProbe = NgtLight<THREE.HemisphereLightProbe, typeof THREE.HemisphereLightProbe>;
|
|
135
|
-
export type NgtLightProbe = NgtLight<THREE.LightProbe, typeof THREE.LightProbe>;
|
|
136
|
-
export type NgtSpotLightHelper = NgtObject3DNode<THREE.SpotLightHelper, typeof THREE.SpotLightHelper>;
|
|
137
|
-
export type NgtSkeletonHelper = NgtObject3DNode<THREE.SkeletonHelper, typeof THREE.SkeletonHelper>;
|
|
138
|
-
export type NgtPointLightHelper = NgtObject3DNode<THREE.PointLightHelper, typeof THREE.PointLightHelper>;
|
|
139
|
-
export type NgtHemisphereLightHelper = NgtObject3DNode<THREE.HemisphereLightHelper, typeof THREE.HemisphereLightHelper>;
|
|
140
|
-
export type NgtGridHelper = NgtObject3DNode<THREE.GridHelper, typeof THREE.GridHelper>;
|
|
141
|
-
export type NgtPolarGridHelper = NgtObject3DNode<THREE.PolarGridHelper, typeof THREE.PolarGridHelper>;
|
|
142
|
-
export type NgtDirectionalLightHelper = NgtObject3DNode<THREE.DirectionalLightHelper, typeof THREE.DirectionalLightHelper>;
|
|
143
|
-
export type NgtCameraHelper = NgtObject3DNode<THREE.CameraHelper, typeof THREE.CameraHelper>;
|
|
144
|
-
export type NgtBoxHelper = NgtObject3DNode<THREE.BoxHelper, typeof THREE.BoxHelper>;
|
|
145
|
-
export type NgtBox3Helper = NgtObject3DNode<THREE.Box3Helper, typeof THREE.Box3Helper>;
|
|
146
|
-
export type NgtPlaneHelper = NgtObject3DNode<THREE.PlaneHelper, typeof THREE.PlaneHelper>;
|
|
147
|
-
export type NgtArrowHelper = NgtObject3DNode<THREE.ArrowHelper, typeof THREE.ArrowHelper>;
|
|
148
|
-
export type NgtAxesHelper = NgtObject3DNode<THREE.AxesHelper, typeof THREE.AxesHelper>;
|
|
149
|
-
export type NgtTexture = NgtNode<THREE.Texture, typeof THREE.Texture>;
|
|
150
|
-
export type NgtVideoTexture = NgtNode<THREE.VideoTexture, typeof THREE.VideoTexture>;
|
|
151
|
-
export type NgtDataTexture = NgtNode<THREE.DataTexture, typeof THREE.DataTexture>;
|
|
152
|
-
export type NgtData3DTexture = NgtNode<THREE.Data3DTexture, typeof THREE.Data3DTexture>;
|
|
153
|
-
export type NgtCompressedTexture = NgtNode<THREE.CompressedTexture, typeof THREE.CompressedTexture>;
|
|
154
|
-
export type NgtCubeTexture = NgtNode<THREE.CubeTexture, typeof THREE.CubeTexture>;
|
|
155
|
-
export type NgtCanvasTexture = NgtNode<THREE.CanvasTexture, typeof THREE.CanvasTexture>;
|
|
156
|
-
export type NgtDepthTexture = NgtNode<THREE.DepthTexture, typeof THREE.DepthTexture>;
|
|
157
|
-
export type NgtRaycaster = NgtNode<THREE.Raycaster, typeof THREE.Raycaster>;
|
|
158
|
-
export type NgtVector2Node = NgtNode<THREE.Vector2, typeof THREE.Vector2>;
|
|
159
|
-
export type NgtVector3Node = NgtNode<THREE.Vector3, typeof THREE.Vector3>;
|
|
160
|
-
export type NgtVector4Node = NgtNode<THREE.Vector4, typeof THREE.Vector4>;
|
|
161
|
-
export type NgtEulerNode = NgtNode<THREE.Euler, typeof THREE.Euler>;
|
|
162
|
-
export type NgtMatrix3Node = NgtNode<THREE.Matrix3, typeof THREE.Matrix3>;
|
|
163
|
-
export type NgtMatrix4Node = NgtNode<THREE.Matrix4, typeof THREE.Matrix4>;
|
|
164
|
-
export type NgtQuaternionNode = NgtNode<THREE.Quaternion, typeof THREE.Quaternion>;
|
|
165
|
-
export type NgtBufferAttribute = NgtNode<THREE.BufferAttribute, typeof THREE.BufferAttribute>;
|
|
166
|
-
export type NgtFloat16BufferAttribute = NgtNode<THREE.Float16BufferAttribute, typeof THREE.Float16BufferAttribute>;
|
|
167
|
-
export type NgtFloat32BufferAttribute = NgtNode<THREE.Float32BufferAttribute, typeof THREE.Float32BufferAttribute>;
|
|
168
|
-
export type NgtFloat64BufferAttribute = NgtNode<THREE.Float64BufferAttribute, typeof THREE.Float64BufferAttribute>;
|
|
169
|
-
export type NgtInt8BufferAttribute = NgtNode<THREE.Int8BufferAttribute, typeof THREE.Int8BufferAttribute>;
|
|
170
|
-
export type NgtInt16BufferAttribute = NgtNode<THREE.Int16BufferAttribute, typeof THREE.Int16BufferAttribute>;
|
|
171
|
-
export type NgtInt32BufferAttribute = NgtNode<THREE.Int32BufferAttribute, typeof THREE.Int32BufferAttribute>;
|
|
172
|
-
export type NgtUint8BufferAttribute = NgtNode<THREE.Uint8BufferAttribute, typeof THREE.Uint8BufferAttribute>;
|
|
173
|
-
export type NgtUint16BufferAttribute = NgtNode<THREE.Uint16BufferAttribute, typeof THREE.Uint16BufferAttribute>;
|
|
174
|
-
export type NgtUint32BufferAttribute = NgtNode<THREE.Uint32BufferAttribute, typeof THREE.Uint32BufferAttribute>;
|
|
175
|
-
export type NgtInstancedBufferAttribute = NgtNode<THREE.InstancedBufferAttribute, typeof THREE.InstancedBufferAttribute>;
|
|
176
|
-
export type NgtColor = NgtNode<THREE.Color, THREE.ColorRepresentation>;
|
|
177
|
-
export type NgtFog = NgtNode<THREE.Fog, typeof THREE.Fog>;
|
|
178
|
-
export type NgtFogExp2 = NgtNode<THREE.FogExp2, typeof THREE.FogExp2>;
|
|
179
|
-
export type NgtShape = NgtNode<THREE.Shape, typeof THREE.Shape>;
|
|
180
|
-
export interface ThreeElements {
|
|
181
|
-
'ngt-object3D': NgtObject3D;
|
|
182
|
-
'ngt-audio': NgtAudio;
|
|
183
|
-
'ngt-audio-listener': NgtAudioListener;
|
|
184
|
-
'ngt-positional-audio': NgtPositionalAudio;
|
|
185
|
-
'ngt-mesh': NgtMesh;
|
|
186
|
-
'ngt-instanced-mesh': NgtInstancedMesh;
|
|
187
|
-
'ngt-scene': NgtScene;
|
|
188
|
-
'ngt-sprite': NgtSprite;
|
|
189
|
-
'ngt-lOD': NgtLOD;
|
|
190
|
-
'ngt-skinned-mesh': NgtSkinnedMesh;
|
|
191
|
-
'ngt-skeleton': NgtSkeleton;
|
|
192
|
-
'ngt-bone': NgtBone;
|
|
193
|
-
'ngt-line': NgtLine;
|
|
194
|
-
'ngt-line-segments': NgtLineSegments;
|
|
195
|
-
'ngt-line-loop': NgtLineLoop;
|
|
196
|
-
'ngt-points': NgtPoints;
|
|
197
|
-
'ngt-group': NgtGroup;
|
|
198
|
-
'ngt-camera': NgtCameraNode;
|
|
199
|
-
'ngt-perspective-camera': NgtPerspectiveCamera;
|
|
200
|
-
'ngt-orthographic-camera': NgtOrthographicCamera;
|
|
201
|
-
'ngt-cube-camera': NgtCubeCamera;
|
|
202
|
-
'ngt-array-camera': NgtArrayCamera;
|
|
203
|
-
'ngt-instanced-buffer-geometry': NgtInstancedBufferGeometry;
|
|
204
|
-
'ngt-buffer-geometry': NgtBufferGeometry;
|
|
205
|
-
'ngt-wireframe-geometry': NgtWireframeGeometry;
|
|
206
|
-
'ngt-tetrahedron-geometry': NgtTetrahedronGeometry;
|
|
207
|
-
'ngt-octahedron-geometry': NgtOctahedronGeometry;
|
|
208
|
-
'ngt-icosahedron-geometry': NgtIcosahedronGeometry;
|
|
209
|
-
'ngt-polyhedron-geometry': NgtPolyhedronGeometry;
|
|
210
|
-
'ngt-dodecahedron-geometry': NgtDodecahedronGeometry;
|
|
211
|
-
'ngt-tube-geometry': NgtTubeGeometry;
|
|
212
|
-
'ngt-torus-knot-geometry': NgtTorusKnotGeometry;
|
|
213
|
-
'ngt-torus-geometry': NgtTorusGeometry;
|
|
214
|
-
'ngt-sphere-geometry': NgtSphereGeometry;
|
|
215
|
-
'ngt-ring-geometry': NgtRingGeometry;
|
|
216
|
-
'ngt-plane-geometry': NgtPlaneGeometry;
|
|
217
|
-
'ngt-lathe-geometry': NgtLatheGeometry;
|
|
218
|
-
'ngt-shape-geometry': NgtShapeGeometry;
|
|
219
|
-
'ngt-extrude-geometry': NgtExtrudeGeometry;
|
|
220
|
-
'ngt-edges-geometry': NgtEdgesGeometry;
|
|
221
|
-
'ngt-cone-geometry': NgtConeGeometry;
|
|
222
|
-
'ngt-cylinder-geometry': NgtCylinderGeometry;
|
|
223
|
-
'ngt-circle-geometry': NgtCircleGeometry;
|
|
224
|
-
'ngt-box-geometry': NgtBoxGeometry;
|
|
225
|
-
'ngt-capsule-geometry': NgtCapsuleGeometry;
|
|
226
|
-
'ngt-shadow-material': NgtShadowMaterial;
|
|
227
|
-
'ngt-sprite-material': NgtSpriteMaterial;
|
|
228
|
-
'ngt-raw-shader-material': NgtRawShaderMaterial;
|
|
229
|
-
'ngt-shader-material': NgtShaderMaterial;
|
|
230
|
-
'ngt-points-material': NgtPointsMaterial;
|
|
231
|
-
'ngt-mesh-physical-material': NgtMeshPhysicalMaterial;
|
|
232
|
-
'ngt-mesh-standard-material': NgtMeshStandardMaterial;
|
|
233
|
-
'ngt-mesh-phong-material': NgtMeshPhongMaterial;
|
|
234
|
-
'ngt-mesh-toon-material': NgtMeshToonMaterial;
|
|
235
|
-
'ngt-mesh-normal-material': NgtMeshNormalMaterial;
|
|
236
|
-
'ngt-mesh-lambert-material': NgtMeshLambertMaterial;
|
|
237
|
-
'ngt-mesh-depth-material': NgtMeshDepthMaterial;
|
|
238
|
-
'ngt-mesh-distance-material': NgtMeshDistanceMaterial;
|
|
239
|
-
'ngt-mesh-basic-material': NgtMeshBasicMaterial;
|
|
240
|
-
'ngt-mesh-matcap-material': NgtMeshMatcapMaterial;
|
|
241
|
-
'ngt-line-dashed-material': NgtLineDashedMaterial;
|
|
242
|
-
'ngt-line-basic-material': NgtLineBasicMaterial;
|
|
243
|
-
'ngt-primitive': NgtPrimitive;
|
|
244
|
-
'ngt-value': NgtValue;
|
|
245
|
-
'ngt-spot-light-shadow': NgtSpotLightShadow;
|
|
246
|
-
'ngt-spot-light': NgtSpotLight;
|
|
247
|
-
'ngt-point-light': NgtPointLight;
|
|
248
|
-
'ngt-rect-area-light': NgtRectAreaLight;
|
|
249
|
-
'ngt-hemisphere-light': NgtHemisphereLight;
|
|
250
|
-
'ngt-directional-light-shadow': NgtDirectionalLightShadow;
|
|
251
|
-
'ngt-directional-light': NgtDirectionalLight;
|
|
252
|
-
'ngt-ambient-light': NgtAmbientLight;
|
|
253
|
-
'ngt-light-shadow': NgtLightShadow;
|
|
254
|
-
'ngt-ambient-light-probe': NgtAmbientLightProbe;
|
|
255
|
-
'ngt-hemisphere-light-probe': NgtHemisphereLightProbe;
|
|
256
|
-
'ngt-light-probe': NgtLightProbe;
|
|
257
|
-
'ngt-spot-light-helper': NgtSpotLightHelper;
|
|
258
|
-
'ngt-skeleton-helper': NgtSkeletonHelper;
|
|
259
|
-
'ngt-point-light-helper': NgtPointLightHelper;
|
|
260
|
-
'ngt-hemisphere-light-helper': NgtHemisphereLightHelper;
|
|
261
|
-
'ngt-grid-helper': NgtGridHelper;
|
|
262
|
-
'ngt-polar-grid-helper': NgtPolarGridHelper;
|
|
263
|
-
'ngt-directional-light-helper': NgtDirectionalLightHelper;
|
|
264
|
-
'ngt-camera-helper': NgtCameraHelper;
|
|
265
|
-
'ngt-box-helper': NgtBoxHelper;
|
|
266
|
-
'ngt-box3-helper': NgtBox3Helper;
|
|
267
|
-
'ngt-plane-helper': NgtPlaneHelper;
|
|
268
|
-
'ngt-arrow-helper': NgtArrowHelper;
|
|
269
|
-
'ngt-axes-helper': NgtAxesHelper;
|
|
270
|
-
'ngt-texture': NgtTexture;
|
|
271
|
-
'ngt-video-texture': NgtVideoTexture;
|
|
272
|
-
'ngt-data-texture': NgtDataTexture;
|
|
273
|
-
'ngt-data3D-texture': NgtData3DTexture;
|
|
274
|
-
'ngt-compressed-texture': NgtCompressedTexture;
|
|
275
|
-
'ngt-cube-texture': NgtCubeTexture;
|
|
276
|
-
'ngt-canvas-texture': NgtCanvasTexture;
|
|
277
|
-
'ngt-depth-texture': NgtDepthTexture;
|
|
278
|
-
'ngt-raycaster': NgtRaycaster;
|
|
279
|
-
'ngt-vector2': NgtVector2Node;
|
|
280
|
-
'ngt-vector3': NgtVector3Node;
|
|
281
|
-
'ngt-vector4': NgtVector4Node;
|
|
282
|
-
'ngt-euler': NgtEulerNode;
|
|
283
|
-
'ngt-matrix3': NgtMatrix3Node;
|
|
284
|
-
'ngt-matrix4': NgtMatrix4Node;
|
|
285
|
-
'ngt-quaternion': NgtQuaternionNode;
|
|
286
|
-
'ngt-buffer-attribute': NgtBufferAttribute;
|
|
287
|
-
'ngt-float16-buffer-attribute': NgtFloat16BufferAttribute;
|
|
288
|
-
'ngt-float32-buffer-attribute': NgtFloat32BufferAttribute;
|
|
289
|
-
'ngt-float64-buffer-attribute': NgtFloat64BufferAttribute;
|
|
290
|
-
'ngt-int8-buffer-attribute': NgtInt8BufferAttribute;
|
|
291
|
-
'ngt-int16-buffer-attribute': NgtInt16BufferAttribute;
|
|
292
|
-
'ngt-int32-buffer-attribute': NgtInt32BufferAttribute;
|
|
293
|
-
'ngt-unit8-buffer-attribute': NgtUint8BufferAttribute;
|
|
294
|
-
'ngt-unit16-buffer-attribute': NgtUint16BufferAttribute;
|
|
295
|
-
'ngt-unit32-buffer-attribute': NgtUint32BufferAttribute;
|
|
296
|
-
'ngt-instanced-buffer-attribute': NgtInstancedBufferAttribute;
|
|
297
|
-
'ngt-color': NgtColor;
|
|
298
|
-
'ngt-fog': NgtFog;
|
|
299
|
-
'ngt-fog-exp2': NgtFogExp2;
|
|
300
|
-
'ngt-shape': NgtShape;
|
|
301
|
-
}
|
|
302
|
-
declare global {
|
|
303
|
-
interface HTMLElementTagNameMap extends ThreeElements {
|
|
304
|
-
}
|
|
305
|
-
}
|
|
306
|
-
export {};
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { Host, InjectionToken, Optional, Self, SkipSelf, type InjectOptions, type Provider, type Type } from '@angular/core';
|
|
2
|
-
type CreateInjectionTokenDep<TTokenType> = Type<TTokenType> | (abstract new (...args: any[]) => TTokenType) | InjectionToken<TTokenType>;
|
|
3
|
-
type CreateInjectionTokenDeps<TFactory extends (...args: any[]) => any, TFactoryDeps extends Parameters<TFactory> = Parameters<TFactory>> = {
|
|
4
|
-
[Index in keyof TFactoryDeps]: CreateInjectionTokenDep<TFactoryDeps[Index]> | [...modifiers: Array<Optional | Self | SkipSelf | Host>, token: CreateInjectionTokenDep<TFactoryDeps[Index]>];
|
|
5
|
-
} & {
|
|
6
|
-
length: TFactoryDeps['length'];
|
|
7
|
-
};
|
|
8
|
-
export type CreateInjectionTokenOptions<TFactory extends (...args: any[]) => any, TFactoryDeps extends Parameters<TFactory> = Parameters<TFactory>> = (TFactoryDeps[0] extends undefined ? {
|
|
9
|
-
isRoot: boolean;
|
|
10
|
-
deps?: never;
|
|
11
|
-
} : {
|
|
12
|
-
isRoot?: boolean;
|
|
13
|
-
deps: CreateInjectionTokenDeps<TFactory, TFactoryDeps>;
|
|
14
|
-
}) & {
|
|
15
|
-
token?: InjectionToken<ReturnType<TFactory>>;
|
|
16
|
-
extraProviders?: Provider;
|
|
17
|
-
};
|
|
18
|
-
type InjectFn<TFactory extends (...args: any[]) => any, TFactoryReturn extends ReturnType<TFactory> = ReturnType<TFactory>> = {
|
|
19
|
-
(): TFactoryReturn;
|
|
20
|
-
(injectOptions: InjectOptions & {
|
|
21
|
-
optional?: false;
|
|
22
|
-
}): TFactoryReturn;
|
|
23
|
-
(injectOptions: InjectOptions): TFactoryReturn | null;
|
|
24
|
-
};
|
|
25
|
-
export type CreateInjectionTokenReturn<TFactory extends (...args: any[]) => any, TFactoryReturn extends ReturnType<TFactory> = ReturnType<TFactory>> = [InjectFn<TFactory, TFactoryReturn>, (value?: TFactoryReturn) => Provider, InjectionToken<TFactoryReturn>];
|
|
26
|
-
export declare function createInjectionToken<TFactory extends (...args: any[]) => any, TFactoryDeps extends Parameters<TFactory> = Parameters<TFactory>, TFactoryReturn extends ReturnType<TFactory> = ReturnType<TFactory>>(factory: TFactory, options?: CreateInjectionTokenOptions<TFactory, TFactoryDeps>): CreateInjectionTokenReturn<TFactory, TFactoryReturn>;
|
|
27
|
-
export {};
|
package/plugin/package.json
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const devkit_1 = require("@nx/devkit");
|
|
4
|
-
const generator_1 = require("./generator");
|
|
5
|
-
exports.default = (0, devkit_1.convertNxGenerator)(generator_1.default);
|
|
6
|
-
//# sourceMappingURL=compat.js.map
|