From bbbfc019a97bb8248e01943f30299f3825d7be33 Mon Sep 17 00:00:00 2001 From: Jesse Hallam Date: Mon, 11 May 2026 09:56:51 -0300 Subject: [PATCH 1/9] Replace bild imaging library with boxes-ltd/imaging (#36261) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add benchmarks for image transformation functions Covers GeneratePreview, GenerateThumbnail, GenerateMiniPreviewImage, FillCenter, and MakeImageUpright — all functions that delegate to the external imaging library. Baseline before/after the library swap. * Replace anthonynsimon/bild with boxes-ltd/imaging Reverts the imaging library swap from PR #29657 (disintegration/imaging → anthonynsimon/bild) and replaces it with github.com/boxes-ltd/imaging, the maintained fork of disintegration/imaging with the same API. - emoji.go: restore direct use of imaging.Fit with Lanczos filter - orientation.go: restore FlipH/FlipV/Rotate90/180/270/Transpose/Transverse - preview.go: restore imaging.Resize calls with Lanczos filter - utils.go: remove bild-based Resize/Fit/CropCenter helpers; restore the original FillCenter using imaging.Fill - Remove tests and test images added for the bild-specific helpers - Regenerate orientation test expected images (2,3,6,7,8) and GIF thumbnail to match boxes-ltd/imaging output https://claude.ai/code/session_012f5wLSCRQrQeRraPj282sT * gofmt imaging package files * Add tests and fixtures for the boxes-ltd/imaging-backed functions Cover MakeImageUpright across all 8 EXIF orientations, GeneratePreview, GenerateMiniPreviewImage, and FillCenter against fixtures regenerated under the new library. * Contain boxes-ltd/imaging behind the local imaging wrapper Add a Fit wrapper alongside FillCenter and route emoji.go through the local package so boxes-ltd/imaging is only imported from channels/app/imaging. * Add TestFit to cover the local Fit wrapper Dimensional checks for the Fit wrapper used by emoji.go, mirroring TestGenerateThumbnail. Pixel correctness is covered by the upstream boxes-ltd/imaging tests; this guards against wrapper-level mistakes (transposed args, wrong filter). * Address CodeRabbit nits in TestFillCenter and TestFit Decode a fresh source image per TestFillCenter subtest so cases stay isolated even if the wrapper ever mutates input. Rename the TestFit "smaller than bounds (clone)" case to "no resize when smaller than bounds" since the assertion only checks dimensions, not clone semantics. * Revert per-subtest decode in TestFillCenter imaging.Fill never mutates its input — it always returns a fresh *image.NRGBA — so re-decoding the source for every subtest was unnecessary work. Decode once, share across subtests. * Compare decoded pixels instead of raw PNG/JPEG bytes in tests image/png isn't byte-stable across Go versions, so comparing re-encoded byte streams against checked-in fixtures is brittle to toolchain bumps and re-encoding. Decode both sides and compare RGBA pixels via a shared requireSameImage helper. Fixtures stay on disk unchanged. Covers TestFillCenter, TestGeneratePreview, TestGenerateMiniPreviewImage, and TestMakeImageUpright. TestFillImageTransparency is left alone since its byte-comparison pattern predates this branch. * Report total diff rate when requireSameImage fails Walk every pixel before failing instead of stopping at the first mismatch. The failure message now includes how many pixels differ, the percentage of the image that's off, and the first divergence. --------- Co-authored-by: Claude Co-authored-by: Mattermost Build --- server/channels/app/imaging/orientation.go | 16 +- .../channels/app/imaging/orientation_test.go | 54 ++++ server/channels/app/imaging/preview.go | 10 +- .../app/imaging/preview_bench_test.go | 124 ++++++++ server/channels/app/imaging/preview_test.go | 154 ++++----- server/channels/app/imaging/utils.go | 128 +------- server/channels/app/imaging/utils_test.go | 298 ++++++------------ server/go.mod | 2 +- server/go.sum | 4 +- server/tests/crop_test_input.png | Bin 1723 -> 0 bytes server/tests/crop_test_output_100x100.png | Bin 808 -> 0 bytes server/tests/crop_test_output_100x45.png | Bin 411 -> 0 bytes server/tests/crop_test_output_45x100.png | Bin 469 -> 0 bytes server/tests/crop_test_output_45x45.png | Bin 351 -> 0 bytes .../exif_samples/quadrants-orientation-2.png | Bin 0 -> 380 bytes .../exif_samples/quadrants-orientation-3.png | Bin 0 -> 380 bytes .../exif_samples/quadrants-orientation-4.png | Bin 0 -> 376 bytes .../exif_samples/quadrants-orientation-5.png | Bin 0 -> 379 bytes .../exif_samples/quadrants-orientation-6.png | Bin 0 -> 380 bytes .../exif_samples/quadrants-orientation-7.png | Bin 0 -> 377 bytes server/tests/fill_test_output_100x100.png | Bin 1021 -> 934 bytes server/tests/fill_test_output_100x45.png | Bin 716 -> 623 bytes server/tests/fill_test_output_45x100.png | Bin 702 -> 666 bytes server/tests/fill_test_output_45x45.png | Bin 553 -> 518 bytes server/tests/fit_test_input.png | Bin 4607 -> 0 bytes server/tests/fit_test_output_100x100.png | Bin 3033 -> 0 bytes server/tests/fit_test_output_100x45.png | Bin 1958 -> 0 bytes server/tests/fit_test_output_45x100.png | Bin 1552 -> 0 bytes server/tests/fit_test_output_45x45.png | Bin 1552 -> 0 bytes ...i_preview_test_qa_data_graph_16x16_q90.jpg | Bin 0 -> 649 bytes .../orientation_test_2_expected_preview.jpeg | Bin 307323 -> 307253 bytes .../orientation_test_3_expected_preview.jpeg | Bin 309129 -> 309129 bytes .../orientation_test_6_expected_preview.jpeg | Bin 308096 -> 308096 bytes .../orientation_test_7_expected_preview.jpeg | Bin 308752 -> 308752 bytes .../orientation_test_8_expected_preview.jpeg | Bin 307854 -> 308051 bytes .../tests/preview_test_qa_data_graph_1024.png | Bin 0 -> 93553 bytes server/tests/testgif_expected_thumbnail.jpg | Bin 5349 -> 5329 bytes 37 files changed, 366 insertions(+), 424 deletions(-) create mode 100644 server/channels/app/imaging/preview_bench_test.go delete mode 100644 server/tests/crop_test_input.png delete mode 100644 server/tests/crop_test_output_100x100.png delete mode 100644 server/tests/crop_test_output_100x45.png delete mode 100644 server/tests/crop_test_output_45x100.png delete mode 100644 server/tests/crop_test_output_45x45.png create mode 100644 server/tests/exif_samples/quadrants-orientation-2.png create mode 100644 server/tests/exif_samples/quadrants-orientation-3.png create mode 100644 server/tests/exif_samples/quadrants-orientation-4.png create mode 100644 server/tests/exif_samples/quadrants-orientation-5.png create mode 100644 server/tests/exif_samples/quadrants-orientation-6.png create mode 100644 server/tests/exif_samples/quadrants-orientation-7.png delete mode 100644 server/tests/fit_test_input.png delete mode 100644 server/tests/fit_test_output_100x100.png delete mode 100644 server/tests/fit_test_output_100x45.png delete mode 100644 server/tests/fit_test_output_45x100.png delete mode 100644 server/tests/fit_test_output_45x45.png create mode 100644 server/tests/mini_preview_test_qa_data_graph_16x16_q90.jpg create mode 100644 server/tests/preview_test_qa_data_graph_1024.png diff --git a/server/channels/app/imaging/orientation.go b/server/channels/app/imaging/orientation.go index 98fcffac9dc..35a50fed75b 100644 --- a/server/channels/app/imaging/orientation.go +++ b/server/channels/app/imaging/orientation.go @@ -10,8 +10,8 @@ import ( "io" "strings" - "github.com/anthonynsimon/bild/transform" "github.com/bep/imagemeta" + "github.com/boxes-ltd/imaging" ) const ( @@ -41,19 +41,19 @@ var errStopDecoding = fmt.Errorf("stop decoding") func MakeImageUpright(img image.Image, orientation int) image.Image { switch orientation { case UprightMirrored: - return transform.FlipH(img) + return imaging.FlipH(img) case UpsideDown: - return transform.Rotate(img, 180, &transform.RotationOptions{ResizeBounds: true}) + return imaging.Rotate180(img) case UpsideDownMirrored: - return transform.FlipV(img) + return imaging.FlipV(img) case RotatedCWMirrored: - return transform.Rotate(transform.FlipH(img), -90, &transform.RotationOptions{ResizeBounds: true}) + return imaging.Transpose(img) case RotatedCCW: - return transform.Rotate(img, 90, &transform.RotationOptions{ResizeBounds: true}) + return imaging.Rotate270(img) case RotatedCCWMirrored: - return transform.Rotate(transform.FlipV(img), -90, &transform.RotationOptions{ResizeBounds: true}) + return imaging.Transverse(img) case RotatedCW: - return transform.Rotate(img, 270, &transform.RotationOptions{ResizeBounds: true}) + return imaging.Rotate90(img) default: return img } diff --git a/server/channels/app/imaging/orientation_test.go b/server/channels/app/imaging/orientation_test.go index 862343c659e..059af620cf7 100644 --- a/server/channels/app/imaging/orientation_test.go +++ b/server/channels/app/imaging/orientation_test.go @@ -197,3 +197,57 @@ func TestGetImageOrientation(t *testing.T) { }) } } + +func TestMakeImageUpright(t *testing.T) { + // Each case loads the canonical EXIF fixture for orientation N (the + // 128x128 quadrants pattern in its stored, uncorrected form), applies + // MakeImageUpright(., N), and asserts that the result has the same + // pixels as the upright reference. + tcs := []struct { + name string + orientation int + inputName string + }{ + {"Upright (no-op)", Upright, "quadrants-orientation-1.png"}, + {"UprightMirrored (FlipH)", UprightMirrored, "quadrants-orientation-2.png"}, + {"UpsideDown (Rotate180)", UpsideDown, "quadrants-orientation-3.png"}, + {"UpsideDownMirrored (FlipV)", UpsideDownMirrored, "quadrants-orientation-4.png"}, + {"RotatedCWMirrored (Transpose)", RotatedCWMirrored, "quadrants-orientation-5.png"}, + {"RotatedCCW (Rotate270)", RotatedCCW, "quadrants-orientation-6.png"}, + {"RotatedCCWMirrored (Transverse)", RotatedCCWMirrored, "quadrants-orientation-7.png"}, + {"RotatedCW (Rotate90)", RotatedCW, "quadrants-orientation-8.png"}, + // Unsupported orientations fall through to the default branch and + // return the input unchanged. Pass the upright fixture so the + // no-op result still equals the upright reference. + {"unsupported orientation", 99, "quadrants-orientation-1.png"}, + } + + imgDir, ok := fileutils.FindDir("tests/exif_samples") + require.True(t, ok) + + d, err := NewDecoder(DecoderOptions{}) + require.NoError(t, err) + require.NotNil(t, d) + + uprightFile, err := os.Open(filepath.Join(imgDir, "quadrants-orientation-1.png")) + require.NoError(t, err) + defer uprightFile.Close() + + uprightImg, format, err := d.Decode(uprightFile) + require.NoError(t, err) + require.Equal(t, "png", format) + + for _, tc := range tcs { + t.Run(tc.name, func(t *testing.T) { + inputFile, err := os.Open(filepath.Join(imgDir, tc.inputName)) + require.NoError(t, err) + defer inputFile.Close() + + inputImg, format, err := d.Decode(inputFile) + require.NoError(t, err) + require.Equal(t, "png", format) + + requireSameImage(t, uprightImg, MakeImageUpright(inputImg, tc.orientation)) + }) + } +} diff --git a/server/channels/app/imaging/preview.go b/server/channels/app/imaging/preview.go index f4415f0e51c..0674d66a7b0 100644 --- a/server/channels/app/imaging/preview.go +++ b/server/channels/app/imaging/preview.go @@ -9,7 +9,7 @@ import ( "image" "image/jpeg" - "github.com/anthonynsimon/bild/transform" + "github.com/boxes-ltd/imaging" ) // GeneratePreview generates the preview for the given image. @@ -18,7 +18,7 @@ func GeneratePreview(img image.Image, width int) image.Image { w := img.Bounds().Dx() if w > width { - preview = Resize(img, width, 0, transform.Lanczos) + preview = imaging.Resize(img, width, 0, imaging.Lanczos) } return preview @@ -31,16 +31,16 @@ func GenerateThumbnail(img image.Image, targetWidth, targetHeight int) image.Ima // We keep aspect ratio and ensure the output dimensions are never higher than the provided targets. if width > height { - return Resize(img, targetWidth, 0, transform.Lanczos) + return imaging.Resize(img, targetWidth, 0, imaging.Lanczos) } - return Resize(img, 0, targetHeight, transform.Lanczos) + return imaging.Resize(img, 0, targetHeight, imaging.Lanczos) } // GenerateMiniPreviewImage generates the mini preview for the given image. func GenerateMiniPreviewImage(img image.Image, w, h, q int) ([]byte, error) { var buf bytes.Buffer - preview := Resize(img, w, h, transform.Lanczos) + preview := imaging.Resize(img, w, h, imaging.Lanczos) if err := jpeg.Encode(&buf, preview, &jpeg.Options{Quality: q}); err != nil { return nil, fmt.Errorf("failed to encode image to JPEG format: %w", err) } diff --git a/server/channels/app/imaging/preview_bench_test.go b/server/channels/app/imaging/preview_bench_test.go new file mode 100644 index 00000000000..4c30f21073e --- /dev/null +++ b/server/channels/app/imaging/preview_bench_test.go @@ -0,0 +1,124 @@ +// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved. +// See LICENSE.txt for license information. + +package imaging + +import ( + "image" + "image/color" + "image/draw" + "testing" +) + +func newRGBAImage(w, h int) *image.RGBA { + img := image.NewRGBA(image.Rect(0, 0, w, h)) + draw.Draw(img, img.Bounds(), image.NewUniform(color.RGBA{R: 100, G: 150, B: 200, A: 255}), image.Point{}, draw.Src) + return img +} + +func BenchmarkGeneratePreview(b *testing.B) { + cases := []struct { + name string + w, h int + targetWidth int + }{ + {"2000x1500 -> 1024", 2000, 1500, 1024}, + {"4000x3000 -> 1024", 4000, 3000, 1024}, + {"1024x768 -> 1024 (no-op)", 1024, 768, 1024}, + } + for _, tc := range cases { + b.Run(tc.name, func(b *testing.B) { + img := newRGBAImage(tc.w, tc.h) + b.ResetTimer() + for b.Loop() { + GeneratePreview(img, tc.targetWidth) + } + }) + } +} + +func BenchmarkGenerateThumbnail(b *testing.B) { + cases := []struct { + name string + w, h int + targetW, targetH int + }{ + {"2000x1500 landscape -> 120x100", 2000, 1500, 120, 100}, + {"1500x2000 portrait -> 120x100", 1500, 2000, 120, 100}, + {"4000x3000 landscape -> 120x100", 4000, 3000, 120, 100}, + } + for _, tc := range cases { + b.Run(tc.name, func(b *testing.B) { + img := newRGBAImage(tc.w, tc.h) + b.ResetTimer() + for b.Loop() { + GenerateThumbnail(img, tc.targetW, tc.targetH) + } + }) + } +} + +func BenchmarkGenerateMiniPreviewImage(b *testing.B) { + cases := []struct { + name string + w, h int + targetW, targetH int + quality int + }{ + {"2000x1500 -> 120x100 q50", 2000, 1500, 120, 100, 50}, + {"4000x3000 -> 120x100 q50", 4000, 3000, 120, 100, 50}, + } + for _, tc := range cases { + b.Run(tc.name, func(b *testing.B) { + img := newRGBAImage(tc.w, tc.h) + b.ResetTimer() + for b.Loop() { + _, _ = GenerateMiniPreviewImage(img, tc.targetW, tc.targetH, tc.quality) + } + }) + } +} + +func BenchmarkFillCenter(b *testing.B) { + cases := []struct { + name string + w, h int + targetW, targetH int + }{ + {"2000x1500 -> 120x100", 2000, 1500, 120, 100}, + {"4000x3000 -> 120x100", 4000, 3000, 120, 100}, + } + for _, tc := range cases { + b.Run(tc.name, func(b *testing.B) { + img := newRGBAImage(tc.w, tc.h) + b.ResetTimer() + for b.Loop() { + FillCenter(img, tc.targetW, tc.targetH) + } + }) + } +} + +func BenchmarkMakeImageUpright(b *testing.B) { + orientations := []struct { + name string + orientation int + }{ + {"Upright (no-op)", Upright}, + {"UpsideDown (rotate 180)", UpsideDown}, + {"RotatedCCW (rotate 270)", RotatedCCW}, + {"RotatedCW (rotate 90)", RotatedCW}, + {"UprightMirrored (flip H)", UprightMirrored}, + {"UpsideDownMirrored (flip V)", UpsideDownMirrored}, + {"RotatedCWMirrored (transpose)", RotatedCWMirrored}, + {"RotatedCCWMirrored (transverse)", RotatedCCWMirrored}, + } + img := newRGBAImage(2000, 1500) + for _, tc := range orientations { + b.Run(tc.name, func(b *testing.B) { + for b.Loop() { + MakeImageUpright(img, tc.orientation) + } + }) + } +} diff --git a/server/channels/app/imaging/preview_test.go b/server/channels/app/imaging/preview_test.go index 63534275960..f9226b9ffb5 100644 --- a/server/channels/app/imaging/preview_test.go +++ b/server/channels/app/imaging/preview_test.go @@ -4,11 +4,14 @@ package imaging import ( + "bytes" "image" - "image/color" + "os" + "path/filepath" "testing" - "github.com/anthonynsimon/bild/transform" + "github.com/mattermost/mattermost/server/v8/channels/utils/fileutils" + "github.com/stretchr/testify/require" ) @@ -78,95 +81,64 @@ func TestGenerateThumbnail(t *testing.T) { } } -func createTestImage(t *testing.T, width, height int) image.Image { - t.Helper() - img := image.NewNRGBA(image.Rect(0, 0, width, height)) - for y := range height { - for x := range width { - img.Set(x, y, color.NRGBA{uint8(x % 256), uint8(y % 256), 0, 255}) - } - } - return img +func TestGeneratePreview(t *testing.T) { + imgDir, ok := fileutils.FindDir("tests") + require.True(t, ok) + + d, err := NewDecoder(DecoderOptions{}) + require.NoError(t, err) + require.NotNil(t, d) + + inputFile, err := os.Open(filepath.Join(imgDir, "qa-data-graph.png")) + require.NoError(t, err) + defer inputFile.Close() + + inputImg, format, err := d.Decode(inputFile) + require.NoError(t, err) + require.Equal(t, "png", format) + + expectedFile, err := os.Open(filepath.Join(imgDir, "preview_test_qa_data_graph_1024.png")) + require.NoError(t, err) + defer expectedFile.Close() + + expectedImg, format, err := d.Decode(expectedFile) + require.NoError(t, err) + require.Equal(t, "png", format) + + preview := GeneratePreview(inputImg, 1024) + requireSameImage(t, expectedImg, preview) } -func TestResize(t *testing.T) { - for _, tc := range []struct { - name string - img image.Image - targetW int - targetH int - expectedW int - expectedH int - }{ - { - name: "zero target dimensions", - img: createTestImage(t, 100, 50), - targetW: 0, - targetH: 0, - expectedW: 0, - expectedH: 0, - }, - { - name: "negative target dimensions", - img: createTestImage(t, 100, 50), - targetW: -1, - targetH: 25, - expectedW: 0, - expectedH: 0, - }, - { - name: "zero source dimensions", - img: createTestImage(t, 0, 0), - targetW: 50, - targetH: 25, - expectedW: 0, - expectedH: 0, - }, - { - name: "preserve aspect ratio with width", - img: createTestImage(t, 100, 50), - targetW: 50, - targetH: 0, - expectedW: 50, - expectedH: 25, - }, - { - name: "preserve aspect ratio with width, height > width", - img: createTestImage(t, 50, 100), - targetW: 50, - targetH: 0, - expectedW: 50, - expectedH: 100, - }, - { - name: "preserve aspect ratio with height", - img: createTestImage(t, 100, 50), - targetW: 0, - targetH: 25, - expectedW: 50, - expectedH: 25, - }, - { - name: "preserve aspect ratio with height, height > width", - img: createTestImage(t, 50, 100), - targetW: 0, - targetH: 25, - expectedW: 13, - expectedH: 25, - }, - { - name: "valid target dimensions", - img: createTestImage(t, 100, 50), - targetW: 50, - targetH: 25, - expectedW: 50, - expectedH: 25, - }, - } { - t.Run(tc.name, func(t *testing.T) { - resizedImg := Resize(tc.img, tc.targetW, tc.targetH, transform.Lanczos) - require.Equal(t, tc.expectedW, resizedImg.Bounds().Dx()) - require.Equal(t, tc.expectedH, resizedImg.Bounds().Dy()) - }) - } +func TestGenerateMiniPreviewImage(t *testing.T) { + imgDir, ok := fileutils.FindDir("tests") + require.True(t, ok) + + d, err := NewDecoder(DecoderOptions{}) + require.NoError(t, err) + require.NotNil(t, d) + + inputFile, err := os.Open(filepath.Join(imgDir, "qa-data-graph.png")) + require.NoError(t, err) + defer inputFile.Close() + + inputImg, format, err := d.Decode(inputFile) + require.NoError(t, err) + require.Equal(t, "png", format) + + expectedFile, err := os.Open(filepath.Join(imgDir, "mini_preview_test_qa_data_graph_16x16_q90.jpg")) + require.NoError(t, err) + defer expectedFile.Close() + + expectedImg, format, err := d.Decode(expectedFile) + require.NoError(t, err) + require.Equal(t, "jpeg", format) + + out, err := GenerateMiniPreviewImage(inputImg, 16, 16, 90) + require.NoError(t, err) + + actualImg, format, err := d.Decode(bytes.NewReader(out)) + require.NoError(t, err) + require.Equal(t, "jpeg", format) + + requireSameImage(t, expectedImg, actualImg) } diff --git a/server/channels/app/imaging/utils.go b/server/channels/app/imaging/utils.go index 0c2eb8bd228..8197cb30f52 100644 --- a/server/channels/app/imaging/utils.go +++ b/server/channels/app/imaging/utils.go @@ -6,10 +6,8 @@ package imaging import ( "image" "image/color" - "math" - "github.com/anthonynsimon/bild/clone" - "github.com/anthonynsimon/bild/transform" + "github.com/boxes-ltd/imaging" ) type rawImg interface { @@ -142,126 +140,14 @@ func FillImageTransparency(img image.Image, c color.Color) { } } -// CropAnchor cuts out a rectangular region with the specified size -// from the image using the specified anchor point and returns the cropped image. -// Adapted from github.com/disintegration/imaging -func CropCenter(img image.Image, w, h int) image.Image { - srcBounds := img.Bounds() - anchorPoint := image.Pt(srcBounds.Min.X+(srcBounds.Dx()-w)/2, srcBounds.Min.Y+(srcBounds.Dy()-h)/2) - r := image.Rect(0, 0, w, h).Add(anchorPoint) - b := srcBounds.Intersect(r) - return transform.Crop(img, b) -} - -// resizeAndCrop resizes the image to the smallest possible size that will cover the specified dimensions, -// crops the resized image to the specified dimensions using a centered anchor point and returns -// the transformed image. -// Adapted from github.com/disintegration/imaging -func resizeAndCropCenter(img image.Image, width, height int) image.Image { - dstW, dstH := width, height - - srcBounds := img.Bounds() - srcW := srcBounds.Dx() - srcH := srcBounds.Dy() - srcAspectRatio := float64(srcW) / float64(srcH) - dstAspectRatio := float64(dstW) / float64(dstH) - - var tmp image.Image - if srcAspectRatio < dstAspectRatio { - tmp = Resize(img, dstW, 0, transform.Lanczos) - } else { - tmp = Resize(img, 0, dstH, transform.Lanczos) - } - - return CropCenter(tmp, dstW, dstH) -} - // FillCenter creates an image with the specified dimensions and fills it with // the centered and scaled source image. -// To achieve the correct aspect ratio without stretching, the source image will be cropped. -// Adapted from github.com/disintegration/imaging -func FillCenter(img image.Image, dstW, dstH int) image.Image { - if dstW <= 0 || dstH <= 0 { - return &image.RGBA{} - } - - srcBounds := img.Bounds() - srcW := srcBounds.Dx() - srcH := srcBounds.Dy() - - if srcW <= 0 || srcH <= 0 { - return &image.RGBA{} - } - - if srcW == dstW && srcH == dstH { - return clone.AsShallowRGBA(img) - } - - return resizeAndCropCenter(img, dstW, dstH) +func FillCenter(img image.Image, w, h int) *image.NRGBA { + return imaging.Fill(img, w, h, imaging.Center, imaging.Lanczos) } -// Fit scales down the image to fit the specified -// maximum width and height and returns the transformed image. -// Adapted from github.com/disintegration/imaging -func Fit(img image.Image, maxW, maxH int) image.Image { - if maxW <= 0 || maxH <= 0 { - return &image.NRGBA{} - } - - srcBounds := img.Bounds() - srcW := srcBounds.Dx() - srcH := srcBounds.Dy() - - if srcW <= 0 || srcH <= 0 { - return &image.RGBA{} - } - - if srcW <= maxW && srcH <= maxH { - return clone.AsShallowRGBA(img) - } - - srcAspectRatio := float64(srcW) / float64(srcH) - maxAspectRatio := float64(maxW) / float64(maxH) - - var newW, newH int - if srcAspectRatio > maxAspectRatio { - newW = maxW - newH = int(float64(newW) / srcAspectRatio) - } else { - newH = maxH - newW = int(float64(newH) * srcAspectRatio) - } - - return Resize(img, newW, newH, transform.Lanczos) -} - -// Resize resizes the image to the specified width and height using the specified resampling filter and returns the transformed image. -// If one of width or height is 0, the image aspect ratio is preserved. -// Adapted from github.com/disintegration/imaging -func Resize(img image.Image, targetWidth, targetHeight int, filter transform.ResampleFilter) image.Image { - if targetWidth < 0 || targetHeight < 0 { - return &image.NRGBA{} - } - - if targetWidth == 0 && targetHeight == 0 { - return &image.NRGBA{} - } - - srcW := img.Bounds().Dx() - srcH := img.Bounds().Dy() - if srcW <= 0 || srcH <= 0 { - return &image.NRGBA{} - } - - // If new width or height is 0 then preserve aspect ratio, minimum 1px. - if targetWidth == 0 { - tmpW := float64(targetHeight) * float64(srcW) / float64(srcH) - targetWidth = int(math.Max(1.0, math.Floor(tmpW+0.5))) - } - if targetHeight == 0 { - tmpH := float64(targetWidth) * float64(srcH) / float64(srcW) - targetHeight = int(math.Max(1.0, math.Floor(tmpH+0.5))) - } - - return transform.Resize(img, targetWidth, targetHeight, filter) +// Fit scales down the image to fit within the specified maximum dimensions, +// preserving the aspect ratio. +func Fit(img image.Image, maxW, maxH int) *image.NRGBA { + return imaging.Fit(img, maxW, maxH, imaging.Lanczos) } diff --git a/server/channels/app/imaging/utils_test.go b/server/channels/app/imaging/utils_test.go index bf04b2f4e01..17fa7f8ef12 100644 --- a/server/channels/app/imaging/utils_test.go +++ b/server/channels/app/imaging/utils_test.go @@ -8,6 +8,7 @@ import ( "image" "image/color" "os" + "path/filepath" "testing" "github.com/mattermost/mattermost/server/v8/channels/utils/fileutils" @@ -15,6 +16,46 @@ import ( "github.com/stretchr/testify/require" ) +// requireSameImage asserts that want and got cover the same bounds and have +// identical RGBA values at every pixel. We compare decoded pixels rather than +// re-encoded byte streams because image/png is not byte-stable across Go +// versions even for identical pixel content. On mismatch we walk every pixel +// before failing so the report includes the total diff rate, not just the +// first divergence. +func requireSameImage(t *testing.T, want, got image.Image) { + t.Helper() + require.Equal(t, want.Bounds(), got.Bounds()) + b := got.Bounds() + total := b.Dx() * b.Dy() + var ( + diff int + firstX int + firstY int + firstWant [4]uint32 + firstGot [4]uint32 + ) + for y := b.Min.Y; y < b.Max.Y; y++ { + for x := b.Min.X; x < b.Max.X; x++ { + wr, wg, wb, wa := want.At(x, y).RGBA() + gr, gg, gb, ga := got.At(x, y).RGBA() + if wr == gr && wg == gg && wb == gb && wa == ga { + continue + } + if diff == 0 { + firstX, firstY = x, y + firstWant = [4]uint32{wr, wg, wb, wa} + firstGot = [4]uint32{gr, gg, gb, ga} + } + diff++ + } + } + if diff > 0 { + t.Fatalf("%d / %d pixels differ (%.2f%%); first at (%d, %d): want %v got %v", + diff, total, 100*float64(diff)/float64(total), + firstX, firstY, firstWant, firstGot) + } +} + func TestFillImageTransparency(t *testing.T) { tcs := []struct { name string @@ -117,233 +158,98 @@ func TestFillImageTransparency(t *testing.T) { }) } -func TestCropCenter(t *testing.T) { - imgDir, ok := fileutils.FindDir("tests") - require.True(t, ok) - - d, err := NewDecoder(DecoderOptions{}) - require.NotNil(t, d) - require.NoError(t, err) - - for _, tc := range []struct { +func TestFillCenter(t *testing.T) { + tcs := []struct { name string - inputName string outputName string width int height int }{ - { - "Crop to center 100x100", - "crop_test_input.png", - "crop_test_output_100x100.png", - 100, - 100, - }, - { - "Crop to center 45x45", - "crop_test_input.png", - "crop_test_output_45x45.png", - 45, - 45, - }, - { - "Crop to center 100x45", - "crop_test_input.png", - "crop_test_output_100x45.png", - 100, - 45, - }, - { - "Crop to center 45x100", - "crop_test_input.png", - "crop_test_output_45x100.png", - 45, - 100, - }, - } { + {"100x100", "fill_test_output_100x100.png", 100, 100}, + {"45x45", "fill_test_output_45x45.png", 45, 45}, + {"100x45", "fill_test_output_100x45.png", 100, 45}, + {"45x100", "fill_test_output_45x100.png", 45, 100}, + } + + imgDir, ok := fileutils.FindDir("tests") + require.True(t, ok) + + d, err := NewDecoder(DecoderOptions{}) + require.NoError(t, err) + require.NotNil(t, d) + + inputFile, err := os.Open(filepath.Join(imgDir, "fill_test_input.png")) + require.NoError(t, err) + defer inputFile.Close() + + inputImg, format, err := d.Decode(inputFile) + require.NoError(t, err) + require.Equal(t, "png", format) + + for _, tc := range tcs { t.Run(tc.name, func(t *testing.T) { - inputFile, err := os.Open(imgDir + "/" + tc.inputName) + expectedFile, err := os.Open(filepath.Join(imgDir, tc.outputName)) require.NoError(t, err) - require.NotNil(t, inputFile) - defer func() { - require.NoError(t, inputFile.Close()) - }() - - inputImg, format, err := d.Decode(inputFile) - require.NoError(t, err) - require.NotNil(t, inputImg) - require.Equal(t, "png", format) - - expectedFile, err := os.Open(imgDir + "/" + tc.outputName) - require.NoError(t, err) - require.NotNil(t, expectedFile) - defer func() { - require.NoError(t, expectedFile.Close()) - }() + defer expectedFile.Close() expectedImg, format, err := d.Decode(expectedFile) require.NoError(t, err) - require.NotNil(t, expectedImg) require.Equal(t, "png", format) - croppedImg := CropCenter(inputImg, tc.width, tc.height) - require.Equal(t, expectedImg.Bounds().Dx(), croppedImg.Bounds().Dx()) - require.Equal(t, expectedImg.Bounds().Dy(), croppedImg.Bounds().Dy()) - require.Equal(t, expectedImg.(*image.RGBA).Pix, croppedImg.(*image.RGBA).Pix) + out := FillCenter(inputImg, tc.width, tc.height) + requireSameImage(t, expectedImg, out) }) } } func TestFit(t *testing.T) { - imgDir, ok := fileutils.FindDir("tests") - require.True(t, ok) - - d, err := NewDecoder(DecoderOptions{}) - require.NotNil(t, d) - require.NoError(t, err) - - for _, tc := range []struct { - name string - inputName string - outputName string - width int - height int - }{ - { - "Fit to 100x100", - "fit_test_input.png", - "fit_test_output_100x100.png", - 100, - 100, - }, - { - "Fit to 45x45", - "fit_test_input.png", - "fit_test_output_45x45.png", - 45, - 45, - }, - { - "Fit to 100x45", - "fit_test_input.png", - "fit_test_output_100x45.png", - 100, - 45, - }, - { - "Fit to 45x100", - "fit_test_input.png", - "fit_test_output_45x100.png", - 45, - 100, - }, - } { - t.Run(tc.name, func(t *testing.T) { - inputFile, err := os.Open(imgDir + "/" + tc.inputName) - require.NoError(t, err) - require.NotNil(t, inputFile) - defer func() { - require.NoError(t, inputFile.Close()) - }() - - inputImg, format, err := d.Decode(inputFile) - require.NoError(t, err) - require.NotNil(t, inputImg) - require.Equal(t, "png", format) - - expectedFile, err := os.Open(imgDir + "/" + tc.outputName) - require.NoError(t, err) - require.NotNil(t, expectedFile) - defer func() { - require.NoError(t, expectedFile.Close()) - }() - - expectedImg, format, err := d.Decode(expectedFile) - require.NoError(t, err) - require.NotNil(t, expectedImg) - require.Equal(t, "png", format) - - fittedImg := Fit(inputImg, tc.width, tc.height) - require.Equal(t, expectedImg, fittedImg) - }) - } -} - -func TestFillCenter(t *testing.T) { - imgDir, ok := fileutils.FindDir("tests") - require.True(t, ok) - - d, err := NewDecoder(DecoderOptions{}) - require.NotNil(t, d) - require.NoError(t, err) - tcs := []struct { - name string - inputName string - outputName string - width int - height int + name string + inputImg image.Image + maxW int + maxH int + expectedWidth int + expectedHeight int }{ { - "Fill center 100x100", - "fill_test_input.png", - "fill_test_output_100x100.png", - 100, - 100, + name: "no resize when smaller than bounds", + inputImg: image.NewRGBA(image.Rect(0, 0, 50, 50)), + maxW: 100, + maxH: 100, + expectedWidth: 50, + expectedHeight: 50, }, { - "Fill center 45x45", - "fill_test_input.png", - "fill_test_output_45x45.png", - 45, - 45, + name: "landscape clamps to width", + inputImg: image.NewRGBA(image.Rect(0, 0, 200, 100)), + maxW: 100, + maxH: 100, + expectedWidth: 100, + expectedHeight: 50, }, { - "Fill center 100x45", - "fill_test_input.png", - "fill_test_output_100x45.png", - 100, - 45, + name: "portrait clamps to height", + inputImg: image.NewRGBA(image.Rect(0, 0, 100, 200)), + maxW: 100, + maxH: 100, + expectedWidth: 50, + expectedHeight: 100, }, { - "Fill center 45x100", - "fill_test_input.png", - "fill_test_output_45x100.png", - 45, - 100, + name: "both dimensions exceed", + inputImg: image.NewRGBA(image.Rect(0, 0, 400, 200)), + maxW: 100, + maxH: 100, + expectedWidth: 100, + expectedHeight: 50, }, } for _, tc := range tcs { t.Run(tc.name, func(t *testing.T) { - inputFile, err := os.Open(imgDir + "/" + tc.inputName) - require.NoError(t, err) - require.NotNil(t, inputFile) - defer func() { - require.NoError(t, inputFile.Close()) - }() - - inputImg, format, err := d.Decode(inputFile) - require.NoError(t, err) - require.NotNil(t, inputImg) - require.Equal(t, "png", format) - - expectedFile, err := os.Open(imgDir + "/" + tc.outputName) - require.NoError(t, err) - require.NotNil(t, expectedFile) - defer func() { - require.NoError(t, expectedFile.Close()) - }() - - expectedImg, format, err := d.Decode(expectedFile) - require.NoError(t, err) - require.NotNil(t, expectedImg) - require.Equal(t, "png", format) - - filledImg := FillCenter(inputImg, tc.width, tc.height) - require.Equal(t, expectedImg.Bounds().Dx(), filledImg.Bounds().Dx()) - require.Equal(t, expectedImg.Bounds().Dy(), filledImg.Bounds().Dy()) - require.Equal(t, expectedImg.(*image.RGBA).Pix, filledImg.(*image.RGBA).Pix) + out := Fit(tc.inputImg, tc.maxW, tc.maxH) + require.Equal(t, tc.expectedWidth, out.Bounds().Dx()) + require.Equal(t, tc.expectedHeight, out.Bounds().Dy()) }) } } diff --git a/server/go.mod b/server/go.mod index b2407cba7a0..1be1ca65204 100644 --- a/server/go.mod +++ b/server/go.mod @@ -5,7 +5,7 @@ go 1.25.9 require ( code.sajari.com/docconv/v2 v2.0.0-pre.4 github.com/Masterminds/semver/v3 v3.4.0 - github.com/anthonynsimon/bild v0.14.0 + github.com/boxes-ltd/imaging v1.7.5 github.com/avct/uasurfer v0.0.0-20250915105040-a942f6fb6edc github.com/aws/aws-sdk-go-v2 v1.41.5 github.com/aws/aws-sdk-go-v2/config v1.32.13 diff --git a/server/go.sum b/server/go.sum index bbef0ad28e6..e7c99b8a9e3 100644 --- a/server/go.sum +++ b/server/go.sum @@ -36,8 +36,6 @@ github.com/andybalholm/cascadia v1.0.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9Pq github.com/andybalholm/cascadia v1.3.3 h1:AG2YHrzJIm4BZ19iwJ/DAua6Btl3IwJX+VI4kktS1LM= github.com/andybalholm/cascadia v1.3.3/go.mod h1:xNd9bqTn98Ln4DwST8/nG+H0yuB8Hmgu1YHNnWw0GeA= github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c= -github.com/anthonynsimon/bild v0.14.0 h1:IFRkmKdNdqmexXHfEU7rPlAmdUZ8BDZEGtGHDnGWync= -github.com/anthonynsimon/bild v0.14.0/go.mod h1:hcvEAyBjTW69qkKJTfpcDQ83sSZHxwOunsseDfeQhUs= github.com/araddon/dateparse v0.0.0-20180729174819-cfd92a431d0e/go.mod h1:SLqhdZcd+dF3TEVL2RMoob5bBP5R1P1qkox+HtCBgGI= github.com/araddon/dateparse v0.0.0-20210429162001-6b43995a97de h1:FxWPpzIjnTlhPwqqXc4/vE0f7GvRjuAsbW+HOIe8KnA= github.com/araddon/dateparse v0.0.0-20210429162001-6b43995a97de/go.mod h1:DCaWoUhZrYW9p1lxo/cm8EmUOOzAPSEZNGF2DK1dJgw= @@ -99,6 +97,8 @@ github.com/bodgit/sevenzip v1.6.1 h1:kikg2pUMYC9ljU7W9SaqHXhym5HyKm8/M/jd31fYan4 github.com/bodgit/sevenzip v1.6.1/go.mod h1:GVoYQbEVbOGT8n2pfqCIMRUaRjQ8F9oSqoBEqZh5fQ8= github.com/bodgit/windows v1.0.1 h1:tF7K6KOluPYygXa3Z2594zxlkbKPAOvqr97etrGNIz4= github.com/bodgit/windows v1.0.1/go.mod h1:a6JLwrB4KrTR5hBpp8FI9/9W9jJfeQ2h4XDXU74ZCdM= +github.com/boxes-ltd/imaging v1.7.5 h1:k4kYxJEhysoGhEEN1IEeKoSbnG8/8snjj7M48Ok0fnk= +github.com/boxes-ltd/imaging v1.7.5/go.mod h1:+8H+oRvis3InOFtTpcoCCB1RDXqo6p9tQBtjZfWnrC8= github.com/bradfitz/go-smtpd v0.0.0-20170404230938-deb6d6237625/go.mod h1:HYsPBTaaSFSlLx/70C2HPIMNZpVV8+vt/A+FMnYP11g= github.com/bsm/ginkgo/v2 v2.12.0 h1:Ny8MWAHyOepLGlLKYmXG4IEkioBysk6GpaRTLC8zwWs= github.com/bsm/ginkgo/v2 v2.12.0/go.mod h1:SwYbGRRDovPVboqFv0tPTcG1sN61LM1Z4ARdbAV9g4c= diff --git a/server/tests/crop_test_input.png b/server/tests/crop_test_input.png deleted file mode 100644 index 04f885b319ea07885b00c47eeb969a36a6ec48bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1723 zcmWlae^gWF8OKo&As}?ci_Wppri*Sj7w3^?3M#8;1|fhD?i()N;Sxrol0Z;~ObQ!f zgA!KCkVIP*H6@zdvmm)`>BqZS5O%8w0yu-iZ0_c`Zz-_QAc zpY#6l)@Nm=tmACr1Ox=E6Q%B#u(kh(6|$P$xrqq_0Rh3aqWyc(KV6!BIM9B2=X&9= zC+Ag#>CUB1O-b{gb$NWBo)sbX#~Zf|ZfktUeQ&1`y;iqU_pdc+G+JM`68z6u|Iv+= z5h>auk~J?^IZV2FRPcJ&>xUl=7;ZD&@Ju}Oszz-&S8bUHjCPp5nz!mSSid2WvB65& z+jx;iOk6mlRa>T|s68aiCsC2sf_3c0C*x>eFj6S4?o5HksiwGvq8soDS2DdmCcEzt z)-PR*uuKFXg?vp4I2Io5(A%Sko#A1=L2m-MbV{pMeA@wM_9oL46+-B#{B8Vi-DaJb zY9cS>=k@^>@6efzKj4`rG&?xj0bQ#lei0nzo6FAwEgxvrC&|xXjysut3HCvL7H=im zbTFGD)|(@YW8*IngprFB4wX1T_J(MO!X8YRBf@+R@DtEcqgCfwK8823VV6fF&@?;c z9+gdZowX-9bA>9_K6Tq{3`7d8`90|H+GvN@*hoBM?F9aNFwfe(L^qts+6NEsg<$NRvT>OWUyeI@0F50jE zj7fP{Ln;CETX~NMIGm&VpdDpI&0i`bW%g6YBm(0~^2$tCyTih{70*0SeQ0vN#20}) zCi+?8ce^f*)ZG1;eVCp(BPW)fywt?mLG_mmorib3xHsb}h|=JOztX#j-dNNCZ zPxTiJ-Go2y<=%-KAxgs=`svTDy*rSCG0s)a5_ML|uY|!?%sCtIS~>O)=X@`Zo0a+eRGwc3H9VzDDfVcM=FOwZaDyJcu-frdo z3Yi>BYu7!X%nC8lAJH&Jw-v#AkhHO8;&APn7CR5jhBBY3=(b6|t8&T~XIajml6IAd z31yV+O5-qbO`o$>QwDQlZ6e_-J>=_Pbm!f)pj;TC18HFmP);T&R zxT-GZVc!=&%4;IML8|LLOV&bFf@^tZG(XFCFqKM5EYsxEPu{fUKD{#9&m5>NpPejw z&$paTU43w0;j0u=x)~Nt@yYd%Lf^sPJB~RQa|fhKth{2{)Tv)DZRok$Rjl~HTXN=D z0sgJb`Aui5SGpCe{-!SVDE~*c*4fd=xAbeID?2)yeQB$#cZnAxTO3fV0Rl^V3++&h zAr9musD*WkY%jVRm&<)X06mnZV+_d9($E`*NRV@^Sa{km@}gPzHQE1i1kkWF20O$a z--3b+8jxdG3u~agUi2+|M&6e#fcgv?Y#7bZQvQw7bddA9_@oxf^R|@XTjhPZ0>97j z8!Qja=yLkQrCUKxQt`=JeYUq{A6_E!1A*UTh{Sv#qs!qBFrYnie;7(cEX!Zj$Bk1Z z62XX@Ih&8WcOKk**!^76=a~rUUP1-3?_v&Kwzm~oSKa^KAjG~d*Q4Z8hoZDcF>@o! zy5Qae@)Gs560szn8<^U^k7}E&T2$wq;(^?FqS8@>;_;PeITuclec1sUn z62K3nZ@Zd_+Y7XJtpRnKtz-n%M&!RzJL`CWoGP^b60uC?MB>vj5%~I(@uDCxu{^>^ z!!U`$R7Vr;W*B!mzy<@FXR9Z5RNG+5Lb11&2N?ii_>rCl!3I=lHj}HVHaOF-&e!t5FkCqGCSuX$h2l@yz>l|%Cx(iNi3$(% zV@#qqh0zi2X5x33o#o*MRPmn{GLS_zUldQXsBhO1)ds{ODgBc9HCt|;7$2+QfywS_ znvse0pJ>jILQG;}#vFo3G4bGpl~%Itv2h2fVcU&P*;JqbwZwaTm29~3JF$2L+iqVx rIu&V=m@01xO5cxZfkB%*;Pu++%}?Sx`O@R;rxYL(X6|oKmeu|rix)@1 diff --git a/server/tests/crop_test_output_100x100.png b/server/tests/crop_test_output_100x100.png deleted file mode 100644 index a01245624ec32c8693fc63572f133b5b4b299b8b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 808 zcmV+@1K0eCP)?;?e8x0 z`1*c&9bKg^Skvp3SIUPqyjMsnfHkmJL@JCmq*q)jiZz(mt<)XXFkUHA30MPoB}%1X zb?ucdm5kM?SC&)`R(D>xQkhsCc@;?IV|C$GCRK#hxL2`MDOR&yHBuE=4SH2d)nPT| zRWDVI)rc316bBZ(7nc+h7O)qi6dx9(7q1j67MK^i6gL)(mxPo67J!$Klnj=smzhe7lIT3R)QCZ6b4q*3r7kDE8qnsg@kqS zLX!f+`tSmj!ozxbx%K#nB!!4|-cu{Y{^Ms@Sf0^`-z<3#BrOu}?yezTuW}X0EW>_V2bZajgtn#-RQ!fLo+V?&?FKsNIH)JC( zRV>c61Pd=cEdEs&buT3>sr4ycFAXf&l{`f+aV(8BPc1K5EWOoX6)!<7?R9i{FDWdW z9S31A5iHBS8A&gGEc;z7F)wB;d#U}`i+FKjp-Al)!SBU}g(XFCd+}f)N>Qv{3|P2Q z6rWcu7P=J06L`lrxcarb&u7v6qW3CgVnzjmF5-08byjq@Css$B}LtN`LRZn zqM}|NtZ}8Nu-7lv=u%X`>kDg2o%y^@tSR-|#p}RYr)6QWvXkkf zU?<;~_13@8zgmq}HKJ;z)~dz|@DfRBuuw0Zlne{|SaqF_zKGAf?B$czL8O zSYj`mlnYDd<&-jF3B1fwUaV3tzmy%T$P1Aou)4h{DF~~>3zXupZh5g%DAq+UT#Cjz z?Uf)EfOWzvL@ER8&?`qO2J4AelvEPd#w$%K4C{|qpi~~#>@|!(f0LvVv3~EV5uT@Q zD+_Dq=}Yno!g`dV=a1V;!P>eFXpj|Np{|-(1ltLM;FQ002ovPDHLk FV1oW;zj6Qo diff --git a/server/tests/crop_test_output_45x100.png b/server/tests/crop_test_output_45x100.png deleted file mode 100644 index d6c58d428eb4907bc80236e9ee43be9323514aeb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 469 zcmeAS@N?(olHy`uVBq!ia0vp^xg#1PFfh*Xba4!+nDgd#_M}4!0xSs& z_I!VJ@}}0^9WPss+ju;1|IWEjDkV+htDqAfx5`HOPT%A{=hyMrDa?zm9ACG5j^Na~D%GVOE53it)-ZJ`-q*9tL}0I_dEX^Bj%RN< zyu=k}|F-L5QM_lrMnutRGy6-;qLw20%K;%Af8#V3X9zC)yT#p5VNG?>+$3jik#j{Ex3M>{1x_MNh{YZf*<@G-t~c{bZlnbyY}g5LBgA2R3b?fb-j*>R&q z)b_((f!4pmuee;aTvF@gA81i>*2{CEm5yw%v!Lah+-RSd)_XQPyS=pd!|dacX?aW` zWy-2#6(to7QQ<@%YxlAr9iRoSueCcinm#VMB6pc*2M=qY11w1+vk8FE;cDdYS z!S}0{{Ol-CihInS^14QUn;UZ2!2`4NkG;SXa|VY0|KC2o@BT64h8{4w7(8A5T-G@y GGywn&_sf6) diff --git a/server/tests/crop_test_output_45x45.png b/server/tests/crop_test_output_45x45.png deleted file mode 100644 index e33bbba2fe618a87c5569e43384f313cffe9a2db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 351 zcmV-l0igbgP)l1 z{3vfk_AVZjFCzV?cz<3?$r0H+)>0mb!m)%>B5IDwlq#a(m_}(K+Kven0U=0Gi_kj&iUDDAh!h*b>S$2R2*OcN7zF3Y zC?tY*oRqL{Bw~Q$p2SXd5ap;mhm~S?JP}+S8Xff?lb~1}(so!WYDa%XO%$C2%?Uk4 z;n0PZl7c!ciK(GL4ts3Fl)i)Q4vf-q@C61^B*z#8Mrk@mA^=L=F&@#QR2;JqBIW6r xi)d5gYD9w)9S}82^g$Gq=!W>EyaE6K|Nk7s(Bu1@x6}Xt002ovPDHLkV1n$AjJ^N> diff --git a/server/tests/exif_samples/quadrants-orientation-2.png b/server/tests/exif_samples/quadrants-orientation-2.png new file mode 100644 index 0000000000000000000000000000000000000000..30fa30941dcf979209a2997eaffa000ae56eb44f GIT binary patch literal 380 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1SEZ8zRh7^V089$aSW-L^XBeB&I1Yptbx4W z?r+jmYCk@yQnW^5&#ve9cB|dae$6@Grs}|bQ3h>>Forb@5sVv{5?Bv#H4K12`uTr# q^=J3hUEqE&Aoinq+nj;n|NrBASXmTN| z_P nGtXjJHxSmN`T9376#xHc7Gh=QZoj+&7@`cGu6{1-oD!M05uk6OerF4-Ciu{|`=NW#$swAPeL$c)I$ztaD0e0ssWSW-tH% literal 0 HcmV?d00001 diff --git a/server/tests/exif_samples/quadrants-orientation-6.png b/server/tests/exif_samples/quadrants-orientation-6.png new file mode 100644 index 0000000000000000000000000000000000000000..c04973877dca9e51fd348497e142c80ddcd071c5 GIT binary patch literal 380 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1SEZ8zRh7^V089$aSW-L^XBeB&I1Yptbx4W z?r+jmYCk@yQnW^5&#ve9cB|cv*8lPBBJ;m>3=xbQm=ahIa5acBXfuQ{tf9Yvb@kbQ s4fWr?Hpel94}|?_-rmc|!0`Y7@ja}pYyL%j0fs7rr>mdKI;Vst0C!Gn2mk;8 literal 0 HcmV?d00001 diff --git a/server/tests/exif_samples/quadrants-orientation-7.png b/server/tests/exif_samples/quadrants-orientation-7.png new file mode 100644 index 0000000000000000000000000000000000000000..bf1e4bcff181ce405dbeb11ff2b025222b5db30a GIT binary patch literal 377 zcmeAS@N?(olHy`uVBq!ia0vp^4Is?H1SEZ8zRh7^V07?waSW-L^XBqF&chA@EC;vl z{1a@)y3l>&3hk!Gv~y?Xo_+W3=jZFp`_?f;Fm7NSAG2x6HsPe=XtmcGjW9R z$8(S8oO_wLpxTxiA0H=$Hsu&&NTFS41wlXxbk@g<0iLi3i+`{Pi?ArdA}qp6Lb*c- zEO$P`SzBAUyhIqnaX@ab8|t2n@52F1v50JzOx~0+!mC<^lh2#;bGe{eYi0(j*+jjL z-@hY%)Jtg%&%@Of6d-3x5mu|1<#}>sp2eh;un3E=2#X>t!XhlfA}qq92#c@?i?9fb zuqc(R$1z4m7=OZcb6q!4t!|YdOkwzMultGLwSN9d+F^yE;P5;&o2b=rbR_Kl{zZR3 ze*Ad6fv_SF*VkBG#mWj!PjPn_{pimhOip5U7KK8zAQi8E{W2F9#uyWZCI)FO$6C$w z^%)=R@>u8VxKi3W#@i)CGauzq5n={TR*V#vHBA&Z5hAWzDs_`#6PD1Pj37 zA#QIw3xC+vDr>_I|1G2omYq{wU6L-e|Mxo%dV10a%hoOf1NinWs{Y!v)$njCofQPg z<)oUCqD#FG*BJEnVsKDSV#-V7i&?HKV}3qL+*{YlO36KQbNKnQ11EkdSXxUAT3d@U ziC6vQx{|Us8j`_JPs^_;mCCMzO)pC&Ik(lHwSU{wAf zOYjauxqKK}qfo%|vXHVHgky!3fPR*ZM?*t0Dis_YNKIo5y1ONukB-9kqx2%~7IQK> zrFK5LE{a7NFAGDJi04d958h@2wx9LvbCr~bOxWs9?2Y3uRT~l(VG$N#QG`WUghg0{ zMSoZnVG$N#5f)()7DZSeFJ&9wLBMy>yeYddU<_0ygM6NtS{mwpp~Cl}>UAtF;rn+o zc~f?y{@xy(i3ww0V@I`?@ACzT9nD9+db54eS@idWYrC mXTai@K~kThe*ypi|Nq=xJ1%VGc^?1(00{s|MNUMnLSTaAUaI&2 literal 1021 zcmeAS@N?(olHy`uVBq!ia0vp^DImUT4%-|e0GM8R8l+xG2ye{V2KF?4%x zw}xk-1{a9x(P8%az@~AUAysmL4)c`MhD|&H(-=<~IYhEK^=Np%k6Xi`Q_j=!P+-1& zvXNuYg6*v-Gq(r`#O-xj-drZ_s+d3V?vai#?q&@`dQ#TR3y@p*VAOxfC@BOFU=Ty|QVpUbR-uc(HD@;5* z!$KWdw?_T1iZ|yGQjm-cRh`AqbNt6I(fWTL4zW8Lgw?Zx4R^IiNNqAHtNV9kvUcw=P~h_})Gtj}KX|E-L5bJ^EQ}IQ9AGv!5FF*MEG>o_FWKwP}08 z;_E6-XZhUS9iF~gXR_kT-TNZLx_^IQoUVWRMv3jjhg#mgw$*COu3cNOe16%k3)abj zC*ptC-r1%4?%(oFpJXO;%Gs@1oXO96DyWou4dZ-4s3 zkHWu)nC&C04$imJwSIf$!tbx#`|GQD-RvW+R{#2zdvng(;A;;9W-Z%Xd;E9aj-Ynl zzbPx11uviG>+ox1FRzR(*YYh-)xFz8ckg|(CuVs<`Z*8ACni(BPhKi||LW?X%OO{T z#O0Oq?z<^h-7nlLJx$eb{;|2%MIW=Xt7~^$owV}U$;nFE$9_HA@V>&|>vT}o+%oCQ zD}O{u#4DaSe(n0jw~r1m9xu8TI&E6r>(>>Z-D=LJDLHw+Se82T$d!r86~D#A^}9@$ zZ}>EA>AqE7m%`S!v-21Hsfcwl=RI(C_K#1j)Ae?)XHwfRZ|UWahuaJP+r7JY^mu>8 zf4RpSEAHGn^z-v2laiM=KlYw3(jRXk#VX32NzoV4;Pb zKmG_yv9Pgp1rd8?K(Mp06RdO#v9_?($s}LSH?uC!x9>-{;mtXOA(_p<^5Nv>-fICA zMG-=9&V`>;mVEB-hl`8w|DNzK$$LIuUc&l%fB8)jOHmX62!BiZO9_@>36@|9mS9PO zC0K$bSb`;3Ql8e|@t(sNjyTCO!5XBhA{yH>dz^&8r!j)nQwSVchQ~)-UgGW!&S7Q- zYin3ut{rEsVD-FXEp~Qre2mY}`u)uf4iB-qicSaZHn$DiUp5t6ZEX=vSt8GAu`H`6 zS65hB!P{HCt$)$5s*0ZKbZ~NlR*P?(mJ8mxds~0fP*@Sf>nrW^o8TSOu5MQuJb2S( z*&l*;2$+~?HmsOBO-~bqF~7{DBFDwW{wGa@Weo4T(SK2FZZa6w7(_N2XL2)vvF9V}m}^x$gpkmVdG=0TdVvW02?6;CeLh z9$6;%BJ+25B0+K8NNtS>lOF)t(AjuMtWC=*J1SDAkk}Ls9mViMw(nG>IDp^K_ z8!>I%W0K_@jG@AC!+WZ;Otoi$IAnQG#TYz2;o<`K_plc8^H^WU$_lDhjvZsL zyNjbER8_ctbAN+_1FWs#>Bk zyuHWt^zgd$1FEt(b()(a5n1+QCdD3Gt^Z$9LRD6l(Rw#Nj;$@4jEa6qUs2FAtriv+ z)l*aLVaN%=-X4~g@cD_cF&dIQNf|?z)?#W3hleq2618Qqmx&2nU152dX8O7g`KNPq zIWvRnYkw>(sE1V?+Z{e&Xf|m%nw~Z{ zseF9U<>X}et8+1!ibfX47Y{uimAnXYKxvP@FQSpfzBq!u&anEfk9x$_n}GIF%umD; z;r|3lmVhKnK$0aO$r6xc2}rU8Bv}HIECETDfGs3Tz@U3WK97swSK&Vif6L%s^j`n~ a0RR8syys}Kls7p50000|QMqN-ru(Gib5!N@@!pb-B zWfZiq&07c-f);kxf{P#sw!(scCOMbm49U88**k}g%W(OIAtW;9{Pvs7cTPf*P#i7m z^?EUI7-o(_4{I&-s9P-8DLB9Z4scB2>jYmP(&OSH4m}PI7=QDE>l8i)4sd`29N+*4 zIKUCr)p#O-KJ;6dq_6dX%LEBciuAy1%E_R|&keMV$_{ zT0aJ8q*XR+W&7~J$H%<5$V9%+&-2CxpPcYuAOng*byg+E*OzSboZD?5-Wbj@=@roC zCinYV6jCdZ=YKw4mI*`^-WX02Znb28b(J3k-l2E@QqMMs<$1y<* zn}}XssNa|I?yxamzq?ZmPE&e+7k8Q|2%K@owg1Ssof@PgH+Tx`uTZn4-*!xGuEf4aCcYw z`sXJf9eI?omYQYWVDh{+o`yN9eBn@>r@18OdPSy$(C6E-^!|8y%4=(5^yqf^>MGpM ztER8V+c;iFruOLt-8h^N^T_Bo>eCSC2*n?}0nZBmw7WOvSYQsrTjD6BGrc z>HqTZzBG7!g}XZ#4yg<~JFvQ1PCyJU42F{DbbWZh!$a(J5TG3GHg0d@+{kek;L)tJ3d}Z=e~E&riBuT+p-sQ-VF53o3~& zPx%mDUu%>-6kiE3L+dGL3Iy``8qfTj*sbB zE-d_XX!&5Tt>MQ9rH(FALvk$7@$HQ=`-e#71Y26d+gqGTo>uQ$qfx2CtJVjbEiU5C z4XTqg+<&9Gzu^#1PH<&qvKY=$Gw}2jDuIaMeNeUkUtXZ!hpQ{9QE!yg zOx2GeQva9zt+)NIUz~|Y-KI{GOkwbAk4A~*?-%osn1{qXB<3M84~cn5%tK-xl2|4bJ0QGW!cBUR}9%O$wu;PX?n zC|_UTzAr(AA#7U%0@6Y1Vp({68p`BXXjA$}j>FKt{)CLDCXlZGq{ERc_b5tJb?I=} zHjYQ^_xSjL>;7(#8Rdr%^7LVdZWo0DYBdy#=yc$D@xK}I5k-=TUJrx8&$BSOGnwFe z#e5#Or+>}|fqyt0FdWJs1VRYBykN1wdM$VU-qbJ^Q2^|AG8hR&n?gtgn~j<@Ol2g{ zhZKTh3yuOgL*y2r_@-vx^bXntW@NebY*#2_frZC_|%imA` iG!cfpum1=D0RR7nJ+YRv7B~z50000eeGwnSS*l$l!(M; zpiC+pN~zckl#UHB$XJUMB9ly>mL;kR#zb>PDOd~h{EVW&_J1~SqNJ=+Xd0M2$KD<` zHX;!GsPF&g>GwB-A`-_BfB?oh;|OALD3wh8m^sEug~Nn4Ai~PSU!+6wJj@SQ`?8FO zQmg~M3h={PdeF9bdExo+5Nm70!|C$%!}V8|?7k>)a)N^c+~4z|3)58H-pc#Ch={fF zTlGD^etnfZ7k@ys<^k|{eB=jR_v^N(x)v`#Tw2`R;PVs9%e=J~OG|upb>-8bXIxwc zR246Na!JEZ+y~JbrfKl;fv>Na z|8MIWW_K444_I08Tt`x$3IHNk5tC(yni~DN@RciPXGV_|Nl`o8Wg{5 S9Bu#r00{s|MNUMnLSTZOB?=?} diff --git a/server/tests/fit_test_input.png b/server/tests/fit_test_input.png deleted file mode 100644 index 50b76a159babf99f3997b65667a85b8d6452094c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4607 zcmXw7c_7pO|93~3;p09gYK1K!la3)vj!KBNEirPGlGUd}OSBv-3LQh2nxi(`+8CcG z$1sqndn_`n|T#=l93{dB2~p$K&~YzMjY9y~}|CK9J>R%axRrAb!5v zgO!w&^S}?OsREuvNlws|l=NQsZQmA>bocW}Wd4L(Pe$a~`7a6a@lL`gh0@&}QH54( zuC7cVwON16{N^6ld26~{y6Ztx-|^>KqNS9GU#YdfKNKl>4tR*JAInW$!&jPIjPtWw zH)qLaa_aae6Ni{Yy=z z>zQC>%<4#iw+BI$#itxNJ+}bb2L@GX_#T5&%csZ|UIXaxfc4lrGc-pZwAz@k2>bGB zB>I;*K#F={R*2AIx2F1`)rg^0xP+q$8{(hqI6X7~G`bh6oP3I|@%Lkm-nXnksIoLe2@v$xx}aBkvW;vCoDF8@)`{yz=N}R5f$I)}O%M zCE>Mw^)PszOV-qW5D96o)?v4vDTApTM@6t*KP%X_OV)FOi-H1y#smO|0e=R5Y zrUGEAI+IfCOObQwc&)?UF;V39an>!Y-GssexJs`eOe|+mPUB@u)`Tk<_!Eypvl=2f zwvAfN?OLH=t20M%dVI}$%j40}LNE9)pK(uM zOCWOWC30Igs|+C^c2Y%1Ub3GE%)VX2tT2o_JY40kx(r($2-QL+F`aj&^$LdDDAgyz zsx^^GbN9>WprG8i`mk{c=1O8tmH&pLI79)tEmM8{F}}+-NPCAqj+HIT6I?XDkG~yT zF?dChxhn@7s{Hv0IM#&1v>^6yrCH$}CmvQ^Zd&jKfBQtmV0)-M$;}(i5Xx?CWYd_i z%E;&0XYajno-@SF8yrD#*n5x4C*0j)n*E0 z>RCb6Q?!)>Y?Fa#Bl|~0{1{%X7vI&t_!0>o4XI4s!fuyng*5St_H7zwP-nLh@D-7! zNYPG$W7X-_L#Fv+JNIw*Y@!?}VxScxYHy)=Z79SPPg_`Ng6S zuqe-E9_DSCp_u~bh0W1oOr2XeTa)b^;$W;xyFbyrtvFD>DYK6mYgMXX*IZr))z?Xr_O^ii{L3 z7G(DGv>l2JnbeZnS&H6KT#P1CwZOUrrZX`ZyQ4+rrxFT>q+ZsBL=-Fat9+;Cw4TDw|w$ zXK%gBGbhLqVh)6*O^N9~-)7${oc^A$@AH01Vnt7Koh(Re6*Cw*8ow`X{>+=9t8)pL z#DWVTm)kqDie!QB9L~Q#w`Ge&5O#A}ID`_j5*4i@n@yXL{zotq|Y}a!~kC3 z2X66vfb6!5P!=JZRjse`asrn#$Db%5y9E;x+(+#y%nJXw566RiU9ukHQZWxD(#gk% z*JG_?{d8$0mk8;2lFy52bWZ@n;Goc1^CUKzNqzG9etP1Z_t0p^=qKZh*Y@2=KX3_6 zkO4mIP4Dj;jV&#`jd#{@(o5nEkL7O<)bjc3Ggg%F?chX8>O;x>qK#^yAcE#C2#1}7 z*HWL~8^a!3r=m!^5&tyaN#d7M1kReS(L){eqc_BNntzbbr7X$9Max}xIy2JK7Ei5< znL6W;@K(s8B)lm%NB~INHzQz3vn7xICJ{B;YZVfIE!Izq5~Ca2)?isNJ~iGaV!zvf zXh&YA>v!6oM!zfWzAWc=LllKOOh_=VyENk0AE7*l;T=?s=c1T!p~-#jKdKEq@N8>TTK1*2vM3~*hUD3$Q zSwu36^>Y{}e^yJ!W&2bwQ^t9bri}ZB_sjx+lP4Df=;fTi^Z6lqIE^06-{+%Gv#8Sr zc)!^EZ%C~Y{iulhwZ;nZ=GrMF1n!h-%1-8e&pik&vWySqo_iPgRauujgDm!A-sZW@bO~WA!?!nK7 zc-`bnF!3uLKqcs+5%X^>8^96N?Cu$#k5~Wy%&xbATiH~bY}$*GDm}%ag?=v8=5R(3 zNWrBdL)vNThay?(0N1{h)>CpbI?fLUihgr+6gA5KdN!@UWcB8qUl{4L^Ea@fRMeYV z1Jy_coAi?om#Zi}9UpE8+u*&=HhD)4>Uy6vzst787@Tz^ey>mI`4 z^E~y7|M@v$*?GWVun|mr2q-RH%gP*T@tj0Z1h$Qt3XQb#s>h9yl+RvI$Zd}#xfem! zzq9+3&ezQIDV9=tKbdwj&d;0@^I%K#I;iiXY_B`L7?mRiAzrwJ15KS^gbOlb9-PA- z_fNm5pfz49=}J%LHesM7Nn?Hv^d?4H2 z!rHz7lquMgo7@cD9h)j(Y8q!1wyGyR9^3Rdw zZ8cE`gX;o63a{G3p!mF+qQ_h90GNEwTJHl!`l`iby~DFr{t;93 zWCGm;@Rjl>rs2L$N5-x#k!_PdhdT5i?ZCje2pJeE)=RAzl!Zgn*!!Nx`f1QeVP~Bz zTsS@Z(c0G)Vd~DXYmgrk=efc%$=_wLH!43zn(x3NfVj?j$cW`(SEl=9zD+o0K` za^yo_T3vs{#Mooh(lF+k3BQ!;@0MS(PjzP5xZ%ig-LHHqCQ9g>=Z+|Bv7tOJL_UpClxRl-sF=A2)e1l~)$2A4_A=)9(&!|~VnWGCB z*O&RlKlV5K4zqIYhnuElfxmaZZSKW%wC=Z}Ip&ln>U}-k zd@}J;W1?rq!P{gL9dH3p_)(%W%SSqxv1h7V&&&iv2Y9b^aT@0{*`jkZ)zF-VZ3A^c zPs!Jy4yO0}Juiv9+mR}YwRW=Yq`Tup`wjeBs}-&5Lw)#UU&ZPjgxvaj zKX2c8v+%<@=4=Aknc;A83DB)&KbGb^=D24~xv*CteT)>Wm`PdlumjOq7s{b3)I-`+ z%$jGo4o)zr@>hXcs61>rgBlF7ReskHD9x8OeHd5yDyRI;tH5PU;Gkf!hcu=5vJNq* zBcOR|?in&E*J{Q8S#<#`$avJhU_&;X9ox{KKsS%|;IEmv70b1zTtL`bIUBL)hCm>* zv}ru|p7@huVJzTmkMoWn+qDa{uRLC&Ik2+3$EJdS>?18pC2R&&zP0XdMg*%KF9xGT zt~(l_rrCzhR#I!ZN}8lrH6f(*Enr6o`8Fus*3(ng=2%k|5izw5$0jxH|JO0DHHV}l z>z4On3byWdnMTtmIOkYb#eb?#p(zbN6;;S?;4L!N25EKpBEr7ay&B(vu8I^^wuM8& ze$BSghb!w!L+f)3VcL{agK|lUdwX2+^`Gvc@s_fMtNuxy+$xpi;Uro21<2H$KC{B# zI=L2E^#`clXrL_@CuPnEhxxRE5&Vgt!@{5-t=!{5wu2KBJ=}iYyv5I>E6t7Sk_+Jl zU1$qKicB;IoAHEniU98_wtl_09BN?0b=KhhWCj?S|ZQNz@LZ-mq?jG2h$Rwu@ zeHjS@FV*m}l#w=k&x}ca6zGafvMYp3BX4i!$u*_=`WC*+S@hj%{a{tS*Y9Mc2FO&? zvK>4i+*|Os|AGY=;rfgaDl5XnVh=Zw-Sz^oDC8f#!cDG7g`~V_+={%7*O+4!lJa7KKi?%8ZQ;U`BC#`xM^?Dap_eavOkIWbieLG+D+z6J zL|7iE`sYy`qx40PTQu6jmM2}0RWq_@o-xqDLVcL&VozchQRet7GqhGiMb+dXOaqEE zLX1@@OC#U;`x2CmRK>zVb0d_lt>IIchPM1&}Pb2mjwpU?D$s1dY+pc$&!Ez1uD)WOQJUOmevx7ER<2{^ImgN*}Z zTO%A2dqMj-nGvGphw!{iM2q`*49W$2CfQb3{%Y$ra{n_qqMD72H!4Rg{umD3q7K+} zv909(68XDm%c;mAxhGeOccPD)fO7(pS)UL~%d1k^A+CY-jsi@0ScMQMpr-&L{= z&Bg;h;u?rF@}B%)JNRs5%LxVF!1v;eJah&Yy5x$CUwL8Qw5;2Xhhr;Qkl0k19Fx>u z0Sg}jm`a_;nN(vH5Z;CVwUBWHfT?uac#3{rSgfH^^RNbHCJ+6>jf><%%=A)2B@cDk z?65qDKq?bfqzTfgL<3DYYHxj5{XxSG*=&;h;GwA_=&g#E_mUaZb8^P+E-HE9X=IS9 z@}YhX6;G_dDeHd4LQ~}jJ-ha!!=_XDqu@>^2jEE{wmlPY4i`x)H!vS> zo*(p=7kKZ@dvEUhz4N>GoO90`+qRFk6{Hsw-d%`@06++V?-2;(Ko|_RL;C@8dE|0U zV@+~G@}?D=0DvQBgk9?fUMD~R-E=M-flL2{^rwh2sKYIXn|hkI-nTVvRvH(a(P__@ zGAQAJwtaFl^EW^fh(Ljel+fl&&99w)t!QykL3+V-m!wa6E^yUANx$_o z$#LnuBsVj+0!{EU6-1Wap`k#*2%C-8J0T*1Y9Bw|mt!`VFy9*J$nudsOHzp=xeSJjNi#w8%u&z$7XkOV! z`8gPp}c#bTlH(PUp!(+l~EKP>T<%@ZOk0m+%#J=+;gm}!qm zdVw%;&>|GrH&=MZt=Z0pE9$%It4>uB9g#^AaeRs3ETK1nNr%%_1B=Vxjv_M3W$=Nf z-J{7PyiHn@NV4gpq$8#LSlE&jLIz68_xCR-oi|^1GYNF*$yo2a69!Be^+F-~(J&MU zp_)K)mE#&Ry(4s^pw#D^_4UEfklr*Kq^8Qh3ZXn*!&py-g66x$=96XUxSs#!ym5NR zPeDTi96btW&&r7WmRsbWkrBz%{Q2UTIV)I#G6 zu>K&l%z}o`WT-AI3=b?OOZlAa)jx`d?sKHwx%2+tra0zJ;kX7mobEPQ?gYmo*!nb7 zRr|bF3t=r;luD2M#0k2lL?05hlBFf3xuwqf5V54+;rwC;%*up&wu5a32o8Aa{)nM%;tAogJVgdcVz*wUPhU8&6QLI0ws`_2S<*8a%-)E zg=8rcIDHz@)8)Dz+)HbY9%>*W9?Ne`CRUU05SIo@%MG5f?=GTw+i zB^Fku&7bq_eh(YB;CKJUo;nc>jHP_~Eh1z$we8)mN*N-*`hZ;&w|0@3=$m9~^|99(l~NWw2ob zELsG<*;8K!H%Zxf$R@>xxRFJ}E}ss(kDeZAZIzTEg53_exp3EA!4yin^A^yk|}jUz-IF~ znVgR=%Ia;lNiuu}j_au^s>hO=;O4SrCRvnlVy6HeXo1BT#=*>_vuQFU$VWX)yX=CF8km(23rwitj0k~}yypj5m8YC5=M^RK0_kReIg&KR zvZVAz2wVL?ZLXsRe^^Ergdx2+z%R+1dD$nL z^`djGz0H-phs?}C&HO^L@WCkKLL}N8J92jtlJd%b$}e8&w%bgoagB{Ey+6W17j51# zikW}-`}QjX335Qc*6+M3N%niV?TeB;TWQTX=dlhGYFwiwD=@>^UIUBD;Lf5M30xoF zuj$JbV~~=h>^mF3H!b^jD=I$ijJC!#08!o8gc{D}d%%$aqg){4TzW;<&q9H@zY{Zv zV^@BJHLk`t9w}5*98gH6N3GmFfHP)bLxTzNs)?966YFFkEk-?871Zg7=xULKJ0W5{ z)ZaJk?}yuNgW_Tt!&#f`HEO9Ifq6VoT|NH3A&^*qRUmA#Lcc1jS~fTc>()Vcw={lh zlf5Cq7|fmxFTN-varOLSe1$nYvSN5u_Ig7szbY^lS&_V@t|s)ZHw2Vbj3c@q`k0ig zXx~!5ArOTmLz8tANiP&4m820_QT;%~jf?Olc@s8qS+ndZ7@GB>iLw zU+6PEq!$X4OHwCmT1qbzCXpmTq4}iOegNj>Ls~IR8|j5Ypd?>ydbM~-v6LjJ*s$j) zTs#38zlP+yr>#L<4P{MNyjLnuR?bPB^URN)A$Wc-@R70dsPCByf?tw{&K)}Q)tUbX b00960=sFr7Jf#`@00000NkvXXu0mjf*p|-a diff --git a/server/tests/fit_test_output_100x45.png b/server/tests/fit_test_output_100x45.png deleted file mode 100644 index 437ab0a4ce7880738f8f72c85b17c76cfddb9a26..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1958 zcmV;X2U+-uP)hlw@02q9qVbGn%4Fn>0<@%T!gG*7bES z)zmfH9{LbXd+Nh@=o+b->Py-ZH4U^$N!oN|Q9FY%0TUp&6bEdu?>W=C$6Om?urW~Q z(~%#n`{%pA^PTVaJHMm8cIUO0>Xw%377h-8fZ)jlXCM@hf|$8R;)(dX!FM%9J9Xd` z0LB?5wAcjKfJ26IW&rUi)O??CE&@Cl9t=bR9St4M66ce}TL##OA?%0EiRu$V4xDqz zaxyx3b@XaWbxU(q^OGVK$#`KDGyT}p2D=B6n2faKon%RWz`sk`)zQ#VY^khB;^6=m zC*V2*tu*xw7HRV;EGh;CI>vr-p1%0vcG5KrA&gfp;^jZF3GFOi5%y&H60K zm~rNHd-vJ*`TwVT_qSGROdy8p z3HLEf!2naV9VoQa${9*gsA^kto zL-J#!v8+Rgr^W`13FXmI%)fDGta*~0Fkh0F_VSGuAvC(oDiqiGgWbU|f>(yG5Miu@ zneR!1F)_>=Qp5TugRgl36^Y~FM=0xxX&#bb`7f1COtJ7m&K06|9y;eNarO-LL}C%C z`!r)p#fU~RJS;{elKRJrIycD~G2Filwv4a&KuRggEs0Fz(DWKeS25U%s|5V11jIQA zA(Z0dkMZ7nSYC$1Ag&^2KX`z?KD_d0{OZ@JD93a^;$hTwt(Q1Bn4W~3faD7Naglq&4YIalC;?-wrzgSUjM z5Nf&#PrJlyKZ5U|{dZWXKyU<9*~kiaoHS#?3vYhJ8|pMgJA0@z!&L~AE-`)?EP?u; zftKLtH!$!)>c*mxmH`We$iYToW-RG-d)w=t)dO!0eG#IG2p{_wFK-eBv2Z$$0|zlZ z4e8=VBQ0SV!WKX%Q5ZK|c6WF4&u2$pzx~Ny$o})h-pE+eTyq4arI1BS@ktYcM~`6I zFeM64E~?{~+v`uF?n2LJZ$)CWl&VZFzF16rp*2N?qCm@A1-Bc)AUqyW6$>F^CJtuz z90gn@75+f)k?K}60hvN_IJQoDYmt_7-S#c~_nwIN^mRmTio{{}P|mEfc4Thk%IAJj ziQN8#wY8;hEDmWxU?fphjaoPSe}sKE_W8_IClZH9Ks=RzoO}28yz|#cB1)T@n2{{1 zra6P6B07TaQQVnFs66#N#)NhagP7LF0I%V0|6oe@mff8iqKcZMtj&djHEnK(2*pf4 z7Q?9P#BY9#OMksXuBS2AO~U;nuG$IM!UBE%dBo$}LpKwQ;iZ>QTg!;qt?do;+7#Ocjs3?+ zuSpz_HMDmW`84()Bc1(>BTZKp!#jaYr^$H+WRc$JjN_}v#%Dk#>0DJ zaEbS^=UCP=jv^xS45+ob)vQ%yq#u5W#c{Y#Z>3eWbFieM2lNuPk;9#&3}aAV>|U^ejo00030{}6vBB{$nUS^xk507*qoM6N<$f{rt|W&i*H diff --git a/server/tests/fit_test_output_45x100.png b/server/tests/fit_test_output_45x100.png deleted file mode 100644 index 3e3521acb00734d357084a2f10e59dce0ad5ef6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1552 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 Jz{T+YCIGtZ(PRJs literal 0 HcmV?d00001 diff --git a/server/tests/orientation_test_2_expected_preview.jpeg b/server/tests/orientation_test_2_expected_preview.jpeg index 769e4e19300bbf09665669c2123c5cc317b1b783..262510eb822c6f47e64e601c61ff3d5dc8a84de0 100644 GIT binary patch delta 245369 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

5*t%M&F(=S@=%{D8woK|hX*fT)%j#~F6hy8gH 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