angular-three-postprocessing 2.0.0-beta.242 → 2.0.0-beta.244

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 (59) hide show
  1. package/esm2022/lib/effect-composer.mjs +13 -29
  2. package/esm2022/lib/effect.mjs +10 -13
  3. package/esm2022/lib/effects/ascii.mjs +7 -8
  4. package/esm2022/lib/effects/bloom.mjs +6 -6
  5. package/esm2022/lib/effects/brightness-contrast.mjs +6 -16
  6. package/esm2022/lib/effects/chromatic-abberation.mjs +6 -16
  7. package/esm2022/lib/effects/color-average.mjs +7 -8
  8. package/esm2022/lib/effects/color-depth.mjs +6 -6
  9. package/esm2022/lib/effects/depth-of-field.mjs +7 -8
  10. package/esm2022/lib/effects/depth.mjs +6 -6
  11. package/esm2022/lib/effects/dot-screen.mjs +6 -6
  12. package/esm2022/lib/effects/fxaa.mjs +6 -6
  13. package/esm2022/lib/effects/glitch.mjs +8 -9
  14. package/esm2022/lib/effects/god-rays.mjs +7 -8
  15. package/esm2022/lib/effects/grid.mjs +8 -9
  16. package/esm2022/lib/effects/hue-saturation.mjs +6 -6
  17. package/esm2022/lib/effects/lens-flare.mjs +8 -9
  18. package/esm2022/lib/effects/lut.mjs +8 -9
  19. package/esm2022/lib/effects/noise.mjs +6 -6
  20. package/esm2022/lib/effects/pixelation.mjs +7 -8
  21. package/esm2022/lib/effects/scanline.mjs +6 -6
  22. package/esm2022/lib/effects/sepia.mjs +6 -6
  23. package/esm2022/lib/effects/shock-wave.mjs +6 -6
  24. package/esm2022/lib/effects/smaa.mjs +6 -6
  25. package/esm2022/lib/effects/tilt-shift-2.mjs +6 -6
  26. package/esm2022/lib/effects/tilt-shift.mjs +6 -6
  27. package/esm2022/lib/effects/vignette.mjs +6 -6
  28. package/esm2022/lib/effects/water.mjs +6 -6
  29. package/fesm2022/angular-three-postprocessing.mjs +156 -203
  30. package/fesm2022/angular-three-postprocessing.mjs.map +1 -1
  31. package/lib/effect-composer.d.ts +2 -9
  32. package/lib/effect.d.ts +2 -4
  33. package/lib/effects/ascii.d.ts +1 -2
  34. package/lib/effects/bloom.d.ts +1 -1
  35. package/lib/effects/brightness-contrast.d.ts +1 -1
  36. package/lib/effects/chromatic-abberation.d.ts +1 -1
  37. package/lib/effects/color-average.d.ts +2 -3
  38. package/lib/effects/color-depth.d.ts +1 -1
  39. package/lib/effects/depth-of-field.d.ts +1 -2
  40. package/lib/effects/depth.d.ts +1 -1
  41. package/lib/effects/dot-screen.d.ts +1 -1
  42. package/lib/effects/fxaa.d.ts +1 -1
  43. package/lib/effects/glitch.d.ts +1 -2
  44. package/lib/effects/god-rays.d.ts +1 -2
  45. package/lib/effects/grid.d.ts +1 -2
  46. package/lib/effects/hue-saturation.d.ts +1 -1
  47. package/lib/effects/lens-flare.d.ts +1 -2
  48. package/lib/effects/lut.d.ts +1 -2
  49. package/lib/effects/noise.d.ts +1 -1
  50. package/lib/effects/pixelation.d.ts +1 -2
  51. package/lib/effects/scanline.d.ts +1 -1
  52. package/lib/effects/sepia.d.ts +1 -1
  53. package/lib/effects/shock-wave.d.ts +1 -1
  54. package/lib/effects/smaa.d.ts +1 -1
  55. package/lib/effects/tilt-shift-2.d.ts +1 -1
  56. package/lib/effects/tilt-shift.d.ts +1 -1
  57. package/lib/effects/vignette.d.ts +1 -1
  58. package/lib/effects/water.d.ts +1 -1
  59. package/package.json +53 -54
@@ -1,7 +1,7 @@
1
1
  // Created by Anderson Mancini 2023
2
2
  // React Three Fiber Ultimate LensFlare
3
3
  import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, Component, afterNextRender, computed, input, } from '@angular/core';
4
- import { NgtArgs, injectBeforeRender, injectNgtRef, injectNgtStore } from 'angular-three';
4
+ import { NgtArgs, injectBeforeRender, injectStore } from 'angular-three';
5
5
  import { easing } from 'maath';
6
6
  import { injectAutoEffect } from 'ngxtension/auto-effect';
7
7
  import { mergeInputs } from 'ngxtension/inject-inputs';
@@ -98,12 +98,11 @@ const defaultOptions = {
98
98
  export class NgtpLensFlare {
99
99
  constructor() {
100
100
  this.autoEffect = injectAutoEffect();
101
- this.store = injectNgtStore();
101
+ this.store = injectStore();
102
102
  this.viewport = this.store.select('viewport');
103
103
  this.raycaster = this.store.select('raycaster');
104
104
  this.pointer = this.store.select('pointer');
105
105
  this.composerApi = injectEffectComposerApi();
106
- this.effectRef = input(injectNgtRef());
107
106
  this.options = input(defaultOptions, { transform: mergeInputs(defaultOptions) });
108
107
  this.projectedPosition = new Vector3();
109
108
  this.mouse2d = new Vector2();
@@ -174,22 +173,22 @@ export class NgtpLensFlare {
174
173
  easing.damp(uOpacity, 'value', target, smoothTime, delta);
175
174
  });
176
175
  }
177
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtpLensFlare, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
178
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.3", type: NgtpLensFlare, isStandalone: true, selector: "ngtp-lens-flare", inputs: { effectRef: { classPropertyName: "effectRef", publicName: "effectRef", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
179
- <ngt-primitive *args="[effect()]" [ref]="effectRef()" [dispose]="null" ngtCompound />
176
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgtpLensFlare, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
177
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.6", type: NgtpLensFlare, isStandalone: true, selector: "ngtp-lens-flare", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
178
+ <ngt-primitive *args="[effect()]" [dispose]="null" />
180
179
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
181
180
  }
182
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtpLensFlare, decorators: [{
181
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgtpLensFlare, decorators: [{
183
182
  type: Component,
184
183
  args: [{
185
184
  selector: 'ngtp-lens-flare',
186
185
  standalone: true,
187
186
  template: `
188
- <ngt-primitive *args="[effect()]" [ref]="effectRef()" [dispose]="null" ngtCompound />
187
+ <ngt-primitive *args="[effect()]" [dispose]="null" />
189
188
  `,
190
189
  imports: [NgtArgs],
191
190
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
192
191
  changeDetection: ChangeDetectionStrategy.OnPush,
193
192
  }]
194
193
  }], ctorParameters: () => [] });
