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.
Files changed (109) hide show
  1. package/esm2022/index.mjs +4 -11
  2. package/esm2022/lib/canvas.mjs +81 -156
  3. package/esm2022/lib/directives/args.mjs +6 -6
  4. package/esm2022/lib/directives/common.mjs +15 -14
  5. package/esm2022/lib/directives/parent.mjs +6 -6
  6. package/esm2022/lib/dom/events.mjs +2 -2
  7. package/esm2022/lib/events.mjs +28 -25
  8. package/esm2022/lib/instance.mjs +39 -34
  9. package/esm2022/lib/loader.mjs +12 -14
  10. package/esm2022/lib/loop.mjs +9 -10
  11. package/esm2022/lib/portal.mjs +122 -135
  12. package/esm2022/lib/ref.mjs +18 -20
  13. package/esm2022/lib/renderer/catalogue.mjs +2 -2
  14. package/esm2022/lib/renderer/constants.mjs +2 -2
  15. package/esm2022/lib/renderer/index.mjs +58 -62
  16. package/esm2022/lib/renderer/store.mjs +129 -120
  17. package/esm2022/lib/renderer/utils.mjs +35 -42
  18. package/esm2022/lib/roots.mjs +41 -38
  19. package/esm2022/lib/routed-scene.mjs +6 -7
  20. package/esm2022/lib/store.mjs +163 -189
  21. package/esm2022/lib/utils/apply-props.mjs +12 -17
  22. package/esm2022/lib/utils/attach.mjs +6 -6
  23. package/esm2022/lib/utils/before-render.mjs +12 -0
  24. package/esm2022/lib/utils/cd-aware-signal.mjs +24 -0
  25. package/esm2022/lib/utils/create-api-token.mjs +13 -0
  26. package/esm2022/lib/utils/is.mjs +6 -5
  27. package/esm2022/lib/utils/make.mjs +15 -12
  28. package/esm2022/lib/utils/signal-store.mjs +67 -57
  29. package/esm2022/lib/utils/update.mjs +3 -2
  30. package/fesm2022/angular-three.mjs +1621 -1795
  31. package/fesm2022/angular-three.mjs.map +1 -1
  32. package/index.d.ts +6 -10
  33. package/lib/canvas.d.ts +24 -37
  34. package/lib/directives/common.d.ts +12 -1
  35. package/lib/events.d.ts +2 -2
  36. package/lib/instance.d.ts +19 -10
  37. package/lib/loader.d.ts +13 -4
  38. package/lib/loop.d.ts +6 -29
  39. package/lib/portal.d.ts +18 -26
  40. package/lib/ref.d.ts +0 -1
  41. package/lib/renderer/catalogue.d.ts +5 -1
  42. package/lib/renderer/constants.d.ts +1 -1
  43. package/lib/renderer/index.d.ts +55 -4
  44. package/lib/renderer/store.d.ts +18 -21
  45. package/lib/renderer/utils.d.ts +2 -3
  46. package/lib/roots.d.ts +4 -3
  47. package/lib/store.d.ts +9 -11
  48. package/lib/utils/apply-props.d.ts +0 -1
  49. package/lib/{before-render.d.ts → utils/before-render.d.ts} +1 -1
  50. package/lib/utils/cd-aware-signal.d.ts +4 -0
  51. package/lib/utils/create-api-token.d.ts +23 -0
  52. package/lib/utils/is.d.ts +11 -12
  53. package/lib/utils/make.d.ts +3 -2
  54. package/lib/utils/signal-store.d.ts +16 -3
  55. package/metadata.json +1 -1
  56. package/package.json +30 -11
  57. package/plugin/generators.json +0 -32
  58. package/plugin/src/generators/init/compat.d.ts +1 -3
  59. package/plugin/src/generators/init/files/experience/{experience.component.ts.__tmpl__ → experience.component.ts__tmpl__} +1 -0
  60. package/plugin/src/generators/init/generator.d.ts +2 -5
  61. package/plugin/src/generators/init/generator.js +94 -95
  62. package/plugin/src/generators/init/generator.js.map +1 -1
  63. package/plugin/src/generators/init/schema.json +1 -12
  64. package/plugin/src/generators/utils.js.map +1 -1
  65. package/plugin/src/generators/{versions.d.ts → version.d.ts} +5 -3
  66. package/plugin/src/generators/version.js +18 -0
  67. package/plugin/src/generators/version.js.map +1 -0
  68. package/plugin/src/index.d.ts +0 -3
  69. package/plugin/src/index.js +0 -9
  70. package/plugin/src/index.js.map +1 -1
  71. package/web-types.json +1 -1
  72. package/esm2022/lib/before-render.mjs +0 -13
  73. package/esm2022/lib/directives/key.mjs +0 -29
  74. package/esm2022/lib/directives/repeat.mjs +0 -17
  75. package/esm2022/lib/three-types.mjs +0 -2
  76. package/esm2022/lib/utils/assert-injection-context.mjs +0 -14
  77. package/esm2022/lib/utils/create-injection-token.mjs +0 -47
  78. package/esm2022/lib/utils/safe-detect-changes.mjs +0 -17
  79. package/lib/directives/key.d.ts +0 -10
  80. package/lib/directives/repeat.d.ts +0 -7
  81. package/lib/three-types.d.ts +0 -306
  82. package/lib/utils/assert-injection-context.d.ts +0 -2
  83. package/lib/utils/create-injection-token.d.ts +0 -27
  84. package/lib/utils/safe-detect-changes.d.ts +0 -2
  85. package/plugin/package.json +0 -6
  86. package/plugin/src/generators/init-cannon/compat.d.ts +0 -2
  87. package/plugin/src/generators/init-cannon/compat.js +0 -6
  88. package/plugin/src/generators/init-cannon/compat.js.map +0 -1
  89. package/plugin/src/generators/init-cannon/generator.d.ts +0 -2
  90. package/plugin/src/generators/init-cannon/generator.js +0 -22
  91. package/plugin/src/generators/init-cannon/generator.js.map +0 -1
  92. package/plugin/src/generators/init-cannon/schema.json +0 -6
  93. package/plugin/src/generators/init-postprocessing/compat.d.ts +0 -2
  94. package/plugin/src/generators/init-postprocessing/compat.js +0 -6
  95. package/plugin/src/generators/init-postprocessing/compat.js.map +0 -1
  96. package/plugin/src/generators/init-postprocessing/generator.d.ts +0 -2
  97. package/plugin/src/generators/init-postprocessing/generator.js +0 -20
  98. package/plugin/src/generators/init-postprocessing/generator.js.map +0 -1
  99. package/plugin/src/generators/init-postprocessing/schema.json +0 -6
  100. package/plugin/src/generators/init-soba/compat.d.ts +0 -2
  101. package/plugin/src/generators/init-soba/compat.js +0 -6
  102. package/plugin/src/generators/init-soba/compat.js.map +0 -1
  103. package/plugin/src/generators/init-soba/generator.d.ts +0 -2
  104. package/plugin/src/generators/init-soba/generator.js +0 -26
  105. package/plugin/src/generators/init-soba/generator.js.map +0 -1
  106. package/plugin/src/generators/init-soba/schema.json +0 -6
  107. package/plugin/src/generators/versions.js +0 -16
  108. package/plugin/src/generators/versions.js.map +0 -1
  109. /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=
@@ -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
- }
@@ -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,2 +0,0 @@
1
- import { Injector } from '@angular/core';
2
- export declare function assertInjectionContext(fn: Function, injector?: Injector): Injector;
@@ -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 {};
@@ -1,2 +0,0 @@
1
- import type { ChangeDetectorRef } from '@angular/core';
2
- export declare function safeDetectChanges(...cdrs: (ChangeDetectorRef | undefined | null)[]): void;
@@ -1,6 +0,0 @@
1
- {
2
- "type": "commonjs",
3
- "generators": "./generators.json",
4
- "main": "./src/index.js",
5
- "version": "2.0.0-beta.21"
6
- }
@@ -1,2 +0,0 @@
1
- declare const _default: (generatorOptions: any) => (tree: any, context: any) => Promise<any>;
2
- export default _default;
@@ -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