ngx-image-cropper 6.3.0 → 6.3.2
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/README.md +4 -2
- package/esm2020/lib/component/image-cropper.component.mjs +29 -9
- package/esm2020/lib/image-cropper.module.mjs +5 -5
- package/esm2020/lib/services/crop.service.mjs +4 -4
- package/esm2020/lib/services/cropper-position.service.mjs +4 -4
- package/esm2020/lib/services/load-image.service.mjs +4 -4
- package/fesm2015/ngx-image-cropper.mjs +41 -21
- package/fesm2015/ngx-image-cropper.mjs.map +1 -1
- package/fesm2020/ngx-image-cropper.mjs +41 -21
- package/fesm2020/ngx-image-cropper.mjs.map +1 -1
- package/lib/component/image-cropper.component.d.ts +4 -1
- package/package.json +1 -1
|
@@ -128,10 +128,10 @@ export class CropService {
|
|
|
128
128
|
return Math.min(1, Math.max(0, settings.imageQuality / 100));
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
|
-
CropService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
132
|
-
CropService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
133
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
131
|
+
CropService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CropService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
132
|
+
CropService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CropService, providedIn: 'root' });
|
|
133
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CropService, decorators: [{
|
|
134
134
|
type: Injectable,
|
|
135
135
|
args: [{ providedIn: 'root' }]
|
|
136
136
|
}] });
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JvcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWltYWdlLWNyb3BwZXIvc3JjL2xpYi9zZXJ2aWNlcy9jcm9wLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUd2RCxNQUFNLE9BQU8sV0FBVztJQUV0QixJQUFJLENBQUMsV0FBdUIsRUFBRSxXQUF3QixFQUFFLE9BQXdCLEVBQUUsUUFBeUI7UUFDekcsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3pGLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxFQUFFLEdBQUcsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUNsRCxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsRUFBRSxHQUFHLGFBQWEsQ0FBQyxFQUFFLENBQUM7UUFDbkQsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQXNCLENBQUM7UUFDekUsVUFBVSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDekIsVUFBVSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFFM0IsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1IsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELElBQUksUUFBUSxDQUFDLGVBQWUsSUFBSSxJQUFJLEVBQUU7WUFDcEMsR0FBRyxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFD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LENBQUMsYUFBYSxHQUFHLENBQUMsRUFBRTtZQUM5QixNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxRQUFRLENBQUMsY0FBYyxHQUFHLENBQUMsRUFBRTtZQUMvQixNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzFCO1FBRUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO1FBRTdELElBQUksTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUU7WUFDekMsT0FBTyxNQUFNLENBQUM7U0FDZjtRQUNELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxRQUF5QjtRQUNsQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDOzt3R0FuSlUsV0FBVzs0R0FBWCxXQUFXLGNBREMsTUFBTTsyRkFDbEIsV0FBVztrQkFEdkIsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDcm9wcGVyUG9zaXRpb24sIEltYWdlQ3JvcHBlZEV2ZW50LCBMb2FkZWRJbWFnZSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ3JvcHBlclNldHRpbmdzIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jcm9wcGVyLnNldHRpbmdzJztcbmltcG9ydCB7IHJlc2l6ZUNhbnZhcyB9IGZyb20gJy4uL3V0aWxzL3Jlc2l6ZS51dGlscyc7XG5pbXBvcnQgeyBwZXJjZW50YWdlIH0gZnJvbSAnLi4vdXRpbHMvcGVyY2VudGFnZS51dGlscyc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIENyb3BTZXJ2aWNlIHtcblxuICBjcm9wKHNvdXJjZUltYWdlOiBFbGVtZW50UmVmLCBsb2FkZWRJbWFnZTogTG9hZGVkSW1hZ2UsIGNyb3BwZXI6IENyb3BwZXJQb3NpdGlvbiwgc2V0dGluZ3M6IENyb3BwZXJTZXR0aW5ncyk6IEltYWdlQ3JvcHBlZEV2ZW50IHwgbnVsbCB7XG4gICAgY29uc3QgaW1hZ2VQb3NpdGlvbiA9IHRoaXMuZ2V0SW1hZ2VQb3NpdGlvbihzb3VyY2VJbWFnZSwgbG9hZGVkSW1hZ2UsIGNyb3BwZXIsIHNldHRpbmdzKTtcbiAgICBjb25zdCB3aWR0aCA9IGltYWdlUG9zaXRpb24ueDIgLSBpbWFnZVBvc2l0aW9uLngxO1xuICAgIGNvbnN0IGhlaWdodCA9IGltYWdlUG9zaXRpb24ueTIgLSBpbWFnZVBvc2l0aW9uLnkxO1xuICAgIGNvbnN0IGNyb3BDYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKSBhcyBIVE1MQ2FudmFzRWxlbWVudDtcbiAgICBjcm9wQ2FudmFzLndpZHRoID0gd2lkdGg7XG4gICAgY3JvcENhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7XG5cbiAgICBjb25zdCBjdHggPSBjcm9wQ2FudmFzLmdldENvbnRleHQoJzJkJyk7XG4gICAgaWYgKCFjdHgpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZiAoc2V0dGluZ3MuYmFja2dyb3VuZENvbG9yICE9IG51bGwpIHtcbiAgICAgIGN0eC5maWxsU3R5bGUgPSBzZXR0aW5ncy5iYWNrZ3JvdW5kQ29sb3I7XG4gICAgICBjdHguZmlsbFJlY3QoMCwgMCwgd2lkdGgsIGhlaWdodCk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2NhbGVYID0gKHNldHRpbmdzLnRyYW5zZm9ybS5zY2FsZSB8fCAxKSAqIChzZXR0aW5ncy50cmFuc2Zvcm0uZmxpcEggPyAtMSA6IDEpO1xuICAgIGNvbnN0IHNjYWxlWSA9IChzZXR0aW5ncy50cmFuc2Zvcm0uc2NhbGUgfHwgMSkgKiAoc2V0dGluZ3MudHJhbnNmb3JtLmZsaXBWID8gLTEgOiAxKTtcbiAgICBjb25zdCB7dHJhbnNsYXRlSCwgdHJhbnNsYXRlVn0gPSB0aGlzLmdldENhbnZhc1RyYW5zbGF0ZShzb3VyY2VJbWFnZSwgbG9hZGVkSW1hZ2UsIHNldHRpbmdzKTtcblxuICAgIGNvbnN0IHRyYW5zZm9ybWVkSW1hZ2UgPSBsb2FkZWRJbWFnZS50cmFuc2Zvcm1lZDtcbiAgICBjdHguc2V0VHJhbnNmb3JtKHNjYWxlWCwgMCwgMCwgc2NhbGVZLCB0cmFuc2Zvcm1lZEltYWdlLnNpemUud2lkdGggLyAyICsgdHJhbnNsYXRlSCwgdHJhbnNmb3JtZWRJbWFnZS5zaXplLmhlaWdodCAvIDIgKyB0cmFuc2xhdGVWKTtcbiAgICBjdHgudHJhbnNsYXRlKC1pbWFnZVBvc2l0aW9uLngxIC8gc2NhbGVYLCAtaW1hZ2VQb3NpdGlvbi55MSAvIHNjYWxlWSk7XG4gICAgY3R4LnJvdGF0ZSgoc2V0dGluZ3MudHJhbnNmb3JtLnJvdGF0ZSB8fCAwKSAqIE1hdGguUEkgLyAxODApO1xuXG4gICAgY3R4LmRyYXdJbWFnZShcbiAgICAgIHRyYW5zZm9ybWVkSW1hZ2UuaW1hZ2UsXG4gICAgICAtdHJhbnNmb3JtZWRJbWFnZS5zaXplLndpZHRoIC8gMixcbiAgICAgIC10cmFuc2Zvcm1lZEltYWdlLnNpemUuaGVpZ2h0IC8gMlxuICAgICk7XG5cbiAgICBjb25zdCBvdXRwdXQ6IEltYWdlQ3JvcHBlZEV2ZW50ID0ge1xuICAgICAgd2lkdGgsIGhlaWdodCxcbiAgICAgIGltYWdlUG9zaXRpb24sXG4gICAgICBjcm9wcGVyUG9zaXRpb246IHsuLi5jcm9wcGVyfVxuICAgIH07XG4gICAgaWYgKHNldHRpbmdzLmNvbnRhaW5XaXRoaW5Bc3BlY3RSYXRpbykge1xuICAgICAgb3V0cHV0Lm9mZnNldEltYWdlUG9zaXRpb24gPSB0aGlzLmdldE9mZnNldEltYWdlUG9zaXRpb24oc291cmNlSW1hZ2UsIGxvYWRlZEltYWdlLCBjcm9wcGVyLCBzZXR0aW5ncyk7XG4gICAgfVxuICAgIGNvbnN0IHJlc2l6ZVJhdGlvID0gdGhpcy5nZXRSZXNpemVSYXRpbyh3aWR0aCwgaGVpZ2h0LCBzZXR0aW5ncyk7XG4gICAgaWYgKHJlc2l6ZVJhdGlvICE9PSAxKSB7XG4gICAgICBvdXRwdXQud2lkdGggPSBNYXRoLnJvdW5kKHdpZHRoICogcmVzaXplUmF0aW8pO1xuICAgICAgb3V0cHV0LmhlaWdodCA9IHNldHRpbmdzLm1haW50YWluQXNwZWN0UmF0aW9cbiAgICAgICAgPyBNYXRoLnJvdW5kKG91dHB1dC53aWR0aCAvIHNldHRpbmdzLmFzcGVjdFJhdGlvKVxuICAgICAgICA6IE1hdGgucm91bmQoaGVpZ2h0ICogcmVzaXplUmF0aW8pO1xuICAgICAgcmVzaXplQ2FudmFzKGNyb3BDYW52YXMsIG91dHB1dC53aWR0aCwgb3V0cHV0LmhlaWdodCk7XG4gICAgfVxuICAgIG91dHB1dC5iYXNlNjQgPSBjcm9wQ2FudmFzLnRvRGF0YVVSTCgnaW1hZ2UvJyArIHNldHRpbmdzLmZvcm1hdCwgdGhpcy5nZXRRdWFsaXR5KHNldHRpbmdzKSk7XG4gICAgcmV0dXJuIG91dHB1dDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2FudmFzVHJhbnNsYXRlKHNvdXJjZUltYWdlOiBFbGVtZW50UmVmLCBsb2FkZWRJbWFnZTogTG9hZGVkSW1hZ2UsIHNldHRpbmdzOiBDcm9wcGVyU2V0dGluZ3MpOiB7IHRyYW5zbGF0ZUg6IG51bWJlciwgdHJhbnNsYXRlVjogbnVtYmVyIH0ge1xuICAgIGlmIChzZXR0aW5ncy50cmFuc2Zvcm0udHJhbnNsYXRlVW5pdCA9PT0gJ3B4Jykge1xuICAgICAgY29uc3QgcmF0aW8gPSB0aGlzLmdldFJhdGlvKHNvdXJjZUltYWdlLCBsb2FkZWRJbWFnZSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0cmFuc2xhdGVIOiAoc2V0dGluZ3MudHJhbnNmb3JtLnRyYW5zbGF0ZUggfHwgMCkgKiByYXRpbyxcbiAgICAgICAgdHJhbnNsYXRlVjogKHNldHRpbmdzLnRyYW5zZm9ybS50cmFuc2xhdGVWIHx8IDApICogcmF0aW9cbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRyYW5zbGF0ZUg6IHNldHRpbmdzLnRyYW5zZm9ybS50cmFuc2xhdGVIID8gcGVyY2VudGFnZShzZXR0aW5ncy50cmFuc2Zvcm0udHJhbnNsYXRlSCwgbG9hZGVkSW1hZ2UudHJhbnNmb3JtZWQuc2l6ZS53aWR0aCkgOiAwLFxuICAgICAgICB0cmFuc2xhdGVWOiBzZXR0aW5ncy50cmFuc2Zvcm0udHJhbnNsYXRlViA/IHBlcmNlbnRhZ2Uoc2V0dGluZ3MudHJhbnNmb3JtLnRyYW5zbGF0ZVYsIGxvYWRlZEltYWdlLnRyYW5zZm9ybWVkLnNpemUuaGVpZ2h0KSA6IDBcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRSYXRpbyhzb3VyY2VJbWFnZTogRWxlbWVudFJlZiwgbG9hZGVkSW1hZ2U6IExvYWRlZEltYWdlKTogbnVtYmVyIHtcbiAgICBjb25zdCBzb3VyY2VJbWFnZUVsZW1lbnQgPSBzb3VyY2VJbWFnZS5uYXRpdmVFbGVtZW50O1xuICAgIHJldHVybiBsb2FkZWRJbWFnZS50cmFuc2Zvcm1lZC5zaXplLndpZHRoIC8gc291cmNlSW1hZ2VFbGVtZW50Lm9mZnNldFdpZHRoO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbWFnZVBvc2l0aW9uKHNvdXJjZUltYWdlOiBFbGVtZW50UmVmLCBsb2FkZWRJbWFnZTogTG9hZGVkSW1hZ2UsIGNyb3BwZXI6IENyb3BwZXJQb3NpdGlvbiwgc2V0dGluZ3M6IENyb3BwZXJTZXR0aW5ncyk6IENyb3BwZXJQb3NpdGlvbiB7XG4gICAgY29uc3QgcmF0aW8gPSB0aGlzLmdldFJhdGlvKHNvdXJjZUltYWdlLCBsb2FkZWRJbWFnZSk7XG4gICAgY29uc3Qgb3V0OiBDcm9wcGVyUG9zaXRpb24gPSB7XG4gICAgICB4MTogTWF0aC5yb3VuZChjcm9wcGVyLngxICogcmF0aW8pLFxuICAgICAgeTE6IE1hdGgucm91bmQoY3JvcHBlci55MSAqIHJhdGlvKSxcbiAgICAgIHgyOiBNYXRoLnJvdW5kKGNyb3BwZXIueDIgKiByYXRpbyksXG4gICAgICB5MjogTWF0aC5yb3VuZChjcm9wcGVyLnkyICogcmF0aW8pXG4gICAgfTtcblxuICAgIGlmICghc2V0dGluZ3MuY29udGFpbldpdGhpbkFzcGVjdFJhdGlvKSB7XG4gICAgICBvdXQueDEgPSBNYXRoLm1heChvdXQueDEsIDApO1xuICAgICAgb3V0LnkxID0gTWF0aC5tYXgob3V0LnkxLCAwKTtcbiAgICAgIG91dC54MiA9IE1hdGgubWluKG91dC54MiwgbG9hZGVkSW1hZ2UudHJhbnNmb3JtZWQuc2l6ZS53aWR0aCk7XG4gICAgICBvdXQueTIgPSBNYXRoLm1pbihvdXQueTIsIGxvYWRlZEltYWdlLnRyYW5zZm9ybWVkLnNpemUuaGVpZ2h0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gb3V0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPZmZzZXRJbWFnZVBvc2l0aW9uKHNvdXJjZUltYWdlOiBFbGVtZW50UmVmLCBsb2FkZWRJbWFnZTogTG9hZGVkSW1hZ2UsIGNyb3BwZXI6IENyb3BwZXJQb3NpdGlvbiwgc2V0dGluZ3M6IENyb3BwZXJTZXR0aW5ncyk6IENyb3BwZXJQb3NpdGlvbiB7XG4gICAgY29uc3QgY2FudmFzUm90YXRpb24gPSBzZXR0aW5ncy5jYW52YXNSb3RhdGlvbiArIGxvYWRlZEltYWdlLmV4aWZUcmFuc2Zvcm0ucm90YXRlO1xuICAgIGNvbnN0IHNvdXJjZUltYWdlRWxlbWVudCA9IHNvdXJjZUltYWdlLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgcmF0aW8gPSBsb2FkZWRJbWFnZS50cmFuc2Zvcm1lZC5zaXplLndpZHRoIC8gc291cmNlSW1hZ2VFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgIGxldCBvZmZzZXRYOiBudW1iZXI7XG4gICAgbGV0IG9mZnNldFk6IG51bWJlcjtcblxuICAgIGlmIChjYW52YXNSb3RhdGlvbiAlIDIpIHtcbiAgICAgIG9mZnNldFggPSAobG9hZGVkSW1hZ2UudHJhbnNmb3JtZWQuc2l6ZS53aWR0aCAtIGxvYWRlZEltYWdlLm9yaWdpbmFsLnNpemUuaGVpZ2h0KSAvIDI7XG4gICAgICBvZmZzZXRZID0gKGxvYWRlZEltYWdlLnRyYW5zZm9ybWVkLnNpemUuaGVpZ2h0IC0gbG9hZGVkSW1hZ2Uub3JpZ2luYWwuc2l6ZS53aWR0aCkgLyAyO1xuICAgIH0gZWxzZSB7XG4gICAgICBvZmZzZXRYID0gKGxvYWRlZEltYWdlLnRyYW5zZm9ybWVkLnNpemUud2lkdGggLSBsb2FkZWRJbWFnZS5vcmlnaW5hbC5zaXplLndpZHRoKSAvIDI7XG4gICAgICBvZmZzZXRZID0gKGxvYWRlZEltYWdlLnRyYW5zZm9ybWVkLnNpemUuaGVpZ2h0IC0gbG9hZGVkSW1hZ2Uub3JpZ2luYWwuc2l6ZS5oZWlnaHQpIC8gMjtcbiAgICB9XG5cbiAgICBjb25zdCBvdXQ6IENyb3BwZXJQb3NpdGlvbiA9IHtcbiAgICAgIHgxOiBNYXRoLnJvdW5kKGNyb3BwZXIueDEgKiByYXRpbykgLSBvZmZzZXRYLFxuICAgICAgeTE6IE1hdGgucm91bmQoY3JvcHBlci55MSAqIHJhdGlvKSAtIG9mZnNldFksXG4gICAgICB4MjogTWF0aC5yb3VuZChjcm9wcGVyLngyICogcmF0aW8pIC0gb2Zmc2V0WCxcbiAgICAgIHkyOiBNYXRoLnJvdW5kKGNyb3BwZXIueTIgKiByYXRpbykgLSBvZmZzZXRZXG4gICAgfTtcblxuICAgIGlmICghc2V0dGluZ3MuY29udGFpbldpdGhpbkFzcGVjdFJhdGlvKSB7XG4gICAgICBvdXQueDEgPSBNYXRoLm1heChvdXQueDEsIDApO1xuICAgICAgb3V0LnkxID0gTWF0aC5tYXgob3V0LnkxLCAwKTtcbiAgICAgIG91dC54MiA9IE1hdGgubWluKG91dC54MiwgbG9hZGVkSW1hZ2UudHJhbnNmb3JtZWQuc2l6ZS53aWR0aCk7XG4gICAgICBvdXQueTIgPSBNYXRoLm1pbihvdXQueTIsIGxvYWRlZEltYWdlLnRyYW5zZm9ybWVkLnNpemUuaGVpZ2h0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gb3V0O1xuICB9XG5cbiAgZ2V0UmVzaXplUmF0aW8od2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIsIHNldHRpbmdzOiBDcm9wcGVyU2V0dGluZ3MpOiBudW1iZXIge1xuICAgIGNvbnN0IHJhdGlvV2lkdGggPSBzZXR0aW5ncy5yZXNpemVUb1dpZHRoIC8gd2lkdGg7XG4gICAgY29uc3QgcmF0aW9IZWlnaHQgPSBzZXR0aW5ncy5yZXNpemVUb0hlaWdodCAvIGhlaWdodDtcbiAgICBjb25zdCByYXRpb3MgPSBuZXcgQXJyYXk8bnVtYmVyPigpO1xuXG4gICAgaWYgKHNldHRpbmdzLnJlc2l6ZVRvV2lkdGggPiAwKSB7XG4gICAgICByYXRpb3MucHVzaChyYXRpb1dpZHRoKTtcbiAgICB9XG4gICAgaWYgKHNldHRpbmdzLnJlc2l6ZVRvSGVpZ2h0ID4gMCkge1xuICAgICAgcmF0aW9zLnB1c2gocmF0aW9IZWlnaHQpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IHJhdGlvcy5sZW5ndGggPT09IDAgPyAxIDogTWF0aC5taW4oLi4ucmF0aW9zKTtcblxuICAgIGlmIChyZXN1bHQgPiAxICYmICFzZXR0aW5ncy5vbmx5U2NhbGVEb3duKSB7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5taW4ocmVzdWx0LCAxKTtcbiAgfVxuXG4gIGdldFF1YWxpdHkoc2V0dGluZ3M6IENyb3BwZXJTZXR0aW5ncyk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgubWluKDEsIE1hdGgubWF4KDAsIHNldHRpbmdzLmltYWdlUXVhbGl0eSAvIDEwMCkpO1xuICB9XG59XG4iXX0=
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JvcC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWltYWdlLWNyb3BwZXIvc3JjL2xpYi9zZXJ2aWNlcy9jcm9wLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQUd2RCxNQUFNLE9BQU8sV0FBVztJQUV0QixJQUFJLENBQUMsV0FBdUIsRUFBRSxXQUF3QixFQUFFLE9BQXdCLEVBQUUsUUFBeUI7UUFDekcsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3pGLE1BQU0sS0FBSyxHQUFHLGFBQWEsQ0FBQyxFQUFFLEdBQUcsYUFBYSxDQUFDLEVBQUUsQ0FBQztRQUNsRCxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsRUFBRSxHQUFHLGFBQWEsQ0FBQyxFQUFFLENBQUM7UUFDbkQsTUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQXNCLENBQUM7UUFDekUsVUFBVSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDekIsVUFBVSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFFM0IsTUFBTSxHQUFHLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ1IsT0FBTyxJQUFJLENBQUM7U0FDYjtRQUNELElBQUksUUFBUSxDQUFDLGVBQWUsSUFBSSxJQUFJLEVBQUU7WUFDcEMsR0FBRyxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFD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LENBQUMsYUFBYSxHQUFHLENBQUMsRUFBRTtZQUM5QixNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQ3pCO1FBQ0QsSUFBSSxRQUFRLENBQUMsY0FBYyxHQUFHLENBQUMsRUFBRTtZQUMvQixNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQzFCO1FBRUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO1FBRTdELElBQUksTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUU7WUFDekMsT0FBTyxNQUFNLENBQUM7U0FDZjtRQUNELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxRQUF5QjtRQUNsQyxPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDOzt5R0FuSlUsV0FBVzs2R0FBWCxXQUFXLGNBREMsTUFBTTs0RkFDbEIsV0FBVztrQkFEdkIsVUFBVTttQkFBQyxFQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDcm9wcGVyUG9zaXRpb24sIEltYWdlQ3JvcHBlZEV2ZW50LCBMb2FkZWRJbWFnZSB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ3JvcHBlclNldHRpbmdzIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jcm9wcGVyLnNldHRpbmdzJztcbmltcG9ydCB7IHJlc2l6ZUNhbnZhcyB9IGZyb20gJy4uL3V0aWxzL3Jlc2l6ZS51dGlscyc7XG5pbXBvcnQgeyBwZXJjZW50YWdlIH0gZnJvbSAnLi4vdXRpbHMvcGVyY2VudGFnZS51dGlscyc7XG5cbkBJbmplY3RhYmxlKHtwcm92aWRlZEluOiAncm9vdCd9KVxuZXhwb3J0IGNsYXNzIENyb3BTZXJ2aWNlIHtcblxuICBjcm9wKHNvdXJjZUltYWdlOiBFbGVtZW50UmVmLCBsb2FkZWRJbWFnZTogTG9hZGVkSW1hZ2UsIGNyb3BwZXI6IENyb3BwZXJQb3NpdGlvbiwgc2V0dGluZ3M6IENyb3BwZXJTZXR0aW5ncyk6IEltYWdlQ3JvcHBlZEV2ZW50IHwgbnVsbCB7XG4gICAgY29uc3QgaW1hZ2VQb3NpdGlvbiA9IHRoaXMuZ2V0SW1hZ2VQb3NpdGlvbihzb3VyY2VJbWFnZSwgbG9hZGVkSW1hZ2UsIGNyb3BwZXIsIHNldHRpbmdzKTtcbiAgICBjb25zdCB3aWR0aCA9IGltYWdlUG9zaXRpb24ueDIgLSBpbWFnZVBvc2l0aW9uLngxO1xuICAgIGNvbnN0IGhlaWdodCA9IGltYWdlUG9zaXRpb24ueTIgLSBpbWFnZVBvc2l0aW9uLnkxO1xuICAgIGNvbnN0IGNyb3BDYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKSBhcyBIVE1MQ2FudmFzRWxlbWVudDtcbiAgICBjcm9wQ2FudmFzLndpZHRoID0gd2lkdGg7XG4gICAgY3JvcENhbnZhcy5oZWlnaHQgPSBoZWlnaHQ7XG5cbiAgICBjb25zdCBjdHggPSBjcm9wQ2FudmFzLmdldENvbnRleHQoJzJkJyk7XG4gICAgaWYgKCFjdHgpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZiAoc2V0dGluZ3MuYmFja2dyb3VuZENvbG9yICE9IG51bGwpIHtcbiAgICAgIGN0eC5maWxsU3R5bGUgPSBzZXR0aW5ncy5iYWNrZ3JvdW5kQ29sb3I7XG4gICAgICBjdHguZmlsbFJlY3QoMCwgMCwgd2lkdGgsIGhlaWdodCk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2NhbGVYID0gKHNldHRpbmdzLnRyYW5zZm9ybS5zY2FsZSB8fCAxKSAqIChzZXR0aW5ncy50cmFuc2Zvcm0uZmxpcEggPyAtMSA6IDEpO1xuICAgIGNvbnN0IHNjYWxlWSA9IChzZXR0aW5ncy50cmFuc2Zvcm0uc2NhbGUgfHwgMSkgKiAoc2V0dGluZ3MudHJhbnNmb3JtLmZsaXBWID8gLTEgOiAxKTtcbiAgICBjb25zdCB7dHJhbnNsYXRlSCwgdHJhbnNsYXRlVn0gPSB0aGlzLmdldENhbnZhc1RyYW5zbGF0ZShzb3VyY2VJbWFnZSwgbG9hZGVkSW1hZ2UsIHNldHRpbmdzKTtcblxuICAgIGNvbnN0IHRyYW5zZm9ybWVkSW1hZ2UgPSBsb2FkZWRJbWFnZS50cmFuc2Zvcm1lZDtcbiAgICBjdHguc2V0VHJhbnNmb3JtKHNjYWxlWCwgMCwgMCwgc2NhbGVZLCB0cmFuc2Zvcm1lZEltYWdlLnNpemUud2lkdGggLyAyICsgdHJhbnNsYXRlSCwgdHJhbnNmb3JtZWRJbWFnZS5zaXplLmhlaWdodCAvIDIgKyB0cmFuc2xhdGVWKTtcbiAgICBjdHgudHJhbnNsYXRlKC1pbWFnZVBvc2l0aW9uLngxIC8gc2NhbGVYLCAtaW1hZ2VQb3NpdGlvbi55MSAvIHNjYWxlWSk7XG4gICAgY3R4LnJvdGF0ZSgoc2V0dGluZ3MudHJhbnNmb3JtLnJvdGF0ZSB8fCAwKSAqIE1hdGguUEkgLyAxODApO1xuXG4gICAgY3R4LmRyYXdJbWFnZShcbiAgICAgIHRyYW5zZm9ybWVkSW1hZ2UuaW1hZ2UsXG4gICAgICAtdHJhbnNmb3JtZWRJbWFnZS5zaXplLndpZHRoIC8gMixcbiAgICAgIC10cmFuc2Zvcm1lZEltYWdlLnNpemUuaGVpZ2h0IC8gMlxuICAgICk7XG5cbiAgICBjb25zdCBvdXRwdXQ6IEltYWdlQ3JvcHBlZEV2ZW50ID0ge1xuICAgICAgd2lkdGgsIGhlaWdodCxcbiAgICAgIGltYWdlUG9zaXRpb24sXG4gICAgICBjcm9wcGVyUG9zaXRpb246IHsuLi5jcm9wcGVyfVxuICAgIH07XG4gICAgaWYgKHNldHRpbmdzLmNvbnRhaW5XaXRoaW5Bc3BlY3RSYXRpbykge1xuICAgICAgb3V0cHV0Lm9mZnNldEltYWdlUG9zaXRpb24gPSB0aGlzLmdldE9mZnNldEltYWdlUG9zaXRpb24oc291cmNlSW1hZ2UsIGxvYWRlZEltYWdlLCBjcm9wcGVyLCBzZXR0aW5ncyk7XG4gICAgfVxuICAgIGNvbnN0IHJlc2l6ZVJhdGlvID0gdGhpcy5nZXRSZXNpemVSYXRpbyh3aWR0aCwgaGVpZ2h0LCBzZXR0aW5ncyk7XG4gICAgaWYgKHJlc2l6ZVJhdGlvICE9PSAxKSB7XG4gICAgICBvdXRwdXQud2lkdGggPSBNYXRoLnJvdW5kKHdpZHRoICogcmVzaXplUmF0aW8pO1xuICAgICAgb3V0cHV0LmhlaWdodCA9IHNldHRpbmdzLm1haW50YWluQXNwZWN0UmF0aW9cbiAgICAgICAgPyBNYXRoLnJvdW5kKG91dHB1dC53aWR0aCAvIHNldHRpbmdzLmFzcGVjdFJhdGlvKVxuICAgICAgICA6IE1hdGgucm91bmQoaGVpZ2h0ICogcmVzaXplUmF0aW8pO1xuICAgICAgcmVzaXplQ2FudmFzKGNyb3BDYW52YXMsIG91dHB1dC53aWR0aCwgb3V0cHV0LmhlaWdodCk7XG4gICAgfVxuICAgIG91dHB1dC5iYXNlNjQgPSBjcm9wQ2FudmFzLnRvRGF0YVVSTCgnaW1hZ2UvJyArIHNldHRpbmdzLmZvcm1hdCwgdGhpcy5nZXRRdWFsaXR5KHNldHRpbmdzKSk7XG4gICAgcmV0dXJuIG91dHB1dDtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0Q2FudmFzVHJhbnNsYXRlKHNvdXJjZUltYWdlOiBFbGVtZW50UmVmLCBsb2FkZWRJbWFnZTogTG9hZGVkSW1hZ2UsIHNldHRpbmdzOiBDcm9wcGVyU2V0dGluZ3MpOiB7IHRyYW5zbGF0ZUg6IG51bWJlciwgdHJhbnNsYXRlVjogbnVtYmVyIH0ge1xuICAgIGlmIChzZXR0aW5ncy50cmFuc2Zvcm0udHJhbnNsYXRlVW5pdCA9PT0gJ3B4Jykge1xuICAgICAgY29uc3QgcmF0aW8gPSB0aGlzLmdldFJhdGlvKHNvdXJjZUltYWdlLCBsb2FkZWRJbWFnZSk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB0cmFuc2xhdGVIOiAoc2V0dGluZ3MudHJhbnNmb3JtLnRyYW5zbGF0ZUggfHwgMCkgKiByYXRpbyxcbiAgICAgICAgdHJhbnNsYXRlVjogKHNldHRpbmdzLnRyYW5zZm9ybS50cmFuc2xhdGVWIHx8IDApICogcmF0aW9cbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHRyYW5zbGF0ZUg6IHNldHRpbmdzLnRyYW5zZm9ybS50cmFuc2xhdGVIID8gcGVyY2VudGFnZShzZXR0aW5ncy50cmFuc2Zvcm0udHJhbnNsYXRlSCwgbG9hZGVkSW1hZ2UudHJhbnNmb3JtZWQuc2l6ZS53aWR0aCkgOiAwLFxuICAgICAgICB0cmFuc2xhdGVWOiBzZXR0aW5ncy50cmFuc2Zvcm0udHJhbnNsYXRlViA/IHBlcmNlbnRhZ2Uoc2V0dGluZ3MudHJhbnNmb3JtLnRyYW5zbGF0ZVYsIGxvYWRlZEltYWdlLnRyYW5zZm9ybWVkLnNpemUuaGVpZ2h0KSA6IDBcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRSYXRpbyhzb3VyY2VJbWFnZTogRWxlbWVudFJlZiwgbG9hZGVkSW1hZ2U6IExvYWRlZEltYWdlKTogbnVtYmVyIHtcbiAgICBjb25zdCBzb3VyY2VJbWFnZUVsZW1lbnQgPSBzb3VyY2VJbWFnZS5uYXRpdmVFbGVtZW50O1xuICAgIHJldHVybiBsb2FkZWRJbWFnZS50cmFuc2Zvcm1lZC5zaXplLndpZHRoIC8gc291cmNlSW1hZ2VFbGVtZW50Lm9mZnNldFdpZHRoO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJbWFnZVBvc2l0aW9uKHNvdXJjZUltYWdlOiBFbGVtZW50UmVmLCBsb2FkZWRJbWFnZTogTG9hZGVkSW1hZ2UsIGNyb3BwZXI6IENyb3BwZXJQb3NpdGlvbiwgc2V0dGluZ3M6IENyb3BwZXJTZXR0aW5ncyk6IENyb3BwZXJQb3NpdGlvbiB7XG4gICAgY29uc3QgcmF0aW8gPSB0aGlzLmdldFJhdGlvKHNvdXJjZUltYWdlLCBsb2FkZWRJbWFnZSk7XG4gICAgY29uc3Qgb3V0OiBDcm9wcGVyUG9zaXRpb24gPSB7XG4gICAgICB4MTogTWF0aC5yb3VuZChjcm9wcGVyLngxICogcmF0aW8pLFxuICAgICAgeTE6IE1hdGgucm91bmQoY3JvcHBlci55MSAqIHJhdGlvKSxcbiAgICAgIHgyOiBNYXRoLnJvdW5kKGNyb3BwZXIueDIgKiByYXRpbyksXG4gICAgICB5MjogTWF0aC5yb3VuZChjcm9wcGVyLnkyICogcmF0aW8pXG4gICAgfTtcblxuICAgIGlmICghc2V0dGluZ3MuY29udGFpbldpdGhpbkFzcGVjdFJhdGlvKSB7XG4gICAgICBvdXQueDEgPSBNYXRoLm1heChvdXQueDEsIDApO1xuICAgICAgb3V0LnkxID0gTWF0aC5tYXgob3V0LnkxLCAwKTtcbiAgICAgIG91dC54MiA9IE1hdGgubWluKG91dC54MiwgbG9hZGVkSW1hZ2UudHJhbnNmb3JtZWQuc2l6ZS53aWR0aCk7XG4gICAgICBvdXQueTIgPSBNYXRoLm1pbihvdXQueTIsIGxvYWRlZEltYWdlLnRyYW5zZm9ybWVkLnNpemUuaGVpZ2h0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gb3V0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRPZmZzZXRJbWFnZVBvc2l0aW9uKHNvdXJjZUltYWdlOiBFbGVtZW50UmVmLCBsb2FkZWRJbWFnZTogTG9hZGVkSW1hZ2UsIGNyb3BwZXI6IENyb3BwZXJQb3NpdGlvbiwgc2V0dGluZ3M6IENyb3BwZXJTZXR0aW5ncyk6IENyb3BwZXJQb3NpdGlvbiB7XG4gICAgY29uc3QgY2FudmFzUm90YXRpb24gPSBzZXR0aW5ncy5jYW52YXNSb3RhdGlvbiArIGxvYWRlZEltYWdlLmV4aWZUcmFuc2Zvcm0ucm90YXRlO1xuICAgIGNvbnN0IHNvdXJjZUltYWdlRWxlbWVudCA9IHNvdXJjZUltYWdlLm5hdGl2ZUVsZW1lbnQ7XG4gICAgY29uc3QgcmF0aW8gPSBsb2FkZWRJbWFnZS50cmFuc2Zvcm1lZC5zaXplLndpZHRoIC8gc291cmNlSW1hZ2VFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgIGxldCBvZmZzZXRYOiBudW1iZXI7XG4gICAgbGV0IG9mZnNldFk6IG51bWJlcjtcblxuICAgIGlmIChjYW52YXNSb3RhdGlvbiAlIDIpIHtcbiAgICAgIG9mZnNldFggPSAobG9hZGVkSW1hZ2UudHJhbnNmb3JtZWQuc2l6ZS53aWR0aCAtIGxvYWRlZEltYWdlLm9yaWdpbmFsLnNpemUuaGVpZ2h0KSAvIDI7XG4gICAgICBvZmZzZXRZID0gKGxvYWRlZEltYWdlLnRyYW5zZm9ybWVkLnNpemUuaGVpZ2h0IC0gbG9hZGVkSW1hZ2Uub3JpZ2luYWwuc2l6ZS53aWR0aCkgLyAyO1xuICAgIH0gZWxzZSB7XG4gICAgICBvZmZzZXRYID0gKGxvYWRlZEltYWdlLnRyYW5zZm9ybWVkLnNpemUud2lkdGggLSBsb2FkZWRJbWFnZS5vcmlnaW5hbC5zaXplLndpZHRoKSAvIDI7XG4gICAgICBvZmZzZXRZID0gKGxvYWRlZEltYWdlLnRyYW5zZm9ybWVkLnNpemUuaGVpZ2h0IC0gbG9hZGVkSW1hZ2Uub3JpZ2luYWwuc2l6ZS5oZWlnaHQpIC8gMjtcbiAgICB9XG5cbiAgICBjb25zdCBvdXQ6IENyb3BwZXJQb3NpdGlvbiA9IHtcbiAgICAgIHgxOiBNYXRoLnJvdW5kKGNyb3BwZXIueDEgKiByYXRpbykgLSBvZmZzZXRYLFxuICAgICAgeTE6IE1hdGgucm91bmQoY3JvcHBlci55MSAqIHJhdGlvKSAtIG9mZnNldFksXG4gICAgICB4MjogTWF0aC5yb3VuZChjcm9wcGVyLngyICogcmF0aW8pIC0gb2Zmc2V0WCxcbiAgICAgIHkyOiBNYXRoLnJvdW5kKGNyb3BwZXIueTIgKiByYXRpbykgLSBvZmZzZXRZXG4gICAgfTtcblxuICAgIGlmICghc2V0dGluZ3MuY29udGFpbldpdGhpbkFzcGVjdFJhdGlvKSB7XG4gICAgICBvdXQueDEgPSBNYXRoLm1heChvdXQueDEsIDApO1xuICAgICAgb3V0LnkxID0gTWF0aC5tYXgob3V0LnkxLCAwKTtcbiAgICAgIG91dC54MiA9IE1hdGgubWluKG91dC54MiwgbG9hZGVkSW1hZ2UudHJhbnNmb3JtZWQuc2l6ZS53aWR0aCk7XG4gICAgICBvdXQueTIgPSBNYXRoLm1pbihvdXQueTIsIGxvYWRlZEltYWdlLnRyYW5zZm9ybWVkLnNpemUuaGVpZ2h0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gb3V0O1xuICB9XG5cbiAgZ2V0UmVzaXplUmF0aW8od2lkdGg6IG51bWJlciwgaGVpZ2h0OiBudW1iZXIsIHNldHRpbmdzOiBDcm9wcGVyU2V0dGluZ3MpOiBudW1iZXIge1xuICAgIGNvbnN0IHJhdGlvV2lkdGggPSBzZXR0aW5ncy5yZXNpemVUb1dpZHRoIC8gd2lkdGg7XG4gICAgY29uc3QgcmF0aW9IZWlnaHQgPSBzZXR0aW5ncy5yZXNpemVUb0hlaWdodCAvIGhlaWdodDtcbiAgICBjb25zdCByYXRpb3MgPSBuZXcgQXJyYXk8bnVtYmVyPigpO1xuXG4gICAgaWYgKHNldHRpbmdzLnJlc2l6ZVRvV2lkdGggPiAwKSB7XG4gICAgICByYXRpb3MucHVzaChyYXRpb1dpZHRoKTtcbiAgICB9XG4gICAgaWYgKHNldHRpbmdzLnJlc2l6ZVRvSGVpZ2h0ID4gMCkge1xuICAgICAgcmF0aW9zLnB1c2gocmF0aW9IZWlnaHQpO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IHJhdGlvcy5sZW5ndGggPT09IDAgPyAxIDogTWF0aC5taW4oLi4ucmF0aW9zKTtcblxuICAgIGlmIChyZXN1bHQgPiAxICYmICFzZXR0aW5ncy5vbmx5U2NhbGVEb3duKSB7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5taW4ocmVzdWx0LCAxKTtcbiAgfVxuXG4gIGdldFF1YWxpdHkoc2V0dGluZ3M6IENyb3BwZXJTZXR0aW5ncyk6IG51bWJlciB7XG4gICAgcmV0dXJuIE1hdGgubWluKDEsIE1hdGgubWF4KDAsIHNldHRpbmdzLmltYWdlUXVhbGl0eSAvIDEwMCkpO1xuICB9XG59XG4iXX0=
|
|
@@ -192,10 +192,10 @@ export class CropperPositionService {
|
|
|
192
192
|
return event.touches?.[0].clientY || event.clientY || 0;
|
|
193
193
|
}
|
|
194
194
|
}
|
|
195
|
-
CropperPositionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
196
|
-
CropperPositionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
197
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
195
|
+
CropperPositionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CropperPositionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
196
|
+
CropperPositionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CropperPositionService, providedIn: 'root' });
|
|
197
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CropperPositionService, decorators: [{
|
|
198
198
|
type: Injectable,
|
|
199
199
|
args: [{ providedIn: 'root' }]
|
|
200
200
|
}] });
|
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JvcHBlci1wb3NpdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWltYWdlLWNyb3BwZXIvc3JjL2xpYi9zZXJ2aWNlcy9jcm9wcGVyLXBvc2l0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLdkQsTUFBTSxPQUFPLHNCQUFzQjtJQUVqQyxvQkFBb0IsQ0FBQyxXQUF1QixFQUFFLGVBQWdDLEVBQUUsUUFBeUI7UUFDdkcsSUFBSSxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUU7WUFDL0IsT0FBTztTQUNSO1FBQ0QsTUFBTSxrQkFBa0IsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDO1FBQ3JELElBQUksUUFBUSxDQUFDLG1CQUFtQixJQUFJLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRTtZQUMvRCxlQUFlLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN2QixlQUFlLENBQUMsRUFBRSxHQUFHLGtCQUFrQixDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUMsa0JBQWtCLENBQUMsQ0FBQztnQkFDakYsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUM7WUFDL0QsZUFBZSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDdkIsZUFBZSxDQUFDLEVBQUUsR0FBRyxrQkFBa0IsQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUM7Z0JBQ25GLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDO1NBQ2xFO2FBQU07WUFDTCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRSxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM5RixN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QUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUM7b0JBQ3hILGVBQWUsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQztpQkFDekg7Z0JBQ0QsTUFBTTtTQUNUO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLE9BQU8sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsT0FBTyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDO0lBQzFELENBQUM7O21IQWxOVSxzQkFBc0I7dUhBQXRCLHNCQUFzQixjQURULE1BQU07MkZBQ25CLHNCQUFzQjtrQkFEbEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDcm9wcGVyUG9zaXRpb24sIERpbWVuc2lvbnMsIE1vdmVTdGFydCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ3JvcHBlclNldHRpbmdzIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jcm9wcGVyLnNldHRpbmdzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBDcm9wcGVyUG9zaXRpb25TZXJ2aWNlIHtcblxuICByZXNldENyb3BwZXJQb3NpdGlvbihzb3VyY2VJbWFnZTogRWxlbWVudFJlZiwgY3JvcHBlclBvc2l0aW9uOiBDcm9wcGVyUG9zaXRpb24sIHNldHRpbmdzOiBDcm9wcGVyU2V0dGluZ3MpOiB2b2lkIHtcbiAgICBpZiAoIXNvdXJjZUltYWdlPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHNvdXJjZUltYWdlRWxlbWVudCA9IHNvdXJjZUltYWdlLm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKHNldHRpbmdzLmNyb3BwZXJTdGF0aWNIZWlnaHQgJiYgc2V0dGluZ3MuY3JvcHBlclN0YXRpY1dpZHRoKSB7XG4gICAgICBjcm9wcGVyUG9zaXRpb24ueDEgPSAwO1xuICAgICAgY3JvcHBlclBvc2l0aW9uLngyID0gc291cmNlSW1hZ2VFbGVtZW50Lm9mZnNldFdpZHRoID4gc2V0dGluZ3MuY3JvcHBlclN0YXRpY1dpZHRoID9cbiAgICAgICAgc2V0dGluZ3MuY3JvcHBlclN0YXRpY1dpZHRoIDogc291cmNlSW1hZ2VFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgICAgY3JvcHBlclBvc2l0aW9uLnkxID0gMDtcbiAgICAgIGNyb3BwZXJQb3NpdGlvbi55MiA9IHNvdXJjZUltYWdlRWxlbWVudC5vZmZzZXRIZWlnaHQgPiBzZXR0aW5ncy5jcm9wcGVyU3RhdGljSGVpZ2h0ID9cbiAgICAgICAgc2V0dGluZ3MuY3JvcHBlclN0YXRpY0hlaWdodCA6IHNvdXJjZUltYWdlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNyb3BwZXJXaWR0aCA9IE1hdGgubWluKHNldHRpbmdzLmNyb3BwZXJTY2FsZWRNYXhXaWR0aCwgc291cmNlSW1hZ2VFbGVtZW50Lm9mZnNldFdpZHRoKTtcbiAgICAgIGNvbnN0IGNyb3BwZXJIZWlnaHQgPSBNYXRoLm1pbihzZXR0aW5ncy5jcm9wcGVyU2NhbGVkTWF4SGVpZ2h0LCBzb3VyY2VJbWFnZUVsZW1lbnQub2Zmc2V0SGVpZ2h0KTtcbiAgICAgIGlmICghc2V0dGluZ3MubWFpbnRhaW5Bc3BlY3RSYXRpbykge1xuICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDEgPSAwO1xuICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDIgPSBjcm9wcGVyV2lkdGg7XG4gICAgICAgIGNyb3BwZXJQb3NpdGlvbi55MSA9IDA7XG4gICAgICAgIGNyb3BwZXJQb3NpdGlvbi55MiA9IGNyb3BwZXJIZWlnaHQ7XG4gICAgICB9IGVsc2UgaWYgKHNvdXJjZUltYWdlRWxlbWVudC5vZmZzZXRXaWR0aCAvIHNldHRpbmdzLmFzcGVjdFJhdGlvIDwgc291cmNlSW1hZ2VFbGVtZW50Lm9mZnNldEhlaWdodCkge1xuICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDEgPSAwO1xuICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDIgPSBjcm9wcGVyV2lkdGg7XG4gICAgICAgIGNvbnN0IGNyb3BwZXJIZWlnaHRXaXRoQXNwZWN0UmF0aW8gPSBjcm9wcGVyV2lkdGggLyBzZXR0aW5ncy5hc3BlY3RSYXRpbztcbiAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkxID0gKHNvdXJjZUltYWdlRWxlbWVudC5vZmZzZXRIZWlnaHQgLSBjcm9wcGVySGVpZ2h0V2l0aEFzcGVjdFJhdGlvKSAvIDI7XG4gICAgICAgIGNyb3BwZXJQb3NpdGlvbi55MiA9IGNyb3BwZXJQb3NpdGlvbi55MSArIGNyb3BwZXJIZWlnaHRXaXRoQXNwZWN0UmF0aW87XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjcm9wcGVyUG9zaXRpb24ueTEgPSAwO1xuICAgICAgICBjcm9wcGVyUG9zaXRpb24ueTIgPSBjcm9wcGVySGVpZ2h0O1xuICAgICAgICBjb25zdCBjcm9wcGVyV2lkdGhXaXRoQXNwZWN0UmF0aW8gPSBjcm9wcGVySGVpZ2h0ICogc2V0dGluZ3MuYXNwZWN0UmF0aW87XG4gICAgICAgIGNyb3BwZXJQb3NpdGlvbi54MSA9IChzb3VyY2VJbWFnZUVsZW1lbnQub2Zmc2V0V2lkdGggLSBjcm9wcGVyV2lkdGhXaXRoQXNwZWN0UmF0aW8pIC8gMjtcbiAgICAgICAgY3JvcHBlclBvc2l0aW9uLngyID0gY3JvcHBlclBvc2l0aW9uLngxICsgY3JvcHBlcldpZHRoV2l0aEFzcGVjdFJhdGlvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG1vdmUoZXZlbnQ6IGFueSwgbW92ZVN0YXJ0OiBNb3ZlU3RhcnQsIGNyb3BwZXJQb3NpdGlvbjogQ3JvcHBlclBvc2l0aW9uKSB7XG4gICAgY29uc3QgZGlmZlggPSB0aGlzLmdldENsaWVudFgoZXZlbnQpIC0gbW92ZVN0YXJ0LmNsaWVudFg7XG4gICAgY29uc3QgZGlmZlkgPSB0aGlzLmdldENsaWVudFkoZXZlbnQpIC0gbW92ZVN0YXJ0LmNsaWVudFk7XG5cbiAgICBjcm9wcGVyUG9zaXRpb24ueDEgPSBtb3ZlU3RhcnQueDEgKyBkaWZmWDtcbiAgICBjcm9wcGVyUG9zaXRpb24ueTEgPSBtb3ZlU3RhcnQueTEgKyBkaWZmWTtcbiAgICBjcm9wcGVyUG9zaXRpb24ueDIgPSBtb3ZlU3RhcnQueDIgKyBkaWZmWDtcbiAgICBjcm9wcGVyUG9zaXRpb24ueTIgPSBtb3ZlU3RhcnQueTIgKyBkaWZmWTtcbiAgfVxuXG4gIHJlc2l6ZShldmVudDogYW55LCBtb3ZlU3RhcnQ6IE1vdmVTdGFydCwgY3JvcHBlclBvc2l0aW9uOiBDcm9wcGVyUG9zaXRpb24sIG1heFNpemU6IERpbWVuc2lvbnMsIHNldHRpbmdzOiBDcm9wcGVyU2V0dGluZ3MpOiB2b2lkIHtcbiAgICBjb25zdCBtb3ZlWCA9IHRoaXMuZ2V0Q2xpZW50WChldmVudCkgLSBtb3ZlU3RhcnQuY2xpZW50WDtcbiAgICBjb25zdCBtb3ZlWSA9IHRoaXMuZ2V0Q2xpZW50WShldmVudCkgLSBtb3ZlU3RhcnQuY2xpZW50WTtcbiAgICBzd2l0Y2ggKG1vdmVTdGFydC5wb3NpdGlvbikge1xuICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgIGNyb3BwZXJQb3NpdGlvbi54MSA9IE1hdGgubWluKE1hdGgubWF4KG1vdmVTdGFydC54MSArIG1vdmVYLCBjcm9wcGVyUG9zaXRpb24ueDIgLSBzZXR0aW5ncy5jcm9wcGVyU2NhbGVkTWF4V2lkdGgpLFxuICAgICAgICAgIGNyb3BwZXJQb3NpdGlvbi54MiAtIHNldHRpbmdzLmNyb3BwZXJTY2FsZWRNaW5XaWR0aCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndG9wbGVmdCc6XG4gICAgICAgIGNyb3BwZXJQb3NpdGlvbi54MSA9IE1hdGgubWluKE1hdGgubWF4KG1vdmVTdGFydC54MSArIG1vdmVYLCBjcm9wcGVyUG9zaXRpb24ueDIgLSBzZXR0aW5ncy5jcm9wcGVyU2NhbGVkTWF4V2lkdGgpLFxuICAgICAgICAgIGNyb3BwZXJQb3NpdGlvbi54MiAtIHNldHRpbmdzLmNyb3BwZXJTY2FsZWRNaW5XaWR0aCk7XG4gICAgICAgIGNyb3BwZXJQb3NpdGlvbi55MSA9IE1hdGgubWluKE1hdGgubWF4KG1vdmVTdGFydC55MSArIG1vdmVZLCBjcm9wcGVyUG9zaXRpb24ueTIgLSBzZXR0aW5ncy5jcm9wcGVyU2NhbGVkTWF4SGVpZ2h0KSxcbiAgICAgICAgICBjcm9wcGVyUG9zaXRpb24ueTIgLSBzZXR0aW5ncy5jcm9wcGVyU2NhbGVkTWluSGVpZ2h0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd0b3AnOlxuICAgICAgICBjcm9wcGVyUG9zaXRpb24ueTEgPSBNYXRoLm1pbihNYXRoLm1heChtb3ZlU3RhcnQueTEgKyBtb3ZlWSwgY3JvcHBlclBvc2l0aW9uLnkyIC0gc2V0dGluZ3MuY3JvcHBlclNjYWxlZE1heEhlaWdodCksXG4gICAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkyIC0gc2V0dGluZ3MuY3JvcHBlclNjYWxlZE1pbkhlaWdodCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndG9wcmlnaHQnOlxuICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDIgPSBNYXRoLm1heChNYXRoLm1pbihtb3ZlU3RhcnQueDIgKyBtb3ZlWCwgY3JvcHBlclBvc2l0aW9uLngxICsgc2V0dGluZ3MuY3JvcHBlclNjYWxlZE1heFdpZHRoKSxcbiAgICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDEgKyBzZXR0aW5ncy5jcm9wcGVyU2NhbGVkTWluV2lkdGgpO1xuICAgICAgICBjcm9wcGVyUG9zaXRpb24ueTEgPSBNYXRoLm1pbihNYXRoLm1heChtb3ZlU3RhcnQueTEgKyBtb3ZlWSwgY3JvcHBlclBvc2l0aW9uLnkyIC0gc2V0dGluZ3MuY3JvcHBlclNjYWxlZE1heEhlaWdodCksXG4gICAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkyIC0gc2V0dGluZ3MuY3JvcHBlclNjYWxlZE1pbkhlaWdodCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDIgPSBNYXRoLm1heChNYXRoLm1pbihtb3ZlU3RhcnQueDIgKyBtb3ZlWCwgY3JvcHBlclBvc2l0aW9uLngxICsgc2V0dGluZ3MuY3JvcHBlclNjYWxlZE1heFdpZHRoKSxcbiAgICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDEgKyBzZXR0aW5ncy5jcm9wcGVyU2NhbGVkTWluV2lkdGgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2JvdHRvbXJpZ2h0JzpcbiAgICAgICAgY3JvcHBlclBvc2l0aW9uLngyID0gTWF0aC5tYXgoTWF0aC5taW4obW92ZVN0YXJ0LngyICsgbW92ZVgsIGNyb3BwZXJQb3NpdGlvbi54MSArIHNldHRpbmdzLmNyb3BwZXJTY2FsZWRNYXhXaWR0aCksXG4gICAgICAgICAgY3JvcHBlclBvc2l0aW9uLngxICsgc2V0dGluZ3MuY3JvcHBlclNjYWxlZE1pbldpZHRoKTtcbiAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkyID0gTWF0aC5tYXgoTWF0aC5taW4obW92ZVN0YXJ0LnkyICsgbW92ZVksIGNyb3BwZXJQb3NpdGlvbi55MSArIHNldHRpbmdzLmNyb3BwZXJTY2FsZWRNYXhIZWlnaHQpLFxuICAgICAgICAgIGNyb3BwZXJQb3NpdGlvbi55MSArIHNldHRpbmdzLmNyb3BwZXJTY2FsZWRNaW5IZWlnaHQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgIGNyb3BwZXJQb3NpdGlvbi55MiA9IE1hdGgubWF4KE1hdGgubWluKG1vdmVTdGFydC55MiArIG1vdmVZLCBjcm9wcGVyUG9zaXRpb24ueTEgKyBzZXR0aW5ncy5jcm9wcGVyU2NhbGVkTWF4SGVpZ2h0KSxcbiAgICAgICAgICBjcm9wcGVyUG9zaXRpb24ueTEgKyBzZXR0aW5ncy5jcm9wcGVyU2NhbGVkTWluSGVpZ2h0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdib3R0b21sZWZ0JzpcbiAgICAgICAgY3JvcHBlclBvc2l0aW9uLngxID0gTWF0aC5taW4oTWF0aC5tYXgobW92ZVN0YXJ0LngxICsgbW92ZVgsIGNyb3BwZXJQb3NpdGlvbi54MiAtIHNldHRpbmdzLmNyb3BwZXJTY2FsZWRNYXhXaWR0aCksXG4gICAgICAgICAgY3JvcHBlclBvc2l0aW9uLngyIC0gc2V0dGluZ3MuY3JvcHBlclNjYWxlZE1pbldpZHRoKTtcbiAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkyID0gTWF0aC5tYXgoTWF0aC5taW4obW92ZVN0YXJ0LnkyICsgbW92ZVksIGNyb3BwZXJQb3NpdGlvbi55MSArIHNldHRpbmdzLmNyb3BwZXJTY2FsZWRNYXhIZWlnaHQpLFxuICAgICAgICAgIGNyb3BwZXJQb3NpdGlvbi55MSArIHNldHRpbmdzLmNyb3BwZXJTY2FsZWRNaW5IZWlnaHQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2NlbnRlcic6XG4gICAgICAgIGNvbnN0IHNjYWxlID0gZXZlbnQuc2NhbGU7XG4gICAgICAgIGNvbnN0IG5ld1dpZHRoID0gTWF0aC5taW4oXG4gICAgICAgICAgTWF0aC5tYXgoc2V0dGluZ3MuY3JvcHBlclNjYWxlZE1pbldpZHRoLCAoTWF0aC5hYnMobW92ZVN0YXJ0LngyIC0gbW92ZVN0YXJ0LngxKSkgKiBzY2FsZSksXG4gICAgICAgICAgc2V0dGluZ3MuY3JvcHBlclNjYWxlZE1heFdpZHRoKTtcbiAgICAgICAgY29uc3QgbmV3SGVpZ2h0ID0gTWF0aC5taW4oXG4gICAgICAgICAgTWF0aC5tYXgoc2V0dGluZ3MuY3JvcHBlclNjYWxlZE1pbkhlaWdodCwgKE1hdGguYWJzKG1vdmVTdGFydC55MiAtIG1vdmVTdGFydC55MSkpICogc2NhbGUpLFxuICAgICAgICAgIHNldHRpbmdzLmNyb3BwZXJTY2FsZWRNYXhIZWlnaHQpO1xuICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDEgPSBtb3ZlU3RhcnQuY2xpZW50WCAtIG5ld1dpZHRoIC8gMjtcbiAgICAgICAgY3JvcHBlclBvc2l0aW9uLngyID0gbW92ZVN0YXJ0LmNsaWVudFggKyBuZXdXaWR0aCAvIDI7XG4gICAgICAgIGNyb3BwZXJQb3NpdGlvbi55MSA9IG1vdmVTdGFydC5jbGllbnRZIC0gbmV3SGVpZ2h0IC8gMjtcbiAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkyID0gbW92ZVN0YXJ0LmNsaWVudFkgKyBuZXdIZWlnaHQgLyAyO1xuICAgICAgICBpZiAoY3JvcHBlclBvc2l0aW9uLngxIDwgMCkge1xuICAgICAgICAgIGNyb3BwZXJQb3NpdGlvbi54MiAtPSBjcm9wcGVyUG9zaXRpb24ueDE7XG4gICAgICAgICAgY3JvcHBlclBvc2l0aW9uLngxID0gMDtcbiAgICAgICAgfSBlbHNlIGlmIChjcm9wcGVyUG9zaXRpb24ueDIgPiBtYXhTaXplLndpZHRoKSB7XG4gICAgICAgICAgY3JvcHBlclBvc2l0aW9uLngxIC09IChjcm9wcGVyUG9zaXRpb24ueDIgLSBtYXhTaXplLndpZHRoKTtcbiAgICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDIgPSBtYXhTaXplLndpZHRoO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjcm9wcGVyUG9zaXRpb24ueTEgPCAwKSB7XG4gICAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkyIC09IGNyb3BwZXJQb3NpdGlvbi55MTtcbiAgICAgICAgICBjcm9wcGVyUG9zaXRpb24ueTEgPSAwO1xuICAgICAgICB9IGVsc2UgaWYgKGNyb3BwZXJQb3NpdGlvbi55MiA+IG1heFNpemUuaGVpZ2h0KSB7XG4gICAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkxIC09IChjcm9wcGVyUG9zaXRpb24ueTIgLSBtYXhTaXplLmhlaWdodCk7XG4gICAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkyID0gbWF4U2l6ZS5oZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgaWYgKHNldHRpbmdzLm1haW50YWluQXNwZWN0UmF0aW8pIHtcbiAgICAgIHRoaXMuY2hlY2tBc3BlY3RSYXRpbyhtb3ZlU3RhcnQucG9zaXRpb24hLCBjcm9wcGVyUG9zaXRpb24sIG1heFNpemUsIHNldHRpbmdzKTtcbiAgICB9XG4gIH1cblxuICBjaGVja0FzcGVjdFJhdGlvKHBvc2l0aW9uOiBzdHJpbmcsIGNyb3BwZXJQb3NpdGlvbjogQ3JvcHBlclBvc2l0aW9uLCBtYXhTaXplOiBEaW1lbnNpb25zLCBzZXR0aW5nczogQ3JvcHBlclNldHRpbmdzKTogdm9pZCB7XG4gICAgbGV0IG92ZXJmbG93WCA9IDA7XG4gICAgbGV0IG92ZXJmbG93WSA9IDA7XG5cbiAgICBzd2l0Y2ggKHBvc2l0aW9uKSB7XG4gICAgICBjYXNlICd0b3AnOlxuICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDIgPSBjcm9wcGVyUG9zaXRpb24ueDEgKyAoY3JvcHBlclBvc2l0aW9uLnkyIC0gY3JvcHBlclBvc2l0aW9uLnkxKSAqIHNldHRpbmdzLmFzcGVjdFJhdGlvO1xuICAgICAgICBvdmVyZmxvd1ggPSBNYXRoLm1heChjcm9wcGVyUG9zaXRpb24ueDIgLSBtYXhTaXplLndpZHRoLCAwKTtcbiAgICAgICAgb3ZlcmZsb3dZID0gTWF0aC5tYXgoMCAtIGNyb3BwZXJQb3NpdGlvbi55MSwgMCk7XG4gICAgICAgIGlmIChvdmVyZmxvd1ggPiAwIHx8IG92ZXJmbG93WSA+IDApIHtcbiAgICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDIgLT0gKG92ZXJmbG93WSAqIHNldHRpbmdzLmFzcGVjdFJhdGlvKSA+IG92ZXJmbG93WCA/IChvdmVyZmxvd1kgKiBzZXR0aW5ncy5hc3BlY3RSYXRpbykgOiBvdmVyZmxvd1g7XG4gICAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkxICs9IChvdmVyZmxvd1kgKiBzZXR0aW5ncy5hc3BlY3RSYXRpbykgPiBvdmVyZmxvd1ggPyBvdmVyZmxvd1kgOiBvdmVyZmxvd1ggLyBzZXR0aW5ncy5hc3BlY3RSYXRpbztcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgIGNyb3BwZXJQb3NpdGlvbi54MiA9IGNyb3BwZXJQb3NpdGlvbi54MSArIChjcm9wcGVyUG9zaXRpb24ueTIgLSBjcm9wcGVyUG9zaXRpb24ueTEpICogc2V0dGluZ3MuYXNwZWN0UmF0aW87XG4gICAgICAgIG92ZXJmbG93WCA9IE1hdGgubWF4KGNyb3BwZXJQb3NpdGlvbi54MiAtIG1heFNpemUud2lkdGgsIDApO1xuICAgICAgICBvdmVyZmxvd1kgPSBNYXRoLm1heChjcm9wcGVyUG9zaXRpb24ueTIgLSBtYXhTaXplLmhlaWdodCwgMCk7XG4gICAgICAgIGlmIChvdmVyZmxvd1ggPiAwIHx8IG92ZXJmbG93WSA+IDApIHtcbiAgICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDIgLT0gKG92ZXJmbG93WSAqIHNldHRpbmdzLmFzcGVjdFJhdGlvKSA+IG92ZXJmbG93WCA/IChvdmVyZmxvd1kgKiBzZXR0aW5ncy5hc3BlY3RSYXRpbykgOiBvdmVyZmxvd1g7XG4gICAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkyIC09IChvdmVyZmxvd1kgKiBzZXR0aW5ncy5hc3BlY3RSYXRpbykgPiBvdmVyZmxvd1ggPyBvdmVyZmxvd1kgOiAob3ZlcmZsb3dYIC8gc2V0dGluZ3MuYXNwZWN0UmF0aW8pO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndG9wbGVmdCc6XG4gICAgICAgIGNyb3BwZXJQb3NpdGlvbi55MSA9IGNyb3BwZXJQb3NpdGlvbi55MiAtIChjcm9wcGVyUG9zaXRpb24ueDIgLSBjcm9wcGVyUG9zaXRpb24ueDEpIC8gc2V0dGluZ3MuYXNwZWN0UmF0aW87XG4gICAgICAgIG92ZXJmbG93WCA9IE1hdGgubWF4KDAgLSBjcm9wcGVyUG9zaXRpb24ueDEsIDApO1xuICAgICAgICBvdmVyZmxvd1kgPSBNYXRoLm1heCgwIC0gY3JvcHBlclBvc2l0aW9uLnkxLCAwKTtcbiAgICAgICAgaWYgKG92ZXJmbG93WCA+IDAgfHwgb3ZlcmZsb3dZID4gMCkge1xuICAgICAgICAgIGNyb3BwZXJQb3NpdGlvbi54MSArPSAob3ZlcmZsb3dZICogc2V0dGluZ3MuYXNwZWN0UmF0aW8pID4gb3ZlcmZsb3dYID8gKG92ZXJmbG93WSAqIHNldHRpbmdzLmFzcGVjdFJhdGlvKSA6IG92ZXJmbG93WDtcbiAgICAgICAgICBjcm9wcGVyUG9zaXRpb24ueTEgKz0gKG92ZXJmbG93WSAqIHNldHRpbmdzLmFzcGVjdFJhdGlvKSA+IG92ZXJmbG93WCA/IG92ZXJmbG93WSA6IG92ZXJmbG93WCAvIHNldHRpbmdzLmFzcGVjdFJhdGlvO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndG9wcmlnaHQnOlxuICAgICAgICBjcm9wcGVyUG9zaXRpb24ueTEgPSBjcm9wcGVyUG9zaXRpb24ueTIgLSAoY3JvcHBlclBvc2l0aW9uLngyIC0gY3JvcHBlclBvc2l0aW9uLngxKSAvIHNldHRpbmdzLmFzcGVjdFJhdGlvO1xuICAgICAgICBvdmVyZmxvd1ggPSBNYXRoLm1heChjcm9wcGVyUG9zaXRpb24ueDIgLSBtYXhTaXplLndpZHRoLCAwKTtcbiAgICAgICAgb3ZlcmZsb3dZID0gTWF0aC5tYXgoMCAtIGNyb3BwZXJQb3NpdGlvbi55MSwgMCk7XG4gICAgICAgIGlmIChvdmVyZmxvd1ggPiAwIHx8IG92ZXJmbG93WSA+IDApIHtcbiAgICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDIgLT0gKG92ZXJmbG93WSAqIHNldHRpbmdzLmFzcGVjdFJhdGlvKSA+IG92ZXJmbG93WCA/IChvdmVyZmxvd1kgKiBzZXR0aW5ncy5hc3BlY3RSYXRpbykgOiBvdmVyZmxvd1g7XG4gICAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkxICs9IChvdmVyZmxvd1kgKiBzZXR0aW5ncy5hc3BlY3RSYXRpbykgPiBvdmVyZmxvd1ggPyBvdmVyZmxvd1kgOiBvdmVyZmxvd1ggLyBzZXR0aW5ncy5hc3BlY3RSYXRpbztcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgIGNhc2UgJ2JvdHRvbXJpZ2h0JzpcbiAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkyID0gY3JvcHBlclBvc2l0aW9uLnkxICsgKGNyb3BwZXJQb3NpdGlvbi54MiAtIGNyb3BwZXJQb3NpdGlvbi54MSkgLyBzZXR0aW5ncy5hc3BlY3RSYXRpbztcbiAgICAgICAgb3ZlcmZsb3dYID0gTWF0aC5tYXgoY3JvcHBlclBvc2l0aW9uLngyIC0gbWF4U2l6ZS53aWR0aCwgMCk7XG4gICAgICAgIG92ZXJmbG93WSA9IE1hdGgubWF4KGNyb3BwZXJQb3NpdGlvbi55MiAtIG1heFNpemUuaGVpZ2h0LCAwKTtcbiAgICAgICAgaWYgKG92ZXJmbG93WCA+IDAgfHwgb3ZlcmZsb3dZID4gMCkge1xuICAgICAgICAgIGNyb3BwZXJQb3NpdGlvbi54MiAtPSAob3ZlcmZsb3dZICogc2V0dGluZ3MuYXNwZWN0UmF0aW8pID4gb3ZlcmZsb3dYID8gKG92ZXJmbG93WSAqIHNldHRpbmdzLmFzcGVjdFJhdGlvKSA6IG92ZXJmbG93WDtcbiAgICAgICAgICBjcm9wcGVyUG9zaXRpb24ueTIgLT0gKG92ZXJmbG93WSAqIHNldHRpbmdzLmFzcGVjdFJhdGlvKSA+IG92ZXJmbG93WCA/IG92ZXJmbG93WSA6IG92ZXJmbG93WCAvIHNldHRpbmdzLmFzcGVjdFJhdGlvO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICBjYXNlICdib3R0b21sZWZ0JzpcbiAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkyID0gY3JvcHBlclBvc2l0aW9uLnkxICsgKGNyb3BwZXJQb3NpdGlvbi54MiAtIGNyb3BwZXJQb3NpdGlvbi54MSkgLyBzZXR0aW5ncy5hc3BlY3RSYXRpbztcbiAgICAgICAgb3ZlcmZsb3dYID0gTWF0aC5tYXgoMCAtIGNyb3BwZXJQb3NpdGlvbi54MSwgMCk7XG4gICAgICAgIG92ZXJmbG93WSA9IE1hdGgubWF4KGNyb3BwZXJQb3NpdGlvbi55MiAtIG1heFNpemUuaGVpZ2h0LCAwKTtcbiAgICAgICAgaWYgKG92ZXJmbG93WCA+IDAgfHwgb3ZlcmZsb3dZID4gMCkge1xuICAgICAgICAgIGNyb3BwZXJQb3NpdGlvbi54MSArPSAob3ZlcmZsb3dZICogc2V0dGluZ3MuYXNwZWN0UmF0aW8pID4gb3ZlcmZsb3dYID8gKG92ZXJmbG93WSAqIHNldHRpbmdzLmFzcGVjdFJhdGlvKSA6IG92ZXJmbG93WDtcbiAgICAgICAgICBjcm9wcGVyUG9zaXRpb24ueTIgLT0gKG92ZXJmbG93WSAqIHNldHRpbmdzLmFzcGVjdFJhdGlvKSA+IG92ZXJmbG93WCA/IG92ZXJmbG93WSA6IG92ZXJmbG93WCAvIHNldHRpbmdzLmFzcGVjdFJhdGlvO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY2VudGVyJzpcbiAgICAgICAgY3JvcHBlclBvc2l0aW9uLngyID0gY3JvcHBlclBvc2l0aW9uLngxICsgKGNyb3BwZXJQb3NpdGlvbi55MiAtIGNyb3BwZXJQb3NpdGlvbi55MSkgKiBzZXR0aW5ncy5hc3BlY3RSYXRpbztcbiAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkyID0gY3JvcHBlclBvc2l0aW9uLnkxICsgKGNyb3BwZXJQb3NpdGlvbi54MiAtIGNyb3BwZXJQb3NpdGlvbi54MSkgLyBzZXR0aW5ncy5hc3BlY3RSYXRpbztcbiAgICAgICAgY29uc3Qgb3ZlcmZsb3dYMSA9IE1hdGgubWF4KDAgLSBjcm9wcGVyUG9zaXRpb24ueDEsIDApO1xuICAgICAgICBjb25zdCBvdmVyZmxvd1gyID0gTWF0aC5tYXgoY3JvcHBlclBvc2l0aW9uLngyIC0gbWF4U2l6ZS53aWR0aCwgMCk7XG4gICAgICAgIGNvbnN0IG92ZXJmbG93WTEgPSBNYXRoLm1heChjcm9wcGVyUG9zaXRpb24ueTIgLSBtYXhTaXplLmhlaWdodCwgMCk7XG4gICAgICAgIGNvbnN0IG92ZXJmbG93WTIgPSBNYXRoLm1heCgwIC0gY3JvcHBlclBvc2l0aW9uLnkxLCAwKTtcbiAgICAgICAgaWYgKG92ZXJmbG93WDEgPiAwIHx8IG92ZXJmbG93WDIgPiAwIHx8IG92ZXJmbG93WTEgPiAwIHx8IG92ZXJmbG93WTIgPiAwKSB7XG4gICAgICAgICAgY3JvcHBlclBvc2l0aW9uLngxICs9IChvdmVyZmxvd1kxICogc2V0dGluZ3MuYXNwZWN0UmF0aW8pID4gb3ZlcmZsb3dYMSA/IChvdmVyZmxvd1kxICogc2V0dGluZ3MuYXNwZWN0UmF0aW8pIDogb3ZlcmZsb3dYMTtcbiAgICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDIgLT0gKG92ZXJmbG93WTIgKiBzZXR0aW5ncy5hc3BlY3RSYXRpbykgPiBvdmVyZmxvd1gyID8gKG92ZXJmbG93WTIgKiBzZXR0aW5ncy5hc3BlY3RSYXRpbykgOiBvdmVyZmxvd1gyO1xuICAgICAgICAgIGNyb3BwZXJQb3NpdGlvbi55MSArPSAob3ZlcmZsb3dZMiAqIHNldHRpbmdzLmFzcGVjdFJhdGlvKSA+IG92ZXJmbG93WDIgPyBvdmVyZmxvd1kyIDogb3ZlcmZsb3dYMiAvIHNldHRpbmdzLmFzcGVjdFJhdGlvO1xuICAgICAgICAgIGNyb3BwZXJQb3NpdGlvbi55MiAtPSAob3ZlcmZsb3dZMSAqIHNldHRpbmdzLmFzcGVjdFJhdGlvKSA+IG92ZXJmbG93WDEgPyBvdmVyZmxvd1kxIDogb3ZlcmZsb3dYMSAvIHNldHRpbmdzLmFzcGVjdFJhdGlvO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIGdldENsaWVudFgoZXZlbnQ6IGFueSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGV2ZW50LnRvdWNoZXM/LlswXS5jbGllbnRYIHx8IGV2ZW50LmNsaWVudFggfHwgMDtcbiAgfVxuXG4gIGdldENsaWVudFkoZXZlbnQ6IGFueSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGV2ZW50LnRvdWNoZXM/LlswXS5jbGllbnRZIHx8IGV2ZW50LmNsaWVudFkgfHwgMDtcbiAgfVxufVxuIl19
|
|
201
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JvcHBlci1wb3NpdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWltYWdlLWNyb3BwZXIvc3JjL2xpYi9zZXJ2aWNlcy9jcm9wcGVyLXBvc2l0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFjLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLdkQsTUFBTSxPQUFPLHNCQUFzQjtJQUVqQyxvQkFBb0IsQ0FBQyxXQUF1QixFQUFFLGVBQWdDLEVBQUUsUUFBeUI7UUFDdkcsSUFBSSxDQUFDLFdBQVcsRUFBRSxhQUFhLEVBQUU7WUFDL0IsT0FBTztTQUNSO1FBQ0QsTUFBTSxrQkFBa0IsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDO1FBQ3JELElBQUksUUFBUSxDQUFDLG1CQUFtQixJQUFJLFFBQVEsQ0FBQyxrQkFBa0IsRUFBRTtZQUMvRCxlQUFlLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN2QixlQUFlLENBQUMsRUFBRSxHQUFHLGtCQUFrQixDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUMsa0JBQWtCLENBQUMsQ0FBQztnQkFDakYsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLENBQUM7WUFDL0QsZUFBZSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDdkIsZUFBZSxDQUFDLEVBQUUsR0FBRyxrQkFBa0IsQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLG1CQUFtQixDQUFDLENBQUM7Z0JBQ25GLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDO1NBQ2xFO2FBQU07WUFDTCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxxQkFBcUIsRUFBRSxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztZQUM5RixN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QUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUM7b0JBQ3hILGVBQWUsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxVQUFVLEdBQUcsUUFBUSxDQUFDLFdBQVcsQ0FBQztpQkFDekg7Z0JBQ0QsTUFBTTtTQUNUO0lBQ0gsQ0FBQztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ25CLE9BQU8sS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsT0FBTyxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDO0lBQzFELENBQUM7O29IQWxOVSxzQkFBc0I7d0hBQXRCLHNCQUFzQixjQURULE1BQU07NEZBQ25CLHNCQUFzQjtrQkFEbEMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbGVtZW50UmVmLCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDcm9wcGVyUG9zaXRpb24sIERpbWVuc2lvbnMsIE1vdmVTdGFydCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgQ3JvcHBlclNldHRpbmdzIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jcm9wcGVyLnNldHRpbmdzJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBDcm9wcGVyUG9zaXRpb25TZXJ2aWNlIHtcblxuICByZXNldENyb3BwZXJQb3NpdGlvbihzb3VyY2VJbWFnZTogRWxlbWVudFJlZiwgY3JvcHBlclBvc2l0aW9uOiBDcm9wcGVyUG9zaXRpb24sIHNldHRpbmdzOiBDcm9wcGVyU2V0dGluZ3MpOiB2b2lkIHtcbiAgICBpZiAoIXNvdXJjZUltYWdlPy5uYXRpdmVFbGVtZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHNvdXJjZUltYWdlRWxlbWVudCA9IHNvdXJjZUltYWdlLm5hdGl2ZUVsZW1lbnQ7XG4gICAgaWYgKHNldHRpbmdzLmNyb3BwZXJTdGF0aWNIZWlnaHQgJiYgc2V0dGluZ3MuY3JvcHBlclN0YXRpY1dpZHRoKSB7XG4gICAgICBjcm9wcGVyUG9zaXRpb24ueDEgPSAwO1xuICAgICAgY3JvcHBlclBvc2l0aW9uLngyID0gc291cmNlSW1hZ2VFbGVtZW50Lm9mZnNldFdpZHRoID4gc2V0dGluZ3MuY3JvcHBlclN0YXRpY1dpZHRoID9cbiAgICAgICAgc2V0dGluZ3MuY3JvcHBlclN0YXRpY1dpZHRoIDogc291cmNlSW1hZ2VFbGVtZW50Lm9mZnNldFdpZHRoO1xuICAgICAgY3JvcHBlclBvc2l0aW9uLnkxID0gMDtcbiAgICAgIGNyb3BwZXJQb3NpdGlvbi55MiA9IHNvdXJjZUltYWdlRWxlbWVudC5vZmZzZXRIZWlnaHQgPiBzZXR0aW5ncy5jcm9wcGVyU3RhdGljSGVpZ2h0ID9cbiAgICAgICAgc2V0dGluZ3MuY3JvcHBlclN0YXRpY0hlaWdodCA6IHNvdXJjZUltYWdlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNyb3BwZXJXaWR0aCA9IE1hdGgubWluKHNldHRpbmdzLmNyb3BwZXJTY2FsZWRNYXhXaWR0aCwgc291cmNlSW1hZ2VFbGVtZW50Lm9mZnNldFdpZHRoKTtcbiAgICAgIGNvbnN0IGNyb3BwZXJIZWlnaHQgPSBNYXRoLm1pbihzZXR0aW5ncy5jcm9wcGVyU2NhbGVkTWF4SGVpZ2h0LCBzb3VyY2VJbWFnZUVsZW1lbnQub2Zmc2V0SGVpZ2h0KTtcbiAgICAgIGlmICghc2V0dGluZ3MubWFpbnRhaW5Bc3BlY3RSYXRpbykge1xuICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDEgPSAwO1xuICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDIgPSBjcm9wcGVyV2lkdGg7XG4gICAgICAgIGNyb3BwZXJQb3NpdGlvbi55MSA9IDA7XG4gICAgICAgIGNyb3BwZXJQb3NpdGlvbi55MiA9IGNyb3BwZXJIZWlnaHQ7XG4gICAgICB9IGVsc2UgaWYgKHNvdXJjZUltYWdlRWxlbWVudC5vZmZzZXRXaWR0aCAvIHNldHRpbmdzLmFzcGVjdFJhdGlvIDwgc291cmNlSW1hZ2VFbGVtZW50Lm9mZnNldEhlaWdodCkge1xuICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDEgPSAwO1xuICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDIgPSBjcm9wcGVyV2lkdGg7XG4gICAgICAgIGNvbnN0IGNyb3BwZXJIZWlnaHRXaXRoQXNwZWN0UmF0aW8gPSBjcm9wcGVyV2lkdGggLyBzZXR0aW5ncy5hc3BlY3RSYXRpbztcbiAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkxID0gKHNvdXJjZUltYWdlRWxlbWVudC5vZmZzZXRIZWlnaHQgLSBjcm9wcGVySGVpZ2h0V2l0aEFzcGVjdFJhdGlvKSAvIDI7XG4gICAgICAgIGNyb3BwZXJQb3NpdGlvbi55MiA9IGNyb3BwZXJQb3NpdGlvbi55MSArIGNyb3BwZXJIZWlnaHRXaXRoQXNwZWN0UmF0aW87XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjcm9wcGVyUG9zaXRpb24ueTEgPSAwO1xuICAgICAgICBjcm9wcGVyUG9zaXRpb24ueTIgPSBjcm9wcGVySGVpZ2h0O1xuICAgICAgICBjb25zdCBjcm9wcGVyV2lkdGhXaXRoQXNwZWN0UmF0aW8gPSBjcm9wcGVySGVpZ2h0ICogc2V0dGluZ3MuYXNwZWN0UmF0aW87XG4gICAgICAgIGNyb3BwZXJQb3NpdGlvbi54MSA9IChzb3VyY2VJbWFnZUVsZW1lbnQub2Zmc2V0V2lkdGggLSBjcm9wcGVyV2lkdGhXaXRoQXNwZWN0UmF0aW8pIC8gMjtcbiAgICAgICAgY3JvcHBlclBvc2l0aW9uLngyID0gY3JvcHBlclBvc2l0aW9uLngxICsgY3JvcHBlcldpZHRoV2l0aEFzcGVjdFJhdGlvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG1vdmUoZXZlbnQ6IGFueSwgbW92ZVN0YXJ0OiBNb3ZlU3RhcnQsIGNyb3BwZXJQb3NpdGlvbjogQ3JvcHBlclBvc2l0aW9uKSB7XG4gICAgY29uc3QgZGlmZlggPSB0aGlzLmdldENsaWVudFgoZXZlbnQpIC0gbW92ZVN0YXJ0LmNsaWVudFg7XG4gICAgY29uc3QgZGlmZlkgPSB0aGlzLmdldENsaWVudFkoZXZlbnQpIC0gbW92ZVN0YXJ0LmNsaWVudFk7XG5cbiAgICBjcm9wcGVyUG9zaXRpb24ueDEgPSBtb3ZlU3RhcnQueDEgKyBkaWZmWDtcbiAgICBjcm9wcGVyUG9zaXRpb24ueTEgPSBtb3ZlU3RhcnQueTEgKyBkaWZmWTtcbiAgICBjcm9wcGVyUG9zaXRpb24ueDIgPSBtb3ZlU3RhcnQueDIgKyBkaWZmWDtcbiAgICBjcm9wcGVyUG9zaXRpb24ueTIgPSBtb3ZlU3RhcnQueTIgKyBkaWZmWTtcbiAgfVxuXG4gIHJlc2l6ZShldmVudDogYW55LCBtb3ZlU3RhcnQ6IE1vdmVTdGFydCwgY3JvcHBlclBvc2l0aW9uOiBDcm9wcGVyUG9zaXRpb24sIG1heFNpemU6IERpbWVuc2lvbnMsIHNldHRpbmdzOiBDcm9wcGVyU2V0dGluZ3MpOiB2b2lkIHtcbiAgICBjb25zdCBtb3ZlWCA9IHRoaXMuZ2V0Q2xpZW50WChldmVudCkgLSBtb3ZlU3RhcnQuY2xpZW50WDtcbiAgICBjb25zdCBtb3ZlWSA9IHRoaXMuZ2V0Q2xpZW50WShldmVudCkgLSBtb3ZlU3RhcnQuY2xpZW50WTtcbiAgICBzd2l0Y2ggKG1vdmVTdGFydC5wb3NpdGlvbikge1xuICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgIGNyb3BwZXJQb3NpdGlvbi54MSA9IE1hdGgubWluKE1hdGgubWF4KG1vdmVTdGFydC54MSArIG1vdmVYLCBjcm9wcGVyUG9zaXRpb24ueDIgLSBzZXR0aW5ncy5jcm9wcGVyU2NhbGVkTWF4V2lkdGgpLFxuICAgICAgICAgIGNyb3BwZXJQb3NpdGlvbi54MiAtIHNldHRpbmdzLmNyb3BwZXJTY2FsZWRNaW5XaWR0aCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndG9wbGVmdCc6XG4gICAgICAgIGNyb3BwZXJQb3NpdGlvbi54MSA9IE1hdGgubWluKE1hdGgubWF4KG1vdmVTdGFydC54MSArIG1vdmVYLCBjcm9wcGVyUG9zaXRpb24ueDIgLSBzZXR0aW5ncy5jcm9wcGVyU2NhbGVkTWF4V2lkdGgpLFxuICAgICAgICAgIGNyb3BwZXJQb3NpdGlvbi54MiAtIHNldHRpbmdzLmNyb3BwZXJTY2FsZWRNaW5XaWR0aCk7XG4gICAgICAgIGNyb3BwZXJQb3NpdGlvbi55MSA9IE1hdGgubWluKE1hdGgubWF4KG1vdmVTdGFydC55MSArIG1vdmVZLCBjcm9wcGVyUG9zaXRpb24ueTIgLSBzZXR0aW5ncy5jcm9wcGVyU2NhbGVkTWF4SGVpZ2h0KSxcbiAgICAgICAgICBjcm9wcGVyUG9zaXRpb24ueTIgLSBzZXR0aW5ncy5jcm9wcGVyU2NhbGVkTWluSGVpZ2h0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICd0b3AnOlxuICAgICAgICBjcm9wcGVyUG9zaXRpb24ueTEgPSBNYXRoLm1pbihNYXRoLm1heChtb3ZlU3RhcnQueTEgKyBtb3ZlWSwgY3JvcHBlclBvc2l0aW9uLnkyIC0gc2V0dGluZ3MuY3JvcHBlclNjYWxlZE1heEhlaWdodCksXG4gICAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkyIC0gc2V0dGluZ3MuY3JvcHBlclNjYWxlZE1pbkhlaWdodCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndG9wcmlnaHQnOlxuICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDIgPSBNYXRoLm1heChNYXRoLm1pbihtb3ZlU3RhcnQueDIgKyBtb3ZlWCwgY3JvcHBlclBvc2l0aW9uLngxICsgc2V0dGluZ3MuY3JvcHBlclNjYWxlZE1heFdpZHRoKSxcbiAgICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDEgKyBzZXR0aW5ncy5jcm9wcGVyU2NhbGVkTWluV2lkdGgpO1xuICAgICAgICBjcm9wcGVyUG9zaXRpb24ueTEgPSBNYXRoLm1pbihNYXRoLm1heChtb3ZlU3RhcnQueTEgKyBtb3ZlWSwgY3JvcHBlclBvc2l0aW9uLnkyIC0gc2V0dGluZ3MuY3JvcHBlclNjYWxlZE1heEhlaWdodCksXG4gICAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkyIC0gc2V0dGluZ3MuY3JvcHBlclNjYWxlZE1pbkhlaWdodCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDIgPSBNYXRoLm1heChNYXRoLm1pbihtb3ZlU3RhcnQueDIgKyBtb3ZlWCwgY3JvcHBlclBvc2l0aW9uLngxICsgc2V0dGluZ3MuY3JvcHBlclNjYWxlZE1heFdpZHRoKSxcbiAgICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDEgKyBzZXR0aW5ncy5jcm9wcGVyU2NhbGVkTWluV2lkdGgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2JvdHRvbXJpZ2h0JzpcbiAgICAgICAgY3JvcHBlclBvc2l0aW9uLngyID0gTWF0aC5tYXgoTWF0aC5taW4obW92ZVN0YXJ0LngyICsgbW92ZVgsIGNyb3BwZXJQb3NpdGlvbi54MSArIHNldHRpbmdzLmNyb3BwZXJTY2FsZWRNYXhXaWR0aCksXG4gICAgICAgICAgY3JvcHBlclBvc2l0aW9uLngxICsgc2V0dGluZ3MuY3JvcHBlclNjYWxlZE1pbldpZHRoKTtcbiAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkyID0gTWF0aC5tYXgoTWF0aC5taW4obW92ZVN0YXJ0LnkyICsgbW92ZVksIGNyb3BwZXJQb3NpdGlvbi55MSArIHNldHRpbmdzLmNyb3BwZXJTY2FsZWRNYXhIZWlnaHQpLFxuICAgICAgICAgIGNyb3BwZXJQb3NpdGlvbi55MSArIHNldHRpbmdzLmNyb3BwZXJTY2FsZWRNaW5IZWlnaHQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgIGNyb3BwZXJQb3NpdGlvbi55MiA9IE1hdGgubWF4KE1hdGgubWluKG1vdmVTdGFydC55MiArIG1vdmVZLCBjcm9wcGVyUG9zaXRpb24ueTEgKyBzZXR0aW5ncy5jcm9wcGVyU2NhbGVkTWF4SGVpZ2h0KSxcbiAgICAgICAgICBjcm9wcGVyUG9zaXRpb24ueTEgKyBzZXR0aW5ncy5jcm9wcGVyU2NhbGVkTWluSGVpZ2h0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdib3R0b21sZWZ0JzpcbiAgICAgICAgY3JvcHBlclBvc2l0aW9uLngxID0gTWF0aC5taW4oTWF0aC5tYXgobW92ZVN0YXJ0LngxICsgbW92ZVgsIGNyb3BwZXJQb3NpdGlvbi54MiAtIHNldHRpbmdzLmNyb3BwZXJTY2FsZWRNYXhXaWR0aCksXG4gICAgICAgICAgY3JvcHBlclBvc2l0aW9uLngyIC0gc2V0dGluZ3MuY3JvcHBlclNjYWxlZE1pbldpZHRoKTtcbiAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkyID0gTWF0aC5tYXgoTWF0aC5taW4obW92ZVN0YXJ0LnkyICsgbW92ZVksIGNyb3BwZXJQb3NpdGlvbi55MSArIHNldHRpbmdzLmNyb3BwZXJTY2FsZWRNYXhIZWlnaHQpLFxuICAgICAgICAgIGNyb3BwZXJQb3NpdGlvbi55MSArIHNldHRpbmdzLmNyb3BwZXJTY2FsZWRNaW5IZWlnaHQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2NlbnRlcic6XG4gICAgICAgIGNvbnN0IHNjYWxlID0gZXZlbnQuc2NhbGU7XG4gICAgICAgIGNvbnN0IG5ld1dpZHRoID0gTWF0aC5taW4oXG4gICAgICAgICAgTWF0aC5tYXgoc2V0dGluZ3MuY3JvcHBlclNjYWxlZE1pbldpZHRoLCAoTWF0aC5hYnMobW92ZVN0YXJ0LngyIC0gbW92ZVN0YXJ0LngxKSkgKiBzY2FsZSksXG4gICAgICAgICAgc2V0dGluZ3MuY3JvcHBlclNjYWxlZE1heFdpZHRoKTtcbiAgICAgICAgY29uc3QgbmV3SGVpZ2h0ID0gTWF0aC5taW4oXG4gICAgICAgICAgTWF0aC5tYXgoc2V0dGluZ3MuY3JvcHBlclNjYWxlZE1pbkhlaWdodCwgKE1hdGguYWJzKG1vdmVTdGFydC55MiAtIG1vdmVTdGFydC55MSkpICogc2NhbGUpLFxuICAgICAgICAgIHNldHRpbmdzLmNyb3BwZXJTY2FsZWRNYXhIZWlnaHQpO1xuICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDEgPSBtb3ZlU3RhcnQuY2xpZW50WCAtIG5ld1dpZHRoIC8gMjtcbiAgICAgICAgY3JvcHBlclBvc2l0aW9uLngyID0gbW92ZVN0YXJ0LmNsaWVudFggKyBuZXdXaWR0aCAvIDI7XG4gICAgICAgIGNyb3BwZXJQb3NpdGlvbi55MSA9IG1vdmVTdGFydC5jbGllbnRZIC0gbmV3SGVpZ2h0IC8gMjtcbiAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkyID0gbW92ZVN0YXJ0LmNsaWVudFkgKyBuZXdIZWlnaHQgLyAyO1xuICAgICAgICBpZiAoY3JvcHBlclBvc2l0aW9uLngxIDwgMCkge1xuICAgICAgICAgIGNyb3BwZXJQb3NpdGlvbi54MiAtPSBjcm9wcGVyUG9zaXRpb24ueDE7XG4gICAgICAgICAgY3JvcHBlclBvc2l0aW9uLngxID0gMDtcbiAgICAgICAgfSBlbHNlIGlmIChjcm9wcGVyUG9zaXRpb24ueDIgPiBtYXhTaXplLndpZHRoKSB7XG4gICAgICAgICAgY3JvcHBlclBvc2l0aW9uLngxIC09IChjcm9wcGVyUG9zaXRpb24ueDIgLSBtYXhTaXplLndpZHRoKTtcbiAgICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDIgPSBtYXhTaXplLndpZHRoO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjcm9wcGVyUG9zaXRpb24ueTEgPCAwKSB7XG4gICAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkyIC09IGNyb3BwZXJQb3NpdGlvbi55MTtcbiAgICAgICAgICBjcm9wcGVyUG9zaXRpb24ueTEgPSAwO1xuICAgICAgICB9IGVsc2UgaWYgKGNyb3BwZXJQb3NpdGlvbi55MiA+IG1heFNpemUuaGVpZ2h0KSB7XG4gICAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkxIC09IChjcm9wcGVyUG9zaXRpb24ueTIgLSBtYXhTaXplLmhlaWdodCk7XG4gICAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkyID0gbWF4U2l6ZS5oZWlnaHQ7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgaWYgKHNldHRpbmdzLm1haW50YWluQXNwZWN0UmF0aW8pIHtcbiAgICAgIHRoaXMuY2hlY2tBc3BlY3RSYXRpbyhtb3ZlU3RhcnQucG9zaXRpb24hLCBjcm9wcGVyUG9zaXRpb24sIG1heFNpemUsIHNldHRpbmdzKTtcbiAgICB9XG4gIH1cblxuICBjaGVja0FzcGVjdFJhdGlvKHBvc2l0aW9uOiBzdHJpbmcsIGNyb3BwZXJQb3NpdGlvbjogQ3JvcHBlclBvc2l0aW9uLCBtYXhTaXplOiBEaW1lbnNpb25zLCBzZXR0aW5nczogQ3JvcHBlclNldHRpbmdzKTogdm9pZCB7XG4gICAgbGV0IG92ZXJmbG93WCA9IDA7XG4gICAgbGV0IG92ZXJmbG93WSA9IDA7XG5cbiAgICBzd2l0Y2ggKHBvc2l0aW9uKSB7XG4gICAgICBjYXNlICd0b3AnOlxuICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDIgPSBjcm9wcGVyUG9zaXRpb24ueDEgKyAoY3JvcHBlclBvc2l0aW9uLnkyIC0gY3JvcHBlclBvc2l0aW9uLnkxKSAqIHNldHRpbmdzLmFzcGVjdFJhdGlvO1xuICAgICAgICBvdmVyZmxvd1ggPSBNYXRoLm1heChjcm9wcGVyUG9zaXRpb24ueDIgLSBtYXhTaXplLndpZHRoLCAwKTtcbiAgICAgICAgb3ZlcmZsb3dZID0gTWF0aC5tYXgoMCAtIGNyb3BwZXJQb3NpdGlvbi55MSwgMCk7XG4gICAgICAgIGlmIChvdmVyZmxvd1ggPiAwIHx8IG92ZXJmbG93WSA+IDApIHtcbiAgICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDIgLT0gKG92ZXJmbG93WSAqIHNldHRpbmdzLmFzcGVjdFJhdGlvKSA+IG92ZXJmbG93WCA/IChvdmVyZmxvd1kgKiBzZXR0aW5ncy5hc3BlY3RSYXRpbykgOiBvdmVyZmxvd1g7XG4gICAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkxICs9IChvdmVyZmxvd1kgKiBzZXR0aW5ncy5hc3BlY3RSYXRpbykgPiBvdmVyZmxvd1ggPyBvdmVyZmxvd1kgOiBvdmVyZmxvd1ggLyBzZXR0aW5ncy5hc3BlY3RSYXRpbztcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ2JvdHRvbSc6XG4gICAgICAgIGNyb3BwZXJQb3NpdGlvbi54MiA9IGNyb3BwZXJQb3NpdGlvbi54MSArIChjcm9wcGVyUG9zaXRpb24ueTIgLSBjcm9wcGVyUG9zaXRpb24ueTEpICogc2V0dGluZ3MuYXNwZWN0UmF0aW87XG4gICAgICAgIG92ZXJmbG93WCA9IE1hdGgubWF4KGNyb3BwZXJQb3NpdGlvbi54MiAtIG1heFNpemUud2lkdGgsIDApO1xuICAgICAgICBvdmVyZmxvd1kgPSBNYXRoLm1heChjcm9wcGVyUG9zaXRpb24ueTIgLSBtYXhTaXplLmhlaWdodCwgMCk7XG4gICAgICAgIGlmIChvdmVyZmxvd1ggPiAwIHx8IG92ZXJmbG93WSA+IDApIHtcbiAgICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDIgLT0gKG92ZXJmbG93WSAqIHNldHRpbmdzLmFzcGVjdFJhdGlvKSA+IG92ZXJmbG93WCA/IChvdmVyZmxvd1kgKiBzZXR0aW5ncy5hc3BlY3RSYXRpbykgOiBvdmVyZmxvd1g7XG4gICAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkyIC09IChvdmVyZmxvd1kgKiBzZXR0aW5ncy5hc3BlY3RSYXRpbykgPiBvdmVyZmxvd1ggPyBvdmVyZmxvd1kgOiAob3ZlcmZsb3dYIC8gc2V0dGluZ3MuYXNwZWN0UmF0aW8pO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndG9wbGVmdCc6XG4gICAgICAgIGNyb3BwZXJQb3NpdGlvbi55MSA9IGNyb3BwZXJQb3NpdGlvbi55MiAtIChjcm9wcGVyUG9zaXRpb24ueDIgLSBjcm9wcGVyUG9zaXRpb24ueDEpIC8gc2V0dGluZ3MuYXNwZWN0UmF0aW87XG4gICAgICAgIG92ZXJmbG93WCA9IE1hdGgubWF4KDAgLSBjcm9wcGVyUG9zaXRpb24ueDEsIDApO1xuICAgICAgICBvdmVyZmxvd1kgPSBNYXRoLm1heCgwIC0gY3JvcHBlclBvc2l0aW9uLnkxLCAwKTtcbiAgICAgICAgaWYgKG92ZXJmbG93WCA+IDAgfHwgb3ZlcmZsb3dZID4gMCkge1xuICAgICAgICAgIGNyb3BwZXJQb3NpdGlvbi54MSArPSAob3ZlcmZsb3dZICogc2V0dGluZ3MuYXNwZWN0UmF0aW8pID4gb3ZlcmZsb3dYID8gKG92ZXJmbG93WSAqIHNldHRpbmdzLmFzcGVjdFJhdGlvKSA6IG92ZXJmbG93WDtcbiAgICAgICAgICBjcm9wcGVyUG9zaXRpb24ueTEgKz0gKG92ZXJmbG93WSAqIHNldHRpbmdzLmFzcGVjdFJhdGlvKSA+IG92ZXJmbG93WCA/IG92ZXJmbG93WSA6IG92ZXJmbG93WCAvIHNldHRpbmdzLmFzcGVjdFJhdGlvO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAndG9wcmlnaHQnOlxuICAgICAgICBjcm9wcGVyUG9zaXRpb24ueTEgPSBjcm9wcGVyUG9zaXRpb24ueTIgLSAoY3JvcHBlclBvc2l0aW9uLngyIC0gY3JvcHBlclBvc2l0aW9uLngxKSAvIHNldHRpbmdzLmFzcGVjdFJhdGlvO1xuICAgICAgICBvdmVyZmxvd1ggPSBNYXRoLm1heChjcm9wcGVyUG9zaXRpb24ueDIgLSBtYXhTaXplLndpZHRoLCAwKTtcbiAgICAgICAgb3ZlcmZsb3dZID0gTWF0aC5tYXgoMCAtIGNyb3BwZXJQb3NpdGlvbi55MSwgMCk7XG4gICAgICAgIGlmIChvdmVyZmxvd1ggPiAwIHx8IG92ZXJmbG93WSA+IDApIHtcbiAgICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDIgLT0gKG92ZXJmbG93WSAqIHNldHRpbmdzLmFzcGVjdFJhdGlvKSA+IG92ZXJmbG93WCA/IChvdmVyZmxvd1kgKiBzZXR0aW5ncy5hc3BlY3RSYXRpbykgOiBvdmVyZmxvd1g7XG4gICAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkxICs9IChvdmVyZmxvd1kgKiBzZXR0aW5ncy5hc3BlY3RSYXRpbykgPiBvdmVyZmxvd1ggPyBvdmVyZmxvd1kgOiBvdmVyZmxvd1ggLyBzZXR0aW5ncy5hc3BlY3RSYXRpbztcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgIGNhc2UgJ2JvdHRvbXJpZ2h0JzpcbiAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkyID0gY3JvcHBlclBvc2l0aW9uLnkxICsgKGNyb3BwZXJQb3NpdGlvbi54MiAtIGNyb3BwZXJQb3NpdGlvbi54MSkgLyBzZXR0aW5ncy5hc3BlY3RSYXRpbztcbiAgICAgICAgb3ZlcmZsb3dYID0gTWF0aC5tYXgoY3JvcHBlclBvc2l0aW9uLngyIC0gbWF4U2l6ZS53aWR0aCwgMCk7XG4gICAgICAgIG92ZXJmbG93WSA9IE1hdGgubWF4KGNyb3BwZXJQb3NpdGlvbi55MiAtIG1heFNpemUuaGVpZ2h0LCAwKTtcbiAgICAgICAgaWYgKG92ZXJmbG93WCA+IDAgfHwgb3ZlcmZsb3dZID4gMCkge1xuICAgICAgICAgIGNyb3BwZXJQb3NpdGlvbi54MiAtPSAob3ZlcmZsb3dZICogc2V0dGluZ3MuYXNwZWN0UmF0aW8pID4gb3ZlcmZsb3dYID8gKG92ZXJmbG93WSAqIHNldHRpbmdzLmFzcGVjdFJhdGlvKSA6IG92ZXJmbG93WDtcbiAgICAgICAgICBjcm9wcGVyUG9zaXRpb24ueTIgLT0gKG92ZXJmbG93WSAqIHNldHRpbmdzLmFzcGVjdFJhdGlvKSA+IG92ZXJmbG93WCA/IG92ZXJmbG93WSA6IG92ZXJmbG93WCAvIHNldHRpbmdzLmFzcGVjdFJhdGlvO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICBjYXNlICdib3R0b21sZWZ0JzpcbiAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkyID0gY3JvcHBlclBvc2l0aW9uLnkxICsgKGNyb3BwZXJQb3NpdGlvbi54MiAtIGNyb3BwZXJQb3NpdGlvbi54MSkgLyBzZXR0aW5ncy5hc3BlY3RSYXRpbztcbiAgICAgICAgb3ZlcmZsb3dYID0gTWF0aC5tYXgoMCAtIGNyb3BwZXJQb3NpdGlvbi54MSwgMCk7XG4gICAgICAgIG92ZXJmbG93WSA9IE1hdGgubWF4KGNyb3BwZXJQb3NpdGlvbi55MiAtIG1heFNpemUuaGVpZ2h0LCAwKTtcbiAgICAgICAgaWYgKG92ZXJmbG93WCA+IDAgfHwgb3ZlcmZsb3dZID4gMCkge1xuICAgICAgICAgIGNyb3BwZXJQb3NpdGlvbi54MSArPSAob3ZlcmZsb3dZICogc2V0dGluZ3MuYXNwZWN0UmF0aW8pID4gb3ZlcmZsb3dYID8gKG92ZXJmbG93WSAqIHNldHRpbmdzLmFzcGVjdFJhdGlvKSA6IG92ZXJmbG93WDtcbiAgICAgICAgICBjcm9wcGVyUG9zaXRpb24ueTIgLT0gKG92ZXJmbG93WSAqIHNldHRpbmdzLmFzcGVjdFJhdGlvKSA+IG92ZXJmbG93WCA/IG92ZXJmbG93WSA6IG92ZXJmbG93WCAvIHNldHRpbmdzLmFzcGVjdFJhdGlvO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY2VudGVyJzpcbiAgICAgICAgY3JvcHBlclBvc2l0aW9uLngyID0gY3JvcHBlclBvc2l0aW9uLngxICsgKGNyb3BwZXJQb3NpdGlvbi55MiAtIGNyb3BwZXJQb3NpdGlvbi55MSkgKiBzZXR0aW5ncy5hc3BlY3RSYXRpbztcbiAgICAgICAgY3JvcHBlclBvc2l0aW9uLnkyID0gY3JvcHBlclBvc2l0aW9uLnkxICsgKGNyb3BwZXJQb3NpdGlvbi54MiAtIGNyb3BwZXJQb3NpdGlvbi54MSkgLyBzZXR0aW5ncy5hc3BlY3RSYXRpbztcbiAgICAgICAgY29uc3Qgb3ZlcmZsb3dYMSA9IE1hdGgubWF4KDAgLSBjcm9wcGVyUG9zaXRpb24ueDEsIDApO1xuICAgICAgICBjb25zdCBvdmVyZmxvd1gyID0gTWF0aC5tYXgoY3JvcHBlclBvc2l0aW9uLngyIC0gbWF4U2l6ZS53aWR0aCwgMCk7XG4gICAgICAgIGNvbnN0IG92ZXJmbG93WTEgPSBNYXRoLm1heChjcm9wcGVyUG9zaXRpb24ueTIgLSBtYXhTaXplLmhlaWdodCwgMCk7XG4gICAgICAgIGNvbnN0IG92ZXJmbG93WTIgPSBNYXRoLm1heCgwIC0gY3JvcHBlclBvc2l0aW9uLnkxLCAwKTtcbiAgICAgICAgaWYgKG92ZXJmbG93WDEgPiAwIHx8IG92ZXJmbG93WDIgPiAwIHx8IG92ZXJmbG93WTEgPiAwIHx8IG92ZXJmbG93WTIgPiAwKSB7XG4gICAgICAgICAgY3JvcHBlclBvc2l0aW9uLngxICs9IChvdmVyZmxvd1kxICogc2V0dGluZ3MuYXNwZWN0UmF0aW8pID4gb3ZlcmZsb3dYMSA/IChvdmVyZmxvd1kxICogc2V0dGluZ3MuYXNwZWN0UmF0aW8pIDogb3ZlcmZsb3dYMTtcbiAgICAgICAgICBjcm9wcGVyUG9zaXRpb24ueDIgLT0gKG92ZXJmbG93WTIgKiBzZXR0aW5ncy5hc3BlY3RSYXRpbykgPiBvdmVyZmxvd1gyID8gKG92ZXJmbG93WTIgKiBzZXR0aW5ncy5hc3BlY3RSYXRpbykgOiBvdmVyZmxvd1gyO1xuICAgICAgICAgIGNyb3BwZXJQb3NpdGlvbi55MSArPSAob3ZlcmZsb3dZMiAqIHNldHRpbmdzLmFzcGVjdFJhdGlvKSA+IG92ZXJmbG93WDIgPyBvdmVyZmxvd1kyIDogb3ZlcmZsb3dYMiAvIHNldHRpbmdzLmFzcGVjdFJhdGlvO1xuICAgICAgICAgIGNyb3BwZXJQb3NpdGlvbi55MiAtPSAob3ZlcmZsb3dZMSAqIHNldHRpbmdzLmFzcGVjdFJhdGlvKSA+IG92ZXJmbG93WDEgPyBvdmVyZmxvd1kxIDogb3ZlcmZsb3dYMSAvIHNldHRpbmdzLmFzcGVjdFJhdGlvO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIGdldENsaWVudFgoZXZlbnQ6IGFueSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGV2ZW50LnRvdWNoZXM/LlswXS5jbGllbnRYIHx8IGV2ZW50LmNsaWVudFggfHwgMDtcbiAgfVxuXG4gIGdldENsaWVudFkoZXZlbnQ6IGFueSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGV2ZW50LnRvdWNoZXM/LlswXS5jbGllbnRZIHx8IGV2ZW50LmNsaWVudFkgfHwgMDtcbiAgfVxufVxuIl19
|
|
@@ -159,10 +159,10 @@ export class LoadImageService {
|
|
|
159
159
|
};
|
|
160
160
|
}
|
|
161
161
|
}
|
|
162
|
-
LoadImageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
163
|
-
LoadImageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
164
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
162
|
+
LoadImageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: LoadImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
163
|
+
LoadImageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: LoadImageService, providedIn: 'root' });
|
|
164
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: LoadImageService, decorators: [{
|
|
165
165
|
type: Injectable,
|
|
166
166
|
args: [{ providedIn: 'root' }]
|
|
167
167
|
}] });
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1pbWFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWltYWdlLWNyb3BwZXIvc3JjL2xpYi9zZXJ2aWNlcy9sb2FkLWltYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsOEJBQThCLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFRaEcsTUFBTSxPQUFPLGdCQUFnQjtJQUQ3QjtRQUdVLHdCQUFtQixHQUFxQix5QkFBeUIsRUFBRSxDQUFDO0tBbUw3RTtJQWpMQyxhQUFhLENBQUMsSUFBVSxFQUFFLGVBQWdDO1FBQ3hELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsTUFBTSxVQUFVLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNwQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUM7cUJBQzVELElBQUksQ0FBQyxPQUFPLENBQUM7cUJBQ2IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25CLENBQUMsQ0FBQztZQUNGLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sU0FBUyxDQUFDLFdBQW1CLEVBQUUsU0FBaUIsRUFBRSxlQUFnQztRQUN4RixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3JDLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxvQkFB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Q0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxrQkFBa0IsQ0FBQztpQkFDekQsQ0FBQzthQUNIO2lCQUFNO2dCQUNMLE1BQU0saUJBQWlCLEdBQUcsWUFBWSxDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDO2dCQUM1RSxNQUFNLGtCQUFrQixHQUFHLFlBQVksQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFDLFdBQVcsQ0FBQztnQkFDNUUsT0FBTztvQkFDTCxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLGlCQUFpQixDQUFDO29CQUN0RCxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDO2lCQUMxRCxDQUFDO2FBQ0g7U0FDRjtRQUVELElBQUksY0FBYyxHQUFHLENBQUMsRUFBRTtZQUN0QixPQUFPO2dCQUNMLE1BQU0sRUFBRSxZQUFZLENBQUMsS0FBSztnQkFDMUIsS0FBSyxFQUFFLFlBQVksQ0FBQyxNQUFNO2FBQzNCLENBQUM7U0FDSDtRQUNELE9BQU87WUFDTCxLQUFLLEVBQUUsWUFBWSxDQUFDLEtBQUs7WUFDekIsTUFBTSxFQUFFLFlBQVksQ0FBQyxNQUFNO1NBQzVCLENBQUM7SUFDSixDQUFDOzs2R0FwTFUsZ0JBQWdCO2lIQUFoQixnQkFBZ0IsY0FESixNQUFNOzJGQUNsQixnQkFBZ0I7a0JBRDVCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGltZW5zaW9ucywgTG9hZGVkSW1hZ2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IENyb3BwZXJTZXR0aW5ncyB9IGZyb20gJy4uL2ludGVyZmFjZXMvY3JvcHBlci5zZXR0aW5ncyc7XG5pbXBvcnQgeyBFeGlmVHJhbnNmb3JtIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9leGlmLXRyYW5zZm9ybS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgZ2V0VHJhbnNmb3JtYXRpb25zRnJvbUV4aWZEYXRhLCBzdXBwb3J0c0F1dG9tYXRpY1JvdGF0aW9uIH0gZnJvbSAnLi4vdXRpbHMvZXhpZi51dGlscyc7XG5cbmludGVyZmFjZSBMb2FkSW1hZ2VCYXNlNjQge1xuICBvcmlnaW5hbEltYWdlOiBIVE1MSW1hZ2VFbGVtZW50O1xuICBvcmlnaW5hbEJhc2U2NDogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBMb2FkSW1hZ2VTZXJ2aWNlIHtcblxuICBwcml2YXRlIGF1dG9Sb3RhdGVTdXBwb3J0ZWQ6IFByb21pc2U8Ym9vbGVhbj4gPSBzdXBwb3J0c0F1dG9tYXRpY1JvdGF0aW9uKCk7XG5cbiAgbG9hZEltYWdlRmlsZShmaWxlOiBGaWxlLCBjcm9wcGVyU2V0dGluZ3M6IENyb3BwZXJTZXR0aW5ncyk6IFByb21pc2U8TG9hZGVkSW1hZ2U+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgZmlsZVJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICBmaWxlUmVhZGVyLm9ubG9hZCA9IChldmVudDogYW55KSA9PiB7XG4gICAgICAgIHRoaXMubG9hZEltYWdlKGV2ZW50LnRhcmdldC5yZXN1bHQsIGZpbGUudHlwZSwgY3JvcHBlclNldHRpbmdzKVxuICAgICAgICAgIC50aGVuKHJlc29sdmUpXG4gICAgICAgICAgLmNhdGNoKHJlamVjdCk7XG4gICAgICB9O1xuICAgICAgZmlsZVJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkSW1hZ2UoaW1hZ2VCYXNlNjQ6IHN0cmluZywgaW1hZ2VUeXBlOiBzdHJpbmcsIGNyb3BwZXJTZXR0aW5nczogQ3JvcHBlclNldHRpbmdzKTogUHJvbWlzZTxMb2FkZWRJbWFnZT4ge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkSW1hZ2VUeXBlKGltYWdlVHlwZSkpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoJ0ludmFsaWQgaW1hZ2UgdHlwZScpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubG9hZEJhc2U2NEltYWdlKGltYWdlQmFzZTY0LCBjcm9wcGVyU2V0dGluZ3MpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1ZhbGlkSW1hZ2VUeXBlKHR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAvaW1hZ2VcXC8ocG5nfGpwZ3xqcGVnfGJtcHxnaWZ8dGlmZnx3ZWJwfHgtaWNvbnx2bmQubWljcm9zb2Z0Lmljb24pLy50ZXN0KHR5cGUpO1xuICB9XG5cbiAgbG9hZEltYWdlRnJvbVVSTCh1cmw6IHN0cmluZywgY3JvcHBlclNldHRpbmdzOiBDcm9wcGVyU2V0dGluZ3MpOiBQcm9taXNlPExvYWRlZEltYWdlPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IGltZyA9IG5ldyBJbWFnZSgpO1xuICAgICAgaW1nLm9uZXJyb3IgPSAoKSA9PiByZWplY3Q7XG4gICAgICBpbWcub25sb2FkID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuICAgICAgICBjYW52YXMud2lkdGggPSBpbWcud2lkdGg7XG4gICAgICAgIGNhbnZhcy5oZWlnaHQgPSBpbWcuaGVpZ2h0O1xuICAgICAgICBjb250ZXh0Py5kcmF3SW1hZ2UoaW1nLCAwLCAwKTtcbiAgICAgICAgdGhpcy5sb2FkQmFzZTY0SW1hZ2UoY2FudmFzLnRvRGF0YVVSTCgpLCBjcm9wcGVyU2V0dGluZ3MpLnRoZW4ocmVzb2x2ZSk7XG4gICAgICB9O1xuICAgICAgaW1nLmNyb3NzT3JpZ2luID0gJ2Fub255bW91cyc7XG4gICAgICBpbWcuc3JjID0gdXJsO1xuICAgIH0pO1xuICB9XG5cbiAgbG9hZEJhc2U2NEltYWdlKGltYWdlQmFzZTY0OiBzdHJpbmcsIGNyb3BwZXJTZXR0aW5nczogQ3JvcHBlclNldHRpbmdzKTogUHJvbWlzZTxMb2FkZWRJbWFnZT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxMb2FkSW1hZ2VCYXNlNjQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IG9yaWdpbmFsSW1hZ2UgPSBuZXcgSW1hZ2UoKTtcbiAgICAgIG9yaWdpbmFsSW1hZ2Uub25sb2FkID0gKCkgPT4gcmVzb2x2ZSh7XG4gICAgICAgIG9yaWdpbmFsSW1hZ2UsXG4gICAgICAgIG9yaWdpbmFsQmFzZTY0OiBpbWFnZUJhc2U2NFxuICAgICAgfSk7XG4gICAgICBvcmlnaW5hbEltYWdlLm9uZXJyb3IgPSByZWplY3Q7XG4gICAgICBvcmlnaW5hbEltYWdlLnNyYyA9IGltYWdlQmFzZTY0O1xuICAgIH0pLnRoZW4oKHJlczogTG9hZEltYWdlQmFzZTY0KSA9PiB0aGlzLnRyYW5zZm9ybUltYWdlQmFzZTY0KHJlcywgY3JvcHBlclNldHRpbmdzKSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHRyYW5zZm9ybUltYWdlQmFzZTY0KHJlczogTG9hZEltYWdlQmFzZTY0LCBjcm9wcGVyU2V0dGluZ3M6IENyb3BwZXJTZXR0aW5ncyk6IFByb21pc2U8TG9hZGVkSW1hZ2U+IHtcbiAgICBjb25zdCBhdXRvUm90YXRlID0gYXdhaXQgdGhpcy5hdXRvUm90YXRlU3VwcG9ydGVkO1xuICAgIGNvbnN0IGV4aWZUcmFuc2Zvcm0gPSBhd2FpdCBnZXRUcmFuc2Zvcm1hdGlvbnNGcm9tRXhpZkRhdGEoYXV0b1JvdGF0ZSA/IC0xIDogcmVzLm9yaWdpbmFsQmFzZTY0KTtcbiAgICBpZiAoIXJlcy5vcmlnaW5hbEltYWdlIHx8ICFyZXMub3JpZ2luYWxJbWFnZS5jb21wbGV0ZSkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcignTm8gaW1hZ2UgbG9hZGVkJykpO1xuICAgIH1cbiAgICBjb25zdCBsb2FkZWRJbWFnZSA9IHtcbiAgICAgIG9yaWdpbmFsOiB7XG4gICAgICAgIGJhc2U2NDogcmVzLm9yaWdpbmFsQmFzZTY0LFxuICAgICAgICBpbWFnZTogcmVzLm9yaWdpbmFsSW1hZ2UsXG4gICAgICAgIHNpemU6IHtcbiAgICAgICAgICB3aWR0aDogcmVzLm9yaWdpbmFsSW1hZ2UubmF0dXJhbFdpZHRoLFxuICAgICAgICAgIGhlaWdodDogcmVzLm9yaWdpbmFsSW1hZ2UubmF0dXJhbEhlaWdodFxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZXhpZlRyYW5zZm9ybVxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtTG9hZGVkSW1hZ2UobG9hZGVkSW1hZ2UsIGNyb3BwZXJTZXR0aW5ncyk7XG4gIH1cblxuICBhc3luYyB0cmFuc2Zvcm1Mb2FkZWRJbWFnZShsb2FkZWRJbWFnZTogUGFydGlhbDxMb2FkZWRJbWFnZT4sIGNyb3BwZXJTZXR0aW5nczogQ3JvcHBlclNldHRpbmdzKTogUHJvbWlzZTxMb2FkZWRJbWFnZT4ge1xuICAgIGNvbnN0IGNhbnZhc1JvdGF0aW9uID0gY3JvcHBlclNldHRpbmdzLmNhbnZhc1JvdGF0aW9uICsgbG9hZGVkSW1hZ2UuZXhpZlRyYW5zZm9ybSEucm90YXRlO1xuICAgIGNvbnN0IG9yaWdpbmFsU2l6ZSA9IHtcbiAgICAgIHdpZHRoOiBsb2FkZWRJbWFnZS5vcmlnaW5hbCEuaW1hZ2UubmF0dXJhbFdpZHRoLFxuICAgICAgaGVpZ2h0OiBsb2FkZWRJbWFnZS5vcmlnaW5hbCEuaW1hZ2UubmF0dXJhbEhlaWdodFxuICAgIH07XG4gICAgaWYgKGNhbnZhc1JvdGF0aW9uID09PSAwICYmICFsb2FkZWRJbWFnZS5leGlmVHJhbnNmb3JtIS5mbGlwICYmICFjcm9wcGVyU2V0dGluZ3MuY29udGFpbldpdGhpbkFzcGVjdFJhdGlvKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBvcmlnaW5hbDoge1xuICAgICAgICAgIGJhc2U2NDogbG9hZGVkSW1hZ2Uub3JpZ2luYWwhLmJhc2U2NCxcbiAgICAgICAgICBpbWFnZTogbG9hZGVkSW1hZ2Uub3JpZ2luYWwhLmltYWdlLFxuICAgICAgICAgIHNpemU6IHsuLi5vcmlnaW5hbFNpemV9XG4gICAgICAgIH0sXG4gICAgICAgIHRyYW5zZm9ybWVkOiB7XG4gICAgICAgICAgYmFzZTY0OiBsb2FkZWRJbWFnZS5vcmlnaW5hbCEuYmFzZTY0LFxuICAgICAgICAgIGltYWdlOiBsb2FkZWRJbWFnZS5vcmlnaW5hbCEuaW1hZ2UsXG4gICAgICAgICAgc2l6ZTogey4uLm9yaWdpbmFsU2l6ZX1cbiAgICAgICAgfSxcbiAgICAgICAgZXhpZlRyYW5zZm9ybTogbG9hZGVkSW1hZ2UuZXhpZlRyYW5zZm9ybSFcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3QgdHJhbnNmb3JtZWRTaXplID0gdGhpcy5nZXRUcmFuc2Zvcm1lZFNpemUob3JpZ2luYWxTaXplLCBsb2FkZWRJbWFnZS5leGlmVHJhbnNmb3JtISwgY3JvcHBlclNldHRpbmdzKTtcbiAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgICBjYW52YXMud2lkdGggPSB0cmFuc2Zvcm1lZFNpemUud2lkdGg7XG4gICAgY2FudmFzLmhlaWdodCA9IHRyYW5zZm9ybWVkU2l6ZS5oZWlnaHQ7XG4gICAgY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XG4gICAgY3R4Py5zZXRUcmFuc2Zvcm0oXG4gICAgICBsb2FkZWRJbWFnZS5leGlmVHJhbnNmb3JtIS5mbGlwID8gLTEgOiAxLFxuICAgICAgMCxcbiAgICAgIDAsXG4gICAgICAxLFxuICAgICAgY2FudmFzLndpZHRoIC8gMixcbiAgICAgIGNhbnZhcy5oZWlnaHQgLyAyXG4gICAgKTtcbiAgICBjdHg/LnJvdGF0ZShNYXRoLlBJICogKGNhbnZhc1JvdGF0aW9uIC8gMikpO1xuICAgIGN0eD8uZHJhd0ltYWdlKFxuICAgICAgbG9hZGVkSW1hZ2Uub3JpZ2luYWwhLmltYWdlLFxuICAgICAgLW9yaWdpbmFsU2l6ZS53aWR0aCAvIDIsXG4gICAgICAtb3JpZ2luYWxTaXplLmhlaWdodCAvIDJcbiAgICApO1xuICAgIGNvbnN0IHRyYW5zZm9ybWVkQmFzZTY0ID0gY2FudmFzLnRvRGF0YVVSTCgpO1xuICAgIGNvbnN0IHRyYW5zZm9ybWVkSW1hZ2UgPSBhd2FpdCB0aGlzLmxvYWRJbWFnZUZyb21CYXNlNjQodHJhbnNmb3JtZWRCYXNlNjQpO1xuICAgIHJldHVybiB7XG4gICAgICBvcmlnaW5hbDoge1xuICAgICAgICBiYXNlNjQ6IGxvYWRlZEltYWdlLm9yaWdpbmFsIS5iYXNlNjQsXG4gICAgICAgIGltYWdlOiBsb2FkZWRJbWFnZS5vcmlnaW5hbCEuaW1hZ2UsXG4gICAgICAgIHNpemU6IHsuLi5vcmlnaW5hbFNpemV9XG4gICAgICB9LFxuICAgICAgdHJhbnNmb3JtZWQ6IHtcbiAgICAgICAgYmFzZTY0OiB0cmFuc2Zvcm1lZEJhc2U2NCxcbiAgICAgICAgaW1hZ2U6IHRyYW5zZm9ybWVkSW1hZ2UsXG4gICAgICAgIHNpemU6IHtcbiAgICAgICAgICB3aWR0aDogdHJhbnNmb3JtZWRJbWFnZS53aWR0aCxcbiAgICAgICAgICBoZWlnaHQ6IHRyYW5zZm9ybWVkSW1hZ2UuaGVpZ2h0XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBleGlmVHJhbnNmb3JtOiBsb2FkZWRJbWFnZS5leGlmVHJhbnNmb3JtIVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGxvYWRJbWFnZUZyb21CYXNlNjQoaW1hZ2VCYXNlNjQ6IHN0cmluZyk6IFByb21pc2U8SFRNTEltYWdlRWxlbWVudD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxIVE1MSW1hZ2VFbGVtZW50PigoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgaW1hZ2UgPSBuZXcgSW1hZ2UoKTtcbiAgICAgIGltYWdlLm9ubG9hZCA9ICgpID0+IHJlc29sdmUoaW1hZ2UpO1xuICAgICAgaW1hZ2Uub25lcnJvciA9IHJlamVjdDtcbiAgICAgIGltYWdlLnNyYyA9IGltYWdlQmFzZTY0O1xuICAgIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VHJhbnNmb3JtZWRTaXplKFxuICAgIG9yaWdpbmFsU2l6ZTogeyB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciB9LFxuICAgIGV4aWZUcmFuc2Zvcm06IEV4aWZUcmFuc2Zvcm0sXG4gICAgY3JvcHBlclNldHRpbmdzOiBDcm9wcGVyU2V0dGluZ3NcbiAgKTogRGltZW5zaW9ucyB7XG4gICAgY29uc3QgY2FudmFzUm90YXRpb24gPSBjcm9wcGVyU2V0dGluZ3MuY2FudmFzUm90YXRpb24gKyBleGlmVHJhbnNmb3JtLnJvdGF0ZTtcbiAgICBpZiAoY3JvcHBlclNldHRpbmdzLmNvbnRhaW5XaXRoaW5Bc3BlY3RSYXRpbykge1xuICAgICAgaWYgKGNhbnZhc1JvdGF0aW9uICUgMikge1xuICAgICAgICBjb25zdCBtaW5XaWR0aFRvQ29udGFpbiA9IG9yaWdpbmFsU2l6ZS53aWR0aCAqIGNyb3BwZXJTZXR0aW5ncy5hc3BlY3RSYXRpbztcbiAgICAgICAgY29uc3QgbWluSGVpZ2h0VG9Db250YWluID0gb3JpZ2luYWxTaXplLmhlaWdodCAvIGNyb3BwZXJTZXR0aW5ncy5hc3BlY3RSYXRpbztcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB3aWR0aDogTWF0aC5tYXgob3JpZ2luYWxTaXplLmhlaWdodCwgbWluV2lkdGhUb0NvbnRhaW4pLFxuICAgICAgICAgIGhlaWdodDogTWF0aC5tYXgob3JpZ2luYWxTaXplLndpZHRoLCBtaW5IZWlnaHRUb0NvbnRhaW4pXG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBtaW5XaWR0aFRvQ29udGFpbiA9IG9yaWdpbmFsU2l6ZS5oZWlnaHQgKiBjcm9wcGVyU2V0dGluZ3MuYXNwZWN0UmF0aW87XG4gICAgICAgIGNvbnN0IG1pbkhlaWdodFRvQ29udGFpbiA9IG9yaWdpbmFsU2l6ZS53aWR0aCAvIGNyb3BwZXJTZXR0aW5ncy5hc3BlY3RSYXRpbztcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB3aWR0aDogTWF0aC5tYXgob3JpZ2luYWxTaXplLndpZHRoLCBtaW5XaWR0aFRvQ29udGFpbiksXG4gICAgICAgICAgaGVpZ2h0OiBNYXRoLm1heChvcmlnaW5hbFNpemUuaGVpZ2h0LCBtaW5IZWlnaHRUb0NvbnRhaW4pXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNhbnZhc1JvdGF0aW9uICUgMikge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaGVpZ2h0OiBvcmlnaW5hbFNpemUud2lkdGgsXG4gICAgICAgIHdpZHRoOiBvcmlnaW5hbFNpemUuaGVpZ2h0XG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgd2lkdGg6IG9yaWdpbmFsU2l6ZS53aWR0aCxcbiAgICAgIGhlaWdodDogb3JpZ2luYWxTaXplLmhlaWdodFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
168
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1pbWFnZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWltYWdlLWNyb3BwZXIvc3JjL2xpYi9zZXJ2aWNlcy9sb2FkLWltYWdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUkzQyxPQUFPLEVBQUUsOEJBQThCLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7QUFRaEcsTUFBTSxPQUFPLGdCQUFnQjtJQUQ3QjtRQUdVLHdCQUFtQixHQUFxQix5QkFBeUIsRUFBRSxDQUFDO0tBbUw3RTtJQWpMQyxhQUFhLENBQUMsSUFBVSxFQUFFLGVBQWdDO1FBQ3hELE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsTUFBTSxVQUFVLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNwQyxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBVSxFQUFFLEVBQUU7Z0JBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxlQUFlLENBQUM7cUJBQzVELElBQUksQ0FBQyxPQUFPLENBQUM7cUJBQ2IsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25CLENBQUMsQ0FBQztZQUNGLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8sU0FBUyxDQUFDLFdBQW1CLEVBQUUsU0FBaUIsRUFBRSxlQUFnQztRQUN4RixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3JDLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxvQkFB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Q0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxrQkFBa0IsQ0FBQztpQkFDekQsQ0FBQzthQUNIO2lCQUFNO2dCQUNMLE1BQU0saUJBQWlCLEdBQUcsWUFBWSxDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMsV0FBVyxDQUFDO2dCQUM1RSxNQUFNLGtCQUFrQixHQUFHLFlBQVksQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFDLFdBQVcsQ0FBQztnQkFDNUUsT0FBTztvQkFDTCxLQUFLLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxFQUFFLGlCQUFpQixDQUFDO29CQUN0RCxNQUFNLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDO2lCQUMxRCxDQUFDO2FBQ0g7U0FDRjtRQUVELElBQUksY0FBYyxHQUFHLENBQUMsRUFBRTtZQUN0QixPQUFPO2dCQUNMLE1BQU0sRUFBRSxZQUFZLENBQUMsS0FBSztnQkFDMUIsS0FBSyxFQUFFLFlBQVksQ0FBQyxNQUFNO2FBQzNCLENBQUM7U0FDSDtRQUNELE9BQU87WUFDTCxLQUFLLEVBQUUsWUFBWSxDQUFDLEtBQUs7WUFDekIsTUFBTSxFQUFFLFlBQVksQ0FBQyxNQUFNO1NBQzVCLENBQUM7SUFDSixDQUFDOzs4R0FwTFUsZ0JBQWdCO2tIQUFoQixnQkFBZ0IsY0FESixNQUFNOzRGQUNsQixnQkFBZ0I7a0JBRDVCLFVBQVU7bUJBQUMsRUFBQyxVQUFVLEVBQUUsTUFBTSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGltZW5zaW9ucywgTG9hZGVkSW1hZ2UgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7IENyb3BwZXJTZXR0aW5ncyB9IGZyb20gJy4uL2ludGVyZmFjZXMvY3JvcHBlci5zZXR0aW5ncyc7XG5pbXBvcnQgeyBFeGlmVHJhbnNmb3JtIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9leGlmLXRyYW5zZm9ybS5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgZ2V0VHJhbnNmb3JtYXRpb25zRnJvbUV4aWZEYXRhLCBzdXBwb3J0c0F1dG9tYXRpY1JvdGF0aW9uIH0gZnJvbSAnLi4vdXRpbHMvZXhpZi51dGlscyc7XG5cbmludGVyZmFjZSBMb2FkSW1hZ2VCYXNlNjQge1xuICBvcmlnaW5hbEltYWdlOiBIVE1MSW1hZ2VFbGVtZW50O1xuICBvcmlnaW5hbEJhc2U2NDogc3RyaW5nO1xufVxuXG5ASW5qZWN0YWJsZSh7cHJvdmlkZWRJbjogJ3Jvb3QnfSlcbmV4cG9ydCBjbGFzcyBMb2FkSW1hZ2VTZXJ2aWNlIHtcblxuICBwcml2YXRlIGF1dG9Sb3RhdGVTdXBwb3J0ZWQ6IFByb21pc2U8Ym9vbGVhbj4gPSBzdXBwb3J0c0F1dG9tYXRpY1JvdGF0aW9uKCk7XG5cbiAgbG9hZEltYWdlRmlsZShmaWxlOiBGaWxlLCBjcm9wcGVyU2V0dGluZ3M6IENyb3BwZXJTZXR0aW5ncyk6IFByb21pc2U8TG9hZGVkSW1hZ2U+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgZmlsZVJlYWRlciA9IG5ldyBGaWxlUmVhZGVyKCk7XG4gICAgICBmaWxlUmVhZGVyLm9ubG9hZCA9IChldmVudDogYW55KSA9PiB7XG4gICAgICAgIHRoaXMubG9hZEltYWdlKGV2ZW50LnRhcmdldC5yZXN1bHQsIGZpbGUudHlwZSwgY3JvcHBlclNldHRpbmdzKVxuICAgICAgICAgIC50aGVuKHJlc29sdmUpXG4gICAgICAgICAgLmNhdGNoKHJlamVjdCk7XG4gICAgICB9O1xuICAgICAgZmlsZVJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2FkSW1hZ2UoaW1hZ2VCYXNlNjQ6IHN0cmluZywgaW1hZ2VUeXBlOiBzdHJpbmcsIGNyb3BwZXJTZXR0aW5nczogQ3JvcHBlclNldHRpbmdzKTogUHJvbWlzZTxMb2FkZWRJbWFnZT4ge1xuICAgIGlmICghdGhpcy5pc1ZhbGlkSW1hZ2VUeXBlKGltYWdlVHlwZSkpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoJ0ludmFsaWQgaW1hZ2UgdHlwZScpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubG9hZEJhc2U2NEltYWdlKGltYWdlQmFzZTY0LCBjcm9wcGVyU2V0dGluZ3MpO1xuICB9XG5cbiAgcHJpdmF0ZSBpc1ZhbGlkSW1hZ2VUeXBlKHR5cGU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAvaW1hZ2VcXC8ocG5nfGpwZ3xqcGVnfGJtcHxnaWZ8dGlmZnx3ZWJwfHgtaWNvbnx2bmQubWljcm9zb2Z0Lmljb24pLy50ZXN0KHR5cGUpO1xuICB9XG5cbiAgbG9hZEltYWdlRnJvbVVSTCh1cmw6IHN0cmluZywgY3JvcHBlclNldHRpbmdzOiBDcm9wcGVyU2V0dGluZ3MpOiBQcm9taXNlPExvYWRlZEltYWdlPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IGltZyA9IG5ldyBJbWFnZSgpO1xuICAgICAgaW1nLm9uZXJyb3IgPSAoKSA9PiByZWplY3Q7XG4gICAgICBpbWcub25sb2FkID0gKCkgPT4ge1xuICAgICAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IGNhbnZhcy5nZXRDb250ZXh0KCcyZCcpO1xuICAgICAgICBjYW52YXMud2lkdGggPSBpbWcud2lkdGg7XG4gICAgICAgIGNhbnZhcy5oZWlnaHQgPSBpbWcuaGVpZ2h0O1xuICAgICAgICBjb250ZXh0Py5kcmF3SW1hZ2UoaW1nLCAwLCAwKTtcbiAgICAgICAgdGhpcy5sb2FkQmFzZTY0SW1hZ2UoY2FudmFzLnRvRGF0YVVSTCgpLCBjcm9wcGVyU2V0dGluZ3MpLnRoZW4ocmVzb2x2ZSk7XG4gICAgICB9O1xuICAgICAgaW1nLmNyb3NzT3JpZ2luID0gJ2Fub255bW91cyc7XG4gICAgICBpbWcuc3JjID0gdXJsO1xuICAgIH0pO1xuICB9XG5cbiAgbG9hZEJhc2U2NEltYWdlKGltYWdlQmFzZTY0OiBzdHJpbmcsIGNyb3BwZXJTZXR0aW5nczogQ3JvcHBlclNldHRpbmdzKTogUHJvbWlzZTxMb2FkZWRJbWFnZT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxMb2FkSW1hZ2VCYXNlNjQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IG9yaWdpbmFsSW1hZ2UgPSBuZXcgSW1hZ2UoKTtcbiAgICAgIG9yaWdpbmFsSW1hZ2Uub25sb2FkID0gKCkgPT4gcmVzb2x2ZSh7XG4gICAgICAgIG9yaWdpbmFsSW1hZ2UsXG4gICAgICAgIG9yaWdpbmFsQmFzZTY0OiBpbWFnZUJhc2U2NFxuICAgICAgfSk7XG4gICAgICBvcmlnaW5hbEltYWdlLm9uZXJyb3IgPSByZWplY3Q7XG4gICAgICBvcmlnaW5hbEltYWdlLnNyYyA9IGltYWdlQmFzZTY0O1xuICAgIH0pLnRoZW4oKHJlczogTG9hZEltYWdlQmFzZTY0KSA9PiB0aGlzLnRyYW5zZm9ybUltYWdlQmFzZTY0KHJlcywgY3JvcHBlclNldHRpbmdzKSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHRyYW5zZm9ybUltYWdlQmFzZTY0KHJlczogTG9hZEltYWdlQmFzZTY0LCBjcm9wcGVyU2V0dGluZ3M6IENyb3BwZXJTZXR0aW5ncyk6IFByb21pc2U8TG9hZGVkSW1hZ2U+IHtcbiAgICBjb25zdCBhdXRvUm90YXRlID0gYXdhaXQgdGhpcy5hdXRvUm90YXRlU3VwcG9ydGVkO1xuICAgIGNvbnN0IGV4aWZUcmFuc2Zvcm0gPSBhd2FpdCBnZXRUcmFuc2Zvcm1hdGlvbnNGcm9tRXhpZkRhdGEoYXV0b1JvdGF0ZSA/IC0xIDogcmVzLm9yaWdpbmFsQmFzZTY0KTtcbiAgICBpZiAoIXJlcy5vcmlnaW5hbEltYWdlIHx8ICFyZXMub3JpZ2luYWxJbWFnZS5jb21wbGV0ZSkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KG5ldyBFcnJvcignTm8gaW1hZ2UgbG9hZGVkJykpO1xuICAgIH1cbiAgICBjb25zdCBsb2FkZWRJbWFnZSA9IHtcbiAgICAgIG9yaWdpbmFsOiB7XG4gICAgICAgIGJhc2U2NDogcmVzLm9yaWdpbmFsQmFzZTY0LFxuICAgICAgICBpbWFnZTogcmVzLm9yaWdpbmFsSW1hZ2UsXG4gICAgICAgIHNpemU6IHtcbiAgICAgICAgICB3aWR0aDogcmVzLm9yaWdpbmFsSW1hZ2UubmF0dXJhbFdpZHRoLFxuICAgICAgICAgIGhlaWdodDogcmVzLm9yaWdpbmFsSW1hZ2UubmF0dXJhbEhlaWdodFxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZXhpZlRyYW5zZm9ybVxuICAgIH07XG4gICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtTG9hZGVkSW1hZ2UobG9hZGVkSW1hZ2UsIGNyb3BwZXJTZXR0aW5ncyk7XG4gIH1cblxuICBhc3luYyB0cmFuc2Zvcm1Mb2FkZWRJbWFnZShsb2FkZWRJbWFnZTogUGFydGlhbDxMb2FkZWRJbWFnZT4sIGNyb3BwZXJTZXR0aW5nczogQ3JvcHBlclNldHRpbmdzKTogUHJvbWlzZTxMb2FkZWRJbWFnZT4ge1xuICAgIGNvbnN0IGNhbnZhc1JvdGF0aW9uID0gY3JvcHBlclNldHRpbmdzLmNhbnZhc1JvdGF0aW9uICsgbG9hZGVkSW1hZ2UuZXhpZlRyYW5zZm9ybSEucm90YXRlO1xuICAgIGNvbnN0IG9yaWdpbmFsU2l6ZSA9IHtcbiAgICAgIHdpZHRoOiBsb2FkZWRJbWFnZS5vcmlnaW5hbCEuaW1hZ2UubmF0dXJhbFdpZHRoLFxuICAgICAgaGVpZ2h0OiBsb2FkZWRJbWFnZS5vcmlnaW5hbCEuaW1hZ2UubmF0dXJhbEhlaWdodFxuICAgIH07XG4gICAgaWYgKGNhbnZhc1JvdGF0aW9uID09PSAwICYmICFsb2FkZWRJbWFnZS5leGlmVHJhbnNmb3JtIS5mbGlwICYmICFjcm9wcGVyU2V0dGluZ3MuY29udGFpbldpdGhpbkFzcGVjdFJhdGlvKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBvcmlnaW5hbDoge1xuICAgICAgICAgIGJhc2U2NDogbG9hZGVkSW1hZ2Uub3JpZ2luYWwhLmJhc2U2NCxcbiAgICAgICAgICBpbWFnZTogbG9hZGVkSW1hZ2Uub3JpZ2luYWwhLmltYWdlLFxuICAgICAgICAgIHNpemU6IHsuLi5vcmlnaW5hbFNpemV9XG4gICAgICAgIH0sXG4gICAgICAgIHRyYW5zZm9ybWVkOiB7XG4gICAgICAgICAgYmFzZTY0OiBsb2FkZWRJbWFnZS5vcmlnaW5hbCEuYmFzZTY0LFxuICAgICAgICAgIGltYWdlOiBsb2FkZWRJbWFnZS5vcmlnaW5hbCEuaW1hZ2UsXG4gICAgICAgICAgc2l6ZTogey4uLm9yaWdpbmFsU2l6ZX1cbiAgICAgICAgfSxcbiAgICAgICAgZXhpZlRyYW5zZm9ybTogbG9hZGVkSW1hZ2UuZXhpZlRyYW5zZm9ybSFcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3QgdHJhbnNmb3JtZWRTaXplID0gdGhpcy5nZXRUcmFuc2Zvcm1lZFNpemUob3JpZ2luYWxTaXplLCBsb2FkZWRJbWFnZS5leGlmVHJhbnNmb3JtISwgY3JvcHBlclNldHRpbmdzKTtcbiAgICBjb25zdCBjYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgICBjYW52YXMud2lkdGggPSB0cmFuc2Zvcm1lZFNpemUud2lkdGg7XG4gICAgY2FudmFzLmhlaWdodCA9IHRyYW5zZm9ybWVkU2l6ZS5oZWlnaHQ7XG4gICAgY29uc3QgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7XG4gICAgY3R4Py5zZXRUcmFuc2Zvcm0oXG4gICAgICBsb2FkZWRJbWFnZS5leGlmVHJhbnNmb3JtIS5mbGlwID8gLTEgOiAxLFxuICAgICAgMCxcbiAgICAgIDAsXG4gICAgICAxLFxuICAgICAgY2FudmFzLndpZHRoIC8gMixcbiAgICAgIGNhbnZhcy5oZWlnaHQgLyAyXG4gICAgKTtcbiAgICBjdHg/LnJvdGF0ZShNYXRoLlBJICogKGNhbnZhc1JvdGF0aW9uIC8gMikpO1xuICAgIGN0eD8uZHJhd0ltYWdlKFxuICAgICAgbG9hZGVkSW1hZ2Uub3JpZ2luYWwhLmltYWdlLFxuICAgICAgLW9yaWdpbmFsU2l6ZS53aWR0aCAvIDIsXG4gICAgICAtb3JpZ2luYWxTaXplLmhlaWdodCAvIDJcbiAgICApO1xuICAgIGNvbnN0IHRyYW5zZm9ybWVkQmFzZTY0ID0gY2FudmFzLnRvRGF0YVVSTCgpO1xuICAgIGNvbnN0IHRyYW5zZm9ybWVkSW1hZ2UgPSBhd2FpdCB0aGlzLmxvYWRJbWFnZUZyb21CYXNlNjQodHJhbnNmb3JtZWRCYXNlNjQpO1xuICAgIHJldHVybiB7XG4gICAgICBvcmlnaW5hbDoge1xuICAgICAgICBiYXNlNjQ6IGxvYWRlZEltYWdlLm9yaWdpbmFsIS5iYXNlNjQsXG4gICAgICAgIGltYWdlOiBsb2FkZWRJbWFnZS5vcmlnaW5hbCEuaW1hZ2UsXG4gICAgICAgIHNpemU6IHsuLi5vcmlnaW5hbFNpemV9XG4gICAgICB9LFxuICAgICAgdHJhbnNmb3JtZWQ6IHtcbiAgICAgICAgYmFzZTY0OiB0cmFuc2Zvcm1lZEJhc2U2NCxcbiAgICAgICAgaW1hZ2U6IHRyYW5zZm9ybWVkSW1hZ2UsXG4gICAgICAgIHNpemU6IHtcbiAgICAgICAgICB3aWR0aDogdHJhbnNmb3JtZWRJbWFnZS53aWR0aCxcbiAgICAgICAgICBoZWlnaHQ6IHRyYW5zZm9ybWVkSW1hZ2UuaGVpZ2h0XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBleGlmVHJhbnNmb3JtOiBsb2FkZWRJbWFnZS5leGlmVHJhbnNmb3JtIVxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIGxvYWRJbWFnZUZyb21CYXNlNjQoaW1hZ2VCYXNlNjQ6IHN0cmluZyk6IFByb21pc2U8SFRNTEltYWdlRWxlbWVudD4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZTxIVE1MSW1hZ2VFbGVtZW50PigoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgaW1hZ2UgPSBuZXcgSW1hZ2UoKTtcbiAgICAgIGltYWdlLm9ubG9hZCA9ICgpID0+IHJlc29sdmUoaW1hZ2UpO1xuICAgICAgaW1hZ2Uub25lcnJvciA9IHJlamVjdDtcbiAgICAgIGltYWdlLnNyYyA9IGltYWdlQmFzZTY0O1xuICAgIH0pKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VHJhbnNmb3JtZWRTaXplKFxuICAgIG9yaWdpbmFsU2l6ZTogeyB3aWR0aDogbnVtYmVyLCBoZWlnaHQ6IG51bWJlciB9LFxuICAgIGV4aWZUcmFuc2Zvcm06IEV4aWZUcmFuc2Zvcm0sXG4gICAgY3JvcHBlclNldHRpbmdzOiBDcm9wcGVyU2V0dGluZ3NcbiAgKTogRGltZW5zaW9ucyB7XG4gICAgY29uc3QgY2FudmFzUm90YXRpb24gPSBjcm9wcGVyU2V0dGluZ3MuY2FudmFzUm90YXRpb24gKyBleGlmVHJhbnNmb3JtLnJvdGF0ZTtcbiAgICBpZiAoY3JvcHBlclNldHRpbmdzLmNvbnRhaW5XaXRoaW5Bc3BlY3RSYXRpbykge1xuICAgICAgaWYgKGNhbnZhc1JvdGF0aW9uICUgMikge1xuICAgICAgICBjb25zdCBtaW5XaWR0aFRvQ29udGFpbiA9IG9yaWdpbmFsU2l6ZS53aWR0aCAqIGNyb3BwZXJTZXR0aW5ncy5hc3BlY3RSYXRpbztcbiAgICAgICAgY29uc3QgbWluSGVpZ2h0VG9Db250YWluID0gb3JpZ2luYWxTaXplLmhlaWdodCAvIGNyb3BwZXJTZXR0aW5ncy5hc3BlY3RSYXRpbztcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB3aWR0aDogTWF0aC5tYXgob3JpZ2luYWxTaXplLmhlaWdodCwgbWluV2lkdGhUb0NvbnRhaW4pLFxuICAgICAgICAgIGhlaWdodDogTWF0aC5tYXgob3JpZ2luYWxTaXplLndpZHRoLCBtaW5IZWlnaHRUb0NvbnRhaW4pXG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBtaW5XaWR0aFRvQ29udGFpbiA9IG9yaWdpbmFsU2l6ZS5oZWlnaHQgKiBjcm9wcGVyU2V0dGluZ3MuYXNwZWN0UmF0aW87XG4gICAgICAgIGNvbnN0IG1pbkhlaWdodFRvQ29udGFpbiA9IG9yaWdpbmFsU2l6ZS53aWR0aCAvIGNyb3BwZXJTZXR0aW5ncy5hc3BlY3RSYXRpbztcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICB3aWR0aDogTWF0aC5tYXgob3JpZ2luYWxTaXplLndpZHRoLCBtaW5XaWR0aFRvQ29udGFpbiksXG4gICAgICAgICAgaGVpZ2h0OiBNYXRoLm1heChvcmlnaW5hbFNpemUuaGVpZ2h0LCBtaW5IZWlnaHRUb0NvbnRhaW4pXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGNhbnZhc1JvdGF0aW9uICUgMikge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgaGVpZ2h0OiBvcmlnaW5hbFNpemUud2lkdGgsXG4gICAgICAgIHdpZHRoOiBvcmlnaW5hbFNpemUuaGVpZ2h0XG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgd2lkdGg6IG9yaWdpbmFsU2l6ZS53aWR0aCxcbiAgICAgIGhlaWdodDogb3JpZ2luYWxTaXplLmhlaWdodFxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
@@ -310,9 +310,9 @@ class CropService {
|
|
|
310
310
|
return Math.min(1, Math.max(0, settings.imageQuality / 100));
|
|
311
311
|
}
|
|
312
312
|
}
|
|
313
|
-
CropService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
314
|
-
CropService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
315
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
313
|
+
CropService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CropService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
314
|
+
CropService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CropService, providedIn: 'root' });
|
|
315
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CropService, decorators: [{
|
|
316
316
|
type: Injectable,
|
|
317
317
|
args: [{ providedIn: 'root' }]
|
|
318
318
|
}] });
|
|
@@ -511,9 +511,9 @@ class CropperPositionService {
|
|
|
511
511
|
return ((_a = event.touches) === null || _a === void 0 ? void 0 : _a[0].clientY) || event.clientY || 0;
|
|
512
512
|
}
|
|
513
513
|
}
|
|
514
|
-
CropperPositionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
515
|
-
CropperPositionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
516
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
514
|
+
CropperPositionService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CropperPositionService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
515
|
+
CropperPositionService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CropperPositionService, providedIn: 'root' });
|
|
516
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: CropperPositionService, decorators: [{
|
|
517
517
|
type: Injectable,
|
|
518
518
|
args: [{ providedIn: 'root' }]
|
|
519
519
|
}] });
|
|
@@ -769,9 +769,9 @@ class LoadImageService {
|
|
|
769
769
|
};
|
|
770
770
|
}
|
|
771
771
|
}
|
|
772
|
-
LoadImageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
773
|
-
LoadImageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.
|
|
774
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
772
|
+
LoadImageService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: LoadImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
773
|
+
LoadImageService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: LoadImageService, providedIn: 'root' });
|
|
774
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: LoadImageService, decorators: [{
|
|
775
775
|
type: Injectable,
|
|
776
776
|
args: [{ providedIn: 'root' }]
|
|
777
777
|
}] });
|
|
@@ -786,6 +786,7 @@ class ImageCropperComponent {
|
|
|
786
786
|
this.Hammer = (window === null || window === void 0 ? void 0 : window['Hammer']) || null;
|
|
787
787
|
this.settings = new CropperSettings();
|
|
788
788
|
this.setImageMaxSizeRetries = 0;
|
|
789
|
+
this.resizedWhileHidden = false;
|
|
789
790
|
this.marginLeft = '0px';
|
|
790
791
|
this.maxSize = {
|
|
791
792
|
width: 0,
|
|
@@ -824,6 +825,7 @@ class ImageCropperComponent {
|
|
|
824
825
|
};
|
|
825
826
|
this.alignImage = this.settings.alignImage;
|
|
826
827
|
this.disabled = false;
|
|
828
|
+
this.hidden = false;
|
|
827
829
|
this.imageCropped = new EventEmitter();
|
|
828
830
|
this.startCropImage = new EventEmitter();
|
|
829
831
|
this.imageLoaded = new EventEmitter();
|
|
@@ -863,6 +865,12 @@ class ImageCropperComponent {
|
|
|
863
865
|
this.doAutoCrop();
|
|
864
866
|
this.cd.markForCheck();
|
|
865
867
|
}
|
|
868
|
+
if (changes['hidden'] && this.resizedWhileHidden && !this.hidden) {
|
|
869
|
+
setTimeout(() => {
|
|
870
|
+
this.onResize();
|
|
871
|
+
this.resizedWhileHidden = false;
|
|
872
|
+
});
|
|
873
|
+
}
|
|
866
874
|
}
|
|
867
875
|
onChangesUpdateSettings(changes) {
|
|
868
876
|
this.settings.setOptionsFromChanges(changes);
|
|
@@ -995,10 +1003,15 @@ class ImageCropperComponent {
|
|
|
995
1003
|
if (!this.loadedImage) {
|
|
996
1004
|
return;
|
|
997
1005
|
}
|
|
998
|
-
this.
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1006
|
+
if (this.hidden) {
|
|
1007
|
+
this.resizedWhileHidden = true;
|
|
1008
|
+
}
|
|
1009
|
+
else {
|
|
1010
|
+
this.resizeCropperPosition();
|
|
1011
|
+
this.setMaxSize();
|
|
1012
|
+
this.setCropperScaledMinSize();
|
|
1013
|
+
this.setCropperScaledMaxSize();
|
|
1014
|
+
}
|
|
1002
1015
|
}
|
|
1003
1016
|
activatePinchGesture() {
|
|
1004
1017
|
if (this.Hammer) {
|
|
@@ -1227,11 +1240,11 @@ class ImageCropperComponent {
|
|
|
1227
1240
|
return currentCropAspectRatio === this.aspectRatio;
|
|
1228
1241
|
}
|
|
1229
1242
|
}
|
|
1230
|
-
ImageCropperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
1231
|
-
ImageCropperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.
|
|
1232
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
1243
|
+
ImageCropperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImageCropperComponent, deps: [{ token: CropService }, { token: CropperPositionService }, { token: LoadImageService }, { token: i4.DomSanitizer }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1244
|
+
ImageCropperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: ImageCropperComponent, selector: "image-cropper", inputs: { imageChangedEvent: "imageChangedEvent", imageURL: "imageURL", imageBase64: "imageBase64", imageFile: "imageFile", imageAltText: "imageAltText", format: "format", transform: "transform", maintainAspectRatio: "maintainAspectRatio", aspectRatio: "aspectRatio", resetCropOnAspectRatioChange: "resetCropOnAspectRatioChange", resizeToWidth: "resizeToWidth", resizeToHeight: "resizeToHeight", cropperMinWidth: "cropperMinWidth", cropperMinHeight: "cropperMinHeight", cropperMaxHeight: "cropperMaxHeight", cropperMaxWidth: "cropperMaxWidth", cropperStaticWidth: "cropperStaticWidth", cropperStaticHeight: "cropperStaticHeight", canvasRotation: "canvasRotation", initialStepSize: "initialStepSize", roundCropper: "roundCropper", onlyScaleDown: "onlyScaleDown", imageQuality: "imageQuality", autoCrop: "autoCrop", backgroundColor: "backgroundColor", containWithinAspectRatio: "containWithinAspectRatio", hideResizeSquares: "hideResizeSquares", allowMoveImage: "allowMoveImage", cropper: "cropper", alignImage: "alignImage", disabled: "disabled", hidden: "hidden" }, outputs: { imageCropped: "imageCropped", startCropImage: "startCropImage", imageLoaded: "imageLoaded", cropperReady: "cropperReady", loadImageFailed: "loadImageFailed", transformChange: "transformChange" }, host: { listeners: { "window:resize": "onResize()", "document:mousemove": "moveImg($event)", "document:touchmove": "moveImg($event)", "document:mouseup": "moveStop()", "document:touchend": "moveStop()" }, properties: { "style.text-align": "this.alignImage", "class.disabled": "this.disabled", "class.ngx-ix-hidden": "this.hidden" } }, viewQueries: [{ propertyName: "wrapper", first: true, predicate: ["wrapper"], descendants: true, static: true }, { propertyName: "sourceImage", first: true, predicate: ["sourceImage"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div\n [style.background]=\"imageVisible && backgroundColor\"\n #wrapper\n>\n <img\n #sourceImage\n class=\"ngx-ic-source-image\"\n *ngIf=\"safeImgDataUrl\"\n [src]=\"safeImgDataUrl\"\n [style.visibility]=\"imageVisible ? 'visible' : 'hidden'\"\n [style.transform]=\"safeTransformStyle\"\n [class.ngx-ic-draggable]=\"!disabled && allowMoveImage\"\n [attr.alt]=\"imageAltText\"\n (load)=\"imageLoadedInView()\"\n (mousedown)=\"startMove($event, moveTypes.Drag)\"\n (touchstart)=\"startMove($event, moveTypes.Drag)\"\n >\n <div\n class=\"ngx-ic-overlay\"\n [style.width.px]=\"maxSize.width\"\n [style.height.px]=\"maxSize.height\"\n [style.margin-left]=\"alignImage === 'center' ? marginLeft : null\"\n ></div>\n <div class=\"ngx-ic-cropper\"\n *ngIf=\"imageVisible\"\n [class.ngx-ic-round]=\"roundCropper\"\n [style.top.px]=\"cropper.y1\"\n [style.left.px]=\"cropper.x1\"\n [style.width.px]=\"cropper.x2 - cropper.x1\"\n [style.height.px]=\"cropper.y2 - cropper.y1\"\n [style.margin-left]=\"alignImage === 'center' ? marginLeft : null\"\n [style.visibility]=\"imageVisible ? 'visible' : 'hidden'\"\n (keydown)=\"keyboardAccess($event)\"\n tabindex=\"0\"\n >\n <div\n (mousedown)=\"startMove($event, moveTypes.Move)\"\n (touchstart)=\"startMove($event, moveTypes.Move)\"\n class=\"ngx-ic-move\">\n </div>\n <ng-container *ngIf=\"!hideResizeSquares\">\n <span class=\"ngx-ic-resize ngx-ic-topleft\"\n (mousedown)=\"startMove($event, moveTypes.Resize, 'topleft')\"\n (touchstart)=\"startMove($event, moveTypes.Resize, 'topleft')\">\n <span class=\"ngx-ic-square\"></span>\n </span>\n <span class=\"ngx-ic-resize ngx-ic-top\">\n <span class=\"ngx-ic-square\"></span>\n </span>\n <span class=\"ngx-ic-resize ngx-ic-topright\"\n (mousedown)=\"startMove($event, moveTypes.Resize, 'topright')\"\n (touchstart)=\"startMove($event, moveTypes.Resize, 'topright')\">\n <span class=\"ngx-ic-square\"></span>\n </span>\n <span class=\"ngx-ic-resize ngx-ic-right\">\n <span class=\"ngx-ic-square\"></span>\n </span>\n <span class=\"ngx-ic-resize ngx-ic-bottomright\"\n (mousedown)=\"startMove($event, moveTypes.Resize, 'bottomright')\"\n (touchstart)=\"startMove($event, moveTypes.Resize, 'bottomright')\">\n <span class=\"ngx-ic-square\"></span>\n </span>\n <span class=\"ngx-ic-resize ngx-ic-bottom\">\n <span class=\"ngx-ic-square\"></span>\n </span>\n <span class=\"ngx-ic-resize ngx-ic-bottomleft\"\n (mousedown)=\"startMove($event, moveTypes.Resize, 'bottomleft')\"\n (touchstart)=\"startMove($event, moveTypes.Resize, 'bottomleft')\">\n <span class=\"ngx-ic-square\"></span>\n </span>\n <span class=\"ngx-ic-resize ngx-ic-left\">\n <span class=\"ngx-ic-square\"></span>\n </span>\n <span class=\"ngx-ic-resize-bar ngx-ic-top\"\n (mousedown)=\"startMove($event, moveTypes.Resize, 'top')\"\n (touchstart)=\"startMove($event, moveTypes.Resize, 'top')\">\n </span>\n <span class=\"ngx-ic-resize-bar ngx-ic-right\"\n (mousedown)=\"startMove($event, moveTypes.Resize, 'right')\"\n (touchstart)=\"startMove($event, moveTypes.Resize, 'right')\">\n </span>\n <span class=\"ngx-ic-resize-bar ngx-ic-bottom\"\n (mousedown)=\"startMove($event, moveTypes.Resize, 'bottom')\"\n (touchstart)=\"startMove($event, moveTypes.Resize, 'bottom')\">\n </span>\n <span class=\"ngx-ic-resize-bar ngx-ic-left\"\n (mousedown)=\"startMove($event, moveTypes.Resize, 'left')\"\n (touchstart)=\"startMove($event, moveTypes.Resize, 'left')\">\n </span>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:flex;position:relative;width:100%;max-width:100%;max-height:100%;overflow:hidden;padding:5px;text-align:center}:host>div{width:100%;position:relative}:host>div img.ngx-ic-source-image{max-width:100%;max-height:100%;transform-origin:center}:host>div img.ngx-ic-source-image.ngx-ic-draggable{user-drag:none;-webkit-user-drag:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;cursor:grab}:host .ngx-ic-overlay{position:absolute;pointer-events:none;touch-action:none;outline:var(--cropper-overlay-color, white) solid 100vw;top:0;left:0}:host .ngx-ic-cropper{position:absolute;display:flex;color:#53535c;background:transparent;outline:rgba(255,255,255,.3) solid 100vw;outline:var(--cropper-outline-color, rgba(255, 255, 255, .3)) solid 100vw;touch-action:none}@media (orientation: portrait){:host .ngx-ic-cropper{outline-width:100vh}}:host .ngx-ic-cropper:after{position:absolute;content:\"\";inset:0;pointer-events:none;border:dashed 1px;opacity:.75;color:inherit;z-index:1}:host .ngx-ic-cropper .ngx-ic-move{width:100%;cursor:move;border:1px solid rgba(255,255,255,.5)}:host .ngx-ic-cropper:focus .ngx-ic-move{border-color:#1e90ff;border-width:2px}:host .ngx-ic-cropper .ngx-ic-resize{position:absolute;display:inline-block;line-height:6px;padding:8px;opacity:.85;z-index:1}:host .ngx-ic-cropper .ngx-ic-resize .ngx-ic-square{display:inline-block;background:#53535C;width:6px;height:6px;border:1px solid rgba(255,255,255,.5);box-sizing:content-box}:host .ngx-ic-cropper .ngx-ic-resize.ngx-ic-topleft{top:-12px;left:-12px;cursor:nwse-resize}:host .ngx-ic-cropper .ngx-ic-resize.ngx-ic-top{top:-12px;left:calc(50% - 12px);cursor:ns-resize}:host .ngx-ic-cropper .ngx-ic-resize.ngx-ic-topright{top:-12px;right:-12px;cursor:nesw-resize}:host .ngx-ic-cropper .ngx-ic-resize.ngx-ic-right{top:calc(50% - 12px);right:-12px;cursor:ew-resize}:host .ngx-ic-cropper .ngx-ic-resize.ngx-ic-bottomright{bottom:-12px;right:-12px;cursor:nwse-resize}:host .ngx-ic-cropper .ngx-ic-resize.ngx-ic-bottom{bottom:-12px;left:calc(50% - 12px);cursor:ns-resize}:host .ngx-ic-cropper .ngx-ic-resize.ngx-ic-bottomleft{bottom:-12px;left:-12px;cursor:nesw-resize}:host .ngx-ic-cropper .ngx-ic-resize.ngx-ic-left{top:calc(50% - 12px);left:-12px;cursor:ew-resize}:host .ngx-ic-cropper .ngx-ic-resize-bar{position:absolute;z-index:1}:host .ngx-ic-cropper .ngx-ic-resize-bar.ngx-ic-top{top:-11px;left:11px;width:calc(100% - 22px);height:22px;cursor:ns-resize}:host .ngx-ic-cropper .ngx-ic-resize-bar.ngx-ic-right{top:11px;right:-11px;height:calc(100% - 22px);width:22px;cursor:ew-resize}:host .ngx-ic-cropper .ngx-ic-resize-bar.ngx-ic-bottom{bottom:-11px;left:11px;width:calc(100% - 22px);height:22px;cursor:ns-resize}:host .ngx-ic-cropper .ngx-ic-resize-bar.ngx-ic-left{top:11px;left:-11px;height:calc(100% - 22px);width:22px;cursor:ew-resize}:host .ngx-ic-cropper.ngx-ic-round{outline-color:transparent}:host .ngx-ic-cropper.ngx-ic-round:after{border-radius:100%;box-shadow:0 0 0 100vw #ffffff4d;box-shadow:0 0 0 100vw var(--cropper-outline-color, rgba(255, 255, 255, .3))}@media (orientation: portrait){:host .ngx-ic-cropper.ngx-ic-round:after{box-shadow:0 0 0 100vh #ffffff4d;box-shadow:0 0 0 100vh var(--cropper-outline-color, rgba(255, 255, 255, .3))}}:host .ngx-ic-cropper.ngx-ic-round .ngx-ic-move{border-radius:100%}:host.disabled .ngx-ic-cropper .ngx-ic-resize,:host.disabled .ngx-ic-cropper .ngx-ic-resize-bar,:host.disabled .ngx-ic-cropper .ngx-ic-move{display:none}:host.ngx-ix-hidden{display:none}\n"], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1245
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImageCropperComponent, decorators: [{
|
|
1233
1246
|
type: Component,
|
|
1234
|
-
args: [{ selector: 'image-cropper', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [style.background]=\"imageVisible && backgroundColor\"\n #wrapper\n>\n <img\n #sourceImage\n class=\"ngx-ic-source-image\"\n *ngIf=\"safeImgDataUrl\"\n [src]=\"safeImgDataUrl\"\n [style.visibility]=\"imageVisible ? 'visible' : 'hidden'\"\n [style.transform]=\"safeTransformStyle\"\n [class.ngx-ic-draggable]=\"!disabled && allowMoveImage\"\n (load)=\"imageLoadedInView()\"\n (mousedown)=\"startMove($event, moveTypes.Drag)\"\n (touchstart)=\"startMove($event, moveTypes.Drag)\"\n >\n <div\n class=\"ngx-ic-overlay\"\n [style.width.px]=\"maxSize.width\"\n [style.height.px]=\"maxSize.height\"\n [style.margin-left]=\"alignImage === 'center' ? marginLeft : null\"\n ></div>\n <div class=\"ngx-ic-cropper\"\n *ngIf=\"imageVisible\"\n [class.ngx-ic-round]=\"roundCropper\"\n [style.top.px]=\"cropper.y1\"\n [style.left.px]=\"cropper.x1\"\n [style.width.px]=\"cropper.x2 - cropper.x1\"\n [style.height.px]=\"cropper.y2 - cropper.y1\"\n [style.margin-left]=\"alignImage === 'center' ? marginLeft : null\"\n [style.visibility]=\"imageVisible ? 'visible' : 'hidden'\"\n (keydown)=\"keyboardAccess($event)\"\n tabindex=\"0\"\n >\n <div\n (mousedown)=\"startMove($event, moveTypes.Move)\"\n (touchstart)=\"startMove($event, moveTypes.Move)\"\n class=\"ngx-ic-move\">\n </div>\n <ng-container *ngIf=\"!hideResizeSquares\">\n <span class=\"ngx-ic-resize ngx-ic-topleft\"\n (mousedown)=\"startMove($event, moveTypes.Resize, 'topleft')\"\n (touchstart)=\"startMove($event, moveTypes.Resize, 'topleft')\">\n <span class=\"ngx-ic-square\"></span>\n </span>\n <span class=\"ngx-ic-resize ngx-ic-top\">\n <span class=\"ngx-ic-square\"></span>\n </span>\n <span class=\"ngx-ic-resize ngx-ic-topright\"\n (mousedown)=\"startMove($event, moveTypes.Resize, 'topright')\"\n (touchstart)=\"startMove($event, moveTypes.Resize, 'topright')\">\n <span class=\"ngx-ic-square\"></span>\n </span>\n <span class=\"ngx-ic-resize ngx-ic-right\">\n <span class=\"ngx-ic-square\"></span>\n </span>\n <span class=\"ngx-ic-resize ngx-ic-bottomright\"\n (mousedown)=\"startMove($event, moveTypes.Resize, 'bottomright')\"\n (touchstart)=\"startMove($event, moveTypes.Resize, 'bottomright')\">\n <span class=\"ngx-ic-square\"></span>\n </span>\n <span class=\"ngx-ic-resize ngx-ic-bottom\">\n <span class=\"ngx-ic-square\"></span>\n </span>\n <span class=\"ngx-ic-resize ngx-ic-bottomleft\"\n (mousedown)=\"startMove($event, moveTypes.Resize, 'bottomleft')\"\n (touchstart)=\"startMove($event, moveTypes.Resize, 'bottomleft')\">\n <span class=\"ngx-ic-square\"></span>\n </span>\n <span class=\"ngx-ic-resize ngx-ic-left\">\n <span class=\"ngx-ic-square\"></span>\n </span>\n <span class=\"ngx-ic-resize-bar ngx-ic-top\"\n (mousedown)=\"startMove($event, moveTypes.Resize, 'top')\"\n (touchstart)=\"startMove($event, moveTypes.Resize, 'top')\">\n </span>\n <span class=\"ngx-ic-resize-bar ngx-ic-right\"\n (mousedown)=\"startMove($event, moveTypes.Resize, 'right')\"\n (touchstart)=\"startMove($event, moveTypes.Resize, 'right')\">\n </span>\n <span class=\"ngx-ic-resize-bar ngx-ic-bottom\"\n (mousedown)=\"startMove($event, moveTypes.Resize, 'bottom')\"\n (touchstart)=\"startMove($event, moveTypes.Resize, 'bottom')\">\n </span>\n <span class=\"ngx-ic-resize-bar ngx-ic-left\"\n (mousedown)=\"startMove($event, moveTypes.Resize, 'left')\"\n (touchstart)=\"startMove($event, moveTypes.Resize, 'left')\">\n </span>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:flex;position:relative;width:100%;max-width:100%;max-height:100%;overflow:hidden;padding:5px;text-align:center}:host>div{width:100%;position:relative}:host>div img.ngx-ic-source-image{max-width:100%;max-height:100%;transform-origin:center}:host>div img.ngx-ic-source-image.ngx-ic-draggable{user-drag:none;-webkit-user-drag:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;cursor:grab}:host .ngx-ic-overlay{position:absolute;pointer-events:none;touch-action:none;outline:var(--cropper-overlay-color, white) solid 100vw;top:0;left:0}:host .ngx-ic-cropper{position:absolute;display:flex;color:#53535c;background:transparent;outline:rgba(255,255,255,.3) solid 100vw;outline:var(--cropper-outline-color, rgba(255, 255, 255, .3)) solid 100vw;touch-action:none}@media (orientation: portrait){:host .ngx-ic-cropper{outline-width:100vh}}:host .ngx-ic-cropper:after{position:absolute;content:\"\";
|
|
1247
|
+
args: [{ selector: 'image-cropper', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n [style.background]=\"imageVisible && backgroundColor\"\n #wrapper\n>\n <img\n #sourceImage\n class=\"ngx-ic-source-image\"\n *ngIf=\"safeImgDataUrl\"\n [src]=\"safeImgDataUrl\"\n [style.visibility]=\"imageVisible ? 'visible' : 'hidden'\"\n [style.transform]=\"safeTransformStyle\"\n [class.ngx-ic-draggable]=\"!disabled && allowMoveImage\"\n [attr.alt]=\"imageAltText\"\n (load)=\"imageLoadedInView()\"\n (mousedown)=\"startMove($event, moveTypes.Drag)\"\n (touchstart)=\"startMove($event, moveTypes.Drag)\"\n >\n <div\n class=\"ngx-ic-overlay\"\n [style.width.px]=\"maxSize.width\"\n [style.height.px]=\"maxSize.height\"\n [style.margin-left]=\"alignImage === 'center' ? marginLeft : null\"\n ></div>\n <div class=\"ngx-ic-cropper\"\n *ngIf=\"imageVisible\"\n [class.ngx-ic-round]=\"roundCropper\"\n [style.top.px]=\"cropper.y1\"\n [style.left.px]=\"cropper.x1\"\n [style.width.px]=\"cropper.x2 - cropper.x1\"\n [style.height.px]=\"cropper.y2 - cropper.y1\"\n [style.margin-left]=\"alignImage === 'center' ? marginLeft : null\"\n [style.visibility]=\"imageVisible ? 'visible' : 'hidden'\"\n (keydown)=\"keyboardAccess($event)\"\n tabindex=\"0\"\n >\n <div\n (mousedown)=\"startMove($event, moveTypes.Move)\"\n (touchstart)=\"startMove($event, moveTypes.Move)\"\n class=\"ngx-ic-move\">\n </div>\n <ng-container *ngIf=\"!hideResizeSquares\">\n <span class=\"ngx-ic-resize ngx-ic-topleft\"\n (mousedown)=\"startMove($event, moveTypes.Resize, 'topleft')\"\n (touchstart)=\"startMove($event, moveTypes.Resize, 'topleft')\">\n <span class=\"ngx-ic-square\"></span>\n </span>\n <span class=\"ngx-ic-resize ngx-ic-top\">\n <span class=\"ngx-ic-square\"></span>\n </span>\n <span class=\"ngx-ic-resize ngx-ic-topright\"\n (mousedown)=\"startMove($event, moveTypes.Resize, 'topright')\"\n (touchstart)=\"startMove($event, moveTypes.Resize, 'topright')\">\n <span class=\"ngx-ic-square\"></span>\n </span>\n <span class=\"ngx-ic-resize ngx-ic-right\">\n <span class=\"ngx-ic-square\"></span>\n </span>\n <span class=\"ngx-ic-resize ngx-ic-bottomright\"\n (mousedown)=\"startMove($event, moveTypes.Resize, 'bottomright')\"\n (touchstart)=\"startMove($event, moveTypes.Resize, 'bottomright')\">\n <span class=\"ngx-ic-square\"></span>\n </span>\n <span class=\"ngx-ic-resize ngx-ic-bottom\">\n <span class=\"ngx-ic-square\"></span>\n </span>\n <span class=\"ngx-ic-resize ngx-ic-bottomleft\"\n (mousedown)=\"startMove($event, moveTypes.Resize, 'bottomleft')\"\n (touchstart)=\"startMove($event, moveTypes.Resize, 'bottomleft')\">\n <span class=\"ngx-ic-square\"></span>\n </span>\n <span class=\"ngx-ic-resize ngx-ic-left\">\n <span class=\"ngx-ic-square\"></span>\n </span>\n <span class=\"ngx-ic-resize-bar ngx-ic-top\"\n (mousedown)=\"startMove($event, moveTypes.Resize, 'top')\"\n (touchstart)=\"startMove($event, moveTypes.Resize, 'top')\">\n </span>\n <span class=\"ngx-ic-resize-bar ngx-ic-right\"\n (mousedown)=\"startMove($event, moveTypes.Resize, 'right')\"\n (touchstart)=\"startMove($event, moveTypes.Resize, 'right')\">\n </span>\n <span class=\"ngx-ic-resize-bar ngx-ic-bottom\"\n (mousedown)=\"startMove($event, moveTypes.Resize, 'bottom')\"\n (touchstart)=\"startMove($event, moveTypes.Resize, 'bottom')\">\n </span>\n <span class=\"ngx-ic-resize-bar ngx-ic-left\"\n (mousedown)=\"startMove($event, moveTypes.Resize, 'left')\"\n (touchstart)=\"startMove($event, moveTypes.Resize, 'left')\">\n </span>\n </ng-container>\n </div>\n</div>\n", styles: [":host{display:flex;position:relative;width:100%;max-width:100%;max-height:100%;overflow:hidden;padding:5px;text-align:center}:host>div{width:100%;position:relative}:host>div img.ngx-ic-source-image{max-width:100%;max-height:100%;transform-origin:center}:host>div img.ngx-ic-source-image.ngx-ic-draggable{user-drag:none;-webkit-user-drag:none;user-select:none;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;cursor:grab}:host .ngx-ic-overlay{position:absolute;pointer-events:none;touch-action:none;outline:var(--cropper-overlay-color, white) solid 100vw;top:0;left:0}:host .ngx-ic-cropper{position:absolute;display:flex;color:#53535c;background:transparent;outline:rgba(255,255,255,.3) solid 100vw;outline:var(--cropper-outline-color, rgba(255, 255, 255, .3)) solid 100vw;touch-action:none}@media (orientation: portrait){:host .ngx-ic-cropper{outline-width:100vh}}:host .ngx-ic-cropper:after{position:absolute;content:\"\";inset:0;pointer-events:none;border:dashed 1px;opacity:.75;color:inherit;z-index:1}:host .ngx-ic-cropper .ngx-ic-move{width:100%;cursor:move;border:1px solid rgba(255,255,255,.5)}:host .ngx-ic-cropper:focus .ngx-ic-move{border-color:#1e90ff;border-width:2px}:host .ngx-ic-cropper .ngx-ic-resize{position:absolute;display:inline-block;line-height:6px;padding:8px;opacity:.85;z-index:1}:host .ngx-ic-cropper .ngx-ic-resize .ngx-ic-square{display:inline-block;background:#53535C;width:6px;height:6px;border:1px solid rgba(255,255,255,.5);box-sizing:content-box}:host .ngx-ic-cropper .ngx-ic-resize.ngx-ic-topleft{top:-12px;left:-12px;cursor:nwse-resize}:host .ngx-ic-cropper .ngx-ic-resize.ngx-ic-top{top:-12px;left:calc(50% - 12px);cursor:ns-resize}:host .ngx-ic-cropper .ngx-ic-resize.ngx-ic-topright{top:-12px;right:-12px;cursor:nesw-resize}:host .ngx-ic-cropper .ngx-ic-resize.ngx-ic-right{top:calc(50% - 12px);right:-12px;cursor:ew-resize}:host .ngx-ic-cropper .ngx-ic-resize.ngx-ic-bottomright{bottom:-12px;right:-12px;cursor:nwse-resize}:host .ngx-ic-cropper .ngx-ic-resize.ngx-ic-bottom{bottom:-12px;left:calc(50% - 12px);cursor:ns-resize}:host .ngx-ic-cropper .ngx-ic-resize.ngx-ic-bottomleft{bottom:-12px;left:-12px;cursor:nesw-resize}:host .ngx-ic-cropper .ngx-ic-resize.ngx-ic-left{top:calc(50% - 12px);left:-12px;cursor:ew-resize}:host .ngx-ic-cropper .ngx-ic-resize-bar{position:absolute;z-index:1}:host .ngx-ic-cropper .ngx-ic-resize-bar.ngx-ic-top{top:-11px;left:11px;width:calc(100% - 22px);height:22px;cursor:ns-resize}:host .ngx-ic-cropper .ngx-ic-resize-bar.ngx-ic-right{top:11px;right:-11px;height:calc(100% - 22px);width:22px;cursor:ew-resize}:host .ngx-ic-cropper .ngx-ic-resize-bar.ngx-ic-bottom{bottom:-11px;left:11px;width:calc(100% - 22px);height:22px;cursor:ns-resize}:host .ngx-ic-cropper .ngx-ic-resize-bar.ngx-ic-left{top:11px;left:-11px;height:calc(100% - 22px);width:22px;cursor:ew-resize}:host .ngx-ic-cropper.ngx-ic-round{outline-color:transparent}:host .ngx-ic-cropper.ngx-ic-round:after{border-radius:100%;box-shadow:0 0 0 100vw #ffffff4d;box-shadow:0 0 0 100vw var(--cropper-outline-color, rgba(255, 255, 255, .3))}@media (orientation: portrait){:host .ngx-ic-cropper.ngx-ic-round:after{box-shadow:0 0 0 100vh #ffffff4d;box-shadow:0 0 0 100vh var(--cropper-outline-color, rgba(255, 255, 255, .3))}}:host .ngx-ic-cropper.ngx-ic-round .ngx-ic-move{border-radius:100%}:host.disabled .ngx-ic-cropper .ngx-ic-resize,:host.disabled .ngx-ic-cropper .ngx-ic-resize-bar,:host.disabled .ngx-ic-cropper .ngx-ic-move{display:none}:host.ngx-ix-hidden{display:none}\n"] }]
|
|
1235
1248
|
}], ctorParameters: function () { return [{ type: CropService }, { type: CropperPositionService }, { type: LoadImageService }, { type: i4.DomSanitizer }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { wrapper: [{
|
|
1236
1249
|
type: ViewChild,
|
|
1237
1250
|
args: ['wrapper', { static: true }]
|
|
@@ -1246,6 +1259,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
1246
1259
|
type: Input
|
|
1247
1260
|
}], imageFile: [{
|
|
1248
1261
|
type: Input
|
|
1262
|
+
}], imageAltText: [{
|
|
1263
|
+
type: Input
|
|
1249
1264
|
}], format: [{
|
|
1250
1265
|
type: Input
|
|
1251
1266
|
}], transform: [{
|
|
@@ -1304,6 +1319,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
1304
1319
|
args: ['class.disabled']
|
|
1305
1320
|
}, {
|
|
1306
1321
|
type: Input
|
|
1322
|
+
}], hidden: [{
|
|
1323
|
+
type: HostBinding,
|
|
1324
|
+
args: ['class.ngx-ix-hidden']
|
|
1325
|
+
}, {
|
|
1326
|
+
type: Input
|
|
1307
1327
|
}], imageCropped: [{
|
|
1308
1328
|
type: Output
|
|
1309
1329
|
}], startCropImage: [{
|
|
@@ -1335,12 +1355,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
1335
1355
|
|
|
1336
1356
|
class ImageCropperModule {
|
|
1337
1357
|
}
|
|
1338
|
-
ImageCropperModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.
|
|
1339
|
-
ImageCropperModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.
|
|
1340
|
-
ImageCropperModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.
|
|
1358
|
+
ImageCropperModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImageCropperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1359
|
+
ImageCropperModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImageCropperModule, declarations: [ImageCropperComponent], imports: [CommonModule], exports: [ImageCropperComponent] });
|
|
1360
|
+
ImageCropperModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImageCropperModule, imports: [[
|
|
1341
1361
|
CommonModule
|
|
1342
1362
|
]] });
|
|
1343
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.
|
|
1363
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: ImageCropperModule, decorators: [{
|
|
1344
1364
|
type: NgModule,
|
|
1345
1365
|
args: [{
|
|
1346
1366
|
imports: [
|