195
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVucy1mbGFyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcG9zdHByb2Nlc3Npbmcvc3JjL2xpYi9lZmZlY3RzL2xlbnMtZmxhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUNBQW1DO0FBQ25DLHVDQUF1QztBQUV2QyxPQUFPLEVBQ04sc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFFBQVEsRUFDUixLQUFLLEdBQ0wsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDL0IsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQVcsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDeEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRTdELE1BQU0sZUFBZSxHQUFHO0lBQ3ZCLGNBQWMsRUFBRSxVQUFVLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBNEMzQjtDQUNBLENBQUM7QUFFRixNQUFNLE9BQU8sZUFBZ0IsU0FBUSxNQUFNO0lBQzFDLFlBQVksRUFDWCxhQUFhLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFDcEMsT0FBTyxHQUFHLElBQUksRUFDZCxTQUFTLEdBQUcsR0FBRyxFQUNmLFlBQVksR0FBRyxDQUFD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O29CQUNaLENBQUM7eUJBQU0sSUFBSSxNQUFNLFlBQVksSUFBSSxFQUFFLENBQUM7d0JBQ25DLElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUFFLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQzs0QkFDMUQsb0NBQW9DOzRCQUNwQyxNQUFNLEdBQUcsR0FBRyxDQUFDO3dCQUNkLENBQUM7NkJBQU0sSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsR0FBRyxHQUFHLEVBQUUsQ0FBQzs0QkFDakYsMERBQTBEOzRCQUMxRCxNQUFNLEdBQUcsR0FBRyxDQUFDO3dCQUNkLENBQUM7NkJBQU0sSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDOzRCQUN4QyxzREFBc0Q7NEJBQ3RELE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQzt3QkFDbEMsQ0FBQztvQkFDRixDQUFDO2dCQUNGLENBQUM7WUFDRixDQUFDO1lBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDOzhHQXBGVyxhQUFhO2tHQUFiLGFBQWEseVZBUGY7O0VBRVQsNERBQ1MsT0FBTzs7MkZBSUwsYUFBYTtrQkFWekIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOztFQUVUO29CQUNELE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ2pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUMvQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENyZWF0ZWQgYnkgQW5kZXJzb24gTWFuY2luaSAyMDIzXG4vLyBSZWFjdCBUaHJlZSBGaWJlciBVbHRpbWF0ZSBMZW5zRmxhcmVcblxuaW1wb3J0IHtcblx0Q1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0YWZ0ZXJOZXh0UmVuZGVyLFxuXHRjb21wdXRlZCxcblx0aW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0QXJncywgaW5qZWN0QmVmb3JlUmVuZGVyLCBpbmplY3ROZ3RSZWYsIGluamVjdE5ndFN0b3JlIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBlYXNpbmcgfSBmcm9tICdtYWF0aCc7XG5pbXBvcnQgeyBpbmplY3RBdXRvRWZmZWN0IH0gZnJvbSAnbmd4dGVuc2lvbi9hdXRvLWVmZmVjdCc7XG5pbXBvcnQgeyBtZXJnZUlucHV0cyB9IGZyb20gJ25neHRlbnNpb24vaW5qZWN0LWlucHV0cyc7XG5pbXBvcnQgeyBCbGVuZEZ1bmN0aW9uLCBFZmZlY3QgfSBmcm9tICdwb3N0cHJvY2Vzc2luZyc7XG5pbXBvcnQgeyBDb2xvciwgTWVzaCwgVGV4dHVyZSwgVW5pZm9ybSwgVmVjdG9yMiwgVmVjdG9yMyB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IGluamVjdEVmZmVjdENvbXBvc2VyQXBpIH0gZnJvbSAnLi4vZWZmZWN0LWNvbXBvc2VyJztcblxuY29uc3QgTGVuc0ZsYXJlU2hhZGVyID0ge1xuXHRmcmFnbWVudFNoYWRlcjogLyogZ2xzbCAqLyBgXG5cbiAgdW5pZm9ybSBmbG9hdCBpVGltZTtcbiAgdW5pZm9ybSB2ZWMyIGxlbnNQb3NpdGlvbjtcbiAgdW5pZm9ybSB2ZWMyIGlSZXNvbHV0aW9uO1xuICB1bmlmb3JtIHZlYzMgY29sb3JHYWluO1xuICB1bmlmb3JtIGZsb2F0IHN0YXJQb2ludHM7XG4gIHVuaWZvcm0gZmxvYXQgZ2xhcmVTaXplO1xuICB1bmlmb3JtIGZsb2F0IGZsYXJlU2l6ZTtcbiAgdW5pZm9ybSBmbG9hdCBmbGFyZVNwZWVkO1xuICB1bmlmb3JtIGZsb2F0IGZsYXJlU2hhcGU7XG4gIHVuaWZvcm0gZmxvYXQgaGFsb1NjYWxlO1xuICB1bmlmb3JtIGZsb2F0IG9wYWNpdHk7XG4gIHVuaWZvcm0gYm9vbCBhbmltYXRlZDtcbiAgdW5pZm9ybSBib29sIGFuYW1vcnBoaWM7XG4gIHVuaWZvcm0gYm9vbCBlbmFibGVkO1xuICB1bmlmb3JtIGJvb2wgc2Vjb25kYXJ5R2hvc3RzO1xuICB1bmlmb3JtIGJvb2wgc3RhckJ1cnN0O1xuICB1bmlmb3JtIGZsb2F0IGdob3N0U2NhbGU7XG4gIHVuaWZvcm0gYm9vbCBhZGl0aW9uYWxTdHJlYWtzO1xuICB1bmlmb3JtIHNhbXBsZXIyRCBsZW5zRGlydFRleHR1cmU7XG4gIHZlYzIgdnh0QztcblxuICBmbG9hdCBybmRmKGZsb2F0IG4pe3JldHVybiBmcmFjdChzaW4obikgKiA0Mzc1OC41NDUzMTIzKTt9ZmxvYXQgbml6KGZsb2F0IHApe2Zsb2F0IGZsID0gZmxvb3IocCk7ZmxvYXQgZmMgPSBmcmFjdChwKTtyZXR1cm4gbWl4KHJuZGYoZmwpLHJuZGYoZmwgKyAxLjApLCBmYyk7fVxuICB2ZWMzIGhzdjJyZ2IodmVjMyBjKXt2ZWM0IGsgPSB2ZWM0KDEuMCwgMi4wIC8gMy4wLCAxLjAgLyAzLjAsIDMuMCk7dmVjMyBwID0gYWJzKGZyYWN0KGMueHh4ICsgay54eXopICogNi4wIC0gay53d3cpO3JldHVybiBjLnogKiBtaXgoay54eHgsIGNsYW1wKHAgLSBrLnh4eCwgMC4wLCAxLjApLCBjLnkpO31cbiAgZmxvYXQgc2F0VShmbG9hdCB4KXtyZXR1cm4gY2xhbXAoeCwgMC4sMS4pO312ZWMyIHJ0VSh2ZWMyIG5heiwgZmxvYXQgcnRuKXtyZXR1cm4gdmVjMihjb3MocnRuKSAqIG5hei54ICsgc2luKHJ0bikgKiBuYXoueSxjb3MocnRuKSAqIG5hei55IC0gc2luKHJ0bikgKiBuYXoueCk7fVxuICB2ZWMzIGRyd0YodmVjMiBwLCBmbG9hdCBpbnRlbnNpdHksIGZsb2F0IHJuZCwgZmxvYXQgc3BlZWQsIGludCBpZCl7ZmxvYXQgZmxob3MgPSAoMS4gLyAzMi4pICogZmxvYXQoaWQpICogMC4xO2Zsb2F0IGxpbmdyYWQgPSBkaXN0YW5jZSh2ZWMyKDAuKSwgcCk7ZmxvYXQgZXhwZyA9IDEuIC8gZXhwKGxpbmdyYWQgKiAoZnJhY3Qocm5kKSAqIDAuNjYgKyAwLjMzKSk7dmVjMyBxelRnID0gaHN2MnJnYih2ZWMzKCBmcmFjdCggKGV4cGcgKiA4LikgKyBzcGVlZCAqIGZsYXJlU3BlZWQgKyBmbGhvcyksIHBvdygxLi1hYnMoZXhwZyoyLi0xLiksIDAuNDUpLCAyMC4wICogZXhwZyAqIGludGVuc2l0eSkpO2Zsb2F0IGludGVybmFsU3RhclBvaW50cztpZihhbmFtb3JwaGljKXtpbnRlcm5hbFN0YXJQb2ludHMgPSAxLjA7fSBlbHNle2ludGVybmFsU3RhclBvaW50cyA9IHN0YXJQb2ludHM7fWZsb2F0IGFtcyA9IGxlbmd0aChwICogZmxhcmVTaGFwZSAqIHNpbihpbnRlcm5hbFN0YXJQb2ludHMgKiBhdGFuKHAueCwgcC55KSkpO2Zsb2F0IGtKaGcgPSBwb3coMS4tc2F0VShhbXMpLCAoIGFuYW1vcnBoaWMgPyAxMDAuIDogMTIuKSk7a0poZyArPSBzYXRVKGV4cGctMC45KSAqIDMuO2tKaGcgPSBwb3coa0poZyAqIGV4cGcsIDguICsgKDEuLWludGVuc2l0eSkgKiA1Lik7aWYoZmxhcmVTcGVlZCA+IDAuMCl7cmV0dXJuIHZlYzMoa0poZykgKiBxelRnO30gZWxzZXtyZXR1cm4gdmVjMyhrSmhnKSAqIGZsYXJlU2l6ZSAqIDE1Ljt9fVxuICBmbG9hdCBhbXMyKHZlYzMgYSwgdmVjMyBiKSB7IHJldHVybiBhYnMoYS54IC0gYi54KSArIGFicyhhLnkgLSBiLnkpICsgYWJzKGEueiAtIGIueik7fXZlYzMgc2F0VSh2ZWMzIHgpe3JldHVybiBjbGFtcCh4LCB2ZWMzKDAuMCksIHZlYzMoMS4wKSk7fVxuICBmbG9hdCBnbFIodmVjMiBuYXosIHZlYzIgcG9zLCBmbG9hdCB6c2kpe3ZlYzIgbW5pO2lmKGFuaW1hdGVkKXttbmkgPSBydFUobmF6LXBvcywgaVRpbWUgKiAwLjEpO30gZWxzZXttbmkgPSBuYXotcG9zO31mbG9hdCBhbmcgPSBhdGFuKG1uaS55LCBtbmkueCkgKiAoYW5hbW9ycGhpYyA/IDEuMCA6IHN0YXJQb2ludHMpO2Zsb2F0IGFtczIgPSBsZW5ndGgobW5pKTthbXMyID0gcG93KGFtczIsIC45KTtmbG9hdCBmMCA9IDEuMC8obGVuZ3RoKG5hei1wb3MpKigxLjAvenNpKjE2LjApKy4yKTtyZXR1cm4gZjArZjAqKHNpbigoYW5nKSkqLjIgKy4zKTt9XG4gIGZsb2F0IHNkSGV4KHZlYzIgcCl7cCA9IGFicyhwKTt2ZWMyIHEgPSB2ZWMyKHAueCoyLjAqMC41NzczNTAzLCBwLnkgKyBwLngqMC41NzczNTAzKTtyZXR1cm4gZG90KHN0ZXAocS54eSxxLnl4KSwgMS4wLXEueXgpO31mbG9hdCBmcG93KGZsb2F0IHgsIGZsb2F0IGspe3JldHVybiB4ID4gayA/IHBvdygoeC1rKS8oMS4wLWspLDIuMCkgOiAwLjA7fVxuICB2ZWMzIHJIeCh2ZWMyIG5heiwgdmVjMiBwLCBmbG9hdCBzLCB2ZWMzIGNvbCl7bmF6IC09IHA7aWYgKGFicyhuYXoueCkgPCAwLjIqcyAmJiBhYnMobmF6LnkpIDwgMC4yKnMpe3JldHVybiBtaXgodmVjMygwKSxtaXgodmVjMygwKSxjb2wsMC4xICsgZnBvdyhsZW5ndGgobmF6L3MpLDAuMSkqMTAuMCksc21vb3Roc3RlcCgwLjAsMC4xLHNkSGV4KG5heioyMC4wL3MpKSk7fXJldHVybiB2ZWMzKDApO31cbiAgdmVjMyBtTHModmVjMiBuYXosIHZlYzIgcG9zKXt2ZWMyIG1uaSA9IG5hei1wb3M7dmVjMiB6eE1wID0gbmF6KihsZW5ndGgobmF6KSk7ZmxvYXQgYW5nID0gYXRhbihtbmkueCxtbmkueSk7ZmxvYXQgZjAgPSAuMy8obGVuZ3RoKG5hei1wb3MpKjE2LjArMS4wKTtmMCA9IGYwKihzaW4obml6KHNpbihhbmcqMy45LShhbmltYXRlZCA/IGlUaW1lIDogMC4wKSAqIDAuMykgKiBzdGFyUG9pbnRzKSkqLjIgKTtmbG9hdCBmMSA9IG1heCgwLjAxLXBvdyhsZW5ndGgobmF6KzEuMipwb3MpLDEuOSksLjApKjcuMDtmbG9hdCBmMiA9IG1heCguOS8oMTAuMCszMi4wKnBvdyhsZW5ndGgoenhNcCswLjk5KnBvcyksMi4wKSksLjApKjAuMzU7ZmxvYXQgZjIyID0gbWF4KC45LygxMS4wKzMyLjAqcG93KGxlbmd0aCh6eE1wKzAuODUqcG9zKSwyLjApKSwuMCkqMC4yMztmbG9hdCBmMjMgPSBtYXgoLjkvKDEyLjArMzIuMCpwb3cobGVuZ3RoKHp4TXArMC45NSpwb3MpLDIuMCkpLC4wKSowLjY7dmVjMiB6dFggPSBtaXgobmF6LHp4TXAsIDAuMSk7ZmxvYXQgZjQgPSBtYXgoMC4wMS1wb3cobGVuZ3RoKHp0WCswLjQqcG9zKSwyLjkpLC4wKSo0LjAyO2Zsb2F0IGY0MiA9IG1heCgwLjAtcG93KGxlbmd0aCh6dFgrMC40NSpwb3MpLDIuOSksLjApKjQuMTtmbG9hdCBmNDMgPSBtYXgoMC4wMS1wb3cobGVuZ3RoKHp0WCswLjUqcG9zKSwyLjkpLC4wKSo0LjY7enRYID0gbWl4KG5heix6eE1wLC0uNCk7ZmxvYXQgZjUgPSBtYXgoMC4wMS1wb3cobGVuZ3RoKHp0WCswLjEqcG9zKSw1LjUpLC4wKSoyLjA7ZmxvYXQgZjUyID0gbWF4KDAuMDEtcG93KGxlbmd0aCh6dFgrMC4yKnBvcyksNS41KSwuMCkqMi4wO2Zsb2F0IGY1MyA9IG1heCgwLjAxLXBvdyhsZW5ndGgoenRYKzAuMSpwb3MpLDUuNSksLjApKjIuMDt6dFggPSBtaXgobmF6LHp4TXAsIDIuMSk7ZmxvYXQgZjYgPSBtYXgoMC4wMS1wb3cobGVuZ3RoKHp0WC0wLjMqcG9zKSwxLjYxKSwuMCkqMy4xNTk7ZmxvYXQgZjYyID0gbWF4KDAuMDEtcG93KGxlbmd0aCh6dFgtMC4zMjUqcG9zKSwxLjYxNCksLjApKjMuMTQ7ZmxvYXQgZjYzID0gbWF4KDAuMDEtcG93KGxlbmd0aCh6dFgtMC4zODkqcG9zKSwxLjYyMyksLjApKjMuMTI7dmVjMyBjID0gdmVjMyhnbFIobmF6LHBvcywgZ2xhcmVTaXplKSk7dmVjMiBwcm90O2lmKGFuaW1hdGVkKXtwcm90ID0gcnRVKG5heiAtIHBvcywgKGlUaW1lICogMC4xKSk7fSBlbHNlIGlmKGFuYW1vcnBoaWMpe3Byb3QgPSBydFUobmF6IC0gcG9zLCAxLjU3MDc5Nik7fSBlbHNlIHtwcm90ID0gbmF6IC0gcG9zO31jICs9IGRyd0YocHJvdCwgKGFuYW1vcnBoaWMgPyBmbGFyZVNpemUgKiAxMC4gOiBmbGFyZVNpemUpLCAwLjEsIGlUaW1lLCAxKTtjLnIrPWYxK2YyK2Y0K2Y1K2Y2OyBjLmcrPWYxK2YyMitmNDIrZjUyK2Y2MjsgYy5iKz1mMStmMjMrZjQzK2Y1MytmNjM7YyA9IGMqMS4zICogdmVjMyhsZW5ndGgoenhNcCkrLjA5KTtjKz12ZWMzKGYwKTtyZXR1cm4gYzt9XG4gIHZlYzMgY2ModmVjMyBjbHIsIGZsb2F0IGZjdCxmbG9hdCBmY3QyKXtmbG9hdCB3ID0gY2xyLngrY2xyLnkrY2xyLno7cmV0dXJuIG1peChjbHIsdmVjMyh3KSpmY3QsdypmY3QyKTt9ZmxvYXQgcm5kKHZlYzIgcCl7ZmxvYXQgZiA9IGZyYWN0KHNpbihkb3QocCwgdmVjMigxMi4xMjM0LCA3Mi44MzkyKSApKjQ1MTIzLjIpKTtyZXR1cm4gZjt9ZmxvYXQgcm5kKGZsb2F0IHcpe2Zsb2F0IGYgPSBmcmFjdChzaW4odykqMTAwMC4pO3JldHVybiBmO31cbiAgZmxvYXQgclNocCh2ZWMyIHAsIGludCBOKXtmbG9hdCBmO2Zsb2F0IGE9YXRhbihwLngscC55KSsuMjtmbG9hdCBiPTYuMjgzMTkvZmxvYXQoTik7Zj1zbW9vdGhzdGVwKC41LC41MSwgY29zKGZsb29yKC41K2EvYikqYi1hKSpsZW5ndGgocC54eSkqIDIuMCAgLWdob3N0U2NhbGUpO3JldHVybiBmO31cbiAgdmVjMyBkckModmVjMiBwLCBmbG9hdCB6c2ksIGZsb2F0IGRDeSwgdmVjMyBjbHIsIHZlYzMgY2xyMiwgZmxvYXQgYW1zMiwgdmVjMiBlc29tKXtmbG9hdCBsID0gbGVuZ3RoKHAgKyBlc29tKihhbXMyKjIuKSkrenNpLzIuO2Zsb2F0IGwyID0gbGVuZ3RoKHAgKyBlc29tKihhbXMyKjQuKSkrenNpLzMuO2Zsb2F0IGMgPSBtYXgoMC4wMS1wb3cobGVuZ3RoKHAgKyBlc29tKmFtczIpLCB6c2kqZ2hvc3RTY2FsZSksIDAuMCkqMTAuO2Zsb2F0IGMxID0gbWF4KDAuMDAxLXBvdyhsLTAuMywgMS4vNDAuKStzaW4obCoyMC4pLCAwLjApKjMuO2Zsb2F0IGMyID0gIG1heCgwLjA5L3BvdyhsZW5ndGgocC1lc29tKmFtczIvLjUpKjEuLCAuOTUpLCAwLjApLzIwLjtmbG9hdCBzID0gbWF4KDAuMDItcG93KHJTaHAocCo1LiArIGVzb20qYW1zMio1LiArIGRDeSwgNikgLCAxLiksIDAuMCkqMS41O2NsciA9IGNvcyh2ZWMzKDAuNDQsIC4yNCwgLjIpKjguICsgYW1zMio0LikqMC41Ky41O3ZlYzMgZiA9IGMqY2xyO2YgKz0gYzEqY2xyO2YgKz0gYzIqY2xyO2YgKz0gIHMqY2xyO3JldHVybiBmLTAuMDE7fVxuICB2ZWM0IGdlTEMoZmxvYXQgeCl7cmV0dXJuIHZlYzQodmVjMyhtaXgobWl4KG1peChtaXgobWl4KG1peChtaXgobWl4KG1peChtaXgobWl4KG1peChtaXgobWl4KG1peCh2ZWMzKDAuLCAwLiwgMC4pLHZlYzMoMC4sIDAuLCAwLiksIHNtb290aHN0ZXAoMC4wLCAwLjA2MywgeCkpLHZlYzMoMC4sIDAuLCAwLiksIHNtb290aHN0ZXAoMC4wNjMsIDAuMTI1LCB4KSksdmVjMygwLjAsIDAuLCAwLiksIHNtb290aHN0ZXAoMC4xMjUsIDAuMTg4LCB4KSksdmVjMygwLjE4OCwgMC4xMzEsIDAuMTE2KSwgc21vb3Roc3RlcCgwLjE4OCwgMC4yMjcsIHgpKSx2ZWMzKDAuMzEsIDAuMjA0LCAwLjUzNyksIHNtb290aHN0ZXAoMC4yMjcsIDAuMjUxLCB4KSksdmVjMygwLjE5MiwgMC4xMDYsIDAuMjg2KSwgc21vb3Roc3RlcCgwLjI1MSwgMC4zMTQsIHgpKSx2ZWMzKDAuMTAyLCAwLjAwOCwgMC4zNDEpLCBzbW9vdGhzdGVwKDAuMzE0LCAwLjM5MiwgeCkpLHZlYzMoMC4wODYsIDAuMCwgMC4xNDEpLCBzbW9vdGhzdGVwKDAuMzkyLCAwLjUwMiwgeCkpLHZlYzMoMS4wLCAwLjMxLCAwLjApLCBzbW9vdGhzdGVwKDAuNTAyLCAwLjYwNCwgeCkpLHZlYzMoLjEsIDAuMSwgMC4xKSwgc21vb3Roc3RlcCgwLjYwNCwgMC42NDMsIHgpKSx2ZWMzKDEuMCwgMC45MjksIDAuMCksIHNtb290aHN0ZXAoMC42NDMsIDAuNzYxLCB4KSksdmVjMygxLjAsIDAuMDg2LCAwLjQyNCksIHNtb290aHN0ZXAoMC43NjEsIDAuODQ3LCB4KSksdmVjMygxLjAsIDAuNDksIDAuMCksIHNtb290aHN0ZXAoMC44NDcsIDAuODksIHgpKSx2ZWMzKDAuOTQ1LCAwLjI3NSwgMC40NzUpLCBzbW9vdGhzdGVwKDAuODksIDAuOTQxLCB4KSksdmVjMygwLjI1MSwgMC4yNzUsIDAuNzk2KSwgc21vb3Roc3RlcCgwLjk0MSwgMS4wLCB4KSkpLDEuMCk7fVxuICBmbG9hdCBkaVROKHZlYzIgcCl7dmVjMiBmID0gZnJhY3QocCk7ZiA9IChmICogZikgKiAoMy4wIC0gKDIuMCAqIGYpKTtmbG9hdCBuID0gZG90KGZsb29yKHApLCB2ZWMyKDEuMCwgMTU3LjApKTt2ZWM0IGEgPSBmcmFjdChzaW4odmVjNChuICsgMC4wLCBuICsgMS4wLCBuICsgMTU3LjAsIG4gKyAxNTguMCkpICogNDM3NTguNTQ1MzEyMyk7cmV0dXJuIG1peChtaXgoYS54LCBhLnksIGYueCksIG1peChhLnosIGEudywgZi54KSwgZi55KTt9XG4gIGZsb2F0IGZibSh2ZWMyIHApe2NvbnN0IG1hdDIgbSA9IG1hdDIoMC44MCwgLTAuNjAsIDAuNjAsIDAuODApO2Zsb2F0IGYgPSAwLjA7ZiArPSAwLjUwMDAqZGlUTihwKTsgcCA9IG0qcCoyLjAyO2YgKz0gMC4yNTAwKmRpVE4ocCk7IHAgPSBtKnAqMi4wMztmICs9IDAuMTI1MCpkaVROKHApOyBwID0gbSpwKjIuMDE7ZiArPSAwLjA2MjUqZGlUTihwKTtyZXR1cm4gZi8wLjkzNzU7fVxuICB2ZWM0IGdlTFModmVjMiBwKXt2ZWMyIHBwID0gKHAgLSB2ZWMyKDAuNSkpICogMi4wO2Zsb2F0IGEgPSBhdGFuKHBwLnksIHBwLngpO3ZlYzQgY3AgPSB2ZWM0KHNpbihhICogMS4wKSwgbGVuZ3RoKHBwKSwgc2luKGEgKiAxMy4wKSwgc2luKGEgKiA1My4wKSk7ZmxvYXQgZCA9IHNpbihjbGFtcChwb3cobGVuZ3RoKHZlYzIoMC41KSAtIHApICogMC41ICsgaGFsb1NjYWxlIC8yLiwgNS4wKSwgMC4wLCAxLjApICogMy4xNDE1OSk7dmVjMyBjID0gdmVjMyhkKSAqIHZlYzMoZmJtKGNwLnh5ICogMTYuMCkgKiBmYm0oY3AuencgKiA5LjApICogbWF4KG1heChtYXgobWF4KDAuNSwgc2luKGEgKiAxLjApKSwgc2luKGEgKiAzLjApICogMC44KSwgc2luKGEgKiA3LjApICogMC44KSwgc2luKGEgKiA5LjApICogMTAuNikpO2MgKj0gdmVjMyhtaXgoMi4wLCAoc2luKGxlbmd0aChwcC54eSkgKiAyNTYuMCkgKiAwLjUpICsgMC41LCBzaW4oKGNsYW1wKChsZW5ndGgocHAueHkpIC0gMC44NzUpIC8gMC4xLCAwLjAsIDEuMCkgKyAwLjApICogMi4wICogMy4xNDE1OSkgKiAxLjUpICsgMC41KSAqIDAuMzI3NTtyZXR1cm4gdmVjNCh2ZWMzKGMgKiAxLjApLCBkKTt9XG4gIHZlYzQgZ2VMRCh2ZWMyIHApe3AueHkgKz0gdmVjMihmYm0ocC55eCAqIDMuMCksIGZibShwLnl4ICogMi4wKSkgKiAwLjA4MjU7dmVjMyBvID0gdmVjMyhtaXgoMC4xMjUsIDAuMjUsIG1heChtYXgoc21vb3Roc3RlcCgwLjEsIDAuMCwgbGVuZ3RoKHAgLSB2ZWMyKDAuMjUpKSksc21vb3Roc3RlcCgwLjQsIDAuMCwgbGVuZ3RoKHAgLSB2ZWMyKDAuNzUpKSkpLHNtb290aHN0ZXAoMC44LCAwLjAsIGxlbmd0aChwIC0gdmVjMigwLjg3NSwgMC4xMjUpKSkpKSk7byArPSB2ZWMzKG1heChmYm0ocCAqIDEuMCkgLSAwLjUsIDAuMCkpICogMC41O28gKz0gdmVjMyhtYXgoZmJtKHAgKiAyLjApIC0gMC41LCAwLjApKSAqIDAuNTtvICs9IHZlYzMobWF4KGZibShwICogNC4wKSAtIDAuNSwgMC4wKSkgKiAwLjI1O28gKz0gdmVjMyhtYXgoZmJtKHAgKiA4LjApIC0gMC43NSwgMC4wKSkgKiAxLjA7byArPSB2ZWMzKG1heChmYm0ocCAqIDE2LjApIC0gMC43NSwgMC4wKSkgKiAwLjc1O28gKz0gdmVjMyhtYXgoZmJtKHAgKiA2NC4wKSAtIDAuNzUsIDAuMCkpICogMC41O3JldHVybiB2ZWM0KGNsYW1wKG8sIHZlYzMoMC4xNSksIHZlYzMoMS4wKSksIDEuMCk7fVxuICB2ZWM0IHR4TChzYW1wbGVyMkQgdGV4LCB2ZWMyIHh0Qyl7aWYoKCh4dEMueCA8IDAuKSB8fCAoeHRDLnkgPCAwLikpIHx8ICgoeHRDLnggPiAxLikgfHwgKHh0Qy55ID4gMS4pKSl7cmV0dXJuIHZlYzQoMC4wKTt9ZWxzZXtyZXR1cm4gdGV4dHVyZSh0ZXgsIHh0Qyk7IH19XG4gIHZlYzQgdHhEKHNhbXBsZXIyRCB0ZXgsIHZlYzIgeHRDLCB2ZWMyIGRpciwgdmVjMyBkaXRuKSB7cmV0dXJuIHZlYzQodHhMKHRleCwgKHh0QyArIChkaXIgKiBkaXRuLnIpKSkucix0eEwodGV4LCAoeHRDICsgKGRpciAqIGRpdG4uZykpKS5nLHR4TCh0ZXgsICh4dEMgKyAoZGlyICogZGl0bi5iKSkpLmIsMS4wKTt9XG4gIHZlYzQgc3RyQigpe3ZlYzIgYXNwWHRjID0gdmVjMigxLjApIC0gKCgodnh0QyAtIHZlYzIoMC41KSkgKiB2ZWMyKDEuMCkpICsgdmVjMigwLjUpKTsgdmVjMiB4dEMgPSB2ZWMyKDEuMCkgLSB2eHRDOyB2ZWMyIGdodmMgPSAodmVjMigwLjUpIC0geHRDKSAqIDAuMyAtIGxlbnNQb3NpdGlvbjsgdmVjMiBnaE5tID0gbm9ybWFsaXplKGdodmMgKiB2ZWMyKDEuMCkpICogdmVjMigxLjApO3ZlYzIgaGFsb1ZlYyA9IG5vcm1hbGl6ZShnaHZjKSAqIDAuNjt2ZWMyIGhsTm0gPSBnaE5tICogMC42O3ZlYzIgdGV4ZWxTaXplID0gdmVjMigxLjApIC8gdmVjMihpUmVzb2x1dGlvbi54eSk7dmVjMyBkaXRuID0gdmVjMygtKHRleGVsU2l6ZS54ICogMS41KSwgMC4yLCB0ZXhlbFNpemUueCAqIDEuNSk7dmVjNCBjID0gdmVjNCgwLjApO2ZvciAoaW50IGkgPSAwOyBpIDwgODsgaSsrKSB7dmVjMiBvZmZzZXQgPSB4dEMgKyAoZ2h2YyAqIGZsb2F0KGkpKTtjICs9IHR4RChsZW5zRGlydFRleHR1cmUsIG9mZnNldCwgZ2hObSwgZGl0bikgKiBwb3cobWF4KDAuMCwgMS4wIC0gKGxlbmd0aCh2ZWMyKDAuNSkgLSBvZmZzZXQpIC8gbGVuZ3RoKHZlYzIoMC41KSkpKSwgMTAuMCk7fXZlYzIgdXlUcnogPSB4dEMgKyBobE5tOyByZXR1cm4gKGMgKiBnZUxDKChsZW5ndGgodmVjMigwLjUpIC0gYXNwWHRjKSAvIGxlbmd0aCh2ZWMyKGhhbG9TY2FsZSkpKSkpICsodHhEKGxlbnNEaXJ0VGV4dHVyZSwgdXlUcnosIGdoTm0sIGRpdG4pICogcG93KG1heCgwLjAsIDEuMCAtIChsZW5ndGgodmVjMigwLjUpIC0gdXlUcnopIC8gbGVuZ3RoKHZlYzIoMC41KSkpKSwgMTAuMCkpO31cbiAgdm9pZCBtYWluSW1hZ2UodmVjNCB2LHZlYzIgcixvdXQgdmVjNCBpKXt2ZWMyIGc9ci0uNTtnLnkqPWlSZXNvbHV0aW9uLnkvaVJlc29sdXRpb24ueDt2ZWMyIGw9bGVuc1Bvc2l0aW9uKi41O2wueSo9aVJlc29sdXRpb24ueS9pUmVzb2x1dGlvbi54O3ZlYzMgZj1tTHMoZyxsKSoyMC4qY29sb3JHYWluLzI1Ni47aWYoYWRpdGlvbmFsU3RyZWFrcyl7dmVjMyBvPXZlYzMoLjksLjIsLjEpLHA9dmVjMyguMywuMSwuOSk7Zm9yKGZsb2F0IG49MC47bjwxMC47bisrKWYrPWRyQyhnLHBvdyhybmQobioyZTMpKjIuOCwuMSkrMS40MSwwLixvK24scCtuLHJuZChuKjIwLikqMy4rLjItLjUsbGVuc1Bvc2l0aW9uKTt9aWYoc2Vjb25kYXJ5R2hvc3RzKXt2ZWMzIG49dmVjMygwKTtuKz1ySHgoZywtbGVuc1Bvc2l0aW9uKi4yNSxnaG9zdFNjYWxlKjEuNCx2ZWMzKC4yNSwuMzUsMCkpO24rPXJIeChnLGxlbnNQb3NpdGlvbiouMjUsZ2hvc3RTY2FsZSouNSx2ZWMzKDEsLjUsLjUpKTtuKz1ySHgoZyxsZW5zUG9zaXRpb24qLjEsZ2hvc3RTY2FsZSoxLjYsdmVjMygxKSk7bis9ckh4KGcsbGVuc1Bvc2l0aW9uKjEuOCxnaG9zdFNjYWxlKjIuLHZlYzMoMCwuNSwuNzUpKTtuKz1ySHgoZyxsZW5zUG9zaXRpb24qMS4yNSxnaG9zdFNjYWxlKi44LHZlYzMoMSwxLC41KSk7bis9ckh4KGcsLWxlbnNQb3NpdGlvbioxLjI1LGdob3N0U2NhbGUqNS4sdmVjMyguNSwuNSwuMjUpKTtuKz1mcG93KDEuLWFicyhkaXN0YW5jZShsZW5zUG9zaXRpb24qLjgsZyktLjcpLC45ODUpKmNvbG9yR2Fpbi8yMTAwLjtmKz1uO31pZihzdGFyQnVyc3Qpe3Z4dEM9ZysuNTt2ZWM0IG49Z2VMRChnKTtmbG9hdCBvPTEuLWNsYW1wKDAuNSwwLiwuNSkqMi47bis9bWl4KG4scG93KG4qMi4sdmVjNCgyKSkqLjUsbyk7ZmxvYXQgcz0oZy54K2cueSkqKDEuLzYuKTt2ZWMyIGQ9bWF0Mihjb3MocyksLXNpbihzKSxzaW4ocyksY29zKHMpKSp2eHRDO24rPWdlTFMoZCkqMi47Zis9Y2xhbXAobi54eXoqc3RyQigpLnh5eiwuMDEsMS4pO31pPWVuYWJsZWQ/dmVjNChtaXgoZix2ZWMzKDApLG9wYWNpdHkpK3YueHl6LHYudyk6dmVjNCh2KTt9XG5gLFxufTtcblxuZXhwb3J0IGNsYXNzIExlbnNGbGFyZUVmZmVjdCBleHRlbmRzIEVmZmVjdCB7XG5cdGNvbnN0cnVjdG9yKHtcblx0XHRibGVuZEZ1bmN0aW9uID0gQmxlbmRGdW5jdGlvbi5OT1JNQUwsXG5cdFx0ZW5hYmxlZCA9IHRydWUsXG5cdFx0Z2xhcmVTaXplID0gMC4yLFxuXHRcdGxlbnNQb3NpdGlvbiA9IFswLjAxLCAwLjAxXSxcblx0XHRpUmVzb2x1dGlvbiA9IFswLCAwXSxcblx0XHRzdGFyUG9pbnRzID0gNixcblx0XHRmbGFyZVNpemUgPSAwLjAxLFxuXHRcdGZsYXJlU3BlZWQgPSAwLjAxLFxuXHRcdGZsYXJlU2hhcGUgPSAwLjAxLFxuXHRcdGFuaW1hdGVkID0gdHJ1ZSxcblx0XHRhbmFtb3JwaGljID0gZmFsc2UsXG5cdFx0Y29sb3JHYWluID0gbmV3IENvbG9yKDIwLCAyMCwgMjApLFxuXHRcdGxlbnNEaXJ0VGV4dHVyZSA9IG51bGwgYXMgVGV4dHVyZSB8IG51bGwsXG5cdFx0aGFsb1NjYWxlID0gMC41LFxuXHRcdHNlY29uZGFyeUdob3N0cyA9IHRydWUsXG5cdFx0YWRpdGlvbmFsU3RyZWFrcyA9IHRydWUsXG5cdFx0Z2hvc3RTY2FsZSA9IDAuMCxcblx0XHRvcGFjaXR5ID0gMS4wLFxuXHRcdHN0YXJCdXJzdCA9IGZhbHNlLFxuXHR9ID0ge30pIHtcblx0XHRzdXBlcignTGVuc0ZsYXJlRWZmZWN0JywgTGVuc0ZsYXJlU2hhZGVyLmZyYWdtZW50U2hhZGVyLCB7XG5cdFx0XHRibGVuZEZ1bmN0aW9uLFxuXHRcdFx0dW5pZm9ybXM6IG5ldyBNYXA8c3RyaW5nLCBVbmlmb3JtPihbXG5cdFx0XHRcdFsnZW5hYmxlZCcsIG5ldyBVbmlmb3JtKGVuYWJsZWQpXSxcblx0XHRcdFx0WydnbGFyZVNpemUnLCBuZXcgVW5pZm9ybShnbGFyZVNpemUpXSxcblx0XHRcdFx0WydsZW5zUG9zaXRpb24nLCBuZXcgVW5pZm9ybShsZW5zUG9zaXRpb24pXSxcblx0XHRcdFx0WydpVGltZScsIG5ldyBVbmlmb3JtKDApXSxcblx0XHRcdFx0WydpUmVzb2x1dGlvbicsIG5ldyBVbmlmb3JtKGlSZXNvbHV0aW9uKV0sXG5cdFx0XHRcdFsnc3RhclBvaW50cycsIG5ldyBVbmlmb3JtKHN0YXJQb2ludHMpXSxcblx0XHRcdFx0WydmbGFyZVNpemUnLCBuZXcgVW5pZm9ybShmbGFyZVNpemUpXSxcblx0XHRcdFx0WydmbGFyZVNwZWVkJywgbmV3IFVuaWZvcm0oZmxhcmVTcGVlZCldLFxuXHRcdFx0XHRbJ2ZsYXJlU2hhcGUnLCBuZXcgVW5pZm9ybShmbGFyZVNoYXBlKV0sXG5cdFx0XHRcdFsnYW5pbWF0ZWQnLCBuZXcgVW5pZm9ybShhbmltYXRlZCldLFxuXHRcdFx0XHRbJ2FuYW1vcnBoaWMnLCBuZXcgVW5pZm9ybShhbmFtb3JwaGljKV0sXG5cdFx0XHRcdFsnY29sb3JHYWluJywgbmV3IFVuaWZvcm0oY29sb3JHYWluKV0sXG5cdFx0XHRcdFsnbGVuc0RpcnRUZXh0dXJlJywgbmV3IFVuaWZvcm0obGVuc0RpcnRUZXh0dXJlKV0sXG5cdFx0XHRcdFsnaGFsb1NjYWxlJywgbmV3IFVuaWZvcm0oaGFsb1NjYWxlKV0sXG5cdFx0XHRcdFsnc2Vjb25kYXJ5R2hvc3RzJywgbmV3IFVuaWZvcm0oc2Vjb25kYXJ5R2hvc3RzKV0sXG5cdFx0XHRcdFsnYWRpdGlvbmFsU3RyZWFrcycsIG5ldyBVbmlmb3JtKGFkaXRpb25hbFN0cmVha3MpXSxcblx0XHRcdFx0WydnaG9zdFNjYWxlJywgbmV3IFVuaWZvcm0oZ2hvc3RTY2FsZSldLFxuXHRcdFx0XHRbJ3N0YXJCdXJzdCcsIG5ldyBVbmlmb3JtKHN0YXJCdXJzdCldLFxuXHRcdFx0XHRbJ29wYWNpdHknLCBuZXcgVW5pZm9ybShvcGFjaXR5KV0sXG5cdFx0XHRdKSxcblx0XHR9KTtcblx0fVxuXG5cdG92ZXJyaWRlIHVwZGF0ZShfcmVuZGVyZXI6IGFueSwgX2lucHV0QnVmZmVyOiBhbnksIGRlbHRhVGltZTogbnVtYmVyKSB7XG5cdFx0Y29uc3QgaVRpbWUgPSB0aGlzLnVuaWZvcm1zLmdldCgnaVRpbWUnKTtcblx0XHRpZiAoaVRpbWUpIHtcblx0XHRcdGlUaW1lLnZhbHVlICs9IGRlbHRhVGltZTtcblx0XHR9XG5cdH1cbn1cblxuZXhwb3J0IHR5cGUgTGVuc0ZsYXJlT3B0aW9ucyA9IENvbnN0cnVjdG9yUGFyYW1ldGVyczx0eXBlb2YgTGVuc0ZsYXJlRWZmZWN0PlswXSAmIHtcblx0cG9zaXRpb246IFZlY3RvcjM7XG5cdGZvbGxvd01vdXNlOiBib29sZWFuO1xuXHRzbW9vdGhUaW1lOiBudW1iZXI7XG59O1xuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogTGVuc0ZsYXJlT3B0aW9ucyA9IHtcblx0cG9zaXRpb246IG5ldyBWZWN0b3IzKC0yNSwgNiwgLTYwKSxcblx0Zm9sbG93TW91c2U6IGZhbHNlLFxuXHRzbW9vdGhUaW1lOiAwLjcsXG59O1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RwLWxlbnMtZmxhcmUnLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3QtcHJpbWl0aXZlICphcmdzPVwiW2VmZmVjdCgpXVwiIFtyZWZdPVwiZWZmZWN0UmVmKClcIiBbZGlzcG9zZV09XCJudWxsXCIgbmd0Q29tcG91bmQgLz5cblx0YCxcblx0aW1wb3J0czogW05ndEFyZ3NdLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RwTGVuc0ZsYXJlIHtcblx0YXV0b0VmZmVjdCA9IGluamVjdEF1dG9FZmZlY3QoKTtcblx0c3RvcmUgPSBpbmplY3ROZ3RTdG9yZSgpO1xuXHR2aWV3cG9ydCA9IHRoaXMuc3RvcmUuc2VsZWN0KCd2aWV3cG9ydCcpO1xuXHRyYXljYXN0ZXIgPSB0aGlzLnN0b3JlLnNlbGVjdCgncmF5Y2FzdGVyJyk7XG5cdHBvaW50ZXIgPSB0aGlzLnN0b3JlLnNlbGVjdCgncG9pbnRlcicpO1xuXG5cdGNvbXBvc2VyQXBpID0gaW5qZWN0RWZmZWN0Q29tcG9zZXJBcGkoKTtcblxuXHRlZmZlY3RSZWYgPSBpbnB1dChpbmplY3ROZ3RSZWY8TGVuc0ZsYXJlRWZmZWN0PigpKTtcblx0b3B0aW9ucyA9IGlucHV0KGRlZmF1bHRPcHRpb25zLCB7IHRyYW5zZm9ybTogbWVyZ2VJbnB1dHMoZGVmYXVsdE9wdGlvbnMpIH0pO1xuXG5cdHByb2plY3RlZFBvc2l0aW9uID0gbmV3IFZlY3RvcjMoKTtcblx0bW91c2UyZCA9IG5ldyBWZWN0b3IyKCk7XG5cblx0ZWZmZWN0ID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IHsgcG9zaXRpb246IF8sIGZvbGxvd01vdXNlOiBfXywgc21vb3RoVGltZTogX19fLCAuLi5vcHRpb25zIH0gPSB0aGlzLm9wdGlvbnMoKTtcblx0XHRyZXR1cm4gbmV3IExlbnNGbGFyZUVmZmVjdChvcHRpb25zKTtcblx0fSk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0YWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcblx0XHRcdHRoaXMuYXV0b0VmZmVjdCgoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IFtlZmZlY3QsIHZpZXdwb3J0XSA9IFt0aGlzLmVmZmVjdCgpLCB0aGlzLnZpZXdwb3J0KCldO1xuXHRcdFx0XHRjb25zdCBpUmVzb2x1dGlvbiA9IGVmZmVjdC51bmlmb3Jtcy5nZXQoJ2lSZXNvbHV0aW9uJyk7XG5cdFx0XHRcdGlmIChpUmVzb2x1dGlvbikge1xuXHRcdFx0XHRcdGlSZXNvbHV0aW9uLnZhbHVlLnggPSB2aWV3cG9ydC53aWR0aDtcblx0XHRcdFx0XHRpUmVzb2x1dGlvbi52YWx1ZS55ID0gdmlld3BvcnQuaGVpZ2h0O1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHR9KTtcblxuXHRcdGluamVjdEJlZm9yZVJlbmRlcigoeyBkZWx0YSB9KSA9PiB7XG5cdFx0XHRjb25zdCBbZWZmZWN0XSA9IFt0aGlzLmVmZmVjdCgpXTtcblx0XHRcdGlmICghZWZmZWN0KSByZXR1cm47XG5cblx0XHRcdGNvbnN0IFt7IGZvbGxvd01vdXNlLCBwb3NpdGlvbiwgc21vb3RoVGltZSB9LCBwb2ludGVyLCB7IGNhbWVyYSwgc2NlbmUgfSwgcmF5Y2FzdGVyXSA9IFtcblx0XHRcdFx0dGhpcy5vcHRpb25zKCksXG5cdFx0XHRcdHRoaXMucG9pbnRlcigpLFxuXHRcdFx0XHR0aGlzLmNvbXBvc2VyQXBpKCksXG5cdFx0XHRcdHRoaXMucmF5Y2FzdGVyKCksXG5cdFx0XHRdO1xuXG5cdFx0XHRjb25zdCB1TGVuc1Bvc2l0aW9uID0gZWZmZWN0LnVuaWZvcm1zLmdldCgnbGVuc1Bvc2l0aW9uJyk7XG5cdFx0XHRjb25zdCB1T3BhY2l0eSA9IGVmZmVjdC51bmlmb3Jtcy5nZXQoJ29wYWNpdHknKTtcblx0XHRcdGlmICghdUxlbnNQb3NpdGlvbiB8fCAhdU9wYWNpdHkpIHJldHVybjtcblxuXHRcdFx0bGV0IHRhcmdldCA9IDE7XG5cblx0XHRcdGlmIChmb2xsb3dNb3VzZSkge1xuXHRcdFx0XHR1TGVuc1Bvc2l0aW9uLnZhbHVlLnggPSBwb2ludGVyLng7XG5cdFx0XHRcdHVMZW5zUG9zaXRpb24udmFsdWUueSA9IHBvaW50ZXIueTtcblx0XHRcdFx0dGFyZ2V0ID0gMDtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMucHJvamVjdGVkUG9zaXRpb24uY29weShwb3NpdGlvbikucHJvamVjdChjYW1lcmEpO1xuXHRcdFx0XHRpZiAodGhpcy5wcm9qZWN0ZWRQb3NpdGlvbi56ID4gMSkgcmV0dXJuO1xuXG5cdFx0XHRcdHVMZW5zUG9zaXRpb24udmFsdWUueCA9IHRoaXMucHJvamVjdGVkUG9zaXRpb24ueDtcblx0XHRcdFx0dUxlbnNQb3NpdGlvbi52YWx1ZS55ID0gdGhpcy5wcm9qZWN0ZWRQb3NpdGlvbi55O1xuXG5cdFx0XHRcdHRoaXMubW91c2UyZC5zZXQodGhpcy5wcm9qZWN0ZWRQb3NpdGlvbi54LCB0aGlzLnByb2plY3RlZFBvc2l0aW9uLnkpO1xuXHRcdFx0XHRyYXljYXN0ZXIuc2V0RnJvbUNhbWVyYSh0aGlzLm1vdXNlMmQsIGNhbWVyYSk7XG5cdFx0XHRcdGNvbnN0IGludGVyc2VjdHMgPSByYXljYXN0ZXIuaW50ZXJzZWN0T2JqZWN0cyhzY2VuZS5jaGlsZHJlbiwgdHJ1ZSk7XG5cdFx0XHRcdGNvbnN0IHsgb2JqZWN0IH0gPSBpbnRlcnNlY3RzWzBdID8/IHt9O1xuXHRcdFx0XHRpZiAob2JqZWN0KSB7XG5cdFx0XHRcdFx0aWYgKG9iamVjdC51c2VyRGF0YT8uWydsZW5zZmxhcmUnXSA9PT0gJ25vLW9jY2x1c2lvbicpIHtcblx0XHRcdFx0XHRcdHRhcmdldCA9IDA7XG5cdFx0XHRcdFx0fSBlbHNlIGlmIChvYmplY3QgaW5zdGFuY2VvZiBNZXNoKSB7XG5cdFx0XHRcdFx0XHRpZiAob2JqZWN0Lm1hdGVyaWFsLnVuaWZvcm1zPy5fdHJhbnNtaXNzaW9uPy52YWx1ZSA+IDAuMikge1xuXHRcdFx0XHRcdFx0XHQvL0NoZWNrIGZvciBNZXNoVHJhbnNtaXNzaW9uTWF0ZXJpYWxcblx0XHRcdFx0XHRcdFx0dGFyZ2V0ID0gMC4yO1xuXHRcdFx0XHRcdFx0fSBlbHNlIGlmIChvYmplY3QubWF0ZXJpYWwuX3RyYW5zbWlzc2lvbiAmJiBvYmplY3QubWF0ZXJpYWwuX3RyYW5zbWlzc2lvbiA+IDAuMikge1xuXHRcdFx0XHRcdFx0XHQvL0NoZWNrIGZvciBNZXNoUGh5c2ljYWxNYXRlcmlhbCB3aXRoIHRyYW5zbWlzc2lvbiBzZXR0aW5nXG5cdFx0XHRcdFx0XHRcdHRhcmdldCA9IDAuMjtcblx0XHRcdFx0XHRcdH0gZWxzZSBpZiAob2JqZWN0Lm1hdGVyaWFsLnRyYW5zcGFyZW50KSB7XG5cdFx0XHRcdFx0XHRcdC8vIENoZWNrIGZvciBPdGhlck1hdGVyaWFscyB3aXRoIHRyYW5zcGFyZW50IHBhcmFtZXRlclxuXHRcdFx0XHRcdFx0XHR0YXJnZXQgPSBvYmplY3QubWF0ZXJpYWwub3BhY2l0eTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0ZWFzaW5nLmRhbXAodU9wYWNpdHksICd2YWx1ZScsIHRhcmdldCwgc21vb3RoVGltZSwgZGVsdGEpO1xuXHRcdH0pO1xuXHR9XG59XG4iXX0=
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVucy1mbGFyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcG9zdHByb2Nlc3Npbmcvc3JjL2xpYi9lZmZlY3RzL2xlbnMtZmxhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsbUNBQW1DO0FBQ25DLHVDQUF1QztBQUV2QyxPQUFPLEVBQ04sc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsZUFBZSxFQUNmLFFBQVEsRUFDUixLQUFLLEdBQ0wsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUMvQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBVyxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUN4RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7QUFFN0QsTUFBTSxlQUFlLEdBQUc7SUFDdkIsY0FBYyxFQUFFLFVBQVUsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0E0QzNCO0NBQ0EsQ0FBQztBQUVGLE1BQU0sT0FBTyxlQUFnQixTQUFRLE1BQU07SUFDMUMsWUFBWSxFQUNYLGFBQWEsR0FBRyxhQUFhLENBQUMsTUFBTSxFQUNwQyxPQUFPLEdBQUcsSUFBSSxFQUNkLFNBQVMsR0FBRyxHQUFHLEVBQ2YsWUFBWSxHQUFHLENBQUMsSUFBSSxFQUFF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QUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsYUFBYSxFQUFFLEtBQUssR0FBRyxHQUFHLEVBQUUsQ0FBQzs0QkFDMUQsb0NBQW9DOzRCQUNwQyxNQUFNLEdBQUcsR0FBRyxDQUFDO3dCQUNkLENBQUM7NkJBQU0sSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLGFBQWEsR0FBRyxHQUFHLEVBQUUsQ0FBQzs0QkFDakYsMERBQTBEOzRCQUMxRCxNQUFNLEdBQUcsR0FBRyxDQUFDO3dCQUNkLENBQUM7NkJBQU0sSUFBSSxNQUFNLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDOzRCQUN4QyxzREFBc0Q7NEJBQ3RELE1BQU0sR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQzt3QkFDbEMsQ0FBQztvQkFDRixDQUFDO2dCQUNGLENBQUM7WUFDRixDQUFDO1lBRUQsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDM0QsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDOzhHQW5GVyxhQUFhO2tHQUFiLGFBQWEscU5BUGY7O0VBRVQsNERBQ1MsT0FBTzs7MkZBSUwsYUFBYTtrQkFWekIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixVQUFVLEVBQUUsSUFBSTtvQkFDaEIsUUFBUSxFQUFFOztFQUVUO29CQUNELE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ2pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUMvQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENyZWF0ZWQgYnkgQW5kZXJzb24gTWFuY2luaSAyMDIzXG4vLyBSZWFjdCBUaHJlZSBGaWJlciBVbHRpbWF0ZSBMZW5zRmxhcmVcblxuaW1wb3J0IHtcblx0Q1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0YWZ0ZXJOZXh0UmVuZGVyLFxuXHRjb21wdXRlZCxcblx0aW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0QXJncywgaW5qZWN0QmVmb3JlUmVuZGVyLCBpbmplY3RTdG9yZSB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgZWFzaW5nIH0gZnJvbSAnbWFhdGgnO1xuaW1wb3J0IHsgaW5qZWN0QXV0b0VmZmVjdCB9IGZyb20gJ25neHRlbnNpb24vYXV0by1lZmZlY3QnO1xuaW1wb3J0IHsgbWVyZ2VJbnB1dHMgfSBmcm9tICduZ3h0ZW5zaW9uL2luamVjdC1pbnB1dHMnO1xuaW1wb3J0IHsgQmxlbmRGdW5jdGlvbiwgRWZmZWN0IH0gZnJvbSAncG9zdHByb2Nlc3NpbmcnO1xuaW1wb3J0IHsgQ29sb3IsIE1lc2gsIFRleHR1cmUsIFVuaWZvcm0sIFZlY3RvcjIsIFZlY3RvcjMgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBpbmplY3RFZmZlY3RDb21wb3NlckFwaSB9IGZyb20gJy4uL2VmZmVjdC1jb21wb3Nlcic7XG5cbmNvbnN0IExlbnNGbGFyZVNoYWRlciA9IHtcblx0ZnJhZ21lbnRTaGFkZXI6IC8qIGdsc2wgKi8gYFxuXG4gIHVuaWZvcm0gZmxvYXQgaVRpbWU7XG4gIHVuaWZvcm0gdmVjMiBsZW5zUG9zaXRpb247XG4gIHVuaWZvcm0gdmVjMiBpUmVzb2x1dGlvbjtcbiAgdW5pZm9ybSB2ZWMzIGNvbG9yR2FpbjtcbiAgdW5pZm9ybSBmbG9hdCBzdGFyUG9pbnRzO1xuICB1bmlmb3JtIGZsb2F0IGdsYXJlU2l6ZTtcbiAgdW5pZm9ybSBmbG9hdCBmbGFyZVNpemU7XG4gIHVuaWZvcm0gZmxvYXQgZmxhcmVTcGVlZDtcbiAgdW5pZm9ybSBmbG9hdCBmbGFyZVNoYXBlO1xuICB1bmlmb3JtIGZsb2F0IGhhbG9TY2FsZTtcbiAgdW5pZm9ybSBmbG9hdCBvcGFjaXR5O1xuICB1bmlmb3JtIGJvb2wgYW5pbWF0ZWQ7XG4gIHVuaWZvcm0gYm9vbCBhbmFtb3JwaGljO1xuICB1bmlmb3JtIGJvb2wgZW5hYmxlZDtcbiAgdW5pZm9ybSBib29sIHNlY29uZGFyeUdob3N0cztcbiAgdW5pZm9ybSBib29sIHN0YXJCdXJzdDtcbiAgdW5pZm9ybSBmbG9hdCBnaG9zdFNjYWxlO1xuICB1bmlmb3JtIGJvb2wgYWRpdGlvbmFsU3RyZWFrcztcbiAgdW5pZm9ybSBzYW1wbGVyMkQgbGVuc0RpcnRUZXh0dXJlO1xuICB2ZWMyIHZ4dEM7XG5cbiAgZmxvYXQgcm5kZihmbG9hdCBuKXtyZXR1cm4gZnJhY3Qoc2luKG4pICogNDM3NTguNTQ1MzEyMyk7fWZsb2F0IG5peihmbG9hdCBwKXtmbG9hdCBmbCA9IGZsb29yKHApO2Zsb2F0IGZjID0gZnJhY3QocCk7cmV0dXJuIG1peChybmRmKGZsKSxybmRmKGZsICsgMS4wKSwgZmMpO31cbiAgdmVjMyBoc3YycmdiKHZlYzMgYyl7dmVjNCBrID0gdmVjNCgxLjAsIDIuMCAvIDMuMCwgMS4wIC8gMy4wLCAzLjApO3ZlYzMgcCA9IGFicyhmcmFjdChjLnh4eCArIGsueHl6KSAqIDYuMCAtIGsud3d3KTtyZXR1cm4gYy56ICogbWl4KGsueHh4LCBjbGFtcChwIC0gay54eHgsIDAuMCwgMS4wKSwgYy55KTt9XG4gIGZsb2F0IHNhdFUoZmxvYXQgeCl7cmV0dXJuIGNsYW1wKHgsIDAuLDEuKTt9dmVjMiBydFUodmVjMiBuYXosIGZsb2F0IHJ0bil7cmV0dXJuIHZlYzIoY29zKHJ0bikgKiBuYXoueCArIHNpbihydG4pICogbmF6LnksY29zKHJ0bikgKiBuYXoueSAtIHNpbihydG4pICogbmF6LngpO31cbiAgdmVjMyBkcndGKHZlYzIgcCwgZmxvYXQgaW50ZW5zaXR5LCBmbG9hdCBybmQsIGZsb2F0IHNwZWVkLCBpbnQgaWQpe2Zsb2F0IGZsaG9zID0gKDEuIC8gMzIuKSAqIGZsb2F0KGlkKSAqIDAuMTtmbG9hdCBsaW5ncmFkID0gZGlzdGFuY2UodmVjMigwLiksIHApO2Zsb2F0IGV4cGcgPSAxLiAvIGV4cChsaW5ncmFkICogKGZyYWN0KHJuZCkgKiAwLjY2ICsgMC4zMykpO3ZlYzMgcXpUZyA9IGhzdjJyZ2IodmVjMyggZnJhY3QoIChleHBnICogOC4pICsgc3BlZWQgKiBmbGFyZVNwZWVkICsgZmxob3MpLCBwb3coMS4tYWJzKGV4cGcqMi4tMS4pLCAwLjQ1KSwgMjAuMCAqIGV4cGcgKiBpbnRlbnNpdHkpKTtmbG9hdCBpbnRlcm5hbFN0YXJQb2ludHM7aWYoYW5hbW9ycGhpYyl7aW50ZXJuYWxTdGFyUG9pbnRzID0gMS4wO30gZWxzZXtpbnRlcm5hbFN0YXJQb2ludHMgPSBzdGFyUG9pbnRzO31mbG9hdCBhbXMgPSBsZW5ndGgocCAqIGZsYXJlU2hhcGUgKiBzaW4oaW50ZXJuYWxTdGFyUG9pbnRzICogYXRhbihwLngsIHAueSkpKTtmbG9hdCBrSmhnID0gcG93KDEuLXNhdFUoYW1zKSwgKCBhbmFtb3JwaGljID8gMTAwLiA6IDEyLikpO2tKaGcgKz0gc2F0VShleHBnLTAuOSkgKiAzLjtrSmhnID0gcG93KGtKaGcgKiBleHBnLCA4LiArICgxLi1pbnRlbnNpdHkpICogNS4pO2lmKGZsYXJlU3BlZWQgPiAwLjApe3JldHVybiB2ZWMzKGtKaGcpICogcXpUZzt9IGVsc2V7cmV0dXJuIHZlYzMoa0poZykgKiBmbGFyZVNpemUgKiAxNS47fX1cbiAgZmxvYXQgYW1zMih2ZWMzIGEsIHZlYzMgYikgeyByZXR1cm4gYWJzKGEueCAtIGIueCkgKyBhYnMoYS55IC0gYi55KSArIGFicyhhLnogLSBiLnopO312ZWMzIHNhdFUodmVjMyB4KXtyZXR1cm4gY2xhbXAoeCwgdmVjMygwLjApLCB2ZWMzKDEuMCkpO31cbiAgZmxvYXQgZ2xSKHZlYzIgbmF6LCB2ZWMyIHBvcywgZmxvYXQgenNpKXt2ZWMyIG1uaTtpZihhbmltYXRlZCl7bW5pID0gcnRVKG5hei1wb3MsIGlUaW1lICogMC4xKTt9IGVsc2V7bW5pID0gbmF6LXBvczt9ZmxvYXQgYW5nID0gYXRhbihtbmkueSwgbW5pLngpICogKGFuYW1vcnBoaWMgPyAxLjAgOiBzdGFyUG9pbnRzKTtmbG9hdCBhbXMyID0gbGVuZ3RoKG1uaSk7YW1zMiA9IHBvdyhhbXMyLCAuOSk7ZmxvYXQgZjAgPSAxLjAvKGxlbmd0aChuYXotcG9zKSooMS4wL3pzaSoxNi4wKSsuMik7cmV0dXJuIGYwK2YwKihzaW4oKGFuZykpKi4yICsuMyk7fVxuICBmbG9hdCBzZEhleCh2ZWMyIHApe3AgPSBhYnMocCk7dmVjMiBxID0gdmVjMihwLngqMi4wKjAuNTc3MzUwMywgcC55ICsgcC54KjAuNTc3MzUwMyk7cmV0dXJuIGRvdChzdGVwKHEueHkscS55eCksIDEuMC1xLnl4KTt9ZmxvYXQgZnBvdyhmbG9hdCB4LCBmbG9hdCBrKXtyZXR1cm4geCA+IGsgPyBwb3coKHgtaykvKDEuMC1rKSwyLjApIDogMC4wO31cbiAgdmVjMyBySHgodmVjMiBuYXosIHZlYzIgcCwgZmxvYXQgcywgdmVjMyBjb2wpe25heiAtPSBwO2lmIChhYnMobmF6LngpIDwgMC4yKnMgJiYgYWJzKG5hei55KSA8IDAuMipzKXtyZXR1cm4gbWl4KHZlYzMoMCksbWl4KHZlYzMoMCksY29sLDAuMSArIGZwb3cobGVuZ3RoKG5hei9zKSwwLjEpKjEwLjApLHNtb290aHN0ZXAoMC4wLDAuMSxzZEhleChuYXoqMjAuMC9zKSkpO31yZXR1cm4gdmVjMygwKTt9XG4gIHZlYzMgbUxzKHZlYzIgbmF6LCB2ZWMyIHBvcyl7dmVjMiBtbmkgPSBuYXotcG9zO3ZlYzIgenhNcCA9IG5heioobGVuZ3RoKG5heikpO2Zsb2F0IGFuZyA9IGF0YW4obW5pLngsbW5pLnkpO2Zsb2F0IGYwID0gLjMvKGxlbmd0aChuYXotcG9zKSoxNi4wKzEuMCk7ZjAgPSBmMCooc2luKG5peihzaW4oYW5nKjMuOS0oYW5pbWF0ZWQgPyBpVGltZSA6IDAuMCkgKiAwLjMpICogc3RhclBvaW50cykpKi4yICk7ZmxvYXQgZjEgPSBtYXgoMC4wMS1wb3cobGVuZ3RoKG5heisxLjIqcG9zKSwxLjkpLC4wKSo3LjA7ZmxvYXQgZjIgPSBtYXgoLjkvKDEwLjArMzIuMCpwb3cobGVuZ3RoKHp4TXArMC45OSpwb3MpLDIuMCkpLC4wKSowLjM1O2Zsb2F0IGYyMiA9IG1heCguOS8oMTEuMCszMi4wKnBvdyhsZW5ndGgoenhNcCswLjg1KnBvcyksMi4wKSksLjApKjAuMjM7ZmxvYXQgZjIzID0gbWF4KC45LygxMi4wKzMyLjAqcG93KGxlbmd0aCh6eE1wKzAuOTUqcG9zKSwyLjApKSwuMCkqMC42O3ZlYzIgenRYID0gbWl4KG5heix6eE1wLCAwLjEpO2Zsb2F0IGY0ID0gbWF4KDAuMDEtcG93KGxlbmd0aCh6dFgrMC40KnBvcyksMi45KSwuMCkqNC4wMjtmbG9hdCBmNDIgPSBtYXgoMC4wLXBvdyhsZW5ndGgoenRYKzAuNDUqcG9zKSwyLjkpLC4wKSo0LjE7ZmxvYXQgZjQzID0gbWF4KDAuMDEtcG93KGxlbmd0aCh6dFgrMC41KnBvcyksMi45KSwuMCkqNC42O3p0WCA9IG1peChuYXosenhNcCwtLjQpO2Zsb2F0IGY1ID0gbWF4KDAuMDEtcG93KGxlbmd0aCh6dFgrMC4xKnBvcyksNS41KSwuMCkqMi4wO2Zsb2F0IGY1MiA9IG1heCgwLjAxLXBvdyhsZW5ndGgoenRYKzAuMipwb3MpLDUuNSksLjApKjIuMDtmbG9hdCBmNTMgPSBtYXgoMC4wMS1wb3cobGVuZ3RoKHp0WCswLjEqcG9zKSw1LjUpLC4wKSoyLjA7enRYID0gbWl4KG5heix6eE1wLCAyLjEpO2Zsb2F0IGY2ID0gbWF4KDAuMDEtcG93KGxlbmd0aCh6dFgtMC4zKnBvcyksMS42MSksLjApKjMuMTU5O2Zsb2F0IGY2MiA9IG1heCgwLjAxLXBvdyhsZW5ndGgoenRYLTAuMzI1KnBvcyksMS42MTQpLC4wKSozLjE0O2Zsb2F0IGY2MyA9IG1heCgwLjAxLXBvdyhsZW5ndGgoenRYLTAuMzg5KnBvcyksMS42MjMpLC4wKSozLjEyO3ZlYzMgYyA9IHZlYzMoZ2xSKG5heixwb3MsIGdsYXJlU2l6ZSkpO3ZlYzIgcHJvdDtpZihhbmltYXRlZCl7cHJvdCA9IHJ0VShuYXogLSBwb3MsIChpVGltZSAqIDAuMSkpO30gZWxzZSBpZihhbmFtb3JwaGljKXtwcm90ID0gcnRVKG5heiAtIHBvcywgMS41NzA3OTYpO30gZWxzZSB7cHJvdCA9IG5heiAtIHBvczt9YyArPSBkcndGKHByb3QsIChhbmFtb3JwaGljID8gZmxhcmVTaXplICogMTAuIDogZmxhcmVTaXplKSwgMC4xLCBpVGltZSwgMSk7Yy5yKz1mMStmMitmNCtmNStmNjsgYy5nKz1mMStmMjIrZjQyK2Y1MitmNjI7IGMuYis9ZjErZjIzK2Y0MytmNTMrZjYzO2MgPSBjKjEuMyAqIHZlYzMobGVuZ3RoKHp4TXApKy4wOSk7Yys9dmVjMyhmMCk7cmV0dXJuIGM7fVxuICB2ZWMzIGNjKHZlYzMgY2xyLCBmbG9hdCBmY3QsZmxvYXQgZmN0Mil7ZmxvYXQgdyA9IGNsci54K2Nsci55K2Nsci56O3JldHVybiBtaXgoY2xyLHZlYzModykqZmN0LHcqZmN0Mik7fWZsb2F0IHJuZCh2ZWMyIHApe2Zsb2F0IGYgPSBmcmFjdChzaW4oZG90KHAsIHZlYzIoMTIuMTIzNCwgNzIuODM5MikgKSo0NTEyMy4yKSk7cmV0dXJuIGY7fWZsb2F0IHJuZChmbG9hdCB3KXtmbG9hdCBmID0gZnJhY3Qoc2luKHcpKjEwMDAuKTtyZXR1cm4gZjt9XG4gIGZsb2F0IHJTaHAodmVjMiBwLCBpbnQgTil7ZmxvYXQgZjtmbG9hdCBhPWF0YW4ocC54LHAueSkrLjI7ZmxvYXQgYj02LjI4MzE5L2Zsb2F0KE4pO2Y9c21vb3Roc3RlcCguNSwuNTEsIGNvcyhmbG9vciguNSthL2IpKmItYSkqbGVuZ3RoKHAueHkpKiAyLjAgIC1naG9zdFNjYWxlKTtyZXR1cm4gZjt9XG4gIHZlYzMgZHJDKHZlYzIgcCwgZmxvYXQgenNpLCBmbG9hdCBkQ3ksIHZlYzMgY2xyLCB2ZWMzIGNscjIsIGZsb2F0IGFtczIsIHZlYzIgZXNvbSl7ZmxvYXQgbCA9IGxlbmd0aChwICsgZXNvbSooYW1zMioyLikpK3pzaS8yLjtmbG9hdCBsMiA9IGxlbmd0aChwICsgZXNvbSooYW1zMio0LikpK3pzaS8zLjtmbG9hdCBjID0gbWF4KDAuMDEtcG93KGxlbmd0aChwICsgZXNvbSphbXMyKSwgenNpKmdob3N0U2NhbGUpLCAwLjApKjEwLjtmbG9hdCBjMSA9IG1heCgwLjAwMS1wb3cobC0wLjMsIDEuLzQwLikrc2luKGwqMjAuKSwgMC4wKSozLjtmbG9hdCBjMiA9ICBtYXgoMC4wOS9wb3cobGVuZ3RoKHAtZXNvbSphbXMyLy41KSoxLiwgLjk1KSwgMC4wKS8yMC47ZmxvYXQgcyA9IG1heCgwLjAyLXBvdyhyU2hwKHAqNS4gKyBlc29tKmFtczIqNS4gKyBkQ3ksIDYpICwgMS4pLCAwLjApKjEuNTtjbHIgPSBjb3ModmVjMygwLjQ0LCAuMjQsIC4yKSo4LiArIGFtczIqNC4pKjAuNSsuNTt2ZWMzIGYgPSBjKmNscjtmICs9IGMxKmNscjtmICs9IGMyKmNscjtmICs9ICBzKmNscjtyZXR1cm4gZi0wLjAxO31cbiAgdmVjNCBnZUxDKGZsb2F0IHgpe3JldHVybiB2ZWM0KHZlYzMobWl4KG1peChtaXgobWl4KG1peChtaXgobWl4KG1peChtaXgobWl4KG1peChtaXgobWl4KG1peChtaXgodmVjMygwLiwgMC4sIDAuKSx2ZWMzKDAuLCAwLiwgMC4pLCBzbW9vdGhzdGVwKDAuMCwgMC4wNjMsIHgpKSx2ZWMzKDAuLCAwLiwgMC4pLCBzbW9vdGhzdGVwKDAuMDYzLCAwLjEyNSwgeCkpLHZlYzMoMC4wLCAwLiwgMC4pLCBzbW9vdGhzdGVwKDAuMTI1LCAwLjE4OCwgeCkpLHZlYzMoMC4xODgsIDAuMTMxLCAwLjExNiksIHNtb290aHN0ZXAoMC4xODgsIDAuMjI3LCB4KSksdmVjMygwLjMxLCAwLjIwNCwgMC41MzcpLCBzbW9vdGhzdGVwKDAuMjI3LCAwLjI1MSwgeCkpLHZlYzMoMC4xOTIsIDAuMTA2LCAwLjI4NiksIHNtb290aHN0ZXAoMC4yNTEsIDAuMzE0LCB4KSksdmVjMygwLjEwMiwgMC4wMDgsIDAuMzQxKSwgc21vb3Roc3RlcCgwLjMxNCwgMC4zOTIsIHgpKSx2ZWMzKDAuMDg2LCAwLjAsIDAuMTQxKSwgc21vb3Roc3RlcCgwLjM5MiwgMC41MDIsIHgpKSx2ZWMzKDEuMCwgMC4zMSwgMC4wKSwgc21vb3Roc3RlcCgwLjUwMiwgMC42MDQsIHgpKSx2ZWMzKC4xLCAwLjEsIDAuMSksIHNtb290aHN0ZXAoMC42MDQsIDAuNjQzLCB4KSksdmVjMygxLjAsIDAuOTI5LCAwLjApLCBzbW9vdGhzdGVwKDAuNjQzLCAwLjc2MSwgeCkpLHZlYzMoMS4wLCAwLjA4NiwgMC40MjQpLCBzbW9vdGhzdGVwKDAuNzYxLCAwLjg0NywgeCkpLHZlYzMoMS4wLCAwLjQ5LCAwLjApLCBzbW9vdGhzdGVwKDAuODQ3LCAwLjg5LCB4KSksdmVjMygwLjk0NSwgMC4yNzUsIDAuNDc1KSwgc21vb3Roc3RlcCgwLjg5LCAwLjk0MSwgeCkpLHZlYzMoMC4yNTEsIDAuMjc1LCAwLjc5NiksIHNtb290aHN0ZXAoMC45NDEsIDEuMCwgeCkpKSwxLjApO31cbiAgZmxvYXQgZGlUTih2ZWMyIHApe3ZlYzIgZiA9IGZyYWN0KHApO2YgPSAoZiAqIGYpICogKDMuMCAtICgyLjAgKiBmKSk7ZmxvYXQgbiA9IGRvdChmbG9vcihwKSwgdmVjMigxLjAsIDE1Ny4wKSk7dmVjNCBhID0gZnJhY3Qoc2luKHZlYzQobiArIDAuMCwgbiArIDEuMCwgbiArIDE1Ny4wLCBuICsgMTU4LjApKSAqIDQzNzU4LjU0NTMxMjMpO3JldHVybiBtaXgobWl4KGEueCwgYS55LCBmLngpLCBtaXgoYS56LCBhLncsIGYueCksIGYueSk7fVxuICBmbG9hdCBmYm0odmVjMiBwKXtjb25zdCBtYXQyIG0gPSBtYXQyKDAuODAsIC0wLjYwLCAwLjYwLCAwLjgwKTtmbG9hdCBmID0gMC4wO2YgKz0gMC41MDAwKmRpVE4ocCk7IHAgPSBtKnAqMi4wMjtmICs9IDAuMjUwMCpkaVROKHApOyBwID0gbSpwKjIuMDM7ZiArPSAwLjEyNTAqZGlUTihwKTsgcCA9IG0qcCoyLjAxO2YgKz0gMC4wNjI1KmRpVE4ocCk7cmV0dXJuIGYvMC45Mzc1O31cbiAgdmVjNCBnZUxTKHZlYzIgcCl7dmVjMiBwcCA9IChwIC0gdmVjMigwLjUpKSAqIDIuMDtmbG9hdCBhID0gYXRhbihwcC55LCBwcC54KTt2ZWM0IGNwID0gdmVjNChzaW4oYSAqIDEuMCksIGxlbmd0aChwcCksIHNpbihhICogMTMuMCksIHNpbihhICogNTMuMCkpO2Zsb2F0IGQgPSBzaW4oY2xhbXAocG93KGxlbmd0aCh2ZWMyKDAuNSkgLSBwKSAqIDAuNSArIGhhbG9TY2FsZSAvMi4sIDUuMCksIDAuMCwgMS4wKSAqIDMuMTQxNTkpO3ZlYzMgYyA9IHZlYzMoZCkgKiB2ZWMzKGZibShjcC54eSAqIDE2LjApICogZmJtKGNwLnp3ICogOS4wKSAqIG1heChtYXgobWF4KG1heCgwLjUsIHNpbihhICogMS4wKSksIHNpbihhICogMy4wKSAqIDAuOCksIHNpbihhICogNy4wKSAqIDAuOCksIHNpbihhICogOS4wKSAqIDEwLjYpKTtjICo9IHZlYzMobWl4KDIuMCwgKHNpbihsZW5ndGgocHAueHkpICogMjU2LjApICogMC41KSArIDAuNSwgc2luKChjbGFtcCgobGVuZ3RoKHBwLnh5KSAtIDAuODc1KSAvIDAuMSwgMC4wLCAxLjApICsgMC4wKSAqIDIuMCAqIDMuMTQxNTkpICogMS41KSArIDAuNSkgKiAwLjMyNzU7cmV0dXJuIHZlYzQodmVjMyhjICogMS4wKSwgZCk7fVxuICB2ZWM0IGdlTEQodmVjMiBwKXtwLnh5ICs9IHZlYzIoZmJtKHAueXggKiAzLjApLCBmYm0ocC55eCAqIDIuMCkpICogMC4wODI1O3ZlYzMgbyA9IHZlYzMobWl4KDAuMTI1LCAwLjI1LCBtYXgobWF4KHNtb290aHN0ZXAoMC4xLCAwLjAsIGxlbmd0aChwIC0gdmVjMigwLjI1KSkpLHNtb290aHN0ZXAoMC40LCAwLjAsIGxlbmd0aChwIC0gdmVjMigwLjc1KSkpKSxzbW9vdGhzdGVwKDAuOCwgMC4wLCBsZW5ndGgocCAtIHZlYzIoMC44NzUsIDAuMTI1KSkpKSkpO28gKz0gdmVjMyhtYXgoZmJtKHAgKiAxLjApIC0gMC41LCAwLjApKSAqIDAuNTtvICs9IHZlYzMobWF4KGZibShwICogMi4wKSAtIDAuNSwgMC4wKSkgKiAwLjU7byArPSB2ZWMzKG1heChmYm0ocCAqIDQuMCkgLSAwLjUsIDAuMCkpICogMC4yNTtvICs9IHZlYzMobWF4KGZibShwICogOC4wKSAtIDAuNzUsIDAuMCkpICogMS4wO28gKz0gdmVjMyhtYXgoZmJtKHAgKiAxNi4wKSAtIDAuNzUsIDAuMCkpICogMC43NTtvICs9IHZlYzMobWF4KGZibShwICogNjQuMCkgLSAwLjc1LCAwLjApKSAqIDAuNTtyZXR1cm4gdmVjNChjbGFtcChvLCB2ZWMzKDAuMTUpLCB2ZWMzKDEuMCkpLCAxLjApO31cbiAgdmVjNCB0eEwoc2FtcGxlcjJEIHRleCwgdmVjMiB4dEMpe2lmKCgoeHRDLnggPCAwLikgfHwgKHh0Qy55IDwgMC4pKSB8fCAoKHh0Qy54ID4gMS4pIHx8ICh4dEMueSA+IDEuKSkpe3JldHVybiB2ZWM0KDAuMCk7fWVsc2V7cmV0dXJuIHRleHR1cmUodGV4LCB4dEMpOyB9fVxuICB2ZWM0IHR4RChzYW1wbGVyMkQgdGV4LCB2ZWMyIHh0QywgdmVjMiBkaXIsIHZlYzMgZGl0bikge3JldHVybiB2ZWM0KHR4TCh0ZXgsICh4dEMgKyAoZGlyICogZGl0bi5yKSkpLnIsdHhMKHRleCwgKHh0QyArIChkaXIgKiBkaXRuLmcpKSkuZyx0eEwodGV4LCAoeHRDICsgKGRpciAqIGRpdG4uYikpKS5iLDEuMCk7fVxuICB2ZWM0IHN0ckIoKXt2ZWMyIGFzcFh0YyA9IHZlYzIoMS4wKSAtICgoKHZ4dEMgLSB2ZWMyKDAuNSkpICogdmVjMigxLjApKSArIHZlYzIoMC41KSk7IHZlYzIgeHRDID0gdmVjMigxLjApIC0gdnh0QzsgdmVjMiBnaHZjID0gKHZlYzIoMC41KSAtIHh0QykgKiAwLjMgLSBsZW5zUG9zaXRpb247IHZlYzIgZ2hObSA9IG5vcm1hbGl6ZShnaHZjICogdmVjMigxLjApKSAqIHZlYzIoMS4wKTt2ZWMyIGhhbG9WZWMgPSBub3JtYWxpemUoZ2h2YykgKiAwLjY7dmVjMiBobE5tID0gZ2hObSAqIDAuNjt2ZWMyIHRleGVsU2l6ZSA9IHZlYzIoMS4wKSAvIHZlYzIoaVJlc29sdXRpb24ueHkpO3ZlYzMgZGl0biA9IHZlYzMoLSh0ZXhlbFNpemUueCAqIDEuNSksIDAuMiwgdGV4ZWxTaXplLnggKiAxLjUpO3ZlYzQgYyA9IHZlYzQoMC4wKTtmb3IgKGludCBpID0gMDsgaSA8IDg7IGkrKykge3ZlYzIgb2Zmc2V0ID0geHRDICsgKGdodmMgKiBmbG9hdChpKSk7YyArPSB0eEQobGVuc0RpcnRUZXh0dXJlLCBvZmZzZXQsIGdoTm0sIGRpdG4pICogcG93KG1heCgwLjAsIDEuMCAtIChsZW5ndGgodmVjMigwLjUpIC0gb2Zmc2V0KSAvIGxlbmd0aCh2ZWMyKDAuNSkpKSksIDEwLjApO312ZWMyIHV5VHJ6ID0geHRDICsgaGxObTsgcmV0dXJuIChjICogZ2VMQygobGVuZ3RoKHZlYzIoMC41KSAtIGFzcFh0YykgLyBsZW5ndGgodmVjMihoYWxvU2NhbGUpKSkpKSArKHR4RChsZW5zRGlydFRleHR1cmUsIHV5VHJ6LCBnaE5tLCBkaXRuKSAqIHBvdyhtYXgoMC4wLCAxLjAgLSAobGVuZ3RoKHZlYzIoMC41KSAtIHV5VHJ6KSAvIGxlbmd0aCh2ZWMyKDAuNSkpKSksIDEwLjApKTt9XG4gIHZvaWQgbWFpbkltYWdlKHZlYzQgdix2ZWMyIHIsb3V0IHZlYzQgaSl7dmVjMiBnPXItLjU7Zy55Kj1pUmVzb2x1dGlvbi55L2lSZXNvbHV0aW9uLng7dmVjMiBsPWxlbnNQb3NpdGlvbiouNTtsLnkqPWlSZXNvbHV0aW9uLnkvaVJlc29sdXRpb24ueDt2ZWMzIGY9bUxzKGcsbCkqMjAuKmNvbG9yR2Fpbi8yNTYuO2lmKGFkaXRpb25hbFN0cmVha3Mpe3ZlYzMgbz12ZWMzKC45LC4yLC4xKSxwPXZlYzMoLjMsLjEsLjkpO2ZvcihmbG9hdCBuPTAuO248MTAuO24rKylmKz1kckMoZyxwb3cocm5kKG4qMmUzKSoyLjgsLjEpKzEuNDEsMC4sbytuLHArbixybmQobioyMC4pKjMuKy4yLS41LGxlbnNQb3NpdGlvbik7fWlmKHNlY29uZGFyeUdob3N0cyl7dmVjMyBuPXZlYzMoMCk7bis9ckh4KGcsLWxlbnNQb3NpdGlvbiouMjUsZ2hvc3RTY2FsZSoxLjQsdmVjMyguMjUsLjM1LDApKTtuKz1ySHgoZyxsZW5zUG9zaXRpb24qLjI1LGdob3N0U2NhbGUqLjUsdmVjMygxLC41LC41KSk7bis9ckh4KGcsbGVuc1Bvc2l0aW9uKi4xLGdob3N0U2NhbGUqMS42LHZlYzMoMSkpO24rPXJIeChnLGxlbnNQb3NpdGlvbioxLjgsZ2hvc3RTY2FsZSoyLix2ZWMzKDAsLjUsLjc1KSk7bis9ckh4KGcsbGVuc1Bvc2l0aW9uKjEuMjUsZ2hvc3RTY2FsZSouOCx2ZWMzKDEsMSwuNSkpO24rPXJIeChnLC1sZW5zUG9zaXRpb24qMS4yNSxnaG9zdFNjYWxlKjUuLHZlYzMoLjUsLjUsLjI1KSk7bis9ZnBvdygxLi1hYnMoZGlzdGFuY2UobGVuc1Bvc2l0aW9uKi44LGcpLS43KSwuOTg1KSpjb2xvckdhaW4vMjEwMC47Zis9bjt9aWYoc3RhckJ1cnN0KXt2eHRDPWcrLjU7dmVjNCBuPWdlTEQoZyk7ZmxvYXQgbz0xLi1jbGFtcCgwLjUsMC4sLjUpKjIuO24rPW1peChuLHBvdyhuKjIuLHZlYzQoMikpKi41LG8pO2Zsb2F0IHM9KGcueCtnLnkpKigxLi82Lik7dmVjMiBkPW1hdDIoY29zKHMpLC1zaW4ocyksc2luKHMpLGNvcyhzKSkqdnh0QztuKz1nZUxTKGQpKjIuO2YrPWNsYW1wKG4ueHl6KnN0ckIoKS54eXosLjAxLDEuKTt9aT1lbmFibGVkP3ZlYzQobWl4KGYsdmVjMygwKSxvcGFjaXR5KSt2Lnh5eix2LncpOnZlYzQodik7fVxuYCxcbn07XG5cbmV4cG9ydCBjbGFzcyBMZW5zRmxhcmVFZmZlY3QgZXh0ZW5kcyBFZmZlY3Qge1xuXHRjb25zdHJ1Y3Rvcih7XG5cdFx0YmxlbmRGdW5jdGlvbiA9IEJsZW5kRnVuY3Rpb24uTk9STUFMLFxuXHRcdGVuYWJsZWQgPSB0cnVlLFxuXHRcdGdsYXJlU2l6ZSA9IDAuMixcblx0XHRsZW5zUG9zaXRpb24gPSBbMC4wMSwgMC4wMV0sXG5cdFx0aVJlc29sdXRpb24gPSBbMCwgMF0sXG5cdFx0c3RhclBvaW50cyA9IDYsXG5cdFx0ZmxhcmVTaXplID0gMC4wMSxcblx0XHRmbGFyZVNwZWVkID0gMC4wMSxcblx0XHRmbGFyZVNoYXBlID0gMC4wMSxcblx0XHRhbmltYXRlZCA9IHRydWUsXG5cdFx0YW5hbW9ycGhpYyA9IGZhbHNlLFxuXHRcdGNvbG9yR2FpbiA9IG5ldyBDb2xvcigyMCwgMjAsIDIwKSxcblx0XHRsZW5zRGlydFRleHR1cmUgPSBudWxsIGFzIFRleHR1cmUgfCBudWxsLFxuXHRcdGhhbG9TY2FsZSA9IDAuNSxcblx0XHRzZWNvbmRhcnlHaG9zdHMgPSB0cnVlLFxuXHRcdGFkaXRpb25hbFN0cmVha3MgPSB0cnVlLFxuXHRcdGdob3N0U2NhbGUgPSAwLjAsXG5cdFx0b3BhY2l0eSA9IDEuMCxcblx0XHRzdGFyQnVyc3QgPSBmYWxzZSxcblx0fSA9IHt9KSB7XG5cdFx0c3VwZXIoJ0xlbnNGbGFyZUVmZmVjdCcsIExlbnNGbGFyZVNoYWRlci5mcmFnbWVudFNoYWRlciwge1xuXHRcdFx0YmxlbmRGdW5jdGlvbixcblx0XHRcdHVuaWZvcm1zOiBuZXcgTWFwPHN0cmluZywgVW5pZm9ybT4oW1xuXHRcdFx0XHRbJ2VuYWJsZWQnLCBuZXcgVW5pZm9ybShlbmFibGVkKV0sXG5cdFx0XHRcdFsnZ2xhcmVTaXplJywgbmV3IFVuaWZvcm0oZ2xhcmVTaXplKV0sXG5cdFx0XHRcdFsnbGVuc1Bvc2l0aW9uJywgbmV3IFVuaWZvcm0obGVuc1Bvc2l0aW9uKV0sXG5cdFx0XHRcdFsnaVRpbWUnLCBuZXcgVW5pZm9ybSgwKV0sXG5cdFx0XHRcdFsnaVJlc29sdXRpb24nLCBuZXcgVW5pZm9ybShpUmVzb2x1dGlvbildLFxuXHRcdFx0XHRbJ3N0YXJQb2ludHMnLCBuZXcgVW5pZm9ybShzdGFyUG9pbnRzKV0sXG5cdFx0XHRcdFsnZmxhcmVTaXplJywgbmV3IFVuaWZvcm0oZmxhcmVTaXplKV0sXG5cdFx0XHRcdFsnZmxhcmVTcGVlZCcsIG5ldyBVbmlmb3JtKGZsYXJlU3BlZWQpXSxcblx0XHRcdFx0WydmbGFyZVNoYXBlJywgbmV3IFVuaWZvcm0oZmxhcmVTaGFwZSldLFxuXHRcdFx0XHRbJ2FuaW1hdGVkJywgbmV3IFVuaWZvcm0oYW5pbWF0ZWQpXSxcblx0XHRcdFx0WydhbmFtb3JwaGljJywgbmV3IFVuaWZvcm0oYW5hbW9ycGhpYyldLFxuXHRcdFx0XHRbJ2NvbG9yR2FpbicsIG5ldyBVbmlmb3JtKGNvbG9yR2FpbildLFxuXHRcdFx0XHRbJ2xlbnNEaXJ0VGV4dHVyZScsIG5ldyBVbmlmb3JtKGxlbnNEaXJ0VGV4dHVyZSldLFxuXHRcdFx0XHRbJ2hhbG9TY2FsZScsIG5ldyBVbmlmb3JtKGhhbG9TY2FsZSldLFxuXHRcdFx0XHRbJ3NlY29uZGFyeUdob3N0cycsIG5ldyBVbmlmb3JtKHNlY29uZGFyeUdob3N0cyldLFxuXHRcdFx0XHRbJ2FkaXRpb25hbFN0cmVha3MnLCBuZXcgVW5pZm9ybShhZGl0aW9uYWxTdHJlYWtzKV0sXG5cdFx0XHRcdFsnZ2hvc3RTY2FsZScsIG5ldyBVbmlmb3JtKGdob3N0U2NhbGUpXSxcblx0XHRcdFx0WydzdGFyQnVyc3QnLCBuZXcgVW5pZm9ybShzdGFyQnVyc3QpXSxcblx0XHRcdFx0WydvcGFjaXR5JywgbmV3IFVuaWZvcm0ob3BhY2l0eSldLFxuXHRcdFx0XSksXG5cdFx0fSk7XG5cdH1cblxuXHRvdmVycmlkZSB1cGRhdGUoX3JlbmRlcmVyOiBhbnksIF9pbnB1dEJ1ZmZlcjogYW55LCBkZWx0YVRpbWU6IG51bWJlcikge1xuXHRcdGNvbnN0IGlUaW1lID0gdGhpcy51bmlmb3Jtcy5nZXQoJ2lUaW1lJyk7XG5cdFx0aWYgKGlUaW1lKSB7XG5cdFx0XHRpVGltZS52YWx1ZSArPSBkZWx0YVRpbWU7XG5cdFx0fVxuXHR9XG59XG5cbmV4cG9ydCB0eXBlIExlbnNGbGFyZU9wdGlvbnMgPSBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8dHlwZW9mIExlbnNGbGFyZUVmZmVjdD5bMF0gJiB7XG5cdHBvc2l0aW9uOiBWZWN0b3IzO1xuXHRmb2xsb3dNb3VzZTogYm9vbGVhbjtcblx0c21vb3RoVGltZTogbnVtYmVyO1xufTtcblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IExlbnNGbGFyZU9wdGlvbnMgPSB7XG5cdHBvc2l0aW9uOiBuZXcgVmVjdG9yMygtMjUsIDYsIC02MCksXG5cdGZvbGxvd01vdXNlOiBmYWxzZSxcblx0c21vb3RoVGltZTogMC43LFxufTtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cC1sZW5zLWZsYXJlJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LXByaW1pdGl2ZSAqYXJncz1cIltlZmZlY3QoKV1cIiBbZGlzcG9zZV09XCJudWxsXCIgLz5cblx0YCxcblx0aW1wb3J0czogW05ndEFyZ3NdLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RwTGVuc0ZsYXJlIHtcblx0YXV0b0VmZmVjdCA9IGluamVjdEF1dG9FZmZlY3QoKTtcblx0c3RvcmUgPSBpbmplY3RTdG9yZSgpO1xuXHR2aWV3cG9ydCA9IHRoaXMuc3RvcmUuc2VsZWN0KCd2aWV3cG9ydCcpO1xuXHRyYXljYXN0ZXIgPSB0aGlzLnN0b3JlLnNlbGVjdCgncmF5Y2FzdGVyJyk7XG5cdHBvaW50ZXIgPSB0aGlzLnN0b3JlLnNlbGVjdCgncG9pbnRlcicpO1xuXG5cdGNvbXBvc2VyQXBpID0gaW5qZWN0RWZmZWN0Q29tcG9zZXJBcGkoKTtcblxuXHRvcHRpb25zID0gaW5wdXQoZGVmYXVsdE9wdGlvbnMsIHsgdHJhbnNmb3JtOiBtZXJnZUlucHV0cyhkZWZhdWx0T3B0aW9ucykgfSk7XG5cblx0cHJvamVjdGVkUG9zaXRpb24gPSBuZXcgVmVjdG9yMygpO1xuXHRtb3VzZTJkID0gbmV3IFZlY3RvcjIoKTtcblxuXHRlZmZlY3QgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3QgeyBwb3NpdGlvbjogXywgZm9sbG93TW91c2U6IF9fLCBzbW9vdGhUaW1lOiBfX18sIC4uLm9wdGlvbnMgfSA9IHRoaXMub3B0aW9ucygpO1xuXHRcdHJldHVybiBuZXcgTGVuc0ZsYXJlRWZmZWN0KG9wdGlvbnMpO1xuXHR9KTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuXHRcdFx0dGhpcy5hdXRvRWZmZWN0KCgpID0+IHtcblx0XHRcdFx0Y29uc3QgW2VmZmVjdCwgdmlld3BvcnRdID0gW3RoaXMuZWZmZWN0KCksIHRoaXMudmlld3BvcnQoKV07XG5cdFx0XHRcdGNvbnN0IGlSZXNvbHV0aW9uID0gZWZmZWN0LnVuaWZvcm1zLmdldCgnaVJlc29sdXRpb24nKTtcblx0XHRcdFx0aWYgKGlSZXNvbHV0aW9uKSB7XG5cdFx0XHRcdFx0aVJlc29sdXRpb24udmFsdWUueCA9IHZpZXdwb3J0LndpZHRoO1xuXHRcdFx0XHRcdGlSZXNvbHV0aW9uLnZhbHVlLnkgPSB2aWV3cG9ydC5oZWlnaHQ7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH0pO1xuXG5cdFx0aW5qZWN0QmVmb3JlUmVuZGVyKCh7IGRlbHRhIH0pID0+IHtcblx0XHRcdGNvbnN0IFtlZmZlY3RdID0gW3RoaXMuZWZmZWN0KCldO1xuXHRcdFx0aWYgKCFlZmZlY3QpIHJldHVybjtcblxuXHRcdFx0Y29uc3QgW3sgZm9sbG93TW91c2UsIHBvc2l0aW9uLCBzbW9vdGhUaW1lIH0sIHBvaW50ZXIsIHsgY2FtZXJhLCBzY2VuZSB9LCByYXljYXN0ZXJdID0gW1xuXHRcdFx0XHR0aGlzLm9wdGlvbnMoKSxcblx0XHRcdFx0dGhpcy5wb2ludGVyKCksXG5cdFx0XHRcdHRoaXMuY29tcG9zZXJBcGkoKSxcblx0XHRcdFx0dGhpcy5yYXljYXN0ZXIoKSxcblx0XHRcdF07XG5cblx0XHRcdGNvbnN0IHVMZW5zUG9zaXRpb24gPSBlZmZlY3QudW5pZm9ybXMuZ2V0KCdsZW5zUG9zaXRpb24nKTtcblx0XHRcdGNvbnN0IHVPcGFjaXR5ID0gZWZmZWN0LnVuaWZvcm1zLmdldCgnb3BhY2l0eScpO1xuXHRcdFx0aWYgKCF1TGVuc1Bvc2l0aW9uIHx8ICF1T3BhY2l0eSkgcmV0dXJuO1xuXG5cdFx0XHRsZXQgdGFyZ2V0ID0gMTtcblxuXHRcdFx0aWYgKGZvbGxvd01vdXNlKSB7XG5cdFx0XHRcdHVMZW5zUG9zaXRpb24udmFsdWUueCA9IHBvaW50ZXIueDtcblx0XHRcdFx0dUxlbnNQb3NpdGlvbi52YWx1ZS55ID0gcG9pbnRlci55O1xuXHRcdFx0XHR0YXJnZXQgPSAwO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0dGhpcy5wcm9qZWN0ZWRQb3NpdGlvbi5jb3B5KHBvc2l0aW9uKS5wcm9qZWN0KGNhbWVyYSk7XG5cdFx0XHRcdGlmICh0aGlzLnByb2plY3RlZFBvc2l0aW9uLnogPiAxKSByZXR1cm47XG5cblx0XHRcdFx0dUxlbnNQb3NpdGlvbi52YWx1ZS54ID0gdGhpcy5wcm9qZWN0ZWRQb3NpdGlvbi54O1xuXHRcdFx0XHR1TGVuc1Bvc2l0aW9uLnZhbHVlLnkgPSB0aGlzLnByb2plY3RlZFBvc2l0aW9uLnk7XG5cblx0XHRcdFx0dGhpcy5tb3VzZTJkLnNldCh0aGlzLnByb2plY3RlZFBvc2l0aW9uLngsIHRoaXMucHJvamVjdGVkUG9zaXRpb24ueSk7XG5cdFx0XHRcdHJheWNhc3Rlci5zZXRGcm9tQ2FtZXJhKHRoaXMubW91c2UyZCwgY2FtZXJhKTtcblx0XHRcdFx0Y29uc3QgaW50ZXJzZWN0cyA9IHJheWNhc3Rlci5pbnRlcnNlY3RPYmplY3RzKHNjZW5lLmNoaWxkcmVuLCB0cnVlKTtcblx0XHRcdFx0Y29uc3QgeyBvYmplY3QgfSA9IGludGVyc2VjdHNbMF0gPz8ge307XG5cdFx0XHRcdGlmIChvYmplY3QpIHtcblx0XHRcdFx0XHRpZiAob2JqZWN0LnVzZXJEYXRhPy5bJ2xlbnNmbGFyZSddID09PSAnbm8tb2NjbHVzaW9uJykge1xuXHRcdFx0XHRcdFx0dGFyZ2V0ID0gMDtcblx0XHRcdFx0XHR9IGVsc2UgaWYgKG9iamVjdCBpbnN0YW5jZW9mIE1lc2gpIHtcblx0XHRcdFx0XHRcdGlmIChvYmplY3QubWF0ZXJpYWwudW5pZm9ybXM/Ll90cmFuc21pc3Npb24/LnZhbHVlID4gMC4yKSB7XG5cdFx0XHRcdFx0XHRcdC8vQ2hlY2sgZm9yIE1lc2hUcmFuc21pc3Npb25NYXRlcmlhbFxuXHRcdFx0XHRcdFx0XHR0YXJnZXQgPSAwLjI7XG5cdFx0XHRcdFx0XHR9IGVsc2UgaWYgKG9iamVjdC5tYXRlcmlhbC5fdHJhbnNtaXNzaW9uICYmIG9iamVjdC5tYXRlcmlhbC5fdHJhbnNtaXNzaW9uID4gMC4yKSB7XG5cdFx0XHRcdFx0XHRcdC8vQ2hlY2sgZm9yIE1lc2hQaHlzaWNhbE1hdGVyaWFsIHdpdGggdHJhbnNtaXNzaW9uIHNldHRpbmdcblx0XHRcdFx0XHRcdFx0dGFyZ2V0ID0gMC4yO1xuXHRcdFx0XHRcdFx0fSBlbHNlIGlmIChvYmplY3QubWF0ZXJpYWwudHJhbnNwYXJlbnQpIHtcblx0XHRcdFx0XHRcdFx0Ly8gQ2hlY2sgZm9yIE90aGVyTWF0ZXJpYWxzIHdpdGggdHJhbnNwYXJlbnQgcGFyYW1ldGVyXG5cdFx0XHRcdFx0XHRcdHRhcmdldCA9IG9iamVjdC5tYXRlcmlhbC5vcGFjaXR5O1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRlYXNpbmcuZGFtcCh1T3BhY2l0eSwgJ3ZhbHVlJywgdGFyZ2V0LCBzbW9vdGhUaW1lLCBkZWx0YSk7XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
@@ -1,14 +1,13 @@
1
1
  import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, Component, afterNextRender, computed, input, } from '@angular/core';
