angular-three-cannon 2.11.0 → 2.13.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,11 +1,11 @@
1
1
  import { BodyProps, BoxProps, CannonWorkerAPI, CompoundBodyProps, ConvexPolyhedronArgs, CylinderArgs, HeightfieldArgs, ParticleProps, PlaneProps, PropValue, SphereArgs, SubscriptionName, SubscriptionTarget, Subscriptions, TrimeshArgs, Triplet } from '@pmndrs/cannon-worker-api';
2
- import { NgtcCannonEvents, NgtcPhysicsApi } from 'angular-three-cannon';
2
+ import { NgtcCannonEvents, NgtcPhysics } from 'angular-three-cannon';
3
3
  import { Object3D } from 'three';
4
4
  import { NgtcWorkerApi } from './types';
5
5
  export declare function createSubscribe<T extends SubscriptionName>(body: Object3D, worker: CannonWorkerAPI, subscriptions: Subscriptions, type: T, index?: number, target?: SubscriptionTarget): (callback: (value: PropValue<T>) => void) => () => void;
6
6
  export declare function prepare(object: Object3D, { position, rotation, userData }: BodyProps): void;
7
7
  export declare function setupCollision(events: NgtcCannonEvents, { onCollide, onCollideBegin, onCollideEnd }: Partial<BodyProps>, uuid: string): void;
