angular-three-postprocessing 1.0.2 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"angular-three-postprocessing.mjs","sources":["../../../../libs/angular-three-postprocessing/src/lib/effect.ts","../../../../libs/angular-three-postprocessing/src/lib/effect-composer.ts","../../../../libs/angular-three-postprocessing/src/angular-three-postprocessing.ts"],"sourcesContent":["import { Directive, inject, Input, OnChanges, OnInit, reflectComponentType, SimpleChanges, Type } from '@angular/core';\nimport { NgtAnyRecord, NgtRxStore, NgtStore, startWithUndefined } from 'angular-three';\nimport { BlendFunction, Effect } from 'postprocessing';\nimport { combineLatest, Observable } from 'rxjs';\n\n@Directive()\nexport abstract class NgtpEffect<T extends Effect> extends NgtRxStore implements OnInit, OnChanges {\n @Input() set blendFunction(blendFunction: BlendFunction) {\n this.set({ blendFunction });\n }\n\n @Input() set opacity(opacity: number) {\n this.set({ opacity });\n }\n\n abstract get effectConstructor(): new (...args: any[]) => T;\n\n protected defaultBlendMode = BlendFunction.NORMAL;\n protected readonly store = inject(NgtStore);\n\n ngOnChanges(changes: SimpleChanges) {\n this.set((s) => ({\n ...s,\n ...simpleChangesToStateObject(changes, ['blendFunction', 'opacity']),\n }));\n }\n\n ngOnInit() {\n this.connect('effect', componentInputsToCombinedStream(this), (props) => {\n delete props['__ngt_dummy__'];\n delete props['effect'];\n return new this.effectConstructor(props);\n });\n this.configureBlendMode();\n }\n\n private configureBlendMode() {\n this.hold(\n combineLatest([\n this.select('effect'),\n this.select('blendFunction').pipe(startWithUndefined()),\n this.select('opacity').pipe(startWithUndefined()),\n ]),\n ([effect, blendFunction, opacity]) => {\n const invalidate = this.store.get('invalidate');\n effect.blendMode.blendFunction =\n !blendFunction && blendFunction !== 0 ? this.defaultBlendMode : blendFunction;\n if (opacity !== undefined) effect.blendMode.opacity.value = opacity;\n invalidate();\n }\n );\n }\n}\n\nexport function simpleChangesToStateObject(changes: SimpleChanges, keysToDelete: string[] = []) {\n for (const key of keysToDelete) {\n if (changes[key]) delete changes[key];\n }\n\n return Object.entries(changes).reduce((obj, [key, change]) => {\n obj[key] = change.currentValue;\n return obj;\n }, {} as NgtAnyRecord);\n}\n\nexport function componentInputsToCombinedStream(\n component: NgtRxStore,\n filterFn: (input: { propName: string; templateName: string }) => boolean = () => true\n): Observable<NgtAnyRecord> {\n const inputs =\n reflectComponentType(component.constructor as Type<any>)\n ?.inputs.filter(filterFn)\n .map((input) => input.propName) || [];\n\n return combineLatest(\n inputs.reduce((combined, input) => {\n let input$ = component.select(input);\n if (component.get(input) === undefined) {\n input$ = input$.pipe(startWithUndefined());\n }\n combined[input] = input$;\n return combined;\n }, {} as Record<string, Observable<any>>)\n );\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, InjectionToken, Input, OnInit } from '@angular/core';\nimport { RxActionFactory } from '@rx-angular/state/actions';\nimport { extend, getLocalState, injectNgtRef, NgtRxStore, NgtStore, startWithUndefined } from 'angular-three';\nimport { DepthDownsamplingPass, EffectComposer, EffectPass, NormalPass, RenderPass } from 'postprocessing';\nimport { combineLatest, map } from 'rxjs';\nimport * as THREE from 'three';\nimport { Group } from 'three';\nimport { isWebGL2Available } from 'three-stdlib';\n\nextend({ Group });\n\nexport interface NgtpEffectComposerApi {\n composer: EffectComposer;\n normalPass: NormalPass | null;\n depthPass: DepthDownsamplingPass | null;\n scene: THREE.Scene;\n camera: THREE.Camera;\n resolutionScale?: number;\n select: NgtpEffectComposer['select'];\n get: NgtpEffectComposer['get'];\n}\n\nexport const NGTP_EFFECT_COMPOSER_API = new InjectionToken<NgtpEffectComposerApi>('NgtpEffectComposer API');\n\nfunction effectComposerApiFactory(composer: NgtpEffectComposer) {\n const api = {} as NgtpEffectComposerApi;\n\n Object.defineProperties(api, {\n composer: { get: () => composer.get('entities')[0] },\n normalPass: { get: () => composer.get('entities')[1] },\n downSamplingPass: { get: () => composer.get('entities')[2] },\n resolutionScale: { get: () => composer.get('resolutionScale') },\n scene: { get: () => composer.get('activeScene') },\n camera: { get: () => composer.get('activeCamera') },\n select: { get: () => composer.select.bind(composer) },\n get: { get: () => composer.get.bind(composer) },\n });\n\n return api;\n}\n\n@Component({\n selector: 'ngtp-effect-composer',\n standalone: true,\n template: `\n <ngt-group [ref]=\"composerRef\">\n <ng-content />\n </ngt-group>\n `,\n providers: [\n { provide: NGTP_EFFECT_COMPOSER_API, useFactory: effectComposerApiFactory, deps: [NgtpEffectComposer] },\n RxActionFactory,\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtpEffectComposer extends NgtRxStore implements OnInit {\n @Input() composerRef = injectNgtRef<Group>();\n\n @Input() set enabled(enabled: boolean) {\n this.set({ enabled });\n }\n\n @Input() set depthBuffer(depthBuffer: boolean) {\n this.set({ depthBuffer });\n }\n\n @Input() set disableNormalPass(disableNormalPass: boolean) {\n this.set({ disableNormalPass });\n }\n\n @Input() set stencilBuffer(stencilBuffer: boolean) {\n this.set({ stencilBuffer });\n }\n\n @Input() set autoClear(autoClear: boolean) {\n this.set({ autoClear });\n }\n\n @Input() set resolutionScale(resolutionScale: number) {\n this.set({ resolutionScale });\n }\n\n @Input() set multisampling(multisampling: number) {\n this.set({ multisampling });\n }\n\n @Input() set frameBufferType(frameBufferType: THREE.TextureDataType) {\n this.set({ frameBufferType });\n }\n\n @Input() set renderPriority(renderPriority: number) {\n this.set({ renderPriority });\n }\n\n @Input() set camera(camera: THREE.Camera) {\n this.set({ camera });\n }\n\n @Input() set scene(scene: THREE.Scene) {\n this.set({ scene });\n }\n\n override initialize(): void {\n super.initialize();\n this.set({\n enabled: true,\n renderPriority: 1,\n autoClear: true,\n multisampling: 0,\n frameBufferType: THREE.HalfFloatType,\n });\n }\n\n private readonly store = inject(NgtStore);\n private readonly actions = inject(RxActionFactory<{ setBeforeRender: void }>).create();\n\n ngOnInit() {\n this.connect(\n 'activeScene',\n combineLatest([this.store.select('scene'), this.select('scene').pipe(startWithUndefined())]).pipe(\n map(([defaultScene, scene]) => scene || defaultScene)\n )\n );\n\n this.connect(\n 'activeCamera',\n combineLatest([this.store.select('camera'), this.select('camera').pipe(startWithUndefined())]).pipe(\n map(([defaultCamera, camera]) => camera || defaultCamera)\n )\n );\n\n this.connect(\n 'entities',\n combineLatest([\n this.store.select('gl'),\n this.select('activeScene'),\n this.select('activeCamera'),\n this.select('multisampling'),\n this.select('frameBufferType'),\n this.select('depthBuffer').pipe(startWithUndefined()),\n this.select('stencilBuffer').pipe(startWithUndefined()),\n this.select('disableNormalPass').pipe(startWithUndefined()),\n this.select('resolutionScale').pipe(startWithUndefined()),\n ]).pipe(\n map(\n ([\n gl,\n scene,\n camera,\n multisampling,\n frameBufferType,\n depthBuffer,\n stencilBuffer,\n disableNormalPass,\n resolutionScale,\n ]) => {\n const webGL2Available = isWebGL2Available();\n // Initialize composer\n const effectComposer = new EffectComposer(gl, {\n depthBuffer,\n stencilBuffer,\n multisampling: multisampling > 0 && webGL2Available ? multisampling : 0,\n frameBufferType,\n });\n\n // Add render pass\n effectComposer.addPass(new RenderPass(scene, camera));\n\n // Create normal pass\n let downSamplingPass = null;\n let normalPass = null;\n if (!disableNormalPass) {\n normalPass = new NormalPass(scene, camera);\n normalPass.enabled = false;\n effectComposer.addPass(normalPass);\n if (resolutionScale !== undefined && webGL2Available) {\n downSamplingPass = new DepthDownsamplingPass({\n normalBuffer: normalPass.texture,\n resolutionScale,\n });\n downSamplingPass.enabled = false;\n effectComposer.addPass(downSamplingPass);\n }\n }\n\n return [effectComposer, normalPass, downSamplingPass];\n }\n )\n )\n );\n\n this.setComposerSize();\n this.setEffectPassed();\n this.setBeforeRender();\n }\n\n private setComposerSize() {\n this.hold(\n combineLatest([this.select('entities'), this.store.select('size')]),\n ([[composer], size]) => void (composer as EffectComposer).setSize(size.width, size.height)\n );\n }\n\n private setEffectPassed() {\n this.effect(\n combineLatest([\n this.select('entities'),\n this.select('activeCamera'),\n this.composerRef.children$('nonObjects'),\n ]),\n ([[composer, normalPass, downSamplingPass], camera, effects]) => {\n let effectPass: EffectPass;\n if (\n this.composerRef.nativeElement &&\n Object.keys(getLocalState(this.composerRef.nativeElement)).length &&\n composer\n ) {\n effectPass = new EffectPass(camera, ...effects);\n effectPass.renderToScreen = true;\n composer.addPass(effectPass);\n if (normalPass) normalPass.enabled = true;\n if (downSamplingPass) downSamplingPass.enabled = true;\n }\n\n return () => {\n if (effectPass) composer?.removePass(effectPass);\n if (normalPass) normalPass.enabled = false;\n if (downSamplingPass) downSamplingPass.enabled = false;\n };\n }\n );\n }\n\n private setBeforeRender() {\n const renderPriority = this.get('renderPriority');\n const enabled = this.get('enabled');\n this.effect(this.actions.setBeforeRender$, () =>\n this.store.get('internal').subscribe(\n ({ delta }) => {\n const [composer] = this.get('entities') || [];\n const enabled = this.get('enabled');\n const autoClear = this.get('autoClear');\n const gl = this.store.get('gl');\n if (composer && enabled) {\n gl.autoClear = autoClear;\n composer.render(delta);\n }\n },\n enabled ? renderPriority : 0\n )\n );\n this.actions.setBeforeRender();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"angular-three-postprocessing.mjs","sources":["../../../../libs/angular-three-postprocessing/src/lib/effect.ts","../../../../libs/angular-three-postprocessing/src/lib/effect-composer.ts","../../../../libs/angular-three-postprocessing/src/angular-three-postprocessing.ts"],"sourcesContent":["import { Directive, inject, Input, OnChanges, OnInit, reflectComponentType, SimpleChanges, Type } from '@angular/core';\nimport { NgtAnyRecord, NgtRxStore, NgtStore, startWithUndefined } from 'angular-three';\nimport { BlendFunction, Effect } from 'postprocessing';\nimport { combineLatest, Observable } from 'rxjs';\n\n@Directive()\nexport abstract class NgtpEffect<T extends Effect> extends NgtRxStore implements OnInit, OnChanges {\n @Input() set blendFunction(blendFunction: BlendFunction) {\n this.set({ blendFunction });\n }\n\n @Input() set opacity(opacity: number) {\n this.set({ opacity });\n }\n\n abstract get effectConstructor(): new (...args: any[]) => T;\n\n protected defaultBlendMode = BlendFunction.NORMAL;\n protected readonly store = inject(NgtStore);\n\n ngOnChanges(changes: SimpleChanges) {\n this.set((s) => ({\n ...s,\n ...simpleChangesToStateObject(changes, ['blendFunction', 'opacity']),\n }));\n }\n\n ngOnInit() {\n this.connect('effect', componentInputsToCombinedStream(this), (props) => {\n delete props['__ngt_dummy__'];\n delete props['effect'];\n return new this.effectConstructor(props);\n });\n this.configureBlendMode();\n }\n\n private configureBlendMode() {\n this.hold(\n combineLatest([\n this.select('effect'),\n this.select('blendFunction').pipe(startWithUndefined()),\n this.select('opacity').pipe(startWithUndefined()),\n ]),\n ([effect, blendFunction, opacity]) => {\n const invalidate = this.store.get('invalidate');\n effect.blendMode.blendFunction =\n !blendFunction && blendFunction !== 0 ? this.defaultBlendMode : blendFunction;\n if (opacity !== undefined) effect.blendMode.opacity.value = opacity;\n invalidate();\n }\n );\n }\n}\n\nexport function simpleChangesToStateObject(changes: SimpleChanges, keysToDelete: string[] = []) {\n for (const key of keysToDelete) {\n if (changes[key]) delete changes[key];\n }\n\n return Object.entries(changes).reduce((obj, [key, change]) => {\n obj[key] = change.currentValue;\n return obj;\n }, {} as NgtAnyRecord);\n}\n\nexport function componentInputsToCombinedStream(\n component: NgtRxStore,\n filterFn: (input: { propName: string; templateName: string }) => boolean = () => true\n): Observable<NgtAnyRecord> {\n const inputs =\n reflectComponentType(component.constructor as Type<any>)\n ?.inputs.filter(filterFn)\n .map((input) => input.propName) || [];\n\n return combineLatest(\n inputs.reduce((combined, input) => {\n let input$ = component.select(input);\n if (component.get(input) === undefined) {\n input$ = input$.pipe(startWithUndefined());\n }\n combined[input] = input$;\n return combined;\n }, {} as Record<string, Observable<any>>)\n );\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, InjectionToken, Input, OnInit } from '@angular/core';\nimport { RxActionFactory } from '@rx-angular/state/actions';\nimport { extend, getLocalState, injectNgtRef, NgtRef, NgtRxStore, NgtStore, startWithUndefined } from 'angular-three';\nimport { DepthDownsamplingPass, EffectComposer, EffectPass, NormalPass, RenderPass } from 'postprocessing';\nimport { combineLatest, map } from 'rxjs';\nimport * as THREE from 'three';\nimport { Group } from 'three';\nimport { isWebGL2Available } from 'three-stdlib';\n\nextend({ Group });\n\nexport interface NgtpEffectComposerApi {\n composer: EffectComposer;\n normalPass: NormalPass | null;\n depthPass: DepthDownsamplingPass | null;\n scene: THREE.Scene;\n camera: THREE.Camera;\n resolutionScale?: number;\n select: NgtpEffectComposer['select'];\n get: NgtpEffectComposer['get'];\n}\n\nexport const NGTP_EFFECT_COMPOSER_API = new InjectionToken<NgtpEffectComposerApi>('NgtpEffectComposer API');\n\nfunction effectComposerApiFactory(composer: NgtpEffectComposer) {\n const api = {} as NgtpEffectComposerApi;\n\n Object.defineProperties(api, {\n composer: { get: () => composer.get('entities')[0] },\n normalPass: { get: () => composer.get('entities')[1] },\n downSamplingPass: { get: () => composer.get('entities')[2] },\n resolutionScale: { get: () => composer.get('resolutionScale') },\n scene: { get: () => composer.get('activeScene') },\n camera: { get: () => composer.get('activeCamera') },\n select: { get: () => composer.select.bind(composer) },\n get: { get: () => composer.get.bind(composer) },\n });\n\n return api;\n}\n\n@Component({\n selector: 'ngtp-effect-composer',\n standalone: true,\n template: `\n <ngt-group *ref=\"composerRef\">\n <ng-content />\n </ngt-group>\n `,\n providers: [\n { provide: NGTP_EFFECT_COMPOSER_API, useFactory: effectComposerApiFactory, deps: [NgtpEffectComposer] },\n RxActionFactory,\n ],\n imports: [NgtRef],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NgtpEffectComposer extends NgtRxStore implements OnInit {\n @Input() composerRef = injectNgtRef<Group>();\n\n @Input() set enabled(enabled: boolean) {\n this.set({ enabled });\n }\n\n @Input() set depthBuffer(depthBuffer: boolean) {\n this.set({ depthBuffer });\n }\n\n @Input() set disableNormalPass(disableNormalPass: boolean) {\n this.set({ disableNormalPass });\n }\n\n @Input() set stencilBuffer(stencilBuffer: boolean) {\n this.set({ stencilBuffer });\n }\n\n @Input() set autoClear(autoClear: boolean) {\n this.set({ autoClear });\n }\n\n @Input() set resolutionScale(resolutionScale: number) {\n this.set({ resolutionScale });\n }\n\n @Input() set multisampling(multisampling: number) {\n this.set({ multisampling });\n }\n\n @Input() set frameBufferType(frameBufferType: THREE.TextureDataType) {\n this.set({ frameBufferType });\n }\n\n @Input() set renderPriority(renderPriority: number) {\n this.set({ renderPriority });\n }\n\n @Input() set camera(camera: THREE.Camera) {\n this.set({ camera });\n }\n\n @Input() set scene(scene: THREE.Scene) {\n this.set({ scene });\n }\n\n override initialize(): void {\n super.initialize();\n this.set({\n enabled: true,\n renderPriority: 1,\n autoClear: true,\n multisampling: 0,\n frameBufferType: THREE.HalfFloatType,\n });\n }\n\n private readonly store = inject(NgtStore);\n private readonly actions = inject(RxActionFactory<{ setBeforeRender: void }>).create();\n\n ngOnInit() {\n this.connect(\n 'activeScene',\n combineLatest([this.store.select('scene'), this.select('scene').pipe(startWithUndefined())]).pipe(\n map(([defaultScene, scene]) => scene || defaultScene)\n )\n );\n\n this.connect(\n 'activeCamera',\n combineLatest([this.store.select('camera'), this.select('camera').pipe(startWithUndefined())]).pipe(\n map(([defaultCamera, camera]) => camera || defaultCamera)\n )\n );\n\n this.connect(\n 'entities',\n combineLatest([\n this.store.select('gl'),\n this.select('activeScene'),\n this.select('activeCamera'),\n this.select('multisampling'),\n this.select('frameBufferType'),\n this.select('depthBuffer').pipe(startWithUndefined()),\n this.select('stencilBuffer').pipe(startWithUndefined()),\n this.select('disableNormalPass').pipe(startWithUndefined()),\n this.select('resolutionScale').pipe(startWithUndefined()),\n ]).pipe(\n map(\n ([\n gl,\n scene,\n camera,\n multisampling,\n frameBufferType,\n depthBuffer,\n stencilBuffer,\n disableNormalPass,\n resolutionScale,\n ]) => {\n const webGL2Available = isWebGL2Available();\n // Initialize composer\n const effectComposer = new EffectComposer(gl, {\n depthBuffer,\n stencilBuffer,\n multisampling: multisampling > 0 && webGL2Available ? multisampling : 0,\n frameBufferType,\n });\n\n // Add render pass\n effectComposer.addPass(new RenderPass(scene, camera));\n\n // Create normal pass\n let downSamplingPass = null;\n let normalPass = null;\n if (!disableNormalPass) {\n normalPass = new NormalPass(scene, camera);\n normalPass.enabled = false;\n effectComposer.addPass(normalPass);\n if (resolutionScale !== undefined && webGL2Available) {\n downSamplingPass = new DepthDownsamplingPass({\n normalBuffer: normalPass.texture,\n resolutionScale,\n });\n downSamplingPass.enabled = false;\n effectComposer.addPass(downSamplingPass);\n }\n }\n\n return [effectComposer, normalPass, downSamplingPass];\n }\n )\n )\n );\n\n this.setComposerSize();\n this.setEffectPassed();\n this.setBeforeRender();\n }\n\n private setComposerSize() {\n this.hold(\n combineLatest([this.select('entities'), this.store.select('size')]),\n ([[composer], size]) => void (composer as EffectComposer).setSize(size.width, size.height)\n );\n }\n\n private setEffectPassed() {\n this.effect(\n combineLatest([\n this.select('entities'),\n this.select('activeCamera'),\n this.composerRef.children$('nonObjects'),\n ]),\n ([[composer, normalPass, downSamplingPass], camera, effects]) => {\n let effectPass: EffectPass;\n if (\n this.composerRef.nativeElement &&\n Object.keys(getLocalState(this.composerRef.nativeElement)).length &&\n composer\n ) {\n effectPass = new EffectPass(camera, ...effects);\n effectPass.renderToScreen = true;\n composer.addPass(effectPass);\n if (normalPass) normalPass.enabled = true;\n if (downSamplingPass) downSamplingPass.enabled = true;\n }\n\n return () => {\n if (effectPass) composer?.removePass(effectPass);\n if (normalPass) normalPass.enabled = false;\n if (downSamplingPass) downSamplingPass.enabled = false;\n };\n }\n );\n }\n\n private setBeforeRender() {\n const renderPriority = this.get('renderPriority');\n const enabled = this.get('enabled');\n this.effect(this.actions.setBeforeRender$, () =>\n this.store.get('internal').subscribe(\n ({ delta }) => {\n const [composer] = this.get('entities') || [];\n const enabled = this.get('enabled');\n const autoClear = this.get('autoClear');\n const gl = this.store.get('gl');\n if (composer && enabled) {\n gl.autoClear = autoClear;\n composer.render(delta);\n }\n },\n enabled ? renderPriority : 0\n )\n );\n this.actions.setBeforeRender();\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, Input } from '@angular/core';
3
- import { NgtArgs, NgtRxStore, NgtStore, injectNgtRef, startWithUndefined } from 'angular-three';
3
+ import { NgtArgs, NgtRxStore, NgtStore, injectNgtRef, startWithUndefined, NgtRef } from 'angular-three';
4
4
  import { NgtpEffect, simpleChangesToStateObject, componentInputsToCombinedStream, NGTP_EFFECT_COMPOSER_API } from 'angular-three-postprocessing';
5
5
  import { BlendFunction, BloomEffect, BrightnessContrastEffect, ColorDepthEffect, DepthEffect, DotScreenEffect, HueSaturationEffect, LUT3DEffect, NoiseEffect, ScanlineEffect, SepiaEffect, SSAOEffect, TiltShiftEffect, ToneMappingEffect, VignetteEffect } from 'postprocessing';
6
6
  import { combineLatest, map } from 'rxjs';
@@ -14,11 +14,11 @@ class NgtpBloom extends NgtpEffect {
14
14
  return BloomEffect;
15
15
  }
16
16
  }
17
- NgtpBloom.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtpBloom, deps: null, target: i0.ɵɵFactoryTarget.Component });
18
- NgtpBloom.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NgtpBloom, isStandalone: true, selector: "ngtp-bloom", inputs: { mipmapBlur: "mipmapBlur", luminanceThreshold: "luminanceThreshold", luminanceSmoothing: "luminanceSmoothing", intensity: "intensity", resolutionScale: "resolutionScale", resolutionX: "resolutionX", resolutionY: "resolutionY", width: "width", height: "height", kernelSize: "kernelSize" }, usesInheritance: true, ngImport: i0, template: `
17
+ NgtpBloom.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpBloom, deps: null, target: i0.ɵɵFactoryTarget.Component });
18
+ NgtpBloom.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtpBloom, isStandalone: true, selector: "ngtp-bloom", inputs: { mipmapBlur: "mipmapBlur", luminanceThreshold: "luminanceThreshold", luminanceSmoothing: "luminanceSmoothing", intensity: "intensity", resolutionScale: "resolutionScale", resolutionX: "resolutionX", resolutionY: "resolutionY", width: "width", height: "height", kernelSize: "kernelSize" }, usesInheritance: true, ngImport: i0, template: `
19
19
  <ngt-primitive *args="[get('effect')]" ngtCompound />
20
20
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
21
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtpBloom, decorators: [{
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpBloom, decorators: [{
22
22
  type: Component,
23
23
  args: [{
24
24
  selector: 'ngtp-bloom',
@@ -48,11 +48,11 @@ class NgtpBrightnessContrast extends NgtpEffect {
48
48
  return BrightnessContrastEffect;
49
49
  }
50
50
  }
51
- NgtpBrightnessContrast.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtpBrightnessContrast, deps: null, target: i0.ɵɵFactoryTarget.Component });
52
- NgtpBrightnessContrast.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NgtpBrightnessContrast, isStandalone: true, selector: "ngtp-brightness-contrast", inputs: { brightness: "brightness", contrast: "contrast" }, usesInheritance: true, ngImport: i0, template: `
51
+ NgtpBrightnessContrast.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpBrightnessContrast, deps: null, target: i0.ɵɵFactoryTarget.Component });
52
+ NgtpBrightnessContrast.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtpBrightnessContrast, isStandalone: true, selector: "ngtp-brightness-contrast", inputs: { brightness: "brightness", contrast: "contrast" }, usesInheritance: true, ngImport: i0, template: `
53
53
  <ngt-primitive *args="[get('effect')]" ngtCompound />
54
54
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
55
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtpBrightnessContrast, decorators: [{
55
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpBrightnessContrast, decorators: [{
56
56
  type: Component,
57
57
  args: [{
58
58
  selector: 'ngtp-brightness-contrast',
@@ -71,11 +71,11 @@ class NgtpColorDepth extends NgtpEffect {
71
71
  return ColorDepthEffect;
72
72
  }
73
73
  }
74
- NgtpColorDepth.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtpColorDepth, deps: null, target: i0.ɵɵFactoryTarget.Component });
75
- NgtpColorDepth.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NgtpColorDepth, isStandalone: true, selector: "ngtp-color-depth", inputs: { bits: "bits" }, usesInheritance: true, ngImport: i0, template: `
74
+ NgtpColorDepth.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpColorDepth, deps: null, target: i0.ɵɵFactoryTarget.Component });
75
+ NgtpColorDepth.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtpColorDepth, isStandalone: true, selector: "ngtp-color-depth", inputs: { bits: "bits" }, usesInheritance: true, ngImport: i0, template: `
76
76
  <ngt-primitive *args="[get('effect')]" ngtCompound />
77
77
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtpColorDepth, decorators: [{
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpColorDepth, decorators: [{
79
79
  type: Component,
80
80
  args: [{
81
81
  selector: 'ngtp-color-depth',
@@ -94,11 +94,11 @@ class NgtpDepth extends NgtpEffect {
94
94
  return DepthEffect;
95
95
  }
96
96
  }
97
- NgtpDepth.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtpDepth, deps: null, target: i0.ɵɵFactoryTarget.Component });
98
- NgtpDepth.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NgtpDepth, isStandalone: true, selector: "ngtp-depth", inputs: { inverted: "inverted" }, usesInheritance: true, ngImport: i0, template: `
97
+ NgtpDepth.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpDepth, deps: null, target: i0.ɵɵFactoryTarget.Component });
98
+ NgtpDepth.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtpDepth, isStandalone: true, selector: "ngtp-depth", inputs: { inverted: "inverted" }, usesInheritance: true, ngImport: i0, template: `
99
99
  <ngt-primitive *args="[get('effect')]" ngtCompound />
100
100
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtpDepth, decorators: [{
101
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpDepth, decorators: [{
102
102
  type: Component,
103
103
  args: [{
104
104
  selector: 'ngtp-depth',
@@ -117,11 +117,11 @@ class NgtpDotScreen extends NgtpEffect {
117
117
  return DotScreenEffect;
118
118
  }
119
119
  }
120
- NgtpDotScreen.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtpDotScreen, deps: null, target: i0.ɵɵFactoryTarget.Component });
121
- NgtpDotScreen.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NgtpDotScreen, isStandalone: true, selector: "ngtp-dot-screen", inputs: { angle: "angle", scale: "scale" }, usesInheritance: true, ngImport: i0, template: `
120
+ NgtpDotScreen.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpDotScreen, deps: null, target: i0.ɵɵFactoryTarget.Component });
121
+ NgtpDotScreen.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtpDotScreen, isStandalone: true, selector: "ngtp-dot-screen", inputs: { angle: "angle", scale: "scale" }, usesInheritance: true, ngImport: i0, template: `
122
122
  <ngt-primitive *args="[get('effect')]" ngtCompound />
123
123
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
124
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtpDotScreen, decorators: [{
124
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpDotScreen, decorators: [{
125
125
  type: Component,
126
126
  args: [{
127
127
  selector: 'ngtp-dot-screen',
@@ -140,11 +140,11 @@ class NgtpHueSaturation extends NgtpEffect {
140
140
  return HueSaturationEffect;
141
141
  }
142
142
  }
143
- NgtpHueSaturation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtpHueSaturation, deps: null, target: i0.ɵɵFactoryTarget.Component });
144
- NgtpHueSaturation.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NgtpHueSaturation, isStandalone: true, selector: "ngtp-hue-saturation", inputs: { hue: "hue", saturation: "saturation" }, usesInheritance: true, ngImport: i0, template: `
143
+ NgtpHueSaturation.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpHueSaturation, deps: null, target: i0.ɵɵFactoryTarget.Component });
144
+ NgtpHueSaturation.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtpHueSaturation, isStandalone: true, selector: "ngtp-hue-saturation", inputs: { hue: "hue", saturation: "saturation" }, usesInheritance: true, ngImport: i0, template: `
145
145
  <ngt-primitive *args="[get('effect')]" ngtCompound />
146
146
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtpHueSaturation, decorators: [{
147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpHueSaturation, decorators: [{
148
148
  type: Component,
149
149
  args: [{
150
150
  selector: 'ngtp-hue-saturation',
@@ -189,19 +189,23 @@ class NgtpLUT extends NgtRxStore {
189
189
  });
190
190
  }
191
191
  }
192
- NgtpLUT.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtpLUT, deps: null, target: i0.ɵɵFactoryTarget.Component });
193
- NgtpLUT.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NgtpLUT, isStandalone: true, selector: "ngtp-lut", inputs: { blendFunction: "blendFunction", tetrahedralInterpolation: "tetrahedralInterpolation", lutRef: "lutRef", lut: "lut" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
194
- <ngt-primitive *args="[get('effect')]" [ref]="lutRef" />
195
- `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
196
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtpLUT, decorators: [{
192
+ NgtpLUT.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpLUT, deps: null, target: i0.ɵɵFactoryTarget.Component });
193
+ NgtpLUT.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtpLUT, isStandalone: true, selector: "ngtp-lut", inputs: { blendFunction: "blendFunction", tetrahedralInterpolation: "tetrahedralInterpolation", lutRef: "lutRef", lut: "lut" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
194
+ <ng-container *args="[get('effect')]">
195
+ <ngt-primitive *ref="lutRef" />
196
+ </ng-container>
197
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }, { kind: "directive", type: NgtRef, selector: "[ref]", inputs: ["ref"] }] });
198
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpLUT, decorators: [{
197
199
  type: Component,
198
200
  args: [{
199
201
  selector: 'ngtp-lut',
200
202
  standalone: true,
201
203
  template: `
202
- <ngt-primitive *args="[get('effect')]" [ref]="lutRef" />
204
+ <ng-container *args="[get('effect')]">
205
+ <ngt-primitive *ref="lutRef" />
206
+ </ng-container>
203
207
  `,
204
- imports: [NgtArgs],
208
+ imports: [NgtArgs, NgtRef],
205
209
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
206
210
  inputs: ['blendFunction', 'tetrahedralInterpolation'],
207
211
  }]
@@ -220,11 +224,11 @@ class NgtpNoise extends NgtpEffect {
220
224
  return NoiseEffect;
221
225
  }
222
226
  }
223
- NgtpNoise.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtpNoise, deps: null, target: i0.ɵɵFactoryTarget.Component });
224
- NgtpNoise.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NgtpNoise, isStandalone: true, selector: "ngtp-noise", inputs: { premultiply: "premultiply" }, usesInheritance: true, ngImport: i0, template: `
227
+ NgtpNoise.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpNoise, deps: null, target: i0.ɵɵFactoryTarget.Component });
228
+ NgtpNoise.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtpNoise, isStandalone: true, selector: "ngtp-noise", inputs: { premultiply: "premultiply" }, usesInheritance: true, ngImport: i0, template: `
225
229
  <ngt-primitive *args="[get('effect')]" ngtCompound />
226
230
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
227
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtpNoise, decorators: [{
231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpNoise, decorators: [{
228
232
  type: Component,
229
233
  args: [{
230
234
  selector: 'ngtp-noise',
@@ -247,11 +251,11 @@ class NgtpScanline extends NgtpEffect {
247
251
  return ScanlineEffect;
248
252
  }
249
253
  }
250
- NgtpScanline.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtpScanline, deps: null, target: i0.ɵɵFactoryTarget.Component });
251
- NgtpScanline.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NgtpScanline, isStandalone: true, selector: "ngtp-scanline", inputs: { density: "density" }, usesInheritance: true, ngImport: i0, template: `
254
+ NgtpScanline.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpScanline, deps: null, target: i0.ɵɵFactoryTarget.Component });
255
+ NgtpScanline.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtpScanline, isStandalone: true, selector: "ngtp-scanline", inputs: { density: "density" }, usesInheritance: true, ngImport: i0, template: `
252
256
  <ngt-primitive *args="[get('effect')]" ngtCompound />
253
257
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
254
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtpScanline, decorators: [{
258
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpScanline, decorators: [{
255
259
  type: Component,
256
260
  args: [{
257
261
  selector: 'ngtp-scanline',
@@ -270,11 +274,11 @@ class NgtpSepia extends NgtpEffect {
270
274
  return SepiaEffect;
271
275
  }
272
276
  }
273
- NgtpSepia.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtpSepia, deps: null, target: i0.ɵɵFactoryTarget.Component });
274
- NgtpSepia.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NgtpSepia, isStandalone: true, selector: "ngtp-sepia", inputs: { intensity: "intensity" }, usesInheritance: true, ngImport: i0, template: `
277
+ NgtpSepia.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpSepia, deps: null, target: i0.ɵɵFactoryTarget.Component });
278
+ NgtpSepia.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtpSepia, isStandalone: true, selector: "ngtp-sepia", inputs: { intensity: "intensity" }, usesInheritance: true, ngImport: i0, template: `
275
279
  <ngt-primitive *args="[get('effect')]" ngtCompound />
276
280
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
277
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtpSepia, decorators: [{
281
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpSepia, decorators: [{
278
282
  type: Component,
279
283
  args: [{
280
284
  selector: 'ngtp-sepia',
@@ -336,19 +340,23 @@ class NgtpSSAO extends NgtRxStore {
336
340
  })));
337
341
  }
338
342
  }
339
- NgtpSSAO.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtpSSAO, deps: null, target: i0.ɵɵFactoryTarget.Component });
340
- NgtpSSAO.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NgtpSSAO, isStandalone: true, selector: "ngtp-ssao", inputs: { blendFunction: "blendFunction", distanceScaling: "distanceScaling", depthAwareUpsampling: "depthAwareUpsampling", normalDepthBuffer: "normalDepthBuffer", samples: "samples", rings: "rings", worldDistanceThreshold: "worldDistanceThreshold", worldDistanceFalloff: "worldDistanceFalloff", worldProximityThreshold: "worldProximityThreshold", worldProximityFalloff: "worldProximityFalloff", distanceThreshold: "distanceThreshold", distanceFalloff: "distanceFalloff", rangeThreshold: "rangeThreshold", rangeFalloff: "rangeFalloff", minRadiusScale: "minRadiusScale", luminanceInfluence: "luminanceInfluence", radius: "radius", intensity: "intensity", bias: "bias", fade: "fade", color: "color", resolutionScale: "resolutionScale", resolutionX: "resolutionX", resolutionY: "resolutionY", width: "width", height: "height", ssaoRef: "ssaoRef" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
341
- <ngt-primitive *args="[get('effect')]" [ref]="ssaoRef" />
342
- `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
343
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtpSSAO, decorators: [{
343
+ NgtpSSAO.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpSSAO, deps: null, target: i0.ɵɵFactoryTarget.Component });
344
+ NgtpSSAO.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtpSSAO, isStandalone: true, selector: "ngtp-ssao", inputs: { blendFunction: "blendFunction", distanceScaling: "distanceScaling", depthAwareUpsampling: "depthAwareUpsampling", normalDepthBuffer: "normalDepthBuffer", samples: "samples", rings: "rings", worldDistanceThreshold: "worldDistanceThreshold", worldDistanceFalloff: "worldDistanceFalloff", worldProximityThreshold: "worldProximityThreshold", worldProximityFalloff: "worldProximityFalloff", distanceThreshold: "distanceThreshold", distanceFalloff: "distanceFalloff", rangeThreshold: "rangeThreshold", rangeFalloff: "rangeFalloff", minRadiusScale: "minRadiusScale", luminanceInfluence: "luminanceInfluence", radius: "radius", intensity: "intensity", bias: "bias", fade: "fade", color: "color", resolutionScale: "resolutionScale", resolutionX: "resolutionX", resolutionY: "resolutionY", width: "width", height: "height", ssaoRef: "ssaoRef" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
345
+ <ng-container *args="[get('effect')]">
346
+ <ngt-primitive *ref="ssaoRef" />
347
+ </ng-container>
348
+ `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }, { kind: "directive", type: NgtRef, selector: "[ref]", inputs: ["ref"] }] });
349
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpSSAO, decorators: [{
344
350
  type: Component,
345
351
  args: [{
346
352
  selector: 'ngtp-ssao',
347
353
  standalone: true,
348
354
  template: `
349
- <ngt-primitive *args="[get('effect')]" [ref]="ssaoRef" />
355
+ <ng-container *args="[get('effect')]">
356
+ <ngt-primitive *ref="ssaoRef" />
357
+ </ng-container>
350
358
  `,
351
- imports: [NgtArgs],
359
+ imports: [NgtArgs, NgtRef],
352
360
  schemas: [CUSTOM_ELEMENTS_SCHEMA],
353
361
  inputs: [
354
362
  'blendFunction',
@@ -392,11 +400,11 @@ class NgtpTiltShift extends NgtpEffect {
392
400
  return TiltShiftEffect;
393
401
  }
394
402
  }
395
- NgtpTiltShift.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtpTiltShift, deps: null, target: i0.ɵɵFactoryTarget.Component });
396
- NgtpTiltShift.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NgtpTiltShift, isStandalone: true, selector: "ngtp-tilt-shift", inputs: { offset: "offset", rotation: "rotation", focusArea: "focusArea", feather: "feather", bias: "bias", kernelSize: "kernelSize", resolutionScale: "resolutionScale", resolutionX: "resolutionX", resolutionY: "resolutionY" }, usesInheritance: true, ngImport: i0, template: `
403
+ NgtpTiltShift.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpTiltShift, deps: null, target: i0.ɵɵFactoryTarget.Component });
404
+ NgtpTiltShift.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtpTiltShift, isStandalone: true, selector: "ngtp-tilt-shift", inputs: { offset: "offset", rotation: "rotation", focusArea: "focusArea", feather: "feather", bias: "bias", kernelSize: "kernelSize", resolutionScale: "resolutionScale", resolutionX: "resolutionX", resolutionY: "resolutionY" }, usesInheritance: true, ngImport: i0, template: `
397
405
  <ngt-primitive *args="[get('effect')]" ngtCompound />
398
406
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
399
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtpTiltShift, decorators: [{
407
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpTiltShift, decorators: [{
400
408
  type: Component,
401
409
  args: [{
402
410
  selector: 'ngtp-tilt-shift',
@@ -425,11 +433,11 @@ class NgtpToneMapping extends NgtpEffect {
425
433
  return ToneMappingEffect;
426
434
  }
427
435
  }
428
- NgtpToneMapping.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtpToneMapping, deps: null, target: i0.ɵɵFactoryTarget.Component });
429
- NgtpToneMapping.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NgtpToneMapping, isStandalone: true, selector: "ngtp-tone-mapping", inputs: { adaptive: "adaptive", mode: "mode", resolution: "resolution", maxLuminance: "maxLuminance", whitePoint: "whitePoint", middleGrey: "middleGrey", minLuminance: "minLuminance", averageLuminance: "averageLuminance", adaptationRate: "adaptationRate" }, usesInheritance: true, ngImport: i0, template: `
436
+ NgtpToneMapping.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpToneMapping, deps: null, target: i0.ɵɵFactoryTarget.Component });
437
+ NgtpToneMapping.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtpToneMapping, isStandalone: true, selector: "ngtp-tone-mapping", inputs: { adaptive: "adaptive", mode: "mode", resolution: "resolution", maxLuminance: "maxLuminance", whitePoint: "whitePoint", middleGrey: "middleGrey", minLuminance: "minLuminance", averageLuminance: "averageLuminance", adaptationRate: "adaptationRate" }, usesInheritance: true, ngImport: i0, template: `
430
438
  <ngt-primitive *args="[get('effect')]" ngtCompound />
431
439
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
432
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtpToneMapping, decorators: [{
440
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpToneMapping, decorators: [{
433
441
  type: Component,
434
442
  args: [{
435
443
  selector: 'ngtp-tone-mapping',
@@ -458,11 +466,11 @@ class NgtpVignette extends NgtpEffect {
458
466
  return VignetteEffect;
459
467
  }
460
468
  }
461
- NgtpVignette.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtpVignette, deps: null, target: i0.ɵɵFactoryTarget.Component });
462
- NgtpVignette.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.2", type: NgtpVignette, isStandalone: true, selector: "ngtp-vignette", inputs: { technique: "technique", eskil: "eskil", offset: "offset", darkness: "darkness" }, usesInheritance: true, ngImport: i0, template: `
469
+ NgtpVignette.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpVignette, deps: null, target: i0.ɵɵFactoryTarget.Component });
470
+ NgtpVignette.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.3", type: NgtpVignette, isStandalone: true, selector: "ngtp-vignette", inputs: { technique: "technique", eskil: "eskil", offset: "offset", darkness: "darkness" }, usesInheritance: true, ngImport: i0, template: `
463
471
  <ngt-primitive *args="[get('effect')]" ngtCompound />
464
472
  `, isInline: true, dependencies: [{ kind: "directive", type: NgtArgs, selector: "[args]", inputs: ["args"] }] });
465
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: NgtpVignette, decorators: [{
473
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.3", ngImport: i0, type: NgtpVignette, decorators: [{
466
474
  type: Component,
467
475
  args: [{
468
476
  selector: 'ngtp-vignette',
@@ -1 +1 @@
1
- {"version":3,"file":"angular-three-postprocessing-effects.mjs","sources":["../../../../libs/angular-three-postprocessing/effects/src/lib/bloom/bloom.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/brightness-contrast/brightness-contrast.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/color-depth/color-depth.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/depth/depth.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/dot-screen/dot-screen.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/hue-saturation/hue-saturation.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/lut/lut.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/noise/noise.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/scanline/scanline.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/sepia/sepia.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/ssao/ssao.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/tilt-shift/tilt-shift.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/tone-mapping/tone-mapping.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/vignette/vignette.ts","../../../../libs/angular-three-postprocessing/effects/src/angular-three-postprocessing-effects.ts"],"sourcesContent":["import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BlendFunction, BloomEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-bloom',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: [\n 'mipmapBlur',\n 'luminanceThreshold',\n 'luminanceSmoothing',\n 'intensity',\n 'resolutionScale',\n 'resolutionX',\n 'resolutionY',\n 'width',\n 'height',\n 'kernelSize',\n ],\n})\nexport class NgtpBloom extends NgtpEffect<BloomEffect> {\n override get effectConstructor() {\n return BloomEffect;\n }\n\n override defaultBlendMode: BlendFunction = BlendFunction.ADD;\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BrightnessContrastEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-brightness-contrast',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['brightness', 'contrast'],\n})\nexport class NgtpBrightnessContrast extends NgtpEffect<BrightnessContrastEffect> {\n override get effectConstructor() {\n return BrightnessContrastEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { ColorDepthEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-color-depth',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['bits'],\n})\nexport class NgtpColorDepth extends NgtpEffect<ColorDepthEffect> {\n override get effectConstructor() {\n return ColorDepthEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { DepthEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-depth',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['inverted'],\n})\nexport class NgtpDepth extends NgtpEffect<DepthEffect> {\n override get effectConstructor() {\n return DepthEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { DotScreenEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-dot-screen',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['angle', 'scale'],\n})\nexport class NgtpDotScreen extends NgtpEffect<DotScreenEffect> {\n override get effectConstructor() {\n return DotScreenEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { HueSaturationEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-hue-saturation',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['hue', 'saturation'],\n})\nexport class NgtpHueSaturation extends NgtpEffect<HueSaturationEffect> {\n override get effectConstructor() {\n return HueSaturationEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { injectNgtRef, NgtArgs, NgtRxStore, NgtStore, startWithUndefined } from 'angular-three';\nimport { componentInputsToCombinedStream, simpleChangesToStateObject } from 'angular-three-postprocessing';\nimport { LUT3DEffect } from 'postprocessing';\nimport { combineLatest, map } from 'rxjs';\n\n@Component({\n selector: 'ngtp-lut',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" [ref]=\"lutRef\" />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['blendFunction', 'tetrahedralInterpolation'],\n})\nexport class NgtpLUT extends NgtRxStore implements OnInit, OnChanges {\n private readonly store = inject(NgtStore);\n\n @Input() lutRef = injectNgtRef<LUT3DEffect>();\n\n @Input() set lut(lut: THREE.Texture) {\n this.set({ lut });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.set((s) => ({ ...s, ...simpleChangesToStateObject(changes, ['lutRef', 'lut']) }));\n }\n\n ngOnInit() {\n this.connect(\n 'effect',\n combineLatest([\n this.select('lut'),\n componentInputsToCombinedStream(\n this,\n (input) => input.propName !== 'lutRef' && input.propName !== 'lut'\n ),\n ]).pipe(map(([lut, props]) => new LUT3DEffect(lut, props)))\n );\n\n this.hold(\n combineLatest([\n this.select('lut'),\n this.select('effect'),\n this.select('tetrahedralInterpolation').pipe(startWithUndefined()),\n ]),\n ([lut, effect, tetrahedralInterpolation]) => {\n const invalidate = this.store.get('invalidate');\n if (lut) effect.lut = lut;\n if (tetrahedralInterpolation) effect.tetrahedralInterpolation = tetrahedralInterpolation;\n invalidate();\n }\n );\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BlendFunction, NoiseEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-noise',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['premultiply'],\n})\nexport class NgtpNoise extends NgtpEffect<NoiseEffect> {\n override get effectConstructor() {\n return NoiseEffect;\n }\n\n override defaultBlendMode: BlendFunction = BlendFunction.COLOR_DODGE;\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BlendFunction, ScanlineEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-scanline',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['density'],\n})\nexport class NgtpScanline extends NgtpEffect<ScanlineEffect> {\n override get effectConstructor() {\n return ScanlineEffect;\n }\n\n override defaultBlendMode: BlendFunction = BlendFunction.OVERLAY;\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { SepiaEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-sepia',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['intensity'],\n})\nexport class NgtpSepia extends NgtpEffect<SepiaEffect> {\n override get effectConstructor() {\n return SepiaEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { injectNgtRef, NgtArgs, NgtRxStore } from 'angular-three';\nimport {\n componentInputsToCombinedStream,\n NGTP_EFFECT_COMPOSER_API,\n simpleChangesToStateObject,\n} from 'angular-three-postprocessing';\nimport { BlendFunction, SSAOEffect } from 'postprocessing';\nimport { combineLatest, map } from 'rxjs';\n\n@Component({\n selector: 'ngtp-ssao',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" [ref]=\"ssaoRef\" />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: [\n 'blendFunction',\n 'distanceScaling',\n 'depthAwareUpsampling',\n 'normalDepthBuffer',\n 'samples',\n 'rings',\n 'worldDistanceThreshold',\n 'worldDistanceFalloff',\n 'worldProximityThreshold',\n 'worldProximityFalloff',\n 'distanceThreshold',\n 'distanceFalloff',\n 'rangeThreshold',\n 'rangeFalloff',\n 'minRadiusScale',\n 'luminanceInfluence',\n 'radius',\n 'intensity',\n 'bias',\n 'fade',\n 'color',\n 'resolutionScale',\n 'resolutionX',\n 'resolutionY',\n 'width',\n 'height',\n ],\n})\nexport class NgtpSSAO extends NgtRxStore implements OnInit, OnChanges {\n private readonly effectComposerApi = inject(NGTP_EFFECT_COMPOSER_API);\n\n @Input() ssaoRef = injectNgtRef<SSAOEffect>();\n\n override initialize(): void {\n super.initialize();\n this.set({\n blendFunction: BlendFunction.MULTIPLY,\n samples: 30,\n rings: 4,\n distanceThreshold: 1.0,\n distanceFalloff: 0.0,\n rangeThreshold: 0.5,\n rangeFalloff: 0.1,\n luminanceInfluence: 0.9,\n radius: 20,\n scale: 0.5,\n bias: 0.5,\n intensity: 1.0,\n color: null!,\n depthAwareUpsampling: true,\n });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.set((s) => ({\n ...s,\n ...simpleChangesToStateObject(changes, ['ssaoRef']),\n }));\n }\n\n ngOnInit() {\n this.connect(\n 'effect',\n combineLatest([\n this.effectComposerApi.select('entities'),\n this.effectComposerApi.select('activeCamera'),\n componentInputsToCombinedStream(this, (input) => input.propName !== 'ssaoRef'),\n ]).pipe(\n map(([[, normalPass, downSamplingPass], camera, props]) => {\n const { resolutionScale } = this.effectComposerApi;\n\n if (props['normalDepthBuffer'] === undefined) {\n props['normalDepthBuffer'] = downSamplingPass ? downSamplingPass.texture : null;\n }\n\n if (props['resolutionScale'] === undefined) {\n props['resolutionScale'] = resolutionScale ?? 1;\n }\n\n return new SSAOEffect(\n camera,\n normalPass && !downSamplingPass ? normalPass.texture : null,\n props as ConstructorParameters<typeof SSAOEffect>[2]\n );\n })\n )\n );\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BlendFunction, TiltShiftEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-tilt-shift',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: [\n 'offset',\n 'rotation',\n 'focusArea',\n 'feather',\n 'bias',\n 'kernelSize',\n 'resolutionScale',\n 'resolutionX',\n 'resolutionY',\n ],\n})\nexport class NgtpTiltShift extends NgtpEffect<TiltShiftEffect> {\n override get effectConstructor() {\n return TiltShiftEffect;\n }\n\n override defaultBlendMode: BlendFunction = BlendFunction.ADD;\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { ToneMappingEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-tone-mapping',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: [\n 'adaptive',\n 'mode',\n 'resolution',\n 'maxLuminance',\n 'whitePoint',\n 'middleGrey',\n 'minLuminance',\n 'averageLuminance',\n 'adaptationRate',\n ],\n})\nexport class NgtpToneMapping extends NgtpEffect<ToneMappingEffect> {\n override get effectConstructor() {\n return ToneMappingEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { VignetteEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-vignette',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['technique', 'eskil', 'offset', 'darkness'],\n})\nexport class NgtpVignette extends NgtpEffect<VignetteEffect> {\n override get effectConstructor() {\n return VignetteEffect;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AA0BM,MAAO,SAAU,SAAQ,UAAuB,CAAA;AArBtD,IAAA,WAAA,GAAA;;AA0Ba,QAAA,IAAA,CAAA,gBAAgB,GAAkB,aAAa,CAAC,GAAG,CAAC;AAChE,KAAA;AALG,IAAA,IAAa,iBAAiB,GAAA;AAC1B,QAAA,OAAO,WAAW,CAAC;KACtB;;sGAHQ,SAAS,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAT,SAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,SAAS,EAlBR,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACS,OAAO,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAeR,SAAS,EAAA,UAAA,EAAA,CAAA;kBArBrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;AAET,IAAA,CAAA;oBACD,OAAO,EAAE,CAAC,OAAO,CAAC;oBAClB,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,MAAM,EAAE;wBACJ,YAAY;wBACZ,oBAAoB;wBACpB,oBAAoB;wBACpB,WAAW;wBACX,iBAAiB;wBACjB,aAAa;wBACb,aAAa;wBACb,OAAO;wBACP,QAAQ;wBACR,YAAY;AACf,qBAAA;AACJ,iBAAA,CAAA;;;ACVK,MAAO,sBAAuB,SAAQ,UAAoC,CAAA;AAC5E,IAAA,IAAa,iBAAiB,GAAA;AAC1B,QAAA,OAAO,wBAAwB,CAAC;KACnC;;mHAHQ,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EAPrB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACS,OAAO,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAIR,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAVlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;AAET,IAAA,CAAA;oBACD,OAAO,EAAE,CAAC,OAAO,CAAC;oBAClB,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,MAAM,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;AACrC,iBAAA,CAAA;;;ACCK,MAAO,cAAe,SAAQ,UAA4B,CAAA;AAC5D,IAAA,IAAa,iBAAiB,GAAA;AAC1B,QAAA,OAAO,gBAAgB,CAAC;KAC3B;;2GAHQ,cAAc,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,EAPb,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACS,OAAO,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAIR,cAAc,EAAA,UAAA,EAAA,CAAA;kBAV1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;AAET,IAAA,CAAA;oBACD,OAAO,EAAE,CAAC,OAAO,CAAC;oBAClB,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,MAAM,EAAE,CAAC,MAAM,CAAC;AACnB,iBAAA,CAAA;;;ACCK,MAAO,SAAU,SAAQ,UAAuB,CAAA;AAClD,IAAA,IAAa,iBAAiB,GAAA;AAC1B,QAAA,OAAO,WAAW,CAAC;KACtB;;sGAHQ,SAAS,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAT,SAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,SAAS,EAPR,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACS,OAAO,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAIR,SAAS,EAAA,UAAA,EAAA,CAAA;kBAVrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;AAET,IAAA,CAAA;oBACD,OAAO,EAAE,CAAC,OAAO,CAAC;oBAClB,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,MAAM,EAAE,CAAC,UAAU,CAAC;AACvB,iBAAA,CAAA;;;ACCK,MAAO,aAAc,SAAQ,UAA2B,CAAA;AAC1D,IAAA,IAAa,iBAAiB,GAAA;AAC1B,QAAA,OAAO,eAAe,CAAC;KAC1B;;0GAHQ,aAAa,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,EAPZ,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACS,OAAO,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAIR,aAAa,EAAA,UAAA,EAAA,CAAA;kBAVzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;AAET,IAAA,CAAA;oBACD,OAAO,EAAE,CAAC,OAAO,CAAC;oBAClB,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;AAC7B,iBAAA,CAAA;;;ACCK,MAAO,iBAAkB,SAAQ,UAA+B,CAAA;AAClE,IAAA,IAAa,iBAAiB,GAAA;AAC1B,QAAA,OAAO,mBAAmB,CAAC;KAC9B;;8GAHQ,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,EAPhB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,KAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACS,OAAO,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAIR,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAV7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;AAET,IAAA,CAAA;oBACD,OAAO,EAAE,CAAC,OAAO,CAAC;oBAClB,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,MAAM,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC;AAChC,iBAAA,CAAA;;;ACEK,MAAO,OAAQ,SAAQ,UAAU,CAAA;AAVvC,IAAA,WAAA,GAAA;;AAWqB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEjC,IAAM,CAAA,MAAA,GAAG,YAAY,EAAe,CAAC;AAoCjD,KAAA;IAlCG,IAAa,GAAG,CAAC,GAAkB,EAAA;AAC/B,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;KACrB;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;QAC9B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,0BAA0B,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KAC1F;IAED,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,OAAO,CACR,QAAQ,EACR,aAAa,CAAC;AACV,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AAClB,YAAA,+BAA+B,CAC3B,IAAI,EACJ,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,CACrE;SACJ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,IAAI,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAC9D,CAAC;AAEF,QAAA,IAAI,CAAC,IAAI,CACL,aAAa,CAAC;AACV,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AAClB,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;SACrE,CAAC,EACF,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,wBAAwB,CAAC,KAAI;YACxC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAChD,YAAA,IAAI,GAAG;AAAE,gBAAA,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;AAC1B,YAAA,IAAI,wBAAwB;AAAE,gBAAA,MAAM,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;AACzF,YAAA,UAAU,EAAE,CAAC;AACjB,SAAC,CACJ,CAAC;KACL;;oGAtCQ,OAAO,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAP,OAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,OAAO,EAPN,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,QAAA,EAAA,GAAA,EAAA,KAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACS,OAAO,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAIR,OAAO,EAAA,UAAA,EAAA,CAAA;kBAVnB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;AAET,IAAA,CAAA;oBACD,OAAO,EAAE,CAAC,OAAO,CAAC;oBAClB,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,MAAM,EAAE,CAAC,eAAe,EAAE,0BAA0B,CAAC;AACxD,iBAAA,CAAA;8BAIY,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAEO,GAAG,EAAA,CAAA;sBAAf,KAAK;;;ACNJ,MAAO,SAAU,SAAQ,UAAuB,CAAA;AAVtD,IAAA,WAAA,GAAA;;AAea,QAAA,IAAA,CAAA,gBAAgB,GAAkB,aAAa,CAAC,WAAW,CAAC;AACxE,KAAA;AALG,IAAA,IAAa,iBAAiB,GAAA;AAC1B,QAAA,OAAO,WAAW,CAAC;KACtB;;sGAHQ,SAAS,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAT,SAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,SAAS,EAPR,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACS,OAAO,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAIR,SAAS,EAAA,UAAA,EAAA,CAAA;kBAVrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;AAET,IAAA,CAAA;oBACD,OAAO,EAAE,CAAC,OAAO,CAAC;oBAClB,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,MAAM,EAAE,CAAC,aAAa,CAAC;AAC1B,iBAAA,CAAA;;;ACCK,MAAO,YAAa,SAAQ,UAA0B,CAAA;AAV5D,IAAA,WAAA,GAAA;;AAea,QAAA,IAAA,CAAA,gBAAgB,GAAkB,aAAa,CAAC,OAAO,CAAC;AACpE,KAAA;AALG,IAAA,IAAa,iBAAiB,GAAA;AAC1B,QAAA,OAAO,cAAc,CAAC;KACzB;;yGAHQ,YAAY,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAZ,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAY,EAPX,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACS,OAAO,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAIR,YAAY,EAAA,UAAA,EAAA,CAAA;kBAVxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;AAET,IAAA,CAAA;oBACD,OAAO,EAAE,CAAC,OAAO,CAAC;oBAClB,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,MAAM,EAAE,CAAC,SAAS,CAAC;AACtB,iBAAA,CAAA;;;ACCK,MAAO,SAAU,SAAQ,UAAuB,CAAA;AAClD,IAAA,IAAa,iBAAiB,GAAA;AAC1B,QAAA,OAAO,WAAW,CAAC;KACtB;;sGAHQ,SAAS,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAT,SAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,SAAS,EAPR,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACS,OAAO,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAIR,SAAS,EAAA,UAAA,EAAA,CAAA;kBAVrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;AAET,IAAA,CAAA;oBACD,OAAO,EAAE,CAAC,OAAO,CAAC;oBAClB,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,MAAM,EAAE,CAAC,WAAW,CAAC;AACxB,iBAAA,CAAA;;;ACiCK,MAAO,QAAS,SAAQ,UAAU,CAAA;AArCxC,IAAA,WAAA,GAAA;;AAsCqB,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAE7D,IAAO,CAAA,OAAA,GAAG,YAAY,EAAc,CAAC;AAyDjD,KAAA;IAvDY,UAAU,GAAA;QACf,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC;YACL,aAAa,EAAE,aAAa,CAAC,QAAQ;AACrC,YAAA,OAAO,EAAE,EAAE;AACX,YAAA,KAAK,EAAE,CAAC;AACR,YAAA,iBAAiB,EAAE,GAAG;AACtB,YAAA,eAAe,EAAE,GAAG;AACpB,YAAA,cAAc,EAAE,GAAG;AACnB,YAAA,YAAY,EAAE,GAAG;AACjB,YAAA,kBAAkB,EAAE,GAAG;AACvB,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,IAAI,EAAE,GAAG;AACT,YAAA,SAAS,EAAE,GAAG;AACd,YAAA,KAAK,EAAE,IAAK;AACZ,YAAA,oBAAoB,EAAE,IAAI;AAC7B,SAAA,CAAC,CAAC;KACN;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;QAC9B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AACb,YAAA,GAAG,CAAC;AACJ,YAAA,GAAG,0BAA0B,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;AACtD,SAAA,CAAC,CAAC,CAAC;KACP;IAED,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,OAAO,CACR,QAAQ,EACR,aAAa,CAAC;AACV,YAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC;AACzC,YAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,cAAc,CAAC;AAC7C,YAAA,+BAA+B,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC;AACjF,SAAA,CAAC,CAAC,IAAI,CACH,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,KAAI;AACtD,YAAA,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC;AAEnD,YAAA,IAAI,KAAK,CAAC,mBAAmB,CAAC,KAAK,SAAS,EAAE;AAC1C,gBAAA,KAAK,CAAC,mBAAmB,CAAC,GAAG,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC;AACnF,aAAA;AAED,YAAA,IAAI,KAAK,CAAC,iBAAiB,CAAC,KAAK,SAAS,EAAE;AACxC,gBAAA,KAAK,CAAC,iBAAiB,CAAC,GAAG,eAAe,IAAI,CAAC,CAAC;AACnD,aAAA;YAED,OAAO,IAAI,UAAU,CACjB,MAAM,EACN,UAAU,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,OAAO,GAAG,IAAI,EAC3D,KAAoD,CACvD,CAAC;SACL,CAAC,CACL,CACJ,CAAC;KACL;;qGA3DQ,QAAQ,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAR,QAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAQ,EAlCP,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACS,OAAO,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FA+BR,QAAQ,EAAA,UAAA,EAAA,CAAA;kBArCpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;AAET,IAAA,CAAA;oBACD,OAAO,EAAE,CAAC,OAAO,CAAC;oBAClB,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,MAAM,EAAE;wBACJ,eAAe;wBACf,iBAAiB;wBACjB,sBAAsB;wBACtB,mBAAmB;wBACnB,SAAS;wBACT,OAAO;wBACP,wBAAwB;wBACxB,sBAAsB;wBACtB,yBAAyB;wBACzB,uBAAuB;wBACvB,mBAAmB;wBACnB,iBAAiB;wBACjB,gBAAgB;wBAChB,cAAc;wBACd,gBAAgB;wBAChB,oBAAoB;wBACpB,QAAQ;wBACR,WAAW;wBACX,MAAM;wBACN,MAAM;wBACN,OAAO;wBACP,iBAAiB;wBACjB,aAAa;wBACb,aAAa;wBACb,OAAO;wBACP,QAAQ;AACX,qBAAA;AACJ,iBAAA,CAAA;8BAIY,OAAO,EAAA,CAAA;sBAAf,KAAK;;;ACzBJ,MAAO,aAAc,SAAQ,UAA2B,CAAA;AApB9D,IAAA,WAAA,GAAA;;AAyBa,QAAA,IAAA,CAAA,gBAAgB,GAAkB,aAAa,CAAC,GAAG,CAAC;AAChE,KAAA;AALG,IAAA,IAAa,iBAAiB,GAAA;AAC1B,QAAA,OAAO,eAAe,CAAC;KAC1B;;0GAHQ,aAAa,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,EAjBZ,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACS,OAAO,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAcR,aAAa,EAAA,UAAA,EAAA,CAAA;kBApBzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;AAET,IAAA,CAAA;oBACD,OAAO,EAAE,CAAC,OAAO,CAAC;oBAClB,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,MAAM,EAAE;wBACJ,QAAQ;wBACR,UAAU;wBACV,WAAW;wBACX,SAAS;wBACT,MAAM;wBACN,YAAY;wBACZ,iBAAiB;wBACjB,aAAa;wBACb,aAAa;AAChB,qBAAA;AACJ,iBAAA,CAAA;;;ACCK,MAAO,eAAgB,SAAQ,UAA6B,CAAA;AAC9D,IAAA,IAAa,iBAAiB,GAAA;AAC1B,QAAA,OAAO,iBAAiB,CAAC;KAC5B;;4GAHQ,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EAjBd,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACS,OAAO,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAcR,eAAe,EAAA,UAAA,EAAA,CAAA;kBApB3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;AAET,IAAA,CAAA;oBACD,OAAO,EAAE,CAAC,OAAO,CAAC;oBAClB,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,MAAM,EAAE;wBACJ,UAAU;wBACV,MAAM;wBACN,YAAY;wBACZ,cAAc;wBACd,YAAY;wBACZ,YAAY;wBACZ,cAAc;wBACd,kBAAkB;wBAClB,gBAAgB;AACnB,qBAAA;AACJ,iBAAA,CAAA;;;ACTK,MAAO,YAAa,SAAQ,UAA0B,CAAA;AACxD,IAAA,IAAa,iBAAiB,GAAA;AAC1B,QAAA,OAAO,cAAc,CAAC;KACzB;;yGAHQ,YAAY,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAZ,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAY,EAPX,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACS,OAAO,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAIR,YAAY,EAAA,UAAA,EAAA,CAAA;kBAVxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;AAET,IAAA,CAAA;oBACD,OAAO,EAAE,CAAC,OAAO,CAAC;oBAClB,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,MAAM,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC;AACvD,iBAAA,CAAA;;;ACdD;;AAEG;;;;"}
1
+ {"version":3,"file":"angular-three-postprocessing-effects.mjs","sources":["../../../../libs/angular-three-postprocessing/effects/src/lib/bloom/bloom.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/brightness-contrast/brightness-contrast.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/color-depth/color-depth.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/depth/depth.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/dot-screen/dot-screen.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/hue-saturation/hue-saturation.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/lut/lut.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/noise/noise.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/scanline/scanline.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/sepia/sepia.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/ssao/ssao.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/tilt-shift/tilt-shift.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/tone-mapping/tone-mapping.ts","../../../../libs/angular-three-postprocessing/effects/src/lib/vignette/vignette.ts","../../../../libs/angular-three-postprocessing/effects/src/angular-three-postprocessing-effects.ts"],"sourcesContent":["import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BlendFunction, BloomEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-bloom',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: [\n 'mipmapBlur',\n 'luminanceThreshold',\n 'luminanceSmoothing',\n 'intensity',\n 'resolutionScale',\n 'resolutionX',\n 'resolutionY',\n 'width',\n 'height',\n 'kernelSize',\n ],\n})\nexport class NgtpBloom extends NgtpEffect<BloomEffect> {\n override get effectConstructor() {\n return BloomEffect;\n }\n\n override defaultBlendMode: BlendFunction = BlendFunction.ADD;\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BrightnessContrastEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-brightness-contrast',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['brightness', 'contrast'],\n})\nexport class NgtpBrightnessContrast extends NgtpEffect<BrightnessContrastEffect> {\n override get effectConstructor() {\n return BrightnessContrastEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { ColorDepthEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-color-depth',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['bits'],\n})\nexport class NgtpColorDepth extends NgtpEffect<ColorDepthEffect> {\n override get effectConstructor() {\n return ColorDepthEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { DepthEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-depth',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['inverted'],\n})\nexport class NgtpDepth extends NgtpEffect<DepthEffect> {\n override get effectConstructor() {\n return DepthEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { DotScreenEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-dot-screen',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['angle', 'scale'],\n})\nexport class NgtpDotScreen extends NgtpEffect<DotScreenEffect> {\n override get effectConstructor() {\n return DotScreenEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { HueSaturationEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-hue-saturation',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['hue', 'saturation'],\n})\nexport class NgtpHueSaturation extends NgtpEffect<HueSaturationEffect> {\n override get effectConstructor() {\n return HueSaturationEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { injectNgtRef, NgtArgs, NgtRef, NgtRxStore, NgtStore, startWithUndefined } from 'angular-three';\nimport { componentInputsToCombinedStream, simpleChangesToStateObject } from 'angular-three-postprocessing';\nimport { LUT3DEffect } from 'postprocessing';\nimport { combineLatest, map } from 'rxjs';\n\n@Component({\n selector: 'ngtp-lut',\n standalone: true,\n template: `\n <ng-container *args=\"[get('effect')]\">\n <ngt-primitive *ref=\"lutRef\" />\n </ng-container>\n `,\n imports: [NgtArgs, NgtRef],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['blendFunction', 'tetrahedralInterpolation'],\n})\nexport class NgtpLUT extends NgtRxStore implements OnInit, OnChanges {\n private readonly store = inject(NgtStore);\n\n @Input() lutRef = injectNgtRef<LUT3DEffect>();\n\n @Input() set lut(lut: THREE.Texture) {\n this.set({ lut });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.set((s) => ({ ...s, ...simpleChangesToStateObject(changes, ['lutRef', 'lut']) }));\n }\n\n ngOnInit() {\n this.connect(\n 'effect',\n combineLatest([\n this.select('lut'),\n componentInputsToCombinedStream(\n this,\n (input) => input.propName !== 'lutRef' && input.propName !== 'lut'\n ),\n ]).pipe(map(([lut, props]) => new LUT3DEffect(lut, props)))\n );\n\n this.hold(\n combineLatest([\n this.select('lut'),\n this.select('effect'),\n this.select('tetrahedralInterpolation').pipe(startWithUndefined()),\n ]),\n ([lut, effect, tetrahedralInterpolation]) => {\n const invalidate = this.store.get('invalidate');\n if (lut) effect.lut = lut;\n if (tetrahedralInterpolation) effect.tetrahedralInterpolation = tetrahedralInterpolation;\n invalidate();\n }\n );\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BlendFunction, NoiseEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-noise',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['premultiply'],\n})\nexport class NgtpNoise extends NgtpEffect<NoiseEffect> {\n override get effectConstructor() {\n return NoiseEffect;\n }\n\n override defaultBlendMode: BlendFunction = BlendFunction.COLOR_DODGE;\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BlendFunction, ScanlineEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-scanline',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['density'],\n})\nexport class NgtpScanline extends NgtpEffect<ScanlineEffect> {\n override get effectConstructor() {\n return ScanlineEffect;\n }\n\n override defaultBlendMode: BlendFunction = BlendFunction.OVERLAY;\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { SepiaEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-sepia',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['intensity'],\n})\nexport class NgtpSepia extends NgtpEffect<SepiaEffect> {\n override get effectConstructor() {\n return SepiaEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA, inject, Input, OnChanges, OnInit, SimpleChanges } from '@angular/core';\nimport { injectNgtRef, NgtArgs, NgtRef, NgtRxStore } from 'angular-three';\nimport {\n componentInputsToCombinedStream,\n NGTP_EFFECT_COMPOSER_API,\n simpleChangesToStateObject,\n} from 'angular-three-postprocessing';\nimport { BlendFunction, SSAOEffect } from 'postprocessing';\nimport { combineLatest, map } from 'rxjs';\n\n@Component({\n selector: 'ngtp-ssao',\n standalone: true,\n template: `\n <ng-container *args=\"[get('effect')]\">\n <ngt-primitive *ref=\"ssaoRef\" />\n </ng-container>\n `,\n imports: [NgtArgs, NgtRef],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: [\n 'blendFunction',\n 'distanceScaling',\n 'depthAwareUpsampling',\n 'normalDepthBuffer',\n 'samples',\n 'rings',\n 'worldDistanceThreshold',\n 'worldDistanceFalloff',\n 'worldProximityThreshold',\n 'worldProximityFalloff',\n 'distanceThreshold',\n 'distanceFalloff',\n 'rangeThreshold',\n 'rangeFalloff',\n 'minRadiusScale',\n 'luminanceInfluence',\n 'radius',\n 'intensity',\n 'bias',\n 'fade',\n 'color',\n 'resolutionScale',\n 'resolutionX',\n 'resolutionY',\n 'width',\n 'height',\n ],\n})\nexport class NgtpSSAO extends NgtRxStore implements OnInit, OnChanges {\n private readonly effectComposerApi = inject(NGTP_EFFECT_COMPOSER_API);\n\n @Input() ssaoRef = injectNgtRef<SSAOEffect>();\n\n override initialize(): void {\n super.initialize();\n this.set({\n blendFunction: BlendFunction.MULTIPLY,\n samples: 30,\n rings: 4,\n distanceThreshold: 1.0,\n distanceFalloff: 0.0,\n rangeThreshold: 0.5,\n rangeFalloff: 0.1,\n luminanceInfluence: 0.9,\n radius: 20,\n scale: 0.5,\n bias: 0.5,\n intensity: 1.0,\n color: null!,\n depthAwareUpsampling: true,\n });\n }\n\n ngOnChanges(changes: SimpleChanges) {\n this.set((s) => ({\n ...s,\n ...simpleChangesToStateObject(changes, ['ssaoRef']),\n }));\n }\n\n ngOnInit() {\n this.connect(\n 'effect',\n combineLatest([\n this.effectComposerApi.select('entities'),\n this.effectComposerApi.select('activeCamera'),\n componentInputsToCombinedStream(this, (input) => input.propName !== 'ssaoRef'),\n ]).pipe(\n map(([[, normalPass, downSamplingPass], camera, props]) => {\n const { resolutionScale } = this.effectComposerApi;\n\n if (props['normalDepthBuffer'] === undefined) {\n props['normalDepthBuffer'] = downSamplingPass ? downSamplingPass.texture : null;\n }\n\n if (props['resolutionScale'] === undefined) {\n props['resolutionScale'] = resolutionScale ?? 1;\n }\n\n return new SSAOEffect(\n camera,\n normalPass && !downSamplingPass ? normalPass.texture : null,\n props as ConstructorParameters<typeof SSAOEffect>[2]\n );\n })\n )\n );\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { BlendFunction, TiltShiftEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-tilt-shift',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: [\n 'offset',\n 'rotation',\n 'focusArea',\n 'feather',\n 'bias',\n 'kernelSize',\n 'resolutionScale',\n 'resolutionX',\n 'resolutionY',\n ],\n})\nexport class NgtpTiltShift extends NgtpEffect<TiltShiftEffect> {\n override get effectConstructor() {\n return TiltShiftEffect;\n }\n\n override defaultBlendMode: BlendFunction = BlendFunction.ADD;\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { ToneMappingEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-tone-mapping',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: [\n 'adaptive',\n 'mode',\n 'resolution',\n 'maxLuminance',\n 'whitePoint',\n 'middleGrey',\n 'minLuminance',\n 'averageLuminance',\n 'adaptationRate',\n ],\n})\nexport class NgtpToneMapping extends NgtpEffect<ToneMappingEffect> {\n override get effectConstructor() {\n return ToneMappingEffect;\n }\n}\n","import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\nimport { NgtArgs } from 'angular-three';\nimport { NgtpEffect } from 'angular-three-postprocessing';\nimport { VignetteEffect } from 'postprocessing';\n\n@Component({\n selector: 'ngtp-vignette',\n standalone: true,\n template: `\n <ngt-primitive *args=\"[get('effect')]\" ngtCompound />\n `,\n imports: [NgtArgs],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n inputs: ['technique', 'eskil', 'offset', 'darkness'],\n})\nexport class NgtpVignette extends NgtpEffect<VignetteEffect> {\n override get effectConstructor() {\n return VignetteEffect;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AA0BM,MAAO,SAAU,SAAQ,UAAuB,CAAA;AArBtD,IAAA,WAAA,GAAA;;AA0Ba,QAAA,IAAA,CAAA,gBAAgB,GAAkB,aAAa,CAAC,GAAG,CAAC;AAChE,KAAA;AALG,IAAA,IAAa,iBAAiB,GAAA;AAC1B,QAAA,OAAO,WAAW,CAAC;KACtB;;sGAHQ,SAAS,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAT,SAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,SAAS,EAlBR,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,SAAA,EAAA,WAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACS,OAAO,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAeR,SAAS,EAAA,UAAA,EAAA,CAAA;kBArBrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;AAET,IAAA,CAAA;oBACD,OAAO,EAAE,CAAC,OAAO,CAAC;oBAClB,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,MAAM,EAAE;wBACJ,YAAY;wBACZ,oBAAoB;wBACpB,oBAAoB;wBACpB,WAAW;wBACX,iBAAiB;wBACjB,aAAa;wBACb,aAAa;wBACb,OAAO;wBACP,QAAQ;wBACR,YAAY;AACf,qBAAA;AACJ,iBAAA,CAAA;;;ACVK,MAAO,sBAAuB,SAAQ,UAAoC,CAAA;AAC5E,IAAA,IAAa,iBAAiB,GAAA;AAC1B,QAAA,OAAO,wBAAwB,CAAC;KACnC;;mHAHQ,sBAAsB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAtB,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,sBAAsB,EAPrB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACS,OAAO,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAIR,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAVlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,0BAA0B;AACpC,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;AAET,IAAA,CAAA;oBACD,OAAO,EAAE,CAAC,OAAO,CAAC;oBAClB,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,MAAM,EAAE,CAAC,YAAY,EAAE,UAAU,CAAC;AACrC,iBAAA,CAAA;;;ACCK,MAAO,cAAe,SAAQ,UAA4B,CAAA;AAC5D,IAAA,IAAa,iBAAiB,GAAA;AAC1B,QAAA,OAAO,gBAAgB,CAAC;KAC3B;;2GAHQ,cAAc,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAd,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,EAPb,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACS,OAAO,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAIR,cAAc,EAAA,UAAA,EAAA,CAAA;kBAV1B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,kBAAkB;AAC5B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;AAET,IAAA,CAAA;oBACD,OAAO,EAAE,CAAC,OAAO,CAAC;oBAClB,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,MAAM,EAAE,CAAC,MAAM,CAAC;AACnB,iBAAA,CAAA;;;ACCK,MAAO,SAAU,SAAQ,UAAuB,CAAA;AAClD,IAAA,IAAa,iBAAiB,GAAA;AAC1B,QAAA,OAAO,WAAW,CAAC;KACtB;;sGAHQ,SAAS,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAT,SAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,SAAS,EAPR,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACS,OAAO,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAIR,SAAS,EAAA,UAAA,EAAA,CAAA;kBAVrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;AAET,IAAA,CAAA;oBACD,OAAO,EAAE,CAAC,OAAO,CAAC;oBAClB,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,MAAM,EAAE,CAAC,UAAU,CAAC;AACvB,iBAAA,CAAA;;;ACCK,MAAO,aAAc,SAAQ,UAA2B,CAAA;AAC1D,IAAA,IAAa,iBAAiB,GAAA;AAC1B,QAAA,OAAO,eAAe,CAAC;KAC1B;;0GAHQ,aAAa,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,EAPZ,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACS,OAAO,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAIR,aAAa,EAAA,UAAA,EAAA,CAAA;kBAVzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;AAET,IAAA,CAAA;oBACD,OAAO,EAAE,CAAC,OAAO,CAAC;oBAClB,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,MAAM,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;AAC7B,iBAAA,CAAA;;;ACCK,MAAO,iBAAkB,SAAQ,UAA+B,CAAA;AAClE,IAAA,IAAa,iBAAiB,GAAA;AAC1B,QAAA,OAAO,mBAAmB,CAAC;KAC9B;;8GAHQ,iBAAiB,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,iBAAiB,EAPhB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,qBAAA,EAAA,MAAA,EAAA,EAAA,GAAA,EAAA,KAAA,EAAA,UAAA,EAAA,YAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACS,OAAO,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAIR,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAV7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,qBAAqB;AAC/B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;AAET,IAAA,CAAA;oBACD,OAAO,EAAE,CAAC,OAAO,CAAC;oBAClB,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,MAAM,EAAE,CAAC,KAAK,EAAE,YAAY,CAAC;AAChC,iBAAA,CAAA;;;ACIK,MAAO,OAAQ,SAAQ,UAAU,CAAA;AAZvC,IAAA,WAAA,GAAA;;AAaqB,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEjC,IAAM,CAAA,MAAA,GAAG,YAAY,EAAe,CAAC;AAoCjD,KAAA;IAlCG,IAAa,GAAG,CAAC,GAAkB,EAAA;AAC/B,QAAA,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;KACrB;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;QAC9B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,0BAA0B,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;KAC1F;IAED,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,OAAO,CACR,QAAQ,EACR,aAAa,CAAC;AACV,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AAClB,YAAA,+BAA+B,CAC3B,IAAI,EACJ,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ,KAAK,QAAQ,IAAI,KAAK,CAAC,QAAQ,KAAK,KAAK,CACrE;SACJ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,IAAI,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,CAC9D,CAAC;AAEF,QAAA,IAAI,CAAC,IAAI,CACL,aAAa,CAAC;AACV,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;AAClB,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;SACrE,CAAC,EACF,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,wBAAwB,CAAC,KAAI;YACxC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AAChD,YAAA,IAAI,GAAG;AAAE,gBAAA,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;AAC1B,YAAA,IAAI,wBAAwB;AAAE,gBAAA,MAAM,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;AACzF,YAAA,UAAU,EAAE,CAAC;AACjB,SAAC,CACJ,CAAC;KACL;;oGAtCQ,OAAO,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAP,OAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,OAAO,EATN,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,wBAAA,EAAA,0BAAA,EAAA,MAAA,EAAA,QAAA,EAAA,GAAA,EAAA,KAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;KAIT,EACS,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAO,qEAAE,MAAM,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,EAAA,CAAA,KAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAIhB,OAAO,EAAA,UAAA,EAAA,CAAA;kBAZnB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,UAAU;AACpB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;;;AAIT,IAAA,CAAA;AACD,oBAAA,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;oBAC1B,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,MAAM,EAAE,CAAC,eAAe,EAAE,0BAA0B,CAAC;AACxD,iBAAA,CAAA;8BAIY,MAAM,EAAA,CAAA;sBAAd,KAAK;gBAEO,GAAG,EAAA,CAAA;sBAAf,KAAK;;;ACRJ,MAAO,SAAU,SAAQ,UAAuB,CAAA;AAVtD,IAAA,WAAA,GAAA;;AAea,QAAA,IAAA,CAAA,gBAAgB,GAAkB,aAAa,CAAC,WAAW,CAAC;AACxE,KAAA;AALG,IAAA,IAAa,iBAAiB,GAAA;AAC1B,QAAA,OAAO,WAAW,CAAC;KACtB;;sGAHQ,SAAS,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAT,SAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,SAAS,EAPR,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACS,OAAO,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAIR,SAAS,EAAA,UAAA,EAAA,CAAA;kBAVrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;AAET,IAAA,CAAA;oBACD,OAAO,EAAE,CAAC,OAAO,CAAC;oBAClB,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,MAAM,EAAE,CAAC,aAAa,CAAC;AAC1B,iBAAA,CAAA;;;ACCK,MAAO,YAAa,SAAQ,UAA0B,CAAA;AAV5D,IAAA,WAAA,GAAA;;AAea,QAAA,IAAA,CAAA,gBAAgB,GAAkB,aAAa,CAAC,OAAO,CAAC;AACpE,KAAA;AALG,IAAA,IAAa,iBAAiB,GAAA;AAC1B,QAAA,OAAO,cAAc,CAAC;KACzB;;yGAHQ,YAAY,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAZ,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAY,EAPX,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACS,OAAO,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAIR,YAAY,EAAA,UAAA,EAAA,CAAA;kBAVxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;AAET,IAAA,CAAA;oBACD,OAAO,EAAE,CAAC,OAAO,CAAC;oBAClB,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,MAAM,EAAE,CAAC,SAAS,CAAC;AACtB,iBAAA,CAAA;;;ACCK,MAAO,SAAU,SAAQ,UAAuB,CAAA;AAClD,IAAA,IAAa,iBAAiB,GAAA;AAC1B,QAAA,OAAO,WAAW,CAAC;KACtB;;sGAHQ,SAAS,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAT,SAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,SAAS,EAPR,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACS,OAAO,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAIR,SAAS,EAAA,UAAA,EAAA,CAAA;kBAVrB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;AAET,IAAA,CAAA;oBACD,OAAO,EAAE,CAAC,OAAO,CAAC;oBAClB,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,MAAM,EAAE,CAAC,WAAW,CAAC;AACxB,iBAAA,CAAA;;;ACmCK,MAAO,QAAS,SAAQ,UAAU,CAAA;AAvCxC,IAAA,WAAA,GAAA;;AAwCqB,QAAA,IAAA,CAAA,iBAAiB,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAE7D,IAAO,CAAA,OAAA,GAAG,YAAY,EAAc,CAAC;AAyDjD,KAAA;IAvDY,UAAU,GAAA;QACf,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC;YACL,aAAa,EAAE,aAAa,CAAC,QAAQ;AACrC,YAAA,OAAO,EAAE,EAAE;AACX,YAAA,KAAK,EAAE,CAAC;AACR,YAAA,iBAAiB,EAAE,GAAG;AACtB,YAAA,eAAe,EAAE,GAAG;AACpB,YAAA,cAAc,EAAE,GAAG;AACnB,YAAA,YAAY,EAAE,GAAG;AACjB,YAAA,kBAAkB,EAAE,GAAG;AACvB,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,KAAK,EAAE,GAAG;AACV,YAAA,IAAI,EAAE,GAAG;AACT,YAAA,SAAS,EAAE,GAAG;AACd,YAAA,KAAK,EAAE,IAAK;AACZ,YAAA,oBAAoB,EAAE,IAAI;AAC7B,SAAA,CAAC,CAAC;KACN;AAED,IAAA,WAAW,CAAC,OAAsB,EAAA;QAC9B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM;AACb,YAAA,GAAG,CAAC;AACJ,YAAA,GAAG,0BAA0B,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC;AACtD,SAAA,CAAC,CAAC,CAAC;KACP;IAED,QAAQ,GAAA;AACJ,QAAA,IAAI,CAAC,OAAO,CACR,QAAQ,EACR,aAAa,CAAC;AACV,YAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,CAAC;AACzC,YAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,cAAc,CAAC;AAC7C,YAAA,+BAA+B,CAAC,IAAI,EAAE,CAAC,KAAK,KAAK,KAAK,CAAC,QAAQ,KAAK,SAAS,CAAC;AACjF,SAAA,CAAC,CAAC,IAAI,CACH,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,EAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,KAAI;AACtD,YAAA,MAAM,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC;AAEnD,YAAA,IAAI,KAAK,CAAC,mBAAmB,CAAC,KAAK,SAAS,EAAE;AAC1C,gBAAA,KAAK,CAAC,mBAAmB,CAAC,GAAG,gBAAgB,GAAG,gBAAgB,CAAC,OAAO,GAAG,IAAI,CAAC;AACnF,aAAA;AAED,YAAA,IAAI,KAAK,CAAC,iBAAiB,CAAC,KAAK,SAAS,EAAE;AACxC,gBAAA,KAAK,CAAC,iBAAiB,CAAC,GAAG,eAAe,IAAI,CAAC,CAAC;AACnD,aAAA;YAED,OAAO,IAAI,UAAU,CACjB,MAAM,EACN,UAAU,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC,OAAO,GAAG,IAAI,EAC3D,KAAoD,CACvD,CAAC;SACL,CAAC,CACL,CACJ,CAAC;KACL;;qGA3DQ,QAAQ,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAR,QAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,QAAQ,EApCP,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,aAAA,EAAA,eAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,OAAA,EAAA,SAAA,EAAA,KAAA,EAAA,OAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,oBAAA,EAAA,sBAAA,EAAA,uBAAA,EAAA,yBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,YAAA,EAAA,cAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,QAAA,EAAA,SAAA,EAAA,WAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;;;KAIT,EACS,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAO,qEAAE,MAAM,EAAA,QAAA,EAAA,OAAA,EAAA,MAAA,EAAA,CAAA,KAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FA+BhB,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAvCpB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;;;AAIT,IAAA,CAAA;AACD,oBAAA,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;oBAC1B,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,MAAM,EAAE;wBACJ,eAAe;wBACf,iBAAiB;wBACjB,sBAAsB;wBACtB,mBAAmB;wBACnB,SAAS;wBACT,OAAO;wBACP,wBAAwB;wBACxB,sBAAsB;wBACtB,yBAAyB;wBACzB,uBAAuB;wBACvB,mBAAmB;wBACnB,iBAAiB;wBACjB,gBAAgB;wBAChB,cAAc;wBACd,gBAAgB;wBAChB,oBAAoB;wBACpB,QAAQ;wBACR,WAAW;wBACX,MAAM;wBACN,MAAM;wBACN,OAAO;wBACP,iBAAiB;wBACjB,aAAa;wBACb,aAAa;wBACb,OAAO;wBACP,QAAQ;AACX,qBAAA;AACJ,iBAAA,CAAA;8BAIY,OAAO,EAAA,CAAA;sBAAf,KAAK;;;AC3BJ,MAAO,aAAc,SAAQ,UAA2B,CAAA;AApB9D,IAAA,WAAA,GAAA;;AAyBa,QAAA,IAAA,CAAA,gBAAgB,GAAkB,aAAa,CAAC,GAAG,CAAC;AAChE,KAAA;AALG,IAAA,IAAa,iBAAiB,GAAA;AAC1B,QAAA,OAAO,eAAe,CAAC;KAC1B;;0GAHQ,aAAa,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAb,aAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,EAjBZ,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,SAAA,EAAA,WAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACS,OAAO,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAcR,aAAa,EAAA,UAAA,EAAA,CAAA;kBApBzB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,iBAAiB;AAC3B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;AAET,IAAA,CAAA;oBACD,OAAO,EAAE,CAAC,OAAO,CAAC;oBAClB,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,MAAM,EAAE;wBACJ,QAAQ;wBACR,UAAU;wBACV,WAAW;wBACX,SAAS;wBACT,MAAM;wBACN,YAAY;wBACZ,iBAAiB;wBACjB,aAAa;wBACb,aAAa;AAChB,qBAAA;AACJ,iBAAA,CAAA;;;ACCK,MAAO,eAAgB,SAAQ,UAA6B,CAAA;AAC9D,IAAA,IAAa,iBAAiB,GAAA;AAC1B,QAAA,OAAO,iBAAiB,CAAC;KAC5B;;4GAHQ,eAAe,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAf,eAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,eAAe,EAjBd,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,QAAA,EAAA,UAAA,EAAA,IAAA,EAAA,MAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,kBAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACS,OAAO,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAcR,eAAe,EAAA,UAAA,EAAA,CAAA;kBApB3B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,mBAAmB;AAC7B,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;AAET,IAAA,CAAA;oBACD,OAAO,EAAE,CAAC,OAAO,CAAC;oBAClB,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,MAAM,EAAE;wBACJ,UAAU;wBACV,MAAM;wBACN,YAAY;wBACZ,cAAc;wBACd,YAAY;wBACZ,YAAY;wBACZ,cAAc;wBACd,kBAAkB;wBAClB,gBAAgB;AACnB,qBAAA;AACJ,iBAAA,CAAA;;;ACTK,MAAO,YAAa,SAAQ,UAA0B,CAAA;AACxD,IAAA,IAAa,iBAAiB,GAAA;AAC1B,QAAA,OAAO,cAAc,CAAC;KACzB;;yGAHQ,YAAY,EAAA,IAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAZ,YAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAY,EAPX,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,EAAA,SAAA,EAAA,WAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,eAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,CAAA;;AAET,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EACS,OAAO,EAAA,QAAA,EAAA,QAAA,EAAA,MAAA,EAAA,CAAA,MAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA;2FAIR,YAAY,EAAA,UAAA,EAAA,CAAA;kBAVxB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,eAAe;AACzB,oBAAA,UAAU,EAAE,IAAI;AAChB,oBAAA,QAAQ,EAAE,CAAA;;AAET,IAAA,CAAA;oBACD,OAAO,EAAE,CAAC,OAAO,CAAC;oBAClB,OAAO,EAAE,CAAC,sBAAsB,CAAC;oBACjC,MAAM,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC;AACvD,iBAAA,CAAA;;;ACdD;;AAEG;;;;"}