2
- import { NgtArgs, injectNgtRef, injectNgtStore, pick } from 'angular-three';
2
+ import { NgtArgs, injectStore, pick } from 'angular-three';
3
3
  import { injectAutoEffect } from 'ngxtension/auto-effect';
4
4
  import { LUT3DEffect } from 'postprocessing';
5
5
  import * as i0 from "@angular/core";
6
6
  export class NgtpLUT {
7
7
  constructor() {
8
8
  this.autoEffect = injectAutoEffect();
9
- this.store = injectNgtStore();
9
+ this.store = injectStore();
10
10
  this.invalidate = this.store.select('invalidate');
11
- this.effectRef = input(injectNgtRef());
12
11
  this.options = input({});
13
12
  this.lut = pick(this.options, 'lut');
14
13
  this.effect = computed(() => {
@@ -30,17 +29,17 @@ export class NgtpLUT {
30
29
  });
31
30
  });
32
31
  }
33
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtpLUT, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
34
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.3", type: NgtpLUT, isStandalone: true, selector: "ngtp-lut", inputs: { effectRef: { classPropertyName: "effectRef", publicName: "effectRef", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
35
- <ngt-primitive *args="[effect()]" [ref]="effectRef()" [dispose]="null" ngtCompound />
32
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgtpLUT, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
33
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.6", type: NgtpLUT, isStandalone: true, selector: "ngtp-lut", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
34
+ <ngt-primitive *args="[effect()]" [dispose]="null" />
36
35
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
37
36
  }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtpLUT, decorators: [{
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgtpLUT, decorators: [{
39
38
  type: Component,
40
39
  args: [{
41
40
  selector: 'ngtp-lut',
42
41
  template: `
43
- <ngt-primitive *args="[effect()]" [ref]="effectRef()" [dispose]="null" ngtCompound />
42
+ <ngt-primitive *args="[effect()]" [dispose]="null" />
44
43
  `,
45
44
  imports: [NgtArgs],
46
45
  standalone: true,
@@ -48,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
48
47
  changeDetection: ChangeDetectionStrategy.OnPush,
49
48
  }]
50
49
  }], ctorParameters: () => [] });
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wb3N0cHJvY2Vzc2luZy9zcmMvbGliL2VmZmVjdHMvbHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsUUFBUSxFQUNSLEtBQUssR0FDTCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzFELE9BQU8sRUFBaUIsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBbUI1RCxNQUFNLE9BQU8sT0FBTztJQWNuQjtRQWJBLGVBQVUsR0FBRyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ2hDLFVBQUssR0FBRyxjQUFjLEVBQUUsQ0FBQztRQUN6QixlQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFN0MsY0FBUyxHQUFHLEtBQUssQ0FBQyxZQUFZLEVBQWUsQ0FBQyxDQUFDO1FBQy9DLFlBQU8sR0FBRyxLQUFLLENBQUMsRUFBZ0IsQ0FBQyxDQUFDO1FBQ2xDLFFBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztRQUVoQyxXQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN0QixNQUFNLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFDbkUsT0FBTyxJQUFJLFdBQVcsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDdEMsQ0FBQyxDQUFDLENBQUM7UUFHRixlQUFlLENBQUMsR0FBRyxFQUFFO1lBQ3BCLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFO2dCQUNwQixNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsR0FBRyxFQUFFLHdCQUF3QixFQUFFLEVBQUUsVUFBVSxDQUFDLEdBQUc7b0JBQy9ELElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQ2IsSUFBSSxDQUFDLE9BQU8sRUFBRTtvQkFDZCxJQUFJLENBQUMsVUFBVSxFQUFFO2lCQUNqQixDQUFDO2dCQUVGLElBQUksd0JBQXdCO29CQUFFLE1BQU0sQ0FBQyx3QkFBd0IsR0FBRyx3QkFBd0IsQ0FBQztnQkFDekYsSUFBSSxHQUFHO29CQUFFLE1BQU0sQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO2dCQUMxQixVQUFVLEVBQUUsQ0FBQztZQUNkLENBQUMsQ0FBQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDOzhHQTVCVyxPQUFPO2tHQUFQLE9BQU8sa1ZBUlQ7O0VBRVQsNERBQ1MsT0FBTzs7MkZBS0wsT0FBTztrQkFWbkIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsVUFBVTtvQkFDcEIsUUFBUSxFQUFFOztFQUVUO29CQUNELE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztvQkFDbEIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDL0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q29tcG9uZW50LFxuXHRhZnRlck5leHRSZW5kZXIsXG5cdGNvbXB1dGVkLFxuXHRpbnB1dCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ3RBcmdzLCBpbmplY3ROZ3RSZWYsIGluamVjdE5ndFN0b3JlLCBwaWNrIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBpbmplY3RBdXRvRWZmZWN0IH0gZnJvbSAnbmd4dGVuc2lvbi9hdXRvLWVmZmVjdCc7XG5pbXBvcnQgeyBCbGVuZEZ1bmN0aW9uLCBMVVQzREVmZmVjdCB9IGZyb20gJ3Bvc3Rwcm9jZXNzaW5nJztcbmltcG9ydCB7IFRleHR1cmUgfSBmcm9tICd0aHJlZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTFVUT3B0aW9ucyB7XG5cdGx1dDogVGV4dHVyZTtcblx0YmxlbmRGdW5jdGlvbj86IEJsZW5kRnVuY3Rpb247XG5cdHRldHJhaGVkcmFsSW50ZXJwb2xhdGlvbj86IGJvb2xlYW47XG59XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndHAtbHV0Jyxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LXByaW1pdGl2ZSAqYXJncz1cIltlZmZlY3QoKV1cIiBbcmVmXT1cImVmZmVjdFJlZigpXCIgW2Rpc3Bvc2VdPVwibnVsbFwiIG5ndENvbXBvdW5kIC8+XG5cdGAsXG5cdGltcG9ydHM6IFtOZ3RBcmdzXSxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmd0cExVVCB7XG5cdGF1dG9FZmZlY3QgPSBpbmplY3RBdXRvRWZmZWN0KCk7XG5cdHN0b3JlID0gaW5qZWN0Tmd0U3RvcmUoKTtcblx0aW52YWxpZGF0ZSA9IHRoaXMuc3RvcmUuc2VsZWN0KCdpbnZhbGlkYXRlJyk7XG5cblx0ZWZmZWN0UmVmID0gaW5wdXQoaW5qZWN0Tmd0UmVmPExVVDNERWZmZWN0PigpKTtcblx0b3B0aW9ucyA9IGlucHV0KHt9IGFzIExVVE9wdGlvbnMpO1xuXHRsdXQgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2x1dCcpO1xuXG5cdGVmZmVjdCA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCBbbHV0LCB7IGx1dDogXywgLi4ub3B0aW9ucyB9XSA9IFt0aGlzLmx1dCgpLCB0aGlzLm9wdGlvbnMoKV07XG5cdFx0cmV0dXJuIG5ldyBMVVQzREVmZmVjdChsdXQsIG9wdGlvbnMpO1xuXHR9KTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuXHRcdFx0dGhpcy5hdXRvRWZmZWN0KCgpID0+IHtcblx0XHRcdFx0Y29uc3QgW2VmZmVjdCwgeyBsdXQsIHRldHJhaGVkcmFsSW50ZXJwb2xhdGlvbiB9LCBpbnZhbGlkYXRlXSA9IFtcblx0XHRcdFx0XHR0aGlzLmVmZmVjdCgpLFxuXHRcdFx0XHRcdHRoaXMub3B0aW9ucygpLFxuXHRcdFx0XHRcdHRoaXMuaW52YWxpZGF0ZSgpLFxuXHRcdFx0XHRdO1xuXG5cdFx0XHRcdGlmICh0ZXRyYWhlZHJhbEludGVycG9sYXRpb24pIGVmZmVjdC50ZXRyYWhlZHJhbEludGVycG9sYXRpb24gPSB0ZXRyYWhlZHJhbEludGVycG9sYXRpb247XG5cdFx0XHRcdGlmIChsdXQpIGVmZmVjdC5sdXQgPSBsdXQ7XG5cdFx0XHRcdGludmFsaWRhdGUoKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG59XG4iXX0=
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibHV0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9wb3N0cHJvY2Vzc2luZy9zcmMvbGliL2VmZmVjdHMvbHV0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTixzQkFBc0IsRUFDdEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsUUFBUSxFQUNSLEtBQUssR0FDTCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDMUQsT0FBTyxFQUFpQixXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFtQjVELE1BQU0sT0FBTyxPQUFPO0lBYW5CO1FBWkEsZUFBVSxHQUFHLGdCQUFnQixFQUFFLENBQUM7UUFDaEMsVUFBSyxHQUFHLFdBQVcsRUFBRSxDQUFDO1FBQ3RCLGVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUU3QyxZQUFPLEdBQUcsS0FBSyxDQUFDLEVBQWdCLENBQUMsQ0FBQztRQUNsQyxRQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFaEMsV0FBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDdEIsTUFBTSxDQUFDLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxPQUFPLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxFQUFFLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1lBQ25FLE9BQU8sSUFBSSxXQUFXLENBQUMsR0FBRyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO1FBR0YsZUFBZSxDQUFDLEdBQUcsRUFBRTtZQUNwQixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtnQkFDcEIsTUFBTSxDQUFDLE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSx3QkFBd0IsRUFBRSxFQUFFLFVBQVUsQ0FBQyxHQUFHO29CQUMvRCxJQUFJLENBQUMsTUFBTSxFQUFFO29CQUNiLElBQUksQ0FBQyxPQUFPLEVBQUU7b0JBQ2QsSUFBSSxDQUFDLFVBQVUsRUFBRTtpQkFDakIsQ0FBQztnQkFFRixJQUFJLHdCQUF3QjtvQkFBRSxNQUFNLENBQUMsd0JBQXdCLEdBQUcsd0JBQXdCLENBQUM7Z0JBQ3pGLElBQUksR0FBRztvQkFBRSxNQUFNLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztnQkFDMUIsVUFBVSxFQUFFLENBQUM7WUFDZCxDQUFDLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs4R0EzQlcsT0FBTztrR0FBUCxPQUFPLDhNQVJUOztFQUVULDREQUNTLE9BQU87OzJGQUtMLE9BQU87a0JBVm5CLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLFVBQVU7b0JBQ3BCLFFBQVEsRUFBRTs7RUFFVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxPQUFPLENBQUM7b0JBQ2xCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07aUJBQy9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0YWZ0ZXJOZXh0UmVuZGVyLFxuXHRjb21wdXRlZCxcblx0aW5wdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0QXJncywgaW5qZWN0U3RvcmUsIHBpY2sgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IGluamVjdEF1dG9FZmZlY3QgfSBmcm9tICduZ3h0ZW5zaW9uL2F1dG8tZWZmZWN0JztcbmltcG9ydCB7IEJsZW5kRnVuY3Rpb24sIExVVDNERWZmZWN0IH0gZnJvbSAncG9zdHByb2Nlc3NpbmcnO1xuaW1wb3J0IHsgVGV4dHVyZSB9IGZyb20gJ3RocmVlJztcblxuZXhwb3J0IGludGVyZmFjZSBMVVRPcHRpb25zIHtcblx0bHV0OiBUZXh0dXJlO1xuXHRibGVuZEZ1bmN0aW9uPzogQmxlbmRGdW5jdGlvbjtcblx0dGV0cmFoZWRyYWxJbnRlcnBvbGF0aW9uPzogYm9vbGVhbjtcbn1cblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cC1sdXQnLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3QtcHJpbWl0aXZlICphcmdzPVwiW2VmZmVjdCgpXVwiIFtkaXNwb3NlXT1cIm51bGxcIiAvPlxuXHRgLFxuXHRpbXBvcnRzOiBbTmd0QXJnc10sXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5ndHBMVVQge1xuXHRhdXRvRWZmZWN0ID0gaW5qZWN0QXV0b0VmZmVjdCgpO1xuXHRzdG9yZSA9IGluamVjdFN0b3JlKCk7XG5cdGludmFsaWRhdGUgPSB0aGlzLnN0b3JlLnNlbGVjdCgnaW52YWxpZGF0ZScpO1xuXG5cdG9wdGlvbnMgPSBpbnB1dCh7fSBhcyBMVVRPcHRpb25zKTtcblx0bHV0ID0gcGljayh0aGlzLm9wdGlvbnMsICdsdXQnKTtcblxuXHRlZmZlY3QgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3QgW2x1dCwgeyBsdXQ6IF8sIC4uLm9wdGlvbnMgfV0gPSBbdGhpcy5sdXQoKSwgdGhpcy5vcHRpb25zKCldO1xuXHRcdHJldHVybiBuZXcgTFVUM0RFZmZlY3QobHV0LCBvcHRpb25zKTtcblx0fSk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0YWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcblx0XHRcdHRoaXMuYXV0b0VmZmVjdCgoKSA9PiB7XG5cdFx0XHRcdGNvbnN0IFtlZmZlY3QsIHsgbHV0LCB0ZXRyYWhlZHJhbEludGVycG9sYXRpb24gfSwgaW52YWxpZGF0ZV0gPSBbXG5cdFx0XHRcdFx0dGhpcy5lZmZlY3QoKSxcblx0XHRcdFx0XHR0aGlzLm9wdGlvbnMoKSxcblx0XHRcdFx0XHR0aGlzLmludmFsaWRhdGUoKSxcblx0XHRcdFx0XTtcblxuXHRcdFx0XHRpZiAodGV0cmFoZWRyYWxJbnRlcnBvbGF0aW9uKSBlZmZlY3QudGV0cmFoZWRyYWxJbnRlcnBvbGF0aW9uID0gdGV0cmFoZWRyYWxJbnRlcnBvbGF0aW9uO1xuXHRcdFx0XHRpZiAobHV0KSBlZmZlY3QubHV0ID0gbHV0O1xuXHRcdFx0XHRpbnZhbGlkYXRlKCk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fVxufVxuIl19
@@ -10,20 +10,20 @@ export class NgtpNoise {
10
10
  this.effect = inject(NgtpEffect, { host: true });
11
11
  this.options = input({});
12
12
  }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtpNoise, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.3", type: NgtpNoise, isStandalone: true, selector: "ngtp-noise", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideDefaultEffectOptions({ blendFunction: BlendFunction.COLOR_DODGE })], hostDirectives: [{ directive: i1.NgtpEffect, inputs: ["blendFunction", "blendFunction", "opacity", "opacity", "effectRef", "effectRef"] }], ngImport: i0, template: `
