angular-three-rapier 2.7.0 → 2.8.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.
@@ -19,10 +19,10 @@ export class NgtrCuboidCollider {
19
19
  });
20
20
  });
21
21
  }
22
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrCuboidCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
23
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.9", type: NgtrCuboidCollider, isStandalone: true, selector: "ngt-object3D[ngtrCuboidCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
22
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrCuboidCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
23
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: NgtrCuboidCollider, isStandalone: true, selector: "ngt-object3D[ngtrCuboidCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
24
24
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrCuboidCollider, decorators: [{
25
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrCuboidCollider, decorators: [{
26
26
  type: Directive,
27
27
  args: [{
28
28
  selector: 'ngt-object3D[ngtrCuboidCollider]',
@@ -42,10 +42,10 @@ export class NgtrCapsuleCollider {
42
42
  });
43
43
  });
44
44
  }
45
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrCapsuleCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
46
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.9", type: NgtrCapsuleCollider, isStandalone: true, selector: "ngt-object3D[ngtrCapsuleCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
45
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrCapsuleCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
46
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: NgtrCapsuleCollider, isStandalone: true, selector: "ngt-object3D[ngtrCapsuleCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
47
47
  }
48
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrCapsuleCollider, decorators: [{
48
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrCapsuleCollider, decorators: [{
49
49
  type: Directive,
50
50
  args: [{
51
51
  selector: 'ngt-object3D[ngtrCapsuleCollider]',
@@ -65,10 +65,10 @@ export class NgtrBallCollider {
65
65
  });
66
66
  });
67
67
  }
68
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrBallCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
69
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.9", type: NgtrBallCollider, isStandalone: true, selector: "ngt-object3D[ngtrBallCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
68
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrBallCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
69
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: NgtrBallCollider, isStandalone: true, selector: "ngt-object3D[ngtrBallCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
70
70
  }
71
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrBallCollider, decorators: [{
71
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrBallCollider, decorators: [{
72
72
  type: Directive,
73
73
  args: [{
74
74
  selector: 'ngt-object3D[ngtrBallCollider]',
@@ -88,10 +88,10 @@ export class NgtrConvexHullCollider {
88
88
  });
89
89
  });
90
90
  }
91
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrConvexHullCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
92
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.9", type: NgtrConvexHullCollider, isStandalone: true, selector: "ngt-object3D[ngtrConvexHullCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
91
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrConvexHullCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
92
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: NgtrConvexHullCollider, isStandalone: true, selector: "ngt-object3D[ngtrConvexHullCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
93
93
  }
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrConvexHullCollider, decorators: [{
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrConvexHullCollider, decorators: [{
95
95
  type: Directive,
96
96
  args: [{
97
97
  selector: 'ngt-object3D[ngtrConvexHullCollider]',
@@ -111,10 +111,10 @@ export class NgtrHeightfieldCollider {
111
111
  });
112
112
  });
113
113
  }
114
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrHeightfieldCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
115
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.9", type: NgtrHeightfieldCollider, isStandalone: true, selector: "ngt-object3D[ngtrHeightfieldCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
114
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrHeightfieldCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
115
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: NgtrHeightfieldCollider, isStandalone: true, selector: "ngt-object3D[ngtrHeightfieldCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
116
116
  }
117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrHeightfieldCollider, decorators: [{
117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrHeightfieldCollider, decorators: [{
118
118
  type: Directive,
119
119
  args: [{
120
120
  selector: 'ngt-object3D[ngtrHeightfieldCollider]',
@@ -134,10 +134,10 @@ export class NgtrTrimeshCollider {
134
134
  });
135
135
  });
136
136
  }
137
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrTrimeshCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
138
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.9", type: NgtrTrimeshCollider, isStandalone: true, selector: "ngt-object3D[ngtrTrimeshCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
137
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrTrimeshCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
138
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: NgtrTrimeshCollider, isStandalone: true, selector: "ngt-object3D[ngtrTrimeshCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
139
139
  }
140
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrTrimeshCollider, decorators: [{
140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrTrimeshCollider, decorators: [{
141
141
  type: Directive,
142
142
  args: [{
143
143
  selector: 'ngt-object3D[ngtrTrimeshCollider]',
@@ -157,10 +157,10 @@ export class NgtrPolylineCollider {
157
157
  });
158
158
  });
159
159
  }
160
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrPolylineCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
161
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.9", type: NgtrPolylineCollider, isStandalone: true, selector: "ngt-object3D[ngtrPolylineCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
160
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrPolylineCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
161
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: NgtrPolylineCollider, isStandalone: true, selector: "ngt-object3D[ngtrPolylineCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
162
162
  }
163
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrPolylineCollider, decorators: [{
163
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrPolylineCollider, decorators: [{
164
164
  type: Directive,
165
165
  args: [{
166
166
  selector: 'ngt-object3D[ngtrPolylineCollider]',
@@ -180,10 +180,10 @@ export class NgtrRoundCuboidCollider {
180
180
  });
181
181
  });
182
182
  }
183
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrRoundCuboidCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
184
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.9", type: NgtrRoundCuboidCollider, isStandalone: true, selector: "ngt-object3D[ngtrRoundCuboidCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
183
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrRoundCuboidCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
184
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: NgtrRoundCuboidCollider, isStandalone: true, selector: "ngt-object3D[ngtrRoundCuboidCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
185
185
  }
186
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrRoundCuboidCollider, decorators: [{
186
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrRoundCuboidCollider, decorators: [{
187
187
  type: Directive,
188
188
  args: [{
189
189
  selector: 'ngt-object3D[ngtrRoundCuboidCollider]',
@@ -203,10 +203,10 @@ export class NgtrCylinderCollider {
203
203
  });
204
204
  });
205
205
  }
206
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrCylinderCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
207
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.9", type: NgtrCylinderCollider, isStandalone: true, selector: "ngt-object3D[ngtrCylinderCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
206
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrCylinderCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
207
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: NgtrCylinderCollider, isStandalone: true, selector: "ngt-object3D[ngtrCylinderCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
208
208
  }
209
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrCylinderCollider, decorators: [{
209
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrCylinderCollider, decorators: [{
210
210
  type: Directive,
211
211
  args: [{
212
212
  selector: 'ngt-object3D[ngtrCylinderCollider]',
@@ -226,10 +226,10 @@ export class NgtrRoundCylinderCollider {
226
226
  });
227
227
  });
228
228
  }
229
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrRoundCylinderCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
230
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.9", type: NgtrRoundCylinderCollider, isStandalone: true, selector: "ngt-object3D[ngtrRoundCylinderCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
229
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrRoundCylinderCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
230
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: NgtrRoundCylinderCollider, isStandalone: true, selector: "ngt-object3D[ngtrRoundCylinderCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
231
231
  }
232
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrRoundCylinderCollider, decorators: [{
232
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrRoundCylinderCollider, decorators: [{
233
233
  type: Directive,
234
234
  args: [{
235
235
  selector: 'ngt-object3D[ngtrRoundCylinderCollider]',
@@ -249,10 +249,10 @@ export class NgtrConeCollider {
249
249
  });
250
250
  });
251
251
  }
252
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrConeCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
253
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.9", type: NgtrConeCollider, isStandalone: true, selector: "ngt-object3D[ngtrConeCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
252
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrConeCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
253
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: NgtrConeCollider, isStandalone: true, selector: "ngt-object3D[ngtrConeCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
254
254
  }
255
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrConeCollider, decorators: [{
255
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrConeCollider, decorators: [{
256
256
  type: Directive,
257
257
  args: [{
258
258
  selector: 'ngt-object3D[ngtrConeCollider]',
@@ -272,10 +272,10 @@ export class NgtrRoundConeCollider {
272
272
  });
273
273
  });
274
274
  }
275
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrRoundConeCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
276
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.9", type: NgtrRoundConeCollider, isStandalone: true, selector: "ngt-object3D[ngtrRoundConeCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
275
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrRoundConeCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
276
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: NgtrRoundConeCollider, isStandalone: true, selector: "ngt-object3D[ngtrRoundConeCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
277
277
  }
278
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrRoundConeCollider, decorators: [{
278
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrRoundConeCollider, decorators: [{
279
279
  type: Directive,
280
280
  args: [{
281
281
  selector: 'ngt-object3D[ngtrRoundConeCollider]',
@@ -295,10 +295,10 @@ export class NgtrConvexMeshCollider {
295
295
  });
296
296
  });
297
297
  }
298
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrConvexMeshCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
299
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.9", type: NgtrConvexMeshCollider, isStandalone: true, selector: "ngt-object3D[ngtrConvexMeshCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
298
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrConvexMeshCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
299
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: NgtrConvexMeshCollider, isStandalone: true, selector: "ngt-object3D[ngtrConvexMeshCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
300
300
  }
301
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrConvexMeshCollider, decorators: [{
301
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrConvexMeshCollider, decorators: [{
302
302
  type: Directive,
303
303
  args: [{
304
304
  selector: 'ngt-object3D[ngtrConvexMeshCollider]',
@@ -318,10 +318,10 @@ export class NgtrRoundConvexHullCollider {
318
318
  });
319
319
  });
320
320
  }
321
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrRoundConvexHullCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
322
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.9", type: NgtrRoundConvexHullCollider, isStandalone: true, selector: "ngt-object3D[ngtrRoundConvexHullCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
321
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrRoundConvexHullCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
322
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: NgtrRoundConvexHullCollider, isStandalone: true, selector: "ngt-object3D[ngtrRoundConvexHullCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
323
323
  }
324
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrRoundConvexHullCollider, decorators: [{
324
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrRoundConvexHullCollider, decorators: [{
325
325
  type: Directive,
326
326
  args: [{
327
327
  selector: 'ngt-object3D[ngtrRoundConvexHullCollider]',
@@ -341,10 +341,10 @@ export class NgtrRoundConvexMeshCollider {
341
341
  });
342
342
  });
343
343
  }
344
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrRoundConvexMeshCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
345
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.9", type: NgtrRoundConvexMeshCollider, isStandalone: true, selector: "ngt-object3D[ngtrRoundConvexMeshCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
344
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrRoundConvexMeshCollider, deps: [], target: i0.ɵɵFactoryTarget.Directive });
345
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: NgtrRoundConvexMeshCollider, isStandalone: true, selector: "ngt-object3D[ngtrRoundConvexMeshCollider]", inputs: { args: { classPropertyName: "args", publicName: "args", isSignal: true, isRequired: true, transformFunction: null } }, hostDirectives: [{ directive: i1.NgtrAnyCollider, inputs: ["options", "options", "name", "name", "scale", "scale", "position", "position", "quaternion", "quaternion", "rotation", "rotation", "userData", "userData"], outputs: ["collisionEnter", "collisionEnter", "collisionExit", "collisionExit", "intersectionEnter", "intersectionEnter", "intersectionExit", "intersectionExit", "contactForce", "contactForce"] }], ngImport: i0 });
346
346
  }
347
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrRoundConvexMeshCollider, decorators: [{
347
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrRoundConvexMeshCollider, decorators: [{
348
348
  type: Directive,
349
349
  args: [{
350
350
  selector: 'ngt-object3D[ngtrRoundConvexMeshCollider]',
@@ -352,4 +352,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
352
352
  hostDirectives: [ANY_COLLIDER_HOST_DIRECTIVE],
353
353
  }]
354
354
  }], ctorParameters: () => [] });
355
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9yYXBpZXIvc3JjL2xpYi9jb2xsaWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBbUIvQyxNQUFNLDJCQUEyQixHQUFHO0lBQ25DLFNBQVMsRUFBRSxlQUFlO0lBQzFCLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQztJQUN0RixPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxDQUFDO0NBQ3JHLENBQUM7QUFPRixNQUFNLE9BQU8sa0JBQWtCO0lBQzlCLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFrQixDQUFDO0lBRXhDO1FBQ0MsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVELFdBQVcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0IsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNYLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN6QixTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNkLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7dUdBWlcsa0JBQWtCOzJGQUFsQixrQkFBa0I7OzJGQUFsQixrQkFBa0I7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V0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQzt1R0FaVywyQkFBMkI7MkZBQTNCLDJCQUEyQjs7MkZBQTNCLDJCQUEyQjtrQkFMdkMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsMkNBQTJDO29CQUNyRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsY0FBYyxFQUFFLENBQUMsMkJBQTJCLENBQUM7aUJBQzdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBlZmZlY3QsIGluamVjdCwgaW5wdXQsIHVudHJhY2tlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0ckFueUNvbGxpZGVyIH0gZnJvbSAnLi9yaWdpZC1ib2R5JztcbmltcG9ydCB7XG5cdE5ndHJCYWxsQXJncyxcblx0Tmd0ckNhcHN1bGVBcmdzLFxuXHROZ3RyQ29uZUFyZ3MsXG5cdE5ndHJDb252ZXhIdWxsQXJncyxcblx0Tmd0ckNvbnZleE1lc2hBcmdzLFxuXHROZ3RyQ3Vib2lkQXJncyxcblx0Tmd0ckN5bGluZGVyQXJncyxcblx0Tmd0ckhlaWdodGZpZWxkQXJncyxcblx0Tmd0clBvbHlsaW5lQXJncyxcblx0Tmd0clJvdW5kQ29uZUFyZ3MsXG5cdE5ndHJSb3VuZENvbnZleEh1bGxBcmdzLFxuXHROZ3RyUm91bmRDb252ZXhNZXNoQXJncyxcblx0Tmd0clJvdW5kQ3Vib2lkQXJncyxcblx0Tmd0clJvdW5kQ3lsaW5kZXJBcmdzLFxuXHROZ3RyVHJpbWVzaEFyZ3MsXG59IGZyb20gJy4vdHlwZXMnO1xuXG5jb25zdCBBTllfQ09MTElERVJfSE9TVF9ESVJFQ1RJVkUgPSB7XG5cdGRpcmVjdGl2ZTogTmd0ckFueUNvbGxpZGVyLFxuXHRpbnB1dHM6IFsnb3B0aW9ucycsICduYW1lJywgJ3NjYWxlJywgJ3Bvc2l0aW9uJywgJ3F1YXRlcm5pb24nLCAncm90YXRpb24nLCAndXNlckRhdGEnXSxcblx0b3V0cHV0czogWydjb2xsaXNpb25FbnRlcicsICdjb2xsaXNpb25FeGl0JywgJ2ludGVyc2VjdGlvbkVudGVyJywgJ2ludGVyc2VjdGlvbkV4aXQnLCAnY29udGFjdEZvcmNlJ10sXG59O1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICduZ3Qtb2JqZWN0M0Rbbmd0ckN1Ym9pZENvbGxpZGVyXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3REaXJlY3RpdmVzOiBbQU5ZX0NPTExJREVSX0hPU1RfRElSRUNUSVZFXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0ckN1Ym9pZENvbGxpZGVyIHtcblx0YXJncyA9IGlucHV0LnJlcXVpcmVkPE5ndHJDdWJvaWRBcmdzPigpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGNvbnN0IGFueUNvbGxpZGVyID0gaW5qZWN0KE5ndHJBbnlDb2xsaWRlciwgeyBob3N0OiB0cnVlIH0pO1xuXHRcdGFueUNvbGxpZGVyLnNldFNoYXBlKCdjdWJvaWQnKTtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgYXJncyA9IHRoaXMuYXJncygpO1xuXHRcdFx0dW50cmFja2VkKCgpID0+IHtcblx0XHRcdFx0YW55Q29sbGlkZXIuc2V0QXJncyhhcmdzKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG59XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ25ndC1vYmplY3QzRFtuZ3RyQ2Fwc3VsZUNvbGxpZGVyXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3REaXJlY3RpdmVzOiBbQU5ZX0NPTExJREVSX0hPU1RfRElSRUNUSVZFXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0ckNhcHN1bGVDb2xsaWRlciB7XG5cdGFyZ3MgPSBpbnB1dC5yZXF1aXJlZDxOZ3RyQ2Fwc3VsZUFyZ3M+KCk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Y29uc3QgYW55Q29sbGlkZXIgPSBpbmplY3QoTmd0ckFueUNvbGxpZGVyLCB7IGhvc3Q6IHRydWUgfSk7XG5cdFx0YW55Q29sbGlkZXIuc2V0U2hhcGUoJ2NhcHN1bGUnKTtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgYXJncyA9IHRoaXMuYXJncygpO1xuXHRcdFx0dW50cmFja2VkKCgpID0+IHtcblx0XHRcdFx0YW55Q29sbGlkZXIuc2V0QXJncyhhcmdzKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG59XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ25ndC1vYmplY3QzRFtuZ3RyQmFsbENvbGxpZGVyXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3REaXJlY3RpdmVzOiBbQU5ZX0NPTExJREVSX0hPU1RfRElSRUNUSVZFXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0ckJhbGxDb2xsaWRlciB7XG5cdGFyZ3MgPSBpbnB1dC5yZXF1aXJlZDxOZ3RyQmFsbEFyZ3M+KCk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Y29uc3QgYW55Q29sbGlkZXIgPSBpbmplY3QoTmd0ckFueUNvbGxpZGVyLCB7IGhvc3Q6IHRydWUgfSk7XG5cdFx0YW55Q29sbGlkZXIuc2V0U2hhcGUoJ2JhbGwnKTtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgYXJncyA9IHRoaXMuYXJncygpO1xuXHRcdFx0dW50cmFja2VkKCgpID0+IHtcblx0XHRcdFx0YW55Q29sbGlkZXIuc2V0QXJncyhhcmdzKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG59XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ25ndC1vYmplY3QzRFtuZ3RyQ29udmV4SHVsbENvbGxpZGVyXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3REaXJlY3RpdmVzOiBbQU5ZX0NPTExJREVSX0hPU1RfRElSRUNUSVZFXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0ckNvbnZleEh1bGxDb2xsaWRlciB7XG5cdGFyZ3MgPSBpbnB1dC5yZXF1aXJlZDxOZ3RyQ29udmV4SHVsbEFyZ3M+KCk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Y29uc3QgYW55Q29sbGlkZXIgPSBpbmplY3QoTmd0ckFueUNvbGxpZGVyLCB7IGhvc3Q6IHRydWUgfSk7XG5cdFx0YW55Q29sbGlkZXIuc2V0U2hhcGUoJ3JvdW5kQ29udmV4SHVsbCcpO1xuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHRjb25zdCBhcmdzID0gdGhpcy5hcmdzKCk7XG5cdFx0XHR1bnRyYWNrZWQoKCkgPT4ge1xuXHRcdFx0XHRhbnlDb2xsaWRlci5zZXRBcmdzKGFyZ3MpO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cbn1cblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnbmd0LW9iamVjdDNEW25ndHJIZWlnaHRmaWVsZENvbGxpZGVyXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3REaXJlY3RpdmVzOiBbQU5ZX0NPTExJREVSX0hPU1RfRElSRUNUSVZFXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0ckhlaWdodGZpZWxkQ29sbGlkZXIge1xuXHRhcmdzID0gaW5wdXQucmVxdWlyZWQ8Tmd0ckhlaWdodGZpZWxkQXJncz4oKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRjb25zdCBhbnlDb2xsaWRlciA9IGluamVjdChOZ3RyQW55Q29sbGlkZXIsIHsgaG9zdDogdHJ1ZSB9KTtcblx0XHRhbnlDb2xsaWRlci5zZXRTaGFwZSgnaGVpZ2h0ZmllbGQnKTtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgYXJncyA9IHRoaXMuYXJncygpO1xuXHRcdFx0dW50cmFja2VkKCgpID0+IHtcblx0XHRcdFx0YW55Q29sbGlkZXIuc2V0QXJncyhhcmdzKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG59XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ25ndC1vYmplY3QzRFtuZ3RyVHJpbWVzaENvbGxpZGVyXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3REaXJlY3RpdmVzOiBbQU5ZX0NPTExJREVSX0hPU1RfRElSRUNUSVZFXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0clRyaW1lc2hDb2xsaWRlciB7XG5cdGFyZ3MgPSBpbnB1dC5yZXF1aXJlZDxOZ3RyVHJpbWVzaEFyZ3M+KCk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Y29uc3QgYW55Q29sbGlkZXIgPSBpbmplY3QoTmd0ckFueUNvbGxpZGVyLCB7IGhvc3Q6IHRydWUgfSk7XG5cdFx0YW55Q29sbGlkZXIuc2V0U2hhcGUoJ3RyaW1lc2gnKTtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgYXJncyA9IHRoaXMuYXJncygpO1xuXHRcdFx0dW50cmFja2VkKCgpID0+IHtcblx0XHRcdFx0YW55Q29sbGlkZXIuc2V0QXJncyhhcmdzKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG59XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ25ndC1vYmplY3QzRFtuZ3RyUG9seWxpbmVDb2xsaWRlcl0nLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRob3N0RGlyZWN0aXZlczogW0FOWV9DT0xMSURFUl9IT1NUX0RJUkVDVElWRV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHJQb2x5bGluZUNvbGxpZGVyIHtcblx0YXJncyA9IGlucHV0LnJlcXVpcmVkPE5ndHJQb2x5bGluZUFyZ3M+KCk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Y29uc3QgYW55Q29sbGlkZXIgPSBpbmplY3QoTmd0ckFueUNvbGxpZGVyLCB7IGhvc3Q6IHRydWUgfSk7XG5cdFx0YW55Q29sbGlkZXIuc2V0U2hhcGUoJ3BvbHlsaW5lJyk7XG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IGFyZ3MgPSB0aGlzLmFyZ3MoKTtcblx0XHRcdHVudHJhY2tlZCgoKSA9PiB7XG5cdFx0XHRcdGFueUNvbGxpZGVyLnNldEFyZ3MoYXJncyk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fVxufVxuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICduZ3Qtb2JqZWN0M0Rbbmd0clJvdW5kQ3Vib2lkQ29sbGlkZXJdJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aG9zdERpcmVjdGl2ZXM6IFtBTllfQ09MTElERVJfSE9TVF9ESVJFQ1RJVkVdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RyUm91bmRDdWJvaWRDb2xsaWRlciB7XG5cdGFyZ3MgPSBpbnB1dC5yZXF1aXJlZDxOZ3RyUm91bmRDdWJvaWRBcmdzPigpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGNvbnN0IGFueUNvbGxpZGVyID0gaW5qZWN0KE5ndHJBbnlDb2xsaWRlciwgeyBob3N0OiB0cnVlIH0pO1xuXHRcdGFueUNvbGxpZGVyLnNldFNoYXBlKCdyb3VuZEN1Ym9pZCcpO1xuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHRjb25zdCBhcmdzID0gdGhpcy5hcmdzKCk7XG5cdFx0XHR1bnRyYWNrZWQoKCkgPT4ge1xuXHRcdFx0XHRhbnlDb2xsaWRlci5zZXRBcmdzKGFyZ3MpO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cbn1cblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnbmd0LW9iamVjdDNEW25ndHJDeWxpbmRlckNvbGxpZGVyXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3REaXJlY3RpdmVzOiBbQU5ZX0NPTExJREVSX0hPU1RfRElSRUNUSVZFXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0ckN5bGluZGVyQ29sbGlkZXIge1xuXHRhcmdzID0gaW5wdXQucmVxdWlyZWQ8Tmd0ckN5bGluZGVyQXJncz4oKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRjb25zdCBhbnlDb2xsaWRlciA9IGluamVjdChOZ3RyQW55Q29sbGlkZXIsIHsgaG9zdDogdHJ1ZSB9KTtcblx0XHRhbnlDb2xsaWRlci5zZXRTaGFwZSgnY3lsaW5kZXInKTtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgYXJncyA9IHRoaXMuYXJncygpO1xuXHRcdFx0dW50cmFja2VkKCgpID0+IHtcblx0XHRcdFx0YW55Q29sbGlkZXIuc2V0QXJncyhhcmdzKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG59XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ25ndC1vYmplY3QzRFtuZ3RyUm91bmRDeWxpbmRlckNvbGxpZGVyXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3REaXJlY3RpdmVzOiBbQU5ZX0NPTExJREVSX0hPU1RfRElSRUNUSVZFXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0clJvdW5kQ3lsaW5kZXJDb2xsaWRlciB7XG5cdGFyZ3MgPSBpbnB1dC5yZXF1aXJlZDxOZ3RyUm91bmRDeWxpbmRlckFyZ3M+KCk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Y29uc3QgYW55Q29sbGlkZXIgPSBpbmplY3QoTmd0ckFueUNvbGxpZGVyLCB7IGhvc3Q6IHRydWUgfSk7XG5cdFx0YW55Q29sbGlkZXIuc2V0U2hhcGUoJ3JvdW5kQ3lsaW5kZXInKTtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgYXJncyA9IHRoaXMuYXJncygpO1xuXHRcdFx0dW50cmFja2VkKCgpID0+IHtcblx0XHRcdFx0YW55Q29sbGlkZXIuc2V0QXJncyhhcmdzKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG59XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ25ndC1vYmplY3QzRFtuZ3RyQ29uZUNvbGxpZGVyXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3REaXJlY3RpdmVzOiBbQU5ZX0NPTExJREVSX0hPU1RfRElSRUNUSVZFXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0ckNvbmVDb2xsaWRlciB7XG5cdGFyZ3MgPSBpbnB1dC5yZXF1aXJlZDxOZ3RyQ29uZUFyZ3M+KCk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Y29uc3QgYW55Q29sbGlkZXIgPSBpbmplY3QoTmd0ckFueUNvbGxpZGVyLCB7IGhvc3Q6IHRydWUgfSk7XG5cdFx0YW55Q29sbGlkZXIuc2V0U2hhcGUoJ2NvbmUnKTtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgYXJncyA9IHRoaXMuYXJncygpO1xuXHRcdFx0dW50cmFja2VkKCgpID0+IHtcblx0XHRcdFx0YW55Q29sbGlkZXIuc2V0QXJncyhhcmdzKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG59XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ25ndC1vYmplY3QzRFtuZ3RyUm91bmRDb25lQ29sbGlkZXJdJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aG9zdERpcmVjdGl2ZXM6IFtBTllfQ09MTElERVJfSE9TVF9ESVJFQ1RJVkVdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RyUm91bmRDb25lQ29sbGlkZXIge1xuXHRhcmdzID0gaW5wdXQucmVxdWlyZWQ8Tmd0clJvdW5kQ29uZUFyZ3M+KCk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Y29uc3QgYW55Q29sbGlkZXIgPSBpbmplY3QoTmd0ckFueUNvbGxpZGVyLCB7IGhvc3Q6IHRydWUgfSk7XG5cdFx0YW55Q29sbGlkZXIuc2V0U2hhcGUoJ3JvdW5kQ29uZScpO1xuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHRjb25zdCBhcmdzID0gdGhpcy5hcmdzKCk7XG5cdFx0XHR1bnRyYWNrZWQoKCkgPT4ge1xuXHRcdFx0XHRhbnlDb2xsaWRlci5zZXRBcmdzKGFyZ3MpO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cbn1cblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnbmd0LW9iamVjdDNEW25ndHJDb252ZXhNZXNoQ29sbGlkZXJdJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aG9zdERpcmVjdGl2ZXM6IFtBTllfQ09MTElERVJfSE9TVF9ESVJFQ1RJVkVdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RyQ29udmV4TWVzaENvbGxpZGVyIHtcblx0YXJncyA9IGlucHV0LnJlcXVpcmVkPE5ndHJDb252ZXhNZXNoQXJncz4oKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRjb25zdCBhbnlDb2xsaWRlciA9IGluamVjdChOZ3RyQW55Q29sbGlkZXIsIHsgaG9zdDogdHJ1ZSB9KTtcblx0XHRhbnlDb2xsaWRlci5zZXRTaGFwZSgnY29udmV4TWVzaCcpO1xuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHRjb25zdCBhcmdzID0gdGhpcy5hcmdzKCk7XG5cdFx0XHR1bnRyYWNrZWQoKCkgPT4ge1xuXHRcdFx0XHRhbnlDb2xsaWRlci5zZXRBcmdzKGFyZ3MpO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cbn1cblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnbmd0LW9iamVjdDNEW25ndHJSb3VuZENvbnZleEh1bGxDb2xsaWRlcl0nLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRob3N0RGlyZWN0aXZlczogW0FOWV9DT0xMSURFUl9IT1NUX0RJUkVDVElWRV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHJSb3VuZENvbnZleEh1bGxDb2xsaWRlciB7XG5cdGFyZ3MgPSBpbnB1dC5yZXF1aXJlZDxOZ3RyUm91bmRDb252ZXhIdWxsQXJncz4oKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRjb25zdCBhbnlDb2xsaWRlciA9IGluamVjdChOZ3RyQW55Q29sbGlkZXIsIHsgaG9zdDogdHJ1ZSB9KTtcblx0XHRhbnlDb2xsaWRlci5zZXRTaGFwZSgncm91bmRDb252ZXhIdWxsJyk7XG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IGFyZ3MgPSB0aGlzLmFyZ3MoKTtcblx0XHRcdHVudHJhY2tlZCgoKSA9PiB7XG5cdFx0XHRcdGFueUNvbGxpZGVyLnNldEFyZ3MoYXJncyk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fVxufVxuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICduZ3Qtb2JqZWN0M0Rbbmd0clJvdW5kQ29udmV4TWVzaENvbGxpZGVyXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3REaXJlY3RpdmVzOiBbQU5ZX0NPTExJREVSX0hPU1RfRElSRUNUSVZFXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0clJvdW5kQ29udmV4TWVzaENvbGxpZGVyIHtcblx0YXJncyA9IGlucHV0LnJlcXVpcmVkPE5ndHJSb3VuZENvbnZleE1lc2hBcmdzPigpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGNvbnN0IGFueUNvbGxpZGVyID0gaW5qZWN0KE5ndHJBbnlDb2xsaWRlciwgeyBob3N0OiB0cnVlIH0pO1xuXHRcdGFueUNvbGxpZGVyLnNldFNoYXBlKCdyb3VuZENvbnZleE1lc2gnKTtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgYXJncyA9IHRoaXMuYXJncygpO1xuXHRcdFx0dW50cmFja2VkKCgpID0+IHtcblx0XHRcdFx0YW55Q29sbGlkZXIuc2V0QXJncyhhcmdzKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG59XG4iXX0=
355
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGlkZXJzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9yYXBpZXIvc3JjL2xpYi9jb2xsaWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7O0FBbUIvQyxNQUFNLDJCQUEyQixHQUFHO0lBQ25DLFNBQVMsRUFBRSxlQUFlO0lBQzFCLE1BQU0sRUFBRSxDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQztJQUN0RixPQUFPLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsY0FBYyxDQUFDO0NBQ3JHLENBQUM7QUFPRixNQUFNLE9BQU8sa0JBQWtCO0lBQzlCLElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFrQixDQUFDO0lBRXhDO1FBQ0MsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLGVBQWUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQzVELFdBQVcsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDL0IsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNYLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN6QixTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNkLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7d0dBWlcsa0JBQWtCOzRGQUFsQixrQkFBa0I7OzRGQUFsQixrQkFBa0I7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V0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMzQixDQUFDLENBQUMsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQzt3R0FaVywyQkFBMkI7NEZBQTNCLDJCQUEyQjs7NEZBQTNCLDJCQUEyQjtrQkFMdkMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsMkNBQTJDO29CQUNyRCxVQUFVLEVBQUUsSUFBSTtvQkFDaEIsY0FBYyxFQUFFLENBQUMsMkJBQTJCLENBQUM7aUJBQzdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBlZmZlY3QsIGluamVjdCwgaW5wdXQsIHVudHJhY2tlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmd0ckFueUNvbGxpZGVyIH0gZnJvbSAnLi9yaWdpZC1ib2R5JztcbmltcG9ydCB7XG5cdE5ndHJCYWxsQXJncyxcblx0Tmd0ckNhcHN1bGVBcmdzLFxuXHROZ3RyQ29uZUFyZ3MsXG5cdE5ndHJDb252ZXhIdWxsQXJncyxcblx0Tmd0ckNvbnZleE1lc2hBcmdzLFxuXHROZ3RyQ3Vib2lkQXJncyxcblx0Tmd0ckN5bGluZGVyQXJncyxcblx0Tmd0ckhlaWdodGZpZWxkQXJncyxcblx0Tmd0clBvbHlsaW5lQXJncyxcblx0Tmd0clJvdW5kQ29uZUFyZ3MsXG5cdE5ndHJSb3VuZENvbnZleEh1bGxBcmdzLFxuXHROZ3RyUm91bmRDb252ZXhNZXNoQXJncyxcblx0Tmd0clJvdW5kQ3Vib2lkQXJncyxcblx0Tmd0clJvdW5kQ3lsaW5kZXJBcmdzLFxuXHROZ3RyVHJpbWVzaEFyZ3MsXG59IGZyb20gJy4vdHlwZXMnO1xuXG5jb25zdCBBTllfQ09MTElERVJfSE9TVF9ESVJFQ1RJVkUgPSB7XG5cdGRpcmVjdGl2ZTogTmd0ckFueUNvbGxpZGVyLFxuXHRpbnB1dHM6IFsnb3B0aW9ucycsICduYW1lJywgJ3NjYWxlJywgJ3Bvc2l0aW9uJywgJ3F1YXRlcm5pb24nLCAncm90YXRpb24nLCAndXNlckRhdGEnXSxcblx0b3V0cHV0czogWydjb2xsaXNpb25FbnRlcicsICdjb2xsaXNpb25FeGl0JywgJ2ludGVyc2VjdGlvbkVudGVyJywgJ2ludGVyc2VjdGlvbkV4aXQnLCAnY29udGFjdEZvcmNlJ10sXG59O1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICduZ3Qtb2JqZWN0M0Rbbmd0ckN1Ym9pZENvbGxpZGVyXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3REaXJlY3RpdmVzOiBbQU5ZX0NPTExJREVSX0hPU1RfRElSRUNUSVZFXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0ckN1Ym9pZENvbGxpZGVyIHtcblx0YXJncyA9IGlucHV0LnJlcXVpcmVkPE5ndHJDdWJvaWRBcmdzPigpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGNvbnN0IGFueUNvbGxpZGVyID0gaW5qZWN0KE5ndHJBbnlDb2xsaWRlciwgeyBob3N0OiB0cnVlIH0pO1xuXHRcdGFueUNvbGxpZGVyLnNldFNoYXBlKCdjdWJvaWQnKTtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgYXJncyA9IHRoaXMuYXJncygpO1xuXHRcdFx0dW50cmFja2VkKCgpID0+IHtcblx0XHRcdFx0YW55Q29sbGlkZXIuc2V0QXJncyhhcmdzKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG59XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ25ndC1vYmplY3QzRFtuZ3RyQ2Fwc3VsZUNvbGxpZGVyXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3REaXJlY3RpdmVzOiBbQU5ZX0NPTExJREVSX0hPU1RfRElSRUNUSVZFXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0ckNhcHN1bGVDb2xsaWRlciB7XG5cdGFyZ3MgPSBpbnB1dC5yZXF1aXJlZDxOZ3RyQ2Fwc3VsZUFyZ3M+KCk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Y29uc3QgYW55Q29sbGlkZXIgPSBpbmplY3QoTmd0ckFueUNvbGxpZGVyLCB7IGhvc3Q6IHRydWUgfSk7XG5cdFx0YW55Q29sbGlkZXIuc2V0U2hhcGUoJ2NhcHN1bGUnKTtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgYXJncyA9IHRoaXMuYXJncygpO1xuXHRcdFx0dW50cmFja2VkKCgpID0+IHtcblx0XHRcdFx0YW55Q29sbGlkZXIuc2V0QXJncyhhcmdzKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG59XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ25ndC1vYmplY3QzRFtuZ3RyQmFsbENvbGxpZGVyXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3REaXJlY3RpdmVzOiBbQU5ZX0NPTExJREVSX0hPU1RfRElSRUNUSVZFXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0ckJhbGxDb2xsaWRlciB7XG5cdGFyZ3MgPSBpbnB1dC5yZXF1aXJlZDxOZ3RyQmFsbEFyZ3M+KCk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Y29uc3QgYW55Q29sbGlkZXIgPSBpbmplY3QoTmd0ckFueUNvbGxpZGVyLCB7IGhvc3Q6IHRydWUgfSk7XG5cdFx0YW55Q29sbGlkZXIuc2V0U2hhcGUoJ2JhbGwnKTtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgYXJncyA9IHRoaXMuYXJncygpO1xuXHRcdFx0dW50cmFja2VkKCgpID0+IHtcblx0XHRcdFx0YW55Q29sbGlkZXIuc2V0QXJncyhhcmdzKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG59XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ25ndC1vYmplY3QzRFtuZ3RyQ29udmV4SHVsbENvbGxpZGVyXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3REaXJlY3RpdmVzOiBbQU5ZX0NPTExJREVSX0hPU1RfRElSRUNUSVZFXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0ckNvbnZleEh1bGxDb2xsaWRlciB7XG5cdGFyZ3MgPSBpbnB1dC5yZXF1aXJlZDxOZ3RyQ29udmV4SHVsbEFyZ3M+KCk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Y29uc3QgYW55Q29sbGlkZXIgPSBpbmplY3QoTmd0ckFueUNvbGxpZGVyLCB7IGhvc3Q6IHRydWUgfSk7XG5cdFx0YW55Q29sbGlkZXIuc2V0U2hhcGUoJ3JvdW5kQ29udmV4SHVsbCcpO1xuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHRjb25zdCBhcmdzID0gdGhpcy5hcmdzKCk7XG5cdFx0XHR1bnRyYWNrZWQoKCkgPT4ge1xuXHRcdFx0XHRhbnlDb2xsaWRlci5zZXRBcmdzKGFyZ3MpO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cbn1cblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnbmd0LW9iamVjdDNEW25ndHJIZWlnaHRmaWVsZENvbGxpZGVyXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3REaXJlY3RpdmVzOiBbQU5ZX0NPTExJREVSX0hPU1RfRElSRUNUSVZFXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0ckhlaWdodGZpZWxkQ29sbGlkZXIge1xuXHRhcmdzID0gaW5wdXQucmVxdWlyZWQ8Tmd0ckhlaWdodGZpZWxkQXJncz4oKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRjb25zdCBhbnlDb2xsaWRlciA9IGluamVjdChOZ3RyQW55Q29sbGlkZXIsIHsgaG9zdDogdHJ1ZSB9KTtcblx0XHRhbnlDb2xsaWRlci5zZXRTaGFwZSgnaGVpZ2h0ZmllbGQnKTtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgYXJncyA9IHRoaXMuYXJncygpO1xuXHRcdFx0dW50cmFja2VkKCgpID0+IHtcblx0XHRcdFx0YW55Q29sbGlkZXIuc2V0QXJncyhhcmdzKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG59XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ25ndC1vYmplY3QzRFtuZ3RyVHJpbWVzaENvbGxpZGVyXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3REaXJlY3RpdmVzOiBbQU5ZX0NPTExJREVSX0hPU1RfRElSRUNUSVZFXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0clRyaW1lc2hDb2xsaWRlciB7XG5cdGFyZ3MgPSBpbnB1dC5yZXF1aXJlZDxOZ3RyVHJpbWVzaEFyZ3M+KCk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Y29uc3QgYW55Q29sbGlkZXIgPSBpbmplY3QoTmd0ckFueUNvbGxpZGVyLCB7IGhvc3Q6IHRydWUgfSk7XG5cdFx0YW55Q29sbGlkZXIuc2V0U2hhcGUoJ3RyaW1lc2gnKTtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgYXJncyA9IHRoaXMuYXJncygpO1xuXHRcdFx0dW50cmFja2VkKCgpID0+IHtcblx0XHRcdFx0YW55Q29sbGlkZXIuc2V0QXJncyhhcmdzKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG59XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ25ndC1vYmplY3QzRFtuZ3RyUG9seWxpbmVDb2xsaWRlcl0nLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRob3N0RGlyZWN0aXZlczogW0FOWV9DT0xMSURFUl9IT1NUX0RJUkVDVElWRV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHJQb2x5bGluZUNvbGxpZGVyIHtcblx0YXJncyA9IGlucHV0LnJlcXVpcmVkPE5ndHJQb2x5bGluZUFyZ3M+KCk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Y29uc3QgYW55Q29sbGlkZXIgPSBpbmplY3QoTmd0ckFueUNvbGxpZGVyLCB7IGhvc3Q6IHRydWUgfSk7XG5cdFx0YW55Q29sbGlkZXIuc2V0U2hhcGUoJ3BvbHlsaW5lJyk7XG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IGFyZ3MgPSB0aGlzLmFyZ3MoKTtcblx0XHRcdHVudHJhY2tlZCgoKSA9PiB7XG5cdFx0XHRcdGFueUNvbGxpZGVyLnNldEFyZ3MoYXJncyk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fVxufVxuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICduZ3Qtb2JqZWN0M0Rbbmd0clJvdW5kQ3Vib2lkQ29sbGlkZXJdJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aG9zdERpcmVjdGl2ZXM6IFtBTllfQ09MTElERVJfSE9TVF9ESVJFQ1RJVkVdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RyUm91bmRDdWJvaWRDb2xsaWRlciB7XG5cdGFyZ3MgPSBpbnB1dC5yZXF1aXJlZDxOZ3RyUm91bmRDdWJvaWRBcmdzPigpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGNvbnN0IGFueUNvbGxpZGVyID0gaW5qZWN0KE5ndHJBbnlDb2xsaWRlciwgeyBob3N0OiB0cnVlIH0pO1xuXHRcdGFueUNvbGxpZGVyLnNldFNoYXBlKCdyb3VuZEN1Ym9pZCcpO1xuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHRjb25zdCBhcmdzID0gdGhpcy5hcmdzKCk7XG5cdFx0XHR1bnRyYWNrZWQoKCkgPT4ge1xuXHRcdFx0XHRhbnlDb2xsaWRlci5zZXRBcmdzKGFyZ3MpO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cbn1cblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnbmd0LW9iamVjdDNEW25ndHJDeWxpbmRlckNvbGxpZGVyXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3REaXJlY3RpdmVzOiBbQU5ZX0NPTExJREVSX0hPU1RfRElSRUNUSVZFXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0ckN5bGluZGVyQ29sbGlkZXIge1xuXHRhcmdzID0gaW5wdXQucmVxdWlyZWQ8Tmd0ckN5bGluZGVyQXJncz4oKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRjb25zdCBhbnlDb2xsaWRlciA9IGluamVjdChOZ3RyQW55Q29sbGlkZXIsIHsgaG9zdDogdHJ1ZSB9KTtcblx0XHRhbnlDb2xsaWRlci5zZXRTaGFwZSgnY3lsaW5kZXInKTtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgYXJncyA9IHRoaXMuYXJncygpO1xuXHRcdFx0dW50cmFja2VkKCgpID0+IHtcblx0XHRcdFx0YW55Q29sbGlkZXIuc2V0QXJncyhhcmdzKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG59XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ25ndC1vYmplY3QzRFtuZ3RyUm91bmRDeWxpbmRlckNvbGxpZGVyXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3REaXJlY3RpdmVzOiBbQU5ZX0NPTExJREVSX0hPU1RfRElSRUNUSVZFXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0clJvdW5kQ3lsaW5kZXJDb2xsaWRlciB7XG5cdGFyZ3MgPSBpbnB1dC5yZXF1aXJlZDxOZ3RyUm91bmRDeWxpbmRlckFyZ3M+KCk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Y29uc3QgYW55Q29sbGlkZXIgPSBpbmplY3QoTmd0ckFueUNvbGxpZGVyLCB7IGhvc3Q6IHRydWUgfSk7XG5cdFx0YW55Q29sbGlkZXIuc2V0U2hhcGUoJ3JvdW5kQ3lsaW5kZXInKTtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgYXJncyA9IHRoaXMuYXJncygpO1xuXHRcdFx0dW50cmFja2VkKCgpID0+IHtcblx0XHRcdFx0YW55Q29sbGlkZXIuc2V0QXJncyhhcmdzKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG59XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ25ndC1vYmplY3QzRFtuZ3RyQ29uZUNvbGxpZGVyXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3REaXJlY3RpdmVzOiBbQU5ZX0NPTExJREVSX0hPU1RfRElSRUNUSVZFXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0ckNvbmVDb2xsaWRlciB7XG5cdGFyZ3MgPSBpbnB1dC5yZXF1aXJlZDxOZ3RyQ29uZUFyZ3M+KCk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Y29uc3QgYW55Q29sbGlkZXIgPSBpbmplY3QoTmd0ckFueUNvbGxpZGVyLCB7IGhvc3Q6IHRydWUgfSk7XG5cdFx0YW55Q29sbGlkZXIuc2V0U2hhcGUoJ2NvbmUnKTtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgYXJncyA9IHRoaXMuYXJncygpO1xuXHRcdFx0dW50cmFja2VkKCgpID0+IHtcblx0XHRcdFx0YW55Q29sbGlkZXIuc2V0QXJncyhhcmdzKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG59XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ25ndC1vYmplY3QzRFtuZ3RyUm91bmRDb25lQ29sbGlkZXJdJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aG9zdERpcmVjdGl2ZXM6IFtBTllfQ09MTElERVJfSE9TVF9ESVJFQ1RJVkVdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RyUm91bmRDb25lQ29sbGlkZXIge1xuXHRhcmdzID0gaW5wdXQucmVxdWlyZWQ8Tmd0clJvdW5kQ29uZUFyZ3M+KCk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0Y29uc3QgYW55Q29sbGlkZXIgPSBpbmplY3QoTmd0ckFueUNvbGxpZGVyLCB7IGhvc3Q6IHRydWUgfSk7XG5cdFx0YW55Q29sbGlkZXIuc2V0U2hhcGUoJ3JvdW5kQ29uZScpO1xuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHRjb25zdCBhcmdzID0gdGhpcy5hcmdzKCk7XG5cdFx0XHR1bnRyYWNrZWQoKCkgPT4ge1xuXHRcdFx0XHRhbnlDb2xsaWRlci5zZXRBcmdzKGFyZ3MpO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cbn1cblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnbmd0LW9iamVjdDNEW25ndHJDb252ZXhNZXNoQ29sbGlkZXJdJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0aG9zdERpcmVjdGl2ZXM6IFtBTllfQ09MTElERVJfSE9TVF9ESVJFQ1RJVkVdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RyQ29udmV4TWVzaENvbGxpZGVyIHtcblx0YXJncyA9IGlucHV0LnJlcXVpcmVkPE5ndHJDb252ZXhNZXNoQXJncz4oKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRjb25zdCBhbnlDb2xsaWRlciA9IGluamVjdChOZ3RyQW55Q29sbGlkZXIsIHsgaG9zdDogdHJ1ZSB9KTtcblx0XHRhbnlDb2xsaWRlci5zZXRTaGFwZSgnY29udmV4TWVzaCcpO1xuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHRjb25zdCBhcmdzID0gdGhpcy5hcmdzKCk7XG5cdFx0XHR1bnRyYWNrZWQoKCkgPT4ge1xuXHRcdFx0XHRhbnlDb2xsaWRlci5zZXRBcmdzKGFyZ3MpO1xuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cbn1cblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnbmd0LW9iamVjdDNEW25ndHJSb3VuZENvbnZleEh1bGxDb2xsaWRlcl0nLFxuXHRzdGFuZGFsb25lOiB0cnVlLFxuXHRob3N0RGlyZWN0aXZlczogW0FOWV9DT0xMSURFUl9IT1NUX0RJUkVDVElWRV0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHJSb3VuZENvbnZleEh1bGxDb2xsaWRlciB7XG5cdGFyZ3MgPSBpbnB1dC5yZXF1aXJlZDxOZ3RyUm91bmRDb252ZXhIdWxsQXJncz4oKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRjb25zdCBhbnlDb2xsaWRlciA9IGluamVjdChOZ3RyQW55Q29sbGlkZXIsIHsgaG9zdDogdHJ1ZSB9KTtcblx0XHRhbnlDb2xsaWRlci5zZXRTaGFwZSgncm91bmRDb252ZXhIdWxsJyk7XG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IGFyZ3MgPSB0aGlzLmFyZ3MoKTtcblx0XHRcdHVudHJhY2tlZCgoKSA9PiB7XG5cdFx0XHRcdGFueUNvbGxpZGVyLnNldEFyZ3MoYXJncyk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fVxufVxuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICduZ3Qtb2JqZWN0M0Rbbmd0clJvdW5kQ29udmV4TWVzaENvbGxpZGVyXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdGhvc3REaXJlY3RpdmVzOiBbQU5ZX0NPTExJREVSX0hPU1RfRElSRUNUSVZFXSxcbn0pXG5leHBvcnQgY2xhc3MgTmd0clJvdW5kQ29udmV4TWVzaENvbGxpZGVyIHtcblx0YXJncyA9IGlucHV0LnJlcXVpcmVkPE5ndHJSb3VuZENvbnZleE1lc2hBcmdzPigpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGNvbnN0IGFueUNvbGxpZGVyID0gaW5qZWN0KE5ndHJBbnlDb2xsaWRlciwgeyBob3N0OiB0cnVlIH0pO1xuXHRcdGFueUNvbGxpZGVyLnNldFNoYXBlKCdyb3VuZENvbnZleE1lc2gnKTtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgYXJncyA9IHRoaXMuYXJncygpO1xuXHRcdFx0dW50cmFja2VkKCgpID0+IHtcblx0XHRcdFx0YW55Q29sbGlkZXIuc2V0QXJncyhhcmdzKTtcblx0XHRcdH0pO1xuXHRcdH0pO1xuXHR9XG59XG4iXX0=
@@ -16,8 +16,8 @@ export class NgtrDebug {
16
16
  lineSegments.geometry.setAttribute('color', new BufferAttribute(buffers.colors, 4));
17
17
  });
18
18
  }
19
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrDebug, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.9", type: NgtrDebug, isStandalone: true, selector: "ngtr-debug", inputs: { world: { classPropertyName: "world", publicName: "world", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "lineSegmentsRef", first: true, predicate: ["lineSegments"], descendants: true, isSignal: true }], ngImport: i0, template: `
19
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrDebug, deps: [], target: i0.ɵɵFactoryTarget.Component });
20
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.11", type: NgtrDebug, isStandalone: true, selector: "ngtr-debug", inputs: { world: { classPropertyName: "world", publicName: "world", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "lineSegmentsRef", first: true, predicate: ["lineSegments"], descendants: true, isSignal: true }], ngImport: i0, template: `
21
21
  <ngt-group>
22
22
  <ngt-line-segments #lineSegments [frustumCulled]="false">
23
23
  <ngt-line-basic-material color="white" [vertexColors]="true" />
@@ -26,7 +26,7 @@ export class NgtrDebug {
26
26
  </ngt-group>
27
27
  `, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
28
28
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrDebug, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrDebug, decorators: [{
30
30
  type: Component,
31
31
  args: [{
32
32
  selector: 'ngtr-debug',
@@ -43,4 +43,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
43
43
  changeDetection: ChangeDetectionStrategy.OnPush,
44
44
  }]
45
45
  }], ctorParameters: () => [] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3JhcGllci9zcmMvbGliL2RlYnVnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULHNCQUFzQixFQUV0QixLQUFLLEVBQ0wsU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLE1BQU0sT0FBTyxDQUFDOztBQWdCaEYsTUFBTSxPQUFPLFNBQVM7SUFDckIsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXFCLENBQUM7SUFFcEMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQTJCLGNBQWMsQ0FBQyxDQUFDO0lBRXZGO1FBQ0MsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBRXBFLGtCQUFrQixDQUFDLEdBQUcsRUFBRTtZQUN2QixNQUFNLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNuRixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsWUFBWTtnQkFBRSxPQUFPO1lBRXBDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUVwQyxZQUFZLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsSUFBSSxlQUFlLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pGLFlBQVksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxJQUFJLGVBQWUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckYsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO3VHQWpCVyxTQUFTOzJGQUFULFNBQVMsMFVBWFg7Ozs7Ozs7RUFPVDs7MkZBSVcsU0FBUztrQkFkckIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsWUFBWTtvQkFDdEIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7Ozs7OztFQU9UO29CQUNELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDL0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q29tcG9uZW50LFxuXHRDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuXHRFbGVtZW50UmVmLFxuXHRpbnB1dCxcblx0dmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdvcmxkIH0gZnJvbSAnQGRpbWZvcmdlL3JhcGllcjNkLWNvbXBhdCc7XG5pbXBvcnQgeyBleHRlbmQsIGluamVjdEJlZm9yZVJlbmRlciB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgQnVmZmVyQXR0cmlidXRlLCBHcm91cCwgTGluZUJhc2ljTWF0ZXJpYWwsIExpbmVTZWdtZW50cyB9IGZyb20gJ3RocmVlJztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0ci1kZWJ1ZycsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1ncm91cD5cblx0XHRcdDxuZ3QtbGluZS1zZWdtZW50cyAjbGluZVNlZ21lbnRzIFtmcnVzdHVtQ3VsbGVkXT1cImZhbHNlXCI+XG5cdFx0XHRcdDxuZ3QtbGluZS1iYXNpYy1tYXRlcmlhbCBjb2xvcj1cIndoaXRlXCIgW3ZlcnRleENvbG9yc109XCJ0cnVlXCIgLz5cblx0XHRcdFx0PG5ndC1idWZmZXItZ2VvbWV0cnkgLz5cblx0XHRcdDwvbmd0LWxpbmUtc2VnbWVudHM+XG5cdFx0PC9uZ3QtZ3JvdXA+XG5cdGAsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5ndHJEZWJ1ZyB7XG5cdHdvcmxkID0gaW5wdXQucmVxdWlyZWQ8V29ybGQgfCB1bmRlZmluZWQ+KCk7XG5cblx0cHJpdmF0ZSBsaW5lU2VnbWVudHNSZWYgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxMaW5lU2VnbWVudHM+PignbGluZVNlZ21lbnRzJyk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0ZXh0ZW5kKHsgR3JvdXAsIExpbmVTZWdtZW50cywgTGluZUJhc2ljTWF0ZXJpYWwsIEJ1ZmZlckF0dHJpYnV0ZSB9KTtcblxuXHRcdGluamVjdEJlZm9yZVJlbmRlcigoKSA9PiB7XG5cdFx0XHRjb25zdCBbd29ybGQsIGxpbmVTZWdtZW50c10gPSBbdGhpcy53b3JsZCgpLCB0aGlzLmxpbmVTZWdtZW50c1JlZigpLm5hdGl2ZUVsZW1lbnRdO1xuXHRcdFx0aWYgKCF3b3JsZCB8fCAhbGluZVNlZ21lbnRzKSByZXR1cm47XG5cblx0XHRcdGNvbnN0IGJ1ZmZlcnMgPSB3b3JsZC5kZWJ1Z1JlbmRlcigpO1xuXG5cdFx0XHRsaW5lU2VnbWVudHMuZ2VvbWV0cnkuc2V0QXR0cmlidXRlKCdwb3NpdGlvbicsIG5ldyBCdWZmZXJBdHRyaWJ1dGUoYnVmZmVycy52ZXJ0aWNlcywgMykpO1xuXHRcdFx0bGluZVNlZ21lbnRzLmdlb21ldHJ5LnNldEF0dHJpYnV0ZSgnY29sb3InLCBuZXcgQnVmZmVyQXR0cmlidXRlKGJ1ZmZlcnMuY29sb3JzLCA0KSk7XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVidWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL3JhcGllci9zcmMvbGliL2RlYnVnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTix1QkFBdUIsRUFDdkIsU0FBUyxFQUNULHNCQUFzQixFQUV0QixLQUFLLEVBQ0wsU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLE1BQU0sT0FBTyxDQUFDOztBQWdCaEYsTUFBTSxPQUFPLFNBQVM7SUFDckIsS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXFCLENBQUM7SUFFcEMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQTJCLGNBQWMsQ0FBQyxDQUFDO0lBRXZGO1FBQ0MsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBRXBFLGtCQUFrQixDQUFDLEdBQUcsRUFBRTtZQUN2QixNQUFNLENBQUMsS0FBSyxFQUFFLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztZQUNuRixJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsWUFBWTtnQkFBRSxPQUFPO1lBRXBDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUVwQyxZQUFZLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxVQUFVLEVBQUUsSUFBSSxlQUFlLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pGLFlBQVksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxJQUFJLGVBQWUsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckYsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO3dHQWpCVyxTQUFTOzRGQUFULFNBQVMsMFVBWFg7Ozs7Ozs7RUFPVDs7NEZBSVcsU0FBUztrQkFkckIsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsWUFBWTtvQkFDdEIsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7Ozs7OztFQU9UO29CQUNELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDL0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuXHRDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcblx0Q29tcG9uZW50LFxuXHRDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuXHRFbGVtZW50UmVmLFxuXHRpbnB1dCxcblx0dmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFdvcmxkIH0gZnJvbSAnQGRpbWZvcmdlL3JhcGllcjNkLWNvbXBhdCc7XG5pbXBvcnQgeyBleHRlbmQsIGluamVjdEJlZm9yZVJlbmRlciB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgQnVmZmVyQXR0cmlidXRlLCBHcm91cCwgTGluZUJhc2ljTWF0ZXJpYWwsIExpbmVTZWdtZW50cyB9IGZyb20gJ3RocmVlJztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0ci1kZWJ1ZycsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1ncm91cD5cblx0XHRcdDxuZ3QtbGluZS1zZWdtZW50cyAjbGluZVNlZ21lbnRzIFtmcnVzdHVtQ3VsbGVkXT1cImZhbHNlXCI+XG5cdFx0XHRcdDxuZ3QtbGluZS1iYXNpYy1tYXRlcmlhbCBjb2xvcj1cIndoaXRlXCIgW3ZlcnRleENvbG9yc109XCJ0cnVlXCIgLz5cblx0XHRcdFx0PG5ndC1idWZmZXItZ2VvbWV0cnkgLz5cblx0XHRcdDwvbmd0LWxpbmUtc2VnbWVudHM+XG5cdFx0PC9uZ3QtZ3JvdXA+XG5cdGAsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE5ndHJEZWJ1ZyB7XG5cdHdvcmxkID0gaW5wdXQucmVxdWlyZWQ8V29ybGQgfCB1bmRlZmluZWQ+KCk7XG5cblx0cHJpdmF0ZSBsaW5lU2VnbWVudHNSZWYgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxMaW5lU2VnbWVudHM+PignbGluZVNlZ21lbnRzJyk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0ZXh0ZW5kKHsgR3JvdXAsIExpbmVTZWdtZW50cywgTGluZUJhc2ljTWF0ZXJpYWwsIEJ1ZmZlckF0dHJpYnV0ZSB9KTtcblxuXHRcdGluamVjdEJlZm9yZVJlbmRlcigoKSA9PiB7XG5cdFx0XHRjb25zdCBbd29ybGQsIGxpbmVTZWdtZW50c10gPSBbdGhpcy53b3JsZCgpLCB0aGlzLmxpbmVTZWdtZW50c1JlZigpLm5hdGl2ZUVsZW1lbnRdO1xuXHRcdFx0aWYgKCF3b3JsZCB8fCAhbGluZVNlZ21lbnRzKSByZXR1cm47XG5cblx0XHRcdGNvbnN0IGJ1ZmZlcnMgPSB3b3JsZC5kZWJ1Z1JlbmRlcigpO1xuXG5cdFx0XHRsaW5lU2VnbWVudHMuZ2VvbWV0cnkuc2V0QXR0cmlidXRlKCdwb3NpdGlvbicsIG5ldyBCdWZmZXJBdHRyaWJ1dGUoYnVmZmVycy52ZXJ0aWNlcywgMykpO1xuXHRcdFx0bGluZVNlZ21lbnRzLmdlb21ldHJ5LnNldEF0dHJpYnV0ZSgnY29sb3InLCBuZXcgQnVmZmVyQXR0cmlidXRlKGJ1ZmZlcnMuY29sb3JzLCA0KSk7XG5cdFx0fSk7XG5cdH1cbn1cbiJdfQ==
@@ -33,11 +33,11 @@ export class NgtrFrameStepper {
33
33
  onCleanup(() => cancelAnimationFrame(raf));
34
34
  });
35
35
  }
36
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrFrameStepper, deps: [], target: i0.ɵɵFactoryTarget.Directive });
37
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.9", type: NgtrFrameStepper, isStandalone: true, selector: "ngtr-frame-stepper", inputs: { ready: { classPropertyName: "ready", publicName: "ready", isSignal: true, isRequired: false, transformFunction: null }, updatePriority: { classPropertyName: "updatePriority", publicName: "updatePriority", isSignal: true, isRequired: false, transformFunction: null }, stepFn: { classPropertyName: "stepFn", publicName: "stepFn", isSignal: true, isRequired: true, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
36
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrFrameStepper, deps: [], target: i0.ɵɵFactoryTarget.Directive });
37
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.11", type: NgtrFrameStepper, isStandalone: true, selector: "ngtr-frame-stepper", inputs: { ready: { classPropertyName: "ready", publicName: "ready", isSignal: true, isRequired: false, transformFunction: null }, updatePriority: { classPropertyName: "updatePriority", publicName: "updatePriority", isSignal: true, isRequired: false, transformFunction: null }, stepFn: { classPropertyName: "stepFn", publicName: "stepFn", isSignal: true, isRequired: true, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
38
38
  }
39
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrFrameStepper, decorators: [{
39
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrFrameStepper, decorators: [{
40
40
  type: Directive,
41
41
  args: [{ standalone: true, selector: 'ngtr-frame-stepper' }]
42
42
  }], ctorParameters: () => [] });
43
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWUtc3RlcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcmFwaWVyL3NyYy9saWIvZnJhbWUtc3RlcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJNUMsTUFBTSxPQUFPLGdCQUFnQjtJQUM1QixLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLGNBQWMsR0FBRyxLQUFLLENBQXFCLENBQUMsQ0FBQyxDQUFDO0lBQzlDLE1BQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUEyQixDQUFDO0lBQ25ELElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFvQyxDQUFDO0lBRTFEO1FBQ0MsTUFBTSxLQUFLLEdBQUcsV0FBVyxFQUFFLENBQUM7UUFFNUIsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDcEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxLQUFLO2dCQUFFLE9BQU87WUFFbkIsTUFBTSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQzNGLElBQUksSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUN2QixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQ2hELENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO29CQUNiLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDZixDQUFDLEVBQ0QsY0FBYyxFQUNkLEtBQUssQ0FDTCxDQUFDO2dCQUNGLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO2dCQUMzQixPQUFPO1lBQ1IsQ0FBQztZQUVELElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQztZQUNsQixJQUFJLEdBQUcsR0FBNkMsQ0FBQyxDQUFDO1lBQ3RELE1BQU0sSUFBSSxHQUFHLEdBQUcsRUFBRTtnQkFDakIsTUFBTSxHQUFHLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUM5QixNQUFNLEtBQUssR0FBRyxHQUFHLEdBQUcsU0FBUyxDQUFDO2dCQUM5QixHQUFHLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2xDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDZCxTQUFTLEdBQUcsR0FBRyxDQUFDO1lBQ2pCLENBQUMsQ0FBQztZQUVGLEdBQUcsR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7dUdBdkNXLGdCQUFnQjsyRkFBaEIsZ0JBQWdCOzsyRkFBaEIsZ0JBQWdCO2tCQUQ1QixTQUFTO21CQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGVmZmVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdFN0b3JlIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBOZ3RyUGh5c2ljc09wdGlvbnMgfSBmcm9tICcuL3R5cGVzJztcblxuQERpcmVjdGl2ZSh7IHN0YW5kYWxvbmU6IHRydWUsIHNlbGVjdG9yOiAnbmd0ci1mcmFtZS1zdGVwcGVyJyB9KVxuZXhwb3J0IGNsYXNzIE5ndHJGcmFtZVN0ZXBwZXIge1xuXHRyZWFkeSA9IGlucHV0KGZhbHNlKTtcblx0dXBkYXRlUHJpb3JpdHkgPSBpbnB1dDxudW1iZXIgfCB1bmRlZmluZWQ+KDApO1xuXHRzdGVwRm4gPSBpbnB1dC5yZXF1aXJlZDwoZGVsdGE6IG51bWJlcikgPT4gdm9pZD4oKTtcblx0dHlwZSA9IGlucHV0LnJlcXVpcmVkPE5ndHJQaHlzaWNzT3B0aW9uc1sndXBkYXRlTG9vcCddPigpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGNvbnN0IHN0b3JlID0gaW5qZWN0U3RvcmUoKTtcblxuXHRcdGVmZmVjdCgob25DbGVhbnVwKSA9PiB7XG5cdFx0XHRjb25zdCByZWFkeSA9IHRoaXMucmVhZHkoKTtcblx0XHRcdGlmICghcmVhZHkpIHJldHVybjtcblxuXHRcdFx0Y29uc3QgW3R5cGUsIHVwZGF0ZVByaW9yaXR5LCBzdGVwRm5dID0gW3RoaXMudHlwZSgpLCB0aGlzLnVwZGF0ZVByaW9yaXR5KCksIHRoaXMuc3RlcEZuKCldO1xuXHRcdFx0aWYgKHR5cGUgPT09ICdmb2xsb3cnKSB7XG5cdFx0XHRcdGNvbnN0IGNsZWFudXAgPSBzdG9yZS5zbmFwc2hvdC5pbnRlcm5hbC5zdWJzY3JpYmUoXG5cdFx0XHRcdFx0KHsgZGVsdGEgfSkgPT4ge1xuXHRcdFx0XHRcdFx0c3RlcEZuKGRlbHRhKTtcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdHVwZGF0ZVByaW9yaXR5LFxuXHRcdFx0XHRcdHN0b3JlLFxuXHRcdFx0XHQpO1xuXHRcdFx0XHRvbkNsZWFudXAoKCkgPT4gY2xlYW51cCgpKTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHRsZXQgbGFzdEZyYW1lID0gMDtcblx0XHRcdGxldCByYWY6IFJldHVyblR5cGU8dHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZT4gPSAwO1xuXHRcdFx0Y29uc3QgbG9vcCA9ICgpID0+IHtcblx0XHRcdFx0Y29uc3Qgbm93ID0gcGVyZm9ybWFuY2Uubm93KCk7XG5cdFx0XHRcdGNvbnN0IGRlbHRhID0gbm93IC0gbGFzdEZyYW1lO1xuXHRcdFx0XHRyYWYgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUobG9vcCk7XG5cdFx0XHRcdHN0ZXBGbihkZWx0YSk7XG5cdFx0XHRcdGxhc3RGcmFtZSA9IG5vdztcblx0XHRcdH07XG5cblx0XHRcdHJhZiA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShsb29wKTtcblx0XHRcdG9uQ2xlYW51cCgoKSA9PiBjYW5jZWxBbmltYXRpb25GcmFtZShyYWYpKTtcblx0XHR9KTtcblx0fVxufVxuIl19
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJhbWUtc3RlcHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcmFwaWVyL3NyYy9saWIvZnJhbWUtc3RlcHBlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFJNUMsTUFBTSxPQUFPLGdCQUFnQjtJQUM1QixLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3JCLGNBQWMsR0FBRyxLQUFLLENBQXFCLENBQUMsQ0FBQyxDQUFDO0lBQzlDLE1BQU0sR0FBRyxLQUFLLENBQUMsUUFBUSxFQUEyQixDQUFDO0lBQ25ELElBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFvQyxDQUFDO0lBRTFEO1FBQ0MsTUFBTSxLQUFLLEdBQUcsV0FBVyxFQUFFLENBQUM7UUFFNUIsTUFBTSxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDcEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxLQUFLO2dCQUFFLE9BQU87WUFFbkIsTUFBTSxDQUFDLElBQUksRUFBRSxjQUFjLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQzNGLElBQUksSUFBSSxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUN2QixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQ2hELENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFO29CQUNiLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDZixDQUFDLEVBQ0QsY0FBYyxFQUNkLEtBQUssQ0FDTCxDQUFDO2dCQUNGLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO2dCQUMzQixPQUFPO1lBQ1IsQ0FBQztZQUVELElBQUksU0FBUyxHQUFHLENBQUMsQ0FBQztZQUNsQixJQUFJLEdBQUcsR0FBNkMsQ0FBQyxDQUFDO1lBQ3RELE1BQU0sSUFBSSxHQUFHLEdBQUcsRUFBRTtnQkFDakIsTUFBTSxHQUFHLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDO2dCQUM5QixNQUFNLEtBQUssR0FBRyxHQUFHLEdBQUcsU0FBUyxDQUFDO2dCQUM5QixHQUFHLEdBQUcscUJBQXFCLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQ2xDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDZCxTQUFTLEdBQUcsR0FBRyxDQUFDO1lBQ2pCLENBQUMsQ0FBQztZQUVGLEdBQUcsR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQyxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsb0JBQW9CLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7d0dBdkNXLGdCQUFnQjs0RkFBaEIsZ0JBQWdCOzs0RkFBaEIsZ0JBQWdCO2tCQUQ1QixTQUFTO21CQUFDLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsb0JBQW9CLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGVmZmVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdFN0b3JlIH0gZnJvbSAnYW5ndWxhci10aHJlZSc7XG5pbXBvcnQgeyBOZ3RyUGh5c2ljc09wdGlvbnMgfSBmcm9tICcuL3R5cGVzJztcblxuQERpcmVjdGl2ZSh7IHN0YW5kYWxvbmU6IHRydWUsIHNlbGVjdG9yOiAnbmd0ci1mcmFtZS1zdGVwcGVyJyB9KVxuZXhwb3J0IGNsYXNzIE5ndHJGcmFtZVN0ZXBwZXIge1xuXHRyZWFkeSA9IGlucHV0KGZhbHNlKTtcblx0dXBkYXRlUHJpb3JpdHkgPSBpbnB1dDxudW1iZXIgfCB1bmRlZmluZWQ+KDApO1xuXHRzdGVwRm4gPSBpbnB1dC5yZXF1aXJlZDwoZGVsdGE6IG51bWJlcikgPT4gdm9pZD4oKTtcblx0dHlwZSA9IGlucHV0LnJlcXVpcmVkPE5ndHJQaHlzaWNzT3B0aW9uc1sndXBkYXRlTG9vcCddPigpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGNvbnN0IHN0b3JlID0gaW5qZWN0U3RvcmUoKTtcblxuXHRcdGVmZmVjdCgob25DbGVhbnVwKSA9PiB7XG5cdFx0XHRjb25zdCByZWFkeSA9IHRoaXMucmVhZHkoKTtcblx0XHRcdGlmICghcmVhZHkpIHJldHVybjtcblxuXHRcdFx0Y29uc3QgW3R5cGUsIHVwZGF0ZVByaW9yaXR5LCBzdGVwRm5dID0gW3RoaXMudHlwZSgpLCB0aGlzLnVwZGF0ZVByaW9yaXR5KCksIHRoaXMuc3RlcEZuKCldO1xuXHRcdFx0aWYgKHR5cGUgPT09ICdmb2xsb3cnKSB7XG5cdFx0XHRcdGNvbnN0IGNsZWFudXAgPSBzdG9yZS5zbmFwc2hvdC5pbnRlcm5hbC5zdWJzY3JpYmUoXG5cdFx0XHRcdFx0KHsgZGVsdGEgfSkgPT4ge1xuXHRcdFx0XHRcdFx0c3RlcEZuKGRlbHRhKTtcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdHVwZGF0ZVByaW9yaXR5LFxuXHRcdFx0XHRcdHN0b3JlLFxuXHRcdFx0XHQpO1xuXHRcdFx0XHRvbkNsZWFudXAoKCkgPT4gY2xlYW51cCgpKTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHRsZXQgbGFzdEZyYW1lID0gMDtcblx0XHRcdGxldCByYWY6IFJldHVyblR5cGU8dHlwZW9mIHJlcXVlc3RBbmltYXRpb25GcmFtZT4gPSAwO1xuXHRcdFx0Y29uc3QgbG9vcCA9ICgpID0+IHtcblx0XHRcdFx0Y29uc3Qgbm93ID0gcGVyZm9ybWFuY2Uubm93KCk7XG5cdFx0XHRcdGNvbnN0IGRlbHRhID0gbm93IC0gbGFzdEZyYW1lO1xuXHRcdFx0XHRyYWYgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUobG9vcCk7XG5cdFx0XHRcdHN0ZXBGbihkZWx0YSk7XG5cdFx0XHRcdGxhc3RGcmFtZSA9IG5vdztcblx0XHRcdH07XG5cblx0XHRcdHJhZiA9IHJlcXVlc3RBbmltYXRpb25GcmFtZShsb29wKTtcblx0XHRcdG9uQ2xlYW51cCgoKSA9PiBjYW5jZWxBbmltYXRpb25GcmFtZShyYWYpKTtcblx0XHR9KTtcblx0fVxufVxuIl19
@@ -99,8 +99,8 @@ export class NgtrInstancedRigidBodies {
99
99
  instancedMesh.instanceMatrix.setUsage(DynamicDrawUsage);
100
100
  });
101
101
  }
102
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrInstancedRigidBodies, deps: [], target: i0.ɵɵFactoryTarget.Component });
103
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.9", type: NgtrInstancedRigidBodies, isStandalone: true, selector: "ngt-object3D[ngtrInstancedRigidBodies]", inputs: { position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, rotation: { classPropertyName: "rotation", publicName: "rotation", isSignal: true, isRequired: false, transformFunction: null }, scale: { classPropertyName: "scale", publicName: "scale", isSignal: true, isRequired: false, transformFunction: null }, quaternion: { classPropertyName: "quaternion", publicName: "quaternion", isSignal: true, isRequired: false, transformFunction: null }, userData: { classPropertyName: "userData", publicName: "userData", isSignal: true, isRequired: false, transformFunction: null }, instances: { classPropertyName: "instances", publicName: "ngtrInstancedRigidBodies", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "position": "position()", "rotation": "rotation()", "scale": "scale()", "quaternion": "quaternion()", "userData": "userData()" } }, viewQueries: [{ propertyName: "instanceWrapperRef", first: true, predicate: ["instanceWrapper"], descendants: true, isSignal: true }, { propertyName: "rigidBodyRefs", predicate: NgtrRigidBody, descendants: true, isSignal: true }], exportAs: ["instancedRigidBodies"], ngImport: i0, template: `
102
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrInstancedRigidBodies, deps: [], target: i0.ɵɵFactoryTarget.Component });
103
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: NgtrInstancedRigidBodies, isStandalone: true, selector: "ngt-object3D[ngtrInstancedRigidBodies]", inputs: { position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, rotation: { classPropertyName: "rotation", publicName: "rotation", isSignal: true, isRequired: false, transformFunction: null }, scale: { classPropertyName: "scale", publicName: "scale", isSignal: true, isRequired: false, transformFunction: null }, quaternion: { classPropertyName: "quaternion", publicName: "quaternion", isSignal: true, isRequired: false, transformFunction: null }, userData: { classPropertyName: "userData", publicName: "userData", isSignal: true, isRequired: false, transformFunction: null }, instances: { classPropertyName: "instances", publicName: "ngtrInstancedRigidBodies", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "position": "position()", "rotation": "rotation()", "scale": "scale()", "quaternion": "quaternion()", "userData": "userData()" } }, viewQueries: [{ propertyName: "instanceWrapperRef", first: true, predicate: ["instanceWrapper"], descendants: true, isSignal: true }, { propertyName: "rigidBodyRefs", predicate: NgtrRigidBody, descendants: true, isSignal: true }], exportAs: ["instancedRigidBodies"], ngImport: i0, template: `
104
104
  <ngt-object3D #instanceWrapper>
105
105
  <ng-content />
106
106
  </ngt-object3D>
@@ -133,7 +133,7 @@ export class NgtrInstancedRigidBodies {
133
133
  }
134
134
  `, isInline: true, dependencies: [{ kind: "component", type: NgtrRigidBody, selector: "ngt-object3D[ngtrRigidBody]", inputs: ["ngtrRigidBody", "position", "rotation", "scale", "quaternion", "userData", "options"], outputs: ["wake", "sleep", "collisionEnter", "collisionExit", "intersectionEnter", "intersectionExit", "contactForce"], exportAs: ["rigidBody"] }, { kind: "directive", type: NgtrAnyCollider, selector: "ngt-object3D[ngtrCollider]", inputs: ["position", "rotation", "scale", "quaternion", "userData", "name", "options", "ngtrCollider", "args"], outputs: ["ngtrColliderChange", "argsChange", "collisionEnter", "collisionExit", "intersectionEnter", "intersectionExit", "contactForce"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
135
135
  }
136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: NgtrInstancedRigidBodies, decorators: [{
136
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtrInstancedRigidBodies, decorators: [{
137
137
  type: Component,
138
138
  args: [{
139
139
  selector: 'ngt-object3D[ngtrInstancedRigidBodies]',
@@ -183,4 +183,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
183
183
  imports: [NgtrRigidBody, NgtrAnyCollider],
184
184
  }]
185
185
  }], ctorParameters: () => [] });
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFuY2VkLXJpZ2lkLWJvZGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcmFwaWVyL3NyYy9saWIvaW5zdGFuY2VkLXJpZ2lkLWJvZGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1Isc0JBQXNCLEVBQ3RCLE1BQU0sRUFDTixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBb0QsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQWlCLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXZGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFhaEQsTUFBTSxjQUFjLEdBQXlCLHVCQUF1QixDQUFDO0FBaURyRSxNQUFNLE9BQU8sd0JBQXdCO0lBQ3BDLFFBQVEsR0FBRyxLQUFLLENBQXlCLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BELFFBQVEsR0FBRyxLQUFLLENBQXVCLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xELEtBQUssR0FBRyxLQUFLLENBQXlCLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pELFVBQVUsR0FBRyxLQUFLLENBQTRCLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RCxRQUFRLEdBQUcsS0FBSyxDQUFzQyxFQUFFLENBQUMsQ0FBQztJQUMxRCxTQUFTLEdBQUcsS0FBSyxDQUFDLEVBQUUsRUFBRTtRQUNyQixLQUFLLEVBQUUsMEJBQTBCO1FBQ2pDLFNBQVMsRUFBRSxDQUFDLEtBQWdELEVBQUUsRUFBRTtZQUMvRCxJQUFJLEtBQUssS0FBSyxFQUFFO2dCQUFFLE9BQU8sRUFBRSxDQUFDO1lBQzVCLE9BQU8sS0FBSyxDQUFDO1FBQ2QsQ0FBQztLQUNELENBQUMsQ0FBQztJQUNILE9BQU8sR0FBRyxLQUFLLENBQUMsY0FBYyxFQUFFLEVBQUUsU0FBUyxFQUFFLFdBQVcsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7SUFFNUUsa0JBQWtCLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBdUIsaUJBQWlCLENBQUMsQ0FBQztJQUNqRixhQUFhLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBRXBDLE9BQU8sR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDdEMsU0FBUyxHQUFHLE1BQU0sQ0FBdUIsVUFBVSxDQUFDLENBQUM7SUFFN0MsU0FBUyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBRTVDLGFBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1FBQ3JDLE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUNoRSxJQUFJLENBQUMsZUFBZTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRWxDLE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsVUFBVTtZQUFFLE9BQU8sSUFBSSxDQUFDO1FBRTdCLDBCQUEwQjtRQUMxQixVQUFVLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDckIsTUFBTSxVQUFVLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUUsVUFBNEIsQ0FBQyxlQUFlO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFFL0UsT0FBTyxVQUEyQixDQUFDO0lBQ3BDLENBQUMsQ0FBQyxDQUFDO0lBRU8sZ0JBQWdCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUMxQyxNQUFNLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQzlHLElBQUksQ0FBQyxhQUFhO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFDOUIsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUNuQixDQUFDLFFBQVEsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUNuQixDQUFDO1lBQ0EsR0FBRyxRQUFRO1lBQ1gsT0FBTyxFQUFFO2dCQUNSLEdBQUcsT0FBTztnQkFDVixHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7Z0JBQzNCLGNBQWMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO29CQUN6QixPQUFPO3dCQUNOLEdBQUcsS0FBSzt3QkFDUixTQUFTLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRTs0QkFDckIsYUFBYSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7NEJBQ3pDLE9BQU8sTUFBTSxDQUFDO3dCQUNmLENBQUM7d0JBQ0QsU0FBUyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUU7NEJBQ3JCLGFBQWEsQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDOzRCQUN6QyxhQUFhLENBQUMsY0FBYyxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7d0JBQ2pELENBQUM7d0JBQ0QsUUFBUSxFQUFFLGVBQWU7cUJBQ0gsQ0FBQztnQkFDekIsQ0FBQzthQUNEO1lBQ0QsR0FBRyxFQUFFLEdBQUcsUUFBUSxDQUFDLEdBQUcsSUFBSSxLQUFLLEVBQUUsR0FBRyxHQUFHLGFBQWEsRUFBRSxJQUFJLElBQUksRUFBRSxFQUFFO1NBQ2hFLENBQWdHLENBQ2xHLENBQUM7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVPLG9CQUFvQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDOUMsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ25DLDBGQUEwRjtRQUMxRixJQUFJLFNBQVMsS0FBSyxLQUFLO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFbkMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2xELHNIQUFzSDtRQUN0SCxJQUFJLGdCQUFnQixLQUFLLEtBQUssSUFBSSxTQUFTLEtBQUssU0FBUztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRXJFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUMvQiwyREFBMkQ7UUFDM0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTO1lBQUUsT0FBTyxDQUFDLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQztRQUU3RCxNQUFNLGdCQUFnQixHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxnQkFBZ0I7WUFBRSxPQUFPLEVBQUUsQ0FBQztRQUVqQyxnREFBZ0Q7UUFDaEQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLEVBQUUsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUUsTUFBbUIsQ0FBQyxVQUFVO1lBQUUsT0FBTyxFQUFFLENBQUM7UUFFM0QsT0FBTyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNyRSxDQUFDLENBQUMsQ0FBQztJQUVIO1FBQ0MsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUVyQixNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1gsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQyxhQUFhO2dCQUFFLE9BQU87WUFDM0IsYUFBYSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RCxDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7dUdBbkdXLHdCQUF3QjsyRkFBeEIsd0JBQXdCLHF6Q0FnQlAsYUFBYSxvR0EzRGhDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBK0JULDREQVVTLGFBQWEsMFRBQUUsZUFBZTs7MkZBRTVCLHdCQUF3QjtrQkEvQ3BDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHdDQUF3QztvQkFDbEQsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQStCVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDTCxZQUFZLEVBQUUsWUFBWTt3QkFDMUIsWUFBWSxFQUFFLFlBQVk7d0JBQzFCLFNBQVMsRUFBRSxTQUFTO3dCQUNwQixjQUFjLEVBQUUsY0FBYzt3QkFDOUIsWUFBWSxFQUFFLFlBQVk7cUJBQzFCO29CQUNELE9BQU8sRUFBRSxDQUFDLGFBQWEsRUFBRSxlQUFlLENBQUM7aUJBQ3pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0Y29tcHV0ZWQsXG5cdENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG5cdGVmZmVjdCxcblx0RWxlbWVudFJlZixcblx0aW5qZWN0LFxuXHRpbnB1dCxcblx0dW50cmFja2VkLFxuXHR2aWV3Q2hpbGQsXG5cdHZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBleHRlbmQsIGdldExvY2FsU3RhdGUsIE5ndEV1bGVyLCBOZ3RPYmplY3QzRCwgTmd0UXVhdGVybmlvbiwgTmd0VmVjdG9yMywgcGljayB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgbWVyZ2VJbnB1dHMgfSBmcm9tICduZ3h0ZW5zaW9uL2luamVjdC1pbnB1dHMnO1xuaW1wb3J0IHsgRHluYW1pY0RyYXdVc2FnZSwgSW5zdGFuY2VkTWVzaCwgT2JqZWN0M0QgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBOZ3RyUGh5c2ljcyB9IGZyb20gJy4vcGh5c2ljcyc7XG5pbXBvcnQgeyBOZ3RyQW55Q29sbGlkZXIsIE5ndHJSaWdpZEJvZHksIHJpZ2lkQm9keURlZmF1bHRPcHRpb25zIH0gZnJvbSAnLi9yaWdpZC1ib2R5JztcbmltcG9ydCB7IE5ndHJSaWdpZEJvZHlPcHRpb25zLCBOZ3RyUmlnaWRCb2R5U3RhdGUsIE5ndHJSaWdpZEJvZHlUeXBlIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBjcmVhdGVDb2xsaWRlck9wdGlvbnMgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RySW5zdGFuY2VkUmlnaWRCb2R5T3B0aW9ucyB7XG5cdGtleTogc3RyaW5nIHwgbnVtYmVyO1xuXHR0eXBlPzogTmd0clJpZ2lkQm9keVR5cGU7XG5cdHBvc2l0aW9uPzogTmd0VmVjdG9yMztcblx0cm90YXRpb24/OiBOZ3RFdWxlcjtcblx0c2NhbGU/OiBOZ3RWZWN0b3IzO1xuXHRxdWF0ZXJuaW9uPzogTmd0UXVhdGVybmlvbjtcblx0dXNlckRhdGE/OiBOZ3RPYmplY3QzRFsndXNlckRhdGEnXTtcblx0b3B0aW9ucz86IE5ndHJSaWdpZEJvZHlPcHRpb25zO1xufVxuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogTmd0clJpZ2lkQm9keU9wdGlvbnMgPSByaWdpZEJvZHlEZWZhdWx0T3B0aW9ucztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0LW9iamVjdDNEW25ndHJJbnN0YW5jZWRSaWdpZEJvZGllc10nLFxuXHRleHBvcnRBczogJ2luc3RhbmNlZFJpZ2lkQm9kaWVzJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LW9iamVjdDNEICNpbnN0YW5jZVdyYXBwZXI+XG5cdFx0XHQ8bmctY29udGVudCAvPlxuXHRcdDwvbmd0LW9iamVjdDNEPlxuXG5cdFx0QGZvciAoaW5zdGFuY2Ugb2YgaW5zdGFuY2VzT3B0aW9ucygpOyB0cmFjayBpbnN0YW5jZS5rZXkpIHtcblx0XHRcdDxuZ3Qtb2JqZWN0M0Rcblx0XHRcdFx0W25ndHJSaWdpZEJvZHldPVwiaW5zdGFuY2UudHlwZVwiXG5cdFx0XHRcdFtvcHRpb25zXT1cImluc3RhbmNlLm9wdGlvbnNcIlxuXHRcdFx0XHRbcG9zaXRpb25dPVwiaW5zdGFuY2UucG9zaXRpb25cIlxuXHRcdFx0XHRbcm90YXRpb25dPVwiaW5zdGFuY2Uucm90YXRpb25cIlxuXHRcdFx0XHRbc2NhbGVdPVwiaW5zdGFuY2Uuc2NhbGVcIlxuXHRcdFx0XHRbcXVhdGVybmlvbl09XCJpbnN0YW5jZS5xdWF0ZXJuaW9uXCJcblx0XHRcdFx0W3VzZXJEYXRhXT1cImluc3RhbmNlLnVzZXJEYXRhXCJcblx0XHRcdFx0W25hbWVdPVwiaW5zdGFuY2Uua2V5ICsgJy1pbnN0YW5jZWQtcmlnaWQtYm9keS0nICsgJGluZGV4XCJcblx0XHRcdD5cblx0XHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiW2RhdGEtY29sbGlkZXJzXVwiIC8+XG5cblx0XHRcdFx0QGZvciAoY2hpbGRDb2xsaWRlck9wdGlvbiBvZiBjaGlsZENvbGxpZGVyT3B0aW9ucygpOyB0cmFjayAkaW5kZXgpIHtcblx0XHRcdFx0XHQ8bmd0LW9iamVjdDNEXG5cdFx0XHRcdFx0XHRbbmd0ckNvbGxpZGVyXT1cImNoaWxkQ29sbGlkZXJPcHRpb24uc2hhcGVcIlxuXHRcdFx0XHRcdFx0W2FyZ3NdPVwiY2hpbGRDb2xsaWRlck9wdGlvbi5hcmdzXCJcblx0XHRcdFx0XHRcdFtwb3NpdGlvbl09XCJjaGlsZENvbGxpZGVyT3B0aW9uLnBvc2l0aW9uXCJcblx0XHRcdFx0XHRcdFtyb3RhdGlvbl09XCJjaGlsZENvbGxpZGVyT3B0aW9uLnJvdGF0aW9uXCJcblx0XHRcdFx0XHRcdFtzY2FsZV09XCJjaGlsZENvbGxpZGVyT3B0aW9uLnNjYWxlXCJcblx0XHRcdFx0XHRcdFtuYW1lXT1cIm9iamVjdFJlZi5uYXRpdmVFbGVtZW50Lm5hbWUgKyAnLWluc3RhbmNlZC1jb2xsaWRlci0nICsgJGluZGV4XCJcblx0XHRcdFx0XHRcdFtvcHRpb25zXT1cImNoaWxkQ29sbGlkZXJPcHRpb24uY29sbGlkZXJPcHRpb25zXCJcblx0XHRcdFx0XHQvPlxuXHRcdFx0XHR9XG5cdFx0XHQ8L25ndC1vYmplY3QzRD5cblx0XHR9XG5cdGAsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdGhvc3Q6IHtcblx0XHQnW3Bvc2l0aW9uXSc6ICdwb3NpdGlvbigpJyxcblx0XHQnW3JvdGF0aW9uXSc6ICdyb3RhdGlvbigpJyxcblx0XHQnW3NjYWxlXSc6ICdzY2FsZSgpJyxcblx0XHQnW3F1YXRlcm5pb25dJzogJ3F1YXRlcm5pb24oKScsXG5cdFx0J1t1c2VyRGF0YV0nOiAndXNlckRhdGEoKScsXG5cdH0sXG5cdGltcG9ydHM6IFtOZ3RyUmlnaWRCb2R5LCBOZ3RyQW55Q29sbGlkZXJdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RySW5zdGFuY2VkUmlnaWRCb2RpZXMge1xuXHRwb3NpdGlvbiA9IGlucHV0PE5ndFZlY3RvcjMgfCB1bmRlZmluZWQ+KFswLCAwLCAwXSk7XG5cdHJvdGF0aW9uID0gaW5wdXQ8Tmd0RXVsZXIgfCB1bmRlZmluZWQ+KFswLCAwLCAwXSk7XG5cdHNjYWxlID0gaW5wdXQ8Tmd0VmVjdG9yMyB8IHVuZGVmaW5lZD4oWzEsIDEsIDFdKTtcblx0cXVhdGVybmlvbiA9IGlucHV0PE5ndFF1YXRlcm5pb24gfCB1bmRlZmluZWQ+KFswLCAwLCAwLCAxXSk7XG5cdHVzZXJEYXRhID0gaW5wdXQ8Tmd0T2JqZWN0M0RbJ3VzZXJEYXRhJ10gfCB1bmRlZmluZWQ+KHt9KTtcblx0aW5zdGFuY2VzID0gaW5wdXQoW10sIHtcblx0XHRhbGlhczogJ25ndHJJbnN0YW5jZWRSaWdpZEJvZGllcycsXG5cdFx0dHJhbnNmb3JtOiAodmFsdWU6IEFycmF5PE5ndHJJbnN0YW5jZWRSaWdpZEJvZHlPcHRpb25zPiB8ICcnKSA9PiB7XG5cdFx0XHRpZiAodmFsdWUgPT09ICcnKSByZXR1cm4gW107XG5cdFx0XHRyZXR1cm4gdmFsdWU7XG5cdFx0fSxcblx0fSk7XG5cdG9wdGlvbnMgPSBpbnB1dChkZWZhdWx0T3B0aW9ucywgeyB0cmFuc2Zvcm06IG1lcmdlSW5wdXRzKGRlZmF1bHRPcHRpb25zKSB9KTtcblxuXHRpbnN0YW5jZVdyYXBwZXJSZWYgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxPYmplY3QzRD4+KCdpbnN0YW5jZVdyYXBwZXInKTtcblx0cmlnaWRCb2R5UmVmcyA9IHZpZXdDaGlsZHJlbihOZ3RyUmlnaWRCb2R5KTtcblxuXHRwcml2YXRlIHBoeXNpY3MgPSBpbmplY3QoTmd0clBoeXNpY3MpO1xuXHRvYmplY3RSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxPYmplY3QzRD4+KEVsZW1lbnRSZWYpO1xuXG5cdHByaXZhdGUgY29sbGlkZXJzID0gcGljayh0aGlzLm9wdGlvbnMsICdjb2xsaWRlcnMnKTtcblxuXHRwcml2YXRlIGluc3RhbmNlZE1lc2ggPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3QgaW5zdGFuY2VXcmFwcGVyID0gdGhpcy5pbnN0YW5jZVdyYXBwZXJSZWYoKS5uYXRpdmVFbGVtZW50O1xuXHRcdGlmICghaW5zdGFuY2VXcmFwcGVyKSByZXR1cm4gbnVsbDtcblxuXHRcdGNvbnN0IGxvY2FsU3RhdGUgPSBnZXRMb2NhbFN0YXRlKGluc3RhbmNlV3JhcHBlcik7XG5cdFx0aWYgKCFsb2NhbFN0YXRlKSByZXR1cm4gbnVsbDtcblxuXHRcdC8vIHRyYWNrIG9iamVjdCdzIGNoaWxkcmVuXG5cdFx0bG9jYWxTdGF0ZS5vYmplY3RzKCk7XG5cdFx0Y29uc3QgZmlyc3RDaGlsZCA9IGluc3RhbmNlV3JhcHBlci5jaGlsZHJlblswXTtcblx0XHRpZiAoIWZpcnN0Q2hpbGQgfHwgIShmaXJzdENoaWxkIGFzIEluc3RhbmNlZE1lc2gpLmlzSW5zdGFuY2VkTWVzaCkgcmV0dXJuIG51bGw7XG5cblx0XHRyZXR1cm4gZmlyc3RDaGlsZCBhcyBJbnN0YW5jZWRNZXNoO1xuXHR9KTtcblxuXHRwcm90ZWN0ZWQgaW5zdGFuY2VzT3B0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCBbaW5zdGFuY2VzLCBvcHRpb25zLCBpbnN0YW5jZWRNZXNoXSA9IFt0aGlzLmluc3RhbmNlcygpLCB1bnRyYWNrZWQodGhpcy5vcHRpb25zKSwgdGhpcy5pbnN0YW5jZWRNZXNoKCldO1xuXHRcdGlmICghaW5zdGFuY2VkTWVzaCkgcmV0dXJuIFtdO1xuXHRcdHJldHVybiBpbnN0YW5jZXMubWFwKFxuXHRcdFx0KGluc3RhbmNlLCBpbmRleCkgPT5cblx0XHRcdFx0KHtcblx0XHRcdFx0XHQuLi5pbnN0YW5jZSxcblx0XHRcdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdFx0XHQuLi5vcHRpb25zLFxuXHRcdFx0XHRcdFx0Li4uKGluc3RhbmNlLm9wdGlvbnMgfHwge30pLFxuXHRcdFx0XHRcdFx0dHJhbnNmb3JtU3RhdGU6IChzdGF0ZSkgPT4ge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdFx0XHRcdC4uLnN0YXRlLFxuXHRcdFx0XHRcdFx0XHRcdGdldE1hdHJpeDogKG1hdHJpeCkgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdFx0aW5zdGFuY2VkTWVzaC5nZXRNYXRyaXhBdChpbmRleCwgbWF0cml4KTtcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBtYXRyaXg7XG5cdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRzZXRNYXRyaXg6IChtYXRyaXgpID0+IHtcblx0XHRcdFx0XHRcdFx0XHRcdGluc3RhbmNlZE1lc2guc2V0TWF0cml4QXQoaW5kZXgsIG1hdHJpeCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRpbnN0YW5jZWRNZXNoLmluc3RhbmNlTWF0cml4Lm5lZWRzVXBkYXRlID0gdHJ1ZTtcblx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdG1lc2hUeXBlOiAnaW5zdGFuY2VkTWVzaCcsXG5cdFx0XHRcdFx0XHRcdH0gYXMgTmd0clJpZ2lkQm9keVN0YXRlO1xuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGtleTogYCR7aW5zdGFuY2Uua2V5fS0ke2luZGV4fWAgKyBgJHtpbnN0YW5jZWRNZXNoPy51dWlkIHx8ICcnfWAsXG5cdFx0XHRcdH0pIGFzIE9taXQ8Tmd0ckluc3RhbmNlZFJpZ2lkQm9keU9wdGlvbnMsICdvcHRpb25zJz4gJiB7IG9wdGlvbnM6IFBhcnRpYWw8Tmd0clJpZ2lkQm9keU9wdGlvbnM+IH0sXG5cdFx0KTtcblx0fSk7XG5cblx0cHJvdGVjdGVkIGNoaWxkQ29sbGlkZXJPcHRpb25zID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IGNvbGxpZGVycyA9IHRoaXMuY29sbGlkZXJzKCk7XG5cdFx0Ly8gaWYgc2VsZiBjb2xsaWRlcnMgaXMgZmFsc2UgZXhwbGljaXRseSwgZGlzYWJsZSBhdXRvIGNvbGxpZGVycyBmb3IgdGhpcyBvYmplY3QgZW50aXJlbHkuXG5cdFx0aWYgKGNvbGxpZGVycyA9PT0gZmFsc2UpIHJldHVybiBbXTtcblxuXHRcdGNvbnN0IHBoeXNpY3NDb2xsaWRlcnMgPSB0aGlzLnBoeXNpY3MuY29sbGlkZXJzKCk7XG5cdFx0Ly8gaWYgcGh5c2ljcyBjb2xsaWRlcnMgaXMgZmFsc2UgZXhwbGljaXRseSBBTkQgY29sbGlkZXJzIGlzIG5vdCBzZXQsIGRpc2FibGUgYXV0byBjb2xsaWRlcnMgZm9yIHRoaXMgb2JqZWN0IGVudGlyZWx5LlxuXHRcdGlmIChwaHlzaWNzQ29sbGlkZXJzID09PSBmYWxzZSAmJiBjb2xsaWRlcnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuIFtdO1xuXG5cdFx0Y29uc3Qgb3B0aW9ucyA9IHRoaXMub3B0aW9ucygpO1xuXHRcdC8vIGlmIGNvbGxpZGVycyBvbiBvYmplY3QgaXMgbm90IHNldCwgdXNlIHBoeXNpY3MgY29sbGlkZXJzXG5cdFx0aWYgKCFvcHRpb25zLmNvbGxpZGVycykgb3B0aW9ucy5jb2xsaWRlcnMgPSBwaHlzaWNzQ29sbGlkZXJzO1xuXG5cdFx0Y29uc3Qgb2JqZWN0TG9jYWxTdGF0ZSA9IGdldExvY2FsU3RhdGUodGhpcy5vYmplY3RSZWYubmF0aXZlRWxlbWVudCk7XG5cdFx0aWYgKCFvYmplY3RMb2NhbFN0YXRlKSByZXR1cm4gW107XG5cblx0XHQvLyB0cmFjayBvYmplY3QncyBwYXJlbnQgYW5kIG5vbi1vYmplY3QgY2hpbGRyZW5cblx0XHRjb25zdCBbcGFyZW50XSA9IFtvYmplY3RMb2NhbFN0YXRlLnBhcmVudCgpLCBvYmplY3RMb2NhbFN0YXRlLm5vbk9iamVjdHMoKV07XG5cdFx0aWYgKCFwYXJlbnQgfHwgIShwYXJlbnQgYXMgT2JqZWN0M0QpLmlzT2JqZWN0M0QpIHJldHVybiBbXTtcblxuXHRcdHJldHVybiBjcmVhdGVDb2xsaWRlck9wdGlvbnModGhpcy5vYmplY3RSZWYubmF0aXZlRWxlbWVudCwgb3B0aW9ucyk7XG5cdH0pO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGV4dGVuZCh7IE9iamVjdDNEIH0pO1xuXG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IGluc3RhbmNlZE1lc2ggPSB0aGlzLmluc3RhbmNlZE1lc2goKTtcblx0XHRcdGlmICghaW5zdGFuY2VkTWVzaCkgcmV0dXJuO1xuXHRcdFx0aW5zdGFuY2VkTWVzaC5pbnN0YW5jZU1hdHJpeC5zZXRVc2FnZShEeW5hbWljRHJhd1VzYWdlKTtcblx0XHR9KTtcblx0fVxufVxuIl19
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5zdGFuY2VkLXJpZ2lkLWJvZGllcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYnMvcmFwaWVyL3NyYy9saWIvaW5zdGFuY2VkLXJpZ2lkLWJvZGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1Isc0JBQXNCLEVBQ3RCLE1BQU0sRUFDTixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxTQUFTLEVBQ1QsU0FBUyxFQUNULFlBQVksR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBb0QsSUFBSSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQWlCLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUNsRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sY0FBYyxDQUFDO0FBRXZGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFNBQVMsQ0FBQzs7QUFhaEQsTUFBTSxjQUFjLEdBQXlCLHVCQUF1QixDQUFDO0FBaURyRSxNQUFNLE9BQU8sd0JBQXdCO0lBQ3BDLFFBQVEsR0FBRyxLQUFLLENBQXlCLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BELFFBQVEsR0FBRyxLQUFLLENBQXVCLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xELEtBQUssR0FBRyxLQUFLLENBQXlCLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2pELFVBQVUs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LGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNyRSxDQUFDLENBQUMsQ0FBQztJQUVIO1FBQ0MsTUFBTSxDQUFDLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUVyQixNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1gsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzNDLElBQUksQ0FBQyxhQUFhO2dCQUFFLE9BQU87WUFDM0IsYUFBYSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUN6RCxDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7d0dBbkdXLHdCQUF3Qjs0RkFBeEIsd0JBQXdCLHF6Q0FnQlAsYUFBYSxvR0EzRGhDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBK0JULDREQVVTLGFBQWEsMFRBQUUsZUFBZTs7NEZBRTVCLHdCQUF3QjtrQkEvQ3BDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHdDQUF3QztvQkFDbEQsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQStCVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLElBQUksRUFBRTt3QkFDTCxZQUFZLEVBQUUsWUFBWTt3QkFDMUIsWUFBWSxFQUFFLFlBQVk7d0JBQzFCLFNBQVMsRUFBRSxTQUFTO3dCQUNwQixjQUFjLEVBQUUsY0FBYzt3QkFDOUIsWUFBWSxFQUFFLFlBQVk7cUJBQzFCO29CQUNELE9BQU8sRUFBRSxDQUFDLGFBQWEsRUFBRSxlQUFlLENBQUM7aUJBQ3pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0Y29tcHV0ZWQsXG5cdENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsXG5cdGVmZmVjdCxcblx0RWxlbWVudFJlZixcblx0aW5qZWN0LFxuXHRpbnB1dCxcblx0dW50cmFja2VkLFxuXHR2aWV3Q2hpbGQsXG5cdHZpZXdDaGlsZHJlbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBleHRlbmQsIGdldExvY2FsU3RhdGUsIE5ndEV1bGVyLCBOZ3RPYmplY3QzRCwgTmd0UXVhdGVybmlvbiwgTmd0VmVjdG9yMywgcGljayB9IGZyb20gJ2FuZ3VsYXItdGhyZWUnO1xuaW1wb3J0IHsgbWVyZ2VJbnB1dHMgfSBmcm9tICduZ3h0ZW5zaW9uL2luamVjdC1pbnB1dHMnO1xuaW1wb3J0IHsgRHluYW1pY0RyYXdVc2FnZSwgSW5zdGFuY2VkTWVzaCwgT2JqZWN0M0QgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBOZ3RyUGh5c2ljcyB9IGZyb20gJy4vcGh5c2ljcyc7XG5pbXBvcnQgeyBOZ3RyQW55Q29sbGlkZXIsIE5ndHJSaWdpZEJvZHksIHJpZ2lkQm9keURlZmF1bHRPcHRpb25zIH0gZnJvbSAnLi9yaWdpZC1ib2R5JztcbmltcG9ydCB7IE5ndHJSaWdpZEJvZHlPcHRpb25zLCBOZ3RyUmlnaWRCb2R5U3RhdGUsIE5ndHJSaWdpZEJvZHlUeXBlIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBjcmVhdGVDb2xsaWRlck9wdGlvbnMgfSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBOZ3RySW5zdGFuY2VkUmlnaWRCb2R5T3B0aW9ucyB7XG5cdGtleTogc3RyaW5nIHwgbnVtYmVyO1xuXHR0eXBlPzogTmd0clJpZ2lkQm9keVR5cGU7XG5cdHBvc2l0aW9uPzogTmd0VmVjdG9yMztcblx0cm90YXRpb24/OiBOZ3RFdWxlcjtcblx0c2NhbGU/OiBOZ3RWZWN0b3IzO1xuXHRxdWF0ZXJuaW9uPzogTmd0UXVhdGVybmlvbjtcblx0dXNlckRhdGE/OiBOZ3RPYmplY3QzRFsndXNlckRhdGEnXTtcblx0b3B0aW9ucz86IE5ndHJSaWdpZEJvZHlPcHRpb25zO1xufVxuXG5jb25zdCBkZWZhdWx0T3B0aW9uczogTmd0clJpZ2lkQm9keU9wdGlvbnMgPSByaWdpZEJvZHlEZWZhdWx0T3B0aW9ucztcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0LW9iamVjdDNEW25ndHJJbnN0YW5jZWRSaWdpZEJvZGllc10nLFxuXHRleHBvcnRBczogJ2luc3RhbmNlZFJpZ2lkQm9kaWVzJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LW9iamVjdDNEICNpbnN0YW5jZVdyYXBwZXI+XG5cdFx0XHQ8bmctY29udGVudCAvPlxuXHRcdDwvbmd0LW9iamVjdDNEPlxuXG5cdFx0QGZvciAoaW5zdGFuY2Ugb2YgaW5zdGFuY2VzT3B0aW9ucygpOyB0cmFjayBpbnN0YW5jZS5rZXkpIHtcblx0XHRcdDxuZ3Qtb2JqZWN0M0Rcblx0XHRcdFx0W25ndHJSaWdpZEJvZHldPVwiaW5zdGFuY2UudHlwZVwiXG5cdFx0XHRcdFtvcHRpb25zXT1cImluc3RhbmNlLm9wdGlvbnNcIlxuXHRcdFx0XHRbcG9zaXRpb25dPVwiaW5zdGFuY2UucG9zaXRpb25cIlxuXHRcdFx0XHRbcm90YXRpb25dPVwiaW5zdGFuY2Uucm90YXRpb25cIlxuXHRcdFx0XHRbc2NhbGVdPVwiaW5zdGFuY2Uuc2NhbGVcIlxuXHRcdFx0XHRbcXVhdGVybmlvbl09XCJpbnN0YW5jZS5xdWF0ZXJuaW9uXCJcblx0XHRcdFx0W3VzZXJEYXRhXT1cImluc3RhbmNlLnVzZXJEYXRhXCJcblx0XHRcdFx0W25hbWVdPVwiaW5zdGFuY2Uua2V5ICsgJy1pbnN0YW5jZWQtcmlnaWQtYm9keS0nICsgJGluZGV4XCJcblx0XHRcdD5cblx0XHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiW2RhdGEtY29sbGlkZXJzXVwiIC8+XG5cblx0XHRcdFx0QGZvciAoY2hpbGRDb2xsaWRlck9wdGlvbiBvZiBjaGlsZENvbGxpZGVyT3B0aW9ucygpOyB0cmFjayAkaW5kZXgpIHtcblx0XHRcdFx0XHQ8bmd0LW9iamVjdDNEXG5cdFx0XHRcdFx0XHRbbmd0ckNvbGxpZGVyXT1cImNoaWxkQ29sbGlkZXJPcHRpb24uc2hhcGVcIlxuXHRcdFx0XHRcdFx0W2FyZ3NdPVwiY2hpbGRDb2xsaWRlck9wdGlvbi5hcmdzXCJcblx0XHRcdFx0XHRcdFtwb3NpdGlvbl09XCJjaGlsZENvbGxpZGVyT3B0aW9uLnBvc2l0aW9uXCJcblx0XHRcdFx0XHRcdFtyb3RhdGlvbl09XCJjaGlsZENvbGxpZGVyT3B0aW9uLnJvdGF0aW9uXCJcblx0XHRcdFx0XHRcdFtzY2FsZV09XCJjaGlsZENvbGxpZGVyT3B0aW9uLnNjYWxlXCJcblx0XHRcdFx0XHRcdFtuYW1lXT1cIm9iamVjdFJlZi5uYXRpdmVFbGVtZW50Lm5hbWUgKyAnLWluc3RhbmNlZC1jb2xsaWRlci0nICsgJGluZGV4XCJcblx0XHRcdFx0XHRcdFtvcHRpb25zXT1cImNoaWxkQ29sbGlkZXJPcHRpb24uY29sbGlkZXJPcHRpb25zXCJcblx0XHRcdFx0XHQvPlxuXHRcdFx0XHR9XG5cdFx0XHQ8L25ndC1vYmplY3QzRD5cblx0XHR9XG5cdGAsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdGhvc3Q6IHtcblx0XHQnW3Bvc2l0aW9uXSc6ICdwb3NpdGlvbigpJyxcblx0XHQnW3JvdGF0aW9uXSc6ICdyb3RhdGlvbigpJyxcblx0XHQnW3NjYWxlXSc6ICdzY2FsZSgpJyxcblx0XHQnW3F1YXRlcm5pb25dJzogJ3F1YXRlcm5pb24oKScsXG5cdFx0J1t1c2VyRGF0YV0nOiAndXNlckRhdGEoKScsXG5cdH0sXG5cdGltcG9ydHM6IFtOZ3RyUmlnaWRCb2R5LCBOZ3RyQW55Q29sbGlkZXJdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RySW5zdGFuY2VkUmlnaWRCb2RpZXMge1xuXHRwb3NpdGlvbiA9IGlucHV0PE5ndFZlY3RvcjMgfCB1bmRlZmluZWQ+KFswLCAwLCAwXSk7XG5cdHJvdGF0aW9uID0gaW5wdXQ8Tmd0RXVsZXIgfCB1bmRlZmluZWQ+KFswLCAwLCAwXSk7XG5cdHNjYWxlID0gaW5wdXQ8Tmd0VmVjdG9yMyB8IHVuZGVmaW5lZD4oWzEsIDEsIDFdKTtcblx0cXVhdGVybmlvbiA9IGlucHV0PE5ndFF1YXRlcm5pb24gfCB1bmRlZmluZWQ+KFswLCAwLCAwLCAxXSk7XG5cdHVzZXJEYXRhID0gaW5wdXQ8Tmd0T2JqZWN0M0RbJ3VzZXJEYXRhJ10gfCB1bmRlZmluZWQ+KHt9KTtcblx0aW5zdGFuY2VzID0gaW5wdXQoW10sIHtcblx0XHRhbGlhczogJ25ndHJJbnN0YW5jZWRSaWdpZEJvZGllcycsXG5cdFx0dHJhbnNmb3JtOiAodmFsdWU6IEFycmF5PE5ndHJJbnN0YW5jZWRSaWdpZEJvZHlPcHRpb25zPiB8ICcnKSA9PiB7XG5cdFx0XHRpZiAodmFsdWUgPT09ICcnKSByZXR1cm4gW107XG5cdFx0XHRyZXR1cm4gdmFsdWU7XG5cdFx0fSxcblx0fSk7XG5cdG9wdGlvbnMgPSBpbnB1dChkZWZhdWx0T3B0aW9ucywgeyB0cmFuc2Zvcm06IG1lcmdlSW5wdXRzKGRlZmF1bHRPcHRpb25zKSB9KTtcblxuXHRpbnN0YW5jZVdyYXBwZXJSZWYgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxPYmplY3QzRD4+KCdpbnN0YW5jZVdyYXBwZXInKTtcblx0cmlnaWRCb2R5UmVmcyA9IHZpZXdDaGlsZHJlbihOZ3RyUmlnaWRCb2R5KTtcblxuXHRwcml2YXRlIHBoeXNpY3MgPSBpbmplY3QoTmd0clBoeXNpY3MpO1xuXHRvYmplY3RSZWYgPSBpbmplY3Q8RWxlbWVudFJlZjxPYmplY3QzRD4+KEVsZW1lbnRSZWYpO1xuXG5cdHByaXZhdGUgY29sbGlkZXJzID0gcGljayh0aGlzLm9wdGlvbnMsICdjb2xsaWRlcnMnKTtcblxuXHRwcml2YXRlIGluc3RhbmNlZE1lc2ggPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3QgaW5zdGFuY2VXcmFwcGVyID0gdGhpcy5pbnN0YW5jZVdyYXBwZXJSZWYoKS5uYXRpdmVFbGVtZW50O1xuXHRcdGlmICghaW5zdGFuY2VXcmFwcGVyKSByZXR1cm4gbnVsbDtcblxuXHRcdGNvbnN0IGxvY2FsU3RhdGUgPSBnZXRMb2NhbFN0YXRlKGluc3RhbmNlV3JhcHBlcik7XG5cdFx0aWYgKCFsb2NhbFN0YXRlKSByZXR1cm4gbnVsbDtcblxuXHRcdC8vIHRyYWNrIG9iamVjdCdzIGNoaWxkcmVuXG5cdFx0bG9jYWxTdGF0ZS5vYmplY3RzKCk7XG5cdFx0Y29uc3QgZmlyc3RDaGlsZCA9IGluc3RhbmNlV3JhcHBlci5jaGlsZHJlblswXTtcblx0XHRpZiAoIWZpcnN0Q2hpbGQgfHwgIShmaXJzdENoaWxkIGFzIEluc3RhbmNlZE1lc2gpLmlzSW5zdGFuY2VkTWVzaCkgcmV0dXJuIG51bGw7XG5cblx0XHRyZXR1cm4gZmlyc3RDaGlsZCBhcyBJbnN0YW5jZWRNZXNoO1xuXHR9KTtcblxuXHRwcm90ZWN0ZWQgaW5zdGFuY2VzT3B0aW9ucyA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCBbaW5zdGFuY2VzLCBvcHRpb25zLCBpbnN0YW5jZWRNZXNoXSA9IFt0aGlzLmluc3RhbmNlcygpLCB1bnRyYWNrZWQodGhpcy5vcHRpb25zKSwgdGhpcy5pbnN0YW5jZWRNZXNoKCldO1xuXHRcdGlmICghaW5zdGFuY2VkTWVzaCkgcmV0dXJuIFtdO1xuXHRcdHJldHVybiBpbnN0YW5jZXMubWFwKFxuXHRcdFx0KGluc3RhbmNlLCBpbmRleCkgPT5cblx0XHRcdFx0KHtcblx0XHRcdFx0XHQuLi5pbnN0YW5jZSxcblx0XHRcdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdFx0XHQuLi5vcHRpb25zLFxuXHRcdFx0XHRcdFx0Li4uKGluc3RhbmNlLm9wdGlvbnMgfHwge30pLFxuXHRcdFx0XHRcdFx0dHJhbnNmb3JtU3RhdGU6IChzdGF0ZSkgPT4ge1xuXHRcdFx0XHRcdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHRcdFx0XHRcdC4uLnN0YXRlLFxuXHRcdFx0XHRcdFx0XHRcdGdldE1hdHJpeDogKG1hdHJpeCkgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdFx0aW5zdGFuY2VkTWVzaC5nZXRNYXRyaXhBdChpbmRleCwgbWF0cml4KTtcblx0XHRcdFx0XHRcdFx0XHRcdHJldHVybiBtYXRyaXg7XG5cdFx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0XHRzZXRNYXRyaXg6IChtYXRyaXgpID0+IHtcblx0XHRcdFx0XHRcdFx0XHRcdGluc3RhbmNlZE1lc2guc2V0TWF0cml4QXQoaW5kZXgsIG1hdHJpeCk7XG5cdFx0XHRcdFx0XHRcdFx0XHRpbnN0YW5jZWRNZXNoLmluc3RhbmNlTWF0cml4Lm5lZWRzVXBkYXRlID0gdHJ1ZTtcblx0XHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRcdG1lc2hUeXBlOiAnaW5zdGFuY2VkTWVzaCcsXG5cdFx0XHRcdFx0XHRcdH0gYXMgTmd0clJpZ2lkQm9keVN0YXRlO1xuXHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGtleTogYCR7aW5zdGFuY2Uua2V5fS0ke2luZGV4fWAgKyBgJHtpbnN0YW5jZWRNZXNoPy51dWlkIHx8ICcnfWAsXG5cdFx0XHRcdH0pIGFzIE9taXQ8Tmd0ckluc3RhbmNlZFJpZ2lkQm9keU9wdGlvbnMsICdvcHRpb25zJz4gJiB7IG9wdGlvbnM6IFBhcnRpYWw8Tmd0clJpZ2lkQm9keU9wdGlvbnM+IH0sXG5cdFx0KTtcblx0fSk7XG5cblx0cHJvdGVjdGVkIGNoaWxkQ29sbGlkZXJPcHRpb25zID0gY29tcHV0ZWQoKCkgPT4ge1xuXHRcdGNvbnN0IGNvbGxpZGVycyA9IHRoaXMuY29sbGlkZXJzKCk7XG5cdFx0Ly8gaWYgc2VsZiBjb2xsaWRlcnMgaXMgZmFsc2UgZXhwbGljaXRseSwgZGlzYWJsZSBhdXRvIGNvbGxpZGVycyBmb3IgdGhpcyBvYmplY3QgZW50aXJlbHkuXG5cdFx0aWYgKGNvbGxpZGVycyA9PT0gZmFsc2UpIHJldHVybiBbXTtcblxuXHRcdGNvbnN0IHBoeXNpY3NDb2xsaWRlcnMgPSB0aGlzLnBoeXNpY3MuY29sbGlkZXJzKCk7XG5cdFx0Ly8gaWYgcGh5c2ljcyBjb2xsaWRlcnMgaXMgZmFsc2UgZXhwbGljaXRseSBBTkQgY29sbGlkZXJzIGlzIG5vdCBzZXQsIGRpc2FibGUgYXV0byBjb2xsaWRlcnMgZm9yIHRoaXMgb2JqZWN0IGVudGlyZWx5LlxuXHRcdGlmIChwaHlzaWNzQ29sbGlkZXJzID09PSBmYWxzZSAmJiBjb2xsaWRlcnMgPT09IHVuZGVmaW5lZCkgcmV0dXJuIFtdO1xuXG5cdFx0Y29uc3Qgb3B0aW9ucyA9IHRoaXMub3B0aW9ucygpO1xuXHRcdC8vIGlmIGNvbGxpZGVycyBvbiBvYmplY3QgaXMgbm90IHNldCwgdXNlIHBoeXNpY3MgY29sbGlkZXJzXG5cdFx0aWYgKCFvcHRpb25zLmNvbGxpZGVycykgb3B0aW9ucy5jb2xsaWRlcnMgPSBwaHlzaWNzQ29sbGlkZXJzO1xuXG5cdFx0Y29uc3Qgb2JqZWN0TG9jYWxTdGF0ZSA9IGdldExvY2FsU3RhdGUodGhpcy5vYmplY3RSZWYubmF0aXZlRWxlbWVudCk7XG5cdFx0aWYgKCFvYmplY3RMb2NhbFN0YXRlKSByZXR1cm4gW107XG5cblx0XHQvLyB0cmFjayBvYmplY3QncyBwYXJlbnQgYW5kIG5vbi1vYmplY3QgY2hpbGRyZW5cblx0XHRjb25zdCBbcGFyZW50XSA9IFtvYmplY3RMb2NhbFN0YXRlLnBhcmVudCgpLCBvYmplY3RMb2NhbFN0YXRlLm5vbk9iamVjdHMoKV07XG5cdFx0aWYgKCFwYXJlbnQgfHwgIShwYXJlbnQgYXMgT2JqZWN0M0QpLmlzT2JqZWN0M0QpIHJldHVybiBbXTtcblxuXHRcdHJldHVybiBjcmVhdGVDb2xsaWRlck9wdGlvbnModGhpcy5vYmplY3RSZWYubmF0aXZlRWxlbWVudCwgb3B0aW9ucyk7XG5cdH0pO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGV4dGVuZCh7IE9iamVjdDNEIH0pO1xuXG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IGluc3RhbmNlZE1lc2ggPSB0aGlzLmluc3RhbmNlZE1lc2goKTtcblx0XHRcdGlmICghaW5zdGFuY2VkTWVzaCkgcmV0dXJuO1xuXHRcdFx0aW5zdGFuY2VkTWVzaC5pbnN0YW5jZU1hdHJpeC5zZXRVc2FnZShEeW5hbWljRHJhd1VzYWdlKTtcblx0XHR9KTtcblx0fVxufVxuIl19