8
- export declare function makeBodyApi(body: Object3D, worker: CannonWorkerAPI, { subscriptions, scaleOverrides }: Pick<NgtcPhysicsApi, 'subscriptions' | 'scaleOverrides'>): {
8
+ export declare function makeBodyApi(body: Object3D, worker: CannonWorkerAPI, { subscriptions, scaleOverrides }: Pick<NgtcPhysics, 'subscriptions' | 'scaleOverrides'>): {
9
9
  at: (index: number) => NgtcWorkerApi;
10
10
  allowSleep: import("./types").NgtcAtomicApi<"allowSleep">;
11
11
  angularDamping: import("./types").NgtcAtomicApi<"angularDamping">;
@@ -12,7 +12,7 @@ export declare class NgtcDebug {
12
12
  private physics;
13
13
  debug: import("@angular/core").InputSignalWithTransform<NgtcDebugInputs, "" | Partial<NgtcDebugInputs>>;
14
14
  private defaultScene;
15
- private scene;
15
+ private debuggerScene;
16
16
  private bodies;
17
17
  private bodyMap;
18
18
  private cannonDebugger;
@@ -23,19 +23,19 @@ function injectBody(type, getPropFn, ref, { transformArgs, injector } = {}) {
23
23
  const _body = body();
24
24
  if (!_body)
25
25
  return null;
26
- const { worker, ...rest } = physics.api;
26
+ const { worker, ...rest } = physics;
27
27
  const _worker = worker();
28
28
  if (!_worker)
29
29
  return null;
30
30
  return makeBodyApi(_body, _worker, rest);
31
31
  });
32
32
  effect((onCleanup) => {
33
- const currentWorker = physics.api.worker();
33
+ const currentWorker = physics.worker();
34
34
  if (!currentWorker)
35
35
  return;
36
36
  const object = body();
37
37
  if (!isRefSignal && !object) {
38
- // TODO (signal): find a better way to handle this. no setting signal
38
+ // TODO (signal): remove untracked in v19
39
39
  untracked(() => {
40
40
  bodyRef.set(resolveRef(ref));
41
41
  });
@@ -66,9 +66,9 @@ function injectBody(type, getPropFn, ref, { transformArgs, injector } = {}) {
66
66
  else {
67
67
  prepare(object, props);
68
68
  }
69
- physics.api.refs[id] = object;
69
+ physics.refs[id] = object;
70
70
  debug?.add(id, props, type);
71
- setupCollision(physics.api.events, props, id);
71
+ setupCollision(physics.events, props, id);
72
72
  // @ts-expect-error - if args is undefined, there's default
73
73
  return { ...props, args: transform(props.args) };
74
74
  }),
@@ -89,9 +89,9 @@ function injectBody(type, getPropFn, ref, { transformArgs, injector } = {}) {
89
89
  });
90
90
  onCleanup(() => {
91
91
  uuid.forEach((id) => {
92
- delete physics.api.refs[id];
92
+ delete physics.refs[id];
93
93
  debug?.remove(id);
94
- delete physics.api.events[id];
94
+ delete physics.events[id];
95
95
  });
96
96
  currentWorker.removeBodies({ uuid });
97
97
  });
@@ -108,4 +108,4 @@ export const injectPlane = createInjectBody('Plane');
108
108
  export const injectSphere = createInjectBody('Sphere');
109
109
  export const injectTrimesh = createInjectBody('Trimesh');
110
110
  export const injectCompound = createInjectBody('Compound');
111
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9keS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2Fubm9uL2JvZHkvc3JjL2xpYi9ib2R5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFLTixRQUFRLEVBQ1IsTUFBTSxFQUNOLE1BQU0sRUFDTixRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRWxFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQU9yRixTQUFTLGdCQUFnQixDQUErQixJQUFZO0lBQ25FLE9BQU8sQ0FDTixTQUFtRCxFQUNuRCxHQUFzRixFQUN0RixPQUFpQyxFQUNoQyxFQUFFLENBQUMsVUFBVSxDQUFrQixJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNqRSxDQUFDO0FBRUQsU0FBUyxVQUFVLENBQ2xCLElBQVksRUFDWixTQUFtRCxFQUNuRCxHQUFzRixFQUN0RixFQUFFLGFBQWEsRUFBRSxRQUFRLEtBQThCLEVBQUU7SUFFekQsT0FBTyxjQUFjLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUU7UUFDaEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXhELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsOERBQThELENBQUMsQ0FBQztRQUNqRixDQUFDO1FBRUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXBELE1BQU0sU0FBUyxHQUFHLGFBQWEsSUFBSSxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5RCxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbEMsTUFBTSxPQUFPLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUF3QyxDQUFDO1FBQ3pGLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRW5ELE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDekIsTUFBTSxLQUFLLEdBQUcsSUFBSSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLEtBQUs7Z0JBQUUsT0FBTyxJQUFJLENBQUM7WUFFeEIsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLElBQUksRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUM7WUFDeEMsTUFBTSxPQUFPLEdBQUcsTUFBTSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLE9BQU87Z0JBQUUsT0FBTyxJQUFJLENBQUM7WUFFMUIsT0FBTyxXQUFXLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1lBQ3BCLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLGFBQWE7Z0JBQUUsT0FBTztZQUUzQixNQUFNLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQztZQUV0QixJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7Z0JBQzdCLHFFQUFxRTtnQkFDckUsU0FBUyxDQUFDLEdBQUcsRUFBRTtvQkFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUM5QixDQUFDLENBQUMsQ0FBQztnQkFDSCxPQUFPO1lBQ1IsQ0FBQztZQUVELElBQUksQ0FBQyxNQUFNO2dCQUFFLE9BQU87WUFFcEIsTUFBTSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRTtnQkFDM0IsSUFBSSxLQUFLLEdBQWEsRUFBRSxDQUFDO2dCQUN6QixJQUFJLElBQWMsQ0FBQztnQkFDbkIsSUFBSSxNQUFNLFlBQVksYUFBYSxFQUFFLENBQUM7b0JBQ3JDLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUM7b0JBQ2pELEtBQUssR0FBRyxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUM3RSxJQUFJLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDdkIsQ0FBQztxQkFBTSxDQUFDO29CQUNQLEtBQUssR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDdkIsQ0FBQztnQkFDRCxPQUFPO29CQUNOLEtBQUs7b0JBQ0wsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRTt3QkFDdkIsTUFBTSxLQUFLLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUMvQixJQUFJLElBQUksRUFBRSxDQUFDOzRCQUNWLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7NEJBQ3BCLE1BQW1DLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7NEJBQ3BFLE1BQW1DLENBQUMsY0FBYyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7d0JBQ3hFLENBQUM7NkJBQU0sQ0FBQzs0QkFDUCxPQUFPLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO3dCQUN4QixDQUFDO3dCQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQzt3QkFDOUIsS0FBSyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO3dCQUM1QixjQUFjLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO3dCQUM5QywyREFBMkQ7d0JBQzNELE9BQU8sRUFBRSxHQUFHLEtBQUssRUFBRSxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUNsRCxDQUFDLENBQUM7aUJBQ0YsQ0FBQztZQUNILENBQUMsQ0FBQyxFQUFFLENBQUM7WUFFTCwyQ0FBMkM7WUFDM0MsYUFBYSxDQUFDLFNBQVMsQ0FBQztnQkFDdkIsS0FBSyxFQUFFLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLEdBQUcsaUJBQWlCLEVBQUUsRUFBRSxFQUFFO29CQUN0RixPQUFPO3dCQUNOLFNBQVMsRUFBRSxPQUFPLENBQUMsU0FBUyxDQUFDO3dCQUM3QixjQUFjLEVBQUUsT0FBTyxDQUFDLGNBQWMsQ0FBQzt3QkFDdkMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZLENBQUM7d0JBQ25DLEdBQUcsaUJBQWlCO3FCQUNwQixDQUFDO2dCQUNILENBQUMsQ0FBQztnQkFDRixJQUFJO2dCQUNKLElBQUk7YUFDSixDQUFDLENBQUM7WUFFSCxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNkLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtvQkFDbkIsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDNUIsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztvQkFDbEIsT0FBTyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDL0IsQ0FBQyxDQUFDLENBQUM7Z0JBQ0gsYUFBYSxDQUFDLFlBQVksQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7WUFDdEMsQ0FBQyxDQUFDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sR0FBRyxDQUFDO0lBQ1osQ0FBQyxDQUFDLENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLENBQUM7QUFDM0UsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLGdCQUFnQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQzNELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUMzRCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDckQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQ3ZELE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUN6RCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsZ0JBQWdCLENBQUMsVUFBVSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRFbGVtZW50UmVmLFxuXHRJbmplY3Rvcixcblx0U2lnbmFsLFxuXHRXcml0YWJsZVNpZ25hbCxcblx0Y29tcHV0ZWQsXG5cdGVmZmVjdCxcblx0aW5qZWN0LFxuXHRpc1NpZ25hbCxcblx0c2lnbmFsLFxuXHR1bnRyYWNrZWQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm9keVNoYXBlVHlwZSB9IGZyb20gJ0BwbW5kcnMvY2Fubm9uLXdvcmtlci1hcGknO1xuaW1wb3J0IHsgcmVzb2x2ZVJlZiB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgTmd0Y1BoeXNpY3MgfSBmcm9tICdhbmd1bGFyLXRocmVlLWNhbm5vbic7XG5pbXBvcnQgeyBOZ3RjRGVidWcgfSBmcm9tICdhbmd1bGFyLXRocmVlLWNhbm5vbi9kZWJ1Zyc7XG5pbXBvcnQgeyBhc3NlcnRJbmplY3RvciB9IGZyb20gJ25neHRlbnNpb24vYXNzZXJ0LWluamVjdG9yJztcbmltcG9ydCB7IER5bmFtaWNEcmF3VXNhZ2UsIEluc3RhbmNlZE1lc2gsIE9iamVjdDNEIH0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgTmd0Y0FyZ0ZuLCBOZ3RjQm9keVByb3BzTWFwLCBOZ3RjQm9keVB1YmxpY0FwaSwgTmd0Y0dldEJ5SW5kZXggfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGRlZmF1bHRUcmFuc2Zvcm1BcmdzLCBtYWtlQm9keUFwaSwgcHJlcGFyZSwgc2V0dXBDb2xsaXNpb24gfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RjQm9keU9wdGlvbnM8VFNoYXBlIGV4dGVuZHMgQm9keVNoYXBlVHlwZT4ge1xuXHR0cmFuc2Zvcm1BcmdzPzogTmd0Y0FyZ0ZuPE5ndGNCb2R5UHJvcHNNYXBbVFNoYXBlXT47XG5cdGluamVjdG9yPzogSW5qZWN0b3I7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUluamVjdEJvZHk8VFNoYXBlIGV4dGVuZHMgQm9keVNoYXBlVHlwZT4odHlwZTogVFNoYXBlKSB7XG5cdHJldHVybiA8VE9iamVjdCBleHRlbmRzIE9iamVjdDNEPihcblx0XHRnZXRQcm9wRm46IE5ndGNHZXRCeUluZGV4PE5ndGNCb2R5UHJvcHNNYXBbVFNoYXBlXT4sXG5cdFx0cmVmOiBFbGVtZW50UmVmPFRPYmplY3Q+IHwgVE9iamVjdCB8IFNpZ25hbDxFbGVtZW50UmVmPFRPYmplY3Q+IHwgVE9iamVjdCB8IHVuZGVmaW5lZD4sXG5cdFx0b3B0aW9ucz86IE5ndGNCb2R5T3B0aW9uczxUU2hhcGU+LFxuXHQpID0+IGluamVjdEJvZHk8VFNoYXBlLCBUT2JqZWN0Pih0eXBlLCBnZXRQcm9wRm4sIHJlZiwgb3B0aW9ucyk7XG59XG5cbmZ1bmN0aW9uIGluamVjdEJvZHk8VFNoYXBlIGV4dGVuZHMgQm9keVNoYXBlVHlwZSwgVE9iamVjdCBleHRlbmRzIE9iamVjdDNEPihcblx0dHlwZTogVFNoYXBlLFxuXHRnZXRQcm9wRm46IE5ndGNHZXRCeUluZGV4PE5ndGNCb2R5UHJvcHNNYXBbVFNoYXBlXT4sXG5cdHJlZjogRWxlbWVudFJlZjxUT2JqZWN0PiB8IFRPYmplY3QgfCBTaWduYWw8RWxlbWVudFJlZjxUT2JqZWN0PiB8IFRPYmplY3QgfCB1bmRlZmluZWQ+LFxuXHR7IHRyYW5zZm9ybUFyZ3MsIGluamVjdG9yIH06IE5ndGNCb2R5T3B0aW9uczxUU2hhcGU+ID0ge30sXG4pOiBTaWduYWw8Tmd0Y0JvZHlQdWJsaWNBcGkgfCBudWxsPiB7XG5cdHJldHVybiBhc3NlcnRJbmplY3RvcihpbmplY3RCb2R5LCBpbmplY3RvciwgKCkgPT4ge1xuXHRcdGNvbnN0IHBoeXNpY3MgPSBpbmplY3QoTmd0Y1BoeXNpY3MsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cblx0XHRpZiAoIXBoeXNpY3MpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgW05HVCBDYW5ub25dIGluamVjdEJvZHkgd2FzIGNhbGxlZCBvdXRzaWRlIG9mIDxuZ3RjLXBoeXNpY3M+YCk7XG5cdFx0fVxuXG5cdFx0Y29uc3QgZGVidWcgPSBpbmplY3QoTmd0Y0RlYnVnLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG5cdFx0Y29uc3QgdHJhbnNmb3JtID0gdHJhbnNmb3JtQXJncyA/PyBkZWZhdWx0VHJhbnNmb3JtQXJnc1t0eXBlXTtcblx0XHRjb25zdCBpc1JlZlNpZ25hbCA9IGlzU2lnbmFsKHJlZik7XG5cdFx0Y29uc3QgYm9keVJlZiA9IChpc1JlZlNpZ25hbCA/IHJlZiA6IHNpZ25hbChyZWYpKSBhcyBXcml0YWJsZVNpZ25hbDxUT2JqZWN0IHwgdW5kZWZpbmVkPjtcblx0XHRjb25zdCBib2R5ID0gY29tcHV0ZWQoKCkgPT4gcmVzb2x2ZVJlZihib2R5UmVmKCkpKTtcblxuXHRcdGNvbnN0IGFwaSA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRcdGNvbnN0IF9ib2R5ID0gYm9keSgpO1xuXHRcdFx0aWYgKCFfYm9keSkgcmV0dXJuIG51bGw7XG5cblx0XHRcdGNvbnN0IHsgd29ya2VyLCAuLi5yZXN0IH0gPSBwaHlzaWNzLmFwaTtcblx0XHRcdGNvbnN0IF93b3JrZXIgPSB3b3JrZXIoKTtcblx0XHRcdGlmICghX3dvcmtlcikgcmV0dXJuIG51bGw7XG5cblx0XHRcdHJldHVybiBtYWtlQm9keUFwaShfYm9keSwgX3dvcmtlciwgcmVzdCk7XG5cdFx0fSk7XG5cblx0XHRlZmZlY3QoKG9uQ2xlYW51cCkgPT4ge1xuXHRcdFx0Y29uc3QgY3VycmVudFdvcmtlciA9IHBoeXNpY3MuYXBpLndvcmtlcigpO1xuXHRcdFx0aWYgKCFjdXJyZW50V29ya2VyKSByZXR1cm47XG5cblx0XHRcdGNvbnN0IG9iamVjdCA9IGJvZHkoKTtcblxuXHRcdFx0aWYgKCFpc1JlZlNpZ25hbCAmJiAhb2JqZWN0KSB7XG5cdFx0XHRcdC8vIFRPRE8gKHNpZ25hbCk6IGZpbmQgYSBiZXR0ZXIgd2F5IHRvIGhhbmRsZSB0aGlzLiBubyBzZXR0aW5nIHNpZ25hbFxuXHRcdFx0XHR1bnRyYWNrZWQoKCkgPT4ge1xuXHRcdFx0XHRcdGJvZHlSZWYuc2V0KHJlc29sdmVSZWYocmVmKSk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cblx0XHRcdGlmICghb2JqZWN0KSByZXR1cm47XG5cblx0XHRcdGNvbnN0IFt1dWlkLCBwcm9wc10gPSAoKCkgPT4ge1xuXHRcdFx0XHRsZXQgdXVpZHM6IHN0cmluZ1tdID0gW107XG5cdFx0XHRcdGxldCB0ZW1wOiBPYmplY3QzRDtcblx0XHRcdFx0aWYgKG9iamVjdCBpbnN0YW5jZW9mIEluc3RhbmNlZE1lc2gpIHtcblx0XHRcdFx0XHRvYmplY3QuaW5zdGFuY2VNYXRyaXguc2V0VXNhZ2UoRHluYW1pY0RyYXdVc2FnZSk7XG5cdFx0XHRcdFx0dXVpZHMgPSBuZXcgQXJyYXkob2JqZWN0LmNvdW50KS5maWxsKDApLm1hcCgoXywgaSkgPT4gYCR7b2JqZWN0LnV1aWR9LyR7aX1gKTtcblx0XHRcdFx0XHR0ZW1wID0gbmV3IE9iamVjdDNEKCk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0dXVpZHMgPSBbb2JqZWN0LnV1aWRdO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiBbXG5cdFx0XHRcdFx0dXVpZHMsXG5cdFx0XHRcdFx0dXVpZHMubWFwKChpZCwgaW5kZXgpID0+IHtcblx0XHRcdFx0XHRcdGNvbnN0IHByb3BzID0gZ2V0UHJvcEZuKGluZGV4KTtcblx0XHRcdFx0XHRcdGlmICh0ZW1wKSB7XG5cdFx0XHRcdFx0XHRcdHByZXBhcmUodGVtcCwgcHJvcHMpO1xuXHRcdFx0XHRcdFx0XHQob2JqZWN0IGFzIHVua25vd24gYXMgSW5zdGFuY2VkTWVzaCkuc2V0TWF0cml4QXQoaW5kZXgsIHRlbXAubWF0cml4KTtcblx0XHRcdFx0XHRcdFx0KG9iamVjdCBhcyB1bmtub3duIGFzIEluc3RhbmNlZE1lc2gpLmluc3RhbmNlTWF0cml4Lm5lZWRzVXBkYXRlID0gdHJ1ZTtcblx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdHByZXBhcmUob2JqZWN0LCBwcm9wcyk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRwaHlzaWNzLmFwaS5yZWZzW2lkXSA9IG9iamVjdDtcblx0XHRcdFx0XHRcdGRlYnVnPy5hZGQoaWQsIHByb3BzLCB0eXBlKTtcblx0XHRcdFx0XHRcdHNldHVwQ29sbGlzaW9uKHBoeXNpY3MuYXBpLmV2ZW50cywgcHJvcHMsIGlkKTtcblx0XHRcdFx0XHRcdC8vIEB0cy1leHBlY3QtZXJyb3IgLSBpZiBhcmdzIGlzIHVuZGVmaW5lZCwgdGhlcmUncyBkZWZhdWx0XG5cdFx0XHRcdFx0XHRyZXR1cm4geyAuLi5wcm9wcywgYXJnczogdHJhbnNmb3JtKHByb3BzLmFyZ3MpIH07XG5cdFx0XHRcdFx0fSksXG5cdFx0XHRcdF07XG5cdFx0XHR9KSgpO1xuXG5cdFx0XHQvLyBSZWdpc3RlciBvbiBtb3VudCwgdW5yZWdpc3RlciBvbiB1bm1vdW50XG5cdFx0XHRjdXJyZW50V29ya2VyLmFkZEJvZGllcyh7XG5cdFx0XHRcdHByb3BzOiBwcm9wcy5tYXAoKHsgb25Db2xsaWRlLCBvbkNvbGxpZGVCZWdpbiwgb25Db2xsaWRlRW5kLCAuLi5zZXJpYWxpemFibGVQcm9wcyB9KSA9PiB7XG5cdFx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHRcdG9uQ29sbGlkZTogQm9vbGVhbihvbkNvbGxpZGUpLFxuXHRcdFx0XHRcdFx0b25Db2xsaWRlQmVnaW46IEJvb2xlYW4ob25Db2xsaWRlQmVnaW4pLFxuXHRcdFx0XHRcdFx0b25Db2xsaWRlRW5kOiBCb29sZWFuKG9uQ29sbGlkZUVuZCksXG5cdFx0XHRcdFx0XHQuLi5zZXJpYWxpemFibGVQcm9wcyxcblx0XHRcdFx0XHR9O1xuXHRcdFx0XHR9KSxcblx0XHRcdFx0dHlwZSxcblx0XHRcdFx0dXVpZCxcblx0XHRcdH0pO1xuXG5cdFx0XHRvbkNsZWFudXAoKCkgPT4ge1xuXHRcdFx0XHR1dWlkLmZvckVhY2goKGlkKSA9PiB7XG5cdFx0XHRcdFx0ZGVsZXRlIHBoeXNpY3MuYXBpLnJlZnNbaWRdO1xuXHRcdFx0XHRcdGRlYnVnPy5yZW1vdmUoaWQpO1xuXHRcdFx0XHRcdGRlbGV0ZSBwaHlzaWNzLmFwaS5ldmVudHNbaWRdO1xuXHRcdFx0XHR9KTtcblx0XHRcdFx0Y3VycmVudFdvcmtlci5yZW1vdmVCb2RpZXMoeyB1dWlkIH0pO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cblx0XHRyZXR1cm4gYXBpO1xuXHR9KTtcbn1cblxuZXhwb3J0IGNvbnN0IGluamVjdEJveCA9IGNyZWF0ZUluamVjdEJvZHkoJ0JveCcpO1xuZXhwb3J0IGNvbnN0IGluamVjdENvbnZleFBvbHloZWRyb24gPSBjcmVhdGVJbmplY3RCb2R5KCdDb252ZXhQb2x5aGVkcm9uJyk7XG5leHBvcnQgY29uc3QgaW5qZWN0Q3lsaW5kZXIgPSBjcmVhdGVJbmplY3RCb2R5KCdDeWxpbmRlcicpO1xuZXhwb3J0IGNvbnN0IGluamVjdEhlaWdodGZpZWxkID0gY3JlYXRlSW5qZWN0Qm9keSgnSGVpZ2h0ZmllbGQnKTtcbmV4cG9ydCBjb25zdCBpbmplY3RQYXJ0aWNsZSA9IGNyZWF0ZUluamVjdEJvZHkoJ1BhcnRpY2xlJyk7XG5leHBvcnQgY29uc3QgaW5qZWN0UGxhbmUgPSBjcmVhdGVJbmplY3RCb2R5KCdQbGFuZScpO1xuZXhwb3J0IGNvbnN0IGluamVjdFNwaGVyZSA9IGNyZWF0ZUluamVjdEJvZHkoJ1NwaGVyZScpO1xuZXhwb3J0IGNvbnN0IGluamVjdFRyaW1lc2ggPSBjcmVhdGVJbmplY3RCb2R5KCdUcmltZXNoJyk7XG5leHBvcnQgY29uc3QgaW5qZWN0Q29tcG91bmQgPSBjcmVhdGVJbmplY3RCb2R5KCdDb21wb3VuZCcpO1xuIl19
111
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9keS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2Fubm9uL2JvZHkvc3JjL2xpYi9ib2R5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFLTixRQUFRLEVBQ1IsTUFBTSxFQUNOLE1BQU0sRUFDTixRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzVELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBRWxFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQU9yRixTQUFTLGdCQUFnQixDQUErQixJQUFZO0lBQ25FLE9BQU8sQ0FDTixTQUFtRCxFQUNuRCxHQUFzRixFQUN0RixPQUFpQyxFQUNoQyxFQUFFLENBQUMsVUFBVSxDQUFrQixJQUFJLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUNqRSxDQUFDO0FBRUQsU0FBUyxVQUFVLENBQ2xCLElBQVksRUFDWixTQUFtRCxFQUNuRCxHQUFzRixFQUN0RixFQUFFLGFBQWEsRUFBRSxRQUFRLEtBQThCLEVBQUU7SUFFekQsT0FBTyxjQUFjLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUU7UUFDaEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFD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bXBvcnQge1xuXHRFbGVtZW50UmVmLFxuXHRJbmplY3Rvcixcblx0U2lnbmFsLFxuXHRXcml0YWJsZVNpZ25hbCxcblx0Y29tcHV0ZWQsXG5cdGVmZmVjdCxcblx0aW5qZWN0LFxuXHRpc1NpZ25hbCxcblx0c2lnbmFsLFxuXHR1bnRyYWNrZWQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm9keVNoYXBlVHlwZSB9IGZyb20gJ0BwbW5kcnMvY2Fubm9uLXdvcmtlci1hcGknO1xuaW1wb3J0IHsgcmVzb2x2ZVJlZiB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgTmd0Y1BoeXNpY3MgfSBmcm9tICdhbmd1bGFyLXRocmVlLWNhbm5vbic7XG5pbXBvcnQgeyBOZ3RjRGVidWcgfSBmcm9tICdhbmd1bGFyLXRocmVlLWNhbm5vbi9kZWJ1Zyc7XG5pbXBvcnQgeyBhc3NlcnRJbmplY3RvciB9IGZyb20gJ25neHRlbnNpb24vYXNzZXJ0LWluamVjdG9yJztcbmltcG9ydCB7IER5bmFtaWNEcmF3VXNhZ2UsIEluc3RhbmNlZE1lc2gsIE9iamVjdDNEIH0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgTmd0Y0FyZ0ZuLCBOZ3RjQm9keVByb3BzTWFwLCBOZ3RjQm9keVB1YmxpY0FwaSwgTmd0Y0dldEJ5SW5kZXggfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IGRlZmF1bHRUcmFuc2Zvcm1BcmdzLCBtYWtlQm9keUFwaSwgcHJlcGFyZSwgc2V0dXBDb2xsaXNpb24gfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RjQm9keU9wdGlvbnM8VFNoYXBlIGV4dGVuZHMgQm9keVNoYXBlVHlwZT4ge1xuXHR0cmFuc2Zvcm1BcmdzPzogTmd0Y0FyZ0ZuPE5ndGNCb2R5UHJvcHNNYXBbVFNoYXBlXT47XG5cdGluamVjdG9yPzogSW5qZWN0b3I7XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUluamVjdEJvZHk8VFNoYXBlIGV4dGVuZHMgQm9keVNoYXBlVHlwZT4odHlwZTogVFNoYXBlKSB7XG5cdHJldHVybiA8VE9iamVjdCBleHRlbmRzIE9iamVjdDNEPihcblx0XHRnZXRQcm9wRm46IE5ndGNHZXRCeUluZGV4PE5ndGNCb2R5UHJvcHNNYXBbVFNoYXBlXT4sXG5cdFx0cmVmOiBFbGVtZW50UmVmPFRPYmplY3Q+IHwgVE9iamVjdCB8IFNpZ25hbDxFbGVtZW50UmVmPFRPYmplY3Q+IHwgVE9iamVjdCB8IHVuZGVmaW5lZD4sXG5cdFx0b3B0aW9ucz86IE5ndGNCb2R5T3B0aW9uczxUU2hhcGU+LFxuXHQpID0+IGluamVjdEJvZHk8VFNoYXBlLCBUT2JqZWN0Pih0eXBlLCBnZXRQcm9wRm4sIHJlZiwgb3B0aW9ucyk7XG59XG5cbmZ1bmN0aW9uIGluamVjdEJvZHk8VFNoYXBlIGV4dGVuZHMgQm9keVNoYXBlVHlwZSwgVE9iamVjdCBleHRlbmRzIE9iamVjdDNEPihcblx0dHlwZTogVFNoYXBlLFxuXHRnZXRQcm9wRm46IE5ndGNHZXRCeUluZGV4PE5ndGNCb2R5UHJvcHNNYXBbVFNoYXBlXT4sXG5cdHJlZjogRWxlbWVudFJlZjxUT2JqZWN0PiB8IFRPYmplY3QgfCBTaWduYWw8RWxlbWVudFJlZjxUT2JqZWN0PiB8IFRPYmplY3QgfCB1bmRlZmluZWQ+LFxuXHR7IHRyYW5zZm9ybUFyZ3MsIGluamVjdG9yIH06IE5ndGNCb2R5T3B0aW9uczxUU2hhcGU+ID0ge30sXG4pOiBTaWduYWw8Tmd0Y0JvZHlQdWJsaWNBcGkgfCBudWxsPiB7XG5cdHJldHVybiBhc3NlcnRJbmplY3RvcihpbmplY3RCb2R5LCBpbmplY3RvciwgKCkgPT4ge1xuXHRcdGNvbnN0IHBoeXNpY3MgPSBpbmplY3QoTmd0Y1BoeXNpY3MsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cblx0XHRpZiAoIXBoeXNpY3MpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgW05HVCBDYW5ub25dIGluamVjdEJvZHkgd2FzIGNhbGxlZCBvdXRzaWRlIG9mIDxuZ3RjLXBoeXNpY3M+YCk7XG5cdFx0fVxuXG5cdFx0Y29uc3QgZGVidWcgPSBpbmplY3QoTmd0Y0RlYnVnLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG5cdFx0Y29uc3QgdHJhbnNmb3JtID0gdHJhbnNmb3JtQXJncyA/PyBkZWZhdWx0VHJhbnNmb3JtQXJnc1t0eXBlXTtcblx0XHRjb25zdCBpc1JlZlNpZ25hbCA9IGlzU2lnbmFsKHJlZik7XG5cdFx0Y29uc3QgYm9keVJlZiA9IChpc1JlZlNpZ25hbCA/IHJlZiA6IHNpZ25hbChyZWYpKSBhcyBXcml0YWJsZVNpZ25hbDxUT2JqZWN0IHwgdW5kZWZpbmVkPjtcblx0XHRjb25zdCBib2R5ID0gY29tcHV0ZWQoKCkgPT4gcmVzb2x2ZVJlZihib2R5UmVmKCkpKTtcblxuXHRcdGNvbnN0IGFwaSA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRcdGNvbnN0IF9ib2R5ID0gYm9keSgpO1xuXHRcdFx0aWYgKCFfYm9keSkgcmV0dXJuIG51bGw7XG5cblx0XHRcdGNvbnN0IHsgd29ya2VyLCAuLi5yZXN0IH0gPSBwaHlzaWNzO1xuXHRcdFx0Y29uc3QgX3dvcmtlciA9IHdvcmtlcigpO1xuXHRcdFx0aWYgKCFfd29ya2VyKSByZXR1cm4gbnVsbDtcblxuXHRcdFx0cmV0dXJuIG1ha2VCb2R5QXBpKF9ib2R5LCBfd29ya2VyLCByZXN0KTtcblx0XHR9KTtcblxuXHRcdGVmZmVjdCgob25DbGVhbnVwKSA9PiB7XG5cdFx0XHRjb25zdCBjdXJyZW50V29ya2VyID0gcGh5c2ljcy53b3JrZXIoKTtcblx0XHRcdGlmICghY3VycmVudFdvcmtlcikgcmV0dXJuO1xuXG5cdFx0XHRjb25zdCBvYmplY3QgPSBib2R5KCk7XG5cblx0XHRcdGlmICghaXNSZWZTaWduYWwgJiYgIW9iamVjdCkge1xuXHRcdFx0XHQvLyBUT0RPIChzaWduYWwpOiByZW1vdmUgdW50cmFja2VkIGluIHYxOVxuXHRcdFx0XHR1bnRyYWNrZWQoKCkgPT4ge1xuXHRcdFx0XHRcdGJvZHlSZWYuc2V0KHJlc29sdmVSZWYocmVmKSk7XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cblx0XHRcdGlmICghb2JqZWN0KSByZXR1cm47XG5cblx0XHRcdGNvbnN0IFt1dWlkLCBwcm9wc10gPSAoKCkgPT4ge1xuXHRcdFx0XHRsZXQgdXVpZHM6IHN0cmluZ1tdID0gW107XG5cdFx0XHRcdGxldCB0ZW1wOiBPYmplY3QzRDtcblx0XHRcdFx0aWYgKG9iamVjdCBpbnN0YW5jZW9mIEluc3RhbmNlZE1lc2gpIHtcblx0XHRcdFx0XHRvYmplY3QuaW5zdGFuY2VNYXRyaXguc2V0VXNhZ2UoRHluYW1pY0RyYXdVc2FnZSk7XG5cdFx0XHRcdFx0dXVpZHMgPSBuZXcgQXJyYXkob2JqZWN0LmNvdW50KS5maWxsKDApLm1hcCgoXywgaSkgPT4gYCR7b2JqZWN0LnV1aWR9LyR7aX1gKTtcblx0XHRcdFx0XHR0ZW1wID0gbmV3IE9iamVjdDNEKCk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0dXVpZHMgPSBbb2JqZWN0LnV1aWRdO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiBbXG5cdFx0XHRcdFx0dXVpZHMsXG5cdFx0XHRcdFx0dXVpZHMubWFwKChpZCwgaW5kZXgpID0+IHtcblx0XHRcdFx0XHRcdGNvbnN0IHByb3BzID0gZ2V0UHJvcEZuKGluZGV4KTtcblx0XHRcdFx0XHRcdGlmICh0ZW1wKSB7XG5cdFx0XHRcdFx0XHRcdHByZXBhcmUodGVtcCwgcHJvcHMpO1xuXHRcdFx0XHRcdFx0XHQob2JqZWN0IGFzIHVua25vd24gYXMgSW5zdGFuY2VkTWVzaCkuc2V0TWF0cml4QXQoaW5kZXgsIHRlbXAubWF0cml4KTtcblx0XHRcdFx0XHRcdFx0KG9iamVjdCBhcyB1bmtub3duIGFzIEluc3RhbmNlZE1lc2gpLmluc3RhbmNlTWF0cml4Lm5lZWRzVXBkYXRlID0gdHJ1ZTtcblx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdHByZXBhcmUob2JqZWN0LCBwcm9wcyk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRwaHlzaWNzLnJlZnNbaWRdID0gb2JqZWN0O1xuXHRcdFx0XHRcdFx0ZGVidWc/LmFkZChpZCwgcHJvcHMsIHR5cGUpO1xuXHRcdFx0XHRcdFx0c2V0dXBDb2xsaXNpb24ocGh5c2ljcy5ldmVudHMsIHByb3BzLCBpZCk7XG5cdFx0XHRcdFx0XHQvLyBAdHMtZXhwZWN0LWVycm9yIC0gaWYgYXJncyBpcyB1bmRlZmluZWQsIHRoZXJlJ3MgZGVmYXVsdFxuXHRcdFx0XHRcdFx0cmV0dXJuIHsgLi4ucHJvcHMsIGFyZ3M6IHRyYW5zZm9ybShwcm9wcy5hcmdzKSB9O1xuXHRcdFx0XHRcdH0pLFxuXHRcdFx0XHRdO1xuXHRcdFx0fSkoKTtcblxuXHRcdFx0Ly8gUmVnaXN0ZXIgb24gbW91bnQsIHVucmVnaXN0ZXIgb24gdW5tb3VudFxuXHRcdFx0Y3VycmVudFdvcmtlci5hZGRCb2RpZXMoe1xuXHRcdFx0XHRwcm9wczogcHJvcHMubWFwKCh7IG9uQ29sbGlkZSwgb25Db2xsaWRlQmVnaW4sIG9uQ29sbGlkZUVuZCwgLi4uc2VyaWFsaXphYmxlUHJvcHMgfSkgPT4ge1xuXHRcdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0XHRvbkNvbGxpZGU6IEJvb2xlYW4ob25Db2xsaWRlKSxcblx0XHRcdFx0XHRcdG9uQ29sbGlkZUJlZ2luOiBCb29sZWFuKG9uQ29sbGlkZUJlZ2luKSxcblx0XHRcdFx0XHRcdG9uQ29sbGlkZUVuZDogQm9vbGVhbihvbkNvbGxpZGVFbmQpLFxuXHRcdFx0XHRcdFx0Li4uc2VyaWFsaXphYmxlUHJvcHMsXG5cdFx0XHRcdFx0fTtcblx0XHRcdFx0fSksXG5cdFx0XHRcdHR5cGUsXG5cdFx0XHRcdHV1aWQsXG5cdFx0XHR9KTtcblxuXHRcdFx0b25DbGVhbnVwKCgpID0+IHtcblx0XHRcdFx0dXVpZC5mb3JFYWNoKChpZCkgPT4ge1xuXHRcdFx0XHRcdGRlbGV0ZSBwaHlzaWNzLnJlZnNbaWRdO1xuXHRcdFx0XHRcdGRlYnVnPy5yZW1vdmUoaWQpO1xuXHRcdFx0XHRcdGRlbGV0ZSBwaHlzaWNzLmV2ZW50c1tpZF07XG5cdFx0XHRcdH0pO1xuXHRcdFx0XHRjdXJyZW50V29ya2VyLnJlbW92ZUJvZGllcyh7IHV1aWQgfSk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblxuXHRcdHJldHVybiBhcGk7XG5cdH0pO1xufVxuXG5leHBvcnQgY29uc3QgaW5qZWN0Qm94ID0gY3JlYXRlSW5qZWN0Qm9keSgnQm94Jyk7XG5leHBvcnQgY29uc3QgaW5qZWN0Q29udmV4UG9seWhlZHJvbiA9IGNyZWF0ZUluamVjdEJvZHkoJ0NvbnZleFBvbHloZWRyb24nKTtcbmV4cG9ydCBjb25zdCBpbmplY3RDeWxpbmRlciA9IGNyZWF0ZUluamVjdEJvZHkoJ0N5bGluZGVyJyk7XG5leHBvcnQgY29uc3QgaW5qZWN0SGVpZ2h0ZmllbGQgPSBjcmVhdGVJbmplY3RCb2R5KCdIZWlnaHRmaWVsZCcpO1xuZXhwb3J0IGNvbnN0IGluamVjdFBhcnRpY2xlID0gY3JlYXRlSW5qZWN0Qm9keSgnUGFydGljbGUnKTtcbmV4cG9ydCBjb25zdCBpbmplY3RQbGFuZSA9IGNyZWF0ZUluamVjdEJvZHkoJ1BsYW5lJyk7XG5leHBvcnQgY29uc3QgaW5qZWN0U3BoZXJlID0gY3JlYXRlSW5qZWN0Qm9keSgnU3BoZXJlJyk7XG5leHBvcnQgY29uc3QgaW5qZWN0VHJpbWVzaCA9IGNyZWF0ZUluamVjdEJvZHkoJ1RyaW1lc2gnKTtcbmV4cG9ydCBjb25zdCBpbmplY3RDb21wb3VuZCA9IGNyZWF0ZUluamVjdEJvZHkoJ0NvbXBvdW5kJyk7XG4iXX0=
@@ -190,4 +190,4 @@ export const defaultTransformArgs = {
190
190
  },
191
191
  Compound: (args) => args,
192
192
  };
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nhbm5vbi9ib2R5L3NyYy9saWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUJBLE9BQU8sRUFBRSxLQUFLLEVBQVksVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUc3RCxTQUFTLFVBQVUsQ0FBbUIsR0FBTTtJQUMzQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFrQixDQUFDO0FBQ3RFLENBQUM7QUFFRCxTQUFTLE9BQU8sQ0FBQyxJQUFjLEVBQUUsS0FBYztJQUM5QyxNQUFNLE1BQU0sR0FBRyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxFQUFFLENBQUM7SUFDdEQsSUFBSSxPQUFPLElBQUksS0FBSyxVQUFVO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFDNUMsT0FBTyxJQUFJLElBQUksSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLEVBQUUsQ0FBQztBQUNoRCxDQUFDO0FBRUQsTUFBTSxDQUFDLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztBQUN0QixNQUFNLENBQUMsR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO0FBRTNCLFNBQVMsb0JBQW9CLENBQUMsUUFBOEI7SUFDM0QsT0FBTyxDQUFDLENBQU8sRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFhLENBQUMsQ0FBQztBQUN4RixDQUFDO0FBRUQsSUFBSSxjQUFjLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZCLE1BQU0sVUFBVSxlQUFl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RSxFQUFFLENBQUMsRUFBRTtJQUNwQyxHQUFHLEVBQUUsQ0FBQyxPQUF5QixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUk7SUFDakQsT0FBTyxFQUFFLENBQUMsSUFBaUIsRUFBRSxFQUFFLENBQUMsSUFBSTtJQUNwQyxRQUFRLEVBQUUsQ0FBQyxJQUFrQixFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7SUFDdEMsV0FBVyxFQUFFLENBQUMsSUFBcUIsRUFBRSxFQUFFLENBQUMsSUFBSTtJQUM1QyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixJQUEwQixFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ3hHLFFBQVEsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUNyQyxLQUFLO1FBQ0wsT0FBTyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDO1FBQ25DLElBQUksSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUM3QixvQkFBb0I7S0FDcEI7SUFDRCxRQUFRLEVBQUUsQ0FBQyxDQUF3QixFQUFFLEVBQUUsQ0FBQyxFQUFFO0lBQzFDLE1BQU0sRUFBRSxDQUFDLE9BQW1CLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7UUFDL0UsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFDRCxRQUFRLEVBQUUsQ0FBQyxJQUErQixFQUFFLEVBQUUsQ0FBQyxJQUFJO0NBQ25ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRBdG9taWNOYW1lLFxuXHRCb2R5UHJvcHMsXG5cdEJveFByb3BzLFxuXHRDYW5ub25Xb3JrZXJBUEksXG5cdENvbXBvdW5kQm9keVByb3BzLFxuXHRDb252ZXhQb2x5aGVkcm9uQXJncyxcblx0Q3lsaW5kZXJBcmdzLFxuXHRIZWlnaHRmaWVsZEFyZ3MsXG5cdFBhcnRpY2xlUHJvcHMsXG5cdFBsYW5lUHJvcHMsXG5cdFByb3BWYWx1ZSxcblx0UXVhZCxcblx0U2V0T3BOYW1lLFxuXHRTcGhlcmVBcmdzLFxuXHRTdWJzY3JpcHRpb25OYW1lLFxuXHRTdWJzY3JpcHRpb25UYXJnZXQsXG5cdFN1YnNjcmlwdGlvbnMsXG5cdFRyaW1lc2hBcmdzLFxuXHRUcmlwbGV0LFxuXHRWZWN0b3JOYW1lLFxufSBmcm9tICdAcG1uZHJzL2Nhbm5vbi13b3JrZXItYXBpJztcbmltcG9ydCB7IE5ndGNDYW5ub25FdmVudHMsIE5ndGNQaHlzaWNzQXBpIH0gZnJvbSAnYW5ndWxhci10aHJlZS1jYW5ub24nO1xuaW1wb3J0IHsgRXVsZXIsIE9iamVjdDNELCBRdWF0ZXJuaW9uLCBWZWN0b3IzIH0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgTmd0Y1dvcmtlckFwaSB9IGZyb20gJy4vdHlwZXMnO1xuXG5mdW5jdGlvbiBjYXBpdGFsaXplPFQgZXh0ZW5kcyBzdHJpbmc+KHN0cjogVCk6IENhcGl0YWxpemU8VD4ge1xuXHRyZXR1cm4gKHN0ci5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHN0ci5zbGljZSgxKSkgYXMgQ2FwaXRhbGl6ZTxUPjtcbn1cblxuZnVuY3Rpb24gZ2V0VVVJRChib2R5OiBPYmplY3QzRCwgaW5kZXg/OiBudW1iZXIpIHtcblx0Y29uc3Qgc3VmZml4ID0gaW5kZXggPT09IHVuZGVmaW5lZCA/ICcnIDogYC8ke2luZGV4fWA7XG5cdGlmICh0eXBlb2YgYm9keSA9PT0gJ2Z1bmN0aW9uJykgcmV0dXJuIG51bGw7XG5cdHJldHVybiBib2R5ICYmIGJvZHkgJiYgYCR7Ym9keS51dWlkfSR7c3VmZml4fWA7XG59XG5cbmNvbnN0IGUgPSBuZXcgRXVsZXIoKTtcbmNvbnN0IHEgPSBuZXcgUXVhdGVybmlvbigpO1xuXG5mdW5jdGlvbiBxdWF0ZXJuaW9uVG9Sb3RhdGlvbihjYWxsYmFjazogKHY6IFRyaXBsZXQpID0+IHZvaWQpIHtcblx0cmV0dXJuICh2OiBRdWFkKSA9PiBjYWxsYmFjayhlLnNldEZyb21RdWF0ZXJuaW9uKHEuZnJvbUFycmF5KHYpKS50b0FycmF5KCkgYXMgVHJpcGxldCk7XG59XG5cbmxldCBpbmNyZW1lbnRpbmdJZCA9IDA7XG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU3Vic2NyaWJlPFQgZXh0ZW5kcyBTdWJzY3JpcHRpb25OYW1lPihcblx0Ym9keTogT2JqZWN0M0QsXG5cdHdvcmtlcjogQ2Fubm9uV29ya2VyQVBJLFxuXHRzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25zLFxuXHR0eXBlOiBULFxuXHRpbmRleD86IG51bWJlcixcblx0dGFyZ2V0OiBTdWJzY3JpcHRpb25UYXJnZXQgPSAnYm9kaWVzJyxcbikge1xuXHRyZXR1cm4gKGNhbGxiYWNrOiAodmFsdWU6IFByb3BWYWx1ZTxUPikgPT4gdm9pZCkgPT4ge1xuXHRcdGNvbnN0IGlkID0gaW5jcmVtZW50aW5nSWQrKztcblx0XHRzdWJzY3JpcHRpb25zW2lkXSA9IHsgW3R5cGVdOiBjYWxsYmFjayB9O1xuXHRcdGNvbnN0IHV1aWQgPSBnZXRVVUlEKGJvZHksIGluZGV4KTtcblx0XHR1dWlkICYmIHdvcmtlci5zdWJzY3JpYmUoeyBwcm9wczogeyBpZCwgdGFyZ2V0LCB0eXBlIH0sIHV1aWQgfSk7XG5cdFx0cmV0dXJuICgpID0+IHtcblx0XHRcdGRlbGV0ZSBzdWJzY3JpcHRpb25zW2lkXTtcblx0XHRcdHdvcmtlci51bnN1YnNjcmliZSh7IHByb3BzOiBpZCB9KTtcblx0XHR9O1xuXHR9O1xufVxuXG5mdW5jdGlvbiBtYWtlVHJpcGxldCh2OiBWZWN0b3IzIHwgVHJpcGxldCk6IFRyaXBsZXQge1xuXHRyZXR1cm4gdiBpbnN0YW5jZW9mIFZlY3RvcjMgPyBbdi54LCB2LnksIHYuel0gOiB2O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJlcGFyZShvYmplY3Q6IE9iamVjdDNELCB7IHBvc2l0aW9uID0gWzAsIDAsIDBdLCByb3RhdGlvbiA9IFswLCAwLCAwXSwgdXNlckRhdGEgPSB7fSB9OiBCb2R5UHJvcHMpIHtcblx0b2JqZWN0LnVzZXJEYXRhID0gdXNlckRhdGE7XG5cdG9iamVjdC5wb3NpdGlvbi5zZXQoLi4ucG9zaXRpb24pO1xuXHRvYmplY3Qucm90YXRpb24uc2V0KC4uLnJvdGF0aW9uKTtcblx0b2JqZWN0LnVwZGF0ZU1hdHJpeCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0dXBDb2xsaXNpb24oXG5cdGV2ZW50czogTmd0Y0Nhbm5vbkV2ZW50cyxcblx0eyBvbkNvbGxpZGUsIG9uQ29sbGlkZUJlZ2luLCBvbkNvbGxpZGVFbmQgfTogUGFydGlhbDxCb2R5UHJvcHM+LFxuXHR1dWlkOiBzdHJpbmcsXG4pIHtcblx0ZXZlbnRzW3V1aWRdID0geyBjb2xsaWRlOiBvbkNvbGxpZGUsIGNvbGxpZGVCZWdpbjogb25Db2xsaWRlQmVnaW4sIGNvbGxpZGVFbmQ6IG9uQ29sbGlkZUVuZCB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFrZUJvZHlBcGkoXG5cdGJvZHk6IE9iamVjdDNELFxuXHR3b3JrZXI6IENhbm5vbldvcmtlckFQSSxcblx0eyBzdWJzY3JpcHRpb25zLCBzY2FsZU92ZXJyaWRlcyB9OiBQaWNrPE5ndGNQaHlzaWNzQXBpLCAnc3Vic2NyaXB0aW9ucycgfCAnc2NhbGVPdmVycmlkZXMnPixcbikge1xuXHRjb25zdCBtYWtlQXRvbWljID0gPFQgZXh0ZW5kcyBBdG9taWNOYW1lPih0eXBlOiBULCBpbmRleD86IG51bWJlcikgPT4ge1xuXHRcdGNvbnN0IG9wOiBTZXRPcE5hbWU8VD4gPSBgc2V0JHtjYXBpdGFsaXplKHR5cGUpfWA7XG5cblx0XHRyZXR1cm4ge1xuXHRcdFx0c2V0OiAodmFsdWU6IFByb3BWYWx1ZTxUPikgPT4ge1xuXHRcdFx0XHRjb25zdCB1dWlkID0gZ2V0VVVJRChib2R5LCBpbmRleCk7XG5cdFx0XHRcdHV1aWQgJiYgd29ya2VyW29wXSh7IHByb3BzOiB2YWx1ZSwgdXVpZCB9IGFzIG5ldmVyKTtcblx0XHRcdH0sXG5cdFx0XHRzdWJzY3JpYmU6IGNyZWF0ZVN1YnNjcmliZShib2R5LCB3b3JrZXIsIHN1YnNjcmlwdGlvbnMsIHR5cGUsIGluZGV4KSxcblx0XHR9O1xuXHR9O1xuXG5cdGNvbnN0IG1ha2VRdWF0ZXJuaW9uID0gKGluZGV4PzogbnVtYmVyKSA9PiB7XG5cdFx0Y29uc3QgdHlwZSA9ICdxdWF0ZXJuaW9uJztcblx0XHRyZXR1cm4ge1xuXHRcdFx0Y29weTogKHsgdywgeCwgeSwgeiB9OiBRdWF0ZXJuaW9uKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHV1aWQgPSBnZXRVVUlEKGJvZHksIGluZGV4KTtcblx0XHRcdFx0dXVpZCAmJiB3b3JrZXIuc2V0UXVhdGVybmlvbih7IHByb3BzOiBbeCwgeSwgeiwgd10sIHV1aWQgfSk7XG5cdFx0XHR9LFxuXHRcdFx0c2V0OiAoeDogbnVtYmVyLCB5OiBudW1iZXIsIHo6IG51bWJlciwgdzogbnVtYmVyKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHV1aWQgPSBnZXRVVUlEKGJvZHksIGluZGV4KTtcblx0XHRcdFx0dXVpZCAmJiB3b3JrZXIuc2V0UXVhdGVybmlvbih7IHByb3BzOiBbeCwgeSwgeiwgd10sIHV1aWQgfSk7XG5cdFx0XHR9LFxuXHRcdFx0c3Vic2NyaWJlOiBjcmVhdGVTdWJzY3JpYmUoYm9keSwgd29ya2VyLCBzdWJzY3JpcHRpb25zLCB0eXBlLCBpbmRleCksXG5cdFx0fTtcblx0fTtcblxuXHRjb25zdCBtYWtlUm90YXRpb24gPSAoaW5kZXg/OiBudW1iZXIpID0+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0Y29weTogKHsgeCwgeSwgeiB9OiBWZWN0b3IzIHwgRXVsZXIpID0+IHtcblx0XHRcdFx0Y29uc3QgdXVpZCA9IGdldFVVSUQoYm9keSwgaW5kZXgpO1xuXHRcdFx0XHR1dWlkICYmIHdvcmtlci5zZXRSb3RhdGlvbih7IHByb3BzOiBbeCwgeSwgel0sIHV1aWQgfSk7XG5cdFx0XHR9LFxuXHRcdFx0c2V0OiAoeDogbnVtYmVyLCB5OiBudW1iZXIsIHo6IG51bWJlcikgPT4ge1xuXHRcdFx0XHRjb25zdCB1dWlkID0gZ2V0VVVJRChib2R5LCBpbmRleCk7XG5cdFx0XHRcdHV1aWQgJiYgd29ya2VyLnNldFJvdGF0aW9uKHsgcHJvcHM6IFt4LCB5LCB6XSwgdXVpZCB9KTtcblx0XHRcdH0sXG5cdFx0XHRzdWJzY3JpYmU6IChjYWxsYmFjazogKHZhbHVlOiBUcmlwbGV0KSA9PiB2b2lkKSA9PiB7XG5cdFx0XHRcdGNvbnN0IGlkID0gaW5jcmVtZW50aW5nSWQrKztcblx0XHRcdFx0Y29uc3QgdGFyZ2V0ID0gJ2JvZGllcyc7XG5cdFx0XHRcdGNvbnN0IHR5cGUgPSAncXVhdGVybmlvbic7XG5cdFx0XHRcdGNvbnN0IHV1aWQgPSBnZXRVVUlEKGJvZHksIGluZGV4KTtcblx0XHRcdFx0c3Vic2NyaXB0aW9uc1tpZF0gPSB7IFt0eXBlXTogcXVhdGVybmlvblRvUm90YXRpb24oY2FsbGJhY2spIH07XG5cdFx0XHRcdHV1aWQgJiYgd29ya2VyLnN1YnNjcmliZSh7IHByb3BzOiB7IGlkLCB0YXJnZXQsIHR5cGUgfSwgdXVpZCB9KTtcblx0XHRcdFx0cmV0dXJuICgpID0+IHtcblx0XHRcdFx0XHRkZWxldGUgc3Vic2NyaXB0aW9uc1tpZF07XG5cdFx0XHRcdFx0d29ya2VyLnVuc3Vic2NyaWJlKHsgcHJvcHM6IGlkIH0pO1xuXHRcdFx0XHR9O1xuXHRcdFx0fSxcblx0XHR9O1xuXHR9O1xuXHRjb25zdCBtYWtlVmVjID0gKHR5cGU6IFZlY3Rvck5hbWUsIGluZGV4PzogbnVtYmVyKSA9PiB7XG5cdFx0Y29uc3Qgb3A6IFNldE9wTmFtZTxWZWN0b3JOYW1lPiA9IGBzZXQke2NhcGl0YWxpemUodHlwZSl9YDtcblx0XHRyZXR1cm4ge1xuXHRcdFx0Y29weTogKHsgeCwgeSwgeiB9OiBWZWN0b3IzIHwgRXVsZXIpID0+IHtcblx0XHRcdFx0Y29uc3QgdXVpZCA9IGdldFVVSUQoYm9keSwgaW5kZXgpO1xuXHRcdFx0XHR1dWlkICYmIHdvcmtlcltvcF0oeyBwcm9wczogW3gsIHksIHpdLCB1dWlkIH0pO1xuXHRcdFx0fSxcblx0XHRcdHNldDogKHg6IG51bWJlciwgeTogbnVtYmVyLCB6OiBudW1iZXIpID0+IHtcblx0XHRcdFx0Y29uc3QgdXVpZCA9IGdldFVVSUQoYm9keSwgaW5kZXgpO1xuXHRcdFx0XHR1dWlkICYmIHdvcmtlcltvcF0oeyBwcm9wczogW3gsIHksIHpdLCB1dWlkIH0pO1xuXHRcdFx0fSxcblx0XHRcdHN1YnNjcmliZTogY3JlYXRlU3Vic2NyaWJlKGJvZHksIHdvcmtlciwgc3Vic2NyaXB0aW9ucywgdHlwZSwgaW5kZXgpLFxuXHRcdH07XG5cdH07XG5cblx0Y29uc3QgbWFrZVJlbW92ZSA9IChpbmRleD86IG51bWJlcikgPT4ge1xuXHRcdGNvbnN0IHV1aWQgPSBnZXRVVUlEKGJvZHksIGluZGV4KTtcblx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0aWYgKHV1aWQpIHdvcmtlci5yZW1vdmVCb2RpZXMoeyB1dWlkOiBbdXVpZF0gfSk7XG5cdFx0fTtcblx0fTtcblxuXHRmdW5jdGlvbiBtYWtlQXBpKGluZGV4PzogbnVtYmVyKTogTmd0Y1dvcmtlckFwaSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdGFsbG93U2xlZXA6IG1ha2VBdG9taWMoJ2FsbG93U2xlZXAnLCBpbmRleCksXG5cdFx0XHRhbmd1bGFyRGFtcGluZzogbWFrZUF0b21pYygnYW5ndWxhckRhbXBpbmcnLCBpbmRleCksXG5cdFx0XHRhbmd1bGFyRmFjdG9yOiBtYWtlVmVjKCdhbmd1bGFyRmFjdG9yJywgaW5kZXgpLFxuXHRcdFx0YW5ndWxhclZlbG9jaXR5OiBtYWtlVmVjKCdhbmd1bGFyVmVsb2NpdHknLCBpbmRleCksXG5cdFx0XHRhcHBseUZvcmNlKGZvcmNlOiBUcmlwbGV0LCB3b3JsZFBvaW50OiBUcmlwbGV0KSB7XG5cdFx0XHRcdGNvbnN0IHV1aWQgPSBnZXRVVUlEKGJvZHksIGluZGV4KTtcblx0XHRcdFx0dXVpZCAmJiB3b3JrZXIuYXBwbHlGb3JjZSh7IHByb3BzOiBbZm9yY2UsIHdvcmxkUG9pbnRdLCB1dWlkIH0pO1xuXHRcdFx0fSxcblx0XHRcdGFwcGx5SW1wdWxzZShpbXB1bHNlOiBUcmlwbGV0LCB3b3JsZFBvaW50OiBUcmlwbGV0KSB7XG5cdFx0XHRcdGNvbnN0IHV1aWQgPSBnZXRVVUlEKGJvZHksIGluZGV4KTtcblx0XHRcdFx0dXVpZCAmJiB3b3JrZXIuYXBwbHlJbXB1bHNlKHsgcHJvcHM6IFtpbXB1bHNlLCB3b3JsZFBvaW50XSwgdXVpZCB9KTtcblx0XHRcdH0sXG5cdFx0XHRhcHBseUxvY2FsRm9yY2UoZm9yY2U6IFRyaXBsZXQsIGxvY2FsUG9pbnQ6IFRyaXBsZXQpIHtcblx0XHRcdFx0Y29uc3QgdXVpZCA9IGdldFVVSUQoYm9keSwgaW5kZXgpO1xuXHRcdFx0XHR1dWlkICYmIHdvcmtlci5hcHBseUxvY2FsRm9yY2UoeyBwcm9wczogW2ZvcmNlLCBsb2NhbFBvaW50XSwgdXVpZCB9KTtcblx0XHRcdH0sXG5cdFx0XHRhcHBseUxvY2FsSW1wdWxzZShpbXB1bHNlOiBUcmlwbGV0LCBsb2NhbFBvaW50OiBUcmlwbGV0KSB7XG5cdFx0XHRcdGNvbnN0IHV1aWQgPSBnZXRVVUlEKGJvZHksIGluZGV4KTtcblx0XHRcdFx0dXVpZCAmJiB3b3JrZXIuYXBwbHlMb2NhbEltcHVsc2UoeyBwcm9wczogW2ltcHVsc2UsIGxvY2FsUG9pbnRdLCB1dWlkIH0pO1xuXHRcdFx0fSxcblx0XHRcdGFwcGx5VG9ycXVlKHRvcnF1ZTogVHJpcGxldCkge1xuXHRcdFx0XHRjb25zdCB1dWlkID0gZ2V0VVVJRChib2R5LCBpbmRleCk7XG5cdFx0XHRcdHV1aWQgJiYgd29ya2VyLmFwcGx5VG9ycXVlKHsgcHJvcHM6IFt0b3JxdWVdLCB1dWlkIH0pO1xuXHRcdFx0fSxcblx0XHRcdGNvbGxpc2lvbkZpbHRlckdyb3VwOiBtYWtlQXRvbWljKCdjb2xsaXNpb25GaWx0ZXJHcm91cCcsIGluZGV4KSxcblx0XHRcdGNvbGxpc2lvbkZpbHRlck1hc2s6IG1ha2VBdG9taWMoJ2NvbGxpc2lvbkZpbHRlck1hc2snLCBpbmRleCksXG5cdFx0XHRjb2xsaXNpb25SZXNwb25zZTogbWFrZUF0b21pYygnY29sbGlzaW9uUmVzcG9uc2UnLCBpbmRleCksXG5cdFx0XHRmaXhlZFJvdGF0aW9uOiBtYWtlQXRvbWljKCdmaXhlZFJvdGF0aW9uJywgaW5kZXgpLFxuXHRcdFx0aXNUcmlnZ2VyOiBtYWtlQXRvbWljKCdpc1RyaWdnZXInLCBpbmRleCksXG5cdFx0XHRsaW5lYXJEYW1waW5nOiBtYWtlQXRvbWljKCdsaW5lYXJEYW1waW5nJywgaW5kZXgpLFxuXHRcdFx0bGluZWFyRmFjdG9yOiBtYWtlVmVjKCdsaW5lYXJGYWN0b3InLCBpbmRleCksXG5cdFx0XHRtYXNzOiBtYWtlQXRvbWljKCdtYXNzJywgaW5kZXgpLFxuXHRcdFx0bWF0ZXJpYWw6IG1ha2VBdG9taWMoJ21hdGVyaWFsJywgaW5kZXgpLFxuXHRcdFx0cG9zaXRpb246IG1ha2VWZWMoJ3Bvc2l0aW9uJywgaW5kZXgpLFxuXHRcdFx0cXVhdGVybmlvbjogbWFrZVF1YXRlcm5pb24oaW5kZXgpLFxuXHRcdFx0cm90YXRpb246IG1ha2VSb3RhdGlvbihpbmRleCksXG5cdFx0XHRzY2FsZU92ZXJyaWRlKHNjYWxlKSB7XG5cdFx0XHRcdGNvbnN0IHV1aWQgPSBnZXRVVUlEKGJvZHksIGluZGV4KTtcblx0XHRcdFx0aWYgKHV1aWQpIHNjYWxlT3ZlcnJpZGVzW3V1aWRdID0gbmV3IFZlY3RvcjMoLi4uc2NhbGUpO1xuXHRcdFx0fSxcblx0XHRcdHNsZWVwKCkge1xuXHRcdFx0XHRjb25zdCB1dWlkID0gZ2V0VVVJRChib2R5LCBpbmRleCk7XG5cdFx0XHRcdHV1aWQgJiYgd29ya2VyLnNsZWVwKHsgdXVpZCB9KTtcblx0XHRcdH0sXG5cdFx0XHRzbGVlcFNwZWVkTGltaXQ6IG1ha2VBdG9taWMoJ3NsZWVwU3BlZWRMaW1pdCcsIGluZGV4KSxcblx0XHRcdHNsZWVwVGltZUxpbWl0OiBtYWtlQXRvbWljKCdzbGVlcFRpbWVMaW1pdCcsIGluZGV4KSxcblx0XHRcdHVzZXJEYXRhOiBtYWtlQXRvbWljKCd1c2VyRGF0YScsIGluZGV4KSxcblx0XHRcdHZlbG9jaXR5OiBtYWtlVmVjKCd2ZWxvY2l0eScsIGluZGV4KSxcblx0XHRcdHJlbW92ZTogbWFrZVJlbW92ZShpbmRleCksXG5cdFx0XHR3YWtlVXAoKSB7XG5cdFx0XHRcdGNvbnN0IHV1aWQgPSBnZXRVVUlEKGJvZHksIGluZGV4KTtcblx0XHRcdFx0dXVpZCAmJiB3b3JrZXIud2FrZVVwKHsgdXVpZCB9KTtcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXHRjb25zdCBjYWNoZTogUmVjb3JkPG51bWJlciwgTmd0Y1dvcmtlckFwaT4gPSB7fTtcblx0cmV0dXJuIHsgLi4ubWFrZUFwaSgpLCBhdDogKGluZGV4OiBudW1iZXIpID0+IGNhY2hlW2luZGV4XSB8fCAoY2FjaGVbaW5kZXhdID0gbWFrZUFwaShpbmRleCkpIH07XG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0VHJhbnNmb3JtQXJncyA9IHtcblx0UGxhbmU6IChfOiBQbGFuZVByb3BzWydhcmdzJ10pID0+IFtdLFxuXHRCb3g6IChhcmdzOiBCb3hQcm9wc1snYXJncyddID0gWzEsIDEsIDFdKSA9PiBhcmdzLFxuXHRUcmltZXNoOiAoYXJnczogVHJpbWVzaEFyZ3MpID0+IGFyZ3MsXG5cdEN5bGluZGVyOiAoXzogQ3lsaW5kZXJBcmdzID0gW10pID0+IFtdLFxuXHRIZWlnaHRmaWVsZDogKGFyZ3M6IEhlaWdodGZpZWxkQXJncykgPT4gYXJncyxcblx0Q29udmV4UG9seWhlZHJvbjogKFt2ZXJ0aWNlcywgZmFjZXMsIG5vcm1hbHMsIGF4ZXMsIGJvdW5kaW5nU3BoZXJlUmFkaXVzXTogQ29udmV4UG9seWhlZHJvbkFyZ3MgPSBbXSkgPT4gW1xuXHRcdHZlcnRpY2VzICYmIHZlcnRpY2VzLm1hcChtYWtlVHJpcGxldCksXG5cdFx0ZmFjZXMsXG5cdFx0bm9ybWFscyAmJiBub3JtYWxzLm1hcChtYWtlVHJpcGxldCksXG5cdFx0YXhlcyAmJiBheGVzLm1hcChtYWtlVHJpcGxldCksXG5cdFx0Ym91bmRpbmdTcGhlcmVSYWRpdXMsXG5cdF0sXG5cdFBhcnRpY2xlOiAoXzogUGFydGljbGVQcm9wc1snYXJncyddKSA9PiBbXSxcblx0U3BoZXJlOiAoYXJnczogU3BoZXJlQXJncyA9IFsxXSkgPT4ge1xuXHRcdGlmICghQXJyYXkuaXNBcnJheShhcmdzKSkgdGhyb3cgbmV3IEVycm9yKCdTcGhlcmUgYm9keSBhcmdzIG11c3QgYmUgYW4gYXJyYXknKTtcblx0XHRyZXR1cm4gW2FyZ3NbMF1dO1xuXHR9LFxuXHRDb21wb3VuZDogKGFyZ3M6IENvbXBvdW5kQm9keVByb3BzWydhcmdzJ10pID0+IGFyZ3MsXG59O1xuIl19
193
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nhbm5vbi9ib2R5L3NyYy9saWIvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUJBLE9BQU8sRUFBRSxLQUFLLEVBQVksVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUc3RCxTQUFTLFVBQVUsQ0FBbUIsR0FBTTtJQUMzQyxPQUFPLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFrQixDQUFDO0FBQ3RFLENBQUM7QUFFRCxTQUFTLE9BQU8sQ0FBQyxJQUFjLEVBQUUsS0FBYztJQUM5QyxNQUFNLE1BQU0sR0FBRyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksS0FBSyxFQUFFLENBQUM7SUFDdEQsSUFBSSxPQUFPLElBQUksS0FBSyxVQUFVO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFDNUMsT0FBTyxJQUFJLElBQUksSUFBSSxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLEVBQUUsQ0FBQztBQUNoRCxDQUFDO0FBRUQsTUFBTSxDQUFDLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztBQUN0QixNQUFNLENBQUMsR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO0FBRTNCLFNBQVMsb0JBQW9CLENBQUMsUUFBOEI7SUFDM0QsT0FBTyxDQUFDLENBQU8sRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFhLENBQUMsQ0FBQztBQUN4RixDQUFDO0FBRUQsSUFBSSxjQUFjLEdBQUcsQ0FBQyxDQUFDO0FBQ3ZCLE1BQU0sVUFBVSxlQUFl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RSxFQUFFLENBQUMsRUFBRTtJQUNwQyxHQUFHLEVBQUUsQ0FBQyxPQUF5QixDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUk7SUFDakQsT0FBTyxFQUFFLENBQUMsSUFBaUIsRUFBRSxFQUFFLENBQUMsSUFBSTtJQUNwQyxRQUFRLEVBQUUsQ0FBQyxJQUFrQixFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUU7SUFDdEMsV0FBVyxFQUFFLENBQUMsSUFBcUIsRUFBRSxFQUFFLENBQUMsSUFBSTtJQUM1QyxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixJQUEwQixFQUFFLEVBQUUsRUFBRSxDQUFDO1FBQ3hHLFFBQVEsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUNyQyxLQUFLO1FBQ0wsT0FBTyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDO1FBQ25DLElBQUksSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUM3QixvQkFBb0I7S0FDcEI7SUFDRCxRQUFRLEVBQUUsQ0FBQyxDQUF3QixFQUFFLEVBQUUsQ0FBQyxFQUFFO0lBQzFDLE1BQU0sRUFBRSxDQUFDLE9BQW1CLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtRQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7UUFDL0UsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xCLENBQUM7SUFDRCxRQUFRLEVBQUUsQ0FBQyxJQUErQixFQUFFLEVBQUUsQ0FBQyxJQUFJO0NBQ25ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRBdG9taWNOYW1lLFxuXHRCb2R5UHJvcHMsXG5cdEJveFByb3BzLFxuXHRDYW5ub25Xb3JrZXJBUEksXG5cdENvbXBvdW5kQm9keVByb3BzLFxuXHRDb252ZXhQb2x5aGVkcm9uQXJncyxcblx0Q3lsaW5kZXJBcmdzLFxuXHRIZWlnaHRmaWVsZEFyZ3MsXG5cdFBhcnRpY2xlUHJvcHMsXG5cdFBsYW5lUHJvcHMsXG5cdFByb3BWYWx1ZSxcblx0UXVhZCxcblx0U2V0T3BOYW1lLFxuXHRTcGhlcmVBcmdzLFxuXHRTdWJzY3JpcHRpb25OYW1lLFxuXHRTdWJzY3JpcHRpb25UYXJnZXQsXG5cdFN1YnNjcmlwdGlvbnMsXG5cdFRyaW1lc2hBcmdzLFxuXHRUcmlwbGV0LFxuXHRWZWN0b3JOYW1lLFxufSBmcm9tICdAcG1uZHJzL2Nhbm5vbi13b3JrZXItYXBpJztcbmltcG9ydCB7IE5ndGNDYW5ub25FdmVudHMsIE5ndGNQaHlzaWNzIH0gZnJvbSAnYW5ndWxhci10aHJlZS1jYW5ub24nO1xuaW1wb3J0IHsgRXVsZXIsIE9iamVjdDNELCBRdWF0ZXJuaW9uLCBWZWN0b3IzIH0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgTmd0Y1dvcmtlckFwaSB9IGZyb20gJy4vdHlwZXMnO1xuXG5mdW5jdGlvbiBjYXBpdGFsaXplPFQgZXh0ZW5kcyBzdHJpbmc+KHN0cjogVCk6IENhcGl0YWxpemU8VD4ge1xuXHRyZXR1cm4gKHN0ci5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHN0ci5zbGljZSgxKSkgYXMgQ2FwaXRhbGl6ZTxUPjtcbn1cblxuZnVuY3Rpb24gZ2V0VVVJRChib2R5OiBPYmplY3QzRCwgaW5kZXg/OiBudW1iZXIpIHtcblx0Y29uc3Qgc3VmZml4ID0gaW5kZXggPT09IHVuZGVmaW5lZCA/ICcnIDogYC8ke2luZGV4fWA7XG5cdGlmICh0eXBlb2YgYm9keSA9PT0gJ2Z1bmN0aW9uJykgcmV0dXJuIG51bGw7XG5cdHJldHVybiBib2R5ICYmIGJvZHkgJiYgYCR7Ym9keS51dWlkfSR7c3VmZml4fWA7XG59XG5cbmNvbnN0IGUgPSBuZXcgRXVsZXIoKTtcbmNvbnN0IHEgPSBuZXcgUXVhdGVybmlvbigpO1xuXG5mdW5jdGlvbiBxdWF0ZXJuaW9uVG9Sb3RhdGlvbihjYWxsYmFjazogKHY6IFRyaXBsZXQpID0+IHZvaWQpIHtcblx0cmV0dXJuICh2OiBRdWFkKSA9PiBjYWxsYmFjayhlLnNldEZyb21RdWF0ZXJuaW9uKHEuZnJvbUFycmF5KHYpKS50b0FycmF5KCkgYXMgVHJpcGxldCk7XG59XG5cbmxldCBpbmNyZW1lbnRpbmdJZCA9IDA7XG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU3Vic2NyaWJlPFQgZXh0ZW5kcyBTdWJzY3JpcHRpb25OYW1lPihcblx0Ym9keTogT2JqZWN0M0QsXG5cdHdvcmtlcjogQ2Fubm9uV29ya2VyQVBJLFxuXHRzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25zLFxuXHR0eXBlOiBULFxuXHRpbmRleD86IG51bWJlcixcblx0dGFyZ2V0OiBTdWJzY3JpcHRpb25UYXJnZXQgPSAnYm9kaWVzJyxcbikge1xuXHRyZXR1cm4gKGNhbGxiYWNrOiAodmFsdWU6IFByb3BWYWx1ZTxUPikgPT4gdm9pZCkgPT4ge1xuXHRcdGNvbnN0IGlkID0gaW5jcmVtZW50aW5nSWQrKztcblx0XHRzdWJzY3JpcHRpb25zW2lkXSA9IHsgW3R5cGVdOiBjYWxsYmFjayB9O1xuXHRcdGNvbnN0IHV1aWQgPSBnZXRVVUlEKGJvZHksIGluZGV4KTtcblx0XHR1dWlkICYmIHdvcmtlci5zdWJzY3JpYmUoeyBwcm9wczogeyBpZCwgdGFyZ2V0LCB0eXBlIH0sIHV1aWQgfSk7XG5cdFx0cmV0dXJuICgpID0+IHtcblx0XHRcdGRlbGV0ZSBzdWJzY3JpcHRpb25zW2lkXTtcblx0XHRcdHdvcmtlci51bnN1YnNjcmliZSh7IHByb3BzOiBpZCB9KTtcblx0XHR9O1xuXHR9O1xufVxuXG5mdW5jdGlvbiBtYWtlVHJpcGxldCh2OiBWZWN0b3IzIHwgVHJpcGxldCk6IFRyaXBsZXQge1xuXHRyZXR1cm4gdiBpbnN0YW5jZW9mIFZlY3RvcjMgPyBbdi54LCB2LnksIHYuel0gOiB2O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJlcGFyZShvYmplY3Q6IE9iamVjdDNELCB7IHBvc2l0aW9uID0gWzAsIDAsIDBdLCByb3RhdGlvbiA9IFswLCAwLCAwXSwgdXNlckRhdGEgPSB7fSB9OiBCb2R5UHJvcHMpIHtcblx0b2JqZWN0LnVzZXJEYXRhID0gdXNlckRhdGE7XG5cdG9iamVjdC5wb3NpdGlvbi5zZXQoLi4ucG9zaXRpb24pO1xuXHRvYmplY3Qucm90YXRpb24uc2V0KC4uLnJvdGF0aW9uKTtcblx0b2JqZWN0LnVwZGF0ZU1hdHJpeCgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2V0dXBDb2xsaXNpb24oXG5cdGV2ZW50czogTmd0Y0Nhbm5vbkV2ZW50cyxcblx0eyBvbkNvbGxpZGUsIG9uQ29sbGlkZUJlZ2luLCBvbkNvbGxpZGVFbmQgfTogUGFydGlhbDxCb2R5UHJvcHM+LFxuXHR1dWlkOiBzdHJpbmcsXG4pIHtcblx0ZXZlbnRzW3V1aWRdID0geyBjb2xsaWRlOiBvbkNvbGxpZGUsIGNvbGxpZGVCZWdpbjogb25Db2xsaWRlQmVnaW4sIGNvbGxpZGVFbmQ6IG9uQ29sbGlkZUVuZCB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWFrZUJvZHlBcGkoXG5cdGJvZHk6IE9iamVjdDNELFxuXHR3b3JrZXI6IENhbm5vbldvcmtlckFQSSxcblx0eyBzdWJzY3JpcHRpb25zLCBzY2FsZU92ZXJyaWRlcyB9OiBQaWNrPE5ndGNQaHlzaWNzLCAnc3Vic2NyaXB0aW9ucycgfCAnc2NhbGVPdmVycmlkZXMnPixcbikge1xuXHRjb25zdCBtYWtlQXRvbWljID0gPFQgZXh0ZW5kcyBBdG9taWNOYW1lPih0eXBlOiBULCBpbmRleD86IG51bWJlcikgPT4ge1xuXHRcdGNvbnN0IG9wOiBTZXRPcE5hbWU8VD4gPSBgc2V0JHtjYXBpdGFsaXplKHR5cGUpfWA7XG5cblx0XHRyZXR1cm4ge1xuXHRcdFx0c2V0OiAodmFsdWU6IFByb3BWYWx1ZTxUPikgPT4ge1xuXHRcdFx0XHRjb25zdCB1dWlkID0gZ2V0VVVJRChib2R5LCBpbmRleCk7XG5cdFx0XHRcdHV1aWQgJiYgd29ya2VyW29wXSh7IHByb3BzOiB2YWx1ZSwgdXVpZCB9IGFzIG5ldmVyKTtcblx0XHRcdH0sXG5cdFx0XHRzdWJzY3JpYmU6IGNyZWF0ZVN1YnNjcmliZShib2R5LCB3b3JrZXIsIHN1YnNjcmlwdGlvbnMsIHR5cGUsIGluZGV4KSxcblx0XHR9O1xuXHR9O1xuXG5cdGNvbnN0IG1ha2VRdWF0ZXJuaW9uID0gKGluZGV4PzogbnVtYmVyKSA9PiB7XG5cdFx0Y29uc3QgdHlwZSA9ICdxdWF0ZXJuaW9uJztcblx0XHRyZXR1cm4ge1xuXHRcdFx0Y29weTogKHsgdywgeCwgeSwgeiB9OiBRdWF0ZXJuaW9uKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHV1aWQgPSBnZXRVVUlEKGJvZHksIGluZGV4KTtcblx0XHRcdFx0dXVpZCAmJiB3b3JrZXIuc2V0UXVhdGVybmlvbih7IHByb3BzOiBbeCwgeSwgeiwgd10sIHV1aWQgfSk7XG5cdFx0XHR9LFxuXHRcdFx0c2V0OiAoeDogbnVtYmVyLCB5OiBudW1iZXIsIHo6IG51bWJlciwgdzogbnVtYmVyKSA9PiB7XG5cdFx0XHRcdGNvbnN0IHV1aWQgPSBnZXRVVUlEKGJvZHksIGluZGV4KTtcblx0XHRcdFx0dXVpZCAmJiB3b3JrZXIuc2V0UXVhdGVybmlvbih7IHByb3BzOiBbeCwgeSwgeiwgd10sIHV1aWQgfSk7XG5cdFx0XHR9LFxuXHRcdFx0c3Vic2NyaWJlOiBjcmVhdGVTdWJzY3JpYmUoYm9keSwgd29ya2VyLCBzdWJzY3JpcHRpb25zLCB0eXBlLCBpbmRleCksXG5cdFx0fTtcblx0fTtcblxuXHRjb25zdCBtYWtlUm90YXRpb24gPSAoaW5kZXg/OiBudW1iZXIpID0+IHtcblx0XHRyZXR1cm4ge1xuXHRcdFx0Y29weTogKHsgeCwgeSwgeiB9OiBWZWN0b3IzIHwgRXVsZXIpID0+IHtcblx0XHRcdFx0Y29uc3QgdXVpZCA9IGdldFVVSUQoYm9keSwgaW5kZXgpO1xuXHRcdFx0XHR1dWlkICYmIHdvcmtlci5zZXRSb3RhdGlvbih7IHByb3BzOiBbeCwgeSwgel0sIHV1aWQgfSk7XG5cdFx0XHR9LFxuXHRcdFx0c2V0OiAoeDogbnVtYmVyLCB5OiBudW1iZXIsIHo6IG51bWJlcikgPT4ge1xuXHRcdFx0XHRjb25zdCB1dWlkID0gZ2V0VVVJRChib2R5LCBpbmRleCk7XG5cdFx0XHRcdHV1aWQgJiYgd29ya2VyLnNldFJvdGF0aW9uKHsgcHJvcHM6IFt4LCB5LCB6XSwgdXVpZCB9KTtcblx0XHRcdH0sXG5cdFx0XHRzdWJzY3JpYmU6IChjYWxsYmFjazogKHZhbHVlOiBUcmlwbGV0KSA9PiB2b2lkKSA9PiB7XG5cdFx0XHRcdGNvbnN0IGlkID0gaW5jcmVtZW50aW5nSWQrKztcblx0XHRcdFx0Y29uc3QgdGFyZ2V0ID0gJ2JvZGllcyc7XG5cdFx0XHRcdGNvbnN0IHR5cGUgPSAncXVhdGVybmlvbic7XG5cdFx0XHRcdGNvbnN0IHV1aWQgPSBnZXRVVUlEKGJvZHksIGluZGV4KTtcblx0XHRcdFx0c3Vic2NyaXB0aW9uc1tpZF0gPSB7IFt0eXBlXTogcXVhdGVybmlvblRvUm90YXRpb24oY2FsbGJhY2spIH07XG5cdFx0XHRcdHV1aWQgJiYgd29ya2VyLnN1YnNjcmliZSh7IHByb3BzOiB7IGlkLCB0YXJnZXQsIHR5cGUgfSwgdXVpZCB9KTtcblx0XHRcdFx0cmV0dXJuICgpID0+IHtcblx0XHRcdFx0XHRkZWxldGUgc3Vic2NyaXB0aW9uc1tpZF07XG5cdFx0XHRcdFx0d29ya2VyLnVuc3Vic2NyaWJlKHsgcHJvcHM6IGlkIH0pO1xuXHRcdFx0XHR9O1xuXHRcdFx0fSxcblx0XHR9O1xuXHR9O1xuXHRjb25zdCBtYWtlVmVjID0gKHR5cGU6IFZlY3Rvck5hbWUsIGluZGV4PzogbnVtYmVyKSA9PiB7XG5cdFx0Y29uc3Qgb3A6IFNldE9wTmFtZTxWZWN0b3JOYW1lPiA9IGBzZXQke2NhcGl0YWxpemUodHlwZSl9YDtcblx0XHRyZXR1cm4ge1xuXHRcdFx0Y29weTogKHsgeCwgeSwgeiB9OiBWZWN0b3IzIHwgRXVsZXIpID0+IHtcblx0XHRcdFx0Y29uc3QgdXVpZCA9IGdldFVVSUQoYm9keSwgaW5kZXgpO1xuXHRcdFx0XHR1dWlkICYmIHdvcmtlcltvcF0oeyBwcm9wczogW3gsIHksIHpdLCB1dWlkIH0pO1xuXHRcdFx0fSxcblx0XHRcdHNldDogKHg6IG51bWJlciwgeTogbnVtYmVyLCB6OiBudW1iZXIpID0+IHtcblx0XHRcdFx0Y29uc3QgdXVpZCA9IGdldFVVSUQoYm9keSwgaW5kZXgpO1xuXHRcdFx0XHR1dWlkICYmIHdvcmtlcltvcF0oeyBwcm9wczogW3gsIHksIHpdLCB1dWlkIH0pO1xuXHRcdFx0fSxcblx0XHRcdHN1YnNjcmliZTogY3JlYXRlU3Vic2NyaWJlKGJvZHksIHdvcmtlciwgc3Vic2NyaXB0aW9ucywgdHlwZSwgaW5kZXgpLFxuXHRcdH07XG5cdH07XG5cblx0Y29uc3QgbWFrZVJlbW92ZSA9IChpbmRleD86IG51bWJlcikgPT4ge1xuXHRcdGNvbnN0IHV1aWQgPSBnZXRVVUlEKGJvZHksIGluZGV4KTtcblx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0aWYgKHV1aWQpIHdvcmtlci5yZW1vdmVCb2RpZXMoeyB1dWlkOiBbdXVpZF0gfSk7XG5cdFx0fTtcblx0fTtcblxuXHRmdW5jdGlvbiBtYWtlQXBpKGluZGV4PzogbnVtYmVyKTogTmd0Y1dvcmtlckFwaSB7XG5cdFx0cmV0dXJuIHtcblx0XHRcdGFsbG93U2xlZXA6IG1ha2VBdG9taWMoJ2FsbG93U2xlZXAnLCBpbmRleCksXG5cdFx0XHRhbmd1bGFyRGFtcGluZzogbWFrZUF0b21pYygnYW5ndWxhckRhbXBpbmcnLCBpbmRleCksXG5cdFx0XHRhbmd1bGFyRmFjdG9yOiBtYWtlVmVjKCdhbmd1bGFyRmFjdG9yJywgaW5kZXgpLFxuXHRcdFx0YW5ndWxhclZlbG9jaXR5OiBtYWtlVmVjKCdhbmd1bGFyVmVsb2NpdHknLCBpbmRleCksXG5cdFx0XHRhcHBseUZvcmNlKGZvcmNlOiBUcmlwbGV0LCB3b3JsZFBvaW50OiBUcmlwbGV0KSB7XG5cdFx0XHRcdGNvbnN0IHV1aWQgPSBnZXRVVUlEKGJvZHksIGluZGV4KTtcblx0XHRcdFx0dXVpZCAmJiB3b3JrZXIuYXBwbHlGb3JjZSh7IHByb3BzOiBbZm9yY2UsIHdvcmxkUG9pbnRdLCB1dWlkIH0pO1xuXHRcdFx0fSxcblx0XHRcdGFwcGx5SW1wdWxzZShpbXB1bHNlOiBUcmlwbGV0LCB3b3JsZFBvaW50OiBUcmlwbGV0KSB7XG5cdFx0XHRcdGNvbnN0IHV1aWQgPSBnZXRVVUlEKGJvZHksIGluZGV4KTtcblx0XHRcdFx0dXVpZCAmJiB3b3JrZXIuYXBwbHlJbXB1bHNlKHsgcHJvcHM6IFtpbXB1bHNlLCB3b3JsZFBvaW50XSwgdXVpZCB9KTtcblx0XHRcdH0sXG5cdFx0XHRhcHBseUxvY2FsRm9yY2UoZm9yY2U6IFRyaXBsZXQsIGxvY2FsUG9pbnQ6IFRyaXBsZXQpIHtcblx0XHRcdFx0Y29uc3QgdXVpZCA9IGdldFVVSUQoYm9keSwgaW5kZXgpO1xuXHRcdFx0XHR1dWlkICYmIHdvcmtlci5hcHBseUxvY2FsRm9yY2UoeyBwcm9wczogW2ZvcmNlLCBsb2NhbFBvaW50XSwgdXVpZCB9KTtcblx0XHRcdH0sXG5cdFx0XHRhcHBseUxvY2FsSW1wdWxzZShpbXB1bHNlOiBUcmlwbGV0LCBsb2NhbFBvaW50OiBUcmlwbGV0KSB7XG5cdFx0XHRcdGNvbnN0IHV1aWQgPSBnZXRVVUlEKGJvZHksIGluZGV4KTtcblx0XHRcdFx0dXVpZCAmJiB3b3JrZXIuYXBwbHlMb2NhbEltcHVsc2UoeyBwcm9wczogW2ltcHVsc2UsIGxvY2FsUG9pbnRdLCB1dWlkIH0pO1xuXHRcdFx0fSxcblx0XHRcdGFwcGx5VG9ycXVlKHRvcnF1ZTogVHJpcGxldCkge1xuXHRcdFx0XHRjb25zdCB1dWlkID0gZ2V0VVVJRChib2R5LCBpbmRleCk7XG5cdFx0XHRcdHV1aWQgJiYgd29ya2VyLmFwcGx5VG9ycXVlKHsgcHJvcHM6IFt0b3JxdWVdLCB1dWlkIH0pO1xuXHRcdFx0fSxcblx0XHRcdGNvbGxpc2lvbkZpbHRlckdyb3VwOiBtYWtlQXRvbWljKCdjb2xsaXNpb25GaWx0ZXJHcm91cCcsIGluZGV4KSxcblx0XHRcdGNvbGxpc2lvbkZpbHRlck1hc2s6IG1ha2VBdG9taWMoJ2NvbGxpc2lvbkZpbHRlck1hc2snLCBpbmRleCksXG5cdFx0XHRjb2xsaXNpb25SZXNwb25zZTogbWFrZUF0b21pYygnY29sbGlzaW9uUmVzcG9uc2UnLCBpbmRleCksXG5cdFx0XHRmaXhlZFJvdGF0aW9uOiBtYWtlQXRvbWljKCdmaXhlZFJvdGF0aW9uJywgaW5kZXgpLFxuXHRcdFx0aXNUcmlnZ2VyOiBtYWtlQXRvbWljKCdpc1RyaWdnZXInLCBpbmRleCksXG5cdFx0XHRsaW5lYXJEYW1waW5nOiBtYWtlQXRvbWljKCdsaW5lYXJEYW1waW5nJywgaW5kZXgpLFxuXHRcdFx0bGluZWFyRmFjdG9yOiBtYWtlVmVjKCdsaW5lYXJGYWN0b3InLCBpbmRleCksXG5cdFx0XHRtYXNzOiBtYWtlQXRvbWljKCdtYXNzJywgaW5kZXgpLFxuXHRcdFx0bWF0ZXJpYWw6IG1ha2VBdG9taWMoJ21hdGVyaWFsJywgaW5kZXgpLFxuXHRcdFx0cG9zaXRpb246IG1ha2VWZWMoJ3Bvc2l0aW9uJywgaW5kZXgpLFxuXHRcdFx0cXVhdGVybmlvbjogbWFrZVF1YXRlcm5pb24oaW5kZXgpLFxuXHRcdFx0cm90YXRpb246IG1ha2VSb3RhdGlvbihpbmRleCksXG5cdFx0XHRzY2FsZU92ZXJyaWRlKHNjYWxlKSB7XG5cdFx0XHRcdGNvbnN0IHV1aWQgPSBnZXRVVUlEKGJvZHksIGluZGV4KTtcblx0XHRcdFx0aWYgKHV1aWQpIHNjYWxlT3ZlcnJpZGVzW3V1aWRdID0gbmV3IFZlY3RvcjMoLi4uc2NhbGUpO1xuXHRcdFx0fSxcblx0XHRcdHNsZWVwKCkge1xuXHRcdFx0XHRjb25zdCB1dWlkID0gZ2V0VVVJRChib2R5LCBpbmRleCk7XG5cdFx0XHRcdHV1aWQgJiYgd29ya2VyLnNsZWVwKHsgdXVpZCB9KTtcblx0XHRcdH0sXG5cdFx0XHRzbGVlcFNwZWVkTGltaXQ6IG1ha2VBdG9taWMoJ3NsZWVwU3BlZWRMaW1pdCcsIGluZGV4KSxcblx0XHRcdHNsZWVwVGltZUxpbWl0OiBtYWtlQXRvbWljKCdzbGVlcFRpbWVMaW1pdCcsIGluZGV4KSxcblx0XHRcdHVzZXJEYXRhOiBtYWtlQXRvbWljKCd1c2VyRGF0YScsIGluZGV4KSxcblx0XHRcdHZlbG9jaXR5OiBtYWtlVmVjKCd2ZWxvY2l0eScsIGluZGV4KSxcblx0XHRcdHJlbW92ZTogbWFrZVJlbW92ZShpbmRleCksXG5cdFx0XHR3YWtlVXAoKSB7XG5cdFx0XHRcdGNvbnN0IHV1aWQgPSBnZXRVVUlEKGJvZHksIGluZGV4KTtcblx0XHRcdFx0dXVpZCAmJiB3b3JrZXIud2FrZVVwKHsgdXVpZCB9KTtcblx0XHRcdH0sXG5cdFx0fTtcblx0fVxuXHRjb25zdCBjYWNoZTogUmVjb3JkPG51bWJlciwgTmd0Y1dvcmtlckFwaT4gPSB7fTtcblx0cmV0dXJuIHsgLi4ubWFrZUFwaSgpLCBhdDogKGluZGV4OiBudW1iZXIpID0+IGNhY2hlW2luZGV4XSB8fCAoY2FjaGVbaW5kZXhdID0gbWFrZUFwaShpbmRleCkpIH07XG59XG5cbmV4cG9ydCBjb25zdCBkZWZhdWx0VHJhbnNmb3JtQXJncyA9IHtcblx0UGxhbmU6IChfOiBQbGFuZVByb3BzWydhcmdzJ10pID0+IFtdLFxuXHRCb3g6IChhcmdzOiBCb3hQcm9wc1snYXJncyddID0gWzEsIDEsIDFdKSA9PiBhcmdzLFxuXHRUcmltZXNoOiAoYXJnczogVHJpbWVzaEFyZ3MpID0+IGFyZ3MsXG5cdEN5bGluZGVyOiAoXzogQ3lsaW5kZXJBcmdzID0gW10pID0+IFtdLFxuXHRIZWlnaHRmaWVsZDogKGFyZ3M6IEhlaWdodGZpZWxkQXJncykgPT4gYXJncyxcblx0Q29udmV4UG9seWhlZHJvbjogKFt2ZXJ0aWNlcywgZmFjZXMsIG5vcm1hbHMsIGF4ZXMsIGJvdW5kaW5nU3BoZXJlUmFkaXVzXTogQ29udmV4UG9seWhlZHJvbkFyZ3MgPSBbXSkgPT4gW1xuXHRcdHZlcnRpY2VzICYmIHZlcnRpY2VzLm1hcChtYWtlVHJpcGxldCksXG5cdFx0ZmFjZXMsXG5cdFx0bm9ybWFscyAmJiBub3JtYWxzLm1hcChtYWtlVHJpcGxldCksXG5cdFx0YXhlcyAmJiBheGVzLm1hcChtYWtlVHJpcGxldCksXG5cdFx0Ym91bmRpbmdTcGhlcmVSYWRpdXMsXG5cdF0sXG5cdFBhcnRpY2xlOiAoXzogUGFydGljbGVQcm9wc1snYXJncyddKSA9PiBbXSxcblx0U3BoZXJlOiAoYXJnczogU3BoZXJlQXJncyA9IFsxXSkgPT4ge1xuXHRcdGlmICghQXJyYXkuaXNBcnJheShhcmdzKSkgdGhyb3cgbmV3IEVycm9yKCdTcGhlcmUgYm9keSBhcmdzIG11c3QgYmUgYW4gYXJyYXknKTtcblx0XHRyZXR1cm4gW2FyZ3NbMF1dO1xuXHR9LFxuXHRDb21wb3VuZDogKGFyZ3M6IENvbXBvdW5kQm9keVByb3BzWydhcmdzJ10pID0+IGFyZ3MsXG59O1xuIl19
@@ -11,13 +11,13 @@ function injectConstraint(type, bodyA, bodyB, { injector, options = {}, disableO
11
11
  if (!physics) {
12
12
  throw new Error(`[NGT Cannon] injectConstraint was called outside of <ngtc-physics>`);
13
13
  }
14
- const worker = physics.api.worker;
14
+ const worker = physics.worker;
15
15
  const uuid = makeId();
16
16
  const bodyARef = isSignal(bodyA) ? bodyA : signal(bodyA);
17
17
  const bodyBRef = isSignal(bodyB) ? bodyB : signal(bodyB);
18
18
  const bodyAValue = computed(() => resolveRef(bodyARef()));
19
19
  const bodyBValue = computed(() => resolveRef(bodyBRef()));
20
- const api = computed(() => {
20
+ const constraintApi = computed(() => {
21
21
  const _worker = worker();
22
22
  if (!_worker)
23
23
  return null;
@@ -42,7 +42,7 @@ function injectConstraint(type, bodyA, bodyB, { injector, options = {}, disableO
42
42
  const currentWorker = worker();
43
43
  if (!currentWorker)
44
44
  return;
45
- const [a, b] = [bodyAValue(), bodyBValue()];
45
+ const [a, b, api] = [bodyAValue(), bodyBValue(), untracked(constraintApi)];
46
46
  if (!a || !b)
47
47
  return;
48
48
  currentWorker.addConstraint({
@@ -52,11 +52,11 @@ function injectConstraint(type, bodyA, bodyB, { injector, options = {}, disableO
52
52
  });
53
53
  if (disableOnStart && !alreadyDisabled) {
54
54
  alreadyDisabled = true;
55
- untracked(api)?.disable();
55
+ api?.disable();
56
56
  }
57
57
  onCleanup(() => currentWorker.removeConstraint({ uuid }));
58
58
  });
59
- return api;
59
+ return constraintApi;
60
60
  });
61
61
  }
62
62
  export const injectPointToPoint = createInjectConstraint('PointToPoint');
@@ -64,4 +64,4 @@ export const injectConeTwist = createInjectConstraint('ConeTwist');
64
64
  export const injectDistance = createInjectConstraint('Distance');
65
65
  export const injectLock = createInjectConstraint('Lock');
66
66
  export const injectHinge = createInjectConstraint('Hinge');
67
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RyYWludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2Fubm9uL2NvbnN0cmFpbnQvc3JjL2xpYi9jb25zdHJhaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0MsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTcEgsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQWtDNUQsU0FBUyxzQkFBc0IsQ0FBZ0QsSUFBaUI7SUFDL0YsT0FBTyxDQUNOLEtBQWdFLEVBQ2hFLEtBQWdFLEVBQ2hFLE9BQTRDLEVBQzNDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBb0IsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDdkUsQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBS3hCLElBQWlCLEVBQ2pCLEtBQWdFLEVBQ2hFLEtBQWdFLEVBQ2hFLEVBQ0MsUUFBUSxFQUNSLE9BQU8sR0FBRyxFQUEyQyxFQUNyRCxjQUFjLEdBQUcsS0FBSyxNQUNpQixFQUFFO0lBRTFDLE9BQU8sY0FBYyxDQUFDLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUU7UUFDdEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXhELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsb0VBQW9FLENBQUMsQ0FBQztRQUN2RixDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFFbEMsTUFBTSxJQUFJLEdBQUcsTUFBTSxFQUFFLENBQUM7UUFDdEIsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6RCxNQUFNLFFBQVEsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pELE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzFELE1BQU0sVUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTFELE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDekIsTUFBTSxPQUFPLEdBQUcsTUFBTSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLE9BQU87Z0JBQUUsT0FBTyxJQUFJLENBQUM7WUFFMUIsTUFBTSxhQUFhLEdBQUc7Z0JBQ3JCLE9BQU8sRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQztnQkFDbEQsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO2dCQUNoRCxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUM7YUFDaEQsQ0FBQztZQUNGLElBQUksSUFBSSxLQUFLLE9BQU8sRUFBRSxDQUFDO2dCQUN0QixPQUFPO29CQUNOLEdBQUcsYUFBYTtvQkFDaEIsWUFBWSxFQUFFLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDO29CQUM1RCxXQUFXLEVBQUUsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLHFCQUFxQixDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUM7b0JBQzFELGdCQUFnQixFQUFFLENBQUMsS0FBYSxFQUFFLEVBQUUsQ0FBQyxPQUFPLENBQUMsMEJBQTBCLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO29CQUMvRixhQUFhLEVBQUUsQ0FBQyxLQUFhLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7aUJBQy9ELENBQUM7WUFDN0IsQ0FBQztZQUNELE9BQU8sYUFBa0MsQ0FBQztRQUMzQyxDQUFDLENBQUMsQ0FBQztRQUVILElBQUksZUFBZSxHQUFHLEtBQUssQ0FBQztRQUM1QixNQUFNLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRTtZQUNwQixNQUFNLGFBQWEsR0FBRyxNQUFNLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsYUFBYTtnQkFBRSxPQUFPO1lBRTNCLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUFFLE9BQU87WUFFckIsYUFBYSxDQUFDLGFBQWEsQ0FBQztnQkFDM0IsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQztnQkFDaEMsSUFBSTtnQkFDSixJQUFJO2FBQ0osQ0FBQyxDQUFDO1lBRUgsSUFBSSxjQUFjLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztnQkFDeEMsZUFBZSxHQUFHLElBQUksQ0FBQztnQkFDdkIsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQzNCLENBQUM7WUFFRCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzNELENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxHQUFHLENBQUM7SUFDWixDQUFDLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxzQkFBc0IsQ0FBQyxjQUFjLENBQUMsQ0FBQztBQUN6RSxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsc0JBQXNCLENBQUMsV0FBVyxDQUFDLENBQUM7QUFDbkUsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLHNCQUFzQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztBQUN6RCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsc0JBQXNCLENBQUMsT0FBTyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RvciwgU2lnbmFsLCBjb21wdXRlZCwgZWZmZWN0LCBpbmplY3QsIGlzU2lnbmFsLCBzaWduYWwsIHVudHJhY2tlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcblx0Q29uZVR3aXN0Q29uc3RyYWludE9wdHMsXG5cdENvbnN0cmFpbnRUeXBlcyxcblx0RGlzdGFuY2VDb25zdHJhaW50T3B0cyxcblx0SGluZ2VDb25zdHJhaW50T3B0cyxcblx0TG9ja0NvbnN0cmFpbnRPcHRzLFxuXHRQb2ludFRvUG9pbnRDb25zdHJhaW50T3B0cyxcbn0gZnJvbSAnQHBtbmRycy9jYW5ub24td29ya2VyLWFwaSc7XG5pbXBvcnQgeyBtYWtlSWQsIHJlc29sdmVSZWYgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IE5ndGNQaHlzaWNzIH0gZnJvbSAnYW5ndWxhci10aHJlZS1jYW5ub24nO1xuaW1wb3J0IHsgYXNzZXJ0SW5qZWN0b3IgfSBmcm9tICduZ3h0ZW5zaW9uL2Fzc2VydC1pbmplY3Rvcic7XG5pbXBvcnQgeyBPYmplY3QzRCB9IGZyb20gJ3RocmVlJztcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RjQ29uc3RyYWludEFwaSB7XG5cdGRpc2FibGU6ICgpID0+IHZvaWQ7XG5cdGVuYWJsZTogKCkgPT4gdm9pZDtcblx0cmVtb3ZlOiAoKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5ndGNIaW5nZUNvbnN0cmFpbnRBcGkgZXh0ZW5kcyBOZ3RjQ29uc3RyYWludEFwaSB7XG5cdGRpc2FibGVNb3RvcjogKCkgPT4gdm9pZDtcblx0ZW5hYmxlTW90b3I6ICgpID0+IHZvaWQ7XG5cdHNldE1vdG9yTWF4Rm9yY2U6ICh2YWx1ZTogbnVtYmVyKSA9PiB2b2lkO1xuXHRzZXRNb3RvclNwZWVkOiAodmFsdWU6IG51bWJlcikgPT4gdm9pZDtcbn1cblxuZXhwb3J0IHR5cGUgTmd0Y0NvbnN0cmFpbnRPUkhpbmdlQXBpPFQgZXh0ZW5kcyAnSGluZ2UnIHwgQ29uc3RyYWludFR5cGVzPiA9IFQgZXh0ZW5kcyBDb25zdHJhaW50VHlwZXNcblx0PyBOZ3RjQ29uc3RyYWludEFwaVxuXHQ6IE5ndGNIaW5nZUNvbnN0cmFpbnRBcGk7XG5cbmV4cG9ydCB0eXBlIE5ndGNDb25zdHJhaW50T3B0aW9uc01hcCA9IHtcblx0Q29uZVR3aXN0OiBDb25lVHdpc3RDb25zdHJhaW50T3B0cztcblx0UG9pbnRUb1BvaW50OiBQb2ludFRvUG9pbnRDb25zdHJhaW50T3B0cztcblx0RGlzdGFuY2U6IERpc3RhbmNlQ29uc3RyYWludE9wdHM7XG5cdExvY2s6IExvY2tDb25zdHJhaW50T3B0cztcblx0SGluZ2U6IEhpbmdlQ29uc3RyYWludE9wdHM7XG59O1xuXG5leHBvcnQgdHlwZSBOZ3RjQ29uc3RyYWludE9wdGlvbnM8VENvbnN0cmFpbnRUeXBlIGV4dGVuZHMgJ0hpbmdlJyB8IENvbnN0cmFpbnRUeXBlcz4gPSB7XG5cdGluamVjdG9yPzogSW5qZWN0b3I7XG5cdGRpc2FibGVPblN0YXJ0PzogYm9vbGVhbjtcblx0b3B0aW9ucz86IE5ndGNDb25zdHJhaW50T3B0aW9uc01hcFtUQ29uc3RyYWludFR5cGVdO1xufTtcblxuZnVuY3Rpb24gY3JlYXRlSW5qZWN0Q29uc3RyYWludDxUQ29uc3RyYWludCBleHRlbmRzIENvbnN0cmFpbnRUeXBlcyB8ICdIaW5nZSc+KHR5cGU6IFRDb25zdHJhaW50KSB7XG5cdHJldHVybiA8QSBleHRlbmRzIE9iamVjdDNEID0gT2JqZWN0M0QsIEIgZXh0ZW5kcyBPYmplY3QzRCA9IE9iamVjdDNEPihcblx0XHRib2R5QTogRWxlbWVudFJlZjxBPiB8IEEgfCBTaWduYWw8RWxlbWVudFJlZjxBPiB8IEEgfCB1bmRlZmluZWQ+LFxuXHRcdGJvZHlCOiBFbGVtZW50UmVmPEI+IHwgQiB8IFNpZ25hbDxFbGVtZW50UmVmPEI+IHwgQiB8IHVuZGVmaW5lZD4sXG5cdFx0b3B0aW9ucz86IE5ndGNDb25zdHJhaW50T3B0aW9uczxUQ29uc3RyYWludD4sXG5cdCkgPT4gaW5qZWN0Q29uc3RyYWludDxUQ29uc3RyYWludCwgQSwgQj4odHlwZSwgYm9keUEsIGJvZHlCLCBvcHRpb25zKTtcbn1cblxuZnVuY3Rpb24gaW5qZWN0Q29uc3RyYWludDxcblx0VENvbnN0cmFpbnQgZXh0ZW5kcyBDb25zdHJhaW50VHlwZXMgfCAnSGluZ2UnLFxuXHRBIGV4dGVuZHMgT2JqZWN0M0QgPSBPYmplY3QzRCxcblx0QiBleHRlbmRzIE9iamVjdDNEID0gT2JqZWN0M0QsXG4+KFxuXHR0eXBlOiBUQ29uc3RyYWludCxcblx0Ym9keUE6IEVsZW1lbnRSZWY8QT4gfCBBIHwgU2lnbmFsPEVsZW1lbnRSZWY8QT4gfCBBIHwgdW5kZWZpbmVkPixcblx0Ym9keUI6IEVsZW1lbnRSZWY8Qj4gfCBCIHwgU2lnbmFsPEVsZW1lbnRSZWY8Qj4gfCBCIHwgdW5kZWZpbmVkPixcblx0e1xuXHRcdGluamVjdG9yLFxuXHRcdG9wdGlvbnMgPSB7fSBhcyBOZ3RjQ29uc3RyYWludE9wdGlvbnNNYXBbVENvbnN0cmFpbnRdLFxuXHRcdGRpc2FibGVPblN0YXJ0ID0gZmFsc2UsXG5cdH06IE5ndGNDb25zdHJhaW50T3B0aW9uczxUQ29uc3RyYWludD4gPSB7fSxcbikge1xuXHRyZXR1cm4gYXNzZXJ0SW5qZWN0b3IoaW5qZWN0Q29uc3RyYWludCwgaW5qZWN0b3IsICgpID0+IHtcblx0XHRjb25zdCBwaHlzaWNzID0gaW5qZWN0KE5ndGNQaHlzaWNzLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG5cdFx0aWYgKCFwaHlzaWNzKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYFtOR1QgQ2Fubm9uXSBpbmplY3RDb25zdHJhaW50IHdhcyBjYWxsZWQgb3V0c2lkZSBvZiA8bmd0Yy1waHlzaWNzPmApO1xuXHRcdH1cblxuXHRcdGNvbnN0IHdvcmtlciA9IHBoeXNpY3MuYXBpLndvcmtlcjtcblxuXHRcdGNvbnN0IHV1aWQgPSBtYWtlSWQoKTtcblx0XHRjb25zdCBib2R5QVJlZiA9IGlzU2lnbmFsKGJvZHlBKSA/IGJvZHlBIDogc2lnbmFsKGJvZHlBKTtcblx0XHRjb25zdCBib2R5QlJlZiA9IGlzU2lnbmFsKGJvZHlCKSA/IGJvZHlCIDogc2lnbmFsKGJvZHlCKTtcblx0XHRjb25zdCBib2R5QVZhbHVlID0gY29tcHV0ZWQoKCkgPT4gcmVzb2x2ZVJlZihib2R5QVJlZigpKSk7XG5cdFx0Y29uc3QgYm9keUJWYWx1ZSA9IGNvbXB1dGVkKCgpID0+IHJlc29sdmVSZWYoYm9keUJSZWYoKSkpO1xuXG5cdFx0Y29uc3QgYXBpID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdFx0Y29uc3QgX3dvcmtlciA9IHdvcmtlcigpO1xuXHRcdFx0aWYgKCFfd29ya2VyKSByZXR1cm4gbnVsbDtcblxuXHRcdFx0Y29uc3QgZW5hYmxlRGlzYWJsZSA9IHtcblx0XHRcdFx0ZGlzYWJsZTogKCkgPT4gX3dvcmtlci5kaXNhYmxlQ29uc3RyYWludCh7IHV1aWQgfSksXG5cdFx0XHRcdGVuYWJsZTogKCkgPT4gX3dvcmtlci5lbmFibGVDb25zdHJhaW50KHsgdXVpZCB9KSxcblx0XHRcdFx0cmVtb3ZlOiAoKSA9PiBfd29ya2VyLnJlbW92ZUNvbnN0cmFpbnQoeyB1dWlkIH0pLFxuXHRcdFx0fTtcblx0XHRcdGlmICh0eXBlID09PSAnSGluZ2UnKSB7XG5cdFx0XHRcdHJldHVybiB7XG5cdFx0XHRcdFx0Li4uZW5hYmxlRGlzYWJsZSxcblx0XHRcdFx0XHRkaXNhYmxlTW90b3I6ICgpID0+IF93b3JrZXIuZGlzYWJsZUNvbnN0cmFpbnRNb3Rvcih7IHV1aWQgfSksXG5cdFx0XHRcdFx0ZW5hYmxlTW90b3I6ICgpID0+IF93b3JrZXIuZW5hYmxlQ29uc3RyYWludE1vdG9yKHsgdXVpZCB9KSxcblx0XHRcdFx0XHRzZXRNb3Rvck1heEZvcmNlOiAodmFsdWU6IG51bWJlcikgPT4gX3dvcmtlci5zZXRDb25zdHJhaW50TW90b3JNYXhGb3JjZSh7IHByb3BzOiB2YWx1ZSwgdXVpZCB9KSxcblx0XHRcdFx0XHRzZXRNb3RvclNwZWVkOiAodmFsdWU6IG51bWJlcikgPT4gX3dvcmtlci5zZXRDb25zdHJhaW50TW90b3JTcGVlZCh7IHByb3BzOiB2YWx1ZSwgdXVpZCB9KSxcblx0XHRcdFx0fSBhcyBOZ3RjSGluZ2VDb25zdHJhaW50QXBpO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIGVuYWJsZURpc2FibGUgYXMgTmd0Y0NvbnN0cmFpbnRBcGk7XG5cdFx0fSk7XG5cblx0XHRsZXQgYWxyZWFkeURpc2FibGVkID0gZmFsc2U7XG5cdFx0ZWZmZWN0KChvbkNsZWFudXApID0+IHtcblx0XHRcdGNvbnN0IGN1cnJlbnRXb3JrZXIgPSB3b3JrZXIoKTtcblx0XHRcdGlmICghY3VycmVudFdvcmtlcikgcmV0dXJuO1xuXG5cdFx0XHRjb25zdCBbYSwgYl0gPSBbYm9keUFWYWx1ZSgpLCBib2R5QlZhbHVlKCldO1xuXHRcdFx0aWYgKCFhIHx8ICFiKSByZXR1cm47XG5cblx0XHRcdGN1cnJlbnRXb3JrZXIuYWRkQ29uc3RyYWludCh7XG5cdFx0XHRcdHByb3BzOiBbYS51dWlkLCBiLnV1aWQsIG9wdGlvbnNdLFxuXHRcdFx0XHR0eXBlLFxuXHRcdFx0XHR1dWlkLFxuXHRcdFx0fSk7XG5cblx0XHRcdGlmIChkaXNhYmxlT25TdGFydCAmJiAhYWxyZWFkeURpc2FibGVkKSB7XG5cdFx0XHRcdGFscmVhZHlEaXNhYmxlZCA9IHRydWU7XG5cdFx0XHRcdHVudHJhY2tlZChhcGkpPy5kaXNhYmxlKCk7XG5cdFx0XHR9XG5cblx0XHRcdG9uQ2xlYW51cCgoKSA9PiBjdXJyZW50V29ya2VyLnJlbW92ZUNvbnN0cmFpbnQoeyB1dWlkIH0pKTtcblx0XHR9KTtcblxuXHRcdHJldHVybiBhcGk7XG5cdH0pO1xufVxuXG5leHBvcnQgY29uc3QgaW5qZWN0UG9pbnRUb1BvaW50ID0gY3JlYXRlSW5qZWN0Q29uc3RyYWludCgnUG9pbnRUb1BvaW50Jyk7XG5leHBvcnQgY29uc3QgaW5qZWN0Q29uZVR3aXN0ID0gY3JlYXRlSW5qZWN0Q29uc3RyYWludCgnQ29uZVR3aXN0Jyk7XG5leHBvcnQgY29uc3QgaW5qZWN0RGlzdGFuY2UgPSBjcmVhdGVJbmplY3RDb25zdHJhaW50KCdEaXN0YW5jZScpO1xuZXhwb3J0IGNvbnN0IGluamVjdExvY2sgPSBjcmVhdGVJbmplY3RDb25zdHJhaW50KCdMb2NrJyk7XG5leHBvcnQgY29uc3QgaW5qZWN0SGluZ2UgPSBjcmVhdGVJbmplY3RDb25zdHJhaW50KCdIaW5nZScpO1xuIl19
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RyYWludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY2Fubm9uL2NvbnN0cmFpbnQvc3JjL2xpYi9jb25zdHJhaW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0MsUUFBUSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFTcEgsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQWtDNUQsU0FBUyxzQkFBc0IsQ0FBZ0QsSUFBaUI7SUFDL0YsT0FBTyxDQUNOLEtBQWdFLEVBQ2hFLEtBQWdFLEVBQ2hFLE9BQTRDLEVBQzNDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBb0IsSUFBSSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDdkUsQ0FBQztBQUVELFNBQVMsZ0JBQWdCLENBS3hCLElBQWlCLEVBQ2pCLEtBQWdFLEVBQ2hFLEtBQWdFLEVBQ2hFLEVBQ0MsUUFBUSxFQUNSLE9BQU8sR0FBRyxFQUEyQyxFQUNyRCxjQUFjLEdBQUcsS0FBSyxNQUNpQixFQUFFO0lBRTFDLE9BQU8sY0FBYyxDQUFDLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxHQUFHLEVBQUU7UUFDdEQsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBRXhELElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNkLE1BQU0sSUFBSSxLQUFLLENBQUMsb0VBQW9FLENBQUMsQ0FBQztRQUN2RixDQUFDO1FBRUQsTUFBTSxNQUFNLEdBQUcsT0FB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QUUsQ0FBQztZQUNoQixDQUFDO1lBRUQsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzRCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sYUFBYSxDQUFDO0lBQ3RCLENBQUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLHNCQUFzQixDQUFDLGNBQWMsQ0FBQyxDQUFDO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxzQkFBc0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUNuRSxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsc0JBQXNCLENBQUMsVUFBVSxDQUFDLENBQUM7QUFDakUsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3pELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIEluamVjdG9yLCBTaWduYWwsIGNvbXB1dGVkLCBlZmZlY3QsIGluamVjdCwgaXNTaWduYWwsIHNpZ25hbCwgdW50cmFja2VkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuXHRDb25lVHdpc3RDb25zdHJhaW50T3B0cyxcblx0Q29uc3RyYWludFR5cGVzLFxuXHREaXN0YW5jZUNvbnN0cmFpbnRPcHRzLFxuXHRIaW5nZUNvbnN0cmFpbnRPcHRzLFxuXHRMb2NrQ29uc3RyYWludE9wdHMsXG5cdFBvaW50VG9Qb2ludENvbnN0cmFpbnRPcHRzLFxufSBmcm9tICdAcG1uZHJzL2Nhbm5vbi13b3JrZXItYXBpJztcbmltcG9ydCB7IG1ha2VJZCwgcmVzb2x2ZVJlZiB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgTmd0Y1BoeXNpY3MgfSBmcm9tICdhbmd1bGFyLXRocmVlLWNhbm5vbic7XG5pbXBvcnQgeyBhc3NlcnRJbmplY3RvciB9IGZyb20gJ25neHRlbnNpb24vYXNzZXJ0LWluamVjdG9yJztcbmltcG9ydCB7IE9iamVjdDNEIH0gZnJvbSAndGhyZWUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5ndGNDb25zdHJhaW50QXBpIHtcblx0ZGlzYWJsZTogKCkgPT4gdm9pZDtcblx0ZW5hYmxlOiAoKSA9PiB2b2lkO1xuXHRyZW1vdmU6ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd0Y0hpbmdlQ29uc3RyYWludEFwaSBleHRlbmRzIE5ndGNDb25zdHJhaW50QXBpIHtcblx0ZGlzYWJsZU1vdG9yOiAoKSA9PiB2b2lkO1xuXHRlbmFibGVNb3RvcjogKCkgPT4gdm9pZDtcblx0c2V0TW90b3JNYXhGb3JjZTogKHZhbHVlOiBudW1iZXIpID0+IHZvaWQ7XG5cdHNldE1vdG9yU3BlZWQ6ICh2YWx1ZTogbnVtYmVyKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgdHlwZSBOZ3RjQ29uc3RyYWludE9SSGluZ2VBcGk8VCBleHRlbmRzICdIaW5nZScgfCBDb25zdHJhaW50VHlwZXM+ID0gVCBleHRlbmRzIENvbnN0cmFpbnRUeXBlc1xuXHQ/IE5ndGNDb25zdHJhaW50QXBpXG5cdDogTmd0Y0hpbmdlQ29uc3RyYWludEFwaTtcblxuZXhwb3J0IHR5cGUgTmd0Y0NvbnN0cmFpbnRPcHRpb25zTWFwID0ge1xuXHRDb25lVHdpc3Q6IENvbmVUd2lzdENvbnN0cmFpbnRPcHRzO1xuXHRQb2ludFRvUG9pbnQ6IFBvaW50VG9Qb2ludENvbnN0cmFpbnRPcHRzO1xuXHREaXN0YW5jZTogRGlzdGFuY2VDb25zdHJhaW50T3B0cztcblx0TG9jazogTG9ja0NvbnN0cmFpbnRPcHRzO1xuXHRIaW5nZTogSGluZ2VDb25zdHJhaW50T3B0cztcbn07XG5cbmV4cG9ydCB0eXBlIE5ndGNDb25zdHJhaW50T3B0aW9uczxUQ29uc3RyYWludFR5cGUgZXh0ZW5kcyAnSGluZ2UnIHwgQ29uc3RyYWludFR5cGVzPiA9IHtcblx0aW5qZWN0b3I/OiBJbmplY3Rvcjtcblx0ZGlzYWJsZU9uU3RhcnQ/OiBib29sZWFuO1xuXHRvcHRpb25zPzogTmd0Y0NvbnN0cmFpbnRPcHRpb25zTWFwW1RDb25zdHJhaW50VHlwZV07XG59O1xuXG5mdW5jdGlvbiBjcmVhdGVJbmplY3RDb25zdHJhaW50PFRDb25zdHJhaW50IGV4dGVuZHMgQ29uc3RyYWludFR5cGVzIHwgJ0hpbmdlJz4odHlwZTogVENvbnN0cmFpbnQpIHtcblx0cmV0dXJuIDxBIGV4dGVuZHMgT2JqZWN0M0QgPSBPYmplY3QzRCwgQiBleHRlbmRzIE9iamVjdDNEID0gT2JqZWN0M0Q+KFxuXHRcdGJvZHlBOiBFbGVtZW50UmVmPEE+IHwgQSB8IFNpZ25hbDxFbGVtZW50UmVmPEE+IHwgQSB8IHVuZGVmaW5lZD4sXG5cdFx0Ym9keUI6IEVsZW1lbnRSZWY8Qj4gfCBCIHwgU2lnbmFsPEVsZW1lbnRSZWY8Qj4gfCBCIHwgdW5kZWZpbmVkPixcblx0XHRvcHRpb25zPzogTmd0Y0NvbnN0cmFpbnRPcHRpb25zPFRDb25zdHJhaW50Pixcblx0KSA9PiBpbmplY3RDb25zdHJhaW50PFRDb25zdHJhaW50LCBBLCBCPih0eXBlLCBib2R5QSwgYm9keUIsIG9wdGlvbnMpO1xufVxuXG5mdW5jdGlvbiBpbmplY3RDb25zdHJhaW50PFxuXHRUQ29uc3RyYWludCBleHRlbmRzIENvbnN0cmFpbnRUeXBlcyB8ICdIaW5nZScsXG5cdEEgZXh0ZW5kcyBPYmplY3QzRCA9IE9iamVjdDNELFxuXHRCIGV4dGVuZHMgT2JqZWN0M0QgPSBPYmplY3QzRCxcbj4oXG5cdHR5cGU6IFRDb25zdHJhaW50LFxuXHRib2R5QTogRWxlbWVudFJlZjxBPiB8IEEgfCBTaWduYWw8RWxlbWVudFJlZjxBPiB8IEEgfCB1bmRlZmluZWQ+LFxuXHRib2R5QjogRWxlbWVudFJlZjxCPiB8IEIgfCBTaWduYWw8RWxlbWVudFJlZjxCPiB8IEIgfCB1bmRlZmluZWQ+LFxuXHR7XG5cdFx0aW5qZWN0b3IsXG5cdFx0b3B0aW9ucyA9IHt9IGFzIE5ndGNDb25zdHJhaW50T3B0aW9uc01hcFtUQ29uc3RyYWludF0sXG5cdFx0ZGlzYWJsZU9uU3RhcnQgPSBmYWxzZSxcblx0fTogTmd0Y0NvbnN0cmFpbnRPcHRpb25zPFRDb25zdHJhaW50PiA9IHt9LFxuKSB7XG5cdHJldHVybiBhc3NlcnRJbmplY3RvcihpbmplY3RDb25zdHJhaW50LCBpbmplY3RvciwgKCkgPT4ge1xuXHRcdGNvbnN0IHBoeXNpY3MgPSBpbmplY3QoTmd0Y1BoeXNpY3MsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cblx0XHRpZiAoIXBoeXNpY3MpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgW05HVCBDYW5ub25dIGluamVjdENvbnN0cmFpbnQgd2FzIGNhbGxlZCBvdXRzaWRlIG9mIDxuZ3RjLXBoeXNpY3M+YCk7XG5cdFx0fVxuXG5cdFx0Y29uc3Qgd29ya2VyID0gcGh5c2ljcy53b3JrZXI7XG5cblx0XHRjb25zdCB1dWlkID0gbWFrZUlkKCk7XG5cdFx0Y29uc3QgYm9keUFSZWYgPSBpc1NpZ25hbChib2R5QSkgPyBib2R5QSA6IHNpZ25hbChib2R5QSk7XG5cdFx0Y29uc3QgYm9keUJSZWYgPSBpc1NpZ25hbChib2R5QikgPyBib2R5QiA6IHNpZ25hbChib2R5Qik7XG5cdFx0Y29uc3QgYm9keUFWYWx1ZSA9IGNvbXB1dGVkKCgpID0+IHJlc29sdmVSZWYoYm9keUFSZWYoKSkpO1xuXHRcdGNvbnN0IGJvZHlCVmFsdWUgPSBjb21wdXRlZCgoKSA9PiByZXNvbHZlUmVmKGJvZHlCUmVmKCkpKTtcblxuXHRcdGNvbnN0IGNvbnN0cmFpbnRBcGkgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0XHRjb25zdCBfd29ya2VyID0gd29ya2VyKCk7XG5cdFx0XHRpZiAoIV93b3JrZXIpIHJldHVybiBudWxsO1xuXG5cdFx0XHRjb25zdCBlbmFibGVEaXNhYmxlID0ge1xuXHRcdFx0XHRkaXNhYmxlOiAoKSA9PiBfd29ya2VyLmRpc2FibGVDb25zdHJhaW50KHsgdXVpZCB9KSxcblx0XHRcdFx0ZW5hYmxlOiAoKSA9PiBfd29ya2VyLmVuYWJsZUNvbnN0cmFpbnQoeyB1dWlkIH0pLFxuXHRcdFx0XHRyZW1vdmU6ICgpID0+IF93b3JrZXIucmVtb3ZlQ29uc3RyYWludCh7IHV1aWQgfSksXG5cdFx0XHR9O1xuXHRcdFx0aWYgKHR5cGUgPT09ICdIaW5nZScpIHtcblx0XHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0XHQuLi5lbmFibGVEaXNhYmxlLFxuXHRcdFx0XHRcdGRpc2FibGVNb3RvcjogKCkgPT4gX3dvcmtlci5kaXNhYmxlQ29uc3RyYWludE1vdG9yKHsgdXVpZCB9KSxcblx0XHRcdFx0XHRlbmFibGVNb3RvcjogKCkgPT4gX3dvcmtlci5lbmFibGVDb25zdHJhaW50TW90b3IoeyB1dWlkIH0pLFxuXHRcdFx0XHRcdHNldE1vdG9yTWF4Rm9yY2U6ICh2YWx1ZTogbnVtYmVyKSA9PiBfd29ya2VyLnNldENvbnN0cmFpbnRNb3Rvck1heEZvcmNlKHsgcHJvcHM6IHZhbHVlLCB1dWlkIH0pLFxuXHRcdFx0XHRcdHNldE1vdG9yU3BlZWQ6ICh2YWx1ZTogbnVtYmVyKSA9PiBfd29ya2VyLnNldENvbnN0cmFpbnRNb3RvclNwZWVkKHsgcHJvcHM6IHZhbHVlLCB1dWlkIH0pLFxuXHRcdFx0XHR9IGFzIE5ndGNIaW5nZUNvbnN0cmFpbnRBcGk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gZW5hYmxlRGlzYWJsZSBhcyBOZ3RjQ29uc3RyYWludEFwaTtcblx0XHR9KTtcblxuXHRcdGxldCBhbHJlYWR5RGlzYWJsZWQgPSBmYWxzZTtcblx0XHRlZmZlY3QoKG9uQ2xlYW51cCkgPT4ge1xuXHRcdFx0Y29uc3QgY3VycmVudFdvcmtlciA9IHdvcmtlcigpO1xuXHRcdFx0aWYgKCFjdXJyZW50V29ya2VyKSByZXR1cm47XG5cblx0XHRcdGNvbnN0IFthLCBiLCBhcGldID0gW2JvZHlBVmFsdWUoKSwgYm9keUJWYWx1ZSgpLCB1bnRyYWNrZWQoY29uc3RyYWludEFwaSldO1xuXHRcdFx0aWYgKCFhIHx8ICFiKSByZXR1cm47XG5cblx0XHRcdGN1cnJlbnRXb3JrZXIuYWRkQ29uc3RyYWludCh7XG5cdFx0XHRcdHByb3BzOiBbYS51dWlkLCBiLnV1aWQsIG9wdGlvbnNdLFxuXHRcdFx0XHR0eXBlLFxuXHRcdFx0XHR1dWlkLFxuXHRcdFx0fSk7XG5cblx0XHRcdGlmIChkaXNhYmxlT25TdGFydCAmJiAhYWxyZWFkeURpc2FibGVkKSB7XG5cdFx0XHRcdGFscmVhZHlEaXNhYmxlZCA9IHRydWU7XG5cdFx0XHRcdGFwaT8uZGlzYWJsZSgpO1xuXHRcdFx0fVxuXG5cdFx0XHRvbkNsZWFudXAoKCkgPT4gY3VycmVudFdvcmtlci5yZW1vdmVDb25zdHJhaW50KHsgdXVpZCB9KSk7XG5cdFx0fSk7XG5cblx0XHRyZXR1cm4gY29uc3RyYWludEFwaTtcblx0fSk7XG59XG5cbmV4cG9ydCBjb25zdCBpbmplY3RQb2ludFRvUG9pbnQgPSBjcmVhdGVJbmplY3RDb25zdHJhaW50KCdQb2ludFRvUG9pbnQnKTtcbmV4cG9ydCBjb25zdCBpbmplY3RDb25lVHdpc3QgPSBjcmVhdGVJbmplY3RDb25zdHJhaW50KCdDb25lVHdpc3QnKTtcbmV4cG9ydCBjb25zdCBpbmplY3REaXN0YW5jZSA9IGNyZWF0ZUluamVjdENvbnN0cmFpbnQoJ0Rpc3RhbmNlJyk7XG5leHBvcnQgY29uc3QgaW5qZWN0TG9jayA9IGNyZWF0ZUluamVjdENvbnN0cmFpbnQoJ0xvY2snKTtcbmV4cG9ydCBjb25zdCBpbmplY3RIaW5nZSA9IGNyZWF0ZUluamVjdENvbnN0cmFpbnQoJ0hpbmdlJyk7XG4iXX0=
@@ -29,12 +29,13 @@ export class NgtcDebug {
29
29
  this.physics = inject(NgtcPhysics);
30
30
  this.debug = input(defaultOptions, { transform: mergeInputs(defaultOptions) });
31
31
  this.defaultScene = this.store.select('scene');
32
- this.scene = new Scene();
32
+ this.debuggerScene = new Scene();
33
33
  this.bodies = [];
34
34
  this.bodyMap = {};
35
+ // NOTE: afterNextRender so we only instantiate once after inputs have been resolved
35
36
  afterNextRender(() => {
36
- this.defaultScene().add(this.scene);
37
- this.cannonDebugger = this.debug().impl(this.scene, { bodies: this.bodies }, {
37
+ this.defaultScene().add(this.debuggerScene);
38
+ this.cannonDebugger = this.debug().impl(this.debuggerScene, { bodies: this.bodies }, {
38
39
  color: this.debug().color,
39
40
  scale: this.debug().scale,
40
41
  });
@@ -43,7 +44,7 @@ export class NgtcDebug {
43
44
  if (!this.cannonDebugger)
44
45
  return;
45
46
  const enabled = this.debug().enabled;
46
- const refs = this.physics.api.refs;
47
+ const refs = this.physics.refs;
47
48
  for (const uuid in this.bodyMap) {
48
49
  const ref = refs[uuid];
49
50
  const body = this.bodyMap[uuid];
@@ -53,7 +54,7 @@ export class NgtcDebug {
53
54
  body.quaternion.copy(q);
54
55
  }
55
56
  }
56
- for (const child of this.scene.children)
57
+ for (const child of this.debuggerScene.children)
57
58
  child.visible = enabled;
58
59
  if (enabled)
59
60
  this.cannonDebugger.update();
@@ -77,4 +78,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImpo
77
78
  type: Directive,
78
79
  args: [{ selector: 'ngtc-physics[debug]', standalone: true }]
79
80
  }], ctorParameters: () => [] });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nhbm5vbi9kZWJ1Zy9zcmMvbGliL2RlYnVnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUE0QixXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxPQUFPLGNBQWMsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQVksVUFBVSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUM7O0FBRXJGLE1BQU0sQ0FBQyxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7QUFDM0IsTUFBTSxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMvQixNQUFNLENBQUMsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0FBQ3hCLE1BQU0sQ0FBQyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7QUFDeEIsU0FBUyxTQUFTLENBQUMsQ0FBVztJQUM3QixJQUFJLENBQUMsWUFBWSxhQUFhLEVBQUUsQ0FBQztRQUNoQyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sQ0FBQyxDQUFDO0lB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Q0FBQztJQUMzQixDQUFDO0lBRUQsTUFBTSxDQUFDLElBQVk7UUFDbEIsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQy9ELElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQztZQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMvRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQzsrR0FyRFcsU0FBUzttR0FBVCxTQUFTOzs0RkFBVCxTQUFTO2tCQURyQixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLHFCQUFxQixFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGFmdGVyTmV4dFJlbmRlciwgaW5qZWN0LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm9keVByb3BzLCBCb2R5U2hhcGVUeXBlLCBwcm9wc1RvQm9keSB9IGZyb20gJ0BwbW5kcnMvY2Fubm9uLXdvcmtlci1hcGknO1xuaW1wb3J0IHsgaW5qZWN0QmVmb3JlUmVuZGVyLCBpbmplY3RTdG9yZSB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgTmd0Y1BoeXNpY3MgfSBmcm9tICdhbmd1bGFyLXRocmVlLWNhbm5vbic7XG5pbXBvcnQgeyBCb2R5LCBRdWF0ZXJuaW9uIGFzIENRdWFydGVybmlvbiwgVmVjMywgV29ybGQgfSBmcm9tICdjYW5ub24tZXMnO1xuaW1wb3J0IENhbm5vbkRlYnVnZ2VyIGZyb20gJ2Nhbm5vbi1lcy1kZWJ1Z2dlcic7XG5pbXBvcnQgeyBtZXJnZUlucHV0cyB9IGZyb20gJ25neHRlbnNpb24vaW5qZWN0LWlucHV0cyc7XG5pbXBvcnQgeyBJbnN0YW5jZWRNZXNoLCBNYXRyaXg0LCBPYmplY3QzRCwgUXVhdGVybmlvbiwgU2NlbmUsIFZlY3RvcjMgfSBmcm9tICd0aHJlZSc7XG5cbmNvbnN0IHEgPSBuZXcgUXVhdGVybmlvbigpO1xuY29uc3QgcyA9IG5ldyBWZWN0b3IzKDEsIDEsIDEpO1xuY29uc3QgdiA9IG5ldyBWZWN0b3IzKCk7XG5jb25zdCBtID0gbmV3IE1hdHJpeDQoKTtcbmZ1bmN0aW9uIGdldE1hdHJpeChvOiBPYmplY3QzRCkge1xuXHRpZiAobyBpbnN0YW5jZW9mIEluc3RhbmNlZE1lc2gpIHtcblx0XHRvLmdldE1hdHJpeEF0KHBhcnNlSW50KG8udXVpZC5zcGxpdCgnLycpWzFdKSwgbSk7XG5cdFx0cmV0dXJuIG07XG5cdH1cblx0cmV0dXJuIG8ubWF0cml4O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5ndGNEZWJ1Z0lucHV0cyB7XG5cdGVuYWJsZWQ6IGJvb2xlYW47XG5cdGNvbG9yOiBzdHJpbmc7XG5cdGltcGw6IHR5cGVvZiBDYW5ub25EZWJ1Z2dlcjtcblx0c2NhbGU6IG51bWJlcjtcbn1cblxuY29uc3QgZGVmYXVsdE9wdGlvbnM6IE5ndGNEZWJ1Z0lucHV0cyA9IHtcblx0ZW5hYmxlZDogdHJ1ZSxcblx0c2NhbGU6IDEsXG5cdGNvbG9yOiAnYmxhY2snLFxuXHRpbXBsOiBDYW5ub25EZWJ1Z2dlcixcbn07XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ25ndGMtcGh5c2ljc1tkZWJ1Z10nLCBzdGFuZGFsb25lOiB0cnVlIH0pXG5leHBvcnQgY2xhc3MgTmd0Y0RlYnVnIHtcblx0cHJpdmF0ZSBzdG9yZSA9IGluamVjdFN0b3JlKCk7XG5cdHByaXZhdGUgcGh5c2ljcyA9IGluamVjdChOZ3RjUGh5c2ljcyk7XG5cblx0ZGVidWcgPSBpbnB1dChkZWZhdWx0T3B0aW9ucywgeyB0cmFuc2Zvcm06IG1lcmdlSW5wdXRzKGRlZmF1bHRPcHRpb25zKSB9KTtcblxuXHRwcml2YXRlIGRlZmF1bHRTY2VuZSA9IHRoaXMuc3RvcmUuc2VsZWN0KCdzY2VuZScpO1xuXG5cdHByaXZhdGUgc2NlbmUgPSBuZXcgU2NlbmUoKTtcblx0cHJpdmF0ZSBib2RpZXM6IEJvZHlbXSA9IFtdO1xuXHRwcml2YXRlIGJvZHlNYXA6IFJlY29yZDxzdHJpbmcsIEJvZHk+ID0ge307XG5cblx0cHJpdmF0ZSBjYW5ub25EZWJ1Z2dlciE6IFJldHVyblR5cGU8dHlwZW9mIENhbm5vbkRlYnVnZ2VyPjtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuXHRcdFx0dGhpcy5kZWZhdWx0U2NlbmUoKS5hZGQodGhpcy5zY2VuZSk7XG5cdFx0XHR0aGlzLmNhbm5vbkRlYnVnZ2VyID0gdGhpcy5kZWJ1ZygpLmltcGwodGhpcy5zY2VuZSwgeyBib2RpZXM6IHRoaXMuYm9kaWVzIH0gYXMgV29ybGQsIHtcblx0XHRcdFx0Y29sb3I6IHRoaXMuZGVidWcoKS5jb2xvcixcblx0XHRcdFx0c2NhbGU6IHRoaXMuZGVidWcoKS5zY2FsZSxcblx0XHRcdH0pO1xuXHRcdH0pO1xuXG5cdFx0aW5qZWN0QmVmb3JlUmVuZGVyKCgpID0+IHtcblx0XHRcdGlmICghdGhpcy5jYW5ub25EZWJ1Z2dlcikgcmV0dXJuO1xuXG5cdFx0XHRjb25zdCBlbmFibGVkID0gdGhpcy5kZWJ1ZygpLmVuYWJsZWQ7XG5cdFx0XHRjb25zdCByZWZzID0gdGhpcy5waHlzaWNzLmFwaS5yZWZzO1xuXHRcdFx0Zm9yIChjb25zdCB1dWlkIGluIHRoaXMuYm9keU1hcCkge1xuXHRcdFx0XHRjb25zdCByZWYgPSByZWZzW3V1aWRdO1xuXHRcdFx0XHRjb25zdCBib2R5ID0gdGhpcy5ib2R5TWFwW3V1aWRdO1xuXHRcdFx0XHRpZiAocmVmKSB7XG5cdFx0XHRcdFx0Z2V0TWF0cml4KHJlZikuZGVjb21wb3NlKHYsIHEsIHMpO1xuXHRcdFx0XHRcdGJvZHkucG9zaXRpb24uY29weSh2IGFzIHVua25vd24gYXMgVmVjMyk7XG5cdFx0XHRcdFx0Ym9keS5xdWF0ZXJuaW9uLmNvcHkocSBhcyB1bmtub3duIGFzIENRdWFydGVybmlvbik7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Zm9yIChjb25zdCBjaGlsZCBvZiB0aGlzLnNjZW5lLmNoaWxkcmVuKSBjaGlsZC52aXNpYmxlID0gZW5hYmxlZDtcblx0XHRcdGlmIChlbmFibGVkKSB0aGlzLmNhbm5vbkRlYnVnZ2VyLnVwZGF0ZSgpO1xuXHRcdH0pO1xuXHR9XG5cblx0YWRkKHV1aWQ6IHN0cmluZywgcHJvcHM6IEJvZHlQcm9wcywgdHlwZTogQm9keVNoYXBlVHlwZSkge1xuXHRcdGNvbnN0IGJvZHkgPSBwcm9wc1RvQm9keSh7IHV1aWQsIHByb3BzLCB0eXBlIH0pO1xuXHRcdHRoaXMuYm9kaWVzLnB1c2goYm9keSk7XG5cdFx0dGhpcy5ib2R5TWFwW3V1aWRdID0gYm9keTtcblx0fVxuXG5cdHJlbW92ZSh1dWlkOiBzdHJpbmcpIHtcblx0XHRjb25zdCBkZWJ1Z0JvZHlJbmRleCA9IHRoaXMuYm9kaWVzLmluZGV4T2YodGhpcy5ib2R5TWFwW3V1aWRdKTtcblx0XHRpZiAoZGVidWdCb2R5SW5kZXggPiAtMSkgdGhpcy5ib2RpZXMuc3BsaWNlKGRlYnVnQm9keUluZGV4LCAxKTtcblx0XHRkZWxldGUgdGhpcy5ib2R5TWFwW3V1aWRdO1xuXHR9XG59XG4iXX0=
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2Nhbm5vbi9kZWJ1Zy9zcmMvbGliL2RlYnVnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUE0QixXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUVuRCxPQUFPLGNBQWMsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQVksVUFBVSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUM7O0FBRXJGLE1BQU0sQ0FBQyxHQUFHLElBQUksVUFBVSxFQUFFLENBQUM7QUFDM0IsTUFBTSxDQUFDLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMvQixNQUFNLENBQUMsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0FBQ3hCLE1BQU0sQ0FBQyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7QUFDeEIsU0FBUyxTQUFTLENBQUMsQ0FBVztJQUM3QixJQUFJLENBQUMsWUFBWSxhQUFhLEVBQUUsQ0FBQztRQUNoQyxDQUFDLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sQ0FBQyxDQUFDO0lB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QUFJLENBQUM7SUFDM0IsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFZO1FBQ2xCLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMvRCxJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUM7WUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDL0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzNCLENBQUM7K0dBdERXLFNBQVM7bUdBQVQsU0FBUzs7NEZBQVQsU0FBUztrQkFEckIsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxxQkFBcUIsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBhZnRlck5leHRSZW5kZXIsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJvZHlQcm9wcywgQm9keVNoYXBlVHlwZSwgcHJvcHNUb0JvZHkgfSBmcm9tICdAcG1uZHJzL2Nhbm5vbi13b3JrZXItYXBpJztcbmltcG9ydCB7IGluamVjdEJlZm9yZVJlbmRlciwgaW5qZWN0U3RvcmUgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IE5ndGNQaHlzaWNzIH0gZnJvbSAnYW5ndWxhci10aHJlZS1jYW5ub24nO1xuaW1wb3J0IHsgQm9keSwgUXVhdGVybmlvbiBhcyBDUXVhcnRlcm5pb24sIFZlYzMsIFdvcmxkIH0gZnJvbSAnY2Fubm9uLWVzJztcbmltcG9ydCBDYW5ub25EZWJ1Z2dlciBmcm9tICdjYW5ub24tZXMtZGVidWdnZXInO1xuaW1wb3J0IHsgbWVyZ2VJbnB1dHMgfSBmcm9tICduZ3h0ZW5zaW9uL2luamVjdC1pbnB1dHMnO1xuaW1wb3J0IHsgSW5zdGFuY2VkTWVzaCwgTWF0cml4NCwgT2JqZWN0M0QsIFF1YXRlcm5pb24sIFNjZW5lLCBWZWN0b3IzIH0gZnJvbSAndGhyZWUnO1xuXG5jb25zdCBxID0gbmV3IFF1YXRlcm5pb24oKTtcbmNvbnN0IHMgPSBuZXcgVmVjdG9yMygxLCAxLCAxKTtcbmNvbnN0IHYgPSBuZXcgVmVjdG9yMygpO1xuY29uc3QgbSA9IG5ldyBNYXRyaXg0KCk7XG5mdW5jdGlvbiBnZXRNYXRyaXgobzogT2JqZWN0M0QpIHtcblx0aWYgKG8gaW5zdGFuY2VvZiBJbnN0YW5jZWRNZXNoKSB7XG5cdFx0by5nZXRNYXRyaXhBdChwYXJzZUludChvLnV1aWQuc3BsaXQoJy8nKVsxXSksIG0pO1xuXHRcdHJldHVybiBtO1xuXHR9XG5cdHJldHVybiBvLm1hdHJpeDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBOZ3RjRGVidWdJbnB1dHMge1xuXHRlbmFibGVkOiBib29sZWFuO1xuXHRjb2xvcjogc3RyaW5nO1xuXHRpbXBsOiB0eXBlb2YgQ2Fubm9uRGVidWdnZXI7XG5cdHNjYWxlOiBudW1iZXI7XG59XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zOiBOZ3RjRGVidWdJbnB1dHMgPSB7XG5cdGVuYWJsZWQ6IHRydWUsXG5cdHNjYWxlOiAxLFxuXHRjb2xvcjogJ2JsYWNrJyxcblx0aW1wbDogQ2Fubm9uRGVidWdnZXIsXG59O1xuXG5ARGlyZWN0aXZlKHsgc2VsZWN0b3I6ICduZ3RjLXBoeXNpY3NbZGVidWddJywgc3RhbmRhbG9uZTogdHJ1ZSB9KVxuZXhwb3J0IGNsYXNzIE5ndGNEZWJ1ZyB7XG5cdHByaXZhdGUgc3RvcmUgPSBpbmplY3RTdG9yZSgpO1xuXHRwcml2YXRlIHBoeXNpY3MgPSBpbmplY3QoTmd0Y1BoeXNpY3MpO1xuXG5cdGRlYnVnID0gaW5wdXQoZGVmYXVsdE9wdGlvbnMsIHsgdHJhbnNmb3JtOiBtZXJnZUlucHV0cyhkZWZhdWx0T3B0aW9ucykgfSk7XG5cblx0cHJpdmF0ZSBkZWZhdWx0U2NlbmUgPSB0aGlzLnN0b3JlLnNlbGVjdCgnc2NlbmUnKTtcblxuXHRwcml2YXRlIGRlYnVnZ2VyU2NlbmUgPSBuZXcgU2NlbmUoKTtcblx0cHJpdmF0ZSBib2RpZXM6IEJvZHlbXSA9IFtdO1xuXHRwcml2YXRlIGJvZHlNYXA6IFJlY29yZDxzdHJpbmcsIEJvZHk+ID0ge307XG5cblx0cHJpdmF0ZSBjYW5ub25EZWJ1Z2dlciE6IFJldHVyblR5cGU8dHlwZW9mIENhbm5vbkRlYnVnZ2VyPjtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHQvLyBOT1RFOiBhZnRlck5leHRSZW5kZXIgc28gd2Ugb25seSBpbnN0YW50aWF0ZSBvbmNlIGFmdGVyIGlucHV0cyBoYXZlIGJlZW4gcmVzb2x2ZWRcblx0XHRhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuXHRcdFx0dGhpcy5kZWZhdWx0U2NlbmUoKS5hZGQodGhpcy5kZWJ1Z2dlclNjZW5lKTtcblx0XHRcdHRoaXMuY2Fubm9uRGVidWdnZXIgPSB0aGlzLmRlYnVnKCkuaW1wbCh0aGlzLmRlYnVnZ2VyU2NlbmUsIHsgYm9kaWVzOiB0aGlzLmJvZGllcyB9IGFzIFdvcmxkLCB7XG5cdFx0XHRcdGNvbG9yOiB0aGlzLmRlYnVnKCkuY29sb3IsXG5cdFx0XHRcdHNjYWxlOiB0aGlzLmRlYnVnKCkuc2NhbGUsXG5cdFx0XHR9KTtcblx0XHR9KTtcblxuXHRcdGluamVjdEJlZm9yZVJlbmRlcigoKSA9PiB7XG5cdFx0XHRpZiAoIXRoaXMuY2Fubm9uRGVidWdnZXIpIHJldHVybjtcblxuXHRcdFx0Y29uc3QgZW5hYmxlZCA9IHRoaXMuZGVidWcoKS5lbmFibGVkO1xuXHRcdFx0Y29uc3QgcmVmcyA9IHRoaXMucGh5c2ljcy5yZWZzO1xuXHRcdFx0Zm9yIChjb25zdCB1dWlkIGluIHRoaXMuYm9keU1hcCkge1xuXHRcdFx0XHRjb25zdCByZWYgPSByZWZzW3V1aWRdO1xuXHRcdFx0XHRjb25zdCBib2R5ID0gdGhpcy5ib2R5TWFwW3V1aWRdO1xuXHRcdFx0XHRpZiAocmVmKSB7XG5cdFx0XHRcdFx0Z2V0TWF0cml4KHJlZikuZGVjb21wb3NlKHYsIHEsIHMpO1xuXHRcdFx0XHRcdGJvZHkucG9zaXRpb24uY29weSh2IGFzIHVua25vd24gYXMgVmVjMyk7XG5cdFx0XHRcdFx0Ym9keS5xdWF0ZXJuaW9uLmNvcHkocSBhcyB1bmtub3duIGFzIENRdWFydGVybmlvbik7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0Zm9yIChjb25zdCBjaGlsZCBvZiB0aGlzLmRlYnVnZ2VyU2NlbmUuY2hpbGRyZW4pIGNoaWxkLnZpc2libGUgPSBlbmFibGVkO1xuXHRcdFx0aWYgKGVuYWJsZWQpIHRoaXMuY2Fubm9uRGVidWdnZXIudXBkYXRlKCk7XG5cdFx0fSk7XG5cdH1cblxuXHRhZGQodXVpZDogc3RyaW5nLCBwcm9wczogQm9keVByb3BzLCB0eXBlOiBCb2R5U2hhcGVUeXBlKSB7XG5cdFx0Y29uc3QgYm9keSA9IHByb3BzVG9Cb2R5KHsgdXVpZCwgcHJvcHMsIHR5cGUgfSk7XG5cdFx0dGhpcy5ib2RpZXMucHVzaChib2R5KTtcblx0XHR0aGlzLmJvZHlNYXBbdXVpZF0gPSBib2R5O1xuXHR9XG5cblx0cmVtb3ZlKHV1aWQ6IHN0cmluZykge1xuXHRcdGNvbnN0IGRlYnVnQm9keUluZGV4ID0gdGhpcy5ib2RpZXMuaW5kZXhPZih0aGlzLmJvZHlNYXBbdXVpZF0pO1xuXHRcdGlmIChkZWJ1Z0JvZHlJbmRleCA+IC0xKSB0aGlzLmJvZGllcy5zcGxpY2UoZGVidWdCb2R5SW5kZXgsIDEpO1xuXHRcdGRlbGV0ZSB0aGlzLmJvZHlNYXBbdXVpZF07XG5cdH1cbn1cbiJdfQ==