angular-three-soba 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.
- package/cameras/lib/cube-camera.d.ts +1 -1
- package/cameras/lib/orthographic-camera.d.ts +1 -1
- package/cameras/lib/perspective-camera.d.ts +1 -1
- package/esm2022/abstractions/lib/billboard.mjs +4 -4
- package/esm2022/abstractions/lib/catmull-rom-line.mjs +4 -4
- package/esm2022/abstractions/lib/cubic-bezier-line.mjs +4 -4
- package/esm2022/abstractions/lib/edges.mjs +4 -4
- package/esm2022/abstractions/lib/gradient-texture.mjs +4 -4
- package/esm2022/abstractions/lib/grid.mjs +4 -4
- package/esm2022/abstractions/lib/helper.mjs +4 -4
- package/esm2022/abstractions/lib/line.mjs +4 -4
- package/esm2022/abstractions/lib/prism-geometry.mjs +4 -4
- package/esm2022/abstractions/lib/quadratic-bezier-line.mjs +4 -4
- package/esm2022/abstractions/lib/rounded-box.mjs +4 -4
- package/esm2022/abstractions/lib/text-3d.mjs +4 -4
- package/esm2022/abstractions/lib/text.mjs +4 -4
- package/esm2022/cameras/lib/camera-content.mjs +4 -4
- package/esm2022/cameras/lib/cube-camera.mjs +4 -4
- package/esm2022/cameras/lib/orthographic-camera.mjs +4 -4
- package/esm2022/cameras/lib/perspective-camera.mjs +4 -4
- package/esm2022/controls/lib/camera-controls.mjs +4 -4
- package/esm2022/controls/lib/orbit-controls.mjs +4 -4
- package/esm2022/controls/lib/scroll-controls.mjs +10 -10
- package/esm2022/gizmos/lib/gizmo-helper/gizmo-helper.mjs +7 -7
- package/esm2022/gizmos/lib/gizmo-helper/gizmo-viewcube.mjs +13 -13
- package/esm2022/gizmos/lib/gizmo-helper/gizmo-viewport.mjs +10 -10
- package/esm2022/gizmos/lib/pivot-controls/axis-arrow.mjs +4 -4
- package/esm2022/gizmos/lib/pivot-controls/axis-rotator.mjs +4 -4
- package/esm2022/gizmos/lib/pivot-controls/pivot-controls.mjs +4 -4
- package/esm2022/gizmos/lib/pivot-controls/plane-slider.mjs +4 -4
- package/esm2022/gizmos/lib/pivot-controls/scaling-sphere.mjs +4 -4
- package/esm2022/gizmos/lib/transform-controls.mjs +4 -4
- package/esm2022/loaders/lib/loader.mjs +4 -4
- package/esm2022/materials/lib/custom-shader-material.mjs +4 -4
- package/esm2022/materials/lib/mesh-distort-material.mjs +4 -4
- package/esm2022/materials/lib/mesh-reflector-material.mjs +4 -4
- package/esm2022/materials/lib/mesh-refraction-material.mjs +4 -4
- package/esm2022/materials/lib/mesh-transmission-material.mjs +4 -4
- package/esm2022/materials/lib/mesh-wobble-material.mjs +4 -4
- package/esm2022/materials/lib/point-material.mjs +4 -4
- package/esm2022/misc/lib/bake-shadows.mjs +4 -4
- package/esm2022/misc/lib/computed-attribute.mjs +4 -4
- package/esm2022/misc/lib/decal.mjs +4 -4
- package/esm2022/misc/lib/fbo.mjs +4 -4
- package/esm2022/misc/lib/html/html-content.mjs +4 -4
- package/esm2022/misc/lib/html/html.mjs +4 -4
- package/esm2022/misc/lib/intersect.mjs +4 -4
- package/esm2022/misc/lib/preload.mjs +4 -4
- package/esm2022/misc/lib/sampler.mjs +4 -4
- package/esm2022/performances/lib/adaptive-dpr.mjs +4 -4
- package/esm2022/performances/lib/adaptive-events.mjs +4 -4
- package/esm2022/performances/lib/detailed.mjs +4 -4
- package/esm2022/performances/lib/instances/instances.mjs +7 -7
- package/esm2022/performances/lib/points/points.mjs +10 -10
- package/esm2022/performances/lib/segments/segments.mjs +7 -7
- package/esm2022/staging/lib/accumulative-shadows.mjs +4 -4
- package/esm2022/staging/lib/backdrop.mjs +4 -4
- package/esm2022/staging/lib/bb-anchor.mjs +4 -4
- package/esm2022/staging/lib/bounds.mjs +4 -4
- package/esm2022/staging/lib/camera-shake.mjs +4 -4
- package/esm2022/staging/lib/caustics.mjs +4 -4
- package/esm2022/staging/lib/center.mjs +4 -4
- package/esm2022/staging/lib/contact-shadows.mjs +4 -4
- package/esm2022/staging/lib/environment/environment.mjs +16 -16
- package/esm2022/staging/lib/float.mjs +4 -4
- package/esm2022/staging/lib/lightformer.mjs +4 -4
- package/esm2022/staging/lib/mask.mjs +4 -4
- package/esm2022/staging/lib/matcap-texture.mjs +4 -4
- package/esm2022/staging/lib/normal-texture.mjs +4 -4
- package/esm2022/staging/lib/randomized-lights.mjs +4 -4
- package/esm2022/staging/lib/render-texture.mjs +10 -10
- package/esm2022/staging/lib/sky.mjs +4 -4
- package/esm2022/staging/lib/spot-light.mjs +16 -16
- package/esm2022/staging/lib/stage.mjs +7 -7
- package/esm2022/stats/lib/stats.mjs +4 -4
- package/fesm2022/angular-three-soba-abstractions.mjs +39 -39
- package/fesm2022/angular-three-soba-abstractions.mjs.map +1 -1
- package/fesm2022/angular-three-soba-cameras.mjs +12 -12
- package/fesm2022/angular-three-soba-cameras.mjs.map +1 -1
- package/fesm2022/angular-three-soba-controls.mjs +15 -15
- package/fesm2022/angular-three-soba-controls.mjs.map +1 -1
- package/fesm2022/angular-three-soba-gizmos.mjs +45 -45
- package/fesm2022/angular-three-soba-gizmos.mjs.map +1 -1
- package/fesm2022/angular-three-soba-loaders.mjs +3 -3
- package/fesm2022/angular-three-soba-loaders.mjs.map +1 -1
- package/fesm2022/angular-three-soba-materials.mjs +21 -21
- package/fesm2022/angular-three-soba-materials.mjs.map +1 -1
- package/fesm2022/angular-three-soba-misc.mjs +27 -27
- package/fesm2022/angular-three-soba-misc.mjs.map +1 -1
- package/fesm2022/angular-three-soba-performances.mjs +30 -30
- package/fesm2022/angular-three-soba-performances.mjs.map +1 -1
- package/fesm2022/angular-three-soba-staging.mjs +90 -90
- package/fesm2022/angular-three-soba-staging.mjs.map +1 -1
- package/fesm2022/angular-three-soba-stats.mjs +3 -3
- package/fesm2022/angular-three-soba-stats.mjs.map +1 -1
- package/gizmos/lib/pivot-controls/axis-arrow.d.ts +1 -1
- package/gizmos/lib/pivot-controls/axis-rotator.d.ts +1 -1
- package/gizmos/lib/pivot-controls/pivot-controls.d.ts +1 -1
- package/gizmos/lib/pivot-controls/plane-slider.d.ts +1 -1
- package/gizmos/lib/pivot-controls/scaling-sphere.d.ts +1 -1
- package/gizmos/lib/transform-controls.d.ts +2 -2
- package/misc/lib/html/html.d.ts +1 -1
- package/package.json +20 -20
- package/shaders/lib/mesh-refraction-material.d.ts +2 -2
|
@@ -163,8 +163,8 @@ export class NgtsAxisRotator {
|
|
|
163
163
|
event.stopPropagation();
|
|
164
164
|
this.hovered.set(false);
|
|
165
165
|
}
|
|
166
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
167
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
166
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsAxisRotator, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
167
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: NgtsAxisRotator, isStandalone: true, selector: "ngts-axis-rotator", inputs: { dir1: { classPropertyName: "dir1", publicName: "dir1", isSignal: true, isRequired: true, transformFunction: null }, dir2: { classPropertyName: "dir2", publicName: "dir2", isSignal: true, isRequired: true, transformFunction: null }, axis: { classPropertyName: "axis", publicName: "axis", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, isSignal: true }, { propertyName: "annotationRef", first: true, predicate: ["annotation"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: `
|
|
168
168
|
<ngt-group
|
|
169
169
|
#group
|
|
170
170
|
[matrix]="matrixL()"
|
|
@@ -208,7 +208,7 @@ export class NgtsAxisRotator {
|
|
|
208
208
|
</ngt-group>
|
|
209
209
|
`, isInline: true, dependencies: [{ kind: "component", type: NgtsLine, selector: "ngts-line", inputs: ["points", "options"] }, { kind: "component", type: NgtsHTML, selector: "ngts-html", inputs: ["options"] }, { kind: "component", type: NgtsHTMLContent, selector: "[ngtsHTMLContent]", inputs: ["ngtsHTMLContent"], outputs: ["occluded"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
210
210
|
}
|
|
211
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
211
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsAxisRotator, decorators: [{
|
|
212
212
|
type: Component,
|
|
213
213
|
args: [{
|
|
214
214
|
selector: 'ngts-axis-rotator',
|
|
@@ -261,4 +261,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
261
261
|
imports: [NgtsLine, NgtsHTML, NgtsHTMLContent],
|
|
262
262
|
}]
|
|
263
263
|
}], ctorParameters: () => [] });
|
|
264
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpcy1yb3RhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL2dpem1vcy9zcmMvbGliL3Bpdm90LWNvbnRyb2xzL2F4aXMtcm90YXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1Isc0JBQXNCLEVBQ3RCLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUN4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFckQsTUFBTSxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUMvQixNQUFNLGVBQWUsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0FBRXRDLFNBQVMsU0FBUyxDQUFDLE9BQWU7SUFDakMsT0FBTyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO0FBQ2xDLENBQUM7QUFFRCxTQUFTLFNBQVMsQ0FBQyxPQUFlO0lBQ2pDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQztBQUNsQyxDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsVUFBbUIsRUFBRSxpQkFBMEIsRUFBRSxN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LGVBQWU7a0JBbEQzQixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQTBDVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsZUFBZSxDQUFDO2lCQUM5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdGNvbXB1dGVkLFxuXHRDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuXHRFbGVtZW50UmVmLFxuXHRpbmplY3QsXG5cdGlucHV0LFxuXHRTaWduYWwsXG5cdHNpZ25hbCxcblx0dmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGV4dGVuZCwgaW5qZWN0U3RvcmUsIE5ndFRocmVlRXZlbnQgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IE5ndHNMaW5lIH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL2Fic3RyYWN0aW9ucyc7XG5pbXBvcnQgeyBOZ3RzSFRNTCwgTmd0c0hUTUxDb250ZW50IH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL21pc2MnO1xuaW1wb3J0IHsgRG91YmxlU2lkZSwgR3JvdXAsIE1hdHJpeDQsIFBsYW5lLCBSYXksIFZlY3RvcjMgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBOZ3RzUGl2b3RDb250cm9scyB9IGZyb20gJy4vcGl2b3QtY29udHJvbHMnO1xuXG5jb25zdCBjbGlja0RpciA9IG5ldyBWZWN0b3IzKCk7XG5jb25zdCBpbnRlcnNlY3Rpb25EaXIgPSBuZXcgVmVjdG9yMygpO1xuXG5mdW5jdGlvbiB0b0RlZ3JlZXMocmFkaWFuczogbnVtYmVyKSB7XG5cdHJldHVybiAocmFkaWFucyAqIDE4MCkgLyBNYXRoLlBJO1xufVxuXG5mdW5jdGlvbiB0b1JhZGlhbnMoZGVncmVlczogbnVtYmVyKSB7XG5cdHJldHVybiAoZGVncmVlcyAqIE1hdGguUEkpIC8gMTgwO1xufVxuXG5mdW5jdGlvbiBjYWxjdWxhdGVBbmdsZShjbGlja1BvaW50OiBWZWN0b3IzLCBpbnRlcnNlY3Rpb25Qb2ludDogVmVjdG9yMywgb3JpZ2luOiBWZWN0b3IzLCBlMTogVmVjdG9yMywgZTI6IFZlY3RvcjMpIHtcblx0Y2xpY2tEaXIuY29weShjbGlja1BvaW50KS5zdWIob3JpZ2luKTtcblx0aW50ZXJzZWN0aW9uRGlyLmNvcHkoaW50ZXJzZWN0aW9uUG9pbnQpLnN1YihvcmlnaW4pO1xuXHRjb25zdCBkb3RlMWUxID0gZTEuZG90KGUxKTtcblx0Y29uc3QgZG90ZTJlMiA9IGUyLmRvdChlMik7XG5cdGNvbnN0IHVDbGljayA9IGNsaWNrRGlyLmRvdChlMSkgLyBkb3RlMWUxO1xuXHRjb25zdCB2Q2xpY2sgPSBjbGlja0Rpci5kb3QoZTIpIC8gZG90ZTJlMjtcblx0Y29uc3QgdUludGVyc2VjdGlvbiA9IGludGVyc2VjdGlvbkRpci5kb3QoZTEpIC8gZG90ZTFlMTtcblx0Y29uc3QgdkludGVyc2VjdGlvbiA9IGludGVyc2VjdGlvbkRpci5kb3QoZTIpIC8gZG90ZTJlMjtcblx0Y29uc3QgYW5nbGVDbGljayA9IE1hdGguYXRhbjIodkNsaWNrLCB1Q2xpY2spO1xuXHRjb25zdCBhbmdsZUludGVyc2VjdGlvbiA9IE1hdGguYXRhbjIodkludGVyc2VjdGlvbiwgdUludGVyc2VjdGlvbik7XG5cdHJldHVybiBhbmdsZUludGVyc2VjdGlvbiAtIGFuZ2xlQ2xpY2s7XG59XG5cbmZ1bmN0aW9uIGZtb2QobnVtOiBudW1iZXIsIGRlbm9tOiBudW1iZXIpIHtcblx0bGV0IGsgPSBNYXRoLmZsb29yKG51bSAvIGRlbm9tKTtcblx0ayA9IGsgPCAwID8gayArIDEgOiBrO1xuXG5cdHJldHVybiBudW0gLSBrICogZGVub207XG59XG5cbmZ1bmN0aW9uIG1pbmltaXplQW5nbGUoYW5nbGU6IG51bWJlcikge1xuXHRsZXQgcmVzdWx0ID0gZm1vZChhbmdsZSwgMiAqIE1hdGguUEkpO1xuXG5cdGlmIChNYXRoLmFicyhyZXN1bHQpIDwgMWUtNikge1xuXHRcdHJldHVybiAwLjA7XG5cdH1cblxuXHRpZiAocmVzdWx0IDwgMC4wKSB7XG5cdFx0cmVzdWx0ICs9IDIgKiBNYXRoLlBJO1xuXHR9XG5cblx0cmV0dXJuIHJlc3VsdDtcbn1cblxuY29uc3Qgcm90TWF0cml4ID0gbmV3IE1hdHJpeDQoKTtcbmNvbnN0IHBvc05ldyA9IG5ldyBWZWN0b3IzKCk7XG5jb25zdCByYXkgPSBuZXcgUmF5KCk7XG5jb25zdCBpbnRlcnNlY3Rpb24gPSBuZXcgVmVjdG9yMygpO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLWF4aXMtcm90YXRvcicsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1ncm91cFxuXHRcdFx0I2dyb3VwXG5cdFx0XHRbbWF0cml4XT1cIm1hdHJpeEwoKVwiXG5cdFx0XHRbbWF0cml4QXV0b1VwZGF0ZV09XCJmYWxzZVwiXG5cdFx0XHQocG9pbnRlcmRvd24pPVwib25Qb2ludGVyRG93bigkYW55KCRldmVudCkpXCJcblx0XHRcdChwb2ludGVybW92ZSk9XCJvblBvaW50ZXJNb3ZlKCRhbnkoJGV2ZW50KSlcIlxuXHRcdFx0KHBvaW50ZXJ1cCk9XCJvblBvaW50ZXJVcCgkYW55KCRldmVudCkpXCJcblx0XHRcdChwb2ludGVyb3V0KT1cIm9uUG9pbnRlck91dCgkYW55KCRldmVudCkpXCJcblx0XHQ+XG5cdFx0XHRAaWYgKHBpdm90Q29udHJvbHMuYW5ub3RhdGlvbnMoKSkge1xuXHRcdFx0XHQ8bmd0cy1odG1sIFtvcHRpb25zXT1cInsgcG9zaXRpb246IFtyKCksIHIoKSwgMF0gfVwiPlxuXHRcdFx0XHRcdDxkaXZcblx0XHRcdFx0XHRcdCNhbm5vdGF0aW9uXG5cdFx0XHRcdFx0XHRuZ3RzSFRNTENvbnRlbnRcblx0XHRcdFx0XHRcdHN0eWxlPVwiZGlzcGxheTogbm9uZTsgYmFja2dyb3VuZDogIzE1MTUyMDsgY29sb3I6IHdoaXRlOyBwYWRkaW5nOiA2cHggOHB4OyBib3JkZXItcmFkaXVzOiA3cHg7IHdoaXRlLXNwYWNlOiBub3dyYXBcIlxuXHRcdFx0XHRcdFx0W2NsYXNzXT1cInBpdm90Q29udHJvbHMuYW5ub3RhdGlvbnNDbGFzcygpXCJcblx0XHRcdFx0XHQ+PC9kaXY+XG5cdFx0XHRcdDwvbmd0cy1odG1sPlxuXHRcdFx0fVxuXG5cdFx0XHQ8bmd0cy1saW5lXG5cdFx0XHRcdFtwb2ludHNdPVwiYXJjKClcIlxuXHRcdFx0XHRbb3B0aW9uc109XCJ7IGxpbmVXaWR0aDogcGl2b3RDb250cm9scy5saW5lV2lkdGgoKSAqIDQsIHZpc2libGU6IGZhbHNlLCB1c2VyRGF0YTogcGl2b3RDb250cm9scy51c2VyRGF0YSgpIH1cIlxuXHRcdFx0Lz5cblxuXHRcdFx0PG5ndHMtbGluZVxuXHRcdFx0XHRbcG9pbnRzXT1cImFyYygpXCJcblx0XHRcdFx0W29wdGlvbnNdPVwie1xuXHRcdFx0XHRcdHRyYW5zcGFyZW50OiB0cnVlLFxuXHRcdFx0XHRcdHJheWNhc3Q6IG51bGwsXG5cdFx0XHRcdFx0ZGVwdGhUZXN0OiBwaXZvdENvbnRyb2xzLmRlcHRoVGVzdCgpLFxuXHRcdFx0XHRcdGxpbmVXaWR0aDogcGl2b3RDb250cm9scy5saW5lV2lkdGgoKSxcblx0XHRcdFx0XHRzaWRlOiBEb3VibGVTaWRlLFxuXHRcdFx0XHRcdGNvbG9yOiBob3ZlcmVkKCkgPyBwaXZvdENvbnRyb2xzLmhvdmVyZWRDb2xvcigpIDogcGl2b3RDb250cm9scy5heGlzQ29sb3JzKClbYXhpcygpXSxcblx0XHRcdFx0XHRvcGFjaXR5OiBwaXZvdENvbnRyb2xzLm9wYWNpdHkoKSxcblx0XHRcdFx0XHRwb2x5Z29uT2Zmc2V0OiB0cnVlLFxuXHRcdFx0XHRcdHBvbHlnb25PZmZzZXRGYWN0b3I6IC0xMCxcblx0XHRcdFx0XHRmb2c6IGZhbHNlLFxuXHRcdFx0XHR9XCJcblx0XHRcdC8+XG5cdFx0PC9uZ3QtZ3JvdXA+XG5cdGAsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdGltcG9ydHM6IFtOZ3RzTGluZSwgTmd0c0hUTUwsIE5ndHNIVE1MQ29udGVudF0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNBeGlzUm90YXRvciB7XG5cdHByb3RlY3RlZCByZWFkb25seSBEb3VibGVTaWRlID0gRG91YmxlU2lkZTtcblxuXHRkaXIxID0gaW5wdXQucmVxdWlyZWQ8VmVjdG9yMz4oKTtcblx0ZGlyMiA9IGlucHV0LnJlcXVpcmVkPFZlY3RvcjM+KCk7XG5cdGF4aXMgPSBpbnB1dC5yZXF1aXJlZDwwIHwgMSB8IDI+KCk7XG5cblx0Z3JvdXBSZWYgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxHcm91cD4+KCdncm91cCcpO1xuXHRhbm5vdGF0aW9uUmVmID0gdmlld0NoaWxkPHVua25vd24sIEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+PignYW5ub3RhdGlvbicsIHsgcmVhZDogRWxlbWVudFJlZiB9KTtcblxuXHRwaXZvdENvbnRyb2xzID0gaW5qZWN0KE5ndHNQaXZvdENvbnRyb2xzKTtcblx0cHJpdmF0ZSBzdG9yZSA9IGluamVjdFN0b3JlKCk7XG5cdHByaXZhdGUgY29udHJvbHMgPSB0aGlzLnN0b3JlLnNlbGVjdCgnY29udHJvbHMnKSBhcyB1bmtub3duIGFzIFNpZ25hbDx7IGVuYWJsZWQ6IGJvb2xlYW4gfT47XG5cblx0aG92ZXJlZCA9IHNpZ25hbChmYWxzZSk7XG5cdHByaXZhdGUgYW5nbGUgPSAwO1xuXHRwcml2YXRlIGFuZ2xlMCA9IDA7XG5cdHByaXZhdGUgY2xpY2tJbmZvOiB7XG5cdFx0Y2xpY2tQb2ludDogVmVjdG9yMztcblx0XHRvcmlnaW46IFZlY3RvcjM7XG5cdFx0ZTE6IFZlY3RvcjM7XG5cdFx0ZTI6IFZlY3RvcjM7XG5cdFx0bm9ybWFsOiBWZWN0b3IzO1xuXHRcdHBsYW5lOiBQbGFuZTtcblx0fSB8IG51bGwgPSBudWxsO1xuXG5cdG1hdHJpeEwgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3QgZGlyMU4gPSB0aGlzLmRpcjEoKS5jbG9uZSgpLm5vcm1hbGl6ZSgpO1xuXHRcdGNvbnN0IGRpcjJOID0gdGhpcy5kaXIyKCkuY2xvbmUoKS5ub3JtYWxpemUoKTtcblx0XHRyZXR1cm4gbmV3IE1hdHJpeDQoKS5tYWtlQmFzaXMoZGlyMU4sIGRpcjJOLCBkaXIxTi5jbG9uZSgpLmNyb3NzKGRpcjJOKSk7XG5cdH0pO1xuXHRyID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMucGl2b3RDb250cm9scy5maXhlZCgpID8gMC42NSA6IHRoaXMucGl2b3RDb250cm9scy5zY2FsZSgpICogMC42NSkpO1xuXHRhcmMgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3Qgc2VnbWVudHMgPSAzMjtcblx0XHRjb25zdCBwb2ludHM6IFZlY3RvcjNbXSA9IFtdO1xuXHRcdGZvciAobGV0IGogPSAwOyBqIDw9IHNlZ21lbnRzOyBqKyspIHtcblx0XHRcdGNvbnN0IGFuZ2xlID0gKGogKiAoTWF0aC5QSSAvIDIpKSAvIHNlZ21lbnRzO1xuXHRcdFx0cG9pbnRzLnB1c2gobmV3IFZlY3RvcjMoTWF0aC5jb3MoYW5nbGUpICogdGhpcy5yKCksIE1hdGguc2luKGFuZ2xlKSAqIHRoaXMucigpLCAwKSk7XG5cdFx0fVxuXHRcdHJldHVybiBwb2ludHM7XG5cdH0pO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGV4dGVuZCh7IEdyb3VwIH0pO1xuXHR9XG5cblx0b25Qb2ludGVyRG93bihldmVudDogTmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+KSB7XG5cdFx0Y29uc3QgW2Fubm90YXRpb24sIGdyb3VwLCBheGlzLCBjb250cm9sc10gPSBbXG5cdFx0XHR0aGlzLmFubm90YXRpb25SZWYoKT8ubmF0aXZlRWxlbWVudCxcblx0XHRcdHRoaXMuZ3JvdXBSZWYoKS5uYXRpdmVFbGVtZW50LFxuXHRcdFx0dGhpcy5heGlzKCksXG5cdFx0XHR0aGlzLmNvbnRyb2xzKCksXG5cdFx0XTtcblxuXHRcdGlmIChhbm5vdGF0aW9uKSB7XG5cdFx0XHRhbm5vdGF0aW9uLmlubmVyVGV4dCA9IGAke3RvRGVncmVlcyh0aGlzLmFuZ2xlKS50b0ZpeGVkKDApfcK6YDtcblx0XHRcdGFubm90YXRpb24uc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XG5cdFx0fVxuXG5cdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0Y29uc3QgY2xpY2tQb2ludCA9IGV2ZW50LnBvaW50LmNsb25lKCk7XG5cdFx0Y29uc3Qgb3JpZ2luID0gbmV3IFZlY3RvcjMoKS5zZXRGcm9tTWF0cml4UG9zaXRpb24oZ3JvdXAubWF0cml4V29ybGQpO1xuXHRcdGNvbnN0IGUxID0gbmV3IFZlY3RvcjMoKS5zZXRGcm9tTWF0cml4Q29sdW1uKGdyb3VwLm1hdHJpeFdvcmxkLCAwKS5ub3JtYWxpemUoKTtcblx0XHRjb25zdCBlMiA9IG5ldyBWZWN0b3IzKCkuc2V0RnJvbU1hdHJpeENvbHVtbihncm91cC5tYXRyaXhXb3JsZCwgMSkubm9ybWFsaXplKCk7XG5cdFx0Y29uc3Qgbm9ybWFsID0gbmV3IFZlY3RvcjMoKS5zZXRGcm9tTWF0cml4Q29sdW1uKGdyb3VwLm1hdHJpeFdvcmxkLCAyKS5ub3JtYWxpemUoKTtcblx0XHRjb25zdCBwbGFuZSA9IG5ldyBQbGFuZSgpLnNldEZyb21Ob3JtYWxBbmRDb3BsYW5hclBvaW50KG5vcm1hbCwgb3JpZ2luKTtcblx0XHR0aGlzLmNsaWNrSW5mbyA9IHsgY2xpY2tQb2ludCwgb3JpZ2luLCBlMSwgZTIsIG5vcm1hbCwgcGxhbmUgfTtcblx0XHR0aGlzLnBpdm90Q29udHJvbHMub25EcmFnU3RhcnQoeyBjb21wb25lbnQ6ICdSb3RhdG9yJywgYXhpcywgb3JpZ2luLCBkaXJlY3Rpb25zOiBbZTEsIGUyLCBub3JtYWxdIH0pO1xuXG5cdFx0aWYgKGNvbnRyb2xzKSB7XG5cdFx0XHRjb250cm9scy5lbmFibGVkID0gZmFsc2U7XG5cdFx0fVxuXG5cdFx0Ly8gQHRzLWV4cGVjdC1lcnJvciAtIHNldFBvaW50ZXJDYXB0dXJlIGlzIG5vdCBhIGZ1bmN0aW9uIG9uIFBvaW50ZXJFdmVudFxuXHRcdGV2ZW50LnRhcmdldC5zZXRQb2ludGVyQ2FwdHVyZShldmVudC5wb2ludGVySWQpO1xuXHR9XG5cblx0b25Qb2ludGVyTW92ZShldmVudDogTmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+KSB7XG5cdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0aWYgKCF0aGlzLmhvdmVyZWQoKSkgdGhpcy5ob3ZlcmVkLnNldCh0cnVlKTtcblx0XHRpZiAodGhpcy5jbGlja0luZm8pIHtcblx0XHRcdGNvbnN0IHsgY2xpY2tQb2ludCwgb3JpZ2luLCBlMSwgZTIsIG5vcm1hbCwgcGxhbmUgfSA9IHRoaXMuY2xpY2tJbmZvO1xuXHRcdFx0Y29uc3QgW3JvdGF0aW9uTGltaXRzLCBheGlzLCBhbm5vdGF0aW9uXSA9IFtcblx0XHRcdFx0dGhpcy5waXZvdENvbnRyb2xzLnJvdGF0aW9uTGltaXRzKCksXG5cdFx0XHRcdHRoaXMuYXhpcygpLFxuXHRcdFx0XHR0aGlzLmFubm90YXRpb25SZWYoKT8ubmF0aXZlRWxlbWVudCxcblx0XHRcdF07XG5cblx0XHRcdGNvbnN0IFttaW4sIG1heF0gPSByb3RhdGlvbkxpbWl0cz8uW2F4aXNdIHx8IFt1bmRlZmluZWQsIHVuZGVmaW5lZF07XG5cblx0XHRcdHJheS5jb3B5KGV2ZW50LnJheSk7XG5cdFx0XHRyYXkuaW50ZXJzZWN0UGxhbmUocGxhbmUsIGludGVyc2VjdGlvbik7XG5cdFx0XHRyYXkuZGlyZWN0aW9uLm5lZ2F0ZSgpO1xuXHRcdFx0cmF5LmludGVyc2VjdFBsYW5lKHBsYW5lLCBpbnRlcnNlY3Rpb24pO1xuXHRcdFx0bGV0IGRlbHRhQW5nbGUgPSBjYWxjdWxhdGVBbmdsZShjbGlja1BvaW50LCBpbnRlcnNlY3Rpb24sIG9yaWdpbiwgZTEsIGUyKTtcblx0XHRcdGxldCBkZWdyZWVzID0gdG9EZWdyZWVzKGRlbHRhQW5nbGUpO1xuXG5cdFx0XHRpZiAoZXZlbnQuc2hpZnRLZXkpIHtcblx0XHRcdFx0ZGVncmVlcyA9IE1hdGgucm91bmQoZGVncmVlcyAvIDEwKSAqIDEwO1xuXHRcdFx0XHRkZWx0YUFuZ2xlID0gdG9SYWRpYW5zKGRlZ3JlZXMpO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAobWluICE9PSB1bmRlZmluZWQgJiYgbWF4ICE9PSB1bmRlZmluZWQgJiYgbWF4IC0gbWluIDwgMiAqIE1hdGguUEkpIHtcblx0XHRcdFx0ZGVsdGFBbmdsZSA9IG1pbmltaXplQW5nbGUoZGVsdGFBbmdsZSk7XG5cdFx0XHRcdGRlbHRhQW5nbGUgPSBkZWx0YUFuZ2xlID4gTWF0aC5QSSA/IGRlbHRhQW5nbGUgLSAyICogTWF0aC5QSSA6IGRlbHRhQW5nbGU7XG5cdFx0XHRcdGRlbHRhQW5nbGUgPSBNYXRoLnJvdW5kKGRlbHRhQW5nbGUgLyAxMCkgKiAxMDtcblx0XHRcdFx0dGhpcy5hbmdsZSA9IHRoaXMuYW5nbGUwICsgZGVsdGFBbmdsZTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMuYW5nbGUgPSBtaW5pbWl6ZUFuZ2xlKHRoaXMuYW5nbGUwICsgZGVsdGFBbmdsZSk7XG5cdFx0XHRcdHRoaXMuYW5nbGUgPSB0aGlzLmFuZ2xlID4gTWF0aC5QSSA/IHRoaXMuYW5nbGUgLSAyICogTWF0aC5QSSA6IHRoaXMuYW5nbGU7XG5cdFx0XHR9XG5cblx0XHRcdGlmIChhbm5vdGF0aW9uKSB7XG5cdFx0XHRcdGRlZ3JlZXMgPSB0b0RlZ3JlZXModGhpcy5hbmdsZSk7XG5cdFx0XHRcdGFubm90YXRpb24uaW5uZXJUZXh0ID0gYCR7ZGVncmVlcy50b0ZpeGVkKDApfcK6YDtcblx0XHRcdH1cblxuXHRcdFx0cm90TWF0cml4Lm1ha2VSb3RhdGlvbkF4aXMobm9ybWFsLCBkZWx0YUFuZ2xlKTtcblx0XHRcdHBvc05ldy5jb3B5KG9yaWdpbikuYXBwbHlNYXRyaXg0KHJvdE1hdHJpeCkuc3ViKG9yaWdpbikubmVnYXRlKCk7XG5cdFx0XHRyb3RNYXRyaXguc2V0UG9zaXRpb24ocG9zTmV3KTtcblx0XHRcdHRoaXMucGl2b3RDb250cm9scy5vbkRyYWcocm90TWF0cml4KTtcblx0XHR9XG5cdH1cblxuXHRvblBvaW50ZXJVcChldmVudDogTmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+KSB7XG5cdFx0Y29uc3QgW2Fubm90YXRpb24sIGNvbnRyb2xzXSA9IFt0aGlzLmFubm90YXRpb25SZWYoKT8ubmF0aXZlRWxlbWVudCwgdGhpcy5jb250cm9scygpXTtcblx0XHRpZiAoYW5ub3RhdGlvbikge1xuXHRcdFx0YW5ub3RhdGlvbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuXHRcdH1cblx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblx0XHR0aGlzLmNsaWNrSW5mbyA9IG51bGw7XG5cdFx0dGhpcy5waXZvdENvbnRyb2xzLm9uRHJhZ0VuZCgpO1xuXHRcdGlmIChjb250cm9scykge1xuXHRcdFx0Y29udHJvbHMuZW5hYmxlZCA9IHRydWU7XG5cdFx0fVxuXHRcdC8vIEB0cy1leHBlY3QtZXJyb3IgLSByZWxlYXNlUG9pbnRlckNhcHR1cmUgaXMgbm90IGEgZnVuY3Rpb24gb24gUG9pbnRlckV2ZW50XG5cdFx0ZXZlbnQudGFyZ2V0LnJlbGVhc2VQb2ludGVyQ2FwdHVyZShldmVudC5wb2ludGVySWQpO1xuXHR9XG5cblx0b25Qb2ludGVyT3V0KGV2ZW50OiBOZ3RUaHJlZUV2ZW50PFBvaW50ZXJFdmVudD4pIHtcblx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblx0XHR0aGlzLmhvdmVyZWQuc2V0KGZhbHNlKTtcblx0fVxufVxuIl19
|
|
264
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXhpcy1yb3RhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL2dpem1vcy9zcmMvbGliL3Bpdm90LWNvbnRyb2xzL2F4aXMtcm90YXRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1Isc0JBQXNCLEVBQ3RCLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUN4RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFFckQsTUFBTSxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUMvQixNQUFNLGVBQWUsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0FBRXRDLFNBQVMsU0FBUyxDQUFDLE9BQWU7SUFDakMsT0FBTyxDQUFDLE9BQU8sR0FBRyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO0FBQ2xDLENBQUM7QUFFRCxTQUFTLFNBQVMsQ0FBQyxPQUFlO0lBQ2pDLE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQztBQUNsQyxDQUFDO0FBRUQsU0FBUyxjQUFjLENBQUMsVUFBbUIsRUFBRSxpQkFBMEIsRUFBRSxN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LGVBQWU7a0JBbEQzQixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQTBDVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsZUFBZSxDQUFDO2lCQUM5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdGNvbXB1dGVkLFxuXHRDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuXHRFbGVtZW50UmVmLFxuXHRpbmplY3QsXG5cdGlucHV0LFxuXHRTaWduYWwsXG5cdHNpZ25hbCxcblx0dmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGV4dGVuZCwgaW5qZWN0U3RvcmUsIE5ndFRocmVlRXZlbnQgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IE5ndHNMaW5lIH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL2Fic3RyYWN0aW9ucyc7XG5pbXBvcnQgeyBOZ3RzSFRNTCwgTmd0c0hUTUxDb250ZW50IH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL21pc2MnO1xuaW1wb3J0IHsgRG91YmxlU2lkZSwgR3JvdXAsIE1hdHJpeDQsIFBsYW5lLCBSYXksIFZlY3RvcjMgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBOZ3RzUGl2b3RDb250cm9scyB9IGZyb20gJy4vcGl2b3QtY29udHJvbHMnO1xuXG5jb25zdCBjbGlja0RpciA9IG5ldyBWZWN0b3IzKCk7XG5jb25zdCBpbnRlcnNlY3Rpb25EaXIgPSBuZXcgVmVjdG9yMygpO1xuXG5mdW5jdGlvbiB0b0RlZ3JlZXMocmFkaWFuczogbnVtYmVyKSB7XG5cdHJldHVybiAocmFkaWFucyAqIDE4MCkgLyBNYXRoLlBJO1xufVxuXG5mdW5jdGlvbiB0b1JhZGlhbnMoZGVncmVlczogbnVtYmVyKSB7XG5cdHJldHVybiAoZGVncmVlcyAqIE1hdGguUEkpIC8gMTgwO1xufVxuXG5mdW5jdGlvbiBjYWxjdWxhdGVBbmdsZShjbGlja1BvaW50OiBWZWN0b3IzLCBpbnRlcnNlY3Rpb25Qb2ludDogVmVjdG9yMywgb3JpZ2luOiBWZWN0b3IzLCBlMTogVmVjdG9yMywgZTI6IFZlY3RvcjMpIHtcblx0Y2xpY2tEaXIuY29weShjbGlja1BvaW50KS5zdWIob3JpZ2luKTtcblx0aW50ZXJzZWN0aW9uRGlyLmNvcHkoaW50ZXJzZWN0aW9uUG9pbnQpLnN1YihvcmlnaW4pO1xuXHRjb25zdCBkb3RlMWUxID0gZTEuZG90KGUxKTtcblx0Y29uc3QgZG90ZTJlMiA9IGUyLmRvdChlMik7XG5cdGNvbnN0IHVDbGljayA9IGNsaWNrRGlyLmRvdChlMSkgLyBkb3RlMWUxO1xuXHRjb25zdCB2Q2xpY2sgPSBjbGlja0Rpci5kb3QoZTIpIC8gZG90ZTJlMjtcblx0Y29uc3QgdUludGVyc2VjdGlvbiA9IGludGVyc2VjdGlvbkRpci5kb3QoZTEpIC8gZG90ZTFlMTtcblx0Y29uc3QgdkludGVyc2VjdGlvbiA9IGludGVyc2VjdGlvbkRpci5kb3QoZTIpIC8gZG90ZTJlMjtcblx0Y29uc3QgYW5nbGVDbGljayA9IE1hdGguYXRhbjIodkNsaWNrLCB1Q2xpY2spO1xuXHRjb25zdCBhbmdsZUludGVyc2VjdGlvbiA9IE1hdGguYXRhbjIodkludGVyc2VjdGlvbiwgdUludGVyc2VjdGlvbik7XG5cdHJldHVybiBhbmdsZUludGVyc2VjdGlvbiAtIGFuZ2xlQ2xpY2s7XG59XG5cbmZ1bmN0aW9uIGZtb2QobnVtOiBudW1iZXIsIGRlbm9tOiBudW1iZXIpIHtcblx0bGV0IGsgPSBNYXRoLmZsb29yKG51bSAvIGRlbm9tKTtcblx0ayA9IGsgPCAwID8gayArIDEgOiBrO1xuXG5cdHJldHVybiBudW0gLSBrICogZGVub207XG59XG5cbmZ1bmN0aW9uIG1pbmltaXplQW5nbGUoYW5nbGU6IG51bWJlcikge1xuXHRsZXQgcmVzdWx0ID0gZm1vZChhbmdsZSwgMiAqIE1hdGguUEkpO1xuXG5cdGlmIChNYXRoLmFicyhyZXN1bHQpIDwgMWUtNikge1xuXHRcdHJldHVybiAwLjA7XG5cdH1cblxuXHRpZiAocmVzdWx0IDwgMC4wKSB7XG5cdFx0cmVzdWx0ICs9IDIgKiBNYXRoLlBJO1xuXHR9XG5cblx0cmV0dXJuIHJlc3VsdDtcbn1cblxuY29uc3Qgcm90TWF0cml4ID0gbmV3IE1hdHJpeDQoKTtcbmNvbnN0IHBvc05ldyA9IG5ldyBWZWN0b3IzKCk7XG5jb25zdCByYXkgPSBuZXcgUmF5KCk7XG5jb25zdCBpbnRlcnNlY3Rpb24gPSBuZXcgVmVjdG9yMygpO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLWF4aXMtcm90YXRvcicsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1ncm91cFxuXHRcdFx0I2dyb3VwXG5cdFx0XHRbbWF0cml4XT1cIm1hdHJpeEwoKVwiXG5cdFx0XHRbbWF0cml4QXV0b1VwZGF0ZV09XCJmYWxzZVwiXG5cdFx0XHQocG9pbnRlcmRvd24pPVwib25Qb2ludGVyRG93bigkYW55KCRldmVudCkpXCJcblx0XHRcdChwb2ludGVybW92ZSk9XCJvblBvaW50ZXJNb3ZlKCRhbnkoJGV2ZW50KSlcIlxuXHRcdFx0KHBvaW50ZXJ1cCk9XCJvblBvaW50ZXJVcCgkYW55KCRldmVudCkpXCJcblx0XHRcdChwb2ludGVyb3V0KT1cIm9uUG9pbnRlck91dCgkYW55KCRldmVudCkpXCJcblx0XHQ+XG5cdFx0XHRAaWYgKHBpdm90Q29udHJvbHMuYW5ub3RhdGlvbnMoKSkge1xuXHRcdFx0XHQ8bmd0cy1odG1sIFtvcHRpb25zXT1cInsgcG9zaXRpb246IFtyKCksIHIoKSwgMF0gfVwiPlxuXHRcdFx0XHRcdDxkaXZcblx0XHRcdFx0XHRcdCNhbm5vdGF0aW9uXG5cdFx0XHRcdFx0XHRuZ3RzSFRNTENvbnRlbnRcblx0XHRcdFx0XHRcdHN0eWxlPVwiZGlzcGxheTogbm9uZTsgYmFja2dyb3VuZDogIzE1MTUyMDsgY29sb3I6IHdoaXRlOyBwYWRkaW5nOiA2cHggOHB4OyBib3JkZXItcmFkaXVzOiA3cHg7IHdoaXRlLXNwYWNlOiBub3dyYXBcIlxuXHRcdFx0XHRcdFx0W2NsYXNzXT1cInBpdm90Q29udHJvbHMuYW5ub3RhdGlvbnNDbGFzcygpXCJcblx0XHRcdFx0XHQ+PC9kaXY+XG5cdFx0XHRcdDwvbmd0cy1odG1sPlxuXHRcdFx0fVxuXG5cdFx0XHQ8bmd0cy1saW5lXG5cdFx0XHRcdFtwb2ludHNdPVwiYXJjKClcIlxuXHRcdFx0XHRbb3B0aW9uc109XCJ7IGxpbmVXaWR0aDogcGl2b3RDb250cm9scy5saW5lV2lkdGgoKSAqIDQsIHZpc2libGU6IGZhbHNlLCB1c2VyRGF0YTogcGl2b3RDb250cm9scy51c2VyRGF0YSgpIH1cIlxuXHRcdFx0Lz5cblxuXHRcdFx0PG5ndHMtbGluZVxuXHRcdFx0XHRbcG9pbnRzXT1cImFyYygpXCJcblx0XHRcdFx0W29wdGlvbnNdPVwie1xuXHRcdFx0XHRcdHRyYW5zcGFyZW50OiB0cnVlLFxuXHRcdFx0XHRcdHJheWNhc3Q6IG51bGwsXG5cdFx0XHRcdFx0ZGVwdGhUZXN0OiBwaXZvdENvbnRyb2xzLmRlcHRoVGVzdCgpLFxuXHRcdFx0XHRcdGxpbmVXaWR0aDogcGl2b3RDb250cm9scy5saW5lV2lkdGgoKSxcblx0XHRcdFx0XHRzaWRlOiBEb3VibGVTaWRlLFxuXHRcdFx0XHRcdGNvbG9yOiBob3ZlcmVkKCkgPyBwaXZvdENvbnRyb2xzLmhvdmVyZWRDb2xvcigpIDogcGl2b3RDb250cm9scy5heGlzQ29sb3JzKClbYXhpcygpXSxcblx0XHRcdFx0XHRvcGFjaXR5OiBwaXZvdENvbnRyb2xzLm9wYWNpdHkoKSxcblx0XHRcdFx0XHRwb2x5Z29uT2Zmc2V0OiB0cnVlLFxuXHRcdFx0XHRcdHBvbHlnb25PZmZzZXRGYWN0b3I6IC0xMCxcblx0XHRcdFx0XHRmb2c6IGZhbHNlLFxuXHRcdFx0XHR9XCJcblx0XHRcdC8+XG5cdFx0PC9uZ3QtZ3JvdXA+XG5cdGAsXG5cdHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcblx0Y2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG5cdGltcG9ydHM6IFtOZ3RzTGluZSwgTmd0c0hUTUwsIE5ndHNIVE1MQ29udGVudF0sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNBeGlzUm90YXRvciB7XG5cdHByb3RlY3RlZCByZWFkb25seSBEb3VibGVTaWRlID0gRG91YmxlU2lkZTtcblxuXHRkaXIxID0gaW5wdXQucmVxdWlyZWQ8VmVjdG9yMz4oKTtcblx0ZGlyMiA9IGlucHV0LnJlcXVpcmVkPFZlY3RvcjM+KCk7XG5cdGF4aXMgPSBpbnB1dC5yZXF1aXJlZDwwIHwgMSB8IDI+KCk7XG5cblx0Z3JvdXBSZWYgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxHcm91cD4+KCdncm91cCcpO1xuXHRhbm5vdGF0aW9uUmVmID0gdmlld0NoaWxkPHVua25vd24sIEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+PignYW5ub3RhdGlvbicsIHsgcmVhZDogRWxlbWVudFJlZiB9KTtcblxuXHRwaXZvdENvbnRyb2xzID0gaW5qZWN0KE5ndHNQaXZvdENvbnRyb2xzKTtcblx0cHJpdmF0ZSBzdG9yZSA9IGluamVjdFN0b3JlKCk7XG5cdHByaXZhdGUgY29udHJvbHMgPSB0aGlzLnN0b3JlLnNlbGVjdCgnY29udHJvbHMnKSBhcyB1bmtub3duIGFzIFNpZ25hbDx7IGVuYWJsZWQ6IGJvb2xlYW4gfT47XG5cblx0aG92ZXJlZCA9IHNpZ25hbChmYWxzZSk7XG5cdHByaXZhdGUgYW5nbGUgPSAwO1xuXHRwcml2YXRlIGFuZ2xlMCA9IDA7XG5cdHByaXZhdGUgY2xpY2tJbmZvOiB7XG5cdFx0Y2xpY2tQb2ludDogVmVjdG9yMztcblx0XHRvcmlnaW46IFZlY3RvcjM7XG5cdFx0ZTE6IFZlY3RvcjM7XG5cdFx0ZTI6IFZlY3RvcjM7XG5cdFx0bm9ybWFsOiBWZWN0b3IzO1xuXHRcdHBsYW5lOiBQbGFuZTtcblx0fSB8IG51bGwgPSBudWxsO1xuXG5cdG1hdHJpeEwgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3QgZGlyMU4gPSB0aGlzLmRpcjEoKS5jbG9uZSgpLm5vcm1hbGl6ZSgpO1xuXHRcdGNvbnN0IGRpcjJOID0gdGhpcy5kaXIyKCkuY2xvbmUoKS5ub3JtYWxpemUoKTtcblx0XHRyZXR1cm4gbmV3IE1hdHJpeDQoKS5tYWtlQmFzaXMoZGlyMU4sIGRpcjJOLCBkaXIxTi5jbG9uZSgpLmNyb3NzKGRpcjJOKSk7XG5cdH0pO1xuXHRyID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMucGl2b3RDb250cm9scy5maXhlZCgpID8gMC42NSA6IHRoaXMucGl2b3RDb250cm9scy5zY2FsZSgpICogMC42NSkpO1xuXHRhcmMgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3Qgc2VnbWVudHMgPSAzMjtcblx0XHRjb25zdCBwb2ludHM6IFZlY3RvcjNbXSA9IFtdO1xuXHRcdGZvciAobGV0IGogPSAwOyBqIDw9IHNlZ21lbnRzOyBqKyspIHtcblx0XHRcdGNvbnN0IGFuZ2xlID0gKGogKiAoTWF0aC5QSSAvIDIpKSAvIHNlZ21lbnRzO1xuXHRcdFx0cG9pbnRzLnB1c2gobmV3IFZlY3RvcjMoTWF0aC5jb3MoYW5nbGUpICogdGhpcy5yKCksIE1hdGguc2luKGFuZ2xlKSAqIHRoaXMucigpLCAwKSk7XG5cdFx0fVxuXHRcdHJldHVybiBwb2ludHM7XG5cdH0pO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGV4dGVuZCh7IEdyb3VwIH0pO1xuXHR9XG5cblx0b25Qb2ludGVyRG93bihldmVudDogTmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+KSB7XG5cdFx0Y29uc3QgW2Fubm90YXRpb24sIGdyb3VwLCBheGlzLCBjb250cm9sc10gPSBbXG5cdFx0XHR0aGlzLmFubm90YXRpb25SZWYoKT8ubmF0aXZlRWxlbWVudCxcblx0XHRcdHRoaXMuZ3JvdXBSZWYoKS5uYXRpdmVFbGVtZW50LFxuXHRcdFx0dGhpcy5heGlzKCksXG5cdFx0XHR0aGlzLmNvbnRyb2xzKCksXG5cdFx0XTtcblxuXHRcdGlmIChhbm5vdGF0aW9uKSB7XG5cdFx0XHRhbm5vdGF0aW9uLmlubmVyVGV4dCA9IGAke3RvRGVncmVlcyh0aGlzLmFuZ2xlKS50b0ZpeGVkKDApfcK6YDtcblx0XHRcdGFubm90YXRpb24uc3R5bGUuZGlzcGxheSA9ICdibG9jayc7XG5cdFx0fVxuXG5cdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0Y29uc3QgY2xpY2tQb2ludCA9IGV2ZW50LnBvaW50LmNsb25lKCk7XG5cdFx0Y29uc3Qgb3JpZ2luID0gbmV3IFZlY3RvcjMoKS5zZXRGcm9tTWF0cml4UG9zaXRpb24oZ3JvdXAubWF0cml4V29ybGQpO1xuXHRcdGNvbnN0IGUxID0gbmV3IFZlY3RvcjMoKS5zZXRGcm9tTWF0cml4Q29sdW1uKGdyb3VwLm1hdHJpeFdvcmxkLCAwKS5ub3JtYWxpemUoKTtcblx0XHRjb25zdCBlMiA9IG5ldyBWZWN0b3IzKCkuc2V0RnJvbU1hdHJpeENvbHVtbihncm91cC5tYXRyaXhXb3JsZCwgMSkubm9ybWFsaXplKCk7XG5cdFx0Y29uc3Qgbm9ybWFsID0gbmV3IFZlY3RvcjMoKS5zZXRGcm9tTWF0cml4Q29sdW1uKGdyb3VwLm1hdHJpeFdvcmxkLCAyKS5ub3JtYWxpemUoKTtcblx0XHRjb25zdCBwbGFuZSA9IG5ldyBQbGFuZSgpLnNldEZyb21Ob3JtYWxBbmRDb3BsYW5hclBvaW50KG5vcm1hbCwgb3JpZ2luKTtcblx0XHR0aGlzLmNsaWNrSW5mbyA9IHsgY2xpY2tQb2ludCwgb3JpZ2luLCBlMSwgZTIsIG5vcm1hbCwgcGxhbmUgfTtcblx0XHR0aGlzLnBpdm90Q29udHJvbHMub25EcmFnU3RhcnQoeyBjb21wb25lbnQ6ICdSb3RhdG9yJywgYXhpcywgb3JpZ2luLCBkaXJlY3Rpb25zOiBbZTEsIGUyLCBub3JtYWxdIH0pO1xuXG5cdFx0aWYgKGNvbnRyb2xzKSB7XG5cdFx0XHRjb250cm9scy5lbmFibGVkID0gZmFsc2U7XG5cdFx0fVxuXG5cdFx0Ly8gQHRzLWV4cGVjdC1lcnJvciAtIHNldFBvaW50ZXJDYXB0dXJlIGlzIG5vdCBhIGZ1bmN0aW9uIG9uIFBvaW50ZXJFdmVudFxuXHRcdGV2ZW50LnRhcmdldC5zZXRQb2ludGVyQ2FwdHVyZShldmVudC5wb2ludGVySWQpO1xuXHR9XG5cblx0b25Qb2ludGVyTW92ZShldmVudDogTmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+KSB7XG5cdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0aWYgKCF0aGlzLmhvdmVyZWQoKSkgdGhpcy5ob3ZlcmVkLnNldCh0cnVlKTtcblx0XHRpZiAodGhpcy5jbGlja0luZm8pIHtcblx0XHRcdGNvbnN0IHsgY2xpY2tQb2ludCwgb3JpZ2luLCBlMSwgZTIsIG5vcm1hbCwgcGxhbmUgfSA9IHRoaXMuY2xpY2tJbmZvO1xuXHRcdFx0Y29uc3QgW3JvdGF0aW9uTGltaXRzLCBheGlzLCBhbm5vdGF0aW9uXSA9IFtcblx0XHRcdFx0dGhpcy5waXZvdENvbnRyb2xzLnJvdGF0aW9uTGltaXRzKCksXG5cdFx0XHRcdHRoaXMuYXhpcygpLFxuXHRcdFx0XHR0aGlzLmFubm90YXRpb25SZWYoKT8ubmF0aXZlRWxlbWVudCxcblx0XHRcdF07XG5cblx0XHRcdGNvbnN0IFttaW4sIG1heF0gPSByb3RhdGlvbkxpbWl0cz8uW2F4aXNdIHx8IFt1bmRlZmluZWQsIHVuZGVmaW5lZF07XG5cblx0XHRcdHJheS5jb3B5KGV2ZW50LnJheSk7XG5cdFx0XHRyYXkuaW50ZXJzZWN0UGxhbmUocGxhbmUsIGludGVyc2VjdGlvbik7XG5cdFx0XHRyYXkuZGlyZWN0aW9uLm5lZ2F0ZSgpO1xuXHRcdFx0cmF5LmludGVyc2VjdFBsYW5lKHBsYW5lLCBpbnRlcnNlY3Rpb24pO1xuXHRcdFx0bGV0IGRlbHRhQW5nbGUgPSBjYWxjdWxhdGVBbmdsZShjbGlja1BvaW50LCBpbnRlcnNlY3Rpb24sIG9yaWdpbiwgZTEsIGUyKTtcblx0XHRcdGxldCBkZWdyZWVzID0gdG9EZWdyZWVzKGRlbHRhQW5nbGUpO1xuXG5cdFx0XHRpZiAoZXZlbnQuc2hpZnRLZXkpIHtcblx0XHRcdFx0ZGVncmVlcyA9IE1hdGgucm91bmQoZGVncmVlcyAvIDEwKSAqIDEwO1xuXHRcdFx0XHRkZWx0YUFuZ2xlID0gdG9SYWRpYW5zKGRlZ3JlZXMpO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAobWluICE9PSB1bmRlZmluZWQgJiYgbWF4ICE9PSB1bmRlZmluZWQgJiYgbWF4IC0gbWluIDwgMiAqIE1hdGguUEkpIHtcblx0XHRcdFx0ZGVsdGFBbmdsZSA9IG1pbmltaXplQW5nbGUoZGVsdGFBbmdsZSk7XG5cdFx0XHRcdGRlbHRhQW5nbGUgPSBkZWx0YUFuZ2xlID4gTWF0aC5QSSA/IGRlbHRhQW5nbGUgLSAyICogTWF0aC5QSSA6IGRlbHRhQW5nbGU7XG5cdFx0XHRcdGRlbHRhQW5nbGUgPSBNYXRoLnJvdW5kKGRlbHRhQW5nbGUgLyAxMCkgKiAxMDtcblx0XHRcdFx0dGhpcy5hbmdsZSA9IHRoaXMuYW5nbGUwICsgZGVsdGFBbmdsZTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMuYW5nbGUgPSBtaW5pbWl6ZUFuZ2xlKHRoaXMuYW5nbGUwICsgZGVsdGFBbmdsZSk7XG5cdFx0XHRcdHRoaXMuYW5nbGUgPSB0aGlzLmFuZ2xlID4gTWF0aC5QSSA/IHRoaXMuYW5nbGUgLSAyICogTWF0aC5QSSA6IHRoaXMuYW5nbGU7XG5cdFx0XHR9XG5cblx0XHRcdGlmIChhbm5vdGF0aW9uKSB7XG5cdFx0XHRcdGRlZ3JlZXMgPSB0b0RlZ3JlZXModGhpcy5hbmdsZSk7XG5cdFx0XHRcdGFubm90YXRpb24uaW5uZXJUZXh0ID0gYCR7ZGVncmVlcy50b0ZpeGVkKDApfcK6YDtcblx0XHRcdH1cblxuXHRcdFx0cm90TWF0cml4Lm1ha2VSb3RhdGlvbkF4aXMobm9ybWFsLCBkZWx0YUFuZ2xlKTtcblx0XHRcdHBvc05ldy5jb3B5KG9yaWdpbikuYXBwbHlNYXRyaXg0KHJvdE1hdHJpeCkuc3ViKG9yaWdpbikubmVnYXRlKCk7XG5cdFx0XHRyb3RNYXRyaXguc2V0UG9zaXRpb24ocG9zTmV3KTtcblx0XHRcdHRoaXMucGl2b3RDb250cm9scy5vbkRyYWcocm90TWF0cml4KTtcblx0XHR9XG5cdH1cblxuXHRvblBvaW50ZXJVcChldmVudDogTmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+KSB7XG5cdFx0Y29uc3QgW2Fubm90YXRpb24sIGNvbnRyb2xzXSA9IFt0aGlzLmFubm90YXRpb25SZWYoKT8ubmF0aXZlRWxlbWVudCwgdGhpcy5jb250cm9scygpXTtcblx0XHRpZiAoYW5ub3RhdGlvbikge1xuXHRcdFx0YW5ub3RhdGlvbi5zdHlsZS5kaXNwbGF5ID0gJ25vbmUnO1xuXHRcdH1cblx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblx0XHR0aGlzLmNsaWNrSW5mbyA9IG51bGw7XG5cdFx0dGhpcy5waXZvdENvbnRyb2xzLm9uRHJhZ0VuZCgpO1xuXHRcdGlmIChjb250cm9scykge1xuXHRcdFx0Y29udHJvbHMuZW5hYmxlZCA9IHRydWU7XG5cdFx0fVxuXHRcdC8vIEB0cy1leHBlY3QtZXJyb3IgLSByZWxlYXNlUG9pbnRlckNhcHR1cmUgaXMgbm90IGEgZnVuY3Rpb24gb24gUG9pbnRlckV2ZW50XG5cdFx0ZXZlbnQudGFyZ2V0LnJlbGVhc2VQb2ludGVyQ2FwdHVyZShldmVudC5wb2ludGVySWQpO1xuXHR9XG5cblx0b25Qb2ludGVyT3V0KGV2ZW50OiBOZ3RUaHJlZUV2ZW50PFBvaW50ZXJFdmVudD4pIHtcblx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblx0XHR0aGlzLmhvdmVyZWQuc2V0KGZhbHNlKTtcblx0fVxufVxuIl19
|
|
@@ -218,8 +218,8 @@ export class NgtsPivotControls {
|
|
|
218
218
|
this.dragEnded.emit();
|
|
219
219
|
this.store.snapshot.invalidate();
|
|
220
220
|
}
|
|
221
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
222
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
221
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsPivotControls, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
222
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: NgtsPivotControls, isStandalone: true, selector: "ngts-pivot-controls", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dragStarted: "dragStarted", dragEnded: "dragEnded", dragged: "dragged" }, viewQueries: [{ propertyName: "parentRef", first: true, predicate: ["parent"], descendants: true, isSignal: true }, { propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, isSignal: true }, { propertyName: "gizmoRef", first: true, predicate: ["gizmo"], descendants: true, isSignal: true }, { propertyName: "childrenRef", first: true, predicate: ["children"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
223
223
|
<ngt-group #parent>
|
|
224
224
|
<ngt-group #group [matrix]="matrix()" [matrixAutoUpdate]="false" [parameters]="parameters()">
|
|
225
225
|
<ngt-group #gizmo [visible]="visible()" [position]="offset()" [rotation]="rotation()">
|
|
@@ -272,7 +272,7 @@ export class NgtsPivotControls {
|
|
|
272
272
|
</ngt-group>
|
|
273
273
|
`, isInline: true, dependencies: [{ kind: "component", type: NgtsAxisArrow, selector: "ngts-axis-arrow", inputs: ["direction", "axis"] }, { kind: "component", type: NgtsPlaneSlider, selector: "ngts-plane-slider", inputs: ["dir1", "dir2", "axis"] }, { kind: "component", type: NgtsAxisRotator, selector: "ngts-axis-rotator", inputs: ["dir1", "dir2", "axis"] }, { kind: "component", type: NgtsScalingSphere, selector: "ngts-scaling-sphere", inputs: ["direction", "axis"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
274
274
|
}
|
|
275
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
275
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsPivotControls, decorators: [{
|
|
276
276
|
type: Component,
|
|
277
277
|
args: [{
|
|
278
278
|
selector: 'ngts-pivot-controls',
|
|
@@ -334,4 +334,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
334
334
|
imports: [NgtsAxisArrow, NgtsPlaneSlider, NgtsAxisRotator, NgtsScalingSphere],
|
|
335
335
|
}]
|
|
336
336
|
}], ctorParameters: () => [] });
|
|
337
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGl2b3QtY29udHJvbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvZ2l6bW9zL3NyYy9saWIvcGl2b3QtY29udHJvbHMvcGl2b3QtY29udHJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHVCQUF1QixFQUN2QixTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLE1BQU0sRUFFTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQWdCLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBUSxPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQWdCckQsTUFBTSxHQUFHLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUMxQixNQUFNLEdBQUcsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0FBQzFCLE1BQU0sRUFBRSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7QUFDekIsTUFBTSxLQUFLLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUM1QixNQUFNLEVBQUUsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0FBQ3pCLE1BQU0sRUFBRSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7QUFDekIsTUFBTSxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUM3QixNQUFNLEdBQUcsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0FBQzFCLE1BQU0sRUFBRSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7QUFFekIsTUFBTSxFQUFFLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztBQUN0QixNQUFNLEtBQUssR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO0FBQ3pCLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7QUFDOUIsTUFBTSxLQUFLLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUM1QixNQUFNLGFBQWEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0FBQ3BDLE1BQU0sU0FBUyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7QUFDaEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUU3QixNQUFNLElBQUksR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ2xDLE1BQU0sSUFBSSxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDbEMsTUFBTSxJQUFJLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztBQW1EbEMsTUFBTSxjQUFjLEdBQTZCO0lBQ2hELE9BQU8sRUFBRSxJQUFJO0lBQ2IsYUFBYSxFQUFFLElBQUk7SUFDbkIsV0FBVyxFQUFFLEtBQUs7SUFDbEIsY0FBYyxFQUFFLEtBQUs7SUFDckIsZ0JBQWdCLEVBQUUsS0FBSztJQUN2QixjQUFjLEVBQUUsS0FBSztJQUNyQixVQUFVLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQztJQUM5QixNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNqQixRQUFRLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNuQixLQUFLLEVBQUUsQ0FBQztJQUNSLFNBQVMsRUFBRSxDQUFDO0lBQ1osS0FBSyxFQUFFLEtBQUs7SUFDWixTQUFTLEVBQUUsSUFBSTtJQUNmLFVBQVUsRUFBRSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDO0lBQzdDLFlBQVksRUFBRSxTQUFTO0lBQ3ZCLFdBQVcsRUFBRSxLQUFLO0lBQ2xCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsT0FBTyxFQUFFLElBQUk7Q0FDYixDQUFDO0FBNkRGLGdFQUFnRTtBQUNoRSxNQUFNLE9BQU8saUJBQWlCO0lBNkU3QjtRQTVFQSxZQUFPLEdBQUcsS0FBSyxDQUFDLGNBQWMsRUFBRSxFQUFFLFNBQVMsRUFBRSxXQUFXLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVFLGVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUMvQixTQUFTO1lBQ1QsUUFBUTtZQUNSLGVBQWU7WUFDZixRQUFRO1lBQ1IsYUFBYTtZQUNiLGdCQUFnQjtZQUNoQixrQkFBa0I7WUFDbEIsZ0JBQWdCO1lBQ2hCLFlBQVk7WUFDWixRQUFRO1lBQ1IsVUFBVTtZQUNWLE9BQU87WUFDUCxXQUFXO1lBQ1gsT0FBTztZQUNQLG1CQUFtQjtZQUNuQixnQkFBZ0I7WUFDaEIsYUFBYTtZQUNiLFdBQVc7WUFDWCxZQUFZO1lBQ1osY0FBYztZQUNkLGFBQWE7WUFDYixrQkFBa0I7WUFDbEIsU0FBUztZQUNULFNBQVM7WUFDVCxVQUFVO1NBQ1YsQ0FBQyxDQUFDO1FBRUgsZ0JBQVcsR0FBRyxNQUFNLEVBQXlCLENBQUM7UUFDOUMsY0FBUyxHQUFHLE1BQU0sRUFBUSxDQUFDO1FBQzNCLFlBQU8sR0FBRyxNQUFNLEVBQW9CLENBQUM7UUFFckMsV0FBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3RDLGdCQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDaEQscUJBQWdCLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztRQUMxRCxzQkFBaUIsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxtQkFBbUIsQ0FBQyxDQUFDO1FBQzVELG1CQUFjLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQztRQUN0RCxnQkFBVyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ2hELGtCQUFhLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDcEQsVUFBSyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3BDLGlCQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFDbEQsZUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBQzlDLGNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztRQUM1QyxVQUFLLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDcEMsYUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQzFDLFlBQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQztRQUN4QyxjQUFTLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLENBQUM7UUFDNUMsV0FBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3RDLGFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztRQUMxQyxZQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUM7UUFDeEMsWUFBTyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBQ3hDLGdCQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDaEQsbUJBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3RELHFCQUFnQixHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFDMUQsbUJBQWMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3RELGVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztRQUU5QyxTQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ1osU0FBSSxHQUFHLElBQUksQ0FBQztRQUNaLFNBQUksR0FBRyxJQUFJLENBQUM7UUFFWixjQUFTLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBb0IsUUFBUSxDQUFDLENBQUM7UUFDNUQsYUFBUSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQW9CLE9BQU8sQ0FBQyxDQUFDO1FBQzFELGFBQVEsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFvQixPQUFPLENBQUMsQ0FBQztRQUMxRCxnQkFBVyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQW9CLFVBQVUsQ0FBQyxDQUFDO1FBRXhELFVBQUssR0FBRyxXQUFXLEVBQUUsQ0FBQztRQUN0QixlQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFckQsZ0JBQVcsR0FBNkIsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTFDLFdBQU0sR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUN0QyxnQkFBVyxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkMsZUFBVSxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFHekMsTUFBTSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUVsQixNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1gsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxNQUFNO2dCQUFFLE9BQU87WUFFcEIsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsYUFBYSxDQUFDO1lBQzNELE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ3BELElBQUksQ0FBQyxVQUFVO2dCQUFFLE9BQU87WUFFeEIsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsVUFBVSxDQUFDLEdBQUc7Z0JBQ25DLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxhQUFhO2dCQUM3QixJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNiLElBQUksQ0FBQyxVQUFVLEVBQUU7Z0JBQ2pCLElBQUksQ0FBQyxPQUFPLEVBQUU7Z0JBQ2QsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLEVBQUUsVUFBVSxDQUFDLFVBQVUsRUFBRSxDQUFDO2FBQy9DLENBQUM7WUFDRixpQkFBaUIsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFaEQsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNuRCxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUM7WUFFZixpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDbEMsSUFBSSxDQUFFLEdBQVksQ0FBQyxRQUFRO29CQUFFLE9BQU87Z0JBQ3BDLElBQUksQ0FBRSxHQUFZLENBQUMsUUFBUSxDQUFDLFdBQVc7b0JBQUcsR0FBWSxDQUFDLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO2dCQUNyRixFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzVDLE1BQU0sV0FBVyxHQUFJLEdBQVksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDO2dCQUN2RCxJQUFJLFdBQVcsRUFBRSxDQUFDO29CQUNqQixLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO29CQUN4QixLQUFLLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO29CQUN2QixFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUNqQixDQUFDO1lBQ0YsQ0FBQyxDQUFDLENBQUM7WUFFSCxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyRCxLQUFLLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNuRCxhQUFhO2lCQUNYLElBQUksQ0FBQyxLQUFLLENBQUM7aUJBQ1gsUUFBUSxDQUFDLElBQUksT0FBTyxDQUFDLEdBQUcsTUFBTSxDQUFDLENBQUM7aUJBQ2hDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNmLFNBQVMsQ0FBQyxHQUFHLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDNUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDL0IsVUFBVSxFQUFFLENBQUM7UUFDZCxDQUFDLENBQUMsQ0FBQztRQUVILE1BQU0sR0FBRyxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDMUIsa0JBQWtCLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRTtZQUNuRCxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsR0FBRztnQkFDaEQsSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDZCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsYUFBYTtnQkFDN0IsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLGFBQWE7YUFDN0IsQ0FBQztZQUVGLElBQUksS0FBSyxFQUFFLENBQUM7Z0JBQ1gsTUFBTSxFQUFFLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ2xGLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2hDLENBQUM7WUFFRCxJQUFJLE1BQU0sSUFBSSxNQUFNLFlBQVksT0FBTyxFQUFFLENBQUM7Z0JBQ3pDLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1lBQ3ZCLENBQUM7WUFFRCx1REFBdUQ7WUFDdkQsb0ZBQW9GO1lBQ3BGLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFFcEMsRUFBRSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7WUFDcEcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUV2QyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRXRELElBQ0MsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSTtnQkFDekMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSTtnQkFDekMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxFQUN4QyxDQUFDO2dCQUNGLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUN6QixVQUFVLEVBQUUsQ0FBQztZQUNkLENBQUM7UUFDRixDQUFDLENBQUMsQ0FBQztJQUNKLENBQUM7SUFFRCxXQUFXLENBQUMsVUFBaUM7UUFDNUMsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLGFBQWEsQ0FBQztRQUM1QyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUN2QixHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQVk7UUFDbEIsTUFBTSxDQUFDLE1BQU0sRUFBRSxLQUFLLEVBQUUsYUFBYSxDQUFDLEdBQUc7WUFDdEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLGFBQWE7WUFDOUIsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLGFBQWE7WUFDN0IsSUFBSSxDQUFDLGFBQWEsRUFBRTtTQUNwQixDQUFDO1FBRUYsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDNUIsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUN4QiwyQkFBMkI7UUFDM0IsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUMxQixHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUU5QixJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ25CLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxTQUFTO1FBQ1IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNsQyxDQUFDOzhHQWxNVyxpQkFBaUI7a0dBQWpCLGlCQUFpQixxdEJBekRuQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbURULDREQUdTLGFBQWEsMkZBQUUsZUFBZSxnR0FBRSxlQUFlLGdHQUFFLGlCQUFpQjs7MkZBR2hFLGlCQUFpQjtrQkE1RDdCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbURUO29CQUNELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLENBQUM7aUJBQzdFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0Q1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcblx0ZWZmZWN0LFxuXHRFbGVtZW50UmVmLFxuXHRpbnB1dCxcblx0b3V0cHV0LFxuXHR2aWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZXh0ZW5kLCBnZXRMb2NhbFN0YXRlLCBpbmplY3RCZWZvcmVSZW5kZXIsIGluamVjdFN0b3JlLCBOZ3RBbnlSZWNvcmQsIG9taXQsIHBpY2sgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IGNhbGN1bGF0ZVNjYWxlRmFjdG9yIH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL21pc2MnO1xuaW1wb3J0IHsgbWVyZ2VJbnB1dHMgfSBmcm9tICduZ3h0ZW5zaW9uL2luamVjdC1pbnB1dHMnO1xuaW1wb3J0IHsgQm94MywgR3JvdXAsIE1hdHJpeDQsIE1lc2gsIFZlY3RvcjMgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBOZ3RzQXhpc0Fycm93IH0gZnJvbSAnLi9heGlzLWFycm93JztcbmltcG9ydCB7IE5ndHNBeGlzUm90YXRvciB9IGZyb20gJy4vYXhpcy1yb3RhdG9yJztcbmltcG9ydCB7IE5ndHNQbGFuZVNsaWRlciB9IGZyb20gJy4vcGxhbmUtc2xpZGVyJztcbmltcG9ydCB7IE5ndHNTY2FsaW5nU3BoZXJlIH0gZnJvbSAnLi9zY2FsaW5nLXNwaGVyZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25EcmFnU3RhcnRQYXJhbWV0ZXJzIHtcblx0Y29tcG9uZW50OiAnQXJyb3cnIHwgJ1NsaWRlcicgfCAnUm90YXRvcicgfCAnU3BoZXJlJztcblx0YXhpczogMCB8IDEgfCAyO1xuXHRvcmlnaW46IFZlY3RvcjM7XG5cdGRpcmVjdGlvbnM6IFZlY3RvcjNbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPbkRyYWdQYXJhbWV0ZXJzIHtcblx0bDogTWF0cml4NDtcblx0ZGVsdGFMOiBNYXRyaXg0O1xuXHR3OiBNYXRyaXg0O1xuXHRkZWx0YVc6IE1hdHJpeDQ7XG59XG5cbmNvbnN0IG1MMCA9IG5ldyBNYXRyaXg0KCk7XG5jb25zdCBtVzAgPSBuZXcgTWF0cml4NCgpO1xuY29uc3QgbVAgPSBuZXcgTWF0cml4NCgpO1xuY29uc3QgbVBJbnYgPSBuZXcgTWF0cml4NCgpO1xuY29uc3QgbVcgPSBuZXcgTWF0cml4NCgpO1xuY29uc3QgbUwgPSBuZXcgTWF0cml4NCgpO1xuY29uc3QgbUwwSW52ID0gbmV3IE1hdHJpeDQoKTtcbmNvbnN0IG1kTCA9IG5ldyBNYXRyaXg0KCk7XG5jb25zdCBtRyA9IG5ldyBNYXRyaXg0KCk7XG5cbmNvbnN0IGJiID0gbmV3IEJveDMoKTtcbmNvbnN0IGJiT2JqID0gbmV3IEJveDMoKTtcbmNvbnN0IHZDZW50ZXIgPSBuZXcgVmVjdG9yMygpO1xuY29uc3QgdlNpemUgPSBuZXcgVmVjdG9yMygpO1xuY29uc3QgdkFuY2hvck9mZnNldCA9IG5ldyBWZWN0b3IzKCk7XG5jb25zdCB2UG9zaXRpb24gPSBuZXcgVmVjdG9yMygpO1xuY29uc3QgdlNjYWxlID0gbmV3IFZlY3RvcjMoKTtcblxuY29uc3QgeERpciA9IG5ldyBWZWN0b3IzKDEsIDAsIDApO1xuY29uc3QgeURpciA9IG5ldyBWZWN0b3IzKDAsIDEsIDApO1xuY29uc3QgekRpciA9IG5ldyBWZWN0b3IzKDAsIDAsIDEpO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5ndHNQaXZvdENvbnRyb2xzT3B0aW9ucyB7XG5cdC8qKiBFbmFibGVzL2Rpc2FibGVzIHRoZSBjb250cm9sLCB0cnVlICovXG5cdGVuYWJsZWQ6IGJvb2xlYW47XG5cdC8qKiBTY2FsZSBvZiB0aGUgZ2l6bW8sIDEgKi9cblx0c2NhbGU6IG51bWJlcjtcblx0LyoqIFdpZHRoIG9mIHRoZSBnaXptbyBsaW5lcywgdGhpcyBpcyBhIFRIUkVFLkxpbmUyIHByb3AsIDIuNSAqL1xuXHRsaW5lV2lkdGg6IG51bWJlcjtcblx0LyoqIElmIGZpeGVkIGlzIHRydWUgaXMgcmVtYWlucyBjb25zdGFudCBpbiBzaXplLCBzY2FsZSBpcyBub3cgaW4gcGl4ZWxzLCBmYWxzZSAqL1xuXHRmaXhlZDogYm9vbGVhbjtcblx0LyoqIFBpdm90IGRvZXMgbm90IGFjdCBhcyBhIGdyb3VwLCBpdCB3b24ndCBzaGlmdCBjb250ZW50cyBidXQgY2FuIG9mZnNldCBpbiBwb3NpdGlvbiAqL1xuXHRvZmZzZXQ6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcblx0LyoqIFN0YXJ0aW5nIHJvdGF0aW9uICovXG5cdHJvdGF0aW9uOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG5cblx0LyoqIFN0YXJ0aW5nIG1hdHJpeCAqL1xuXHRtYXRyaXg/OiBNYXRyaXg0O1xuXHQvKiogQkJBbmNob3IsIGVhY2ggYXhpcyBjYW4gYmUgYmV0d2VlbiAtMS8wLysxICovXG5cdGFuY2hvcj86IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcblx0LyoqIElmIGF1dG9UcmFuc2Zvcm0gaXMgdHJ1ZSwgYXV0b21hdGljYWxseSBhcHBseSB0aGUgbG9jYWwgdHJhbnNmb3JtIG9uIGRyYWcsIHRydWUgKi9cblx0YXV0b1RyYW5zZm9ybTogYm9vbGVhbjtcblx0LyoqIEFsbG93cyB5b3UgdG8gc3dpdGNoIGluZGl2aWR1YWwgYXhlcyBvZmYgKi9cblx0YWN0aXZlQXhlczogW2Jvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW5dO1xuXG5cdC8qKiBBbGxvd3MgeW91IHRvIHN3aXRjaCBpbmRpdmlkdWFsIHRyYW5zZm9ybWF0aW9ucyBvZmYgKi9cblx0ZGlzYWJsZUF4ZXM6IGJvb2xlYW47XG5cdGRpc2FibGVTbGlkZXJzOiBib29sZWFuO1xuXHRkaXNhYmxlUm90YXRpb25zOiBib29sZWFuO1xuXHRkaXNhYmxlU2NhbGluZzogYm9vbGVhbjtcblxuXHQvKiogTGltaXRzICovXG5cdHRyYW5zbGF0aW9uTGltaXRzPzogW1tudW1iZXIsIG51bWJlcl0gfCB1bmRlZmluZWQsIFtudW1iZXIsIG51bWJlcl0gfCB1bmRlZmluZWQsIFtudW1iZXIsIG51bWJlcl0gfCB1bmRlZmluZWRdO1xuXHRyb3RhdGlvbkxpbWl0cz86IFtbbnVtYmVyLCBudW1iZXJdIHwgdW5kZWZpbmVkLCBbbnVtYmVyLCBudW1iZXJdIHwgdW5kZWZpbmVkLCBbbnVtYmVyLCBudW1iZXJdIHwgdW5kZWZpbmVkXTtcblx0c2NhbGVMaW1pdHM/OiBbW251bWJlciwgbnVtYmVyXSB8IHVuZGVmaW5lZCwgW251bWJlciwgbnVtYmVyXSB8IHVuZGVmaW5lZCwgW251bWJlciwgbnVtYmVyXSB8IHVuZGVmaW5lZF07XG5cblx0LyoqIFJHQiBjb2xvcnMgKi9cblx0YXhpc0NvbG9yczogW3N0cmluZyB8IG51bWJlciwgc3RyaW5nIHwgbnVtYmVyLCBzdHJpbmcgfCBudW1iZXJdO1xuXHQvKiogQ29sb3Igb2YgdGhlIGhvdmVyZWQgaXRlbSAqL1xuXHRob3ZlcmVkQ29sb3I6IHN0cmluZyB8IG51bWJlcjtcblx0LyoqIEhUTUwgdmFsdWUgYW5ub3RhdGlvbnMsIGRlZmF1bHQ6IGZhbHNlICovXG5cdGFubm90YXRpb25zOiBib29sZWFuO1xuXHQvKiogQ1NTIENsYXNzbmFtZSBhcHBsaWVkIHRvIHRoZSBIVE1MIGFubm90YXRpb25zICovXG5cdGFubm90YXRpb25zQ2xhc3M/OiBzdHJpbmc7XG5cdC8qKiBTZXQgdGhpcyB0byBmYWxzZSBpZiB5b3Ugd2FudCB0aGUgZ2l6bW8gdG8gYmUgdmlzaWJsZSB0aHJvdWdoIGZhY2VzICovXG5cdGRlcHRoVGVzdDogYm9vbGVhbjtcblx0b3BhY2l0eT86IG51bWJlcjtcblx0dmlzaWJsZTogYm9vbGVhbjtcblx0dXNlckRhdGE/OiBOZ3RBbnlSZWNvcmQ7XG59XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zOiBOZ3RzUGl2b3RDb250cm9sc09wdGlvbnMgPSB7XG5cdGVuYWJsZWQ6IHRydWUsXG5cdGF1dG9UcmFuc2Zvcm06IHRydWUsXG5cdGRpc2FibGVBeGVzOiBmYWxzZSxcblx0ZGlzYWJsZVNsaWRlcnM6IGZhbHNlLFxuXHRkaXNhYmxlUm90YXRpb25zOiBmYWxzZSxcblx0ZGlzYWJsZVNjYWxpbmc6IGZhbHNlLFxuXHRhY3RpdmVBeGVzOiBbdHJ1ZSwgdHJ1ZSwgdHJ1ZV0sXG5cdG9mZnNldDogWzAsIDAsIDBdLFxuXHRyb3RhdGlvbjogWzAsIDAsIDBdLFxuXHRzY2FsZTogMSxcblx0bGluZVdpZHRoOiA0LFxuXHRmaXhlZDogZmFsc2UsXG5cdGRlcHRoVGVzdDogdHJ1ZSxcblx0YXhpc0NvbG9yczogWycjZmYyMDYwJywgJyMyMGRmODAnLCAnIzIwODBmZiddLFxuXHRob3ZlcmVkQ29sb3I6ICcjZmZmZjQwJyxcblx0YW5ub3RhdGlvbnM6IGZhbHNlLFxuXHRvcGFjaXR5OiAxLFxuXHR2aXNpYmxlOiB0cnVlLFxufTtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cy1waXZvdC1jb250cm9scycsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1ncm91cCAjcGFyZW50PlxuXHRcdFx0PG5ndC1ncm91cCAjZ3JvdXAgW21hdHJpeF09XCJtYXRyaXgoKVwiIFttYXRyaXhBdXRvVXBkYXRlXT1cImZhbHNlXCIgW3BhcmFtZXRlcnNdPVwicGFyYW1ldGVycygpXCI+XG5cdFx0XHRcdDxuZ3QtZ3JvdXAgI2dpem1vIFt2aXNpYmxlXT1cInZpc2libGUoKVwiIFtwb3NpdGlvbl09XCJvZmZzZXQoKVwiIFtyb3RhdGlvbl09XCJyb3RhdGlvbigpXCI+XG5cdFx0XHRcdFx0QGlmIChlbmFibGVkKCkpIHtcblx0XHRcdFx0XHRcdEBpZiAoIWRpc2FibGVBeGVzKCkgJiYgYWN0aXZlQXhlcygpWzBdKSB7XG5cdFx0XHRcdFx0XHRcdDxuZ3RzLWF4aXMtYXJyb3cgW2F4aXNdPVwiMFwiIFtkaXJlY3Rpb25dPVwieERpclwiIC8+XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRAaWYgKCFkaXNhYmxlQXhlcygpICYmIGFjdGl2ZUF4ZXMoKVsxXSkge1xuXHRcdFx0XHRcdFx0XHQ8bmd0cy1heGlzLWFycm93IFtheGlzXT1cIjFcIiBbZGlyZWN0aW9uXT1cInlEaXJcIiAvPlxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0QGlmICghZGlzYWJsZUF4ZXMoKSAmJiBhY3RpdmVBeGVzKClbMl0pIHtcblx0XHRcdFx0XHRcdFx0PG5ndHMtYXhpcy1hcnJvdyBbYXhpc109XCIyXCIgW2RpcmVjdGlvbl09XCJ6RGlyXCIgLz5cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0QGlmICghZGlzYWJsZVNsaWRlcnMoKSAmJiBhY3RpdmVBeGVzKClbMF0gJiYgYWN0aXZlQXhlcygpWzFdKSB7XG5cdFx0XHRcdFx0XHRcdDxuZ3RzLXBsYW5lLXNsaWRlciBbYXhpc109XCIyXCIgW2RpcjFdPVwieERpclwiIFtkaXIyXT1cInlEaXJcIiAvPlxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0QGlmICghZGlzYWJsZVNsaWRlcnMoKSAmJiBhY3RpdmVBeGVzKClbMF0gJiYgYWN0aXZlQXhlcygpWzJdKSB7XG5cdFx0XHRcdFx0XHRcdDxuZ3RzLXBsYW5lLXNsaWRlciBbYXhpc109XCIxXCIgW2RpcjFdPVwiekRpclwiIFtkaXIyXT1cInhEaXJcIiAvPlxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0QGlmICghZGlzYWJsZVNsaWRlcnMoKSAmJiBhY3RpdmVBeGVzKClbMl0gJiYgYWN0aXZlQXhlcygpWzFdKSB7XG5cdFx0XHRcdFx0XHRcdDxuZ3RzLXBsYW5lLXNsaWRlciBbYXhpc109XCIwXCIgW2RpcjFdPVwieURpclwiIFtkaXIyXT1cInpEaXJcIiAvPlxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRAaWYgKCFkaXNhYmxlUm90YXRpb25zKCkgJiYgYWN0aXZlQXhlcygpWzBdICYmIGFjdGl2ZUF4ZXMoKVsxXSkge1xuXHRcdFx0XHRcdFx0XHQ8bmd0cy1heGlzLXJvdGF0b3IgW2F4aXNdPVwiMlwiIFtkaXIxXT1cInhEaXJcIiBbZGlyMl09XCJ5RGlyXCIgLz5cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdEBpZiAoIWRpc2FibGVSb3RhdGlvbnMoKSAmJiBhY3RpdmVBeGVzKClbMF0gJiYgYWN0aXZlQXhlcygpWzJdKSB7XG5cdFx0XHRcdFx0XHRcdDxuZ3RzLWF4aXMtcm90YXRvciBbYXhpc109XCIxXCIgW2RpcjFdPVwiekRpclwiIFtkaXIyXT1cInhEaXJcIiAvPlxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0QGlmICghZGlzYWJsZVJvdGF0aW9ucygpICYmIGFjdGl2ZUF4ZXMoKVsyXSAmJiBhY3RpdmVBeGVzKClbMV0pIHtcblx0XHRcdFx0XHRcdFx0PG5ndHMtYXhpcy1yb3RhdG9yIFtheGlzXT1cIjBcIiBbZGlyMV09XCJ5RGlyXCIgW2RpcjJdPVwiekRpclwiIC8+XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdEBpZiAoIWRpc2FibGVTY2FsaW5nKCkgJiYgYWN0aXZlQXhlcygpWzBdKSB7XG5cdFx0XHRcdFx0XHRcdDxuZ3RzLXNjYWxpbmctc3BoZXJlIFtheGlzXT1cIjBcIiBbZGlyZWN0aW9uXT1cInhEaXJcIiAvPlxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0QGlmICghZGlzYWJsZVNjYWxpbmcoKSAmJiBhY3RpdmVBeGVzKClbMV0pIHtcblx0XHRcdFx0XHRcdFx0PG5ndHMtc2NhbGluZy1zcGhlcmUgW2F4aXNdPVwiMVwiIFtkaXJlY3Rpb25dPVwieURpclwiIC8+XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRAaWYgKCFkaXNhYmxlU2NhbGluZygpICYmIGFjdGl2ZUF4ZXMoKVsyXSkge1xuXHRcdFx0XHRcdFx0XHQ8bmd0cy1zY2FsaW5nLXNwaGVyZSBbYXhpc109XCIyXCIgW2RpcmVjdGlvbl09XCJ6RGlyXCIgLz5cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdDwvbmd0LWdyb3VwPlxuXHRcdFx0XHQ8bmd0LWdyb3VwICNjaGlsZHJlbj5cblx0XHRcdFx0XHQ8bmctY29udGVudCAvPlxuXHRcdFx0XHQ8L25ndC1ncm91cD5cblx0XHRcdDwvbmd0LWdyb3VwPlxuXHRcdDwvbmd0LWdyb3VwPlxuXHRgLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRpbXBvcnRzOiBbTmd0c0F4aXNBcnJvdywgTmd0c1BsYW5lU2xpZGVyLCBOZ3RzQXhpc1JvdGF0b3IsIE5ndHNTY2FsaW5nU3BoZXJlXSxcbn0pXG4vLyBUT0RPOiBQaXZvdENvbnRyb2xzIGlzIG5vdCB3b3JraW5nIHByb3Blcmx5IHdpdGggY29udHJvbCBmbG93XG5leHBvcnQgY2xhc3MgTmd0c1Bpdm90Q29udHJvbHMge1xuXHRvcHRpb25zID0gaW5wdXQoZGVmYXVsdE9wdGlvbnMsIHsgdHJhbnNmb3JtOiBtZXJnZUlucHV0cyhkZWZhdWx0T3B0aW9ucykgfSk7XG5cdHBhcmFtZXRlcnMgPSBvbWl0KHRoaXMub3B0aW9ucywgW1xuXHRcdCdlbmFibGVkJyxcblx0XHQnbWF0cml4Jyxcblx0XHQnYXV0b1RyYW5zZm9ybScsXG5cdFx0J2FuY2hvcicsXG5cdFx0J2Rpc2FibGVBeGVzJyxcblx0XHQnZGlzYWJsZVNsaWRlcnMnLFxuXHRcdCdkaXNhYmxlUm90YXRpb25zJyxcblx0XHQnZGlzYWJsZVNjYWxpbmcnLFxuXHRcdCdhY3RpdmVBeGVzJyxcblx0XHQnb2Zmc2V0Jyxcblx0XHQncm90YXRpb24nLFxuXHRcdCdzY2FsZScsXG5cdFx0J2xpbmVXaWR0aCcsXG5cdFx0J2ZpeGVkJyxcblx0XHQndHJhbnNsYXRpb25MaW1pdHMnLFxuXHRcdCdyb3RhdGlvbkxpbWl0cycsXG5cdFx0J3NjYWxlTGltaXRzJyxcblx0XHQnZGVwdGhUZXN0Jyxcblx0XHQnYXhpc0NvbG9ycycsXG5cdFx0J2hvdmVyZWRDb2xvcicsXG5cdFx0J2Fubm90YXRpb25zJyxcblx0XHQnYW5ub3RhdGlvbnNDbGFzcycsXG5cdFx0J29wYWNpdHknLFxuXHRcdCd2aXNpYmxlJyxcblx0XHQndXNlckRhdGEnLFxuXHRdKTtcblxuXHRkcmFnU3RhcnRlZCA9IG91dHB1dDxPbkRyYWdTdGFydFBhcmFtZXRlcnM+KCk7XG5cdGRyYWdFbmRlZCA9IG91dHB1dDx2b2lkPigpO1xuXHRkcmFnZ2VkID0gb3V0cHV0PE9uRHJhZ1BhcmFtZXRlcnM+KCk7XG5cblx0bWF0cml4ID0gcGljayh0aGlzLm9wdGlvbnMsICdtYXRyaXgnKTtcblx0YW5ub3RhdGlvbnMgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2Fubm90YXRpb25zJyk7XG5cdGFubm90YXRpb25zQ2xhc3MgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2Fubm90YXRpb25zQ2xhc3MnKTtcblx0dHJhbnNsYXRpb25MaW1pdHMgPSBwaWNrKHRoaXMub3B0aW9ucywgJ3RyYW5zbGF0aW9uTGltaXRzJyk7XG5cdHJvdGF0aW9uTGltaXRzID0gcGljayh0aGlzLm9wdGlvbnMsICdyb3RhdGlvbkxpbWl0cycpO1xuXHRzY2FsZUxpbWl0cyA9IHBpY2sodGhpcy5vcHRpb25zLCAnc2NhbGVMaW1pdHMnKTtcblx0YXV0b1RyYW5zZm9ybSA9IHBpY2sodGhpcy5vcHRpb25zLCAnYXV0b1RyYW5zZm9ybScpO1xuXHRmaXhlZCA9IHBpY2sodGhpcy5vcHRpb25zLCAnZml4ZWQnKTtcblx0aG92ZXJlZENvbG9yID0gcGljayh0aGlzLm9wdGlvbnMsICdob3ZlcmVkQ29sb3InKTtcblx0YXhpc0NvbG9ycyA9IHBpY2sodGhpcy5vcHRpb25zLCAnYXhpc0NvbG9ycycpO1xuXHRsaW5lV2lkdGggPSBwaWNrKHRoaXMub3B0aW9ucywgJ2xpbmVXaWR0aCcpO1xuXHRzY2FsZSA9IHBpY2sodGhpcy5vcHRpb25zLCAnc2NhbGUnKTtcblx0dXNlckRhdGEgPSBwaWNrKHRoaXMub3B0aW9ucywgJ3VzZXJEYXRhJyk7XG5cdG9wYWNpdHkgPSBwaWNrKHRoaXMub3B0aW9ucywgJ29wYWNpdHknKTtcblx0ZGVwdGhUZXN0ID0gcGljayh0aGlzLm9wdGlvbnMsICdkZXB0aFRlc3QnKTtcblx0b2Zmc2V0ID0gcGljayh0aGlzLm9wdGlvbnMsICdvZmZzZXQnKTtcblx0cm90YXRpb24gPSBwaWNrKHRoaXMub3B0aW9ucywgJ3JvdGF0aW9uJyk7XG5cdHZpc2libGUgPSBwaWNrKHRoaXMub3B0aW9ucywgJ3Zpc2libGUnKTtcblx0ZW5hYmxlZCA9IHBpY2sodGhpcy5vcHRpb25zLCAnZW5hYmxlZCcpO1xuXHRkaXNhYmxlQXhlcyA9IHBpY2sodGhpcy5vcHRpb25zLCAnZGlzYWJsZUF4ZXMnKTtcblx0ZGlzYWJsZVNsaWRlcnMgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2Rpc2FibGVTbGlkZXJzJyk7XG5cdGRpc2FibGVSb3RhdGlvbnMgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2Rpc2FibGVSb3RhdGlvbnMnKTtcblx0ZGlzYWJsZVNjYWxpbmcgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2Rpc2FibGVTY2FsaW5nJyk7XG5cdGFjdGl2ZUF4ZXMgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2FjdGl2ZUF4ZXMnKTtcblxuXHR4RGlyID0geERpcjtcblx0eURpciA9IHlEaXI7XG5cdHpEaXIgPSB6RGlyO1xuXG5cdHBhcmVudFJlZiA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEdyb3VwPj4oJ3BhcmVudCcpO1xuXHRncm91cFJlZiA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEdyb3VwPj4oJ2dyb3VwJyk7XG5cdGdpem1vUmVmID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8R3JvdXA+PignZ2l6bW8nKTtcblx0Y2hpbGRyZW5SZWYgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxHcm91cD4+KCdjaGlsZHJlbicpO1xuXG5cdHByaXZhdGUgc3RvcmUgPSBpbmplY3RTdG9yZSgpO1xuXHRwcml2YXRlIGludmFsaWRhdGUgPSB0aGlzLnN0b3JlLnNlbGVjdCgnaW52YWxpZGF0ZScpO1xuXG5cdHRyYW5zbGF0aW9uOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl0gPSBbMCwgMCwgMF07XG5cblx0cHJpdmF0ZSBhbmNob3IgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2FuY2hvcicpO1xuXHRwcml2YXRlIGNhbWVyYVNjYWxlID0gbmV3IFZlY3RvcjMoMSwgMSwgMSk7XG5cdHByaXZhdGUgZ2l6bW9TY2FsZSA9IG5ldyBWZWN0b3IzKDEsIDEsIDEpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGV4dGVuZCh7IEdyb3VwIH0pO1xuXG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IGFuY2hvciA9IHRoaXMuYW5jaG9yKCk7XG5cdFx0XHRpZiAoIWFuY2hvcikgcmV0dXJuO1xuXG5cdFx0XHRjb25zdCBjaGlsZHJlbkNvbnRhaW5lciA9IHRoaXMuY2hpbGRyZW5SZWYoKS5uYXRpdmVFbGVtZW50O1xuXHRcdFx0Y29uc3QgbG9jYWxTdGF0ZSA9IGdldExvY2FsU3RhdGUoY2hpbGRyZW5Db250YWluZXIpO1xuXHRcdFx0aWYgKCFsb2NhbFN0YXRlKSByZXR1cm47XG5cblx0XHRcdGNvbnN0IFtnaXptbywgb2Zmc2V0LCBpbnZhbGlkYXRlXSA9IFtcblx0XHRcdFx0dGhpcy5naXptb1JlZigpLm5hdGl2ZUVsZW1lbnQsXG5cdFx0XHRcdHRoaXMub2Zmc2V0KCksXG5cdFx0XHRcdHRoaXMuaW52YWxpZGF0ZSgpLFxuXHRcdFx0XHR0aGlzLm9wdGlvbnMoKSxcblx0XHRcdFx0W2xvY2FsU3RhdGUub2JqZWN0cygpLCBsb2NhbFN0YXRlLm5vbk9iamVjdHMoKV0sXG5cdFx0XHRdO1xuXHRcdFx0Y2hpbGRyZW5Db250YWluZXIudXBkYXRlV29ybGRNYXRyaXgodHJ1ZSwgdHJ1ZSk7XG5cblx0XHRcdG1QSW52LmNvcHkoY2hpbGRyZW5Db250YWluZXIubWF0cml4V29ybGQpLmludmVydCgpO1xuXHRcdFx0YmIubWFrZUVtcHR5KCk7XG5cblx0XHRcdGNoaWxkcmVuQ29udGFpbmVyLnRyYXZlcnNlKChvYmopID0+IHtcblx0XHRcdFx0aWYgKCEob2JqIGFzIE1lc2gpLmdlb21ldHJ5KSByZXR1cm47XG5cdFx0XHRcdGlmICghKG9iaiBhcyBNZXNoKS5nZW9tZXRyeS5ib3VuZGluZ0JveCkgKG9iaiBhcyBNZXNoKS5nZW9tZXRyeS5jb21wdXRlQm91bmRpbmdCb3goKTtcblx0XHRcdFx0bUwuY29weShvYmoubWF0cml4V29ybGQpLnByZW11bHRpcGx5KG1QSW52KTtcblx0XHRcdFx0Y29uc3QgYm91bmRpbmdCb3ggPSAob2JqIGFzIE1lc2gpLmdlb21ldHJ5LmJvdW5kaW5nQm94O1xuXHRcdFx0XHRpZiAoYm91bmRpbmdCb3gpIHtcblx0XHRcdFx0XHRiYk9iai5jb3B5KGJvdW5kaW5nQm94KTtcblx0XHRcdFx0XHRiYk9iai5hcHBseU1hdHJpeDQobUwpO1xuXHRcdFx0XHRcdGJiLnVuaW9uKGJiT2JqKTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cblx0XHRcdHZDZW50ZXIuY29weShiYi5tYXgpLmFkZChiYi5taW4pLm11bHRpcGx5U2NhbGFyKDAuNSk7XG5cdFx0XHR2U2l6ZS5jb3B5KGJiLm1heCkuc3ViKGJiLm1pbikubXVsdGlwbHlTY2FsYXIoMC41KTtcblx0XHRcdHZBbmNob3JPZmZzZXRcblx0XHRcdFx0LmNvcHkodlNpemUpXG5cdFx0XHRcdC5tdWx0aXBseShuZXcgVmVjdG9yMyguLi5hbmNob3IpKVxuXHRcdFx0XHQuYWRkKHZDZW50ZXIpO1xuXHRcdFx0dlBvc2l0aW9uLnNldCguLi5vZmZzZXQpLmFkZCh2QW5jaG9yT2Zmc2V0KTtcblx0XHRcdGdpem1vLnBvc2l0aW9uLmNvcHkodlBvc2l0aW9uKTtcblx0XHRcdGludmFsaWRhdGUoKTtcblx0XHR9KTtcblxuXHRcdGNvbnN0IHZlYyA9IG5ldyBWZWN0b3IzKCk7XG5cdFx0aW5qZWN0QmVmb3JlUmVuZGVyKCh7IGNhbWVyYSwgc2l6ZSwgaW52YWxpZGF0ZSB9KSA9PiB7XG5cdFx0XHRjb25zdCBbeyBmaXhlZCwgc2NhbGUsIG1hdHJpeCB9LCBnaXptbywgZ3JvdXBdID0gW1xuXHRcdFx0XHR0aGlzLm9wdGlvbnMoKSxcblx0XHRcdFx0dGhpcy5naXptb1JlZigpLm5hdGl2ZUVsZW1lbnQsXG5cdFx0XHRcdHRoaXMuZ3JvdXBSZWYoKS5uYXRpdmVFbGVtZW50LFxuXHRcdFx0XTtcblxuXHRcdFx0aWYgKGZpeGVkKSB7XG5cdFx0XHRcdGNvbnN0IHNmID0gY2FsY3VsYXRlU2NhbGVGYWN0b3IoZ2l6bW8uZ2V0V29ybGRQb3NpdGlvbih2ZWMpLCBzY2FsZSwgY2FtZXJhLCBzaXplKTtcblx0XHRcdFx0dGhpcy5jYW1lcmFTY2FsZS5zZXRTY2FsYXIoc2YpO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAobWF0cml4ICYmIG1hdHJpeCBpbnN0YW5jZW9mIE1hdHJpeDQpIHtcblx0XHRcdFx0Z3JvdXAubWF0cml4ID0gbWF0cml4O1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBVcGRhdGUgZ2l6bW8gc2NhbGUgaW4gYWNjb3JkYW5jZSB3aXRoIG1hdHJpeCBjaGFuZ2VzXG5cdFx0XHQvLyBXaXRob3V0IHRoaXMsIHRoZXJlIG1pZ2h0IGJlIG5vdGljZWFibGUgdHVyYnVsZW5jZSBpZiBzY2FsaW5nIGhhcHBlbnMgZmFzdCBlbm91Z2hcblx0XHRcdGdpem1vLnVwZGF0ZVdvcmxkTWF0cml4KHRydWUsIHRydWUpO1xuXG5cdFx0XHRtRy5tYWtlUm90YXRpb25Gcm9tRXVsZXIoZ2l6bW8ucm90YXRpb24pLnNldFBvc2l0aW9uKGdpem1vLnBvc2l0aW9uKS5wcmVtdWx0aXBseShncm91cC5tYXRyaXhXb3JsZCk7XG5cdFx0XHR0aGlzLmdpem1vU2NhbGUuc2V0RnJvbU1hdHJpeFNjYWxlKG1HKTtcblxuXHRcdFx0dlNjYWxlLmNvcHkodGhpcy5jYW1lcmFTY2FsZSkuZGl2aWRlKHRoaXMuZ2l6bW9TY2FsZSk7XG5cblx0XHRcdGlmIChcblx0XHRcdFx0TWF0aC5hYnMoZ2l6bW8uc2NhbGUueCAtIHZTY2FsZS54KSA+IDFlLTQgfHxcblx0XHRcdFx0TWF0aC5hYnMoZ2l6bW8uc2NhbGUueSAtIHZTY2FsZS55KSA+IDFlLTQgfHxcblx0XHRcdFx0TWF0aC5hYnMoZ2l6bW8uc2NhbGUueiAtIHZTY2FsZS56KSA+IDFlLTRcblx0XHRcdCkge1xuXHRcdFx0XHRnaXptby5zY2FsZS5jb3B5KHZTY2FsZSk7XG5cdFx0XHRcdGludmFsaWRhdGUoKTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdG9uRHJhZ1N0YXJ0KHBhcmFtZXRlcnM6IE9uRHJhZ1N0YXJ0UGFyYW1ldGVycykge1xuXHRcdGNvbnN0IGdyb3VwID0gdGhpcy5ncm91cFJlZigpLm5hdGl2ZUVsZW1lbnQ7XG5cdFx0bUwwLmNvcHkoZ3JvdXAubWF0cml4KTtcblx0XHRtVzAuY29weShncm91cC5tYXRyaXhXb3JsZCk7XG5cdFx0dGhpcy5kcmFnU3RhcnRlZC5lbWl0KHBhcmFtZXRlcnMpO1xuXHRcdHRoaXMuc3RvcmUuc25hcHNob3QuaW52YWxpZGF0ZSgpO1xuXHR9XG5cblx0b25EcmFnKG1kVzogTWF0cml4NCkge1xuXHRcdGNvbnN0IFtwYXJlbnQsIGdyb3VwLCBhdXRvVHJhbnNmb3JtXSA9IFtcblx0XHRcdHRoaXMucGFyZW50UmVmKCkubmF0aXZlRWxlbWVudCxcblx0XHRcdHRoaXMuZ3JvdXBSZWYoKS5uYXRpdmVFbGVtZW50LFxuXHRcdFx0dGhpcy5hdXRvVHJhbnNmb3JtKCksXG5cdFx0XTtcblxuXHRcdG1QLmNvcHkocGFyZW50Lm1hdHJpeFdvcmxkKTtcblx0XHRtUEludi5jb3B5KG1QKS5pbnZlcnQoKTtcblx0XHQvLyBBZnRlciBhcHBseWluZyB0aGUgZGVsdGFcblx0XHRtVy5jb3B5KG1XMCkucHJlbXVsdGlwbHkobWRXKTtcblx0XHRtTC5jb3B5KG1XKS5wcmVtdWx0aXBseShtUEludik7XG5cdFx0bUwwSW52LmNvcHkobUwwKS5pbnZlcnQoKTtcblx0XHRtZEwuY29weShtTCkubXVsdGlwbHkobUwwSW52KTtcblxuXHRcdGlmIChhdXRvVHJhbnNmb3JtKSB7XG5cdFx0XHRncm91cC5tYXRyaXguY29weShtTCk7XG5cdFx0fVxuXG5cdFx0dGhpcy5kcmFnZ2VkLmVtaXQoeyBsOiBtTCwgZGVsdGFMOiBtZEwsIHc6IG1XLCBkZWx0YVc6IG1kVyB9KTtcblx0XHR0aGlzLnN0b3JlLnNuYXBzaG90LmludmFsaWRhdGUoKTtcblx0fVxuXG5cdG9uRHJhZ0VuZCgpIHtcblx0XHR0aGlzLmRyYWdFbmRlZC5lbWl0KCk7XG5cdFx0dGhpcy5zdG9yZS5zbmFwc2hvdC5pbnZhbGlkYXRlKCk7XG5cdH1cbn1cbiJdfQ==
|
|
337
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGl2b3QtY29udHJvbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvZ2l6bW9zL3NyYy9saWIvcGl2b3QtY29udHJvbHMvcGl2b3QtY29udHJvbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHVCQUF1QixFQUN2QixTQUFTLEVBQ1Qsc0JBQXNCLEVBQ3RCLE1BQU0sRUFFTixLQUFLLEVBQ0wsTUFBTSxFQUNOLFNBQVMsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQWdCLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakgsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBUSxPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDNUQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM3QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQWdCckQsTUFBTSxHQUFHLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUMxQixNQUFNLEdBQUcsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0FBQzFCLE1BQU0sRUFBRSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7QUFDekIsTUFBTSxLQUFLLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUM1QixNQUFNLEVBQUUsR0FBRyxJQUFJLE9BQU8s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QkFBaUI7bUdBQWpCLGlCQUFpQixxdEJBekRuQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbURULDREQUdTLGFBQWEsMkZBQUUsZUFBZSxnR0FBRSxlQUFlLGdHQUFFLGlCQUFpQjs7NEZBR2hFLGlCQUFpQjtrQkE1RDdCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHFCQUFxQjtvQkFDL0IsVUFBVSxFQUFFLElBQUk7b0JBQ2hCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbURUO29CQUNELE9BQU8sRUFBRSxDQUFDLHNCQUFzQixDQUFDO29CQUNqQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLENBQUM7aUJBQzdFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcblx0Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG5cdENvbXBvbmVudCxcblx0Q1VTVE9NX0VMRU1FTlRTX1NDSEVNQSxcblx0ZWZmZWN0LFxuXHRFbGVtZW50UmVmLFxuXHRpbnB1dCxcblx0b3V0cHV0LFxuXHR2aWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZXh0ZW5kLCBnZXRMb2NhbFN0YXRlLCBpbmplY3RCZWZvcmVSZW5kZXIsIGluamVjdFN0b3JlLCBOZ3RBbnlSZWNvcmQsIG9taXQsIHBpY2sgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IGNhbGN1bGF0ZVNjYWxlRmFjdG9yIH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL21pc2MnO1xuaW1wb3J0IHsgbWVyZ2VJbnB1dHMgfSBmcm9tICduZ3h0ZW5zaW9uL2luamVjdC1pbnB1dHMnO1xuaW1wb3J0IHsgQm94MywgR3JvdXAsIE1hdHJpeDQsIE1lc2gsIFZlY3RvcjMgfSBmcm9tICd0aHJlZSc7XG5pbXBvcnQgeyBOZ3RzQXhpc0Fycm93IH0gZnJvbSAnLi9heGlzLWFycm93JztcbmltcG9ydCB7IE5ndHNBeGlzUm90YXRvciB9IGZyb20gJy4vYXhpcy1yb3RhdG9yJztcbmltcG9ydCB7IE5ndHNQbGFuZVNsaWRlciB9IGZyb20gJy4vcGxhbmUtc2xpZGVyJztcbmltcG9ydCB7IE5ndHNTY2FsaW5nU3BoZXJlIH0gZnJvbSAnLi9zY2FsaW5nLXNwaGVyZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT25EcmFnU3RhcnRQYXJhbWV0ZXJzIHtcblx0Y29tcG9uZW50OiAnQXJyb3cnIHwgJ1NsaWRlcicgfCAnUm90YXRvcicgfCAnU3BoZXJlJztcblx0YXhpczogMCB8IDEgfCAyO1xuXHRvcmlnaW46IFZlY3RvcjM7XG5cdGRpcmVjdGlvbnM6IFZlY3RvcjNbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPbkRyYWdQYXJhbWV0ZXJzIHtcblx0bDogTWF0cml4NDtcblx0ZGVsdGFMOiBNYXRyaXg0O1xuXHR3OiBNYXRyaXg0O1xuXHRkZWx0YVc6IE1hdHJpeDQ7XG59XG5cbmNvbnN0IG1MMCA9IG5ldyBNYXRyaXg0KCk7XG5jb25zdCBtVzAgPSBuZXcgTWF0cml4NCgpO1xuY29uc3QgbVAgPSBuZXcgTWF0cml4NCgpO1xuY29uc3QgbVBJbnYgPSBuZXcgTWF0cml4NCgpO1xuY29uc3QgbVcgPSBuZXcgTWF0cml4NCgpO1xuY29uc3QgbUwgPSBuZXcgTWF0cml4NCgpO1xuY29uc3QgbUwwSW52ID0gbmV3IE1hdHJpeDQoKTtcbmNvbnN0IG1kTCA9IG5ldyBNYXRyaXg0KCk7XG5jb25zdCBtRyA9IG5ldyBNYXRyaXg0KCk7XG5cbmNvbnN0IGJiID0gbmV3IEJveDMoKTtcbmNvbnN0IGJiT2JqID0gbmV3IEJveDMoKTtcbmNvbnN0IHZDZW50ZXIgPSBuZXcgVmVjdG9yMygpO1xuY29uc3QgdlNpemUgPSBuZXcgVmVjdG9yMygpO1xuY29uc3QgdkFuY2hvck9mZnNldCA9IG5ldyBWZWN0b3IzKCk7XG5jb25zdCB2UG9zaXRpb24gPSBuZXcgVmVjdG9yMygpO1xuY29uc3QgdlNjYWxlID0gbmV3IFZlY3RvcjMoKTtcblxuY29uc3QgeERpciA9IG5ldyBWZWN0b3IzKDEsIDAsIDApO1xuY29uc3QgeURpciA9IG5ldyBWZWN0b3IzKDAsIDEsIDApO1xuY29uc3QgekRpciA9IG5ldyBWZWN0b3IzKDAsIDAsIDEpO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5ndHNQaXZvdENvbnRyb2xzT3B0aW9ucyB7XG5cdC8qKiBFbmFibGVzL2Rpc2FibGVzIHRoZSBjb250cm9sLCB0cnVlICovXG5cdGVuYWJsZWQ6IGJvb2xlYW47XG5cdC8qKiBTY2FsZSBvZiB0aGUgZ2l6bW8sIDEgKi9cblx0c2NhbGU6IG51bWJlcjtcblx0LyoqIFdpZHRoIG9mIHRoZSBnaXptbyBsaW5lcywgdGhpcyBpcyBhIFRIUkVFLkxpbmUyIHByb3AsIDIuNSAqL1xuXHRsaW5lV2lkdGg6IG51bWJlcjtcblx0LyoqIElmIGZpeGVkIGlzIHRydWUgaXMgcmVtYWlucyBjb25zdGFudCBpbiBzaXplLCBzY2FsZSBpcyBub3cgaW4gcGl4ZWxzLCBmYWxzZSAqL1xuXHRmaXhlZDogYm9vbGVhbjtcblx0LyoqIFBpdm90IGRvZXMgbm90IGFjdCBhcyBhIGdyb3VwLCBpdCB3b24ndCBzaGlmdCBjb250ZW50cyBidXQgY2FuIG9mZnNldCBpbiBwb3NpdGlvbiAqL1xuXHRvZmZzZXQ6IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcblx0LyoqIFN0YXJ0aW5nIHJvdGF0aW9uICovXG5cdHJvdGF0aW9uOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl07XG5cblx0LyoqIFN0YXJ0aW5nIG1hdHJpeCAqL1xuXHRtYXRyaXg/OiBNYXRyaXg0O1xuXHQvKiogQkJBbmNob3IsIGVhY2ggYXhpcyBjYW4gYmUgYmV0d2VlbiAtMS8wLysxICovXG5cdGFuY2hvcj86IFtudW1iZXIsIG51bWJlciwgbnVtYmVyXTtcblx0LyoqIElmIGF1dG9UcmFuc2Zvcm0gaXMgdHJ1ZSwgYXV0b21hdGljYWxseSBhcHBseSB0aGUgbG9jYWwgdHJhbnNmb3JtIG9uIGRyYWcsIHRydWUgKi9cblx0YXV0b1RyYW5zZm9ybTogYm9vbGVhbjtcblx0LyoqIEFsbG93cyB5b3UgdG8gc3dpdGNoIGluZGl2aWR1YWwgYXhlcyBvZmYgKi9cblx0YWN0aXZlQXhlczogW2Jvb2xlYW4sIGJvb2xlYW4sIGJvb2xlYW5dO1xuXG5cdC8qKiBBbGxvd3MgeW91IHRvIHN3aXRjaCBpbmRpdmlkdWFsIHRyYW5zZm9ybWF0aW9ucyBvZmYgKi9cblx0ZGlzYWJsZUF4ZXM6IGJvb2xlYW47XG5cdGRpc2FibGVTbGlkZXJzOiBib29sZWFuO1xuXHRkaXNhYmxlUm90YXRpb25zOiBib29sZWFuO1xuXHRkaXNhYmxlU2NhbGluZzogYm9vbGVhbjtcblxuXHQvKiogTGltaXRzICovXG5cdHRyYW5zbGF0aW9uTGltaXRzPzogW1tudW1iZXIsIG51bWJlcl0gfCB1bmRlZmluZWQsIFtudW1iZXIsIG51bWJlcl0gfCB1bmRlZmluZWQsIFtudW1iZXIsIG51bWJlcl0gfCB1bmRlZmluZWRdO1xuXHRyb3RhdGlvbkxpbWl0cz86IFtbbnVtYmVyLCBudW1iZXJdIHwgdW5kZWZpbmVkLCBbbnVtYmVyLCBudW1iZXJdIHwgdW5kZWZpbmVkLCBbbnVtYmVyLCBudW1iZXJdIHwgdW5kZWZpbmVkXTtcblx0c2NhbGVMaW1pdHM/OiBbW251bWJlciwgbnVtYmVyXSB8IHVuZGVmaW5lZCwgW251bWJlciwgbnVtYmVyXSB8IHVuZGVmaW5lZCwgW251bWJlciwgbnVtYmVyXSB8IHVuZGVmaW5lZF07XG5cblx0LyoqIFJHQiBjb2xvcnMgKi9cblx0YXhpc0NvbG9yczogW3N0cmluZyB8IG51bWJlciwgc3RyaW5nIHwgbnVtYmVyLCBzdHJpbmcgfCBudW1iZXJdO1xuXHQvKiogQ29sb3Igb2YgdGhlIGhvdmVyZWQgaXRlbSAqL1xuXHRob3ZlcmVkQ29sb3I6IHN0cmluZyB8IG51bWJlcjtcblx0LyoqIEhUTUwgdmFsdWUgYW5ub3RhdGlvbnMsIGRlZmF1bHQ6IGZhbHNlICovXG5cdGFubm90YXRpb25zOiBib29sZWFuO1xuXHQvKiogQ1NTIENsYXNzbmFtZSBhcHBsaWVkIHRvIHRoZSBIVE1MIGFubm90YXRpb25zICovXG5cdGFubm90YXRpb25zQ2xhc3M/OiBzdHJpbmc7XG5cdC8qKiBTZXQgdGhpcyB0byBmYWxzZSBpZiB5b3Ugd2FudCB0aGUgZ2l6bW8gdG8gYmUgdmlzaWJsZSB0aHJvdWdoIGZhY2VzICovXG5cdGRlcHRoVGVzdDogYm9vbGVhbjtcblx0b3BhY2l0eT86IG51bWJlcjtcblx0dmlzaWJsZTogYm9vbGVhbjtcblx0dXNlckRhdGE/OiBOZ3RBbnlSZWNvcmQ7XG59XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zOiBOZ3RzUGl2b3RDb250cm9sc09wdGlvbnMgPSB7XG5cdGVuYWJsZWQ6IHRydWUsXG5cdGF1dG9UcmFuc2Zvcm06IHRydWUsXG5cdGRpc2FibGVBeGVzOiBmYWxzZSxcblx0ZGlzYWJsZVNsaWRlcnM6IGZhbHNlLFxuXHRkaXNhYmxlUm90YXRpb25zOiBmYWxzZSxcblx0ZGlzYWJsZVNjYWxpbmc6IGZhbHNlLFxuXHRhY3RpdmVBeGVzOiBbdHJ1ZSwgdHJ1ZSwgdHJ1ZV0sXG5cdG9mZnNldDogWzAsIDAsIDBdLFxuXHRyb3RhdGlvbjogWzAsIDAsIDBdLFxuXHRzY2FsZTogMSxcblx0bGluZVdpZHRoOiA0LFxuXHRmaXhlZDogZmFsc2UsXG5cdGRlcHRoVGVzdDogdHJ1ZSxcblx0YXhpc0NvbG9yczogWycjZmYyMDYwJywgJyMyMGRmODAnLCAnIzIwODBmZiddLFxuXHRob3ZlcmVkQ29sb3I6ICcjZmZmZjQwJyxcblx0YW5ub3RhdGlvbnM6IGZhbHNlLFxuXHRvcGFjaXR5OiAxLFxuXHR2aXNpYmxlOiB0cnVlLFxufTtcblxuQENvbXBvbmVudCh7XG5cdHNlbGVjdG9yOiAnbmd0cy1waXZvdC1jb250cm9scycsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiBgXG5cdFx0PG5ndC1ncm91cCAjcGFyZW50PlxuXHRcdFx0PG5ndC1ncm91cCAjZ3JvdXAgW21hdHJpeF09XCJtYXRyaXgoKVwiIFttYXRyaXhBdXRvVXBkYXRlXT1cImZhbHNlXCIgW3BhcmFtZXRlcnNdPVwicGFyYW1ldGVycygpXCI+XG5cdFx0XHRcdDxuZ3QtZ3JvdXAgI2dpem1vIFt2aXNpYmxlXT1cInZpc2libGUoKVwiIFtwb3NpdGlvbl09XCJvZmZzZXQoKVwiIFtyb3RhdGlvbl09XCJyb3RhdGlvbigpXCI+XG5cdFx0XHRcdFx0QGlmIChlbmFibGVkKCkpIHtcblx0XHRcdFx0XHRcdEBpZiAoIWRpc2FibGVBeGVzKCkgJiYgYWN0aXZlQXhlcygpWzBdKSB7XG5cdFx0XHRcdFx0XHRcdDxuZ3RzLWF4aXMtYXJyb3cgW2F4aXNdPVwiMFwiIFtkaXJlY3Rpb25dPVwieERpclwiIC8+XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRAaWYgKCFkaXNhYmxlQXhlcygpICYmIGFjdGl2ZUF4ZXMoKVsxXSkge1xuXHRcdFx0XHRcdFx0XHQ8bmd0cy1heGlzLWFycm93IFtheGlzXT1cIjFcIiBbZGlyZWN0aW9uXT1cInlEaXJcIiAvPlxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0QGlmICghZGlzYWJsZUF4ZXMoKSAmJiBhY3RpdmVBeGVzKClbMl0pIHtcblx0XHRcdFx0XHRcdFx0PG5ndHMtYXhpcy1hcnJvdyBbYXhpc109XCIyXCIgW2RpcmVjdGlvbl09XCJ6RGlyXCIgLz5cblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0QGlmICghZGlzYWJsZVNsaWRlcnMoKSAmJiBhY3RpdmVBeGVzKClbMF0gJiYgYWN0aXZlQXhlcygpWzFdKSB7XG5cdFx0XHRcdFx0XHRcdDxuZ3RzLXBsYW5lLXNsaWRlciBbYXhpc109XCIyXCIgW2RpcjFdPVwieERpclwiIFtkaXIyXT1cInlEaXJcIiAvPlxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0QGlmICghZGlzYWJsZVNsaWRlcnMoKSAmJiBhY3RpdmVBeGVzKClbMF0gJiYgYWN0aXZlQXhlcygpWzJdKSB7XG5cdFx0XHRcdFx0XHRcdDxuZ3RzLXBsYW5lLXNsaWRlciBbYXhpc109XCIxXCIgW2RpcjFdPVwiekRpclwiIFtkaXIyXT1cInhEaXJcIiAvPlxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0QGlmICghZGlzYWJsZVNsaWRlcnMoKSAmJiBhY3RpdmVBeGVzKClbMl0gJiYgYWN0aXZlQXhlcygpWzFdKSB7XG5cdFx0XHRcdFx0XHRcdDxuZ3RzLXBsYW5lLXNsaWRlciBbYXhpc109XCIwXCIgW2RpcjFdPVwieURpclwiIFtkaXIyXT1cInpEaXJcIiAvPlxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRAaWYgKCFkaXNhYmxlUm90YXRpb25zKCkgJiYgYWN0aXZlQXhlcygpWzBdICYmIGFjdGl2ZUF4ZXMoKVsxXSkge1xuXHRcdFx0XHRcdFx0XHQ8bmd0cy1heGlzLXJvdGF0b3IgW2F4aXNdPVwiMlwiIFtkaXIxXT1cInhEaXJcIiBbZGlyMl09XCJ5RGlyXCIgLz5cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdEBpZiAoIWRpc2FibGVSb3RhdGlvbnMoKSAmJiBhY3RpdmVBeGVzKClbMF0gJiYgYWN0aXZlQXhlcygpWzJdKSB7XG5cdFx0XHRcdFx0XHRcdDxuZ3RzLWF4aXMtcm90YXRvciBbYXhpc109XCIxXCIgW2RpcjFdPVwiekRpclwiIFtkaXIyXT1cInhEaXJcIiAvPlxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0QGlmICghZGlzYWJsZVJvdGF0aW9ucygpICYmIGFjdGl2ZUF4ZXMoKVsyXSAmJiBhY3RpdmVBeGVzKClbMV0pIHtcblx0XHRcdFx0XHRcdFx0PG5ndHMtYXhpcy1yb3RhdG9yIFtheGlzXT1cIjBcIiBbZGlyMV09XCJ5RGlyXCIgW2RpcjJdPVwiekRpclwiIC8+XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdEBpZiAoIWRpc2FibGVTY2FsaW5nKCkgJiYgYWN0aXZlQXhlcygpWzBdKSB7XG5cdFx0XHRcdFx0XHRcdDxuZ3RzLXNjYWxpbmctc3BoZXJlIFtheGlzXT1cIjBcIiBbZGlyZWN0aW9uXT1cInhEaXJcIiAvPlxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0QGlmICghZGlzYWJsZVNjYWxpbmcoKSAmJiBhY3RpdmVBeGVzKClbMV0pIHtcblx0XHRcdFx0XHRcdFx0PG5ndHMtc2NhbGluZy1zcGhlcmUgW2F4aXNdPVwiMVwiIFtkaXJlY3Rpb25dPVwieURpclwiIC8+XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRAaWYgKCFkaXNhYmxlU2NhbGluZygpICYmIGFjdGl2ZUF4ZXMoKVsyXSkge1xuXHRcdFx0XHRcdFx0XHQ8bmd0cy1zY2FsaW5nLXNwaGVyZSBbYXhpc109XCIyXCIgW2RpcmVjdGlvbl09XCJ6RGlyXCIgLz5cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdDwvbmd0LWdyb3VwPlxuXHRcdFx0XHQ8bmd0LWdyb3VwICNjaGlsZHJlbj5cblx0XHRcdFx0XHQ8bmctY29udGVudCAvPlxuXHRcdFx0XHQ8L25ndC1ncm91cD5cblx0XHRcdDwvbmd0LWdyb3VwPlxuXHRcdDwvbmd0LWdyb3VwPlxuXHRgLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRpbXBvcnRzOiBbTmd0c0F4aXNBcnJvdywgTmd0c1BsYW5lU2xpZGVyLCBOZ3RzQXhpc1JvdGF0b3IsIE5ndHNTY2FsaW5nU3BoZXJlXSxcbn0pXG4vLyBUT0RPOiBQaXZvdENvbnRyb2xzIGlzIG5vdCB3b3JraW5nIHByb3Blcmx5IHdpdGggY29udHJvbCBmbG93XG5leHBvcnQgY2xhc3MgTmd0c1Bpdm90Q29udHJvbHMge1xuXHRvcHRpb25zID0gaW5wdXQoZGVmYXVsdE9wdGlvbnMsIHsgdHJhbnNmb3JtOiBtZXJnZUlucHV0cyhkZWZhdWx0T3B0aW9ucykgfSk7XG5cdHBhcmFtZXRlcnMgPSBvbWl0KHRoaXMub3B0aW9ucywgW1xuXHRcdCdlbmFibGVkJyxcblx0XHQnbWF0cml4Jyxcblx0XHQnYXV0b1RyYW5zZm9ybScsXG5cdFx0J2FuY2hvcicsXG5cdFx0J2Rpc2FibGVBeGVzJyxcblx0XHQnZGlzYWJsZVNsaWRlcnMnLFxuXHRcdCdkaXNhYmxlUm90YXRpb25zJyxcblx0XHQnZGlzYWJsZVNjYWxpbmcnLFxuXHRcdCdhY3RpdmVBeGVzJyxcblx0XHQnb2Zmc2V0Jyxcblx0XHQncm90YXRpb24nLFxuXHRcdCdzY2FsZScsXG5cdFx0J2xpbmVXaWR0aCcsXG5cdFx0J2ZpeGVkJyxcblx0XHQndHJhbnNsYXRpb25MaW1pdHMnLFxuXHRcdCdyb3RhdGlvbkxpbWl0cycsXG5cdFx0J3NjYWxlTGltaXRzJyxcblx0XHQnZGVwdGhUZXN0Jyxcblx0XHQnYXhpc0NvbG9ycycsXG5cdFx0J2hvdmVyZWRDb2xvcicsXG5cdFx0J2Fubm90YXRpb25zJyxcblx0XHQnYW5ub3RhdGlvbnNDbGFzcycsXG5cdFx0J29wYWNpdHknLFxuXHRcdCd2aXNpYmxlJyxcblx0XHQndXNlckRhdGEnLFxuXHRdKTtcblxuXHRkcmFnU3RhcnRlZCA9IG91dHB1dDxPbkRyYWdTdGFydFBhcmFtZXRlcnM+KCk7XG5cdGRyYWdFbmRlZCA9IG91dHB1dDx2b2lkPigpO1xuXHRkcmFnZ2VkID0gb3V0cHV0PE9uRHJhZ1BhcmFtZXRlcnM+KCk7XG5cblx0bWF0cml4ID0gcGljayh0aGlzLm9wdGlvbnMsICdtYXRyaXgnKTtcblx0YW5ub3RhdGlvbnMgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2Fubm90YXRpb25zJyk7XG5cdGFubm90YXRpb25zQ2xhc3MgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2Fubm90YXRpb25zQ2xhc3MnKTtcblx0dHJhbnNsYXRpb25MaW1pdHMgPSBwaWNrKHRoaXMub3B0aW9ucywgJ3RyYW5zbGF0aW9uTGltaXRzJyk7XG5cdHJvdGF0aW9uTGltaXRzID0gcGljayh0aGlzLm9wdGlvbnMsICdyb3RhdGlvbkxpbWl0cycpO1xuXHRzY2FsZUxpbWl0cyA9IHBpY2sodGhpcy5vcHRpb25zLCAnc2NhbGVMaW1pdHMnKTtcblx0YXV0b1RyYW5zZm9ybSA9IHBpY2sodGhpcy5vcHRpb25zLCAnYXV0b1RyYW5zZm9ybScpO1xuXHRmaXhlZCA9IHBpY2sodGhpcy5vcHRpb25zLCAnZml4ZWQnKTtcblx0aG92ZXJlZENvbG9yID0gcGljayh0aGlzLm9wdGlvbnMsICdob3ZlcmVkQ29sb3InKTtcblx0YXhpc0NvbG9ycyA9IHBpY2sodGhpcy5vcHRpb25zLCAnYXhpc0NvbG9ycycpO1xuXHRsaW5lV2lkdGggPSBwaWNrKHRoaXMub3B0aW9ucywgJ2xpbmVXaWR0aCcpO1xuXHRzY2FsZSA9IHBpY2sodGhpcy5vcHRpb25zLCAnc2NhbGUnKTtcblx0dXNlckRhdGEgPSBwaWNrKHRoaXMub3B0aW9ucywgJ3VzZXJEYXRhJyk7XG5cdG9wYWNpdHkgPSBwaWNrKHRoaXMub3B0aW9ucywgJ29wYWNpdHknKTtcblx0ZGVwdGhUZXN0ID0gcGljayh0aGlzLm9wdGlvbnMsICdkZXB0aFRlc3QnKTtcblx0b2Zmc2V0ID0gcGljayh0aGlzLm9wdGlvbnMsICdvZmZzZXQnKTtcblx0cm90YXRpb24gPSBwaWNrKHRoaXMub3B0aW9ucywgJ3JvdGF0aW9uJyk7XG5cdHZpc2libGUgPSBwaWNrKHRoaXMub3B0aW9ucywgJ3Zpc2libGUnKTtcblx0ZW5hYmxlZCA9IHBpY2sodGhpcy5vcHRpb25zLCAnZW5hYmxlZCcpO1xuXHRkaXNhYmxlQXhlcyA9IHBpY2sodGhpcy5vcHRpb25zLCAnZGlzYWJsZUF4ZXMnKTtcblx0ZGlzYWJsZVNsaWRlcnMgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2Rpc2FibGVTbGlkZXJzJyk7XG5cdGRpc2FibGVSb3RhdGlvbnMgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2Rpc2FibGVSb3RhdGlvbnMnKTtcblx0ZGlzYWJsZVNjYWxpbmcgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2Rpc2FibGVTY2FsaW5nJyk7XG5cdGFjdGl2ZUF4ZXMgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2FjdGl2ZUF4ZXMnKTtcblxuXHR4RGlyID0geERpcjtcblx0eURpciA9IHlEaXI7XG5cdHpEaXIgPSB6RGlyO1xuXG5cdHBhcmVudFJlZiA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEdyb3VwPj4oJ3BhcmVudCcpO1xuXHRncm91cFJlZiA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEdyb3VwPj4oJ2dyb3VwJyk7XG5cdGdpem1vUmVmID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8R3JvdXA+PignZ2l6bW8nKTtcblx0Y2hpbGRyZW5SZWYgPSB2aWV3Q2hpbGQucmVxdWlyZWQ8RWxlbWVudFJlZjxHcm91cD4+KCdjaGlsZHJlbicpO1xuXG5cdHByaXZhdGUgc3RvcmUgPSBpbmplY3RTdG9yZSgpO1xuXHRwcml2YXRlIGludmFsaWRhdGUgPSB0aGlzLnN0b3JlLnNlbGVjdCgnaW52YWxpZGF0ZScpO1xuXG5cdHRyYW5zbGF0aW9uOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlcl0gPSBbMCwgMCwgMF07XG5cblx0cHJpdmF0ZSBhbmNob3IgPSBwaWNrKHRoaXMub3B0aW9ucywgJ2FuY2hvcicpO1xuXHRwcml2YXRlIGNhbWVyYVNjYWxlID0gbmV3IFZlY3RvcjMoMSwgMSwgMSk7XG5cdHByaXZhdGUgZ2l6bW9TY2FsZSA9IG5ldyBWZWN0b3IzKDEsIDEsIDEpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGV4dGVuZCh7IEdyb3VwIH0pO1xuXG5cdFx0ZWZmZWN0KCgpID0+IHtcblx0XHRcdGNvbnN0IGFuY2hvciA9IHRoaXMuYW5jaG9yKCk7XG5cdFx0XHRpZiAoIWFuY2hvcikgcmV0dXJuO1xuXG5cdFx0XHRjb25zdCBjaGlsZHJlbkNvbnRhaW5lciA9IHRoaXMuY2hpbGRyZW5SZWYoKS5uYXRpdmVFbGVtZW50O1xuXHRcdFx0Y29uc3QgbG9jYWxTdGF0ZSA9IGdldExvY2FsU3RhdGUoY2hpbGRyZW5Db250YWluZXIpO1xuXHRcdFx0aWYgKCFsb2NhbFN0YXRlKSByZXR1cm47XG5cblx0XHRcdGNvbnN0IFtnaXptbywgb2Zmc2V0LCBpbnZhbGlkYXRlXSA9IFtcblx0XHRcdFx0dGhpcy5naXptb1JlZigpLm5hdGl2ZUVsZW1lbnQsXG5cdFx0XHRcdHRoaXMub2Zmc2V0KCksXG5cdFx0XHRcdHRoaXMuaW52YWxpZGF0ZSgpLFxuXHRcdFx0XHR0aGlzLm9wdGlvbnMoKSxcblx0XHRcdFx0W2xvY2FsU3RhdGUub2JqZWN0cygpLCBsb2NhbFN0YXRlLm5vbk9iamVjdHMoKV0sXG5cdFx0XHRdO1xuXHRcdFx0Y2hpbGRyZW5Db250YWluZXIudXBkYXRlV29ybGRNYXRyaXgodHJ1ZSwgdHJ1ZSk7XG5cblx0XHRcdG1QSW52LmNvcHkoY2hpbGRyZW5Db250YWluZXIubWF0cml4V29ybGQpLmludmVydCgpO1xuXHRcdFx0YmIubWFrZUVtcHR5KCk7XG5cblx0XHRcdGNoaWxkcmVuQ29udGFpbmVyLnRyYXZlcnNlKChvYmopID0+IHtcblx0XHRcdFx0aWYgKCEob2JqIGFzIE1lc2gpLmdlb21ldHJ5KSByZXR1cm47XG5cdFx0XHRcdGlmICghKG9iaiBhcyBNZXNoKS5nZW9tZXRyeS5ib3VuZGluZ0JveCkgKG9iaiBhcyBNZXNoKS5nZW9tZXRyeS5jb21wdXRlQm91bmRpbmdCb3goKTtcblx0XHRcdFx0bUwuY29weShvYmoubWF0cml4V29ybGQpLnByZW11bHRpcGx5KG1QSW52KTtcblx0XHRcdFx0Y29uc3QgYm91bmRpbmdCb3ggPSAob2JqIGFzIE1lc2gpLmdlb21ldHJ5LmJvdW5kaW5nQm94O1xuXHRcdFx0XHRpZiAoYm91bmRpbmdCb3gpIHtcblx0XHRcdFx0XHRiYk9iai5jb3B5KGJvdW5kaW5nQm94KTtcblx0XHRcdFx0XHRiYk9iai5hcHBseU1hdHJpeDQobUwpO1xuXHRcdFx0XHRcdGJiLnVuaW9uKGJiT2JqKTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cblx0XHRcdHZDZW50ZXIuY29weShiYi5tYXgpLmFkZChiYi5taW4pLm11bHRpcGx5U2NhbGFyKDAuNSk7XG5cdFx0XHR2U2l6ZS5jb3B5KGJiLm1heCkuc3ViKGJiLm1pbikubXVsdGlwbHlTY2FsYXIoMC41KTtcblx0XHRcdHZBbmNob3JPZmZzZXRcblx0XHRcdFx0LmNvcHkodlNpemUpXG5cdFx0XHRcdC5tdWx0aXBseShuZXcgVmVjdG9yMyguLi5hbmNob3IpKVxuXHRcdFx0XHQuYWRkKHZDZW50ZXIpO1xuXHRcdFx0dlBvc2l0aW9uLnNldCguLi5vZmZzZXQpLmFkZCh2QW5jaG9yT2Zmc2V0KTtcblx0XHRcdGdpem1vLnBvc2l0aW9uLmNvcHkodlBvc2l0aW9uKTtcblx0XHRcdGludmFsaWRhdGUoKTtcblx0XHR9KTtcblxuXHRcdGNvbnN0IHZlYyA9IG5ldyBWZWN0b3IzKCk7XG5cdFx0aW5qZWN0QmVmb3JlUmVuZGVyKCh7IGNhbWVyYSwgc2l6ZSwgaW52YWxpZGF0ZSB9KSA9PiB7XG5cdFx0XHRjb25zdCBbeyBmaXhlZCwgc2NhbGUsIG1hdHJpeCB9LCBnaXptbywgZ3JvdXBdID0gW1xuXHRcdFx0XHR0aGlzLm9wdGlvbnMoKSxcblx0XHRcdFx0dGhpcy5naXptb1JlZigpLm5hdGl2ZUVsZW1lbnQsXG5cdFx0XHRcdHRoaXMuZ3JvdXBSZWYoKS5uYXRpdmVFbGVtZW50LFxuXHRcdFx0XTtcblxuXHRcdFx0aWYgKGZpeGVkKSB7XG5cdFx0XHRcdGNvbnN0IHNmID0gY2FsY3VsYXRlU2NhbGVGYWN0b3IoZ2l6bW8uZ2V0V29ybGRQb3NpdGlvbih2ZWMpLCBzY2FsZSwgY2FtZXJhLCBzaXplKTtcblx0XHRcdFx0dGhpcy5jYW1lcmFTY2FsZS5zZXRTY2FsYXIoc2YpO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAobWF0cml4ICYmIG1hdHJpeCBpbnN0YW5jZW9mIE1hdHJpeDQpIHtcblx0XHRcdFx0Z3JvdXAubWF0cml4ID0gbWF0cml4O1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBVcGRhdGUgZ2l6bW8gc2NhbGUgaW4gYWNjb3JkYW5jZSB3aXRoIG1hdHJpeCBjaGFuZ2VzXG5cdFx0XHQvLyBXaXRob3V0IHRoaXMsIHRoZXJlIG1pZ2h0IGJlIG5vdGljZWFibGUgdHVyYnVsZW5jZSBpZiBzY2FsaW5nIGhhcHBlbnMgZmFzdCBlbm91Z2hcblx0XHRcdGdpem1vLnVwZGF0ZVdvcmxkTWF0cml4KHRydWUsIHRydWUpO1xuXG5cdFx0XHRtRy5tYWtlUm90YXRpb25Gcm9tRXVsZXIoZ2l6bW8ucm90YXRpb24pLnNldFBvc2l0aW9uKGdpem1vLnBvc2l0aW9uKS5wcmVtdWx0aXBseShncm91cC5tYXRyaXhXb3JsZCk7XG5cdFx0XHR0aGlzLmdpem1vU2NhbGUuc2V0RnJvbU1hdHJpeFNjYWxlKG1HKTtcblxuXHRcdFx0dlNjYWxlLmNvcHkodGhpcy5jYW1lcmFTY2FsZSkuZGl2aWRlKHRoaXMuZ2l6bW9TY2FsZSk7XG5cblx0XHRcdGlmIChcblx0XHRcdFx0TWF0aC5hYnMoZ2l6bW8uc2NhbGUueCAtIHZTY2FsZS54KSA+IDFlLTQgfHxcblx0XHRcdFx0TWF0aC5hYnMoZ2l6bW8uc2NhbGUueSAtIHZTY2FsZS55KSA+IDFlLTQgfHxcblx0XHRcdFx0TWF0aC5hYnMoZ2l6bW8uc2NhbGUueiAtIHZTY2FsZS56KSA+IDFlLTRcblx0XHRcdCkge1xuXHRcdFx0XHRnaXptby5zY2FsZS5jb3B5KHZTY2FsZSk7XG5cdFx0XHRcdGludmFsaWRhdGUoKTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdG9uRHJhZ1N0YXJ0KHBhcmFtZXRlcnM6IE9uRHJhZ1N0YXJ0UGFyYW1ldGVycykge1xuXHRcdGNvbnN0IGdyb3VwID0gdGhpcy5ncm91cFJlZigpLm5hdGl2ZUVsZW1lbnQ7XG5cdFx0bUwwLmNvcHkoZ3JvdXAubWF0cml4KTtcblx0XHRtVzAuY29weShncm91cC5tYXRyaXhXb3JsZCk7XG5cdFx0dGhpcy5kcmFnU3RhcnRlZC5lbWl0KHBhcmFtZXRlcnMpO1xuXHRcdHRoaXMuc3RvcmUuc25hcHNob3QuaW52YWxpZGF0ZSgpO1xuXHR9XG5cblx0b25EcmFnKG1kVzogTWF0cml4NCkge1xuXHRcdGNvbnN0IFtwYXJlbnQsIGdyb3VwLCBhdXRvVHJhbnNmb3JtXSA9IFtcblx0XHRcdHRoaXMucGFyZW50UmVmKCkubmF0aXZlRWxlbWVudCxcblx0XHRcdHRoaXMuZ3JvdXBSZWYoKS5uYXRpdmVFbGVtZW50LFxuXHRcdFx0dGhpcy5hdXRvVHJhbnNmb3JtKCksXG5cdFx0XTtcblxuXHRcdG1QLmNvcHkocGFyZW50Lm1hdHJpeFdvcmxkKTtcblx0XHRtUEludi5jb3B5KG1QKS5pbnZlcnQoKTtcblx0XHQvLyBBZnRlciBhcHBseWluZyB0aGUgZGVsdGFcblx0XHRtVy5jb3B5KG1XMCkucHJlbXVsdGlwbHkobWRXKTtcblx0XHRtTC5jb3B5KG1XKS5wcmVtdWx0aXBseShtUEludik7XG5cdFx0bUwwSW52LmNvcHkobUwwKS5pbnZlcnQoKTtcblx0XHRtZEwuY29weShtTCkubXVsdGlwbHkobUwwSW52KTtcblxuXHRcdGlmIChhdXRvVHJhbnNmb3JtKSB7XG5cdFx0XHRncm91cC5tYXRyaXguY29weShtTCk7XG5cdFx0fVxuXG5cdFx0dGhpcy5kcmFnZ2VkLmVtaXQoeyBsOiBtTCwgZGVsdGFMOiBtZEwsIHc6IG1XLCBkZWx0YVc6IG1kVyB9KTtcblx0XHR0aGlzLnN0b3JlLnNuYXBzaG90LmludmFsaWRhdGUoKTtcblx0fVxuXG5cdG9uRHJhZ0VuZCgpIHtcblx0XHR0aGlzLmRyYWdFbmRlZC5lbWl0KCk7XG5cdFx0dGhpcy5zdG9yZS5zbmFwc2hvdC5pbnZhbGlkYXRlKCk7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -149,8 +149,8 @@ export class NgtsPlaneSlider {
|
|
|
149
149
|
event.stopPropagation();
|
|
150
150
|
this.hovered.set(false);
|
|
151
151
|
}
|
|
152
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
153
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
152
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsPlaneSlider, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
153
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: NgtsPlaneSlider, isStandalone: true, selector: "ngts-plane-slider", inputs: { dir1: { classPropertyName: "dir1", publicName: "dir1", isSignal: true, isRequired: true, transformFunction: null }, dir2: { classPropertyName: "dir2", publicName: "dir2", isSignal: true, isRequired: true, transformFunction: null }, axis: { classPropertyName: "axis", publicName: "axis", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, isSignal: true }, { propertyName: "annotationRef", first: true, predicate: ["annotation"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: `
|
|
154
154
|
<ngt-group #group [matrix]="matrixL()" [matrixAutoUpdate]="false">
|
|
155
155
|
@if (pivotControls.annotations()) {
|
|
156
156
|
<ngts-html [options]="{ position: [0, 0, 0] }">
|
|
@@ -202,7 +202,7 @@ export class NgtsPlaneSlider {
|
|
|
202
202
|
</ngt-group>
|
|
203
203
|
`, isInline: true, dependencies: [{ kind: "component", type: NgtsHTML, selector: "ngts-html", inputs: ["options"] }, { kind: "component", type: NgtsHTMLContent, selector: "[ngtsHTMLContent]", inputs: ["ngtsHTMLContent"], outputs: ["occluded"] }, { kind: "component", type: NgtsLine, selector: "ngts-line", inputs: ["points", "options"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
204
204
|
}
|
|
205
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
205
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsPlaneSlider, decorators: [{
|
|
206
206
|
type: Component,
|
|
207
207
|
args: [{
|
|
208
208
|
selector: 'ngts-plane-slider',
|
|
@@ -263,4 +263,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
263
263
|
imports: [NgtsHTML, NgtsHTMLContent, NgtsLine],
|
|
264
264
|
}]
|
|
265
265
|
}], ctorParameters: () => [] });
|
|
266
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmUtc2xpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL2dpem1vcy9zcmMvbGliL3Bpdm90LWNvbnRyb2xzL3BsYW5lLXNsaWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1Isc0JBQXNCLEVBQ3RCLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2hILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUVyRCxTQUFTLGtCQUFrQixDQUFDLEVBQVcsRUFBRSxFQUFXLEVBQUUsTUFBZTtJQUNwRSxNQUFNLEVBQUUsR0FDUCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkUsQ0FBQyxDQUFDLENBQUM7UUFDSCxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3JFLENBQUMsQ0FBQyxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNQLE1BQU0sZUFBZSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlHLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9FLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0IsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvQixNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0IsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNuQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxD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QU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUUsUUFBUSxDQUFDO2lCQUM5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdGNvbXB1dGVkLFxuXHRDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuXHRFbGVtZW50UmVmLFxuXHRpbmplY3QsXG5cdGlucHV0LFxuXHRzaWduYWwsXG5cdFNpZ25hbCxcblx0dmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGV4dGVuZCwgaW5qZWN0U3RvcmUsIE5ndFRocmVlRXZlbnQgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IE5ndHNMaW5lIH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL2Fic3RyYWN0aW9ucyc7XG5pbXBvcnQgeyBOZ3RzSFRNTCwgTmd0c0hUTUxDb250ZW50IH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL21pc2MnO1xuaW1wb3J0IHsgRG91YmxlU2lkZSwgR3JvdXAsIE1hdHJpeDQsIE1lc2gsIE1lc2hCYXNpY01hdGVyaWFsLCBQbGFuZSwgUGxhbmVHZW9tZXRyeSwgUmF5LCBWZWN0b3IzIH0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgTmd0c1Bpdm90Q29udHJvbHMgfSBmcm9tICcuL3Bpdm90LWNvbnRyb2xzJztcblxuZnVuY3Rpb24gZGVjb21wb3NlSW50b0Jhc2lzKGUxOiBWZWN0b3IzLCBlMjogVmVjdG9yMywgb2Zmc2V0OiBWZWN0b3IzKSB7XG5cdGNvbnN0IGkxID1cblx0XHRNYXRoLmFicyhlMS54KSA+PSBNYXRoLmFicyhlMS55KSAmJiBNYXRoLmFicyhlMS54KSA+PSBNYXRoLmFicyhlMS56KVxuXHRcdFx0PyAwXG5cdFx0XHQ6IE1hdGguYWJzKGUxLnkpID49IE1hdGguYWJzKGUxLngpICYmIE1hdGguYWJzKGUxLnkpID49IE1hdGguYWJzKGUxLnopXG5cdFx0XHRcdD8gMVxuXHRcdFx0XHQ6IDI7XG5cdGNvbnN0IGUyRGVncm93dGhPcmRlciA9IFswLCAxLCAyXS5zb3J0KChhLCBiKSA9PiBNYXRoLmFicyhlMi5nZXRDb21wb25lbnQoYikpIC0gTWF0aC5hYnMoZTIuZ2V0Q29tcG9uZW50KGEpKSk7XG5cdGNvbnN0IGkyID0gaTEgPT09IGUyRGVncm93dGhPcmRlclswXSA/IGUyRGVncm93dGhPcmRlclsxXSA6IGUyRGVncm93dGhPcmRlclswXTtcblx0Y29uc3QgYTEgPSBlMS5nZXRDb21wb25lbnQoaTEpO1xuXHRjb25zdCBhMiA9IGUxLmdldENvbXBvbmVudChpMik7XG5cdGNvbnN0IGIxID0gZTIuZ2V0Q29tcG9uZW50KGkxKTtcblx0Y29uc3QgYjIgPSBlMi5nZXRDb21wb25lbnQoaTIpO1xuXHRjb25zdCBjMSA9IG9mZnNldC5nZXRDb21wb25lbnQoaTEpO1xuXHRjb25zdCBjMiA9IG9mZnNldC5nZXRDb21wb25lbnQoaTIpO1xuXG5cdGNvbnN0IHkgPSAoYzIgLSBjMSAqIChhMiAvIGExKSkgLyAoYjIgLSBiMSAqIChhMiAvIGExKSk7XG5cdGNvbnN0IHggPSAoYzEgLSB5ICogYjEpIC8gYTE7XG5cblx0cmV0dXJuIFt4LCB5XTtcbn1cblxuY29uc3QgcmF5ID0gbmV3IFJheSgpO1xuY29uc3QgaW50ZXJzZWN0aW9uID0gbmV3IFZlY3RvcjMoKTtcbmNvbnN0IG9mZnNldE1hdHJpeCA9IG5ldyBNYXRyaXg0KCk7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndHMtcGxhbmUtc2xpZGVyJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LWdyb3VwICNncm91cCBbbWF0cml4XT1cIm1hdHJpeEwoKVwiIFttYXRyaXhBdXRvVXBkYXRlXT1cImZhbHNlXCI+XG5cdFx0XHRAaWYgKHBpdm90Q29udHJvbHMuYW5ub3RhdGlvbnMoKSkge1xuXHRcdFx0XHQ8bmd0cy1odG1sIFtvcHRpb25zXT1cInsgcG9zaXRpb246IFswLCAwLCAwXSB9XCI+XG5cdFx0XHRcdFx0PGRpdlxuXHRcdFx0XHRcdFx0I2Fubm90YXRpb25cblx0XHRcdFx0XHRcdG5ndHNIVE1MQ29udGVudFxuXHRcdFx0XHRcdFx0c3R5bGU9XCJkaXNwbGF5OiBub25lOyBiYWNrZ3JvdW5kOiAjMTUxNTIwOyBjb2xvcjogd2hpdGU7IHBhZGRpbmc6IDZweCA4cHg7IGJvcmRlci1yYWRpdXM6IDdweDsgd2hpdGUtc3BhY2U6IG5vd3JhcFwiXG5cdFx0XHRcdFx0XHRbY2xhc3NdPVwicGl2b3RDb250cm9scy5hbm5vdGF0aW9uc0NsYXNzKClcIlxuXHRcdFx0XHRcdD48L2Rpdj5cblx0XHRcdFx0PC9uZ3RzLWh0bWw+XG5cdFx0XHR9XG5cdFx0XHQ8bmd0LWdyb3VwIFtwb3NpdGlvbl09XCJbcG9zMSgpICogMS43LCBwb3MxKCkgKiAxLjcsIDBdXCI+XG5cdFx0XHRcdDxuZ3QtbWVzaFxuXHRcdFx0XHRcdFt2aXNpYmxlXT1cInRydWVcIlxuXHRcdFx0XHRcdFtzY2FsZV09XCJsZW5ndGgoKVwiXG5cdFx0XHRcdFx0W3VzZXJEYXRhXT1cInBpdm90Q29udHJvbHMudXNlckRhdGEoKVwiXG5cdFx0XHRcdFx0KHBvaW50ZXJkb3duKT1cIm9uUG9pbnRlckRvd24oJGFueSgkZXZlbnQpKVwiXG5cdFx0XHRcdFx0KHBvaW50ZXJtb3ZlKT1cIm9uUG9pbnRlck1vdmUoJGFueSgkZXZlbnQpKVwiXG5cdFx0XHRcdFx0KHBvaW50ZXJ1cCk9XCJvblBvaW50ZXJVcCgkYW55KCRldmVudCkpXCJcblx0XHRcdFx0XHQocG9pbnRlcm91dCk9XCJvblBvaW50ZXJPdXQoJGFueSgkZXZlbnQpKVwiXG5cdFx0XHRcdD5cblx0XHRcdFx0XHQ8bmd0LXBsYW5lLWdlb21ldHJ5IC8+XG5cdFx0XHRcdFx0PG5ndC1tZXNoLWJhc2ljLW1hdGVyaWFsXG5cdFx0XHRcdFx0XHRbdHJhbnNwYXJlbnRdPVwidHJ1ZVwiXG5cdFx0XHRcdFx0XHRbZGVwdGhUZXN0XT1cInBpdm90Q29udHJvbHMuZGVwdGhUZXN0KClcIlxuXHRcdFx0XHRcdFx0W2NvbG9yXT1cImNvbG9yKClcIlxuXHRcdFx0XHRcdFx0W3BvbHlnb25PZmZzZXRdPVwidHJ1ZVwiXG5cdFx0XHRcdFx0XHRbcG9seWdvbk9mZnNldEZhY3Rvcl09XCItMTBcIlxuXHRcdFx0XHRcdFx0W3NpZGVdPVwiRG91YmxlU2lkZVwiXG5cdFx0XHRcdFx0XHRbZm9nXT1cImZhbHNlXCJcblx0XHRcdFx0XHQvPlxuXHRcdFx0XHQ8L25ndC1tZXNoPlxuXHRcdFx0XHQ8bmd0cy1saW5lXG5cdFx0XHRcdFx0W3BvaW50c109XCJwb2ludHMoKVwiXG5cdFx0XHRcdFx0W29wdGlvbnNdPVwie1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IFstbGVuZ3RoKCkgLyAyLCAtbGVuZ3RoKCkgLyAyLCAwXSxcblx0XHRcdFx0XHRcdHRyYW5zcGFyZW50OiB0cnVlLFxuXHRcdFx0XHRcdFx0ZGVwdGhUZXN0OiBwaXZvdENvbnRyb2xzLmRlcHRoVGVzdCgpLFxuXHRcdFx0XHRcdFx0bGluZVdpZHRoOiBwaXZvdENvbnRyb2xzLmxpbmVXaWR0aCgpLFxuXHRcdFx0XHRcdFx0Y29sb3I6IGNvbG9yKCksXG5cdFx0XHRcdFx0XHRvcGFjaXR5OiBwaXZvdENvbnRyb2xzLm9wYWNpdHkoKSxcblx0XHRcdFx0XHRcdHBvbHlnb25PZmZzZXQ6IHRydWUsXG5cdFx0XHRcdFx0XHRwb2x5Z29uT2Zmc2V0RmFjdG9yOiAtMTAsXG5cdFx0XHRcdFx0XHR1c2VyRGF0YTogcGl2b3RDb250cm9scy51c2VyRGF0YSgpLFxuXHRcdFx0XHRcdFx0Zm9nOiBmYWxzZSxcblx0XHRcdFx0XHR9XCJcblx0XHRcdFx0Lz5cblx0XHRcdDwvbmd0LWdyb3VwPlxuXHRcdDwvbmd0LWdyb3VwPlxuXHRgLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRpbXBvcnRzOiBbTmd0c0hUTUwsIE5ndHNIVE1MQ29udGVudCwgTmd0c0xpbmVdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzUGxhbmVTbGlkZXIge1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgRG91YmxlU2lkZSA9IERvdWJsZVNpZGU7XG5cblx0ZGlyMSA9IGlucHV0LnJlcXVpcmVkPFZlY3RvcjM+KCk7XG5cdGRpcjIgPSBpbnB1dC5yZXF1aXJlZDxWZWN0b3IzPigpO1xuXHRheGlzID0gaW5wdXQucmVxdWlyZWQ8MCB8IDEgfCAyPigpO1xuXG5cdGdyb3VwUmVmID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8R3JvdXA+PignZ3JvdXAnKTtcblx0YW5ub3RhdGlvblJlZiA9IHZpZXdDaGlsZDx1bmtub3duLCBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50Pj4oJ2Fubm90YXRpb24nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSk7XG5cblx0cGl2b3RDb250cm9scyA9IGluamVjdChOZ3RzUGl2b3RDb250cm9scyk7XG5cdHByaXZhdGUgc3RvcmUgPSBpbmplY3RTdG9yZSgpO1xuXHRwcml2YXRlIGNvbnRyb2xzID0gdGhpcy5zdG9yZS5zZWxlY3QoJ2NvbnRyb2xzJykgYXMgdW5rbm93biBhcyBTaWduYWw8eyBlbmFibGVkOiBib29sZWFuIH0+O1xuXG5cdHByaXZhdGUgaG92ZXJlZCA9IHNpZ25hbChmYWxzZSk7XG5cdHByaXZhdGUgY2xpY2tJbmZvOiB7IGNsaWNrUG9pbnQ6IFZlY3RvcjM7IGUxOiBWZWN0b3IzOyBlMjogVmVjdG9yMzsgcGxhbmU6IFBsYW5lIH0gfCBudWxsID0gbnVsbDtcblx0cHJpdmF0ZSBvZmZzZXRYMCA9IDA7XG5cdHByaXZhdGUgb2Zmc2V0WTAgPSAwO1xuXG5cdG1hdHJpeEwgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3QgZGlyMU4gPSB0aGlzLmRpcjEoKS5jbG9uZSgpLm5vcm1hbGl6ZSgpO1xuXHRcdGNvbnN0IGRpcjJOID0gdGhpcy5kaXIyKCkuY2xvbmUoKS5ub3JtYWxpemUoKTtcblx0XHRyZXR1cm4gbmV3IE1hdHJpeDQoKS5tYWtlQmFzaXMoZGlyMU4sIGRpcjJOLCBkaXIxTi5jbG9uZSgpLmNyb3NzKGRpcjJOKSk7XG5cdH0pO1xuXG5cdHBvczEgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5waXZvdENvbnRyb2xzLmZpeGVkKCkgPyAxIC8gNyA6IHRoaXMucGl2b3RDb250cm9scy5zY2FsZSgpIC8gNykpO1xuXHRsZW5ndGggPSBjb21wdXRlZCgoKSA9PiAodGhpcy5waXZvdENvbnRyb2xzLmZpeGVkKCkgPyAwLjIyNSA6IHRoaXMucGl2b3RDb250cm9scy5zY2FsZSgpICogMC4yMjUpKTtcblx0Y29sb3IgPSBjb21wdXRlZCgoKSA9PlxuXHRcdHRoaXMuaG92ZXJlZCgpID8gdGhpcy5waXZvdENvbnRyb2xzLmhvdmVyZWRDb2xvcigpIDogdGhpcy5waXZvdENvbnRyb2xzLmF4aXNDb2xvcnMoKVt0aGlzLmF4aXMoKV0sXG5cdCk7XG5cdHBvaW50cyA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCBsZW5ndGggPSB0aGlzLmxlbmd0aCgpO1xuXHRcdHJldHVybiBbXG5cdFx0XHRuZXcgVmVjdG9yMygwLCAwLCAwKSxcblx0XHRcdG5ldyBWZWN0b3IzKDAsIGxlbmd0aCwgMCksXG5cdFx0XHRuZXcgVmVjdG9yMyhsZW5ndGgsIGxlbmd0aCwgMCksXG5cdFx0XHRuZXcgVmVjdG9yMyhsZW5ndGgsIDAsIDApLFxuXHRcdFx0bmV3IFZlY3RvcjMoMCwgMCwgMCksXG5cdFx0XTtcblx0fSk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0ZXh0ZW5kKHsgR3JvdXAsIE1lc2gsIFBsYW5lR2VvbWV0cnksIE1lc2hCYXNpY01hdGVyaWFsIH0pO1xuXHR9XG5cblx0b25Qb2ludGVyRG93bihldmVudDogTmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+KSB7XG5cdFx0Y29uc3QgW2Fubm90YXRpb24sIGF4aXMsIGdyb3VwLCBjb250cm9sc10gPSBbXG5cdFx0XHR0aGlzLmFubm90YXRpb25SZWYoKT8ubmF0aXZlRWxlbWVudCxcblx0XHRcdHRoaXMuYXhpcygpLFxuXHRcdFx0dGhpcy5ncm91cFJlZigpLm5hdGl2ZUVsZW1lbnQsXG5cdFx0XHR0aGlzLmNvbnRyb2xzKCksXG5cdFx0XTtcblxuXHRcdGlmIChhbm5vdGF0aW9uKSB7XG5cdFx0XHRhbm5vdGF0aW9uLmlubmVyVGV4dCA9IGAke3RoaXMucGl2b3RDb250cm9scy50cmFuc2xhdGlvblsoYXhpcyArIDEpICUgM10udG9GaXhlZCgyKX0sICR7dGhpcy5waXZvdENvbnRyb2xzLnRyYW5zbGF0aW9uWyhheGlzICsgMikgJSAzXS50b0ZpeGVkKDIpfWA7XG5cdFx0XHRhbm5vdGF0aW9uLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuXHRcdH1cblxuXHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdGNvbnN0IGNsaWNrUG9pbnQgPSBldmVudC5wb2ludC5jbG9uZSgpO1xuXHRcdGNvbnN0IG9yaWdpbiA9IG5ldyBWZWN0b3IzKCkuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKGdyb3VwLm1hdHJpeFdvcmxkKTtcblx0XHRjb25zdCBlMSA9IG5ldyBWZWN0b3IzKCkuc2V0RnJvbU1hdHJpeENvbHVtbihncm91cC5tYXRyaXhXb3JsZCwgMCkubm9ybWFsaXplKCk7XG5cdFx0Y29uc3QgZTIgPSBuZXcgVmVjdG9yMygpLnNldEZyb21NYXRyaXhDb2x1bW4oZ3JvdXAubWF0cml4V29ybGQsIDEpLm5vcm1hbGl6ZSgpO1xuXHRcdGNvbnN0IG5vcm1hbCA9IG5ldyBWZWN0b3IzKCkuc2V0RnJvbU1hdHJpeENvbHVtbihncm91cC5tYXRyaXhXb3JsZCwgMikubm9ybWFsaXplKCk7XG5cdFx0Y29uc3QgcGxhbmUgPSBuZXcgUGxhbmUoKS5zZXRGcm9tTm9ybWFsQW5kQ29wbGFuYXJQb2ludChub3JtYWwsIG9yaWdpbik7XG5cdFx0dGhpcy5jbGlja0luZm8gPSB7IGNsaWNrUG9pbnQsIGUxLCBlMiwgcGxhbmUgfTtcblx0XHR0aGlzLm9mZnNldFgwID0gdGhpcy5waXZvdENvbnRyb2xzLnRyYW5zbGF0aW9uWyhheGlzICsgMSkgJSAzXTtcblx0XHR0aGlzLm9mZnNldFkwID0gdGhpcy5waXZvdENvbnRyb2xzLnRyYW5zbGF0aW9uWyhheGlzICsgMikgJSAzXTtcblx0XHR0aGlzLnBpdm90Q29udHJvbHMub25EcmFnU3RhcnQoeyBjb21wb25lbnQ6ICdTbGlkZXInLCBheGlzLCBvcmlnaW4sIGRpcmVjdGlvbnM6IFtlMSwgZTIsIG5vcm1hbF0gfSk7XG5cdFx0aWYgKGNvbnRyb2xzKSB7XG5cdFx0XHRjb250cm9scy5lbmFibGVkID0gZmFsc2U7XG5cdFx0fVxuXG5cdFx0Ly8gQHRzLWV4cGVjdC1lcnJvciAtIHNldFBvaW50ZXJDYXB0dXJlIGlzIG5vdCBkZWZpbmVkIG9uIFRocmVlRXZlbnRcblx0XHRldmVudC50YXJnZXQuc2V0UG9pbnRlckNhcHR1cmUoZXZlbnQucG9pbnRlcklkKTtcblx0fVxuXG5cdG9uUG9pbnRlck1vdmUoZXZlbnQ6IE5ndFRocmVlRXZlbnQ8UG9pbnRlckV2ZW50Pikge1xuXHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdGlmICghdGhpcy5ob3ZlcmVkKCkpIHRoaXMuaG92ZXJlZC5zZXQodHJ1ZSk7XG5cblx0XHRpZiAodGhpcy5jbGlja0luZm8pIHtcblx0XHRcdGNvbnN0IHsgY2xpY2tQb2ludCwgZTEsIGUyLCBwbGFuZSB9ID0gdGhpcy5jbGlja0luZm87XG5cdFx0XHRjb25zdCBbdHJhbnNsYXRpb25MaW1pdHMsIGF4aXMsIGFubm90YXRpb25dID0gW1xuXHRcdFx0XHR0aGlzLnBpdm90Q29udHJvbHMudHJhbnNsYXRpb25MaW1pdHMoKSxcblx0XHRcdFx0dGhpcy5heGlzKCksXG5cdFx0XHRcdHRoaXMuYW5ub3RhdGlvblJlZigpPy5uYXRpdmVFbGVtZW50LFxuXHRcdFx0XTtcblxuXHRcdFx0Y29uc3QgW21pblgsIG1heFhdID0gdHJhbnNsYXRpb25MaW1pdHM/LlsoYXhpcyArIDEpICUgM10gfHwgW3VuZGVmaW5lZCwgdW5kZWZpbmVkXTtcblx0XHRcdGNvbnN0IFttaW5ZLCBtYXhZXSA9IHRyYW5zbGF0aW9uTGltaXRzPy5bKGF4aXMgKyAyKSAlIDNdIHx8IFt1bmRlZmluZWQsIHVuZGVmaW5lZF07XG5cblx0XHRcdHJheS5jb3B5KGV2ZW50LnJheSk7XG5cdFx0XHRyYXkuaW50ZXJzZWN0UGxhbmUocGxhbmUsIGludGVyc2VjdGlvbik7XG5cdFx0XHRyYXkuZGlyZWN0aW9uLm5lZ2F0ZSgpO1xuXHRcdFx0cmF5LmludGVyc2VjdFBsYW5lKHBsYW5lLCBpbnRlcnNlY3Rpb24pO1xuXHRcdFx0aW50ZXJzZWN0aW9uLnN1YihjbGlja1BvaW50KTtcblx0XHRcdGxldCBbb2Zmc2V0WCwgb2Zmc2V0WV0gPSBkZWNvbXBvc2VJbnRvQmFzaXMoZTEsIGUyLCBpbnRlcnNlY3Rpb24pO1xuXHRcdFx0LyogbGV0IG9mZnNldFkgPSAoaW50ZXJzZWN0aW9uLnkgLSAoaW50ZXJzZWN0aW9uLnggKiBlMS55KSAvIGUxLngpIC8gKGUyLnkgLSAoZTIueCAqIGUxLnkpIC8gZTEueClcbiAgICAgIGxldCBvZmZzZXRYID0gKGludGVyc2VjdGlvbi54IC0gb2Zmc2V0WSAqIGUyLngpIC8gZTEueCAqL1xuXHRcdFx0aWYgKG1pblggIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRvZmZzZXRYID0gTWF0aC5tYXgob2Zmc2V0WCwgbWluWCAtIHRoaXMub2Zmc2V0WDApO1xuXHRcdFx0fVxuXHRcdFx0aWYgKG1heFggIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRvZmZzZXRYID0gTWF0aC5taW4ob2Zmc2V0WCwgbWF4WCAtIHRoaXMub2Zmc2V0WDApO1xuXHRcdFx0fVxuXHRcdFx0aWYgKG1pblkgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRvZmZzZXRZID0gTWF0aC5tYXgob2Zmc2V0WSwgbWluWSAtIHRoaXMub2Zmc2V0WTApO1xuXHRcdFx0fVxuXHRcdFx0aWYgKG1heFkgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRvZmZzZXRZID0gTWF0aC5taW4ob2Zmc2V0WSwgbWF4WSAtIHRoaXMub2Zmc2V0WTApO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5waXZvdENvbnRyb2xzLnRyYW5zbGF0aW9uWyhheGlzICsgMSkgJSAzXSA9IHRoaXMub2Zmc2V0WDAgKyBvZmZzZXRYO1xuXHRcdFx0dGhpcy5waXZvdENvbnRyb2xzLnRyYW5zbGF0aW9uWyhheGlzICsgMikgJSAzXSA9IHRoaXMub2Zmc2V0WTAgKyBvZmZzZXRZO1xuXG5cdFx0XHRpZiAoYW5ub3RhdGlvbikge1xuXHRcdFx0XHRhbm5vdGF0aW9uLmlubmVyVGV4dCA9IGAke3RoaXMucGl2b3RDb250cm9scy50cmFuc2xhdGlvblsoYXhpcyArIDEpICUgM10udG9GaXhlZCgyKX0sICR7dGhpcy5waXZvdENvbnRyb2xzLnRyYW5zbGF0aW9uWyhheGlzICsgMikgJSAzXS50b0ZpeGVkKDIpfWA7XG5cdFx0XHR9XG5cblx0XHRcdG9mZnNldE1hdHJpeC5tYWtlVHJhbnNsYXRpb24oXG5cdFx0XHRcdG9mZnNldFggKiBlMS54ICsgb2Zmc2V0WSAqIGUyLngsXG5cdFx0XHRcdG9mZnNldFggKiBlMS55ICsgb2Zmc2V0WSAqIGUyLnksXG5cdFx0XHRcdG9mZnNldFggKiBlMS56ICsgb2Zmc2V0WSAqIGUyLnosXG5cdFx0XHQpO1xuXHRcdFx0dGhpcy5waXZvdENvbnRyb2xzLm9uRHJhZyhvZmZzZXRNYXRyaXgpO1xuXHRcdH1cblx0fVxuXG5cdG9uUG9pbnRlclVwKGV2ZW50OiBOZ3RUaHJlZUV2ZW50PFBvaW50ZXJFdmVudD4pIHtcblx0XHRjb25zdCBbYW5ub3RhdGlvbiwgY29udHJvbHNdID0gW3RoaXMuYW5ub3RhdGlvblJlZigpPy5uYXRpdmVFbGVtZW50LCB0aGlzLmNvbnRyb2xzKCldO1xuXHRcdGlmIChhbm5vdGF0aW9uKSB7XG5cdFx0XHRhbm5vdGF0aW9uLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG5cdFx0fVxuXHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdHRoaXMuY2xpY2tJbmZvID0gbnVsbDtcblx0XHR0aGlzLnBpdm90Q29udHJvbHMub25EcmFnRW5kKCk7XG5cdFx0aWYgKGNvbnRyb2xzKSB7XG5cdFx0XHRjb250cm9scy5lbmFibGVkID0gdHJ1ZTtcblx0XHR9XG5cdFx0Ly8gQHRzLWV4cGVjdC1lcnJvciAtIHJlbGVhc2VQb2ludGVyQ2FwdHVyZSBpcyBub3QgZGVmaW5lZCBvbiBUaHJlZUV2ZW50XG5cdFx0ZXZlbnQudGFyZ2V0LnJlbGVhc2VQb2ludGVyQ2FwdHVyZShldmVudC5wb2ludGVySWQpO1xuXHR9XG5cblx0b25Qb2ludGVyT3V0KGV2ZW50OiBOZ3RUaHJlZUV2ZW50PFBvaW50ZXJFdmVudD4pIHtcblx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblx0XHR0aGlzLmhvdmVyZWQuc2V0KGZhbHNlKTtcblx0fVxufVxuIl19
|
|
266
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmUtc2xpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9zb2JhL2dpem1vcy9zcmMvbGliL3Bpdm90LWNvbnRyb2xzL3BsYW5lLXNsaWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ04sdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1Isc0JBQXNCLEVBQ3RCLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQWlCLE1BQU0sZUFBZSxDQUFDO0FBQ25FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMzRCxPQUFPLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sT0FBTyxDQUFDO0FBQ2hILE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUVyRCxTQUFTLGtCQUFrQixDQUFDLEVBQVcsRUFBRSxFQUFXLEVBQUUsTUFBZTtJQUNwRSxNQUFNLEVBQUUsR0FDUCxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDbkUsQ0FBQyxDQUFDLENBQUM7UUFDSCxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ3JFLENBQUMsQ0FBQyxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNQLE1BQU0sZUFBZSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzlHLE1BQU0sRUFBRSxHQUFHLEVBQUUsS0FBSyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQy9FLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0IsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvQixNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQy9CLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDL0IsTUFBTSxFQUFFLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNuQyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxD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QU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUUsUUFBUSxDQUFDO2lCQUM5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdGNvbXB1dGVkLFxuXHRDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuXHRFbGVtZW50UmVmLFxuXHRpbmplY3QsXG5cdGlucHV0LFxuXHRzaWduYWwsXG5cdFNpZ25hbCxcblx0dmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGV4dGVuZCwgaW5qZWN0U3RvcmUsIE5ndFRocmVlRXZlbnQgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IE5ndHNMaW5lIH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL2Fic3RyYWN0aW9ucyc7XG5pbXBvcnQgeyBOZ3RzSFRNTCwgTmd0c0hUTUxDb250ZW50IH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL21pc2MnO1xuaW1wb3J0IHsgRG91YmxlU2lkZSwgR3JvdXAsIE1hdHJpeDQsIE1lc2gsIE1lc2hCYXNpY01hdGVyaWFsLCBQbGFuZSwgUGxhbmVHZW9tZXRyeSwgUmF5LCBWZWN0b3IzIH0gZnJvbSAndGhyZWUnO1xuaW1wb3J0IHsgTmd0c1Bpdm90Q29udHJvbHMgfSBmcm9tICcuL3Bpdm90LWNvbnRyb2xzJztcblxuZnVuY3Rpb24gZGVjb21wb3NlSW50b0Jhc2lzKGUxOiBWZWN0b3IzLCBlMjogVmVjdG9yMywgb2Zmc2V0OiBWZWN0b3IzKSB7XG5cdGNvbnN0IGkxID1cblx0XHRNYXRoLmFicyhlMS54KSA+PSBNYXRoLmFicyhlMS55KSAmJiBNYXRoLmFicyhlMS54KSA+PSBNYXRoLmFicyhlMS56KVxuXHRcdFx0PyAwXG5cdFx0XHQ6IE1hdGguYWJzKGUxLnkpID49IE1hdGguYWJzKGUxLngpICYmIE1hdGguYWJzKGUxLnkpID49IE1hdGguYWJzKGUxLnopXG5cdFx0XHRcdD8gMVxuXHRcdFx0XHQ6IDI7XG5cdGNvbnN0IGUyRGVncm93dGhPcmRlciA9IFswLCAxLCAyXS5zb3J0KChhLCBiKSA9PiBNYXRoLmFicyhlMi5nZXRDb21wb25lbnQoYikpIC0gTWF0aC5hYnMoZTIuZ2V0Q29tcG9uZW50KGEpKSk7XG5cdGNvbnN0IGkyID0gaTEgPT09IGUyRGVncm93dGhPcmRlclswXSA/IGUyRGVncm93dGhPcmRlclsxXSA6IGUyRGVncm93dGhPcmRlclswXTtcblx0Y29uc3QgYTEgPSBlMS5nZXRDb21wb25lbnQoaTEpO1xuXHRjb25zdCBhMiA9IGUxLmdldENvbXBvbmVudChpMik7XG5cdGNvbnN0IGIxID0gZTIuZ2V0Q29tcG9uZW50KGkxKTtcblx0Y29uc3QgYjIgPSBlMi5nZXRDb21wb25lbnQoaTIpO1xuXHRjb25zdCBjMSA9IG9mZnNldC5nZXRDb21wb25lbnQoaTEpO1xuXHRjb25zdCBjMiA9IG9mZnNldC5nZXRDb21wb25lbnQoaTIpO1xuXG5cdGNvbnN0IHkgPSAoYzIgLSBjMSAqIChhMiAvIGExKSkgLyAoYjIgLSBiMSAqIChhMiAvIGExKSk7XG5cdGNvbnN0IHggPSAoYzEgLSB5ICogYjEpIC8gYTE7XG5cblx0cmV0dXJuIFt4LCB5XTtcbn1cblxuY29uc3QgcmF5ID0gbmV3IFJheSgpO1xuY29uc3QgaW50ZXJzZWN0aW9uID0gbmV3IFZlY3RvcjMoKTtcbmNvbnN0IG9mZnNldE1hdHJpeCA9IG5ldyBNYXRyaXg0KCk7XG5cbkBDb21wb25lbnQoe1xuXHRzZWxlY3RvcjogJ25ndHMtcGxhbmUtc2xpZGVyJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LWdyb3VwICNncm91cCBbbWF0cml4XT1cIm1hdHJpeEwoKVwiIFttYXRyaXhBdXRvVXBkYXRlXT1cImZhbHNlXCI+XG5cdFx0XHRAaWYgKHBpdm90Q29udHJvbHMuYW5ub3RhdGlvbnMoKSkge1xuXHRcdFx0XHQ8bmd0cy1odG1sIFtvcHRpb25zXT1cInsgcG9zaXRpb246IFswLCAwLCAwXSB9XCI+XG5cdFx0XHRcdFx0PGRpdlxuXHRcdFx0XHRcdFx0I2Fubm90YXRpb25cblx0XHRcdFx0XHRcdG5ndHNIVE1MQ29udGVudFxuXHRcdFx0XHRcdFx0c3R5bGU9XCJkaXNwbGF5OiBub25lOyBiYWNrZ3JvdW5kOiAjMTUxNTIwOyBjb2xvcjogd2hpdGU7IHBhZGRpbmc6IDZweCA4cHg7IGJvcmRlci1yYWRpdXM6IDdweDsgd2hpdGUtc3BhY2U6IG5vd3JhcFwiXG5cdFx0XHRcdFx0XHRbY2xhc3NdPVwicGl2b3RDb250cm9scy5hbm5vdGF0aW9uc0NsYXNzKClcIlxuXHRcdFx0XHRcdD48L2Rpdj5cblx0XHRcdFx0PC9uZ3RzLWh0bWw+XG5cdFx0XHR9XG5cdFx0XHQ8bmd0LWdyb3VwIFtwb3NpdGlvbl09XCJbcG9zMSgpICogMS43LCBwb3MxKCkgKiAxLjcsIDBdXCI+XG5cdFx0XHRcdDxuZ3QtbWVzaFxuXHRcdFx0XHRcdFt2aXNpYmxlXT1cInRydWVcIlxuXHRcdFx0XHRcdFtzY2FsZV09XCJsZW5ndGgoKVwiXG5cdFx0XHRcdFx0W3VzZXJEYXRhXT1cInBpdm90Q29udHJvbHMudXNlckRhdGEoKVwiXG5cdFx0XHRcdFx0KHBvaW50ZXJkb3duKT1cIm9uUG9pbnRlckRvd24oJGFueSgkZXZlbnQpKVwiXG5cdFx0XHRcdFx0KHBvaW50ZXJtb3ZlKT1cIm9uUG9pbnRlck1vdmUoJGFueSgkZXZlbnQpKVwiXG5cdFx0XHRcdFx0KHBvaW50ZXJ1cCk9XCJvblBvaW50ZXJVcCgkYW55KCRldmVudCkpXCJcblx0XHRcdFx0XHQocG9pbnRlcm91dCk9XCJvblBvaW50ZXJPdXQoJGFueSgkZXZlbnQpKVwiXG5cdFx0XHRcdD5cblx0XHRcdFx0XHQ8bmd0LXBsYW5lLWdlb21ldHJ5IC8+XG5cdFx0XHRcdFx0PG5ndC1tZXNoLWJhc2ljLW1hdGVyaWFsXG5cdFx0XHRcdFx0XHRbdHJhbnNwYXJlbnRdPVwidHJ1ZVwiXG5cdFx0XHRcdFx0XHRbZGVwdGhUZXN0XT1cInBpdm90Q29udHJvbHMuZGVwdGhUZXN0KClcIlxuXHRcdFx0XHRcdFx0W2NvbG9yXT1cImNvbG9yKClcIlxuXHRcdFx0XHRcdFx0W3BvbHlnb25PZmZzZXRdPVwidHJ1ZVwiXG5cdFx0XHRcdFx0XHRbcG9seWdvbk9mZnNldEZhY3Rvcl09XCItMTBcIlxuXHRcdFx0XHRcdFx0W3NpZGVdPVwiRG91YmxlU2lkZVwiXG5cdFx0XHRcdFx0XHRbZm9nXT1cImZhbHNlXCJcblx0XHRcdFx0XHQvPlxuXHRcdFx0XHQ8L25ndC1tZXNoPlxuXHRcdFx0XHQ8bmd0cy1saW5lXG5cdFx0XHRcdFx0W3BvaW50c109XCJwb2ludHMoKVwiXG5cdFx0XHRcdFx0W29wdGlvbnNdPVwie1xuXHRcdFx0XHRcdFx0cG9zaXRpb246IFstbGVuZ3RoKCkgLyAyLCAtbGVuZ3RoKCkgLyAyLCAwXSxcblx0XHRcdFx0XHRcdHRyYW5zcGFyZW50OiB0cnVlLFxuXHRcdFx0XHRcdFx0ZGVwdGhUZXN0OiBwaXZvdENvbnRyb2xzLmRlcHRoVGVzdCgpLFxuXHRcdFx0XHRcdFx0bGluZVdpZHRoOiBwaXZvdENvbnRyb2xzLmxpbmVXaWR0aCgpLFxuXHRcdFx0XHRcdFx0Y29sb3I6IGNvbG9yKCksXG5cdFx0XHRcdFx0XHRvcGFjaXR5OiBwaXZvdENvbnRyb2xzLm9wYWNpdHkoKSxcblx0XHRcdFx0XHRcdHBvbHlnb25PZmZzZXQ6IHRydWUsXG5cdFx0XHRcdFx0XHRwb2x5Z29uT2Zmc2V0RmFjdG9yOiAtMTAsXG5cdFx0XHRcdFx0XHR1c2VyRGF0YTogcGl2b3RDb250cm9scy51c2VyRGF0YSgpLFxuXHRcdFx0XHRcdFx0Zm9nOiBmYWxzZSxcblx0XHRcdFx0XHR9XCJcblx0XHRcdFx0Lz5cblx0XHRcdDwvbmd0LWdyb3VwPlxuXHRcdDwvbmd0LWdyb3VwPlxuXHRgLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRpbXBvcnRzOiBbTmd0c0hUTUwsIE5ndHNIVE1MQ29udGVudCwgTmd0c0xpbmVdLFxufSlcbmV4cG9ydCBjbGFzcyBOZ3RzUGxhbmVTbGlkZXIge1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgRG91YmxlU2lkZSA9IERvdWJsZVNpZGU7XG5cblx0ZGlyMSA9IGlucHV0LnJlcXVpcmVkPFZlY3RvcjM+KCk7XG5cdGRpcjIgPSBpbnB1dC5yZXF1aXJlZDxWZWN0b3IzPigpO1xuXHRheGlzID0gaW5wdXQucmVxdWlyZWQ8MCB8IDEgfCAyPigpO1xuXG5cdGdyb3VwUmVmID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8R3JvdXA+PignZ3JvdXAnKTtcblx0YW5ub3RhdGlvblJlZiA9IHZpZXdDaGlsZDx1bmtub3duLCBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50Pj4oJ2Fubm90YXRpb24nLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSk7XG5cblx0cGl2b3RDb250cm9scyA9IGluamVjdChOZ3RzUGl2b3RDb250cm9scyk7XG5cdHByaXZhdGUgc3RvcmUgPSBpbmplY3RTdG9yZSgpO1xuXHRwcml2YXRlIGNvbnRyb2xzID0gdGhpcy5zdG9yZS5zZWxlY3QoJ2NvbnRyb2xzJykgYXMgdW5rbm93biBhcyBTaWduYWw8eyBlbmFibGVkOiBib29sZWFuIH0+O1xuXG5cdHByaXZhdGUgaG92ZXJlZCA9IHNpZ25hbChmYWxzZSk7XG5cdHByaXZhdGUgY2xpY2tJbmZvOiB7IGNsaWNrUG9pbnQ6IFZlY3RvcjM7IGUxOiBWZWN0b3IzOyBlMjogVmVjdG9yMzsgcGxhbmU6IFBsYW5lIH0gfCBudWxsID0gbnVsbDtcblx0cHJpdmF0ZSBvZmZzZXRYMCA9IDA7XG5cdHByaXZhdGUgb2Zmc2V0WTAgPSAwO1xuXG5cdG1hdHJpeEwgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3QgZGlyMU4gPSB0aGlzLmRpcjEoKS5jbG9uZSgpLm5vcm1hbGl6ZSgpO1xuXHRcdGNvbnN0IGRpcjJOID0gdGhpcy5kaXIyKCkuY2xvbmUoKS5ub3JtYWxpemUoKTtcblx0XHRyZXR1cm4gbmV3IE1hdHJpeDQoKS5tYWtlQmFzaXMoZGlyMU4sIGRpcjJOLCBkaXIxTi5jbG9uZSgpLmNyb3NzKGRpcjJOKSk7XG5cdH0pO1xuXG5cdHBvczEgPSBjb21wdXRlZCgoKSA9PiAodGhpcy5waXZvdENvbnRyb2xzLmZpeGVkKCkgPyAxIC8gNyA6IHRoaXMucGl2b3RDb250cm9scy5zY2FsZSgpIC8gNykpO1xuXHRsZW5ndGggPSBjb21wdXRlZCgoKSA9PiAodGhpcy5waXZvdENvbnRyb2xzLmZpeGVkKCkgPyAwLjIyNSA6IHRoaXMucGl2b3RDb250cm9scy5zY2FsZSgpICogMC4yMjUpKTtcblx0Y29sb3IgPSBjb21wdXRlZCgoKSA9PlxuXHRcdHRoaXMuaG92ZXJlZCgpID8gdGhpcy5waXZvdENvbnRyb2xzLmhvdmVyZWRDb2xvcigpIDogdGhpcy5waXZvdENvbnRyb2xzLmF4aXNDb2xvcnMoKVt0aGlzLmF4aXMoKV0sXG5cdCk7XG5cdHBvaW50cyA9IGNvbXB1dGVkKCgpID0+IHtcblx0XHRjb25zdCBsZW5ndGggPSB0aGlzLmxlbmd0aCgpO1xuXHRcdHJldHVybiBbXG5cdFx0XHRuZXcgVmVjdG9yMygwLCAwLCAwKSxcblx0XHRcdG5ldyBWZWN0b3IzKDAsIGxlbmd0aCwgMCksXG5cdFx0XHRuZXcgVmVjdG9yMyhsZW5ndGgsIGxlbmd0aCwgMCksXG5cdFx0XHRuZXcgVmVjdG9yMyhsZW5ndGgsIDAsIDApLFxuXHRcdFx0bmV3IFZlY3RvcjMoMCwgMCwgMCksXG5cdFx0XTtcblx0fSk7XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0ZXh0ZW5kKHsgR3JvdXAsIE1lc2gsIFBsYW5lR2VvbWV0cnksIE1lc2hCYXNpY01hdGVyaWFsIH0pO1xuXHR9XG5cblx0b25Qb2ludGVyRG93bihldmVudDogTmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+KSB7XG5cdFx0Y29uc3QgW2Fubm90YXRpb24sIGF4aXMsIGdyb3VwLCBjb250cm9sc10gPSBbXG5cdFx0XHR0aGlzLmFubm90YXRpb25SZWYoKT8ubmF0aXZlRWxlbWVudCxcblx0XHRcdHRoaXMuYXhpcygpLFxuXHRcdFx0dGhpcy5ncm91cFJlZigpLm5hdGl2ZUVsZW1lbnQsXG5cdFx0XHR0aGlzLmNvbnRyb2xzKCksXG5cdFx0XTtcblxuXHRcdGlmIChhbm5vdGF0aW9uKSB7XG5cdFx0XHRhbm5vdGF0aW9uLmlubmVyVGV4dCA9IGAke3RoaXMucGl2b3RDb250cm9scy50cmFuc2xhdGlvblsoYXhpcyArIDEpICUgM10udG9GaXhlZCgyKX0sICR7dGhpcy5waXZvdENvbnRyb2xzLnRyYW5zbGF0aW9uWyhheGlzICsgMikgJSAzXS50b0ZpeGVkKDIpfWA7XG5cdFx0XHRhbm5vdGF0aW9uLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuXHRcdH1cblxuXHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdGNvbnN0IGNsaWNrUG9pbnQgPSBldmVudC5wb2ludC5jbG9uZSgpO1xuXHRcdGNvbnN0IG9yaWdpbiA9IG5ldyBWZWN0b3IzKCkuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKGdyb3VwLm1hdHJpeFdvcmxkKTtcblx0XHRjb25zdCBlMSA9IG5ldyBWZWN0b3IzKCkuc2V0RnJvbU1hdHJpeENvbHVtbihncm91cC5tYXRyaXhXb3JsZCwgMCkubm9ybWFsaXplKCk7XG5cdFx0Y29uc3QgZTIgPSBuZXcgVmVjdG9yMygpLnNldEZyb21NYXRyaXhDb2x1bW4oZ3JvdXAubWF0cml4V29ybGQsIDEpLm5vcm1hbGl6ZSgpO1xuXHRcdGNvbnN0IG5vcm1hbCA9IG5ldyBWZWN0b3IzKCkuc2V0RnJvbU1hdHJpeENvbHVtbihncm91cC5tYXRyaXhXb3JsZCwgMikubm9ybWFsaXplKCk7XG5cdFx0Y29uc3QgcGxhbmUgPSBuZXcgUGxhbmUoKS5zZXRGcm9tTm9ybWFsQW5kQ29wbGFuYXJQb2ludChub3JtYWwsIG9yaWdpbik7XG5cdFx0dGhpcy5jbGlja0luZm8gPSB7IGNsaWNrUG9pbnQsIGUxLCBlMiwgcGxhbmUgfTtcblx0XHR0aGlzLm9mZnNldFgwID0gdGhpcy5waXZvdENvbnRyb2xzLnRyYW5zbGF0aW9uWyhheGlzICsgMSkgJSAzXTtcblx0XHR0aGlzLm9mZnNldFkwID0gdGhpcy5waXZvdENvbnRyb2xzLnRyYW5zbGF0aW9uWyhheGlzICsgMikgJSAzXTtcblx0XHR0aGlzLnBpdm90Q29udHJvbHMub25EcmFnU3RhcnQoeyBjb21wb25lbnQ6ICdTbGlkZXInLCBheGlzLCBvcmlnaW4sIGRpcmVjdGlvbnM6IFtlMSwgZTIsIG5vcm1hbF0gfSk7XG5cdFx0aWYgKGNvbnRyb2xzKSB7XG5cdFx0XHRjb250cm9scy5lbmFibGVkID0gZmFsc2U7XG5cdFx0fVxuXG5cdFx0Ly8gQHRzLWV4cGVjdC1lcnJvciAtIHNldFBvaW50ZXJDYXB0dXJlIGlzIG5vdCBkZWZpbmVkIG9uIFRocmVlRXZlbnRcblx0XHRldmVudC50YXJnZXQuc2V0UG9pbnRlckNhcHR1cmUoZXZlbnQucG9pbnRlcklkKTtcblx0fVxuXG5cdG9uUG9pbnRlck1vdmUoZXZlbnQ6IE5ndFRocmVlRXZlbnQ8UG9pbnRlckV2ZW50Pikge1xuXHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdGlmICghdGhpcy5ob3ZlcmVkKCkpIHRoaXMuaG92ZXJlZC5zZXQodHJ1ZSk7XG5cblx0XHRpZiAodGhpcy5jbGlja0luZm8pIHtcblx0XHRcdGNvbnN0IHsgY2xpY2tQb2ludCwgZTEsIGUyLCBwbGFuZSB9ID0gdGhpcy5jbGlja0luZm87XG5cdFx0XHRjb25zdCBbdHJhbnNsYXRpb25MaW1pdHMsIGF4aXMsIGFubm90YXRpb25dID0gW1xuXHRcdFx0XHR0aGlzLnBpdm90Q29udHJvbHMudHJhbnNsYXRpb25MaW1pdHMoKSxcblx0XHRcdFx0dGhpcy5heGlzKCksXG5cdFx0XHRcdHRoaXMuYW5ub3RhdGlvblJlZigpPy5uYXRpdmVFbGVtZW50LFxuXHRcdFx0XTtcblxuXHRcdFx0Y29uc3QgW21pblgsIG1heFhdID0gdHJhbnNsYXRpb25MaW1pdHM/LlsoYXhpcyArIDEpICUgM10gfHwgW3VuZGVmaW5lZCwgdW5kZWZpbmVkXTtcblx0XHRcdGNvbnN0IFttaW5ZLCBtYXhZXSA9IHRyYW5zbGF0aW9uTGltaXRzPy5bKGF4aXMgKyAyKSAlIDNdIHx8IFt1bmRlZmluZWQsIHVuZGVmaW5lZF07XG5cblx0XHRcdHJheS5jb3B5KGV2ZW50LnJheSk7XG5cdFx0XHRyYXkuaW50ZXJzZWN0UGxhbmUocGxhbmUsIGludGVyc2VjdGlvbik7XG5cdFx0XHRyYXkuZGlyZWN0aW9uLm5lZ2F0ZSgpO1xuXHRcdFx0cmF5LmludGVyc2VjdFBsYW5lKHBsYW5lLCBpbnRlcnNlY3Rpb24pO1xuXHRcdFx0aW50ZXJzZWN0aW9uLnN1YihjbGlja1BvaW50KTtcblx0XHRcdGxldCBbb2Zmc2V0WCwgb2Zmc2V0WV0gPSBkZWNvbXBvc2VJbnRvQmFzaXMoZTEsIGUyLCBpbnRlcnNlY3Rpb24pO1xuXHRcdFx0LyogbGV0IG9mZnNldFkgPSAoaW50ZXJzZWN0aW9uLnkgLSAoaW50ZXJzZWN0aW9uLnggKiBlMS55KSAvIGUxLngpIC8gKGUyLnkgLSAoZTIueCAqIGUxLnkpIC8gZTEueClcbiAgICAgIGxldCBvZmZzZXRYID0gKGludGVyc2VjdGlvbi54IC0gb2Zmc2V0WSAqIGUyLngpIC8gZTEueCAqL1xuXHRcdFx0aWYgKG1pblggIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRvZmZzZXRYID0gTWF0aC5tYXgob2Zmc2V0WCwgbWluWCAtIHRoaXMub2Zmc2V0WDApO1xuXHRcdFx0fVxuXHRcdFx0aWYgKG1heFggIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRvZmZzZXRYID0gTWF0aC5taW4ob2Zmc2V0WCwgbWF4WCAtIHRoaXMub2Zmc2V0WDApO1xuXHRcdFx0fVxuXHRcdFx0aWYgKG1pblkgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRvZmZzZXRZID0gTWF0aC5tYXgob2Zmc2V0WSwgbWluWSAtIHRoaXMub2Zmc2V0WTApO1xuXHRcdFx0fVxuXHRcdFx0aWYgKG1heFkgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRvZmZzZXRZID0gTWF0aC5taW4ob2Zmc2V0WSwgbWF4WSAtIHRoaXMub2Zmc2V0WTApO1xuXHRcdFx0fVxuXHRcdFx0dGhpcy5waXZvdENvbnRyb2xzLnRyYW5zbGF0aW9uWyhheGlzICsgMSkgJSAzXSA9IHRoaXMub2Zmc2V0WDAgKyBvZmZzZXRYO1xuXHRcdFx0dGhpcy5waXZvdENvbnRyb2xzLnRyYW5zbGF0aW9uWyhheGlzICsgMikgJSAzXSA9IHRoaXMub2Zmc2V0WTAgKyBvZmZzZXRZO1xuXG5cdFx0XHRpZiAoYW5ub3RhdGlvbikge1xuXHRcdFx0XHRhbm5vdGF0aW9uLmlubmVyVGV4dCA9IGAke3RoaXMucGl2b3RDb250cm9scy50cmFuc2xhdGlvblsoYXhpcyArIDEpICUgM10udG9GaXhlZCgyKX0sICR7dGhpcy5waXZvdENvbnRyb2xzLnRyYW5zbGF0aW9uWyhheGlzICsgMikgJSAzXS50b0ZpeGVkKDIpfWA7XG5cdFx0XHR9XG5cblx0XHRcdG9mZnNldE1hdHJpeC5tYWtlVHJhbnNsYXRpb24oXG5cdFx0XHRcdG9mZnNldFggKiBlMS54ICsgb2Zmc2V0WSAqIGUyLngsXG5cdFx0XHRcdG9mZnNldFggKiBlMS55ICsgb2Zmc2V0WSAqIGUyLnksXG5cdFx0XHRcdG9mZnNldFggKiBlMS56ICsgb2Zmc2V0WSAqIGUyLnosXG5cdFx0XHQpO1xuXHRcdFx0dGhpcy5waXZvdENvbnRyb2xzLm9uRHJhZyhvZmZzZXRNYXRyaXgpO1xuXHRcdH1cblx0fVxuXG5cdG9uUG9pbnRlclVwKGV2ZW50OiBOZ3RUaHJlZUV2ZW50PFBvaW50ZXJFdmVudD4pIHtcblx0XHRjb25zdCBbYW5ub3RhdGlvbiwgY29udHJvbHNdID0gW3RoaXMuYW5ub3RhdGlvblJlZigpPy5uYXRpdmVFbGVtZW50LCB0aGlzLmNvbnRyb2xzKCldO1xuXHRcdGlmIChhbm5vdGF0aW9uKSB7XG5cdFx0XHRhbm5vdGF0aW9uLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG5cdFx0fVxuXHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdHRoaXMuY2xpY2tJbmZvID0gbnVsbDtcblx0XHR0aGlzLnBpdm90Q29udHJvbHMub25EcmFnRW5kKCk7XG5cdFx0aWYgKGNvbnRyb2xzKSB7XG5cdFx0XHRjb250cm9scy5lbmFibGVkID0gdHJ1ZTtcblx0XHR9XG5cdFx0Ly8gQHRzLWV4cGVjdC1lcnJvciAtIHJlbGVhc2VQb2ludGVyQ2FwdHVyZSBpcyBub3QgZGVmaW5lZCBvbiBUaHJlZUV2ZW50XG5cdFx0ZXZlbnQudGFyZ2V0LnJlbGVhc2VQb2ludGVyQ2FwdHVyZShldmVudC5wb2ludGVySWQpO1xuXHR9XG5cblx0b25Qb2ludGVyT3V0KGV2ZW50OiBOZ3RUaHJlZUV2ZW50PFBvaW50ZXJFdmVudD4pIHtcblx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblx0XHR0aGlzLmhvdmVyZWQuc2V0KGZhbHNlKTtcblx0fVxufVxuIl19
|
|
@@ -149,8 +149,8 @@ export class NgtsScalingSphere {
|
|
|
149
149
|
event.stopPropagation();
|
|
150
150
|
this.hovered.set(false);
|
|
151
151
|
}
|
|
152
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
153
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
152
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsScalingSphere, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
153
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.11", type: NgtsScalingSphere, isStandalone: true, selector: "ngts-scaling-sphere", inputs: { direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: true, transformFunction: null }, axis: { classPropertyName: "axis", publicName: "axis", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "groupRef", first: true, predicate: ["group"], descendants: true, isSignal: true }, { propertyName: "annotationRef", first: true, predicate: ["annotation"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "meshRef", first: true, predicate: ["mesh"], descendants: true, isSignal: true }], ngImport: i0, template: `
|
|
154
154
|
<ngt-group #group>
|
|
155
155
|
<ngt-group
|
|
156
156
|
[matrix]="matrixL()"
|
|
@@ -185,7 +185,7 @@ export class NgtsScalingSphere {
|
|
|
185
185
|
</ngt-group>
|
|
186
186
|
`, isInline: true, dependencies: [{ kind: "component", type: NgtsHTML, selector: "ngts-html", inputs: ["options"] }, { kind: "component", type: NgtsHTMLContent, selector: "[ngtsHTMLContent]", inputs: ["ngtsHTMLContent"], outputs: ["occluded"] }, { kind: "directive", type: NgtArgs, selector: "ng-template[args]", inputs: ["args"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
187
187
|
}
|
|
188
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
188
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.11", ngImport: i0, type: NgtsScalingSphere, decorators: [{
|
|
189
189
|
type: Component,
|
|
190
190
|
args: [{
|
|
191
191
|
selector: 'ngts-scaling-sphere',
|
|
@@ -229,4 +229,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
229
229
|
imports: [NgtsHTML, NgtsHTMLContent, NgtArgs],
|
|
230
230
|
}]
|
|
231
231
|
}], ctorParameters: () => [] });
|
|
232
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbGluZy1zcGhlcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvZ2l6bW9zL3NyYy9saWIvcGl2b3QtY29udHJvbHMvc2NhbGluZy1zcGhlcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLHNCQUFzQixFQUN0QixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRixPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDckcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRXJELE1BQU0sSUFBSSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7QUFDM0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUUzQixNQUFNLFVBQVUsZUFBZSxDQUFDLFVBQW1CLEVBQUUsTUFBZSxFQUFFLFFBQWlCLEVBQUUsTUFBZTtJQUN2RyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6RCxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsR0FB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QyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7OEdBeEpXLGlCQUFpQjtrR0FBakIsaUJBQWlCLDhnQkFLd0QsVUFBVSwrSUEzQ3JGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQ1QsNERBR1MsUUFBUSwyRUFBRSxlQUFlLGtIQUFFLE9BQU87OzJGQUVoQyxpQkFBaUI7a0JBekM3QixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQWlDVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUUsT0FBTyxDQUFDO2lCQUM3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdGNvbXB1dGVkLFxuXHRDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuXHRFbGVtZW50UmVmLFxuXHRpbmplY3QsXG5cdGlucHV0LFxuXHRzaWduYWwsXG5cdFNpZ25hbCxcblx0dmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGV4dGVuZCwgaW5qZWN0U3RvcmUsIE5ndEFyZ3MsIE5ndFRocmVlRXZlbnQgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IGNhbGN1bGF0ZVNjYWxlRmFjdG9yLCBOZ3RzSFRNTCwgTmd0c0hUTUxDb250ZW50IH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL21pc2MnO1xuaW1wb3J0IHsgR3JvdXAsIE1hdHJpeDQsIE1lc2gsIE1lc2hCYXNpY01hdGVyaWFsLCBRdWF0ZXJuaW9uLCBTcGhlcmVHZW9tZXRyeSwgVmVjdG9yMyB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IE5ndHNQaXZvdENvbnRyb2xzIH0gZnJvbSAnLi9waXZvdC1jb250cm9scyc7XG5cbmNvbnN0IHZlYzEgPSBuZXcgVmVjdG9yMygpO1xuY29uc3QgdmVjMiA9IG5ldyBWZWN0b3IzKCk7XG5cbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVPZmZzZXQoY2xpY2tQb2ludDogVmVjdG9yMywgbm9ybWFsOiBWZWN0b3IzLCByYXlTdGFydDogVmVjdG9yMywgcmF5RGlyOiBWZWN0b3IzKSB7XG5cdGNvbnN0IGUxID0gbm9ybWFsLmRvdChub3JtYWwpO1xuXHRjb25zdCBlMiA9IG5vcm1hbC5kb3QoY2xpY2tQb2ludCkgLSBub3JtYWwuZG90KHJheVN0YXJ0KTtcblx0Y29uc3QgZTMgPSBub3JtYWwuZG90KHJheURpcik7XG5cblx0aWYgKGUzID09PSAwKSB7XG5cdFx0cmV0dXJuIC1lMiAvIGUxO1xuXHR9XG5cblx0dmVjMVxuXHRcdC5jb3B5KHJheURpcilcblx0XHQubXVsdGlwbHlTY2FsYXIoZTEgLyBlMylcblx0XHQuc3ViKG5vcm1hbCk7XG5cdHZlYzJcblx0XHQuY29weShyYXlEaXIpXG5cdFx0Lm11bHRpcGx5U2NhbGFyKGUyIC8gZTMpXG5cdFx0LmFkZChyYXlTdGFydClcblx0XHQuc3ViKGNsaWNrUG9pbnQpO1xuXG5cdHJldHVybiAtdmVjMS5kb3QodmVjMikgLyB2ZWMxLmRvdCh2ZWMxKTtcbn1cblxuY29uc3QgdXBWID0gbmV3IFZlY3RvcjMoMCwgMSwgMCk7XG5jb25zdCBzY2FsZVYgPSBuZXcgVmVjdG9yMygpO1xuY29uc3Qgc2NhbGVNYXRyaXggPSBuZXcgTWF0cml4NCgpO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLXNjYWxpbmctc3BoZXJlJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LWdyb3VwICNncm91cD5cblx0XHRcdDxuZ3QtZ3JvdXBcblx0XHRcdFx0W21hdHJpeF09XCJtYXRyaXhMKClcIlxuXHRcdFx0XHRbbWF0cml4QXV0b1VwZGF0ZV09XCJmYWxzZVwiXG5cdFx0XHRcdChwb2ludGVyZG93bik9XCJvblBvaW50ZXJEb3duKCRhbnkoJGV2ZW50KSlcIlxuXHRcdFx0XHQocG9pbnRlcm1vdmUpPVwib25Qb2ludGVyTW92ZSgkYW55KCRldmVudCkpXCJcblx0XHRcdFx0KHBvaW50ZXJ1cCk9XCJvblBvaW50ZXJVcCgkYW55KCRldmVudCkpXCJcblx0XHRcdFx0KHBvaW50ZXJvdXQpPVwib25Qb2ludGVyT3V0KCRhbnkoJGV2ZW50KSlcIlxuXHRcdFx0PlxuXHRcdFx0XHRAaWYgKHBpdm90Q29udHJvbHMuYW5ub3RhdGlvbnMoKSkge1xuXHRcdFx0XHRcdDxuZ3RzLWh0bWwgW29wdGlvbnNdPVwieyBwb3NpdGlvbjogWzAsIHBvc2l0aW9uKCkgLyAyLCAwXSB9XCI+XG5cdFx0XHRcdFx0XHQ8ZGl2XG5cdFx0XHRcdFx0XHRcdCNhbm5vdGF0aW9uXG5cdFx0XHRcdFx0XHRcdG5ndHNIVE1MQ29udGVudFxuXHRcdFx0XHRcdFx0XHRzdHlsZT1cImRpc3BsYXk6IG5vbmU7IGJhY2tncm91bmQ6ICMxNTE1MjA7IGNvbG9yOiB3aGl0ZTsgcGFkZGluZzogNnB4IDhweDsgYm9yZGVyLXJhZGl1czogN3B4OyB3aGl0ZS1zcGFjZTogbm93cmFwO1wiXG5cdFx0XHRcdFx0XHRcdFtjbGFzc109XCJwaXZvdENvbnRyb2xzLmFubm90YXRpb25zQ2xhc3MoKVwiXG5cdFx0XHRcdFx0XHQ+PC9kaXY+XG5cdFx0XHRcdFx0PC9uZ3RzLWh0bWw+XG5cdFx0XHRcdH1cblx0XHRcdFx0PG5ndC1tZXNoICNtZXNoIFtwb3NpdGlvbl09XCJbMCwgcG9zaXRpb24oKSwgMF1cIiBbcmVuZGVyT3JkZXJdPVwiNTAwXCIgW3VzZXJEYXRhXT1cInBpdm90Q29udHJvbHMudXNlckRhdGEoKVwiPlxuXHRcdFx0XHRcdDxuZ3Qtc3BoZXJlLWdlb21ldHJ5ICphcmdzPVwiW3JhZGl1cygpLCAxMiwgMTJdXCIgLz5cblx0XHRcdFx0XHQ8bmd0LW1lc2gtYmFzaWMtbWF0ZXJpYWxcblx0XHRcdFx0XHRcdFt0cmFuc3BhcmVudF09XCJ0cnVlXCJcblx0XHRcdFx0XHRcdFtkZXB0aFRlc3RdPVwicGl2b3RDb250cm9scy5kZXB0aFRlc3QoKVwiXG5cdFx0XHRcdFx0XHRbY29sb3JdPVwiY29sb3IoKVwiXG5cdFx0XHRcdFx0XHRbb3BhY2l0eV09XCJwaXZvdENvbnRyb2xzLm9wYWNpdHkoKVwiXG5cdFx0XHRcdFx0XHRbcG9seWdvbk9mZnNldF09XCJ0cnVlXCJcblx0XHRcdFx0XHRcdFtwb2x5Z29uT2Zmc2V0RmFjdG9yXT1cIi0xMFwiXG5cdFx0XHRcdFx0Lz5cblx0XHRcdFx0PC9uZ3QtbWVzaD5cblx0XHRcdDwvbmd0LWdyb3VwPlxuXHRcdDwvbmd0LWdyb3VwPlxuXHRgLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRpbXBvcnRzOiBbTmd0c0hUTUwsIE5ndHNIVE1MQ29udGVudCwgTmd0QXJnc10sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNTY2FsaW5nU3BoZXJlIHtcblx0ZGlyZWN0aW9uID0gaW5wdXQucmVxdWlyZWQ8VmVjdG9yMz4oKTtcblx0YXhpcyA9IGlucHV0LnJlcXVpcmVkPDAgfCAxIHwgMj4oKTtcblxuXHRncm91cFJlZiA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEdyb3VwPj4oJ2dyb3VwJyk7XG5cdGFubm90YXRpb25SZWYgPSB2aWV3Q2hpbGQ8dW5rbm93biwgRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4+KCdhbm5vdGF0aW9uJywgeyByZWFkOiBFbGVtZW50UmVmIH0pO1xuXHRtZXNoUmVmID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8TWVzaD4+KCdtZXNoJyk7XG5cblx0cGl2b3RDb250cm9scyA9IGluamVjdChOZ3RzUGl2b3RDb250cm9scyk7XG5cdHByaXZhdGUgc3RvcmUgPSBpbmplY3RTdG9yZSgpO1xuXHRwcml2YXRlIGNvbnRyb2xzID0gdGhpcy5zdG9yZS5zZWxlY3QoJ2NvbnRyb2xzJykgYXMgdW5rbm93biBhcyBTaWduYWw8eyBlbmFibGVkOiBib29sZWFuIH0+O1xuXHRwcml2YXRlIHNpemUgPSB0aGlzLnN0b3JlLnNlbGVjdCgnc2l6ZScpO1xuXG5cdHByaXZhdGUgaG92ZXJlZCA9IHNpZ25hbChmYWxzZSk7XG5cdHByaXZhdGUgc2NhbGUwID0gMTtcblx0cHJpdmF0ZSBzY2FsZUN1cnJlbnQgPSAxO1xuXHRwcml2YXRlIGNsaWNrSW5mbzoge1xuXHRcdGNsaWNrUG9pbnQ6IFZlY3RvcjM7XG5cdFx0ZGlyOiBWZWN0b3IzO1xuXHRcdG1QTEc6IE1hdHJpeDQ7XG5cdFx0bVBMR0ludjogTWF0cml4NDtcblx0XHRvZmZzZXRNdWx0aXBsaWVyOiBudW1iZXI7XG5cdH0gfCBudWxsID0gbnVsbDtcblxuXHRwb3NpdGlvbiA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLnBpdm90Q29udHJvbHMuZml4ZWQoKSA/IDEuMiA6IDEuMiAqIHRoaXMucGl2b3RDb250cm9scy5zY2FsZSgpKSk7XG5cdHJhZGl1cyA9IGNvbXB1dGVkKCgpID0+XG5cdFx0dGhpcy5waXZvdENvbnRyb2xzLmZpeGVkKClcblx0XHRcdD8gKHRoaXMucGl2b3RDb250cm9scy5saW5lV2lkdGgoKSAvIHRoaXMucGl2b3RDb250cm9scy5zY2FsZSgpKSAqIDEuOFxuXHRcdFx0OiB0aGlzLnBpdm90Q29udHJvbHMuc2NhbGUoKSAvIDIyLjUsXG5cdCk7XG5cdG1hdHJpeEwgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3QgcXVhdGVybmlvbiA9IG5ldyBRdWF0ZXJuaW9uKCkuc2V0RnJvbVVuaXRWZWN0b3JzKHVwViwgdGhpcy5kaXJlY3Rpb24oKS5jbG9uZSgpLm5vcm1hbGl6ZSgpKTtcblx0XHRyZXR1cm4gbmV3IE1hdHJpeDQoKS5tYWtlUm90YXRpb25Gcm9tUXVhdGVybmlvbihxdWF0ZXJuaW9uKTtcblx0fSk7XG5cdGNvbG9yID0gY29tcHV0ZWQoKCkgPT5cblx0XHR0aGlzLmhvdmVyZWQoKSA/IHRoaXMucGl2b3RDb250cm9scy5ob3ZlcmVkQ29sb3IoKSA6IHRoaXMucGl2b3RDb250cm9scy5heGlzQ29sb3JzKClbdGhpcy5heGlzKCldLFxuXHQpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGV4dGVuZCh7IEdyb3VwLCBNZXNoLCBTcGhlcmVHZW9tZXRyeSwgTWVzaEJhc2ljTWF0ZXJpYWwgfSk7XG5cdH1cblxuXHRvblBvaW50ZXJEb3duKGV2ZW50OiBOZ3RUaHJlZUV2ZW50PFBvaW50ZXJFdmVudD4pIHtcblx0XHRjb25zdCBbYW5ub3RhdGlvbiwgY29udHJvbHMsIGZpeGVkLCBzY2FsZSwgZGlyZWN0aW9uLCBheGlzLCBzaXplLCBncm91cF0gPSBbXG5cdFx0XHR0aGlzLmFubm90YXRpb25SZWYoKT8ubmF0aXZlRWxlbWVudCxcblx0XHRcdHRoaXMuY29udHJvbHMoKSxcblx0XHRcdHRoaXMucGl2b3RDb250cm9scy5maXhlZCgpLFxuXHRcdFx0dGhpcy5waXZvdENvbnRyb2xzLnNjYWxlKCksXG5cdFx0XHR0aGlzLmRpcmVjdGlvbigpLFxuXHRcdFx0dGhpcy5heGlzKCksXG5cdFx0XHR0aGlzLnNpemUoKSxcblx0XHRcdHRoaXMuZ3JvdXBSZWYoKS5uYXRpdmVFbGVtZW50LFxuXHRcdF07XG5cblx0XHRpZiAoYW5ub3RhdGlvbikge1xuXHRcdFx0YW5ub3RhdGlvbi5pbm5lclRleHQgPSBgJHtzY2FsZS50b0ZpeGVkKDIpfWA7XG5cdFx0XHRhbm5vdGF0aW9uLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuXHRcdH1cblxuXHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdGNvbnN0IHJvdGF0aW9uID0gbmV3IE1hdHJpeDQoKS5leHRyYWN0Um90YXRpb24oZ3JvdXAubWF0cml4V29ybGQpO1xuXHRcdGNvbnN0IGNsaWNrUG9pbnQgPSBldmVudC5wb2ludC5jbG9uZSgpO1xuXHRcdGNvbnN0IG9yaWdpbiA9IG5ldyBWZWN0b3IzKCkuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKGdyb3VwLm1hdHJpeFdvcmxkKTtcblx0XHRjb25zdCBkaXIgPSBkaXJlY3Rpb24uY2xvbmUoKS5hcHBseU1hdHJpeDQocm90YXRpb24pLm5vcm1hbGl6ZSgpO1xuXHRcdGNvbnN0IG1QTEcgPSBncm91cC5tYXRyaXhXb3JsZC5jbG9uZSgpO1xuXHRcdGNvbnN0IG1QTEdJbnYgPSBtUExHLmNsb25lKCkuaW52ZXJ0KCk7XG5cdFx0Y29uc3Qgb2Zmc2V0TXVsdGlwbGllciA9IGZpeGVkXG5cdFx0XHQ/IDEgLyBjYWxjdWxhdGVTY2FsZUZhY3Rvcihncm91cC5nZXRXb3JsZFBvc2l0aW9uKHZlYzEpLCBzY2FsZSwgZXZlbnQuY2FtZXJhLCBzaXplKVxuXHRcdFx0OiAxO1xuXHRcdHRoaXMuY2xpY2tJbmZvID0geyBjbGlja1BvaW50LCBkaXIsIG1QTEcsIG1QTEdJbnYsIG9mZnNldE11bHRpcGxpZXIgfTtcblx0XHR0aGlzLnBpdm90Q29udHJvbHMub25EcmFnU3RhcnQoeyBjb21wb25lbnQ6ICdTcGhlcmUnLCBheGlzLCBvcmlnaW4sIGRpcmVjdGlvbnM6IFtkaXJdIH0pO1xuXG5cdFx0aWYgKGNvbnRyb2xzKSB7XG5cdFx0XHRjb250cm9scy5lbmFibGVkID0gZmFsc2U7XG5cdFx0fVxuXHRcdC8vIEB0cy1leHBlY3QtZXJyb3IgLSBzZXRQb2ludGVyQ2FwdHVyZSBpcyBub3QgaW4gdGhlIHR5cGUgZGVmaW5pdGlvblxuXHRcdGV2ZW50LnRhcmdldC5zZXRQb2ludGVyQ2FwdHVyZShldmVudC5wb2ludGVySWQpO1xuXHR9XG5cblx0b25Qb2ludGVyTW92ZShldmVudDogTmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+KSB7XG5cdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0aWYgKCF0aGlzLmhvdmVyZWQoKSkgdGhpcy5ob3ZlcmVkLnNldCh0cnVlKTtcblxuXHRcdGlmICh0aGlzLmNsaWNrSW5mbykge1xuXHRcdFx0Y29uc3QgeyBjbGlja1BvaW50LCBkaXIsIG1QTEcsIG1QTEdJbnYsIG9mZnNldE11bHRpcGxpZXIgfSA9IHRoaXMuY2xpY2tJbmZvO1xuXHRcdFx0Y29uc3QgW3NjYWxlTGltaXRzLCBheGlzLCBwb3NpdGlvbiwgYW5ub3RhdGlvbiwgZml4ZWQsIHNjYWxlLCBtZXNoXSA9IFtcblx0XHRcdFx0dGhpcy5waXZvdENvbnRyb2xzLnNjYWxlTGltaXRzKCksXG5cdFx0XHRcdHRoaXMuYXhpcygpLFxuXHRcdFx0XHR0aGlzLnBvc2l0aW9uKCksXG5cdFx0XHRcdHRoaXMuYW5ub3RhdGlvblJlZigpPy5uYXRpdmVFbGVtZW50LFxuXHRcdFx0XHR0aGlzLnBpdm90Q29udHJvbHMuZml4ZWQoKSxcblx0XHRcdFx0dGhpcy5waXZvdENvbnRyb2xzLnNjYWxlKCksXG5cdFx0XHRcdHRoaXMubWVzaFJlZigpLm5hdGl2ZUVsZW1lbnQsXG5cdFx0XHRdO1xuXG5cdFx0XHRjb25zdCBbbWluLCBtYXhdID0gc2NhbGVMaW1pdHM/LltheGlzXSB8fCBbMWUtNSwgdW5kZWZpbmVkXTsgLy8gYWx3YXlzIGxpbWl0IHRoZSBtaW5pbWFsIHZhbHVlLCBzaW5jZSBzZXR0aW5nIGl0IHZlcnkgbG93IG1pZ2h0IGJyZWFrIHRoZSB0cmFuc2Zvcm1cblx0XHRcdGNvbnN0IG9mZnNldFcgPSBjYWxjdWxhdGVPZmZzZXQoY2xpY2tQb2ludCwgZGlyLCBldmVudC5yYXkub3JpZ2luLCBldmVudC5yYXkuZGlyZWN0aW9uKTtcblx0XHRcdGNvbnN0IG9mZnNldEwgPSBvZmZzZXRXICogb2Zmc2V0TXVsdGlwbGllcjtcblx0XHRcdGNvbnN0IG9mZnNldEggPSBmaXhlZCA/IG9mZnNldEwgOiBvZmZzZXRMIC8gc2NhbGU7XG5cdFx0XHRsZXQgdXBzY2FsZSA9IE1hdGgucG93KDIsIG9mZnNldEggKiAwLjIpO1xuXG5cdFx0XHRpZiAoZXZlbnQuc2hpZnRLZXkpIHtcblx0XHRcdFx0dXBzY2FsZSA9IE1hdGgucm91bmQodXBzY2FsZSAqIDEwKSAvIDEwO1xuXHRcdFx0fVxuXG5cdFx0XHR1cHNjYWxlID0gTWF0aC5tYXgodXBzY2FsZSwgbWluIC8gdGhpcy5zY2FsZTApO1xuXG5cdFx0XHRpZiAobWF4ICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0dXBzY2FsZSA9IE1hdGgubWluKHVwc2NhbGUsIG1heCAvIHRoaXMuc2NhbGUwKTtcblx0XHRcdH1cblxuXHRcdFx0dGhpcy5zY2FsZUN1cnJlbnQgPSB0aGlzLnNjYWxlMCAqIHVwc2NhbGU7XG5cdFx0XHRtZXNoLnBvc2l0aW9uLnNldCgwLCBwb3NpdGlvbiArIG9mZnNldEwsIDApO1xuXG5cdFx0XHRpZiAoYW5ub3RhdGlvbikge1xuXHRcdFx0XHRhbm5vdGF0aW9uLmlubmVyVGV4dCA9IGAke3RoaXMuc2NhbGVDdXJyZW50LnRvRml4ZWQoMil9YDtcblx0XHRcdH1cblxuXHRcdFx0c2NhbGVWLnNldCgxLCAxLCAxKTtcblx0XHRcdHNjYWxlVi5zZXRDb21wb25lbnQoYXhpcywgdXBzY2FsZSk7XG5cdFx0XHRzY2FsZU1hdHJpeC5tYWtlU2NhbGUoc2NhbGVWLngsIHNjYWxlVi55LCBzY2FsZVYueikucHJlbXVsdGlwbHkobVBMRykubXVsdGlwbHkobVBMR0ludik7XG5cdFx0XHR0aGlzLnBpdm90Q29udHJvbHMub25EcmFnKHNjYWxlTWF0cml4KTtcblx0XHR9XG5cdH1cblxuXHRvblBvaW50ZXJVcChldmVudDogTmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+KSB7XG5cdFx0Y29uc3QgW2Fubm90YXRpb24sIGNvbnRyb2xzLCBwb3NpdGlvbiwgbWVzaF0gPSBbXG5cdFx0XHR0aGlzLmFubm90YXRpb25SZWYoKT8ubmF0aXZlRWxlbWVudCxcblx0XHRcdHRoaXMuY29udHJvbHMoKSxcblx0XHRcdHRoaXMucG9zaXRpb24oKSxcblx0XHRcdHRoaXMubWVzaFJlZigpLm5hdGl2ZUVsZW1lbnQsXG5cdFx0XTtcblxuXHRcdGlmIChhbm5vdGF0aW9uKSB7XG5cdFx0XHRhbm5vdGF0aW9uLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG5cdFx0fVxuXG5cdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0dGhpcy5zY2FsZTAgPSB0aGlzLnNjYWxlQ3VycmVudDtcblx0XHR0aGlzLmNsaWNrSW5mbyA9IG51bGw7XG5cdFx0bWVzaC5wb3NpdGlvbi5zZXQoMCwgcG9zaXRpb24sIDApO1xuXHRcdHRoaXMucGl2b3RDb250cm9scy5vbkRyYWdFbmQoKTtcblx0XHRpZiAoY29udHJvbHMpIHtcblx0XHRcdGNvbnRyb2xzLmVuYWJsZWQgPSB0cnVlO1xuXHRcdH1cblx0XHQvLyBAdHMtZXhwZWN0LWVycm9yIC0gcmVsZWFzZVBvaW50ZXJDYXB0dXJlIGlzIG5vdCBpbiB0aGUgdHlwZSBkZWZpbml0aW9uXG5cdFx0ZXZlbnQudGFyZ2V0LnJlbGVhc2VQb2ludGVyQ2FwdHVyZShldmVudC5wb2ludGVySWQpO1xuXHR9XG5cblx0b25Qb2ludGVyT3V0KGV2ZW50OiBOZ3RUaHJlZUV2ZW50PFBvaW50ZXJFdmVudD4pIHtcblx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblx0XHR0aGlzLmhvdmVyZWQuc2V0KGZhbHNlKTtcblx0fVxufVxuIl19
|
|
232
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NhbGluZy1zcGhlcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3NvYmEvZ2l6bW9zL3NyYy9saWIvcGl2b3QtY29udHJvbHMvc2NhbGluZy1zcGhlcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNOLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsUUFBUSxFQUNSLHNCQUFzQixFQUN0QixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFDTCxNQUFNLEVBRU4sU0FBUyxHQUNULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMxRixPQUFPLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxPQUFPLEVBQUUsTUFBTSxPQUFPLENBQUM7QUFDckcsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7O0FBRXJELE1BQU0sSUFBSSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7QUFDM0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUUzQixNQUFNLFVBQVUsZUFBZSxDQUFDLFVBQW1CLEVBQUUsTUFBZSxFQUFFLFFBQWlCLEVBQUUsTUFBZTtJQUN2RyxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzlCLE1BQU0sRUFBRSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUN6RCxNQUFNLEVBQUUsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRTlCLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDO1FBQ2QsT0FBTyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELElBQUk7U0FDRixJQUFJLENBQUMsTUFBTSxDQUFDO1NBQ1osY0FBYyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7U0FDdkIsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2QsSUFBSTtTQUNGLElBQUksQ0FBQyxNQUFNLENBQUM7U0FDWixjQUFjLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztTQUN2QixHQUFHLENBQUMsUUFBUSxDQUFDO1NBQ2IsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRWxCLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDekMsQ0FBQztBQUVELE1BQU0sR0FBRyxHQUFHLElBQUksT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFDakMsTUFBTSxNQUFNLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztBQUM3QixNQUFNLFdBQVcsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0FBMkNsQyxNQUFNLE9BQU8saUJBQWlCO0lBc0M3QjtRQXJDQSxjQUFTLEdBQUcsS0FBSyxDQUFDLFFBQVEsRUFBVyxDQUFDO1FBQ3RDLFNBQUksR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFhLENBQUM7UUFFbkMsYUFBUSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQW9CLE9BQU8sQ0FBQyxDQUFDO1FBQzFELGtCQUFhLEdBQUcsU0FBUyxDQUFzQyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNuRyxZQUFPLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBbUIsTUFBTSxDQUFDLENBQUM7UUFFdkQsa0JBQWEsR0FBRyxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUNsQyxVQUFLLEdBQUcsV0FBVyxFQUFFLENBQUM7UUFDdEIsYUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBNEMsQ0FBQztRQUNwRixTQUFJLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFakMsWUFBTyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixXQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsaUJBQVksR0FBRyxDQUFDLENBQUM7UUFDakIsY0FBUyxHQU1OLElBQUksQ0FBQztRQUVoQixhQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDakcsV0FBTSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FDdEIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUU7WUFDekIsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsR0FBRztZQUNyRSxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQ3BDLENBQUM7UUFDRixZQUFPLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUN2QixNQUFNLFVBQVUsR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDLGtCQUFrQixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsS0FBSyxFQUFFLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztZQUNsRyxPQUFPLElBQUksT0FBTyxFQUFFLENBQUMsMEJBQTBCLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0QsQ0FBQyxDQUFDLENBQUM7UUFDSCxVQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUNyQixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQ2pHLENBQUM7UUFHRCxNQUFNLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFrQztRQUMvQyxNQUFNLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxHQUFHO1lBQzFFLElBQUksQ0FBQyxhQUFhLEVBQUUsRUFBRSxhQUFhO1lBQ25DLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRTtZQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRTtZQUMxQixJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDWCxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1gsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLGFBQWE7U0FDN0IsQ0FBQztRQUVGLElBQUksVUFBVSxFQUFFLENBQUM7WUFDaEIsVUFBVSxDQUFDLFNBQVMsR0FBRyxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUM3QyxVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDcEMsQ0FBQztRQUVELEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixNQUFNLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDbEUsTUFBTSxVQUFVLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN2QyxNQUFNLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0RSxNQUFNLEdBQUcsR0FBRyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pFLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDdkMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ3RDLE1BQU0sZ0JBQWdCLEdBQUcsS0FBSztZQUM3QixDQUFDLENBQUMsQ0FBQyxHQUFHLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUM7WUFDbkYsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNMLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQztRQUN0RSxJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFekYsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNkLFFBQVEsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQzFCLENBQUM7UUFDRCxxRUFBcUU7UUFDckUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFrQztRQUMvQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU1QyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNwQixNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUM1RSxNQUFNLENBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUc7Z0JBQ3JFLElBQUksQ0FBQyxhQUFhLENBQUMsV0FBVyxFQUFFO2dCQUNoQyxJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUNYLElBQUksQ0FBQyxRQUFRLEVBQUU7Z0JBQ2YsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLGFBQWE7Z0JBQ25DLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFO2dCQUMxQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRTtnQkFDMUIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLGFBQWE7YUFDNUIsQ0FBQztZQUVGLE1BQU0sQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLEdBQUcsV0FBVyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxzRkFBc0Y7WUFDbkosTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLFVBQVUsRUFBRSxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUN4RixNQUFNLE9BQU8sR0FBRyxPQUFPLEdBQUcsZ0JBQWdCLENBQUM7WUFDM0MsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDbEQsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsT0FBTyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1lBRXpDLElBQUksS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUNwQixPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ3pDLENBQUM7WUFFRCxPQUFPLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUUsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUUvQyxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDdkIsT0FBTyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDaEQsQ0FBQztZQUVELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUM7WUFDMUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFFBQVEsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFFNUMsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDaEIsVUFBVSxDQUFDLFNBQVMsR0FBRyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDMUQsQ0FBQztZQUVELE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNwQixNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztZQUNuQyxXQUFXLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN4RixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN4QyxDQUFDO0lBQ0YsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFrQztRQUM3QyxNQUFNLENBQUMsVUFBVSxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLEdBQUc7WUFDOUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLGFBQWE7WUFDbkMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsYUFBYTtTQUM1QixDQUFDO1FBRUYsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNoQixVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sR0FBRyxNQUFNLENBQUM7UUFDbkMsQ0FBQztRQUVELEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDaEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsYUFBYSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQy9CLElBQUksUUFBUSxFQUFFLENBQUM7WUFDZCxRQUFRLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUN6QixDQUFDO1FBQ0QseUVBQXlFO1FBQ3pFLEtBQUssQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3JELENBQUM7SUFFRCxZQUFZLENBQUMsS0FBa0M7UUFDOUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3pCLENBQUM7K0dBeEpXLGlCQUFpQjttR0FBakIsaUJBQWlCLDhnQkFLd0QsVUFBVSwrSUEzQ3JGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFpQ1QsNERBR1MsUUFBUSwyRUFBRSxlQUFlLGtIQUFFLE9BQU87OzRGQUVoQyxpQkFBaUI7a0JBekM3QixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQWlDVDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxlQUFlLEVBQUUsT0FBTyxDQUFDO2lCQUM3QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG5cdENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuXHRDb21wb25lbnQsXG5cdGNvbXB1dGVkLFxuXHRDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuXHRFbGVtZW50UmVmLFxuXHRpbmplY3QsXG5cdGlucHV0LFxuXHRzaWduYWwsXG5cdFNpZ25hbCxcblx0dmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGV4dGVuZCwgaW5qZWN0U3RvcmUsIE5ndEFyZ3MsIE5ndFRocmVlRXZlbnQgfSBmcm9tICdhbmd1bGFyLXRocmVlJztcbmltcG9ydCB7IGNhbGN1bGF0ZVNjYWxlRmFjdG9yLCBOZ3RzSFRNTCwgTmd0c0hUTUxDb250ZW50IH0gZnJvbSAnYW5ndWxhci10aHJlZS1zb2JhL21pc2MnO1xuaW1wb3J0IHsgR3JvdXAsIE1hdHJpeDQsIE1lc2gsIE1lc2hCYXNpY01hdGVyaWFsLCBRdWF0ZXJuaW9uLCBTcGhlcmVHZW9tZXRyeSwgVmVjdG9yMyB9IGZyb20gJ3RocmVlJztcbmltcG9ydCB7IE5ndHNQaXZvdENvbnRyb2xzIH0gZnJvbSAnLi9waXZvdC1jb250cm9scyc7XG5cbmNvbnN0IHZlYzEgPSBuZXcgVmVjdG9yMygpO1xuY29uc3QgdmVjMiA9IG5ldyBWZWN0b3IzKCk7XG5cbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVPZmZzZXQoY2xpY2tQb2ludDogVmVjdG9yMywgbm9ybWFsOiBWZWN0b3IzLCByYXlTdGFydDogVmVjdG9yMywgcmF5RGlyOiBWZWN0b3IzKSB7XG5cdGNvbnN0IGUxID0gbm9ybWFsLmRvdChub3JtYWwpO1xuXHRjb25zdCBlMiA9IG5vcm1hbC5kb3QoY2xpY2tQb2ludCkgLSBub3JtYWwuZG90KHJheVN0YXJ0KTtcblx0Y29uc3QgZTMgPSBub3JtYWwuZG90KHJheURpcik7XG5cblx0aWYgKGUzID09PSAwKSB7XG5cdFx0cmV0dXJuIC1lMiAvIGUxO1xuXHR9XG5cblx0dmVjMVxuXHRcdC5jb3B5KHJheURpcilcblx0XHQubXVsdGlwbHlTY2FsYXIoZTEgLyBlMylcblx0XHQuc3ViKG5vcm1hbCk7XG5cdHZlYzJcblx0XHQuY29weShyYXlEaXIpXG5cdFx0Lm11bHRpcGx5U2NhbGFyKGUyIC8gZTMpXG5cdFx0LmFkZChyYXlTdGFydClcblx0XHQuc3ViKGNsaWNrUG9pbnQpO1xuXG5cdHJldHVybiAtdmVjMS5kb3QodmVjMikgLyB2ZWMxLmRvdCh2ZWMxKTtcbn1cblxuY29uc3QgdXBWID0gbmV3IFZlY3RvcjMoMCwgMSwgMCk7XG5jb25zdCBzY2FsZVYgPSBuZXcgVmVjdG9yMygpO1xuY29uc3Qgc2NhbGVNYXRyaXggPSBuZXcgTWF0cml4NCgpO1xuXG5AQ29tcG9uZW50KHtcblx0c2VsZWN0b3I6ICduZ3RzLXNjYWxpbmctc3BoZXJlJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0dGVtcGxhdGU6IGBcblx0XHQ8bmd0LWdyb3VwICNncm91cD5cblx0XHRcdDxuZ3QtZ3JvdXBcblx0XHRcdFx0W21hdHJpeF09XCJtYXRyaXhMKClcIlxuXHRcdFx0XHRbbWF0cml4QXV0b1VwZGF0ZV09XCJmYWxzZVwiXG5cdFx0XHRcdChwb2ludGVyZG93bik9XCJvblBvaW50ZXJEb3duKCRhbnkoJGV2ZW50KSlcIlxuXHRcdFx0XHQocG9pbnRlcm1vdmUpPVwib25Qb2ludGVyTW92ZSgkYW55KCRldmVudCkpXCJcblx0XHRcdFx0KHBvaW50ZXJ1cCk9XCJvblBvaW50ZXJVcCgkYW55KCRldmVudCkpXCJcblx0XHRcdFx0KHBvaW50ZXJvdXQpPVwib25Qb2ludGVyT3V0KCRhbnkoJGV2ZW50KSlcIlxuXHRcdFx0PlxuXHRcdFx0XHRAaWYgKHBpdm90Q29udHJvbHMuYW5ub3RhdGlvbnMoKSkge1xuXHRcdFx0XHRcdDxuZ3RzLWh0bWwgW29wdGlvbnNdPVwieyBwb3NpdGlvbjogWzAsIHBvc2l0aW9uKCkgLyAyLCAwXSB9XCI+XG5cdFx0XHRcdFx0XHQ8ZGl2XG5cdFx0XHRcdFx0XHRcdCNhbm5vdGF0aW9uXG5cdFx0XHRcdFx0XHRcdG5ndHNIVE1MQ29udGVudFxuXHRcdFx0XHRcdFx0XHRzdHlsZT1cImRpc3BsYXk6IG5vbmU7IGJhY2tncm91bmQ6ICMxNTE1MjA7IGNvbG9yOiB3aGl0ZTsgcGFkZGluZzogNnB4IDhweDsgYm9yZGVyLXJhZGl1czogN3B4OyB3aGl0ZS1zcGFjZTogbm93cmFwO1wiXG5cdFx0XHRcdFx0XHRcdFtjbGFzc109XCJwaXZvdENvbnRyb2xzLmFubm90YXRpb25zQ2xhc3MoKVwiXG5cdFx0XHRcdFx0XHQ+PC9kaXY+XG5cdFx0XHRcdFx0PC9uZ3RzLWh0bWw+XG5cdFx0XHRcdH1cblx0XHRcdFx0PG5ndC1tZXNoICNtZXNoIFtwb3NpdGlvbl09XCJbMCwgcG9zaXRpb24oKSwgMF1cIiBbcmVuZGVyT3JkZXJdPVwiNTAwXCIgW3VzZXJEYXRhXT1cInBpdm90Q29udHJvbHMudXNlckRhdGEoKVwiPlxuXHRcdFx0XHRcdDxuZ3Qtc3BoZXJlLWdlb21ldHJ5ICphcmdzPVwiW3JhZGl1cygpLCAxMiwgMTJdXCIgLz5cblx0XHRcdFx0XHQ8bmd0LW1lc2gtYmFzaWMtbWF0ZXJpYWxcblx0XHRcdFx0XHRcdFt0cmFuc3BhcmVudF09XCJ0cnVlXCJcblx0XHRcdFx0XHRcdFtkZXB0aFRlc3RdPVwicGl2b3RDb250cm9scy5kZXB0aFRlc3QoKVwiXG5cdFx0XHRcdFx0XHRbY29sb3JdPVwiY29sb3IoKVwiXG5cdFx0XHRcdFx0XHRbb3BhY2l0eV09XCJwaXZvdENvbnRyb2xzLm9wYWNpdHkoKVwiXG5cdFx0XHRcdFx0XHRbcG9seWdvbk9mZnNldF09XCJ0cnVlXCJcblx0XHRcdFx0XHRcdFtwb2x5Z29uT2Zmc2V0RmFjdG9yXT1cIi0xMFwiXG5cdFx0XHRcdFx0Lz5cblx0XHRcdFx0PC9uZ3QtbWVzaD5cblx0XHRcdDwvbmd0LWdyb3VwPlxuXHRcdDwvbmd0LWdyb3VwPlxuXHRgLFxuXHRzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG5cdGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuXHRpbXBvcnRzOiBbTmd0c0hUTUwsIE5ndHNIVE1MQ29udGVudCwgTmd0QXJnc10sXG59KVxuZXhwb3J0IGNsYXNzIE5ndHNTY2FsaW5nU3BoZXJlIHtcblx0ZGlyZWN0aW9uID0gaW5wdXQucmVxdWlyZWQ8VmVjdG9yMz4oKTtcblx0YXhpcyA9IGlucHV0LnJlcXVpcmVkPDAgfCAxIHwgMj4oKTtcblxuXHRncm91cFJlZiA9IHZpZXdDaGlsZC5yZXF1aXJlZDxFbGVtZW50UmVmPEdyb3VwPj4oJ2dyb3VwJyk7XG5cdGFubm90YXRpb25SZWYgPSB2aWV3Q2hpbGQ8dW5rbm93biwgRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD4+KCdhbm5vdGF0aW9uJywgeyByZWFkOiBFbGVtZW50UmVmIH0pO1xuXHRtZXNoUmVmID0gdmlld0NoaWxkLnJlcXVpcmVkPEVsZW1lbnRSZWY8TWVzaD4+KCdtZXNoJyk7XG5cblx0cGl2b3RDb250cm9scyA9IGluamVjdChOZ3RzUGl2b3RDb250cm9scyk7XG5cdHByaXZhdGUgc3RvcmUgPSBpbmplY3RTdG9yZSgpO1xuXHRwcml2YXRlIGNvbnRyb2xzID0gdGhpcy5zdG9yZS5zZWxlY3QoJ2NvbnRyb2xzJykgYXMgdW5rbm93biBhcyBTaWduYWw8eyBlbmFibGVkOiBib29sZWFuIH0+O1xuXHRwcml2YXRlIHNpemUgPSB0aGlzLnN0b3JlLnNlbGVjdCgnc2l6ZScpO1xuXG5cdHByaXZhdGUgaG92ZXJlZCA9IHNpZ25hbChmYWxzZSk7XG5cdHByaXZhdGUgc2NhbGUwID0gMTtcblx0cHJpdmF0ZSBzY2FsZUN1cnJlbnQgPSAxO1xuXHRwcml2YXRlIGNsaWNrSW5mbzoge1xuXHRcdGNsaWNrUG9pbnQ6IFZlY3RvcjM7XG5cdFx0ZGlyOiBWZWN0b3IzO1xuXHRcdG1QTEc6IE1hdHJpeDQ7XG5cdFx0bVBMR0ludjogTWF0cml4NDtcblx0XHRvZmZzZXRNdWx0aXBsaWVyOiBudW1iZXI7XG5cdH0gfCBudWxsID0gbnVsbDtcblxuXHRwb3NpdGlvbiA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLnBpdm90Q29udHJvbHMuZml4ZWQoKSA/IDEuMiA6IDEuMiAqIHRoaXMucGl2b3RDb250cm9scy5zY2FsZSgpKSk7XG5cdHJhZGl1cyA9IGNvbXB1dGVkKCgpID0+XG5cdFx0dGhpcy5waXZvdENvbnRyb2xzLmZpeGVkKClcblx0XHRcdD8gKHRoaXMucGl2b3RDb250cm9scy5saW5lV2lkdGgoKSAvIHRoaXMucGl2b3RDb250cm9scy5zY2FsZSgpKSAqIDEuOFxuXHRcdFx0OiB0aGlzLnBpdm90Q29udHJvbHMuc2NhbGUoKSAvIDIyLjUsXG5cdCk7XG5cdG1hdHJpeEwgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3QgcXVhdGVybmlvbiA9IG5ldyBRdWF0ZXJuaW9uKCkuc2V0RnJvbVVuaXRWZWN0b3JzKHVwViwgdGhpcy5kaXJlY3Rpb24oKS5jbG9uZSgpLm5vcm1hbGl6ZSgpKTtcblx0XHRyZXR1cm4gbmV3IE1hdHJpeDQoKS5tYWtlUm90YXRpb25Gcm9tUXVhdGVybmlvbihxdWF0ZXJuaW9uKTtcblx0fSk7XG5cdGNvbG9yID0gY29tcHV0ZWQoKCkgPT5cblx0XHR0aGlzLmhvdmVyZWQoKSA/IHRoaXMucGl2b3RDb250cm9scy5ob3ZlcmVkQ29sb3IoKSA6IHRoaXMucGl2b3RDb250cm9scy5heGlzQ29sb3JzKClbdGhpcy5heGlzKCldLFxuXHQpO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGV4dGVuZCh7IEdyb3VwLCBNZXNoLCBTcGhlcmVHZW9tZXRyeSwgTWVzaEJhc2ljTWF0ZXJpYWwgfSk7XG5cdH1cblxuXHRvblBvaW50ZXJEb3duKGV2ZW50OiBOZ3RUaHJlZUV2ZW50PFBvaW50ZXJFdmVudD4pIHtcblx0XHRjb25zdCBbYW5ub3RhdGlvbiwgY29udHJvbHMsIGZpeGVkLCBzY2FsZSwgZGlyZWN0aW9uLCBheGlzLCBzaXplLCBncm91cF0gPSBbXG5cdFx0XHR0aGlzLmFubm90YXRpb25SZWYoKT8ubmF0aXZlRWxlbWVudCxcblx0XHRcdHRoaXMuY29udHJvbHMoKSxcblx0XHRcdHRoaXMucGl2b3RDb250cm9scy5maXhlZCgpLFxuXHRcdFx0dGhpcy5waXZvdENvbnRyb2xzLnNjYWxlKCksXG5cdFx0XHR0aGlzLmRpcmVjdGlvbigpLFxuXHRcdFx0dGhpcy5heGlzKCksXG5cdFx0XHR0aGlzLnNpemUoKSxcblx0XHRcdHRoaXMuZ3JvdXBSZWYoKS5uYXRpdmVFbGVtZW50LFxuXHRcdF07XG5cblx0XHRpZiAoYW5ub3RhdGlvbikge1xuXHRcdFx0YW5ub3RhdGlvbi5pbm5lclRleHQgPSBgJHtzY2FsZS50b0ZpeGVkKDIpfWA7XG5cdFx0XHRhbm5vdGF0aW9uLnN0eWxlLmRpc3BsYXkgPSAnYmxvY2snO1xuXHRcdH1cblxuXHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdGNvbnN0IHJvdGF0aW9uID0gbmV3IE1hdHJpeDQoKS5leHRyYWN0Um90YXRpb24oZ3JvdXAubWF0cml4V29ybGQpO1xuXHRcdGNvbnN0IGNsaWNrUG9pbnQgPSBldmVudC5wb2ludC5jbG9uZSgpO1xuXHRcdGNvbnN0IG9yaWdpbiA9IG5ldyBWZWN0b3IzKCkuc2V0RnJvbU1hdHJpeFBvc2l0aW9uKGdyb3VwLm1hdHJpeFdvcmxkKTtcblx0XHRjb25zdCBkaXIgPSBkaXJlY3Rpb24uY2xvbmUoKS5hcHBseU1hdHJpeDQocm90YXRpb24pLm5vcm1hbGl6ZSgpO1xuXHRcdGNvbnN0IG1QTEcgPSBncm91cC5tYXRyaXhXb3JsZC5jbG9uZSgpO1xuXHRcdGNvbnN0IG1QTEdJbnYgPSBtUExHLmNsb25lKCkuaW52ZXJ0KCk7XG5cdFx0Y29uc3Qgb2Zmc2V0TXVsdGlwbGllciA9IGZpeGVkXG5cdFx0XHQ/IDEgLyBjYWxjdWxhdGVTY2FsZUZhY3Rvcihncm91cC5nZXRXb3JsZFBvc2l0aW9uKHZlYzEpLCBzY2FsZSwgZXZlbnQuY2FtZXJhLCBzaXplKVxuXHRcdFx0OiAxO1xuXHRcdHRoaXMuY2xpY2tJbmZvID0geyBjbGlja1BvaW50LCBkaXIsIG1QTEcsIG1QTEdJbnYsIG9mZnNldE11bHRpcGxpZXIgfTtcblx0XHR0aGlzLnBpdm90Q29udHJvbHMub25EcmFnU3RhcnQoeyBjb21wb25lbnQ6ICdTcGhlcmUnLCBheGlzLCBvcmlnaW4sIGRpcmVjdGlvbnM6IFtkaXJdIH0pO1xuXG5cdFx0aWYgKGNvbnRyb2xzKSB7XG5cdFx0XHRjb250cm9scy5lbmFibGVkID0gZmFsc2U7XG5cdFx0fVxuXHRcdC8vIEB0cy1leHBlY3QtZXJyb3IgLSBzZXRQb2ludGVyQ2FwdHVyZSBpcyBub3QgaW4gdGhlIHR5cGUgZGVmaW5pdGlvblxuXHRcdGV2ZW50LnRhcmdldC5zZXRQb2ludGVyQ2FwdHVyZShldmVudC5wb2ludGVySWQpO1xuXHR9XG5cblx0b25Qb2ludGVyTW92ZShldmVudDogTmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+KSB7XG5cdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0aWYgKCF0aGlzLmhvdmVyZWQoKSkgdGhpcy5ob3ZlcmVkLnNldCh0cnVlKTtcblxuXHRcdGlmICh0aGlzLmNsaWNrSW5mbykge1xuXHRcdFx0Y29uc3QgeyBjbGlja1BvaW50LCBkaXIsIG1QTEcsIG1QTEdJbnYsIG9mZnNldE11bHRpcGxpZXIgfSA9IHRoaXMuY2xpY2tJbmZvO1xuXHRcdFx0Y29uc3QgW3NjYWxlTGltaXRzLCBheGlzLCBwb3NpdGlvbiwgYW5ub3RhdGlvbiwgZml4ZWQsIHNjYWxlLCBtZXNoXSA9IFtcblx0XHRcdFx0dGhpcy5waXZvdENvbnRyb2xzLnNjYWxlTGltaXRzKCksXG5cdFx0XHRcdHRoaXMuYXhpcygpLFxuXHRcdFx0XHR0aGlzLnBvc2l0aW9uKCksXG5cdFx0XHRcdHRoaXMuYW5ub3RhdGlvblJlZigpPy5uYXRpdmVFbGVtZW50LFxuXHRcdFx0XHR0aGlzLnBpdm90Q29udHJvbHMuZml4ZWQoKSxcblx0XHRcdFx0dGhpcy5waXZvdENvbnRyb2xzLnNjYWxlKCksXG5cdFx0XHRcdHRoaXMubWVzaFJlZigpLm5hdGl2ZUVsZW1lbnQsXG5cdFx0XHRdO1xuXG5cdFx0XHRjb25zdCBbbWluLCBtYXhdID0gc2NhbGVMaW1pdHM/LltheGlzXSB8fCBbMWUtNSwgdW5kZWZpbmVkXTsgLy8gYWx3YXlzIGxpbWl0IHRoZSBtaW5pbWFsIHZhbHVlLCBzaW5jZSBzZXR0aW5nIGl0IHZlcnkgbG93IG1pZ2h0IGJyZWFrIHRoZSB0cmFuc2Zvcm1cblx0XHRcdGNvbnN0IG9mZnNldFcgPSBjYWxjdWxhdGVPZmZzZXQoY2xpY2tQb2ludCwgZGlyLCBldmVudC5yYXkub3JpZ2luLCBldmVudC5yYXkuZGlyZWN0aW9uKTtcblx0XHRcdGNvbnN0IG9mZnNldEwgPSBvZmZzZXRXICogb2Zmc2V0TXVsdGlwbGllcjtcblx0XHRcdGNvbnN0IG9mZnNldEggPSBmaXhlZCA/IG9mZnNldEwgOiBvZmZzZXRMIC8gc2NhbGU7XG5cdFx0XHRsZXQgdXBzY2FsZSA9IE1hdGgucG93KDIsIG9mZnNldEggKiAwLjIpO1xuXG5cdFx0XHRpZiAoZXZlbnQuc2hpZnRLZXkpIHtcblx0XHRcdFx0dXBzY2FsZSA9IE1hdGgucm91bmQodXBzY2FsZSAqIDEwKSAvIDEwO1xuXHRcdFx0fVxuXG5cdFx0XHR1cHNjYWxlID0gTWF0aC5tYXgodXBzY2FsZSwgbWluIC8gdGhpcy5zY2FsZTApO1xuXG5cdFx0XHRpZiAobWF4ICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0dXBzY2FsZSA9IE1hdGgubWluKHVwc2NhbGUsIG1heCAvIHRoaXMuc2NhbGUwKTtcblx0XHRcdH1cblxuXHRcdFx0dGhpcy5zY2FsZUN1cnJlbnQgPSB0aGlzLnNjYWxlMCAqIHVwc2NhbGU7XG5cdFx0XHRtZXNoLnBvc2l0aW9uLnNldCgwLCBwb3NpdGlvbiArIG9mZnNldEwsIDApO1xuXG5cdFx0XHRpZiAoYW5ub3RhdGlvbikge1xuXHRcdFx0XHRhbm5vdGF0aW9uLmlubmVyVGV4dCA9IGAke3RoaXMuc2NhbGVDdXJyZW50LnRvRml4ZWQoMil9YDtcblx0XHRcdH1cblxuXHRcdFx0c2NhbGVWLnNldCgxLCAxLCAxKTtcblx0XHRcdHNjYWxlVi5zZXRDb21wb25lbnQoYXhpcywgdXBzY2FsZSk7XG5cdFx0XHRzY2FsZU1hdHJpeC5tYWtlU2NhbGUoc2NhbGVWLngsIHNjYWxlVi55LCBzY2FsZVYueikucHJlbXVsdGlwbHkobVBMRykubXVsdGlwbHkobVBMR0ludik7XG5cdFx0XHR0aGlzLnBpdm90Q29udHJvbHMub25EcmFnKHNjYWxlTWF0cml4KTtcblx0XHR9XG5cdH1cblxuXHRvblBvaW50ZXJVcChldmVudDogTmd0VGhyZWVFdmVudDxQb2ludGVyRXZlbnQ+KSB7XG5cdFx0Y29uc3QgW2Fubm90YXRpb24sIGNvbnRyb2xzLCBwb3NpdGlvbiwgbWVzaF0gPSBbXG5cdFx0XHR0aGlzLmFubm90YXRpb25SZWYoKT8ubmF0aXZlRWxlbWVudCxcblx0XHRcdHRoaXMuY29udHJvbHMoKSxcblx0XHRcdHRoaXMucG9zaXRpb24oKSxcblx0XHRcdHRoaXMubWVzaFJlZigpLm5hdGl2ZUVsZW1lbnQsXG5cdFx0XTtcblxuXHRcdGlmIChhbm5vdGF0aW9uKSB7XG5cdFx0XHRhbm5vdGF0aW9uLnN0eWxlLmRpc3BsYXkgPSAnbm9uZSc7XG5cdFx0fVxuXG5cdFx0ZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0dGhpcy5zY2FsZTAgPSB0aGlzLnNjYWxlQ3VycmVudDtcblx0XHR0aGlzLmNsaWNrSW5mbyA9IG51bGw7XG5cdFx0bWVzaC5wb3NpdGlvbi5zZXQoMCwgcG9zaXRpb24sIDApO1xuXHRcdHRoaXMucGl2b3RDb250cm9scy5vbkRyYWdFbmQoKTtcblx0XHRpZiAoY29udHJvbHMpIHtcblx0XHRcdGNvbnRyb2xzLmVuYWJsZWQgPSB0cnVlO1xuXHRcdH1cblx0XHQvLyBAdHMtZXhwZWN0LWVycm9yIC0gcmVsZWFzZVBvaW50ZXJDYXB0dXJlIGlzIG5vdCBpbiB0aGUgdHlwZSBkZWZpbml0aW9uXG5cdFx0ZXZlbnQudGFyZ2V0LnJlbGVhc2VQb2ludGVyQ2FwdHVyZShldmVudC5wb2ludGVySWQpO1xuXHR9XG5cblx0b25Qb2ludGVyT3V0KGV2ZW50OiBOZ3RUaHJlZUV2ZW50PFBvaW50ZXJFdmVudD4pIHtcblx0XHRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblx0XHR0aGlzLmhvdmVyZWQuc2V0KGZhbHNlKTtcblx0fVxufVxuIl19
|