15
- <ngt-noise-effect *args="[options()]" [camera]="effect.camera()" [ref]="effect.effectRef()" ngtCompound>
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgtpNoise, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.6", type: NgtpNoise, isStandalone: true, selector: "ngtp-noise", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideDefaultEffectOptions({ blendFunction: BlendFunction.COLOR_DODGE })], hostDirectives: [{ directive: i1.NgtpEffect, inputs: ["blendFunction", "blendFunction", "opacity", "opacity"] }], ngImport: i0, template: `
15
+ <ngt-noise-effect *args="[options()]" [camera]="effect.camera()">
16
16
  <ngtp-effect-blend-mode />
17
17
  <ng-content />
18
18
  </ngt-noise-effect>
19
19
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }, { kind: "component", type: NgtpEffectBlendMode, selector: "ngtp-effect-blend-mode" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtpNoise, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgtpNoise, decorators: [{
22
22
  type: Component,
23
23
  args: [{
24
24
  selector: 'ngtp-noise',
25
25
  template: `
26
- <ngt-noise-effect *args="[options()]" [camera]="effect.camera()" [ref]="effect.effectRef()" ngtCompound>
26
+ <ngt-noise-effect *args="[options()]" [camera]="effect.camera()">
27
27
  <ngtp-effect-blend-mode />
28
28
  <ng-content />
29
29
  </ngt-noise-effect>
@@ -36,4 +36,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
36
36
  providers: [provideDefaultEffectOptions({ blendFunction: BlendFunction.COLOR_DODGE })],
37
37
  }]
38
38
  }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9pc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Bvc3Rwcm9jZXNzaW5nL3NyYy9saWIvZWZmZWN0cy9ub2lzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLDJCQUEyQixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFFbEgsTUFBTSxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztBQW1CeEIsTUFBTSxPQUFPLFNBQVM7SUFmdEI7UUFnQkMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1QyxZQUFPLEdBQUcsS0FBSyxDQUFDLEVBQStDLENBQUMsQ0FBQztLQUNqRTs4R0FIWSxTQUFTO2tHQUFULFNBQVMsbU1BRlYsQ0FBQywyQkFBMkIsQ0FBQyxFQUFFLGFBQWEsRUFBRSxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyxzS0FYNUU7Ozs7O0VBS1QsNERBSVMsT0FBTyxnRkFBRSxtQkFBbUI7OzJGQUkxQixTQUFTO2tCQWZyQixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxZQUFZO29CQUN0QixRQUFRLEVBQUU7Ozs7O0VBS1Q7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFFLG1CQUFtQixDQUFDO29CQUN2QyxjQUFjLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDekMsU0FBUyxFQUFFLENBQUMsMkJBQTJCLENBQUMsRUFBRSxhQUFhLEVBQUUsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7aUJBQ3RGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0QXJncywgZXh0ZW5kIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBCbGVuZEZ1bmN0aW9uLCBOb2lzZUVmZmVjdCB9IGZyb20gJ3Bvc3Rwcm9jZXNzaW5nJztcbmltcG9ydCB7IE5ndHBFZmZlY3QsIE5ndHBFZmZlY3RCbGVuZE1vZGUsIE5ndHBFZmZlY3RIb3N0RGlyZWN0aXZlLCBwcm92aWRlRGVmYXVsdEVmZmVjdE9wdGlvbnMgfSBmcm9tICcuLi9lZmZlY3QnO1xuXG5leHRlbmQoeyBOb2lzZUVmZmVjdCB9KTtcblxuZXhwb3J0IHR5cGUgTm9pc2VFZmZlY3RPcHRpb25zID0gUGFydGlhbDxOb25OdWxsYWJsZTxDb25zdHJ1Y3RvclBhcmFtZXRlcnM8dHlwZW9mIE5vaXNlRWZmZWN0PlswXT4+O1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RwLW5vaXNlJyxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LW5vaXNlLWVmZmVjdCAqYXJncz1cIltvcHRpb25zKCldXCIgW2NhbWVyYV09XCJlZmZlY3QuY2FtZXJhKClcIiBbcmVmXT1cImVmZmVjdC5lZmZlY3RSZWYoKVwiIG5ndENvbXBvdW5kPlxuXHRcdFx0PG5ndHAtZWZmZWN0LWJsZW5kLW1vZGUgLz5cblx0XHRcdDxuZy1jb250ZW50IC8+XG5cdFx0PC9uZ3Qtbm9pc2UtZWZmZWN0PlxuXHRgLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRpbXBvcnRzOiBbTmd0QXJncywgTmd0cEVmZmVjdEJsZW5kTW9kZV0sXG5cdGhvc3REaXJlY3RpdmVzOiBbTmd0cEVmZmVjdEhvc3REaXJlY3RpdmVdLFxuXHRwcm92aWRlcnM6IFtwcm92aWRlRGVmYXVsdEVmZmVjdE9wdGlvbnMoeyBibGVuZEZ1bmN0aW9uOiBCbGVuZEZ1bmN0aW9uLkNPTE9SX0RPREdFIH0pXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0cE5vaXNlIHtcblx0ZWZmZWN0ID0gaW5qZWN0KE5ndHBFZmZlY3QsIHsgaG9zdDogdHJ1ZSB9KTtcblx0b3B0aW9ucyA9IGlucHV0KHt9IGFzIE9taXQ8Tm9pc2VFZmZlY3RPcHRpb25zLCAnYmxlbmRGdW5jdGlvbic+KTtcbn1cbiJdfQ==
39
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm9pc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Bvc3Rwcm9jZXNzaW5nL3NyYy9saWIvZWZmZWN0cy9ub2lzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLDJCQUEyQixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFFbEgsTUFBTSxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztBQW1CeEIsTUFBTSxPQUFPLFNBQVM7SUFmdEI7UUFnQkMsV0FBTSxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUM1QyxZQUFPLEdBQUcsS0FBSyxDQUFDLEVBQStDLENBQUMsQ0FBQztLQUNqRTs4R0FIWSxTQUFTO2tHQUFULFNBQVMsbU1BRlYsQ0FBQywyQkFBMkIsQ0FBQyxFQUFFLGFBQWEsRUFBRSxhQUFhLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQyw0SUFYNUU7Ozs7O0VBS1QsNERBSVMsT0FBTyxnRkFBRSxtQkFBbUI7OzJGQUkxQixTQUFTO2tCQWZyQixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxZQUFZO29CQUN0QixRQUFRLEVBQUU7Ozs7O0VBS1Q7b0JBQ0QsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFFLG1CQUFtQixDQUFDO29CQUN2QyxjQUFjLEVBQUUsQ0FBQyx1QkFBdUIsQ0FBQztvQkFDekMsU0FBUyxFQUFFLENBQUMsMkJBQTJCLENBQUMsRUFBRSxhQUFhLEVBQUUsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7aUJBQ3RGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0QXJncywgZXh0ZW5kIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBCbGVuZEZ1bmN0aW9uLCBOb2lzZUVmZmVjdCB9IGZyb20gJ3Bvc3Rwcm9jZXNzaW5nJztcbmltcG9ydCB7IE5ndHBFZmZlY3QsIE5ndHBFZmZlY3RCbGVuZE1vZGUsIE5ndHBFZmZlY3RIb3N0RGlyZWN0aXZlLCBwcm92aWRlRGVmYXVsdEVmZmVjdE9wdGlvbnMgfSBmcm9tICcuLi9lZmZlY3QnO1xuXG5leHRlbmQoeyBOb2lzZUVmZmVjdCB9KTtcblxuZXhwb3J0IHR5cGUgTm9pc2VFZmZlY3RPcHRpb25zID0gUGFydGlhbDxOb25OdWxsYWJsZTxDb25zdHJ1Y3RvclBhcmFtZXRlcnM8dHlwZW9mIE5vaXNlRWZmZWN0PlswXT4+O1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RwLW5vaXNlJyxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LW5vaXNlLWVmZmVjdCAqYXJncz1cIltvcHRpb25zKCldXCIgW2NhbWVyYV09XCJlZmZlY3QuY2FtZXJhKClcIj5cblx0XHRcdDxuZ3RwLWVmZmVjdC1ibGVuZC1tb2RlIC8+XG5cdFx0XHQ8bmctY29udGVudCAvPlxuXHRcdDwvbmd0LW5vaXNlLWVmZmVjdD5cblx0YCxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0aW1wb3J0czogW05ndEFyZ3MsIE5ndHBFZmZlY3RCbGVuZE1vZGVdLFxuXHRob3N0RGlyZWN0aXZlczogW05ndHBFZmZlY3RIb3N0RGlyZWN0aXZlXSxcblx0cHJvdmlkZXJzOiBbcHJvdmlkZURlZmF1bHRFZmZlY3RPcHRpb25zKHsgYmxlbmRGdW5jdGlvbjogQmxlbmRGdW5jdGlvbi5DT0xPUl9ET0RHRSB9KV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHBOb2lzZSB7XG5cdGVmZmVjdCA9IGluamVjdChOZ3RwRWZmZWN0LCB7IGhvc3Q6IHRydWUgfSk7XG5cdG9wdGlvbnMgPSBpbnB1dCh7fSBhcyBPbWl0PE5vaXNlRWZmZWN0T3B0aW9ucywgJ2JsZW5kRnVuY3Rpb24nPik7XG59XG4iXX0=
@@ -1,26 +1,25 @@
1
1
  import { CUSTOM_ELEMENTS_SCHEMA, ChangeDetectionStrategy, Component, computed, input } from '@angular/core';
2
- import { NgtArgs, injectNgtRef, pick } from 'angular-three';
2
+ import { NgtArgs, pick } from 'angular-three';
3
3
  import { mergeInputs } from 'ngxtension/inject-inputs';
4
4
  import { PixelationEffect } from 'postprocessing';
5
5
  import * as i0 from "@angular/core";
6
6
  export class NgtpPixelation {
7
7
  constructor() {
8
- this.effectRef = input(injectNgtRef());
9
8
  this.options = input({ granularity: 5 }, { transform: mergeInputs({ granularity: 5 }) });
10
9
  this.granularity = pick(this.options, 'granularity');
11
10
  this.effect = computed(() => new PixelationEffect(this.granularity()));
12
11
  }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtpPixelation, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.3", type: NgtpPixelation, isStandalone: true, selector: "ngtp-pixelation", inputs: { effectRef: { classPropertyName: "effectRef", publicName: "effectRef", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
15
- <ngt-primitive *args="[effect()]" [ref]="effectRef()" ngtCompound />
12
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgtpPixelation, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
13
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.6", type: NgtpPixelation, isStandalone: true, selector: "ngtp-pixelation", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
14
+ <ngt-primitive *args="[effect()]" />
16
15
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
17
16
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtpPixelation, decorators: [{
17
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgtpPixelation, decorators: [{
19
18
  type: Component,
20
19
  args: [{
21
20
  selector: 'ngtp-pixelation',
22
21
  template: `
23
- <ngt-primitive *args="[effect()]" [ref]="effectRef()" ngtCompound />
22
+ <ngt-primitive *args="[effect()]" />
24
23
  `,
25
24
  standalone: true,
26
25
  changeDetection: ChangeDetectionStrategy.OnPush,
@@ -28,4 +27,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
28
27
  imports: [NgtArgs],
29
28
  }]
30
29
  }] });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGl4ZWxhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcG9zdHByb2Nlc3Npbmcvc3JjL2xpYi9lZmZlY3RzL3BpeGVsYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBZWxELE1BQU0sT0FBTyxjQUFjO0lBVjNCO1FBV0MsY0FBUyxHQUFHLEtBQUssQ0FBQyxZQUFZLEVBQW9CLENBQUMsQ0FBQztRQUNwRCxZQUFPLEdBQUcsS0FBSyxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBdUIsRUFBRSxFQUFFLFNBQVMsRUFBRSxXQUFXLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekcsZ0JBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztRQUVoRCxXQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztLQUNsRTs4R0FOWSxjQUFjO2tHQUFkLGNBQWMseVZBUmhCOztFQUVULDREQUlTLE9BQU87OzJGQUVMLGNBQWM7a0JBVjFCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFOztFQUVUO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ2pDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5ndEFyZ3MsIGluamVjdE5ndFJlZiwgcGljayB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgbWVyZ2VJbnB1dHMgfSBmcm9tICduZ3h0ZW5zaW9uL2luamVjdC1pbnB1dHMnO1xuaW1wb3J0IHsgUGl4ZWxhdGlvbkVmZmVjdCB9IGZyb20gJ3Bvc3Rwcm9jZXNzaW5nJztcblxuZXhwb3J0IGludGVyZmFjZSBQaXhlbGF0aW9uT3B0aW9ucyB7XG5cdGdyYW51bGFyaXR5OiBudW1iZXI7XG59XG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RwLXBpeGVsYXRpb24nLFxuXHR0ZW1wbGF0ZTogYFxuXHRcdDxuZ3QtcHJpbWl0aXZlICphcmdzPVwiW2VmZmVjdCgpXVwiIFtyZWZdPVwiZWZmZWN0UmVmKClcIiBuZ3RDb21wb3VuZCAvPlxuXHRgLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuXHRpbXBvcnRzOiBbTmd0QXJnc10sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHBQaXhlbGF0aW9uIHtcblx0ZWZmZWN0UmVmID0gaW5wdXQoaW5qZWN0Tmd0UmVmPFBpeGVsYXRpb25FZmZlY3Q+KCkpO1xuXHRvcHRpb25zID0gaW5wdXQoeyBncmFudWxhcml0eTogNSB9IGFzIFBpeGVsYXRpb25PcHRpb25zLCB7IHRyYW5zZm9ybTogbWVyZ2VJbnB1dHMoeyBncmFudWxhcml0eTogNSB9KSB9KTtcblx0Z3JhbnVsYXJpdHkgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2dyYW51bGFyaXR5Jyk7XG5cblx0ZWZmZWN0ID0gY29tcHV0ZWQoKCkgPT4gbmV3IFBpeGVsYXRpb25FZmZlY3QodGhpcy5ncmFudWxhcml0eSgpKSk7XG59XG4iXX0=
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGl4ZWxhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcG9zdHByb2Nlc3Npbmcvc3JjL2xpYi9lZmZlY3RzL3BpeGVsYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVHLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7QUFlbEQsTUFBTSxPQUFPLGNBQWM7SUFWM0I7UUFXQyxZQUFPLEdBQUcsS0FBSyxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBdUIsRUFBRSxFQUFFLFNBQVMsRUFBRSxXQUFXLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDekcsZ0JBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxhQUFhLENBQUMsQ0FBQztRQUVoRCxXQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztLQUNsRTs4R0FMWSxjQUFjO2tHQUFkLGNBQWMscU5BUmhCOztFQUVULDREQUlTLE9BQU87OzJGQUVMLGNBQWM7a0JBVjFCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFOztFQUVUO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ2pDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5ndEFyZ3MsIHBpY2sgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IG1lcmdlSW5wdXRzIH0gZnJvbSAnbmd4dGVuc2lvbi9pbmplY3QtaW5wdXRzJztcbmltcG9ydCB7IFBpeGVsYXRpb25FZmZlY3QgfSBmcm9tICdwb3N0cHJvY2Vzc2luZyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUGl4ZWxhdGlvbk9wdGlvbnMge1xuXHRncmFudWxhcml0eTogbnVtYmVyO1xufVxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cC1waXhlbGF0aW9uJyxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LXByaW1pdGl2ZSAqYXJncz1cIltlZmZlY3QoKV1cIiAvPlxuXHRgLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuXHRpbXBvcnRzOiBbTmd0QXJnc10sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHBQaXhlbGF0aW9uIHtcblx0b3B0aW9ucyA9IGlucHV0KHsgZ3JhbnVsYXJpdHk6IDUgfSBhcyBQaXhlbGF0aW9uT3B0aW9ucywgeyB0cmFuc2Zvcm06IG1lcmdlSW5wdXRzKHsgZ3JhbnVsYXJpdHk6IDUgfSkgfSk7XG5cdGdyYW51bGFyaXR5ID0gcGljayh0aGlzLm9wdGlvbnMsICdncmFudWxhcml0eScpO1xuXG5cdGVmZmVjdCA9IGNvbXB1dGVkKCgpID0+IG5ldyBQaXhlbGF0aW9uRWZmZWN0KHRoaXMuZ3JhbnVsYXJpdHkoKSkpO1xufVxuIl19
@@ -14,20 +14,20 @@ export class NgtpScanline {
14
14
  this.effect = inject(NgtpEffect, { host: true });
15
15
  this.options = input(defaultOptions, { transform: mergeInputs(defaultOptions) });
16
16
  }
17
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtpScanline, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.3", type: NgtpScanline, isStandalone: true, selector: "ngtp-scanline", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideDefaultEffectOptions({ blendFunction: BlendFunction.OVERLAY })], hostDirectives: [{ directive: i1.NgtpEffect, inputs: ["blendFunction", "blendFunction", "opacity", "opacity", "effectRef", "effectRef"] }], ngImport: i0, template: `
19
- <ngt-scanline-effect *args="[options()]" [camera]="effect.camera()" [ref]="effect.effectRef()" ngtCompound>
17
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgtpScanline, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
18
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.6", type: NgtpScanline, isStandalone: true, selector: "ngtp-scanline", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, providers: [provideDefaultEffectOptions({ blendFunction: BlendFunction.OVERLAY })], hostDirectives: [{ directive: i1.NgtpEffect, inputs: ["blendFunction", "blendFunction", "opacity", "opacity"] }], ngImport: i0, template: `
19
+ <ngt-scanline-effect *args="[options()]" [camera]="effect.camera()">
20
20
  <ngtp-effect-blend-mode />
21
21
  <ng-content />
22
22
  </ngt-scanline-effect>
23
23
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }, { kind: "component", type: NgtpEffectBlendMode, selector: "ngtp-effect-blend-mode" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtpScanline, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgtpScanline, decorators: [{
26
26
  type: Component,
27
27
  args: [{
28
28
  selector: 'ngtp-scanline',
29
29
  template: `
30
- <ngt-scanline-effect *args="[options()]" [camera]="effect.camera()" [ref]="effect.effectRef()" ngtCompound>
30
+ <ngt-scanline-effect *args="[options()]" [camera]="effect.camera()">
31
31
  <ngtp-effect-blend-mode />
32
32
  <ng-content />
33
33
  </ngt-scanline-effect>
@@ -40,4 +40,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
40
40
  providers: [provideDefaultEffectOptions({ blendFunction: BlendFunction.OVERLAY })],
41
41
  }]
42
42
  }] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbmxpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Bvc3Rwcm9jZXNzaW5nL3NyYy9saWIvZWZmZWN0cy9zY2FubGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7O0FBRWxILE1BQU0sQ0FBQyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7QUFJM0IsTUFBTSxjQUFjLEdBQWlEO0lBQ3BFLE9BQU8sRUFBRSxJQUFJO0NBQ2IsQ0FBQztBQWlCRixNQUFNLE9BQU8sWUFBWTtJQWZ6QjtRQWdCQyxXQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLFlBQU8sR0FBRyxLQUFLLENBQUMsY0FBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7S0FDNUU7OEdBSFksWUFBWTtrR0FBWixZQUFZLHNNQUZiLENBQUMsMkJBQTJCLENBQUMsRUFBRSxhQUFhLEVBQUUsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsc0tBWHhFOzs7OztFQUtULDREQUlTLE9BQU8sZ0ZBQUUsbUJBQW1COzsyRkFJMUIsWUFBWTtrQkFmeEIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsZUFBZTtvQkFDekIsUUFBUSxFQUFFOzs7OztFQUtUO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQztvQkFDdkMsY0FBYyxFQUFFLENBQUMsdUJBQXVCLENBQUM7b0JBQ3pDLFNBQVMsRUFBRSxDQUFDLDJCQUEyQixDQUFDLEVBQUUsYUFBYSxFQUFFLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO2lCQUNsRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5ndEFyZ3MsIGV4dGVuZCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgbWVyZ2VJbnB1dHMgfSBmcm9tICduZ3h0ZW5zaW9uL2luamVjdC1pbnB1dHMnO1xuaW1wb3J0IHsgQmxlbmRGdW5jdGlvbiwgU2NhbmxpbmVFZmZlY3QgfSBmcm9tICdwb3N0cHJvY2Vzc2luZyc7XG5pbXBvcnQgeyBOZ3RwRWZmZWN0LCBOZ3RwRWZmZWN0QmxlbmRNb2RlLCBOZ3RwRWZmZWN0SG9zdERpcmVjdGl2ZSwgcHJvdmlkZURlZmF1bHRFZmZlY3RPcHRpb25zIH0gZnJvbSAnLi4vZWZmZWN0JztcblxuZXh0ZW5kKHsgU2NhbmxpbmVFZmZlY3QgfSk7XG5cbmV4cG9ydCB0eXBlIFNjYW5saW5lRWZmZWN0T3B0aW9ucyA9IFBhcnRpYWw8Tm9uTnVsbGFibGU8Q29uc3RydWN0b3JQYXJhbWV0ZXJzPHR5cGVvZiBTY2FubGluZUVmZmVjdD5bMF0+PjtcblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IE9taXQ8U2NhbmxpbmVFZmZlY3RPcHRpb25zLCAnYmxlbmRGdW5jdGlvbic+ID0ge1xuXHRkZW5zaXR5OiAxLjI1LFxufTtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cC1zY2FubGluZScsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1zY2FubGluZS1lZmZlY3QgKmFyZ3M9XCJbb3B0aW9ucygpXVwiIFtjYW1lcmFdPVwiZWZmZWN0LmNhbWVyYSgpXCIgW3JlZl09XCJlZmZlY3QuZWZmZWN0UmVmKClcIiBuZ3RDb21wb3VuZD5cblx0XHRcdDxuZ3RwLWVmZmVjdC1ibGVuZC1tb2RlIC8+XG5cdFx0XHQ8bmctY29udGVudCAvPlxuXHRcdDwvbmd0LXNjYW5saW5lLWVmZmVjdD5cblx0YCxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0aW1wb3J0czogW05ndEFyZ3MsIE5ndHBFZmZlY3RCbGVuZE1vZGVdLFxuXHRob3N0RGlyZWN0aXZlczogW05ndHBFZmZlY3RIb3N0RGlyZWN0aXZlXSxcblx0cHJvdmlkZXJzOiBbcHJvdmlkZURlZmF1bHRFZmZlY3RPcHRpb25zKHsgYmxlbmRGdW5jdGlvbjogQmxlbmRGdW5jdGlvbi5PVkVSTEFZIH0pXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0cFNjYW5saW5lIHtcblx0ZWZmZWN0ID0gaW5qZWN0KE5ndHBFZmZlY3QsIHsgaG9zdDogdHJ1ZSB9KTtcblx0b3B0aW9ucyA9IGlucHV0KGRlZmF1bHRPcHRpb25zLCB7IHRyYW5zZm9ybTogbWVyZ2VJbnB1dHMoZGVmYXVsdE9wdGlvbnMpIH0pO1xufVxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbmxpbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Bvc3Rwcm9jZXNzaW5nL3NyYy9saWIvZWZmZWN0cy9zY2FubGluZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFVBQVUsRUFBRSxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSwyQkFBMkIsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7O0FBRWxILE1BQU0sQ0FBQyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7QUFJM0IsTUFBTSxjQUFjLEdBQWlEO0lBQ3BFLE9BQU8sRUFBRSxJQUFJO0NBQ2IsQ0FBQztBQWlCRixNQUFNLE9BQU8sWUFBWTtJQWZ6QjtRQWdCQyxXQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLFlBQU8sR0FBRyxLQUFLLENBQUMsY0FBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7S0FDNUU7OEdBSFksWUFBWTtrR0FBWixZQUFZLHNNQUZiLENBQUMsMkJBQTJCLENBQUMsRUFBRSxhQUFhLEVBQUUsYUFBYSxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsNElBWHhFOzs7OztFQUtULDREQUlTLE9BQU8sZ0ZBQUUsbUJBQW1COzsyRkFJMUIsWUFBWTtrQkFmeEIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsZUFBZTtvQkFDekIsUUFBUSxFQUFFOzs7OztFQUtUO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQztvQkFDdkMsY0FBYyxFQUFFLENBQUMsdUJBQXVCLENBQUM7b0JBQ3pDLFNBQVMsRUFBRSxDQUFDLDJCQUEyQixDQUFDLEVBQUUsYUFBYSxFQUFFLGFBQWEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO2lCQUNsRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5ndEFyZ3MsIGV4dGVuZCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgbWVyZ2VJbnB1dHMgfSBmcm9tICduZ3h0ZW5zaW9uL2luamVjdC1pbnB1dHMnO1xuaW1wb3J0IHsgQmxlbmRGdW5jdGlvbiwgU2NhbmxpbmVFZmZlY3QgfSBmcm9tICdwb3N0cHJvY2Vzc2luZyc7XG5pbXBvcnQgeyBOZ3RwRWZmZWN0LCBOZ3RwRWZmZWN0QmxlbmRNb2RlLCBOZ3RwRWZmZWN0SG9zdERpcmVjdGl2ZSwgcHJvdmlkZURlZmF1bHRFZmZlY3RPcHRpb25zIH0gZnJvbSAnLi4vZWZmZWN0JztcblxuZXh0ZW5kKHsgU2NhbmxpbmVFZmZlY3QgfSk7XG5cbmV4cG9ydCB0eXBlIFNjYW5saW5lRWZmZWN0T3B0aW9ucyA9IFBhcnRpYWw8Tm9uTnVsbGFibGU8Q29uc3RydWN0b3JQYXJhbWV0ZXJzPHR5cGVvZiBTY2FubGluZUVmZmVjdD5bMF0+PjtcblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IE9taXQ8U2NhbmxpbmVFZmZlY3RPcHRpb25zLCAnYmxlbmRGdW5jdGlvbic+ID0ge1xuXHRkZW5zaXR5OiAxLjI1LFxufTtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cC1zY2FubGluZScsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1zY2FubGluZS1lZmZlY3QgKmFyZ3M9XCJbb3B0aW9ucygpXVwiIFtjYW1lcmFdPVwiZWZmZWN0LmNhbWVyYSgpXCI+XG5cdFx0XHQ8bmd0cC1lZmZlY3QtYmxlbmQtbW9kZSAvPlxuXHRcdFx0PG5nLWNvbnRlbnQgLz5cblx0XHQ8L25ndC1zY2FubGluZS1lZmZlY3Q+XG5cdGAsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdGltcG9ydHM6IFtOZ3RBcmdzLCBOZ3RwRWZmZWN0QmxlbmRNb2RlXSxcblx0aG9zdERpcmVjdGl2ZXM6IFtOZ3RwRWZmZWN0SG9zdERpcmVjdGl2ZV0sXG5cdHByb3ZpZGVyczogW3Byb3ZpZGVEZWZhdWx0RWZmZWN0T3B0aW9ucyh7IGJsZW5kRnVuY3Rpb246IEJsZW5kRnVuY3Rpb24uT1ZFUkxBWSB9KV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHBTY2FubGluZSB7XG5cdGVmZmVjdCA9IGluamVjdChOZ3RwRWZmZWN0LCB7IGhvc3Q6IHRydWUgfSk7XG5cdG9wdGlvbnMgPSBpbnB1dChkZWZhdWx0T3B0aW9ucywgeyB0cmFuc2Zvcm06IG1lcmdlSW5wdXRzKGRlZmF1bHRPcHRpb25zKSB9KTtcbn1cbiJdfQ==
@@ -10,20 +10,20 @@ export class NgtpSepia {
10
10
  this.effect = inject(NgtpEffect, { host: true });
11
11
  this.options = input({});
12
12
  }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtpSepia, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.3", type: NgtpSepia, isStandalone: true, selector: "ngtp-sepia", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtpEffect, inputs: ["blendFunction", "blendFunction", "opacity", "opacity", "effectRef", "effectRef"] }], ngImport: i0, template: `
15
- <ngt-sepia-effect *args="[options()]" [camera]="effect.camera()" [ref]="effect.effectRef()" ngtCompound>
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgtpSepia, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.6", type: NgtpSepia, isStandalone: true, selector: "ngtp-sepia", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtpEffect, inputs: ["blendFunction", "blendFunction", "opacity", "opacity"] }], ngImport: i0, template: `
15
+ <ngt-sepia-effect *args="[options()]" [camera]="effect.camera()">
16
16
  <ngtp-effect-blend-mode />
17
17
  <ng-content />
18
18
  </ngt-sepia-effect>
19
19
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }, { kind: "component", type: NgtpEffectBlendMode, selector: "ngtp-effect-blend-mode" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtpSepia, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgtpSepia, decorators: [{
22
22
  type: Component,
23
23
  args: [{
24
24
  selector: 'ngtp-sepia',
25
25
  template: `
26
- <ngt-sepia-effect *args="[options()]" [camera]="effect.camera()" [ref]="effect.effectRef()" ngtCompound>
26
+ <ngt-sepia-effect *args="[options()]" [camera]="effect.camera()">
27
27
  <ngtp-effect-blend-mode />
28
28
  <ng-content />
29
29
  </ngt-sepia-effect>
@@ -35,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
35
35
  hostDirectives: [NgtpEffectHostDirective],
36
36
  }]
37
37
  }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VwaWEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Bvc3Rwcm9jZXNzaW5nL3NyYy9saWIvZWZmZWN0cy9zZXBpYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQUVyRixNQUFNLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0FBa0J4QixNQUFNLE9BQU8sU0FBUztJQWR0QjtRQWVDLFdBQU0sR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDNUMsWUFBTyxHQUFHLEtBQUssQ0FBQyxFQUErQyxDQUFDLENBQUM7S0FDakU7OEdBSFksU0FBUztrR0FBVCxTQUFTLDRWQVpYOzs7OztFQUtULDREQUlTLE9BQU8sZ0ZBQUUsbUJBQW1COzsyRkFHMUIsU0FBUztrQkFkckIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsWUFBWTtvQkFDdEIsUUFBUSxFQUFFOzs7OztFQUtUO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQztvQkFDdkMsY0FBYyxFQUFFLENBQUMsdUJBQXVCLENBQUM7aUJBQ3pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0QXJncywgZXh0ZW5kIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBTZXBpYUVmZmVjdCB9IGZyb20gJ3Bvc3Rwcm9jZXNzaW5nJztcbmltcG9ydCB7IE5ndHBFZmZlY3QsIE5ndHBFZmZlY3RCbGVuZE1vZGUsIE5ndHBFZmZlY3RIb3N0RGlyZWN0aXZlIH0gZnJvbSAnLi4vZWZmZWN0JztcblxuZXh0ZW5kKHsgU2VwaWFFZmZlY3QgfSk7XG5cbmV4cG9ydCB0eXBlIFNlcGlhRWZmZWN0T3B0aW9ucyA9IFBhcnRpYWw8Tm9uTnVsbGFibGU8Q29uc3RydWN0b3JQYXJhbWV0ZXJzPHR5cGVvZiBTZXBpYUVmZmVjdD5bMF0+PjtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cC1zZXBpYScsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1zZXBpYS1lZmZlY3QgKmFyZ3M9XCJbb3B0aW9ucygpXVwiIFtjYW1lcmFdPVwiZWZmZWN0LmNhbWVyYSgpXCIgW3JlZl09XCJlZmZlY3QuZWZmZWN0UmVmKClcIiBuZ3RDb21wb3VuZD5cblx0XHRcdDxuZ3RwLWVmZmVjdC1ibGVuZC1tb2RlIC8+XG5cdFx0XHQ8bmctY29udGVudCAvPlxuXHRcdDwvbmd0LXNlcGlhLWVmZmVjdD5cblx0YCxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0aW1wb3J0czogW05ndEFyZ3MsIE5ndHBFZmZlY3RCbGVuZE1vZGVdLFxuXHRob3N0RGlyZWN0aXZlczogW05ndHBFZmZlY3RIb3N0RGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0cFNlcGlhIHtcblx0ZWZmZWN0ID0gaW5qZWN0KE5ndHBFZmZlY3QsIHsgaG9zdDogdHJ1ZSB9KTtcblx0b3B0aW9ucyA9IGlucHV0KHt9IGFzIE9taXQ8U2VwaWFFZmZlY3RPcHRpb25zLCAnYmxlbmRGdW5jdGlvbic+KTtcbn1cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VwaWEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Bvc3Rwcm9jZXNzaW5nL3NyYy9saWIvZWZmZWN0cy9zZXBpYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUcsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxVQUFVLEVBQUUsbUJBQW1CLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQUVyRixNQUFNLENBQUMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDO0FBa0J4QixNQUFNLE9BQU8sU0FBUztJQWR0QjtRQWVDLFdBQU0sR0FBRyxNQUFNLENBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7UUFDNUMsWUFBTyxHQUFHLEtBQUssQ0FBQyxFQUErQyxDQUFDLENBQUM7S0FDakU7OEdBSFksU0FBUztrR0FBVCxTQUFTLGtVQVpYOzs7OztFQUtULDREQUlTLE9BQU8sZ0ZBQUUsbUJBQW1COzsyRkFHMUIsU0FBUztrQkFkckIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsWUFBWTtvQkFDdEIsUUFBUSxFQUFFOzs7OztFQUtUO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQztvQkFDdkMsY0FBYyxFQUFFLENBQUMsdUJBQXVCLENBQUM7aUJBQ3pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0QXJncywgZXh0ZW5kIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBTZXBpYUVmZmVjdCB9IGZyb20gJ3Bvc3Rwcm9jZXNzaW5nJztcbmltcG9ydCB7IE5ndHBFZmZlY3QsIE5ndHBFZmZlY3RCbGVuZE1vZGUsIE5ndHBFZmZlY3RIb3N0RGlyZWN0aXZlIH0gZnJvbSAnLi4vZWZmZWN0JztcblxuZXh0ZW5kKHsgU2VwaWFFZmZlY3QgfSk7XG5cbmV4cG9ydCB0eXBlIFNlcGlhRWZmZWN0T3B0aW9ucyA9IFBhcnRpYWw8Tm9uTnVsbGFibGU8Q29uc3RydWN0b3JQYXJhbWV0ZXJzPHR5cGVvZiBTZXBpYUVmZmVjdD5bMF0+PjtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cC1zZXBpYScsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1zZXBpYS1lZmZlY3QgKmFyZ3M9XCJbb3B0aW9ucygpXVwiIFtjYW1lcmFdPVwiZWZmZWN0LmNhbWVyYSgpXCI+XG5cdFx0XHQ8bmd0cC1lZmZlY3QtYmxlbmQtbW9kZSAvPlxuXHRcdFx0PG5nLWNvbnRlbnQgLz5cblx0XHQ8L25ndC1zZXBpYS1lZmZlY3Q+XG5cdGAsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdGltcG9ydHM6IFtOZ3RBcmdzLCBOZ3RwRWZmZWN0QmxlbmRNb2RlXSxcblx0aG9zdERpcmVjdGl2ZXM6IFtOZ3RwRWZmZWN0SG9zdERpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHBTZXBpYSB7XG5cdGVmZmVjdCA9IGluamVjdChOZ3RwRWZmZWN0LCB7IGhvc3Q6IHRydWUgfSk7XG5cdG9wdGlvbnMgPSBpbnB1dCh7fSBhcyBPbWl0PFNlcGlhRWZmZWN0T3B0aW9ucywgJ2JsZW5kRnVuY3Rpb24nPik7XG59XG4iXX0=
@@ -10,20 +10,20 @@ export class NgtpShockWave {
10
10
  this.effect = inject(NgtpEffect, { host: true });
11
11
  this.options = input({});
12
12
  }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtpShockWave, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.3", type: NgtpShockWave, isStandalone: true, selector: "ngtp-shock-wave", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtpEffect, inputs: ["blendFunction", "blendFunction", "opacity", "opacity", "effectRef", "effectRef"] }], ngImport: i0, template: `
15
- <ngt-shock-wave-effect *args="[options()]" [camera]="effect.camera()" [ref]="effect.effectRef()" ngtCompound>
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgtpShockWave, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.6", type: NgtpShockWave, isStandalone: true, selector: "ngtp-shock-wave", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtpEffect, inputs: ["blendFunction", "blendFunction", "opacity", "opacity"] }], ngImport: i0, template: `
15
+ <ngt-shock-wave-effect *args="[options()]" [camera]="effect.camera()">
16
16
  <ngtp-effect-blend-mode />
17
17
  <ng-content />
18
18
  </ngt-shock-wave-effect>
19
19
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }, { kind: "component", type: NgtpEffectBlendMode, selector: "ngtp-effect-blend-mode" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtpShockWave, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgtpShockWave, decorators: [{
22
22
  type: Component,
23
23
  args: [{
24
24
  selector: 'ngtp-shock-wave',
25
25
  template: `
26
- <ngt-shock-wave-effect *args="[options()]" [camera]="effect.camera()" [ref]="effect.effectRef()" ngtCompound>
26
+ <ngt-shock-wave-effect *args="[options()]" [camera]="effect.camera()">
27
27
  <ngtp-effect-blend-mode />
28
28
  <ng-content />
29
29
  </ngt-shock-wave-effect>
@@ -35,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
35
35
  hostDirectives: [NgtpEffectHostDirective],
36
36
  }]
37
37
  }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvY2std2F2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcG9zdHByb2Nlc3Npbmcvc3JjL2xpYi9lZmZlY3RzL3Nob2NrLXdhdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFFckYsTUFBTSxDQUFDLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztBQWtCNUIsTUFBTSxPQUFPLGFBQWE7SUFkMUI7UUFlQyxXQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLFlBQU8sR0FBRyxLQUFLLENBQUMsRUFBbUQsQ0FBQyxDQUFDO0tBQ3JFOzhHQUhZLGFBQWE7a0dBQWIsYUFBYSxpV0FaZjs7Ozs7RUFLVCw0REFJUyxPQUFPLGdGQUFFLG1CQUFtQjs7MkZBRzFCLGFBQWE7a0JBZHpCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFOzs7OztFQUtUO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQztvQkFDdkMsY0FBYyxFQUFFLENBQUMsdUJBQXVCLENBQUM7aUJBQ3pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0QXJncywgZXh0ZW5kIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBTaG9ja1dhdmVFZmZlY3QgfSBmcm9tICdwb3N0cHJvY2Vzc2luZyc7XG5pbXBvcnQgeyBOZ3RwRWZmZWN0LCBOZ3RwRWZmZWN0QmxlbmRNb2RlLCBOZ3RwRWZmZWN0SG9zdERpcmVjdGl2ZSB9IGZyb20gJy4uL2VmZmVjdCc7XG5cbmV4dGVuZCh7IFNob2NrV2F2ZUVmZmVjdCB9KTtcblxuZXhwb3J0IHR5cGUgU2hvY2tXYXZlRWZmZWN0T3B0aW9ucyA9IFBhcnRpYWw8Tm9uTnVsbGFibGU8Q29uc3RydWN0b3JQYXJhbWV0ZXJzPHR5cGVvZiBTaG9ja1dhdmVFZmZlY3Q+WzBdPj47XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndHAtc2hvY2std2F2ZScsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1zaG9jay13YXZlLWVmZmVjdCAqYXJncz1cIltvcHRpb25zKCldXCIgW2NhbWVyYV09XCJlZmZlY3QuY2FtZXJhKClcIiBbcmVmXT1cImVmZmVjdC5lZmZlY3RSZWYoKVwiIG5ndENvbXBvdW5kPlxuXHRcdFx0PG5ndHAtZWZmZWN0LWJsZW5kLW1vZGUgLz5cblx0XHRcdDxuZy1jb250ZW50IC8+XG5cdFx0PC9uZ3Qtc2hvY2std2F2ZS1lZmZlY3Q+XG5cdGAsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdGltcG9ydHM6IFtOZ3RBcmdzLCBOZ3RwRWZmZWN0QmxlbmRNb2RlXSxcblx0aG9zdERpcmVjdGl2ZXM6IFtOZ3RwRWZmZWN0SG9zdERpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHBTaG9ja1dhdmUge1xuXHRlZmZlY3QgPSBpbmplY3QoTmd0cEVmZmVjdCwgeyBob3N0OiB0cnVlIH0pO1xuXHRvcHRpb25zID0gaW5wdXQoe30gYXMgT21pdDxTaG9ja1dhdmVFZmZlY3RPcHRpb25zLCAnYmxlbmRGdW5jdGlvbic+KTtcbn1cbiJdfQ==
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2hvY2std2F2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcG9zdHByb2Nlc3Npbmcvc3JjL2xpYi9lZmZlY3RzL3Nob2NrLXdhdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFFckYsTUFBTSxDQUFDLEVBQUUsZUFBZSxFQUFFLENBQUMsQ0FBQztBQWtCNUIsTUFBTSxPQUFPLGFBQWE7SUFkMUI7UUFlQyxXQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLFlBQU8sR0FBRyxLQUFLLENBQUMsRUFBbUQsQ0FBQyxDQUFDO0tBQ3JFOzhHQUhZLGFBQWE7a0dBQWIsYUFBYSx1VUFaZjs7Ozs7RUFLVCw0REFJUyxPQUFPLGdGQUFFLG1CQUFtQjs7MkZBRzFCLGFBQWE7a0JBZHpCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsUUFBUSxFQUFFOzs7OztFQUtUO29CQUNELFVBQVUsRUFBRSxJQUFJO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE9BQU8sRUFBRSxDQUFDLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQztvQkFDdkMsY0FBYyxFQUFFLENBQUMsdUJBQXVCLENBQUM7aUJBQ3pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0QXJncywgZXh0ZW5kIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBTaG9ja1dhdmVFZmZlY3QgfSBmcm9tICdwb3N0cHJvY2Vzc2luZyc7XG5pbXBvcnQgeyBOZ3RwRWZmZWN0LCBOZ3RwRWZmZWN0QmxlbmRNb2RlLCBOZ3RwRWZmZWN0SG9zdERpcmVjdGl2ZSB9IGZyb20gJy4uL2VmZmVjdCc7XG5cbmV4dGVuZCh7IFNob2NrV2F2ZUVmZmVjdCB9KTtcblxuZXhwb3J0IHR5cGUgU2hvY2tXYXZlRWZmZWN0T3B0aW9ucyA9IFBhcnRpYWw8Tm9uTnVsbGFibGU8Q29uc3RydWN0b3JQYXJhbWV0ZXJzPHR5cGVvZiBTaG9ja1dhdmVFZmZlY3Q+WzBdPj47XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndHAtc2hvY2std2F2ZScsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1zaG9jay13YXZlLWVmZmVjdCAqYXJncz1cIltvcHRpb25zKCldXCIgW2NhbWVyYV09XCJlZmZlY3QuY2FtZXJhKClcIj5cblx0XHRcdDxuZ3RwLWVmZmVjdC1ibGVuZC1tb2RlIC8+XG5cdFx0XHQ8bmctY29udGVudCAvPlxuXHRcdDwvbmd0LXNob2NrLXdhdmUtZWZmZWN0PlxuXHRgLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRpbXBvcnRzOiBbTmd0QXJncywgTmd0cEVmZmVjdEJsZW5kTW9kZV0sXG5cdGhvc3REaXJlY3RpdmVzOiBbTmd0cEVmZmVjdEhvc3REaXJlY3RpdmVdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RwU2hvY2tXYXZlIHtcblx0ZWZmZWN0ID0gaW5qZWN0KE5ndHBFZmZlY3QsIHsgaG9zdDogdHJ1ZSB9KTtcblx0b3B0aW9ucyA9IGlucHV0KHt9IGFzIE9taXQ8U2hvY2tXYXZlRWZmZWN0T3B0aW9ucywgJ2JsZW5kRnVuY3Rpb24nPik7XG59XG4iXX0=
@@ -10,20 +10,20 @@ export class NgtpSMAA {
10
10
  this.effect = inject(NgtpEffect, { host: true });
11
11
  this.options = input({});
12
12
  }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtpSMAA, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.3", type: NgtpSMAA, isStandalone: true, selector: "ngtp-smaa", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtpEffect, inputs: ["blendFunction", "blendFunction", "opacity", "opacity", "effectRef", "effectRef"] }], ngImport: i0, template: `
15
- <ngt-sMAA-effect *args="[options()]" [camera]="effect.camera()" [ref]="effect.effectRef()" ngtCompound>
13
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgtpSMAA, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.0.6", type: NgtpSMAA, isStandalone: true, selector: "ngtp-smaa", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtpEffect, inputs: ["blendFunction", "blendFunction", "opacity", "opacity"] }], ngImport: i0, template: `
15
+ <ngt-sMAA-effect *args="[options()]" [camera]="effect.camera()">
16
16
  <ngtp-effect-blend-mode />
17
17
  <ng-content />
18
18
  </ngt-sMAA-effect>
19
19
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }, { kind: "component", type: NgtpEffectBlendMode, selector: "ngtp-effect-blend-mode" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
20
20
  }
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: NgtpSMAA, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: NgtpSMAA, decorators: [{
22
22
  type: Component,
23
23
  args: [{
24
24
  selector: 'ngtp-smaa',
25
25
  template: `
26
- <ngt-sMAA-effect *args="[options()]" [camera]="effect.camera()" [ref]="effect.effectRef()" ngtCompound>
26
+ <ngt-sMAA-effect *args="[options()]" [camera]="effect.camera()">
27
27
  <ngtp-effect-blend-mode />
28
28
  <ng-content />
29
29
  </ngt-sMAA-effect>
@@ -35,4 +35,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
35
35
  hostDirectives: [NgtpEffectHostDirective],
36
36
  }]
37
37
  }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcG9zdHByb2Nlc3Npbmcvc3JjL2xpYi9lZmZlY3RzL3NtYWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFFckYsTUFBTSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztBQWtCdkIsTUFBTSxPQUFPLFFBQVE7SUFkckI7UUFlQyxXQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLFlBQU8sR0FBRyxLQUFLLENBQUMsRUFBOEMsQ0FBQyxDQUFDO0tBQ2hFOzhHQUhZLFFBQVE7a0dBQVIsUUFBUSwyVkFaVjs7Ozs7RUFLVCw0REFJUyxPQUFPLGdGQUFFLG1CQUFtQjs7MkZBRzFCLFFBQVE7a0JBZHBCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFFBQVEsRUFBRTs7Ozs7RUFLVDtvQkFDRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ2pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLENBQUM7b0JBQ3ZDLGNBQWMsRUFBRSxDQUFDLHVCQUF1QixDQUFDO2lCQUN6QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5ndEFyZ3MsIGV4dGVuZCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgU01BQUVmZmVjdCB9IGZyb20gJ3Bvc3Rwcm9jZXNzaW5nJztcbmltcG9ydCB7IE5ndHBFZmZlY3QsIE5ndHBFZmZlY3RCbGVuZE1vZGUsIE5ndHBFZmZlY3RIb3N0RGlyZWN0aXZlIH0gZnJvbSAnLi4vZWZmZWN0JztcblxuZXh0ZW5kKHsgU01BQUVmZmVjdCB9KTtcblxuZXhwb3J0IHR5cGUgU01BQUVmZmVjdE9wdGlvbnMgPSBQYXJ0aWFsPE5vbk51bGxhYmxlPENvbnN0cnVjdG9yUGFyYW1ldGVyczx0eXBlb2YgU01BQUVmZmVjdD5bMF0+PjtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cC1zbWFhJyxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LXNNQUEtZWZmZWN0ICphcmdzPVwiW29wdGlvbnMoKV1cIiBbY2FtZXJhXT1cImVmZmVjdC5jYW1lcmEoKVwiIFtyZWZdPVwiZWZmZWN0LmVmZmVjdFJlZigpXCIgbmd0Q29tcG91bmQ+XG5cdFx0XHQ8bmd0cC1lZmZlY3QtYmxlbmQtbW9kZSAvPlxuXHRcdFx0PG5nLWNvbnRlbnQgLz5cblx0XHQ8L25ndC1zTUFBLWVmZmVjdD5cblx0YCxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0c2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0aW1wb3J0czogW05ndEFyZ3MsIE5ndHBFZmZlY3RCbGVuZE1vZGVdLFxuXHRob3N0RGlyZWN0aXZlczogW05ndHBFZmZlY3RIb3N0RGlyZWN0aXZlXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0cFNNQUEge1xuXHRlZmZlY3QgPSBpbmplY3QoTmd0cEVmZmVjdCwgeyBob3N0OiB0cnVlIH0pO1xuXHRvcHRpb25zID0gaW5wdXQoe30gYXMgT21pdDxTTUFBRWZmZWN0T3B0aW9ucywgJ2JsZW5kRnVuY3Rpb24nPik7XG59XG4iXX0=
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcG9zdHByb2Nlc3Npbmcvc3JjL2xpYi9lZmZlY3RzL3NtYWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1QyxPQUFPLEVBQUUsVUFBVSxFQUFFLG1CQUFtQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sV0FBVyxDQUFDOzs7QUFFckYsTUFBTSxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztBQWtCdkIsTUFBTSxPQUFPLFFBQVE7SUFkckI7UUFlQyxXQUFNLEdBQUcsTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVDLFlBQU8sR0FBRyxLQUFLLENBQUMsRUFBOEMsQ0FBQyxDQUFDO0tBQ2hFOzhHQUhZLFFBQVE7a0dBQVIsUUFBUSxpVUFaVjs7Ozs7RUFLVCw0REFJUyxPQUFPLGdGQUFFLG1CQUFtQjs7MkZBRzFCLFFBQVE7a0JBZHBCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLFdBQVc7b0JBQ3JCLFFBQVEsRUFBRTs7Ozs7RUFLVDtvQkFDRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7b0JBQ2pDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLENBQUM7b0JBQ3ZDLGNBQWMsRUFBRSxDQUFDLHVCQUF1QixDQUFDO2lCQUN6QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5ndEFyZ3MsIGV4dGVuZCB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgU01BQUVmZmVjdCB9IGZyb20gJ3Bvc3Rwcm9jZXNzaW5nJztcbmltcG9ydCB7IE5ndHBFZmZlY3QsIE5ndHBFZmZlY3RCbGVuZE1vZGUsIE5ndHBFZmZlY3RIb3N0RGlyZWN0aXZlIH0gZnJvbSAnLi4vZWZmZWN0JztcblxuZXh0ZW5kKHsgU01BQUVmZmVjdCB9KTtcblxuZXhwb3J0IHR5cGUgU01BQUVmZmVjdE9wdGlvbnMgPSBQYXJ0aWFsPE5vbk51bGxhYmxlPENvbnN0cnVjdG9yUGFyYW1ldGVyczx0eXBlb2YgU01BQUVmZmVjdD5bMF0+PjtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cC1zbWFhJyxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LXNNQUEtZWZmZWN0ICphcmdzPVwiW29wdGlvbnMoKV1cIiBbY2FtZXJhXT1cImVmZmVjdC5jYW1lcmEoKVwiPlxuXHRcdFx0PG5ndHAtZWZmZWN0LWJsZW5kLW1vZGUgLz5cblx0XHRcdDxuZy1jb250ZW50IC8+XG5cdFx0PC9uZ3Qtc01BQS1lZmZlY3Q+XG5cdGAsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdGltcG9ydHM6IFtOZ3RBcmdzLCBOZ3RwRWZmZWN0QmxlbmRNb2RlXSxcblx0aG9zdERpcmVjdGl2ZXM6IFtOZ3RwRWZmZWN0SG9zdERpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHBTTUFBIHtcblx0ZWZmZWN0ID0gaW5qZWN0KE5ndHBFZmZlY3QsIHsgaG9zdDogdHJ1ZSB9KTtcblx0b3B0aW9ucyA9IGlucHV0KHt9IGFzIE9taXQ8U01BQUVmZmVjdE9wdGlvbnMsICdibGVuZEZ1bmN0aW9uJz4pO1xufVxuIl19