From dfb7418e7a03e692351f3e4833c67eaabcf69ea7 Mon Sep 17 00:00:00 2001 From: Welton Moura Date: Fri, 20 Dec 2024 09:40:33 -0300 Subject: [PATCH] =?UTF-8?q?feat:=20altera=C3=A7=C3=A3o=20no=20db?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../__pycache__/models.cpython-310.pyc | Bin 1559 -> 1614 bytes .../__pycache__/views.cpython-310.pyc | Bin 1321 -> 1362 bytes ...nda_status_alter_productcomanda_product.py | 25 + ...ter_productcomanda_product.cpython-310.pyc | Bin 0 -> 897 bytes gestaoRaul/comandas/models.py | 4 +- gestaoRaul/comandas/views.py | 2 +- gestaoRaul/db.sqlite3 | Bin 188416 -> 192512 bytes .../__pycache__/models.cpython-310.pyc | Bin 902 -> 989 bytes .../0002_product_image_product_quantity.py | 23 + ...uct_image_product_quantity.cpython-310.pyc | Bin 0 -> 694 bytes gestaoRaul/products/models.py | 2 + .../Lib/site-packages/PIL/BdfFontFile.py | 133 + .../Lib/site-packages/PIL/BlpImagePlugin.py | 493 ++ .../Lib/site-packages/PIL/BmpImagePlugin.py | 511 ++ .../site-packages/PIL/BufrStubImagePlugin.py | 76 + .../Lib/site-packages/PIL/ContainerIO.py | 173 + .../Lib/site-packages/PIL/CurImagePlugin.py | 75 + .../Lib/site-packages/PIL/DcxImagePlugin.py | 80 + .../Lib/site-packages/PIL/DdsImagePlugin.py | 575 +++ .../Lib/site-packages/PIL/EpsImagePlugin.py | 474 ++ gestao_raul/Lib/site-packages/PIL/ExifTags.py | 381 ++ .../Lib/site-packages/PIL/FitsImagePlugin.py | 152 + .../Lib/site-packages/PIL/FliImagePlugin.py | 175 + gestao_raul/Lib/site-packages/PIL/FontFile.py | 134 + .../Lib/site-packages/PIL/FpxImagePlugin.py | 257 + .../Lib/site-packages/PIL/FtexImagePlugin.py | 115 + .../Lib/site-packages/PIL/GbrImagePlugin.py | 103 + .../Lib/site-packages/PIL/GdImageFile.py | 102 + .../Lib/site-packages/PIL/GifImagePlugin.py | 1197 +++++ .../Lib/site-packages/PIL/GimpGradientFile.py | 149 + .../Lib/site-packages/PIL/GimpPaletteFile.py | 58 + .../site-packages/PIL/GribStubImagePlugin.py | 76 + .../site-packages/PIL/Hdf5StubImagePlugin.py | 76 + .../Lib/site-packages/PIL/IcnsImagePlugin.py | 412 ++ .../Lib/site-packages/PIL/IcoImagePlugin.py | 381 ++ .../Lib/site-packages/PIL/ImImagePlugin.py | 386 ++ gestao_raul/Lib/site-packages/PIL/Image.py | 4198 +++++++++++++++++ .../Lib/site-packages/PIL/ImageChops.py | 311 ++ gestao_raul/Lib/site-packages/PIL/ImageCms.py | 1125 +++++ .../Lib/site-packages/PIL/ImageColor.py | 320 ++ .../Lib/site-packages/PIL/ImageDraw.py | 1218 +++++ .../Lib/site-packages/PIL/ImageDraw2.py | 243 + .../Lib/site-packages/PIL/ImageEnhance.py | 113 + .../Lib/site-packages/PIL/ImageFile.py | 832 ++++ .../Lib/site-packages/PIL/ImageFilter.py | 605 +++ .../Lib/site-packages/PIL/ImageFont.py | 1338 ++++++ .../Lib/site-packages/PIL/ImageGrab.py | 194 + .../Lib/site-packages/PIL/ImageMath.py | 368 ++ .../Lib/site-packages/PIL/ImageMode.py | 92 + .../Lib/site-packages/PIL/ImageMorph.py | 265 ++ gestao_raul/Lib/site-packages/PIL/ImageOps.py | 730 +++ .../Lib/site-packages/PIL/ImagePalette.py | 285 ++ .../Lib/site-packages/PIL/ImagePath.py | 20 + gestao_raul/Lib/site-packages/PIL/ImageQt.py | 216 + .../Lib/site-packages/PIL/ImageSequence.py | 86 + .../Lib/site-packages/PIL/ImageShow.py | 360 ++ .../Lib/site-packages/PIL/ImageStat.py | 160 + gestao_raul/Lib/site-packages/PIL/ImageTk.py | 290 ++ .../Lib/site-packages/PIL/ImageTransform.py | 136 + gestao_raul/Lib/site-packages/PIL/ImageWin.py | 247 + .../Lib/site-packages/PIL/ImtImagePlugin.py | 103 + .../Lib/site-packages/PIL/IptcImagePlugin.py | 249 + .../site-packages/PIL/Jpeg2KImagePlugin.py | 443 ++ .../Lib/site-packages/PIL/JpegImagePlugin.py | 895 ++++ .../Lib/site-packages/PIL/JpegPresets.py | 242 + .../site-packages/PIL/McIdasImagePlugin.py | 80 + .../Lib/site-packages/PIL/MicImagePlugin.py | 107 + .../Lib/site-packages/PIL/MpegImagePlugin.py | 88 + .../Lib/site-packages/PIL/MpoImagePlugin.py | 190 + .../Lib/site-packages/PIL/MspImagePlugin.py | 200 + gestao_raul/Lib/site-packages/PIL/PSDraw.py | 234 + .../Lib/site-packages/PIL/PaletteFile.py | 54 + .../Lib/site-packages/PIL/PalmImagePlugin.py | 232 + .../Lib/site-packages/PIL/PcdImagePlugin.py | 64 + .../Lib/site-packages/PIL/PcfFontFile.py | 254 + .../Lib/site-packages/PIL/PcxImagePlugin.py | 229 + .../Lib/site-packages/PIL/PdfImagePlugin.py | 311 ++ .../Lib/site-packages/PIL/PdfParser.py | 1073 +++++ .../Lib/site-packages/PIL/PixarImagePlugin.py | 74 + .../Lib/site-packages/PIL/PngImagePlugin.py | 1544 ++++++ .../Lib/site-packages/PIL/PpmImagePlugin.py | 375 ++ .../Lib/site-packages/PIL/PsdImagePlugin.py | 332 ++ .../Lib/site-packages/PIL/QoiImagePlugin.py | 115 + .../Lib/site-packages/PIL/SgiImagePlugin.py | 247 + .../site-packages/PIL/SpiderImagePlugin.py | 329 ++ .../Lib/site-packages/PIL/SunImagePlugin.py | 145 + gestao_raul/Lib/site-packages/PIL/TarIO.py | 57 + .../Lib/site-packages/PIL/TgaImagePlugin.py | 264 ++ .../Lib/site-packages/PIL/TiffImagePlugin.py | 2271 +++++++++ gestao_raul/Lib/site-packages/PIL/TiffTags.py | 562 +++ .../Lib/site-packages/PIL/WalImageFile.py | 127 + .../Lib/site-packages/PIL/WebPImagePlugin.py | 323 ++ .../Lib/site-packages/PIL/WmfImagePlugin.py | 181 + .../site-packages/PIL/XVThumbImagePlugin.py | 85 + .../Lib/site-packages/PIL/XbmImagePlugin.py | 98 + .../Lib/site-packages/PIL/XpmImagePlugin.py | 127 + gestao_raul/Lib/site-packages/PIL/__init__.py | 86 + gestao_raul/Lib/site-packages/PIL/__main__.py | 7 + .../__pycache__/BdfFontFile.cpython-310.pyc | Bin 0 -> 2775 bytes .../BlpImagePlugin.cpython-310.pyc | Bin 0 -> 13500 bytes .../BmpImagePlugin.cpython-310.pyc | Bin 0 -> 9838 bytes .../BufrStubImagePlugin.cpython-310.pyc | Bin 0 -> 2011 bytes .../__pycache__/ContainerIO.cpython-310.pyc | Bin 0 -> 5561 bytes .../CurImagePlugin.cpython-310.pyc | Bin 0 -> 1514 bytes .../DcxImagePlugin.cpython-310.pyc | Bin 0 -> 1766 bytes .../DdsImagePlugin.cpython-310.pyc | Bin 0 -> 13999 bytes .../EpsImagePlugin.cpython-310.pyc | Bin 0 -> 9236 bytes .../PIL/__pycache__/ExifTags.cpython-310.pyc | Bin 0 -> 10225 bytes .../FitsImagePlugin.cpython-310.pyc | Bin 0 -> 3797 bytes .../FliImagePlugin.cpython-310.pyc | Bin 0 -> 3941 bytes .../PIL/__pycache__/FontFile.cpython-310.pyc | Bin 0 -> 2906 bytes .../FpxImagePlugin.cpython-310.pyc | Bin 0 -> 4603 bytes .../FtexImagePlugin.cpython-310.pyc | Bin 0 -> 3883 bytes .../GbrImagePlugin.cpython-310.pyc | Bin 0 -> 2092 bytes .../__pycache__/GdImageFile.cpython-310.pyc | Bin 0 -> 2748 bytes .../GifImagePlugin.cpython-310.pyc | Bin 0 -> 23572 bytes .../GimpGradientFile.cpython-310.pyc | Bin 0 -> 3709 bytes .../GimpPaletteFile.cpython-310.pyc | Bin 0 -> 1575 bytes .../GribStubImagePlugin.cpython-310.pyc | Bin 0 -> 2008 bytes .../Hdf5StubImagePlugin.cpython-310.pyc | Bin 0 -> 1999 bytes .../IcnsImagePlugin.cpython-310.pyc | Bin 0 -> 10338 bytes .../IcoImagePlugin.cpython-310.pyc | Bin 0 -> 8703 bytes .../__pycache__/ImImagePlugin.cpython-310.pyc | Bin 0 -> 7084 bytes .../PIL/__pycache__/Image.cpython-310.pyc | Bin 0 -> 119280 bytes .../__pycache__/ImageChops.cpython-310.pyc | Bin 0 -> 7386 bytes .../PIL/__pycache__/ImageCms.cpython-310.pyc | Bin 0 -> 36094 bytes .../__pycache__/ImageColor.cpython-310.pyc | Bin 0 -> 8178 bytes .../PIL/__pycache__/ImageDraw.cpython-310.pyc | Bin 0 -> 27360 bytes .../__pycache__/ImageDraw2.cpython-310.pyc | Bin 0 -> 7245 bytes .../__pycache__/ImageEnhance.cpython-310.pyc | Bin 0 -> 3797 bytes .../PIL/__pycache__/ImageFile.cpython-310.pyc | Bin 0 -> 20646 bytes .../__pycache__/ImageFilter.cpython-310.pyc | Bin 0 -> 18309 bytes .../PIL/__pycache__/ImageFont.cpython-310.pyc | Bin 0 -> 60503 bytes .../PIL/__pycache__/ImageGrab.cpython-310.pyc | Bin 0 -> 3863 bytes .../PIL/__pycache__/ImageMath.cpython-310.pyc | Bin 0 -> 11196 bytes .../PIL/__pycache__/ImageMode.cpython-310.pyc | Bin 0 -> 2305 bytes .../__pycache__/ImageMorph.cpython-310.pyc | Bin 0 -> 8052 bytes .../PIL/__pycache__/ImageOps.cpython-310.pyc | Bin 0 -> 20112 bytes .../__pycache__/ImagePalette.cpython-310.pyc | Bin 0 -> 8427 bytes .../PIL/__pycache__/ImagePath.cpython-310.pyc | Bin 0 -> 279 bytes .../PIL/__pycache__/ImageQt.cpython-310.pyc | Bin 0 -> 5738 bytes .../__pycache__/ImageSequence.cpython-310.pyc | Bin 0 -> 2769 bytes .../PIL/__pycache__/ImageShow.cpython-310.pyc | Bin 0 -> 10045 bytes .../PIL/__pycache__/ImageStat.cpython-310.pyc | Bin 0 -> 5757 bytes .../PIL/__pycache__/ImageTk.cpython-310.pyc | Bin 0 -> 7942 bytes .../ImageTransform.cpython-310.pyc | Bin 0 -> 4668 bytes .../PIL/__pycache__/ImageWin.cpython-310.pyc | Bin 0 -> 9260 bytes .../ImtImagePlugin.cpython-310.pyc | Bin 0 -> 1490 bytes .../IptcImagePlugin.cpython-310.pyc | Bin 0 -> 5518 bytes .../Jpeg2KImagePlugin.cpython-310.pyc | Bin 0 -> 10453 bytes .../JpegImagePlugin.cpython-310.pyc | Bin 0 -> 19819 bytes .../__pycache__/JpegPresets.cpython-310.pyc | Bin 0 -> 7944 bytes .../McIdasImagePlugin.cpython-310.pyc | Bin 0 -> 1535 bytes .../MicImagePlugin.cpython-310.pyc | Bin 0 -> 2567 bytes .../MpegImagePlugin.cpython-310.pyc | Bin 0 -> 2425 bytes .../MpoImagePlugin.cpython-310.pyc | Bin 0 -> 4897 bytes .../MspImagePlugin.cpython-310.pyc | Bin 0 -> 3505 bytes .../PIL/__pycache__/PSDraw.cpython-310.pyc | Bin 0 -> 6135 bytes .../__pycache__/PaletteFile.cpython-310.pyc | Bin 0 -> 1551 bytes .../PalmImagePlugin.cpython-310.pyc | Bin 0 -> 6999 bytes .../PcdImagePlugin.cpython-310.pyc | Bin 0 -> 1296 bytes .../__pycache__/PcfFontFile.cpython-310.pyc | Bin 0 -> 6126 bytes .../PcxImagePlugin.cpython-310.pyc | Bin 0 -> 4044 bytes .../PdfImagePlugin.cpython-310.pyc | Bin 0 -> 5050 bytes .../PIL/__pycache__/PdfParser.cpython-310.pyc | Bin 0 -> 29833 bytes .../PixarImagePlugin.cpython-310.pyc | Bin 0 -> 1318 bytes .../PngImagePlugin.cpython-310.pyc | Bin 0 -> 33856 bytes .../PpmImagePlugin.cpython-310.pyc | Bin 0 -> 8342 bytes .../PsdImagePlugin.cpython-310.pyc | Bin 0 -> 6116 bytes .../QoiImagePlugin.cpython-310.pyc | Bin 0 -> 3444 bytes .../SgiImagePlugin.cpython-310.pyc | Bin 0 -> 4456 bytes .../SpiderImagePlugin.cpython-310.pyc | Bin 0 -> 7417 bytes .../SunImagePlugin.cpython-310.pyc | Bin 0 -> 2094 bytes .../PIL/__pycache__/TarIO.cpython-310.pyc | Bin 0 -> 1316 bytes .../TgaImagePlugin.cpython-310.pyc | Bin 0 -> 4359 bytes .../TiffImagePlugin.cpython-310.pyc | Bin 0 -> 58070 bytes .../PIL/__pycache__/TiffTags.cpython-310.pyc | Bin 0 -> 13840 bytes .../__pycache__/WalImageFile.cpython-310.pyc | Bin 0 -> 3150 bytes .../WebPImagePlugin.cpython-310.pyc | Bin 0 -> 7394 bytes .../WmfImagePlugin.cpython-310.pyc | Bin 0 -> 3963 bytes .../XVThumbImagePlugin.cpython-310.pyc | Bin 0 -> 1614 bytes .../XbmImagePlugin.cpython-310.pyc | Bin 0 -> 2406 bytes .../XpmImagePlugin.cpython-310.pyc | Bin 0 -> 2575 bytes .../PIL/__pycache__/__init__.cpython-310.pyc | Bin 0 -> 1943 bytes .../PIL/__pycache__/__main__.cpython-310.pyc | Bin 0 -> 330 bytes .../PIL/__pycache__/_binary.cpython-310.pyc | Bin 0 -> 3010 bytes .../__pycache__/_deprecate.cpython-310.pyc | Bin 0 -> 2057 bytes .../_tkinter_finder.cpython-310.pyc | Bin 0 -> 552 bytes .../PIL/__pycache__/_typing.cpython-310.pyc | Bin 0 -> 1767 bytes .../PIL/__pycache__/_util.cpython-310.pyc | Bin 0 -> 1394 bytes .../PIL/__pycache__/_version.cpython-310.pyc | Bin 0 -> 242 bytes .../PIL/__pycache__/features.cpython-310.pyc | Bin 0 -> 9775 bytes .../PIL/__pycache__/report.cpython-310.pyc | Bin 0 -> 292 bytes gestao_raul/Lib/site-packages/PIL/_binary.py | 112 + .../Lib/site-packages/PIL/_deprecate.py | 69 + .../PIL/_imaging.cp310-win_amd64.pyd | Bin 0 -> 2348032 bytes .../Lib/site-packages/PIL/_imaging.pyi | 31 + .../PIL/_imagingcms.cp310-win_amd64.pyd | Bin 0 -> 264192 bytes .../Lib/site-packages/PIL/_imagingcms.pyi | 143 + .../PIL/_imagingft.cp310-win_amd64.pyd | Bin 0 -> 1828352 bytes .../Lib/site-packages/PIL/_imagingft.pyi | 69 + .../PIL/_imagingmath.cp310-win_amd64.pyd | Bin 0 -> 25088 bytes .../Lib/site-packages/PIL/_imagingmath.pyi | 3 + .../PIL/_imagingmorph.cp310-win_amd64.pyd | Bin 0 -> 13824 bytes .../Lib/site-packages/PIL/_imagingmorph.pyi | 3 + .../PIL/_imagingtk.cp310-win_amd64.pyd | Bin 0 -> 15360 bytes .../Lib/site-packages/PIL/_imagingtk.pyi | 3 + .../Lib/site-packages/PIL/_tkinter_finder.py | 21 + gestao_raul/Lib/site-packages/PIL/_typing.py | 53 + gestao_raul/Lib/site-packages/PIL/_util.py | 26 + gestao_raul/Lib/site-packages/PIL/_version.py | 4 + .../PIL/_webp.cp310-win_amd64.pyd | Bin 0 -> 410112 bytes gestao_raul/Lib/site-packages/PIL/_webp.pyi | 3 + gestao_raul/Lib/site-packages/PIL/features.py | 352 ++ gestao_raul/Lib/site-packages/PIL/py.typed | 0 gestao_raul/Lib/site-packages/PIL/report.py | 5 + .../pillow-11.0.0.dist-info/INSTALLER | 1 + .../pillow-11.0.0.dist-info/LICENSE | 1226 +++++ .../pillow-11.0.0.dist-info/METADATA | 175 + .../pillow-11.0.0.dist-info/RECORD | 213 + .../pillow-11.0.0.dist-info/REQUESTED | 0 .../pillow-11.0.0.dist-info/WHEEL | 5 + .../pillow-11.0.0.dist-info/top_level.txt | 1 + .../pillow-11.0.0.dist-info/zip-safe | 1 + 224 files changed, 35465 insertions(+), 3 deletions(-) create mode 100644 gestaoRaul/comandas/migrations/0003_comanda_status_alter_productcomanda_product.py create mode 100644 gestaoRaul/comandas/migrations/__pycache__/0003_comanda_status_alter_productcomanda_product.cpython-310.pyc create mode 100644 gestaoRaul/products/migrations/0002_product_image_product_quantity.py create mode 100644 gestaoRaul/products/migrations/__pycache__/0002_product_image_product_quantity.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/BdfFontFile.py create mode 100644 gestao_raul/Lib/site-packages/PIL/BlpImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/BmpImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/BufrStubImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/ContainerIO.py create mode 100644 gestao_raul/Lib/site-packages/PIL/CurImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/DcxImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/DdsImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/EpsImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/ExifTags.py create mode 100644 gestao_raul/Lib/site-packages/PIL/FitsImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/FliImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/FontFile.py create mode 100644 gestao_raul/Lib/site-packages/PIL/FpxImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/FtexImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/GbrImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/GdImageFile.py create mode 100644 gestao_raul/Lib/site-packages/PIL/GifImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/GimpGradientFile.py create mode 100644 gestao_raul/Lib/site-packages/PIL/GimpPaletteFile.py create mode 100644 gestao_raul/Lib/site-packages/PIL/GribStubImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/Hdf5StubImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/IcnsImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/IcoImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/ImImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/Image.py create mode 100644 gestao_raul/Lib/site-packages/PIL/ImageChops.py create mode 100644 gestao_raul/Lib/site-packages/PIL/ImageCms.py create mode 100644 gestao_raul/Lib/site-packages/PIL/ImageColor.py create mode 100644 gestao_raul/Lib/site-packages/PIL/ImageDraw.py create mode 100644 gestao_raul/Lib/site-packages/PIL/ImageDraw2.py create mode 100644 gestao_raul/Lib/site-packages/PIL/ImageEnhance.py create mode 100644 gestao_raul/Lib/site-packages/PIL/ImageFile.py create mode 100644 gestao_raul/Lib/site-packages/PIL/ImageFilter.py create mode 100644 gestao_raul/Lib/site-packages/PIL/ImageFont.py create mode 100644 gestao_raul/Lib/site-packages/PIL/ImageGrab.py create mode 100644 gestao_raul/Lib/site-packages/PIL/ImageMath.py create mode 100644 gestao_raul/Lib/site-packages/PIL/ImageMode.py create mode 100644 gestao_raul/Lib/site-packages/PIL/ImageMorph.py create mode 100644 gestao_raul/Lib/site-packages/PIL/ImageOps.py create mode 100644 gestao_raul/Lib/site-packages/PIL/ImagePalette.py create mode 100644 gestao_raul/Lib/site-packages/PIL/ImagePath.py create mode 100644 gestao_raul/Lib/site-packages/PIL/ImageQt.py create mode 100644 gestao_raul/Lib/site-packages/PIL/ImageSequence.py create mode 100644 gestao_raul/Lib/site-packages/PIL/ImageShow.py create mode 100644 gestao_raul/Lib/site-packages/PIL/ImageStat.py create mode 100644 gestao_raul/Lib/site-packages/PIL/ImageTk.py create mode 100644 gestao_raul/Lib/site-packages/PIL/ImageTransform.py create mode 100644 gestao_raul/Lib/site-packages/PIL/ImageWin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/ImtImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/IptcImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/Jpeg2KImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/JpegImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/JpegPresets.py create mode 100644 gestao_raul/Lib/site-packages/PIL/McIdasImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/MicImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/MpegImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/MpoImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/MspImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/PSDraw.py create mode 100644 gestao_raul/Lib/site-packages/PIL/PaletteFile.py create mode 100644 gestao_raul/Lib/site-packages/PIL/PalmImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/PcdImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/PcfFontFile.py create mode 100644 gestao_raul/Lib/site-packages/PIL/PcxImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/PdfImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/PdfParser.py create mode 100644 gestao_raul/Lib/site-packages/PIL/PixarImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/PngImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/PpmImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/PsdImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/QoiImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/SgiImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/SpiderImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/SunImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/TarIO.py create mode 100644 gestao_raul/Lib/site-packages/PIL/TgaImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/TiffImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/TiffTags.py create mode 100644 gestao_raul/Lib/site-packages/PIL/WalImageFile.py create mode 100644 gestao_raul/Lib/site-packages/PIL/WebPImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/WmfImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/XVThumbImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/XbmImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/XpmImagePlugin.py create mode 100644 gestao_raul/Lib/site-packages/PIL/__init__.py create mode 100644 gestao_raul/Lib/site-packages/PIL/__main__.py create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/BdfFontFile.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/BlpImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/BmpImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/BufrStubImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/ContainerIO.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/CurImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/DcxImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/DdsImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/EpsImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/ExifTags.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/FitsImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/FliImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/FontFile.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/FpxImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/FtexImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/GbrImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/GdImageFile.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/GifImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/GimpGradientFile.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/GimpPaletteFile.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/GribStubImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/Hdf5StubImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/IcnsImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/IcoImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/ImImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/Image.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/ImageChops.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/ImageCms.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/ImageColor.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/ImageDraw.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/ImageDraw2.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/ImageEnhance.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/ImageFile.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/ImageFilter.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/ImageFont.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/ImageGrab.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/ImageMath.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/ImageMode.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/ImageMorph.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/ImageOps.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/ImagePalette.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/ImagePath.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/ImageQt.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/ImageSequence.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/ImageShow.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/ImageStat.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/ImageTk.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/ImageTransform.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/ImageWin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/ImtImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/IptcImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/Jpeg2KImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/JpegImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/JpegPresets.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/McIdasImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/MicImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/MpegImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/MpoImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/MspImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/PSDraw.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/PaletteFile.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/PalmImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/PcdImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/PcfFontFile.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/PcxImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/PdfImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/PdfParser.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/PixarImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/PngImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/PpmImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/PsdImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/QoiImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/SgiImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/SpiderImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/SunImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/TarIO.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/TgaImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/TiffImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/TiffTags.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/WalImageFile.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/WebPImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/WmfImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/XVThumbImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/XbmImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/XpmImagePlugin.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/__init__.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/__main__.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/_binary.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/_deprecate.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/_tkinter_finder.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/_typing.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/_util.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/_version.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/features.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/__pycache__/report.cpython-310.pyc create mode 100644 gestao_raul/Lib/site-packages/PIL/_binary.py create mode 100644 gestao_raul/Lib/site-packages/PIL/_deprecate.py create mode 100644 gestao_raul/Lib/site-packages/PIL/_imaging.cp310-win_amd64.pyd create mode 100644 gestao_raul/Lib/site-packages/PIL/_imaging.pyi create mode 100644 gestao_raul/Lib/site-packages/PIL/_imagingcms.cp310-win_amd64.pyd create mode 100644 gestao_raul/Lib/site-packages/PIL/_imagingcms.pyi create mode 100644 gestao_raul/Lib/site-packages/PIL/_imagingft.cp310-win_amd64.pyd create mode 100644 gestao_raul/Lib/site-packages/PIL/_imagingft.pyi create mode 100644 gestao_raul/Lib/site-packages/PIL/_imagingmath.cp310-win_amd64.pyd create mode 100644 gestao_raul/Lib/site-packages/PIL/_imagingmath.pyi create mode 100644 gestao_raul/Lib/site-packages/PIL/_imagingmorph.cp310-win_amd64.pyd create mode 100644 gestao_raul/Lib/site-packages/PIL/_imagingmorph.pyi create mode 100644 gestao_raul/Lib/site-packages/PIL/_imagingtk.cp310-win_amd64.pyd create mode 100644 gestao_raul/Lib/site-packages/PIL/_imagingtk.pyi create mode 100644 gestao_raul/Lib/site-packages/PIL/_tkinter_finder.py create mode 100644 gestao_raul/Lib/site-packages/PIL/_typing.py create mode 100644 gestao_raul/Lib/site-packages/PIL/_util.py create mode 100644 gestao_raul/Lib/site-packages/PIL/_version.py create mode 100644 gestao_raul/Lib/site-packages/PIL/_webp.cp310-win_amd64.pyd create mode 100644 gestao_raul/Lib/site-packages/PIL/_webp.pyi create mode 100644 gestao_raul/Lib/site-packages/PIL/features.py create mode 100644 gestao_raul/Lib/site-packages/PIL/py.typed create mode 100644 gestao_raul/Lib/site-packages/PIL/report.py create mode 100644 gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/INSTALLER create mode 100644 gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/LICENSE create mode 100644 gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/METADATA create mode 100644 gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/RECORD create mode 100644 gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/REQUESTED create mode 100644 gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/WHEEL create mode 100644 gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/top_level.txt create mode 100644 gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/zip-safe diff --git a/gestaoRaul/comandas/__pycache__/models.cpython-310.pyc b/gestaoRaul/comandas/__pycache__/models.cpython-310.pyc index a77ea7a662cbd560c2175f8a3af6a6852572a628..429c867210369f6f1ea320f9426589786a8f6a89 100644 GIT binary patch delta 450 zcmZvXJx{_w7{|F@O95Lb*di~!At4sNf^pF>kQgD#)P*!WMKB=bdXPA|xMDOnxVXDG z`9YiwqhG<<#Cy6B6Yp}rJa2ja|9dt*40CFlshB(q2(I3r%un(tUT8yDq;(L`>l`E? z1shAnv%v_QfdVF^?^Q1knafz+5)-m;)OM$NURPLFZdvIN4E*_+i!X9Q3ZkYA$(DFf z-dYZJ<01F?JY3O`GggunR``n|rn*EzzR->WgIFX-43Z``QryyB%>*hvrKQ6RXh7tR zFR5pN9%QA*1SF-$ocN)~#1=Tc-Zo+fp&)h< zdx(7m`ePMD9Z{9=lHhZ{$48TZsWM;bor`w2dD>+S9H~Vk{%kfL_5B;p4zc*p|8*95 bamATdCaxH23&+LLwbv*rif^q#mAvr_8~s_K delta 417 zcmZ{fy-ve06oq3uZIU()A*5+3f2vCODbIiqV`df*zza)-fNw6-s}gPPdIOAunxyZCwKS!gWRZBHc&2!e9=h#V=9`$ zzSZNF;0M~aqprwQ8FZfnDxzcH3w_>Ofd8MYD5dPcO$L9_#-{2<-Zd#dE?)UGQKE3p~uL9etO0D$}EWrD^1HA}&Xz^iktS zx039rcYW*HlZ)8vB9;&ov5Z(jtRm2zTtjRidVtsxNtq1G>^zk^7B><7s*~jTSvE>8 qO1X~3e?y0w*45Bj;Q+oKgGinL diff --git a/gestaoRaul/comandas/__pycache__/views.cpython-310.pyc b/gestaoRaul/comandas/__pycache__/views.cpython-310.pyc index b0aeeda396e66a152a4747967076f1c84d3a899f..6bb1871f228a664eb163928b7414100af7038e75 100644 GIT binary patch delta 519 zcmZ9IzfQw25XNK2N!matr2G{UAkifY6DvXpA;i)a!2(MaVpFAR8@RZz6m?)=LI`zOt{U8eh-!d!YqI>-s{G9HXgS2|2M>*lNOS%0_ z9*DGi;>4>E|+*qrB5ehbko7 z`z|okS9{r2Pb4ze?seLi0>DGnj{AL}CW>tBfw&!sTtd~H0j*6fsHr|VSVE;@cJ3O4 z#3vzvs`?~fq^_Rm?qtTu;2>rZm<54>_HH2KqeN=w2GT^7PgP(J6GBYzlWY(VdE7}k z)KOhTEF+fizHA^fsG(F~9`%{KRNNnywKcV8uagaRVZTfk%wFRIH{NJC9n UceD7#4XkP){;J9$l;bph0ety$cK`qY delta 405 zcmcb_wUUcBpO=@50SE-GW76Fw^4`!@19D0jvKSXIEo7)=EMbPSm`Ye`7*ZH(7;BhP znC37wGY2zhGW$(7V^lV0En)%cxy7EJl$DxXQhbX!F(;>p9Vk@91SB+>Z?PAp7M7+K zmlSb;1UZ4kN`@ld$uk%oML{AUT+9X}xEQ$@g&2!CCck4m!YDX-Gn0t~$ZbWeK;jl# zT4qj3YEcnLVG;M_KTOhgJRqh3NRlf#KQ}QiB{4oTrAQDYDg+`#K!h-mh+;1&%1CuKRBdF45UjO zM1Z};HQA9xOapAYEKu+kJ4gq}YB`V+u>HvP)U#+XDotL&k}ePSzYIu`5{N)3g1ShL GRRsW~22=F_ diff --git a/gestaoRaul/comandas/migrations/0003_comanda_status_alter_productcomanda_product.py b/gestaoRaul/comandas/migrations/0003_comanda_status_alter_productcomanda_product.py new file mode 100644 index 0000000..6eb9bab --- /dev/null +++ b/gestaoRaul/comandas/migrations/0003_comanda_status_alter_productcomanda_product.py @@ -0,0 +1,25 @@ +# Generated by Django 5.1.4 on 2024-12-20 12:36 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('comandas', '0002_productcomanda'), + ('products', '0002_product_image_product_quantity'), + ] + + operations = [ + migrations.AddField( + model_name='comanda', + name='status', + field=models.CharField(default='OPEN', max_length=255), + ), + migrations.AlterField( + model_name='productcomanda', + name='product', + field=models.ForeignKey(on_delete=django.db.models.deletion.PROTECT, to='products.product'), + ), + ] diff --git a/gestaoRaul/comandas/migrations/__pycache__/0003_comanda_status_alter_productcomanda_product.cpython-310.pyc b/gestaoRaul/comandas/migrations/__pycache__/0003_comanda_status_alter_productcomanda_product.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c44a31adbba66579bab106709301f2787315a0fd GIT binary patch literal 897 zcmY*XJ8#rL5MHmJ=iG%zAS4PXNOjFAf(}I};YcVDNpyt9vb1t;CXOvXF5W%C(L$Ra z!f)W8Y(YbnzYvMXtj{K4rJbGkd^5B4XcRI!-vQGfoUxxqxO*HD_UOt95nx~yEVAh3 z1uyN$E}h7+*c%2mIA0k!Xy@)1J95E#&&KXG#jv9>*I}8ZO`@{8lG-b4z(UTA?d}Ok z*rO{?h+tbK;$Q(!d1RxLyQT(uxeqRQ;9qeFu8cl_0feL@UOvo6umQuhonkj( zL|8WU;9ZY_00r~9Oe#pEzQ41x^Gqz78kTd_X^lgtk$U^CgUHGx#ok?9E|W@SYNh=y zQhQP*YALmId~$Gf{fAniWIo_|vMdzMA^9Wz>5 z)4@K#p{d{4MjT8plBSh)xL+vj`NO)wEUn(+N_&teRa$EfXF6yx(1x{tGCMv!n4ape zUSPNNZ>)JrNn3JrIeig-kl4uhBNnQTU)S?xiItM^Z1(D48mCA@tY str: return self.name @@ -21,7 +21,7 @@ class ProductComanda(models.Model): id = models.AutoField(primary_key=True) comanda = models.ForeignKey(Comanda, on_delete=models.CASCADE) data_time = models.DateTimeField(auto_now_add=True) - product = models.ForeignKey(Product, on_delete=models.CASCADE) + product = models.ForeignKey(Product, on_delete=models.PROTECT) applicant = models.CharField(max_length=255, null=True, blank=True) def __str__(self) -> str: return self.comanda.name + " - " + self.product.name \ No newline at end of file diff --git a/gestaoRaul/comandas/views.py b/gestaoRaul/comandas/views.py index be076ec..6941869 100644 --- a/gestaoRaul/comandas/views.py +++ b/gestaoRaul/comandas/views.py @@ -6,7 +6,7 @@ from mesas.models import Mesa def comandas(request): - comandas = Comanda.objects.all() + comandas = Comanda.objects.filter(status__in=["OPEN", "PAYING"]) mesas = Mesa.objects.all() return render(request, 'comandas.html', {'comandas': comandas, 'mesas': mesas}) diff --git a/gestaoRaul/db.sqlite3 b/gestaoRaul/db.sqlite3 index f62d7cdde216a0a50d938601137293812040addf..d6555ad98cc717b4debd99064cfdc7b71e5ee540 100644 GIT binary patch delta 2242 zcmbVNdrTBZ7~h$_$1d#chX$n7QM;jn6{{AY^^408cm}%)xj+G;v8aGOSjss8Ge&oD&6V{XY7&2 z&bOO|VJpJ*u@y#iiP5C%y0^A(QQMR-63tDu#_~iYPOfgl*-JgT$LDl=oE}|sdy2e) zB2U2O@r44x(6phHXKr|9Jhr5{KEZfAwS9})#uY|Gq<^)l*@z|@6RV%gKAH&P)P4(-ZTy2l)hVz0OMI&$4rjFN?nkborMJGz#pdW32?6QkBnSBOoeRqhI&A4RcEU?w%fK{^ne>}$M!Y2! zkEAg-!^zagxeLF*b+`=Q!Ff0fr{N@Z^Ko18Bt@d8nVbKYmy?bt{ur4}qJR`~dMz%p zD{y4M>qi%VG=S(UuQ(5?2u%L8K zS-7H1s|c6ODAOD%9cvrTW_%l88Q}YOwmp@Y!;SvT9Qho=3c@;TF(=p%CKJ2yDBCkmA<&J7w3jKx?O?N!bKSV7kP`Fy=FnP< zc>OXXKGv=4s~XFKEX>BX-L|A>sjkw+hN;b8V7FctByq$mM7@h zJn^!E#fR`q z$%;exeO#0s7UX{8ZolTHbC{R^CfM(5VN z-~e9Tv-5y_>ac%&7|g+g_=Or&GD zA$>piUi>r=gq6EEWY)vVmiXQFBz1I(5DWd%d# z@~NLqYsl5hcvf!>TR?(8;jc2qg{;S!p-zA=VJB>bHmIYKHwzku(VmcJv&u-2s#Z3} z>J8eq;<3pJRi{4;v^!+m5N$?MQzEk5unwl3VJHQtzTeGtMLdKyhEcsruO*Del}3x9 V1$5m!nf8X<`Bt`>oGQST9@ypH{qHsci)ai~TZK|XNZ3`VFSRu#n6yR( z#0T{ObQ@t8FT3Mw-2gJ!+wHOcmyl> zI`&uVpWlkSe-(`ID}O*Z6cFh(yh896-o$yl;e{fw4a?o3k+7yv3Yw}|RP|j&x}YeQ z_2pW)eqY>rZ0D|0#Br06($EWoLpy^al+B_9zr&;W8g4}gRd$wr!d_+@SyYHonHL>^ z4=F#s2I>PVs7VT>iC7k&J4YK=WK&MEZ+CxbU{Ka%Gy$Cl*MjaT-Q@sr$YrQSn8p ziz20*pgK(ONwzLF<3Eh3BO9)d9SUVRTqJ57qG|dF{36;=y=iKH4m1l<}_K(SC7NeKql=vPS#eU zJ-jH^-sW+56Y?DeV$p zo@>wLa#>sB=O=HhW+i*QQxoD!6b?gB-guU!XqAOcu46R2ZY?j-bd^e3Q(Q^Ff3(&3O P$AZ_!vlrnMXx;w;hhhyR diff --git a/gestaoRaul/products/__pycache__/models.cpython-310.pyc b/gestaoRaul/products/__pycache__/models.cpython-310.pyc index 9e5aad63a0483e8160591c4780b118cd56217752..2009b5c801a6f1b3afdbded34d06b37262fd45c4 100644 GIT binary patch delta 321 zcmXAi%}T>i5QRIbY0@?~{jvV+x|FzZ;lhOof~}QqL@M2cK#ZAbiNr*2ZV=t*LW-L% zO2Aj}ReXkkZ{R~X>MYKj@5~IdFun|t3el)=eO}T0c_rRpv3ft40s`tw&23Wk#=;sJ zXfg>V8|&D>CR2;4O&!)QTFmS0dVD9A;BKHzn==ht*nVAex3F_rak_;L;qFKRe{(cx zaw`p_S&+xdfwG<^K2l7I9FR5-ix)WS9}Nz@X+|>h9w=6+H%!C)mJ*eDlgY{Hp!kNJ zew&vwjim-ptqYlA9;!Xx&y@82b7#BQ*Mj55_%@i+D54lkJ^J;fHKdST{1>|Vos2>b i$BCjj$^X#2&x1ro>aqCHu0@Yum=y~wu)!|6RrLc7U|9_S delta 210 zcmcc1-p0v@#i>QbG3BW_CHXNf`N^fZsd**EG3lwrC5id*ML?yKMVQnX z`6k;i$uf#ej$%p_;c-b#&dg2Bam!52Nr_@DD9TJuo&1X_iBkaRb`Ay}MxM!;%q0NJ CF+1k~ diff --git a/gestaoRaul/products/migrations/0002_product_image_product_quantity.py b/gestaoRaul/products/migrations/0002_product_image_product_quantity.py new file mode 100644 index 0000000..1c3e8ba --- /dev/null +++ b/gestaoRaul/products/migrations/0002_product_image_product_quantity.py @@ -0,0 +1,23 @@ +# Generated by Django 5.1.4 on 2024-12-20 12:36 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('products', '0001_initial'), + ] + + operations = [ + migrations.AddField( + model_name='product', + name='image', + field=models.ImageField(blank=True, null=True, upload_to=''), + ), + migrations.AddField( + model_name='product', + name='quantity', + field=models.IntegerField(default=0), + ), + ] diff --git a/gestaoRaul/products/migrations/__pycache__/0002_product_image_product_quantity.cpython-310.pyc b/gestaoRaul/products/migrations/__pycache__/0002_product_image_product_quantity.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1981da8dcc5d8a383f099a222e5d73c11f820483 GIT binary patch literal 694 zcmYjP&2H2%5cW^9n+;pUi34y(%B5O3B0z;gQ4jR6z$J=gr90Coi(@abBh)io`yf06 zZ{jN_UZE0#adww>B9G>qZ#;jFJvhi2$xp!Mg<$Mg1h*w2a74#FCIt+*W*skiCrZKD zI|c&ecLoyqT7HwIgyaJ&(%%%z3K8Qft3Py z!%Kt;1~CXj_BwmY95;K$*HjqN7ePTGSA- zFGFp7>o0pwGZZ{b0Wa!7`?DesnHp~>6>_C0!=RDuxl(jV$1D*6ZqNXlRg12tXJ8?F z1#l9x_cFr#Ga1$;z(B$g?5|Gg#NAv4?Oz4myrEk~h6?t%sB`WY4!Ndl@(DVzqnXzWfIvEWe}x literal 0 HcmV?d00001 diff --git a/gestaoRaul/products/models.py b/gestaoRaul/products/models.py index bb4191b..189ab2a 100644 --- a/gestaoRaul/products/models.py +++ b/gestaoRaul/products/models.py @@ -7,7 +7,9 @@ class Product(models.Model): id = models.AutoField(primary_key=True) name = models.CharField(max_length=100) description = models.TextField(null=True, blank=True) + image = models.ImageField(null=True, blank=True) price = models.DecimalField(max_digits=10, decimal_places=2) + quantity = models.IntegerField(null=False, default=0) category = models.ForeignKey(Categories, on_delete=models.CASCADE) active = models.BooleanField(default=True) diff --git a/gestao_raul/Lib/site-packages/PIL/BdfFontFile.py b/gestao_raul/Lib/site-packages/PIL/BdfFontFile.py new file mode 100644 index 0000000..bc1416c --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/BdfFontFile.py @@ -0,0 +1,133 @@ +# +# The Python Imaging Library +# $Id$ +# +# bitmap distribution font (bdf) file parser +# +# history: +# 1996-05-16 fl created (as bdf2pil) +# 1997-08-25 fl converted to FontFile driver +# 2001-05-25 fl removed bogus __init__ call +# 2002-11-20 fl robustification (from Kevin Cazabon, Dmitry Vasiliev) +# 2003-04-22 fl more robustification (from Graham Dumpleton) +# +# Copyright (c) 1997-2003 by Secret Labs AB. +# Copyright (c) 1997-2003 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# + +""" +Parse X Bitmap Distribution Format (BDF) +""" +from __future__ import annotations + +from typing import BinaryIO + +from . import FontFile, Image + +bdf_slant = { + "R": "Roman", + "I": "Italic", + "O": "Oblique", + "RI": "Reverse Italic", + "RO": "Reverse Oblique", + "OT": "Other", +} + +bdf_spacing = {"P": "Proportional", "M": "Monospaced", "C": "Cell"} + + +def bdf_char( + f: BinaryIO, +) -> ( + tuple[ + str, + int, + tuple[tuple[int, int], tuple[int, int, int, int], tuple[int, int, int, int]], + Image.Image, + ] + | None +): + # skip to STARTCHAR + while True: + s = f.readline() + if not s: + return None + if s[:9] == b"STARTCHAR": + break + id = s[9:].strip().decode("ascii") + + # load symbol properties + props = {} + while True: + s = f.readline() + if not s or s[:6] == b"BITMAP": + break + i = s.find(b" ") + props[s[:i].decode("ascii")] = s[i + 1 : -1].decode("ascii") + + # load bitmap + bitmap = bytearray() + while True: + s = f.readline() + if not s or s[:7] == b"ENDCHAR": + break + bitmap += s[:-1] + + # The word BBX + # followed by the width in x (BBw), height in y (BBh), + # and x and y displacement (BBxoff0, BByoff0) + # of the lower left corner from the origin of the character. + width, height, x_disp, y_disp = (int(p) for p in props["BBX"].split()) + + # The word DWIDTH + # followed by the width in x and y of the character in device pixels. + dwx, dwy = (int(p) for p in props["DWIDTH"].split()) + + bbox = ( + (dwx, dwy), + (x_disp, -y_disp - height, width + x_disp, -y_disp), + (0, 0, width, height), + ) + + try: + im = Image.frombytes("1", (width, height), bitmap, "hex", "1") + except ValueError: + # deal with zero-width characters + im = Image.new("1", (width, height)) + + return id, int(props["ENCODING"]), bbox, im + + +class BdfFontFile(FontFile.FontFile): + """Font file plugin for the X11 BDF format.""" + + def __init__(self, fp: BinaryIO) -> None: + super().__init__() + + s = fp.readline() + if s[:13] != b"STARTFONT 2.1": + msg = "not a valid BDF file" + raise SyntaxError(msg) + + props = {} + comments = [] + + while True: + s = fp.readline() + if not s or s[:13] == b"ENDPROPERTIES": + break + i = s.find(b" ") + props[s[:i].decode("ascii")] = s[i + 1 : -1].decode("ascii") + if s[:i] in [b"COMMENT", b"COPYRIGHT"]: + if s.find(b"LogicalFontDescription") < 0: + comments.append(s[i + 1 : -1].decode("ascii")) + + while True: + c = bdf_char(fp) + if not c: + break + id, ch, (xy, dst, src), im = c + if 0 <= ch < len(self.glyph): + self.glyph[ch] = xy, dst, src, im diff --git a/gestao_raul/Lib/site-packages/PIL/BlpImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/BlpImagePlugin.py new file mode 100644 index 0000000..e560563 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/BlpImagePlugin.py @@ -0,0 +1,493 @@ +""" +Blizzard Mipmap Format (.blp) +Jerome Leclanche + +The contents of this file are hereby released in the public domain (CC0) +Full text of the CC0 license: + https://creativecommons.org/publicdomain/zero/1.0/ + +BLP1 files, used mostly in Warcraft III, are not fully supported. +All types of BLP2 files used in World of Warcraft are supported. + +The BLP file structure consists of a header, up to 16 mipmaps of the +texture + +Texture sizes must be powers of two, though the two dimensions do +not have to be equal; 512x256 is valid, but 512x200 is not. +The first mipmap (mipmap #0) is the full size image; each subsequent +mipmap halves both dimensions. The final mipmap should be 1x1. + +BLP files come in many different flavours: +* JPEG-compressed (type == 0) - only supported for BLP1. +* RAW images (type == 1, encoding == 1). Each mipmap is stored as an + array of 8-bit values, one per pixel, left to right, top to bottom. + Each value is an index to the palette. +* DXT-compressed (type == 1, encoding == 2): +- DXT1 compression is used if alpha_encoding == 0. + - An additional alpha bit is used if alpha_depth == 1. + - DXT3 compression is used if alpha_encoding == 1. + - DXT5 compression is used if alpha_encoding == 7. +""" + +from __future__ import annotations + +import abc +import os +import struct +from enum import IntEnum +from io import BytesIO +from typing import IO + +from . import Image, ImageFile + + +class Format(IntEnum): + JPEG = 0 + + +class Encoding(IntEnum): + UNCOMPRESSED = 1 + DXT = 2 + UNCOMPRESSED_RAW_BGRA = 3 + + +class AlphaEncoding(IntEnum): + DXT1 = 0 + DXT3 = 1 + DXT5 = 7 + + +def unpack_565(i: int) -> tuple[int, int, int]: + return ((i >> 11) & 0x1F) << 3, ((i >> 5) & 0x3F) << 2, (i & 0x1F) << 3 + + +def decode_dxt1( + data: bytes, alpha: bool = False +) -> tuple[bytearray, bytearray, bytearray, bytearray]: + """ + input: one "row" of data (i.e. will produce 4*width pixels) + """ + + blocks = len(data) // 8 # number of blocks in row + ret = (bytearray(), bytearray(), bytearray(), bytearray()) + + for block_index in range(blocks): + # Decode next 8-byte block. + idx = block_index * 8 + color0, color1, bits = struct.unpack_from("> 2 + + a = 0xFF + if control == 0: + r, g, b = r0, g0, b0 + elif control == 1: + r, g, b = r1, g1, b1 + elif control == 2: + if color0 > color1: + r = (2 * r0 + r1) // 3 + g = (2 * g0 + g1) // 3 + b = (2 * b0 + b1) // 3 + else: + r = (r0 + r1) // 2 + g = (g0 + g1) // 2 + b = (b0 + b1) // 2 + elif control == 3: + if color0 > color1: + r = (2 * r1 + r0) // 3 + g = (2 * g1 + g0) // 3 + b = (2 * b1 + b0) // 3 + else: + r, g, b, a = 0, 0, 0, 0 + + if alpha: + ret[j].extend([r, g, b, a]) + else: + ret[j].extend([r, g, b]) + + return ret + + +def decode_dxt3(data: bytes) -> tuple[bytearray, bytearray, bytearray, bytearray]: + """ + input: one "row" of data (i.e. will produce 4*width pixels) + """ + + blocks = len(data) // 16 # number of blocks in row + ret = (bytearray(), bytearray(), bytearray(), bytearray()) + + for block_index in range(blocks): + idx = block_index * 16 + block = data[idx : idx + 16] + # Decode next 16-byte block. + bits = struct.unpack_from("<8B", block) + color0, color1 = struct.unpack_from(">= 4 + else: + high = True + a &= 0xF + a *= 17 # We get a value between 0 and 15 + + color_code = (code >> 2 * (4 * j + i)) & 0x03 + + if color_code == 0: + r, g, b = r0, g0, b0 + elif color_code == 1: + r, g, b = r1, g1, b1 + elif color_code == 2: + r = (2 * r0 + r1) // 3 + g = (2 * g0 + g1) // 3 + b = (2 * b0 + b1) // 3 + elif color_code == 3: + r = (2 * r1 + r0) // 3 + g = (2 * g1 + g0) // 3 + b = (2 * b1 + b0) // 3 + + ret[j].extend([r, g, b, a]) + + return ret + + +def decode_dxt5(data: bytes) -> tuple[bytearray, bytearray, bytearray, bytearray]: + """ + input: one "row" of data (i.e. will produce 4 * width pixels) + """ + + blocks = len(data) // 16 # number of blocks in row + ret = (bytearray(), bytearray(), bytearray(), bytearray()) + + for block_index in range(blocks): + idx = block_index * 16 + block = data[idx : idx + 16] + # Decode next 16-byte block. + a0, a1 = struct.unpack_from("> alphacode_index) & 0x07 + elif alphacode_index == 15: + alphacode = (alphacode2 >> 15) | ((alphacode1 << 1) & 0x06) + else: # alphacode_index >= 18 and alphacode_index <= 45 + alphacode = (alphacode1 >> (alphacode_index - 16)) & 0x07 + + if alphacode == 0: + a = a0 + elif alphacode == 1: + a = a1 + elif a0 > a1: + a = ((8 - alphacode) * a0 + (alphacode - 1) * a1) // 7 + elif alphacode == 6: + a = 0 + elif alphacode == 7: + a = 255 + else: + a = ((6 - alphacode) * a0 + (alphacode - 1) * a1) // 5 + + color_code = (code >> 2 * (4 * j + i)) & 0x03 + + if color_code == 0: + r, g, b = r0, g0, b0 + elif color_code == 1: + r, g, b = r1, g1, b1 + elif color_code == 2: + r = (2 * r0 + r1) // 3 + g = (2 * g0 + g1) // 3 + b = (2 * b0 + b1) // 3 + elif color_code == 3: + r = (2 * r1 + r0) // 3 + g = (2 * g1 + g0) // 3 + b = (2 * b1 + b0) // 3 + + ret[j].extend([r, g, b, a]) + + return ret + + +class BLPFormatError(NotImplementedError): + pass + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] in (b"BLP1", b"BLP2") + + +class BlpImageFile(ImageFile.ImageFile): + """ + Blizzard Mipmap Format + """ + + format = "BLP" + format_description = "Blizzard Mipmap Format" + + def _open(self) -> None: + self.magic = self.fp.read(4) + + self.fp.seek(5, os.SEEK_CUR) + (self._blp_alpha_depth,) = struct.unpack(" tuple[int, int]: + try: + self._read_blp_header() + self._load() + except struct.error as e: + msg = "Truncated BLP file" + raise OSError(msg) from e + return -1, 0 + + @abc.abstractmethod + def _load(self) -> None: + pass + + def _read_blp_header(self) -> None: + assert self.fd is not None + self.fd.seek(4) + (self._blp_compression,) = struct.unpack(" bytes: + assert self.fd is not None + return ImageFile._safe_read(self.fd, length) + + def _read_palette(self) -> list[tuple[int, int, int, int]]: + ret = [] + for i in range(256): + try: + b, g, r, a = struct.unpack("<4B", self._safe_read(4)) + except struct.error: + break + ret.append((b, g, r, a)) + return ret + + def _read_bgra(self, palette: list[tuple[int, int, int, int]]) -> bytearray: + data = bytearray() + _data = BytesIO(self._safe_read(self._blp_lengths[0])) + while True: + try: + (offset,) = struct.unpack(" None: + if self._blp_compression == Format.JPEG: + self._decode_jpeg_stream() + + elif self._blp_compression == 1: + if self._blp_encoding in (4, 5): + palette = self._read_palette() + data = self._read_bgra(palette) + self.set_as_raw(data) + else: + msg = f"Unsupported BLP encoding {repr(self._blp_encoding)}" + raise BLPFormatError(msg) + else: + msg = f"Unsupported BLP compression {repr(self._blp_encoding)}" + raise BLPFormatError(msg) + + def _decode_jpeg_stream(self) -> None: + from .JpegImagePlugin import JpegImageFile + + (jpeg_header_size,) = struct.unpack(" None: + palette = self._read_palette() + + assert self.fd is not None + self.fd.seek(self._blp_offsets[0]) + + if self._blp_compression == 1: + # Uncompressed or DirectX compression + + if self._blp_encoding == Encoding.UNCOMPRESSED: + data = self._read_bgra(palette) + + elif self._blp_encoding == Encoding.DXT: + data = bytearray() + if self._blp_alpha_encoding == AlphaEncoding.DXT1: + linesize = (self.size[0] + 3) // 4 * 8 + for yb in range((self.size[1] + 3) // 4): + for d in decode_dxt1( + self._safe_read(linesize), alpha=bool(self._blp_alpha_depth) + ): + data += d + + elif self._blp_alpha_encoding == AlphaEncoding.DXT3: + linesize = (self.size[0] + 3) // 4 * 16 + for yb in range((self.size[1] + 3) // 4): + for d in decode_dxt3(self._safe_read(linesize)): + data += d + + elif self._blp_alpha_encoding == AlphaEncoding.DXT5: + linesize = (self.size[0] + 3) // 4 * 16 + for yb in range((self.size[1] + 3) // 4): + for d in decode_dxt5(self._safe_read(linesize)): + data += d + else: + msg = f"Unsupported alpha encoding {repr(self._blp_alpha_encoding)}" + raise BLPFormatError(msg) + else: + msg = f"Unknown BLP encoding {repr(self._blp_encoding)}" + raise BLPFormatError(msg) + + else: + msg = f"Unknown BLP compression {repr(self._blp_compression)}" + raise BLPFormatError(msg) + + self.set_as_raw(data) + + +class BLPEncoder(ImageFile.PyEncoder): + _pushes_fd = True + + def _write_palette(self) -> bytes: + data = b"" + assert self.im is not None + palette = self.im.getpalette("RGBA", "RGBA") + for i in range(len(palette) // 4): + r, g, b, a = palette[i * 4 : (i + 1) * 4] + data += struct.pack("<4B", b, g, r, a) + while len(data) < 256 * 4: + data += b"\x00" * 4 + return data + + def encode(self, bufsize: int) -> tuple[int, int, bytes]: + palette_data = self._write_palette() + + offset = 20 + 16 * 4 * 2 + len(palette_data) + data = struct.pack("<16I", offset, *((0,) * 15)) + + assert self.im is not None + w, h = self.im.size + data += struct.pack("<16I", w * h, *((0,) * 15)) + + data += palette_data + + for y in range(h): + for x in range(w): + data += struct.pack(" None: + if im.mode != "P": + msg = "Unsupported BLP image mode" + raise ValueError(msg) + + magic = b"BLP1" if im.encoderinfo.get("blp_version") == "BLP1" else b"BLP2" + fp.write(magic) + + assert im.palette is not None + fp.write(struct.pack(" mode, rawmode + 1: ("P", "P;1"), + 4: ("P", "P;4"), + 8: ("P", "P"), + 16: ("RGB", "BGR;15"), + 24: ("RGB", "BGR"), + 32: ("RGB", "BGRX"), +} + + +def _accept(prefix: bytes) -> bool: + return prefix[:2] == b"BM" + + +def _dib_accept(prefix: bytes) -> bool: + return i32(prefix) in [12, 40, 52, 56, 64, 108, 124] + + +# ============================================================================= +# Image plugin for the Windows BMP format. +# ============================================================================= +class BmpImageFile(ImageFile.ImageFile): + """Image plugin for the Windows Bitmap format (BMP)""" + + # ------------------------------------------------------------- Description + format_description = "Windows Bitmap" + format = "BMP" + + # -------------------------------------------------- BMP Compression values + COMPRESSIONS = {"RAW": 0, "RLE8": 1, "RLE4": 2, "BITFIELDS": 3, "JPEG": 4, "PNG": 5} + for k, v in COMPRESSIONS.items(): + vars()[k] = v + + def _bitmap(self, header: int = 0, offset: int = 0) -> None: + """Read relevant info about the BMP""" + read, seek = self.fp.read, self.fp.seek + if header: + seek(header) + # read bmp header size @offset 14 (this is part of the header size) + file_info: dict[str, bool | int | tuple[int, ...]] = { + "header_size": i32(read(4)), + "direction": -1, + } + + # -------------------- If requested, read header at a specific position + # read the rest of the bmp header, without its size + assert isinstance(file_info["header_size"], int) + header_data = ImageFile._safe_read(self.fp, file_info["header_size"] - 4) + + # ------------------------------- Windows Bitmap v2, IBM OS/2 Bitmap v1 + # ----- This format has different offsets because of width/height types + # 12: BITMAPCOREHEADER/OS21XBITMAPHEADER + if file_info["header_size"] == 12: + file_info["width"] = i16(header_data, 0) + file_info["height"] = i16(header_data, 2) + file_info["planes"] = i16(header_data, 4) + file_info["bits"] = i16(header_data, 6) + file_info["compression"] = self.COMPRESSIONS["RAW"] + file_info["palette_padding"] = 3 + + # --------------------------------------------- Windows Bitmap v3 to v5 + # 40: BITMAPINFOHEADER + # 52: BITMAPV2HEADER + # 56: BITMAPV3HEADER + # 64: BITMAPCOREHEADER2/OS22XBITMAPHEADER + # 108: BITMAPV4HEADER + # 124: BITMAPV5HEADER + elif file_info["header_size"] in (40, 52, 56, 64, 108, 124): + file_info["y_flip"] = header_data[7] == 0xFF + file_info["direction"] = 1 if file_info["y_flip"] else -1 + file_info["width"] = i32(header_data, 0) + file_info["height"] = ( + i32(header_data, 4) + if not file_info["y_flip"] + else 2**32 - i32(header_data, 4) + ) + file_info["planes"] = i16(header_data, 8) + file_info["bits"] = i16(header_data, 10) + file_info["compression"] = i32(header_data, 12) + # byte size of pixel data + file_info["data_size"] = i32(header_data, 16) + file_info["pixels_per_meter"] = ( + i32(header_data, 20), + i32(header_data, 24), + ) + file_info["colors"] = i32(header_data, 28) + file_info["palette_padding"] = 4 + assert isinstance(file_info["pixels_per_meter"], tuple) + self.info["dpi"] = tuple(x / 39.3701 for x in file_info["pixels_per_meter"]) + if file_info["compression"] == self.COMPRESSIONS["BITFIELDS"]: + masks = ["r_mask", "g_mask", "b_mask"] + if len(header_data) >= 48: + if len(header_data) >= 52: + masks.append("a_mask") + else: + file_info["a_mask"] = 0x0 + for idx, mask in enumerate(masks): + file_info[mask] = i32(header_data, 36 + idx * 4) + else: + # 40 byte headers only have the three components in the + # bitfields masks, ref: + # https://msdn.microsoft.com/en-us/library/windows/desktop/dd183376(v=vs.85).aspx + # See also + # https://github.com/python-pillow/Pillow/issues/1293 + # There is a 4th component in the RGBQuad, in the alpha + # location, but it is listed as a reserved component, + # and it is not generally an alpha channel + file_info["a_mask"] = 0x0 + for mask in masks: + file_info[mask] = i32(read(4)) + assert isinstance(file_info["r_mask"], int) + assert isinstance(file_info["g_mask"], int) + assert isinstance(file_info["b_mask"], int) + assert isinstance(file_info["a_mask"], int) + file_info["rgb_mask"] = ( + file_info["r_mask"], + file_info["g_mask"], + file_info["b_mask"], + ) + file_info["rgba_mask"] = ( + file_info["r_mask"], + file_info["g_mask"], + file_info["b_mask"], + file_info["a_mask"], + ) + else: + msg = f"Unsupported BMP header type ({file_info['header_size']})" + raise OSError(msg) + + # ------------------ Special case : header is reported 40, which + # ---------------------- is shorter than real size for bpp >= 16 + assert isinstance(file_info["width"], int) + assert isinstance(file_info["height"], int) + self._size = file_info["width"], file_info["height"] + + # ------- If color count was not found in the header, compute from bits + assert isinstance(file_info["bits"], int) + file_info["colors"] = ( + file_info["colors"] + if file_info.get("colors", 0) + else (1 << file_info["bits"]) + ) + assert isinstance(file_info["colors"], int) + if offset == 14 + file_info["header_size"] and file_info["bits"] <= 8: + offset += 4 * file_info["colors"] + + # ---------------------- Check bit depth for unusual unsupported values + self._mode, raw_mode = BIT2MODE.get(file_info["bits"], ("", "")) + if not self.mode: + msg = f"Unsupported BMP pixel depth ({file_info['bits']})" + raise OSError(msg) + + # ---------------- Process BMP with Bitfields compression (not palette) + decoder_name = "raw" + if file_info["compression"] == self.COMPRESSIONS["BITFIELDS"]: + SUPPORTED: dict[int, list[tuple[int, ...]]] = { + 32: [ + (0xFF0000, 0xFF00, 0xFF, 0x0), + (0xFF000000, 0xFF0000, 0xFF00, 0x0), + (0xFF000000, 0xFF00, 0xFF, 0x0), + (0xFF000000, 0xFF0000, 0xFF00, 0xFF), + (0xFF, 0xFF00, 0xFF0000, 0xFF000000), + (0xFF0000, 0xFF00, 0xFF, 0xFF000000), + (0xFF000000, 0xFF00, 0xFF, 0xFF0000), + (0x0, 0x0, 0x0, 0x0), + ], + 24: [(0xFF0000, 0xFF00, 0xFF)], + 16: [(0xF800, 0x7E0, 0x1F), (0x7C00, 0x3E0, 0x1F)], + } + MASK_MODES = { + (32, (0xFF0000, 0xFF00, 0xFF, 0x0)): "BGRX", + (32, (0xFF000000, 0xFF0000, 0xFF00, 0x0)): "XBGR", + (32, (0xFF000000, 0xFF00, 0xFF, 0x0)): "BGXR", + (32, (0xFF000000, 0xFF0000, 0xFF00, 0xFF)): "ABGR", + (32, (0xFF, 0xFF00, 0xFF0000, 0xFF000000)): "RGBA", + (32, (0xFF0000, 0xFF00, 0xFF, 0xFF000000)): "BGRA", + (32, (0xFF000000, 0xFF00, 0xFF, 0xFF0000)): "BGAR", + (32, (0x0, 0x0, 0x0, 0x0)): "BGRA", + (24, (0xFF0000, 0xFF00, 0xFF)): "BGR", + (16, (0xF800, 0x7E0, 0x1F)): "BGR;16", + (16, (0x7C00, 0x3E0, 0x1F)): "BGR;15", + } + if file_info["bits"] in SUPPORTED: + if ( + file_info["bits"] == 32 + and file_info["rgba_mask"] in SUPPORTED[file_info["bits"]] + ): + assert isinstance(file_info["rgba_mask"], tuple) + raw_mode = MASK_MODES[(file_info["bits"], file_info["rgba_mask"])] + self._mode = "RGBA" if "A" in raw_mode else self.mode + elif ( + file_info["bits"] in (24, 16) + and file_info["rgb_mask"] in SUPPORTED[file_info["bits"]] + ): + assert isinstance(file_info["rgb_mask"], tuple) + raw_mode = MASK_MODES[(file_info["bits"], file_info["rgb_mask"])] + else: + msg = "Unsupported BMP bitfields layout" + raise OSError(msg) + else: + msg = "Unsupported BMP bitfields layout" + raise OSError(msg) + elif file_info["compression"] == self.COMPRESSIONS["RAW"]: + if file_info["bits"] == 32 and header == 22: # 32-bit .cur offset + raw_mode, self._mode = "BGRA", "RGBA" + elif file_info["compression"] in ( + self.COMPRESSIONS["RLE8"], + self.COMPRESSIONS["RLE4"], + ): + decoder_name = "bmp_rle" + else: + msg = f"Unsupported BMP compression ({file_info['compression']})" + raise OSError(msg) + + # --------------- Once the header is processed, process the palette/LUT + if self.mode == "P": # Paletted for 1, 4 and 8 bit images + # ---------------------------------------------------- 1-bit images + if not (0 < file_info["colors"] <= 65536): + msg = f"Unsupported BMP Palette size ({file_info['colors']})" + raise OSError(msg) + else: + assert isinstance(file_info["palette_padding"], int) + padding = file_info["palette_padding"] + palette = read(padding * file_info["colors"]) + grayscale = True + indices = ( + (0, 255) + if file_info["colors"] == 2 + else list(range(file_info["colors"])) + ) + + # ----------------- Check if grayscale and ignore palette if so + for ind, val in enumerate(indices): + rgb = palette[ind * padding : ind * padding + 3] + if rgb != o8(val) * 3: + grayscale = False + + # ------- If all colors are gray, white or black, ditch palette + if grayscale: + self._mode = "1" if file_info["colors"] == 2 else "L" + raw_mode = self.mode + else: + self._mode = "P" + self.palette = ImagePalette.raw( + "BGRX" if padding == 4 else "BGR", palette + ) + + # ---------------------------- Finally set the tile data for the plugin + self.info["compression"] = file_info["compression"] + args: list[Any] = [raw_mode] + if decoder_name == "bmp_rle": + args.append(file_info["compression"] == self.COMPRESSIONS["RLE4"]) + else: + assert isinstance(file_info["width"], int) + args.append(((file_info["width"] * file_info["bits"] + 31) >> 3) & (~3)) + args.append(file_info["direction"]) + self.tile = [ + ImageFile._Tile( + decoder_name, + (0, 0, file_info["width"], file_info["height"]), + offset or self.fp.tell(), + tuple(args), + ) + ] + + def _open(self) -> None: + """Open file, check magic number and read header""" + # read 14 bytes: magic number, filesize, reserved, header final offset + head_data = self.fp.read(14) + # choke if the file does not have the required magic bytes + if not _accept(head_data): + msg = "Not a BMP file" + raise SyntaxError(msg) + # read the start position of the BMP image data (u32) + offset = i32(head_data, 10) + # load bitmap information (offset=raster info) + self._bitmap(offset=offset) + + +class BmpRleDecoder(ImageFile.PyDecoder): + _pulls_fd = True + + def decode(self, buffer: bytes | Image.SupportsArrayInterface) -> tuple[int, int]: + assert self.fd is not None + rle4 = self.args[1] + data = bytearray() + x = 0 + dest_length = self.state.xsize * self.state.ysize + while len(data) < dest_length: + pixels = self.fd.read(1) + byte = self.fd.read(1) + if not pixels or not byte: + break + num_pixels = pixels[0] + if num_pixels: + # encoded mode + if x + num_pixels > self.state.xsize: + # Too much data for row + num_pixels = max(0, self.state.xsize - x) + if rle4: + first_pixel = o8(byte[0] >> 4) + second_pixel = o8(byte[0] & 0x0F) + for index in range(num_pixels): + if index % 2 == 0: + data += first_pixel + else: + data += second_pixel + else: + data += byte * num_pixels + x += num_pixels + else: + if byte[0] == 0: + # end of line + while len(data) % self.state.xsize != 0: + data += b"\x00" + x = 0 + elif byte[0] == 1: + # end of bitmap + break + elif byte[0] == 2: + # delta + bytes_read = self.fd.read(2) + if len(bytes_read) < 2: + break + right, up = self.fd.read(2) + data += b"\x00" * (right + up * self.state.xsize) + x = len(data) % self.state.xsize + else: + # absolute mode + if rle4: + # 2 pixels per byte + byte_count = byte[0] // 2 + bytes_read = self.fd.read(byte_count) + for byte_read in bytes_read: + data += o8(byte_read >> 4) + data += o8(byte_read & 0x0F) + else: + byte_count = byte[0] + bytes_read = self.fd.read(byte_count) + data += bytes_read + if len(bytes_read) < byte_count: + break + x += byte[0] + + # align to 16-bit word boundary + if self.fd.tell() % 2 != 0: + self.fd.seek(1, os.SEEK_CUR) + rawmode = "L" if self.mode == "L" else "P" + self.set_as_raw(bytes(data), rawmode, (0, self.args[-1])) + return -1, 0 + + +# ============================================================================= +# Image plugin for the DIB format (BMP alias) +# ============================================================================= +class DibImageFile(BmpImageFile): + format = "DIB" + format_description = "Windows Bitmap" + + def _open(self) -> None: + self._bitmap() + + +# +# -------------------------------------------------------------------- +# Write BMP file + + +SAVE = { + "1": ("1", 1, 2), + "L": ("L", 8, 256), + "P": ("P", 8, 256), + "RGB": ("BGR", 24, 0), + "RGBA": ("BGRA", 32, 0), +} + + +def _dib_save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + _save(im, fp, filename, False) + + +def _save( + im: Image.Image, fp: IO[bytes], filename: str | bytes, bitmap_header: bool = True +) -> None: + try: + rawmode, bits, colors = SAVE[im.mode] + except KeyError as e: + msg = f"cannot write mode {im.mode} as BMP" + raise OSError(msg) from e + + info = im.encoderinfo + + dpi = info.get("dpi", (96, 96)) + + # 1 meter == 39.3701 inches + ppm = tuple(int(x * 39.3701 + 0.5) for x in dpi) + + stride = ((im.size[0] * bits + 7) // 8 + 3) & (~3) + header = 40 # or 64 for OS/2 version 2 + image = stride * im.size[1] + + if im.mode == "1": + palette = b"".join(o8(i) * 4 for i in (0, 255)) + elif im.mode == "L": + palette = b"".join(o8(i) * 4 for i in range(256)) + elif im.mode == "P": + palette = im.im.getpalette("RGB", "BGRX") + colors = len(palette) // 4 + else: + palette = None + + # bitmap header + if bitmap_header: + offset = 14 + header + colors * 4 + file_size = offset + image + if file_size > 2**32 - 1: + msg = "File size is too large for the BMP format" + raise ValueError(msg) + fp.write( + b"BM" # file type (magic) + + o32(file_size) # file size + + o32(0) # reserved + + o32(offset) # image data offset + ) + + # bitmap info header + fp.write( + o32(header) # info header size + + o32(im.size[0]) # width + + o32(im.size[1]) # height + + o16(1) # planes + + o16(bits) # depth + + o32(0) # compression (0=uncompressed) + + o32(image) # size of bitmap + + o32(ppm[0]) # resolution + + o32(ppm[1]) # resolution + + o32(colors) # colors used + + o32(colors) # colors important + ) + + fp.write(b"\0" * (header - 40)) # padding (for OS/2 format) + + if palette: + fp.write(palette) + + ImageFile._save( + im, fp, [ImageFile._Tile("raw", (0, 0) + im.size, 0, (rawmode, stride, -1))] + ) + + +# +# -------------------------------------------------------------------- +# Registry + + +Image.register_open(BmpImageFile.format, BmpImageFile, _accept) +Image.register_save(BmpImageFile.format, _save) + +Image.register_extension(BmpImageFile.format, ".bmp") + +Image.register_mime(BmpImageFile.format, "image/bmp") + +Image.register_decoder("bmp_rle", BmpRleDecoder) + +Image.register_open(DibImageFile.format, DibImageFile, _dib_accept) +Image.register_save(DibImageFile.format, _dib_save) + +Image.register_extension(DibImageFile.format, ".dib") + +Image.register_mime(DibImageFile.format, "image/bmp") diff --git a/gestao_raul/Lib/site-packages/PIL/BufrStubImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/BufrStubImagePlugin.py new file mode 100644 index 0000000..0ee2f65 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/BufrStubImagePlugin.py @@ -0,0 +1,76 @@ +# +# The Python Imaging Library +# $Id$ +# +# BUFR stub adapter +# +# Copyright (c) 1996-2003 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from typing import IO + +from . import Image, ImageFile + +_handler = None + + +def register_handler(handler: ImageFile.StubHandler | None) -> None: + """ + Install application-specific BUFR image handler. + + :param handler: Handler object. + """ + global _handler + _handler = handler + + +# -------------------------------------------------------------------- +# Image adapter + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] == b"BUFR" or prefix[:4] == b"ZCZC" + + +class BufrStubImageFile(ImageFile.StubImageFile): + format = "BUFR" + format_description = "BUFR" + + def _open(self) -> None: + offset = self.fp.tell() + + if not _accept(self.fp.read(4)): + msg = "Not a BUFR file" + raise SyntaxError(msg) + + self.fp.seek(offset) + + # make something up + self._mode = "F" + self._size = 1, 1 + + loader = self._load() + if loader: + loader.open(self) + + def _load(self) -> ImageFile.StubHandler | None: + return _handler + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if _handler is None or not hasattr(_handler, "save"): + msg = "BUFR save handler not installed" + raise OSError(msg) + _handler.save(im, fp, filename) + + +# -------------------------------------------------------------------- +# Registry + +Image.register_open(BufrStubImageFile.format, BufrStubImageFile, _accept) +Image.register_save(BufrStubImageFile.format, _save) + +Image.register_extension(BufrStubImageFile.format, ".bufr") diff --git a/gestao_raul/Lib/site-packages/PIL/ContainerIO.py b/gestao_raul/Lib/site-packages/PIL/ContainerIO.py new file mode 100644 index 0000000..ec9e66c --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/ContainerIO.py @@ -0,0 +1,173 @@ +# +# The Python Imaging Library. +# $Id$ +# +# a class to read from a container file +# +# History: +# 1995-06-18 fl Created +# 1995-09-07 fl Added readline(), readlines() +# +# Copyright (c) 1997-2001 by Secret Labs AB +# Copyright (c) 1995 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io +from collections.abc import Iterable +from typing import IO, AnyStr, NoReturn + + +class ContainerIO(IO[AnyStr]): + """ + A file object that provides read access to a part of an existing + file (for example a TAR file). + """ + + def __init__(self, file: IO[AnyStr], offset: int, length: int) -> None: + """ + Create file object. + + :param file: Existing file. + :param offset: Start of region, in bytes. + :param length: Size of region, in bytes. + """ + self.fh: IO[AnyStr] = file + self.pos = 0 + self.offset = offset + self.length = length + self.fh.seek(offset) + + ## + # Always false. + + def isatty(self) -> bool: + return False + + def seekable(self) -> bool: + return True + + def seek(self, offset: int, mode: int = io.SEEK_SET) -> int: + """ + Move file pointer. + + :param offset: Offset in bytes. + :param mode: Starting position. Use 0 for beginning of region, 1 + for current offset, and 2 for end of region. You cannot move + the pointer outside the defined region. + :returns: Offset from start of region, in bytes. + """ + if mode == 1: + self.pos = self.pos + offset + elif mode == 2: + self.pos = self.length + offset + else: + self.pos = offset + # clamp + self.pos = max(0, min(self.pos, self.length)) + self.fh.seek(self.offset + self.pos) + return self.pos + + def tell(self) -> int: + """ + Get current file pointer. + + :returns: Offset from start of region, in bytes. + """ + return self.pos + + def readable(self) -> bool: + return True + + def read(self, n: int = -1) -> AnyStr: + """ + Read data. + + :param n: Number of bytes to read. If omitted, zero or negative, + read until end of region. + :returns: An 8-bit string. + """ + if n > 0: + n = min(n, self.length - self.pos) + else: + n = self.length - self.pos + if n <= 0: # EOF + return b"" if "b" in self.fh.mode else "" # type: ignore[return-value] + self.pos = self.pos + n + return self.fh.read(n) + + def readline(self, n: int = -1) -> AnyStr: + """ + Read a line of text. + + :param n: Number of bytes to read. If omitted, zero or negative, + read until end of line. + :returns: An 8-bit string. + """ + s: AnyStr = b"" if "b" in self.fh.mode else "" # type: ignore[assignment] + newline_character = b"\n" if "b" in self.fh.mode else "\n" + while True: + c = self.read(1) + if not c: + break + s = s + c + if c == newline_character or len(s) == n: + break + return s + + def readlines(self, n: int | None = -1) -> list[AnyStr]: + """ + Read multiple lines of text. + + :param n: Number of lines to read. If omitted, zero, negative or None, + read until end of region. + :returns: A list of 8-bit strings. + """ + lines = [] + while True: + s = self.readline() + if not s: + break + lines.append(s) + if len(lines) == n: + break + return lines + + def writable(self) -> bool: + return False + + def write(self, b: AnyStr) -> NoReturn: + raise NotImplementedError() + + def writelines(self, lines: Iterable[AnyStr]) -> NoReturn: + raise NotImplementedError() + + def truncate(self, size: int | None = None) -> int: + raise NotImplementedError() + + def __enter__(self) -> ContainerIO[AnyStr]: + return self + + def __exit__(self, *args: object) -> None: + self.close() + + def __iter__(self) -> ContainerIO[AnyStr]: + return self + + def __next__(self) -> AnyStr: + line = self.readline() + if not line: + msg = "end of region" + raise StopIteration(msg) + return line + + def fileno(self) -> int: + return self.fh.fileno() + + def flush(self) -> None: + self.fh.flush() + + def close(self) -> None: + self.fh.close() diff --git a/gestao_raul/Lib/site-packages/PIL/CurImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/CurImagePlugin.py new file mode 100644 index 0000000..c4be0ce --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/CurImagePlugin.py @@ -0,0 +1,75 @@ +# +# The Python Imaging Library. +# $Id$ +# +# Windows Cursor support for PIL +# +# notes: +# uses BmpImagePlugin.py to read the bitmap data. +# +# history: +# 96-05-27 fl Created +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1996. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from . import BmpImagePlugin, Image, ImageFile +from ._binary import i16le as i16 +from ._binary import i32le as i32 + +# +# -------------------------------------------------------------------- + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] == b"\0\0\2\0" + + +## +# Image plugin for Windows Cursor files. + + +class CurImageFile(BmpImagePlugin.BmpImageFile): + format = "CUR" + format_description = "Windows Cursor" + + def _open(self) -> None: + offset = self.fp.tell() + + # check magic + s = self.fp.read(6) + if not _accept(s): + msg = "not a CUR file" + raise SyntaxError(msg) + + # pick the largest cursor in the file + m = b"" + for i in range(i16(s, 4)): + s = self.fp.read(16) + if not m: + m = s + elif s[0] > m[0] and s[1] > m[1]: + m = s + if not m: + msg = "No cursors were found" + raise TypeError(msg) + + # load as bitmap + self._bitmap(i32(m, 12) + offset) + + # patch up the bitmap height + self._size = self.size[0], self.size[1] // 2 + d, e, o, a = self.tile[0] + self.tile[0] = ImageFile._Tile(d, (0, 0) + self.size, o, a) + + +# +# -------------------------------------------------------------------- + +Image.register_open(CurImageFile.format, CurImageFile, _accept) + +Image.register_extension(CurImageFile.format, ".cur") diff --git a/gestao_raul/Lib/site-packages/PIL/DcxImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/DcxImagePlugin.py new file mode 100644 index 0000000..f67f27d --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/DcxImagePlugin.py @@ -0,0 +1,80 @@ +# +# The Python Imaging Library. +# $Id$ +# +# DCX file handling +# +# DCX is a container file format defined by Intel, commonly used +# for fax applications. Each DCX file consists of a directory +# (a list of file offsets) followed by a set of (usually 1-bit) +# PCX files. +# +# History: +# 1995-09-09 fl Created +# 1996-03-20 fl Properly derived from PcxImageFile. +# 1998-07-15 fl Renamed offset attribute to avoid name clash +# 2002-07-30 fl Fixed file handling +# +# Copyright (c) 1997-98 by Secret Labs AB. +# Copyright (c) 1995-96 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from . import Image +from ._binary import i32le as i32 +from .PcxImagePlugin import PcxImageFile + +MAGIC = 0x3ADE68B1 # QUIZ: what's this value, then? + + +def _accept(prefix: bytes) -> bool: + return len(prefix) >= 4 and i32(prefix) == MAGIC + + +## +# Image plugin for the Intel DCX format. + + +class DcxImageFile(PcxImageFile): + format = "DCX" + format_description = "Intel DCX" + _close_exclusive_fp_after_loading = False + + def _open(self) -> None: + # Header + s = self.fp.read(4) + if not _accept(s): + msg = "not a DCX file" + raise SyntaxError(msg) + + # Component directory + self._offset = [] + for i in range(1024): + offset = i32(self.fp.read(4)) + if not offset: + break + self._offset.append(offset) + + self._fp = self.fp + self.frame = -1 + self.n_frames = len(self._offset) + self.is_animated = self.n_frames > 1 + self.seek(0) + + def seek(self, frame: int) -> None: + if not self._seek_check(frame): + return + self.frame = frame + self.fp = self._fp + self.fp.seek(self._offset[frame]) + PcxImageFile._open(self) + + def tell(self) -> int: + return self.frame + + +Image.register_open(DcxImageFile.format, DcxImageFile, _accept) + +Image.register_extension(DcxImageFile.format, ".dcx") diff --git a/gestao_raul/Lib/site-packages/PIL/DdsImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/DdsImagePlugin.py new file mode 100644 index 0000000..1b64082 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/DdsImagePlugin.py @@ -0,0 +1,575 @@ +""" +A Pillow loader for .dds files (S3TC-compressed aka DXTC) +Jerome Leclanche + +Documentation: +https://web.archive.org/web/20170802060935/http://oss.sgi.com/projects/ogl-sample/registry/EXT/texture_compression_s3tc.txt + +The contents of this file are hereby released in the public domain (CC0) +Full text of the CC0 license: +https://creativecommons.org/publicdomain/zero/1.0/ +""" + +from __future__ import annotations + +import io +import struct +import sys +from enum import IntEnum, IntFlag +from typing import IO + +from . import Image, ImageFile, ImagePalette +from ._binary import i32le as i32 +from ._binary import o8 +from ._binary import o32le as o32 + +# Magic ("DDS ") +DDS_MAGIC = 0x20534444 + + +# DDS flags +class DDSD(IntFlag): + CAPS = 0x1 + HEIGHT = 0x2 + WIDTH = 0x4 + PITCH = 0x8 + PIXELFORMAT = 0x1000 + MIPMAPCOUNT = 0x20000 + LINEARSIZE = 0x80000 + DEPTH = 0x800000 + + +# DDS caps +class DDSCAPS(IntFlag): + COMPLEX = 0x8 + TEXTURE = 0x1000 + MIPMAP = 0x400000 + + +class DDSCAPS2(IntFlag): + CUBEMAP = 0x200 + CUBEMAP_POSITIVEX = 0x400 + CUBEMAP_NEGATIVEX = 0x800 + CUBEMAP_POSITIVEY = 0x1000 + CUBEMAP_NEGATIVEY = 0x2000 + CUBEMAP_POSITIVEZ = 0x4000 + CUBEMAP_NEGATIVEZ = 0x8000 + VOLUME = 0x200000 + + +# Pixel Format +class DDPF(IntFlag): + ALPHAPIXELS = 0x1 + ALPHA = 0x2 + FOURCC = 0x4 + PALETTEINDEXED8 = 0x20 + RGB = 0x40 + LUMINANCE = 0x20000 + + +# dxgiformat.h +class DXGI_FORMAT(IntEnum): + UNKNOWN = 0 + R32G32B32A32_TYPELESS = 1 + R32G32B32A32_FLOAT = 2 + R32G32B32A32_UINT = 3 + R32G32B32A32_SINT = 4 + R32G32B32_TYPELESS = 5 + R32G32B32_FLOAT = 6 + R32G32B32_UINT = 7 + R32G32B32_SINT = 8 + R16G16B16A16_TYPELESS = 9 + R16G16B16A16_FLOAT = 10 + R16G16B16A16_UNORM = 11 + R16G16B16A16_UINT = 12 + R16G16B16A16_SNORM = 13 + R16G16B16A16_SINT = 14 + R32G32_TYPELESS = 15 + R32G32_FLOAT = 16 + R32G32_UINT = 17 + R32G32_SINT = 18 + R32G8X24_TYPELESS = 19 + D32_FLOAT_S8X24_UINT = 20 + R32_FLOAT_X8X24_TYPELESS = 21 + X32_TYPELESS_G8X24_UINT = 22 + R10G10B10A2_TYPELESS = 23 + R10G10B10A2_UNORM = 24 + R10G10B10A2_UINT = 25 + R11G11B10_FLOAT = 26 + R8G8B8A8_TYPELESS = 27 + R8G8B8A8_UNORM = 28 + R8G8B8A8_UNORM_SRGB = 29 + R8G8B8A8_UINT = 30 + R8G8B8A8_SNORM = 31 + R8G8B8A8_SINT = 32 + R16G16_TYPELESS = 33 + R16G16_FLOAT = 34 + R16G16_UNORM = 35 + R16G16_UINT = 36 + R16G16_SNORM = 37 + R16G16_SINT = 38 + R32_TYPELESS = 39 + D32_FLOAT = 40 + R32_FLOAT = 41 + R32_UINT = 42 + R32_SINT = 43 + R24G8_TYPELESS = 44 + D24_UNORM_S8_UINT = 45 + R24_UNORM_X8_TYPELESS = 46 + X24_TYPELESS_G8_UINT = 47 + R8G8_TYPELESS = 48 + R8G8_UNORM = 49 + R8G8_UINT = 50 + R8G8_SNORM = 51 + R8G8_SINT = 52 + R16_TYPELESS = 53 + R16_FLOAT = 54 + D16_UNORM = 55 + R16_UNORM = 56 + R16_UINT = 57 + R16_SNORM = 58 + R16_SINT = 59 + R8_TYPELESS = 60 + R8_UNORM = 61 + R8_UINT = 62 + R8_SNORM = 63 + R8_SINT = 64 + A8_UNORM = 65 + R1_UNORM = 66 + R9G9B9E5_SHAREDEXP = 67 + R8G8_B8G8_UNORM = 68 + G8R8_G8B8_UNORM = 69 + BC1_TYPELESS = 70 + BC1_UNORM = 71 + BC1_UNORM_SRGB = 72 + BC2_TYPELESS = 73 + BC2_UNORM = 74 + BC2_UNORM_SRGB = 75 + BC3_TYPELESS = 76 + BC3_UNORM = 77 + BC3_UNORM_SRGB = 78 + BC4_TYPELESS = 79 + BC4_UNORM = 80 + BC4_SNORM = 81 + BC5_TYPELESS = 82 + BC5_UNORM = 83 + BC5_SNORM = 84 + B5G6R5_UNORM = 85 + B5G5R5A1_UNORM = 86 + B8G8R8A8_UNORM = 87 + B8G8R8X8_UNORM = 88 + R10G10B10_XR_BIAS_A2_UNORM = 89 + B8G8R8A8_TYPELESS = 90 + B8G8R8A8_UNORM_SRGB = 91 + B8G8R8X8_TYPELESS = 92 + B8G8R8X8_UNORM_SRGB = 93 + BC6H_TYPELESS = 94 + BC6H_UF16 = 95 + BC6H_SF16 = 96 + BC7_TYPELESS = 97 + BC7_UNORM = 98 + BC7_UNORM_SRGB = 99 + AYUV = 100 + Y410 = 101 + Y416 = 102 + NV12 = 103 + P010 = 104 + P016 = 105 + OPAQUE_420 = 106 + YUY2 = 107 + Y210 = 108 + Y216 = 109 + NV11 = 110 + AI44 = 111 + IA44 = 112 + P8 = 113 + A8P8 = 114 + B4G4R4A4_UNORM = 115 + P208 = 130 + V208 = 131 + V408 = 132 + SAMPLER_FEEDBACK_MIN_MIP_OPAQUE = 189 + SAMPLER_FEEDBACK_MIP_REGION_USED_OPAQUE = 190 + + +class D3DFMT(IntEnum): + UNKNOWN = 0 + R8G8B8 = 20 + A8R8G8B8 = 21 + X8R8G8B8 = 22 + R5G6B5 = 23 + X1R5G5B5 = 24 + A1R5G5B5 = 25 + A4R4G4B4 = 26 + R3G3B2 = 27 + A8 = 28 + A8R3G3B2 = 29 + X4R4G4B4 = 30 + A2B10G10R10 = 31 + A8B8G8R8 = 32 + X8B8G8R8 = 33 + G16R16 = 34 + A2R10G10B10 = 35 + A16B16G16R16 = 36 + A8P8 = 40 + P8 = 41 + L8 = 50 + A8L8 = 51 + A4L4 = 52 + V8U8 = 60 + L6V5U5 = 61 + X8L8V8U8 = 62 + Q8W8V8U8 = 63 + V16U16 = 64 + A2W10V10U10 = 67 + D16_LOCKABLE = 70 + D32 = 71 + D15S1 = 73 + D24S8 = 75 + D24X8 = 77 + D24X4S4 = 79 + D16 = 80 + D32F_LOCKABLE = 82 + D24FS8 = 83 + D32_LOCKABLE = 84 + S8_LOCKABLE = 85 + L16 = 81 + VERTEXDATA = 100 + INDEX16 = 101 + INDEX32 = 102 + Q16W16V16U16 = 110 + R16F = 111 + G16R16F = 112 + A16B16G16R16F = 113 + R32F = 114 + G32R32F = 115 + A32B32G32R32F = 116 + CxV8U8 = 117 + A1 = 118 + A2B10G10R10_XR_BIAS = 119 + BINARYBUFFER = 199 + + UYVY = i32(b"UYVY") + R8G8_B8G8 = i32(b"RGBG") + YUY2 = i32(b"YUY2") + G8R8_G8B8 = i32(b"GRGB") + DXT1 = i32(b"DXT1") + DXT2 = i32(b"DXT2") + DXT3 = i32(b"DXT3") + DXT4 = i32(b"DXT4") + DXT5 = i32(b"DXT5") + DX10 = i32(b"DX10") + BC4S = i32(b"BC4S") + BC4U = i32(b"BC4U") + BC5S = i32(b"BC5S") + BC5U = i32(b"BC5U") + ATI1 = i32(b"ATI1") + ATI2 = i32(b"ATI2") + MULTI2_ARGB8 = i32(b"MET1") + + +# Backward compatibility layer +module = sys.modules[__name__] +for item in DDSD: + assert item.name is not None + setattr(module, f"DDSD_{item.name}", item.value) +for item1 in DDSCAPS: + assert item1.name is not None + setattr(module, f"DDSCAPS_{item1.name}", item1.value) +for item2 in DDSCAPS2: + assert item2.name is not None + setattr(module, f"DDSCAPS2_{item2.name}", item2.value) +for item3 in DDPF: + assert item3.name is not None + setattr(module, f"DDPF_{item3.name}", item3.value) + +DDS_FOURCC = DDPF.FOURCC +DDS_RGB = DDPF.RGB +DDS_RGBA = DDPF.RGB | DDPF.ALPHAPIXELS +DDS_LUMINANCE = DDPF.LUMINANCE +DDS_LUMINANCEA = DDPF.LUMINANCE | DDPF.ALPHAPIXELS +DDS_ALPHA = DDPF.ALPHA +DDS_PAL8 = DDPF.PALETTEINDEXED8 + +DDS_HEADER_FLAGS_TEXTURE = DDSD.CAPS | DDSD.HEIGHT | DDSD.WIDTH | DDSD.PIXELFORMAT +DDS_HEADER_FLAGS_MIPMAP = DDSD.MIPMAPCOUNT +DDS_HEADER_FLAGS_VOLUME = DDSD.DEPTH +DDS_HEADER_FLAGS_PITCH = DDSD.PITCH +DDS_HEADER_FLAGS_LINEARSIZE = DDSD.LINEARSIZE + +DDS_HEIGHT = DDSD.HEIGHT +DDS_WIDTH = DDSD.WIDTH + +DDS_SURFACE_FLAGS_TEXTURE = DDSCAPS.TEXTURE +DDS_SURFACE_FLAGS_MIPMAP = DDSCAPS.COMPLEX | DDSCAPS.MIPMAP +DDS_SURFACE_FLAGS_CUBEMAP = DDSCAPS.COMPLEX + +DDS_CUBEMAP_POSITIVEX = DDSCAPS2.CUBEMAP | DDSCAPS2.CUBEMAP_POSITIVEX +DDS_CUBEMAP_NEGATIVEX = DDSCAPS2.CUBEMAP | DDSCAPS2.CUBEMAP_NEGATIVEX +DDS_CUBEMAP_POSITIVEY = DDSCAPS2.CUBEMAP | DDSCAPS2.CUBEMAP_POSITIVEY +DDS_CUBEMAP_NEGATIVEY = DDSCAPS2.CUBEMAP | DDSCAPS2.CUBEMAP_NEGATIVEY +DDS_CUBEMAP_POSITIVEZ = DDSCAPS2.CUBEMAP | DDSCAPS2.CUBEMAP_POSITIVEZ +DDS_CUBEMAP_NEGATIVEZ = DDSCAPS2.CUBEMAP | DDSCAPS2.CUBEMAP_NEGATIVEZ + +DXT1_FOURCC = D3DFMT.DXT1 +DXT3_FOURCC = D3DFMT.DXT3 +DXT5_FOURCC = D3DFMT.DXT5 + +DXGI_FORMAT_R8G8B8A8_TYPELESS = DXGI_FORMAT.R8G8B8A8_TYPELESS +DXGI_FORMAT_R8G8B8A8_UNORM = DXGI_FORMAT.R8G8B8A8_UNORM +DXGI_FORMAT_R8G8B8A8_UNORM_SRGB = DXGI_FORMAT.R8G8B8A8_UNORM_SRGB +DXGI_FORMAT_BC5_TYPELESS = DXGI_FORMAT.BC5_TYPELESS +DXGI_FORMAT_BC5_UNORM = DXGI_FORMAT.BC5_UNORM +DXGI_FORMAT_BC5_SNORM = DXGI_FORMAT.BC5_SNORM +DXGI_FORMAT_BC6H_UF16 = DXGI_FORMAT.BC6H_UF16 +DXGI_FORMAT_BC6H_SF16 = DXGI_FORMAT.BC6H_SF16 +DXGI_FORMAT_BC7_TYPELESS = DXGI_FORMAT.BC7_TYPELESS +DXGI_FORMAT_BC7_UNORM = DXGI_FORMAT.BC7_UNORM +DXGI_FORMAT_BC7_UNORM_SRGB = DXGI_FORMAT.BC7_UNORM_SRGB + + +class DdsImageFile(ImageFile.ImageFile): + format = "DDS" + format_description = "DirectDraw Surface" + + def _open(self) -> None: + if not _accept(self.fp.read(4)): + msg = "not a DDS file" + raise SyntaxError(msg) + (header_size,) = struct.unpack(" None: + pass + + +class DdsRgbDecoder(ImageFile.PyDecoder): + _pulls_fd = True + + def decode(self, buffer: bytes | Image.SupportsArrayInterface) -> tuple[int, int]: + assert self.fd is not None + bitcount, masks = self.args + + # Some masks will be padded with zeros, e.g. R 0b11 G 0b1100 + # Calculate how many zeros each mask is padded with + mask_offsets = [] + # And the maximum value of each channel without the padding + mask_totals = [] + for mask in masks: + offset = 0 + if mask != 0: + while mask >> (offset + 1) << (offset + 1) == mask: + offset += 1 + mask_offsets.append(offset) + mask_totals.append(mask >> offset) + + data = bytearray() + bytecount = bitcount // 8 + dest_length = self.state.xsize * self.state.ysize * len(masks) + while len(data) < dest_length: + value = int.from_bytes(self.fd.read(bytecount), "little") + for i, mask in enumerate(masks): + masked_value = value & mask + # Remove the zero padding, and scale it to 8 bits + data += o8( + int(((masked_value >> mask_offsets[i]) / mask_totals[i]) * 255) + ) + self.set_as_raw(data) + return -1, 0 + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if im.mode not in ("RGB", "RGBA", "L", "LA"): + msg = f"cannot write mode {im.mode} as DDS" + raise OSError(msg) + + alpha = im.mode[-1] == "A" + if im.mode[0] == "L": + pixel_flags = DDPF.LUMINANCE + rawmode = im.mode + if alpha: + rgba_mask = [0x000000FF, 0x000000FF, 0x000000FF] + else: + rgba_mask = [0xFF000000, 0xFF000000, 0xFF000000] + else: + pixel_flags = DDPF.RGB + rawmode = im.mode[::-1] + rgba_mask = [0x00FF0000, 0x0000FF00, 0x000000FF] + + if alpha: + r, g, b, a = im.split() + im = Image.merge("RGBA", (a, r, g, b)) + if alpha: + pixel_flags |= DDPF.ALPHAPIXELS + rgba_mask.append(0xFF000000 if alpha else 0) + + flags = DDSD.CAPS | DDSD.HEIGHT | DDSD.WIDTH | DDSD.PITCH | DDSD.PIXELFORMAT + bitcount = len(im.getbands()) * 8 + pitch = (im.width * bitcount + 7) // 8 + + fp.write( + o32(DDS_MAGIC) + + struct.pack( + "<7I", + 124, # header size + flags, # flags + im.height, + im.width, + pitch, + 0, # depth + 0, # mipmaps + ) + + struct.pack("11I", *((0,) * 11)) # reserved + # pfsize, pfflags, fourcc, bitcount + + struct.pack("<4I", 32, pixel_flags, 0, bitcount) + + struct.pack("<4I", *rgba_mask) # dwRGBABitMask + + struct.pack("<5I", DDSCAPS.TEXTURE, 0, 0, 0, 0) + ) + ImageFile._save( + im, fp, [ImageFile._Tile("raw", (0, 0) + im.size, 0, (rawmode, 0, 1))] + ) + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] == b"DDS " + + +Image.register_open(DdsImageFile.format, DdsImageFile, _accept) +Image.register_decoder("dds_rgb", DdsRgbDecoder) +Image.register_save(DdsImageFile.format, _save) +Image.register_extension(DdsImageFile.format, ".dds") diff --git a/gestao_raul/Lib/site-packages/PIL/EpsImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/EpsImagePlugin.py new file mode 100644 index 0000000..fb1e301 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/EpsImagePlugin.py @@ -0,0 +1,474 @@ +# +# The Python Imaging Library. +# $Id$ +# +# EPS file handling +# +# History: +# 1995-09-01 fl Created (0.1) +# 1996-05-18 fl Don't choke on "atend" fields, Ghostscript interface (0.2) +# 1996-08-22 fl Don't choke on floating point BoundingBox values +# 1996-08-23 fl Handle files from Macintosh (0.3) +# 2001-02-17 fl Use 're' instead of 'regex' (Python 2.1) (0.4) +# 2003-09-07 fl Check gs.close status (from Federico Di Gregorio) (0.5) +# 2014-05-07 e Handling of EPS with binary preview and fixed resolution +# resizing +# +# Copyright (c) 1997-2003 by Secret Labs AB. +# Copyright (c) 1995-2003 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io +import os +import re +import subprocess +import sys +import tempfile +from typing import IO + +from . import Image, ImageFile +from ._binary import i32le as i32 + +# -------------------------------------------------------------------- + + +split = re.compile(r"^%%([^:]*):[ \t]*(.*)[ \t]*$") +field = re.compile(r"^%[%!\w]([^:]*)[ \t]*$") + +gs_binary: str | bool | None = None +gs_windows_binary = None + + +def has_ghostscript() -> bool: + global gs_binary, gs_windows_binary + if gs_binary is None: + if sys.platform.startswith("win"): + if gs_windows_binary is None: + import shutil + + for binary in ("gswin32c", "gswin64c", "gs"): + if shutil.which(binary) is not None: + gs_windows_binary = binary + break + else: + gs_windows_binary = False + gs_binary = gs_windows_binary + else: + try: + subprocess.check_call(["gs", "--version"], stdout=subprocess.DEVNULL) + gs_binary = "gs" + except OSError: + gs_binary = False + return gs_binary is not False + + +def Ghostscript( + tile: list[ImageFile._Tile], + size: tuple[int, int], + fp: IO[bytes], + scale: int = 1, + transparency: bool = False, +) -> Image.core.ImagingCore: + """Render an image using Ghostscript""" + global gs_binary + if not has_ghostscript(): + msg = "Unable to locate Ghostscript on paths" + raise OSError(msg) + assert isinstance(gs_binary, str) + + # Unpack decoder tile + args = tile[0].args + assert isinstance(args, tuple) + length, bbox = args + + # Hack to support hi-res rendering + scale = int(scale) or 1 + width = size[0] * scale + height = size[1] * scale + # resolution is dependent on bbox and size + res_x = 72.0 * width / (bbox[2] - bbox[0]) + res_y = 72.0 * height / (bbox[3] - bbox[1]) + + out_fd, outfile = tempfile.mkstemp() + os.close(out_fd) + + infile_temp = None + if hasattr(fp, "name") and os.path.exists(fp.name): + infile = fp.name + else: + in_fd, infile_temp = tempfile.mkstemp() + os.close(in_fd) + infile = infile_temp + + # Ignore length and offset! + # Ghostscript can read it + # Copy whole file to read in Ghostscript + with open(infile_temp, "wb") as f: + # fetch length of fp + fp.seek(0, io.SEEK_END) + fsize = fp.tell() + # ensure start position + # go back + fp.seek(0) + lengthfile = fsize + while lengthfile > 0: + s = fp.read(min(lengthfile, 100 * 1024)) + if not s: + break + lengthfile -= len(s) + f.write(s) + + if transparency: + # "RGBA" + device = "pngalpha" + else: + # "pnmraw" automatically chooses between + # PBM ("1"), PGM ("L"), and PPM ("RGB"). + device = "pnmraw" + + # Build Ghostscript command + command = [ + gs_binary, + "-q", # quiet mode + f"-g{width:d}x{height:d}", # set output geometry (pixels) + f"-r{res_x:f}x{res_y:f}", # set input DPI (dots per inch) + "-dBATCH", # exit after processing + "-dNOPAUSE", # don't pause between pages + "-dSAFER", # safe mode + f"-sDEVICE={device}", + f"-sOutputFile={outfile}", # output file + # adjust for image origin + "-c", + f"{-bbox[0]} {-bbox[1]} translate", + "-f", + infile, # input file + # showpage (see https://bugs.ghostscript.com/show_bug.cgi?id=698272) + "-c", + "showpage", + ] + + # push data through Ghostscript + try: + startupinfo = None + if sys.platform.startswith("win"): + startupinfo = subprocess.STARTUPINFO() + startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW + subprocess.check_call(command, startupinfo=startupinfo) + with Image.open(outfile) as out_im: + out_im.load() + return out_im.im.copy() + finally: + try: + os.unlink(outfile) + if infile_temp: + os.unlink(infile_temp) + except OSError: + pass + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] == b"%!PS" or (len(prefix) >= 4 and i32(prefix) == 0xC6D3D0C5) + + +## +# Image plugin for Encapsulated PostScript. This plugin supports only +# a few variants of this format. + + +class EpsImageFile(ImageFile.ImageFile): + """EPS File Parser for the Python Imaging Library""" + + format = "EPS" + format_description = "Encapsulated Postscript" + + mode_map = {1: "L", 2: "LAB", 3: "RGB", 4: "CMYK"} + + def _open(self) -> None: + (length, offset) = self._find_offset(self.fp) + + # go to offset - start of "%!PS" + self.fp.seek(offset) + + self._mode = "RGB" + + # When reading header comments, the first comment is used. + # When reading trailer comments, the last comment is used. + bounding_box: list[int] | None = None + imagedata_size: tuple[int, int] | None = None + + byte_arr = bytearray(255) + bytes_mv = memoryview(byte_arr) + bytes_read = 0 + reading_header_comments = True + reading_trailer_comments = False + trailer_reached = False + + def check_required_header_comments() -> None: + """ + The EPS specification requires that some headers exist. + This should be checked when the header comments formally end, + when image data starts, or when the file ends, whichever comes first. + """ + if "PS-Adobe" not in self.info: + msg = 'EPS header missing "%!PS-Adobe" comment' + raise SyntaxError(msg) + if "BoundingBox" not in self.info: + msg = 'EPS header missing "%%BoundingBox" comment' + raise SyntaxError(msg) + + def read_comment(s: str) -> bool: + nonlocal bounding_box, reading_trailer_comments + try: + m = split.match(s) + except re.error as e: + msg = "not an EPS file" + raise SyntaxError(msg) from e + + if not m: + return False + + k, v = m.group(1, 2) + self.info[k] = v + if k == "BoundingBox": + if v == "(atend)": + reading_trailer_comments = True + elif not bounding_box or (trailer_reached and reading_trailer_comments): + try: + # Note: The DSC spec says that BoundingBox + # fields should be integers, but some drivers + # put floating point values there anyway. + bounding_box = [int(float(i)) for i in v.split()] + except Exception: + pass + return True + + while True: + byte = self.fp.read(1) + if byte == b"": + # if we didn't read a byte we must be at the end of the file + if bytes_read == 0: + if reading_header_comments: + check_required_header_comments() + break + elif byte in b"\r\n": + # if we read a line ending character, ignore it and parse what + # we have already read. if we haven't read any other characters, + # continue reading + if bytes_read == 0: + continue + else: + # ASCII/hexadecimal lines in an EPS file must not exceed + # 255 characters, not including line ending characters + if bytes_read >= 255: + # only enforce this for lines starting with a "%", + # otherwise assume it's binary data + if byte_arr[0] == ord("%"): + msg = "not an EPS file" + raise SyntaxError(msg) + else: + if reading_header_comments: + check_required_header_comments() + reading_header_comments = False + # reset bytes_read so we can keep reading + # data until the end of the line + bytes_read = 0 + byte_arr[bytes_read] = byte[0] + bytes_read += 1 + continue + + if reading_header_comments: + # Load EPS header + + # if this line doesn't start with a "%", + # or does start with "%%EndComments", + # then we've reached the end of the header/comments + if byte_arr[0] != ord("%") or bytes_mv[:13] == b"%%EndComments": + check_required_header_comments() + reading_header_comments = False + continue + + s = str(bytes_mv[:bytes_read], "latin-1") + if not read_comment(s): + m = field.match(s) + if m: + k = m.group(1) + if k[:8] == "PS-Adobe": + self.info["PS-Adobe"] = k[9:] + else: + self.info[k] = "" + elif s[0] == "%": + # handle non-DSC PostScript comments that some + # tools mistakenly put in the Comments section + pass + else: + msg = "bad EPS header" + raise OSError(msg) + elif bytes_mv[:11] == b"%ImageData:": + # Check for an "ImageData" descriptor + # https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/#50577413_pgfId-1035096 + + # If we've already read an "ImageData" descriptor, + # don't read another one. + if imagedata_size: + bytes_read = 0 + continue + + # Values: + # columns + # rows + # bit depth (1 or 8) + # mode (1: L, 2: LAB, 3: RGB, 4: CMYK) + # number of padding channels + # block size (number of bytes per row per channel) + # binary/ascii (1: binary, 2: ascii) + # data start identifier (the image data follows after a single line + # consisting only of this quoted value) + image_data_values = byte_arr[11:bytes_read].split(None, 7) + columns, rows, bit_depth, mode_id = ( + int(value) for value in image_data_values[:4] + ) + + if bit_depth == 1: + self._mode = "1" + elif bit_depth == 8: + try: + self._mode = self.mode_map[mode_id] + except ValueError: + break + else: + break + + # Parse the columns and rows after checking the bit depth and mode + # in case the bit depth and/or mode are invalid. + imagedata_size = columns, rows + elif bytes_mv[:5] == b"%%EOF": + break + elif trailer_reached and reading_trailer_comments: + # Load EPS trailer + s = str(bytes_mv[:bytes_read], "latin-1") + read_comment(s) + elif bytes_mv[:9] == b"%%Trailer": + trailer_reached = True + bytes_read = 0 + + # A "BoundingBox" is always required, + # even if an "ImageData" descriptor size exists. + if not bounding_box: + msg = "cannot determine EPS bounding box" + raise OSError(msg) + + # An "ImageData" size takes precedence over the "BoundingBox". + self._size = imagedata_size or ( + bounding_box[2] - bounding_box[0], + bounding_box[3] - bounding_box[1], + ) + + self.tile = [ + ImageFile._Tile("eps", (0, 0) + self.size, offset, (length, bounding_box)) + ] + + def _find_offset(self, fp: IO[bytes]) -> tuple[int, int]: + s = fp.read(4) + + if s == b"%!PS": + # for HEAD without binary preview + fp.seek(0, io.SEEK_END) + length = fp.tell() + offset = 0 + elif i32(s) == 0xC6D3D0C5: + # FIX for: Some EPS file not handled correctly / issue #302 + # EPS can contain binary data + # or start directly with latin coding + # more info see: + # https://web.archive.org/web/20160528181353/http://partners.adobe.com/public/developer/en/ps/5002.EPSF_Spec.pdf + s = fp.read(8) + offset = i32(s) + length = i32(s, 4) + else: + msg = "not an EPS file" + raise SyntaxError(msg) + + return length, offset + + def load( + self, scale: int = 1, transparency: bool = False + ) -> Image.core.PixelAccess | None: + # Load EPS via Ghostscript + if self.tile: + self.im = Ghostscript(self.tile, self.size, self.fp, scale, transparency) + self._mode = self.im.mode + self._size = self.im.size + self.tile = [] + return Image.Image.load(self) + + def load_seek(self, pos: int) -> None: + # we can't incrementally load, so force ImageFile.parser to + # use our custom load method by defining this method. + pass + + +# -------------------------------------------------------------------- + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes, eps: int = 1) -> None: + """EPS Writer for the Python Imaging Library.""" + + # make sure image data is available + im.load() + + # determine PostScript image mode + if im.mode == "L": + operator = (8, 1, b"image") + elif im.mode == "RGB": + operator = (8, 3, b"false 3 colorimage") + elif im.mode == "CMYK": + operator = (8, 4, b"false 4 colorimage") + else: + msg = "image mode is not supported" + raise ValueError(msg) + + if eps: + # write EPS header + fp.write(b"%!PS-Adobe-3.0 EPSF-3.0\n") + fp.write(b"%%Creator: PIL 0.1 EpsEncode\n") + # fp.write("%%CreationDate: %s"...) + fp.write(b"%%%%BoundingBox: 0 0 %d %d\n" % im.size) + fp.write(b"%%Pages: 1\n") + fp.write(b"%%EndComments\n") + fp.write(b"%%Page: 1 1\n") + fp.write(b"%%ImageData: %d %d " % im.size) + fp.write(b'%d %d 0 1 1 "%s"\n' % operator) + + # image header + fp.write(b"gsave\n") + fp.write(b"10 dict begin\n") + fp.write(b"/buf %d string def\n" % (im.size[0] * operator[1])) + fp.write(b"%d %d scale\n" % im.size) + fp.write(b"%d %d 8\n" % im.size) # <= bits + fp.write(b"[%d 0 0 -%d 0 %d]\n" % (im.size[0], im.size[1], im.size[1])) + fp.write(b"{ currentfile buf readhexstring pop } bind\n") + fp.write(operator[2] + b"\n") + if hasattr(fp, "flush"): + fp.flush() + + ImageFile._save(im, fp, [ImageFile._Tile("eps", (0, 0) + im.size, 0, None)]) + + fp.write(b"\n%%%%EndBinary\n") + fp.write(b"grestore end\n") + if hasattr(fp, "flush"): + fp.flush() + + +# -------------------------------------------------------------------- + + +Image.register_open(EpsImageFile.format, EpsImageFile, _accept) + +Image.register_save(EpsImageFile.format, _save) + +Image.register_extensions(EpsImageFile.format, [".ps", ".eps"]) + +Image.register_mime(EpsImageFile.format, "application/postscript") diff --git a/gestao_raul/Lib/site-packages/PIL/ExifTags.py b/gestao_raul/Lib/site-packages/PIL/ExifTags.py new file mode 100644 index 0000000..39b4aa5 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/ExifTags.py @@ -0,0 +1,381 @@ +# +# The Python Imaging Library. +# $Id$ +# +# EXIF tags +# +# Copyright (c) 2003 by Secret Labs AB +# +# See the README file for information on usage and redistribution. +# + +""" +This module provides constants and clear-text names for various +well-known EXIF tags. +""" +from __future__ import annotations + +from enum import IntEnum + + +class Base(IntEnum): + # possibly incomplete + InteropIndex = 0x0001 + ProcessingSoftware = 0x000B + NewSubfileType = 0x00FE + SubfileType = 0x00FF + ImageWidth = 0x0100 + ImageLength = 0x0101 + BitsPerSample = 0x0102 + Compression = 0x0103 + PhotometricInterpretation = 0x0106 + Thresholding = 0x0107 + CellWidth = 0x0108 + CellLength = 0x0109 + FillOrder = 0x010A + DocumentName = 0x010D + ImageDescription = 0x010E + Make = 0x010F + Model = 0x0110 + StripOffsets = 0x0111 + Orientation = 0x0112 + SamplesPerPixel = 0x0115 + RowsPerStrip = 0x0116 + StripByteCounts = 0x0117 + MinSampleValue = 0x0118 + MaxSampleValue = 0x0119 + XResolution = 0x011A + YResolution = 0x011B + PlanarConfiguration = 0x011C + PageName = 0x011D + FreeOffsets = 0x0120 + FreeByteCounts = 0x0121 + GrayResponseUnit = 0x0122 + GrayResponseCurve = 0x0123 + T4Options = 0x0124 + T6Options = 0x0125 + ResolutionUnit = 0x0128 + PageNumber = 0x0129 + TransferFunction = 0x012D + Software = 0x0131 + DateTime = 0x0132 + Artist = 0x013B + HostComputer = 0x013C + Predictor = 0x013D + WhitePoint = 0x013E + PrimaryChromaticities = 0x013F + ColorMap = 0x0140 + HalftoneHints = 0x0141 + TileWidth = 0x0142 + TileLength = 0x0143 + TileOffsets = 0x0144 + TileByteCounts = 0x0145 + SubIFDs = 0x014A + InkSet = 0x014C + InkNames = 0x014D + NumberOfInks = 0x014E + DotRange = 0x0150 + TargetPrinter = 0x0151 + ExtraSamples = 0x0152 + SampleFormat = 0x0153 + SMinSampleValue = 0x0154 + SMaxSampleValue = 0x0155 + TransferRange = 0x0156 + ClipPath = 0x0157 + XClipPathUnits = 0x0158 + YClipPathUnits = 0x0159 + Indexed = 0x015A + JPEGTables = 0x015B + OPIProxy = 0x015F + JPEGProc = 0x0200 + JpegIFOffset = 0x0201 + JpegIFByteCount = 0x0202 + JpegRestartInterval = 0x0203 + JpegLosslessPredictors = 0x0205 + JpegPointTransforms = 0x0206 + JpegQTables = 0x0207 + JpegDCTables = 0x0208 + JpegACTables = 0x0209 + YCbCrCoefficients = 0x0211 + YCbCrSubSampling = 0x0212 + YCbCrPositioning = 0x0213 + ReferenceBlackWhite = 0x0214 + XMLPacket = 0x02BC + RelatedImageFileFormat = 0x1000 + RelatedImageWidth = 0x1001 + RelatedImageLength = 0x1002 + Rating = 0x4746 + RatingPercent = 0x4749 + ImageID = 0x800D + CFARepeatPatternDim = 0x828D + BatteryLevel = 0x828F + Copyright = 0x8298 + ExposureTime = 0x829A + FNumber = 0x829D + IPTCNAA = 0x83BB + ImageResources = 0x8649 + ExifOffset = 0x8769 + InterColorProfile = 0x8773 + ExposureProgram = 0x8822 + SpectralSensitivity = 0x8824 + GPSInfo = 0x8825 + ISOSpeedRatings = 0x8827 + OECF = 0x8828 + Interlace = 0x8829 + TimeZoneOffset = 0x882A + SelfTimerMode = 0x882B + SensitivityType = 0x8830 + StandardOutputSensitivity = 0x8831 + RecommendedExposureIndex = 0x8832 + ISOSpeed = 0x8833 + ISOSpeedLatitudeyyy = 0x8834 + ISOSpeedLatitudezzz = 0x8835 + ExifVersion = 0x9000 + DateTimeOriginal = 0x9003 + DateTimeDigitized = 0x9004 + OffsetTime = 0x9010 + OffsetTimeOriginal = 0x9011 + OffsetTimeDigitized = 0x9012 + ComponentsConfiguration = 0x9101 + CompressedBitsPerPixel = 0x9102 + ShutterSpeedValue = 0x9201 + ApertureValue = 0x9202 + BrightnessValue = 0x9203 + ExposureBiasValue = 0x9204 + MaxApertureValue = 0x9205 + SubjectDistance = 0x9206 + MeteringMode = 0x9207 + LightSource = 0x9208 + Flash = 0x9209 + FocalLength = 0x920A + Noise = 0x920D + ImageNumber = 0x9211 + SecurityClassification = 0x9212 + ImageHistory = 0x9213 + TIFFEPStandardID = 0x9216 + MakerNote = 0x927C + UserComment = 0x9286 + SubsecTime = 0x9290 + SubsecTimeOriginal = 0x9291 + SubsecTimeDigitized = 0x9292 + AmbientTemperature = 0x9400 + Humidity = 0x9401 + Pressure = 0x9402 + WaterDepth = 0x9403 + Acceleration = 0x9404 + CameraElevationAngle = 0x9405 + XPTitle = 0x9C9B + XPComment = 0x9C9C + XPAuthor = 0x9C9D + XPKeywords = 0x9C9E + XPSubject = 0x9C9F + FlashPixVersion = 0xA000 + ColorSpace = 0xA001 + ExifImageWidth = 0xA002 + ExifImageHeight = 0xA003 + RelatedSoundFile = 0xA004 + ExifInteroperabilityOffset = 0xA005 + FlashEnergy = 0xA20B + SpatialFrequencyResponse = 0xA20C + FocalPlaneXResolution = 0xA20E + FocalPlaneYResolution = 0xA20F + FocalPlaneResolutionUnit = 0xA210 + SubjectLocation = 0xA214 + ExposureIndex = 0xA215 + SensingMethod = 0xA217 + FileSource = 0xA300 + SceneType = 0xA301 + CFAPattern = 0xA302 + CustomRendered = 0xA401 + ExposureMode = 0xA402 + WhiteBalance = 0xA403 + DigitalZoomRatio = 0xA404 + FocalLengthIn35mmFilm = 0xA405 + SceneCaptureType = 0xA406 + GainControl = 0xA407 + Contrast = 0xA408 + Saturation = 0xA409 + Sharpness = 0xA40A + DeviceSettingDescription = 0xA40B + SubjectDistanceRange = 0xA40C + ImageUniqueID = 0xA420 + CameraOwnerName = 0xA430 + BodySerialNumber = 0xA431 + LensSpecification = 0xA432 + LensMake = 0xA433 + LensModel = 0xA434 + LensSerialNumber = 0xA435 + CompositeImage = 0xA460 + CompositeImageCount = 0xA461 + CompositeImageExposureTimes = 0xA462 + Gamma = 0xA500 + PrintImageMatching = 0xC4A5 + DNGVersion = 0xC612 + DNGBackwardVersion = 0xC613 + UniqueCameraModel = 0xC614 + LocalizedCameraModel = 0xC615 + CFAPlaneColor = 0xC616 + CFALayout = 0xC617 + LinearizationTable = 0xC618 + BlackLevelRepeatDim = 0xC619 + BlackLevel = 0xC61A + BlackLevelDeltaH = 0xC61B + BlackLevelDeltaV = 0xC61C + WhiteLevel = 0xC61D + DefaultScale = 0xC61E + DefaultCropOrigin = 0xC61F + DefaultCropSize = 0xC620 + ColorMatrix1 = 0xC621 + ColorMatrix2 = 0xC622 + CameraCalibration1 = 0xC623 + CameraCalibration2 = 0xC624 + ReductionMatrix1 = 0xC625 + ReductionMatrix2 = 0xC626 + AnalogBalance = 0xC627 + AsShotNeutral = 0xC628 + AsShotWhiteXY = 0xC629 + BaselineExposure = 0xC62A + BaselineNoise = 0xC62B + BaselineSharpness = 0xC62C + BayerGreenSplit = 0xC62D + LinearResponseLimit = 0xC62E + CameraSerialNumber = 0xC62F + LensInfo = 0xC630 + ChromaBlurRadius = 0xC631 + AntiAliasStrength = 0xC632 + ShadowScale = 0xC633 + DNGPrivateData = 0xC634 + MakerNoteSafety = 0xC635 + CalibrationIlluminant1 = 0xC65A + CalibrationIlluminant2 = 0xC65B + BestQualityScale = 0xC65C + RawDataUniqueID = 0xC65D + OriginalRawFileName = 0xC68B + OriginalRawFileData = 0xC68C + ActiveArea = 0xC68D + MaskedAreas = 0xC68E + AsShotICCProfile = 0xC68F + AsShotPreProfileMatrix = 0xC690 + CurrentICCProfile = 0xC691 + CurrentPreProfileMatrix = 0xC692 + ColorimetricReference = 0xC6BF + CameraCalibrationSignature = 0xC6F3 + ProfileCalibrationSignature = 0xC6F4 + AsShotProfileName = 0xC6F6 + NoiseReductionApplied = 0xC6F7 + ProfileName = 0xC6F8 + ProfileHueSatMapDims = 0xC6F9 + ProfileHueSatMapData1 = 0xC6FA + ProfileHueSatMapData2 = 0xC6FB + ProfileToneCurve = 0xC6FC + ProfileEmbedPolicy = 0xC6FD + ProfileCopyright = 0xC6FE + ForwardMatrix1 = 0xC714 + ForwardMatrix2 = 0xC715 + PreviewApplicationName = 0xC716 + PreviewApplicationVersion = 0xC717 + PreviewSettingsName = 0xC718 + PreviewSettingsDigest = 0xC719 + PreviewColorSpace = 0xC71A + PreviewDateTime = 0xC71B + RawImageDigest = 0xC71C + OriginalRawFileDigest = 0xC71D + SubTileBlockSize = 0xC71E + RowInterleaveFactor = 0xC71F + ProfileLookTableDims = 0xC725 + ProfileLookTableData = 0xC726 + OpcodeList1 = 0xC740 + OpcodeList2 = 0xC741 + OpcodeList3 = 0xC74E + NoiseProfile = 0xC761 + + +"""Maps EXIF tags to tag names.""" +TAGS = { + **{i.value: i.name for i in Base}, + 0x920C: "SpatialFrequencyResponse", + 0x9214: "SubjectLocation", + 0x9215: "ExposureIndex", + 0x828E: "CFAPattern", + 0x920B: "FlashEnergy", + 0x9216: "TIFF/EPStandardID", +} + + +class GPS(IntEnum): + GPSVersionID = 0 + GPSLatitudeRef = 1 + GPSLatitude = 2 + GPSLongitudeRef = 3 + GPSLongitude = 4 + GPSAltitudeRef = 5 + GPSAltitude = 6 + GPSTimeStamp = 7 + GPSSatellites = 8 + GPSStatus = 9 + GPSMeasureMode = 10 + GPSDOP = 11 + GPSSpeedRef = 12 + GPSSpeed = 13 + GPSTrackRef = 14 + GPSTrack = 15 + GPSImgDirectionRef = 16 + GPSImgDirection = 17 + GPSMapDatum = 18 + GPSDestLatitudeRef = 19 + GPSDestLatitude = 20 + GPSDestLongitudeRef = 21 + GPSDestLongitude = 22 + GPSDestBearingRef = 23 + GPSDestBearing = 24 + GPSDestDistanceRef = 25 + GPSDestDistance = 26 + GPSProcessingMethod = 27 + GPSAreaInformation = 28 + GPSDateStamp = 29 + GPSDifferential = 30 + GPSHPositioningError = 31 + + +"""Maps EXIF GPS tags to tag names.""" +GPSTAGS = {i.value: i.name for i in GPS} + + +class Interop(IntEnum): + InteropIndex = 1 + InteropVersion = 2 + RelatedImageFileFormat = 4096 + RelatedImageWidth = 4097 + RelatedImageHeight = 4098 + + +class IFD(IntEnum): + Exif = 34665 + GPSInfo = 34853 + Makernote = 37500 + Interop = 40965 + IFD1 = -1 + + +class LightSource(IntEnum): + Unknown = 0 + Daylight = 1 + Fluorescent = 2 + Tungsten = 3 + Flash = 4 + Fine = 9 + Cloudy = 10 + Shade = 11 + DaylightFluorescent = 12 + DayWhiteFluorescent = 13 + CoolWhiteFluorescent = 14 + WhiteFluorescent = 15 + StandardLightA = 17 + StandardLightB = 18 + StandardLightC = 19 + D55 = 20 + D65 = 21 + D75 = 22 + D50 = 23 + ISO = 24 + Other = 255 diff --git a/gestao_raul/Lib/site-packages/PIL/FitsImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/FitsImagePlugin.py new file mode 100644 index 0000000..6bbd264 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/FitsImagePlugin.py @@ -0,0 +1,152 @@ +# +# The Python Imaging Library +# $Id$ +# +# FITS file handling +# +# Copyright (c) 1998-2003 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import gzip +import math + +from . import Image, ImageFile + + +def _accept(prefix: bytes) -> bool: + return prefix[:6] == b"SIMPLE" + + +class FitsImageFile(ImageFile.ImageFile): + format = "FITS" + format_description = "FITS" + + def _open(self) -> None: + assert self.fp is not None + + headers: dict[bytes, bytes] = {} + header_in_progress = False + decoder_name = "" + while True: + header = self.fp.read(80) + if not header: + msg = "Truncated FITS file" + raise OSError(msg) + keyword = header[:8].strip() + if keyword in (b"SIMPLE", b"XTENSION"): + header_in_progress = True + elif headers and not header_in_progress: + # This is now a data unit + break + elif keyword == b"END": + # Seek to the end of the header unit + self.fp.seek(math.ceil(self.fp.tell() / 2880) * 2880) + if not decoder_name: + decoder_name, offset, args = self._parse_headers(headers) + + header_in_progress = False + continue + + if decoder_name: + # Keep going to read past the headers + continue + + value = header[8:].split(b"/")[0].strip() + if value.startswith(b"="): + value = value[1:].strip() + if not headers and (not _accept(keyword) or value != b"T"): + msg = "Not a FITS file" + raise SyntaxError(msg) + headers[keyword] = value + + if not decoder_name: + msg = "No image data" + raise ValueError(msg) + + offset += self.fp.tell() - 80 + self.tile = [ImageFile._Tile(decoder_name, (0, 0) + self.size, offset, args)] + + def _get_size( + self, headers: dict[bytes, bytes], prefix: bytes + ) -> tuple[int, int] | None: + naxis = int(headers[prefix + b"NAXIS"]) + if naxis == 0: + return None + + if naxis == 1: + return 1, int(headers[prefix + b"NAXIS1"]) + else: + return int(headers[prefix + b"NAXIS1"]), int(headers[prefix + b"NAXIS2"]) + + def _parse_headers( + self, headers: dict[bytes, bytes] + ) -> tuple[str, int, tuple[str | int, ...]]: + prefix = b"" + decoder_name = "raw" + offset = 0 + if ( + headers.get(b"XTENSION") == b"'BINTABLE'" + and headers.get(b"ZIMAGE") == b"T" + and headers[b"ZCMPTYPE"] == b"'GZIP_1 '" + ): + no_prefix_size = self._get_size(headers, prefix) or (0, 0) + number_of_bits = int(headers[b"BITPIX"]) + offset = no_prefix_size[0] * no_prefix_size[1] * (number_of_bits // 8) + + prefix = b"Z" + decoder_name = "fits_gzip" + + size = self._get_size(headers, prefix) + if not size: + return "", 0, () + + self._size = size + + number_of_bits = int(headers[prefix + b"BITPIX"]) + if number_of_bits == 8: + self._mode = "L" + elif number_of_bits == 16: + self._mode = "I;16" + elif number_of_bits == 32: + self._mode = "I" + elif number_of_bits in (-32, -64): + self._mode = "F" + + args: tuple[str | int, ...] + if decoder_name == "raw": + args = (self.mode, 0, -1) + else: + args = (number_of_bits,) + return decoder_name, offset, args + + +class FitsGzipDecoder(ImageFile.PyDecoder): + _pulls_fd = True + + def decode(self, buffer: bytes | Image.SupportsArrayInterface) -> tuple[int, int]: + assert self.fd is not None + value = gzip.decompress(self.fd.read()) + + rows = [] + offset = 0 + number_of_bits = min(self.args[0] // 8, 4) + for y in range(self.state.ysize): + row = bytearray() + for x in range(self.state.xsize): + row += value[offset + (4 - number_of_bits) : offset + 4] + offset += 4 + rows.append(row) + self.set_as_raw(bytes([pixel for row in rows[::-1] for pixel in row])) + return -1, 0 + + +# -------------------------------------------------------------------- +# Registry + +Image.register_open(FitsImageFile.format, FitsImageFile, _accept) +Image.register_decoder("fits_gzip", FitsGzipDecoder) + +Image.register_extensions(FitsImageFile.format, [".fit", ".fits"]) diff --git a/gestao_raul/Lib/site-packages/PIL/FliImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/FliImagePlugin.py new file mode 100644 index 0000000..666390b --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/FliImagePlugin.py @@ -0,0 +1,175 @@ +# +# The Python Imaging Library. +# $Id$ +# +# FLI/FLC file handling. +# +# History: +# 95-09-01 fl Created +# 97-01-03 fl Fixed parser, setup decoder tile +# 98-07-15 fl Renamed offset attribute to avoid name clash +# +# Copyright (c) Secret Labs AB 1997-98. +# Copyright (c) Fredrik Lundh 1995-97. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import os + +from . import Image, ImageFile, ImagePalette +from ._binary import i16le as i16 +from ._binary import i32le as i32 +from ._binary import o8 + +# +# decoder + + +def _accept(prefix: bytes) -> bool: + return ( + len(prefix) >= 6 + and i16(prefix, 4) in [0xAF11, 0xAF12] + and i16(prefix, 14) in [0, 3] # flags + ) + + +## +# Image plugin for the FLI/FLC animation format. Use the seek +# method to load individual frames. + + +class FliImageFile(ImageFile.ImageFile): + format = "FLI" + format_description = "Autodesk FLI/FLC Animation" + _close_exclusive_fp_after_loading = False + + def _open(self) -> None: + # HEAD + s = self.fp.read(128) + if not (_accept(s) and s[20:22] == b"\x00\x00"): + msg = "not an FLI/FLC file" + raise SyntaxError(msg) + + # frames + self.n_frames = i16(s, 6) + self.is_animated = self.n_frames > 1 + + # image characteristics + self._mode = "P" + self._size = i16(s, 8), i16(s, 10) + + # animation speed + duration = i32(s, 16) + magic = i16(s, 4) + if magic == 0xAF11: + duration = (duration * 1000) // 70 + self.info["duration"] = duration + + # look for palette + palette = [(a, a, a) for a in range(256)] + + s = self.fp.read(16) + + self.__offset = 128 + + if i16(s, 4) == 0xF100: + # prefix chunk; ignore it + self.__offset = self.__offset + i32(s) + self.fp.seek(self.__offset) + s = self.fp.read(16) + + if i16(s, 4) == 0xF1FA: + # look for palette chunk + number_of_subchunks = i16(s, 6) + chunk_size: int | None = None + for _ in range(number_of_subchunks): + if chunk_size is not None: + self.fp.seek(chunk_size - 6, os.SEEK_CUR) + s = self.fp.read(6) + chunk_type = i16(s, 4) + if chunk_type in (4, 11): + self._palette(palette, 2 if chunk_type == 11 else 0) + break + chunk_size = i32(s) + if not chunk_size: + break + + self.palette = ImagePalette.raw( + "RGB", b"".join(o8(r) + o8(g) + o8(b) for (r, g, b) in palette) + ) + + # set things up to decode first frame + self.__frame = -1 + self._fp = self.fp + self.__rewind = self.fp.tell() + self.seek(0) + + def _palette(self, palette: list[tuple[int, int, int]], shift: int) -> None: + # load palette + + i = 0 + for e in range(i16(self.fp.read(2))): + s = self.fp.read(2) + i = i + s[0] + n = s[1] + if n == 0: + n = 256 + s = self.fp.read(n * 3) + for n in range(0, len(s), 3): + r = s[n] << shift + g = s[n + 1] << shift + b = s[n + 2] << shift + palette[i] = (r, g, b) + i += 1 + + def seek(self, frame: int) -> None: + if not self._seek_check(frame): + return + if frame < self.__frame: + self._seek(0) + + for f in range(self.__frame + 1, frame + 1): + self._seek(f) + + def _seek(self, frame: int) -> None: + if frame == 0: + self.__frame = -1 + self._fp.seek(self.__rewind) + self.__offset = 128 + else: + # ensure that the previous frame was loaded + self.load() + + if frame != self.__frame + 1: + msg = f"cannot seek to frame {frame}" + raise ValueError(msg) + self.__frame = frame + + # move to next frame + self.fp = self._fp + self.fp.seek(self.__offset) + + s = self.fp.read(4) + if not s: + msg = "missing frame size" + raise EOFError(msg) + + framesize = i32(s) + + self.decodermaxblock = framesize + self.tile = [ImageFile._Tile("fli", (0, 0) + self.size, self.__offset, None)] + + self.__offset += framesize + + def tell(self) -> int: + return self.__frame + + +# +# registry + +Image.register_open(FliImageFile.format, FliImageFile, _accept) + +Image.register_extensions(FliImageFile.format, [".fli", ".flc"]) diff --git a/gestao_raul/Lib/site-packages/PIL/FontFile.py b/gestao_raul/Lib/site-packages/PIL/FontFile.py new file mode 100644 index 0000000..1e0c1c1 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/FontFile.py @@ -0,0 +1,134 @@ +# +# The Python Imaging Library +# $Id$ +# +# base class for raster font file parsers +# +# history: +# 1997-06-05 fl created +# 1997-08-19 fl restrict image width +# +# Copyright (c) 1997-1998 by Secret Labs AB +# Copyright (c) 1997-1998 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import os +from typing import BinaryIO + +from . import Image, _binary + +WIDTH = 800 + + +def puti16( + fp: BinaryIO, values: tuple[int, int, int, int, int, int, int, int, int, int] +) -> None: + """Write network order (big-endian) 16-bit sequence""" + for v in values: + if v < 0: + v += 65536 + fp.write(_binary.o16be(v)) + + +class FontFile: + """Base class for raster font file handlers.""" + + bitmap: Image.Image | None = None + + def __init__(self) -> None: + self.info: dict[bytes, bytes | int] = {} + self.glyph: list[ + tuple[ + tuple[int, int], + tuple[int, int, int, int], + tuple[int, int, int, int], + Image.Image, + ] + | None + ] = [None] * 256 + + def __getitem__(self, ix: int) -> ( + tuple[ + tuple[int, int], + tuple[int, int, int, int], + tuple[int, int, int, int], + Image.Image, + ] + | None + ): + return self.glyph[ix] + + def compile(self) -> None: + """Create metrics and bitmap""" + + if self.bitmap: + return + + # create bitmap large enough to hold all data + h = w = maxwidth = 0 + lines = 1 + for glyph in self.glyph: + if glyph: + d, dst, src, im = glyph + h = max(h, src[3] - src[1]) + w = w + (src[2] - src[0]) + if w > WIDTH: + lines += 1 + w = src[2] - src[0] + maxwidth = max(maxwidth, w) + + xsize = maxwidth + ysize = lines * h + + if xsize == 0 and ysize == 0: + return + + self.ysize = h + + # paste glyphs into bitmap + self.bitmap = Image.new("1", (xsize, ysize)) + self.metrics: list[ + tuple[tuple[int, int], tuple[int, int, int, int], tuple[int, int, int, int]] + | None + ] = [None] * 256 + x = y = 0 + for i in range(256): + glyph = self[i] + if glyph: + d, dst, src, im = glyph + xx = src[2] - src[0] + x0, y0 = x, y + x = x + xx + if x > WIDTH: + x, y = 0, y + h + x0, y0 = x, y + x = xx + s = src[0] + x0, src[1] + y0, src[2] + x0, src[3] + y0 + self.bitmap.paste(im.crop(src), s) + self.metrics[i] = d, dst, s + + def save(self, filename: str) -> None: + """Save font""" + + self.compile() + + # font data + if not self.bitmap: + msg = "No bitmap created" + raise ValueError(msg) + self.bitmap.save(os.path.splitext(filename)[0] + ".pbm", "PNG") + + # font metrics + with open(os.path.splitext(filename)[0] + ".pil", "wb") as fp: + fp.write(b"PILfont\n") + fp.write(f";;;;;;{self.ysize};\n".encode("ascii")) # HACK!!! + fp.write(b"DATA\n") + for id in range(256): + m = self.metrics[id] + if not m: + puti16(fp, (0,) * 10) + else: + puti16(fp, m[0] + m[1] + m[2]) diff --git a/gestao_raul/Lib/site-packages/PIL/FpxImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/FpxImagePlugin.py new file mode 100644 index 0000000..8fef510 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/FpxImagePlugin.py @@ -0,0 +1,257 @@ +# +# THIS IS WORK IN PROGRESS +# +# The Python Imaging Library. +# $Id$ +# +# FlashPix support for PIL +# +# History: +# 97-01-25 fl Created (reads uncompressed RGB images only) +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1997. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import olefile + +from . import Image, ImageFile +from ._binary import i32le as i32 + +# we map from colour field tuples to (mode, rawmode) descriptors +MODES = { + # opacity + (0x00007FFE,): ("A", "L"), + # monochrome + (0x00010000,): ("L", "L"), + (0x00018000, 0x00017FFE): ("RGBA", "LA"), + # photo YCC + (0x00020000, 0x00020001, 0x00020002): ("RGB", "YCC;P"), + (0x00028000, 0x00028001, 0x00028002, 0x00027FFE): ("RGBA", "YCCA;P"), + # standard RGB (NIFRGB) + (0x00030000, 0x00030001, 0x00030002): ("RGB", "RGB"), + (0x00038000, 0x00038001, 0x00038002, 0x00037FFE): ("RGBA", "RGBA"), +} + + +# +# -------------------------------------------------------------------- + + +def _accept(prefix: bytes) -> bool: + return prefix[:8] == olefile.MAGIC + + +## +# Image plugin for the FlashPix images. + + +class FpxImageFile(ImageFile.ImageFile): + format = "FPX" + format_description = "FlashPix" + + def _open(self) -> None: + # + # read the OLE directory and see if this is a likely + # to be a FlashPix file + + try: + self.ole = olefile.OleFileIO(self.fp) + except OSError as e: + msg = "not an FPX file; invalid OLE file" + raise SyntaxError(msg) from e + + root = self.ole.root + if not root or root.clsid != "56616700-C154-11CE-8553-00AA00A1F95B": + msg = "not an FPX file; bad root CLSID" + raise SyntaxError(msg) + + self._open_index(1) + + def _open_index(self, index: int = 1) -> None: + # + # get the Image Contents Property Set + + prop = self.ole.getproperties( + [f"Data Object Store {index:06d}", "\005Image Contents"] + ) + + # size (highest resolution) + + assert isinstance(prop[0x1000002], int) + assert isinstance(prop[0x1000003], int) + self._size = prop[0x1000002], prop[0x1000003] + + size = max(self.size) + i = 1 + while size > 64: + size = size // 2 + i += 1 + self.maxid = i - 1 + + # mode. instead of using a single field for this, flashpix + # requires you to specify the mode for each channel in each + # resolution subimage, and leaves it to the decoder to make + # sure that they all match. for now, we'll cheat and assume + # that this is always the case. + + id = self.maxid << 16 + + s = prop[0x2000002 | id] + + if not isinstance(s, bytes) or (bands := i32(s, 4)) > 4: + msg = "Invalid number of bands" + raise OSError(msg) + + # note: for now, we ignore the "uncalibrated" flag + colors = tuple(i32(s, 8 + i * 4) & 0x7FFFFFFF for i in range(bands)) + + self._mode, self.rawmode = MODES[colors] + + # load JPEG tables, if any + self.jpeg = {} + for i in range(256): + id = 0x3000001 | (i << 16) + if id in prop: + self.jpeg[i] = prop[id] + + self._open_subimage(1, self.maxid) + + def _open_subimage(self, index: int = 1, subimage: int = 0) -> None: + # + # setup tile descriptors for a given subimage + + stream = [ + f"Data Object Store {index:06d}", + f"Resolution {subimage:04d}", + "Subimage 0000 Header", + ] + + fp = self.ole.openstream(stream) + + # skip prefix + fp.read(28) + + # header stream + s = fp.read(36) + + size = i32(s, 4), i32(s, 8) + # tilecount = i32(s, 12) + tilesize = i32(s, 16), i32(s, 20) + # channels = i32(s, 24) + offset = i32(s, 28) + length = i32(s, 32) + + if size != self.size: + msg = "subimage mismatch" + raise OSError(msg) + + # get tile descriptors + fp.seek(28 + offset) + s = fp.read(i32(s, 12) * length) + + x = y = 0 + xsize, ysize = size + xtile, ytile = tilesize + self.tile = [] + + for i in range(0, len(s), length): + x1 = min(xsize, x + xtile) + y1 = min(ysize, y + ytile) + + compression = i32(s, i + 8) + + if compression == 0: + self.tile.append( + ImageFile._Tile( + "raw", + (x, y, x1, y1), + i32(s, i) + 28, + (self.rawmode,), + ) + ) + + elif compression == 1: + # FIXME: the fill decoder is not implemented + self.tile.append( + ImageFile._Tile( + "fill", + (x, y, x1, y1), + i32(s, i) + 28, + (self.rawmode, s[12:16]), + ) + ) + + elif compression == 2: + internal_color_conversion = s[14] + jpeg_tables = s[15] + rawmode = self.rawmode + + if internal_color_conversion: + # The image is stored as usual (usually YCbCr). + if rawmode == "RGBA": + # For "RGBA", data is stored as YCbCrA based on + # negative RGB. The following trick works around + # this problem : + jpegmode, rawmode = "YCbCrK", "CMYK" + else: + jpegmode = None # let the decoder decide + + else: + # The image is stored as defined by rawmode + jpegmode = rawmode + + self.tile.append( + ImageFile._Tile( + "jpeg", + (x, y, x1, y1), + i32(s, i) + 28, + (rawmode, jpegmode), + ) + ) + + # FIXME: jpeg tables are tile dependent; the prefix + # data must be placed in the tile descriptor itself! + + if jpeg_tables: + self.tile_prefix = self.jpeg[jpeg_tables] + + else: + msg = "unknown/invalid compression" + raise OSError(msg) + + x = x + xtile + if x >= xsize: + x, y = 0, y + ytile + if y >= ysize: + break # isn't really required + + self.stream = stream + self._fp = self.fp + self.fp = None + + def load(self) -> Image.core.PixelAccess | None: + if not self.fp: + self.fp = self.ole.openstream(self.stream[:2] + ["Subimage 0000 Data"]) + + return ImageFile.ImageFile.load(self) + + def close(self) -> None: + self.ole.close() + super().close() + + def __exit__(self, *args: object) -> None: + self.ole.close() + super().__exit__() + + +# +# -------------------------------------------------------------------- + + +Image.register_open(FpxImageFile.format, FpxImageFile, _accept) + +Image.register_extension(FpxImageFile.format, ".fpx") diff --git a/gestao_raul/Lib/site-packages/PIL/FtexImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/FtexImagePlugin.py new file mode 100644 index 0000000..ddb469b --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/FtexImagePlugin.py @@ -0,0 +1,115 @@ +""" +A Pillow loader for .ftc and .ftu files (FTEX) +Jerome Leclanche + +The contents of this file are hereby released in the public domain (CC0) +Full text of the CC0 license: + https://creativecommons.org/publicdomain/zero/1.0/ + +Independence War 2: Edge Of Chaos - Texture File Format - 16 October 2001 + +The textures used for 3D objects in Independence War 2: Edge Of Chaos are in a +packed custom format called FTEX. This file format uses file extensions FTC +and FTU. +* FTC files are compressed textures (using standard texture compression). +* FTU files are not compressed. +Texture File Format +The FTC and FTU texture files both use the same format. This +has the following structure: +{header} +{format_directory} +{data} +Where: +{header} = { + u32:magic, + u32:version, + u32:width, + u32:height, + u32:mipmap_count, + u32:format_count +} + +* The "magic" number is "FTEX". +* "width" and "height" are the dimensions of the texture. +* "mipmap_count" is the number of mipmaps in the texture. +* "format_count" is the number of texture formats (different versions of the +same texture) in this file. + +{format_directory} = format_count * { u32:format, u32:where } + +The format value is 0 for DXT1 compressed textures and 1 for 24-bit RGB +uncompressed textures. +The texture data for a format starts at the position "where" in the file. + +Each set of texture data in the file has the following structure: +{data} = format_count * { u32:mipmap_size, mipmap_size * { u8 } } +* "mipmap_size" is the number of bytes in that mip level. For compressed +textures this is the size of the texture data compressed with DXT1. For 24 bit +uncompressed textures, this is 3 * width * height. Following this are the image +bytes for that mipmap level. + +Note: All data is stored in little-Endian (Intel) byte order. +""" + +from __future__ import annotations + +import struct +from enum import IntEnum +from io import BytesIO + +from . import Image, ImageFile + +MAGIC = b"FTEX" + + +class Format(IntEnum): + DXT1 = 0 + UNCOMPRESSED = 1 + + +class FtexImageFile(ImageFile.ImageFile): + format = "FTEX" + format_description = "Texture File Format (IW2:EOC)" + + def _open(self) -> None: + if not _accept(self.fp.read(4)): + msg = "not an FTEX file" + raise SyntaxError(msg) + struct.unpack(" None: + pass + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] == MAGIC + + +Image.register_open(FtexImageFile.format, FtexImageFile, _accept) +Image.register_extensions(FtexImageFile.format, [".ftc", ".ftu"]) diff --git a/gestao_raul/Lib/site-packages/PIL/GbrImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/GbrImagePlugin.py new file mode 100644 index 0000000..f319d7e --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/GbrImagePlugin.py @@ -0,0 +1,103 @@ +# +# The Python Imaging Library +# +# load a GIMP brush file +# +# History: +# 96-03-14 fl Created +# 16-01-08 es Version 2 +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1996. +# Copyright (c) Eric Soroos 2016. +# +# See the README file for information on usage and redistribution. +# +# +# See https://github.com/GNOME/gimp/blob/mainline/devel-docs/gbr.txt for +# format documentation. +# +# This code Interprets version 1 and 2 .gbr files. +# Version 1 files are obsolete, and should not be used for new +# brushes. +# Version 2 files are saved by GIMP v2.8 (at least) +# Version 3 files have a format specifier of 18 for 16bit floats in +# the color depth field. This is currently unsupported by Pillow. +from __future__ import annotations + +from . import Image, ImageFile +from ._binary import i32be as i32 + + +def _accept(prefix: bytes) -> bool: + return len(prefix) >= 8 and i32(prefix, 0) >= 20 and i32(prefix, 4) in (1, 2) + + +## +# Image plugin for the GIMP brush format. + + +class GbrImageFile(ImageFile.ImageFile): + format = "GBR" + format_description = "GIMP brush file" + + def _open(self) -> None: + header_size = i32(self.fp.read(4)) + if header_size < 20: + msg = "not a GIMP brush" + raise SyntaxError(msg) + version = i32(self.fp.read(4)) + if version not in (1, 2): + msg = f"Unsupported GIMP brush version: {version}" + raise SyntaxError(msg) + + width = i32(self.fp.read(4)) + height = i32(self.fp.read(4)) + color_depth = i32(self.fp.read(4)) + if width <= 0 or height <= 0: + msg = "not a GIMP brush" + raise SyntaxError(msg) + if color_depth not in (1, 4): + msg = f"Unsupported GIMP brush color depth: {color_depth}" + raise SyntaxError(msg) + + if version == 1: + comment_length = header_size - 20 + else: + comment_length = header_size - 28 + magic_number = self.fp.read(4) + if magic_number != b"GIMP": + msg = "not a GIMP brush, bad magic number" + raise SyntaxError(msg) + self.info["spacing"] = i32(self.fp.read(4)) + + comment = self.fp.read(comment_length)[:-1] + + if color_depth == 1: + self._mode = "L" + else: + self._mode = "RGBA" + + self._size = width, height + + self.info["comment"] = comment + + # Image might not be small + Image._decompression_bomb_check(self.size) + + # Data is an uncompressed block of w * h * bytes/pixel + self._data_size = width * height * color_depth + + def load(self) -> Image.core.PixelAccess | None: + if self._im is None: + self.im = Image.core.new(self.mode, self.size) + self.frombytes(self.fp.read(self._data_size)) + return Image.Image.load(self) + + +# +# registry + + +Image.register_open(GbrImageFile.format, GbrImageFile, _accept) +Image.register_extension(GbrImageFile.format, ".gbr") diff --git a/gestao_raul/Lib/site-packages/PIL/GdImageFile.py b/gestao_raul/Lib/site-packages/PIL/GdImageFile.py new file mode 100644 index 0000000..f1b4969 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/GdImageFile.py @@ -0,0 +1,102 @@ +# +# The Python Imaging Library. +# $Id$ +# +# GD file handling +# +# History: +# 1996-04-12 fl Created +# +# Copyright (c) 1997 by Secret Labs AB. +# Copyright (c) 1996 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# + + +""" +.. note:: + This format cannot be automatically recognized, so the + class is not registered for use with :py:func:`PIL.Image.open()`. To open a + gd file, use the :py:func:`PIL.GdImageFile.open()` function instead. + +.. warning:: + THE GD FORMAT IS NOT DESIGNED FOR DATA INTERCHANGE. This + implementation is provided for convenience and demonstrational + purposes only. +""" +from __future__ import annotations + +from typing import IO + +from . import ImageFile, ImagePalette, UnidentifiedImageError +from ._binary import i16be as i16 +from ._binary import i32be as i32 +from ._typing import StrOrBytesPath + + +class GdImageFile(ImageFile.ImageFile): + """ + Image plugin for the GD uncompressed format. Note that this format + is not supported by the standard :py:func:`PIL.Image.open()` function. To use + this plugin, you have to import the :py:mod:`PIL.GdImageFile` module and + use the :py:func:`PIL.GdImageFile.open()` function. + """ + + format = "GD" + format_description = "GD uncompressed images" + + def _open(self) -> None: + # Header + assert self.fp is not None + + s = self.fp.read(1037) + + if i16(s) not in [65534, 65535]: + msg = "Not a valid GD 2.x .gd file" + raise SyntaxError(msg) + + self._mode = "L" # FIXME: "P" + self._size = i16(s, 2), i16(s, 4) + + true_color = s[6] + true_color_offset = 2 if true_color else 0 + + # transparency index + tindex = i32(s, 7 + true_color_offset) + if tindex < 256: + self.info["transparency"] = tindex + + self.palette = ImagePalette.raw( + "XBGR", s[7 + true_color_offset + 4 : 7 + true_color_offset + 4 + 256 * 4] + ) + + self.tile = [ + ImageFile._Tile( + "raw", + (0, 0) + self.size, + 7 + true_color_offset + 4 + 256 * 4, + ("L", 0, 1), + ) + ] + + +def open(fp: StrOrBytesPath | IO[bytes], mode: str = "r") -> GdImageFile: + """ + Load texture from a GD image file. + + :param fp: GD file name, or an opened file handle. + :param mode: Optional mode. In this version, if the mode argument + is given, it must be "r". + :returns: An image instance. + :raises OSError: If the image could not be read. + """ + if mode != "r": + msg = "bad mode" + raise ValueError(msg) + + try: + return GdImageFile(fp) + except SyntaxError as e: + msg = "cannot identify this image file" + raise UnidentifiedImageError(msg) from e diff --git a/gestao_raul/Lib/site-packages/PIL/GifImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/GifImagePlugin.py new file mode 100644 index 0000000..57c2917 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/GifImagePlugin.py @@ -0,0 +1,1197 @@ +# +# The Python Imaging Library. +# $Id$ +# +# GIF file handling +# +# History: +# 1995-09-01 fl Created +# 1996-12-14 fl Added interlace support +# 1996-12-30 fl Added animation support +# 1997-01-05 fl Added write support, fixed local colour map bug +# 1997-02-23 fl Make sure to load raster data in getdata() +# 1997-07-05 fl Support external decoder (0.4) +# 1998-07-09 fl Handle all modes when saving (0.5) +# 1998-07-15 fl Renamed offset attribute to avoid name clash +# 2001-04-16 fl Added rewind support (seek to frame 0) (0.6) +# 2001-04-17 fl Added palette optimization (0.7) +# 2002-06-06 fl Added transparency support for save (0.8) +# 2004-02-24 fl Disable interlacing for small images +# +# Copyright (c) 1997-2004 by Secret Labs AB +# Copyright (c) 1995-2004 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import itertools +import math +import os +import subprocess +from enum import IntEnum +from functools import cached_property +from typing import IO, TYPE_CHECKING, Any, Literal, NamedTuple, Union + +from . import ( + Image, + ImageChops, + ImageFile, + ImageMath, + ImageOps, + ImagePalette, + ImageSequence, +) +from ._binary import i16le as i16 +from ._binary import o8 +from ._binary import o16le as o16 + +if TYPE_CHECKING: + from . import _imaging + from ._typing import Buffer + + +class LoadingStrategy(IntEnum): + """.. versionadded:: 9.1.0""" + + RGB_AFTER_FIRST = 0 + RGB_AFTER_DIFFERENT_PALETTE_ONLY = 1 + RGB_ALWAYS = 2 + + +#: .. versionadded:: 9.1.0 +LOADING_STRATEGY = LoadingStrategy.RGB_AFTER_FIRST + +# -------------------------------------------------------------------- +# Identify/read GIF files + + +def _accept(prefix: bytes) -> bool: + return prefix[:6] in [b"GIF87a", b"GIF89a"] + + +## +# Image plugin for GIF images. This plugin supports both GIF87 and +# GIF89 images. + + +class GifImageFile(ImageFile.ImageFile): + format = "GIF" + format_description = "Compuserve GIF" + _close_exclusive_fp_after_loading = False + + global_palette = None + + def data(self) -> bytes | None: + s = self.fp.read(1) + if s and s[0]: + return self.fp.read(s[0]) + return None + + def _is_palette_needed(self, p: bytes) -> bool: + for i in range(0, len(p), 3): + if not (i // 3 == p[i] == p[i + 1] == p[i + 2]): + return True + return False + + def _open(self) -> None: + # Screen + s = self.fp.read(13) + if not _accept(s): + msg = "not a GIF file" + raise SyntaxError(msg) + + self.info["version"] = s[:6] + self._size = i16(s, 6), i16(s, 8) + self.tile = [] + flags = s[10] + bits = (flags & 7) + 1 + + if flags & 128: + # get global palette + self.info["background"] = s[11] + # check if palette contains colour indices + p = self.fp.read(3 << bits) + if self._is_palette_needed(p): + p = ImagePalette.raw("RGB", p) + self.global_palette = self.palette = p + + self._fp = self.fp # FIXME: hack + self.__rewind = self.fp.tell() + self._n_frames: int | None = None + self._seek(0) # get ready to read first frame + + @property + def n_frames(self) -> int: + if self._n_frames is None: + current = self.tell() + try: + while True: + self._seek(self.tell() + 1, False) + except EOFError: + self._n_frames = self.tell() + 1 + self.seek(current) + return self._n_frames + + @cached_property + def is_animated(self) -> bool: + if self._n_frames is not None: + return self._n_frames != 1 + + current = self.tell() + if current: + return True + + try: + self._seek(1, False) + is_animated = True + except EOFError: + is_animated = False + + self.seek(current) + return is_animated + + def seek(self, frame: int) -> None: + if not self._seek_check(frame): + return + if frame < self.__frame: + self._im = None + self._seek(0) + + last_frame = self.__frame + for f in range(self.__frame + 1, frame + 1): + try: + self._seek(f) + except EOFError as e: + self.seek(last_frame) + msg = "no more images in GIF file" + raise EOFError(msg) from e + + def _seek(self, frame: int, update_image: bool = True) -> None: + if frame == 0: + # rewind + self.__offset = 0 + self.dispose: _imaging.ImagingCore | None = None + self.__frame = -1 + self._fp.seek(self.__rewind) + self.disposal_method = 0 + if "comment" in self.info: + del self.info["comment"] + else: + # ensure that the previous frame was loaded + if self.tile and update_image: + self.load() + + if frame != self.__frame + 1: + msg = f"cannot seek to frame {frame}" + raise ValueError(msg) + + self.fp = self._fp + if self.__offset: + # backup to last frame + self.fp.seek(self.__offset) + while self.data(): + pass + self.__offset = 0 + + s = self.fp.read(1) + if not s or s == b";": + msg = "no more images in GIF file" + raise EOFError(msg) + + palette: ImagePalette.ImagePalette | Literal[False] | None = None + + info: dict[str, Any] = {} + frame_transparency = None + interlace = None + frame_dispose_extent = None + while True: + if not s: + s = self.fp.read(1) + if not s or s == b";": + break + + elif s == b"!": + # + # extensions + # + s = self.fp.read(1) + block = self.data() + if s[0] == 249 and block is not None: + # + # graphic control extension + # + flags = block[0] + if flags & 1: + frame_transparency = block[3] + info["duration"] = i16(block, 1) * 10 + + # disposal method - find the value of bits 4 - 6 + dispose_bits = 0b00011100 & flags + dispose_bits = dispose_bits >> 2 + if dispose_bits: + # only set the dispose if it is not + # unspecified. I'm not sure if this is + # correct, but it seems to prevent the last + # frame from looking odd for some animations + self.disposal_method = dispose_bits + elif s[0] == 254: + # + # comment extension + # + comment = b"" + + # Read this comment block + while block: + comment += block + block = self.data() + + if "comment" in info: + # If multiple comment blocks in frame, separate with \n + info["comment"] += b"\n" + comment + else: + info["comment"] = comment + s = None + continue + elif s[0] == 255 and frame == 0 and block is not None: + # + # application extension + # + info["extension"] = block, self.fp.tell() + if block[:11] == b"NETSCAPE2.0": + block = self.data() + if block and len(block) >= 3 and block[0] == 1: + self.info["loop"] = i16(block, 1) + while self.data(): + pass + + elif s == b",": + # + # local image + # + s = self.fp.read(9) + + # extent + x0, y0 = i16(s, 0), i16(s, 2) + x1, y1 = x0 + i16(s, 4), y0 + i16(s, 6) + if (x1 > self.size[0] or y1 > self.size[1]) and update_image: + self._size = max(x1, self.size[0]), max(y1, self.size[1]) + Image._decompression_bomb_check(self._size) + frame_dispose_extent = x0, y0, x1, y1 + flags = s[8] + + interlace = (flags & 64) != 0 + + if flags & 128: + bits = (flags & 7) + 1 + p = self.fp.read(3 << bits) + if self._is_palette_needed(p): + palette = ImagePalette.raw("RGB", p) + else: + palette = False + + # image data + bits = self.fp.read(1)[0] + self.__offset = self.fp.tell() + break + s = None + + if interlace is None: + msg = "image not found in GIF frame" + raise EOFError(msg) + + self.__frame = frame + if not update_image: + return + + self.tile = [] + + if self.dispose: + self.im.paste(self.dispose, self.dispose_extent) + + self._frame_palette = palette if palette is not None else self.global_palette + self._frame_transparency = frame_transparency + if frame == 0: + if self._frame_palette: + if LOADING_STRATEGY == LoadingStrategy.RGB_ALWAYS: + self._mode = "RGBA" if frame_transparency is not None else "RGB" + else: + self._mode = "P" + else: + self._mode = "L" + + if palette: + self.palette = palette + elif self.global_palette: + from copy import copy + + self.palette = copy(self.global_palette) + else: + self.palette = None + else: + if self.mode == "P": + if ( + LOADING_STRATEGY != LoadingStrategy.RGB_AFTER_DIFFERENT_PALETTE_ONLY + or palette + ): + if "transparency" in self.info: + self.im.putpalettealpha(self.info["transparency"], 0) + self.im = self.im.convert("RGBA", Image.Dither.FLOYDSTEINBERG) + self._mode = "RGBA" + del self.info["transparency"] + else: + self._mode = "RGB" + self.im = self.im.convert("RGB", Image.Dither.FLOYDSTEINBERG) + + def _rgb(color: int) -> tuple[int, int, int]: + if self._frame_palette: + if color * 3 + 3 > len(self._frame_palette.palette): + color = 0 + return tuple(self._frame_palette.palette[color * 3 : color * 3 + 3]) + else: + return (color, color, color) + + self.dispose = None + self.dispose_extent = frame_dispose_extent + if self.dispose_extent and self.disposal_method >= 2: + try: + if self.disposal_method == 2: + # replace with background colour + + # only dispose the extent in this frame + x0, y0, x1, y1 = self.dispose_extent + dispose_size = (x1 - x0, y1 - y0) + + Image._decompression_bomb_check(dispose_size) + + # by convention, attempt to use transparency first + dispose_mode = "P" + color = self.info.get("transparency", frame_transparency) + if color is not None: + if self.mode in ("RGB", "RGBA"): + dispose_mode = "RGBA" + color = _rgb(color) + (0,) + else: + color = self.info.get("background", 0) + if self.mode in ("RGB", "RGBA"): + dispose_mode = "RGB" + color = _rgb(color) + self.dispose = Image.core.fill(dispose_mode, dispose_size, color) + else: + # replace with previous contents + if self._im is not None: + # only dispose the extent in this frame + self.dispose = self._crop(self.im, self.dispose_extent) + elif frame_transparency is not None: + x0, y0, x1, y1 = self.dispose_extent + dispose_size = (x1 - x0, y1 - y0) + + Image._decompression_bomb_check(dispose_size) + dispose_mode = "P" + color = frame_transparency + if self.mode in ("RGB", "RGBA"): + dispose_mode = "RGBA" + color = _rgb(frame_transparency) + (0,) + self.dispose = Image.core.fill( + dispose_mode, dispose_size, color + ) + except AttributeError: + pass + + if interlace is not None: + transparency = -1 + if frame_transparency is not None: + if frame == 0: + if LOADING_STRATEGY != LoadingStrategy.RGB_ALWAYS: + self.info["transparency"] = frame_transparency + elif self.mode not in ("RGB", "RGBA"): + transparency = frame_transparency + self.tile = [ + ImageFile._Tile( + "gif", + (x0, y0, x1, y1), + self.__offset, + (bits, interlace, transparency), + ) + ] + + if info.get("comment"): + self.info["comment"] = info["comment"] + for k in ["duration", "extension"]: + if k in info: + self.info[k] = info[k] + elif k in self.info: + del self.info[k] + + def load_prepare(self) -> None: + temp_mode = "P" if self._frame_palette else "L" + self._prev_im = None + if self.__frame == 0: + if self._frame_transparency is not None: + self.im = Image.core.fill( + temp_mode, self.size, self._frame_transparency + ) + elif self.mode in ("RGB", "RGBA"): + self._prev_im = self.im + if self._frame_palette: + self.im = Image.core.fill("P", self.size, self._frame_transparency or 0) + self.im.putpalette("RGB", *self._frame_palette.getdata()) + else: + self._im = None + if not self._prev_im and self._im is not None and self.size != self.im.size: + expanded_im = Image.core.fill(self.im.mode, self.size) + if self._frame_palette: + expanded_im.putpalette("RGB", *self._frame_palette.getdata()) + expanded_im.paste(self.im, (0, 0) + self.im.size) + + self.im = expanded_im + self._mode = temp_mode + self._frame_palette = None + + super().load_prepare() + + def load_end(self) -> None: + if self.__frame == 0: + if self.mode == "P" and LOADING_STRATEGY == LoadingStrategy.RGB_ALWAYS: + if self._frame_transparency is not None: + self.im.putpalettealpha(self._frame_transparency, 0) + self._mode = "RGBA" + else: + self._mode = "RGB" + self.im = self.im.convert(self.mode, Image.Dither.FLOYDSTEINBERG) + return + if not self._prev_im: + return + if self.size != self._prev_im.size: + if self._frame_transparency is not None: + expanded_im = Image.core.fill("RGBA", self.size) + else: + expanded_im = Image.core.fill("P", self.size) + expanded_im.putpalette("RGB", "RGB", self.im.getpalette()) + expanded_im = expanded_im.convert("RGB") + expanded_im.paste(self._prev_im, (0, 0) + self._prev_im.size) + + self._prev_im = expanded_im + assert self._prev_im is not None + if self._frame_transparency is not None: + self.im.putpalettealpha(self._frame_transparency, 0) + frame_im = self.im.convert("RGBA") + else: + frame_im = self.im.convert("RGB") + + assert self.dispose_extent is not None + frame_im = self._crop(frame_im, self.dispose_extent) + + self.im = self._prev_im + self._mode = self.im.mode + if frame_im.mode == "RGBA": + self.im.paste(frame_im, self.dispose_extent, frame_im) + else: + self.im.paste(frame_im, self.dispose_extent) + + def tell(self) -> int: + return self.__frame + + +# -------------------------------------------------------------------- +# Write GIF files + + +RAWMODE = {"1": "L", "L": "L", "P": "P"} + + +def _normalize_mode(im: Image.Image) -> Image.Image: + """ + Takes an image (or frame), returns an image in a mode that is appropriate + for saving in a Gif. + + It may return the original image, or it may return an image converted to + palette or 'L' mode. + + :param im: Image object + :returns: Image object + """ + if im.mode in RAWMODE: + im.load() + return im + if Image.getmodebase(im.mode) == "RGB": + im = im.convert("P", palette=Image.Palette.ADAPTIVE) + assert im.palette is not None + if im.palette.mode == "RGBA": + for rgba in im.palette.colors: + if rgba[3] == 0: + im.info["transparency"] = im.palette.colors[rgba] + break + return im + return im.convert("L") + + +_Palette = Union[bytes, bytearray, list[int], ImagePalette.ImagePalette] + + +def _normalize_palette( + im: Image.Image, palette: _Palette | None, info: dict[str, Any] +) -> Image.Image: + """ + Normalizes the palette for image. + - Sets the palette to the incoming palette, if provided. + - Ensures that there's a palette for L mode images + - Optimizes the palette if necessary/desired. + + :param im: Image object + :param palette: bytes object containing the source palette, or .... + :param info: encoderinfo + :returns: Image object + """ + source_palette = None + if palette: + # a bytes palette + if isinstance(palette, (bytes, bytearray, list)): + source_palette = bytearray(palette[:768]) + if isinstance(palette, ImagePalette.ImagePalette): + source_palette = bytearray(palette.palette) + + if im.mode == "P": + if not source_palette: + im_palette = im.getpalette(None) + assert im_palette is not None + source_palette = bytearray(im_palette) + else: # L-mode + if not source_palette: + source_palette = bytearray(i // 3 for i in range(768)) + im.palette = ImagePalette.ImagePalette("RGB", palette=source_palette) + assert source_palette is not None + + if palette: + used_palette_colors: list[int | None] = [] + assert im.palette is not None + for i in range(0, len(source_palette), 3): + source_color = tuple(source_palette[i : i + 3]) + index = im.palette.colors.get(source_color) + if index in used_palette_colors: + index = None + used_palette_colors.append(index) + for i, index in enumerate(used_palette_colors): + if index is None: + for j in range(len(used_palette_colors)): + if j not in used_palette_colors: + used_palette_colors[i] = j + break + dest_map: list[int] = [] + for index in used_palette_colors: + assert index is not None + dest_map.append(index) + im = im.remap_palette(dest_map) + else: + optimized_palette_colors = _get_optimize(im, info) + if optimized_palette_colors is not None: + im = im.remap_palette(optimized_palette_colors, source_palette) + if "transparency" in info: + try: + info["transparency"] = optimized_palette_colors.index( + info["transparency"] + ) + except ValueError: + del info["transparency"] + return im + + assert im.palette is not None + im.palette.palette = source_palette + return im + + +def _write_single_frame( + im: Image.Image, + fp: IO[bytes], + palette: _Palette | None, +) -> None: + im_out = _normalize_mode(im) + for k, v in im_out.info.items(): + if isinstance(k, str): + im.encoderinfo.setdefault(k, v) + im_out = _normalize_palette(im_out, palette, im.encoderinfo) + + for s in _get_global_header(im_out, im.encoderinfo): + fp.write(s) + + # local image header + flags = 0 + if get_interlace(im): + flags = flags | 64 + _write_local_header(fp, im, (0, 0), flags) + + im_out.encoderconfig = (8, get_interlace(im)) + ImageFile._save( + im_out, fp, [ImageFile._Tile("gif", (0, 0) + im.size, 0, RAWMODE[im_out.mode])] + ) + + fp.write(b"\0") # end of image data + + +def _getbbox( + base_im: Image.Image, im_frame: Image.Image +) -> tuple[Image.Image, tuple[int, int, int, int] | None]: + palette_bytes = [ + bytes(im.palette.palette) if im.palette else b"" for im in (base_im, im_frame) + ] + if palette_bytes[0] != palette_bytes[1]: + im_frame = im_frame.convert("RGBA") + base_im = base_im.convert("RGBA") + delta = ImageChops.subtract_modulo(im_frame, base_im) + return delta, delta.getbbox(alpha_only=False) + + +class _Frame(NamedTuple): + im: Image.Image + bbox: tuple[int, int, int, int] | None + encoderinfo: dict[str, Any] + + +def _write_multiple_frames( + im: Image.Image, fp: IO[bytes], palette: _Palette | None +) -> bool: + duration = im.encoderinfo.get("duration") + disposal = im.encoderinfo.get("disposal", im.info.get("disposal")) + + im_frames: list[_Frame] = [] + previous_im: Image.Image | None = None + frame_count = 0 + background_im = None + for imSequence in itertools.chain([im], im.encoderinfo.get("append_images", [])): + for im_frame in ImageSequence.Iterator(imSequence): + # a copy is required here since seek can still mutate the image + im_frame = _normalize_mode(im_frame.copy()) + if frame_count == 0: + for k, v in im_frame.info.items(): + if k == "transparency": + continue + if isinstance(k, str): + im.encoderinfo.setdefault(k, v) + + encoderinfo = im.encoderinfo.copy() + if "transparency" in im_frame.info: + encoderinfo.setdefault("transparency", im_frame.info["transparency"]) + im_frame = _normalize_palette(im_frame, palette, encoderinfo) + if isinstance(duration, (list, tuple)): + encoderinfo["duration"] = duration[frame_count] + elif duration is None and "duration" in im_frame.info: + encoderinfo["duration"] = im_frame.info["duration"] + if isinstance(disposal, (list, tuple)): + encoderinfo["disposal"] = disposal[frame_count] + frame_count += 1 + + diff_frame = None + if im_frames and previous_im: + # delta frame + delta, bbox = _getbbox(previous_im, im_frame) + if not bbox: + # This frame is identical to the previous frame + if encoderinfo.get("duration"): + im_frames[-1].encoderinfo["duration"] += encoderinfo["duration"] + continue + if im_frames[-1].encoderinfo.get("disposal") == 2: + if background_im is None: + color = im.encoderinfo.get( + "transparency", im.info.get("transparency", (0, 0, 0)) + ) + background = _get_background(im_frame, color) + background_im = Image.new("P", im_frame.size, background) + assert im_frames[0].im.palette is not None + background_im.putpalette(im_frames[0].im.palette) + bbox = _getbbox(background_im, im_frame)[1] + elif encoderinfo.get("optimize") and im_frame.mode != "1": + if "transparency" not in encoderinfo: + assert im_frame.palette is not None + try: + encoderinfo["transparency"] = ( + im_frame.palette._new_color_index(im_frame) + ) + except ValueError: + pass + if "transparency" in encoderinfo: + # When the delta is zero, fill the image with transparency + diff_frame = im_frame.copy() + fill = Image.new("P", delta.size, encoderinfo["transparency"]) + if delta.mode == "RGBA": + r, g, b, a = delta.split() + mask = ImageMath.lambda_eval( + lambda args: args["convert"]( + args["max"]( + args["max"]( + args["max"](args["r"], args["g"]), args["b"] + ), + args["a"], + ) + * 255, + "1", + ), + r=r, + g=g, + b=b, + a=a, + ) + else: + if delta.mode == "P": + # Convert to L without considering palette + delta_l = Image.new("L", delta.size) + delta_l.putdata(delta.getdata()) + delta = delta_l + mask = ImageMath.lambda_eval( + lambda args: args["convert"](args["im"] * 255, "1"), + im=delta, + ) + diff_frame.paste(fill, mask=ImageOps.invert(mask)) + else: + bbox = None + previous_im = im_frame + im_frames.append(_Frame(diff_frame or im_frame, bbox, encoderinfo)) + + if len(im_frames) == 1: + if "duration" in im.encoderinfo: + # Since multiple frames will not be written, use the combined duration + im.encoderinfo["duration"] = im_frames[0].encoderinfo["duration"] + return False + + for frame_data in im_frames: + im_frame = frame_data.im + if not frame_data.bbox: + # global header + for s in _get_global_header(im_frame, frame_data.encoderinfo): + fp.write(s) + offset = (0, 0) + else: + # compress difference + if not palette: + frame_data.encoderinfo["include_color_table"] = True + + im_frame = im_frame.crop(frame_data.bbox) + offset = frame_data.bbox[:2] + _write_frame_data(fp, im_frame, offset, frame_data.encoderinfo) + return True + + +def _save_all(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + _save(im, fp, filename, save_all=True) + + +def _save( + im: Image.Image, fp: IO[bytes], filename: str | bytes, save_all: bool = False +) -> None: + # header + if "palette" in im.encoderinfo or "palette" in im.info: + palette = im.encoderinfo.get("palette", im.info.get("palette")) + else: + palette = None + im.encoderinfo.setdefault("optimize", True) + + if not save_all or not _write_multiple_frames(im, fp, palette): + _write_single_frame(im, fp, palette) + + fp.write(b";") # end of file + + if hasattr(fp, "flush"): + fp.flush() + + +def get_interlace(im: Image.Image) -> int: + interlace = im.encoderinfo.get("interlace", 1) + + # workaround for @PIL153 + if min(im.size) < 16: + interlace = 0 + + return interlace + + +def _write_local_header( + fp: IO[bytes], im: Image.Image, offset: tuple[int, int], flags: int +) -> None: + try: + transparency = im.encoderinfo["transparency"] + except KeyError: + transparency = None + + if "duration" in im.encoderinfo: + duration = int(im.encoderinfo["duration"] / 10) + else: + duration = 0 + + disposal = int(im.encoderinfo.get("disposal", 0)) + + if transparency is not None or duration != 0 or disposal: + packed_flag = 1 if transparency is not None else 0 + packed_flag |= disposal << 2 + + fp.write( + b"!" + + o8(249) # extension intro + + o8(4) # length + + o8(packed_flag) # packed fields + + o16(duration) # duration + + o8(transparency or 0) # transparency index + + o8(0) + ) + + include_color_table = im.encoderinfo.get("include_color_table") + if include_color_table: + palette_bytes = _get_palette_bytes(im) + color_table_size = _get_color_table_size(palette_bytes) + if color_table_size: + flags = flags | 128 # local color table flag + flags = flags | color_table_size + + fp.write( + b"," + + o16(offset[0]) # offset + + o16(offset[1]) + + o16(im.size[0]) # size + + o16(im.size[1]) + + o8(flags) # flags + ) + if include_color_table and color_table_size: + fp.write(_get_header_palette(palette_bytes)) + fp.write(o8(8)) # bits + + +def _save_netpbm(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + # Unused by default. + # To use, uncomment the register_save call at the end of the file. + # + # If you need real GIF compression and/or RGB quantization, you + # can use the external NETPBM/PBMPLUS utilities. See comments + # below for information on how to enable this. + tempfile = im._dump() + + try: + with open(filename, "wb") as f: + if im.mode != "RGB": + subprocess.check_call( + ["ppmtogif", tempfile], stdout=f, stderr=subprocess.DEVNULL + ) + else: + # Pipe ppmquant output into ppmtogif + # "ppmquant 256 %s | ppmtogif > %s" % (tempfile, filename) + quant_cmd = ["ppmquant", "256", tempfile] + togif_cmd = ["ppmtogif"] + quant_proc = subprocess.Popen( + quant_cmd, stdout=subprocess.PIPE, stderr=subprocess.DEVNULL + ) + togif_proc = subprocess.Popen( + togif_cmd, + stdin=quant_proc.stdout, + stdout=f, + stderr=subprocess.DEVNULL, + ) + + # Allow ppmquant to receive SIGPIPE if ppmtogif exits + assert quant_proc.stdout is not None + quant_proc.stdout.close() + + retcode = quant_proc.wait() + if retcode: + raise subprocess.CalledProcessError(retcode, quant_cmd) + + retcode = togif_proc.wait() + if retcode: + raise subprocess.CalledProcessError(retcode, togif_cmd) + finally: + try: + os.unlink(tempfile) + except OSError: + pass + + +# Force optimization so that we can test performance against +# cases where it took lots of memory and time previously. +_FORCE_OPTIMIZE = False + + +def _get_optimize(im: Image.Image, info: dict[str, Any]) -> list[int] | None: + """ + Palette optimization is a potentially expensive operation. + + This function determines if the palette should be optimized using + some heuristics, then returns the list of palette entries in use. + + :param im: Image object + :param info: encoderinfo + :returns: list of indexes of palette entries in use, or None + """ + if im.mode in ("P", "L") and info and info.get("optimize"): + # Potentially expensive operation. + + # The palette saves 3 bytes per color not used, but palette + # lengths are restricted to 3*(2**N) bytes. Max saving would + # be 768 -> 6 bytes if we went all the way down to 2 colors. + # * If we're over 128 colors, we can't save any space. + # * If there aren't any holes, it's not worth collapsing. + # * If we have a 'large' image, the palette is in the noise. + + # create the new palette if not every color is used + optimise = _FORCE_OPTIMIZE or im.mode == "L" + if optimise or im.width * im.height < 512 * 512: + # check which colors are used + used_palette_colors = [] + for i, count in enumerate(im.histogram()): + if count: + used_palette_colors.append(i) + + if optimise or max(used_palette_colors) >= len(used_palette_colors): + return used_palette_colors + + assert im.palette is not None + num_palette_colors = len(im.palette.palette) // Image.getmodebands( + im.palette.mode + ) + current_palette_size = 1 << (num_palette_colors - 1).bit_length() + if ( + # check that the palette would become smaller when saved + len(used_palette_colors) <= current_palette_size // 2 + # check that the palette is not already the smallest possible size + and current_palette_size > 2 + ): + return used_palette_colors + return None + + +def _get_color_table_size(palette_bytes: bytes) -> int: + # calculate the palette size for the header + if not palette_bytes: + return 0 + elif len(palette_bytes) < 9: + return 1 + else: + return math.ceil(math.log(len(palette_bytes) // 3, 2)) - 1 + + +def _get_header_palette(palette_bytes: bytes) -> bytes: + """ + Returns the palette, null padded to the next power of 2 (*3) bytes + suitable for direct inclusion in the GIF header + + :param palette_bytes: Unpadded palette bytes, in RGBRGB form + :returns: Null padded palette + """ + color_table_size = _get_color_table_size(palette_bytes) + + # add the missing amount of bytes + # the palette has to be 2< 0: + palette_bytes += o8(0) * 3 * actual_target_size_diff + return palette_bytes + + +def _get_palette_bytes(im: Image.Image) -> bytes: + """ + Gets the palette for inclusion in the gif header + + :param im: Image object + :returns: Bytes, len<=768 suitable for inclusion in gif header + """ + if not im.palette: + return b"" + + palette = bytes(im.palette.palette) + if im.palette.mode == "RGBA": + palette = b"".join(palette[i * 4 : i * 4 + 3] for i in range(len(palette) // 3)) + return palette + + +def _get_background( + im: Image.Image, + info_background: int | tuple[int, int, int] | tuple[int, int, int, int] | None, +) -> int: + background = 0 + if info_background: + if isinstance(info_background, tuple): + # WebPImagePlugin stores an RGBA value in info["background"] + # So it must be converted to the same format as GifImagePlugin's + # info["background"] - a global color table index + assert im.palette is not None + try: + background = im.palette.getcolor(info_background, im) + except ValueError as e: + if str(e) not in ( + # If all 256 colors are in use, + # then there is no need for the background color + "cannot allocate more than 256 colors", + # Ignore non-opaque WebP background + "cannot add non-opaque RGBA color to RGB palette", + ): + raise + else: + background = info_background + return background + + +def _get_global_header(im: Image.Image, info: dict[str, Any]) -> list[bytes]: + """Return a list of strings representing a GIF header""" + + # Header Block + # https://www.matthewflickinger.com/lab/whatsinagif/bits_and_bytes.asp + + version = b"87a" + if im.info.get("version") == b"89a" or ( + info + and ( + "transparency" in info + or info.get("loop") is not None + or info.get("duration") + or info.get("comment") + ) + ): + version = b"89a" + + background = _get_background(im, info.get("background")) + + palette_bytes = _get_palette_bytes(im) + color_table_size = _get_color_table_size(palette_bytes) + + header = [ + b"GIF" # signature + + version # version + + o16(im.size[0]) # canvas width + + o16(im.size[1]), # canvas height + # Logical Screen Descriptor + # size of global color table + global color table flag + o8(color_table_size + 128), # packed fields + # background + reserved/aspect + o8(background) + o8(0), + # Global Color Table + _get_header_palette(palette_bytes), + ] + if info.get("loop") is not None: + header.append( + b"!" + + o8(255) # extension intro + + o8(11) + + b"NETSCAPE2.0" + + o8(3) + + o8(1) + + o16(info["loop"]) # number of loops + + o8(0) + ) + if info.get("comment"): + comment_block = b"!" + o8(254) # extension intro + + comment = info["comment"] + if isinstance(comment, str): + comment = comment.encode() + for i in range(0, len(comment), 255): + subblock = comment[i : i + 255] + comment_block += o8(len(subblock)) + subblock + + comment_block += o8(0) + header.append(comment_block) + return header + + +def _write_frame_data( + fp: IO[bytes], + im_frame: Image.Image, + offset: tuple[int, int], + params: dict[str, Any], +) -> None: + try: + im_frame.encoderinfo = params + + # local image header + _write_local_header(fp, im_frame, offset, 0) + + ImageFile._save( + im_frame, + fp, + [ImageFile._Tile("gif", (0, 0) + im_frame.size, 0, RAWMODE[im_frame.mode])], + ) + + fp.write(b"\0") # end of image data + finally: + del im_frame.encoderinfo + + +# -------------------------------------------------------------------- +# Legacy GIF utilities + + +def getheader( + im: Image.Image, palette: _Palette | None = None, info: dict[str, Any] | None = None +) -> tuple[list[bytes], list[int] | None]: + """ + Legacy Method to get Gif data from image. + + Warning:: May modify image data. + + :param im: Image object + :param palette: bytes object containing the source palette, or .... + :param info: encoderinfo + :returns: tuple of(list of header items, optimized palette) + + """ + if info is None: + info = {} + + used_palette_colors = _get_optimize(im, info) + + if "background" not in info and "background" in im.info: + info["background"] = im.info["background"] + + im_mod = _normalize_palette(im, palette, info) + im.palette = im_mod.palette + im.im = im_mod.im + header = _get_global_header(im, info) + + return header, used_palette_colors + + +def getdata( + im: Image.Image, offset: tuple[int, int] = (0, 0), **params: Any +) -> list[bytes]: + """ + Legacy Method + + Return a list of strings representing this image. + The first string is a local image header, the rest contains + encoded image data. + + To specify duration, add the time in milliseconds, + e.g. ``getdata(im_frame, duration=1000)`` + + :param im: Image object + :param offset: Tuple of (x, y) pixels. Defaults to (0, 0) + :param \\**params: e.g. duration or other encoder info parameters + :returns: List of bytes containing GIF encoded frame data + + """ + from io import BytesIO + + class Collector(BytesIO): + data = [] + + def write(self, data: Buffer) -> int: + self.data.append(data) + return len(data) + + im.load() # make sure raster data is available + + fp = Collector() + + _write_frame_data(fp, im, offset, params) + + return fp.data + + +# -------------------------------------------------------------------- +# Registry + +Image.register_open(GifImageFile.format, GifImageFile, _accept) +Image.register_save(GifImageFile.format, _save) +Image.register_save_all(GifImageFile.format, _save_all) +Image.register_extension(GifImageFile.format, ".gif") +Image.register_mime(GifImageFile.format, "image/gif") + +# +# Uncomment the following line if you wish to use NETPBM/PBMPLUS +# instead of the built-in "uncompressed" GIF encoder + +# Image.register_save(GifImageFile.format, _save_netpbm) diff --git a/gestao_raul/Lib/site-packages/PIL/GimpGradientFile.py b/gestao_raul/Lib/site-packages/PIL/GimpGradientFile.py new file mode 100644 index 0000000..220eac5 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/GimpGradientFile.py @@ -0,0 +1,149 @@ +# +# Python Imaging Library +# $Id$ +# +# stuff to read (and render) GIMP gradient files +# +# History: +# 97-08-23 fl Created +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1997. +# +# See the README file for information on usage and redistribution. +# + +""" +Stuff to translate curve segments to palette values (derived from +the corresponding code in GIMP, written by Federico Mena Quintero. +See the GIMP distribution for more information.) +""" +from __future__ import annotations + +from math import log, pi, sin, sqrt +from typing import IO, Callable + +from ._binary import o8 + +EPSILON = 1e-10 +"""""" # Enable auto-doc for data member + + +def linear(middle: float, pos: float) -> float: + if pos <= middle: + if middle < EPSILON: + return 0.0 + else: + return 0.5 * pos / middle + else: + pos = pos - middle + middle = 1.0 - middle + if middle < EPSILON: + return 1.0 + else: + return 0.5 + 0.5 * pos / middle + + +def curved(middle: float, pos: float) -> float: + return pos ** (log(0.5) / log(max(middle, EPSILON))) + + +def sine(middle: float, pos: float) -> float: + return (sin((-pi / 2.0) + pi * linear(middle, pos)) + 1.0) / 2.0 + + +def sphere_increasing(middle: float, pos: float) -> float: + return sqrt(1.0 - (linear(middle, pos) - 1.0) ** 2) + + +def sphere_decreasing(middle: float, pos: float) -> float: + return 1.0 - sqrt(1.0 - linear(middle, pos) ** 2) + + +SEGMENTS = [linear, curved, sine, sphere_increasing, sphere_decreasing] +"""""" # Enable auto-doc for data member + + +class GradientFile: + gradient: ( + list[ + tuple[ + float, + float, + float, + list[float], + list[float], + Callable[[float, float], float], + ] + ] + | None + ) = None + + def getpalette(self, entries: int = 256) -> tuple[bytes, str]: + assert self.gradient is not None + palette = [] + + ix = 0 + x0, x1, xm, rgb0, rgb1, segment = self.gradient[ix] + + for i in range(entries): + x = i / (entries - 1) + + while x1 < x: + ix += 1 + x0, x1, xm, rgb0, rgb1, segment = self.gradient[ix] + + w = x1 - x0 + + if w < EPSILON: + scale = segment(0.5, 0.5) + else: + scale = segment((xm - x0) / w, (x - x0) / w) + + # expand to RGBA + r = o8(int(255 * ((rgb1[0] - rgb0[0]) * scale + rgb0[0]) + 0.5)) + g = o8(int(255 * ((rgb1[1] - rgb0[1]) * scale + rgb0[1]) + 0.5)) + b = o8(int(255 * ((rgb1[2] - rgb0[2]) * scale + rgb0[2]) + 0.5)) + a = o8(int(255 * ((rgb1[3] - rgb0[3]) * scale + rgb0[3]) + 0.5)) + + # add to palette + palette.append(r + g + b + a) + + return b"".join(palette), "RGBA" + + +class GimpGradientFile(GradientFile): + """File handler for GIMP's gradient format.""" + + def __init__(self, fp: IO[bytes]) -> None: + if fp.readline()[:13] != b"GIMP Gradient": + msg = "not a GIMP gradient file" + raise SyntaxError(msg) + + line = fp.readline() + + # GIMP 1.2 gradient files don't contain a name, but GIMP 1.3 files do + if line.startswith(b"Name: "): + line = fp.readline().strip() + + count = int(line) + + self.gradient = [] + + for i in range(count): + s = fp.readline().split() + w = [float(x) for x in s[:11]] + + x0, x1 = w[0], w[2] + xm = w[1] + rgb0 = w[3:7] + rgb1 = w[7:11] + + segment = SEGMENTS[int(s[11])] + cspace = int(s[12]) + + if cspace != 0: + msg = "cannot handle HSV colour space" + raise OSError(msg) + + self.gradient.append((x0, x1, xm, rgb0, rgb1, segment)) diff --git a/gestao_raul/Lib/site-packages/PIL/GimpPaletteFile.py b/gestao_raul/Lib/site-packages/PIL/GimpPaletteFile.py new file mode 100644 index 0000000..4cad0eb --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/GimpPaletteFile.py @@ -0,0 +1,58 @@ +# +# Python Imaging Library +# $Id$ +# +# stuff to read GIMP palette files +# +# History: +# 1997-08-23 fl Created +# 2004-09-07 fl Support GIMP 2.0 palette files. +# +# Copyright (c) Secret Labs AB 1997-2004. All rights reserved. +# Copyright (c) Fredrik Lundh 1997-2004. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import re +from typing import IO + +from ._binary import o8 + + +class GimpPaletteFile: + """File handler for GIMP's palette format.""" + + rawmode = "RGB" + + def __init__(self, fp: IO[bytes]) -> None: + palette = [o8(i) * 3 for i in range(256)] + + if fp.readline()[:12] != b"GIMP Palette": + msg = "not a GIMP palette file" + raise SyntaxError(msg) + + for i in range(256): + s = fp.readline() + if not s: + break + + # skip fields and comment lines + if re.match(rb"\w+:|#", s): + continue + if len(s) > 100: + msg = "bad palette file" + raise SyntaxError(msg) + + v = tuple(map(int, s.split()[:3])) + if len(v) != 3: + msg = "bad palette entry" + raise ValueError(msg) + + palette[i] = o8(v[0]) + o8(v[1]) + o8(v[2]) + + self.palette = b"".join(palette) + + def getpalette(self) -> tuple[bytes, str]: + return self.palette, self.rawmode diff --git a/gestao_raul/Lib/site-packages/PIL/GribStubImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/GribStubImagePlugin.py new file mode 100644 index 0000000..e9aa084 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/GribStubImagePlugin.py @@ -0,0 +1,76 @@ +# +# The Python Imaging Library +# $Id$ +# +# GRIB stub adapter +# +# Copyright (c) 1996-2003 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from typing import IO + +from . import Image, ImageFile + +_handler = None + + +def register_handler(handler: ImageFile.StubHandler | None) -> None: + """ + Install application-specific GRIB image handler. + + :param handler: Handler object. + """ + global _handler + _handler = handler + + +# -------------------------------------------------------------------- +# Image adapter + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] == b"GRIB" and prefix[7] == 1 + + +class GribStubImageFile(ImageFile.StubImageFile): + format = "GRIB" + format_description = "GRIB" + + def _open(self) -> None: + offset = self.fp.tell() + + if not _accept(self.fp.read(8)): + msg = "Not a GRIB file" + raise SyntaxError(msg) + + self.fp.seek(offset) + + # make something up + self._mode = "F" + self._size = 1, 1 + + loader = self._load() + if loader: + loader.open(self) + + def _load(self) -> ImageFile.StubHandler | None: + return _handler + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if _handler is None or not hasattr(_handler, "save"): + msg = "GRIB save handler not installed" + raise OSError(msg) + _handler.save(im, fp, filename) + + +# -------------------------------------------------------------------- +# Registry + +Image.register_open(GribStubImageFile.format, GribStubImageFile, _accept) +Image.register_save(GribStubImageFile.format, _save) + +Image.register_extension(GribStubImageFile.format, ".grib") diff --git a/gestao_raul/Lib/site-packages/PIL/Hdf5StubImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/Hdf5StubImagePlugin.py new file mode 100644 index 0000000..cc9e73d --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/Hdf5StubImagePlugin.py @@ -0,0 +1,76 @@ +# +# The Python Imaging Library +# $Id$ +# +# HDF5 stub adapter +# +# Copyright (c) 2000-2003 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from typing import IO + +from . import Image, ImageFile + +_handler = None + + +def register_handler(handler: ImageFile.StubHandler | None) -> None: + """ + Install application-specific HDF5 image handler. + + :param handler: Handler object. + """ + global _handler + _handler = handler + + +# -------------------------------------------------------------------- +# Image adapter + + +def _accept(prefix: bytes) -> bool: + return prefix[:8] == b"\x89HDF\r\n\x1a\n" + + +class HDF5StubImageFile(ImageFile.StubImageFile): + format = "HDF5" + format_description = "HDF5" + + def _open(self) -> None: + offset = self.fp.tell() + + if not _accept(self.fp.read(8)): + msg = "Not an HDF file" + raise SyntaxError(msg) + + self.fp.seek(offset) + + # make something up + self._mode = "F" + self._size = 1, 1 + + loader = self._load() + if loader: + loader.open(self) + + def _load(self) -> ImageFile.StubHandler | None: + return _handler + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if _handler is None or not hasattr(_handler, "save"): + msg = "HDF5 save handler not installed" + raise OSError(msg) + _handler.save(im, fp, filename) + + +# -------------------------------------------------------------------- +# Registry + +Image.register_open(HDF5StubImageFile.format, HDF5StubImageFile, _accept) +Image.register_save(HDF5StubImageFile.format, _save) + +Image.register_extensions(HDF5StubImageFile.format, [".h5", ".hdf"]) diff --git a/gestao_raul/Lib/site-packages/PIL/IcnsImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/IcnsImagePlugin.py new file mode 100644 index 0000000..9757b2b --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/IcnsImagePlugin.py @@ -0,0 +1,412 @@ +# +# The Python Imaging Library. +# $Id$ +# +# macOS icns file decoder, based on icns.py by Bob Ippolito. +# +# history: +# 2004-10-09 fl Turned into a PIL plugin; removed 2.3 dependencies. +# 2020-04-04 Allow saving on all operating systems. +# +# Copyright (c) 2004 by Bob Ippolito. +# Copyright (c) 2004 by Secret Labs. +# Copyright (c) 2004 by Fredrik Lundh. +# Copyright (c) 2014 by Alastair Houghton. +# Copyright (c) 2020 by Pan Jing. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io +import os +import struct +import sys +from typing import IO + +from . import Image, ImageFile, PngImagePlugin, features +from ._deprecate import deprecate + +enable_jpeg2k = features.check_codec("jpg_2000") +if enable_jpeg2k: + from . import Jpeg2KImagePlugin + +MAGIC = b"icns" +HEADERSIZE = 8 + + +def nextheader(fobj: IO[bytes]) -> tuple[bytes, int]: + return struct.unpack(">4sI", fobj.read(HEADERSIZE)) + + +def read_32t( + fobj: IO[bytes], start_length: tuple[int, int], size: tuple[int, int, int] +) -> dict[str, Image.Image]: + # The 128x128 icon seems to have an extra header for some reason. + (start, length) = start_length + fobj.seek(start) + sig = fobj.read(4) + if sig != b"\x00\x00\x00\x00": + msg = "Unknown signature, expecting 0x00000000" + raise SyntaxError(msg) + return read_32(fobj, (start + 4, length - 4), size) + + +def read_32( + fobj: IO[bytes], start_length: tuple[int, int], size: tuple[int, int, int] +) -> dict[str, Image.Image]: + """ + Read a 32bit RGB icon resource. Seems to be either uncompressed or + an RLE packbits-like scheme. + """ + (start, length) = start_length + fobj.seek(start) + pixel_size = (size[0] * size[2], size[1] * size[2]) + sizesq = pixel_size[0] * pixel_size[1] + if length == sizesq * 3: + # uncompressed ("RGBRGBGB") + indata = fobj.read(length) + im = Image.frombuffer("RGB", pixel_size, indata, "raw", "RGB", 0, 1) + else: + # decode image + im = Image.new("RGB", pixel_size, None) + for band_ix in range(3): + data = [] + bytesleft = sizesq + while bytesleft > 0: + byte = fobj.read(1) + if not byte: + break + byte_int = byte[0] + if byte_int & 0x80: + blocksize = byte_int - 125 + byte = fobj.read(1) + for i in range(blocksize): + data.append(byte) + else: + blocksize = byte_int + 1 + data.append(fobj.read(blocksize)) + bytesleft -= blocksize + if bytesleft <= 0: + break + if bytesleft != 0: + msg = f"Error reading channel [{repr(bytesleft)} left]" + raise SyntaxError(msg) + band = Image.frombuffer("L", pixel_size, b"".join(data), "raw", "L", 0, 1) + im.im.putband(band.im, band_ix) + return {"RGB": im} + + +def read_mk( + fobj: IO[bytes], start_length: tuple[int, int], size: tuple[int, int, int] +) -> dict[str, Image.Image]: + # Alpha masks seem to be uncompressed + start = start_length[0] + fobj.seek(start) + pixel_size = (size[0] * size[2], size[1] * size[2]) + sizesq = pixel_size[0] * pixel_size[1] + band = Image.frombuffer("L", pixel_size, fobj.read(sizesq), "raw", "L", 0, 1) + return {"A": band} + + +def read_png_or_jpeg2000( + fobj: IO[bytes], start_length: tuple[int, int], size: tuple[int, int, int] +) -> dict[str, Image.Image]: + (start, length) = start_length + fobj.seek(start) + sig = fobj.read(12) + + im: Image.Image + if sig[:8] == b"\x89PNG\x0d\x0a\x1a\x0a": + fobj.seek(start) + im = PngImagePlugin.PngImageFile(fobj) + Image._decompression_bomb_check(im.size) + return {"RGBA": im} + elif ( + sig[:4] == b"\xff\x4f\xff\x51" + or sig[:4] == b"\x0d\x0a\x87\x0a" + or sig == b"\x00\x00\x00\x0cjP \x0d\x0a\x87\x0a" + ): + if not enable_jpeg2k: + msg = ( + "Unsupported icon subimage format (rebuild PIL " + "with JPEG 2000 support to fix this)" + ) + raise ValueError(msg) + # j2k, jpc or j2c + fobj.seek(start) + jp2kstream = fobj.read(length) + f = io.BytesIO(jp2kstream) + im = Jpeg2KImagePlugin.Jpeg2KImageFile(f) + Image._decompression_bomb_check(im.size) + if im.mode != "RGBA": + im = im.convert("RGBA") + return {"RGBA": im} + else: + msg = "Unsupported icon subimage format" + raise ValueError(msg) + + +class IcnsFile: + SIZES = { + (512, 512, 2): [(b"ic10", read_png_or_jpeg2000)], + (512, 512, 1): [(b"ic09", read_png_or_jpeg2000)], + (256, 256, 2): [(b"ic14", read_png_or_jpeg2000)], + (256, 256, 1): [(b"ic08", read_png_or_jpeg2000)], + (128, 128, 2): [(b"ic13", read_png_or_jpeg2000)], + (128, 128, 1): [ + (b"ic07", read_png_or_jpeg2000), + (b"it32", read_32t), + (b"t8mk", read_mk), + ], + (64, 64, 1): [(b"icp6", read_png_or_jpeg2000)], + (32, 32, 2): [(b"ic12", read_png_or_jpeg2000)], + (48, 48, 1): [(b"ih32", read_32), (b"h8mk", read_mk)], + (32, 32, 1): [ + (b"icp5", read_png_or_jpeg2000), + (b"il32", read_32), + (b"l8mk", read_mk), + ], + (16, 16, 2): [(b"ic11", read_png_or_jpeg2000)], + (16, 16, 1): [ + (b"icp4", read_png_or_jpeg2000), + (b"is32", read_32), + (b"s8mk", read_mk), + ], + } + + def __init__(self, fobj: IO[bytes]) -> None: + """ + fobj is a file-like object as an icns resource + """ + # signature : (start, length) + self.dct = {} + self.fobj = fobj + sig, filesize = nextheader(fobj) + if not _accept(sig): + msg = "not an icns file" + raise SyntaxError(msg) + i = HEADERSIZE + while i < filesize: + sig, blocksize = nextheader(fobj) + if blocksize <= 0: + msg = "invalid block header" + raise SyntaxError(msg) + i += HEADERSIZE + blocksize -= HEADERSIZE + self.dct[sig] = (i, blocksize) + fobj.seek(blocksize, io.SEEK_CUR) + i += blocksize + + def itersizes(self) -> list[tuple[int, int, int]]: + sizes = [] + for size, fmts in self.SIZES.items(): + for fmt, reader in fmts: + if fmt in self.dct: + sizes.append(size) + break + return sizes + + def bestsize(self) -> tuple[int, int, int]: + sizes = self.itersizes() + if not sizes: + msg = "No 32bit icon resources found" + raise SyntaxError(msg) + return max(sizes) + + def dataforsize(self, size: tuple[int, int, int]) -> dict[str, Image.Image]: + """ + Get an icon resource as {channel: array}. Note that + the arrays are bottom-up like windows bitmaps and will likely + need to be flipped or transposed in some way. + """ + dct = {} + for code, reader in self.SIZES[size]: + desc = self.dct.get(code) + if desc is not None: + dct.update(reader(self.fobj, desc, size)) + return dct + + def getimage( + self, size: tuple[int, int] | tuple[int, int, int] | None = None + ) -> Image.Image: + if size is None: + size = self.bestsize() + elif len(size) == 2: + size = (size[0], size[1], 1) + channels = self.dataforsize(size) + + im = channels.get("RGBA") + if im: + return im + + im = channels["RGB"].copy() + try: + im.putalpha(channels["A"]) + except KeyError: + pass + return im + + +## +# Image plugin for Mac OS icons. + + +class IcnsImageFile(ImageFile.ImageFile): + """ + PIL image support for Mac OS .icns files. + Chooses the best resolution, but will possibly load + a different size image if you mutate the size attribute + before calling 'load'. + + The info dictionary has a key 'sizes' that is a list + of sizes that the icns file has. + """ + + format = "ICNS" + format_description = "Mac OS icns resource" + + def _open(self) -> None: + self.icns = IcnsFile(self.fp) + self._mode = "RGBA" + self.info["sizes"] = self.icns.itersizes() + self.best_size = self.icns.bestsize() + self.size = ( + self.best_size[0] * self.best_size[2], + self.best_size[1] * self.best_size[2], + ) + + @property # type: ignore[override] + def size(self) -> tuple[int, int] | tuple[int, int, int]: + return self._size + + @size.setter + def size(self, value: tuple[int, int] | tuple[int, int, int]) -> None: + if len(value) == 3: + deprecate("Setting size to (width, height, scale)", 12, "load(scale)") + if value in self.info["sizes"]: + self._size = value # type: ignore[assignment] + return + else: + # Check that a matching size exists, + # or that there is a scale that would create a size that matches + for size in self.info["sizes"]: + simple_size = size[0] * size[2], size[1] * size[2] + scale = simple_size[0] // value[0] + if simple_size[1] / value[1] == scale: + self._size = value + return + msg = "This is not one of the allowed sizes of this image" + raise ValueError(msg) + + def load(self, scale: int | None = None) -> Image.core.PixelAccess | None: + if scale is not None or len(self.size) == 3: + if scale is None and len(self.size) == 3: + scale = self.size[2] + assert scale is not None + width, height = self.size[:2] + self.size = width * scale, height * scale + self.best_size = width, height, scale + + px = Image.Image.load(self) + if self._im is not None and self.im.size == self.size: + # Already loaded + return px + self.load_prepare() + # This is likely NOT the best way to do it, but whatever. + im = self.icns.getimage(self.best_size) + + # If this is a PNG or JPEG 2000, it won't be loaded yet + px = im.load() + + self.im = im.im + self._mode = im.mode + self.size = im.size + + return px + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + """ + Saves the image as a series of PNG files, + that are then combined into a .icns file. + """ + if hasattr(fp, "flush"): + fp.flush() + + sizes = { + b"ic07": 128, + b"ic08": 256, + b"ic09": 512, + b"ic10": 1024, + b"ic11": 32, + b"ic12": 64, + b"ic13": 256, + b"ic14": 512, + } + provided_images = {im.width: im for im in im.encoderinfo.get("append_images", [])} + size_streams = {} + for size in set(sizes.values()): + image = ( + provided_images[size] + if size in provided_images + else im.resize((size, size)) + ) + + temp = io.BytesIO() + image.save(temp, "png") + size_streams[size] = temp.getvalue() + + entries = [] + for type, size in sizes.items(): + stream = size_streams[size] + entries.append((type, HEADERSIZE + len(stream), stream)) + + # Header + fp.write(MAGIC) + file_length = HEADERSIZE # Header + file_length += HEADERSIZE + 8 * len(entries) # TOC + file_length += sum(entry[1] for entry in entries) + fp.write(struct.pack(">i", file_length)) + + # TOC + fp.write(b"TOC ") + fp.write(struct.pack(">i", HEADERSIZE + len(entries) * HEADERSIZE)) + for entry in entries: + fp.write(entry[0]) + fp.write(struct.pack(">i", entry[1])) + + # Data + for entry in entries: + fp.write(entry[0]) + fp.write(struct.pack(">i", entry[1])) + fp.write(entry[2]) + + if hasattr(fp, "flush"): + fp.flush() + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] == MAGIC + + +Image.register_open(IcnsImageFile.format, IcnsImageFile, _accept) +Image.register_extension(IcnsImageFile.format, ".icns") + +Image.register_save(IcnsImageFile.format, _save) +Image.register_mime(IcnsImageFile.format, "image/icns") + +if __name__ == "__main__": + if len(sys.argv) < 2: + print("Syntax: python3 IcnsImagePlugin.py [file]") + sys.exit() + + with open(sys.argv[1], "rb") as fp: + imf = IcnsImageFile(fp) + for size in imf.info["sizes"]: + width, height, scale = imf.size = size + imf.save(f"out-{width}-{height}-{scale}.png") + with Image.open(sys.argv[1]) as im: + im.save("out.png") + if sys.platform == "windows": + os.startfile("out.png") diff --git a/gestao_raul/Lib/site-packages/PIL/IcoImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/IcoImagePlugin.py new file mode 100644 index 0000000..e879f18 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/IcoImagePlugin.py @@ -0,0 +1,381 @@ +# +# The Python Imaging Library. +# $Id$ +# +# Windows Icon support for PIL +# +# History: +# 96-05-27 fl Created +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1996. +# +# See the README file for information on usage and redistribution. +# + +# This plugin is a refactored version of Win32IconImagePlugin by Bryan Davis +# . +# https://code.google.com/archive/p/casadebender/wikis/Win32IconImagePlugin.wiki +# +# Icon format references: +# * https://en.wikipedia.org/wiki/ICO_(file_format) +# * https://msdn.microsoft.com/en-us/library/ms997538.aspx +from __future__ import annotations + +import warnings +from io import BytesIO +from math import ceil, log +from typing import IO, NamedTuple + +from . import BmpImagePlugin, Image, ImageFile, PngImagePlugin +from ._binary import i16le as i16 +from ._binary import i32le as i32 +from ._binary import o8 +from ._binary import o16le as o16 +from ._binary import o32le as o32 + +# +# -------------------------------------------------------------------- + +_MAGIC = b"\0\0\1\0" + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + fp.write(_MAGIC) # (2+2) + bmp = im.encoderinfo.get("bitmap_format") == "bmp" + sizes = im.encoderinfo.get( + "sizes", + [(16, 16), (24, 24), (32, 32), (48, 48), (64, 64), (128, 128), (256, 256)], + ) + frames = [] + provided_ims = [im] + im.encoderinfo.get("append_images", []) + width, height = im.size + for size in sorted(set(sizes)): + if size[0] > width or size[1] > height or size[0] > 256 or size[1] > 256: + continue + + for provided_im in provided_ims: + if provided_im.size != size: + continue + frames.append(provided_im) + if bmp: + bits = BmpImagePlugin.SAVE[provided_im.mode][1] + bits_used = [bits] + for other_im in provided_ims: + if other_im.size != size: + continue + bits = BmpImagePlugin.SAVE[other_im.mode][1] + if bits not in bits_used: + # Another image has been supplied for this size + # with a different bit depth + frames.append(other_im) + bits_used.append(bits) + break + else: + # TODO: invent a more convenient method for proportional scalings + frame = provided_im.copy() + frame.thumbnail(size, Image.Resampling.LANCZOS, reducing_gap=None) + frames.append(frame) + fp.write(o16(len(frames))) # idCount(2) + offset = fp.tell() + len(frames) * 16 + for frame in frames: + width, height = frame.size + # 0 means 256 + fp.write(o8(width if width < 256 else 0)) # bWidth(1) + fp.write(o8(height if height < 256 else 0)) # bHeight(1) + + bits, colors = BmpImagePlugin.SAVE[frame.mode][1:] if bmp else (32, 0) + fp.write(o8(colors)) # bColorCount(1) + fp.write(b"\0") # bReserved(1) + fp.write(b"\0\0") # wPlanes(2) + fp.write(o16(bits)) # wBitCount(2) + + image_io = BytesIO() + if bmp: + frame.save(image_io, "dib") + + if bits != 32: + and_mask = Image.new("1", size) + ImageFile._save( + and_mask, + image_io, + [ImageFile._Tile("raw", (0, 0) + size, 0, ("1", 0, -1))], + ) + else: + frame.save(image_io, "png") + image_io.seek(0) + image_bytes = image_io.read() + if bmp: + image_bytes = image_bytes[:8] + o32(height * 2) + image_bytes[12:] + bytes_len = len(image_bytes) + fp.write(o32(bytes_len)) # dwBytesInRes(4) + fp.write(o32(offset)) # dwImageOffset(4) + current = fp.tell() + fp.seek(offset) + fp.write(image_bytes) + offset = offset + bytes_len + fp.seek(current) + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] == _MAGIC + + +class IconHeader(NamedTuple): + width: int + height: int + nb_color: int + reserved: int + planes: int + bpp: int + size: int + offset: int + dim: tuple[int, int] + square: int + color_depth: int + + +class IcoFile: + def __init__(self, buf: IO[bytes]) -> None: + """ + Parse image from file-like object containing ico file data + """ + + # check magic + s = buf.read(6) + if not _accept(s): + msg = "not an ICO file" + raise SyntaxError(msg) + + self.buf = buf + self.entry = [] + + # Number of items in file + self.nb_items = i16(s, 4) + + # Get headers for each item + for i in range(self.nb_items): + s = buf.read(16) + + # See Wikipedia + width = s[0] or 256 + height = s[1] or 256 + + # No. of colors in image (0 if >=8bpp) + nb_color = s[2] + bpp = i16(s, 6) + icon_header = IconHeader( + width=width, + height=height, + nb_color=nb_color, + reserved=s[3], + planes=i16(s, 4), + bpp=i16(s, 6), + size=i32(s, 8), + offset=i32(s, 12), + dim=(width, height), + square=width * height, + # See Wikipedia notes about color depth. + # We need this just to differ images with equal sizes + color_depth=bpp or (nb_color != 0 and ceil(log(nb_color, 2))) or 256, + ) + + self.entry.append(icon_header) + + self.entry = sorted(self.entry, key=lambda x: x.color_depth) + # ICO images are usually squares + self.entry = sorted(self.entry, key=lambda x: x.square, reverse=True) + + def sizes(self) -> set[tuple[int, int]]: + """ + Get a set of all available icon sizes and color depths. + """ + return {(h.width, h.height) for h in self.entry} + + def getentryindex(self, size: tuple[int, int], bpp: int | bool = False) -> int: + for i, h in enumerate(self.entry): + if size == h.dim and (bpp is False or bpp == h.color_depth): + return i + return 0 + + def getimage(self, size: tuple[int, int], bpp: int | bool = False) -> Image.Image: + """ + Get an image from the icon + """ + return self.frame(self.getentryindex(size, bpp)) + + def frame(self, idx: int) -> Image.Image: + """ + Get an image from frame idx + """ + + header = self.entry[idx] + + self.buf.seek(header.offset) + data = self.buf.read(8) + self.buf.seek(header.offset) + + im: Image.Image + if data[:8] == PngImagePlugin._MAGIC: + # png frame + im = PngImagePlugin.PngImageFile(self.buf) + Image._decompression_bomb_check(im.size) + else: + # XOR + AND mask bmp frame + im = BmpImagePlugin.DibImageFile(self.buf) + Image._decompression_bomb_check(im.size) + + # change tile dimension to only encompass XOR image + im._size = (im.size[0], int(im.size[1] / 2)) + d, e, o, a = im.tile[0] + im.tile[0] = ImageFile._Tile(d, (0, 0) + im.size, o, a) + + # figure out where AND mask image starts + if header.bpp == 32: + # 32-bit color depth icon image allows semitransparent areas + # PIL's DIB format ignores transparency bits, recover them. + # The DIB is packed in BGRX byte order where X is the alpha + # channel. + + # Back up to start of bmp data + self.buf.seek(o) + # extract every 4th byte (eg. 3,7,11,15,...) + alpha_bytes = self.buf.read(im.size[0] * im.size[1] * 4)[3::4] + + # convert to an 8bpp grayscale image + try: + mask = Image.frombuffer( + "L", # 8bpp + im.size, # (w, h) + alpha_bytes, # source chars + "raw", # raw decoder + ("L", 0, -1), # 8bpp inverted, unpadded, reversed + ) + except ValueError: + if ImageFile.LOAD_TRUNCATED_IMAGES: + mask = None + else: + raise + else: + # get AND image from end of bitmap + w = im.size[0] + if (w % 32) > 0: + # bitmap row data is aligned to word boundaries + w += 32 - (im.size[0] % 32) + + # the total mask data is + # padded row size * height / bits per char + + total_bytes = int((w * im.size[1]) / 8) + and_mask_offset = header.offset + header.size - total_bytes + + self.buf.seek(and_mask_offset) + mask_data = self.buf.read(total_bytes) + + # convert raw data to image + try: + mask = Image.frombuffer( + "1", # 1 bpp + im.size, # (w, h) + mask_data, # source chars + "raw", # raw decoder + ("1;I", int(w / 8), -1), # 1bpp inverted, padded, reversed + ) + except ValueError: + if ImageFile.LOAD_TRUNCATED_IMAGES: + mask = None + else: + raise + + # now we have two images, im is XOR image and mask is AND image + + # apply mask image as alpha channel + if mask: + im = im.convert("RGBA") + im.putalpha(mask) + + return im + + +## +# Image plugin for Windows Icon files. + + +class IcoImageFile(ImageFile.ImageFile): + """ + PIL read-only image support for Microsoft Windows .ico files. + + By default the largest resolution image in the file will be loaded. This + can be changed by altering the 'size' attribute before calling 'load'. + + The info dictionary has a key 'sizes' that is a list of the sizes available + in the icon file. + + Handles classic, XP and Vista icon formats. + + When saving, PNG compression is used. Support for this was only added in + Windows Vista. If you are unable to view the icon in Windows, convert the + image to "RGBA" mode before saving. + + This plugin is a refactored version of Win32IconImagePlugin by Bryan Davis + . + https://code.google.com/archive/p/casadebender/wikis/Win32IconImagePlugin.wiki + """ + + format = "ICO" + format_description = "Windows Icon" + + def _open(self) -> None: + self.ico = IcoFile(self.fp) + self.info["sizes"] = self.ico.sizes() + self.size = self.ico.entry[0].dim + self.load() + + @property + def size(self) -> tuple[int, int]: + return self._size + + @size.setter + def size(self, value: tuple[int, int]) -> None: + if value not in self.info["sizes"]: + msg = "This is not one of the allowed sizes of this image" + raise ValueError(msg) + self._size = value + + def load(self) -> Image.core.PixelAccess | None: + if self._im is not None and self.im.size == self.size: + # Already loaded + return Image.Image.load(self) + im = self.ico.getimage(self.size) + # if tile is PNG, it won't really be loaded yet + im.load() + self.im = im.im + self._mode = im.mode + if im.palette: + self.palette = im.palette + if im.size != self.size: + warnings.warn("Image was not the expected size") + + index = self.ico.getentryindex(self.size) + sizes = list(self.info["sizes"]) + sizes[index] = im.size + self.info["sizes"] = set(sizes) + + self.size = im.size + return None + + def load_seek(self, pos: int) -> None: + # Flag the ImageFile.Parser so that it + # just does all the decode at the end. + pass + + +# +# -------------------------------------------------------------------- + + +Image.register_open(IcoImageFile.format, IcoImageFile, _accept) +Image.register_save(IcoImageFile.format, _save) +Image.register_extension(IcoImageFile.format, ".ico") + +Image.register_mime(IcoImageFile.format, "image/x-icon") diff --git a/gestao_raul/Lib/site-packages/PIL/ImImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/ImImagePlugin.py new file mode 100644 index 0000000..f9f4734 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/ImImagePlugin.py @@ -0,0 +1,386 @@ +# +# The Python Imaging Library. +# $Id$ +# +# IFUNC IM file handling for PIL +# +# history: +# 1995-09-01 fl Created. +# 1997-01-03 fl Save palette images +# 1997-01-08 fl Added sequence support +# 1997-01-23 fl Added P and RGB save support +# 1997-05-31 fl Read floating point images +# 1997-06-22 fl Save floating point images +# 1997-08-27 fl Read and save 1-bit images +# 1998-06-25 fl Added support for RGB+LUT images +# 1998-07-02 fl Added support for YCC images +# 1998-07-15 fl Renamed offset attribute to avoid name clash +# 1998-12-29 fl Added I;16 support +# 2001-02-17 fl Use 're' instead of 'regex' (Python 2.1) (0.7) +# 2003-09-26 fl Added LA/PA support +# +# Copyright (c) 1997-2003 by Secret Labs AB. +# Copyright (c) 1995-2001 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import os +import re +from typing import IO, Any + +from . import Image, ImageFile, ImagePalette + +# -------------------------------------------------------------------- +# Standard tags + +COMMENT = "Comment" +DATE = "Date" +EQUIPMENT = "Digitalization equipment" +FRAMES = "File size (no of images)" +LUT = "Lut" +NAME = "Name" +SCALE = "Scale (x,y)" +SIZE = "Image size (x*y)" +MODE = "Image type" + +TAGS = { + COMMENT: 0, + DATE: 0, + EQUIPMENT: 0, + FRAMES: 0, + LUT: 0, + NAME: 0, + SCALE: 0, + SIZE: 0, + MODE: 0, +} + +OPEN = { + # ifunc93/p3cfunc formats + "0 1 image": ("1", "1"), + "L 1 image": ("1", "1"), + "Greyscale image": ("L", "L"), + "Grayscale image": ("L", "L"), + "RGB image": ("RGB", "RGB;L"), + "RLB image": ("RGB", "RLB"), + "RYB image": ("RGB", "RLB"), + "B1 image": ("1", "1"), + "B2 image": ("P", "P;2"), + "B4 image": ("P", "P;4"), + "X 24 image": ("RGB", "RGB"), + "L 32 S image": ("I", "I;32"), + "L 32 F image": ("F", "F;32"), + # old p3cfunc formats + "RGB3 image": ("RGB", "RGB;T"), + "RYB3 image": ("RGB", "RYB;T"), + # extensions + "LA image": ("LA", "LA;L"), + "PA image": ("LA", "PA;L"), + "RGBA image": ("RGBA", "RGBA;L"), + "RGBX image": ("RGB", "RGBX;L"), + "CMYK image": ("CMYK", "CMYK;L"), + "YCC image": ("YCbCr", "YCbCr;L"), +} + +# ifunc95 extensions +for i in ["8", "8S", "16", "16S", "32", "32F"]: + OPEN[f"L {i} image"] = ("F", f"F;{i}") + OPEN[f"L*{i} image"] = ("F", f"F;{i}") +for i in ["16", "16L", "16B"]: + OPEN[f"L {i} image"] = (f"I;{i}", f"I;{i}") + OPEN[f"L*{i} image"] = (f"I;{i}", f"I;{i}") +for i in ["32S"]: + OPEN[f"L {i} image"] = ("I", f"I;{i}") + OPEN[f"L*{i} image"] = ("I", f"I;{i}") +for j in range(2, 33): + OPEN[f"L*{j} image"] = ("F", f"F;{j}") + + +# -------------------------------------------------------------------- +# Read IM directory + +split = re.compile(rb"^([A-Za-z][^:]*):[ \t]*(.*)[ \t]*$") + + +def number(s: Any) -> float: + try: + return int(s) + except ValueError: + return float(s) + + +## +# Image plugin for the IFUNC IM file format. + + +class ImImageFile(ImageFile.ImageFile): + format = "IM" + format_description = "IFUNC Image Memory" + _close_exclusive_fp_after_loading = False + + def _open(self) -> None: + # Quick rejection: if there's not an LF among the first + # 100 bytes, this is (probably) not a text header. + + if b"\n" not in self.fp.read(100): + msg = "not an IM file" + raise SyntaxError(msg) + self.fp.seek(0) + + n = 0 + + # Default values + self.info[MODE] = "L" + self.info[SIZE] = (512, 512) + self.info[FRAMES] = 1 + + self.rawmode = "L" + + while True: + s = self.fp.read(1) + + # Some versions of IFUNC uses \n\r instead of \r\n... + if s == b"\r": + continue + + if not s or s == b"\0" or s == b"\x1A": + break + + # FIXME: this may read whole file if not a text file + s = s + self.fp.readline() + + if len(s) > 100: + msg = "not an IM file" + raise SyntaxError(msg) + + if s[-2:] == b"\r\n": + s = s[:-2] + elif s[-1:] == b"\n": + s = s[:-1] + + try: + m = split.match(s) + except re.error as e: + msg = "not an IM file" + raise SyntaxError(msg) from e + + if m: + k, v = m.group(1, 2) + + # Don't know if this is the correct encoding, + # but a decent guess (I guess) + k = k.decode("latin-1", "replace") + v = v.decode("latin-1", "replace") + + # Convert value as appropriate + if k in [FRAMES, SCALE, SIZE]: + v = v.replace("*", ",") + v = tuple(map(number, v.split(","))) + if len(v) == 1: + v = v[0] + elif k == MODE and v in OPEN: + v, self.rawmode = OPEN[v] + + # Add to dictionary. Note that COMMENT tags are + # combined into a list of strings. + if k == COMMENT: + if k in self.info: + self.info[k].append(v) + else: + self.info[k] = [v] + else: + self.info[k] = v + + if k in TAGS: + n += 1 + + else: + msg = f"Syntax error in IM header: {s.decode('ascii', 'replace')}" + raise SyntaxError(msg) + + if not n: + msg = "Not an IM file" + raise SyntaxError(msg) + + # Basic attributes + self._size = self.info[SIZE] + self._mode = self.info[MODE] + + # Skip forward to start of image data + while s and s[:1] != b"\x1A": + s = self.fp.read(1) + if not s: + msg = "File truncated" + raise SyntaxError(msg) + + if LUT in self.info: + # convert lookup table to palette or lut attribute + palette = self.fp.read(768) + greyscale = 1 # greyscale palette + linear = 1 # linear greyscale palette + for i in range(256): + if palette[i] == palette[i + 256] == palette[i + 512]: + if palette[i] != i: + linear = 0 + else: + greyscale = 0 + if self.mode in ["L", "LA", "P", "PA"]: + if greyscale: + if not linear: + self.lut = list(palette[:256]) + else: + if self.mode in ["L", "P"]: + self._mode = self.rawmode = "P" + elif self.mode in ["LA", "PA"]: + self._mode = "PA" + self.rawmode = "PA;L" + self.palette = ImagePalette.raw("RGB;L", palette) + elif self.mode == "RGB": + if not greyscale or not linear: + self.lut = list(palette) + + self.frame = 0 + + self.__offset = offs = self.fp.tell() + + self._fp = self.fp # FIXME: hack + + if self.rawmode[:2] == "F;": + # ifunc95 formats + try: + # use bit decoder (if necessary) + bits = int(self.rawmode[2:]) + if bits not in [8, 16, 32]: + self.tile = [ + ImageFile._Tile( + "bit", (0, 0) + self.size, offs, (bits, 8, 3, 0, -1) + ) + ] + return + except ValueError: + pass + + if self.rawmode in ["RGB;T", "RYB;T"]: + # Old LabEye/3PC files. Would be very surprised if anyone + # ever stumbled upon such a file ;-) + size = self.size[0] * self.size[1] + self.tile = [ + ImageFile._Tile("raw", (0, 0) + self.size, offs, ("G", 0, -1)), + ImageFile._Tile("raw", (0, 0) + self.size, offs + size, ("R", 0, -1)), + ImageFile._Tile( + "raw", (0, 0) + self.size, offs + 2 * size, ("B", 0, -1) + ), + ] + else: + # LabEye/IFUNC files + self.tile = [ + ImageFile._Tile("raw", (0, 0) + self.size, offs, (self.rawmode, 0, -1)) + ] + + @property + def n_frames(self) -> int: + return self.info[FRAMES] + + @property + def is_animated(self) -> bool: + return self.info[FRAMES] > 1 + + def seek(self, frame: int) -> None: + if not self._seek_check(frame): + return + + self.frame = frame + + if self.mode == "1": + bits = 1 + else: + bits = 8 * len(self.mode) + + size = ((self.size[0] * bits + 7) // 8) * self.size[1] + offs = self.__offset + frame * size + + self.fp = self._fp + + self.tile = [ + ImageFile._Tile("raw", (0, 0) + self.size, offs, (self.rawmode, 0, -1)) + ] + + def tell(self) -> int: + return self.frame + + +# +# -------------------------------------------------------------------- +# Save IM files + + +SAVE = { + # mode: (im type, raw mode) + "1": ("0 1", "1"), + "L": ("Greyscale", "L"), + "LA": ("LA", "LA;L"), + "P": ("Greyscale", "P"), + "PA": ("LA", "PA;L"), + "I": ("L 32S", "I;32S"), + "I;16": ("L 16", "I;16"), + "I;16L": ("L 16L", "I;16L"), + "I;16B": ("L 16B", "I;16B"), + "F": ("L 32F", "F;32F"), + "RGB": ("RGB", "RGB;L"), + "RGBA": ("RGBA", "RGBA;L"), + "RGBX": ("RGBX", "RGBX;L"), + "CMYK": ("CMYK", "CMYK;L"), + "YCbCr": ("YCC", "YCbCr;L"), +} + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + try: + image_type, rawmode = SAVE[im.mode] + except KeyError as e: + msg = f"Cannot save {im.mode} images as IM" + raise ValueError(msg) from e + + frames = im.encoderinfo.get("frames", 1) + + fp.write(f"Image type: {image_type} image\r\n".encode("ascii")) + if filename: + # Each line must be 100 characters or less, + # or: SyntaxError("not an IM file") + # 8 characters are used for "Name: " and "\r\n" + # Keep just the filename, ditch the potentially overlong path + if isinstance(filename, bytes): + filename = filename.decode("ascii") + name, ext = os.path.splitext(os.path.basename(filename)) + name = "".join([name[: 92 - len(ext)], ext]) + + fp.write(f"Name: {name}\r\n".encode("ascii")) + fp.write(("Image size (x*y): %d*%d\r\n" % im.size).encode("ascii")) + fp.write(f"File size (no of images): {frames}\r\n".encode("ascii")) + if im.mode in ["P", "PA"]: + fp.write(b"Lut: 1\r\n") + fp.write(b"\000" * (511 - fp.tell()) + b"\032") + if im.mode in ["P", "PA"]: + im_palette = im.im.getpalette("RGB", "RGB;L") + colors = len(im_palette) // 3 + palette = b"" + for i in range(3): + palette += im_palette[colors * i : colors * (i + 1)] + palette += b"\x00" * (256 - colors) + fp.write(palette) # 768 bytes + ImageFile._save( + im, fp, [ImageFile._Tile("raw", (0, 0) + im.size, 0, (rawmode, 0, -1))] + ) + + +# +# -------------------------------------------------------------------- +# Registry + + +Image.register_open(ImImageFile.format, ImImageFile) +Image.register_save(ImImageFile.format, _save) + +Image.register_extension(ImImageFile.format, ".im") diff --git a/gestao_raul/Lib/site-packages/PIL/Image.py b/gestao_raul/Lib/site-packages/PIL/Image.py new file mode 100644 index 0000000..4427039 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/Image.py @@ -0,0 +1,4198 @@ +# +# The Python Imaging Library. +# $Id$ +# +# the Image class wrapper +# +# partial release history: +# 1995-09-09 fl Created +# 1996-03-11 fl PIL release 0.0 (proof of concept) +# 1996-04-30 fl PIL release 0.1b1 +# 1999-07-28 fl PIL release 1.0 final +# 2000-06-07 fl PIL release 1.1 +# 2000-10-20 fl PIL release 1.1.1 +# 2001-05-07 fl PIL release 1.1.2 +# 2002-03-15 fl PIL release 1.1.3 +# 2003-05-10 fl PIL release 1.1.4 +# 2005-03-28 fl PIL release 1.1.5 +# 2006-12-02 fl PIL release 1.1.6 +# 2009-11-15 fl PIL release 1.1.7 +# +# Copyright (c) 1997-2009 by Secret Labs AB. All rights reserved. +# Copyright (c) 1995-2009 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# + +from __future__ import annotations + +import abc +import atexit +import builtins +import io +import logging +import math +import os +import re +import struct +import sys +import tempfile +import warnings +from collections.abc import Callable, Iterator, MutableMapping, Sequence +from enum import IntEnum +from types import ModuleType +from typing import ( + IO, + TYPE_CHECKING, + Any, + Literal, + Protocol, + cast, +) + +# VERSION was removed in Pillow 6.0.0. +# PILLOW_VERSION was removed in Pillow 9.0.0. +# Use __version__ instead. +from . import ( + ExifTags, + ImageMode, + TiffTags, + UnidentifiedImageError, + __version__, + _plugins, +) +from ._binary import i32le, o32be, o32le +from ._deprecate import deprecate +from ._util import DeferredError, is_path + +ElementTree: ModuleType | None +try: + from defusedxml import ElementTree +except ImportError: + ElementTree = None + +logger = logging.getLogger(__name__) + + +class DecompressionBombWarning(RuntimeWarning): + pass + + +class DecompressionBombError(Exception): + pass + + +WARN_POSSIBLE_FORMATS: bool = False + +# Limit to around a quarter gigabyte for a 24-bit (3 bpp) image +MAX_IMAGE_PIXELS: int | None = int(1024 * 1024 * 1024 // 4 // 3) + + +try: + # If the _imaging C module is not present, Pillow will not load. + # Note that other modules should not refer to _imaging directly; + # import Image and use the Image.core variable instead. + # Also note that Image.core is not a publicly documented interface, + # and should be considered private and subject to change. + from . import _imaging as core + + if __version__ != getattr(core, "PILLOW_VERSION", None): + msg = ( + "The _imaging extension was built for another version of Pillow or PIL:\n" + f"Core version: {getattr(core, 'PILLOW_VERSION', None)}\n" + f"Pillow version: {__version__}" + ) + raise ImportError(msg) + +except ImportError as v: + core = DeferredError.new(ImportError("The _imaging C module is not installed.")) + # Explanations for ways that we know we might have an import error + if str(v).startswith("Module use of python"): + # The _imaging C module is present, but not compiled for + # the right version (windows only). Print a warning, if + # possible. + warnings.warn( + "The _imaging extension was built for another version of Python.", + RuntimeWarning, + ) + elif str(v).startswith("The _imaging extension"): + warnings.warn(str(v), RuntimeWarning) + # Fail here anyway. Don't let people run with a mostly broken Pillow. + # see docs/porting.rst + raise + + +def isImageType(t: Any) -> TypeGuard[Image]: + """ + Checks if an object is an image object. + + .. warning:: + + This function is for internal use only. + + :param t: object to check if it's an image + :returns: True if the object is an image + """ + deprecate("Image.isImageType(im)", 12, "isinstance(im, Image.Image)") + return hasattr(t, "im") + + +# +# Constants + + +# transpose +class Transpose(IntEnum): + FLIP_LEFT_RIGHT = 0 + FLIP_TOP_BOTTOM = 1 + ROTATE_90 = 2 + ROTATE_180 = 3 + ROTATE_270 = 4 + TRANSPOSE = 5 + TRANSVERSE = 6 + + +# transforms (also defined in Imaging.h) +class Transform(IntEnum): + AFFINE = 0 + EXTENT = 1 + PERSPECTIVE = 2 + QUAD = 3 + MESH = 4 + + +# resampling filters (also defined in Imaging.h) +class Resampling(IntEnum): + NEAREST = 0 + BOX = 4 + BILINEAR = 2 + HAMMING = 5 + BICUBIC = 3 + LANCZOS = 1 + + +_filters_support = { + Resampling.BOX: 0.5, + Resampling.BILINEAR: 1.0, + Resampling.HAMMING: 1.0, + Resampling.BICUBIC: 2.0, + Resampling.LANCZOS: 3.0, +} + + +# dithers +class Dither(IntEnum): + NONE = 0 + ORDERED = 1 # Not yet implemented + RASTERIZE = 2 # Not yet implemented + FLOYDSTEINBERG = 3 # default + + +# palettes/quantizers +class Palette(IntEnum): + WEB = 0 + ADAPTIVE = 1 + + +class Quantize(IntEnum): + MEDIANCUT = 0 + MAXCOVERAGE = 1 + FASTOCTREE = 2 + LIBIMAGEQUANT = 3 + + +module = sys.modules[__name__] +for enum in (Transpose, Transform, Resampling, Dither, Palette, Quantize): + for item in enum: + setattr(module, item.name, item.value) + + +if hasattr(core, "DEFAULT_STRATEGY"): + DEFAULT_STRATEGY = core.DEFAULT_STRATEGY + FILTERED = core.FILTERED + HUFFMAN_ONLY = core.HUFFMAN_ONLY + RLE = core.RLE + FIXED = core.FIXED + + +# -------------------------------------------------------------------- +# Registries + +if TYPE_CHECKING: + import mmap + from xml.etree.ElementTree import Element + + from IPython.lib.pretty import PrettyPrinter + + from . import ImageFile, ImageFilter, ImagePalette, ImageQt, TiffImagePlugin + from ._typing import CapsuleType, NumpyArray, StrOrBytesPath, TypeGuard +ID: list[str] = [] +OPEN: dict[ + str, + tuple[ + Callable[[IO[bytes], str | bytes], ImageFile.ImageFile], + Callable[[bytes], bool | str] | None, + ], +] = {} +MIME: dict[str, str] = {} +SAVE: dict[str, Callable[[Image, IO[bytes], str | bytes], None]] = {} +SAVE_ALL: dict[str, Callable[[Image, IO[bytes], str | bytes], None]] = {} +EXTENSION: dict[str, str] = {} +DECODERS: dict[str, type[ImageFile.PyDecoder]] = {} +ENCODERS: dict[str, type[ImageFile.PyEncoder]] = {} + +# -------------------------------------------------------------------- +# Modes + +_ENDIAN = "<" if sys.byteorder == "little" else ">" + + +def _conv_type_shape(im: Image) -> tuple[tuple[int, ...], str]: + m = ImageMode.getmode(im.mode) + shape: tuple[int, ...] = (im.height, im.width) + extra = len(m.bands) + if extra != 1: + shape += (extra,) + return shape, m.typestr + + +MODES = [ + "1", + "CMYK", + "F", + "HSV", + "I", + "I;16", + "I;16B", + "I;16L", + "I;16N", + "L", + "LA", + "La", + "LAB", + "P", + "PA", + "RGB", + "RGBA", + "RGBa", + "RGBX", + "YCbCr", +] + +# raw modes that may be memory mapped. NOTE: if you change this, you +# may have to modify the stride calculation in map.c too! +_MAPMODES = ("L", "P", "RGBX", "RGBA", "CMYK", "I;16", "I;16L", "I;16B") + + +def getmodebase(mode: str) -> str: + """ + Gets the "base" mode for given mode. This function returns "L" for + images that contain grayscale data, and "RGB" for images that + contain color data. + + :param mode: Input mode. + :returns: "L" or "RGB". + :exception KeyError: If the input mode was not a standard mode. + """ + return ImageMode.getmode(mode).basemode + + +def getmodetype(mode: str) -> str: + """ + Gets the storage type mode. Given a mode, this function returns a + single-layer mode suitable for storing individual bands. + + :param mode: Input mode. + :returns: "L", "I", or "F". + :exception KeyError: If the input mode was not a standard mode. + """ + return ImageMode.getmode(mode).basetype + + +def getmodebandnames(mode: str) -> tuple[str, ...]: + """ + Gets a list of individual band names. Given a mode, this function returns + a tuple containing the names of individual bands (use + :py:method:`~PIL.Image.getmodetype` to get the mode used to store each + individual band. + + :param mode: Input mode. + :returns: A tuple containing band names. The length of the tuple + gives the number of bands in an image of the given mode. + :exception KeyError: If the input mode was not a standard mode. + """ + return ImageMode.getmode(mode).bands + + +def getmodebands(mode: str) -> int: + """ + Gets the number of individual bands for this mode. + + :param mode: Input mode. + :returns: The number of bands in this mode. + :exception KeyError: If the input mode was not a standard mode. + """ + return len(ImageMode.getmode(mode).bands) + + +# -------------------------------------------------------------------- +# Helpers + +_initialized = 0 + + +def preinit() -> None: + """ + Explicitly loads BMP, GIF, JPEG, PPM and PPM file format drivers. + + It is called when opening or saving images. + """ + + global _initialized + if _initialized >= 1: + return + + try: + from . import BmpImagePlugin + + assert BmpImagePlugin + except ImportError: + pass + try: + from . import GifImagePlugin + + assert GifImagePlugin + except ImportError: + pass + try: + from . import JpegImagePlugin + + assert JpegImagePlugin + except ImportError: + pass + try: + from . import PpmImagePlugin + + assert PpmImagePlugin + except ImportError: + pass + try: + from . import PngImagePlugin + + assert PngImagePlugin + except ImportError: + pass + + _initialized = 1 + + +def init() -> bool: + """ + Explicitly initializes the Python Imaging Library. This function + loads all available file format drivers. + + It is called when opening or saving images if :py:meth:`~preinit()` is + insufficient, and by :py:meth:`~PIL.features.pilinfo`. + """ + + global _initialized + if _initialized >= 2: + return False + + parent_name = __name__.rpartition(".")[0] + for plugin in _plugins: + try: + logger.debug("Importing %s", plugin) + __import__(f"{parent_name}.{plugin}", globals(), locals(), []) + except ImportError as e: + logger.debug("Image: failed to import %s: %s", plugin, e) + + if OPEN or SAVE: + _initialized = 2 + return True + return False + + +# -------------------------------------------------------------------- +# Codec factories (used by tobytes/frombytes and ImageFile.load) + + +def _getdecoder( + mode: str, decoder_name: str, args: Any, extra: tuple[Any, ...] = () +) -> core.ImagingDecoder | ImageFile.PyDecoder: + # tweak arguments + if args is None: + args = () + elif not isinstance(args, tuple): + args = (args,) + + try: + decoder = DECODERS[decoder_name] + except KeyError: + pass + else: + return decoder(mode, *args + extra) + + try: + # get decoder + decoder = getattr(core, f"{decoder_name}_decoder") + except AttributeError as e: + msg = f"decoder {decoder_name} not available" + raise OSError(msg) from e + return decoder(mode, *args + extra) + + +def _getencoder( + mode: str, encoder_name: str, args: Any, extra: tuple[Any, ...] = () +) -> core.ImagingEncoder | ImageFile.PyEncoder: + # tweak arguments + if args is None: + args = () + elif not isinstance(args, tuple): + args = (args,) + + try: + encoder = ENCODERS[encoder_name] + except KeyError: + pass + else: + return encoder(mode, *args + extra) + + try: + # get encoder + encoder = getattr(core, f"{encoder_name}_encoder") + except AttributeError as e: + msg = f"encoder {encoder_name} not available" + raise OSError(msg) from e + return encoder(mode, *args + extra) + + +# -------------------------------------------------------------------- +# Simple expression analyzer + + +class ImagePointTransform: + """ + Used with :py:meth:`~PIL.Image.Image.point` for single band images with more than + 8 bits, this represents an affine transformation, where the value is multiplied by + ``scale`` and ``offset`` is added. + """ + + def __init__(self, scale: float, offset: float) -> None: + self.scale = scale + self.offset = offset + + def __neg__(self) -> ImagePointTransform: + return ImagePointTransform(-self.scale, -self.offset) + + def __add__(self, other: ImagePointTransform | float) -> ImagePointTransform: + if isinstance(other, ImagePointTransform): + return ImagePointTransform( + self.scale + other.scale, self.offset + other.offset + ) + return ImagePointTransform(self.scale, self.offset + other) + + __radd__ = __add__ + + def __sub__(self, other: ImagePointTransform | float) -> ImagePointTransform: + return self + -other + + def __rsub__(self, other: ImagePointTransform | float) -> ImagePointTransform: + return other + -self + + def __mul__(self, other: ImagePointTransform | float) -> ImagePointTransform: + if isinstance(other, ImagePointTransform): + return NotImplemented + return ImagePointTransform(self.scale * other, self.offset * other) + + __rmul__ = __mul__ + + def __truediv__(self, other: ImagePointTransform | float) -> ImagePointTransform: + if isinstance(other, ImagePointTransform): + return NotImplemented + return ImagePointTransform(self.scale / other, self.offset / other) + + +def _getscaleoffset( + expr: Callable[[ImagePointTransform], ImagePointTransform | float] +) -> tuple[float, float]: + a = expr(ImagePointTransform(1, 0)) + return (a.scale, a.offset) if isinstance(a, ImagePointTransform) else (0, a) + + +# -------------------------------------------------------------------- +# Implementation wrapper + + +class SupportsGetData(Protocol): + def getdata( + self, + ) -> tuple[Transform, Sequence[int]]: ... + + +class Image: + """ + This class represents an image object. To create + :py:class:`~PIL.Image.Image` objects, use the appropriate factory + functions. There's hardly ever any reason to call the Image constructor + directly. + + * :py:func:`~PIL.Image.open` + * :py:func:`~PIL.Image.new` + * :py:func:`~PIL.Image.frombytes` + """ + + format: str | None = None + format_description: str | None = None + _close_exclusive_fp_after_loading = True + + def __init__(self) -> None: + # FIXME: take "new" parameters / other image? + # FIXME: turn mode and size into delegating properties? + self._im: core.ImagingCore | DeferredError | None = None + self._mode = "" + self._size = (0, 0) + self.palette: ImagePalette.ImagePalette | None = None + self.info: dict[str | tuple[int, int], Any] = {} + self.readonly = 0 + self._exif: Exif | None = None + + @property + def im(self) -> core.ImagingCore: + if isinstance(self._im, DeferredError): + raise self._im.ex + assert self._im is not None + return self._im + + @im.setter + def im(self, im: core.ImagingCore) -> None: + self._im = im + + @property + def width(self) -> int: + return self.size[0] + + @property + def height(self) -> int: + return self.size[1] + + @property + def size(self) -> tuple[int, int]: + return self._size + + @property + def mode(self) -> str: + return self._mode + + def _new(self, im: core.ImagingCore) -> Image: + new = Image() + new.im = im + new._mode = im.mode + new._size = im.size + if im.mode in ("P", "PA"): + if self.palette: + new.palette = self.palette.copy() + else: + from . import ImagePalette + + new.palette = ImagePalette.ImagePalette() + new.info = self.info.copy() + return new + + # Context manager support + def __enter__(self): + return self + + def _close_fp(self): + if getattr(self, "_fp", False): + if self._fp != self.fp: + self._fp.close() + self._fp = DeferredError(ValueError("Operation on closed image")) + if self.fp: + self.fp.close() + + def __exit__(self, *args): + if hasattr(self, "fp"): + if getattr(self, "_exclusive_fp", False): + self._close_fp() + self.fp = None + + def close(self) -> None: + """ + Closes the file pointer, if possible. + + This operation will destroy the image core and release its memory. + The image data will be unusable afterward. + + This function is required to close images that have multiple frames or + have not had their file read and closed by the + :py:meth:`~PIL.Image.Image.load` method. See :ref:`file-handling` for + more information. + """ + if hasattr(self, "fp"): + try: + self._close_fp() + self.fp = None + except Exception as msg: + logger.debug("Error closing: %s", msg) + + if getattr(self, "map", None): + self.map: mmap.mmap | None = None + + # Instead of simply setting to None, we're setting up a + # deferred error that will better explain that the core image + # object is gone. + self._im = DeferredError(ValueError("Operation on closed image")) + + def _copy(self) -> None: + self.load() + self.im = self.im.copy() + self.readonly = 0 + + def _ensure_mutable(self) -> None: + if self.readonly: + self._copy() + else: + self.load() + + def _dump( + self, file: str | None = None, format: str | None = None, **options: Any + ) -> str: + suffix = "" + if format: + suffix = f".{format}" + + if not file: + f, filename = tempfile.mkstemp(suffix) + os.close(f) + else: + filename = file + if not filename.endswith(suffix): + filename = filename + suffix + + self.load() + + if not format or format == "PPM": + self.im.save_ppm(filename) + else: + self.save(filename, format, **options) + + return filename + + def __eq__(self, other: object) -> bool: + if self.__class__ is not other.__class__: + return False + assert isinstance(other, Image) + return ( + self.mode == other.mode + and self.size == other.size + and self.info == other.info + and self.getpalette() == other.getpalette() + and self.tobytes() == other.tobytes() + ) + + def __repr__(self) -> str: + return "<%s.%s image mode=%s size=%dx%d at 0x%X>" % ( + self.__class__.__module__, + self.__class__.__name__, + self.mode, + self.size[0], + self.size[1], + id(self), + ) + + def _repr_pretty_(self, p: PrettyPrinter, cycle: bool) -> None: + """IPython plain text display support""" + + # Same as __repr__ but without unpredictable id(self), + # to keep Jupyter notebook `text/plain` output stable. + p.text( + "<%s.%s image mode=%s size=%dx%d>" + % ( + self.__class__.__module__, + self.__class__.__name__, + self.mode, + self.size[0], + self.size[1], + ) + ) + + def _repr_image(self, image_format: str, **kwargs: Any) -> bytes | None: + """Helper function for iPython display hook. + + :param image_format: Image format. + :returns: image as bytes, saved into the given format. + """ + b = io.BytesIO() + try: + self.save(b, image_format, **kwargs) + except Exception: + return None + return b.getvalue() + + def _repr_png_(self) -> bytes | None: + """iPython display hook support for PNG format. + + :returns: PNG version of the image as bytes + """ + return self._repr_image("PNG", compress_level=1) + + def _repr_jpeg_(self) -> bytes | None: + """iPython display hook support for JPEG format. + + :returns: JPEG version of the image as bytes + """ + return self._repr_image("JPEG") + + @property + def __array_interface__(self) -> dict[str, str | bytes | int | tuple[int, ...]]: + # numpy array interface support + new: dict[str, str | bytes | int | tuple[int, ...]] = {"version": 3} + if self.mode == "1": + # Binary images need to be extended from bits to bytes + # See: https://github.com/python-pillow/Pillow/issues/350 + new["data"] = self.tobytes("raw", "L") + else: + new["data"] = self.tobytes() + new["shape"], new["typestr"] = _conv_type_shape(self) + return new + + def __getstate__(self) -> list[Any]: + im_data = self.tobytes() # load image first + return [self.info, self.mode, self.size, self.getpalette(), im_data] + + def __setstate__(self, state: list[Any]) -> None: + Image.__init__(self) + info, mode, size, palette, data = state + self.info = info + self._mode = mode + self._size = size + self.im = core.new(mode, size) + if mode in ("L", "LA", "P", "PA") and palette: + self.putpalette(palette) + self.frombytes(data) + + def tobytes(self, encoder_name: str = "raw", *args: Any) -> bytes: + """ + Return image as a bytes object. + + .. warning:: + + This method returns the raw image data from the internal + storage. For compressed image data (e.g. PNG, JPEG) use + :meth:`~.save`, with a BytesIO parameter for in-memory + data. + + :param encoder_name: What encoder to use. The default is to + use the standard "raw" encoder. + + A list of C encoders can be seen under + codecs section of the function array in + :file:`_imaging.c`. Python encoders are + registered within the relevant plugins. + :param args: Extra arguments to the encoder. + :returns: A :py:class:`bytes` object. + """ + + encoder_args: Any = args + if len(encoder_args) == 1 and isinstance(encoder_args[0], tuple): + # may pass tuple instead of argument list + encoder_args = encoder_args[0] + + if encoder_name == "raw" and encoder_args == (): + encoder_args = self.mode + + self.load() + + if self.width == 0 or self.height == 0: + return b"" + + # unpack data + e = _getencoder(self.mode, encoder_name, encoder_args) + e.setimage(self.im) + + bufsize = max(65536, self.size[0] * 4) # see RawEncode.c + + output = [] + while True: + bytes_consumed, errcode, data = e.encode(bufsize) + output.append(data) + if errcode: + break + if errcode < 0: + msg = f"encoder error {errcode} in tobytes" + raise RuntimeError(msg) + + return b"".join(output) + + def tobitmap(self, name: str = "image") -> bytes: + """ + Returns the image converted to an X11 bitmap. + + .. note:: This method only works for mode "1" images. + + :param name: The name prefix to use for the bitmap variables. + :returns: A string containing an X11 bitmap. + :raises ValueError: If the mode is not "1" + """ + + self.load() + if self.mode != "1": + msg = "not a bitmap" + raise ValueError(msg) + data = self.tobytes("xbm") + return b"".join( + [ + f"#define {name}_width {self.size[0]}\n".encode("ascii"), + f"#define {name}_height {self.size[1]}\n".encode("ascii"), + f"static char {name}_bits[] = {{\n".encode("ascii"), + data, + b"};", + ] + ) + + def frombytes( + self, + data: bytes | bytearray | SupportsArrayInterface, + decoder_name: str = "raw", + *args: Any, + ) -> None: + """ + Loads this image with pixel data from a bytes object. + + This method is similar to the :py:func:`~PIL.Image.frombytes` function, + but loads data into this image instead of creating a new image object. + """ + + if self.width == 0 or self.height == 0: + return + + decoder_args: Any = args + if len(decoder_args) == 1 and isinstance(decoder_args[0], tuple): + # may pass tuple instead of argument list + decoder_args = decoder_args[0] + + # default format + if decoder_name == "raw" and decoder_args == (): + decoder_args = self.mode + + # unpack data + d = _getdecoder(self.mode, decoder_name, decoder_args) + d.setimage(self.im) + s = d.decode(data) + + if s[0] >= 0: + msg = "not enough image data" + raise ValueError(msg) + if s[1] != 0: + msg = "cannot decode image data" + raise ValueError(msg) + + def load(self) -> core.PixelAccess | None: + """ + Allocates storage for the image and loads the pixel data. In + normal cases, you don't need to call this method, since the + Image class automatically loads an opened image when it is + accessed for the first time. + + If the file associated with the image was opened by Pillow, then this + method will close it. The exception to this is if the image has + multiple frames, in which case the file will be left open for seek + operations. See :ref:`file-handling` for more information. + + :returns: An image access object. + :rtype: :py:class:`.PixelAccess` + """ + if self._im is not None and self.palette and self.palette.dirty: + # realize palette + mode, arr = self.palette.getdata() + self.im.putpalette(self.palette.mode, mode, arr) + self.palette.dirty = 0 + self.palette.rawmode = None + if "transparency" in self.info and mode in ("LA", "PA"): + if isinstance(self.info["transparency"], int): + self.im.putpalettealpha(self.info["transparency"], 0) + else: + self.im.putpalettealphas(self.info["transparency"]) + self.palette.mode = "RGBA" + else: + self.palette.palette = self.im.getpalette( + self.palette.mode, self.palette.mode + ) + + if self._im is not None: + return self.im.pixel_access(self.readonly) + return None + + def verify(self) -> None: + """ + Verifies the contents of a file. For data read from a file, this + method attempts to determine if the file is broken, without + actually decoding the image data. If this method finds any + problems, it raises suitable exceptions. If you need to load + the image after using this method, you must reopen the image + file. + """ + pass + + def convert( + self, + mode: str | None = None, + matrix: tuple[float, ...] | None = None, + dither: Dither | None = None, + palette: Palette = Palette.WEB, + colors: int = 256, + ) -> Image: + """ + Returns a converted copy of this image. For the "P" mode, this + method translates pixels through the palette. If mode is + omitted, a mode is chosen so that all information in the image + and the palette can be represented without a palette. + + This supports all possible conversions between "L", "RGB" and "CMYK". The + ``matrix`` argument only supports "L" and "RGB". + + When translating a color image to grayscale (mode "L"), + the library uses the ITU-R 601-2 luma transform:: + + L = R * 299/1000 + G * 587/1000 + B * 114/1000 + + The default method of converting a grayscale ("L") or "RGB" + image into a bilevel (mode "1") image uses Floyd-Steinberg + dither to approximate the original image luminosity levels. If + dither is ``None``, all values larger than 127 are set to 255 (white), + all other values to 0 (black). To use other thresholds, use the + :py:meth:`~PIL.Image.Image.point` method. + + When converting from "RGBA" to "P" without a ``matrix`` argument, + this passes the operation to :py:meth:`~PIL.Image.Image.quantize`, + and ``dither`` and ``palette`` are ignored. + + When converting from "PA", if an "RGBA" palette is present, the alpha + channel from the image will be used instead of the values from the palette. + + :param mode: The requested mode. See: :ref:`concept-modes`. + :param matrix: An optional conversion matrix. If given, this + should be 4- or 12-tuple containing floating point values. + :param dither: Dithering method, used when converting from + mode "RGB" to "P" or from "RGB" or "L" to "1". + Available methods are :data:`Dither.NONE` or :data:`Dither.FLOYDSTEINBERG` + (default). Note that this is not used when ``matrix`` is supplied. + :param palette: Palette to use when converting from mode "RGB" + to "P". Available palettes are :data:`Palette.WEB` or + :data:`Palette.ADAPTIVE`. + :param colors: Number of colors to use for the :data:`Palette.ADAPTIVE` + palette. Defaults to 256. + :rtype: :py:class:`~PIL.Image.Image` + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + if mode in ("BGR;15", "BGR;16", "BGR;24"): + deprecate(mode, 12) + + self.load() + + has_transparency = "transparency" in self.info + if not mode and self.mode == "P": + # determine default mode + if self.palette: + mode = self.palette.mode + else: + mode = "RGB" + if mode == "RGB" and has_transparency: + mode = "RGBA" + if not mode or (mode == self.mode and not matrix): + return self.copy() + + if matrix: + # matrix conversion + if mode not in ("L", "RGB"): + msg = "illegal conversion" + raise ValueError(msg) + im = self.im.convert_matrix(mode, matrix) + new_im = self._new(im) + if has_transparency and self.im.bands == 3: + transparency = new_im.info["transparency"] + + def convert_transparency( + m: tuple[float, ...], v: tuple[int, int, int] + ) -> int: + value = m[0] * v[0] + m[1] * v[1] + m[2] * v[2] + m[3] * 0.5 + return max(0, min(255, int(value))) + + if mode == "L": + transparency = convert_transparency(matrix, transparency) + elif len(mode) == 3: + transparency = tuple( + convert_transparency(matrix[i * 4 : i * 4 + 4], transparency) + for i in range(0, len(transparency)) + ) + new_im.info["transparency"] = transparency + return new_im + + if mode == "P" and self.mode == "RGBA": + return self.quantize(colors) + + trns = None + delete_trns = False + # transparency handling + if has_transparency: + if (self.mode in ("1", "L", "I", "I;16") and mode in ("LA", "RGBA")) or ( + self.mode == "RGB" and mode in ("La", "LA", "RGBa", "RGBA") + ): + # Use transparent conversion to promote from transparent + # color to an alpha channel. + new_im = self._new( + self.im.convert_transparent(mode, self.info["transparency"]) + ) + del new_im.info["transparency"] + return new_im + elif self.mode in ("L", "RGB", "P") and mode in ("L", "RGB", "P"): + t = self.info["transparency"] + if isinstance(t, bytes): + # Dragons. This can't be represented by a single color + warnings.warn( + "Palette images with Transparency expressed in bytes should be " + "converted to RGBA images" + ) + delete_trns = True + else: + # get the new transparency color. + # use existing conversions + trns_im = new(self.mode, (1, 1)) + if self.mode == "P": + assert self.palette is not None + trns_im.putpalette(self.palette, self.palette.mode) + if isinstance(t, tuple): + err = "Couldn't allocate a palette color for transparency" + assert trns_im.palette is not None + try: + t = trns_im.palette.getcolor(t, self) + except ValueError as e: + if str(e) == "cannot allocate more than 256 colors": + # If all 256 colors are in use, + # then there is no need for transparency + t = None + else: + raise ValueError(err) from e + if t is None: + trns = None + else: + trns_im.putpixel((0, 0), t) + + if mode in ("L", "RGB"): + trns_im = trns_im.convert(mode) + else: + # can't just retrieve the palette number, got to do it + # after quantization. + trns_im = trns_im.convert("RGB") + trns = trns_im.getpixel((0, 0)) + + elif self.mode == "P" and mode in ("LA", "PA", "RGBA"): + t = self.info["transparency"] + delete_trns = True + + if isinstance(t, bytes): + self.im.putpalettealphas(t) + elif isinstance(t, int): + self.im.putpalettealpha(t, 0) + else: + msg = "Transparency for P mode should be bytes or int" + raise ValueError(msg) + + if mode == "P" and palette == Palette.ADAPTIVE: + im = self.im.quantize(colors) + new_im = self._new(im) + from . import ImagePalette + + new_im.palette = ImagePalette.ImagePalette( + "RGB", new_im.im.getpalette("RGB") + ) + if delete_trns: + # This could possibly happen if we requantize to fewer colors. + # The transparency would be totally off in that case. + del new_im.info["transparency"] + if trns is not None: + try: + new_im.info["transparency"] = new_im.palette.getcolor( + cast(tuple[int, ...], trns), # trns was converted to RGB + new_im, + ) + except Exception: + # if we can't make a transparent color, don't leave the old + # transparency hanging around to mess us up. + del new_im.info["transparency"] + warnings.warn("Couldn't allocate palette entry for transparency") + return new_im + + if "LAB" in (self.mode, mode): + im = self + if mode == "LAB": + if im.mode not in ("RGB", "RGBA", "RGBX"): + im = im.convert("RGBA") + other_mode = im.mode + else: + other_mode = mode + if other_mode in ("RGB", "RGBA", "RGBX"): + from . import ImageCms + + srgb = ImageCms.createProfile("sRGB") + lab = ImageCms.createProfile("LAB") + profiles = [lab, srgb] if im.mode == "LAB" else [srgb, lab] + transform = ImageCms.buildTransform( + profiles[0], profiles[1], im.mode, mode + ) + return transform.apply(im) + + # colorspace conversion + if dither is None: + dither = Dither.FLOYDSTEINBERG + + try: + im = self.im.convert(mode, dither) + except ValueError: + try: + # normalize source image and try again + modebase = getmodebase(self.mode) + if modebase == self.mode: + raise + im = self.im.convert(modebase) + im = im.convert(mode, dither) + except KeyError as e: + msg = "illegal conversion" + raise ValueError(msg) from e + + new_im = self._new(im) + if mode == "P" and palette != Palette.ADAPTIVE: + from . import ImagePalette + + new_im.palette = ImagePalette.ImagePalette("RGB", im.getpalette("RGB")) + if delete_trns: + # crash fail if we leave a bytes transparency in an rgb/l mode. + del new_im.info["transparency"] + if trns is not None: + if new_im.mode == "P" and new_im.palette: + try: + new_im.info["transparency"] = new_im.palette.getcolor( + cast(tuple[int, ...], trns), new_im # trns was converted to RGB + ) + except ValueError as e: + del new_im.info["transparency"] + if str(e) != "cannot allocate more than 256 colors": + # If all 256 colors are in use, + # then there is no need for transparency + warnings.warn( + "Couldn't allocate palette entry for transparency" + ) + else: + new_im.info["transparency"] = trns + return new_im + + def quantize( + self, + colors: int = 256, + method: int | None = None, + kmeans: int = 0, + palette: Image | None = None, + dither: Dither = Dither.FLOYDSTEINBERG, + ) -> Image: + """ + Convert the image to 'P' mode with the specified number + of colors. + + :param colors: The desired number of colors, <= 256 + :param method: :data:`Quantize.MEDIANCUT` (median cut), + :data:`Quantize.MAXCOVERAGE` (maximum coverage), + :data:`Quantize.FASTOCTREE` (fast octree), + :data:`Quantize.LIBIMAGEQUANT` (libimagequant; check support + using :py:func:`PIL.features.check_feature` with + ``feature="libimagequant"``). + + By default, :data:`Quantize.MEDIANCUT` will be used. + + The exception to this is RGBA images. :data:`Quantize.MEDIANCUT` + and :data:`Quantize.MAXCOVERAGE` do not support RGBA images, so + :data:`Quantize.FASTOCTREE` is used by default instead. + :param kmeans: Integer greater than or equal to zero. + :param palette: Quantize to the palette of given + :py:class:`PIL.Image.Image`. + :param dither: Dithering method, used when converting from + mode "RGB" to "P" or from "RGB" or "L" to "1". + Available methods are :data:`Dither.NONE` or :data:`Dither.FLOYDSTEINBERG` + (default). + :returns: A new image + """ + + self.load() + + if method is None: + # defaults: + method = Quantize.MEDIANCUT + if self.mode == "RGBA": + method = Quantize.FASTOCTREE + + if self.mode == "RGBA" and method not in ( + Quantize.FASTOCTREE, + Quantize.LIBIMAGEQUANT, + ): + # Caller specified an invalid mode. + msg = ( + "Fast Octree (method == 2) and libimagequant (method == 3) " + "are the only valid methods for quantizing RGBA images" + ) + raise ValueError(msg) + + if palette: + # use palette from reference image + palette.load() + if palette.mode != "P": + msg = "bad mode for palette image" + raise ValueError(msg) + if self.mode not in {"RGB", "L"}: + msg = "only RGB or L mode images can be quantized to a palette" + raise ValueError(msg) + im = self.im.convert("P", dither, palette.im) + new_im = self._new(im) + assert palette.palette is not None + new_im.palette = palette.palette.copy() + return new_im + + if kmeans < 0: + msg = "kmeans must not be negative" + raise ValueError(msg) + + im = self._new(self.im.quantize(colors, method, kmeans)) + + from . import ImagePalette + + mode = im.im.getpalettemode() + palette_data = im.im.getpalette(mode, mode)[: colors * len(mode)] + im.palette = ImagePalette.ImagePalette(mode, palette_data) + + return im + + def copy(self) -> Image: + """ + Copies this image. Use this method if you wish to paste things + into an image, but still retain the original. + + :rtype: :py:class:`~PIL.Image.Image` + :returns: An :py:class:`~PIL.Image.Image` object. + """ + self.load() + return self._new(self.im.copy()) + + __copy__ = copy + + def crop(self, box: tuple[float, float, float, float] | None = None) -> Image: + """ + Returns a rectangular region from this image. The box is a + 4-tuple defining the left, upper, right, and lower pixel + coordinate. See :ref:`coordinate-system`. + + Note: Prior to Pillow 3.4.0, this was a lazy operation. + + :param box: The crop rectangle, as a (left, upper, right, lower)-tuple. + :rtype: :py:class:`~PIL.Image.Image` + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + if box is None: + return self.copy() + + if box[2] < box[0]: + msg = "Coordinate 'right' is less than 'left'" + raise ValueError(msg) + elif box[3] < box[1]: + msg = "Coordinate 'lower' is less than 'upper'" + raise ValueError(msg) + + self.load() + return self._new(self._crop(self.im, box)) + + def _crop( + self, im: core.ImagingCore, box: tuple[float, float, float, float] + ) -> core.ImagingCore: + """ + Returns a rectangular region from the core image object im. + + This is equivalent to calling im.crop((x0, y0, x1, y1)), but + includes additional sanity checks. + + :param im: a core image object + :param box: The crop rectangle, as a (left, upper, right, lower)-tuple. + :returns: A core image object. + """ + + x0, y0, x1, y1 = map(int, map(round, box)) + + absolute_values = (abs(x1 - x0), abs(y1 - y0)) + + _decompression_bomb_check(absolute_values) + + return im.crop((x0, y0, x1, y1)) + + def draft( + self, mode: str | None, size: tuple[int, int] | None + ) -> tuple[str, tuple[int, int, float, float]] | None: + """ + Configures the image file loader so it returns a version of the + image that as closely as possible matches the given mode and + size. For example, you can use this method to convert a color + JPEG to grayscale while loading it. + + If any changes are made, returns a tuple with the chosen ``mode`` and + ``box`` with coordinates of the original image within the altered one. + + Note that this method modifies the :py:class:`~PIL.Image.Image` object + in place. If the image has already been loaded, this method has no + effect. + + Note: This method is not implemented for most images. It is + currently implemented only for JPEG and MPO images. + + :param mode: The requested mode. + :param size: The requested size in pixels, as a 2-tuple: + (width, height). + """ + pass + + def _expand(self, xmargin: int, ymargin: int | None = None) -> Image: + if ymargin is None: + ymargin = xmargin + self.load() + return self._new(self.im.expand(xmargin, ymargin)) + + def filter(self, filter: ImageFilter.Filter | type[ImageFilter.Filter]) -> Image: + """ + Filters this image using the given filter. For a list of + available filters, see the :py:mod:`~PIL.ImageFilter` module. + + :param filter: Filter kernel. + :returns: An :py:class:`~PIL.Image.Image` object.""" + + from . import ImageFilter + + self.load() + + if callable(filter): + filter = filter() + if not hasattr(filter, "filter"): + msg = "filter argument should be ImageFilter.Filter instance or class" + raise TypeError(msg) + + multiband = isinstance(filter, ImageFilter.MultibandFilter) + if self.im.bands == 1 or multiband: + return self._new(filter.filter(self.im)) + + ims = [ + self._new(filter.filter(self.im.getband(c))) for c in range(self.im.bands) + ] + return merge(self.mode, ims) + + def getbands(self) -> tuple[str, ...]: + """ + Returns a tuple containing the name of each band in this image. + For example, ``getbands`` on an RGB image returns ("R", "G", "B"). + + :returns: A tuple containing band names. + :rtype: tuple + """ + return ImageMode.getmode(self.mode).bands + + def getbbox(self, *, alpha_only: bool = True) -> tuple[int, int, int, int] | None: + """ + Calculates the bounding box of the non-zero regions in the + image. + + :param alpha_only: Optional flag, defaulting to ``True``. + If ``True`` and the image has an alpha channel, trim transparent pixels. + Otherwise, trim pixels when all channels are zero. + Keyword-only argument. + :returns: The bounding box is returned as a 4-tuple defining the + left, upper, right, and lower pixel coordinate. See + :ref:`coordinate-system`. If the image is completely empty, this + method returns None. + + """ + + self.load() + return self.im.getbbox(alpha_only) + + def getcolors( + self, maxcolors: int = 256 + ) -> list[tuple[int, tuple[int, ...]]] | list[tuple[int, float]] | None: + """ + Returns a list of colors used in this image. + + The colors will be in the image's mode. For example, an RGB image will + return a tuple of (red, green, blue) color values, and a P image will + return the index of the color in the palette. + + :param maxcolors: Maximum number of colors. If this number is + exceeded, this method returns None. The default limit is + 256 colors. + :returns: An unsorted list of (count, pixel) values. + """ + + self.load() + if self.mode in ("1", "L", "P"): + h = self.im.histogram() + out: list[tuple[int, float]] = [(h[i], i) for i in range(256) if h[i]] + if len(out) > maxcolors: + return None + return out + return self.im.getcolors(maxcolors) + + def getdata(self, band: int | None = None) -> core.ImagingCore: + """ + Returns the contents of this image as a sequence object + containing pixel values. The sequence object is flattened, so + that values for line one follow directly after the values of + line zero, and so on. + + Note that the sequence object returned by this method is an + internal PIL data type, which only supports certain sequence + operations. To convert it to an ordinary sequence (e.g. for + printing), use ``list(im.getdata())``. + + :param band: What band to return. The default is to return + all bands. To return a single band, pass in the index + value (e.g. 0 to get the "R" band from an "RGB" image). + :returns: A sequence-like object. + """ + + self.load() + if band is not None: + return self.im.getband(band) + return self.im # could be abused + + def getextrema(self) -> tuple[float, float] | tuple[tuple[int, int], ...]: + """ + Gets the minimum and maximum pixel values for each band in + the image. + + :returns: For a single-band image, a 2-tuple containing the + minimum and maximum pixel value. For a multi-band image, + a tuple containing one 2-tuple for each band. + """ + + self.load() + if self.im.bands > 1: + return tuple(self.im.getband(i).getextrema() for i in range(self.im.bands)) + return self.im.getextrema() + + def getxmp(self) -> dict[str, Any]: + """ + Returns a dictionary containing the XMP tags. + Requires defusedxml to be installed. + + :returns: XMP tags in a dictionary. + """ + + def get_name(tag: str) -> str: + return re.sub("^{[^}]+}", "", tag) + + def get_value(element: Element) -> str | dict[str, Any] | None: + value: dict[str, Any] = {get_name(k): v for k, v in element.attrib.items()} + children = list(element) + if children: + for child in children: + name = get_name(child.tag) + child_value = get_value(child) + if name in value: + if not isinstance(value[name], list): + value[name] = [value[name]] + value[name].append(child_value) + else: + value[name] = child_value + elif value: + if element.text: + value["text"] = element.text + else: + return element.text + return value + + if ElementTree is None: + warnings.warn("XMP data cannot be read without defusedxml dependency") + return {} + if "xmp" not in self.info: + return {} + root = ElementTree.fromstring(self.info["xmp"].rstrip(b"\x00")) + return {get_name(root.tag): get_value(root)} + + def getexif(self) -> Exif: + """ + Gets EXIF data from the image. + + :returns: an :py:class:`~PIL.Image.Exif` object. + """ + if self._exif is None: + self._exif = Exif() + elif self._exif._loaded: + return self._exif + self._exif._loaded = True + + exif_info = self.info.get("exif") + if exif_info is None: + if "Raw profile type exif" in self.info: + exif_info = bytes.fromhex( + "".join(self.info["Raw profile type exif"].split("\n")[3:]) + ) + elif hasattr(self, "tag_v2"): + self._exif.bigtiff = self.tag_v2._bigtiff + self._exif.endian = self.tag_v2._endian + self._exif.load_from_fp(self.fp, self.tag_v2._offset) + if exif_info is not None: + self._exif.load(exif_info) + + # XMP tags + if ExifTags.Base.Orientation not in self._exif: + xmp_tags = self.info.get("XML:com.adobe.xmp") + if xmp_tags: + match = re.search(r'tiff:Orientation(="|>)([0-9])', xmp_tags) + if match: + self._exif[ExifTags.Base.Orientation] = int(match[2]) + + return self._exif + + def _reload_exif(self) -> None: + if self._exif is None or not self._exif._loaded: + return + self._exif._loaded = False + self.getexif() + + def get_child_images(self) -> list[ImageFile.ImageFile]: + child_images = [] + exif = self.getexif() + ifds = [] + if ExifTags.Base.SubIFDs in exif: + subifd_offsets = exif[ExifTags.Base.SubIFDs] + if subifd_offsets: + if not isinstance(subifd_offsets, tuple): + subifd_offsets = (subifd_offsets,) + for subifd_offset in subifd_offsets: + ifds.append((exif._get_ifd_dict(subifd_offset), subifd_offset)) + ifd1 = exif.get_ifd(ExifTags.IFD.IFD1) + if ifd1 and ifd1.get(513): + assert exif._info is not None + ifds.append((ifd1, exif._info.next)) + + offset = None + for ifd, ifd_offset in ifds: + current_offset = self.fp.tell() + if offset is None: + offset = current_offset + + fp = self.fp + if ifd is not None: + thumbnail_offset = ifd.get(513) + if thumbnail_offset is not None: + thumbnail_offset += getattr(self, "_exif_offset", 0) + self.fp.seek(thumbnail_offset) + data = self.fp.read(ifd.get(514)) + fp = io.BytesIO(data) + + with open(fp) as im: + from . import TiffImagePlugin + + if thumbnail_offset is None and isinstance( + im, TiffImagePlugin.TiffImageFile + ): + im._frame_pos = [ifd_offset] + im._seek(0) + im.load() + child_images.append(im) + + if offset is not None: + self.fp.seek(offset) + return child_images + + def getim(self) -> CapsuleType: + """ + Returns a capsule that points to the internal image memory. + + :returns: A capsule object. + """ + + self.load() + return self.im.ptr + + def getpalette(self, rawmode: str | None = "RGB") -> list[int] | None: + """ + Returns the image palette as a list. + + :param rawmode: The mode in which to return the palette. ``None`` will + return the palette in its current mode. + + .. versionadded:: 9.1.0 + + :returns: A list of color values [r, g, b, ...], or None if the + image has no palette. + """ + + self.load() + try: + mode = self.im.getpalettemode() + except ValueError: + return None # no palette + if rawmode is None: + rawmode = mode + return list(self.im.getpalette(mode, rawmode)) + + @property + def has_transparency_data(self) -> bool: + """ + Determine if an image has transparency data, whether in the form of an + alpha channel, a palette with an alpha channel, or a "transparency" key + in the info dictionary. + + Note the image might still appear solid, if all of the values shown + within are opaque. + + :returns: A boolean. + """ + if ( + self.mode in ("LA", "La", "PA", "RGBA", "RGBa") + or "transparency" in self.info + ): + return True + if self.mode == "P": + assert self.palette is not None + return self.palette.mode.endswith("A") + return False + + def apply_transparency(self) -> None: + """ + If a P mode image has a "transparency" key in the info dictionary, + remove the key and instead apply the transparency to the palette. + Otherwise, the image is unchanged. + """ + if self.mode != "P" or "transparency" not in self.info: + return + + from . import ImagePalette + + palette = self.getpalette("RGBA") + assert palette is not None + transparency = self.info["transparency"] + if isinstance(transparency, bytes): + for i, alpha in enumerate(transparency): + palette[i * 4 + 3] = alpha + else: + palette[transparency * 4 + 3] = 0 + self.palette = ImagePalette.ImagePalette("RGBA", bytes(palette)) + self.palette.dirty = 1 + + del self.info["transparency"] + + def getpixel( + self, xy: tuple[int, int] | list[int] + ) -> float | tuple[int, ...] | None: + """ + Returns the pixel value at a given position. + + :param xy: The coordinate, given as (x, y). See + :ref:`coordinate-system`. + :returns: The pixel value. If the image is a multi-layer image, + this method returns a tuple. + """ + + self.load() + return self.im.getpixel(tuple(xy)) + + def getprojection(self) -> tuple[list[int], list[int]]: + """ + Get projection to x and y axes + + :returns: Two sequences, indicating where there are non-zero + pixels along the X-axis and the Y-axis, respectively. + """ + + self.load() + x, y = self.im.getprojection() + return list(x), list(y) + + def histogram( + self, mask: Image | None = None, extrema: tuple[float, float] | None = None + ) -> list[int]: + """ + Returns a histogram for the image. The histogram is returned as a + list of pixel counts, one for each pixel value in the source + image. Counts are grouped into 256 bins for each band, even if + the image has more than 8 bits per band. If the image has more + than one band, the histograms for all bands are concatenated (for + example, the histogram for an "RGB" image contains 768 values). + + A bilevel image (mode "1") is treated as a grayscale ("L") image + by this method. + + If a mask is provided, the method returns a histogram for those + parts of the image where the mask image is non-zero. The mask + image must have the same size as the image, and be either a + bi-level image (mode "1") or a grayscale image ("L"). + + :param mask: An optional mask. + :param extrema: An optional tuple of manually-specified extrema. + :returns: A list containing pixel counts. + """ + self.load() + if mask: + mask.load() + return self.im.histogram((0, 0), mask.im) + if self.mode in ("I", "F"): + return self.im.histogram( + extrema if extrema is not None else self.getextrema() + ) + return self.im.histogram() + + def entropy( + self, mask: Image | None = None, extrema: tuple[float, float] | None = None + ) -> float: + """ + Calculates and returns the entropy for the image. + + A bilevel image (mode "1") is treated as a grayscale ("L") + image by this method. + + If a mask is provided, the method employs the histogram for + those parts of the image where the mask image is non-zero. + The mask image must have the same size as the image, and be + either a bi-level image (mode "1") or a grayscale image ("L"). + + :param mask: An optional mask. + :param extrema: An optional tuple of manually-specified extrema. + :returns: A float value representing the image entropy + """ + self.load() + if mask: + mask.load() + return self.im.entropy((0, 0), mask.im) + if self.mode in ("I", "F"): + return self.im.entropy( + extrema if extrema is not None else self.getextrema() + ) + return self.im.entropy() + + def paste( + self, + im: Image | str | float | tuple[float, ...], + box: Image | tuple[int, int, int, int] | tuple[int, int] | None = None, + mask: Image | None = None, + ) -> None: + """ + Pastes another image into this image. The box argument is either + a 2-tuple giving the upper left corner, a 4-tuple defining the + left, upper, right, and lower pixel coordinate, or None (same as + (0, 0)). See :ref:`coordinate-system`. If a 4-tuple is given, the size + of the pasted image must match the size of the region. + + If the modes don't match, the pasted image is converted to the mode of + this image (see the :py:meth:`~PIL.Image.Image.convert` method for + details). + + Instead of an image, the source can be a integer or tuple + containing pixel values. The method then fills the region + with the given color. When creating RGB images, you can + also use color strings as supported by the ImageColor module. + + If a mask is given, this method updates only the regions + indicated by the mask. You can use either "1", "L", "LA", "RGBA" + or "RGBa" images (if present, the alpha band is used as mask). + Where the mask is 255, the given image is copied as is. Where + the mask is 0, the current value is preserved. Intermediate + values will mix the two images together, including their alpha + channels if they have them. + + See :py:meth:`~PIL.Image.Image.alpha_composite` if you want to + combine images with respect to their alpha channels. + + :param im: Source image or pixel value (integer, float or tuple). + :param box: An optional 4-tuple giving the region to paste into. + If a 2-tuple is used instead, it's treated as the upper left + corner. If omitted or None, the source is pasted into the + upper left corner. + + If an image is given as the second argument and there is no + third, the box defaults to (0, 0), and the second argument + is interpreted as a mask image. + :param mask: An optional mask image. + """ + + if isinstance(box, Image): + if mask is not None: + msg = "If using second argument as mask, third argument must be None" + raise ValueError(msg) + # abbreviated paste(im, mask) syntax + mask = box + box = None + + if box is None: + box = (0, 0) + + if len(box) == 2: + # upper left corner given; get size from image or mask + if isinstance(im, Image): + size = im.size + elif isinstance(mask, Image): + size = mask.size + else: + # FIXME: use self.size here? + msg = "cannot determine region size; use 4-item box" + raise ValueError(msg) + box += (box[0] + size[0], box[1] + size[1]) + + source: core.ImagingCore | str | float | tuple[float, ...] + if isinstance(im, str): + from . import ImageColor + + source = ImageColor.getcolor(im, self.mode) + elif isinstance(im, Image): + im.load() + if self.mode != im.mode: + if self.mode != "RGB" or im.mode not in ("LA", "RGBA", "RGBa"): + # should use an adapter for this! + im = im.convert(self.mode) + source = im.im + else: + source = im + + self._ensure_mutable() + + if mask: + mask.load() + self.im.paste(source, box, mask.im) + else: + self.im.paste(source, box) + + def alpha_composite( + self, im: Image, dest: Sequence[int] = (0, 0), source: Sequence[int] = (0, 0) + ) -> None: + """'In-place' analog of Image.alpha_composite. Composites an image + onto this image. + + :param im: image to composite over this one + :param dest: Optional 2 tuple (left, top) specifying the upper + left corner in this (destination) image. + :param source: Optional 2 (left, top) tuple for the upper left + corner in the overlay source image, or 4 tuple (left, top, right, + bottom) for the bounds of the source rectangle + + Performance Note: Not currently implemented in-place in the core layer. + """ + + if not isinstance(source, (list, tuple)): + msg = "Source must be a list or tuple" + raise ValueError(msg) + if not isinstance(dest, (list, tuple)): + msg = "Destination must be a list or tuple" + raise ValueError(msg) + + if len(source) == 4: + overlay_crop_box = tuple(source) + elif len(source) == 2: + overlay_crop_box = tuple(source) + im.size + else: + msg = "Source must be a sequence of length 2 or 4" + raise ValueError(msg) + + if not len(dest) == 2: + msg = "Destination must be a sequence of length 2" + raise ValueError(msg) + if min(source) < 0: + msg = "Source must be non-negative" + raise ValueError(msg) + + # over image, crop if it's not the whole image. + if overlay_crop_box == (0, 0) + im.size: + overlay = im + else: + overlay = im.crop(overlay_crop_box) + + # target for the paste + box = tuple(dest) + (dest[0] + overlay.width, dest[1] + overlay.height) + + # destination image. don't copy if we're using the whole image. + if box == (0, 0) + self.size: + background = self + else: + background = self.crop(box) + + result = alpha_composite(background, overlay) + self.paste(result, box) + + def point( + self, + lut: ( + Sequence[float] + | NumpyArray + | Callable[[int], float] + | Callable[[ImagePointTransform], ImagePointTransform | float] + | ImagePointHandler + ), + mode: str | None = None, + ) -> Image: + """ + Maps this image through a lookup table or function. + + :param lut: A lookup table, containing 256 (or 65536 if + self.mode=="I" and mode == "L") values per band in the + image. A function can be used instead, it should take a + single argument. The function is called once for each + possible pixel value, and the resulting table is applied to + all bands of the image. + + It may also be an :py:class:`~PIL.Image.ImagePointHandler` + object:: + + class Example(Image.ImagePointHandler): + def point(self, im: Image) -> Image: + # Return result + :param mode: Output mode (default is same as input). This can only be used if + the source image has mode "L" or "P", and the output has mode "1" or the + source image mode is "I" and the output mode is "L". + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + self.load() + + if isinstance(lut, ImagePointHandler): + return lut.point(self) + + if callable(lut): + # if it isn't a list, it should be a function + if self.mode in ("I", "I;16", "F"): + # check if the function can be used with point_transform + # UNDONE wiredfool -- I think this prevents us from ever doing + # a gamma function point transform on > 8bit images. + scale, offset = _getscaleoffset(lut) # type: ignore[arg-type] + return self._new(self.im.point_transform(scale, offset)) + # for other modes, convert the function to a table + flatLut = [lut(i) for i in range(256)] * self.im.bands # type: ignore[arg-type] + else: + flatLut = lut + + if self.mode == "F": + # FIXME: _imaging returns a confusing error message for this case + msg = "point operation not supported for this mode" + raise ValueError(msg) + + if mode != "F": + flatLut = [round(i) for i in flatLut] + return self._new(self.im.point(flatLut, mode)) + + def putalpha(self, alpha: Image | int) -> None: + """ + Adds or replaces the alpha layer in this image. If the image + does not have an alpha layer, it's converted to "LA" or "RGBA". + The new layer must be either "L" or "1". + + :param alpha: The new alpha layer. This can either be an "L" or "1" + image having the same size as this image, or an integer. + """ + + self._ensure_mutable() + + if self.mode not in ("LA", "PA", "RGBA"): + # attempt to promote self to a matching alpha mode + try: + mode = getmodebase(self.mode) + "A" + try: + self.im.setmode(mode) + except (AttributeError, ValueError) as e: + # do things the hard way + im = self.im.convert(mode) + if im.mode not in ("LA", "PA", "RGBA"): + msg = "alpha channel could not be added" + raise ValueError(msg) from e # sanity check + self.im = im + self._mode = self.im.mode + except KeyError as e: + msg = "illegal image mode" + raise ValueError(msg) from e + + if self.mode in ("LA", "PA"): + band = 1 + else: + band = 3 + + if isinstance(alpha, Image): + # alpha layer + if alpha.mode not in ("1", "L"): + msg = "illegal image mode" + raise ValueError(msg) + alpha.load() + if alpha.mode == "1": + alpha = alpha.convert("L") + else: + # constant alpha + try: + self.im.fillband(band, alpha) + except (AttributeError, ValueError): + # do things the hard way + alpha = new("L", self.size, alpha) + else: + return + + self.im.putband(alpha.im, band) + + def putdata( + self, + data: Sequence[float] | Sequence[Sequence[int]] | core.ImagingCore | NumpyArray, + scale: float = 1.0, + offset: float = 0.0, + ) -> None: + """ + Copies pixel data from a flattened sequence object into the image. The + values should start at the upper left corner (0, 0), continue to the + end of the line, followed directly by the first value of the second + line, and so on. Data will be read until either the image or the + sequence ends. The scale and offset values are used to adjust the + sequence values: **pixel = value*scale + offset**. + + :param data: A flattened sequence object. + :param scale: An optional scale value. The default is 1.0. + :param offset: An optional offset value. The default is 0.0. + """ + + self._ensure_mutable() + + self.im.putdata(data, scale, offset) + + def putpalette( + self, + data: ImagePalette.ImagePalette | bytes | Sequence[int], + rawmode: str = "RGB", + ) -> None: + """ + Attaches a palette to this image. The image must be a "P", "PA", "L" + or "LA" image. + + The palette sequence must contain at most 256 colors, made up of one + integer value for each channel in the raw mode. + For example, if the raw mode is "RGB", then it can contain at most 768 + values, made up of red, green and blue values for the corresponding pixel + index in the 256 colors. + If the raw mode is "RGBA", then it can contain at most 1024 values, + containing red, green, blue and alpha values. + + Alternatively, an 8-bit string may be used instead of an integer sequence. + + :param data: A palette sequence (either a list or a string). + :param rawmode: The raw mode of the palette. Either "RGB", "RGBA", or a mode + that can be transformed to "RGB" or "RGBA" (e.g. "R", "BGR;15", "RGBA;L"). + """ + from . import ImagePalette + + if self.mode not in ("L", "LA", "P", "PA"): + msg = "illegal image mode" + raise ValueError(msg) + if isinstance(data, ImagePalette.ImagePalette): + if data.rawmode is not None: + palette = ImagePalette.raw(data.rawmode, data.palette) + else: + palette = ImagePalette.ImagePalette(palette=data.palette) + palette.dirty = 1 + else: + if not isinstance(data, bytes): + data = bytes(data) + palette = ImagePalette.raw(rawmode, data) + self._mode = "PA" if "A" in self.mode else "P" + self.palette = palette + self.palette.mode = "RGBA" if "A" in rawmode else "RGB" + self.load() # install new palette + + def putpixel( + self, xy: tuple[int, int], value: float | tuple[int, ...] | list[int] + ) -> None: + """ + Modifies the pixel at the given position. The color is given as + a single numerical value for single-band images, and a tuple for + multi-band images. In addition to this, RGB and RGBA tuples are + accepted for P and PA images. + + Note that this method is relatively slow. For more extensive changes, + use :py:meth:`~PIL.Image.Image.paste` or the :py:mod:`~PIL.ImageDraw` + module instead. + + See: + + * :py:meth:`~PIL.Image.Image.paste` + * :py:meth:`~PIL.Image.Image.putdata` + * :py:mod:`~PIL.ImageDraw` + + :param xy: The pixel coordinate, given as (x, y). See + :ref:`coordinate-system`. + :param value: The pixel value. + """ + + if self.readonly: + self._copy() + self.load() + + if ( + self.mode in ("P", "PA") + and isinstance(value, (list, tuple)) + and len(value) in [3, 4] + ): + # RGB or RGBA value for a P or PA image + if self.mode == "PA": + alpha = value[3] if len(value) == 4 else 255 + value = value[:3] + assert self.palette is not None + palette_index = self.palette.getcolor(tuple(value), self) + value = (palette_index, alpha) if self.mode == "PA" else palette_index + return self.im.putpixel(xy, value) + + def remap_palette( + self, dest_map: list[int], source_palette: bytes | bytearray | None = None + ) -> Image: + """ + Rewrites the image to reorder the palette. + + :param dest_map: A list of indexes into the original palette. + e.g. ``[1,0]`` would swap a two item palette, and ``list(range(256))`` + is the identity transform. + :param source_palette: Bytes or None. + :returns: An :py:class:`~PIL.Image.Image` object. + + """ + from . import ImagePalette + + if self.mode not in ("L", "P"): + msg = "illegal image mode" + raise ValueError(msg) + + bands = 3 + palette_mode = "RGB" + if source_palette is None: + if self.mode == "P": + self.load() + palette_mode = self.im.getpalettemode() + if palette_mode == "RGBA": + bands = 4 + source_palette = self.im.getpalette(palette_mode, palette_mode) + else: # L-mode + source_palette = bytearray(i // 3 for i in range(768)) + elif len(source_palette) > 768: + bands = 4 + palette_mode = "RGBA" + + palette_bytes = b"" + new_positions = [0] * 256 + + # pick only the used colors from the palette + for i, oldPosition in enumerate(dest_map): + palette_bytes += source_palette[ + oldPosition * bands : oldPosition * bands + bands + ] + new_positions[oldPosition] = i + + # replace the palette color id of all pixel with the new id + + # Palette images are [0..255], mapped through a 1 or 3 + # byte/color map. We need to remap the whole image + # from palette 1 to palette 2. New_positions is + # an array of indexes into palette 1. Palette 2 is + # palette 1 with any holes removed. + + # We're going to leverage the convert mechanism to use the + # C code to remap the image from palette 1 to palette 2, + # by forcing the source image into 'L' mode and adding a + # mapping 'L' mode palette, then converting back to 'L' + # sans palette thus converting the image bytes, then + # assigning the optimized RGB palette. + + # perf reference, 9500x4000 gif, w/~135 colors + # 14 sec prepatch, 1 sec postpatch with optimization forced. + + mapping_palette = bytearray(new_positions) + + m_im = self.copy() + m_im._mode = "P" + + m_im.palette = ImagePalette.ImagePalette( + palette_mode, palette=mapping_palette * bands + ) + # possibly set palette dirty, then + # m_im.putpalette(mapping_palette, 'L') # converts to 'P' + # or just force it. + # UNDONE -- this is part of the general issue with palettes + m_im.im.putpalette(palette_mode, palette_mode + ";L", m_im.palette.tobytes()) + + m_im = m_im.convert("L") + + m_im.putpalette(palette_bytes, palette_mode) + m_im.palette = ImagePalette.ImagePalette(palette_mode, palette=palette_bytes) + + if "transparency" in self.info: + try: + m_im.info["transparency"] = dest_map.index(self.info["transparency"]) + except ValueError: + if "transparency" in m_im.info: + del m_im.info["transparency"] + + return m_im + + def _get_safe_box( + self, + size: tuple[int, int], + resample: Resampling, + box: tuple[float, float, float, float], + ) -> tuple[int, int, int, int]: + """Expands the box so it includes adjacent pixels + that may be used by resampling with the given resampling filter. + """ + filter_support = _filters_support[resample] - 0.5 + scale_x = (box[2] - box[0]) / size[0] + scale_y = (box[3] - box[1]) / size[1] + support_x = filter_support * scale_x + support_y = filter_support * scale_y + + return ( + max(0, int(box[0] - support_x)), + max(0, int(box[1] - support_y)), + min(self.size[0], math.ceil(box[2] + support_x)), + min(self.size[1], math.ceil(box[3] + support_y)), + ) + + def resize( + self, + size: tuple[int, int] | list[int] | NumpyArray, + resample: int | None = None, + box: tuple[float, float, float, float] | None = None, + reducing_gap: float | None = None, + ) -> Image: + """ + Returns a resized copy of this image. + + :param size: The requested size in pixels, as a tuple or array: + (width, height). + :param resample: An optional resampling filter. This can be + one of :py:data:`Resampling.NEAREST`, :py:data:`Resampling.BOX`, + :py:data:`Resampling.BILINEAR`, :py:data:`Resampling.HAMMING`, + :py:data:`Resampling.BICUBIC` or :py:data:`Resampling.LANCZOS`. + If the image has mode "1" or "P", it is always set to + :py:data:`Resampling.NEAREST`. If the image mode is "BGR;15", + "BGR;16" or "BGR;24", then the default filter is + :py:data:`Resampling.NEAREST`. Otherwise, the default filter is + :py:data:`Resampling.BICUBIC`. See: :ref:`concept-filters`. + :param box: An optional 4-tuple of floats providing + the source image region to be scaled. + The values must be within (0, 0, width, height) rectangle. + If omitted or None, the entire source is used. + :param reducing_gap: Apply optimization by resizing the image + in two steps. First, reducing the image by integer times + using :py:meth:`~PIL.Image.Image.reduce`. + Second, resizing using regular resampling. The last step + changes size no less than by ``reducing_gap`` times. + ``reducing_gap`` may be None (no first step is performed) + or should be greater than 1.0. The bigger ``reducing_gap``, + the closer the result to the fair resampling. + The smaller ``reducing_gap``, the faster resizing. + With ``reducing_gap`` greater or equal to 3.0, the result is + indistinguishable from fair resampling in most cases. + The default value is None (no optimization). + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + if resample is None: + bgr = self.mode.startswith("BGR;") + resample = Resampling.NEAREST if bgr else Resampling.BICUBIC + elif resample not in ( + Resampling.NEAREST, + Resampling.BILINEAR, + Resampling.BICUBIC, + Resampling.LANCZOS, + Resampling.BOX, + Resampling.HAMMING, + ): + msg = f"Unknown resampling filter ({resample})." + + filters = [ + f"{filter[1]} ({filter[0]})" + for filter in ( + (Resampling.NEAREST, "Image.Resampling.NEAREST"), + (Resampling.LANCZOS, "Image.Resampling.LANCZOS"), + (Resampling.BILINEAR, "Image.Resampling.BILINEAR"), + (Resampling.BICUBIC, "Image.Resampling.BICUBIC"), + (Resampling.BOX, "Image.Resampling.BOX"), + (Resampling.HAMMING, "Image.Resampling.HAMMING"), + ) + ] + msg += f" Use {', '.join(filters[:-1])} or {filters[-1]}" + raise ValueError(msg) + + if reducing_gap is not None and reducing_gap < 1.0: + msg = "reducing_gap must be 1.0 or greater" + raise ValueError(msg) + + if box is None: + box = (0, 0) + self.size + + size = tuple(size) + if self.size == size and box == (0, 0) + self.size: + return self.copy() + + if self.mode in ("1", "P"): + resample = Resampling.NEAREST + + if self.mode in ["LA", "RGBA"] and resample != Resampling.NEAREST: + im = self.convert({"LA": "La", "RGBA": "RGBa"}[self.mode]) + im = im.resize(size, resample, box) + return im.convert(self.mode) + + self.load() + + if reducing_gap is not None and resample != Resampling.NEAREST: + factor_x = int((box[2] - box[0]) / size[0] / reducing_gap) or 1 + factor_y = int((box[3] - box[1]) / size[1] / reducing_gap) or 1 + if factor_x > 1 or factor_y > 1: + reduce_box = self._get_safe_box(size, cast(Resampling, resample), box) + factor = (factor_x, factor_y) + self = ( + self.reduce(factor, box=reduce_box) + if callable(self.reduce) + else Image.reduce(self, factor, box=reduce_box) + ) + box = ( + (box[0] - reduce_box[0]) / factor_x, + (box[1] - reduce_box[1]) / factor_y, + (box[2] - reduce_box[0]) / factor_x, + (box[3] - reduce_box[1]) / factor_y, + ) + + return self._new(self.im.resize(size, resample, box)) + + def reduce( + self, + factor: int | tuple[int, int], + box: tuple[int, int, int, int] | None = None, + ) -> Image: + """ + Returns a copy of the image reduced ``factor`` times. + If the size of the image is not dividable by ``factor``, + the resulting size will be rounded up. + + :param factor: A greater than 0 integer or tuple of two integers + for width and height separately. + :param box: An optional 4-tuple of ints providing + the source image region to be reduced. + The values must be within ``(0, 0, width, height)`` rectangle. + If omitted or ``None``, the entire source is used. + """ + if not isinstance(factor, (list, tuple)): + factor = (factor, factor) + + if box is None: + box = (0, 0) + self.size + + if factor == (1, 1) and box == (0, 0) + self.size: + return self.copy() + + if self.mode in ["LA", "RGBA"]: + im = self.convert({"LA": "La", "RGBA": "RGBa"}[self.mode]) + im = im.reduce(factor, box) + return im.convert(self.mode) + + self.load() + + return self._new(self.im.reduce(factor, box)) + + def rotate( + self, + angle: float, + resample: Resampling = Resampling.NEAREST, + expand: int | bool = False, + center: tuple[float, float] | None = None, + translate: tuple[int, int] | None = None, + fillcolor: float | tuple[float, ...] | str | None = None, + ) -> Image: + """ + Returns a rotated copy of this image. This method returns a + copy of this image, rotated the given number of degrees counter + clockwise around its centre. + + :param angle: In degrees counter clockwise. + :param resample: An optional resampling filter. This can be + one of :py:data:`Resampling.NEAREST` (use nearest neighbour), + :py:data:`Resampling.BILINEAR` (linear interpolation in a 2x2 + environment), or :py:data:`Resampling.BICUBIC` (cubic spline + interpolation in a 4x4 environment). If omitted, or if the image has + mode "1" or "P", it is set to :py:data:`Resampling.NEAREST`. + See :ref:`concept-filters`. + :param expand: Optional expansion flag. If true, expands the output + image to make it large enough to hold the entire rotated image. + If false or omitted, make the output image the same size as the + input image. Note that the expand flag assumes rotation around + the center and no translation. + :param center: Optional center of rotation (a 2-tuple). Origin is + the upper left corner. Default is the center of the image. + :param translate: An optional post-rotate translation (a 2-tuple). + :param fillcolor: An optional color for area outside the rotated image. + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + angle = angle % 360.0 + + # Fast paths regardless of filter, as long as we're not + # translating or changing the center. + if not (center or translate): + if angle == 0: + return self.copy() + if angle == 180: + return self.transpose(Transpose.ROTATE_180) + if angle in (90, 270) and (expand or self.width == self.height): + return self.transpose( + Transpose.ROTATE_90 if angle == 90 else Transpose.ROTATE_270 + ) + + # Calculate the affine matrix. Note that this is the reverse + # transformation (from destination image to source) because we + # want to interpolate the (discrete) destination pixel from + # the local area around the (floating) source pixel. + + # The matrix we actually want (note that it operates from the right): + # (1, 0, tx) (1, 0, cx) ( cos a, sin a, 0) (1, 0, -cx) + # (0, 1, ty) * (0, 1, cy) * (-sin a, cos a, 0) * (0, 1, -cy) + # (0, 0, 1) (0, 0, 1) ( 0, 0, 1) (0, 0, 1) + + # The reverse matrix is thus: + # (1, 0, cx) ( cos -a, sin -a, 0) (1, 0, -cx) (1, 0, -tx) + # (0, 1, cy) * (-sin -a, cos -a, 0) * (0, 1, -cy) * (0, 1, -ty) + # (0, 0, 1) ( 0, 0, 1) (0, 0, 1) (0, 0, 1) + + # In any case, the final translation may be updated at the end to + # compensate for the expand flag. + + w, h = self.size + + if translate is None: + post_trans = (0, 0) + else: + post_trans = translate + if center is None: + center = (w / 2, h / 2) + + angle = -math.radians(angle) + matrix = [ + round(math.cos(angle), 15), + round(math.sin(angle), 15), + 0.0, + round(-math.sin(angle), 15), + round(math.cos(angle), 15), + 0.0, + ] + + def transform(x: float, y: float, matrix: list[float]) -> tuple[float, float]: + (a, b, c, d, e, f) = matrix + return a * x + b * y + c, d * x + e * y + f + + matrix[2], matrix[5] = transform( + -center[0] - post_trans[0], -center[1] - post_trans[1], matrix + ) + matrix[2] += center[0] + matrix[5] += center[1] + + if expand: + # calculate output size + xx = [] + yy = [] + for x, y in ((0, 0), (w, 0), (w, h), (0, h)): + transformed_x, transformed_y = transform(x, y, matrix) + xx.append(transformed_x) + yy.append(transformed_y) + nw = math.ceil(max(xx)) - math.floor(min(xx)) + nh = math.ceil(max(yy)) - math.floor(min(yy)) + + # We multiply a translation matrix from the right. Because of its + # special form, this is the same as taking the image of the + # translation vector as new translation vector. + matrix[2], matrix[5] = transform(-(nw - w) / 2.0, -(nh - h) / 2.0, matrix) + w, h = nw, nh + + return self.transform( + (w, h), Transform.AFFINE, matrix, resample, fillcolor=fillcolor + ) + + def save( + self, fp: StrOrBytesPath | IO[bytes], format: str | None = None, **params: Any + ) -> None: + """ + Saves this image under the given filename. If no format is + specified, the format to use is determined from the filename + extension, if possible. + + Keyword options can be used to provide additional instructions + to the writer. If a writer doesn't recognise an option, it is + silently ignored. The available options are described in the + :doc:`image format documentation + <../handbook/image-file-formats>` for each writer. + + You can use a file object instead of a filename. In this case, + you must always specify the format. The file object must + implement the ``seek``, ``tell``, and ``write`` + methods, and be opened in binary mode. + + :param fp: A filename (string), os.PathLike object or file object. + :param format: Optional format override. If omitted, the + format to use is determined from the filename extension. + If a file object was used instead of a filename, this + parameter should always be used. + :param params: Extra parameters to the image writer. + :returns: None + :exception ValueError: If the output format could not be determined + from the file name. Use the format option to solve this. + :exception OSError: If the file could not be written. The file + may have been created, and may contain partial data. + """ + + filename: str | bytes = "" + open_fp = False + if is_path(fp): + filename = os.path.realpath(os.fspath(fp)) + open_fp = True + elif fp == sys.stdout: + try: + fp = sys.stdout.buffer + except AttributeError: + pass + if not filename and hasattr(fp, "name") and is_path(fp.name): + # only set the name for metadata purposes + filename = os.path.realpath(os.fspath(fp.name)) + + # may mutate self! + self._ensure_mutable() + + save_all = params.pop("save_all", False) + self.encoderinfo = params + self.encoderconfig: tuple[Any, ...] = () + + preinit() + + filename_ext = os.path.splitext(filename)[1].lower() + ext = filename_ext.decode() if isinstance(filename_ext, bytes) else filename_ext + + if not format: + if ext not in EXTENSION: + init() + try: + format = EXTENSION[ext] + except KeyError as e: + msg = f"unknown file extension: {ext}" + raise ValueError(msg) from e + + if format.upper() not in SAVE: + init() + if save_all: + save_handler = SAVE_ALL[format.upper()] + else: + save_handler = SAVE[format.upper()] + + created = False + if open_fp: + created = not os.path.exists(filename) + if params.get("append", False): + # Open also for reading ("+"), because TIFF save_all + # writer needs to go back and edit the written data. + fp = builtins.open(filename, "r+b") + else: + fp = builtins.open(filename, "w+b") + else: + fp = cast(IO[bytes], fp) + + try: + save_handler(self, fp, filename) + except Exception: + if open_fp: + fp.close() + if created: + try: + os.remove(filename) + except PermissionError: + pass + raise + if open_fp: + fp.close() + + def seek(self, frame: int) -> None: + """ + Seeks to the given frame in this sequence file. If you seek + beyond the end of the sequence, the method raises an + ``EOFError`` exception. When a sequence file is opened, the + library automatically seeks to frame 0. + + See :py:meth:`~PIL.Image.Image.tell`. + + If defined, :attr:`~PIL.Image.Image.n_frames` refers to the + number of available frames. + + :param frame: Frame number, starting at 0. + :exception EOFError: If the call attempts to seek beyond the end + of the sequence. + """ + + # overridden by file handlers + if frame != 0: + msg = "no more images in file" + raise EOFError(msg) + + def show(self, title: str | None = None) -> None: + """ + Displays this image. This method is mainly intended for debugging purposes. + + This method calls :py:func:`PIL.ImageShow.show` internally. You can use + :py:func:`PIL.ImageShow.register` to override its default behaviour. + + The image is first saved to a temporary file. By default, it will be in + PNG format. + + On Unix, the image is then opened using the **xdg-open**, **display**, + **gm**, **eog** or **xv** utility, depending on which one can be found. + + On macOS, the image is opened with the native Preview application. + + On Windows, the image is opened with the standard PNG display utility. + + :param title: Optional title to use for the image window, where possible. + """ + + _show(self, title=title) + + def split(self) -> tuple[Image, ...]: + """ + Split this image into individual bands. This method returns a + tuple of individual image bands from an image. For example, + splitting an "RGB" image creates three new images each + containing a copy of one of the original bands (red, green, + blue). + + If you need only one band, :py:meth:`~PIL.Image.Image.getchannel` + method can be more convenient and faster. + + :returns: A tuple containing bands. + """ + + self.load() + if self.im.bands == 1: + return (self.copy(),) + return tuple(map(self._new, self.im.split())) + + def getchannel(self, channel: int | str) -> Image: + """ + Returns an image containing a single channel of the source image. + + :param channel: What channel to return. Could be index + (0 for "R" channel of "RGB") or channel name + ("A" for alpha channel of "RGBA"). + :returns: An image in "L" mode. + + .. versionadded:: 4.3.0 + """ + self.load() + + if isinstance(channel, str): + try: + channel = self.getbands().index(channel) + except ValueError as e: + msg = f'The image has no channel "{channel}"' + raise ValueError(msg) from e + + return self._new(self.im.getband(channel)) + + def tell(self) -> int: + """ + Returns the current frame number. See :py:meth:`~PIL.Image.Image.seek`. + + If defined, :attr:`~PIL.Image.Image.n_frames` refers to the + number of available frames. + + :returns: Frame number, starting with 0. + """ + return 0 + + def thumbnail( + self, + size: tuple[float, float], + resample: Resampling = Resampling.BICUBIC, + reducing_gap: float | None = 2.0, + ) -> None: + """ + Make this image into a thumbnail. This method modifies the + image to contain a thumbnail version of itself, no larger than + the given size. This method calculates an appropriate thumbnail + size to preserve the aspect of the image, calls the + :py:meth:`~PIL.Image.Image.draft` method to configure the file reader + (where applicable), and finally resizes the image. + + Note that this function modifies the :py:class:`~PIL.Image.Image` + object in place. If you need to use the full resolution image as well, + apply this method to a :py:meth:`~PIL.Image.Image.copy` of the original + image. + + :param size: The requested size in pixels, as a 2-tuple: + (width, height). + :param resample: Optional resampling filter. This can be one + of :py:data:`Resampling.NEAREST`, :py:data:`Resampling.BOX`, + :py:data:`Resampling.BILINEAR`, :py:data:`Resampling.HAMMING`, + :py:data:`Resampling.BICUBIC` or :py:data:`Resampling.LANCZOS`. + If omitted, it defaults to :py:data:`Resampling.BICUBIC`. + (was :py:data:`Resampling.NEAREST` prior to version 2.5.0). + See: :ref:`concept-filters`. + :param reducing_gap: Apply optimization by resizing the image + in two steps. First, reducing the image by integer times + using :py:meth:`~PIL.Image.Image.reduce` or + :py:meth:`~PIL.Image.Image.draft` for JPEG images. + Second, resizing using regular resampling. The last step + changes size no less than by ``reducing_gap`` times. + ``reducing_gap`` may be None (no first step is performed) + or should be greater than 1.0. The bigger ``reducing_gap``, + the closer the result to the fair resampling. + The smaller ``reducing_gap``, the faster resizing. + With ``reducing_gap`` greater or equal to 3.0, the result is + indistinguishable from fair resampling in most cases. + The default value is 2.0 (very close to fair resampling + while still being faster in many cases). + :returns: None + """ + + provided_size = tuple(map(math.floor, size)) + + def preserve_aspect_ratio() -> tuple[int, int] | None: + def round_aspect(number: float, key: Callable[[int], float]) -> int: + return max(min(math.floor(number), math.ceil(number), key=key), 1) + + x, y = provided_size + if x >= self.width and y >= self.height: + return None + + aspect = self.width / self.height + if x / y >= aspect: + x = round_aspect(y * aspect, key=lambda n: abs(aspect - n / y)) + else: + y = round_aspect( + x / aspect, key=lambda n: 0 if n == 0 else abs(aspect - x / n) + ) + return x, y + + preserved_size = preserve_aspect_ratio() + if preserved_size is None: + return + final_size = preserved_size + + box = None + if reducing_gap is not None: + res = self.draft( + None, (int(size[0] * reducing_gap), int(size[1] * reducing_gap)) + ) + if res is not None: + box = res[1] + + if self.size != final_size: + im = self.resize(final_size, resample, box=box, reducing_gap=reducing_gap) + + self.im = im.im + self._size = final_size + self._mode = self.im.mode + + self.readonly = 0 + + # FIXME: the different transform methods need further explanation + # instead of bloating the method docs, add a separate chapter. + def transform( + self, + size: tuple[int, int], + method: Transform | ImageTransformHandler | SupportsGetData, + data: Sequence[Any] | None = None, + resample: int = Resampling.NEAREST, + fill: int = 1, + fillcolor: float | tuple[float, ...] | str | None = None, + ) -> Image: + """ + Transforms this image. This method creates a new image with the + given size, and the same mode as the original, and copies data + to the new image using the given transform. + + :param size: The output size in pixels, as a 2-tuple: + (width, height). + :param method: The transformation method. This is one of + :py:data:`Transform.EXTENT` (cut out a rectangular subregion), + :py:data:`Transform.AFFINE` (affine transform), + :py:data:`Transform.PERSPECTIVE` (perspective transform), + :py:data:`Transform.QUAD` (map a quadrilateral to a rectangle), or + :py:data:`Transform.MESH` (map a number of source quadrilaterals + in one operation). + + It may also be an :py:class:`~PIL.Image.ImageTransformHandler` + object:: + + class Example(Image.ImageTransformHandler): + def transform(self, size, data, resample, fill=1): + # Return result + + Implementations of :py:class:`~PIL.Image.ImageTransformHandler` + for some of the :py:class:`Transform` methods are provided + in :py:mod:`~PIL.ImageTransform`. + + It may also be an object with a ``method.getdata`` method + that returns a tuple supplying new ``method`` and ``data`` values:: + + class Example: + def getdata(self): + method = Image.Transform.EXTENT + data = (0, 0, 100, 100) + return method, data + :param data: Extra data to the transformation method. + :param resample: Optional resampling filter. It can be one of + :py:data:`Resampling.NEAREST` (use nearest neighbour), + :py:data:`Resampling.BILINEAR` (linear interpolation in a 2x2 + environment), or :py:data:`Resampling.BICUBIC` (cubic spline + interpolation in a 4x4 environment). If omitted, or if the image + has mode "1" or "P", it is set to :py:data:`Resampling.NEAREST`. + See: :ref:`concept-filters`. + :param fill: If ``method`` is an + :py:class:`~PIL.Image.ImageTransformHandler` object, this is one of + the arguments passed to it. Otherwise, it is unused. + :param fillcolor: Optional fill color for the area outside the + transform in the output image. + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + if self.mode in ("LA", "RGBA") and resample != Resampling.NEAREST: + return ( + self.convert({"LA": "La", "RGBA": "RGBa"}[self.mode]) + .transform(size, method, data, resample, fill, fillcolor) + .convert(self.mode) + ) + + if isinstance(method, ImageTransformHandler): + return method.transform(size, self, resample=resample, fill=fill) + + if hasattr(method, "getdata"): + # compatibility w. old-style transform objects + method, data = method.getdata() + + if data is None: + msg = "missing method data" + raise ValueError(msg) + + im = new(self.mode, size, fillcolor) + if self.mode == "P" and self.palette: + im.palette = self.palette.copy() + im.info = self.info.copy() + if method == Transform.MESH: + # list of quads + for box, quad in data: + im.__transformer( + box, self, Transform.QUAD, quad, resample, fillcolor is None + ) + else: + im.__transformer( + (0, 0) + size, self, method, data, resample, fillcolor is None + ) + + return im + + def __transformer( + self, + box: tuple[int, int, int, int], + image: Image, + method: Transform, + data: Sequence[float], + resample: int = Resampling.NEAREST, + fill: bool = True, + ) -> None: + w = box[2] - box[0] + h = box[3] - box[1] + + if method == Transform.AFFINE: + data = data[:6] + + elif method == Transform.EXTENT: + # convert extent to an affine transform + x0, y0, x1, y1 = data + xs = (x1 - x0) / w + ys = (y1 - y0) / h + method = Transform.AFFINE + data = (xs, 0, x0, 0, ys, y0) + + elif method == Transform.PERSPECTIVE: + data = data[:8] + + elif method == Transform.QUAD: + # quadrilateral warp. data specifies the four corners + # given as NW, SW, SE, and NE. + nw = data[:2] + sw = data[2:4] + se = data[4:6] + ne = data[6:8] + x0, y0 = nw + As = 1.0 / w + At = 1.0 / h + data = ( + x0, + (ne[0] - x0) * As, + (sw[0] - x0) * At, + (se[0] - sw[0] - ne[0] + x0) * As * At, + y0, + (ne[1] - y0) * As, + (sw[1] - y0) * At, + (se[1] - sw[1] - ne[1] + y0) * As * At, + ) + + else: + msg = "unknown transformation method" + raise ValueError(msg) + + if resample not in ( + Resampling.NEAREST, + Resampling.BILINEAR, + Resampling.BICUBIC, + ): + if resample in (Resampling.BOX, Resampling.HAMMING, Resampling.LANCZOS): + unusable: dict[int, str] = { + Resampling.BOX: "Image.Resampling.BOX", + Resampling.HAMMING: "Image.Resampling.HAMMING", + Resampling.LANCZOS: "Image.Resampling.LANCZOS", + } + msg = unusable[resample] + f" ({resample}) cannot be used." + else: + msg = f"Unknown resampling filter ({resample})." + + filters = [ + f"{filter[1]} ({filter[0]})" + for filter in ( + (Resampling.NEAREST, "Image.Resampling.NEAREST"), + (Resampling.BILINEAR, "Image.Resampling.BILINEAR"), + (Resampling.BICUBIC, "Image.Resampling.BICUBIC"), + ) + ] + msg += f" Use {', '.join(filters[:-1])} or {filters[-1]}" + raise ValueError(msg) + + image.load() + + self.load() + + if image.mode in ("1", "P"): + resample = Resampling.NEAREST + + self.im.transform(box, image.im, method, data, resample, fill) + + def transpose(self, method: Transpose) -> Image: + """ + Transpose image (flip or rotate in 90 degree steps) + + :param method: One of :py:data:`Transpose.FLIP_LEFT_RIGHT`, + :py:data:`Transpose.FLIP_TOP_BOTTOM`, :py:data:`Transpose.ROTATE_90`, + :py:data:`Transpose.ROTATE_180`, :py:data:`Transpose.ROTATE_270`, + :py:data:`Transpose.TRANSPOSE` or :py:data:`Transpose.TRANSVERSE`. + :returns: Returns a flipped or rotated copy of this image. + """ + + self.load() + return self._new(self.im.transpose(method)) + + def effect_spread(self, distance: int) -> Image: + """ + Randomly spread pixels in an image. + + :param distance: Distance to spread pixels. + """ + self.load() + return self._new(self.im.effect_spread(distance)) + + def toqimage(self) -> ImageQt.ImageQt: + """Returns a QImage copy of this image""" + from . import ImageQt + + if not ImageQt.qt_is_installed: + msg = "Qt bindings are not installed" + raise ImportError(msg) + return ImageQt.toqimage(self) + + def toqpixmap(self) -> ImageQt.QPixmap: + """Returns a QPixmap copy of this image""" + from . import ImageQt + + if not ImageQt.qt_is_installed: + msg = "Qt bindings are not installed" + raise ImportError(msg) + return ImageQt.toqpixmap(self) + + +# -------------------------------------------------------------------- +# Abstract handlers. + + +class ImagePointHandler: + """ + Used as a mixin by point transforms + (for use with :py:meth:`~PIL.Image.Image.point`) + """ + + @abc.abstractmethod + def point(self, im: Image) -> Image: + pass + + +class ImageTransformHandler: + """ + Used as a mixin by geometry transforms + (for use with :py:meth:`~PIL.Image.Image.transform`) + """ + + @abc.abstractmethod + def transform( + self, + size: tuple[int, int], + image: Image, + **options: Any, + ) -> Image: + pass + + +# -------------------------------------------------------------------- +# Factories + +# +# Debugging + + +def _wedge() -> Image: + """Create grayscale wedge (for debugging only)""" + + return Image()._new(core.wedge("L")) + + +def _check_size(size: Any) -> None: + """ + Common check to enforce type and sanity check on size tuples + + :param size: Should be a 2 tuple of (width, height) + :returns: None, or raises a ValueError + """ + + if not isinstance(size, (list, tuple)): + msg = "Size must be a list or tuple" + raise ValueError(msg) + if len(size) != 2: + msg = "Size must be a sequence of length 2" + raise ValueError(msg) + if size[0] < 0 or size[1] < 0: + msg = "Width and height must be >= 0" + raise ValueError(msg) + + +def new( + mode: str, + size: tuple[int, int] | list[int], + color: float | tuple[float, ...] | str | None = 0, +) -> Image: + """ + Creates a new image with the given mode and size. + + :param mode: The mode to use for the new image. See: + :ref:`concept-modes`. + :param size: A 2-tuple, containing (width, height) in pixels. + :param color: What color to use for the image. Default is black. + If given, this should be a single integer or floating point value + for single-band modes, and a tuple for multi-band modes (one value + per band). When creating RGB or HSV images, you can also use color + strings as supported by the ImageColor module. If the color is + None, the image is not initialised. + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + if mode in ("BGR;15", "BGR;16", "BGR;24"): + deprecate(mode, 12) + + _check_size(size) + + if color is None: + # don't initialize + return Image()._new(core.new(mode, size)) + + if isinstance(color, str): + # css3-style specifier + + from . import ImageColor + + color = ImageColor.getcolor(color, mode) + + im = Image() + if ( + mode == "P" + and isinstance(color, (list, tuple)) + and all(isinstance(i, int) for i in color) + ): + color_ints: tuple[int, ...] = cast(tuple[int, ...], tuple(color)) + if len(color_ints) == 3 or len(color_ints) == 4: + # RGB or RGBA value for a P image + from . import ImagePalette + + im.palette = ImagePalette.ImagePalette() + color = im.palette.getcolor(color_ints) + return im._new(core.fill(mode, size, color)) + + +def frombytes( + mode: str, + size: tuple[int, int], + data: bytes | bytearray | SupportsArrayInterface, + decoder_name: str = "raw", + *args: Any, +) -> Image: + """ + Creates a copy of an image memory from pixel data in a buffer. + + In its simplest form, this function takes three arguments + (mode, size, and unpacked pixel data). + + You can also use any pixel decoder supported by PIL. For more + information on available decoders, see the section + :ref:`Writing Your Own File Codec `. + + Note that this function decodes pixel data only, not entire images. + If you have an entire image in a string, wrap it in a + :py:class:`~io.BytesIO` object, and use :py:func:`~PIL.Image.open` to load + it. + + :param mode: The image mode. See: :ref:`concept-modes`. + :param size: The image size. + :param data: A byte buffer containing raw data for the given mode. + :param decoder_name: What decoder to use. + :param args: Additional parameters for the given decoder. + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + _check_size(size) + + im = new(mode, size) + if im.width != 0 and im.height != 0: + decoder_args: Any = args + if len(decoder_args) == 1 and isinstance(decoder_args[0], tuple): + # may pass tuple instead of argument list + decoder_args = decoder_args[0] + + if decoder_name == "raw" and decoder_args == (): + decoder_args = mode + + im.frombytes(data, decoder_name, decoder_args) + return im + + +def frombuffer( + mode: str, + size: tuple[int, int], + data: bytes | SupportsArrayInterface, + decoder_name: str = "raw", + *args: Any, +) -> Image: + """ + Creates an image memory referencing pixel data in a byte buffer. + + This function is similar to :py:func:`~PIL.Image.frombytes`, but uses data + in the byte buffer, where possible. This means that changes to the + original buffer object are reflected in this image). Not all modes can + share memory; supported modes include "L", "RGBX", "RGBA", and "CMYK". + + Note that this function decodes pixel data only, not entire images. + If you have an entire image file in a string, wrap it in a + :py:class:`~io.BytesIO` object, and use :py:func:`~PIL.Image.open` to load it. + + The default parameters used for the "raw" decoder differs from that used for + :py:func:`~PIL.Image.frombytes`. This is a bug, and will probably be fixed in a + future release. The current release issues a warning if you do this; to disable + the warning, you should provide the full set of parameters. See below for details. + + :param mode: The image mode. See: :ref:`concept-modes`. + :param size: The image size. + :param data: A bytes or other buffer object containing raw + data for the given mode. + :param decoder_name: What decoder to use. + :param args: Additional parameters for the given decoder. For the + default encoder ("raw"), it's recommended that you provide the + full set of parameters:: + + frombuffer(mode, size, data, "raw", mode, 0, 1) + + :returns: An :py:class:`~PIL.Image.Image` object. + + .. versionadded:: 1.1.4 + """ + + _check_size(size) + + # may pass tuple instead of argument list + if len(args) == 1 and isinstance(args[0], tuple): + args = args[0] + + if decoder_name == "raw": + if args == (): + args = mode, 0, 1 + if args[0] in _MAPMODES: + im = new(mode, (0, 0)) + im = im._new(core.map_buffer(data, size, decoder_name, 0, args)) + if mode == "P": + from . import ImagePalette + + im.palette = ImagePalette.ImagePalette("RGB", im.im.getpalette("RGB")) + im.readonly = 1 + return im + + return frombytes(mode, size, data, decoder_name, args) + + +class SupportsArrayInterface(Protocol): + """ + An object that has an ``__array_interface__`` dictionary. + """ + + @property + def __array_interface__(self) -> dict[str, Any]: + raise NotImplementedError() + + +def fromarray(obj: SupportsArrayInterface, mode: str | None = None) -> Image: + """ + Creates an image memory from an object exporting the array interface + (using the buffer protocol):: + + from PIL import Image + import numpy as np + a = np.zeros((5, 5)) + im = Image.fromarray(a) + + If ``obj`` is not contiguous, then the ``tobytes`` method is called + and :py:func:`~PIL.Image.frombuffer` is used. + + In the case of NumPy, be aware that Pillow modes do not always correspond + to NumPy dtypes. Pillow modes only offer 1-bit pixels, 8-bit pixels, + 32-bit signed integer pixels, and 32-bit floating point pixels. + + Pillow images can also be converted to arrays:: + + from PIL import Image + import numpy as np + im = Image.open("hopper.jpg") + a = np.asarray(im) + + When converting Pillow images to arrays however, only pixel values are + transferred. This means that P and PA mode images will lose their palette. + + :param obj: Object with array interface + :param mode: Optional mode to use when reading ``obj``. Will be determined from + type if ``None``. + + This will not be used to convert the data after reading, but will be used to + change how the data is read:: + + from PIL import Image + import numpy as np + a = np.full((1, 1), 300) + im = Image.fromarray(a, mode="L") + im.getpixel((0, 0)) # 44 + im = Image.fromarray(a, mode="RGB") + im.getpixel((0, 0)) # (44, 1, 0) + + See: :ref:`concept-modes` for general information about modes. + :returns: An image object. + + .. versionadded:: 1.1.6 + """ + arr = obj.__array_interface__ + shape = arr["shape"] + ndim = len(shape) + strides = arr.get("strides", None) + if mode is None: + try: + typekey = (1, 1) + shape[2:], arr["typestr"] + except KeyError as e: + msg = "Cannot handle this data type" + raise TypeError(msg) from e + try: + mode, rawmode = _fromarray_typemap[typekey] + except KeyError as e: + typekey_shape, typestr = typekey + msg = f"Cannot handle this data type: {typekey_shape}, {typestr}" + raise TypeError(msg) from e + else: + rawmode = mode + if mode in ["1", "L", "I", "P", "F"]: + ndmax = 2 + elif mode == "RGB": + ndmax = 3 + else: + ndmax = 4 + if ndim > ndmax: + msg = f"Too many dimensions: {ndim} > {ndmax}." + raise ValueError(msg) + + size = 1 if ndim == 1 else shape[1], shape[0] + if strides is not None: + if hasattr(obj, "tobytes"): + obj = obj.tobytes() + elif hasattr(obj, "tostring"): + obj = obj.tostring() + else: + msg = "'strides' requires either tobytes() or tostring()" + raise ValueError(msg) + + return frombuffer(mode, size, obj, "raw", rawmode, 0, 1) + + +def fromqimage(im: ImageQt.QImage) -> ImageFile.ImageFile: + """Creates an image instance from a QImage image""" + from . import ImageQt + + if not ImageQt.qt_is_installed: + msg = "Qt bindings are not installed" + raise ImportError(msg) + return ImageQt.fromqimage(im) + + +def fromqpixmap(im: ImageQt.QPixmap) -> ImageFile.ImageFile: + """Creates an image instance from a QPixmap image""" + from . import ImageQt + + if not ImageQt.qt_is_installed: + msg = "Qt bindings are not installed" + raise ImportError(msg) + return ImageQt.fromqpixmap(im) + + +_fromarray_typemap = { + # (shape, typestr) => mode, rawmode + # first two members of shape are set to one + ((1, 1), "|b1"): ("1", "1;8"), + ((1, 1), "|u1"): ("L", "L"), + ((1, 1), "|i1"): ("I", "I;8"), + ((1, 1), "u2"): ("I", "I;16B"), + ((1, 1), "i2"): ("I", "I;16BS"), + ((1, 1), "u4"): ("I", "I;32B"), + ((1, 1), "i4"): ("I", "I;32BS"), + ((1, 1), "f4"): ("F", "F;32BF"), + ((1, 1), "f8"): ("F", "F;64BF"), + ((1, 1, 2), "|u1"): ("LA", "LA"), + ((1, 1, 3), "|u1"): ("RGB", "RGB"), + ((1, 1, 4), "|u1"): ("RGBA", "RGBA"), + # shortcuts: + ((1, 1), f"{_ENDIAN}i4"): ("I", "I"), + ((1, 1), f"{_ENDIAN}f4"): ("F", "F"), +} + + +def _decompression_bomb_check(size: tuple[int, int]) -> None: + if MAX_IMAGE_PIXELS is None: + return + + pixels = max(1, size[0]) * max(1, size[1]) + + if pixels > 2 * MAX_IMAGE_PIXELS: + msg = ( + f"Image size ({pixels} pixels) exceeds limit of {2 * MAX_IMAGE_PIXELS} " + "pixels, could be decompression bomb DOS attack." + ) + raise DecompressionBombError(msg) + + if pixels > MAX_IMAGE_PIXELS: + warnings.warn( + f"Image size ({pixels} pixels) exceeds limit of {MAX_IMAGE_PIXELS} pixels, " + "could be decompression bomb DOS attack.", + DecompressionBombWarning, + ) + + +def open( + fp: StrOrBytesPath | IO[bytes], + mode: Literal["r"] = "r", + formats: list[str] | tuple[str, ...] | None = None, +) -> ImageFile.ImageFile: + """ + Opens and identifies the given image file. + + This is a lazy operation; this function identifies the file, but + the file remains open and the actual image data is not read from + the file until you try to process the data (or call the + :py:meth:`~PIL.Image.Image.load` method). See + :py:func:`~PIL.Image.new`. See :ref:`file-handling`. + + :param fp: A filename (string), os.PathLike object or a file object. + The file object must implement ``file.read``, + ``file.seek``, and ``file.tell`` methods, + and be opened in binary mode. The file object will also seek to zero + before reading. + :param mode: The mode. If given, this argument must be "r". + :param formats: A list or tuple of formats to attempt to load the file in. + This can be used to restrict the set of formats checked. + Pass ``None`` to try all supported formats. You can print the set of + available formats by running ``python3 -m PIL`` or using + the :py:func:`PIL.features.pilinfo` function. + :returns: An :py:class:`~PIL.Image.Image` object. + :exception FileNotFoundError: If the file cannot be found. + :exception PIL.UnidentifiedImageError: If the image cannot be opened and + identified. + :exception ValueError: If the ``mode`` is not "r", or if a ``StringIO`` + instance is used for ``fp``. + :exception TypeError: If ``formats`` is not ``None``, a list or a tuple. + """ + + if mode != "r": + msg = f"bad mode {repr(mode)}" # type: ignore[unreachable] + raise ValueError(msg) + elif isinstance(fp, io.StringIO): + msg = ( # type: ignore[unreachable] + "StringIO cannot be used to open an image. " + "Binary data must be used instead." + ) + raise ValueError(msg) + + if formats is None: + formats = ID + elif not isinstance(formats, (list, tuple)): + msg = "formats must be a list or tuple" # type: ignore[unreachable] + raise TypeError(msg) + + exclusive_fp = False + filename: str | bytes = "" + if is_path(fp): + filename = os.path.realpath(os.fspath(fp)) + + if filename: + fp = builtins.open(filename, "rb") + exclusive_fp = True + else: + fp = cast(IO[bytes], fp) + + try: + fp.seek(0) + except (AttributeError, io.UnsupportedOperation): + fp = io.BytesIO(fp.read()) + exclusive_fp = True + + prefix = fp.read(16) + + preinit() + + warning_messages: list[str] = [] + + def _open_core( + fp: IO[bytes], + filename: str | bytes, + prefix: bytes, + formats: list[str] | tuple[str, ...], + ) -> ImageFile.ImageFile | None: + for i in formats: + i = i.upper() + if i not in OPEN: + init() + try: + factory, accept = OPEN[i] + result = not accept or accept(prefix) + if isinstance(result, str): + warning_messages.append(result) + elif result: + fp.seek(0) + im = factory(fp, filename) + _decompression_bomb_check(im.size) + return im + except (SyntaxError, IndexError, TypeError, struct.error) as e: + if WARN_POSSIBLE_FORMATS: + warning_messages.append(i + " opening failed. " + str(e)) + except BaseException: + if exclusive_fp: + fp.close() + raise + return None + + im = _open_core(fp, filename, prefix, formats) + + if im is None and formats is ID: + checked_formats = ID.copy() + if init(): + im = _open_core( + fp, + filename, + prefix, + tuple(format for format in formats if format not in checked_formats), + ) + + if im: + im._exclusive_fp = exclusive_fp + return im + + if exclusive_fp: + fp.close() + for message in warning_messages: + warnings.warn(message) + msg = "cannot identify image file %r" % (filename if filename else fp) + raise UnidentifiedImageError(msg) + + +# +# Image processing. + + +def alpha_composite(im1: Image, im2: Image) -> Image: + """ + Alpha composite im2 over im1. + + :param im1: The first image. Must have mode RGBA. + :param im2: The second image. Must have mode RGBA, and the same size as + the first image. + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + im1.load() + im2.load() + return im1._new(core.alpha_composite(im1.im, im2.im)) + + +def blend(im1: Image, im2: Image, alpha: float) -> Image: + """ + Creates a new image by interpolating between two input images, using + a constant alpha:: + + out = image1 * (1.0 - alpha) + image2 * alpha + + :param im1: The first image. + :param im2: The second image. Must have the same mode and size as + the first image. + :param alpha: The interpolation alpha factor. If alpha is 0.0, a + copy of the first image is returned. If alpha is 1.0, a copy of + the second image is returned. There are no restrictions on the + alpha value. If necessary, the result is clipped to fit into + the allowed output range. + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + im1.load() + im2.load() + return im1._new(core.blend(im1.im, im2.im, alpha)) + + +def composite(image1: Image, image2: Image, mask: Image) -> Image: + """ + Create composite image by blending images using a transparency mask. + + :param image1: The first image. + :param image2: The second image. Must have the same mode and + size as the first image. + :param mask: A mask image. This image can have mode + "1", "L", or "RGBA", and must have the same size as the + other two images. + """ + + image = image2.copy() + image.paste(image1, None, mask) + return image + + +def eval(image: Image, *args: Callable[[int], float]) -> Image: + """ + Applies the function (which should take one argument) to each pixel + in the given image. If the image has more than one band, the same + function is applied to each band. Note that the function is + evaluated once for each possible pixel value, so you cannot use + random components or other generators. + + :param image: The input image. + :param function: A function object, taking one integer argument. + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + return image.point(args[0]) + + +def merge(mode: str, bands: Sequence[Image]) -> Image: + """ + Merge a set of single band images into a new multiband image. + + :param mode: The mode to use for the output image. See: + :ref:`concept-modes`. + :param bands: A sequence containing one single-band image for + each band in the output image. All bands must have the + same size. + :returns: An :py:class:`~PIL.Image.Image` object. + """ + + if getmodebands(mode) != len(bands) or "*" in mode: + msg = "wrong number of bands" + raise ValueError(msg) + for band in bands[1:]: + if band.mode != getmodetype(mode): + msg = "mode mismatch" + raise ValueError(msg) + if band.size != bands[0].size: + msg = "size mismatch" + raise ValueError(msg) + for band in bands: + band.load() + return bands[0]._new(core.merge(mode, *[b.im for b in bands])) + + +# -------------------------------------------------------------------- +# Plugin registry + + +def register_open( + id: str, + factory: ( + Callable[[IO[bytes], str | bytes], ImageFile.ImageFile] + | type[ImageFile.ImageFile] + ), + accept: Callable[[bytes], bool | str] | None = None, +) -> None: + """ + Register an image file plugin. This function should not be used + in application code. + + :param id: An image format identifier. + :param factory: An image file factory method. + :param accept: An optional function that can be used to quickly + reject images having another format. + """ + id = id.upper() + if id not in ID: + ID.append(id) + OPEN[id] = factory, accept + + +def register_mime(id: str, mimetype: str) -> None: + """ + Registers an image MIME type by populating ``Image.MIME``. This function + should not be used in application code. + + ``Image.MIME`` provides a mapping from image format identifiers to mime + formats, but :py:meth:`~PIL.ImageFile.ImageFile.get_format_mimetype` can + provide a different result for specific images. + + :param id: An image format identifier. + :param mimetype: The image MIME type for this format. + """ + MIME[id.upper()] = mimetype + + +def register_save( + id: str, driver: Callable[[Image, IO[bytes], str | bytes], None] +) -> None: + """ + Registers an image save function. This function should not be + used in application code. + + :param id: An image format identifier. + :param driver: A function to save images in this format. + """ + SAVE[id.upper()] = driver + + +def register_save_all( + id: str, driver: Callable[[Image, IO[bytes], str | bytes], None] +) -> None: + """ + Registers an image function to save all the frames + of a multiframe format. This function should not be + used in application code. + + :param id: An image format identifier. + :param driver: A function to save images in this format. + """ + SAVE_ALL[id.upper()] = driver + + +def register_extension(id: str, extension: str) -> None: + """ + Registers an image extension. This function should not be + used in application code. + + :param id: An image format identifier. + :param extension: An extension used for this format. + """ + EXTENSION[extension.lower()] = id.upper() + + +def register_extensions(id: str, extensions: list[str]) -> None: + """ + Registers image extensions. This function should not be + used in application code. + + :param id: An image format identifier. + :param extensions: A list of extensions used for this format. + """ + for extension in extensions: + register_extension(id, extension) + + +def registered_extensions() -> dict[str, str]: + """ + Returns a dictionary containing all file extensions belonging + to registered plugins + """ + init() + return EXTENSION + + +def register_decoder(name: str, decoder: type[ImageFile.PyDecoder]) -> None: + """ + Registers an image decoder. This function should not be + used in application code. + + :param name: The name of the decoder + :param decoder: An ImageFile.PyDecoder object + + .. versionadded:: 4.1.0 + """ + DECODERS[name] = decoder + + +def register_encoder(name: str, encoder: type[ImageFile.PyEncoder]) -> None: + """ + Registers an image encoder. This function should not be + used in application code. + + :param name: The name of the encoder + :param encoder: An ImageFile.PyEncoder object + + .. versionadded:: 4.1.0 + """ + ENCODERS[name] = encoder + + +# -------------------------------------------------------------------- +# Simple display support. + + +def _show(image: Image, **options: Any) -> None: + from . import ImageShow + + ImageShow.show(image, **options) + + +# -------------------------------------------------------------------- +# Effects + + +def effect_mandelbrot( + size: tuple[int, int], extent: tuple[float, float, float, float], quality: int +) -> Image: + """ + Generate a Mandelbrot set covering the given extent. + + :param size: The requested size in pixels, as a 2-tuple: + (width, height). + :param extent: The extent to cover, as a 4-tuple: + (x0, y0, x1, y1). + :param quality: Quality. + """ + return Image()._new(core.effect_mandelbrot(size, extent, quality)) + + +def effect_noise(size: tuple[int, int], sigma: float) -> Image: + """ + Generate Gaussian noise centered around 128. + + :param size: The requested size in pixels, as a 2-tuple: + (width, height). + :param sigma: Standard deviation of noise. + """ + return Image()._new(core.effect_noise(size, sigma)) + + +def linear_gradient(mode: str) -> Image: + """ + Generate 256x256 linear gradient from black to white, top to bottom. + + :param mode: Input mode. + """ + return Image()._new(core.linear_gradient(mode)) + + +def radial_gradient(mode: str) -> Image: + """ + Generate 256x256 radial gradient from black to white, centre to edge. + + :param mode: Input mode. + """ + return Image()._new(core.radial_gradient(mode)) + + +# -------------------------------------------------------------------- +# Resources + + +def _apply_env_variables(env: dict[str, str] | None = None) -> None: + env_dict = env if env is not None else os.environ + + for var_name, setter in [ + ("PILLOW_ALIGNMENT", core.set_alignment), + ("PILLOW_BLOCK_SIZE", core.set_block_size), + ("PILLOW_BLOCKS_MAX", core.set_blocks_max), + ]: + if var_name not in env_dict: + continue + + var = env_dict[var_name].lower() + + units = 1 + for postfix, mul in [("k", 1024), ("m", 1024 * 1024)]: + if var.endswith(postfix): + units = mul + var = var[: -len(postfix)] + + try: + var_int = int(var) * units + except ValueError: + warnings.warn(f"{var_name} is not int") + continue + + try: + setter(var_int) + except ValueError as e: + warnings.warn(f"{var_name}: {e}") + + +_apply_env_variables() +atexit.register(core.clear_cache) + + +if TYPE_CHECKING: + _ExifBase = MutableMapping[int, Any] +else: + _ExifBase = MutableMapping + + +class Exif(_ExifBase): + """ + This class provides read and write access to EXIF image data:: + + from PIL import Image + im = Image.open("exif.png") + exif = im.getexif() # Returns an instance of this class + + Information can be read and written, iterated over or deleted:: + + print(exif[274]) # 1 + exif[274] = 2 + for k, v in exif.items(): + print("Tag", k, "Value", v) # Tag 274 Value 2 + del exif[274] + + To access information beyond IFD0, :py:meth:`~PIL.Image.Exif.get_ifd` + returns a dictionary:: + + from PIL import ExifTags + im = Image.open("exif_gps.jpg") + exif = im.getexif() + gps_ifd = exif.get_ifd(ExifTags.IFD.GPSInfo) + print(gps_ifd) + + Other IFDs include ``ExifTags.IFD.Exif``, ``ExifTags.IFD.Makernote``, + ``ExifTags.IFD.Interop`` and ``ExifTags.IFD.IFD1``. + + :py:mod:`~PIL.ExifTags` also has enum classes to provide names for data:: + + print(exif[ExifTags.Base.Software]) # PIL + print(gps_ifd[ExifTags.GPS.GPSDateStamp]) # 1999:99:99 99:99:99 + """ + + endian: str | None = None + bigtiff = False + _loaded = False + + def __init__(self) -> None: + self._data: dict[int, Any] = {} + self._hidden_data: dict[int, Any] = {} + self._ifds: dict[int, dict[int, Any]] = {} + self._info: TiffImagePlugin.ImageFileDirectory_v2 | None = None + self._loaded_exif: bytes | None = None + + def _fixup(self, value: Any) -> Any: + try: + if len(value) == 1 and isinstance(value, tuple): + return value[0] + except Exception: + pass + return value + + def _fixup_dict(self, src_dict: dict[int, Any]) -> dict[int, Any]: + # Helper function + # returns a dict with any single item tuples/lists as individual values + return {k: self._fixup(v) for k, v in src_dict.items()} + + def _get_ifd_dict( + self, offset: int, group: int | None = None + ) -> dict[int, Any] | None: + try: + # an offset pointer to the location of the nested embedded IFD. + # It should be a long, but may be corrupted. + self.fp.seek(offset) + except (KeyError, TypeError): + return None + else: + from . import TiffImagePlugin + + info = TiffImagePlugin.ImageFileDirectory_v2(self.head, group=group) + info.load(self.fp) + return self._fixup_dict(dict(info)) + + def _get_head(self) -> bytes: + version = b"\x2B" if self.bigtiff else b"\x2A" + if self.endian == "<": + head = b"II" + version + b"\x00" + o32le(8) + else: + head = b"MM\x00" + version + o32be(8) + if self.bigtiff: + head += o32le(8) if self.endian == "<" else o32be(8) + head += b"\x00\x00\x00\x00" + return head + + def load(self, data: bytes) -> None: + # Extract EXIF information. This is highly experimental, + # and is likely to be replaced with something better in a future + # version. + + # The EXIF record consists of a TIFF file embedded in a JPEG + # application marker (!). + if data == self._loaded_exif: + return + self._loaded_exif = data + self._data.clear() + self._hidden_data.clear() + self._ifds.clear() + while data and data.startswith(b"Exif\x00\x00"): + data = data[6:] + if not data: + self._info = None + return + + self.fp: IO[bytes] = io.BytesIO(data) + self.head = self.fp.read(8) + # process dictionary + from . import TiffImagePlugin + + self._info = TiffImagePlugin.ImageFileDirectory_v2(self.head) + self.endian = self._info._endian + self.fp.seek(self._info.next) + self._info.load(self.fp) + + def load_from_fp(self, fp: IO[bytes], offset: int | None = None) -> None: + self._loaded_exif = None + self._data.clear() + self._hidden_data.clear() + self._ifds.clear() + + # process dictionary + from . import TiffImagePlugin + + self.fp = fp + if offset is not None: + self.head = self._get_head() + else: + self.head = self.fp.read(8) + self._info = TiffImagePlugin.ImageFileDirectory_v2(self.head) + if self.endian is None: + self.endian = self._info._endian + if offset is None: + offset = self._info.next + self.fp.tell() + self.fp.seek(offset) + self._info.load(self.fp) + + def _get_merged_dict(self) -> dict[int, Any]: + merged_dict = dict(self) + + # get EXIF extension + if ExifTags.IFD.Exif in self: + ifd = self._get_ifd_dict(self[ExifTags.IFD.Exif], ExifTags.IFD.Exif) + if ifd: + merged_dict.update(ifd) + + # GPS + if ExifTags.IFD.GPSInfo in self: + merged_dict[ExifTags.IFD.GPSInfo] = self._get_ifd_dict( + self[ExifTags.IFD.GPSInfo], ExifTags.IFD.GPSInfo + ) + + return merged_dict + + def tobytes(self, offset: int = 8) -> bytes: + from . import TiffImagePlugin + + head = self._get_head() + ifd = TiffImagePlugin.ImageFileDirectory_v2(ifh=head) + for tag, value in self.items(): + if tag in [ + ExifTags.IFD.Exif, + ExifTags.IFD.GPSInfo, + ] and not isinstance(value, dict): + value = self.get_ifd(tag) + if ( + tag == ExifTags.IFD.Exif + and ExifTags.IFD.Interop in value + and not isinstance(value[ExifTags.IFD.Interop], dict) + ): + value = value.copy() + value[ExifTags.IFD.Interop] = self.get_ifd(ExifTags.IFD.Interop) + ifd[tag] = value + return b"Exif\x00\x00" + head + ifd.tobytes(offset) + + def get_ifd(self, tag: int) -> dict[int, Any]: + if tag not in self._ifds: + if tag == ExifTags.IFD.IFD1: + if self._info is not None and self._info.next != 0: + ifd = self._get_ifd_dict(self._info.next) + if ifd is not None: + self._ifds[tag] = ifd + elif tag in [ExifTags.IFD.Exif, ExifTags.IFD.GPSInfo]: + offset = self._hidden_data.get(tag, self.get(tag)) + if offset is not None: + ifd = self._get_ifd_dict(offset, tag) + if ifd is not None: + self._ifds[tag] = ifd + elif tag in [ExifTags.IFD.Interop, ExifTags.IFD.Makernote]: + if ExifTags.IFD.Exif not in self._ifds: + self.get_ifd(ExifTags.IFD.Exif) + tag_data = self._ifds[ExifTags.IFD.Exif][tag] + if tag == ExifTags.IFD.Makernote: + from .TiffImagePlugin import ImageFileDirectory_v2 + + if tag_data[:8] == b"FUJIFILM": + ifd_offset = i32le(tag_data, 8) + ifd_data = tag_data[ifd_offset:] + + makernote = {} + for i in range(0, struct.unpack(" 4: + (offset,) = struct.unpack("H", tag_data[:2])[0]): + ifd_tag, typ, count, data = struct.unpack( + ">HHL4s", tag_data[i * 12 + 2 : (i + 1) * 12 + 2] + ) + if ifd_tag == 0x1101: + # CameraInfo + (offset,) = struct.unpack(">L", data) + self.fp.seek(offset) + + camerainfo: dict[str, int | bytes] = { + "ModelID": self.fp.read(4) + } + + self.fp.read(4) + # Seconds since 2000 + camerainfo["TimeStamp"] = i32le(self.fp.read(12)) + + self.fp.read(4) + camerainfo["InternalSerialNumber"] = self.fp.read(4) + + self.fp.read(12) + parallax = self.fp.read(4) + handler = ImageFileDirectory_v2._load_dispatch[ + TiffTags.FLOAT + ][1] + camerainfo["Parallax"] = handler( + ImageFileDirectory_v2(), parallax, False + )[0] + + self.fp.read(4) + camerainfo["Category"] = self.fp.read(2) + + makernote = {0x1101: camerainfo} + self._ifds[tag] = makernote + else: + # Interop + ifd = self._get_ifd_dict(tag_data, tag) + if ifd is not None: + self._ifds[tag] = ifd + ifd = self._ifds.setdefault(tag, {}) + if tag == ExifTags.IFD.Exif and self._hidden_data: + ifd = { + k: v + for (k, v) in ifd.items() + if k not in (ExifTags.IFD.Interop, ExifTags.IFD.Makernote) + } + return ifd + + def hide_offsets(self) -> None: + for tag in (ExifTags.IFD.Exif, ExifTags.IFD.GPSInfo): + if tag in self: + self._hidden_data[tag] = self[tag] + del self[tag] + + def __str__(self) -> str: + if self._info is not None: + # Load all keys into self._data + for tag in self._info: + self[tag] + + return str(self._data) + + def __len__(self) -> int: + keys = set(self._data) + if self._info is not None: + keys.update(self._info) + return len(keys) + + def __getitem__(self, tag: int) -> Any: + if self._info is not None and tag not in self._data and tag in self._info: + self._data[tag] = self._fixup(self._info[tag]) + del self._info[tag] + return self._data[tag] + + def __contains__(self, tag: object) -> bool: + return tag in self._data or (self._info is not None and tag in self._info) + + def __setitem__(self, tag: int, value: Any) -> None: + if self._info is not None and tag in self._info: + del self._info[tag] + self._data[tag] = value + + def __delitem__(self, tag: int) -> None: + if self._info is not None and tag in self._info: + del self._info[tag] + else: + del self._data[tag] + + def __iter__(self) -> Iterator[int]: + keys = set(self._data) + if self._info is not None: + keys.update(self._info) + return iter(keys) diff --git a/gestao_raul/Lib/site-packages/PIL/ImageChops.py b/gestao_raul/Lib/site-packages/PIL/ImageChops.py new file mode 100644 index 0000000..29a5c99 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/ImageChops.py @@ -0,0 +1,311 @@ +# +# The Python Imaging Library. +# $Id$ +# +# standard channel operations +# +# History: +# 1996-03-24 fl Created +# 1996-08-13 fl Added logical operations (for "1" images) +# 2000-10-12 fl Added offset method (from Image.py) +# +# Copyright (c) 1997-2000 by Secret Labs AB +# Copyright (c) 1996-2000 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# + +from __future__ import annotations + +from . import Image + + +def constant(image: Image.Image, value: int) -> Image.Image: + """Fill a channel with a given gray level. + + :rtype: :py:class:`~PIL.Image.Image` + """ + + return Image.new("L", image.size, value) + + +def duplicate(image: Image.Image) -> Image.Image: + """Copy a channel. Alias for :py:meth:`PIL.Image.Image.copy`. + + :rtype: :py:class:`~PIL.Image.Image` + """ + + return image.copy() + + +def invert(image: Image.Image) -> Image.Image: + """ + Invert an image (channel). :: + + out = MAX - image + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image.load() + return image._new(image.im.chop_invert()) + + +def lighter(image1: Image.Image, image2: Image.Image) -> Image.Image: + """ + Compares the two images, pixel by pixel, and returns a new image containing + the lighter values. :: + + out = max(image1, image2) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_lighter(image2.im)) + + +def darker(image1: Image.Image, image2: Image.Image) -> Image.Image: + """ + Compares the two images, pixel by pixel, and returns a new image containing + the darker values. :: + + out = min(image1, image2) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_darker(image2.im)) + + +def difference(image1: Image.Image, image2: Image.Image) -> Image.Image: + """ + Returns the absolute value of the pixel-by-pixel difference between the two + images. :: + + out = abs(image1 - image2) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_difference(image2.im)) + + +def multiply(image1: Image.Image, image2: Image.Image) -> Image.Image: + """ + Superimposes two images on top of each other. + + If you multiply an image with a solid black image, the result is black. If + you multiply with a solid white image, the image is unaffected. :: + + out = image1 * image2 / MAX + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_multiply(image2.im)) + + +def screen(image1: Image.Image, image2: Image.Image) -> Image.Image: + """ + Superimposes two inverted images on top of each other. :: + + out = MAX - ((MAX - image1) * (MAX - image2) / MAX) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_screen(image2.im)) + + +def soft_light(image1: Image.Image, image2: Image.Image) -> Image.Image: + """ + Superimposes two images on top of each other using the Soft Light algorithm + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_soft_light(image2.im)) + + +def hard_light(image1: Image.Image, image2: Image.Image) -> Image.Image: + """ + Superimposes two images on top of each other using the Hard Light algorithm + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_hard_light(image2.im)) + + +def overlay(image1: Image.Image, image2: Image.Image) -> Image.Image: + """ + Superimposes two images on top of each other using the Overlay algorithm + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_overlay(image2.im)) + + +def add( + image1: Image.Image, image2: Image.Image, scale: float = 1.0, offset: float = 0 +) -> Image.Image: + """ + Adds two images, dividing the result by scale and adding the + offset. If omitted, scale defaults to 1.0, and offset to 0.0. :: + + out = ((image1 + image2) / scale + offset) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_add(image2.im, scale, offset)) + + +def subtract( + image1: Image.Image, image2: Image.Image, scale: float = 1.0, offset: float = 0 +) -> Image.Image: + """ + Subtracts two images, dividing the result by scale and adding the offset. + If omitted, scale defaults to 1.0, and offset to 0.0. :: + + out = ((image1 - image2) / scale + offset) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_subtract(image2.im, scale, offset)) + + +def add_modulo(image1: Image.Image, image2: Image.Image) -> Image.Image: + """Add two images, without clipping the result. :: + + out = ((image1 + image2) % MAX) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_add_modulo(image2.im)) + + +def subtract_modulo(image1: Image.Image, image2: Image.Image) -> Image.Image: + """Subtract two images, without clipping the result. :: + + out = ((image1 - image2) % MAX) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_subtract_modulo(image2.im)) + + +def logical_and(image1: Image.Image, image2: Image.Image) -> Image.Image: + """Logical AND between two images. + + Both of the images must have mode "1". If you would like to perform a + logical AND on an image with a mode other than "1", try + :py:meth:`~PIL.ImageChops.multiply` instead, using a black-and-white mask + as the second image. :: + + out = ((image1 and image2) % MAX) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_and(image2.im)) + + +def logical_or(image1: Image.Image, image2: Image.Image) -> Image.Image: + """Logical OR between two images. + + Both of the images must have mode "1". :: + + out = ((image1 or image2) % MAX) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_or(image2.im)) + + +def logical_xor(image1: Image.Image, image2: Image.Image) -> Image.Image: + """Logical XOR between two images. + + Both of the images must have mode "1". :: + + out = ((bool(image1) != bool(image2)) % MAX) + + :rtype: :py:class:`~PIL.Image.Image` + """ + + image1.load() + image2.load() + return image1._new(image1.im.chop_xor(image2.im)) + + +def blend(image1: Image.Image, image2: Image.Image, alpha: float) -> Image.Image: + """Blend images using constant transparency weight. Alias for + :py:func:`PIL.Image.blend`. + + :rtype: :py:class:`~PIL.Image.Image` + """ + + return Image.blend(image1, image2, alpha) + + +def composite( + image1: Image.Image, image2: Image.Image, mask: Image.Image +) -> Image.Image: + """Create composite using transparency mask. Alias for + :py:func:`PIL.Image.composite`. + + :rtype: :py:class:`~PIL.Image.Image` + """ + + return Image.composite(image1, image2, mask) + + +def offset(image: Image.Image, xoffset: int, yoffset: int | None = None) -> Image.Image: + """Returns a copy of the image where data has been offset by the given + distances. Data wraps around the edges. If ``yoffset`` is omitted, it + is assumed to be equal to ``xoffset``. + + :param image: Input image. + :param xoffset: The horizontal distance. + :param yoffset: The vertical distance. If omitted, both + distances are set to the same value. + :rtype: :py:class:`~PIL.Image.Image` + """ + + if yoffset is None: + yoffset = xoffset + image.load() + return image._new(image.im.offset(xoffset, yoffset)) diff --git a/gestao_raul/Lib/site-packages/PIL/ImageCms.py b/gestao_raul/Lib/site-packages/PIL/ImageCms.py new file mode 100644 index 0000000..fdfbee7 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/ImageCms.py @@ -0,0 +1,1125 @@ +# The Python Imaging Library. +# $Id$ + +# Optional color management support, based on Kevin Cazabon's PyCMS +# library. + +# Originally released under LGPL. Graciously donated to PIL in +# March 2009, for distribution under the standard PIL license + +# History: + +# 2009-03-08 fl Added to PIL. + +# Copyright (C) 2002-2003 Kevin Cazabon +# Copyright (c) 2009 by Fredrik Lundh +# Copyright (c) 2013 by Eric Soroos + +# See the README file for information on usage and redistribution. See +# below for the original description. +from __future__ import annotations + +import operator +import sys +from enum import IntEnum, IntFlag +from functools import reduce +from typing import Any, Literal, SupportsFloat, SupportsInt, Union + +from . import Image, __version__ +from ._deprecate import deprecate +from ._typing import SupportsRead + +try: + from . import _imagingcms as core + + _CmsProfileCompatible = Union[ + str, SupportsRead[bytes], core.CmsProfile, "ImageCmsProfile" + ] +except ImportError as ex: + # Allow error import for doc purposes, but error out when accessing + # anything in core. + from ._util import DeferredError + + core = DeferredError.new(ex) + +_DESCRIPTION = """ +pyCMS + + a Python / PIL interface to the littleCMS ICC Color Management System + Copyright (C) 2002-2003 Kevin Cazabon + kevin@cazabon.com + https://www.cazabon.com + + pyCMS home page: https://www.cazabon.com/pyCMS + littleCMS home page: https://www.littlecms.com + (littleCMS is Copyright (C) 1998-2001 Marti Maria) + + Originally released under LGPL. Graciously donated to PIL in + March 2009, for distribution under the standard PIL license + + The pyCMS.py module provides a "clean" interface between Python/PIL and + pyCMSdll, taking care of some of the more complex handling of the direct + pyCMSdll functions, as well as error-checking and making sure that all + relevant data is kept together. + + While it is possible to call pyCMSdll functions directly, it's not highly + recommended. + + Version History: + + 1.0.0 pil Oct 2013 Port to LCMS 2. + + 0.1.0 pil mod March 10, 2009 + + Renamed display profile to proof profile. The proof + profile is the profile of the device that is being + simulated, not the profile of the device which is + actually used to display/print the final simulation + (that'd be the output profile) - also see LCMSAPI.txt + input colorspace -> using 'renderingIntent' -> proof + colorspace -> using 'proofRenderingIntent' -> output + colorspace + + Added LCMS FLAGS support. + Added FLAGS["SOFTPROOFING"] as default flag for + buildProofTransform (otherwise the proof profile/intent + would be ignored). + + 0.1.0 pil March 2009 - added to PIL, as PIL.ImageCms + + 0.0.2 alpha Jan 6, 2002 + + Added try/except statements around type() checks of + potential CObjects... Python won't let you use type() + on them, and raises a TypeError (stupid, if you ask + me!) + + Added buildProofTransformFromOpenProfiles() function. + Additional fixes in DLL, see DLL code for details. + + 0.0.1 alpha first public release, Dec. 26, 2002 + + Known to-do list with current version (of Python interface, not pyCMSdll): + + none + +""" + +_VERSION = "1.0.0 pil" + + +def __getattr__(name: str) -> Any: + if name == "DESCRIPTION": + deprecate("PIL.ImageCms.DESCRIPTION", 12) + return _DESCRIPTION + elif name == "VERSION": + deprecate("PIL.ImageCms.VERSION", 12) + return _VERSION + elif name == "FLAGS": + deprecate("PIL.ImageCms.FLAGS", 12, "PIL.ImageCms.Flags") + return _FLAGS + msg = f"module '{__name__}' has no attribute '{name}'" + raise AttributeError(msg) + + +# --------------------------------------------------------------------. + + +# +# intent/direction values + + +class Intent(IntEnum): + PERCEPTUAL = 0 + RELATIVE_COLORIMETRIC = 1 + SATURATION = 2 + ABSOLUTE_COLORIMETRIC = 3 + + +class Direction(IntEnum): + INPUT = 0 + OUTPUT = 1 + PROOF = 2 + + +# +# flags + + +class Flags(IntFlag): + """Flags and documentation are taken from ``lcms2.h``.""" + + NONE = 0 + NOCACHE = 0x0040 + """Inhibit 1-pixel cache""" + NOOPTIMIZE = 0x0100 + """Inhibit optimizations""" + NULLTRANSFORM = 0x0200 + """Don't transform anyway""" + GAMUTCHECK = 0x1000 + """Out of Gamut alarm""" + SOFTPROOFING = 0x4000 + """Do softproofing""" + BLACKPOINTCOMPENSATION = 0x2000 + NOWHITEONWHITEFIXUP = 0x0004 + """Don't fix scum dot""" + HIGHRESPRECALC = 0x0400 + """Use more memory to give better accuracy""" + LOWRESPRECALC = 0x0800 + """Use less memory to minimize resources""" + # this should be 8BITS_DEVICELINK, but that is not a valid name in Python: + USE_8BITS_DEVICELINK = 0x0008 + """Create 8 bits devicelinks""" + GUESSDEVICECLASS = 0x0020 + """Guess device class (for ``transform2devicelink``)""" + KEEP_SEQUENCE = 0x0080 + """Keep profile sequence for devicelink creation""" + FORCE_CLUT = 0x0002 + """Force CLUT optimization""" + CLUT_POST_LINEARIZATION = 0x0001 + """create postlinearization tables if possible""" + CLUT_PRE_LINEARIZATION = 0x0010 + """create prelinearization tables if possible""" + NONEGATIVES = 0x8000 + """Prevent negative numbers in floating point transforms""" + COPY_ALPHA = 0x04000000 + """Alpha channels are copied on ``cmsDoTransform()``""" + NODEFAULTRESOURCEDEF = 0x01000000 + + _GRIDPOINTS_1 = 1 << 16 + _GRIDPOINTS_2 = 2 << 16 + _GRIDPOINTS_4 = 4 << 16 + _GRIDPOINTS_8 = 8 << 16 + _GRIDPOINTS_16 = 16 << 16 + _GRIDPOINTS_32 = 32 << 16 + _GRIDPOINTS_64 = 64 << 16 + _GRIDPOINTS_128 = 128 << 16 + + @staticmethod + def GRIDPOINTS(n: int) -> Flags: + """ + Fine-tune control over number of gridpoints + + :param n: :py:class:`int` in range ``0 <= n <= 255`` + """ + return Flags.NONE | ((n & 0xFF) << 16) + + +_MAX_FLAG = reduce(operator.or_, Flags) + + +_FLAGS = { + "MATRIXINPUT": 1, + "MATRIXOUTPUT": 2, + "MATRIXONLY": (1 | 2), + "NOWHITEONWHITEFIXUP": 4, # Don't hot fix scum dot + # Don't create prelinearization tables on precalculated transforms + # (internal use): + "NOPRELINEARIZATION": 16, + "GUESSDEVICECLASS": 32, # Guess device class (for transform2devicelink) + "NOTCACHE": 64, # Inhibit 1-pixel cache + "NOTPRECALC": 256, + "NULLTRANSFORM": 512, # Don't transform anyway + "HIGHRESPRECALC": 1024, # Use more memory to give better accuracy + "LOWRESPRECALC": 2048, # Use less memory to minimize resources + "WHITEBLACKCOMPENSATION": 8192, + "BLACKPOINTCOMPENSATION": 8192, + "GAMUTCHECK": 4096, # Out of Gamut alarm + "SOFTPROOFING": 16384, # Do softproofing + "PRESERVEBLACK": 32768, # Black preservation + "NODEFAULTRESOURCEDEF": 16777216, # CRD special + "GRIDPOINTS": lambda n: (n & 0xFF) << 16, # Gridpoints +} + + +# --------------------------------------------------------------------. +# Experimental PIL-level API +# --------------------------------------------------------------------. + +## +# Profile. + + +class ImageCmsProfile: + def __init__(self, profile: str | SupportsRead[bytes] | core.CmsProfile) -> None: + """ + :param profile: Either a string representing a filename, + a file like object containing a profile or a + low-level profile object + + """ + + if isinstance(profile, str): + if sys.platform == "win32": + profile_bytes_path = profile.encode() + try: + profile_bytes_path.decode("ascii") + except UnicodeDecodeError: + with open(profile, "rb") as f: + self._set(core.profile_frombytes(f.read())) + return + self._set(core.profile_open(profile), profile) + elif hasattr(profile, "read"): + self._set(core.profile_frombytes(profile.read())) + elif isinstance(profile, core.CmsProfile): + self._set(profile) + else: + msg = "Invalid type for Profile" # type: ignore[unreachable] + raise TypeError(msg) + + def _set(self, profile: core.CmsProfile, filename: str | None = None) -> None: + self.profile = profile + self.filename = filename + self.product_name = None # profile.product_name + self.product_info = None # profile.product_info + + def tobytes(self) -> bytes: + """ + Returns the profile in a format suitable for embedding in + saved images. + + :returns: a bytes object containing the ICC profile. + """ + + return core.profile_tobytes(self.profile) + + +class ImageCmsTransform(Image.ImagePointHandler): + """ + Transform. This can be used with the procedural API, or with the standard + :py:func:`~PIL.Image.Image.point` method. + + Will return the output profile in the ``output.info['icc_profile']``. + """ + + def __init__( + self, + input: ImageCmsProfile, + output: ImageCmsProfile, + input_mode: str, + output_mode: str, + intent: Intent = Intent.PERCEPTUAL, + proof: ImageCmsProfile | None = None, + proof_intent: Intent = Intent.ABSOLUTE_COLORIMETRIC, + flags: Flags = Flags.NONE, + ): + supported_modes = ( + "RGB", + "RGBA", + "RGBX", + "CMYK", + "I;16", + "I;16L", + "I;16B", + "YCbCr", + "LAB", + "L", + "1", + ) + for mode in (input_mode, output_mode): + if mode not in supported_modes: + deprecate( + mode, + 12, + { + "L;16": "I;16 or I;16L", + "L:16B": "I;16B", + "YCCA": "YCbCr", + "YCC": "YCbCr", + }.get(mode), + ) + if proof is None: + self.transform = core.buildTransform( + input.profile, output.profile, input_mode, output_mode, intent, flags + ) + else: + self.transform = core.buildProofTransform( + input.profile, + output.profile, + proof.profile, + input_mode, + output_mode, + intent, + proof_intent, + flags, + ) + # Note: inputMode and outputMode are for pyCMS compatibility only + self.input_mode = self.inputMode = input_mode + self.output_mode = self.outputMode = output_mode + + self.output_profile = output + + def point(self, im: Image.Image) -> Image.Image: + return self.apply(im) + + def apply(self, im: Image.Image, imOut: Image.Image | None = None) -> Image.Image: + if imOut is None: + imOut = Image.new(self.output_mode, im.size, None) + self.transform.apply(im.getim(), imOut.getim()) + imOut.info["icc_profile"] = self.output_profile.tobytes() + return imOut + + def apply_in_place(self, im: Image.Image) -> Image.Image: + if im.mode != self.output_mode: + msg = "mode mismatch" + raise ValueError(msg) # wrong output mode + self.transform.apply(im.getim(), im.getim()) + im.info["icc_profile"] = self.output_profile.tobytes() + return im + + +def get_display_profile(handle: SupportsInt | None = None) -> ImageCmsProfile | None: + """ + (experimental) Fetches the profile for the current display device. + + :returns: ``None`` if the profile is not known. + """ + + if sys.platform != "win32": + return None + + from . import ImageWin # type: ignore[unused-ignore, unreachable] + + if isinstance(handle, ImageWin.HDC): + profile = core.get_display_profile_win32(int(handle), 1) + else: + profile = core.get_display_profile_win32(int(handle or 0)) + if profile is None: + return None + return ImageCmsProfile(profile) + + +# --------------------------------------------------------------------. +# pyCMS compatible layer +# --------------------------------------------------------------------. + + +class PyCMSError(Exception): + """(pyCMS) Exception class. + This is used for all errors in the pyCMS API.""" + + pass + + +def profileToProfile( + im: Image.Image, + inputProfile: _CmsProfileCompatible, + outputProfile: _CmsProfileCompatible, + renderingIntent: Intent = Intent.PERCEPTUAL, + outputMode: str | None = None, + inPlace: bool = False, + flags: Flags = Flags.NONE, +) -> Image.Image | None: + """ + (pyCMS) Applies an ICC transformation to a given image, mapping from + ``inputProfile`` to ``outputProfile``. + + If the input or output profiles specified are not valid filenames, a + :exc:`PyCMSError` will be raised. If ``inPlace`` is ``True`` and + ``outputMode != im.mode``, a :exc:`PyCMSError` will be raised. + If an error occurs during application of the profiles, + a :exc:`PyCMSError` will be raised. + If ``outputMode`` is not a mode supported by the ``outputProfile`` (or by pyCMS), + a :exc:`PyCMSError` will be raised. + + This function applies an ICC transformation to im from ``inputProfile``'s + color space to ``outputProfile``'s color space using the specified rendering + intent to decide how to handle out-of-gamut colors. + + ``outputMode`` can be used to specify that a color mode conversion is to + be done using these profiles, but the specified profiles must be able + to handle that mode. I.e., if converting im from RGB to CMYK using + profiles, the input profile must handle RGB data, and the output + profile must handle CMYK data. + + :param im: An open :py:class:`~PIL.Image.Image` object (i.e. Image.new(...) + or Image.open(...), etc.) + :param inputProfile: String, as a valid filename path to the ICC input + profile you wish to use for this image, or a profile object + :param outputProfile: String, as a valid filename path to the ICC output + profile you wish to use for this image, or a profile object + :param renderingIntent: Integer (0-3) specifying the rendering intent you + wish to use for the transform + + ImageCms.Intent.PERCEPTUAL = 0 (DEFAULT) + ImageCms.Intent.RELATIVE_COLORIMETRIC = 1 + ImageCms.Intent.SATURATION = 2 + ImageCms.Intent.ABSOLUTE_COLORIMETRIC = 3 + + see the pyCMS documentation for details on rendering intents and what + they do. + :param outputMode: A valid PIL mode for the output image (i.e. "RGB", + "CMYK", etc.). Note: if rendering the image "inPlace", outputMode + MUST be the same mode as the input, or omitted completely. If + omitted, the outputMode will be the same as the mode of the input + image (im.mode) + :param inPlace: Boolean. If ``True``, the original image is modified in-place, + and ``None`` is returned. If ``False`` (default), a new + :py:class:`~PIL.Image.Image` object is returned with the transform applied. + :param flags: Integer (0-...) specifying additional flags + :returns: Either None or a new :py:class:`~PIL.Image.Image` object, depending on + the value of ``inPlace`` + :exception PyCMSError: + """ + + if outputMode is None: + outputMode = im.mode + + if not isinstance(renderingIntent, int) or not (0 <= renderingIntent <= 3): + msg = "renderingIntent must be an integer between 0 and 3" + raise PyCMSError(msg) + + if not isinstance(flags, int) or not (0 <= flags <= _MAX_FLAG): + msg = f"flags must be an integer between 0 and {_MAX_FLAG}" + raise PyCMSError(msg) + + try: + if not isinstance(inputProfile, ImageCmsProfile): + inputProfile = ImageCmsProfile(inputProfile) + if not isinstance(outputProfile, ImageCmsProfile): + outputProfile = ImageCmsProfile(outputProfile) + transform = ImageCmsTransform( + inputProfile, + outputProfile, + im.mode, + outputMode, + renderingIntent, + flags=flags, + ) + if inPlace: + transform.apply_in_place(im) + imOut = None + else: + imOut = transform.apply(im) + except (OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + return imOut + + +def getOpenProfile( + profileFilename: str | SupportsRead[bytes] | core.CmsProfile, +) -> ImageCmsProfile: + """ + (pyCMS) Opens an ICC profile file. + + The PyCMSProfile object can be passed back into pyCMS for use in creating + transforms and such (as in ImageCms.buildTransformFromOpenProfiles()). + + If ``profileFilename`` is not a valid filename for an ICC profile, + a :exc:`PyCMSError` will be raised. + + :param profileFilename: String, as a valid filename path to the ICC profile + you wish to open, or a file-like object. + :returns: A CmsProfile class object. + :exception PyCMSError: + """ + + try: + return ImageCmsProfile(profileFilename) + except (OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def buildTransform( + inputProfile: _CmsProfileCompatible, + outputProfile: _CmsProfileCompatible, + inMode: str, + outMode: str, + renderingIntent: Intent = Intent.PERCEPTUAL, + flags: Flags = Flags.NONE, +) -> ImageCmsTransform: + """ + (pyCMS) Builds an ICC transform mapping from the ``inputProfile`` to the + ``outputProfile``. Use applyTransform to apply the transform to a given + image. + + If the input or output profiles specified are not valid filenames, a + :exc:`PyCMSError` will be raised. If an error occurs during creation + of the transform, a :exc:`PyCMSError` will be raised. + + If ``inMode`` or ``outMode`` are not a mode supported by the ``outputProfile`` + (or by pyCMS), a :exc:`PyCMSError` will be raised. + + This function builds and returns an ICC transform from the ``inputProfile`` + to the ``outputProfile`` using the ``renderingIntent`` to determine what to do + with out-of-gamut colors. It will ONLY work for converting images that + are in ``inMode`` to images that are in ``outMode`` color format (PIL mode, + i.e. "RGB", "RGBA", "CMYK", etc.). + + Building the transform is a fair part of the overhead in + ImageCms.profileToProfile(), so if you're planning on converting multiple + images using the same input/output settings, this can save you time. + Once you have a transform object, it can be used with + ImageCms.applyProfile() to convert images without the need to re-compute + the lookup table for the transform. + + The reason pyCMS returns a class object rather than a handle directly + to the transform is that it needs to keep track of the PIL input/output + modes that the transform is meant for. These attributes are stored in + the ``inMode`` and ``outMode`` attributes of the object (which can be + manually overridden if you really want to, but I don't know of any + time that would be of use, or would even work). + + :param inputProfile: String, as a valid filename path to the ICC input + profile you wish to use for this transform, or a profile object + :param outputProfile: String, as a valid filename path to the ICC output + profile you wish to use for this transform, or a profile object + :param inMode: String, as a valid PIL mode that the appropriate profile + also supports (i.e. "RGB", "RGBA", "CMYK", etc.) + :param outMode: String, as a valid PIL mode that the appropriate profile + also supports (i.e. "RGB", "RGBA", "CMYK", etc.) + :param renderingIntent: Integer (0-3) specifying the rendering intent you + wish to use for the transform + + ImageCms.Intent.PERCEPTUAL = 0 (DEFAULT) + ImageCms.Intent.RELATIVE_COLORIMETRIC = 1 + ImageCms.Intent.SATURATION = 2 + ImageCms.Intent.ABSOLUTE_COLORIMETRIC = 3 + + see the pyCMS documentation for details on rendering intents and what + they do. + :param flags: Integer (0-...) specifying additional flags + :returns: A CmsTransform class object. + :exception PyCMSError: + """ + + if not isinstance(renderingIntent, int) or not (0 <= renderingIntent <= 3): + msg = "renderingIntent must be an integer between 0 and 3" + raise PyCMSError(msg) + + if not isinstance(flags, int) or not (0 <= flags <= _MAX_FLAG): + msg = f"flags must be an integer between 0 and {_MAX_FLAG}" + raise PyCMSError(msg) + + try: + if not isinstance(inputProfile, ImageCmsProfile): + inputProfile = ImageCmsProfile(inputProfile) + if not isinstance(outputProfile, ImageCmsProfile): + outputProfile = ImageCmsProfile(outputProfile) + return ImageCmsTransform( + inputProfile, outputProfile, inMode, outMode, renderingIntent, flags=flags + ) + except (OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def buildProofTransform( + inputProfile: _CmsProfileCompatible, + outputProfile: _CmsProfileCompatible, + proofProfile: _CmsProfileCompatible, + inMode: str, + outMode: str, + renderingIntent: Intent = Intent.PERCEPTUAL, + proofRenderingIntent: Intent = Intent.ABSOLUTE_COLORIMETRIC, + flags: Flags = Flags.SOFTPROOFING, +) -> ImageCmsTransform: + """ + (pyCMS) Builds an ICC transform mapping from the ``inputProfile`` to the + ``outputProfile``, but tries to simulate the result that would be + obtained on the ``proofProfile`` device. + + If the input, output, or proof profiles specified are not valid + filenames, a :exc:`PyCMSError` will be raised. + + If an error occurs during creation of the transform, + a :exc:`PyCMSError` will be raised. + + If ``inMode`` or ``outMode`` are not a mode supported by the ``outputProfile`` + (or by pyCMS), a :exc:`PyCMSError` will be raised. + + This function builds and returns an ICC transform from the ``inputProfile`` + to the ``outputProfile``, but tries to simulate the result that would be + obtained on the ``proofProfile`` device using ``renderingIntent`` and + ``proofRenderingIntent`` to determine what to do with out-of-gamut + colors. This is known as "soft-proofing". It will ONLY work for + converting images that are in ``inMode`` to images that are in outMode + color format (PIL mode, i.e. "RGB", "RGBA", "CMYK", etc.). + + Usage of the resulting transform object is exactly the same as with + ImageCms.buildTransform(). + + Proof profiling is generally used when using an output device to get a + good idea of what the final printed/displayed image would look like on + the ``proofProfile`` device when it's quicker and easier to use the + output device for judging color. Generally, this means that the + output device is a monitor, or a dye-sub printer (etc.), and the simulated + device is something more expensive, complicated, or time consuming + (making it difficult to make a real print for color judgement purposes). + + Soft-proofing basically functions by adjusting the colors on the + output device to match the colors of the device being simulated. However, + when the simulated device has a much wider gamut than the output + device, you may obtain marginal results. + + :param inputProfile: String, as a valid filename path to the ICC input + profile you wish to use for this transform, or a profile object + :param outputProfile: String, as a valid filename path to the ICC output + (monitor, usually) profile you wish to use for this transform, or a + profile object + :param proofProfile: String, as a valid filename path to the ICC proof + profile you wish to use for this transform, or a profile object + :param inMode: String, as a valid PIL mode that the appropriate profile + also supports (i.e. "RGB", "RGBA", "CMYK", etc.) + :param outMode: String, as a valid PIL mode that the appropriate profile + also supports (i.e. "RGB", "RGBA", "CMYK", etc.) + :param renderingIntent: Integer (0-3) specifying the rendering intent you + wish to use for the input->proof (simulated) transform + + ImageCms.Intent.PERCEPTUAL = 0 (DEFAULT) + ImageCms.Intent.RELATIVE_COLORIMETRIC = 1 + ImageCms.Intent.SATURATION = 2 + ImageCms.Intent.ABSOLUTE_COLORIMETRIC = 3 + + see the pyCMS documentation for details on rendering intents and what + they do. + :param proofRenderingIntent: Integer (0-3) specifying the rendering intent + you wish to use for proof->output transform + + ImageCms.Intent.PERCEPTUAL = 0 (DEFAULT) + ImageCms.Intent.RELATIVE_COLORIMETRIC = 1 + ImageCms.Intent.SATURATION = 2 + ImageCms.Intent.ABSOLUTE_COLORIMETRIC = 3 + + see the pyCMS documentation for details on rendering intents and what + they do. + :param flags: Integer (0-...) specifying additional flags + :returns: A CmsTransform class object. + :exception PyCMSError: + """ + + if not isinstance(renderingIntent, int) or not (0 <= renderingIntent <= 3): + msg = "renderingIntent must be an integer between 0 and 3" + raise PyCMSError(msg) + + if not isinstance(flags, int) or not (0 <= flags <= _MAX_FLAG): + msg = f"flags must be an integer between 0 and {_MAX_FLAG}" + raise PyCMSError(msg) + + try: + if not isinstance(inputProfile, ImageCmsProfile): + inputProfile = ImageCmsProfile(inputProfile) + if not isinstance(outputProfile, ImageCmsProfile): + outputProfile = ImageCmsProfile(outputProfile) + if not isinstance(proofProfile, ImageCmsProfile): + proofProfile = ImageCmsProfile(proofProfile) + return ImageCmsTransform( + inputProfile, + outputProfile, + inMode, + outMode, + renderingIntent, + proofProfile, + proofRenderingIntent, + flags, + ) + except (OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +buildTransformFromOpenProfiles = buildTransform +buildProofTransformFromOpenProfiles = buildProofTransform + + +def applyTransform( + im: Image.Image, transform: ImageCmsTransform, inPlace: bool = False +) -> Image.Image | None: + """ + (pyCMS) Applies a transform to a given image. + + If ``im.mode != transform.input_mode``, a :exc:`PyCMSError` is raised. + + If ``inPlace`` is ``True`` and ``transform.input_mode != transform.output_mode``, a + :exc:`PyCMSError` is raised. + + If ``im.mode``, ``transform.input_mode`` or ``transform.output_mode`` is not + supported by pyCMSdll or the profiles you used for the transform, a + :exc:`PyCMSError` is raised. + + If an error occurs while the transform is being applied, + a :exc:`PyCMSError` is raised. + + This function applies a pre-calculated transform (from + ImageCms.buildTransform() or ImageCms.buildTransformFromOpenProfiles()) + to an image. The transform can be used for multiple images, saving + considerable calculation time if doing the same conversion multiple times. + + If you want to modify im in-place instead of receiving a new image as + the return value, set ``inPlace`` to ``True``. This can only be done if + ``transform.input_mode`` and ``transform.output_mode`` are the same, because we + can't change the mode in-place (the buffer sizes for some modes are + different). The default behavior is to return a new :py:class:`~PIL.Image.Image` + object of the same dimensions in mode ``transform.output_mode``. + + :param im: An :py:class:`~PIL.Image.Image` object, and ``im.mode`` must be the same + as the ``input_mode`` supported by the transform. + :param transform: A valid CmsTransform class object + :param inPlace: Bool. If ``True``, ``im`` is modified in place and ``None`` is + returned, if ``False``, a new :py:class:`~PIL.Image.Image` object with the + transform applied is returned (and ``im`` is not changed). The default is + ``False``. + :returns: Either ``None``, or a new :py:class:`~PIL.Image.Image` object, + depending on the value of ``inPlace``. The profile will be returned in + the image's ``info['icc_profile']``. + :exception PyCMSError: + """ + + try: + if inPlace: + transform.apply_in_place(im) + imOut = None + else: + imOut = transform.apply(im) + except (TypeError, ValueError) as v: + raise PyCMSError(v) from v + + return imOut + + +def createProfile( + colorSpace: Literal["LAB", "XYZ", "sRGB"], colorTemp: SupportsFloat = 0 +) -> core.CmsProfile: + """ + (pyCMS) Creates a profile. + + If colorSpace not in ``["LAB", "XYZ", "sRGB"]``, + a :exc:`PyCMSError` is raised. + + If using LAB and ``colorTemp`` is not a positive integer, + a :exc:`PyCMSError` is raised. + + If an error occurs while creating the profile, + a :exc:`PyCMSError` is raised. + + Use this function to create common profiles on-the-fly instead of + having to supply a profile on disk and knowing the path to it. It + returns a normal CmsProfile object that can be passed to + ImageCms.buildTransformFromOpenProfiles() to create a transform to apply + to images. + + :param colorSpace: String, the color space of the profile you wish to + create. + Currently only "LAB", "XYZ", and "sRGB" are supported. + :param colorTemp: Positive number for the white point for the profile, in + degrees Kelvin (i.e. 5000, 6500, 9600, etc.). The default is for D50 + illuminant if omitted (5000k). colorTemp is ONLY applied to LAB + profiles, and is ignored for XYZ and sRGB. + :returns: A CmsProfile class object + :exception PyCMSError: + """ + + if colorSpace not in ["LAB", "XYZ", "sRGB"]: + msg = ( + f"Color space not supported for on-the-fly profile creation ({colorSpace})" + ) + raise PyCMSError(msg) + + if colorSpace == "LAB": + try: + colorTemp = float(colorTemp) + except (TypeError, ValueError) as e: + msg = f'Color temperature must be numeric, "{colorTemp}" not valid' + raise PyCMSError(msg) from e + + try: + return core.createProfile(colorSpace, colorTemp) + except (TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def getProfileName(profile: _CmsProfileCompatible) -> str: + """ + + (pyCMS) Gets the internal product name for the given profile. + + If ``profile`` isn't a valid CmsProfile object or filename to a profile, + a :exc:`PyCMSError` is raised If an error occurs while trying + to obtain the name tag, a :exc:`PyCMSError` is raised. + + Use this function to obtain the INTERNAL name of the profile (stored + in an ICC tag in the profile itself), usually the one used when the + profile was originally created. Sometimes this tag also contains + additional information supplied by the creator. + + :param profile: EITHER a valid CmsProfile object, OR a string of the + filename of an ICC profile. + :returns: A string containing the internal name of the profile as stored + in an ICC tag. + :exception PyCMSError: + """ + + try: + # add an extra newline to preserve pyCMS compatibility + if not isinstance(profile, ImageCmsProfile): + profile = ImageCmsProfile(profile) + # do it in python, not c. + # // name was "%s - %s" (model, manufacturer) || Description , + # // but if the Model and Manufacturer were the same or the model + # // was long, Just the model, in 1.x + model = profile.profile.model + manufacturer = profile.profile.manufacturer + + if not (model or manufacturer): + return (profile.profile.profile_description or "") + "\n" + if not manufacturer or (model and len(model) > 30): + return f"{model}\n" + return f"{model} - {manufacturer}\n" + + except (AttributeError, OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def getProfileInfo(profile: _CmsProfileCompatible) -> str: + """ + (pyCMS) Gets the internal product information for the given profile. + + If ``profile`` isn't a valid CmsProfile object or filename to a profile, + a :exc:`PyCMSError` is raised. + + If an error occurs while trying to obtain the info tag, + a :exc:`PyCMSError` is raised. + + Use this function to obtain the information stored in the profile's + info tag. This often contains details about the profile, and how it + was created, as supplied by the creator. + + :param profile: EITHER a valid CmsProfile object, OR a string of the + filename of an ICC profile. + :returns: A string containing the internal profile information stored in + an ICC tag. + :exception PyCMSError: + """ + + try: + if not isinstance(profile, ImageCmsProfile): + profile = ImageCmsProfile(profile) + # add an extra newline to preserve pyCMS compatibility + # Python, not C. the white point bits weren't working well, + # so skipping. + # info was description \r\n\r\n copyright \r\n\r\n K007 tag \r\n\r\n whitepoint + description = profile.profile.profile_description + cpright = profile.profile.copyright + elements = [element for element in (description, cpright) if element] + return "\r\n\r\n".join(elements) + "\r\n\r\n" + + except (AttributeError, OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def getProfileCopyright(profile: _CmsProfileCompatible) -> str: + """ + (pyCMS) Gets the copyright for the given profile. + + If ``profile`` isn't a valid CmsProfile object or filename to a profile, a + :exc:`PyCMSError` is raised. + + If an error occurs while trying to obtain the copyright tag, + a :exc:`PyCMSError` is raised. + + Use this function to obtain the information stored in the profile's + copyright tag. + + :param profile: EITHER a valid CmsProfile object, OR a string of the + filename of an ICC profile. + :returns: A string containing the internal profile information stored in + an ICC tag. + :exception PyCMSError: + """ + try: + # add an extra newline to preserve pyCMS compatibility + if not isinstance(profile, ImageCmsProfile): + profile = ImageCmsProfile(profile) + return (profile.profile.copyright or "") + "\n" + except (AttributeError, OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def getProfileManufacturer(profile: _CmsProfileCompatible) -> str: + """ + (pyCMS) Gets the manufacturer for the given profile. + + If ``profile`` isn't a valid CmsProfile object or filename to a profile, a + :exc:`PyCMSError` is raised. + + If an error occurs while trying to obtain the manufacturer tag, a + :exc:`PyCMSError` is raised. + + Use this function to obtain the information stored in the profile's + manufacturer tag. + + :param profile: EITHER a valid CmsProfile object, OR a string of the + filename of an ICC profile. + :returns: A string containing the internal profile information stored in + an ICC tag. + :exception PyCMSError: + """ + try: + # add an extra newline to preserve pyCMS compatibility + if not isinstance(profile, ImageCmsProfile): + profile = ImageCmsProfile(profile) + return (profile.profile.manufacturer or "") + "\n" + except (AttributeError, OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def getProfileModel(profile: _CmsProfileCompatible) -> str: + """ + (pyCMS) Gets the model for the given profile. + + If ``profile`` isn't a valid CmsProfile object or filename to a profile, a + :exc:`PyCMSError` is raised. + + If an error occurs while trying to obtain the model tag, + a :exc:`PyCMSError` is raised. + + Use this function to obtain the information stored in the profile's + model tag. + + :param profile: EITHER a valid CmsProfile object, OR a string of the + filename of an ICC profile. + :returns: A string containing the internal profile information stored in + an ICC tag. + :exception PyCMSError: + """ + + try: + # add an extra newline to preserve pyCMS compatibility + if not isinstance(profile, ImageCmsProfile): + profile = ImageCmsProfile(profile) + return (profile.profile.model or "") + "\n" + except (AttributeError, OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def getProfileDescription(profile: _CmsProfileCompatible) -> str: + """ + (pyCMS) Gets the description for the given profile. + + If ``profile`` isn't a valid CmsProfile object or filename to a profile, a + :exc:`PyCMSError` is raised. + + If an error occurs while trying to obtain the description tag, + a :exc:`PyCMSError` is raised. + + Use this function to obtain the information stored in the profile's + description tag. + + :param profile: EITHER a valid CmsProfile object, OR a string of the + filename of an ICC profile. + :returns: A string containing the internal profile information stored in an + ICC tag. + :exception PyCMSError: + """ + + try: + # add an extra newline to preserve pyCMS compatibility + if not isinstance(profile, ImageCmsProfile): + profile = ImageCmsProfile(profile) + return (profile.profile.profile_description or "") + "\n" + except (AttributeError, OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def getDefaultIntent(profile: _CmsProfileCompatible) -> int: + """ + (pyCMS) Gets the default intent name for the given profile. + + If ``profile`` isn't a valid CmsProfile object or filename to a profile, a + :exc:`PyCMSError` is raised. + + If an error occurs while trying to obtain the default intent, a + :exc:`PyCMSError` is raised. + + Use this function to determine the default (and usually best optimized) + rendering intent for this profile. Most profiles support multiple + rendering intents, but are intended mostly for one type of conversion. + If you wish to use a different intent than returned, use + ImageCms.isIntentSupported() to verify it will work first. + + :param profile: EITHER a valid CmsProfile object, OR a string of the + filename of an ICC profile. + :returns: Integer 0-3 specifying the default rendering intent for this + profile. + + ImageCms.Intent.PERCEPTUAL = 0 (DEFAULT) + ImageCms.Intent.RELATIVE_COLORIMETRIC = 1 + ImageCms.Intent.SATURATION = 2 + ImageCms.Intent.ABSOLUTE_COLORIMETRIC = 3 + + see the pyCMS documentation for details on rendering intents and what + they do. + :exception PyCMSError: + """ + + try: + if not isinstance(profile, ImageCmsProfile): + profile = ImageCmsProfile(profile) + return profile.profile.rendering_intent + except (AttributeError, OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def isIntentSupported( + profile: _CmsProfileCompatible, intent: Intent, direction: Direction +) -> Literal[-1, 1]: + """ + (pyCMS) Checks if a given intent is supported. + + Use this function to verify that you can use your desired + ``intent`` with ``profile``, and that ``profile`` can be used for the + input/output/proof profile as you desire. + + Some profiles are created specifically for one "direction", can cannot + be used for others. Some profiles can only be used for certain + rendering intents, so it's best to either verify this before trying + to create a transform with them (using this function), or catch the + potential :exc:`PyCMSError` that will occur if they don't + support the modes you select. + + :param profile: EITHER a valid CmsProfile object, OR a string of the + filename of an ICC profile. + :param intent: Integer (0-3) specifying the rendering intent you wish to + use with this profile + + ImageCms.Intent.PERCEPTUAL = 0 (DEFAULT) + ImageCms.Intent.RELATIVE_COLORIMETRIC = 1 + ImageCms.Intent.SATURATION = 2 + ImageCms.Intent.ABSOLUTE_COLORIMETRIC = 3 + + see the pyCMS documentation for details on rendering intents and what + they do. + :param direction: Integer specifying if the profile is to be used for + input, output, or proof + + INPUT = 0 (or use ImageCms.Direction.INPUT) + OUTPUT = 1 (or use ImageCms.Direction.OUTPUT) + PROOF = 2 (or use ImageCms.Direction.PROOF) + + :returns: 1 if the intent/direction are supported, -1 if they are not. + :exception PyCMSError: + """ + + try: + if not isinstance(profile, ImageCmsProfile): + profile = ImageCmsProfile(profile) + # FIXME: I get different results for the same data w. different + # compilers. Bug in LittleCMS or in the binding? + if profile.profile.is_intent_supported(intent, direction): + return 1 + else: + return -1 + except (AttributeError, OSError, TypeError, ValueError) as v: + raise PyCMSError(v) from v + + +def versions() -> tuple[str, str | None, str, str]: + """ + (pyCMS) Fetches versions. + """ + + deprecate( + "PIL.ImageCms.versions()", + 12, + '(PIL.features.version("littlecms2"), sys.version, PIL.__version__)', + ) + return _VERSION, core.littlecms_version, sys.version.split()[0], __version__ diff --git a/gestao_raul/Lib/site-packages/PIL/ImageColor.py b/gestao_raul/Lib/site-packages/PIL/ImageColor.py new file mode 100644 index 0000000..9a15a8e --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/ImageColor.py @@ -0,0 +1,320 @@ +# +# The Python Imaging Library +# $Id$ +# +# map CSS3-style colour description strings to RGB +# +# History: +# 2002-10-24 fl Added support for CSS-style color strings +# 2002-12-15 fl Added RGBA support +# 2004-03-27 fl Fixed remaining int() problems for Python 1.5.2 +# 2004-07-19 fl Fixed gray/grey spelling issues +# 2009-03-05 fl Fixed rounding error in grayscale calculation +# +# Copyright (c) 2002-2004 by Secret Labs AB +# Copyright (c) 2002-2004 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import re +from functools import lru_cache + +from . import Image + + +@lru_cache +def getrgb(color: str) -> tuple[int, int, int] | tuple[int, int, int, int]: + """ + Convert a color string to an RGB or RGBA tuple. If the string cannot be + parsed, this function raises a :py:exc:`ValueError` exception. + + .. versionadded:: 1.1.4 + + :param color: A color string + :return: ``(red, green, blue[, alpha])`` + """ + if len(color) > 100: + msg = "color specifier is too long" + raise ValueError(msg) + color = color.lower() + + rgb = colormap.get(color, None) + if rgb: + if isinstance(rgb, tuple): + return rgb + rgb_tuple = getrgb(rgb) + assert len(rgb_tuple) == 3 + colormap[color] = rgb_tuple + return rgb_tuple + + # check for known string formats + if re.match("#[a-f0-9]{3}$", color): + return int(color[1] * 2, 16), int(color[2] * 2, 16), int(color[3] * 2, 16) + + if re.match("#[a-f0-9]{4}$", color): + return ( + int(color[1] * 2, 16), + int(color[2] * 2, 16), + int(color[3] * 2, 16), + int(color[4] * 2, 16), + ) + + if re.match("#[a-f0-9]{6}$", color): + return int(color[1:3], 16), int(color[3:5], 16), int(color[5:7], 16) + + if re.match("#[a-f0-9]{8}$", color): + return ( + int(color[1:3], 16), + int(color[3:5], 16), + int(color[5:7], 16), + int(color[7:9], 16), + ) + + m = re.match(r"rgb\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$", color) + if m: + return int(m.group(1)), int(m.group(2)), int(m.group(3)) + + m = re.match(r"rgb\(\s*(\d+)%\s*,\s*(\d+)%\s*,\s*(\d+)%\s*\)$", color) + if m: + return ( + int((int(m.group(1)) * 255) / 100.0 + 0.5), + int((int(m.group(2)) * 255) / 100.0 + 0.5), + int((int(m.group(3)) * 255) / 100.0 + 0.5), + ) + + m = re.match( + r"hsl\(\s*(\d+\.?\d*)\s*,\s*(\d+\.?\d*)%\s*,\s*(\d+\.?\d*)%\s*\)$", color + ) + if m: + from colorsys import hls_to_rgb + + rgb_floats = hls_to_rgb( + float(m.group(1)) / 360.0, + float(m.group(3)) / 100.0, + float(m.group(2)) / 100.0, + ) + return ( + int(rgb_floats[0] * 255 + 0.5), + int(rgb_floats[1] * 255 + 0.5), + int(rgb_floats[2] * 255 + 0.5), + ) + + m = re.match( + r"hs[bv]\(\s*(\d+\.?\d*)\s*,\s*(\d+\.?\d*)%\s*,\s*(\d+\.?\d*)%\s*\)$", color + ) + if m: + from colorsys import hsv_to_rgb + + rgb_floats = hsv_to_rgb( + float(m.group(1)) / 360.0, + float(m.group(2)) / 100.0, + float(m.group(3)) / 100.0, + ) + return ( + int(rgb_floats[0] * 255 + 0.5), + int(rgb_floats[1] * 255 + 0.5), + int(rgb_floats[2] * 255 + 0.5), + ) + + m = re.match(r"rgba\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$", color) + if m: + return int(m.group(1)), int(m.group(2)), int(m.group(3)), int(m.group(4)) + msg = f"unknown color specifier: {repr(color)}" + raise ValueError(msg) + + +@lru_cache +def getcolor(color: str, mode: str) -> int | tuple[int, ...]: + """ + Same as :py:func:`~PIL.ImageColor.getrgb` for most modes. However, if + ``mode`` is HSV, converts the RGB value to a HSV value, or if ``mode`` is + not color or a palette image, converts the RGB value to a grayscale value. + If the string cannot be parsed, this function raises a :py:exc:`ValueError` + exception. + + .. versionadded:: 1.1.4 + + :param color: A color string + :param mode: Convert result to this mode + :return: ``graylevel, (graylevel, alpha) or (red, green, blue[, alpha])`` + """ + # same as getrgb, but converts the result to the given mode + rgb, alpha = getrgb(color), 255 + if len(rgb) == 4: + alpha = rgb[3] + rgb = rgb[:3] + + if mode == "HSV": + from colorsys import rgb_to_hsv + + r, g, b = rgb + h, s, v = rgb_to_hsv(r / 255, g / 255, b / 255) + return int(h * 255), int(s * 255), int(v * 255) + elif Image.getmodebase(mode) == "L": + r, g, b = rgb + # ITU-R Recommendation 601-2 for nonlinear RGB + # scaled to 24 bits to match the convert's implementation. + graylevel = (r * 19595 + g * 38470 + b * 7471 + 0x8000) >> 16 + if mode[-1] == "A": + return graylevel, alpha + return graylevel + elif mode[-1] == "A": + return rgb + (alpha,) + return rgb + + +colormap: dict[str, str | tuple[int, int, int]] = { + # X11 colour table from https://drafts.csswg.org/css-color-4/, with + # gray/grey spelling issues fixed. This is a superset of HTML 4.0 + # colour names used in CSS 1. + "aliceblue": "#f0f8ff", + "antiquewhite": "#faebd7", + "aqua": "#00ffff", + "aquamarine": "#7fffd4", + "azure": "#f0ffff", + "beige": "#f5f5dc", + "bisque": "#ffe4c4", + "black": "#000000", + "blanchedalmond": "#ffebcd", + "blue": "#0000ff", + "blueviolet": "#8a2be2", + "brown": "#a52a2a", + "burlywood": "#deb887", + "cadetblue": "#5f9ea0", + "chartreuse": "#7fff00", + "chocolate": "#d2691e", + "coral": "#ff7f50", + "cornflowerblue": "#6495ed", + "cornsilk": "#fff8dc", + "crimson": "#dc143c", + "cyan": "#00ffff", + "darkblue": "#00008b", + "darkcyan": "#008b8b", + "darkgoldenrod": "#b8860b", + "darkgray": "#a9a9a9", + "darkgrey": "#a9a9a9", + "darkgreen": "#006400", + "darkkhaki": "#bdb76b", + "darkmagenta": "#8b008b", + "darkolivegreen": "#556b2f", + "darkorange": "#ff8c00", + "darkorchid": "#9932cc", + "darkred": "#8b0000", + "darksalmon": "#e9967a", + "darkseagreen": "#8fbc8f", + "darkslateblue": "#483d8b", + "darkslategray": "#2f4f4f", + "darkslategrey": "#2f4f4f", + "darkturquoise": "#00ced1", + "darkviolet": "#9400d3", + "deeppink": "#ff1493", + "deepskyblue": "#00bfff", + "dimgray": "#696969", + "dimgrey": "#696969", + "dodgerblue": "#1e90ff", + "firebrick": "#b22222", + "floralwhite": "#fffaf0", + "forestgreen": "#228b22", + "fuchsia": "#ff00ff", + "gainsboro": "#dcdcdc", + "ghostwhite": "#f8f8ff", + "gold": "#ffd700", + "goldenrod": "#daa520", + "gray": "#808080", + "grey": "#808080", + "green": "#008000", + "greenyellow": "#adff2f", + "honeydew": "#f0fff0", + "hotpink": "#ff69b4", + "indianred": "#cd5c5c", + "indigo": "#4b0082", + "ivory": "#fffff0", + "khaki": "#f0e68c", + "lavender": "#e6e6fa", + "lavenderblush": "#fff0f5", + "lawngreen": "#7cfc00", + "lemonchiffon": "#fffacd", + "lightblue": "#add8e6", + "lightcoral": "#f08080", + "lightcyan": "#e0ffff", + "lightgoldenrodyellow": "#fafad2", + "lightgreen": "#90ee90", + "lightgray": "#d3d3d3", + "lightgrey": "#d3d3d3", + "lightpink": "#ffb6c1", + "lightsalmon": "#ffa07a", + "lightseagreen": "#20b2aa", + "lightskyblue": "#87cefa", + "lightslategray": "#778899", + "lightslategrey": "#778899", + "lightsteelblue": "#b0c4de", + "lightyellow": "#ffffe0", + "lime": "#00ff00", + "limegreen": "#32cd32", + "linen": "#faf0e6", + "magenta": "#ff00ff", + "maroon": "#800000", + "mediumaquamarine": "#66cdaa", + "mediumblue": "#0000cd", + "mediumorchid": "#ba55d3", + "mediumpurple": "#9370db", + "mediumseagreen": "#3cb371", + "mediumslateblue": "#7b68ee", + "mediumspringgreen": "#00fa9a", + "mediumturquoise": "#48d1cc", + "mediumvioletred": "#c71585", + "midnightblue": "#191970", + "mintcream": "#f5fffa", + "mistyrose": "#ffe4e1", + "moccasin": "#ffe4b5", + "navajowhite": "#ffdead", + "navy": "#000080", + "oldlace": "#fdf5e6", + "olive": "#808000", + "olivedrab": "#6b8e23", + "orange": "#ffa500", + "orangered": "#ff4500", + "orchid": "#da70d6", + "palegoldenrod": "#eee8aa", + "palegreen": "#98fb98", + "paleturquoise": "#afeeee", + "palevioletred": "#db7093", + "papayawhip": "#ffefd5", + "peachpuff": "#ffdab9", + "peru": "#cd853f", + "pink": "#ffc0cb", + "plum": "#dda0dd", + "powderblue": "#b0e0e6", + "purple": "#800080", + "rebeccapurple": "#663399", + "red": "#ff0000", + "rosybrown": "#bc8f8f", + "royalblue": "#4169e1", + "saddlebrown": "#8b4513", + "salmon": "#fa8072", + "sandybrown": "#f4a460", + "seagreen": "#2e8b57", + "seashell": "#fff5ee", + "sienna": "#a0522d", + "silver": "#c0c0c0", + "skyblue": "#87ceeb", + "slateblue": "#6a5acd", + "slategray": "#708090", + "slategrey": "#708090", + "snow": "#fffafa", + "springgreen": "#00ff7f", + "steelblue": "#4682b4", + "tan": "#d2b48c", + "teal": "#008080", + "thistle": "#d8bfd8", + "tomato": "#ff6347", + "turquoise": "#40e0d0", + "violet": "#ee82ee", + "wheat": "#f5deb3", + "white": "#ffffff", + "whitesmoke": "#f5f5f5", + "yellow": "#ffff00", + "yellowgreen": "#9acd32", +} diff --git a/gestao_raul/Lib/site-packages/PIL/ImageDraw.py b/gestao_raul/Lib/site-packages/PIL/ImageDraw.py new file mode 100644 index 0000000..d8e4c0c --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/ImageDraw.py @@ -0,0 +1,1218 @@ +# +# The Python Imaging Library +# $Id$ +# +# drawing interface operations +# +# History: +# 1996-04-13 fl Created (experimental) +# 1996-08-07 fl Filled polygons, ellipses. +# 1996-08-13 fl Added text support +# 1998-06-28 fl Handle I and F images +# 1998-12-29 fl Added arc; use arc primitive to draw ellipses +# 1999-01-10 fl Added shape stuff (experimental) +# 1999-02-06 fl Added bitmap support +# 1999-02-11 fl Changed all primitives to take options +# 1999-02-20 fl Fixed backwards compatibility +# 2000-10-12 fl Copy on write, when necessary +# 2001-02-18 fl Use default ink for bitmap/text also in fill mode +# 2002-10-24 fl Added support for CSS-style color strings +# 2002-12-10 fl Added experimental support for RGBA-on-RGB drawing +# 2002-12-11 fl Refactored low-level drawing API (work in progress) +# 2004-08-26 fl Made Draw() a factory function, added getdraw() support +# 2004-09-04 fl Added width support to line primitive +# 2004-09-10 fl Added font mode handling +# 2006-06-19 fl Added font bearing support (getmask2) +# +# Copyright (c) 1997-2006 by Secret Labs AB +# Copyright (c) 1996-2006 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import math +import struct +from collections.abc import Sequence +from types import ModuleType +from typing import TYPE_CHECKING, Any, AnyStr, Callable, Union, cast + +from . import Image, ImageColor +from ._deprecate import deprecate +from ._typing import Coords + +# experimental access to the outline API +Outline: Callable[[], Image.core._Outline] | None +try: + Outline = Image.core.outline +except AttributeError: + Outline = None + +if TYPE_CHECKING: + from . import ImageDraw2, ImageFont + +_Ink = Union[float, tuple[int, ...], str] + +""" +A simple 2D drawing interface for PIL images. +

+Application code should use the Draw factory, instead of +directly. +""" + + +class ImageDraw: + font: ( + ImageFont.ImageFont | ImageFont.FreeTypeFont | ImageFont.TransposedFont | None + ) = None + + def __init__(self, im: Image.Image, mode: str | None = None) -> None: + """ + Create a drawing instance. + + :param im: The image to draw in. + :param mode: Optional mode to use for color values. For RGB + images, this argument can be RGB or RGBA (to blend the + drawing into the image). For all other modes, this argument + must be the same as the image mode. If omitted, the mode + defaults to the mode of the image. + """ + im.load() + if im.readonly: + im._copy() # make it writeable + blend = 0 + if mode is None: + mode = im.mode + if mode != im.mode: + if mode == "RGBA" and im.mode == "RGB": + blend = 1 + else: + msg = "mode mismatch" + raise ValueError(msg) + if mode == "P": + self.palette = im.palette + else: + self.palette = None + self._image = im + self.im = im.im + self.draw = Image.core.draw(self.im, blend) + self.mode = mode + if mode in ("I", "F"): + self.ink = self.draw.draw_ink(1) + else: + self.ink = self.draw.draw_ink(-1) + if mode in ("1", "P", "I", "F"): + # FIXME: fix Fill2 to properly support matte for I+F images + self.fontmode = "1" + else: + self.fontmode = "L" # aliasing is okay for other modes + self.fill = False + + def getfont( + self, + ) -> ImageFont.ImageFont | ImageFont.FreeTypeFont | ImageFont.TransposedFont: + """ + Get the current default font. + + To set the default font for this ImageDraw instance:: + + from PIL import ImageDraw, ImageFont + draw.font = ImageFont.truetype("Tests/fonts/FreeMono.ttf") + + To set the default font for all future ImageDraw instances:: + + from PIL import ImageDraw, ImageFont + ImageDraw.ImageDraw.font = ImageFont.truetype("Tests/fonts/FreeMono.ttf") + + If the current default font is ``None``, + it is initialized with ``ImageFont.load_default()``. + + :returns: An image font.""" + if not self.font: + # FIXME: should add a font repository + from . import ImageFont + + self.font = ImageFont.load_default() + return self.font + + def _getfont( + self, font_size: float | None + ) -> ImageFont.ImageFont | ImageFont.FreeTypeFont | ImageFont.TransposedFont: + if font_size is not None: + from . import ImageFont + + return ImageFont.load_default(font_size) + else: + return self.getfont() + + def _getink( + self, ink: _Ink | None, fill: _Ink | None = None + ) -> tuple[int | None, int | None]: + result_ink = None + result_fill = None + if ink is None and fill is None: + if self.fill: + result_fill = self.ink + else: + result_ink = self.ink + else: + if ink is not None: + if isinstance(ink, str): + ink = ImageColor.getcolor(ink, self.mode) + if self.palette and isinstance(ink, tuple): + ink = self.palette.getcolor(ink, self._image) + result_ink = self.draw.draw_ink(ink) + if fill is not None: + if isinstance(fill, str): + fill = ImageColor.getcolor(fill, self.mode) + if self.palette and isinstance(fill, tuple): + fill = self.palette.getcolor(fill, self._image) + result_fill = self.draw.draw_ink(fill) + return result_ink, result_fill + + def arc( + self, + xy: Coords, + start: float, + end: float, + fill: _Ink | None = None, + width: int = 1, + ) -> None: + """Draw an arc.""" + ink, fill = self._getink(fill) + if ink is not None: + self.draw.draw_arc(xy, start, end, ink, width) + + def bitmap( + self, xy: Sequence[int], bitmap: Image.Image, fill: _Ink | None = None + ) -> None: + """Draw a bitmap.""" + bitmap.load() + ink, fill = self._getink(fill) + if ink is None: + ink = fill + if ink is not None: + self.draw.draw_bitmap(xy, bitmap.im, ink) + + def chord( + self, + xy: Coords, + start: float, + end: float, + fill: _Ink | None = None, + outline: _Ink | None = None, + width: int = 1, + ) -> None: + """Draw a chord.""" + ink, fill_ink = self._getink(outline, fill) + if fill_ink is not None: + self.draw.draw_chord(xy, start, end, fill_ink, 1) + if ink is not None and ink != fill_ink and width != 0: + self.draw.draw_chord(xy, start, end, ink, 0, width) + + def ellipse( + self, + xy: Coords, + fill: _Ink | None = None, + outline: _Ink | None = None, + width: int = 1, + ) -> None: + """Draw an ellipse.""" + ink, fill_ink = self._getink(outline, fill) + if fill_ink is not None: + self.draw.draw_ellipse(xy, fill_ink, 1) + if ink is not None and ink != fill_ink and width != 0: + self.draw.draw_ellipse(xy, ink, 0, width) + + def circle( + self, + xy: Sequence[float], + radius: float, + fill: _Ink | None = None, + outline: _Ink | None = None, + width: int = 1, + ) -> None: + """Draw a circle given center coordinates and a radius.""" + ellipse_xy = (xy[0] - radius, xy[1] - radius, xy[0] + radius, xy[1] + radius) + self.ellipse(ellipse_xy, fill, outline, width) + + def line( + self, + xy: Coords, + fill: _Ink | None = None, + width: int = 0, + joint: str | None = None, + ) -> None: + """Draw a line, or a connected sequence of line segments.""" + ink = self._getink(fill)[0] + if ink is not None: + self.draw.draw_lines(xy, ink, width) + if joint == "curve" and width > 4: + points: Sequence[Sequence[float]] + if isinstance(xy[0], (list, tuple)): + points = cast(Sequence[Sequence[float]], xy) + else: + points = [ + cast(Sequence[float], tuple(xy[i : i + 2])) + for i in range(0, len(xy), 2) + ] + for i in range(1, len(points) - 1): + point = points[i] + angles = [ + math.degrees(math.atan2(end[0] - start[0], start[1] - end[1])) + % 360 + for start, end in ( + (points[i - 1], point), + (point, points[i + 1]), + ) + ] + if angles[0] == angles[1]: + # This is a straight line, so no joint is required + continue + + def coord_at_angle( + coord: Sequence[float], angle: float + ) -> tuple[float, ...]: + x, y = coord + angle -= 90 + distance = width / 2 - 1 + return tuple( + p + (math.floor(p_d) if p_d > 0 else math.ceil(p_d)) + for p, p_d in ( + (x, distance * math.cos(math.radians(angle))), + (y, distance * math.sin(math.radians(angle))), + ) + ) + + flipped = ( + angles[1] > angles[0] and angles[1] - 180 > angles[0] + ) or (angles[1] < angles[0] and angles[1] + 180 > angles[0]) + coords = [ + (point[0] - width / 2 + 1, point[1] - width / 2 + 1), + (point[0] + width / 2 - 1, point[1] + width / 2 - 1), + ] + if flipped: + start, end = (angles[1] + 90, angles[0] + 90) + else: + start, end = (angles[0] - 90, angles[1] - 90) + self.pieslice(coords, start - 90, end - 90, fill) + + if width > 8: + # Cover potential gaps between the line and the joint + if flipped: + gap_coords = [ + coord_at_angle(point, angles[0] + 90), + point, + coord_at_angle(point, angles[1] + 90), + ] + else: + gap_coords = [ + coord_at_angle(point, angles[0] - 90), + point, + coord_at_angle(point, angles[1] - 90), + ] + self.line(gap_coords, fill, width=3) + + def shape( + self, + shape: Image.core._Outline, + fill: _Ink | None = None, + outline: _Ink | None = None, + ) -> None: + """(Experimental) Draw a shape.""" + shape.close() + ink, fill_ink = self._getink(outline, fill) + if fill_ink is not None: + self.draw.draw_outline(shape, fill_ink, 1) + if ink is not None and ink != fill_ink: + self.draw.draw_outline(shape, ink, 0) + + def pieslice( + self, + xy: Coords, + start: float, + end: float, + fill: _Ink | None = None, + outline: _Ink | None = None, + width: int = 1, + ) -> None: + """Draw a pieslice.""" + ink, fill_ink = self._getink(outline, fill) + if fill_ink is not None: + self.draw.draw_pieslice(xy, start, end, fill_ink, 1) + if ink is not None and ink != fill_ink and width != 0: + self.draw.draw_pieslice(xy, start, end, ink, 0, width) + + def point(self, xy: Coords, fill: _Ink | None = None) -> None: + """Draw one or more individual pixels.""" + ink, fill = self._getink(fill) + if ink is not None: + self.draw.draw_points(xy, ink) + + def polygon( + self, + xy: Coords, + fill: _Ink | None = None, + outline: _Ink | None = None, + width: int = 1, + ) -> None: + """Draw a polygon.""" + ink, fill_ink = self._getink(outline, fill) + if fill_ink is not None: + self.draw.draw_polygon(xy, fill_ink, 1) + if ink is not None and ink != fill_ink and width != 0: + if width == 1: + self.draw.draw_polygon(xy, ink, 0, width) + elif self.im is not None: + # To avoid expanding the polygon outwards, + # use the fill as a mask + mask = Image.new("1", self.im.size) + mask_ink = self._getink(1)[0] + + fill_im = mask.copy() + draw = Draw(fill_im) + draw.draw.draw_polygon(xy, mask_ink, 1) + + ink_im = mask.copy() + draw = Draw(ink_im) + width = width * 2 - 1 + draw.draw.draw_polygon(xy, mask_ink, 0, width) + + mask.paste(ink_im, mask=fill_im) + + im = Image.new(self.mode, self.im.size) + draw = Draw(im) + draw.draw.draw_polygon(xy, ink, 0, width) + self.im.paste(im.im, (0, 0) + im.size, mask.im) + + def regular_polygon( + self, + bounding_circle: Sequence[Sequence[float] | float], + n_sides: int, + rotation: float = 0, + fill: _Ink | None = None, + outline: _Ink | None = None, + width: int = 1, + ) -> None: + """Draw a regular polygon.""" + xy = _compute_regular_polygon_vertices(bounding_circle, n_sides, rotation) + self.polygon(xy, fill, outline, width) + + def rectangle( + self, + xy: Coords, + fill: _Ink | None = None, + outline: _Ink | None = None, + width: int = 1, + ) -> None: + """Draw a rectangle.""" + ink, fill_ink = self._getink(outline, fill) + if fill_ink is not None: + self.draw.draw_rectangle(xy, fill_ink, 1) + if ink is not None and ink != fill_ink and width != 0: + self.draw.draw_rectangle(xy, ink, 0, width) + + def rounded_rectangle( + self, + xy: Coords, + radius: float = 0, + fill: _Ink | None = None, + outline: _Ink | None = None, + width: int = 1, + *, + corners: tuple[bool, bool, bool, bool] | None = None, + ) -> None: + """Draw a rounded rectangle.""" + if isinstance(xy[0], (list, tuple)): + (x0, y0), (x1, y1) = cast(Sequence[Sequence[float]], xy) + else: + x0, y0, x1, y1 = cast(Sequence[float], xy) + if x1 < x0: + msg = "x1 must be greater than or equal to x0" + raise ValueError(msg) + if y1 < y0: + msg = "y1 must be greater than or equal to y0" + raise ValueError(msg) + if corners is None: + corners = (True, True, True, True) + + d = radius * 2 + + x0 = round(x0) + y0 = round(y0) + x1 = round(x1) + y1 = round(y1) + full_x, full_y = False, False + if all(corners): + full_x = d >= x1 - x0 - 1 + if full_x: + # The two left and two right corners are joined + d = x1 - x0 + full_y = d >= y1 - y0 - 1 + if full_y: + # The two top and two bottom corners are joined + d = y1 - y0 + if full_x and full_y: + # If all corners are joined, that is a circle + return self.ellipse(xy, fill, outline, width) + + if d == 0 or not any(corners): + # If the corners have no curve, + # or there are no corners, + # that is a rectangle + return self.rectangle(xy, fill, outline, width) + + r = int(d // 2) + ink, fill_ink = self._getink(outline, fill) + + def draw_corners(pieslice: bool) -> None: + parts: tuple[tuple[tuple[float, float, float, float], int, int], ...] + if full_x: + # Draw top and bottom halves + parts = ( + ((x0, y0, x0 + d, y0 + d), 180, 360), + ((x0, y1 - d, x0 + d, y1), 0, 180), + ) + elif full_y: + # Draw left and right halves + parts = ( + ((x0, y0, x0 + d, y0 + d), 90, 270), + ((x1 - d, y0, x1, y0 + d), 270, 90), + ) + else: + # Draw four separate corners + parts = tuple( + part + for i, part in enumerate( + ( + ((x0, y0, x0 + d, y0 + d), 180, 270), + ((x1 - d, y0, x1, y0 + d), 270, 360), + ((x1 - d, y1 - d, x1, y1), 0, 90), + ((x0, y1 - d, x0 + d, y1), 90, 180), + ) + ) + if corners[i] + ) + for part in parts: + if pieslice: + self.draw.draw_pieslice(*(part + (fill_ink, 1))) + else: + self.draw.draw_arc(*(part + (ink, width))) + + if fill_ink is not None: + draw_corners(True) + + if full_x: + self.draw.draw_rectangle((x0, y0 + r + 1, x1, y1 - r - 1), fill_ink, 1) + elif x1 - r - 1 > x0 + r + 1: + self.draw.draw_rectangle((x0 + r + 1, y0, x1 - r - 1, y1), fill_ink, 1) + if not full_x and not full_y: + left = [x0, y0, x0 + r, y1] + if corners[0]: + left[1] += r + 1 + if corners[3]: + left[3] -= r + 1 + self.draw.draw_rectangle(left, fill_ink, 1) + + right = [x1 - r, y0, x1, y1] + if corners[1]: + right[1] += r + 1 + if corners[2]: + right[3] -= r + 1 + self.draw.draw_rectangle(right, fill_ink, 1) + if ink is not None and ink != fill_ink and width != 0: + draw_corners(False) + + if not full_x: + top = [x0, y0, x1, y0 + width - 1] + if corners[0]: + top[0] += r + 1 + if corners[1]: + top[2] -= r + 1 + self.draw.draw_rectangle(top, ink, 1) + + bottom = [x0, y1 - width + 1, x1, y1] + if corners[3]: + bottom[0] += r + 1 + if corners[2]: + bottom[2] -= r + 1 + self.draw.draw_rectangle(bottom, ink, 1) + if not full_y: + left = [x0, y0, x0 + width - 1, y1] + if corners[0]: + left[1] += r + 1 + if corners[3]: + left[3] -= r + 1 + self.draw.draw_rectangle(left, ink, 1) + + right = [x1 - width + 1, y0, x1, y1] + if corners[1]: + right[1] += r + 1 + if corners[2]: + right[3] -= r + 1 + self.draw.draw_rectangle(right, ink, 1) + + def _multiline_check(self, text: AnyStr) -> bool: + split_character = "\n" if isinstance(text, str) else b"\n" + + return split_character in text + + def _multiline_split(self, text: AnyStr) -> list[AnyStr]: + return text.split("\n" if isinstance(text, str) else b"\n") + + def _multiline_spacing( + self, + font: ImageFont.ImageFont | ImageFont.FreeTypeFont | ImageFont.TransposedFont, + spacing: float, + stroke_width: float, + ) -> float: + return ( + self.textbbox((0, 0), "A", font, stroke_width=stroke_width)[3] + + stroke_width + + spacing + ) + + def text( + self, + xy: tuple[float, float], + text: AnyStr, + fill: _Ink | None = None, + font: ( + ImageFont.ImageFont + | ImageFont.FreeTypeFont + | ImageFont.TransposedFont + | None + ) = None, + anchor: str | None = None, + spacing: float = 4, + align: str = "left", + direction: str | None = None, + features: list[str] | None = None, + language: str | None = None, + stroke_width: float = 0, + stroke_fill: _Ink | None = None, + embedded_color: bool = False, + *args: Any, + **kwargs: Any, + ) -> None: + """Draw text.""" + if embedded_color and self.mode not in ("RGB", "RGBA"): + msg = "Embedded color supported only in RGB and RGBA modes" + raise ValueError(msg) + + if font is None: + font = self._getfont(kwargs.get("font_size")) + + if self._multiline_check(text): + return self.multiline_text( + xy, + text, + fill, + font, + anchor, + spacing, + align, + direction, + features, + language, + stroke_width, + stroke_fill, + embedded_color, + ) + + def getink(fill: _Ink | None) -> int: + ink, fill_ink = self._getink(fill) + if ink is None: + assert fill_ink is not None + return fill_ink + return ink + + def draw_text(ink: int, stroke_width: float = 0) -> None: + mode = self.fontmode + if stroke_width == 0 and embedded_color: + mode = "RGBA" + coord = [] + for i in range(2): + coord.append(int(xy[i])) + start = (math.modf(xy[0])[0], math.modf(xy[1])[0]) + try: + mask, offset = font.getmask2( # type: ignore[union-attr,misc] + text, + mode, + direction=direction, + features=features, + language=language, + stroke_width=stroke_width, + anchor=anchor, + ink=ink, + start=start, + *args, + **kwargs, + ) + coord = [coord[0] + offset[0], coord[1] + offset[1]] + except AttributeError: + try: + mask = font.getmask( # type: ignore[misc] + text, + mode, + direction, + features, + language, + stroke_width, + anchor, + ink, + start=start, + *args, + **kwargs, + ) + except TypeError: + mask = font.getmask(text) + if mode == "RGBA": + # font.getmask2(mode="RGBA") returns color in RGB bands and mask in A + # extract mask and set text alpha + color, mask = mask, mask.getband(3) + ink_alpha = struct.pack("i", ink)[3] + color.fillband(3, ink_alpha) + x, y = coord + if self.im is not None: + self.im.paste( + color, (x, y, x + mask.size[0], y + mask.size[1]), mask + ) + else: + self.draw.draw_bitmap(coord, mask, ink) + + ink = getink(fill) + if ink is not None: + stroke_ink = None + if stroke_width: + stroke_ink = getink(stroke_fill) if stroke_fill is not None else ink + + if stroke_ink is not None: + # Draw stroked text + draw_text(stroke_ink, stroke_width) + + # Draw normal text + draw_text(ink, 0) + else: + # Only draw normal text + draw_text(ink) + + def multiline_text( + self, + xy: tuple[float, float], + text: AnyStr, + fill: _Ink | None = None, + font: ( + ImageFont.ImageFont + | ImageFont.FreeTypeFont + | ImageFont.TransposedFont + | None + ) = None, + anchor: str | None = None, + spacing: float = 4, + align: str = "left", + direction: str | None = None, + features: list[str] | None = None, + language: str | None = None, + stroke_width: float = 0, + stroke_fill: _Ink | None = None, + embedded_color: bool = False, + *, + font_size: float | None = None, + ) -> None: + if direction == "ttb": + msg = "ttb direction is unsupported for multiline text" + raise ValueError(msg) + + if anchor is None: + anchor = "la" + elif len(anchor) != 2: + msg = "anchor must be a 2 character string" + raise ValueError(msg) + elif anchor[1] in "tb": + msg = "anchor not supported for multiline text" + raise ValueError(msg) + + if font is None: + font = self._getfont(font_size) + + widths = [] + max_width: float = 0 + lines = self._multiline_split(text) + line_spacing = self._multiline_spacing(font, spacing, stroke_width) + for line in lines: + line_width = self.textlength( + line, font, direction=direction, features=features, language=language + ) + widths.append(line_width) + max_width = max(max_width, line_width) + + top = xy[1] + if anchor[1] == "m": + top -= (len(lines) - 1) * line_spacing / 2.0 + elif anchor[1] == "d": + top -= (len(lines) - 1) * line_spacing + + for idx, line in enumerate(lines): + left = xy[0] + width_difference = max_width - widths[idx] + + # first align left by anchor + if anchor[0] == "m": + left -= width_difference / 2.0 + elif anchor[0] == "r": + left -= width_difference + + # then align by align parameter + if align == "left": + pass + elif align == "center": + left += width_difference / 2.0 + elif align == "right": + left += width_difference + else: + msg = 'align must be "left", "center" or "right"' + raise ValueError(msg) + + self.text( + (left, top), + line, + fill, + font, + anchor, + direction=direction, + features=features, + language=language, + stroke_width=stroke_width, + stroke_fill=stroke_fill, + embedded_color=embedded_color, + ) + top += line_spacing + + def textlength( + self, + text: AnyStr, + font: ( + ImageFont.ImageFont + | ImageFont.FreeTypeFont + | ImageFont.TransposedFont + | None + ) = None, + direction: str | None = None, + features: list[str] | None = None, + language: str | None = None, + embedded_color: bool = False, + *, + font_size: float | None = None, + ) -> float: + """Get the length of a given string, in pixels with 1/64 precision.""" + if self._multiline_check(text): + msg = "can't measure length of multiline text" + raise ValueError(msg) + if embedded_color and self.mode not in ("RGB", "RGBA"): + msg = "Embedded color supported only in RGB and RGBA modes" + raise ValueError(msg) + + if font is None: + font = self._getfont(font_size) + mode = "RGBA" if embedded_color else self.fontmode + return font.getlength(text, mode, direction, features, language) + + def textbbox( + self, + xy: tuple[float, float], + text: AnyStr, + font: ( + ImageFont.ImageFont + | ImageFont.FreeTypeFont + | ImageFont.TransposedFont + | None + ) = None, + anchor: str | None = None, + spacing: float = 4, + align: str = "left", + direction: str | None = None, + features: list[str] | None = None, + language: str | None = None, + stroke_width: float = 0, + embedded_color: bool = False, + *, + font_size: float | None = None, + ) -> tuple[float, float, float, float]: + """Get the bounding box of a given string, in pixels.""" + if embedded_color and self.mode not in ("RGB", "RGBA"): + msg = "Embedded color supported only in RGB and RGBA modes" + raise ValueError(msg) + + if font is None: + font = self._getfont(font_size) + + if self._multiline_check(text): + return self.multiline_textbbox( + xy, + text, + font, + anchor, + spacing, + align, + direction, + features, + language, + stroke_width, + embedded_color, + ) + + mode = "RGBA" if embedded_color else self.fontmode + bbox = font.getbbox( + text, mode, direction, features, language, stroke_width, anchor + ) + return bbox[0] + xy[0], bbox[1] + xy[1], bbox[2] + xy[0], bbox[3] + xy[1] + + def multiline_textbbox( + self, + xy: tuple[float, float], + text: AnyStr, + font: ( + ImageFont.ImageFont + | ImageFont.FreeTypeFont + | ImageFont.TransposedFont + | None + ) = None, + anchor: str | None = None, + spacing: float = 4, + align: str = "left", + direction: str | None = None, + features: list[str] | None = None, + language: str | None = None, + stroke_width: float = 0, + embedded_color: bool = False, + *, + font_size: float | None = None, + ) -> tuple[float, float, float, float]: + if direction == "ttb": + msg = "ttb direction is unsupported for multiline text" + raise ValueError(msg) + + if anchor is None: + anchor = "la" + elif len(anchor) != 2: + msg = "anchor must be a 2 character string" + raise ValueError(msg) + elif anchor[1] in "tb": + msg = "anchor not supported for multiline text" + raise ValueError(msg) + + if font is None: + font = self._getfont(font_size) + + widths = [] + max_width: float = 0 + lines = self._multiline_split(text) + line_spacing = self._multiline_spacing(font, spacing, stroke_width) + for line in lines: + line_width = self.textlength( + line, + font, + direction=direction, + features=features, + language=language, + embedded_color=embedded_color, + ) + widths.append(line_width) + max_width = max(max_width, line_width) + + top = xy[1] + if anchor[1] == "m": + top -= (len(lines) - 1) * line_spacing / 2.0 + elif anchor[1] == "d": + top -= (len(lines) - 1) * line_spacing + + bbox: tuple[float, float, float, float] | None = None + + for idx, line in enumerate(lines): + left = xy[0] + width_difference = max_width - widths[idx] + + # first align left by anchor + if anchor[0] == "m": + left -= width_difference / 2.0 + elif anchor[0] == "r": + left -= width_difference + + # then align by align parameter + if align == "left": + pass + elif align == "center": + left += width_difference / 2.0 + elif align == "right": + left += width_difference + else: + msg = 'align must be "left", "center" or "right"' + raise ValueError(msg) + + bbox_line = self.textbbox( + (left, top), + line, + font, + anchor, + direction=direction, + features=features, + language=language, + stroke_width=stroke_width, + embedded_color=embedded_color, + ) + if bbox is None: + bbox = bbox_line + else: + bbox = ( + min(bbox[0], bbox_line[0]), + min(bbox[1], bbox_line[1]), + max(bbox[2], bbox_line[2]), + max(bbox[3], bbox_line[3]), + ) + + top += line_spacing + + if bbox is None: + return xy[0], xy[1], xy[0], xy[1] + return bbox + + +def Draw(im: Image.Image, mode: str | None = None) -> ImageDraw: + """ + A simple 2D drawing interface for PIL images. + + :param im: The image to draw in. + :param mode: Optional mode to use for color values. For RGB + images, this argument can be RGB or RGBA (to blend the + drawing into the image). For all other modes, this argument + must be the same as the image mode. If omitted, the mode + defaults to the mode of the image. + """ + try: + return getattr(im, "getdraw")(mode) + except AttributeError: + return ImageDraw(im, mode) + + +def getdraw( + im: Image.Image | None = None, hints: list[str] | None = None +) -> tuple[ImageDraw2.Draw | None, ModuleType]: + """ + :param im: The image to draw in. + :param hints: An optional list of hints. Deprecated. + :returns: A (drawing context, drawing resource factory) tuple. + """ + if hints is not None: + deprecate("'hints' parameter", 12) + from . import ImageDraw2 + + draw = ImageDraw2.Draw(im) if im is not None else None + return draw, ImageDraw2 + + +def floodfill( + image: Image.Image, + xy: tuple[int, int], + value: float | tuple[int, ...], + border: float | tuple[int, ...] | None = None, + thresh: float = 0, +) -> None: + """ + .. warning:: This method is experimental. + + Fills a bounded region with a given color. + + :param image: Target image. + :param xy: Seed position (a 2-item coordinate tuple). See + :ref:`coordinate-system`. + :param value: Fill color. + :param border: Optional border value. If given, the region consists of + pixels with a color different from the border color. If not given, + the region consists of pixels having the same color as the seed + pixel. + :param thresh: Optional threshold value which specifies a maximum + tolerable difference of a pixel value from the 'background' in + order for it to be replaced. Useful for filling regions of + non-homogeneous, but similar, colors. + """ + # based on an implementation by Eric S. Raymond + # amended by yo1995 @20180806 + pixel = image.load() + assert pixel is not None + x, y = xy + try: + background = pixel[x, y] + if _color_diff(value, background) <= thresh: + return # seed point already has fill color + pixel[x, y] = value + except (ValueError, IndexError): + return # seed point outside image + edge = {(x, y)} + # use a set to keep record of current and previous edge pixels + # to reduce memory consumption + full_edge = set() + while edge: + new_edge = set() + for x, y in edge: # 4 adjacent method + for s, t in ((x + 1, y), (x - 1, y), (x, y + 1), (x, y - 1)): + # If already processed, or if a coordinate is negative, skip + if (s, t) in full_edge or s < 0 or t < 0: + continue + try: + p = pixel[s, t] + except (ValueError, IndexError): + pass + else: + full_edge.add((s, t)) + if border is None: + fill = _color_diff(p, background) <= thresh + else: + fill = p not in (value, border) + if fill: + pixel[s, t] = value + new_edge.add((s, t)) + full_edge = edge # discard pixels processed + edge = new_edge + + +def _compute_regular_polygon_vertices( + bounding_circle: Sequence[Sequence[float] | float], n_sides: int, rotation: float +) -> list[tuple[float, float]]: + """ + Generate a list of vertices for a 2D regular polygon. + + :param bounding_circle: The bounding circle is a sequence defined + by a point and radius. The polygon is inscribed in this circle. + (e.g. ``bounding_circle=(x, y, r)`` or ``((x, y), r)``) + :param n_sides: Number of sides + (e.g. ``n_sides=3`` for a triangle, ``6`` for a hexagon) + :param rotation: Apply an arbitrary rotation to the polygon + (e.g. ``rotation=90``, applies a 90 degree rotation) + :return: List of regular polygon vertices + (e.g. ``[(25, 50), (50, 50), (50, 25), (25, 25)]``) + + How are the vertices computed? + 1. Compute the following variables + - theta: Angle between the apothem & the nearest polygon vertex + - side_length: Length of each polygon edge + - centroid: Center of bounding circle (1st, 2nd elements of bounding_circle) + - polygon_radius: Polygon radius (last element of bounding_circle) + - angles: Location of each polygon vertex in polar grid + (e.g. A square with 0 degree rotation => [225.0, 315.0, 45.0, 135.0]) + + 2. For each angle in angles, get the polygon vertex at that angle + The vertex is computed using the equation below. + X= xcos(φ) + ysin(φ) + Y= −xsin(φ) + ycos(φ) + + Note: + φ = angle in degrees + x = 0 + y = polygon_radius + + The formula above assumes rotation around the origin. + In our case, we are rotating around the centroid. + To account for this, we use the formula below + X = xcos(φ) + ysin(φ) + centroid_x + Y = −xsin(φ) + ycos(φ) + centroid_y + """ + # 1. Error Handling + # 1.1 Check `n_sides` has an appropriate value + if not isinstance(n_sides, int): + msg = "n_sides should be an int" # type: ignore[unreachable] + raise TypeError(msg) + if n_sides < 3: + msg = "n_sides should be an int > 2" + raise ValueError(msg) + + # 1.2 Check `bounding_circle` has an appropriate value + if not isinstance(bounding_circle, (list, tuple)): + msg = "bounding_circle should be a sequence" + raise TypeError(msg) + + if len(bounding_circle) == 3: + if not all(isinstance(i, (int, float)) for i in bounding_circle): + msg = "bounding_circle should only contain numeric data" + raise ValueError(msg) + + *centroid, polygon_radius = cast(list[float], list(bounding_circle)) + elif len(bounding_circle) == 2 and isinstance(bounding_circle[0], (list, tuple)): + if not all( + isinstance(i, (int, float)) for i in bounding_circle[0] + ) or not isinstance(bounding_circle[1], (int, float)): + msg = "bounding_circle should only contain numeric data" + raise ValueError(msg) + + if len(bounding_circle[0]) != 2: + msg = "bounding_circle centre should contain 2D coordinates (e.g. (x, y))" + raise ValueError(msg) + + centroid = cast(list[float], list(bounding_circle[0])) + polygon_radius = cast(float, bounding_circle[1]) + else: + msg = ( + "bounding_circle should contain 2D coordinates " + "and a radius (e.g. (x, y, r) or ((x, y), r) )" + ) + raise ValueError(msg) + + if polygon_radius <= 0: + msg = "bounding_circle radius should be > 0" + raise ValueError(msg) + + # 1.3 Check `rotation` has an appropriate value + if not isinstance(rotation, (int, float)): + msg = "rotation should be an int or float" # type: ignore[unreachable] + raise ValueError(msg) + + # 2. Define Helper Functions + def _apply_rotation(point: list[float], degrees: float) -> tuple[float, float]: + return ( + round( + point[0] * math.cos(math.radians(360 - degrees)) + - point[1] * math.sin(math.radians(360 - degrees)) + + centroid[0], + 2, + ), + round( + point[1] * math.cos(math.radians(360 - degrees)) + + point[0] * math.sin(math.radians(360 - degrees)) + + centroid[1], + 2, + ), + ) + + def _compute_polygon_vertex(angle: float) -> tuple[float, float]: + start_point = [polygon_radius, 0] + return _apply_rotation(start_point, angle) + + def _get_angles(n_sides: int, rotation: float) -> list[float]: + angles = [] + degrees = 360 / n_sides + # Start with the bottom left polygon vertex + current_angle = (270 - 0.5 * degrees) + rotation + for _ in range(0, n_sides): + angles.append(current_angle) + current_angle += degrees + if current_angle > 360: + current_angle -= 360 + return angles + + # 3. Variable Declarations + angles = _get_angles(n_sides, rotation) + + # 4. Compute Vertices + return [_compute_polygon_vertex(angle) for angle in angles] + + +def _color_diff( + color1: float | tuple[int, ...], color2: float | tuple[int, ...] +) -> float: + """ + Uses 1-norm distance to calculate difference between two values. + """ + first = color1 if isinstance(color1, tuple) else (color1,) + second = color2 if isinstance(color2, tuple) else (color2,) + + return sum(abs(first[i] - second[i]) for i in range(0, len(second))) diff --git a/gestao_raul/Lib/site-packages/PIL/ImageDraw2.py b/gestao_raul/Lib/site-packages/PIL/ImageDraw2.py new file mode 100644 index 0000000..3d68658 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/ImageDraw2.py @@ -0,0 +1,243 @@ +# +# The Python Imaging Library +# $Id$ +# +# WCK-style drawing interface operations +# +# History: +# 2003-12-07 fl created +# 2005-05-15 fl updated; added to PIL as ImageDraw2 +# 2005-05-15 fl added text support +# 2005-05-20 fl added arc/chord/pieslice support +# +# Copyright (c) 2003-2005 by Secret Labs AB +# Copyright (c) 2003-2005 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# + + +""" +(Experimental) WCK-style drawing interface operations + +.. seealso:: :py:mod:`PIL.ImageDraw` +""" +from __future__ import annotations + +from typing import Any, AnyStr, BinaryIO + +from . import Image, ImageColor, ImageDraw, ImageFont, ImagePath +from ._typing import Coords, StrOrBytesPath + + +class Pen: + """Stores an outline color and width.""" + + def __init__(self, color: str, width: int = 1, opacity: int = 255) -> None: + self.color = ImageColor.getrgb(color) + self.width = width + + +class Brush: + """Stores a fill color""" + + def __init__(self, color: str, opacity: int = 255) -> None: + self.color = ImageColor.getrgb(color) + + +class Font: + """Stores a TrueType font and color""" + + def __init__( + self, color: str, file: StrOrBytesPath | BinaryIO, size: float = 12 + ) -> None: + # FIXME: add support for bitmap fonts + self.color = ImageColor.getrgb(color) + self.font = ImageFont.truetype(file, size) + + +class Draw: + """ + (Experimental) WCK-style drawing interface + """ + + def __init__( + self, + image: Image.Image | str, + size: tuple[int, int] | list[int] | None = None, + color: float | tuple[float, ...] | str | None = None, + ) -> None: + if isinstance(image, str): + if size is None: + msg = "If image argument is mode string, size must be a list or tuple" + raise ValueError(msg) + image = Image.new(image, size, color) + self.draw = ImageDraw.Draw(image) + self.image = image + self.transform: tuple[float, float, float, float, float, float] | None = None + + def flush(self) -> Image.Image: + return self.image + + def render( + self, + op: str, + xy: Coords, + pen: Pen | Brush | None, + brush: Brush | Pen | None = None, + **kwargs: Any, + ) -> None: + # handle color arguments + outline = fill = None + width = 1 + if isinstance(pen, Pen): + outline = pen.color + width = pen.width + elif isinstance(brush, Pen): + outline = brush.color + width = brush.width + if isinstance(brush, Brush): + fill = brush.color + elif isinstance(pen, Brush): + fill = pen.color + # handle transformation + if self.transform: + path = ImagePath.Path(xy) + path.transform(self.transform) + xy = path + # render the item + if op in ("arc", "line"): + kwargs.setdefault("fill", outline) + else: + kwargs.setdefault("fill", fill) + kwargs.setdefault("outline", outline) + if op == "line": + kwargs.setdefault("width", width) + getattr(self.draw, op)(xy, **kwargs) + + def settransform(self, offset: tuple[float, float]) -> None: + """Sets a transformation offset.""" + (xoffset, yoffset) = offset + self.transform = (1, 0, xoffset, 0, 1, yoffset) + + def arc( + self, + xy: Coords, + pen: Pen | Brush | None, + start: float, + end: float, + *options: Any, + ) -> None: + """ + Draws an arc (a portion of a circle outline) between the start and end + angles, inside the given bounding box. + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.arc` + """ + self.render("arc", xy, pen, *options, start=start, end=end) + + def chord( + self, + xy: Coords, + pen: Pen | Brush | None, + start: float, + end: float, + *options: Any, + ) -> None: + """ + Same as :py:meth:`~PIL.ImageDraw2.Draw.arc`, but connects the end points + with a straight line. + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.chord` + """ + self.render("chord", xy, pen, *options, start=start, end=end) + + def ellipse(self, xy: Coords, pen: Pen | Brush | None, *options: Any) -> None: + """ + Draws an ellipse inside the given bounding box. + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.ellipse` + """ + self.render("ellipse", xy, pen, *options) + + def line(self, xy: Coords, pen: Pen | Brush | None, *options: Any) -> None: + """ + Draws a line between the coordinates in the ``xy`` list. + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.line` + """ + self.render("line", xy, pen, *options) + + def pieslice( + self, + xy: Coords, + pen: Pen | Brush | None, + start: float, + end: float, + *options: Any, + ) -> None: + """ + Same as arc, but also draws straight lines between the end points and the + center of the bounding box. + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.pieslice` + """ + self.render("pieslice", xy, pen, *options, start=start, end=end) + + def polygon(self, xy: Coords, pen: Pen | Brush | None, *options: Any) -> None: + """ + Draws a polygon. + + The polygon outline consists of straight lines between the given + coordinates, plus a straight line between the last and the first + coordinate. + + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.polygon` + """ + self.render("polygon", xy, pen, *options) + + def rectangle(self, xy: Coords, pen: Pen | Brush | None, *options: Any) -> None: + """ + Draws a rectangle. + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.rectangle` + """ + self.render("rectangle", xy, pen, *options) + + def text(self, xy: tuple[float, float], text: AnyStr, font: Font) -> None: + """ + Draws the string at the given position. + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.text` + """ + if self.transform: + path = ImagePath.Path(xy) + path.transform(self.transform) + xy = path + self.draw.text(xy, text, font=font.font, fill=font.color) + + def textbbox( + self, xy: tuple[float, float], text: AnyStr, font: Font + ) -> tuple[float, float, float, float]: + """ + Returns bounding box (in pixels) of given text. + + :return: ``(left, top, right, bottom)`` bounding box + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.textbbox` + """ + if self.transform: + path = ImagePath.Path(xy) + path.transform(self.transform) + xy = path + return self.draw.textbbox(xy, text, font=font.font) + + def textlength(self, text: AnyStr, font: Font) -> float: + """ + Returns length (in pixels) of given text. + This is the amount by which following text should be offset. + + .. seealso:: :py:meth:`PIL.ImageDraw.ImageDraw.textlength` + """ + return self.draw.textlength(text, font=font.font) diff --git a/gestao_raul/Lib/site-packages/PIL/ImageEnhance.py b/gestao_raul/Lib/site-packages/PIL/ImageEnhance.py new file mode 100644 index 0000000..0e7e6dd --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/ImageEnhance.py @@ -0,0 +1,113 @@ +# +# The Python Imaging Library. +# $Id$ +# +# image enhancement classes +# +# For a background, see "Image Processing By Interpolation and +# Extrapolation", Paul Haeberli and Douglas Voorhies. Available +# at http://www.graficaobscura.com/interp/index.html +# +# History: +# 1996-03-23 fl Created +# 2009-06-16 fl Fixed mean calculation +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1996. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from . import Image, ImageFilter, ImageStat + + +class _Enhance: + image: Image.Image + degenerate: Image.Image + + def enhance(self, factor: float) -> Image.Image: + """ + Returns an enhanced image. + + :param factor: A floating point value controlling the enhancement. + Factor 1.0 always returns a copy of the original image, + lower factors mean less color (brightness, contrast, + etc), and higher values more. There are no restrictions + on this value. + :rtype: :py:class:`~PIL.Image.Image` + """ + return Image.blend(self.degenerate, self.image, factor) + + +class Color(_Enhance): + """Adjust image color balance. + + This class can be used to adjust the colour balance of an image, in + a manner similar to the controls on a colour TV set. An enhancement + factor of 0.0 gives a black and white image. A factor of 1.0 gives + the original image. + """ + + def __init__(self, image: Image.Image) -> None: + self.image = image + self.intermediate_mode = "L" + if "A" in image.getbands(): + self.intermediate_mode = "LA" + + if self.intermediate_mode != image.mode: + image = image.convert(self.intermediate_mode).convert(image.mode) + self.degenerate = image + + +class Contrast(_Enhance): + """Adjust image contrast. + + This class can be used to control the contrast of an image, similar + to the contrast control on a TV set. An enhancement factor of 0.0 + gives a solid gray image. A factor of 1.0 gives the original image. + """ + + def __init__(self, image: Image.Image) -> None: + self.image = image + if image.mode != "L": + image = image.convert("L") + mean = int(ImageStat.Stat(image).mean[0] + 0.5) + self.degenerate = Image.new("L", image.size, mean) + if self.degenerate.mode != self.image.mode: + self.degenerate = self.degenerate.convert(self.image.mode) + + if "A" in self.image.getbands(): + self.degenerate.putalpha(self.image.getchannel("A")) + + +class Brightness(_Enhance): + """Adjust image brightness. + + This class can be used to control the brightness of an image. An + enhancement factor of 0.0 gives a black image. A factor of 1.0 gives the + original image. + """ + + def __init__(self, image: Image.Image) -> None: + self.image = image + self.degenerate = Image.new(image.mode, image.size, 0) + + if "A" in image.getbands(): + self.degenerate.putalpha(image.getchannel("A")) + + +class Sharpness(_Enhance): + """Adjust image sharpness. + + This class can be used to adjust the sharpness of an image. An + enhancement factor of 0.0 gives a blurred image, a factor of 1.0 gives the + original image, and a factor of 2.0 gives a sharpened image. + """ + + def __init__(self, image: Image.Image) -> None: + self.image = image + self.degenerate = image.filter(ImageFilter.SMOOTH) + + if "A" in image.getbands(): + self.degenerate.putalpha(image.getchannel("A")) diff --git a/gestao_raul/Lib/site-packages/PIL/ImageFile.py b/gestao_raul/Lib/site-packages/PIL/ImageFile.py new file mode 100644 index 0000000..d69d845 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/ImageFile.py @@ -0,0 +1,832 @@ +# +# The Python Imaging Library. +# $Id$ +# +# base class for image file handlers +# +# history: +# 1995-09-09 fl Created +# 1996-03-11 fl Fixed load mechanism. +# 1996-04-15 fl Added pcx/xbm decoders. +# 1996-04-30 fl Added encoders. +# 1996-12-14 fl Added load helpers +# 1997-01-11 fl Use encode_to_file where possible +# 1997-08-27 fl Flush output in _save +# 1998-03-05 fl Use memory mapping for some modes +# 1999-02-04 fl Use memory mapping also for "I;16" and "I;16B" +# 1999-05-31 fl Added image parser +# 2000-10-12 fl Set readonly flag on memory-mapped images +# 2002-03-20 fl Use better messages for common decoder errors +# 2003-04-21 fl Fall back on mmap/map_buffer if map is not available +# 2003-10-30 fl Added StubImageFile class +# 2004-02-25 fl Made incremental parser more robust +# +# Copyright (c) 1997-2004 by Secret Labs AB +# Copyright (c) 1995-2004 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import abc +import io +import itertools +import os +import struct +import sys +from typing import IO, TYPE_CHECKING, Any, NamedTuple, cast + +from . import Image +from ._deprecate import deprecate +from ._util import is_path + +if TYPE_CHECKING: + from ._typing import StrOrBytesPath + +MAXBLOCK = 65536 + +SAFEBLOCK = 1024 * 1024 + +LOAD_TRUNCATED_IMAGES = False +"""Whether or not to load truncated image files. User code may change this.""" + +ERRORS = { + -1: "image buffer overrun error", + -2: "decoding error", + -3: "unknown error", + -8: "bad configuration", + -9: "out of memory error", +} +""" +Dict of known error codes returned from :meth:`.PyDecoder.decode`, +:meth:`.PyEncoder.encode` :meth:`.PyEncoder.encode_to_pyfd` and +:meth:`.PyEncoder.encode_to_file`. +""" + + +# +# -------------------------------------------------------------------- +# Helpers + + +def _get_oserror(error: int, *, encoder: bool) -> OSError: + try: + msg = Image.core.getcodecstatus(error) + except AttributeError: + msg = ERRORS.get(error) + if not msg: + msg = f"{'encoder' if encoder else 'decoder'} error {error}" + msg += f" when {'writing' if encoder else 'reading'} image file" + return OSError(msg) + + +def raise_oserror(error: int) -> OSError: + deprecate( + "raise_oserror", + 12, + action="It is only useful for translating error codes returned by a codec's " + "decode() method, which ImageFile already does automatically.", + ) + raise _get_oserror(error, encoder=False) + + +def _tilesort(t: _Tile) -> int: + # sort on offset + return t[2] + + +class _Tile(NamedTuple): + codec_name: str + extents: tuple[int, int, int, int] | None + offset: int + args: tuple[Any, ...] | str | None + + +# +# -------------------------------------------------------------------- +# ImageFile base class + + +class ImageFile(Image.Image): + """Base class for image file format handlers.""" + + def __init__( + self, fp: StrOrBytesPath | IO[bytes], filename: str | bytes | None = None + ) -> None: + super().__init__() + + self._min_frame = 0 + + self.custom_mimetype: str | None = None + + self.tile: list[_Tile] = [] + """ A list of tile descriptors, or ``None`` """ + + self.readonly = 1 # until we know better + + self.decoderconfig: tuple[Any, ...] = () + self.decodermaxblock = MAXBLOCK + + if is_path(fp): + # filename + self.fp = open(fp, "rb") + self.filename = os.path.realpath(os.fspath(fp)) + self._exclusive_fp = True + else: + # stream + self.fp = cast(IO[bytes], fp) + self.filename = filename if filename is not None else "" + # can be overridden + self._exclusive_fp = False + + try: + try: + self._open() + except ( + IndexError, # end of data + TypeError, # end of data (ord) + KeyError, # unsupported mode + EOFError, # got header but not the first frame + struct.error, + ) as v: + raise SyntaxError(v) from v + + if not self.mode or self.size[0] <= 0 or self.size[1] <= 0: + msg = "not identified by this driver" + raise SyntaxError(msg) + except BaseException: + # close the file only if we have opened it this constructor + if self._exclusive_fp: + self.fp.close() + raise + + def _open(self) -> None: + pass + + def get_format_mimetype(self) -> str | None: + if self.custom_mimetype: + return self.custom_mimetype + if self.format is not None: + return Image.MIME.get(self.format.upper()) + return None + + def __setstate__(self, state: list[Any]) -> None: + self.tile = [] + super().__setstate__(state) + + def verify(self) -> None: + """Check file integrity""" + + # raise exception if something's wrong. must be called + # directly after open, and closes file when finished. + if self._exclusive_fp: + self.fp.close() + self.fp = None + + def load(self) -> Image.core.PixelAccess | None: + """Load image data based on tile list""" + + if not self.tile and self._im is None: + msg = "cannot load this image" + raise OSError(msg) + + pixel = Image.Image.load(self) + if not self.tile: + return pixel + + self.map: mmap.mmap | None = None + use_mmap = self.filename and len(self.tile) == 1 + # As of pypy 2.1.0, memory mapping was failing here. + use_mmap = use_mmap and not hasattr(sys, "pypy_version_info") + + readonly = 0 + + # look for read/seek overrides + if hasattr(self, "load_read"): + read = self.load_read + # don't use mmap if there are custom read/seek functions + use_mmap = False + else: + read = self.fp.read + + if hasattr(self, "load_seek"): + seek = self.load_seek + use_mmap = False + else: + seek = self.fp.seek + + if use_mmap: + # try memory mapping + decoder_name, extents, offset, args = self.tile[0] + if isinstance(args, str): + args = (args, 0, 1) + if ( + decoder_name == "raw" + and isinstance(args, tuple) + and len(args) >= 3 + and args[0] == self.mode + and args[0] in Image._MAPMODES + ): + try: + # use mmap, if possible + import mmap + + with open(self.filename) as fp: + self.map = mmap.mmap(fp.fileno(), 0, access=mmap.ACCESS_READ) + if offset + self.size[1] * args[1] > self.map.size(): + msg = "buffer is not large enough" + raise OSError(msg) + self.im = Image.core.map_buffer( + self.map, self.size, decoder_name, offset, args + ) + readonly = 1 + # After trashing self.im, + # we might need to reload the palette data. + if self.palette: + self.palette.dirty = 1 + except (AttributeError, OSError, ImportError): + self.map = None + + self.load_prepare() + err_code = -3 # initialize to unknown error + if not self.map: + # sort tiles in file order + self.tile.sort(key=_tilesort) + + # FIXME: This is a hack to handle TIFF's JpegTables tag. + prefix = getattr(self, "tile_prefix", b"") + + # Remove consecutive duplicates that only differ by their offset + self.tile = [ + list(tiles)[-1] + for _, tiles in itertools.groupby( + self.tile, lambda tile: (tile[0], tile[1], tile[3]) + ) + ] + for decoder_name, extents, offset, args in self.tile: + seek(offset) + decoder = Image._getdecoder( + self.mode, decoder_name, args, self.decoderconfig + ) + try: + decoder.setimage(self.im, extents) + if decoder.pulls_fd: + decoder.setfd(self.fp) + err_code = decoder.decode(b"")[1] + else: + b = prefix + while True: + try: + s = read(self.decodermaxblock) + except (IndexError, struct.error) as e: + # truncated png/gif + if LOAD_TRUNCATED_IMAGES: + break + else: + msg = "image file is truncated" + raise OSError(msg) from e + + if not s: # truncated jpeg + if LOAD_TRUNCATED_IMAGES: + break + else: + msg = ( + "image file is truncated " + f"({len(b)} bytes not processed)" + ) + raise OSError(msg) + + b = b + s + n, err_code = decoder.decode(b) + if n < 0: + break + b = b[n:] + finally: + # Need to cleanup here to prevent leaks + decoder.cleanup() + + self.tile = [] + self.readonly = readonly + + self.load_end() + + if self._exclusive_fp and self._close_exclusive_fp_after_loading: + self.fp.close() + self.fp = None + + if not self.map and not LOAD_TRUNCATED_IMAGES and err_code < 0: + # still raised if decoder fails to return anything + raise _get_oserror(err_code, encoder=False) + + return Image.Image.load(self) + + def load_prepare(self) -> None: + # create image memory if necessary + if self._im is None: + self.im = Image.core.new(self.mode, self.size) + # create palette (optional) + if self.mode == "P": + Image.Image.load(self) + + def load_end(self) -> None: + # may be overridden + pass + + # may be defined for contained formats + # def load_seek(self, pos: int) -> None: + # pass + + # may be defined for blocked formats (e.g. PNG) + # def load_read(self, read_bytes: int) -> bytes: + # pass + + def _seek_check(self, frame: int) -> bool: + if ( + frame < self._min_frame + # Only check upper limit on frames if additional seek operations + # are not required to do so + or ( + not (hasattr(self, "_n_frames") and self._n_frames is None) + and frame >= getattr(self, "n_frames") + self._min_frame + ) + ): + msg = "attempt to seek outside sequence" + raise EOFError(msg) + + return self.tell() != frame + + +class StubHandler: + def open(self, im: StubImageFile) -> None: + pass + + @abc.abstractmethod + def load(self, im: StubImageFile) -> Image.Image: + pass + + +class StubImageFile(ImageFile): + """ + Base class for stub image loaders. + + A stub loader is an image loader that can identify files of a + certain format, but relies on external code to load the file. + """ + + def _open(self) -> None: + msg = "StubImageFile subclass must implement _open" + raise NotImplementedError(msg) + + def load(self) -> Image.core.PixelAccess | None: + loader = self._load() + if loader is None: + msg = f"cannot find loader for this {self.format} file" + raise OSError(msg) + image = loader.load(self) + assert image is not None + # become the other object (!) + self.__class__ = image.__class__ # type: ignore[assignment] + self.__dict__ = image.__dict__ + return image.load() + + def _load(self) -> StubHandler | None: + """(Hook) Find actual image loader.""" + msg = "StubImageFile subclass must implement _load" + raise NotImplementedError(msg) + + +class Parser: + """ + Incremental image parser. This class implements the standard + feed/close consumer interface. + """ + + incremental = None + image: Image.Image | None = None + data: bytes | None = None + decoder: Image.core.ImagingDecoder | PyDecoder | None = None + offset = 0 + finished = 0 + + def reset(self) -> None: + """ + (Consumer) Reset the parser. Note that you can only call this + method immediately after you've created a parser; parser + instances cannot be reused. + """ + assert self.data is None, "cannot reuse parsers" + + def feed(self, data: bytes) -> None: + """ + (Consumer) Feed data to the parser. + + :param data: A string buffer. + :exception OSError: If the parser failed to parse the image file. + """ + # collect data + + if self.finished: + return + + if self.data is None: + self.data = data + else: + self.data = self.data + data + + # parse what we have + if self.decoder: + if self.offset > 0: + # skip header + skip = min(len(self.data), self.offset) + self.data = self.data[skip:] + self.offset = self.offset - skip + if self.offset > 0 or not self.data: + return + + n, e = self.decoder.decode(self.data) + + if n < 0: + # end of stream + self.data = None + self.finished = 1 + if e < 0: + # decoding error + self.image = None + raise _get_oserror(e, encoder=False) + else: + # end of image + return + self.data = self.data[n:] + + elif self.image: + # if we end up here with no decoder, this file cannot + # be incrementally parsed. wait until we've gotten all + # available data + pass + + else: + # attempt to open this file + try: + with io.BytesIO(self.data) as fp: + im = Image.open(fp) + except OSError: + pass # not enough data + else: + flag = hasattr(im, "load_seek") or hasattr(im, "load_read") + if flag or len(im.tile) != 1: + # custom load code, or multiple tiles + self.decode = None + else: + # initialize decoder + im.load_prepare() + d, e, o, a = im.tile[0] + im.tile = [] + self.decoder = Image._getdecoder(im.mode, d, a, im.decoderconfig) + self.decoder.setimage(im.im, e) + + # calculate decoder offset + self.offset = o + if self.offset <= len(self.data): + self.data = self.data[self.offset :] + self.offset = 0 + + self.image = im + + def __enter__(self) -> Parser: + return self + + def __exit__(self, *args: object) -> None: + self.close() + + def close(self) -> Image.Image: + """ + (Consumer) Close the stream. + + :returns: An image object. + :exception OSError: If the parser failed to parse the image file either + because it cannot be identified or cannot be + decoded. + """ + # finish decoding + if self.decoder: + # get rid of what's left in the buffers + self.feed(b"") + self.data = self.decoder = None + if not self.finished: + msg = "image was incomplete" + raise OSError(msg) + if not self.image: + msg = "cannot parse this image" + raise OSError(msg) + if self.data: + # incremental parsing not possible; reopen the file + # not that we have all data + with io.BytesIO(self.data) as fp: + try: + self.image = Image.open(fp) + finally: + self.image.load() + return self.image + + +# -------------------------------------------------------------------- + + +def _save(im: Image.Image, fp: IO[bytes], tile: list[_Tile], bufsize: int = 0) -> None: + """Helper to save image based on tile list + + :param im: Image object. + :param fp: File object. + :param tile: Tile list. + :param bufsize: Optional buffer size + """ + + im.load() + if not hasattr(im, "encoderconfig"): + im.encoderconfig = () + tile.sort(key=_tilesort) + # FIXME: make MAXBLOCK a configuration parameter + # It would be great if we could have the encoder specify what it needs + # But, it would need at least the image size in most cases. RawEncode is + # a tricky case. + bufsize = max(MAXBLOCK, bufsize, im.size[0] * 4) # see RawEncode.c + try: + fh = fp.fileno() + fp.flush() + _encode_tile(im, fp, tile, bufsize, fh) + except (AttributeError, io.UnsupportedOperation) as exc: + _encode_tile(im, fp, tile, bufsize, None, exc) + if hasattr(fp, "flush"): + fp.flush() + + +def _encode_tile( + im: Image.Image, + fp: IO[bytes], + tile: list[_Tile], + bufsize: int, + fh: int | None, + exc: BaseException | None = None, +) -> None: + for encoder_name, extents, offset, args in tile: + if offset > 0: + fp.seek(offset) + encoder = Image._getencoder(im.mode, encoder_name, args, im.encoderconfig) + try: + encoder.setimage(im.im, extents) + if encoder.pushes_fd: + encoder.setfd(fp) + errcode = encoder.encode_to_pyfd()[1] + else: + if exc: + # compress to Python file-compatible object + while True: + errcode, data = encoder.encode(bufsize)[1:] + fp.write(data) + if errcode: + break + else: + # slight speedup: compress to real file object + assert fh is not None + errcode = encoder.encode_to_file(fh, bufsize) + if errcode < 0: + raise _get_oserror(errcode, encoder=True) from exc + finally: + encoder.cleanup() + + +def _safe_read(fp: IO[bytes], size: int) -> bytes: + """ + Reads large blocks in a safe way. Unlike fp.read(n), this function + doesn't trust the user. If the requested size is larger than + SAFEBLOCK, the file is read block by block. + + :param fp: File handle. Must implement a read method. + :param size: Number of bytes to read. + :returns: A string containing size bytes of data. + + Raises an OSError if the file is truncated and the read cannot be completed + + """ + if size <= 0: + return b"" + if size <= SAFEBLOCK: + data = fp.read(size) + if len(data) < size: + msg = "Truncated File Read" + raise OSError(msg) + return data + blocks: list[bytes] = [] + remaining_size = size + while remaining_size > 0: + block = fp.read(min(remaining_size, SAFEBLOCK)) + if not block: + break + blocks.append(block) + remaining_size -= len(block) + if sum(len(block) for block in blocks) < size: + msg = "Truncated File Read" + raise OSError(msg) + return b"".join(blocks) + + +class PyCodecState: + def __init__(self) -> None: + self.xsize = 0 + self.ysize = 0 + self.xoff = 0 + self.yoff = 0 + + def extents(self) -> tuple[int, int, int, int]: + return self.xoff, self.yoff, self.xoff + self.xsize, self.yoff + self.ysize + + +class PyCodec: + fd: IO[bytes] | None + + def __init__(self, mode: str, *args: Any) -> None: + self.im: Image.core.ImagingCore | None = None + self.state = PyCodecState() + self.fd = None + self.mode = mode + self.init(args) + + def init(self, args: tuple[Any, ...]) -> None: + """ + Override to perform codec specific initialization + + :param args: Tuple of arg items from the tile entry + :returns: None + """ + self.args = args + + def cleanup(self) -> None: + """ + Override to perform codec specific cleanup + + :returns: None + """ + pass + + def setfd(self, fd: IO[bytes]) -> None: + """ + Called from ImageFile to set the Python file-like object + + :param fd: A Python file-like object + :returns: None + """ + self.fd = fd + + def setimage( + self, + im: Image.core.ImagingCore, + extents: tuple[int, int, int, int] | None = None, + ) -> None: + """ + Called from ImageFile to set the core output image for the codec + + :param im: A core image object + :param extents: a 4 tuple of (x0, y0, x1, y1) defining the rectangle + for this tile + :returns: None + """ + + # following c code + self.im = im + + if extents: + (x0, y0, x1, y1) = extents + else: + (x0, y0, x1, y1) = (0, 0, 0, 0) + + if x0 == 0 and x1 == 0: + self.state.xsize, self.state.ysize = self.im.size + else: + self.state.xoff = x0 + self.state.yoff = y0 + self.state.xsize = x1 - x0 + self.state.ysize = y1 - y0 + + if self.state.xsize <= 0 or self.state.ysize <= 0: + msg = "Size cannot be negative" + raise ValueError(msg) + + if ( + self.state.xsize + self.state.xoff > self.im.size[0] + or self.state.ysize + self.state.yoff > self.im.size[1] + ): + msg = "Tile cannot extend outside image" + raise ValueError(msg) + + +class PyDecoder(PyCodec): + """ + Python implementation of a format decoder. Override this class and + add the decoding logic in the :meth:`decode` method. + + See :ref:`Writing Your Own File Codec in Python` + """ + + _pulls_fd = False + + @property + def pulls_fd(self) -> bool: + return self._pulls_fd + + def decode(self, buffer: bytes | Image.SupportsArrayInterface) -> tuple[int, int]: + """ + Override to perform the decoding process. + + :param buffer: A bytes object with the data to be decoded. + :returns: A tuple of ``(bytes consumed, errcode)``. + If finished with decoding return -1 for the bytes consumed. + Err codes are from :data:`.ImageFile.ERRORS`. + """ + msg = "unavailable in base decoder" + raise NotImplementedError(msg) + + def set_as_raw( + self, data: bytes, rawmode: str | None = None, extra: tuple[Any, ...] = () + ) -> None: + """ + Convenience method to set the internal image from a stream of raw data + + :param data: Bytes to be set + :param rawmode: The rawmode to be used for the decoder. + If not specified, it will default to the mode of the image + :param extra: Extra arguments for the decoder. + :returns: None + """ + + if not rawmode: + rawmode = self.mode + d = Image._getdecoder(self.mode, "raw", rawmode, extra) + assert self.im is not None + d.setimage(self.im, self.state.extents()) + s = d.decode(data) + + if s[0] >= 0: + msg = "not enough image data" + raise ValueError(msg) + if s[1] != 0: + msg = "cannot decode image data" + raise ValueError(msg) + + +class PyEncoder(PyCodec): + """ + Python implementation of a format encoder. Override this class and + add the decoding logic in the :meth:`encode` method. + + See :ref:`Writing Your Own File Codec in Python` + """ + + _pushes_fd = False + + @property + def pushes_fd(self) -> bool: + return self._pushes_fd + + def encode(self, bufsize: int) -> tuple[int, int, bytes]: + """ + Override to perform the encoding process. + + :param bufsize: Buffer size. + :returns: A tuple of ``(bytes encoded, errcode, bytes)``. + If finished with encoding return 1 for the error code. + Err codes are from :data:`.ImageFile.ERRORS`. + """ + msg = "unavailable in base encoder" + raise NotImplementedError(msg) + + def encode_to_pyfd(self) -> tuple[int, int]: + """ + If ``pushes_fd`` is ``True``, then this method will be used, + and ``encode()`` will only be called once. + + :returns: A tuple of ``(bytes consumed, errcode)``. + Err codes are from :data:`.ImageFile.ERRORS`. + """ + if not self.pushes_fd: + return 0, -8 # bad configuration + bytes_consumed, errcode, data = self.encode(0) + if data: + assert self.fd is not None + self.fd.write(data) + return bytes_consumed, errcode + + def encode_to_file(self, fh: int, bufsize: int) -> int: + """ + :param fh: File handle. + :param bufsize: Buffer size. + + :returns: If finished successfully, return 0. + Otherwise, return an error code. Err codes are from + :data:`.ImageFile.ERRORS`. + """ + errcode = 0 + while errcode == 0: + status, errcode, buf = self.encode(bufsize) + if status > 0: + os.write(fh, buf[status:]) + return errcode diff --git a/gestao_raul/Lib/site-packages/PIL/ImageFilter.py b/gestao_raul/Lib/site-packages/PIL/ImageFilter.py new file mode 100644 index 0000000..8b0974b --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/ImageFilter.py @@ -0,0 +1,605 @@ +# +# The Python Imaging Library. +# $Id$ +# +# standard filters +# +# History: +# 1995-11-27 fl Created +# 2002-06-08 fl Added rank and mode filters +# 2003-09-15 fl Fixed rank calculation in rank filter; added expand call +# +# Copyright (c) 1997-2003 by Secret Labs AB. +# Copyright (c) 1995-2002 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import abc +import functools +from collections.abc import Sequence +from types import ModuleType +from typing import TYPE_CHECKING, Any, Callable, cast + +if TYPE_CHECKING: + from . import _imaging + from ._typing import NumpyArray + + +class Filter: + @abc.abstractmethod + def filter(self, image: _imaging.ImagingCore) -> _imaging.ImagingCore: + pass + + +class MultibandFilter(Filter): + pass + + +class BuiltinFilter(MultibandFilter): + filterargs: tuple[Any, ...] + + def filter(self, image: _imaging.ImagingCore) -> _imaging.ImagingCore: + if image.mode == "P": + msg = "cannot filter palette images" + raise ValueError(msg) + return image.filter(*self.filterargs) + + +class Kernel(BuiltinFilter): + """ + Create a convolution kernel. This only supports 3x3 and 5x5 integer and floating + point kernels. + + Kernels can only be applied to "L" and "RGB" images. + + :param size: Kernel size, given as (width, height). This must be (3,3) or (5,5). + :param kernel: A sequence containing kernel weights. The kernel will be flipped + vertically before being applied to the image. + :param scale: Scale factor. If given, the result for each pixel is divided by this + value. The default is the sum of the kernel weights. + :param offset: Offset. If given, this value is added to the result, after it has + been divided by the scale factor. + """ + + name = "Kernel" + + def __init__( + self, + size: tuple[int, int], + kernel: Sequence[float], + scale: float | None = None, + offset: float = 0, + ) -> None: + if scale is None: + # default scale is sum of kernel + scale = functools.reduce(lambda a, b: a + b, kernel) + if size[0] * size[1] != len(kernel): + msg = "not enough coefficients in kernel" + raise ValueError(msg) + self.filterargs = size, scale, offset, kernel + + +class RankFilter(Filter): + """ + Create a rank filter. The rank filter sorts all pixels in + a window of the given size, and returns the ``rank``'th value. + + :param size: The kernel size, in pixels. + :param rank: What pixel value to pick. Use 0 for a min filter, + ``size * size / 2`` for a median filter, ``size * size - 1`` + for a max filter, etc. + """ + + name = "Rank" + + def __init__(self, size: int, rank: int) -> None: + self.size = size + self.rank = rank + + def filter(self, image: _imaging.ImagingCore) -> _imaging.ImagingCore: + if image.mode == "P": + msg = "cannot filter palette images" + raise ValueError(msg) + image = image.expand(self.size // 2, self.size // 2) + return image.rankfilter(self.size, self.rank) + + +class MedianFilter(RankFilter): + """ + Create a median filter. Picks the median pixel value in a window with the + given size. + + :param size: The kernel size, in pixels. + """ + + name = "Median" + + def __init__(self, size: int = 3) -> None: + self.size = size + self.rank = size * size // 2 + + +class MinFilter(RankFilter): + """ + Create a min filter. Picks the lowest pixel value in a window with the + given size. + + :param size: The kernel size, in pixels. + """ + + name = "Min" + + def __init__(self, size: int = 3) -> None: + self.size = size + self.rank = 0 + + +class MaxFilter(RankFilter): + """ + Create a max filter. Picks the largest pixel value in a window with the + given size. + + :param size: The kernel size, in pixels. + """ + + name = "Max" + + def __init__(self, size: int = 3) -> None: + self.size = size + self.rank = size * size - 1 + + +class ModeFilter(Filter): + """ + Create a mode filter. Picks the most frequent pixel value in a box with the + given size. Pixel values that occur only once or twice are ignored; if no + pixel value occurs more than twice, the original pixel value is preserved. + + :param size: The kernel size, in pixels. + """ + + name = "Mode" + + def __init__(self, size: int = 3) -> None: + self.size = size + + def filter(self, image: _imaging.ImagingCore) -> _imaging.ImagingCore: + return image.modefilter(self.size) + + +class GaussianBlur(MultibandFilter): + """Blurs the image with a sequence of extended box filters, which + approximates a Gaussian kernel. For details on accuracy see + + + :param radius: Standard deviation of the Gaussian kernel. Either a sequence of two + numbers for x and y, or a single number for both. + """ + + name = "GaussianBlur" + + def __init__(self, radius: float | Sequence[float] = 2) -> None: + self.radius = radius + + def filter(self, image: _imaging.ImagingCore) -> _imaging.ImagingCore: + xy = self.radius + if isinstance(xy, (int, float)): + xy = (xy, xy) + if xy == (0, 0): + return image.copy() + return image.gaussian_blur(xy) + + +class BoxBlur(MultibandFilter): + """Blurs the image by setting each pixel to the average value of the pixels + in a square box extending radius pixels in each direction. + Supports float radius of arbitrary size. Uses an optimized implementation + which runs in linear time relative to the size of the image + for any radius value. + + :param radius: Size of the box in a direction. Either a sequence of two numbers for + x and y, or a single number for both. + + Radius 0 does not blur, returns an identical image. + Radius 1 takes 1 pixel in each direction, i.e. 9 pixels in total. + """ + + name = "BoxBlur" + + def __init__(self, radius: float | Sequence[float]) -> None: + xy = radius if isinstance(radius, (tuple, list)) else (radius, radius) + if xy[0] < 0 or xy[1] < 0: + msg = "radius must be >= 0" + raise ValueError(msg) + self.radius = radius + + def filter(self, image: _imaging.ImagingCore) -> _imaging.ImagingCore: + xy = self.radius + if isinstance(xy, (int, float)): + xy = (xy, xy) + if xy == (0, 0): + return image.copy() + return image.box_blur(xy) + + +class UnsharpMask(MultibandFilter): + """Unsharp mask filter. + + See Wikipedia's entry on `digital unsharp masking`_ for an explanation of + the parameters. + + :param radius: Blur Radius + :param percent: Unsharp strength, in percent + :param threshold: Threshold controls the minimum brightness change that + will be sharpened + + .. _digital unsharp masking: https://en.wikipedia.org/wiki/Unsharp_masking#Digital_unsharp_masking + + """ + + name = "UnsharpMask" + + def __init__( + self, radius: float = 2, percent: int = 150, threshold: int = 3 + ) -> None: + self.radius = radius + self.percent = percent + self.threshold = threshold + + def filter(self, image: _imaging.ImagingCore) -> _imaging.ImagingCore: + return image.unsharp_mask(self.radius, self.percent, self.threshold) + + +class BLUR(BuiltinFilter): + name = "Blur" + # fmt: off + filterargs = (5, 5), 16, 0, ( + 1, 1, 1, 1, 1, + 1, 0, 0, 0, 1, + 1, 0, 0, 0, 1, + 1, 0, 0, 0, 1, + 1, 1, 1, 1, 1, + ) + # fmt: on + + +class CONTOUR(BuiltinFilter): + name = "Contour" + # fmt: off + filterargs = (3, 3), 1, 255, ( + -1, -1, -1, + -1, 8, -1, + -1, -1, -1, + ) + # fmt: on + + +class DETAIL(BuiltinFilter): + name = "Detail" + # fmt: off + filterargs = (3, 3), 6, 0, ( + 0, -1, 0, + -1, 10, -1, + 0, -1, 0, + ) + # fmt: on + + +class EDGE_ENHANCE(BuiltinFilter): + name = "Edge-enhance" + # fmt: off + filterargs = (3, 3), 2, 0, ( + -1, -1, -1, + -1, 10, -1, + -1, -1, -1, + ) + # fmt: on + + +class EDGE_ENHANCE_MORE(BuiltinFilter): + name = "Edge-enhance More" + # fmt: off + filterargs = (3, 3), 1, 0, ( + -1, -1, -1, + -1, 9, -1, + -1, -1, -1, + ) + # fmt: on + + +class EMBOSS(BuiltinFilter): + name = "Emboss" + # fmt: off + filterargs = (3, 3), 1, 128, ( + -1, 0, 0, + 0, 1, 0, + 0, 0, 0, + ) + # fmt: on + + +class FIND_EDGES(BuiltinFilter): + name = "Find Edges" + # fmt: off + filterargs = (3, 3), 1, 0, ( + -1, -1, -1, + -1, 8, -1, + -1, -1, -1, + ) + # fmt: on + + +class SHARPEN(BuiltinFilter): + name = "Sharpen" + # fmt: off + filterargs = (3, 3), 16, 0, ( + -2, -2, -2, + -2, 32, -2, + -2, -2, -2, + ) + # fmt: on + + +class SMOOTH(BuiltinFilter): + name = "Smooth" + # fmt: off + filterargs = (3, 3), 13, 0, ( + 1, 1, 1, + 1, 5, 1, + 1, 1, 1, + ) + # fmt: on + + +class SMOOTH_MORE(BuiltinFilter): + name = "Smooth More" + # fmt: off + filterargs = (5, 5), 100, 0, ( + 1, 1, 1, 1, 1, + 1, 5, 5, 5, 1, + 1, 5, 44, 5, 1, + 1, 5, 5, 5, 1, + 1, 1, 1, 1, 1, + ) + # fmt: on + + +class Color3DLUT(MultibandFilter): + """Three-dimensional color lookup table. + + Transforms 3-channel pixels using the values of the channels as coordinates + in the 3D lookup table and interpolating the nearest elements. + + This method allows you to apply almost any color transformation + in constant time by using pre-calculated decimated tables. + + .. versionadded:: 5.2.0 + + :param size: Size of the table. One int or tuple of (int, int, int). + Minimal size in any dimension is 2, maximum is 65. + :param table: Flat lookup table. A list of ``channels * size**3`` + float elements or a list of ``size**3`` channels-sized + tuples with floats. Channels are changed first, + then first dimension, then second, then third. + Value 0.0 corresponds lowest value of output, 1.0 highest. + :param channels: Number of channels in the table. Could be 3 or 4. + Default is 3. + :param target_mode: A mode for the result image. Should have not less + than ``channels`` channels. Default is ``None``, + which means that mode wouldn't be changed. + """ + + name = "Color 3D LUT" + + def __init__( + self, + size: int | tuple[int, int, int], + table: Sequence[float] | Sequence[Sequence[int]] | NumpyArray, + channels: int = 3, + target_mode: str | None = None, + **kwargs: bool, + ) -> None: + if channels not in (3, 4): + msg = "Only 3 or 4 output channels are supported" + raise ValueError(msg) + self.size = size = self._check_size(size) + self.channels = channels + self.mode = target_mode + + # Hidden flag `_copy_table=False` could be used to avoid extra copying + # of the table if the table is specially made for the constructor. + copy_table = kwargs.get("_copy_table", True) + items = size[0] * size[1] * size[2] + wrong_size = False + + numpy: ModuleType | None = None + if hasattr(table, "shape"): + try: + import numpy + except ImportError: + pass + + if numpy and isinstance(table, numpy.ndarray): + numpy_table: NumpyArray = table + if copy_table: + numpy_table = numpy_table.copy() + + if numpy_table.shape in [ + (items * channels,), + (items, channels), + (size[2], size[1], size[0], channels), + ]: + table = numpy_table.reshape(items * channels) + else: + wrong_size = True + + else: + if copy_table: + table = list(table) + + # Convert to a flat list + if table and isinstance(table[0], (list, tuple)): + raw_table = cast(Sequence[Sequence[int]], table) + flat_table: list[int] = [] + for pixel in raw_table: + if len(pixel) != channels: + msg = ( + "The elements of the table should " + f"have a length of {channels}." + ) + raise ValueError(msg) + flat_table.extend(pixel) + table = flat_table + + if wrong_size or len(table) != items * channels: + msg = ( + "The table should have either channels * size**3 float items " + "or size**3 items of channels-sized tuples with floats. " + f"Table should be: {channels}x{size[0]}x{size[1]}x{size[2]}. " + f"Actual length: {len(table)}" + ) + raise ValueError(msg) + self.table = table + + @staticmethod + def _check_size(size: Any) -> tuple[int, int, int]: + try: + _, _, _ = size + except ValueError as e: + msg = "Size should be either an integer or a tuple of three integers." + raise ValueError(msg) from e + except TypeError: + size = (size, size, size) + size = tuple(int(x) for x in size) + for size_1d in size: + if not 2 <= size_1d <= 65: + msg = "Size should be in [2, 65] range." + raise ValueError(msg) + return size + + @classmethod + def generate( + cls, + size: int | tuple[int, int, int], + callback: Callable[[float, float, float], tuple[float, ...]], + channels: int = 3, + target_mode: str | None = None, + ) -> Color3DLUT: + """Generates new LUT using provided callback. + + :param size: Size of the table. Passed to the constructor. + :param callback: Function with three parameters which correspond + three color channels. Will be called ``size**3`` + times with values from 0.0 to 1.0 and should return + a tuple with ``channels`` elements. + :param channels: The number of channels which should return callback. + :param target_mode: Passed to the constructor of the resulting + lookup table. + """ + size_1d, size_2d, size_3d = cls._check_size(size) + if channels not in (3, 4): + msg = "Only 3 or 4 output channels are supported" + raise ValueError(msg) + + table: list[float] = [0] * (size_1d * size_2d * size_3d * channels) + idx_out = 0 + for b in range(size_3d): + for g in range(size_2d): + for r in range(size_1d): + table[idx_out : idx_out + channels] = callback( + r / (size_1d - 1), g / (size_2d - 1), b / (size_3d - 1) + ) + idx_out += channels + + return cls( + (size_1d, size_2d, size_3d), + table, + channels=channels, + target_mode=target_mode, + _copy_table=False, + ) + + def transform( + self, + callback: Callable[..., tuple[float, ...]], + with_normals: bool = False, + channels: int | None = None, + target_mode: str | None = None, + ) -> Color3DLUT: + """Transforms the table values using provided callback and returns + a new LUT with altered values. + + :param callback: A function which takes old lookup table values + and returns a new set of values. The number + of arguments which function should take is + ``self.channels`` or ``3 + self.channels`` + if ``with_normals`` flag is set. + Should return a tuple of ``self.channels`` or + ``channels`` elements if it is set. + :param with_normals: If true, ``callback`` will be called with + coordinates in the color cube as the first + three arguments. Otherwise, ``callback`` + will be called only with actual color values. + :param channels: The number of channels in the resulting lookup table. + :param target_mode: Passed to the constructor of the resulting + lookup table. + """ + if channels not in (None, 3, 4): + msg = "Only 3 or 4 output channels are supported" + raise ValueError(msg) + ch_in = self.channels + ch_out = channels or ch_in + size_1d, size_2d, size_3d = self.size + + table = [0] * (size_1d * size_2d * size_3d * ch_out) + idx_in = 0 + idx_out = 0 + for b in range(size_3d): + for g in range(size_2d): + for r in range(size_1d): + values = self.table[idx_in : idx_in + ch_in] + if with_normals: + values = callback( + r / (size_1d - 1), + g / (size_2d - 1), + b / (size_3d - 1), + *values, + ) + else: + values = callback(*values) + table[idx_out : idx_out + ch_out] = values + idx_in += ch_in + idx_out += ch_out + + return type(self)( + self.size, + table, + channels=ch_out, + target_mode=target_mode or self.mode, + _copy_table=False, + ) + + def __repr__(self) -> str: + r = [ + f"{self.__class__.__name__} from {self.table.__class__.__name__}", + "size={:d}x{:d}x{:d}".format(*self.size), + f"channels={self.channels:d}", + ] + if self.mode: + r.append(f"target_mode={self.mode}") + return "<{}>".format(" ".join(r)) + + def filter(self, image: _imaging.ImagingCore) -> _imaging.ImagingCore: + from . import Image + + return image.color_lut_3d( + self.mode or image.mode, + Image.Resampling.BILINEAR, + self.channels, + self.size[0], + self.size[1], + self.size[2], + self.table, + ) diff --git a/gestao_raul/Lib/site-packages/PIL/ImageFont.py b/gestao_raul/Lib/site-packages/PIL/ImageFont.py new file mode 100644 index 0000000..b694b81 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/ImageFont.py @@ -0,0 +1,1338 @@ +# +# The Python Imaging Library. +# $Id$ +# +# PIL raster font management +# +# History: +# 1996-08-07 fl created (experimental) +# 1997-08-25 fl minor adjustments to handle fonts from pilfont 0.3 +# 1999-02-06 fl rewrote most font management stuff in C +# 1999-03-17 fl take pth files into account in load_path (from Richard Jones) +# 2001-02-17 fl added freetype support +# 2001-05-09 fl added TransposedFont wrapper class +# 2002-03-04 fl make sure we have a "L" or "1" font +# 2002-12-04 fl skip non-directory entries in the system path +# 2003-04-29 fl add embedded default font +# 2003-09-27 fl added support for truetype charmap encodings +# +# Todo: +# Adapt to PILFONT2 format (16-bit fonts, compressed, single file) +# +# Copyright (c) 1997-2003 by Secret Labs AB +# Copyright (c) 1996-2003 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# + +from __future__ import annotations + +import base64 +import os +import sys +import warnings +from enum import IntEnum +from io import BytesIO +from types import ModuleType +from typing import IO, TYPE_CHECKING, Any, BinaryIO, TypedDict, cast + +from . import Image, features +from ._typing import StrOrBytesPath +from ._util import DeferredError, is_path + +if TYPE_CHECKING: + from . import ImageFile + from ._imaging import ImagingFont + from ._imagingft import Font + + +class Axis(TypedDict): + minimum: int | None + default: int | None + maximum: int | None + name: bytes | None + + +class Layout(IntEnum): + BASIC = 0 + RAQM = 1 + + +MAX_STRING_LENGTH = 1_000_000 + + +core: ModuleType | DeferredError +try: + from . import _imagingft as core +except ImportError as ex: + core = DeferredError.new(ex) + + +def _string_length_check(text: str | bytes | bytearray) -> None: + if MAX_STRING_LENGTH is not None and len(text) > MAX_STRING_LENGTH: + msg = "too many characters in string" + raise ValueError(msg) + + +# FIXME: add support for pilfont2 format (see FontFile.py) + +# -------------------------------------------------------------------- +# Font metrics format: +# "PILfont" LF +# fontdescriptor LF +# (optional) key=value... LF +# "DATA" LF +# binary data: 256*10*2 bytes (dx, dy, dstbox, srcbox) +# +# To place a character, cut out srcbox and paste at dstbox, +# relative to the character position. Then move the character +# position according to dx, dy. +# -------------------------------------------------------------------- + + +class ImageFont: + """PIL font wrapper""" + + font: ImagingFont + + def _load_pilfont(self, filename: str) -> None: + with open(filename, "rb") as fp: + image: ImageFile.ImageFile | None = None + root = os.path.splitext(filename)[0] + + for ext in (".png", ".gif", ".pbm"): + if image: + image.close() + try: + fullname = root + ext + image = Image.open(fullname) + except Exception: + pass + else: + if image and image.mode in ("1", "L"): + break + else: + if image: + image.close() + + msg = f"cannot find glyph data file {root}.{{gif|pbm|png}}" + raise OSError(msg) + + self.file = fullname + + self._load_pilfont_data(fp, image) + image.close() + + def _load_pilfont_data(self, file: IO[bytes], image: Image.Image) -> None: + # read PILfont header + if file.readline() != b"PILfont\n": + msg = "Not a PILfont file" + raise SyntaxError(msg) + file.readline().split(b";") + self.info = [] # FIXME: should be a dictionary + while True: + s = file.readline() + if not s or s == b"DATA\n": + break + self.info.append(s) + + # read PILfont metrics + data = file.read(256 * 20) + + # check image + if image.mode not in ("1", "L"): + msg = "invalid font image mode" + raise TypeError(msg) + + image.load() + + self.font = Image.core.font(image.im, data) + + def getmask( + self, text: str | bytes, mode: str = "", *args: Any, **kwargs: Any + ) -> Image.core.ImagingCore: + """ + Create a bitmap for the text. + + If the font uses antialiasing, the bitmap should have mode ``L`` and use a + maximum value of 255. Otherwise, it should have mode ``1``. + + :param text: Text to render. + :param mode: Used by some graphics drivers to indicate what mode the + driver prefers; if empty, the renderer may return either + mode. Note that the mode is always a string, to simplify + C-level implementations. + + .. versionadded:: 1.1.5 + + :return: An internal PIL storage memory instance as defined by the + :py:mod:`PIL.Image.core` interface module. + """ + _string_length_check(text) + Image._decompression_bomb_check(self.font.getsize(text)) + return self.font.getmask(text, mode) + + def getbbox( + self, text: str | bytes | bytearray, *args: Any, **kwargs: Any + ) -> tuple[int, int, int, int]: + """ + Returns bounding box (in pixels) of given text. + + .. versionadded:: 9.2.0 + + :param text: Text to render. + + :return: ``(left, top, right, bottom)`` bounding box + """ + _string_length_check(text) + width, height = self.font.getsize(text) + return 0, 0, width, height + + def getlength( + self, text: str | bytes | bytearray, *args: Any, **kwargs: Any + ) -> int: + """ + Returns length (in pixels) of given text. + This is the amount by which following text should be offset. + + .. versionadded:: 9.2.0 + """ + _string_length_check(text) + width, height = self.font.getsize(text) + return width + + +## +# Wrapper for FreeType fonts. Application code should use the +# truetype factory function to create font objects. + + +class FreeTypeFont: + """FreeType font wrapper (requires _imagingft service)""" + + font: Font + font_bytes: bytes + + def __init__( + self, + font: StrOrBytesPath | BinaryIO, + size: float = 10, + index: int = 0, + encoding: str = "", + layout_engine: Layout | None = None, + ) -> None: + # FIXME: use service provider instead + + if isinstance(core, DeferredError): + raise core.ex + + if size <= 0: + msg = f"font size must be greater than 0, not {size}" + raise ValueError(msg) + + self.path = font + self.size = size + self.index = index + self.encoding = encoding + + try: + from packaging.version import parse as parse_version + except ImportError: + pass + else: + if freetype_version := features.version_module("freetype2"): + if parse_version(freetype_version) < parse_version("2.9.1"): + warnings.warn( + "Support for FreeType 2.9.0 is deprecated and will be removed " + "in Pillow 12 (2025-10-15). Please upgrade to FreeType 2.9.1 " + "or newer, preferably FreeType 2.10.4 which fixes " + "CVE-2020-15999.", + DeprecationWarning, + ) + + if layout_engine not in (Layout.BASIC, Layout.RAQM): + layout_engine = Layout.BASIC + if core.HAVE_RAQM: + layout_engine = Layout.RAQM + elif layout_engine == Layout.RAQM and not core.HAVE_RAQM: + warnings.warn( + "Raqm layout was requested, but Raqm is not available. " + "Falling back to basic layout." + ) + layout_engine = Layout.BASIC + + self.layout_engine = layout_engine + + def load_from_bytes(f: IO[bytes]) -> None: + self.font_bytes = f.read() + self.font = core.getfont( + "", size, index, encoding, self.font_bytes, layout_engine + ) + + if is_path(font): + font = os.path.realpath(os.fspath(font)) + if sys.platform == "win32": + font_bytes_path = font if isinstance(font, bytes) else font.encode() + try: + font_bytes_path.decode("ascii") + except UnicodeDecodeError: + # FreeType cannot load fonts with non-ASCII characters on Windows + # So load it into memory first + with open(font, "rb") as f: + load_from_bytes(f) + return + self.font = core.getfont( + font, size, index, encoding, layout_engine=layout_engine + ) + else: + load_from_bytes(cast(IO[bytes], font)) + + def __getstate__(self) -> list[Any]: + return [self.path, self.size, self.index, self.encoding, self.layout_engine] + + def __setstate__(self, state: list[Any]) -> None: + path, size, index, encoding, layout_engine = state + FreeTypeFont.__init__(self, path, size, index, encoding, layout_engine) + + def getname(self) -> tuple[str | None, str | None]: + """ + :return: A tuple of the font family (e.g. Helvetica) and the font style + (e.g. Bold) + """ + return self.font.family, self.font.style + + def getmetrics(self) -> tuple[int, int]: + """ + :return: A tuple of the font ascent (the distance from the baseline to + the highest outline point) and descent (the distance from the + baseline to the lowest outline point, a negative value) + """ + return self.font.ascent, self.font.descent + + def getlength( + self, + text: str | bytes, + mode: str = "", + direction: str | None = None, + features: list[str] | None = None, + language: str | None = None, + ) -> float: + """ + Returns length (in pixels with 1/64 precision) of given text when rendered + in font with provided direction, features, and language. + + This is the amount by which following text should be offset. + Text bounding box may extend past the length in some fonts, + e.g. when using italics or accents. + + The result is returned as a float; it is a whole number if using basic layout. + + Note that the sum of two lengths may not equal the length of a concatenated + string due to kerning. If you need to adjust for kerning, include the following + character and subtract its length. + + For example, instead of :: + + hello = font.getlength("Hello") + world = font.getlength("World") + hello_world = hello + world # not adjusted for kerning + assert hello_world == font.getlength("HelloWorld") # may fail + + use :: + + hello = font.getlength("HelloW") - font.getlength("W") # adjusted for kerning + world = font.getlength("World") + hello_world = hello + world # adjusted for kerning + assert hello_world == font.getlength("HelloWorld") # True + + or disable kerning with (requires libraqm) :: + + hello = draw.textlength("Hello", font, features=["-kern"]) + world = draw.textlength("World", font, features=["-kern"]) + hello_world = hello + world # kerning is disabled, no need to adjust + assert hello_world == draw.textlength("HelloWorld", font, features=["-kern"]) + + .. versionadded:: 8.0.0 + + :param text: Text to measure. + :param mode: Used by some graphics drivers to indicate what mode the + driver prefers; if empty, the renderer may return either + mode. Note that the mode is always a string, to simplify + C-level implementations. + + :param direction: Direction of the text. It can be 'rtl' (right to + left), 'ltr' (left to right) or 'ttb' (top to bottom). + Requires libraqm. + + :param features: A list of OpenType font features to be used during text + layout. This is usually used to turn on optional + font features that are not enabled by default, + for example 'dlig' or 'ss01', but can be also + used to turn off default font features for + example '-liga' to disable ligatures or '-kern' + to disable kerning. To get all supported + features, see + https://learn.microsoft.com/en-us/typography/opentype/spec/featurelist + Requires libraqm. + + :param language: Language of the text. Different languages may use + different glyph shapes or ligatures. This parameter tells + the font which language the text is in, and to apply the + correct substitutions as appropriate, if available. + It should be a `BCP 47 language code + `_ + Requires libraqm. + + :return: Either width for horizontal text, or height for vertical text. + """ + _string_length_check(text) + return self.font.getlength(text, mode, direction, features, language) / 64 + + def getbbox( + self, + text: str | bytes, + mode: str = "", + direction: str | None = None, + features: list[str] | None = None, + language: str | None = None, + stroke_width: float = 0, + anchor: str | None = None, + ) -> tuple[float, float, float, float]: + """ + Returns bounding box (in pixels) of given text relative to given anchor + when rendered in font with provided direction, features, and language. + + Use :py:meth:`getlength()` to get the offset of following text with + 1/64 pixel precision. The bounding box includes extra margins for + some fonts, e.g. italics or accents. + + .. versionadded:: 8.0.0 + + :param text: Text to render. + :param mode: Used by some graphics drivers to indicate what mode the + driver prefers; if empty, the renderer may return either + mode. Note that the mode is always a string, to simplify + C-level implementations. + + :param direction: Direction of the text. It can be 'rtl' (right to + left), 'ltr' (left to right) or 'ttb' (top to bottom). + Requires libraqm. + + :param features: A list of OpenType font features to be used during text + layout. This is usually used to turn on optional + font features that are not enabled by default, + for example 'dlig' or 'ss01', but can be also + used to turn off default font features for + example '-liga' to disable ligatures or '-kern' + to disable kerning. To get all supported + features, see + https://learn.microsoft.com/en-us/typography/opentype/spec/featurelist + Requires libraqm. + + :param language: Language of the text. Different languages may use + different glyph shapes or ligatures. This parameter tells + the font which language the text is in, and to apply the + correct substitutions as appropriate, if available. + It should be a `BCP 47 language code + `_ + Requires libraqm. + + :param stroke_width: The width of the text stroke. + + :param anchor: The text anchor alignment. Determines the relative location of + the anchor to the text. The default alignment is top left, + specifically ``la`` for horizontal text and ``lt`` for + vertical text. See :ref:`text-anchors` for details. + + :return: ``(left, top, right, bottom)`` bounding box + """ + _string_length_check(text) + size, offset = self.font.getsize( + text, mode, direction, features, language, anchor + ) + left, top = offset[0] - stroke_width, offset[1] - stroke_width + width, height = size[0] + 2 * stroke_width, size[1] + 2 * stroke_width + return left, top, left + width, top + height + + def getmask( + self, + text: str | bytes, + mode: str = "", + direction: str | None = None, + features: list[str] | None = None, + language: str | None = None, + stroke_width: float = 0, + anchor: str | None = None, + ink: int = 0, + start: tuple[float, float] | None = None, + ) -> Image.core.ImagingCore: + """ + Create a bitmap for the text. + + If the font uses antialiasing, the bitmap should have mode ``L`` and use a + maximum value of 255. If the font has embedded color data, the bitmap + should have mode ``RGBA``. Otherwise, it should have mode ``1``. + + :param text: Text to render. + :param mode: Used by some graphics drivers to indicate what mode the + driver prefers; if empty, the renderer may return either + mode. Note that the mode is always a string, to simplify + C-level implementations. + + .. versionadded:: 1.1.5 + + :param direction: Direction of the text. It can be 'rtl' (right to + left), 'ltr' (left to right) or 'ttb' (top to bottom). + Requires libraqm. + + .. versionadded:: 4.2.0 + + :param features: A list of OpenType font features to be used during text + layout. This is usually used to turn on optional + font features that are not enabled by default, + for example 'dlig' or 'ss01', but can be also + used to turn off default font features for + example '-liga' to disable ligatures or '-kern' + to disable kerning. To get all supported + features, see + https://learn.microsoft.com/en-us/typography/opentype/spec/featurelist + Requires libraqm. + + .. versionadded:: 4.2.0 + + :param language: Language of the text. Different languages may use + different glyph shapes or ligatures. This parameter tells + the font which language the text is in, and to apply the + correct substitutions as appropriate, if available. + It should be a `BCP 47 language code + `_ + Requires libraqm. + + .. versionadded:: 6.0.0 + + :param stroke_width: The width of the text stroke. + + .. versionadded:: 6.2.0 + + :param anchor: The text anchor alignment. Determines the relative location of + the anchor to the text. The default alignment is top left, + specifically ``la`` for horizontal text and ``lt`` for + vertical text. See :ref:`text-anchors` for details. + + .. versionadded:: 8.0.0 + + :param ink: Foreground ink for rendering in RGBA mode. + + .. versionadded:: 8.0.0 + + :param start: Tuple of horizontal and vertical offset, as text may render + differently when starting at fractional coordinates. + + .. versionadded:: 9.4.0 + + :return: An internal PIL storage memory instance as defined by the + :py:mod:`PIL.Image.core` interface module. + """ + return self.getmask2( + text, + mode, + direction=direction, + features=features, + language=language, + stroke_width=stroke_width, + anchor=anchor, + ink=ink, + start=start, + )[0] + + def getmask2( + self, + text: str | bytes, + mode: str = "", + direction: str | None = None, + features: list[str] | None = None, + language: str | None = None, + stroke_width: float = 0, + anchor: str | None = None, + ink: int = 0, + start: tuple[float, float] | None = None, + *args: Any, + **kwargs: Any, + ) -> tuple[Image.core.ImagingCore, tuple[int, int]]: + """ + Create a bitmap for the text. + + If the font uses antialiasing, the bitmap should have mode ``L`` and use a + maximum value of 255. If the font has embedded color data, the bitmap + should have mode ``RGBA``. Otherwise, it should have mode ``1``. + + :param text: Text to render. + :param mode: Used by some graphics drivers to indicate what mode the + driver prefers; if empty, the renderer may return either + mode. Note that the mode is always a string, to simplify + C-level implementations. + + .. versionadded:: 1.1.5 + + :param direction: Direction of the text. It can be 'rtl' (right to + left), 'ltr' (left to right) or 'ttb' (top to bottom). + Requires libraqm. + + .. versionadded:: 4.2.0 + + :param features: A list of OpenType font features to be used during text + layout. This is usually used to turn on optional + font features that are not enabled by default, + for example 'dlig' or 'ss01', but can be also + used to turn off default font features for + example '-liga' to disable ligatures or '-kern' + to disable kerning. To get all supported + features, see + https://learn.microsoft.com/en-us/typography/opentype/spec/featurelist + Requires libraqm. + + .. versionadded:: 4.2.0 + + :param language: Language of the text. Different languages may use + different glyph shapes or ligatures. This parameter tells + the font which language the text is in, and to apply the + correct substitutions as appropriate, if available. + It should be a `BCP 47 language code + `_ + Requires libraqm. + + .. versionadded:: 6.0.0 + + :param stroke_width: The width of the text stroke. + + .. versionadded:: 6.2.0 + + :param anchor: The text anchor alignment. Determines the relative location of + the anchor to the text. The default alignment is top left, + specifically ``la`` for horizontal text and ``lt`` for + vertical text. See :ref:`text-anchors` for details. + + .. versionadded:: 8.0.0 + + :param ink: Foreground ink for rendering in RGBA mode. + + .. versionadded:: 8.0.0 + + :param start: Tuple of horizontal and vertical offset, as text may render + differently when starting at fractional coordinates. + + .. versionadded:: 9.4.0 + + :return: A tuple of an internal PIL storage memory instance as defined by the + :py:mod:`PIL.Image.core` interface module, and the text offset, the + gap between the starting coordinate and the first marking + """ + _string_length_check(text) + if start is None: + start = (0, 0) + + def fill(width: int, height: int) -> Image.core.ImagingCore: + size = (width, height) + Image._decompression_bomb_check(size) + return Image.core.fill("RGBA" if mode == "RGBA" else "L", size) + + return self.font.render( + text, + fill, + mode, + direction, + features, + language, + stroke_width, + anchor, + ink, + start[0], + start[1], + ) + + def font_variant( + self, + font: StrOrBytesPath | BinaryIO | None = None, + size: float | None = None, + index: int | None = None, + encoding: str | None = None, + layout_engine: Layout | None = None, + ) -> FreeTypeFont: + """ + Create a copy of this FreeTypeFont object, + using any specified arguments to override the settings. + + Parameters are identical to the parameters used to initialize this + object. + + :return: A FreeTypeFont object. + """ + if font is None: + try: + font = BytesIO(self.font_bytes) + except AttributeError: + font = self.path + return FreeTypeFont( + font=font, + size=self.size if size is None else size, + index=self.index if index is None else index, + encoding=self.encoding if encoding is None else encoding, + layout_engine=layout_engine or self.layout_engine, + ) + + def get_variation_names(self) -> list[bytes]: + """ + :returns: A list of the named styles in a variation font. + :exception OSError: If the font is not a variation font. + """ + try: + names = self.font.getvarnames() + except AttributeError as e: + msg = "FreeType 2.9.1 or greater is required" + raise NotImplementedError(msg) from e + return [name.replace(b"\x00", b"") for name in names] + + def set_variation_by_name(self, name: str | bytes) -> None: + """ + :param name: The name of the style. + :exception OSError: If the font is not a variation font. + """ + names = self.get_variation_names() + if not isinstance(name, bytes): + name = name.encode() + index = names.index(name) + 1 + + if index == getattr(self, "_last_variation_index", None): + # When the same name is set twice in a row, + # there is an 'unknown freetype error' + # https://savannah.nongnu.org/bugs/?56186 + return + self._last_variation_index = index + + self.font.setvarname(index) + + def get_variation_axes(self) -> list[Axis]: + """ + :returns: A list of the axes in a variation font. + :exception OSError: If the font is not a variation font. + """ + try: + axes = self.font.getvaraxes() + except AttributeError as e: + msg = "FreeType 2.9.1 or greater is required" + raise NotImplementedError(msg) from e + for axis in axes: + if axis["name"]: + axis["name"] = axis["name"].replace(b"\x00", b"") + return axes + + def set_variation_by_axes(self, axes: list[float]) -> None: + """ + :param axes: A list of values for each axis. + :exception OSError: If the font is not a variation font. + """ + try: + self.font.setvaraxes(axes) + except AttributeError as e: + msg = "FreeType 2.9.1 or greater is required" + raise NotImplementedError(msg) from e + + +class TransposedFont: + """Wrapper for writing rotated or mirrored text""" + + def __init__( + self, font: ImageFont | FreeTypeFont, orientation: Image.Transpose | None = None + ): + """ + Wrapper that creates a transposed font from any existing font + object. + + :param font: A font object. + :param orientation: An optional orientation. If given, this should + be one of Image.Transpose.FLIP_LEFT_RIGHT, Image.Transpose.FLIP_TOP_BOTTOM, + Image.Transpose.ROTATE_90, Image.Transpose.ROTATE_180, or + Image.Transpose.ROTATE_270. + """ + self.font = font + self.orientation = orientation # any 'transpose' argument, or None + + def getmask( + self, text: str | bytes, mode: str = "", *args: Any, **kwargs: Any + ) -> Image.core.ImagingCore: + im = self.font.getmask(text, mode, *args, **kwargs) + if self.orientation is not None: + return im.transpose(self.orientation) + return im + + def getbbox( + self, text: str | bytes, *args: Any, **kwargs: Any + ) -> tuple[int, int, float, float]: + # TransposedFont doesn't support getmask2, move top-left point to (0, 0) + # this has no effect on ImageFont and simulates anchor="lt" for FreeTypeFont + left, top, right, bottom = self.font.getbbox(text, *args, **kwargs) + width = right - left + height = bottom - top + if self.orientation in (Image.Transpose.ROTATE_90, Image.Transpose.ROTATE_270): + return 0, 0, height, width + return 0, 0, width, height + + def getlength(self, text: str | bytes, *args: Any, **kwargs: Any) -> float: + if self.orientation in (Image.Transpose.ROTATE_90, Image.Transpose.ROTATE_270): + msg = "text length is undefined for text rotated by 90 or 270 degrees" + raise ValueError(msg) + return self.font.getlength(text, *args, **kwargs) + + +def load(filename: str) -> ImageFont: + """ + Load a font file. This function loads a font object from the given + bitmap font file, and returns the corresponding font object. For loading TrueType + or OpenType fonts instead, see :py:func:`~PIL.ImageFont.truetype`. + + :param filename: Name of font file. + :return: A font object. + :exception OSError: If the file could not be read. + """ + f = ImageFont() + f._load_pilfont(filename) + return f + + +def truetype( + font: StrOrBytesPath | BinaryIO, + size: float = 10, + index: int = 0, + encoding: str = "", + layout_engine: Layout | None = None, +) -> FreeTypeFont: + """ + Load a TrueType or OpenType font from a file or file-like object, + and create a font object. This function loads a font object from the given + file or file-like object, and creates a font object for a font of the given + size. For loading bitmap fonts instead, see :py:func:`~PIL.ImageFont.load` + and :py:func:`~PIL.ImageFont.load_path`. + + Pillow uses FreeType to open font files. On Windows, be aware that FreeType + will keep the file open as long as the FreeTypeFont object exists. Windows + limits the number of files that can be open in C at once to 512, so if many + fonts are opened simultaneously and that limit is approached, an + ``OSError`` may be thrown, reporting that FreeType "cannot open resource". + A workaround would be to copy the file(s) into memory, and open that instead. + + This function requires the _imagingft service. + + :param font: A filename or file-like object containing a TrueType font. + If the file is not found in this filename, the loader may also + search in other directories, such as: + + * The :file:`fonts/` directory on Windows, + * :file:`/Library/Fonts/`, :file:`/System/Library/Fonts/` + and :file:`~/Library/Fonts/` on macOS. + * :file:`~/.local/share/fonts`, :file:`/usr/local/share/fonts`, + and :file:`/usr/share/fonts` on Linux; or those specified by + the ``XDG_DATA_HOME`` and ``XDG_DATA_DIRS`` environment variables + for user-installed and system-wide fonts, respectively. + + :param size: The requested size, in pixels. + :param index: Which font face to load (default is first available face). + :param encoding: Which font encoding to use (default is Unicode). Possible + encodings include (see the FreeType documentation for more + information): + + * "unic" (Unicode) + * "symb" (Microsoft Symbol) + * "ADOB" (Adobe Standard) + * "ADBE" (Adobe Expert) + * "ADBC" (Adobe Custom) + * "armn" (Apple Roman) + * "sjis" (Shift JIS) + * "gb " (PRC) + * "big5" + * "wans" (Extended Wansung) + * "joha" (Johab) + * "lat1" (Latin-1) + + This specifies the character set to use. It does not alter the + encoding of any text provided in subsequent operations. + :param layout_engine: Which layout engine to use, if available: + :attr:`.ImageFont.Layout.BASIC` or :attr:`.ImageFont.Layout.RAQM`. + If it is available, Raqm layout will be used by default. + Otherwise, basic layout will be used. + + Raqm layout is recommended for all non-English text. If Raqm layout + is not required, basic layout will have better performance. + + You can check support for Raqm layout using + :py:func:`PIL.features.check_feature` with ``feature="raqm"``. + + .. versionadded:: 4.2.0 + :return: A font object. + :exception OSError: If the file could not be read. + :exception ValueError: If the font size is not greater than zero. + """ + + def freetype(font: StrOrBytesPath | BinaryIO) -> FreeTypeFont: + return FreeTypeFont(font, size, index, encoding, layout_engine) + + try: + return freetype(font) + except OSError: + if not is_path(font): + raise + ttf_filename = os.path.basename(font) + + dirs = [] + if sys.platform == "win32": + # check the windows font repository + # NOTE: must use uppercase WINDIR, to work around bugs in + # 1.5.2's os.environ.get() + windir = os.environ.get("WINDIR") + if windir: + dirs.append(os.path.join(windir, "fonts")) + elif sys.platform in ("linux", "linux2"): + data_home = os.environ.get("XDG_DATA_HOME") + if not data_home: + # The freedesktop spec defines the following default directory for + # when XDG_DATA_HOME is unset or empty. This user-level directory + # takes precedence over system-level directories. + data_home = os.path.expanduser("~/.local/share") + xdg_dirs = [data_home] + + data_dirs = os.environ.get("XDG_DATA_DIRS") + if not data_dirs: + # Similarly, defaults are defined for the system-level directories + data_dirs = "/usr/local/share:/usr/share" + xdg_dirs += data_dirs.split(":") + + dirs += [os.path.join(xdg_dir, "fonts") for xdg_dir in xdg_dirs] + elif sys.platform == "darwin": + dirs += [ + "/Library/Fonts", + "/System/Library/Fonts", + os.path.expanduser("~/Library/Fonts"), + ] + + ext = os.path.splitext(ttf_filename)[1] + first_font_with_a_different_extension = None + for directory in dirs: + for walkroot, walkdir, walkfilenames in os.walk(directory): + for walkfilename in walkfilenames: + if ext and walkfilename == ttf_filename: + return freetype(os.path.join(walkroot, walkfilename)) + elif not ext and os.path.splitext(walkfilename)[0] == ttf_filename: + fontpath = os.path.join(walkroot, walkfilename) + if os.path.splitext(fontpath)[1] == ".ttf": + return freetype(fontpath) + if not ext and first_font_with_a_different_extension is None: + first_font_with_a_different_extension = fontpath + if first_font_with_a_different_extension: + return freetype(first_font_with_a_different_extension) + raise + + +def load_path(filename: str | bytes) -> ImageFont: + """ + Load font file. Same as :py:func:`~PIL.ImageFont.load`, but searches for a + bitmap font along the Python path. + + :param filename: Name of font file. + :return: A font object. + :exception OSError: If the file could not be read. + """ + if not isinstance(filename, str): + filename = filename.decode("utf-8") + for directory in sys.path: + try: + return load(os.path.join(directory, filename)) + except OSError: + pass + msg = f'cannot find font file "{filename}" in sys.path' + if os.path.exists(filename): + msg += f', did you mean ImageFont.load("{filename}") instead?' + + raise OSError(msg) + + +def load_default_imagefont() -> ImageFont: + f = ImageFont() + f._load_pilfont_data( + # courB08 + BytesIO( + base64.b64decode( + b""" +UElMZm9udAo7Ozs7OzsxMDsKREFUQQoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAA//8AAQAAAAAAAAABAAEA +BgAAAAH/+gADAAAAAQAAAAMABgAGAAAAAf/6AAT//QADAAAABgADAAYAAAAA//kABQABAAYAAAAL +AAgABgAAAAD/+AAFAAEACwAAABAACQAGAAAAAP/5AAUAAAAQAAAAFQAHAAYAAP////oABQAAABUA +AAAbAAYABgAAAAH/+QAE//wAGwAAAB4AAwAGAAAAAf/5AAQAAQAeAAAAIQAIAAYAAAAB//kABAAB +ACEAAAAkAAgABgAAAAD/+QAE//0AJAAAACgABAAGAAAAAP/6AAX//wAoAAAALQAFAAYAAAAB//8A +BAACAC0AAAAwAAMABgAAAAD//AAF//0AMAAAADUAAQAGAAAAAf//AAMAAAA1AAAANwABAAYAAAAB +//kABQABADcAAAA7AAgABgAAAAD/+QAFAAAAOwAAAEAABwAGAAAAAP/5AAYAAABAAAAARgAHAAYA +AAAA//kABQAAAEYAAABLAAcABgAAAAD/+QAFAAAASwAAAFAABwAGAAAAAP/5AAYAAABQAAAAVgAH +AAYAAAAA//kABQAAAFYAAABbAAcABgAAAAD/+QAFAAAAWwAAAGAABwAGAAAAAP/5AAUAAABgAAAA +ZQAHAAYAAAAA//kABQAAAGUAAABqAAcABgAAAAD/+QAFAAAAagAAAG8ABwAGAAAAAf/8AAMAAABv +AAAAcQAEAAYAAAAA//wAAwACAHEAAAB0AAYABgAAAAD/+gAE//8AdAAAAHgABQAGAAAAAP/7AAT/ +/gB4AAAAfAADAAYAAAAB//oABf//AHwAAACAAAUABgAAAAD/+gAFAAAAgAAAAIUABgAGAAAAAP/5 +AAYAAQCFAAAAiwAIAAYAAP////oABgAAAIsAAACSAAYABgAA////+gAFAAAAkgAAAJgABgAGAAAA +AP/6AAUAAACYAAAAnQAGAAYAAP////oABQAAAJ0AAACjAAYABgAA////+gAFAAAAowAAAKkABgAG +AAD////6AAUAAACpAAAArwAGAAYAAAAA//oABQAAAK8AAAC0AAYABgAA////+gAGAAAAtAAAALsA +BgAGAAAAAP/6AAQAAAC7AAAAvwAGAAYAAP////oABQAAAL8AAADFAAYABgAA////+gAGAAAAxQAA +AMwABgAGAAD////6AAUAAADMAAAA0gAGAAYAAP////oABQAAANIAAADYAAYABgAA////+gAGAAAA +2AAAAN8ABgAGAAAAAP/6AAUAAADfAAAA5AAGAAYAAP////oABQAAAOQAAADqAAYABgAAAAD/+gAF +AAEA6gAAAO8ABwAGAAD////6AAYAAADvAAAA9gAGAAYAAAAA//oABQAAAPYAAAD7AAYABgAA//// ++gAFAAAA+wAAAQEABgAGAAD////6AAYAAAEBAAABCAAGAAYAAP////oABgAAAQgAAAEPAAYABgAA +////+gAGAAABDwAAARYABgAGAAAAAP/6AAYAAAEWAAABHAAGAAYAAP////oABgAAARwAAAEjAAYA +BgAAAAD/+gAFAAABIwAAASgABgAGAAAAAf/5AAQAAQEoAAABKwAIAAYAAAAA//kABAABASsAAAEv +AAgABgAAAAH/+QAEAAEBLwAAATIACAAGAAAAAP/5AAX//AEyAAABNwADAAYAAAAAAAEABgACATcA +AAE9AAEABgAAAAH/+QAE//wBPQAAAUAAAwAGAAAAAP/7AAYAAAFAAAABRgAFAAYAAP////kABQAA +AUYAAAFMAAcABgAAAAD/+wAFAAABTAAAAVEABQAGAAAAAP/5AAYAAAFRAAABVwAHAAYAAAAA//sA +BQAAAVcAAAFcAAUABgAAAAD/+QAFAAABXAAAAWEABwAGAAAAAP/7AAYAAgFhAAABZwAHAAYAAP// +//kABQAAAWcAAAFtAAcABgAAAAD/+QAGAAABbQAAAXMABwAGAAAAAP/5AAQAAgFzAAABdwAJAAYA +AP////kABgAAAXcAAAF+AAcABgAAAAD/+QAGAAABfgAAAYQABwAGAAD////7AAUAAAGEAAABigAF +AAYAAP////sABQAAAYoAAAGQAAUABgAAAAD/+wAFAAABkAAAAZUABQAGAAD////7AAUAAgGVAAAB +mwAHAAYAAAAA//sABgACAZsAAAGhAAcABgAAAAD/+wAGAAABoQAAAacABQAGAAAAAP/7AAYAAAGn +AAABrQAFAAYAAAAA//kABgAAAa0AAAGzAAcABgAA////+wAGAAABswAAAboABQAGAAD////7AAUA +AAG6AAABwAAFAAYAAP////sABgAAAcAAAAHHAAUABgAAAAD/+wAGAAABxwAAAc0ABQAGAAD////7 +AAYAAgHNAAAB1AAHAAYAAAAA//sABQAAAdQAAAHZAAUABgAAAAH/+QAFAAEB2QAAAd0ACAAGAAAA +Av/6AAMAAQHdAAAB3gAHAAYAAAAA//kABAABAd4AAAHiAAgABgAAAAD/+wAF//0B4gAAAecAAgAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAYAAAAB +//sAAwACAecAAAHpAAcABgAAAAD/+QAFAAEB6QAAAe4ACAAGAAAAAP/5AAYAAAHuAAAB9AAHAAYA +AAAA//oABf//AfQAAAH5AAUABgAAAAD/+QAGAAAB+QAAAf8ABwAGAAAAAv/5AAMAAgH/AAACAAAJ +AAYAAAAA//kABQABAgAAAAIFAAgABgAAAAH/+gAE//sCBQAAAggAAQAGAAAAAP/5AAYAAAIIAAAC +DgAHAAYAAAAB//kABf/+Ag4AAAISAAUABgAA////+wAGAAACEgAAAhkABQAGAAAAAP/7AAX//gIZ +AAACHgADAAYAAAAA//wABf/9Ah4AAAIjAAEABgAAAAD/+QAHAAACIwAAAioABwAGAAAAAP/6AAT/ ++wIqAAACLgABAAYAAAAA//kABP/8Ai4AAAIyAAMABgAAAAD/+gAFAAACMgAAAjcABgAGAAAAAf/5 +AAT//QI3AAACOgAEAAYAAAAB//kABP/9AjoAAAI9AAQABgAAAAL/+QAE//sCPQAAAj8AAgAGAAD/ +///7AAYAAgI/AAACRgAHAAYAAAAA//kABgABAkYAAAJMAAgABgAAAAH//AAD//0CTAAAAk4AAQAG +AAAAAf//AAQAAgJOAAACUQADAAYAAAAB//kABP/9AlEAAAJUAAQABgAAAAH/+QAF//4CVAAAAlgA +BQAGAAD////7AAYAAAJYAAACXwAFAAYAAP////kABgAAAl8AAAJmAAcABgAA////+QAGAAACZgAA +Am0ABwAGAAD////5AAYAAAJtAAACdAAHAAYAAAAA//sABQACAnQAAAJ5AAcABgAA////9wAGAAAC +eQAAAoAACQAGAAD////3AAYAAAKAAAAChwAJAAYAAP////cABgAAAocAAAKOAAkABgAA////9wAG +AAACjgAAApUACQAGAAD////4AAYAAAKVAAACnAAIAAYAAP////cABgAAApwAAAKjAAkABgAA//// ++gAGAAACowAAAqoABgAGAAAAAP/6AAUAAgKqAAACrwAIAAYAAP////cABQAAAq8AAAK1AAkABgAA +////9wAFAAACtQAAArsACQAGAAD////3AAUAAAK7AAACwQAJAAYAAP////gABQAAAsEAAALHAAgA +BgAAAAD/9wAEAAACxwAAAssACQAGAAAAAP/3AAQAAALLAAACzwAJAAYAAAAA//cABAAAAs8AAALT +AAkABgAAAAD/+AAEAAAC0wAAAtcACAAGAAD////6AAUAAALXAAAC3QAGAAYAAP////cABgAAAt0A +AALkAAkABgAAAAD/9wAFAAAC5AAAAukACQAGAAAAAP/3AAUAAALpAAAC7gAJAAYAAAAA//cABQAA +Au4AAALzAAkABgAAAAD/9wAFAAAC8wAAAvgACQAGAAAAAP/4AAUAAAL4AAAC/QAIAAYAAAAA//oA +Bf//Av0AAAMCAAUABgAA////+gAGAAADAgAAAwkABgAGAAD////3AAYAAAMJAAADEAAJAAYAAP// +//cABgAAAxAAAAMXAAkABgAA////9wAGAAADFwAAAx4ACQAGAAD////4AAYAAAAAAAoABwASAAYA +AP////cABgAAAAcACgAOABMABgAA////+gAFAAAADgAKABQAEAAGAAD////6AAYAAAAUAAoAGwAQ +AAYAAAAA//gABgAAABsACgAhABIABgAAAAD/+AAGAAAAIQAKACcAEgAGAAAAAP/4AAYAAAAnAAoA +LQASAAYAAAAA//gABgAAAC0ACgAzABIABgAAAAD/+QAGAAAAMwAKADkAEQAGAAAAAP/3AAYAAAA5 +AAoAPwATAAYAAP////sABQAAAD8ACgBFAA8ABgAAAAD/+wAFAAIARQAKAEoAEQAGAAAAAP/4AAUA +AABKAAoATwASAAYAAAAA//gABQAAAE8ACgBUABIABgAAAAD/+AAFAAAAVAAKAFkAEgAGAAAAAP/5 +AAUAAABZAAoAXgARAAYAAAAA//gABgAAAF4ACgBkABIABgAAAAD/+AAGAAAAZAAKAGoAEgAGAAAA +AP/4AAYAAABqAAoAcAASAAYAAAAA//kABgAAAHAACgB2ABEABgAAAAD/+AAFAAAAdgAKAHsAEgAG +AAD////4AAYAAAB7AAoAggASAAYAAAAA//gABQAAAIIACgCHABIABgAAAAD/+AAFAAAAhwAKAIwA +EgAGAAAAAP/4AAUAAACMAAoAkQASAAYAAAAA//gABQAAAJEACgCWABIABgAAAAD/+QAFAAAAlgAK +AJsAEQAGAAAAAP/6AAX//wCbAAoAoAAPAAYAAAAA//oABQABAKAACgClABEABgAA////+AAGAAAA +pQAKAKwAEgAGAAD////4AAYAAACsAAoAswASAAYAAP////gABgAAALMACgC6ABIABgAA////+QAG +AAAAugAKAMEAEQAGAAD////4AAYAAgDBAAoAyAAUAAYAAP////kABQACAMgACgDOABMABgAA//// ++QAGAAIAzgAKANUAEw== +""" + ) + ), + Image.open( + BytesIO( + base64.b64decode( + b""" +iVBORw0KGgoAAAANSUhEUgAAAx4AAAAUAQAAAAArMtZoAAAEwElEQVR4nABlAJr/AHVE4czCI/4u +Mc4b7vuds/xzjz5/3/7u/n9vMe7vnfH/9++vPn/xyf5zhxzjt8GHw8+2d83u8x27199/nxuQ6Od9 +M43/5z2I+9n9ZtmDBwMQECDRQw/eQIQohJXxpBCNVE6QCCAAAAD//wBlAJr/AgALyj1t/wINwq0g +LeNZUworuN1cjTPIzrTX6ofHWeo3v336qPzfEwRmBnHTtf95/fglZK5N0PDgfRTslpGBvz7LFc4F +IUXBWQGjQ5MGCx34EDFPwXiY4YbYxavpnhHFrk14CDAAAAD//wBlAJr/AgKqRooH2gAgPeggvUAA +Bu2WfgPoAwzRAABAAAAAAACQgLz/3Uv4Gv+gX7BJgDeeGP6AAAD1NMDzKHD7ANWr3loYbxsAD791 +NAADfcoIDyP44K/jv4Y63/Z+t98Ovt+ub4T48LAAAAD//wBlAJr/AuplMlADJAAAAGuAphWpqhMx +in0A/fRvAYBABPgBwBUgABBQ/sYAyv9g0bCHgOLoGAAAAAAAREAAwI7nr0ArYpow7aX8//9LaP/9 +SjdavWA8ePHeBIKB//81/83ndznOaXx379wAAAD//wBlAJr/AqDxW+D3AABAAbUh/QMnbQag/gAY +AYDAAACgtgD/gOqAAAB5IA/8AAAk+n9w0AAA8AAAmFRJuPo27ciC0cD5oeW4E7KA/wD3ECMAn2tt +y8PgwH8AfAxFzC0JzeAMtratAsC/ffwAAAD//wBlAJr/BGKAyCAA4AAAAvgeYTAwHd1kmQF5chkG +ABoMIHcL5xVpTfQbUqzlAAAErwAQBgAAEOClA5D9il08AEh/tUzdCBsXkbgACED+woQg8Si9VeqY +lODCn7lmF6NhnAEYgAAA/NMIAAAAAAD//2JgjLZgVGBg5Pv/Tvpc8hwGBjYGJADjHDrAwPzAjv/H +/Wf3PzCwtzcwHmBgYGcwbZz8wHaCAQMDOwMDQ8MCBgYOC3W7mp+f0w+wHOYxO3OG+e376hsMZjk3 +AAAAAP//YmCMY2A4wMAIN5e5gQETPD6AZisDAwMDgzSDAAPjByiHcQMDAwMDg1nOze1lByRu5/47 +c4859311AYNZzg0AAAAA//9iYGDBYihOIIMuwIjGL39/fwffA8b//xv/P2BPtzzHwCBjUQAAAAD/ +/yLFBrIBAAAA//9i1HhcwdhizX7u8NZNzyLbvT97bfrMf/QHI8evOwcSqGUJAAAA//9iYBB81iSw +pEE170Qrg5MIYydHqwdDQRMrAwcVrQAAAAD//2J4x7j9AAMDn8Q/BgYLBoaiAwwMjPdvMDBYM1Tv +oJodAAAAAP//Yqo/83+dxePWlxl3npsel9lvLfPcqlE9725C+acfVLMEAAAA//9i+s9gwCoaaGMR +evta/58PTEWzr21hufPjA8N+qlnBwAAAAAD//2JiWLci5v1+HmFXDqcnULE/MxgYGBj+f6CaJQAA +AAD//2Ji2FrkY3iYpYC5qDeGgeEMAwPDvwQBBoYvcTwOVLMEAAAA//9isDBgkP///0EOg9z35v// +Gc/eeW7BwPj5+QGZhANUswMAAAD//2JgqGBgYGBgqEMXlvhMPUsAAAAA//8iYDd1AAAAAP//AwDR +w7IkEbzhVQAAAABJRU5ErkJggg== +""" + ) + ) + ), + ) + return f + + +def load_default(size: float | None = None) -> FreeTypeFont | ImageFont: + """If FreeType support is available, load a version of Aileron Regular, + https://dotcolon.net/font/aileron, with a more limited character set. + + Otherwise, load a "better than nothing" font. + + .. versionadded:: 1.1.4 + + :param size: The font size of Aileron Regular. + + .. versionadded:: 10.1.0 + + :return: A font object. + """ + if isinstance(core, ModuleType) or size is not None: + return truetype( + BytesIO( + base64.b64decode( + b""" +AAEAAAAPAIAAAwBwRkZUTYwDlUAAADFoAAAAHEdERUYAqADnAAAo8AAAACRHUE9ThhmITwAAKfgAA +AduR1NVQnHxefoAACkUAAAA4k9TLzJovoHLAAABeAAAAGBjbWFw5lFQMQAAA6gAAAGqZ2FzcP//AA +MAACjoAAAACGdseWYmRXoPAAAGQAAAHfhoZWFkE18ayQAAAPwAAAA2aGhlYQboArEAAAE0AAAAJGh +tdHjjERZ8AAAB2AAAAdBsb2NhuOexrgAABVQAAADqbWF4cAC7AEYAAAFYAAAAIG5hbWUr+h5lAAAk +OAAAA6Jwb3N0D3oPTQAAJ9wAAAEKAAEAAAABGhxJDqIhXw889QALA+gAAAAA0Bqf2QAAAADhCh2h/ +2r/LgOxAyAAAAAIAAIAAAAAAAAAAQAAA8r/GgAAA7j/av9qA7EAAQAAAAAAAAAAAAAAAAAAAHQAAQ +AAAHQAQwAFAAAAAAACAAAAAQABAAAAQAAAAAAAAAADAfoBkAAFAAgCigJYAAAASwKKAlgAAAFeADI +BPgAAAAAFAAAAAAAAAAAAAAcAAAAAAAAAAAAAAABVS1dOAEAAIPsCAwL/GgDIA8oA5iAAAJMAAAAA +AhICsgAAACAAAwH0AAAAAAAAAU0AAADYAAAA8gA5AVMAVgJEAEYCRAA1AuQAKQKOAEAAsAArATsAZ +AE7AB4CMABVAkQAUADc/+EBEgAgANwAJQEv//sCRAApAkQAggJEADwCRAAtAkQAIQJEADkCRAArAk +QAMgJEACwCRAAxANwAJQDc/+ECRABnAkQAUAJEAEQB8wAjA1QANgJ/AB0CcwBkArsALwLFAGQCSwB +kAjcAZALGAC8C2gBkAQgAZAIgADcCYQBkAj8AZANiAGQCzgBkAuEALwJWAGQC3QAvAmsAZAJJADQC +ZAAiAqoAXgJuACADuAAaAnEAGQJFABMCTwAuATMAYgEv//sBJwAiAkQAUAH0ADIBLAApAhMAJAJjA +EoCEQAeAmcAHgIlAB4BIgAVAmcAHgJRAEoA7gA+AOn/8wIKAEoA9wBGA1cASgJRAEoCSgAeAmMASg +JnAB4BSgBKAcsAGAE5ABQCUABCAgIAAQMRAAEB4v/6AgEAAQHOABQBLwBAAPoAYAEvACECRABNA0Y +AJAItAHgBKgAcAkQAUAEsAHQAygAgAi0AOQD3ADYA9wAWAaEANgGhABYCbAAlAYMAeAGDADkA6/9q +AhsAFAIKABUB/QAVAAAAAwAAAAMAAAAcAAEAAAAAAKQAAwABAAAAHAAEAIgAAAAeABAAAwAOAH4Aq +QCrALEAtAC3ALsgGSAdICYgOiBEISL7Av//AAAAIACpAKsAsAC0ALcAuyAYIBwgJiA5IEQhIvsB// +//4/+5/7j/tP+y/7D/reBR4E/gR+A14CzfTwVxAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAEGAAABAAAAAAAAAAECAAAAAgAAAAAAAAAAAAAAAAAAAAEAAAMEBQYHCAkKCwwNDg8QERIT +FBUWFxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMT +U5PUFFSU1RVVldYWVpbXF1eX2BhAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAAA +AAAAAAYnFmAAAAAABlAAAAAAAAAAAAAAAAAAAAAAAAAAAAY2htAAAAAAAAAABrbGlqAAAAAHAAbm9 +ycwBnAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmACYAJgAmAD4AUgCCAMoBCgFO +AVwBcgGIAaYBvAHKAdYB6AH2AgwCIAJKAogCpgLWAw4DIgNkA5wDugPUA+gD/AQQBEYEogS8BPoFJ +gVSBWoFgAWwBcoF1gX6BhQGJAZMBmgGiga0BuIHGgdUB2YHkAeiB8AH3AfyCAoIHAgqCDoITghcCG +oIogjSCPoJKglYCXwJwgnqCgIKKApACl4Klgq8CtwLDAs8C1YLjAuyC9oL7gwMDCYMSAxgDKAMrAz +qDQoNTA1mDYQNoA2uDcAN2g3oDfYODA4iDkoOXA5sDnoOnA7EDvwAAAAFAAAAAAH0ArwAAwAGAAkA +DAAPAAAxESERAxMhExcRASELARETAfT6qv6syKr+jgFUqsiqArz9RAGLAP/+1P8B/v3VAP8BLP4CA +P8AAgA5//IAuQKyAAMACwAANyMDMwIyFhQGIiY0oE4MZk84JCQ4JLQB/v3AJDgkJDgAAgBWAeUBPA +LfAAMABwAAEyMnMxcjJzOmRgpagkYKWgHl+vr6AAAAAAIARgAAAf4CsgAbAB8AAAEHMxUjByM3Iwc +jNyM1MzcjNTM3MwczNzMHMxUrAQczAZgdZXEvOi9bLzovWmYdZXEvOi9bLzovWp9bHlsBn4w429vb +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 +EQQ/BCQvEjQCFQZWFSEWQv40AcxCDiUblhP9uSEAAAAAAAAWAQ4AAQAAAAAAAAATACgAAQAAAAAAA +QAHAEwAAQAAAAAAAgAHAGQAAQAAAAAAAwAaAKIAAQAAAAAABAAHAM0AAQAAAAAABQA8AU8AAQAAAA +AABgAPAawAAQAAAAAACAALAdQAAQAAAAAACQALAfgAAQAAAAAACwAXAjQAAQAAAAAADAAXAnwAAwA +BBAkAAAAmAAAAAwABBAkAAQAOADwAAwABBAkAAgAOAFQAAwABBAkAAwA0AGwAAwABBAkABAAOAL0A +AwABBAkABQB4ANUAAwABBAkABgAeAYwAAwABBAkACAAWAbwAAwABBAkACQAWAeAAAwABBAkACwAuA +gQAAwABBAkADAAuAkwATgBvACAAUgBpAGcAaAB0AHMAIABSAGUAcwBlAHIAdgBlAGQALgAATm8gUm +lnaHRzIFJlc2VydmVkLgAAQQBpAGwAZQByAG8AbgAAQWlsZXJvbgAAUgBlAGcAdQBsAGEAcgAAUmV +ndWxhcgAAMQAuADEAMAAyADsAVQBLAFcATgA7AEEAaQBsAGUAcgBvAG4ALQBSAGUAZwB1AGwAYQBy +AAAxLjEwMjtVS1dOO0FpbGVyb24tUmVndWxhcgAAQQBpAGwAZQByAG8AbgAAQWlsZXJvbgAAVgBlA +HIAcwBpAG8AbgAgADEALgAxADAAMgA7AFAAUwAgADAAMAAxAC4AMQAwADIAOwBoAG8AdABjAG8Abg +B2ACAAMQAuADAALgA3ADAAOwBtAGEAawBlAG8AdABmAC4AbABpAGIAMgAuADUALgA1ADgAMwAyADk +AAFZlcnNpb24gMS4xMDI7UFMgMDAxLjEwMjtob3Rjb252IDEuMC43MDttYWtlb3RmLmxpYjIuNS41 +ODMyOQAAQQBpAGwAZQByAG8AbgAtAFIAZQBnAHUAbABhAHIAAEFpbGVyb24tUmVndWxhcgAAUwBvA +HIAYQAgAFMAYQBnAGEAbgBvAABTb3JhIFNhZ2FubwAAUwBvAHIAYQAgAFMAYQBnAGEAbgBvAABTb3 +JhIFNhZ2FubwAAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGQAbwB0AGMAbwBsAG8AbgAuAG4AZQB0AAB +odHRwOi8vd3d3LmRvdGNvbG9uLm5ldAAAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAGQAbwB0AGMAbwBs +AG8AbgAuAG4AZQB0AABodHRwOi8vd3d3LmRvdGNvbG9uLm5ldAAAAAACAAAAAAAA/4MAMgAAAAAAA +AAAAAAAAAAAAAAAAAAAAHQAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATAB +QAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAA +xADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0A +TgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAIsAqQCDAJMAjQDDAKoAtgC3A +LQAtQCrAL4AvwC8AIwAwADBAAAAAAAB//8AAgABAAAADAAAABwAAAACAAIAAwBxAAEAcgBzAAIABA +AAAAIAAAABAAAACgBMAGYAAkRGTFQADmxhdG4AGgAEAAAAAP//AAEAAAAWAANDQVQgAB5NT0wgABZ +ST00gABYAAP//AAEAAAAA//8AAgAAAAEAAmxpZ2EADmxvY2wAFAAAAAEAAQAAAAEAAAACAAYAEAAG +AAAAAgASADQABAAAAAEATAADAAAAAgAQABYAAQAcAAAAAQABAE8AAQABAGcAAQABAE8AAwAAAAIAE +AAWAAEAHAAAAAEAAQAvAAEAAQBnAAEAAQAvAAEAGgABAAgAAgAGAAwAcwACAE8AcgACAEwAAQABAE +kAAAABAAAACgBGAGAAAkRGTFQADmxhdG4AHAAEAAAAAP//AAIAAAABABYAA0NBVCAAFk1PTCAAFlJ +PTSAAFgAA//8AAgAAAAEAAmNwc3AADmtlcm4AFAAAAAEAAAAAAAEAAQACAAYADgABAAAAAQASAAIA +AAACAB4ANgABAAoABQAFAAoAAgABACQAPQAAAAEAEgAEAAAAAQAMAAEAOP/nAAEAAQAkAAIGigAEA +AAFJAXKABoAGQAA//gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAD/sv+4/+z/7v/MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAD/xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/9T/6AAAAAD/8QAA +ABD/vQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7gAAAAAAAAAAAAAAAAAA//MAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAP/5AAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/gAAD/4AAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//L/9AAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAA/+gAAAAAAAkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/zAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/mAAAAAAAAAAAAAAAAAAD +/4gAA//AAAAAA//YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/+AAAAAAAAP/OAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/zv/qAAAAAP/0AAAACAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/ZAAD/egAA/1kAAAAA/5D/rgAAAAAAAAAAAA +AAAAAAAAAAAAAAAAD/9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAD/8AAA/7b/8P+wAAD/8P/E/98AAAAA/8P/+P/0//oAAAAAAAAAAAAA//gA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+AAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/w//C/9MAAP/SAAD/9wAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAD/yAAA/+kAAAAA//QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9wAAAAD//QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAP/cAAAAAAAAAAAAAAAA/7YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAP/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6AAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAkAFAAEAAAAAQACwAAABcA +BgAAAAAAAAAIAA4AAAAAAAsAEgAAAAAAAAATABkAAwANAAAAAQAJAAAAAAAAAAAAAAAAAAAAGAAAA +AAABwAAAAAAAAAAAAAAFQAFAAAAAAAYABgAAAAUAAAACgAAAAwAAgAPABEAFgAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAEAEQBdAAYAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAcAAAAAAAAABwAAAAAACAAAAAAAAAAAAAcAAAAHAAAAEwAJ +ABUADgAPAAAACwAQAAAAAAAAAAAAAAAAAAUAGAACAAIAAgAAAAIAGAAXAAAAGAAAABYAFgACABYAA +gAWAAAAEQADAAoAFAAMAA0ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEgAGAAEAHgAkAC +YAJwApACoALQAuAC8AMgAzADcAOAA5ADoAPAA9AEUASABOAE8AUgBTAFUAVwBZAFoAWwBcAF0AcwA +AAAAAAQAAAADa3tfFAAAAANAan9kAAAAA4QodoQ== +""" + ) + ), + 10 if size is None else size, + layout_engine=Layout.BASIC, + ) + return load_default_imagefont() diff --git a/gestao_raul/Lib/site-packages/PIL/ImageGrab.py b/gestao_raul/Lib/site-packages/PIL/ImageGrab.py new file mode 100644 index 0000000..e27ca7e --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/ImageGrab.py @@ -0,0 +1,194 @@ +# +# The Python Imaging Library +# $Id$ +# +# screen grabber +# +# History: +# 2001-04-26 fl created +# 2001-09-17 fl use builtin driver, if present +# 2002-11-19 fl added grabclipboard support +# +# Copyright (c) 2001-2002 by Secret Labs AB +# Copyright (c) 2001-2002 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io +import os +import shutil +import subprocess +import sys +import tempfile + +from . import Image + + +def grab( + bbox: tuple[int, int, int, int] | None = None, + include_layered_windows: bool = False, + all_screens: bool = False, + xdisplay: str | None = None, +) -> Image.Image: + im: Image.Image + if xdisplay is None: + if sys.platform == "darwin": + fh, filepath = tempfile.mkstemp(".png") + os.close(fh) + args = ["screencapture"] + if bbox: + left, top, right, bottom = bbox + args += ["-R", f"{left},{top},{right-left},{bottom-top}"] + subprocess.call(args + ["-x", filepath]) + im = Image.open(filepath) + im.load() + os.unlink(filepath) + if bbox: + im_resized = im.resize((right - left, bottom - top)) + im.close() + return im_resized + return im + elif sys.platform == "win32": + offset, size, data = Image.core.grabscreen_win32( + include_layered_windows, all_screens + ) + im = Image.frombytes( + "RGB", + size, + data, + # RGB, 32-bit line padding, origin lower left corner + "raw", + "BGR", + (size[0] * 3 + 3) & -4, + -1, + ) + if bbox: + x0, y0 = offset + left, top, right, bottom = bbox + im = im.crop((left - x0, top - y0, right - x0, bottom - y0)) + return im + # Cast to Optional[str] needed for Windows and macOS. + display_name: str | None = xdisplay + try: + if not Image.core.HAVE_XCB: + msg = "Pillow was built without XCB support" + raise OSError(msg) + size, data = Image.core.grabscreen_x11(display_name) + except OSError: + if ( + display_name is None + and sys.platform not in ("darwin", "win32") + and shutil.which("gnome-screenshot") + ): + fh, filepath = tempfile.mkstemp(".png") + os.close(fh) + subprocess.call(["gnome-screenshot", "-f", filepath]) + im = Image.open(filepath) + im.load() + os.unlink(filepath) + if bbox: + im_cropped = im.crop(bbox) + im.close() + return im_cropped + return im + else: + raise + else: + im = Image.frombytes("RGB", size, data, "raw", "BGRX", size[0] * 4, 1) + if bbox: + im = im.crop(bbox) + return im + + +def grabclipboard() -> Image.Image | list[str] | None: + if sys.platform == "darwin": + fh, filepath = tempfile.mkstemp(".png") + os.close(fh) + commands = [ + 'set theFile to (open for access POSIX file "' + + filepath + + '" with write permission)', + "try", + " write (the clipboard as «class PNGf») to theFile", + "end try", + "close access theFile", + ] + script = ["osascript"] + for command in commands: + script += ["-e", command] + subprocess.call(script) + + im = None + if os.stat(filepath).st_size != 0: + im = Image.open(filepath) + im.load() + os.unlink(filepath) + return im + elif sys.platform == "win32": + fmt, data = Image.core.grabclipboard_win32() + if fmt == "file": # CF_HDROP + import struct + + o = struct.unpack_from("I", data)[0] + if data[16] != 0: + files = data[o:].decode("utf-16le").split("\0") + else: + files = data[o:].decode("mbcs").split("\0") + return files[: files.index("")] + if isinstance(data, bytes): + data = io.BytesIO(data) + if fmt == "png": + from . import PngImagePlugin + + return PngImagePlugin.PngImageFile(data) + elif fmt == "DIB": + from . import BmpImagePlugin + + return BmpImagePlugin.DibImageFile(data) + return None + else: + if os.getenv("WAYLAND_DISPLAY"): + session_type = "wayland" + elif os.getenv("DISPLAY"): + session_type = "x11" + else: # Session type check failed + session_type = None + + if shutil.which("wl-paste") and session_type in ("wayland", None): + args = ["wl-paste", "-t", "image"] + elif shutil.which("xclip") and session_type in ("x11", None): + args = ["xclip", "-selection", "clipboard", "-t", "image/png", "-o"] + else: + msg = "wl-paste or xclip is required for ImageGrab.grabclipboard() on Linux" + raise NotImplementedError(msg) + + p = subprocess.run(args, capture_output=True) + if p.returncode != 0: + err = p.stderr + for silent_error in [ + # wl-paste, when the clipboard is empty + b"Nothing is copied", + # Ubuntu/Debian wl-paste, when the clipboard is empty + b"No selection", + # Ubuntu/Debian wl-paste, when an image isn't available + b"No suitable type of content copied", + # wl-paste or Ubuntu/Debian xclip, when an image isn't available + b" not available", + # xclip, when an image isn't available + b"cannot convert ", + # xclip, when the clipboard isn't initialized + b"xclip: Error: There is no owner for the ", + ]: + if silent_error in err: + return None + msg = f"{args[0]} error" + if err: + msg += f": {err.strip().decode()}" + raise ChildProcessError(msg) + + data = io.BytesIO(p.stdout) + im = Image.open(data) + im.load() + return im diff --git a/gestao_raul/Lib/site-packages/PIL/ImageMath.py b/gestao_raul/Lib/site-packages/PIL/ImageMath.py new file mode 100644 index 0000000..484797f --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/ImageMath.py @@ -0,0 +1,368 @@ +# +# The Python Imaging Library +# $Id$ +# +# a simple math add-on for the Python Imaging Library +# +# History: +# 1999-02-15 fl Original PIL Plus release +# 2005-05-05 fl Simplified and cleaned up for PIL 1.1.6 +# 2005-09-12 fl Fixed int() and float() for Python 2.4.1 +# +# Copyright (c) 1999-2005 by Secret Labs AB +# Copyright (c) 2005 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import builtins +from types import CodeType +from typing import Any, Callable + +from . import Image, _imagingmath +from ._deprecate import deprecate + + +class _Operand: + """Wraps an image operand, providing standard operators""" + + def __init__(self, im: Image.Image): + self.im = im + + def __fixup(self, im1: _Operand | float) -> Image.Image: + # convert image to suitable mode + if isinstance(im1, _Operand): + # argument was an image. + if im1.im.mode in ("1", "L"): + return im1.im.convert("I") + elif im1.im.mode in ("I", "F"): + return im1.im + else: + msg = f"unsupported mode: {im1.im.mode}" + raise ValueError(msg) + else: + # argument was a constant + if isinstance(im1, (int, float)) and self.im.mode in ("1", "L", "I"): + return Image.new("I", self.im.size, im1) + else: + return Image.new("F", self.im.size, im1) + + def apply( + self, + op: str, + im1: _Operand | float, + im2: _Operand | float | None = None, + mode: str | None = None, + ) -> _Operand: + im_1 = self.__fixup(im1) + if im2 is None: + # unary operation + out = Image.new(mode or im_1.mode, im_1.size, None) + try: + op = getattr(_imagingmath, f"{op}_{im_1.mode}") + except AttributeError as e: + msg = f"bad operand type for '{op}'" + raise TypeError(msg) from e + _imagingmath.unop(op, out.getim(), im_1.getim()) + else: + # binary operation + im_2 = self.__fixup(im2) + if im_1.mode != im_2.mode: + # convert both arguments to floating point + if im_1.mode != "F": + im_1 = im_1.convert("F") + if im_2.mode != "F": + im_2 = im_2.convert("F") + if im_1.size != im_2.size: + # crop both arguments to a common size + size = ( + min(im_1.size[0], im_2.size[0]), + min(im_1.size[1], im_2.size[1]), + ) + if im_1.size != size: + im_1 = im_1.crop((0, 0) + size) + if im_2.size != size: + im_2 = im_2.crop((0, 0) + size) + out = Image.new(mode or im_1.mode, im_1.size, None) + try: + op = getattr(_imagingmath, f"{op}_{im_1.mode}") + except AttributeError as e: + msg = f"bad operand type for '{op}'" + raise TypeError(msg) from e + _imagingmath.binop(op, out.getim(), im_1.getim(), im_2.getim()) + return _Operand(out) + + # unary operators + def __bool__(self) -> bool: + # an image is "true" if it contains at least one non-zero pixel + return self.im.getbbox() is not None + + def __abs__(self) -> _Operand: + return self.apply("abs", self) + + def __pos__(self) -> _Operand: + return self + + def __neg__(self) -> _Operand: + return self.apply("neg", self) + + # binary operators + def __add__(self, other: _Operand | float) -> _Operand: + return self.apply("add", self, other) + + def __radd__(self, other: _Operand | float) -> _Operand: + return self.apply("add", other, self) + + def __sub__(self, other: _Operand | float) -> _Operand: + return self.apply("sub", self, other) + + def __rsub__(self, other: _Operand | float) -> _Operand: + return self.apply("sub", other, self) + + def __mul__(self, other: _Operand | float) -> _Operand: + return self.apply("mul", self, other) + + def __rmul__(self, other: _Operand | float) -> _Operand: + return self.apply("mul", other, self) + + def __truediv__(self, other: _Operand | float) -> _Operand: + return self.apply("div", self, other) + + def __rtruediv__(self, other: _Operand | float) -> _Operand: + return self.apply("div", other, self) + + def __mod__(self, other: _Operand | float) -> _Operand: + return self.apply("mod", self, other) + + def __rmod__(self, other: _Operand | float) -> _Operand: + return self.apply("mod", other, self) + + def __pow__(self, other: _Operand | float) -> _Operand: + return self.apply("pow", self, other) + + def __rpow__(self, other: _Operand | float) -> _Operand: + return self.apply("pow", other, self) + + # bitwise + def __invert__(self) -> _Operand: + return self.apply("invert", self) + + def __and__(self, other: _Operand | float) -> _Operand: + return self.apply("and", self, other) + + def __rand__(self, other: _Operand | float) -> _Operand: + return self.apply("and", other, self) + + def __or__(self, other: _Operand | float) -> _Operand: + return self.apply("or", self, other) + + def __ror__(self, other: _Operand | float) -> _Operand: + return self.apply("or", other, self) + + def __xor__(self, other: _Operand | float) -> _Operand: + return self.apply("xor", self, other) + + def __rxor__(self, other: _Operand | float) -> _Operand: + return self.apply("xor", other, self) + + def __lshift__(self, other: _Operand | float) -> _Operand: + return self.apply("lshift", self, other) + + def __rshift__(self, other: _Operand | float) -> _Operand: + return self.apply("rshift", self, other) + + # logical + def __eq__(self, other: _Operand | float) -> _Operand: # type: ignore[override] + return self.apply("eq", self, other) + + def __ne__(self, other: _Operand | float) -> _Operand: # type: ignore[override] + return self.apply("ne", self, other) + + def __lt__(self, other: _Operand | float) -> _Operand: + return self.apply("lt", self, other) + + def __le__(self, other: _Operand | float) -> _Operand: + return self.apply("le", self, other) + + def __gt__(self, other: _Operand | float) -> _Operand: + return self.apply("gt", self, other) + + def __ge__(self, other: _Operand | float) -> _Operand: + return self.apply("ge", self, other) + + +# conversions +def imagemath_int(self: _Operand) -> _Operand: + return _Operand(self.im.convert("I")) + + +def imagemath_float(self: _Operand) -> _Operand: + return _Operand(self.im.convert("F")) + + +# logical +def imagemath_equal(self: _Operand, other: _Operand | float | None) -> _Operand: + return self.apply("eq", self, other, mode="I") + + +def imagemath_notequal(self: _Operand, other: _Operand | float | None) -> _Operand: + return self.apply("ne", self, other, mode="I") + + +def imagemath_min(self: _Operand, other: _Operand | float | None) -> _Operand: + return self.apply("min", self, other) + + +def imagemath_max(self: _Operand, other: _Operand | float | None) -> _Operand: + return self.apply("max", self, other) + + +def imagemath_convert(self: _Operand, mode: str) -> _Operand: + return _Operand(self.im.convert(mode)) + + +ops = { + "int": imagemath_int, + "float": imagemath_float, + "equal": imagemath_equal, + "notequal": imagemath_notequal, + "min": imagemath_min, + "max": imagemath_max, + "convert": imagemath_convert, +} + + +def lambda_eval( + expression: Callable[[dict[str, Any]], Any], + options: dict[str, Any] = {}, + **kw: Any, +) -> Any: + """ + Returns the result of an image function. + + :py:mod:`~PIL.ImageMath` only supports single-layer images. To process multi-band + images, use the :py:meth:`~PIL.Image.Image.split` method or + :py:func:`~PIL.Image.merge` function. + + :param expression: A function that receives a dictionary. + :param options: Values to add to the function's dictionary. Deprecated. + You can instead use one or more keyword arguments. + :param **kw: Values to add to the function's dictionary. + :return: The expression result. This is usually an image object, but can + also be an integer, a floating point value, or a pixel tuple, + depending on the expression. + """ + + if options: + deprecate( + "ImageMath.lambda_eval options", + 12, + "ImageMath.lambda_eval keyword arguments", + ) + + args: dict[str, Any] = ops.copy() + args.update(options) + args.update(kw) + for k, v in args.items(): + if isinstance(v, Image.Image): + args[k] = _Operand(v) + + out = expression(args) + try: + return out.im + except AttributeError: + return out + + +def unsafe_eval( + expression: str, + options: dict[str, Any] = {}, + **kw: Any, +) -> Any: + """ + Evaluates an image expression. This uses Python's ``eval()`` function to process + the expression string, and carries the security risks of doing so. It is not + recommended to process expressions without considering this. + :py:meth:`~lambda_eval` is a more secure alternative. + + :py:mod:`~PIL.ImageMath` only supports single-layer images. To process multi-band + images, use the :py:meth:`~PIL.Image.Image.split` method or + :py:func:`~PIL.Image.merge` function. + + :param expression: A string containing a Python-style expression. + :param options: Values to add to the evaluation context. Deprecated. + You can instead use one or more keyword arguments. + :param **kw: Values to add to the evaluation context. + :return: The evaluated expression. This is usually an image object, but can + also be an integer, a floating point value, or a pixel tuple, + depending on the expression. + """ + + if options: + deprecate( + "ImageMath.unsafe_eval options", + 12, + "ImageMath.unsafe_eval keyword arguments", + ) + + # build execution namespace + args: dict[str, Any] = ops.copy() + for k in list(options.keys()) + list(kw.keys()): + if "__" in k or hasattr(builtins, k): + msg = f"'{k}' not allowed" + raise ValueError(msg) + + args.update(options) + args.update(kw) + for k, v in args.items(): + if isinstance(v, Image.Image): + args[k] = _Operand(v) + + compiled_code = compile(expression, "", "eval") + + def scan(code: CodeType) -> None: + for const in code.co_consts: + if type(const) is type(compiled_code): + scan(const) + + for name in code.co_names: + if name not in args and name != "abs": + msg = f"'{name}' not allowed" + raise ValueError(msg) + + scan(compiled_code) + out = builtins.eval(expression, {"__builtins": {"abs": abs}}, args) + try: + return out.im + except AttributeError: + return out + + +def eval( + expression: str, + _dict: dict[str, Any] = {}, + **kw: Any, +) -> Any: + """ + Evaluates an image expression. + + Deprecated. Use lambda_eval() or unsafe_eval() instead. + + :param expression: A string containing a Python-style expression. + :param _dict: Values to add to the evaluation context. You + can either use a dictionary, or one or more keyword + arguments. + :return: The evaluated expression. This is usually an image object, but can + also be an integer, a floating point value, or a pixel tuple, + depending on the expression. + + .. deprecated:: 10.3.0 + """ + + deprecate( + "ImageMath.eval", + 12, + "ImageMath.lambda_eval or ImageMath.unsafe_eval", + ) + return unsafe_eval(expression, _dict, **kw) diff --git a/gestao_raul/Lib/site-packages/PIL/ImageMode.py b/gestao_raul/Lib/site-packages/PIL/ImageMode.py new file mode 100644 index 0000000..92a08d2 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/ImageMode.py @@ -0,0 +1,92 @@ +# +# The Python Imaging Library. +# $Id$ +# +# standard mode descriptors +# +# History: +# 2006-03-20 fl Added +# +# Copyright (c) 2006 by Secret Labs AB. +# Copyright (c) 2006 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import sys +from functools import lru_cache +from typing import NamedTuple + +from ._deprecate import deprecate + + +class ModeDescriptor(NamedTuple): + """Wrapper for mode strings.""" + + mode: str + bands: tuple[str, ...] + basemode: str + basetype: str + typestr: str + + def __str__(self) -> str: + return self.mode + + +@lru_cache +def getmode(mode: str) -> ModeDescriptor: + """Gets a mode descriptor for the given mode.""" + endian = "<" if sys.byteorder == "little" else ">" + + modes = { + # core modes + # Bits need to be extended to bytes + "1": ("L", "L", ("1",), "|b1"), + "L": ("L", "L", ("L",), "|u1"), + "I": ("L", "I", ("I",), f"{endian}i4"), + "F": ("L", "F", ("F",), f"{endian}f4"), + "P": ("P", "L", ("P",), "|u1"), + "RGB": ("RGB", "L", ("R", "G", "B"), "|u1"), + "RGBX": ("RGB", "L", ("R", "G", "B", "X"), "|u1"), + "RGBA": ("RGB", "L", ("R", "G", "B", "A"), "|u1"), + "CMYK": ("RGB", "L", ("C", "M", "Y", "K"), "|u1"), + "YCbCr": ("RGB", "L", ("Y", "Cb", "Cr"), "|u1"), + # UNDONE - unsigned |u1i1i1 + "LAB": ("RGB", "L", ("L", "A", "B"), "|u1"), + "HSV": ("RGB", "L", ("H", "S", "V"), "|u1"), + # extra experimental modes + "RGBa": ("RGB", "L", ("R", "G", "B", "a"), "|u1"), + "BGR;15": ("RGB", "L", ("B", "G", "R"), "|u1"), + "BGR;16": ("RGB", "L", ("B", "G", "R"), "|u1"), + "BGR;24": ("RGB", "L", ("B", "G", "R"), "|u1"), + "LA": ("L", "L", ("L", "A"), "|u1"), + "La": ("L", "L", ("L", "a"), "|u1"), + "PA": ("RGB", "L", ("P", "A"), "|u1"), + } + if mode in modes: + if mode in ("BGR;15", "BGR;16", "BGR;24"): + deprecate(mode, 12) + base_mode, base_type, bands, type_str = modes[mode] + return ModeDescriptor(mode, bands, base_mode, base_type, type_str) + + mapping_modes = { + # I;16 == I;16L, and I;32 == I;32L + "I;16": "u2", + "I;16BS": ">i2", + "I;16N": f"{endian}u2", + "I;16NS": f"{endian}i2", + "I;32": "u4", + "I;32L": "i4", + "I;32LS": " +from __future__ import annotations + +import re + +from . import Image, _imagingmorph + +LUT_SIZE = 1 << 9 + +# fmt: off +ROTATION_MATRIX = [ + 6, 3, 0, + 7, 4, 1, + 8, 5, 2, +] +MIRROR_MATRIX = [ + 2, 1, 0, + 5, 4, 3, + 8, 7, 6, +] +# fmt: on + + +class LutBuilder: + """A class for building a MorphLut from a descriptive language + + The input patterns is a list of a strings sequences like these:: + + 4:(... + .1. + 111)->1 + + (whitespaces including linebreaks are ignored). The option 4 + describes a series of symmetry operations (in this case a + 4-rotation), the pattern is described by: + + - . or X - Ignore + - 1 - Pixel is on + - 0 - Pixel is off + + The result of the operation is described after "->" string. + + The default is to return the current pixel value, which is + returned if no other match is found. + + Operations: + + - 4 - 4 way rotation + - N - Negate + - 1 - Dummy op for no other operation (an op must always be given) + - M - Mirroring + + Example:: + + lb = LutBuilder(patterns = ["4:(... .1. 111)->1"]) + lut = lb.build_lut() + + """ + + def __init__( + self, patterns: list[str] | None = None, op_name: str | None = None + ) -> None: + if patterns is not None: + self.patterns = patterns + else: + self.patterns = [] + self.lut: bytearray | None = None + if op_name is not None: + known_patterns = { + "corner": ["1:(... ... ...)->0", "4:(00. 01. ...)->1"], + "dilation4": ["4:(... .0. .1.)->1"], + "dilation8": ["4:(... .0. .1.)->1", "4:(... .0. ..1)->1"], + "erosion4": ["4:(... .1. .0.)->0"], + "erosion8": ["4:(... .1. .0.)->0", "4:(... .1. ..0)->0"], + "edge": [ + "1:(... ... ...)->0", + "4:(.0. .1. ...)->1", + "4:(01. .1. ...)->1", + ], + } + if op_name not in known_patterns: + msg = f"Unknown pattern {op_name}!" + raise Exception(msg) + + self.patterns = known_patterns[op_name] + + def add_patterns(self, patterns: list[str]) -> None: + self.patterns += patterns + + def build_default_lut(self) -> None: + symbols = [0, 1] + m = 1 << 4 # pos of current pixel + self.lut = bytearray(symbols[(i & m) > 0] for i in range(LUT_SIZE)) + + def get_lut(self) -> bytearray | None: + return self.lut + + def _string_permute(self, pattern: str, permutation: list[int]) -> str: + """string_permute takes a pattern and a permutation and returns the + string permuted according to the permutation list. + """ + assert len(permutation) == 9 + return "".join(pattern[p] for p in permutation) + + def _pattern_permute( + self, basic_pattern: str, options: str, basic_result: int + ) -> list[tuple[str, int]]: + """pattern_permute takes a basic pattern and its result and clones + the pattern according to the modifications described in the $options + parameter. It returns a list of all cloned patterns.""" + patterns = [(basic_pattern, basic_result)] + + # rotations + if "4" in options: + res = patterns[-1][1] + for i in range(4): + patterns.append( + (self._string_permute(patterns[-1][0], ROTATION_MATRIX), res) + ) + # mirror + if "M" in options: + n = len(patterns) + for pattern, res in patterns[:n]: + patterns.append((self._string_permute(pattern, MIRROR_MATRIX), res)) + + # negate + if "N" in options: + n = len(patterns) + for pattern, res in patterns[:n]: + # Swap 0 and 1 + pattern = pattern.replace("0", "Z").replace("1", "0").replace("Z", "1") + res = 1 - int(res) + patterns.append((pattern, res)) + + return patterns + + def build_lut(self) -> bytearray: + """Compile all patterns into a morphology lut. + + TBD :Build based on (file) morphlut:modify_lut + """ + self.build_default_lut() + assert self.lut is not None + patterns = [] + + # Parse and create symmetries of the patterns strings + for p in self.patterns: + m = re.search(r"(\w*):?\s*\((.+?)\)\s*->\s*(\d)", p.replace("\n", "")) + if not m: + msg = 'Syntax error in pattern "' + p + '"' + raise Exception(msg) + options = m.group(1) + pattern = m.group(2) + result = int(m.group(3)) + + # Get rid of spaces + pattern = pattern.replace(" ", "").replace("\n", "") + + patterns += self._pattern_permute(pattern, options, result) + + # compile the patterns into regular expressions for speed + compiled_patterns = [] + for pattern in patterns: + p = pattern[0].replace(".", "X").replace("X", "[01]") + compiled_patterns.append((re.compile(p), pattern[1])) + + # Step through table and find patterns that match. + # Note that all the patterns are searched. The last one + # caught overrides + for i in range(LUT_SIZE): + # Build the bit pattern + bitpattern = bin(i)[2:] + bitpattern = ("0" * (9 - len(bitpattern)) + bitpattern)[::-1] + + for pattern, r in compiled_patterns: + if pattern.match(bitpattern): + self.lut[i] = [0, 1][r] + + return self.lut + + +class MorphOp: + """A class for binary morphological operators""" + + def __init__( + self, + lut: bytearray | None = None, + op_name: str | None = None, + patterns: list[str] | None = None, + ) -> None: + """Create a binary morphological operator""" + self.lut = lut + if op_name is not None: + self.lut = LutBuilder(op_name=op_name).build_lut() + elif patterns is not None: + self.lut = LutBuilder(patterns=patterns).build_lut() + + def apply(self, image: Image.Image) -> tuple[int, Image.Image]: + """Run a single morphological operation on an image + + Returns a tuple of the number of changed pixels and the + morphed image""" + if self.lut is None: + msg = "No operator loaded" + raise Exception(msg) + + if image.mode != "L": + msg = "Image mode must be L" + raise ValueError(msg) + outimage = Image.new(image.mode, image.size, None) + count = _imagingmorph.apply(bytes(self.lut), image.getim(), outimage.getim()) + return count, outimage + + def match(self, image: Image.Image) -> list[tuple[int, int]]: + """Get a list of coordinates matching the morphological operation on + an image. + + Returns a list of tuples of (x,y) coordinates + of all matching pixels. See :ref:`coordinate-system`.""" + if self.lut is None: + msg = "No operator loaded" + raise Exception(msg) + + if image.mode != "L": + msg = "Image mode must be L" + raise ValueError(msg) + return _imagingmorph.match(bytes(self.lut), image.getim()) + + def get_on_pixels(self, image: Image.Image) -> list[tuple[int, int]]: + """Get a list of all turned on pixels in a binary image + + Returns a list of tuples of (x,y) coordinates + of all matching pixels. See :ref:`coordinate-system`.""" + + if image.mode != "L": + msg = "Image mode must be L" + raise ValueError(msg) + return _imagingmorph.get_on_pixels(image.getim()) + + def load_lut(self, filename: str) -> None: + """Load an operator from an mrl file""" + with open(filename, "rb") as f: + self.lut = bytearray(f.read()) + + if len(self.lut) != LUT_SIZE: + self.lut = None + msg = "Wrong size operator file!" + raise Exception(msg) + + def save_lut(self, filename: str) -> None: + """Save an operator to an mrl file""" + if self.lut is None: + msg = "No operator loaded" + raise Exception(msg) + with open(filename, "wb") as f: + f.write(self.lut) + + def set_lut(self, lut: bytearray | None) -> None: + """Set the lut from an external source""" + self.lut = lut diff --git a/gestao_raul/Lib/site-packages/PIL/ImageOps.py b/gestao_raul/Lib/site-packages/PIL/ImageOps.py new file mode 100644 index 0000000..44aad0c --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/ImageOps.py @@ -0,0 +1,730 @@ +# +# The Python Imaging Library. +# $Id$ +# +# standard image operations +# +# History: +# 2001-10-20 fl Created +# 2001-10-23 fl Added autocontrast operator +# 2001-12-18 fl Added Kevin's fit operator +# 2004-03-14 fl Fixed potential division by zero in equalize +# 2005-05-05 fl Fixed equalize for low number of values +# +# Copyright (c) 2001-2004 by Secret Labs AB +# Copyright (c) 2001-2004 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import functools +import operator +import re +from collections.abc import Sequence +from typing import Protocol, cast + +from . import ExifTags, Image, ImagePalette + +# +# helpers + + +def _border(border: int | tuple[int, ...]) -> tuple[int, int, int, int]: + if isinstance(border, tuple): + if len(border) == 2: + left, top = right, bottom = border + elif len(border) == 4: + left, top, right, bottom = border + else: + left = top = right = bottom = border + return left, top, right, bottom + + +def _color(color: str | int | tuple[int, ...], mode: str) -> int | tuple[int, ...]: + if isinstance(color, str): + from . import ImageColor + + color = ImageColor.getcolor(color, mode) + return color + + +def _lut(image: Image.Image, lut: list[int]) -> Image.Image: + if image.mode == "P": + # FIXME: apply to lookup table, not image data + msg = "mode P support coming soon" + raise NotImplementedError(msg) + elif image.mode in ("L", "RGB"): + if image.mode == "RGB" and len(lut) == 256: + lut = lut + lut + lut + return image.point(lut) + else: + msg = f"not supported for mode {image.mode}" + raise OSError(msg) + + +# +# actions + + +def autocontrast( + image: Image.Image, + cutoff: float | tuple[float, float] = 0, + ignore: int | Sequence[int] | None = None, + mask: Image.Image | None = None, + preserve_tone: bool = False, +) -> Image.Image: + """ + Maximize (normalize) image contrast. This function calculates a + histogram of the input image (or mask region), removes ``cutoff`` percent of the + lightest and darkest pixels from the histogram, and remaps the image + so that the darkest pixel becomes black (0), and the lightest + becomes white (255). + + :param image: The image to process. + :param cutoff: The percent to cut off from the histogram on the low and + high ends. Either a tuple of (low, high), or a single + number for both. + :param ignore: The background pixel value (use None for no background). + :param mask: Histogram used in contrast operation is computed using pixels + within the mask. If no mask is given the entire image is used + for histogram computation. + :param preserve_tone: Preserve image tone in Photoshop-like style autocontrast. + + .. versionadded:: 8.2.0 + + :return: An image. + """ + if preserve_tone: + histogram = image.convert("L").histogram(mask) + else: + histogram = image.histogram(mask) + + lut = [] + for layer in range(0, len(histogram), 256): + h = histogram[layer : layer + 256] + if ignore is not None: + # get rid of outliers + if isinstance(ignore, int): + h[ignore] = 0 + else: + for ix in ignore: + h[ix] = 0 + if cutoff: + # cut off pixels from both ends of the histogram + if not isinstance(cutoff, tuple): + cutoff = (cutoff, cutoff) + # get number of pixels + n = 0 + for ix in range(256): + n = n + h[ix] + # remove cutoff% pixels from the low end + cut = int(n * cutoff[0] // 100) + for lo in range(256): + if cut > h[lo]: + cut = cut - h[lo] + h[lo] = 0 + else: + h[lo] -= cut + cut = 0 + if cut <= 0: + break + # remove cutoff% samples from the high end + cut = int(n * cutoff[1] // 100) + for hi in range(255, -1, -1): + if cut > h[hi]: + cut = cut - h[hi] + h[hi] = 0 + else: + h[hi] -= cut + cut = 0 + if cut <= 0: + break + # find lowest/highest samples after preprocessing + for lo in range(256): + if h[lo]: + break + for hi in range(255, -1, -1): + if h[hi]: + break + if hi <= lo: + # don't bother + lut.extend(list(range(256))) + else: + scale = 255.0 / (hi - lo) + offset = -lo * scale + for ix in range(256): + ix = int(ix * scale + offset) + if ix < 0: + ix = 0 + elif ix > 255: + ix = 255 + lut.append(ix) + return _lut(image, lut) + + +def colorize( + image: Image.Image, + black: str | tuple[int, ...], + white: str | tuple[int, ...], + mid: str | int | tuple[int, ...] | None = None, + blackpoint: int = 0, + whitepoint: int = 255, + midpoint: int = 127, +) -> Image.Image: + """ + Colorize grayscale image. + This function calculates a color wedge which maps all black pixels in + the source image to the first color and all white pixels to the + second color. If ``mid`` is specified, it uses three-color mapping. + The ``black`` and ``white`` arguments should be RGB tuples or color names; + optionally you can use three-color mapping by also specifying ``mid``. + Mapping positions for any of the colors can be specified + (e.g. ``blackpoint``), where these parameters are the integer + value corresponding to where the corresponding color should be mapped. + These parameters must have logical order, such that + ``blackpoint <= midpoint <= whitepoint`` (if ``mid`` is specified). + + :param image: The image to colorize. + :param black: The color to use for black input pixels. + :param white: The color to use for white input pixels. + :param mid: The color to use for midtone input pixels. + :param blackpoint: an int value [0, 255] for the black mapping. + :param whitepoint: an int value [0, 255] for the white mapping. + :param midpoint: an int value [0, 255] for the midtone mapping. + :return: An image. + """ + + # Initial asserts + assert image.mode == "L" + if mid is None: + assert 0 <= blackpoint <= whitepoint <= 255 + else: + assert 0 <= blackpoint <= midpoint <= whitepoint <= 255 + + # Define colors from arguments + rgb_black = cast(Sequence[int], _color(black, "RGB")) + rgb_white = cast(Sequence[int], _color(white, "RGB")) + rgb_mid = cast(Sequence[int], _color(mid, "RGB")) if mid is not None else None + + # Empty lists for the mapping + red = [] + green = [] + blue = [] + + # Create the low-end values + for i in range(0, blackpoint): + red.append(rgb_black[0]) + green.append(rgb_black[1]) + blue.append(rgb_black[2]) + + # Create the mapping (2-color) + if rgb_mid is None: + range_map = range(0, whitepoint - blackpoint) + + for i in range_map: + red.append( + rgb_black[0] + i * (rgb_white[0] - rgb_black[0]) // len(range_map) + ) + green.append( + rgb_black[1] + i * (rgb_white[1] - rgb_black[1]) // len(range_map) + ) + blue.append( + rgb_black[2] + i * (rgb_white[2] - rgb_black[2]) // len(range_map) + ) + + # Create the mapping (3-color) + else: + range_map1 = range(0, midpoint - blackpoint) + range_map2 = range(0, whitepoint - midpoint) + + for i in range_map1: + red.append( + rgb_black[0] + i * (rgb_mid[0] - rgb_black[0]) // len(range_map1) + ) + green.append( + rgb_black[1] + i * (rgb_mid[1] - rgb_black[1]) // len(range_map1) + ) + blue.append( + rgb_black[2] + i * (rgb_mid[2] - rgb_black[2]) // len(range_map1) + ) + for i in range_map2: + red.append(rgb_mid[0] + i * (rgb_white[0] - rgb_mid[0]) // len(range_map2)) + green.append( + rgb_mid[1] + i * (rgb_white[1] - rgb_mid[1]) // len(range_map2) + ) + blue.append(rgb_mid[2] + i * (rgb_white[2] - rgb_mid[2]) // len(range_map2)) + + # Create the high-end values + for i in range(0, 256 - whitepoint): + red.append(rgb_white[0]) + green.append(rgb_white[1]) + blue.append(rgb_white[2]) + + # Return converted image + image = image.convert("RGB") + return _lut(image, red + green + blue) + + +def contain( + image: Image.Image, size: tuple[int, int], method: int = Image.Resampling.BICUBIC +) -> Image.Image: + """ + Returns a resized version of the image, set to the maximum width and height + within the requested size, while maintaining the original aspect ratio. + + :param image: The image to resize. + :param size: The requested output size in pixels, given as a + (width, height) tuple. + :param method: Resampling method to use. Default is + :py:attr:`~PIL.Image.Resampling.BICUBIC`. + See :ref:`concept-filters`. + :return: An image. + """ + + im_ratio = image.width / image.height + dest_ratio = size[0] / size[1] + + if im_ratio != dest_ratio: + if im_ratio > dest_ratio: + new_height = round(image.height / image.width * size[0]) + if new_height != size[1]: + size = (size[0], new_height) + else: + new_width = round(image.width / image.height * size[1]) + if new_width != size[0]: + size = (new_width, size[1]) + return image.resize(size, resample=method) + + +def cover( + image: Image.Image, size: tuple[int, int], method: int = Image.Resampling.BICUBIC +) -> Image.Image: + """ + Returns a resized version of the image, so that the requested size is + covered, while maintaining the original aspect ratio. + + :param image: The image to resize. + :param size: The requested output size in pixels, given as a + (width, height) tuple. + :param method: Resampling method to use. Default is + :py:attr:`~PIL.Image.Resampling.BICUBIC`. + See :ref:`concept-filters`. + :return: An image. + """ + + im_ratio = image.width / image.height + dest_ratio = size[0] / size[1] + + if im_ratio != dest_ratio: + if im_ratio < dest_ratio: + new_height = round(image.height / image.width * size[0]) + if new_height != size[1]: + size = (size[0], new_height) + else: + new_width = round(image.width / image.height * size[1]) + if new_width != size[0]: + size = (new_width, size[1]) + return image.resize(size, resample=method) + + +def pad( + image: Image.Image, + size: tuple[int, int], + method: int = Image.Resampling.BICUBIC, + color: str | int | tuple[int, ...] | None = None, + centering: tuple[float, float] = (0.5, 0.5), +) -> Image.Image: + """ + Returns a resized and padded version of the image, expanded to fill the + requested aspect ratio and size. + + :param image: The image to resize and crop. + :param size: The requested output size in pixels, given as a + (width, height) tuple. + :param method: Resampling method to use. Default is + :py:attr:`~PIL.Image.Resampling.BICUBIC`. + See :ref:`concept-filters`. + :param color: The background color of the padded image. + :param centering: Control the position of the original image within the + padded version. + + (0.5, 0.5) will keep the image centered + (0, 0) will keep the image aligned to the top left + (1, 1) will keep the image aligned to the bottom + right + :return: An image. + """ + + resized = contain(image, size, method) + if resized.size == size: + out = resized + else: + out = Image.new(image.mode, size, color) + if resized.palette: + palette = resized.getpalette() + if palette is not None: + out.putpalette(palette) + if resized.width != size[0]: + x = round((size[0] - resized.width) * max(0, min(centering[0], 1))) + out.paste(resized, (x, 0)) + else: + y = round((size[1] - resized.height) * max(0, min(centering[1], 1))) + out.paste(resized, (0, y)) + return out + + +def crop(image: Image.Image, border: int = 0) -> Image.Image: + """ + Remove border from image. The same amount of pixels are removed + from all four sides. This function works on all image modes. + + .. seealso:: :py:meth:`~PIL.Image.Image.crop` + + :param image: The image to crop. + :param border: The number of pixels to remove. + :return: An image. + """ + left, top, right, bottom = _border(border) + return image.crop((left, top, image.size[0] - right, image.size[1] - bottom)) + + +def scale( + image: Image.Image, factor: float, resample: int = Image.Resampling.BICUBIC +) -> Image.Image: + """ + Returns a rescaled image by a specific factor given in parameter. + A factor greater than 1 expands the image, between 0 and 1 contracts the + image. + + :param image: The image to rescale. + :param factor: The expansion factor, as a float. + :param resample: Resampling method to use. Default is + :py:attr:`~PIL.Image.Resampling.BICUBIC`. + See :ref:`concept-filters`. + :returns: An :py:class:`~PIL.Image.Image` object. + """ + if factor == 1: + return image.copy() + elif factor <= 0: + msg = "the factor must be greater than 0" + raise ValueError(msg) + else: + size = (round(factor * image.width), round(factor * image.height)) + return image.resize(size, resample) + + +class SupportsGetMesh(Protocol): + """ + An object that supports the ``getmesh`` method, taking an image as an + argument, and returning a list of tuples. Each tuple contains two tuples, + the source box as a tuple of 4 integers, and a tuple of 8 integers for the + final quadrilateral, in order of top left, bottom left, bottom right, top + right. + """ + + def getmesh( + self, image: Image.Image + ) -> list[ + tuple[tuple[int, int, int, int], tuple[int, int, int, int, int, int, int, int]] + ]: ... + + +def deform( + image: Image.Image, + deformer: SupportsGetMesh, + resample: int = Image.Resampling.BILINEAR, +) -> Image.Image: + """ + Deform the image. + + :param image: The image to deform. + :param deformer: A deformer object. Any object that implements a + ``getmesh`` method can be used. + :param resample: An optional resampling filter. Same values possible as + in the PIL.Image.transform function. + :return: An image. + """ + return image.transform( + image.size, Image.Transform.MESH, deformer.getmesh(image), resample + ) + + +def equalize(image: Image.Image, mask: Image.Image | None = None) -> Image.Image: + """ + Equalize the image histogram. This function applies a non-linear + mapping to the input image, in order to create a uniform + distribution of grayscale values in the output image. + + :param image: The image to equalize. + :param mask: An optional mask. If given, only the pixels selected by + the mask are included in the analysis. + :return: An image. + """ + if image.mode == "P": + image = image.convert("RGB") + h = image.histogram(mask) + lut = [] + for b in range(0, len(h), 256): + histo = [_f for _f in h[b : b + 256] if _f] + if len(histo) <= 1: + lut.extend(list(range(256))) + else: + step = (functools.reduce(operator.add, histo) - histo[-1]) // 255 + if not step: + lut.extend(list(range(256))) + else: + n = step // 2 + for i in range(256): + lut.append(n // step) + n = n + h[i + b] + return _lut(image, lut) + + +def expand( + image: Image.Image, + border: int | tuple[int, ...] = 0, + fill: str | int | tuple[int, ...] = 0, +) -> Image.Image: + """ + Add border to the image + + :param image: The image to expand. + :param border: Border width, in pixels. + :param fill: Pixel fill value (a color value). Default is 0 (black). + :return: An image. + """ + left, top, right, bottom = _border(border) + width = left + image.size[0] + right + height = top + image.size[1] + bottom + color = _color(fill, image.mode) + if image.palette: + palette = ImagePalette.ImagePalette(palette=image.getpalette()) + if isinstance(color, tuple) and (len(color) == 3 or len(color) == 4): + color = palette.getcolor(color) + else: + palette = None + out = Image.new(image.mode, (width, height), color) + if palette: + out.putpalette(palette.palette) + out.paste(image, (left, top)) + return out + + +def fit( + image: Image.Image, + size: tuple[int, int], + method: int = Image.Resampling.BICUBIC, + bleed: float = 0.0, + centering: tuple[float, float] = (0.5, 0.5), +) -> Image.Image: + """ + Returns a resized and cropped version of the image, cropped to the + requested aspect ratio and size. + + This function was contributed by Kevin Cazabon. + + :param image: The image to resize and crop. + :param size: The requested output size in pixels, given as a + (width, height) tuple. + :param method: Resampling method to use. Default is + :py:attr:`~PIL.Image.Resampling.BICUBIC`. + See :ref:`concept-filters`. + :param bleed: Remove a border around the outside of the image from all + four edges. The value is a decimal percentage (use 0.01 for + one percent). The default value is 0 (no border). + Cannot be greater than or equal to 0.5. + :param centering: Control the cropping position. Use (0.5, 0.5) for + center cropping (e.g. if cropping the width, take 50% off + of the left side, and therefore 50% off the right side). + (0.0, 0.0) will crop from the top left corner (i.e. if + cropping the width, take all of the crop off of the right + side, and if cropping the height, take all of it off the + bottom). (1.0, 0.0) will crop from the bottom left + corner, etc. (i.e. if cropping the width, take all of the + crop off the left side, and if cropping the height take + none from the top, and therefore all off the bottom). + :return: An image. + """ + + # by Kevin Cazabon, Feb 17/2000 + # kevin@cazabon.com + # https://www.cazabon.com + + centering_x, centering_y = centering + + if not 0.0 <= centering_x <= 1.0: + centering_x = 0.5 + if not 0.0 <= centering_y <= 1.0: + centering_y = 0.5 + + if not 0.0 <= bleed < 0.5: + bleed = 0.0 + + # calculate the area to use for resizing and cropping, subtracting + # the 'bleed' around the edges + + # number of pixels to trim off on Top and Bottom, Left and Right + bleed_pixels = (bleed * image.size[0], bleed * image.size[1]) + + live_size = ( + image.size[0] - bleed_pixels[0] * 2, + image.size[1] - bleed_pixels[1] * 2, + ) + + # calculate the aspect ratio of the live_size + live_size_ratio = live_size[0] / live_size[1] + + # calculate the aspect ratio of the output image + output_ratio = size[0] / size[1] + + # figure out if the sides or top/bottom will be cropped off + if live_size_ratio == output_ratio: + # live_size is already the needed ratio + crop_width = live_size[0] + crop_height = live_size[1] + elif live_size_ratio >= output_ratio: + # live_size is wider than what's needed, crop the sides + crop_width = output_ratio * live_size[1] + crop_height = live_size[1] + else: + # live_size is taller than what's needed, crop the top and bottom + crop_width = live_size[0] + crop_height = live_size[0] / output_ratio + + # make the crop + crop_left = bleed_pixels[0] + (live_size[0] - crop_width) * centering_x + crop_top = bleed_pixels[1] + (live_size[1] - crop_height) * centering_y + + crop = (crop_left, crop_top, crop_left + crop_width, crop_top + crop_height) + + # resize the image and return it + return image.resize(size, method, box=crop) + + +def flip(image: Image.Image) -> Image.Image: + """ + Flip the image vertically (top to bottom). + + :param image: The image to flip. + :return: An image. + """ + return image.transpose(Image.Transpose.FLIP_TOP_BOTTOM) + + +def grayscale(image: Image.Image) -> Image.Image: + """ + Convert the image to grayscale. + + :param image: The image to convert. + :return: An image. + """ + return image.convert("L") + + +def invert(image: Image.Image) -> Image.Image: + """ + Invert (negate) the image. + + :param image: The image to invert. + :return: An image. + """ + lut = list(range(255, -1, -1)) + return image.point(lut) if image.mode == "1" else _lut(image, lut) + + +def mirror(image: Image.Image) -> Image.Image: + """ + Flip image horizontally (left to right). + + :param image: The image to mirror. + :return: An image. + """ + return image.transpose(Image.Transpose.FLIP_LEFT_RIGHT) + + +def posterize(image: Image.Image, bits: int) -> Image.Image: + """ + Reduce the number of bits for each color channel. + + :param image: The image to posterize. + :param bits: The number of bits to keep for each channel (1-8). + :return: An image. + """ + mask = ~(2 ** (8 - bits) - 1) + lut = [i & mask for i in range(256)] + return _lut(image, lut) + + +def solarize(image: Image.Image, threshold: int = 128) -> Image.Image: + """ + Invert all pixel values above a threshold. + + :param image: The image to solarize. + :param threshold: All pixels above this grayscale level are inverted. + :return: An image. + """ + lut = [] + for i in range(256): + if i < threshold: + lut.append(i) + else: + lut.append(255 - i) + return _lut(image, lut) + + +def exif_transpose(image: Image.Image, *, in_place: bool = False) -> Image.Image | None: + """ + If an image has an EXIF Orientation tag, other than 1, transpose the image + accordingly, and remove the orientation data. + + :param image: The image to transpose. + :param in_place: Boolean. Keyword-only argument. + If ``True``, the original image is modified in-place, and ``None`` is returned. + If ``False`` (default), a new :py:class:`~PIL.Image.Image` object is returned + with the transposition applied. If there is no transposition, a copy of the + image will be returned. + """ + image.load() + image_exif = image.getexif() + orientation = image_exif.get(ExifTags.Base.Orientation, 1) + method = { + 2: Image.Transpose.FLIP_LEFT_RIGHT, + 3: Image.Transpose.ROTATE_180, + 4: Image.Transpose.FLIP_TOP_BOTTOM, + 5: Image.Transpose.TRANSPOSE, + 6: Image.Transpose.ROTATE_270, + 7: Image.Transpose.TRANSVERSE, + 8: Image.Transpose.ROTATE_90, + }.get(orientation) + if method is not None: + transposed_image = image.transpose(method) + if in_place: + image.im = transposed_image.im + image._size = transposed_image._size + exif_image = image if in_place else transposed_image + + exif = exif_image.getexif() + if ExifTags.Base.Orientation in exif: + del exif[ExifTags.Base.Orientation] + if "exif" in exif_image.info: + exif_image.info["exif"] = exif.tobytes() + elif "Raw profile type exif" in exif_image.info: + exif_image.info["Raw profile type exif"] = exif.tobytes().hex() + for key in ("XML:com.adobe.xmp", "xmp"): + if key in exif_image.info: + for pattern in ( + r'tiff:Orientation="([0-9])"', + r"([0-9])", + ): + value = exif_image.info[key] + exif_image.info[key] = ( + re.sub(pattern, "", value) + if isinstance(value, str) + else re.sub(pattern.encode(), b"", value) + ) + if not in_place: + return transposed_image + elif not in_place: + return image.copy() + return None diff --git a/gestao_raul/Lib/site-packages/PIL/ImagePalette.py b/gestao_raul/Lib/site-packages/PIL/ImagePalette.py new file mode 100644 index 0000000..183f855 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/ImagePalette.py @@ -0,0 +1,285 @@ +# +# The Python Imaging Library. +# $Id$ +# +# image palette object +# +# History: +# 1996-03-11 fl Rewritten. +# 1997-01-03 fl Up and running. +# 1997-08-23 fl Added load hack +# 2001-04-16 fl Fixed randint shadow bug in random() +# +# Copyright (c) 1997-2001 by Secret Labs AB +# Copyright (c) 1996-1997 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import array +from collections.abc import Sequence +from typing import IO, TYPE_CHECKING + +from . import GimpGradientFile, GimpPaletteFile, ImageColor, PaletteFile + +if TYPE_CHECKING: + from . import Image + + +class ImagePalette: + """ + Color palette for palette mapped images + + :param mode: The mode to use for the palette. See: + :ref:`concept-modes`. Defaults to "RGB" + :param palette: An optional palette. If given, it must be a bytearray, + an array or a list of ints between 0-255. The list must consist of + all channels for one color followed by the next color (e.g. RGBRGBRGB). + Defaults to an empty palette. + """ + + def __init__( + self, + mode: str = "RGB", + palette: Sequence[int] | bytes | bytearray | None = None, + ) -> None: + self.mode = mode + self.rawmode: str | None = None # if set, palette contains raw data + self.palette = palette or bytearray() + self.dirty: int | None = None + + @property + def palette(self) -> Sequence[int] | bytes | bytearray: + return self._palette + + @palette.setter + def palette(self, palette: Sequence[int] | bytes | bytearray) -> None: + self._colors: dict[tuple[int, ...], int] | None = None + self._palette = palette + + @property + def colors(self) -> dict[tuple[int, ...], int]: + if self._colors is None: + mode_len = len(self.mode) + self._colors = {} + for i in range(0, len(self.palette), mode_len): + color = tuple(self.palette[i : i + mode_len]) + if color in self._colors: + continue + self._colors[color] = i // mode_len + return self._colors + + @colors.setter + def colors(self, colors: dict[tuple[int, ...], int]) -> None: + self._colors = colors + + def copy(self) -> ImagePalette: + new = ImagePalette() + + new.mode = self.mode + new.rawmode = self.rawmode + if self.palette is not None: + new.palette = self.palette[:] + new.dirty = self.dirty + + return new + + def getdata(self) -> tuple[str, Sequence[int] | bytes | bytearray]: + """ + Get palette contents in format suitable for the low-level + ``im.putpalette`` primitive. + + .. warning:: This method is experimental. + """ + if self.rawmode: + return self.rawmode, self.palette + return self.mode, self.tobytes() + + def tobytes(self) -> bytes: + """Convert palette to bytes. + + .. warning:: This method is experimental. + """ + if self.rawmode: + msg = "palette contains raw palette data" + raise ValueError(msg) + if isinstance(self.palette, bytes): + return self.palette + arr = array.array("B", self.palette) + return arr.tobytes() + + # Declare tostring as an alias for tobytes + tostring = tobytes + + def _new_color_index( + self, image: Image.Image | None = None, e: Exception | None = None + ) -> int: + if not isinstance(self.palette, bytearray): + self._palette = bytearray(self.palette) + index = len(self.palette) // 3 + special_colors: tuple[int | tuple[int, ...] | None, ...] = () + if image: + special_colors = ( + image.info.get("background"), + image.info.get("transparency"), + ) + while index in special_colors: + index += 1 + if index >= 256: + if image: + # Search for an unused index + for i, count in reversed(list(enumerate(image.histogram()))): + if count == 0 and i not in special_colors: + index = i + break + if index >= 256: + msg = "cannot allocate more than 256 colors" + raise ValueError(msg) from e + return index + + def getcolor( + self, + color: tuple[int, ...], + image: Image.Image | None = None, + ) -> int: + """Given an rgb tuple, allocate palette entry. + + .. warning:: This method is experimental. + """ + if self.rawmode: + msg = "palette contains raw palette data" + raise ValueError(msg) + if isinstance(color, tuple): + if self.mode == "RGB": + if len(color) == 4: + if color[3] != 255: + msg = "cannot add non-opaque RGBA color to RGB palette" + raise ValueError(msg) + color = color[:3] + elif self.mode == "RGBA": + if len(color) == 3: + color += (255,) + try: + return self.colors[color] + except KeyError as e: + # allocate new color slot + index = self._new_color_index(image, e) + assert isinstance(self._palette, bytearray) + self.colors[color] = index + if index * 3 < len(self.palette): + self._palette = ( + self._palette[: index * 3] + + bytes(color) + + self._palette[index * 3 + 3 :] + ) + else: + self._palette += bytes(color) + self.dirty = 1 + return index + else: + msg = f"unknown color specifier: {repr(color)}" # type: ignore[unreachable] + raise ValueError(msg) + + def save(self, fp: str | IO[str]) -> None: + """Save palette to text file. + + .. warning:: This method is experimental. + """ + if self.rawmode: + msg = "palette contains raw palette data" + raise ValueError(msg) + if isinstance(fp, str): + fp = open(fp, "w") + fp.write("# Palette\n") + fp.write(f"# Mode: {self.mode}\n") + for i in range(256): + fp.write(f"{i}") + for j in range(i * len(self.mode), (i + 1) * len(self.mode)): + try: + fp.write(f" {self.palette[j]}") + except IndexError: + fp.write(" 0") + fp.write("\n") + fp.close() + + +# -------------------------------------------------------------------- +# Internal + + +def raw(rawmode: str, data: Sequence[int] | bytes | bytearray) -> ImagePalette: + palette = ImagePalette() + palette.rawmode = rawmode + palette.palette = data + palette.dirty = 1 + return palette + + +# -------------------------------------------------------------------- +# Factories + + +def make_linear_lut(black: int, white: float) -> list[int]: + if black == 0: + return [int(white * i // 255) for i in range(256)] + + msg = "unavailable when black is non-zero" + raise NotImplementedError(msg) # FIXME + + +def make_gamma_lut(exp: float) -> list[int]: + return [int(((i / 255.0) ** exp) * 255.0 + 0.5) for i in range(256)] + + +def negative(mode: str = "RGB") -> ImagePalette: + palette = list(range(256 * len(mode))) + palette.reverse() + return ImagePalette(mode, [i // len(mode) for i in palette]) + + +def random(mode: str = "RGB") -> ImagePalette: + from random import randint + + palette = [randint(0, 255) for _ in range(256 * len(mode))] + return ImagePalette(mode, palette) + + +def sepia(white: str = "#fff0c0") -> ImagePalette: + bands = [make_linear_lut(0, band) for band in ImageColor.getrgb(white)] + return ImagePalette("RGB", [bands[i % 3][i // 3] for i in range(256 * 3)]) + + +def wedge(mode: str = "RGB") -> ImagePalette: + palette = list(range(256 * len(mode))) + return ImagePalette(mode, [i // len(mode) for i in palette]) + + +def load(filename: str) -> tuple[bytes, str]: + # FIXME: supports GIMP gradients only + + with open(filename, "rb") as fp: + paletteHandlers: list[ + type[ + GimpPaletteFile.GimpPaletteFile + | GimpGradientFile.GimpGradientFile + | PaletteFile.PaletteFile + ] + ] = [ + GimpPaletteFile.GimpPaletteFile, + GimpGradientFile.GimpGradientFile, + PaletteFile.PaletteFile, + ] + for paletteHandler in paletteHandlers: + try: + fp.seek(0) + lut = paletteHandler(fp).getpalette() + if lut: + break + except (SyntaxError, ValueError): + pass + else: + msg = "cannot load palette" + raise OSError(msg) + + return lut # data, rawmode diff --git a/gestao_raul/Lib/site-packages/PIL/ImagePath.py b/gestao_raul/Lib/site-packages/PIL/ImagePath.py new file mode 100644 index 0000000..77e8a60 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/ImagePath.py @@ -0,0 +1,20 @@ +# +# The Python Imaging Library +# $Id$ +# +# path interface +# +# History: +# 1996-11-04 fl Created +# 2002-04-14 fl Added documentation stub class +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1996. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from . import Image + +Path = Image.core.path diff --git a/gestao_raul/Lib/site-packages/PIL/ImageQt.py b/gestao_raul/Lib/site-packages/PIL/ImageQt.py new file mode 100644 index 0000000..a3d6471 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/ImageQt.py @@ -0,0 +1,216 @@ +# +# The Python Imaging Library. +# $Id$ +# +# a simple Qt image interface. +# +# history: +# 2006-06-03 fl: created +# 2006-06-04 fl: inherit from QImage instead of wrapping it +# 2006-06-05 fl: removed toimage helper; move string support to ImageQt +# 2013-11-13 fl: add support for Qt5 (aurelien.ballier@cyclonit.com) +# +# Copyright (c) 2006 by Secret Labs AB +# Copyright (c) 2006 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import sys +from io import BytesIO +from typing import TYPE_CHECKING, Any, Callable, Union + +from . import Image +from ._util import is_path + +if TYPE_CHECKING: + import PyQt6 + import PySide6 + + from . import ImageFile + + QBuffer: type + QByteArray = Union[PyQt6.QtCore.QByteArray, PySide6.QtCore.QByteArray] + QIODevice = Union[PyQt6.QtCore.QIODevice, PySide6.QtCore.QIODevice] + QImage = Union[PyQt6.QtGui.QImage, PySide6.QtGui.QImage] + QPixmap = Union[PyQt6.QtGui.QPixmap, PySide6.QtGui.QPixmap] + +qt_version: str | None +qt_versions = [ + ["6", "PyQt6"], + ["side6", "PySide6"], +] + +# If a version has already been imported, attempt it first +qt_versions.sort(key=lambda version: version[1] in sys.modules, reverse=True) +for version, qt_module in qt_versions: + try: + qRgba: Callable[[int, int, int, int], int] + if qt_module == "PyQt6": + from PyQt6.QtCore import QBuffer, QIODevice + from PyQt6.QtGui import QImage, QPixmap, qRgba + elif qt_module == "PySide6": + from PySide6.QtCore import QBuffer, QIODevice + from PySide6.QtGui import QImage, QPixmap, qRgba + except (ImportError, RuntimeError): + continue + qt_is_installed = True + qt_version = version + break +else: + qt_is_installed = False + qt_version = None + + +def rgb(r: int, g: int, b: int, a: int = 255) -> int: + """(Internal) Turns an RGB color into a Qt compatible color integer.""" + # use qRgb to pack the colors, and then turn the resulting long + # into a negative integer with the same bitpattern. + return qRgba(r, g, b, a) & 0xFFFFFFFF + + +def fromqimage(im: QImage | QPixmap) -> ImageFile.ImageFile: + """ + :param im: QImage or PIL ImageQt object + """ + buffer = QBuffer() + qt_openmode: object + if qt_version == "6": + try: + qt_openmode = getattr(QIODevice, "OpenModeFlag") + except AttributeError: + qt_openmode = getattr(QIODevice, "OpenMode") + else: + qt_openmode = QIODevice + buffer.open(getattr(qt_openmode, "ReadWrite")) + # preserve alpha channel with png + # otherwise ppm is more friendly with Image.open + if im.hasAlphaChannel(): + im.save(buffer, "png") + else: + im.save(buffer, "ppm") + + b = BytesIO() + b.write(buffer.data()) + buffer.close() + b.seek(0) + + return Image.open(b) + + +def fromqpixmap(im: QPixmap) -> ImageFile.ImageFile: + return fromqimage(im) + + +def align8to32(bytes: bytes, width: int, mode: str) -> bytes: + """ + converts each scanline of data from 8 bit to 32 bit aligned + """ + + bits_per_pixel = {"1": 1, "L": 8, "P": 8, "I;16": 16}[mode] + + # calculate bytes per line and the extra padding if needed + bits_per_line = bits_per_pixel * width + full_bytes_per_line, remaining_bits_per_line = divmod(bits_per_line, 8) + bytes_per_line = full_bytes_per_line + (1 if remaining_bits_per_line else 0) + + extra_padding = -bytes_per_line % 4 + + # already 32 bit aligned by luck + if not extra_padding: + return bytes + + new_data = [ + bytes[i * bytes_per_line : (i + 1) * bytes_per_line] + b"\x00" * extra_padding + for i in range(len(bytes) // bytes_per_line) + ] + + return b"".join(new_data) + + +def _toqclass_helper(im: Image.Image | str | QByteArray) -> dict[str, Any]: + data = None + colortable = None + exclusive_fp = False + + # handle filename, if given instead of image name + if hasattr(im, "toUtf8"): + # FIXME - is this really the best way to do this? + im = str(im.toUtf8(), "utf-8") + if is_path(im): + im = Image.open(im) + exclusive_fp = True + assert isinstance(im, Image.Image) + + qt_format = getattr(QImage, "Format") if qt_version == "6" else QImage + if im.mode == "1": + format = getattr(qt_format, "Format_Mono") + elif im.mode == "L": + format = getattr(qt_format, "Format_Indexed8") + colortable = [rgb(i, i, i) for i in range(256)] + elif im.mode == "P": + format = getattr(qt_format, "Format_Indexed8") + palette = im.getpalette() + assert palette is not None + colortable = [rgb(*palette[i : i + 3]) for i in range(0, len(palette), 3)] + elif im.mode == "RGB": + # Populate the 4th channel with 255 + im = im.convert("RGBA") + + data = im.tobytes("raw", "BGRA") + format = getattr(qt_format, "Format_RGB32") + elif im.mode == "RGBA": + data = im.tobytes("raw", "BGRA") + format = getattr(qt_format, "Format_ARGB32") + elif im.mode == "I;16": + im = im.point(lambda i: i * 256) + + format = getattr(qt_format, "Format_Grayscale16") + else: + if exclusive_fp: + im.close() + msg = f"unsupported image mode {repr(im.mode)}" + raise ValueError(msg) + + size = im.size + __data = data or align8to32(im.tobytes(), size[0], im.mode) + if exclusive_fp: + im.close() + return {"data": __data, "size": size, "format": format, "colortable": colortable} + + +if qt_is_installed: + + class ImageQt(QImage): # type: ignore[misc] + def __init__(self, im: Image.Image | str | QByteArray) -> None: + """ + An PIL image wrapper for Qt. This is a subclass of PyQt's QImage + class. + + :param im: A PIL Image object, or a file name (given either as + Python string or a PyQt string object). + """ + im_data = _toqclass_helper(im) + # must keep a reference, or Qt will crash! + # All QImage constructors that take data operate on an existing + # buffer, so this buffer has to hang on for the life of the image. + # Fixes https://github.com/python-pillow/Pillow/issues/1370 + self.__data = im_data["data"] + super().__init__( + self.__data, + im_data["size"][0], + im_data["size"][1], + im_data["format"], + ) + if im_data["colortable"]: + self.setColorTable(im_data["colortable"]) + + +def toqimage(im: Image.Image | str | QByteArray) -> ImageQt: + return ImageQt(im) + + +def toqpixmap(im: Image.Image | str | QByteArray) -> QPixmap: + qimage = toqimage(im) + return getattr(QPixmap, "fromImage")(qimage) diff --git a/gestao_raul/Lib/site-packages/PIL/ImageSequence.py b/gestao_raul/Lib/site-packages/PIL/ImageSequence.py new file mode 100644 index 0000000..a6fc340 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/ImageSequence.py @@ -0,0 +1,86 @@ +# +# The Python Imaging Library. +# $Id$ +# +# sequence support classes +# +# history: +# 1997-02-20 fl Created +# +# Copyright (c) 1997 by Secret Labs AB. +# Copyright (c) 1997 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# + +## +from __future__ import annotations + +from typing import Callable + +from . import Image + + +class Iterator: + """ + This class implements an iterator object that can be used to loop + over an image sequence. + + You can use the ``[]`` operator to access elements by index. This operator + will raise an :py:exc:`IndexError` if you try to access a nonexistent + frame. + + :param im: An image object. + """ + + def __init__(self, im: Image.Image) -> None: + if not hasattr(im, "seek"): + msg = "im must have seek method" + raise AttributeError(msg) + self.im = im + self.position = getattr(self.im, "_min_frame", 0) + + def __getitem__(self, ix: int) -> Image.Image: + try: + self.im.seek(ix) + return self.im + except EOFError as e: + msg = "end of sequence" + raise IndexError(msg) from e + + def __iter__(self) -> Iterator: + return self + + def __next__(self) -> Image.Image: + try: + self.im.seek(self.position) + self.position += 1 + return self.im + except EOFError as e: + msg = "end of sequence" + raise StopIteration(msg) from e + + +def all_frames( + im: Image.Image | list[Image.Image], + func: Callable[[Image.Image], Image.Image] | None = None, +) -> list[Image.Image]: + """ + Applies a given function to all frames in an image or a list of images. + The frames are returned as a list of separate images. + + :param im: An image, or a list of images. + :param func: The function to apply to all of the image frames. + :returns: A list of images. + """ + if not isinstance(im, list): + im = [im] + + ims = [] + for imSequence in im: + current = imSequence.tell() + + ims += [im_frame.copy() for im_frame in Iterator(imSequence)] + + imSequence.seek(current) + return [func(im) for im in ims] if func else ims diff --git a/gestao_raul/Lib/site-packages/PIL/ImageShow.py b/gestao_raul/Lib/site-packages/PIL/ImageShow.py new file mode 100644 index 0000000..d62893d --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/ImageShow.py @@ -0,0 +1,360 @@ +# +# The Python Imaging Library. +# $Id$ +# +# im.show() drivers +# +# History: +# 2008-04-06 fl Created +# +# Copyright (c) Secret Labs AB 2008. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import abc +import os +import shutil +import subprocess +import sys +from shlex import quote +from typing import Any + +from . import Image + +_viewers = [] + + +def register(viewer: type[Viewer] | Viewer, order: int = 1) -> None: + """ + The :py:func:`register` function is used to register additional viewers:: + + from PIL import ImageShow + ImageShow.register(MyViewer()) # MyViewer will be used as a last resort + ImageShow.register(MySecondViewer(), 0) # MySecondViewer will be prioritised + ImageShow.register(ImageShow.XVViewer(), 0) # XVViewer will be prioritised + + :param viewer: The viewer to be registered. + :param order: + Zero or a negative integer to prepend this viewer to the list, + a positive integer to append it. + """ + if isinstance(viewer, type) and issubclass(viewer, Viewer): + viewer = viewer() + if order > 0: + _viewers.append(viewer) + else: + _viewers.insert(0, viewer) + + +def show(image: Image.Image, title: str | None = None, **options: Any) -> bool: + r""" + Display a given image. + + :param image: An image object. + :param title: Optional title. Not all viewers can display the title. + :param \**options: Additional viewer options. + :returns: ``True`` if a suitable viewer was found, ``False`` otherwise. + """ + for viewer in _viewers: + if viewer.show(image, title=title, **options): + return True + return False + + +class Viewer: + """Base class for viewers.""" + + # main api + + def show(self, image: Image.Image, **options: Any) -> int: + """ + The main function for displaying an image. + Converts the given image to the target format and displays it. + """ + + if not ( + image.mode in ("1", "RGBA") + or (self.format == "PNG" and image.mode in ("I;16", "LA")) + ): + base = Image.getmodebase(image.mode) + if image.mode != base: + image = image.convert(base) + + return self.show_image(image, **options) + + # hook methods + + format: str | None = None + """The format to convert the image into.""" + options: dict[str, Any] = {} + """Additional options used to convert the image.""" + + def get_format(self, image: Image.Image) -> str | None: + """Return format name, or ``None`` to save as PGM/PPM.""" + return self.format + + def get_command(self, file: str, **options: Any) -> str: + """ + Returns the command used to display the file. + Not implemented in the base class. + """ + msg = "unavailable in base viewer" + raise NotImplementedError(msg) + + def save_image(self, image: Image.Image) -> str: + """Save to temporary file and return filename.""" + return image._dump(format=self.get_format(image), **self.options) + + def show_image(self, image: Image.Image, **options: Any) -> int: + """Display the given image.""" + return self.show_file(self.save_image(image), **options) + + def show_file(self, path: str, **options: Any) -> int: + """ + Display given file. + """ + if not os.path.exists(path): + raise FileNotFoundError + os.system(self.get_command(path, **options)) # nosec + return 1 + + +# -------------------------------------------------------------------- + + +class WindowsViewer(Viewer): + """The default viewer on Windows is the default system application for PNG files.""" + + format = "PNG" + options = {"compress_level": 1, "save_all": True} + + def get_command(self, file: str, **options: Any) -> str: + return ( + f'start "Pillow" /WAIT "{file}" ' + "&& ping -n 4 127.0.0.1 >NUL " + f'&& del /f "{file}"' + ) + + def show_file(self, path: str, **options: Any) -> int: + """ + Display given file. + """ + if not os.path.exists(path): + raise FileNotFoundError + subprocess.Popen( + self.get_command(path, **options), + shell=True, + creationflags=getattr(subprocess, "CREATE_NO_WINDOW"), + ) # nosec + return 1 + + +if sys.platform == "win32": + register(WindowsViewer) + + +class MacViewer(Viewer): + """The default viewer on macOS using ``Preview.app``.""" + + format = "PNG" + options = {"compress_level": 1, "save_all": True} + + def get_command(self, file: str, **options: Any) -> str: + # on darwin open returns immediately resulting in the temp + # file removal while app is opening + command = "open -a Preview.app" + command = f"({command} {quote(file)}; sleep 20; rm -f {quote(file)})&" + return command + + def show_file(self, path: str, **options: Any) -> int: + """ + Display given file. + """ + if not os.path.exists(path): + raise FileNotFoundError + subprocess.call(["open", "-a", "Preview.app", path]) + executable = sys.executable or shutil.which("python3") + if executable: + subprocess.Popen( + [ + executable, + "-c", + "import os, sys, time; time.sleep(20); os.remove(sys.argv[1])", + path, + ] + ) + return 1 + + +if sys.platform == "darwin": + register(MacViewer) + + +class UnixViewer(Viewer): + format = "PNG" + options = {"compress_level": 1, "save_all": True} + + @abc.abstractmethod + def get_command_ex(self, file: str, **options: Any) -> tuple[str, str]: + pass + + def get_command(self, file: str, **options: Any) -> str: + command = self.get_command_ex(file, **options)[0] + return f"{command} {quote(file)}" + + +class XDGViewer(UnixViewer): + """ + The freedesktop.org ``xdg-open`` command. + """ + + def get_command_ex(self, file: str, **options: Any) -> tuple[str, str]: + command = executable = "xdg-open" + return command, executable + + def show_file(self, path: str, **options: Any) -> int: + """ + Display given file. + """ + if not os.path.exists(path): + raise FileNotFoundError + subprocess.Popen(["xdg-open", path]) + return 1 + + +class DisplayViewer(UnixViewer): + """ + The ImageMagick ``display`` command. + This viewer supports the ``title`` parameter. + """ + + def get_command_ex( + self, file: str, title: str | None = None, **options: Any + ) -> tuple[str, str]: + command = executable = "display" + if title: + command += f" -title {quote(title)}" + return command, executable + + def show_file(self, path: str, **options: Any) -> int: + """ + Display given file. + """ + if not os.path.exists(path): + raise FileNotFoundError + args = ["display"] + title = options.get("title") + if title: + args += ["-title", title] + args.append(path) + + subprocess.Popen(args) + return 1 + + +class GmDisplayViewer(UnixViewer): + """The GraphicsMagick ``gm display`` command.""" + + def get_command_ex(self, file: str, **options: Any) -> tuple[str, str]: + executable = "gm" + command = "gm display" + return command, executable + + def show_file(self, path: str, **options: Any) -> int: + """ + Display given file. + """ + if not os.path.exists(path): + raise FileNotFoundError + subprocess.Popen(["gm", "display", path]) + return 1 + + +class EogViewer(UnixViewer): + """The GNOME Image Viewer ``eog`` command.""" + + def get_command_ex(self, file: str, **options: Any) -> tuple[str, str]: + executable = "eog" + command = "eog -n" + return command, executable + + def show_file(self, path: str, **options: Any) -> int: + """ + Display given file. + """ + if not os.path.exists(path): + raise FileNotFoundError + subprocess.Popen(["eog", "-n", path]) + return 1 + + +class XVViewer(UnixViewer): + """ + The X Viewer ``xv`` command. + This viewer supports the ``title`` parameter. + """ + + def get_command_ex( + self, file: str, title: str | None = None, **options: Any + ) -> tuple[str, str]: + # note: xv is pretty outdated. most modern systems have + # imagemagick's display command instead. + command = executable = "xv" + if title: + command += f" -name {quote(title)}" + return command, executable + + def show_file(self, path: str, **options: Any) -> int: + """ + Display given file. + """ + if not os.path.exists(path): + raise FileNotFoundError + args = ["xv"] + title = options.get("title") + if title: + args += ["-name", title] + args.append(path) + + subprocess.Popen(args) + return 1 + + +if sys.platform not in ("win32", "darwin"): # unixoids + if shutil.which("xdg-open"): + register(XDGViewer) + if shutil.which("display"): + register(DisplayViewer) + if shutil.which("gm"): + register(GmDisplayViewer) + if shutil.which("eog"): + register(EogViewer) + if shutil.which("xv"): + register(XVViewer) + + +class IPythonViewer(Viewer): + """The viewer for IPython frontends.""" + + def show_image(self, image: Image.Image, **options: Any) -> int: + ipython_display(image) + return 1 + + +try: + from IPython.display import display as ipython_display +except ImportError: + pass +else: + register(IPythonViewer) + + +if __name__ == "__main__": + if len(sys.argv) < 2: + print("Syntax: python3 ImageShow.py imagefile [title]") + sys.exit() + + with Image.open(sys.argv[1]) as im: + print(show(im, *sys.argv[2:])) diff --git a/gestao_raul/Lib/site-packages/PIL/ImageStat.py b/gestao_raul/Lib/site-packages/PIL/ImageStat.py new file mode 100644 index 0000000..8bc5045 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/ImageStat.py @@ -0,0 +1,160 @@ +# +# The Python Imaging Library. +# $Id$ +# +# global image statistics +# +# History: +# 1996-04-05 fl Created +# 1997-05-21 fl Added mask; added rms, var, stddev attributes +# 1997-08-05 fl Added median +# 1998-07-05 hk Fixed integer overflow error +# +# Notes: +# This class shows how to implement delayed evaluation of attributes. +# To get a certain value, simply access the corresponding attribute. +# The __getattr__ dispatcher takes care of the rest. +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1996-97. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import math +from functools import cached_property + +from . import Image + + +class Stat: + def __init__( + self, image_or_list: Image.Image | list[int], mask: Image.Image | None = None + ) -> None: + """ + Calculate statistics for the given image. If a mask is included, + only the regions covered by that mask are included in the + statistics. You can also pass in a previously calculated histogram. + + :param image: A PIL image, or a precalculated histogram. + + .. note:: + + For a PIL image, calculations rely on the + :py:meth:`~PIL.Image.Image.histogram` method. The pixel counts are + grouped into 256 bins, even if the image has more than 8 bits per + channel. So ``I`` and ``F`` mode images have a maximum ``mean``, + ``median`` and ``rms`` of 255, and cannot have an ``extrema`` maximum + of more than 255. + + :param mask: An optional mask. + """ + if isinstance(image_or_list, Image.Image): + self.h = image_or_list.histogram(mask) + elif isinstance(image_or_list, list): + self.h = image_or_list + else: + msg = "first argument must be image or list" # type: ignore[unreachable] + raise TypeError(msg) + self.bands = list(range(len(self.h) // 256)) + + @cached_property + def extrema(self) -> list[tuple[int, int]]: + """ + Min/max values for each band in the image. + + .. note:: + This relies on the :py:meth:`~PIL.Image.Image.histogram` method, and + simply returns the low and high bins used. This is correct for + images with 8 bits per channel, but fails for other modes such as + ``I`` or ``F``. Instead, use :py:meth:`~PIL.Image.Image.getextrema` to + return per-band extrema for the image. This is more correct and + efficient because, for non-8-bit modes, the histogram method uses + :py:meth:`~PIL.Image.Image.getextrema` to determine the bins used. + """ + + def minmax(histogram: list[int]) -> tuple[int, int]: + res_min, res_max = 255, 0 + for i in range(256): + if histogram[i]: + res_min = i + break + for i in range(255, -1, -1): + if histogram[i]: + res_max = i + break + return res_min, res_max + + return [minmax(self.h[i:]) for i in range(0, len(self.h), 256)] + + @cached_property + def count(self) -> list[int]: + """Total number of pixels for each band in the image.""" + return [sum(self.h[i : i + 256]) for i in range(0, len(self.h), 256)] + + @cached_property + def sum(self) -> list[float]: + """Sum of all pixels for each band in the image.""" + + v = [] + for i in range(0, len(self.h), 256): + layer_sum = 0.0 + for j in range(256): + layer_sum += j * self.h[i + j] + v.append(layer_sum) + return v + + @cached_property + def sum2(self) -> list[float]: + """Squared sum of all pixels for each band in the image.""" + + v = [] + for i in range(0, len(self.h), 256): + sum2 = 0.0 + for j in range(256): + sum2 += (j**2) * float(self.h[i + j]) + v.append(sum2) + return v + + @cached_property + def mean(self) -> list[float]: + """Average (arithmetic mean) pixel level for each band in the image.""" + return [self.sum[i] / self.count[i] for i in self.bands] + + @cached_property + def median(self) -> list[int]: + """Median pixel level for each band in the image.""" + + v = [] + for i in self.bands: + s = 0 + half = self.count[i] // 2 + b = i * 256 + for j in range(256): + s = s + self.h[b + j] + if s > half: + break + v.append(j) + return v + + @cached_property + def rms(self) -> list[float]: + """RMS (root-mean-square) for each band in the image.""" + return [math.sqrt(self.sum2[i] / self.count[i]) for i in self.bands] + + @cached_property + def var(self) -> list[float]: + """Variance for each band in the image.""" + return [ + (self.sum2[i] - (self.sum[i] ** 2.0) / self.count[i]) / self.count[i] + for i in self.bands + ] + + @cached_property + def stddev(self) -> list[float]: + """Standard deviation for each band in the image.""" + return [math.sqrt(self.var[i]) for i in self.bands] + + +Global = Stat # compatibility diff --git a/gestao_raul/Lib/site-packages/PIL/ImageTk.py b/gestao_raul/Lib/site-packages/PIL/ImageTk.py new file mode 100644 index 0000000..bf29fdb --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/ImageTk.py @@ -0,0 +1,290 @@ +# +# The Python Imaging Library. +# $Id$ +# +# a Tk display interface +# +# History: +# 96-04-08 fl Created +# 96-09-06 fl Added getimage method +# 96-11-01 fl Rewritten, removed image attribute and crop method +# 97-05-09 fl Use PyImagingPaste method instead of image type +# 97-05-12 fl Minor tweaks to match the IFUNC95 interface +# 97-05-17 fl Support the "pilbitmap" booster patch +# 97-06-05 fl Added file= and data= argument to image constructors +# 98-03-09 fl Added width and height methods to Image classes +# 98-07-02 fl Use default mode for "P" images without palette attribute +# 98-07-02 fl Explicitly destroy Tkinter image objects +# 99-07-24 fl Support multiple Tk interpreters (from Greg Couch) +# 99-07-26 fl Automatically hook into Tkinter (if possible) +# 99-08-15 fl Hook uses _imagingtk instead of _imaging +# +# Copyright (c) 1997-1999 by Secret Labs AB +# Copyright (c) 1996-1997 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import tkinter +from io import BytesIO +from typing import TYPE_CHECKING, Any, cast + +from . import Image, ImageFile + +if TYPE_CHECKING: + from ._typing import CapsuleType + +# -------------------------------------------------------------------- +# Check for Tkinter interface hooks + + +def _get_image_from_kw(kw: dict[str, Any]) -> ImageFile.ImageFile | None: + source = None + if "file" in kw: + source = kw.pop("file") + elif "data" in kw: + source = BytesIO(kw.pop("data")) + if not source: + return None + return Image.open(source) + + +def _pyimagingtkcall( + command: str, photo: PhotoImage | tkinter.PhotoImage, ptr: CapsuleType +) -> None: + tk = photo.tk + try: + tk.call(command, photo, repr(ptr)) + except tkinter.TclError: + # activate Tkinter hook + # may raise an error if it cannot attach to Tkinter + from . import _imagingtk + + _imagingtk.tkinit(tk.interpaddr()) + tk.call(command, photo, repr(ptr)) + + +# -------------------------------------------------------------------- +# PhotoImage + + +class PhotoImage: + """ + A Tkinter-compatible photo image. This can be used + everywhere Tkinter expects an image object. If the image is an RGBA + image, pixels having alpha 0 are treated as transparent. + + The constructor takes either a PIL image, or a mode and a size. + Alternatively, you can use the ``file`` or ``data`` options to initialize + the photo image object. + + :param image: Either a PIL image, or a mode string. If a mode string is + used, a size must also be given. + :param size: If the first argument is a mode string, this defines the size + of the image. + :keyword file: A filename to load the image from (using + ``Image.open(file)``). + :keyword data: An 8-bit string containing image data (as loaded from an + image file). + """ + + def __init__( + self, + image: Image.Image | str | None = None, + size: tuple[int, int] | None = None, + **kw: Any, + ) -> None: + # Tk compatibility: file or data + if image is None: + image = _get_image_from_kw(kw) + + if image is None: + msg = "Image is required" + raise ValueError(msg) + elif isinstance(image, str): + mode = image + image = None + + if size is None: + msg = "If first argument is mode, size is required" + raise ValueError(msg) + else: + # got an image instead of a mode + mode = image.mode + if mode == "P": + # palette mapped data + image.apply_transparency() + image.load() + mode = image.palette.mode if image.palette else "RGB" + size = image.size + kw["width"], kw["height"] = size + + if mode not in ["1", "L", "RGB", "RGBA"]: + mode = Image.getmodebase(mode) + + self.__mode = mode + self.__size = size + self.__photo = tkinter.PhotoImage(**kw) + self.tk = self.__photo.tk + if image: + self.paste(image) + + def __del__(self) -> None: + try: + name = self.__photo.name + except AttributeError: + return + self.__photo.name = None + try: + self.__photo.tk.call("image", "delete", name) + except Exception: + pass # ignore internal errors + + def __str__(self) -> str: + """ + Get the Tkinter photo image identifier. This method is automatically + called by Tkinter whenever a PhotoImage object is passed to a Tkinter + method. + + :return: A Tkinter photo image identifier (a string). + """ + return str(self.__photo) + + def width(self) -> int: + """ + Get the width of the image. + + :return: The width, in pixels. + """ + return self.__size[0] + + def height(self) -> int: + """ + Get the height of the image. + + :return: The height, in pixels. + """ + return self.__size[1] + + def paste(self, im: Image.Image) -> None: + """ + Paste a PIL image into the photo image. Note that this can + be very slow if the photo image is displayed. + + :param im: A PIL image. The size must match the target region. If the + mode does not match, the image is converted to the mode of + the bitmap image. + """ + # convert to blittable + ptr = im.getim() + image = im.im + if not image.isblock() or im.mode != self.__mode: + block = Image.core.new_block(self.__mode, im.size) + image.convert2(block, image) # convert directly between buffers + ptr = block.ptr + + _pyimagingtkcall("PyImagingPhoto", self.__photo, ptr) + + +# -------------------------------------------------------------------- +# BitmapImage + + +class BitmapImage: + """ + A Tkinter-compatible bitmap image. This can be used everywhere Tkinter + expects an image object. + + The given image must have mode "1". Pixels having value 0 are treated as + transparent. Options, if any, are passed on to Tkinter. The most commonly + used option is ``foreground``, which is used to specify the color for the + non-transparent parts. See the Tkinter documentation for information on + how to specify colours. + + :param image: A PIL image. + """ + + def __init__(self, image: Image.Image | None = None, **kw: Any) -> None: + # Tk compatibility: file or data + if image is None: + image = _get_image_from_kw(kw) + + if image is None: + msg = "Image is required" + raise ValueError(msg) + self.__mode = image.mode + self.__size = image.size + + self.__photo = tkinter.BitmapImage(data=image.tobitmap(), **kw) + + def __del__(self) -> None: + try: + name = self.__photo.name + except AttributeError: + return + self.__photo.name = None + try: + self.__photo.tk.call("image", "delete", name) + except Exception: + pass # ignore internal errors + + def width(self) -> int: + """ + Get the width of the image. + + :return: The width, in pixels. + """ + return self.__size[0] + + def height(self) -> int: + """ + Get the height of the image. + + :return: The height, in pixels. + """ + return self.__size[1] + + def __str__(self) -> str: + """ + Get the Tkinter bitmap image identifier. This method is automatically + called by Tkinter whenever a BitmapImage object is passed to a Tkinter + method. + + :return: A Tkinter bitmap image identifier (a string). + """ + return str(self.__photo) + + +def getimage(photo: PhotoImage) -> Image.Image: + """Copies the contents of a PhotoImage to a PIL image memory.""" + im = Image.new("RGBA", (photo.width(), photo.height())) + + _pyimagingtkcall("PyImagingPhotoGet", photo, im.getim()) + + return im + + +def _show(image: Image.Image, title: str | None) -> None: + """Helper for the Image.show method.""" + + class UI(tkinter.Label): + def __init__(self, master: tkinter.Toplevel, im: Image.Image) -> None: + self.image: BitmapImage | PhotoImage + if im.mode == "1": + self.image = BitmapImage(im, foreground="white", master=master) + else: + self.image = PhotoImage(im, master=master) + if TYPE_CHECKING: + image = cast(tkinter._Image, self.image) + else: + image = self.image + super().__init__(master, image=image, bg="black", bd=0) + + if not getattr(tkinter, "_default_root"): + msg = "tkinter not initialized" + raise OSError(msg) + top = tkinter.Toplevel() + if title: + top.title(title) + UI(top, image).pack() diff --git a/gestao_raul/Lib/site-packages/PIL/ImageTransform.py b/gestao_raul/Lib/site-packages/PIL/ImageTransform.py new file mode 100644 index 0000000..a3d8f44 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/ImageTransform.py @@ -0,0 +1,136 @@ +# +# The Python Imaging Library. +# $Id$ +# +# transform wrappers +# +# History: +# 2002-04-08 fl Created +# +# Copyright (c) 2002 by Secret Labs AB +# Copyright (c) 2002 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from collections.abc import Sequence +from typing import Any + +from . import Image + + +class Transform(Image.ImageTransformHandler): + """Base class for other transforms defined in :py:mod:`~PIL.ImageTransform`.""" + + method: Image.Transform + + def __init__(self, data: Sequence[Any]) -> None: + self.data = data + + def getdata(self) -> tuple[Image.Transform, Sequence[int]]: + return self.method, self.data + + def transform( + self, + size: tuple[int, int], + image: Image.Image, + **options: Any, + ) -> Image.Image: + """Perform the transform. Called from :py:meth:`.Image.transform`.""" + # can be overridden + method, data = self.getdata() + return image.transform(size, method, data, **options) + + +class AffineTransform(Transform): + """ + Define an affine image transform. + + This function takes a 6-tuple (a, b, c, d, e, f) which contain the first + two rows from an affine transform matrix. For each pixel (x, y) in the + output image, the new value is taken from a position (a x + b y + c, + d x + e y + f) in the input image, rounded to nearest pixel. + + This function can be used to scale, translate, rotate, and shear the + original image. + + See :py:meth:`.Image.transform` + + :param matrix: A 6-tuple (a, b, c, d, e, f) containing the first two rows + from an affine transform matrix. + """ + + method = Image.Transform.AFFINE + + +class PerspectiveTransform(Transform): + """ + Define a perspective image transform. + + This function takes an 8-tuple (a, b, c, d, e, f, g, h). For each pixel + (x, y) in the output image, the new value is taken from a position + ((a x + b y + c) / (g x + h y + 1), (d x + e y + f) / (g x + h y + 1)) in + the input image, rounded to nearest pixel. + + This function can be used to scale, translate, rotate, and shear the + original image. + + See :py:meth:`.Image.transform` + + :param matrix: An 8-tuple (a, b, c, d, e, f, g, h). + """ + + method = Image.Transform.PERSPECTIVE + + +class ExtentTransform(Transform): + """ + Define a transform to extract a subregion from an image. + + Maps a rectangle (defined by two corners) from the image to a rectangle of + the given size. The resulting image will contain data sampled from between + the corners, such that (x0, y0) in the input image will end up at (0,0) in + the output image, and (x1, y1) at size. + + This method can be used to crop, stretch, shrink, or mirror an arbitrary + rectangle in the current image. It is slightly slower than crop, but about + as fast as a corresponding resize operation. + + See :py:meth:`.Image.transform` + + :param bbox: A 4-tuple (x0, y0, x1, y1) which specifies two points in the + input image's coordinate system. See :ref:`coordinate-system`. + """ + + method = Image.Transform.EXTENT + + +class QuadTransform(Transform): + """ + Define a quad image transform. + + Maps a quadrilateral (a region defined by four corners) from the image to a + rectangle of the given size. + + See :py:meth:`.Image.transform` + + :param xy: An 8-tuple (x0, y0, x1, y1, x2, y2, x3, y3) which contain the + upper left, lower left, lower right, and upper right corner of the + source quadrilateral. + """ + + method = Image.Transform.QUAD + + +class MeshTransform(Transform): + """ + Define a mesh image transform. A mesh transform consists of one or more + individual quad transforms. + + See :py:meth:`.Image.transform` + + :param data: A list of (bbox, quad) tuples. + """ + + method = Image.Transform.MESH diff --git a/gestao_raul/Lib/site-packages/PIL/ImageWin.py b/gestao_raul/Lib/site-packages/PIL/ImageWin.py new file mode 100644 index 0000000..98c28f2 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/ImageWin.py @@ -0,0 +1,247 @@ +# +# The Python Imaging Library. +# $Id$ +# +# a Windows DIB display interface +# +# History: +# 1996-05-20 fl Created +# 1996-09-20 fl Fixed subregion exposure +# 1997-09-21 fl Added draw primitive (for tzPrint) +# 2003-05-21 fl Added experimental Window/ImageWindow classes +# 2003-09-05 fl Added fromstring/tostring methods +# +# Copyright (c) Secret Labs AB 1997-2003. +# Copyright (c) Fredrik Lundh 1996-2003. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from . import Image + + +class HDC: + """ + Wraps an HDC integer. The resulting object can be passed to the + :py:meth:`~PIL.ImageWin.Dib.draw` and :py:meth:`~PIL.ImageWin.Dib.expose` + methods. + """ + + def __init__(self, dc: int) -> None: + self.dc = dc + + def __int__(self) -> int: + return self.dc + + +class HWND: + """ + Wraps an HWND integer. The resulting object can be passed to the + :py:meth:`~PIL.ImageWin.Dib.draw` and :py:meth:`~PIL.ImageWin.Dib.expose` + methods, instead of a DC. + """ + + def __init__(self, wnd: int) -> None: + self.wnd = wnd + + def __int__(self) -> int: + return self.wnd + + +class Dib: + """ + A Windows bitmap with the given mode and size. The mode can be one of "1", + "L", "P", or "RGB". + + If the display requires a palette, this constructor creates a suitable + palette and associates it with the image. For an "L" image, 128 graylevels + are allocated. For an "RGB" image, a 6x6x6 colour cube is used, together + with 20 graylevels. + + To make sure that palettes work properly under Windows, you must call the + ``palette`` method upon certain events from Windows. + + :param image: Either a PIL image, or a mode string. If a mode string is + used, a size must also be given. The mode can be one of "1", + "L", "P", or "RGB". + :param size: If the first argument is a mode string, this + defines the size of the image. + """ + + def __init__( + self, image: Image.Image | str, size: tuple[int, int] | None = None + ) -> None: + if isinstance(image, str): + mode = image + image = "" + if size is None: + msg = "If first argument is mode, size is required" + raise ValueError(msg) + else: + mode = image.mode + size = image.size + if mode not in ["1", "L", "P", "RGB"]: + mode = Image.getmodebase(mode) + self.image = Image.core.display(mode, size) + self.mode = mode + self.size = size + if image: + assert not isinstance(image, str) + self.paste(image) + + def expose(self, handle: int | HDC | HWND) -> None: + """ + Copy the bitmap contents to a device context. + + :param handle: Device context (HDC), cast to a Python integer, or an + HDC or HWND instance. In PythonWin, you can use + ``CDC.GetHandleAttrib()`` to get a suitable handle. + """ + handle_int = int(handle) + if isinstance(handle, HWND): + dc = self.image.getdc(handle_int) + try: + self.image.expose(dc) + finally: + self.image.releasedc(handle_int, dc) + else: + self.image.expose(handle_int) + + def draw( + self, + handle: int | HDC | HWND, + dst: tuple[int, int, int, int], + src: tuple[int, int, int, int] | None = None, + ) -> None: + """ + Same as expose, but allows you to specify where to draw the image, and + what part of it to draw. + + The destination and source areas are given as 4-tuple rectangles. If + the source is omitted, the entire image is copied. If the source and + the destination have different sizes, the image is resized as + necessary. + """ + if src is None: + src = (0, 0) + self.size + handle_int = int(handle) + if isinstance(handle, HWND): + dc = self.image.getdc(handle_int) + try: + self.image.draw(dc, dst, src) + finally: + self.image.releasedc(handle_int, dc) + else: + self.image.draw(handle_int, dst, src) + + def query_palette(self, handle: int | HDC | HWND) -> int: + """ + Installs the palette associated with the image in the given device + context. + + This method should be called upon **QUERYNEWPALETTE** and + **PALETTECHANGED** events from Windows. If this method returns a + non-zero value, one or more display palette entries were changed, and + the image should be redrawn. + + :param handle: Device context (HDC), cast to a Python integer, or an + HDC or HWND instance. + :return: The number of entries that were changed (if one or more entries, + this indicates that the image should be redrawn). + """ + handle_int = int(handle) + if isinstance(handle, HWND): + handle = self.image.getdc(handle_int) + try: + result = self.image.query_palette(handle) + finally: + self.image.releasedc(handle, handle) + else: + result = self.image.query_palette(handle_int) + return result + + def paste( + self, im: Image.Image, box: tuple[int, int, int, int] | None = None + ) -> None: + """ + Paste a PIL image into the bitmap image. + + :param im: A PIL image. The size must match the target region. + If the mode does not match, the image is converted to the + mode of the bitmap image. + :param box: A 4-tuple defining the left, upper, right, and + lower pixel coordinate. See :ref:`coordinate-system`. If + None is given instead of a tuple, all of the image is + assumed. + """ + im.load() + if self.mode != im.mode: + im = im.convert(self.mode) + if box: + self.image.paste(im.im, box) + else: + self.image.paste(im.im) + + def frombytes(self, buffer: bytes) -> None: + """ + Load display memory contents from byte data. + + :param buffer: A buffer containing display data (usually + data returned from :py:func:`~PIL.ImageWin.Dib.tobytes`) + """ + self.image.frombytes(buffer) + + def tobytes(self) -> bytes: + """ + Copy display memory contents to bytes object. + + :return: A bytes object containing display data. + """ + return self.image.tobytes() + + +class Window: + """Create a Window with the given title size.""" + + def __init__( + self, title: str = "PIL", width: int | None = None, height: int | None = None + ) -> None: + self.hwnd = Image.core.createwindow( + title, self.__dispatcher, width or 0, height or 0 + ) + + def __dispatcher(self, action: str, *args: int) -> None: + getattr(self, f"ui_handle_{action}")(*args) + + def ui_handle_clear(self, dc: int, x0: int, y0: int, x1: int, y1: int) -> None: + pass + + def ui_handle_damage(self, x0: int, y0: int, x1: int, y1: int) -> None: + pass + + def ui_handle_destroy(self) -> None: + pass + + def ui_handle_repair(self, dc: int, x0: int, y0: int, x1: int, y1: int) -> None: + pass + + def ui_handle_resize(self, width: int, height: int) -> None: + pass + + def mainloop(self) -> None: + Image.core.eventloop() + + +class ImageWindow(Window): + """Create an image window which displays the given image.""" + + def __init__(self, image: Image.Image | Dib, title: str = "PIL") -> None: + if not isinstance(image, Dib): + image = Dib(image) + self.image = image + width, height = image.size + super().__init__(title, width=width, height=height) + + def ui_handle_repair(self, dc: int, x0: int, y0: int, x1: int, y1: int) -> None: + self.image.draw(dc, (x0, y0, x1, y1)) diff --git a/gestao_raul/Lib/site-packages/PIL/ImtImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/ImtImagePlugin.py new file mode 100644 index 0000000..594c565 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/ImtImagePlugin.py @@ -0,0 +1,103 @@ +# +# The Python Imaging Library. +# $Id$ +# +# IM Tools support for PIL +# +# history: +# 1996-05-27 fl Created (read 8-bit images only) +# 2001-02-17 fl Use 're' instead of 'regex' (Python 2.1) (0.2) +# +# Copyright (c) Secret Labs AB 1997-2001. +# Copyright (c) Fredrik Lundh 1996-2001. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import re + +from . import Image, ImageFile + +# +# -------------------------------------------------------------------- + +field = re.compile(rb"([a-z]*) ([^ \r\n]*)") + + +## +# Image plugin for IM Tools images. + + +class ImtImageFile(ImageFile.ImageFile): + format = "IMT" + format_description = "IM Tools" + + def _open(self) -> None: + # Quick rejection: if there's not a LF among the first + # 100 bytes, this is (probably) not a text header. + + assert self.fp is not None + + buffer = self.fp.read(100) + if b"\n" not in buffer: + msg = "not an IM file" + raise SyntaxError(msg) + + xsize = ysize = 0 + + while True: + if buffer: + s = buffer[:1] + buffer = buffer[1:] + else: + s = self.fp.read(1) + if not s: + break + + if s == b"\x0C": + # image data begins + self.tile = [ + ImageFile._Tile( + "raw", + (0, 0) + self.size, + self.fp.tell() - len(buffer), + (self.mode, 0, 1), + ) + ] + + break + + else: + # read key/value pair + if b"\n" not in buffer: + buffer += self.fp.read(100) + lines = buffer.split(b"\n") + s += lines.pop(0) + buffer = b"\n".join(lines) + if len(s) == 1 or len(s) > 100: + break + if s[0] == ord(b"*"): + continue # comment + + m = field.match(s) + if not m: + break + k, v = m.group(1, 2) + if k == b"width": + xsize = int(v) + self._size = xsize, ysize + elif k == b"height": + ysize = int(v) + self._size = xsize, ysize + elif k == b"pixel" and v == b"n8": + self._mode = "L" + + +# +# -------------------------------------------------------------------- + +Image.register_open(ImtImageFile.format, ImtImageFile) + +# +# no extension registered (".im" is simply too common) diff --git a/gestao_raul/Lib/site-packages/PIL/IptcImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/IptcImagePlugin.py new file mode 100644 index 0000000..60ab7c8 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/IptcImagePlugin.py @@ -0,0 +1,249 @@ +# +# The Python Imaging Library. +# $Id$ +# +# IPTC/NAA file handling +# +# history: +# 1995-10-01 fl Created +# 1998-03-09 fl Cleaned up and added to PIL +# 2002-06-18 fl Added getiptcinfo helper +# +# Copyright (c) Secret Labs AB 1997-2002. +# Copyright (c) Fredrik Lundh 1995. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from collections.abc import Sequence +from io import BytesIO +from typing import cast + +from . import Image, ImageFile +from ._binary import i16be as i16 +from ._binary import i32be as i32 +from ._deprecate import deprecate + +COMPRESSION = {1: "raw", 5: "jpeg"} + + +def __getattr__(name: str) -> bytes: + if name == "PAD": + deprecate("IptcImagePlugin.PAD", 12) + return b"\0\0\0\0" + msg = f"module '{__name__}' has no attribute '{name}'" + raise AttributeError(msg) + + +# +# Helpers + + +def _i(c: bytes) -> int: + return i32((b"\0\0\0\0" + c)[-4:]) + + +def _i8(c: int | bytes) -> int: + return c if isinstance(c, int) else c[0] + + +def i(c: bytes) -> int: + """.. deprecated:: 10.2.0""" + deprecate("IptcImagePlugin.i", 12) + return _i(c) + + +def dump(c: Sequence[int | bytes]) -> None: + """.. deprecated:: 10.2.0""" + deprecate("IptcImagePlugin.dump", 12) + for i in c: + print(f"{_i8(i):02x}", end=" ") + print() + + +## +# Image plugin for IPTC/NAA datastreams. To read IPTC/NAA fields +# from TIFF and JPEG files, use the getiptcinfo function. + + +class IptcImageFile(ImageFile.ImageFile): + format = "IPTC" + format_description = "IPTC/NAA" + + def getint(self, key: tuple[int, int]) -> int: + return _i(self.info[key]) + + def field(self) -> tuple[tuple[int, int] | None, int]: + # + # get a IPTC field header + s = self.fp.read(5) + if not s.strip(b"\x00"): + return None, 0 + + tag = s[1], s[2] + + # syntax + if s[0] != 0x1C or tag[0] not in [1, 2, 3, 4, 5, 6, 7, 8, 9, 240]: + msg = "invalid IPTC/NAA file" + raise SyntaxError(msg) + + # field size + size = s[3] + if size > 132: + msg = "illegal field length in IPTC/NAA file" + raise OSError(msg) + elif size == 128: + size = 0 + elif size > 128: + size = _i(self.fp.read(size - 128)) + else: + size = i16(s, 3) + + return tag, size + + def _open(self) -> None: + # load descriptive fields + while True: + offset = self.fp.tell() + tag, size = self.field() + if not tag or tag == (8, 10): + break + if size: + tagdata = self.fp.read(size) + else: + tagdata = None + if tag in self.info: + if isinstance(self.info[tag], list): + self.info[tag].append(tagdata) + else: + self.info[tag] = [self.info[tag], tagdata] + else: + self.info[tag] = tagdata + + # mode + layers = self.info[(3, 60)][0] + component = self.info[(3, 60)][1] + if (3, 65) in self.info: + id = self.info[(3, 65)][0] - 1 + else: + id = 0 + if layers == 1 and not component: + self._mode = "L" + elif layers == 3 and component: + self._mode = "RGB"[id] + elif layers == 4 and component: + self._mode = "CMYK"[id] + + # size + self._size = self.getint((3, 20)), self.getint((3, 30)) + + # compression + try: + compression = COMPRESSION[self.getint((3, 120))] + except KeyError as e: + msg = "Unknown IPTC image compression" + raise OSError(msg) from e + + # tile + if tag == (8, 10): + self.tile = [ + ImageFile._Tile("iptc", (0, 0) + self.size, offset, compression) + ] + + def load(self) -> Image.core.PixelAccess | None: + if len(self.tile) != 1 or self.tile[0][0] != "iptc": + return ImageFile.ImageFile.load(self) + + offset, compression = self.tile[0][2:] + + self.fp.seek(offset) + + # Copy image data to temporary file + o = BytesIO() + if compression == "raw": + # To simplify access to the extracted file, + # prepend a PPM header + o.write(b"P5\n%d %d\n255\n" % self.size) + while True: + type, size = self.field() + if type != (8, 10): + break + while size > 0: + s = self.fp.read(min(size, 8192)) + if not s: + break + o.write(s) + size -= len(s) + + with Image.open(o) as _im: + _im.load() + self.im = _im.im + return None + + +Image.register_open(IptcImageFile.format, IptcImageFile) + +Image.register_extension(IptcImageFile.format, ".iim") + + +def getiptcinfo( + im: ImageFile.ImageFile, +) -> dict[tuple[int, int], bytes | list[bytes]] | None: + """ + Get IPTC information from TIFF, JPEG, or IPTC file. + + :param im: An image containing IPTC data. + :returns: A dictionary containing IPTC information, or None if + no IPTC information block was found. + """ + from . import JpegImagePlugin, TiffImagePlugin + + data = None + + info: dict[tuple[int, int], bytes | list[bytes]] = {} + if isinstance(im, IptcImageFile): + # return info dictionary right away + for k, v in im.info.items(): + if isinstance(k, tuple): + info[k] = v + return info + + elif isinstance(im, JpegImagePlugin.JpegImageFile): + # extract the IPTC/NAA resource + photoshop = im.info.get("photoshop") + if photoshop: + data = photoshop.get(0x0404) + + elif isinstance(im, TiffImagePlugin.TiffImageFile): + # get raw data from the IPTC/NAA tag (PhotoShop tags the data + # as 4-byte integers, so we cannot use the get method...) + try: + data = im.tag_v2[TiffImagePlugin.IPTC_NAA_CHUNK] + except KeyError: + pass + + if data is None: + return None # no properties + + # create an IptcImagePlugin object without initializing it + class FakeImage: + pass + + fake_im = FakeImage() + fake_im.__class__ = IptcImageFile # type: ignore[assignment] + iptc_im = cast(IptcImageFile, fake_im) + + # parse the IPTC information chunk + iptc_im.info = {} + iptc_im.fp = BytesIO(data) + + try: + iptc_im._open() + except (IndexError, KeyError): + pass # expected failure + + for k, v in iptc_im.info.items(): + if isinstance(k, tuple): + info[k] = v + return info diff --git a/gestao_raul/Lib/site-packages/PIL/Jpeg2KImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/Jpeg2KImagePlugin.py new file mode 100644 index 0000000..b6ebd56 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/Jpeg2KImagePlugin.py @@ -0,0 +1,443 @@ +# +# The Python Imaging Library +# $Id$ +# +# JPEG2000 file handling +# +# History: +# 2014-03-12 ajh Created +# 2021-06-30 rogermb Extract dpi information from the 'resc' header box +# +# Copyright (c) 2014 Coriolis Systems Limited +# Copyright (c) 2014 Alastair Houghton +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io +import os +import struct +from collections.abc import Callable +from typing import IO, cast + +from . import Image, ImageFile, ImagePalette, _binary + + +class BoxReader: + """ + A small helper class to read fields stored in JPEG2000 header boxes + and to easily step into and read sub-boxes. + """ + + def __init__(self, fp: IO[bytes], length: int = -1) -> None: + self.fp = fp + self.has_length = length >= 0 + self.length = length + self.remaining_in_box = -1 + + def _can_read(self, num_bytes: int) -> bool: + if self.has_length and self.fp.tell() + num_bytes > self.length: + # Outside box: ensure we don't read past the known file length + return False + if self.remaining_in_box >= 0: + # Inside box contents: ensure read does not go past box boundaries + return num_bytes <= self.remaining_in_box + else: + return True # No length known, just read + + def _read_bytes(self, num_bytes: int) -> bytes: + if not self._can_read(num_bytes): + msg = "Not enough data in header" + raise SyntaxError(msg) + + data = self.fp.read(num_bytes) + if len(data) < num_bytes: + msg = f"Expected to read {num_bytes} bytes but only got {len(data)}." + raise OSError(msg) + + if self.remaining_in_box > 0: + self.remaining_in_box -= num_bytes + return data + + def read_fields(self, field_format: str) -> tuple[int | bytes, ...]: + size = struct.calcsize(field_format) + data = self._read_bytes(size) + return struct.unpack(field_format, data) + + def read_boxes(self) -> BoxReader: + size = self.remaining_in_box + data = self._read_bytes(size) + return BoxReader(io.BytesIO(data), size) + + def has_next_box(self) -> bool: + if self.has_length: + return self.fp.tell() + self.remaining_in_box < self.length + else: + return True + + def next_box_type(self) -> bytes: + # Skip the rest of the box if it has not been read + if self.remaining_in_box > 0: + self.fp.seek(self.remaining_in_box, os.SEEK_CUR) + self.remaining_in_box = -1 + + # Read the length and type of the next box + lbox, tbox = cast(tuple[int, bytes], self.read_fields(">I4s")) + if lbox == 1: + lbox = cast(int, self.read_fields(">Q")[0]) + hlen = 16 + else: + hlen = 8 + + if lbox < hlen or not self._can_read(lbox - hlen): + msg = "Invalid header length" + raise SyntaxError(msg) + + self.remaining_in_box = lbox - hlen + return tbox + + +def _parse_codestream(fp: IO[bytes]) -> tuple[tuple[int, int], str]: + """Parse the JPEG 2000 codestream to extract the size and component + count from the SIZ marker segment, returning a PIL (size, mode) tuple.""" + + hdr = fp.read(2) + lsiz = _binary.i16be(hdr) + siz = hdr + fp.read(lsiz - 2) + lsiz, rsiz, xsiz, ysiz, xosiz, yosiz, _, _, _, _, csiz = struct.unpack_from( + ">HHIIIIIIIIH", siz + ) + + size = (xsiz - xosiz, ysiz - yosiz) + if csiz == 1: + ssiz = struct.unpack_from(">B", siz, 38) + if (ssiz[0] & 0x7F) + 1 > 8: + mode = "I;16" + else: + mode = "L" + elif csiz == 2: + mode = "LA" + elif csiz == 3: + mode = "RGB" + elif csiz == 4: + mode = "RGBA" + else: + msg = "unable to determine J2K image mode" + raise SyntaxError(msg) + + return size, mode + + +def _res_to_dpi(num: int, denom: int, exp: int) -> float | None: + """Convert JPEG2000's (numerator, denominator, exponent-base-10) resolution, + calculated as (num / denom) * 10^exp and stored in dots per meter, + to floating-point dots per inch.""" + if denom == 0: + return None + return (254 * num * (10**exp)) / (10000 * denom) + + +def _parse_jp2_header( + fp: IO[bytes], +) -> tuple[ + tuple[int, int], + str, + str | None, + tuple[float, float] | None, + ImagePalette.ImagePalette | None, +]: + """Parse the JP2 header box to extract size, component count, + color space information, and optionally DPI information, + returning a (size, mode, mimetype, dpi) tuple.""" + + # Find the JP2 header box + reader = BoxReader(fp) + header = None + mimetype = None + while reader.has_next_box(): + tbox = reader.next_box_type() + + if tbox == b"jp2h": + header = reader.read_boxes() + break + elif tbox == b"ftyp": + if reader.read_fields(">4s")[0] == b"jpx ": + mimetype = "image/jpx" + assert header is not None + + size = None + mode = None + bpc = None + nc = None + dpi = None # 2-tuple of DPI info, or None + palette = None + + while header.has_next_box(): + tbox = header.next_box_type() + + if tbox == b"ihdr": + height, width, nc, bpc = header.read_fields(">IIHB") + assert isinstance(height, int) + assert isinstance(width, int) + assert isinstance(bpc, int) + size = (width, height) + if nc == 1 and (bpc & 0x7F) > 8: + mode = "I;16" + elif nc == 1: + mode = "L" + elif nc == 2: + mode = "LA" + elif nc == 3: + mode = "RGB" + elif nc == 4: + mode = "RGBA" + elif tbox == b"colr" and nc == 4: + meth, _, _, enumcs = header.read_fields(">BBBI") + if meth == 1 and enumcs == 12: + mode = "CMYK" + elif tbox == b"pclr" and mode in ("L", "LA"): + ne, npc = header.read_fields(">HB") + assert isinstance(ne, int) + assert isinstance(npc, int) + max_bitdepth = 0 + for bitdepth in header.read_fields(">" + ("B" * npc)): + assert isinstance(bitdepth, int) + if bitdepth > max_bitdepth: + max_bitdepth = bitdepth + if max_bitdepth <= 8: + palette = ImagePalette.ImagePalette("RGBA" if npc == 4 else "RGB") + for i in range(ne): + color: list[int] = [] + for value in header.read_fields(">" + ("B" * npc)): + assert isinstance(value, int) + color.append(value) + palette.getcolor(tuple(color)) + mode = "P" if mode == "L" else "PA" + elif tbox == b"res ": + res = header.read_boxes() + while res.has_next_box(): + tres = res.next_box_type() + if tres == b"resc": + vrcn, vrcd, hrcn, hrcd, vrce, hrce = res.read_fields(">HHHHBB") + assert isinstance(vrcn, int) + assert isinstance(vrcd, int) + assert isinstance(hrcn, int) + assert isinstance(hrcd, int) + assert isinstance(vrce, int) + assert isinstance(hrce, int) + hres = _res_to_dpi(hrcn, hrcd, hrce) + vres = _res_to_dpi(vrcn, vrcd, vrce) + if hres is not None and vres is not None: + dpi = (hres, vres) + break + + if size is None or mode is None: + msg = "Malformed JP2 header" + raise SyntaxError(msg) + + return size, mode, mimetype, dpi, palette + + +## +# Image plugin for JPEG2000 images. + + +class Jpeg2KImageFile(ImageFile.ImageFile): + format = "JPEG2000" + format_description = "JPEG 2000 (ISO 15444)" + + def _open(self) -> None: + sig = self.fp.read(4) + if sig == b"\xff\x4f\xff\x51": + self.codec = "j2k" + self._size, self._mode = _parse_codestream(self.fp) + else: + sig = sig + self.fp.read(8) + + if sig == b"\x00\x00\x00\x0cjP \x0d\x0a\x87\x0a": + self.codec = "jp2" + header = _parse_jp2_header(self.fp) + self._size, self._mode, self.custom_mimetype, dpi, self.palette = header + if dpi is not None: + self.info["dpi"] = dpi + if self.fp.read(12).endswith(b"jp2c\xff\x4f\xff\x51"): + self._parse_comment() + else: + msg = "not a JPEG 2000 file" + raise SyntaxError(msg) + + self._reduce = 0 + self.layers = 0 + + fd = -1 + length = -1 + + try: + fd = self.fp.fileno() + length = os.fstat(fd).st_size + except Exception: + fd = -1 + try: + pos = self.fp.tell() + self.fp.seek(0, io.SEEK_END) + length = self.fp.tell() + self.fp.seek(pos) + except Exception: + length = -1 + + self.tile = [ + ImageFile._Tile( + "jpeg2k", + (0, 0) + self.size, + 0, + (self.codec, self._reduce, self.layers, fd, length), + ) + ] + + def _parse_comment(self) -> None: + hdr = self.fp.read(2) + length = _binary.i16be(hdr) + self.fp.seek(length - 2, os.SEEK_CUR) + + while True: + marker = self.fp.read(2) + if not marker: + break + typ = marker[1] + if typ in (0x90, 0xD9): + # Start of tile or end of codestream + break + hdr = self.fp.read(2) + length = _binary.i16be(hdr) + if typ == 0x64: + # Comment + self.info["comment"] = self.fp.read(length - 2)[2:] + break + else: + self.fp.seek(length - 2, os.SEEK_CUR) + + @property # type: ignore[override] + def reduce( + self, + ) -> ( + Callable[[int | tuple[int, int], tuple[int, int, int, int] | None], Image.Image] + | int + ): + # https://github.com/python-pillow/Pillow/issues/4343 found that the + # new Image 'reduce' method was shadowed by this plugin's 'reduce' + # property. This attempts to allow for both scenarios + return self._reduce or super().reduce + + @reduce.setter + def reduce(self, value: int) -> None: + self._reduce = value + + def load(self) -> Image.core.PixelAccess | None: + if self.tile and self._reduce: + power = 1 << self._reduce + adjust = power >> 1 + self._size = ( + int((self.size[0] + adjust) / power), + int((self.size[1] + adjust) / power), + ) + + # Update the reduce and layers settings + t = self.tile[0] + assert isinstance(t[3], tuple) + t3 = (t[3][0], self._reduce, self.layers, t[3][3], t[3][4]) + self.tile = [ImageFile._Tile(t[0], (0, 0) + self.size, t[2], t3)] + + return ImageFile.ImageFile.load(self) + + +def _accept(prefix: bytes) -> bool: + return ( + prefix[:4] == b"\xff\x4f\xff\x51" + or prefix[:12] == b"\x00\x00\x00\x0cjP \x0d\x0a\x87\x0a" + ) + + +# ------------------------------------------------------------ +# Save support + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + # Get the keyword arguments + info = im.encoderinfo + + if isinstance(filename, str): + filename = filename.encode() + if filename.endswith(b".j2k") or info.get("no_jp2", False): + kind = "j2k" + else: + kind = "jp2" + + offset = info.get("offset", None) + tile_offset = info.get("tile_offset", None) + tile_size = info.get("tile_size", None) + quality_mode = info.get("quality_mode", "rates") + quality_layers = info.get("quality_layers", None) + if quality_layers is not None and not ( + isinstance(quality_layers, (list, tuple)) + and all( + isinstance(quality_layer, (int, float)) for quality_layer in quality_layers + ) + ): + msg = "quality_layers must be a sequence of numbers" + raise ValueError(msg) + + num_resolutions = info.get("num_resolutions", 0) + cblk_size = info.get("codeblock_size", None) + precinct_size = info.get("precinct_size", None) + irreversible = info.get("irreversible", False) + progression = info.get("progression", "LRCP") + cinema_mode = info.get("cinema_mode", "no") + mct = info.get("mct", 0) + signed = info.get("signed", False) + comment = info.get("comment") + if isinstance(comment, str): + comment = comment.encode() + plt = info.get("plt", False) + + fd = -1 + if hasattr(fp, "fileno"): + try: + fd = fp.fileno() + except Exception: + fd = -1 + + im.encoderconfig = ( + offset, + tile_offset, + tile_size, + quality_mode, + quality_layers, + num_resolutions, + cblk_size, + precinct_size, + irreversible, + progression, + cinema_mode, + mct, + signed, + fd, + comment, + plt, + ) + + ImageFile._save(im, fp, [ImageFile._Tile("jpeg2k", (0, 0) + im.size, 0, kind)]) + + +# ------------------------------------------------------------ +# Registry stuff + + +Image.register_open(Jpeg2KImageFile.format, Jpeg2KImageFile, _accept) +Image.register_save(Jpeg2KImageFile.format, _save) + +Image.register_extensions( + Jpeg2KImageFile.format, [".jp2", ".j2k", ".jpc", ".jpf", ".jpx", ".j2c"] +) + +Image.register_mime(Jpeg2KImageFile.format, "image/jp2") diff --git a/gestao_raul/Lib/site-packages/PIL/JpegImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/JpegImagePlugin.py new file mode 100644 index 0000000..6510e07 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/JpegImagePlugin.py @@ -0,0 +1,895 @@ +# +# The Python Imaging Library. +# $Id$ +# +# JPEG (JFIF) file handling +# +# See "Digital Compression and Coding of Continuous-Tone Still Images, +# Part 1, Requirements and Guidelines" (CCITT T.81 / ISO 10918-1) +# +# History: +# 1995-09-09 fl Created +# 1995-09-13 fl Added full parser +# 1996-03-25 fl Added hack to use the IJG command line utilities +# 1996-05-05 fl Workaround Photoshop 2.5 CMYK polarity bug +# 1996-05-28 fl Added draft support, JFIF version (0.1) +# 1996-12-30 fl Added encoder options, added progression property (0.2) +# 1997-08-27 fl Save mode 1 images as BW (0.3) +# 1998-07-12 fl Added YCbCr to draft and save methods (0.4) +# 1998-10-19 fl Don't hang on files using 16-bit DQT's (0.4.1) +# 2001-04-16 fl Extract DPI settings from JFIF files (0.4.2) +# 2002-07-01 fl Skip pad bytes before markers; identify Exif files (0.4.3) +# 2003-04-25 fl Added experimental EXIF decoder (0.5) +# 2003-06-06 fl Added experimental EXIF GPSinfo decoder +# 2003-09-13 fl Extract COM markers +# 2009-09-06 fl Added icc_profile support (from Florian Hoech) +# 2009-03-06 fl Changed CMYK handling; always use Adobe polarity (0.6) +# 2009-03-08 fl Added subsampling support (from Justin Huff). +# +# Copyright (c) 1997-2003 by Secret Labs AB. +# Copyright (c) 1995-1996 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import array +import io +import math +import os +import struct +import subprocess +import sys +import tempfile +import warnings +from typing import IO, TYPE_CHECKING, Any + +from . import Image, ImageFile +from ._binary import i16be as i16 +from ._binary import i32be as i32 +from ._binary import o8 +from ._binary import o16be as o16 +from ._deprecate import deprecate +from .JpegPresets import presets + +if TYPE_CHECKING: + from .MpoImagePlugin import MpoImageFile + +# +# Parser + + +def Skip(self: JpegImageFile, marker: int) -> None: + n = i16(self.fp.read(2)) - 2 + ImageFile._safe_read(self.fp, n) + + +def APP(self: JpegImageFile, marker: int) -> None: + # + # Application marker. Store these in the APP dictionary. + # Also look for well-known application markers. + + n = i16(self.fp.read(2)) - 2 + s = ImageFile._safe_read(self.fp, n) + + app = "APP%d" % (marker & 15) + + self.app[app] = s # compatibility + self.applist.append((app, s)) + + if marker == 0xFFE0 and s[:4] == b"JFIF": + # extract JFIF information + self.info["jfif"] = version = i16(s, 5) # version + self.info["jfif_version"] = divmod(version, 256) + # extract JFIF properties + try: + jfif_unit = s[7] + jfif_density = i16(s, 8), i16(s, 10) + except Exception: + pass + else: + if jfif_unit == 1: + self.info["dpi"] = jfif_density + self.info["jfif_unit"] = jfif_unit + self.info["jfif_density"] = jfif_density + elif marker == 0xFFE1 and s[:6] == b"Exif\0\0": + # extract EXIF information + if "exif" in self.info: + self.info["exif"] += s[6:] + else: + self.info["exif"] = s + self._exif_offset = self.fp.tell() - n + 6 + elif marker == 0xFFE1 and s[:29] == b"http://ns.adobe.com/xap/1.0/\x00": + self.info["xmp"] = s.split(b"\x00", 1)[1] + elif marker == 0xFFE2 and s[:5] == b"FPXR\0": + # extract FlashPix information (incomplete) + self.info["flashpix"] = s # FIXME: value will change + elif marker == 0xFFE2 and s[:12] == b"ICC_PROFILE\0": + # Since an ICC profile can be larger than the maximum size of + # a JPEG marker (64K), we need provisions to split it into + # multiple markers. The format defined by the ICC specifies + # one or more APP2 markers containing the following data: + # Identifying string ASCII "ICC_PROFILE\0" (12 bytes) + # Marker sequence number 1, 2, etc (1 byte) + # Number of markers Total of APP2's used (1 byte) + # Profile data (remainder of APP2 data) + # Decoders should use the marker sequence numbers to + # reassemble the profile, rather than assuming that the APP2 + # markers appear in the correct sequence. + self.icclist.append(s) + elif marker == 0xFFED and s[:14] == b"Photoshop 3.0\x00": + # parse the image resource block + offset = 14 + photoshop = self.info.setdefault("photoshop", {}) + while s[offset : offset + 4] == b"8BIM": + try: + offset += 4 + # resource code + code = i16(s, offset) + offset += 2 + # resource name (usually empty) + name_len = s[offset] + # name = s[offset+1:offset+1+name_len] + offset += 1 + name_len + offset += offset & 1 # align + # resource data block + size = i32(s, offset) + offset += 4 + data = s[offset : offset + size] + if code == 0x03ED: # ResolutionInfo + photoshop[code] = { + "XResolution": i32(data, 0) / 65536, + "DisplayedUnitsX": i16(data, 4), + "YResolution": i32(data, 8) / 65536, + "DisplayedUnitsY": i16(data, 12), + } + else: + photoshop[code] = data + offset += size + offset += offset & 1 # align + except struct.error: + break # insufficient data + + elif marker == 0xFFEE and s[:5] == b"Adobe": + self.info["adobe"] = i16(s, 5) + # extract Adobe custom properties + try: + adobe_transform = s[11] + except IndexError: + pass + else: + self.info["adobe_transform"] = adobe_transform + elif marker == 0xFFE2 and s[:4] == b"MPF\0": + # extract MPO information + self.info["mp"] = s[4:] + # offset is current location minus buffer size + # plus constant header size + self.info["mpoffset"] = self.fp.tell() - n + 4 + + +def COM(self: JpegImageFile, marker: int) -> None: + # + # Comment marker. Store these in the APP dictionary. + n = i16(self.fp.read(2)) - 2 + s = ImageFile._safe_read(self.fp, n) + + self.info["comment"] = s + self.app["COM"] = s # compatibility + self.applist.append(("COM", s)) + + +def SOF(self: JpegImageFile, marker: int) -> None: + # + # Start of frame marker. Defines the size and mode of the + # image. JPEG is colour blind, so we use some simple + # heuristics to map the number of layers to an appropriate + # mode. Note that this could be made a bit brighter, by + # looking for JFIF and Adobe APP markers. + + n = i16(self.fp.read(2)) - 2 + s = ImageFile._safe_read(self.fp, n) + self._size = i16(s, 3), i16(s, 1) + + self.bits = s[0] + if self.bits != 8: + msg = f"cannot handle {self.bits}-bit layers" + raise SyntaxError(msg) + + self.layers = s[5] + if self.layers == 1: + self._mode = "L" + elif self.layers == 3: + self._mode = "RGB" + elif self.layers == 4: + self._mode = "CMYK" + else: + msg = f"cannot handle {self.layers}-layer images" + raise SyntaxError(msg) + + if marker in [0xFFC2, 0xFFC6, 0xFFCA, 0xFFCE]: + self.info["progressive"] = self.info["progression"] = 1 + + if self.icclist: + # fixup icc profile + self.icclist.sort() # sort by sequence number + if self.icclist[0][13] == len(self.icclist): + profile = [p[14:] for p in self.icclist] + icc_profile = b"".join(profile) + else: + icc_profile = None # wrong number of fragments + self.info["icc_profile"] = icc_profile + self.icclist = [] + + for i in range(6, len(s), 3): + t = s[i : i + 3] + # 4-tuples: id, vsamp, hsamp, qtable + self.layer.append((t[0], t[1] // 16, t[1] & 15, t[2])) + + +def DQT(self: JpegImageFile, marker: int) -> None: + # + # Define quantization table. Note that there might be more + # than one table in each marker. + + # FIXME: The quantization tables can be used to estimate the + # compression quality. + + n = i16(self.fp.read(2)) - 2 + s = ImageFile._safe_read(self.fp, n) + while len(s): + v = s[0] + precision = 1 if (v // 16 == 0) else 2 # in bytes + qt_length = 1 + precision * 64 + if len(s) < qt_length: + msg = "bad quantization table marker" + raise SyntaxError(msg) + data = array.array("B" if precision == 1 else "H", s[1:qt_length]) + if sys.byteorder == "little" and precision > 1: + data.byteswap() # the values are always big-endian + self.quantization[v & 15] = [data[i] for i in zigzag_index] + s = s[qt_length:] + + +# +# JPEG marker table + +MARKER = { + 0xFFC0: ("SOF0", "Baseline DCT", SOF), + 0xFFC1: ("SOF1", "Extended Sequential DCT", SOF), + 0xFFC2: ("SOF2", "Progressive DCT", SOF), + 0xFFC3: ("SOF3", "Spatial lossless", SOF), + 0xFFC4: ("DHT", "Define Huffman table", Skip), + 0xFFC5: ("SOF5", "Differential sequential DCT", SOF), + 0xFFC6: ("SOF6", "Differential progressive DCT", SOF), + 0xFFC7: ("SOF7", "Differential spatial", SOF), + 0xFFC8: ("JPG", "Extension", None), + 0xFFC9: ("SOF9", "Extended sequential DCT (AC)", SOF), + 0xFFCA: ("SOF10", "Progressive DCT (AC)", SOF), + 0xFFCB: ("SOF11", "Spatial lossless DCT (AC)", SOF), + 0xFFCC: ("DAC", "Define arithmetic coding conditioning", Skip), + 0xFFCD: ("SOF13", "Differential sequential DCT (AC)", SOF), + 0xFFCE: ("SOF14", "Differential progressive DCT (AC)", SOF), + 0xFFCF: ("SOF15", "Differential spatial (AC)", SOF), + 0xFFD0: ("RST0", "Restart 0", None), + 0xFFD1: ("RST1", "Restart 1", None), + 0xFFD2: ("RST2", "Restart 2", None), + 0xFFD3: ("RST3", "Restart 3", None), + 0xFFD4: ("RST4", "Restart 4", None), + 0xFFD5: ("RST5", "Restart 5", None), + 0xFFD6: ("RST6", "Restart 6", None), + 0xFFD7: ("RST7", "Restart 7", None), + 0xFFD8: ("SOI", "Start of image", None), + 0xFFD9: ("EOI", "End of image", None), + 0xFFDA: ("SOS", "Start of scan", Skip), + 0xFFDB: ("DQT", "Define quantization table", DQT), + 0xFFDC: ("DNL", "Define number of lines", Skip), + 0xFFDD: ("DRI", "Define restart interval", Skip), + 0xFFDE: ("DHP", "Define hierarchical progression", SOF), + 0xFFDF: ("EXP", "Expand reference component", Skip), + 0xFFE0: ("APP0", "Application segment 0", APP), + 0xFFE1: ("APP1", "Application segment 1", APP), + 0xFFE2: ("APP2", "Application segment 2", APP), + 0xFFE3: ("APP3", "Application segment 3", APP), + 0xFFE4: ("APP4", "Application segment 4", APP), + 0xFFE5: ("APP5", "Application segment 5", APP), + 0xFFE6: ("APP6", "Application segment 6", APP), + 0xFFE7: ("APP7", "Application segment 7", APP), + 0xFFE8: ("APP8", "Application segment 8", APP), + 0xFFE9: ("APP9", "Application segment 9", APP), + 0xFFEA: ("APP10", "Application segment 10", APP), + 0xFFEB: ("APP11", "Application segment 11", APP), + 0xFFEC: ("APP12", "Application segment 12", APP), + 0xFFED: ("APP13", "Application segment 13", APP), + 0xFFEE: ("APP14", "Application segment 14", APP), + 0xFFEF: ("APP15", "Application segment 15", APP), + 0xFFF0: ("JPG0", "Extension 0", None), + 0xFFF1: ("JPG1", "Extension 1", None), + 0xFFF2: ("JPG2", "Extension 2", None), + 0xFFF3: ("JPG3", "Extension 3", None), + 0xFFF4: ("JPG4", "Extension 4", None), + 0xFFF5: ("JPG5", "Extension 5", None), + 0xFFF6: ("JPG6", "Extension 6", None), + 0xFFF7: ("JPG7", "Extension 7", None), + 0xFFF8: ("JPG8", "Extension 8", None), + 0xFFF9: ("JPG9", "Extension 9", None), + 0xFFFA: ("JPG10", "Extension 10", None), + 0xFFFB: ("JPG11", "Extension 11", None), + 0xFFFC: ("JPG12", "Extension 12", None), + 0xFFFD: ("JPG13", "Extension 13", None), + 0xFFFE: ("COM", "Comment", COM), +} + + +def _accept(prefix: bytes) -> bool: + # Magic number was taken from https://en.wikipedia.org/wiki/JPEG + return prefix[:3] == b"\xFF\xD8\xFF" + + +## +# Image plugin for JPEG and JFIF images. + + +class JpegImageFile(ImageFile.ImageFile): + format = "JPEG" + format_description = "JPEG (ISO 10918)" + + def _open(self) -> None: + s = self.fp.read(3) + + if not _accept(s): + msg = "not a JPEG file" + raise SyntaxError(msg) + s = b"\xFF" + + # Create attributes + self.bits = self.layers = 0 + self._exif_offset = 0 + + # JPEG specifics (internal) + self.layer: list[tuple[int, int, int, int]] = [] + self._huffman_dc: dict[Any, Any] = {} + self._huffman_ac: dict[Any, Any] = {} + self.quantization: dict[int, list[int]] = {} + self.app: dict[str, bytes] = {} # compatibility + self.applist: list[tuple[str, bytes]] = [] + self.icclist: list[bytes] = [] + + while True: + i = s[0] + if i == 0xFF: + s = s + self.fp.read(1) + i = i16(s) + else: + # Skip non-0xFF junk + s = self.fp.read(1) + continue + + if i in MARKER: + name, description, handler = MARKER[i] + if handler is not None: + handler(self, i) + if i == 0xFFDA: # start of scan + rawmode = self.mode + if self.mode == "CMYK": + rawmode = "CMYK;I" # assume adobe conventions + self.tile = [ + ImageFile._Tile("jpeg", (0, 0) + self.size, 0, (rawmode, "")) + ] + # self.__offset = self.fp.tell() + break + s = self.fp.read(1) + elif i in {0, 0xFFFF}: + # padded marker or junk; move on + s = b"\xff" + elif i == 0xFF00: # Skip extraneous data (escaped 0xFF) + s = self.fp.read(1) + else: + msg = "no marker found" + raise SyntaxError(msg) + + self._read_dpi_from_exif() + + def __getattr__(self, name: str) -> Any: + if name in ("huffman_ac", "huffman_dc"): + deprecate(name, 12) + return getattr(self, "_" + name) + raise AttributeError(name) + + def load_read(self, read_bytes: int) -> bytes: + """ + internal: read more image data + For premature EOF and LOAD_TRUNCATED_IMAGES adds EOI marker + so libjpeg can finish decoding + """ + s = self.fp.read(read_bytes) + + if not s and ImageFile.LOAD_TRUNCATED_IMAGES and not hasattr(self, "_ended"): + # Premature EOF. + # Pretend file is finished adding EOI marker + self._ended = True + return b"\xFF\xD9" + + return s + + def draft( + self, mode: str | None, size: tuple[int, int] | None + ) -> tuple[str, tuple[int, int, float, float]] | None: + if len(self.tile) != 1: + return None + + # Protect from second call + if self.decoderconfig: + return None + + d, e, o, a = self.tile[0] + scale = 1 + original_size = self.size + + assert isinstance(a, tuple) + if a[0] == "RGB" and mode in ["L", "YCbCr"]: + self._mode = mode + a = mode, "" + + if size: + scale = min(self.size[0] // size[0], self.size[1] // size[1]) + for s in [8, 4, 2, 1]: + if scale >= s: + break + assert e is not None + e = ( + e[0], + e[1], + (e[2] - e[0] + s - 1) // s + e[0], + (e[3] - e[1] + s - 1) // s + e[1], + ) + self._size = ((self.size[0] + s - 1) // s, (self.size[1] + s - 1) // s) + scale = s + + self.tile = [ImageFile._Tile(d, e, o, a)] + self.decoderconfig = (scale, 0) + + box = (0, 0, original_size[0] / scale, original_size[1] / scale) + return self.mode, box + + def load_djpeg(self) -> None: + # ALTERNATIVE: handle JPEGs via the IJG command line utilities + + f, path = tempfile.mkstemp() + os.close(f) + if os.path.exists(self.filename): + subprocess.check_call(["djpeg", "-outfile", path, self.filename]) + else: + try: + os.unlink(path) + except OSError: + pass + + msg = "Invalid Filename" + raise ValueError(msg) + + try: + with Image.open(path) as _im: + _im.load() + self.im = _im.im + finally: + try: + os.unlink(path) + except OSError: + pass + + self._mode = self.im.mode + self._size = self.im.size + + self.tile = [] + + def _getexif(self) -> dict[int, Any] | None: + return _getexif(self) + + def _read_dpi_from_exif(self) -> None: + # If DPI isn't in JPEG header, fetch from EXIF + if "dpi" in self.info or "exif" not in self.info: + return + try: + exif = self.getexif() + resolution_unit = exif[0x0128] + x_resolution = exif[0x011A] + try: + dpi = float(x_resolution[0]) / x_resolution[1] + except TypeError: + dpi = x_resolution + if math.isnan(dpi): + msg = "DPI is not a number" + raise ValueError(msg) + if resolution_unit == 3: # cm + # 1 dpcm = 2.54 dpi + dpi *= 2.54 + self.info["dpi"] = dpi, dpi + except ( + struct.error, # truncated EXIF + KeyError, # dpi not included + SyntaxError, # invalid/unreadable EXIF + TypeError, # dpi is an invalid float + ValueError, # dpi is an invalid float + ZeroDivisionError, # invalid dpi rational value + ): + self.info["dpi"] = 72, 72 + + def _getmp(self) -> dict[int, Any] | None: + return _getmp(self) + + +def _getexif(self: JpegImageFile) -> dict[int, Any] | None: + if "exif" not in self.info: + return None + return self.getexif()._get_merged_dict() + + +def _getmp(self: JpegImageFile) -> dict[int, Any] | None: + # Extract MP information. This method was inspired by the "highly + # experimental" _getexif version that's been in use for years now, + # itself based on the ImageFileDirectory class in the TIFF plugin. + + # The MP record essentially consists of a TIFF file embedded in a JPEG + # application marker. + try: + data = self.info["mp"] + except KeyError: + return None + file_contents = io.BytesIO(data) + head = file_contents.read(8) + endianness = ">" if head[:4] == b"\x4d\x4d\x00\x2a" else "<" + # process dictionary + from . import TiffImagePlugin + + try: + info = TiffImagePlugin.ImageFileDirectory_v2(head) + file_contents.seek(info.next) + info.load(file_contents) + mp = dict(info) + except Exception as e: + msg = "malformed MP Index (unreadable directory)" + raise SyntaxError(msg) from e + # it's an error not to have a number of images + try: + quant = mp[0xB001] + except KeyError as e: + msg = "malformed MP Index (no number of images)" + raise SyntaxError(msg) from e + # get MP entries + mpentries = [] + try: + rawmpentries = mp[0xB002] + for entrynum in range(0, quant): + unpackedentry = struct.unpack_from( + f"{endianness}LLLHH", rawmpentries, entrynum * 16 + ) + labels = ("Attribute", "Size", "DataOffset", "EntryNo1", "EntryNo2") + mpentry = dict(zip(labels, unpackedentry)) + mpentryattr = { + "DependentParentImageFlag": bool(mpentry["Attribute"] & (1 << 31)), + "DependentChildImageFlag": bool(mpentry["Attribute"] & (1 << 30)), + "RepresentativeImageFlag": bool(mpentry["Attribute"] & (1 << 29)), + "Reserved": (mpentry["Attribute"] & (3 << 27)) >> 27, + "ImageDataFormat": (mpentry["Attribute"] & (7 << 24)) >> 24, + "MPType": mpentry["Attribute"] & 0x00FFFFFF, + } + if mpentryattr["ImageDataFormat"] == 0: + mpentryattr["ImageDataFormat"] = "JPEG" + else: + msg = "unsupported picture format in MPO" + raise SyntaxError(msg) + mptypemap = { + 0x000000: "Undefined", + 0x010001: "Large Thumbnail (VGA Equivalent)", + 0x010002: "Large Thumbnail (Full HD Equivalent)", + 0x020001: "Multi-Frame Image (Panorama)", + 0x020002: "Multi-Frame Image: (Disparity)", + 0x020003: "Multi-Frame Image: (Multi-Angle)", + 0x030000: "Baseline MP Primary Image", + } + mpentryattr["MPType"] = mptypemap.get(mpentryattr["MPType"], "Unknown") + mpentry["Attribute"] = mpentryattr + mpentries.append(mpentry) + mp[0xB002] = mpentries + except KeyError as e: + msg = "malformed MP Index (bad MP Entry)" + raise SyntaxError(msg) from e + # Next we should try and parse the individual image unique ID list; + # we don't because I've never seen this actually used in a real MPO + # file and so can't test it. + return mp + + +# -------------------------------------------------------------------- +# stuff to save JPEG files + +RAWMODE = { + "1": "L", + "L": "L", + "RGB": "RGB", + "RGBX": "RGB", + "CMYK": "CMYK;I", # assume adobe conventions + "YCbCr": "YCbCr", +} + +# fmt: off +zigzag_index = ( + 0, 1, 5, 6, 14, 15, 27, 28, + 2, 4, 7, 13, 16, 26, 29, 42, + 3, 8, 12, 17, 25, 30, 41, 43, + 9, 11, 18, 24, 31, 40, 44, 53, + 10, 19, 23, 32, 39, 45, 52, 54, + 20, 22, 33, 38, 46, 51, 55, 60, + 21, 34, 37, 47, 50, 56, 59, 61, + 35, 36, 48, 49, 57, 58, 62, 63, +) + +samplings = { + (1, 1, 1, 1, 1, 1): 0, + (2, 1, 1, 1, 1, 1): 1, + (2, 2, 1, 1, 1, 1): 2, +} +# fmt: on + + +def get_sampling(im: Image.Image) -> int: + # There's no subsampling when images have only 1 layer + # (grayscale images) or when they are CMYK (4 layers), + # so set subsampling to the default value. + # + # NOTE: currently Pillow can't encode JPEG to YCCK format. + # If YCCK support is added in the future, subsampling code will have + # to be updated (here and in JpegEncode.c) to deal with 4 layers. + if not isinstance(im, JpegImageFile) or im.layers in (1, 4): + return -1 + sampling = im.layer[0][1:3] + im.layer[1][1:3] + im.layer[2][1:3] + return samplings.get(sampling, -1) + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if im.width == 0 or im.height == 0: + msg = "cannot write empty image as JPEG" + raise ValueError(msg) + + try: + rawmode = RAWMODE[im.mode] + except KeyError as e: + msg = f"cannot write mode {im.mode} as JPEG" + raise OSError(msg) from e + + info = im.encoderinfo + + dpi = [round(x) for x in info.get("dpi", (0, 0))] + + quality = info.get("quality", -1) + subsampling = info.get("subsampling", -1) + qtables = info.get("qtables") + + if quality == "keep": + quality = -1 + subsampling = "keep" + qtables = "keep" + elif quality in presets: + preset = presets[quality] + quality = -1 + subsampling = preset.get("subsampling", -1) + qtables = preset.get("quantization") + elif not isinstance(quality, int): + msg = "Invalid quality setting" + raise ValueError(msg) + else: + if subsampling in presets: + subsampling = presets[subsampling].get("subsampling", -1) + if isinstance(qtables, str) and qtables in presets: + qtables = presets[qtables].get("quantization") + + if subsampling == "4:4:4": + subsampling = 0 + elif subsampling == "4:2:2": + subsampling = 1 + elif subsampling == "4:2:0": + subsampling = 2 + elif subsampling == "4:1:1": + # For compatibility. Before Pillow 4.3, 4:1:1 actually meant 4:2:0. + # Set 4:2:0 if someone is still using that value. + subsampling = 2 + elif subsampling == "keep": + if im.format != "JPEG": + msg = "Cannot use 'keep' when original image is not a JPEG" + raise ValueError(msg) + subsampling = get_sampling(im) + + def validate_qtables( + qtables: ( + str | tuple[list[int], ...] | list[list[int]] | dict[int, list[int]] | None + ) + ) -> list[list[int]] | None: + if qtables is None: + return qtables + if isinstance(qtables, str): + try: + lines = [ + int(num) + for line in qtables.splitlines() + for num in line.split("#", 1)[0].split() + ] + except ValueError as e: + msg = "Invalid quantization table" + raise ValueError(msg) from e + else: + qtables = [lines[s : s + 64] for s in range(0, len(lines), 64)] + if isinstance(qtables, (tuple, list, dict)): + if isinstance(qtables, dict): + qtables = [ + qtables[key] for key in range(len(qtables)) if key in qtables + ] + elif isinstance(qtables, tuple): + qtables = list(qtables) + if not (0 < len(qtables) < 5): + msg = "None or too many quantization tables" + raise ValueError(msg) + for idx, table in enumerate(qtables): + try: + if len(table) != 64: + msg = "Invalid quantization table" + raise TypeError(msg) + table_array = array.array("H", table) + except TypeError as e: + msg = "Invalid quantization table" + raise ValueError(msg) from e + else: + qtables[idx] = list(table_array) + return qtables + + if qtables == "keep": + if im.format != "JPEG": + msg = "Cannot use 'keep' when original image is not a JPEG" + raise ValueError(msg) + qtables = getattr(im, "quantization", None) + qtables = validate_qtables(qtables) + + extra = info.get("extra", b"") + + MAX_BYTES_IN_MARKER = 65533 + xmp = info.get("xmp", im.info.get("xmp")) + if xmp: + overhead_len = 29 # b"http://ns.adobe.com/xap/1.0/\x00" + max_data_bytes_in_marker = MAX_BYTES_IN_MARKER - overhead_len + if len(xmp) > max_data_bytes_in_marker: + msg = "XMP data is too long" + raise ValueError(msg) + size = o16(2 + overhead_len + len(xmp)) + extra += b"\xFF\xE1" + size + b"http://ns.adobe.com/xap/1.0/\x00" + xmp + + icc_profile = info.get("icc_profile") + if icc_profile: + overhead_len = 14 # b"ICC_PROFILE\0" + o8(i) + o8(len(markers)) + max_data_bytes_in_marker = MAX_BYTES_IN_MARKER - overhead_len + markers = [] + while icc_profile: + markers.append(icc_profile[:max_data_bytes_in_marker]) + icc_profile = icc_profile[max_data_bytes_in_marker:] + i = 1 + for marker in markers: + size = o16(2 + overhead_len + len(marker)) + extra += ( + b"\xFF\xE2" + + size + + b"ICC_PROFILE\0" + + o8(i) + + o8(len(markers)) + + marker + ) + i += 1 + + comment = info.get("comment", im.info.get("comment")) + + # "progressive" is the official name, but older documentation + # says "progression" + # FIXME: issue a warning if the wrong form is used (post-1.1.7) + progressive = info.get("progressive", False) or info.get("progression", False) + + optimize = info.get("optimize", False) + + exif = info.get("exif", b"") + if isinstance(exif, Image.Exif): + exif = exif.tobytes() + if len(exif) > MAX_BYTES_IN_MARKER: + msg = "EXIF data is too long" + raise ValueError(msg) + + # get keyword arguments + im.encoderconfig = ( + quality, + progressive, + info.get("smooth", 0), + optimize, + info.get("keep_rgb", False), + info.get("streamtype", 0), + dpi[0], + dpi[1], + subsampling, + info.get("restart_marker_blocks", 0), + info.get("restart_marker_rows", 0), + qtables, + comment, + extra, + exif, + ) + + # if we optimize, libjpeg needs a buffer big enough to hold the whole image + # in a shot. Guessing on the size, at im.size bytes. (raw pixel size is + # channels*size, this is a value that's been used in a django patch. + # https://github.com/matthewwithanm/django-imagekit/issues/50 + bufsize = 0 + if optimize or progressive: + # CMYK can be bigger + if im.mode == "CMYK": + bufsize = 4 * im.size[0] * im.size[1] + # keep sets quality to -1, but the actual value may be high. + elif quality >= 95 or quality == -1: + bufsize = 2 * im.size[0] * im.size[1] + else: + bufsize = im.size[0] * im.size[1] + if exif: + bufsize += len(exif) + 5 + if extra: + bufsize += len(extra) + 1 + else: + # The EXIF info needs to be written as one block, + APP1, + one spare byte. + # Ensure that our buffer is big enough. Same with the icc_profile block. + bufsize = max(bufsize, len(exif) + 5, len(extra) + 1) + + ImageFile._save( + im, fp, [ImageFile._Tile("jpeg", (0, 0) + im.size, 0, rawmode)], bufsize + ) + + +def _save_cjpeg(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + # ALTERNATIVE: handle JPEGs via the IJG command line utilities. + tempfile = im._dump() + subprocess.check_call(["cjpeg", "-outfile", filename, tempfile]) + try: + os.unlink(tempfile) + except OSError: + pass + + +## +# Factory for making JPEG and MPO instances +def jpeg_factory( + fp: IO[bytes], filename: str | bytes | None = None +) -> JpegImageFile | MpoImageFile: + im = JpegImageFile(fp, filename) + try: + mpheader = im._getmp() + if mpheader is not None and mpheader[45057] > 1: + for segment, content in im.applist: + if segment == "APP1" and b' hdrgm:Version="' in content: + # Ultra HDR images are not yet supported + return im + # It's actually an MPO + from .MpoImagePlugin import MpoImageFile + + # Don't reload everything, just convert it. + im = MpoImageFile.adopt(im, mpheader) + except (TypeError, IndexError): + # It is really a JPEG + pass + except SyntaxError: + warnings.warn( + "Image appears to be a malformed MPO file, it will be " + "interpreted as a base JPEG file" + ) + return im + + +# --------------------------------------------------------------------- +# Registry stuff + +Image.register_open(JpegImageFile.format, jpeg_factory, _accept) +Image.register_save(JpegImageFile.format, _save) + +Image.register_extensions(JpegImageFile.format, [".jfif", ".jpe", ".jpg", ".jpeg"]) + +Image.register_mime(JpegImageFile.format, "image/jpeg") diff --git a/gestao_raul/Lib/site-packages/PIL/JpegPresets.py b/gestao_raul/Lib/site-packages/PIL/JpegPresets.py new file mode 100644 index 0000000..d0e64a3 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/JpegPresets.py @@ -0,0 +1,242 @@ +""" +JPEG quality settings equivalent to the Photoshop settings. +Can be used when saving JPEG files. + +The following presets are available by default: +``web_low``, ``web_medium``, ``web_high``, ``web_very_high``, ``web_maximum``, +``low``, ``medium``, ``high``, ``maximum``. +More presets can be added to the :py:data:`presets` dict if needed. + +To apply the preset, specify:: + + quality="preset_name" + +To apply only the quantization table:: + + qtables="preset_name" + +To apply only the subsampling setting:: + + subsampling="preset_name" + +Example:: + + im.save("image_name.jpg", quality="web_high") + +Subsampling +----------- + +Subsampling is the practice of encoding images by implementing less resolution +for chroma information than for luma information. +(ref.: https://en.wikipedia.org/wiki/Chroma_subsampling) + +Possible subsampling values are 0, 1 and 2 that correspond to 4:4:4, 4:2:2 and +4:2:0. + +You can get the subsampling of a JPEG with the +:func:`.JpegImagePlugin.get_sampling` function. + +In JPEG compressed data a JPEG marker is used instead of an EXIF tag. +(ref.: https://exiv2.org/tags.html) + + +Quantization tables +------------------- + +They are values use by the DCT (Discrete cosine transform) to remove +*unnecessary* information from the image (the lossy part of the compression). +(ref.: https://en.wikipedia.org/wiki/Quantization_matrix#Quantization_matrices, +https://en.wikipedia.org/wiki/JPEG#Quantization) + +You can get the quantization tables of a JPEG with:: + + im.quantization + +This will return a dict with a number of lists. You can pass this dict +directly as the qtables argument when saving a JPEG. + +The quantization table format in presets is a list with sublists. These formats +are interchangeable. + +Libjpeg ref.: +https://web.archive.org/web/20120328125543/http://www.jpegcameras.com/libjpeg/libjpeg-3.html + +""" + +from __future__ import annotations + +# fmt: off +presets = { + 'web_low': {'subsampling': 2, # "4:2:0" + 'quantization': [ + [20, 16, 25, 39, 50, 46, 62, 68, + 16, 18, 23, 38, 38, 53, 65, 68, + 25, 23, 31, 38, 53, 65, 68, 68, + 39, 38, 38, 53, 65, 68, 68, 68, + 50, 38, 53, 65, 68, 68, 68, 68, + 46, 53, 65, 68, 68, 68, 68, 68, + 62, 65, 68, 68, 68, 68, 68, 68, + 68, 68, 68, 68, 68, 68, 68, 68], + [21, 25, 32, 38, 54, 68, 68, 68, + 25, 28, 24, 38, 54, 68, 68, 68, + 32, 24, 32, 43, 66, 68, 68, 68, + 38, 38, 43, 53, 68, 68, 68, 68, + 54, 54, 66, 68, 68, 68, 68, 68, + 68, 68, 68, 68, 68, 68, 68, 68, + 68, 68, 68, 68, 68, 68, 68, 68, + 68, 68, 68, 68, 68, 68, 68, 68] + ]}, + 'web_medium': {'subsampling': 2, # "4:2:0" + 'quantization': [ + [16, 11, 11, 16, 23, 27, 31, 30, + 11, 12, 12, 15, 20, 23, 23, 30, + 11, 12, 13, 16, 23, 26, 35, 47, + 16, 15, 16, 23, 26, 37, 47, 64, + 23, 20, 23, 26, 39, 51, 64, 64, + 27, 23, 26, 37, 51, 64, 64, 64, + 31, 23, 35, 47, 64, 64, 64, 64, + 30, 30, 47, 64, 64, 64, 64, 64], + [17, 15, 17, 21, 20, 26, 38, 48, + 15, 19, 18, 17, 20, 26, 35, 43, + 17, 18, 20, 22, 26, 30, 46, 53, + 21, 17, 22, 28, 30, 39, 53, 64, + 20, 20, 26, 30, 39, 48, 64, 64, + 26, 26, 30, 39, 48, 63, 64, 64, + 38, 35, 46, 53, 64, 64, 64, 64, + 48, 43, 53, 64, 64, 64, 64, 64] + ]}, + 'web_high': {'subsampling': 0, # "4:4:4" + 'quantization': [ + [6, 4, 4, 6, 9, 11, 12, 16, + 4, 5, 5, 6, 8, 10, 12, 12, + 4, 5, 5, 6, 10, 12, 14, 19, + 6, 6, 6, 11, 12, 15, 19, 28, + 9, 8, 10, 12, 16, 20, 27, 31, + 11, 10, 12, 15, 20, 27, 31, 31, + 12, 12, 14, 19, 27, 31, 31, 31, + 16, 12, 19, 28, 31, 31, 31, 31], + [7, 7, 13, 24, 26, 31, 31, 31, + 7, 12, 16, 21, 31, 31, 31, 31, + 13, 16, 17, 31, 31, 31, 31, 31, + 24, 21, 31, 31, 31, 31, 31, 31, + 26, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31, + 31, 31, 31, 31, 31, 31, 31, 31] + ]}, + 'web_very_high': {'subsampling': 0, # "4:4:4" + 'quantization': [ + [2, 2, 2, 2, 3, 4, 5, 6, + 2, 2, 2, 2, 3, 4, 5, 6, + 2, 2, 2, 2, 4, 5, 7, 9, + 2, 2, 2, 4, 5, 7, 9, 12, + 3, 3, 4, 5, 8, 10, 12, 12, + 4, 4, 5, 7, 10, 12, 12, 12, + 5, 5, 7, 9, 12, 12, 12, 12, + 6, 6, 9, 12, 12, 12, 12, 12], + [3, 3, 5, 9, 13, 15, 15, 15, + 3, 4, 6, 11, 14, 12, 12, 12, + 5, 6, 9, 14, 12, 12, 12, 12, + 9, 11, 14, 12, 12, 12, 12, 12, + 13, 14, 12, 12, 12, 12, 12, 12, + 15, 12, 12, 12, 12, 12, 12, 12, + 15, 12, 12, 12, 12, 12, 12, 12, + 15, 12, 12, 12, 12, 12, 12, 12] + ]}, + 'web_maximum': {'subsampling': 0, # "4:4:4" + 'quantization': [ + [1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 2, + 1, 1, 1, 1, 1, 1, 2, 2, + 1, 1, 1, 1, 1, 2, 2, 3, + 1, 1, 1, 1, 2, 2, 3, 3, + 1, 1, 1, 2, 2, 3, 3, 3, + 1, 1, 2, 2, 3, 3, 3, 3], + [1, 1, 1, 2, 2, 3, 3, 3, + 1, 1, 1, 2, 3, 3, 3, 3, + 1, 1, 1, 3, 3, 3, 3, 3, + 2, 2, 3, 3, 3, 3, 3, 3, + 2, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3] + ]}, + 'low': {'subsampling': 2, # "4:2:0" + 'quantization': [ + [18, 14, 14, 21, 30, 35, 34, 17, + 14, 16, 16, 19, 26, 23, 12, 12, + 14, 16, 17, 21, 23, 12, 12, 12, + 21, 19, 21, 23, 12, 12, 12, 12, + 30, 26, 23, 12, 12, 12, 12, 12, + 35, 23, 12, 12, 12, 12, 12, 12, + 34, 12, 12, 12, 12, 12, 12, 12, + 17, 12, 12, 12, 12, 12, 12, 12], + [20, 19, 22, 27, 20, 20, 17, 17, + 19, 25, 23, 14, 14, 12, 12, 12, + 22, 23, 14, 14, 12, 12, 12, 12, + 27, 14, 14, 12, 12, 12, 12, 12, + 20, 14, 12, 12, 12, 12, 12, 12, + 20, 12, 12, 12, 12, 12, 12, 12, + 17, 12, 12, 12, 12, 12, 12, 12, + 17, 12, 12, 12, 12, 12, 12, 12] + ]}, + 'medium': {'subsampling': 2, # "4:2:0" + 'quantization': [ + [12, 8, 8, 12, 17, 21, 24, 17, + 8, 9, 9, 11, 15, 19, 12, 12, + 8, 9, 10, 12, 19, 12, 12, 12, + 12, 11, 12, 21, 12, 12, 12, 12, + 17, 15, 19, 12, 12, 12, 12, 12, + 21, 19, 12, 12, 12, 12, 12, 12, + 24, 12, 12, 12, 12, 12, 12, 12, + 17, 12, 12, 12, 12, 12, 12, 12], + [13, 11, 13, 16, 20, 20, 17, 17, + 11, 14, 14, 14, 14, 12, 12, 12, + 13, 14, 14, 14, 12, 12, 12, 12, + 16, 14, 14, 12, 12, 12, 12, 12, + 20, 14, 12, 12, 12, 12, 12, 12, + 20, 12, 12, 12, 12, 12, 12, 12, + 17, 12, 12, 12, 12, 12, 12, 12, + 17, 12, 12, 12, 12, 12, 12, 12] + ]}, + 'high': {'subsampling': 0, # "4:4:4" + 'quantization': [ + [6, 4, 4, 6, 9, 11, 12, 16, + 4, 5, 5, 6, 8, 10, 12, 12, + 4, 5, 5, 6, 10, 12, 12, 12, + 6, 6, 6, 11, 12, 12, 12, 12, + 9, 8, 10, 12, 12, 12, 12, 12, + 11, 10, 12, 12, 12, 12, 12, 12, + 12, 12, 12, 12, 12, 12, 12, 12, + 16, 12, 12, 12, 12, 12, 12, 12], + [7, 7, 13, 24, 20, 20, 17, 17, + 7, 12, 16, 14, 14, 12, 12, 12, + 13, 16, 14, 14, 12, 12, 12, 12, + 24, 14, 14, 12, 12, 12, 12, 12, + 20, 14, 12, 12, 12, 12, 12, 12, + 20, 12, 12, 12, 12, 12, 12, 12, + 17, 12, 12, 12, 12, 12, 12, 12, + 17, 12, 12, 12, 12, 12, 12, 12] + ]}, + 'maximum': {'subsampling': 0, # "4:4:4" + 'quantization': [ + [2, 2, 2, 2, 3, 4, 5, 6, + 2, 2, 2, 2, 3, 4, 5, 6, + 2, 2, 2, 2, 4, 5, 7, 9, + 2, 2, 2, 4, 5, 7, 9, 12, + 3, 3, 4, 5, 8, 10, 12, 12, + 4, 4, 5, 7, 10, 12, 12, 12, + 5, 5, 7, 9, 12, 12, 12, 12, + 6, 6, 9, 12, 12, 12, 12, 12], + [3, 3, 5, 9, 13, 15, 15, 15, + 3, 4, 6, 10, 14, 12, 12, 12, + 5, 6, 9, 14, 12, 12, 12, 12, + 9, 10, 14, 12, 12, 12, 12, 12, + 13, 14, 12, 12, 12, 12, 12, 12, + 15, 12, 12, 12, 12, 12, 12, 12, + 15, 12, 12, 12, 12, 12, 12, 12, + 15, 12, 12, 12, 12, 12, 12, 12] + ]}, +} +# fmt: on diff --git a/gestao_raul/Lib/site-packages/PIL/McIdasImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/McIdasImagePlugin.py new file mode 100644 index 0000000..5dd031b --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/McIdasImagePlugin.py @@ -0,0 +1,80 @@ +# +# The Python Imaging Library. +# $Id$ +# +# Basic McIdas support for PIL +# +# History: +# 1997-05-05 fl Created (8-bit images only) +# 2009-03-08 fl Added 16/32-bit support. +# +# Thanks to Richard Jones and Craig Swank for specs and samples. +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1997. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import struct + +from . import Image, ImageFile + + +def _accept(prefix: bytes) -> bool: + return prefix[:8] == b"\x00\x00\x00\x00\x00\x00\x00\x04" + + +## +# Image plugin for McIdas area images. + + +class McIdasImageFile(ImageFile.ImageFile): + format = "MCIDAS" + format_description = "McIdas area file" + + def _open(self) -> None: + # parse area file directory + assert self.fp is not None + + s = self.fp.read(256) + if not _accept(s) or len(s) != 256: + msg = "not an McIdas area file" + raise SyntaxError(msg) + + self.area_descriptor_raw = s + self.area_descriptor = w = [0] + list(struct.unpack("!64i", s)) + + # get mode + if w[11] == 1: + mode = rawmode = "L" + elif w[11] == 2: + # FIXME: add memory map support + mode = "I" + rawmode = "I;16B" + elif w[11] == 4: + # FIXME: add memory map support + mode = "I" + rawmode = "I;32B" + else: + msg = "unsupported McIdas format" + raise SyntaxError(msg) + + self._mode = mode + self._size = w[10], w[9] + + offset = w[34] + w[15] + stride = w[15] + w[10] * w[11] * w[14] + + self.tile = [ + ImageFile._Tile("raw", (0, 0) + self.size, offset, (rawmode, stride, 1)) + ] + + +# -------------------------------------------------------------------- +# registry + +Image.register_open(McIdasImageFile.format, McIdasImageFile, _accept) + +# no default extension diff --git a/gestao_raul/Lib/site-packages/PIL/MicImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/MicImagePlugin.py new file mode 100644 index 0000000..5f23a34 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/MicImagePlugin.py @@ -0,0 +1,107 @@ +# +# The Python Imaging Library. +# $Id$ +# +# Microsoft Image Composer support for PIL +# +# Notes: +# uses TiffImagePlugin.py to read the actual image streams +# +# History: +# 97-01-20 fl Created +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1997. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import olefile + +from . import Image, TiffImagePlugin + +# +# -------------------------------------------------------------------- + + +def _accept(prefix: bytes) -> bool: + return prefix[:8] == olefile.MAGIC + + +## +# Image plugin for Microsoft's Image Composer file format. + + +class MicImageFile(TiffImagePlugin.TiffImageFile): + format = "MIC" + format_description = "Microsoft Image Composer" + _close_exclusive_fp_after_loading = False + + def _open(self) -> None: + # read the OLE directory and see if this is a likely + # to be a Microsoft Image Composer file + + try: + self.ole = olefile.OleFileIO(self.fp) + except OSError as e: + msg = "not an MIC file; invalid OLE file" + raise SyntaxError(msg) from e + + # find ACI subfiles with Image members (maybe not the + # best way to identify MIC files, but what the... ;-) + + self.images = [ + path + for path in self.ole.listdir() + if path[1:] and path[0][-4:] == ".ACI" and path[1] == "Image" + ] + + # if we didn't find any images, this is probably not + # an MIC file. + if not self.images: + msg = "not an MIC file; no image entries" + raise SyntaxError(msg) + + self.frame = -1 + self._n_frames = len(self.images) + self.is_animated = self._n_frames > 1 + + self.__fp = self.fp + self.seek(0) + + def seek(self, frame: int) -> None: + if not self._seek_check(frame): + return + try: + filename = self.images[frame] + except IndexError as e: + msg = "no such frame" + raise EOFError(msg) from e + + self.fp = self.ole.openstream(filename) + + TiffImagePlugin.TiffImageFile._open(self) + + self.frame = frame + + def tell(self) -> int: + return self.frame + + def close(self) -> None: + self.__fp.close() + self.ole.close() + super().close() + + def __exit__(self, *args: object) -> None: + self.__fp.close() + self.ole.close() + super().__exit__() + + +# +# -------------------------------------------------------------------- + +Image.register_open(MicImageFile.format, MicImageFile, _accept) + +Image.register_extension(MicImageFile.format, ".mic") diff --git a/gestao_raul/Lib/site-packages/PIL/MpegImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/MpegImagePlugin.py new file mode 100644 index 0000000..ad4d3e9 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/MpegImagePlugin.py @@ -0,0 +1,88 @@ +# +# The Python Imaging Library. +# $Id$ +# +# MPEG file handling +# +# History: +# 95-09-09 fl Created +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1995. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from . import Image, ImageFile +from ._binary import i8 +from ._typing import SupportsRead + +# +# Bitstream parser + + +class BitStream: + def __init__(self, fp: SupportsRead[bytes]) -> None: + self.fp = fp + self.bits = 0 + self.bitbuffer = 0 + + def next(self) -> int: + return i8(self.fp.read(1)) + + def peek(self, bits: int) -> int: + while self.bits < bits: + c = self.next() + if c < 0: + self.bits = 0 + continue + self.bitbuffer = (self.bitbuffer << 8) + c + self.bits += 8 + return self.bitbuffer >> (self.bits - bits) & (1 << bits) - 1 + + def skip(self, bits: int) -> None: + while self.bits < bits: + self.bitbuffer = (self.bitbuffer << 8) + i8(self.fp.read(1)) + self.bits += 8 + self.bits = self.bits - bits + + def read(self, bits: int) -> int: + v = self.peek(bits) + self.bits = self.bits - bits + return v + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] == b"\x00\x00\x01\xb3" + + +## +# Image plugin for MPEG streams. This plugin can identify a stream, +# but it cannot read it. + + +class MpegImageFile(ImageFile.ImageFile): + format = "MPEG" + format_description = "MPEG" + + def _open(self) -> None: + assert self.fp is not None + + s = BitStream(self.fp) + if s.read(32) != 0x1B3: + msg = "not an MPEG file" + raise SyntaxError(msg) + + self._mode = "RGB" + self._size = s.read(12), s.read(12) + + +# -------------------------------------------------------------------- +# Registry stuff + +Image.register_open(MpegImageFile.format, MpegImageFile, _accept) + +Image.register_extensions(MpegImageFile.format, [".mpg", ".mpeg"]) + +Image.register_mime(MpegImageFile.format, "video/mpeg") diff --git a/gestao_raul/Lib/site-packages/PIL/MpoImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/MpoImagePlugin.py new file mode 100644 index 0000000..71f89a0 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/MpoImagePlugin.py @@ -0,0 +1,190 @@ +# +# The Python Imaging Library. +# $Id$ +# +# MPO file handling +# +# See "Multi-Picture Format" (CIPA DC-007-Translation 2009, Standard of the +# Camera & Imaging Products Association) +# +# The multi-picture object combines multiple JPEG images (with a modified EXIF +# data format) into a single file. While it can theoretically be used much like +# a GIF animation, it is commonly used to represent 3D photographs and is (as +# of this writing) the most commonly used format by 3D cameras. +# +# History: +# 2014-03-13 Feneric Created +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import itertools +import os +import struct +from typing import IO, Any, cast + +from . import ( + Image, + ImageFile, + ImageSequence, + JpegImagePlugin, + TiffImagePlugin, +) +from ._binary import o32le + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + JpegImagePlugin._save(im, fp, filename) + + +def _save_all(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + append_images = im.encoderinfo.get("append_images", []) + if not append_images and not getattr(im, "is_animated", False): + _save(im, fp, filename) + return + + mpf_offset = 28 + offsets: list[int] = [] + for imSequence in itertools.chain([im], append_images): + for im_frame in ImageSequence.Iterator(imSequence): + if not offsets: + # APP2 marker + im_frame.encoderinfo["extra"] = ( + b"\xFF\xE2" + struct.pack(">H", 6 + 82) + b"MPF\0" + b" " * 82 + ) + exif = im_frame.encoderinfo.get("exif") + if isinstance(exif, Image.Exif): + exif = exif.tobytes() + im_frame.encoderinfo["exif"] = exif + if exif: + mpf_offset += 4 + len(exif) + + JpegImagePlugin._save(im_frame, fp, filename) + offsets.append(fp.tell()) + else: + im_frame.save(fp, "JPEG") + offsets.append(fp.tell() - offsets[-1]) + + ifd = TiffImagePlugin.ImageFileDirectory_v2() + ifd[0xB000] = b"0100" + ifd[0xB001] = len(offsets) + + mpentries = b"" + data_offset = 0 + for i, size in enumerate(offsets): + if i == 0: + mptype = 0x030000 # Baseline MP Primary Image + else: + mptype = 0x000000 # Undefined + mpentries += struct.pack(" None: + self.fp.seek(0) # prep the fp in order to pass the JPEG test + JpegImagePlugin.JpegImageFile._open(self) + self._after_jpeg_open() + + def _after_jpeg_open(self, mpheader: dict[int, Any] | None = None) -> None: + self.mpinfo = mpheader if mpheader is not None else self._getmp() + if self.mpinfo is None: + msg = "Image appears to be a malformed MPO file" + raise ValueError(msg) + self.n_frames = self.mpinfo[0xB001] + self.__mpoffsets = [ + mpent["DataOffset"] + self.info["mpoffset"] for mpent in self.mpinfo[0xB002] + ] + self.__mpoffsets[0] = 0 + # Note that the following assertion will only be invalid if something + # gets broken within JpegImagePlugin. + assert self.n_frames == len(self.__mpoffsets) + del self.info["mpoffset"] # no longer needed + self.is_animated = self.n_frames > 1 + self._fp = self.fp # FIXME: hack + self._fp.seek(self.__mpoffsets[0]) # get ready to read first frame + self.__frame = 0 + self.offset = 0 + # for now we can only handle reading and individual frame extraction + self.readonly = 1 + + def load_seek(self, pos: int) -> None: + self._fp.seek(pos) + + def seek(self, frame: int) -> None: + if not self._seek_check(frame): + return + self.fp = self._fp + self.offset = self.__mpoffsets[frame] + + original_exif = self.info.get("exif") + if "exif" in self.info: + del self.info["exif"] + + self.fp.seek(self.offset + 2) # skip SOI marker + if not self.fp.read(2): + msg = "No data found for frame" + raise ValueError(msg) + self.fp.seek(self.offset) + JpegImagePlugin.JpegImageFile._open(self) + if self.info.get("exif") != original_exif: + self._reload_exif() + + self.tile = [ + ImageFile._Tile("jpeg", (0, 0) + self.size, self.offset, self.tile[0][-1]) + ] + self.__frame = frame + + def tell(self) -> int: + return self.__frame + + @staticmethod + def adopt( + jpeg_instance: JpegImagePlugin.JpegImageFile, + mpheader: dict[int, Any] | None = None, + ) -> MpoImageFile: + """ + Transform the instance of JpegImageFile into + an instance of MpoImageFile. + After the call, the JpegImageFile is extended + to be an MpoImageFile. + + This is essentially useful when opening a JPEG + file that reveals itself as an MPO, to avoid + double call to _open. + """ + jpeg_instance.__class__ = MpoImageFile + mpo_instance = cast(MpoImageFile, jpeg_instance) + mpo_instance._after_jpeg_open(mpheader) + return mpo_instance + + +# --------------------------------------------------------------------- +# Registry stuff + +# Note that since MPO shares a factory with JPEG, we do not need to do a +# separate registration for it here. +# Image.register_open(MpoImageFile.format, +# JpegImagePlugin.jpeg_factory, _accept) +Image.register_save(MpoImageFile.format, _save) +Image.register_save_all(MpoImageFile.format, _save_all) + +Image.register_extension(MpoImageFile.format, ".mpo") + +Image.register_mime(MpoImageFile.format, "image/mpo") diff --git a/gestao_raul/Lib/site-packages/PIL/MspImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/MspImagePlugin.py new file mode 100644 index 0000000..f3460a7 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/MspImagePlugin.py @@ -0,0 +1,200 @@ +# +# The Python Imaging Library. +# +# MSP file handling +# +# This is the format used by the Paint program in Windows 1 and 2. +# +# History: +# 95-09-05 fl Created +# 97-01-03 fl Read/write MSP images +# 17-02-21 es Fixed RLE interpretation +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1995-97. +# Copyright (c) Eric Soroos 2017. +# +# See the README file for information on usage and redistribution. +# +# More info on this format: https://archive.org/details/gg243631 +# Page 313: +# Figure 205. Windows Paint Version 1: "DanM" Format +# Figure 206. Windows Paint Version 2: "LinS" Format. Used in Windows V2.03 +# +# See also: https://www.fileformat.info/format/mspaint/egff.htm +from __future__ import annotations + +import io +import struct +from typing import IO + +from . import Image, ImageFile +from ._binary import i16le as i16 +from ._binary import o16le as o16 + +# +# read MSP files + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] in [b"DanM", b"LinS"] + + +## +# Image plugin for Windows MSP images. This plugin supports both +# uncompressed (Windows 1.0). + + +class MspImageFile(ImageFile.ImageFile): + format = "MSP" + format_description = "Windows Paint" + + def _open(self) -> None: + # Header + assert self.fp is not None + + s = self.fp.read(32) + if not _accept(s): + msg = "not an MSP file" + raise SyntaxError(msg) + + # Header checksum + checksum = 0 + for i in range(0, 32, 2): + checksum = checksum ^ i16(s, i) + if checksum != 0: + msg = "bad MSP checksum" + raise SyntaxError(msg) + + self._mode = "1" + self._size = i16(s, 4), i16(s, 6) + + if s[:4] == b"DanM": + self.tile = [ImageFile._Tile("raw", (0, 0) + self.size, 32, ("1", 0, 1))] + else: + self.tile = [ImageFile._Tile("MSP", (0, 0) + self.size, 32, None)] + + +class MspDecoder(ImageFile.PyDecoder): + # The algo for the MSP decoder is from + # https://www.fileformat.info/format/mspaint/egff.htm + # cc-by-attribution -- That page references is taken from the + # Encyclopedia of Graphics File Formats and is licensed by + # O'Reilly under the Creative Common/Attribution license + # + # For RLE encoded files, the 32byte header is followed by a scan + # line map, encoded as one 16bit word of encoded byte length per + # line. + # + # NOTE: the encoded length of the line can be 0. This was not + # handled in the previous version of this encoder, and there's no + # mention of how to handle it in the documentation. From the few + # examples I've seen, I've assumed that it is a fill of the + # background color, in this case, white. + # + # + # Pseudocode of the decoder: + # Read a BYTE value as the RunType + # If the RunType value is zero + # Read next byte as the RunCount + # Read the next byte as the RunValue + # Write the RunValue byte RunCount times + # If the RunType value is non-zero + # Use this value as the RunCount + # Read and write the next RunCount bytes literally + # + # e.g.: + # 0x00 03 ff 05 00 01 02 03 04 + # would yield the bytes: + # 0xff ff ff 00 01 02 03 04 + # + # which are then interpreted as a bit packed mode '1' image + + _pulls_fd = True + + def decode(self, buffer: bytes | Image.SupportsArrayInterface) -> tuple[int, int]: + assert self.fd is not None + + img = io.BytesIO() + blank_line = bytearray((0xFF,) * ((self.state.xsize + 7) // 8)) + try: + self.fd.seek(32) + rowmap = struct.unpack_from( + f"<{self.state.ysize}H", self.fd.read(self.state.ysize * 2) + ) + except struct.error as e: + msg = "Truncated MSP file in row map" + raise OSError(msg) from e + + for x, rowlen in enumerate(rowmap): + try: + if rowlen == 0: + img.write(blank_line) + continue + row = self.fd.read(rowlen) + if len(row) != rowlen: + msg = f"Truncated MSP file, expected {rowlen} bytes on row {x}" + raise OSError(msg) + idx = 0 + while idx < rowlen: + runtype = row[idx] + idx += 1 + if runtype == 0: + (runcount, runval) = struct.unpack_from("Bc", row, idx) + img.write(runval * runcount) + idx += 2 + else: + runcount = runtype + img.write(row[idx : idx + runcount]) + idx += runcount + + except struct.error as e: + msg = f"Corrupted MSP file in row {x}" + raise OSError(msg) from e + + self.set_as_raw(img.getvalue(), "1") + + return -1, 0 + + +Image.register_decoder("MSP", MspDecoder) + + +# +# write MSP files (uncompressed only) + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if im.mode != "1": + msg = f"cannot write mode {im.mode} as MSP" + raise OSError(msg) + + # create MSP header + header = [0] * 16 + + header[0], header[1] = i16(b"Da"), i16(b"nM") # version 1 + header[2], header[3] = im.size + header[4], header[5] = 1, 1 + header[6], header[7] = 1, 1 + header[8], header[9] = im.size + + checksum = 0 + for h in header: + checksum = checksum ^ h + header[12] = checksum # FIXME: is this the right field? + + # header + for h in header: + fp.write(o16(h)) + + # image body + ImageFile._save(im, fp, [ImageFile._Tile("raw", (0, 0) + im.size, 32, ("1", 0, 1))]) + + +# +# registry + +Image.register_open(MspImageFile.format, MspImageFile, _accept) +Image.register_save(MspImageFile.format, _save) + +Image.register_extension(MspImageFile.format, ".msp") diff --git a/gestao_raul/Lib/site-packages/PIL/PSDraw.py b/gestao_raul/Lib/site-packages/PIL/PSDraw.py new file mode 100644 index 0000000..02939d2 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/PSDraw.py @@ -0,0 +1,234 @@ +# +# The Python Imaging Library +# $Id$ +# +# Simple PostScript graphics interface +# +# History: +# 1996-04-20 fl Created +# 1999-01-10 fl Added gsave/grestore to image method +# 2005-05-04 fl Fixed floating point issue in image (from Eric Etheridge) +# +# Copyright (c) 1997-2005 by Secret Labs AB. All rights reserved. +# Copyright (c) 1996 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import sys +from typing import IO, TYPE_CHECKING + +from . import EpsImagePlugin + +## +# Simple PostScript graphics interface. + + +class PSDraw: + """ + Sets up printing to the given file. If ``fp`` is omitted, + ``sys.stdout.buffer`` is assumed. + """ + + def __init__(self, fp: IO[bytes] | None = None) -> None: + if not fp: + fp = sys.stdout.buffer + self.fp = fp + + def begin_document(self, id: str | None = None) -> None: + """Set up printing of a document. (Write PostScript DSC header.)""" + # FIXME: incomplete + self.fp.write( + b"%!PS-Adobe-3.0\n" + b"save\n" + b"/showpage { } def\n" + b"%%EndComments\n" + b"%%BeginDocument\n" + ) + # self.fp.write(ERROR_PS) # debugging! + self.fp.write(EDROFF_PS) + self.fp.write(VDI_PS) + self.fp.write(b"%%EndProlog\n") + self.isofont: dict[bytes, int] = {} + + def end_document(self) -> None: + """Ends printing. (Write PostScript DSC footer.)""" + self.fp.write(b"%%EndDocument\nrestore showpage\n%%End\n") + if hasattr(self.fp, "flush"): + self.fp.flush() + + def setfont(self, font: str, size: int) -> None: + """ + Selects which font to use. + + :param font: A PostScript font name + :param size: Size in points. + """ + font_bytes = bytes(font, "UTF-8") + if font_bytes not in self.isofont: + # reencode font + self.fp.write( + b"/PSDraw-%s ISOLatin1Encoding /%s E\n" % (font_bytes, font_bytes) + ) + self.isofont[font_bytes] = 1 + # rough + self.fp.write(b"/F0 %d /PSDraw-%s F\n" % (size, font_bytes)) + + def line(self, xy0: tuple[int, int], xy1: tuple[int, int]) -> None: + """ + Draws a line between the two points. Coordinates are given in + PostScript point coordinates (72 points per inch, (0, 0) is the lower + left corner of the page). + """ + self.fp.write(b"%d %d %d %d Vl\n" % (*xy0, *xy1)) + + def rectangle(self, box: tuple[int, int, int, int]) -> None: + """ + Draws a rectangle. + + :param box: A tuple of four integers, specifying left, bottom, width and + height. + """ + self.fp.write(b"%d %d M 0 %d %d Vr\n" % box) + + def text(self, xy: tuple[int, int], text: str) -> None: + """ + Draws text at the given position. You must use + :py:meth:`~PIL.PSDraw.PSDraw.setfont` before calling this method. + """ + text_bytes = bytes(text, "UTF-8") + text_bytes = b"\\(".join(text_bytes.split(b"(")) + text_bytes = b"\\)".join(text_bytes.split(b")")) + self.fp.write(b"%d %d M (%s) S\n" % (xy + (text_bytes,))) + + if TYPE_CHECKING: + from . import Image + + def image( + self, box: tuple[int, int, int, int], im: Image.Image, dpi: int | None = None + ) -> None: + """Draw a PIL image, centered in the given box.""" + # default resolution depends on mode + if not dpi: + if im.mode == "1": + dpi = 200 # fax + else: + dpi = 100 # grayscale + # image size (on paper) + x = im.size[0] * 72 / dpi + y = im.size[1] * 72 / dpi + # max allowed size + xmax = float(box[2] - box[0]) + ymax = float(box[3] - box[1]) + if x > xmax: + y = y * xmax / x + x = xmax + if y > ymax: + x = x * ymax / y + y = ymax + dx = (xmax - x) / 2 + box[0] + dy = (ymax - y) / 2 + box[1] + self.fp.write(b"gsave\n%f %f translate\n" % (dx, dy)) + if (x, y) != im.size: + # EpsImagePlugin._save prints the image at (0,0,xsize,ysize) + sx = x / im.size[0] + sy = y / im.size[1] + self.fp.write(b"%f %f scale\n" % (sx, sy)) + EpsImagePlugin._save(im, self.fp, "", 0) + self.fp.write(b"\ngrestore\n") + + +# -------------------------------------------------------------------- +# PostScript driver + +# +# EDROFF.PS -- PostScript driver for Edroff 2 +# +# History: +# 94-01-25 fl: created (edroff 2.04) +# +# Copyright (c) Fredrik Lundh 1994. +# + + +EDROFF_PS = b"""\ +/S { show } bind def +/P { moveto show } bind def +/M { moveto } bind def +/X { 0 rmoveto } bind def +/Y { 0 exch rmoveto } bind def +/E { findfont + dup maxlength dict begin + { + 1 index /FID ne { def } { pop pop } ifelse + } forall + /Encoding exch def + dup /FontName exch def + currentdict end definefont pop +} bind def +/F { findfont exch scalefont dup setfont + [ exch /setfont cvx ] cvx bind def +} bind def +""" + +# +# VDI.PS -- PostScript driver for VDI meta commands +# +# History: +# 94-01-25 fl: created (edroff 2.04) +# +# Copyright (c) Fredrik Lundh 1994. +# + +VDI_PS = b"""\ +/Vm { moveto } bind def +/Va { newpath arcn stroke } bind def +/Vl { moveto lineto stroke } bind def +/Vc { newpath 0 360 arc closepath } bind def +/Vr { exch dup 0 rlineto + exch dup 0 exch rlineto + exch neg 0 rlineto + 0 exch neg rlineto + setgray fill } bind def +/Tm matrix def +/Ve { Tm currentmatrix pop + translate scale newpath 0 0 .5 0 360 arc closepath + Tm setmatrix +} bind def +/Vf { currentgray exch setgray fill setgray } bind def +""" + +# +# ERROR.PS -- Error handler +# +# History: +# 89-11-21 fl: created (pslist 1.10) +# + +ERROR_PS = b"""\ +/landscape false def +/errorBUF 200 string def +/errorNL { currentpoint 10 sub exch pop 72 exch moveto } def +errordict begin /handleerror { + initmatrix /Courier findfont 10 scalefont setfont + newpath 72 720 moveto $error begin /newerror false def + (PostScript Error) show errorNL errorNL + (Error: ) show + /errorname load errorBUF cvs show errorNL errorNL + (Command: ) show + /command load dup type /stringtype ne { errorBUF cvs } if show + errorNL errorNL + (VMstatus: ) show + vmstatus errorBUF cvs show ( bytes available, ) show + errorBUF cvs show ( bytes used at level ) show + errorBUF cvs show errorNL errorNL + (Operand stargck: ) show errorNL /ostargck load { + dup type /stringtype ne { errorBUF cvs } if 72 0 rmoveto show errorNL + } forall errorNL + (Execution stargck: ) show errorNL /estargck load { + dup type /stringtype ne { errorBUF cvs } if 72 0 rmoveto show errorNL + } forall + end showpage +} def end +""" diff --git a/gestao_raul/Lib/site-packages/PIL/PaletteFile.py b/gestao_raul/Lib/site-packages/PIL/PaletteFile.py new file mode 100644 index 0000000..81652e5 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/PaletteFile.py @@ -0,0 +1,54 @@ +# +# Python Imaging Library +# $Id$ +# +# stuff to read simple, teragon-style palette files +# +# History: +# 97-08-23 fl Created +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1997. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from typing import IO + +from ._binary import o8 + + +class PaletteFile: + """File handler for Teragon-style palette files.""" + + rawmode = "RGB" + + def __init__(self, fp: IO[bytes]) -> None: + palette = [o8(i) * 3 for i in range(256)] + + while True: + s = fp.readline() + + if not s: + break + if s[:1] == b"#": + continue + if len(s) > 100: + msg = "bad palette file" + raise SyntaxError(msg) + + v = [int(x) for x in s.split()] + try: + [i, r, g, b] = v + except ValueError: + [i, r] = v + g = b = r + + if 0 <= i <= 255: + palette[i] = o8(r) + o8(g) + o8(b) + + self.palette = b"".join(palette) + + def getpalette(self) -> tuple[bytes, str]: + return self.palette, self.rawmode diff --git a/gestao_raul/Lib/site-packages/PIL/PalmImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/PalmImagePlugin.py new file mode 100644 index 0000000..b332453 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/PalmImagePlugin.py @@ -0,0 +1,232 @@ +# +# The Python Imaging Library. +# $Id$ +# + +## +# Image plugin for Palm pixmap images (output only). +## +from __future__ import annotations + +from typing import IO + +from . import Image, ImageFile +from ._binary import o8 +from ._binary import o16be as o16b + +# fmt: off +_Palm8BitColormapValues = ( + (255, 255, 255), (255, 204, 255), (255, 153, 255), (255, 102, 255), + (255, 51, 255), (255, 0, 255), (255, 255, 204), (255, 204, 204), + (255, 153, 204), (255, 102, 204), (255, 51, 204), (255, 0, 204), + (255, 255, 153), (255, 204, 153), (255, 153, 153), (255, 102, 153), + (255, 51, 153), (255, 0, 153), (204, 255, 255), (204, 204, 255), + (204, 153, 255), (204, 102, 255), (204, 51, 255), (204, 0, 255), + (204, 255, 204), (204, 204, 204), (204, 153, 204), (204, 102, 204), + (204, 51, 204), (204, 0, 204), (204, 255, 153), (204, 204, 153), + (204, 153, 153), (204, 102, 153), (204, 51, 153), (204, 0, 153), + (153, 255, 255), (153, 204, 255), (153, 153, 255), (153, 102, 255), + (153, 51, 255), (153, 0, 255), (153, 255, 204), (153, 204, 204), + (153, 153, 204), (153, 102, 204), (153, 51, 204), (153, 0, 204), + (153, 255, 153), (153, 204, 153), (153, 153, 153), (153, 102, 153), + (153, 51, 153), (153, 0, 153), (102, 255, 255), (102, 204, 255), + (102, 153, 255), (102, 102, 255), (102, 51, 255), (102, 0, 255), + (102, 255, 204), (102, 204, 204), (102, 153, 204), (102, 102, 204), + (102, 51, 204), (102, 0, 204), (102, 255, 153), (102, 204, 153), + (102, 153, 153), (102, 102, 153), (102, 51, 153), (102, 0, 153), + (51, 255, 255), (51, 204, 255), (51, 153, 255), (51, 102, 255), + (51, 51, 255), (51, 0, 255), (51, 255, 204), (51, 204, 204), + (51, 153, 204), (51, 102, 204), (51, 51, 204), (51, 0, 204), + (51, 255, 153), (51, 204, 153), (51, 153, 153), (51, 102, 153), + (51, 51, 153), (51, 0, 153), (0, 255, 255), (0, 204, 255), + (0, 153, 255), (0, 102, 255), (0, 51, 255), (0, 0, 255), + (0, 255, 204), (0, 204, 204), (0, 153, 204), (0, 102, 204), + (0, 51, 204), (0, 0, 204), (0, 255, 153), (0, 204, 153), + (0, 153, 153), (0, 102, 153), (0, 51, 153), (0, 0, 153), + (255, 255, 102), (255, 204, 102), (255, 153, 102), (255, 102, 102), + (255, 51, 102), (255, 0, 102), (255, 255, 51), (255, 204, 51), + (255, 153, 51), (255, 102, 51), (255, 51, 51), (255, 0, 51), + (255, 255, 0), (255, 204, 0), (255, 153, 0), (255, 102, 0), + (255, 51, 0), (255, 0, 0), (204, 255, 102), (204, 204, 102), + (204, 153, 102), (204, 102, 102), (204, 51, 102), (204, 0, 102), + (204, 255, 51), (204, 204, 51), (204, 153, 51), (204, 102, 51), + (204, 51, 51), (204, 0, 51), (204, 255, 0), (204, 204, 0), + (204, 153, 0), (204, 102, 0), (204, 51, 0), (204, 0, 0), + (153, 255, 102), (153, 204, 102), (153, 153, 102), (153, 102, 102), + (153, 51, 102), (153, 0, 102), (153, 255, 51), (153, 204, 51), + (153, 153, 51), (153, 102, 51), (153, 51, 51), (153, 0, 51), + (153, 255, 0), (153, 204, 0), (153, 153, 0), (153, 102, 0), + (153, 51, 0), (153, 0, 0), (102, 255, 102), (102, 204, 102), + (102, 153, 102), (102, 102, 102), (102, 51, 102), (102, 0, 102), + (102, 255, 51), (102, 204, 51), (102, 153, 51), (102, 102, 51), + (102, 51, 51), (102, 0, 51), (102, 255, 0), (102, 204, 0), + (102, 153, 0), (102, 102, 0), (102, 51, 0), (102, 0, 0), + (51, 255, 102), (51, 204, 102), (51, 153, 102), (51, 102, 102), + (51, 51, 102), (51, 0, 102), (51, 255, 51), (51, 204, 51), + (51, 153, 51), (51, 102, 51), (51, 51, 51), (51, 0, 51), + (51, 255, 0), (51, 204, 0), (51, 153, 0), (51, 102, 0), + (51, 51, 0), (51, 0, 0), (0, 255, 102), (0, 204, 102), + (0, 153, 102), (0, 102, 102), (0, 51, 102), (0, 0, 102), + (0, 255, 51), (0, 204, 51), (0, 153, 51), (0, 102, 51), + (0, 51, 51), (0, 0, 51), (0, 255, 0), (0, 204, 0), + (0, 153, 0), (0, 102, 0), (0, 51, 0), (17, 17, 17), + (34, 34, 34), (68, 68, 68), (85, 85, 85), (119, 119, 119), + (136, 136, 136), (170, 170, 170), (187, 187, 187), (221, 221, 221), + (238, 238, 238), (192, 192, 192), (128, 0, 0), (128, 0, 128), + (0, 128, 0), (0, 128, 128), (0, 0, 0), (0, 0, 0), + (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), + (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), + (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), + (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), + (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0), + (0, 0, 0), (0, 0, 0), (0, 0, 0), (0, 0, 0)) +# fmt: on + + +# so build a prototype image to be used for palette resampling +def build_prototype_image() -> Image.Image: + image = Image.new("L", (1, len(_Palm8BitColormapValues))) + image.putdata(list(range(len(_Palm8BitColormapValues)))) + palettedata: tuple[int, ...] = () + for colormapValue in _Palm8BitColormapValues: + palettedata += colormapValue + palettedata += (0, 0, 0) * (256 - len(_Palm8BitColormapValues)) + image.putpalette(palettedata) + return image + + +Palm8BitColormapImage = build_prototype_image() + +# OK, we now have in Palm8BitColormapImage, +# a "P"-mode image with the right palette +# +# -------------------------------------------------------------------- + +_FLAGS = {"custom-colormap": 0x4000, "is-compressed": 0x8000, "has-transparent": 0x2000} + +_COMPRESSION_TYPES = {"none": 0xFF, "rle": 0x01, "scanline": 0x00} + + +# +# -------------------------------------------------------------------- + +## +# (Internal) Image save plugin for the Palm format. + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if im.mode == "P": + # we assume this is a color Palm image with the standard colormap, + # unless the "info" dict has a "custom-colormap" field + + rawmode = "P" + bpp = 8 + version = 1 + + elif im.mode == "L": + if im.encoderinfo.get("bpp") in (1, 2, 4): + # this is 8-bit grayscale, so we shift it to get the high-order bits, + # and invert it because + # Palm does grayscale from white (0) to black (1) + bpp = im.encoderinfo["bpp"] + maxval = (1 << bpp) - 1 + shift = 8 - bpp + im = im.point(lambda x: maxval - (x >> shift)) + elif im.info.get("bpp") in (1, 2, 4): + # here we assume that even though the inherent mode is 8-bit grayscale, + # only the lower bpp bits are significant. + # We invert them to match the Palm. + bpp = im.info["bpp"] + maxval = (1 << bpp) - 1 + im = im.point(lambda x: maxval - (x & maxval)) + else: + msg = f"cannot write mode {im.mode} as Palm" + raise OSError(msg) + + # we ignore the palette here + im._mode = "P" + rawmode = f"P;{bpp}" + version = 1 + + elif im.mode == "1": + # monochrome -- write it inverted, as is the Palm standard + rawmode = "1;I" + bpp = 1 + version = 0 + + else: + msg = f"cannot write mode {im.mode} as Palm" + raise OSError(msg) + + # + # make sure image data is available + im.load() + + # write header + + cols = im.size[0] + rows = im.size[1] + + rowbytes = int((cols + (16 // bpp - 1)) / (16 // bpp)) * 2 + transparent_index = 0 + compression_type = _COMPRESSION_TYPES["none"] + + flags = 0 + if im.mode == "P" and "custom-colormap" in im.info: + assert im.palette is not None + flags = flags & _FLAGS["custom-colormap"] + colormapsize = 4 * 256 + 2 + colormapmode = im.palette.mode + colormap = im.getdata().getpalette() + else: + colormapsize = 0 + + if "offset" in im.info: + offset = (rowbytes * rows + 16 + 3 + colormapsize) // 4 + else: + offset = 0 + + fp.write(o16b(cols) + o16b(rows) + o16b(rowbytes) + o16b(flags)) + fp.write(o8(bpp)) + fp.write(o8(version)) + fp.write(o16b(offset)) + fp.write(o8(transparent_index)) + fp.write(o8(compression_type)) + fp.write(o16b(0)) # reserved by Palm + + # now write colormap if necessary + + if colormapsize > 0: + fp.write(o16b(256)) + for i in range(256): + fp.write(o8(i)) + if colormapmode == "RGB": + fp.write( + o8(colormap[3 * i]) + + o8(colormap[3 * i + 1]) + + o8(colormap[3 * i + 2]) + ) + elif colormapmode == "RGBA": + fp.write( + o8(colormap[4 * i]) + + o8(colormap[4 * i + 1]) + + o8(colormap[4 * i + 2]) + ) + + # now convert data to raw form + ImageFile._save( + im, fp, [ImageFile._Tile("raw", (0, 0) + im.size, 0, (rawmode, rowbytes, 1))] + ) + + if hasattr(fp, "flush"): + fp.flush() + + +# +# -------------------------------------------------------------------- + +Image.register_save("Palm", _save) + +Image.register_extension("Palm", ".palm") + +Image.register_mime("Palm", "image/palm") diff --git a/gestao_raul/Lib/site-packages/PIL/PcdImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/PcdImagePlugin.py new file mode 100644 index 0000000..e8ea800 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/PcdImagePlugin.py @@ -0,0 +1,64 @@ +# +# The Python Imaging Library. +# $Id$ +# +# PCD file handling +# +# History: +# 96-05-10 fl Created +# 96-05-27 fl Added draft mode (128x192, 256x384) +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1996. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from . import Image, ImageFile + +## +# Image plugin for PhotoCD images. This plugin only reads the 768x512 +# image from the file; higher resolutions are encoded in a proprietary +# encoding. + + +class PcdImageFile(ImageFile.ImageFile): + format = "PCD" + format_description = "Kodak PhotoCD" + + def _open(self) -> None: + # rough + assert self.fp is not None + + self.fp.seek(2048) + s = self.fp.read(2048) + + if s[:4] != b"PCD_": + msg = "not a PCD file" + raise SyntaxError(msg) + + orientation = s[1538] & 3 + self.tile_post_rotate = None + if orientation == 1: + self.tile_post_rotate = 90 + elif orientation == 3: + self.tile_post_rotate = -90 + + self._mode = "RGB" + self._size = 768, 512 # FIXME: not correct for rotated images! + self.tile = [ImageFile._Tile("pcd", (0, 0) + self.size, 96 * 2048, None)] + + def load_end(self) -> None: + if self.tile_post_rotate: + # Handle rotated PCDs + self.im = self.im.rotate(self.tile_post_rotate) + self._size = self.im.size + + +# +# registry + +Image.register_open(PcdImageFile.format, PcdImageFile) + +Image.register_extension(PcdImageFile.format, ".pcd") diff --git a/gestao_raul/Lib/site-packages/PIL/PcfFontFile.py b/gestao_raul/Lib/site-packages/PIL/PcfFontFile.py new file mode 100644 index 0000000..0d1968b --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/PcfFontFile.py @@ -0,0 +1,254 @@ +# +# THIS IS WORK IN PROGRESS +# +# The Python Imaging Library +# $Id$ +# +# portable compiled font file parser +# +# history: +# 1997-08-19 fl created +# 2003-09-13 fl fixed loading of unicode fonts +# +# Copyright (c) 1997-2003 by Secret Labs AB. +# Copyright (c) 1997-2003 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io +from typing import BinaryIO, Callable + +from . import FontFile, Image +from ._binary import i8 +from ._binary import i16be as b16 +from ._binary import i16le as l16 +from ._binary import i32be as b32 +from ._binary import i32le as l32 + +# -------------------------------------------------------------------- +# declarations + +PCF_MAGIC = 0x70636601 # "\x01fcp" + +PCF_PROPERTIES = 1 << 0 +PCF_ACCELERATORS = 1 << 1 +PCF_METRICS = 1 << 2 +PCF_BITMAPS = 1 << 3 +PCF_INK_METRICS = 1 << 4 +PCF_BDF_ENCODINGS = 1 << 5 +PCF_SWIDTHS = 1 << 6 +PCF_GLYPH_NAMES = 1 << 7 +PCF_BDF_ACCELERATORS = 1 << 8 + +BYTES_PER_ROW: list[Callable[[int], int]] = [ + lambda bits: ((bits + 7) >> 3), + lambda bits: ((bits + 15) >> 3) & ~1, + lambda bits: ((bits + 31) >> 3) & ~3, + lambda bits: ((bits + 63) >> 3) & ~7, +] + + +def sz(s: bytes, o: int) -> bytes: + return s[o : s.index(b"\0", o)] + + +class PcfFontFile(FontFile.FontFile): + """Font file plugin for the X11 PCF format.""" + + name = "name" + + def __init__(self, fp: BinaryIO, charset_encoding: str = "iso8859-1"): + self.charset_encoding = charset_encoding + + magic = l32(fp.read(4)) + if magic != PCF_MAGIC: + msg = "not a PCF file" + raise SyntaxError(msg) + + super().__init__() + + count = l32(fp.read(4)) + self.toc = {} + for i in range(count): + type = l32(fp.read(4)) + self.toc[type] = l32(fp.read(4)), l32(fp.read(4)), l32(fp.read(4)) + + self.fp = fp + + self.info = self._load_properties() + + metrics = self._load_metrics() + bitmaps = self._load_bitmaps(metrics) + encoding = self._load_encoding() + + # + # create glyph structure + + for ch, ix in enumerate(encoding): + if ix is not None: + ( + xsize, + ysize, + left, + right, + width, + ascent, + descent, + attributes, + ) = metrics[ix] + self.glyph[ch] = ( + (width, 0), + (left, descent - ysize, xsize + left, descent), + (0, 0, xsize, ysize), + bitmaps[ix], + ) + + def _getformat( + self, tag: int + ) -> tuple[BinaryIO, int, Callable[[bytes], int], Callable[[bytes], int]]: + format, size, offset = self.toc[tag] + + fp = self.fp + fp.seek(offset) + + format = l32(fp.read(4)) + + if format & 4: + i16, i32 = b16, b32 + else: + i16, i32 = l16, l32 + + return fp, format, i16, i32 + + def _load_properties(self) -> dict[bytes, bytes | int]: + # + # font properties + + properties = {} + + fp, format, i16, i32 = self._getformat(PCF_PROPERTIES) + + nprops = i32(fp.read(4)) + + # read property description + p = [(i32(fp.read(4)), i8(fp.read(1)), i32(fp.read(4))) for _ in range(nprops)] + + if nprops & 3: + fp.seek(4 - (nprops & 3), io.SEEK_CUR) # pad + + data = fp.read(i32(fp.read(4))) + + for k, s, v in p: + property_value: bytes | int = sz(data, v) if s else v + properties[sz(data, k)] = property_value + + return properties + + def _load_metrics(self) -> list[tuple[int, int, int, int, int, int, int, int]]: + # + # font metrics + + metrics: list[tuple[int, int, int, int, int, int, int, int]] = [] + + fp, format, i16, i32 = self._getformat(PCF_METRICS) + + append = metrics.append + + if (format & 0xFF00) == 0x100: + # "compressed" metrics + for i in range(i16(fp.read(2))): + left = i8(fp.read(1)) - 128 + right = i8(fp.read(1)) - 128 + width = i8(fp.read(1)) - 128 + ascent = i8(fp.read(1)) - 128 + descent = i8(fp.read(1)) - 128 + xsize = right - left + ysize = ascent + descent + append((xsize, ysize, left, right, width, ascent, descent, 0)) + + else: + # "jumbo" metrics + for i in range(i32(fp.read(4))): + left = i16(fp.read(2)) + right = i16(fp.read(2)) + width = i16(fp.read(2)) + ascent = i16(fp.read(2)) + descent = i16(fp.read(2)) + attributes = i16(fp.read(2)) + xsize = right - left + ysize = ascent + descent + append((xsize, ysize, left, right, width, ascent, descent, attributes)) + + return metrics + + def _load_bitmaps( + self, metrics: list[tuple[int, int, int, int, int, int, int, int]] + ) -> list[Image.Image]: + # + # bitmap data + + fp, format, i16, i32 = self._getformat(PCF_BITMAPS) + + nbitmaps = i32(fp.read(4)) + + if nbitmaps != len(metrics): + msg = "Wrong number of bitmaps" + raise OSError(msg) + + offsets = [i32(fp.read(4)) for _ in range(nbitmaps)] + + bitmap_sizes = [i32(fp.read(4)) for _ in range(4)] + + # byteorder = format & 4 # non-zero => MSB + bitorder = format & 8 # non-zero => MSB + padindex = format & 3 + + bitmapsize = bitmap_sizes[padindex] + offsets.append(bitmapsize) + + data = fp.read(bitmapsize) + + pad = BYTES_PER_ROW[padindex] + mode = "1;R" + if bitorder: + mode = "1" + + bitmaps = [] + for i in range(nbitmaps): + xsize, ysize = metrics[i][:2] + b, e = offsets[i : i + 2] + bitmaps.append( + Image.frombytes("1", (xsize, ysize), data[b:e], "raw", mode, pad(xsize)) + ) + + return bitmaps + + def _load_encoding(self) -> list[int | None]: + fp, format, i16, i32 = self._getformat(PCF_BDF_ENCODINGS) + + first_col, last_col = i16(fp.read(2)), i16(fp.read(2)) + first_row, last_row = i16(fp.read(2)), i16(fp.read(2)) + + i16(fp.read(2)) # default + + nencoding = (last_col - first_col + 1) * (last_row - first_row + 1) + + # map character code to bitmap index + encoding: list[int | None] = [None] * min(256, nencoding) + + encoding_offsets = [i16(fp.read(2)) for _ in range(nencoding)] + + for i in range(first_col, len(encoding)): + try: + encoding_offset = encoding_offsets[ + ord(bytearray([i]).decode(self.charset_encoding)) + ] + if encoding_offset != 0xFFFF: + encoding[i] = encoding_offset + except UnicodeDecodeError: + # character is not supported in selected encoding + pass + + return encoding diff --git a/gestao_raul/Lib/site-packages/PIL/PcxImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/PcxImagePlugin.py new file mode 100644 index 0000000..8445d5c --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/PcxImagePlugin.py @@ -0,0 +1,229 @@ +# +# The Python Imaging Library. +# $Id$ +# +# PCX file handling +# +# This format was originally used by ZSoft's popular PaintBrush +# program for the IBM PC. It is also supported by many MS-DOS and +# Windows applications, including the Windows PaintBrush program in +# Windows 3. +# +# history: +# 1995-09-01 fl Created +# 1996-05-20 fl Fixed RGB support +# 1997-01-03 fl Fixed 2-bit and 4-bit support +# 1999-02-03 fl Fixed 8-bit support (broken in 1.0b1) +# 1999-02-07 fl Added write support +# 2002-06-09 fl Made 2-bit and 4-bit support a bit more robust +# 2002-07-30 fl Seek from to current position, not beginning of file +# 2003-06-03 fl Extract DPI settings (info["dpi"]) +# +# Copyright (c) 1997-2003 by Secret Labs AB. +# Copyright (c) 1995-2003 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io +import logging +from typing import IO + +from . import Image, ImageFile, ImagePalette +from ._binary import i16le as i16 +from ._binary import o8 +from ._binary import o16le as o16 + +logger = logging.getLogger(__name__) + + +def _accept(prefix: bytes) -> bool: + return prefix[0] == 10 and prefix[1] in [0, 2, 3, 5] + + +## +# Image plugin for Paintbrush images. + + +class PcxImageFile(ImageFile.ImageFile): + format = "PCX" + format_description = "Paintbrush" + + def _open(self) -> None: + # header + assert self.fp is not None + + s = self.fp.read(128) + if not _accept(s): + msg = "not a PCX file" + raise SyntaxError(msg) + + # image + bbox = i16(s, 4), i16(s, 6), i16(s, 8) + 1, i16(s, 10) + 1 + if bbox[2] <= bbox[0] or bbox[3] <= bbox[1]: + msg = "bad PCX image size" + raise SyntaxError(msg) + logger.debug("BBox: %s %s %s %s", *bbox) + + # format + version = s[1] + bits = s[3] + planes = s[65] + provided_stride = i16(s, 66) + logger.debug( + "PCX version %s, bits %s, planes %s, stride %s", + version, + bits, + planes, + provided_stride, + ) + + self.info["dpi"] = i16(s, 12), i16(s, 14) + + if bits == 1 and planes == 1: + mode = rawmode = "1" + + elif bits == 1 and planes in (2, 4): + mode = "P" + rawmode = "P;%dL" % planes + self.palette = ImagePalette.raw("RGB", s[16:64]) + + elif version == 5 and bits == 8 and planes == 1: + mode = rawmode = "L" + # FIXME: hey, this doesn't work with the incremental loader !!! + self.fp.seek(-769, io.SEEK_END) + s = self.fp.read(769) + if len(s) == 769 and s[0] == 12: + # check if the palette is linear grayscale + for i in range(256): + if s[i * 3 + 1 : i * 3 + 4] != o8(i) * 3: + mode = rawmode = "P" + break + if mode == "P": + self.palette = ImagePalette.raw("RGB", s[1:]) + self.fp.seek(128) + + elif version == 5 and bits == 8 and planes == 3: + mode = "RGB" + rawmode = "RGB;L" + + else: + msg = "unknown PCX mode" + raise OSError(msg) + + self._mode = mode + self._size = bbox[2] - bbox[0], bbox[3] - bbox[1] + + # Don't trust the passed in stride. + # Calculate the approximate position for ourselves. + # CVE-2020-35653 + stride = (self._size[0] * bits + 7) // 8 + + # While the specification states that this must be even, + # not all images follow this + if provided_stride != stride: + stride += stride % 2 + + bbox = (0, 0) + self.size + logger.debug("size: %sx%s", *self.size) + + self.tile = [ + ImageFile._Tile("pcx", bbox, self.fp.tell(), (rawmode, planes * stride)) + ] + + +# -------------------------------------------------------------------- +# save PCX files + + +SAVE = { + # mode: (version, bits, planes, raw mode) + "1": (2, 1, 1, "1"), + "L": (5, 8, 1, "L"), + "P": (5, 8, 1, "P"), + "RGB": (5, 8, 3, "RGB;L"), +} + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + try: + version, bits, planes, rawmode = SAVE[im.mode] + except KeyError as e: + msg = f"Cannot save {im.mode} images as PCX" + raise ValueError(msg) from e + + # bytes per plane + stride = (im.size[0] * bits + 7) // 8 + # stride should be even + stride += stride % 2 + # Stride needs to be kept in sync with the PcxEncode.c version. + # Ideally it should be passed in in the state, but the bytes value + # gets overwritten. + + logger.debug( + "PcxImagePlugin._save: xwidth: %d, bits: %d, stride: %d", + im.size[0], + bits, + stride, + ) + + # under windows, we could determine the current screen size with + # "Image.core.display_mode()[1]", but I think that's overkill... + + screen = im.size + + dpi = 100, 100 + + # PCX header + fp.write( + o8(10) + + o8(version) + + o8(1) + + o8(bits) + + o16(0) + + o16(0) + + o16(im.size[0] - 1) + + o16(im.size[1] - 1) + + o16(dpi[0]) + + o16(dpi[1]) + + b"\0" * 24 + + b"\xFF" * 24 + + b"\0" + + o8(planes) + + o16(stride) + + o16(1) + + o16(screen[0]) + + o16(screen[1]) + + b"\0" * 54 + ) + + assert fp.tell() == 128 + + ImageFile._save( + im, fp, [ImageFile._Tile("pcx", (0, 0) + im.size, 0, (rawmode, bits * planes))] + ) + + if im.mode == "P": + # colour palette + fp.write(o8(12)) + palette = im.im.getpalette("RGB", "RGB") + palette += b"\x00" * (768 - len(palette)) + fp.write(palette) # 768 bytes + elif im.mode == "L": + # grayscale palette + fp.write(o8(12)) + for i in range(256): + fp.write(o8(i) * 3) + + +# -------------------------------------------------------------------- +# registry + + +Image.register_open(PcxImageFile.format, PcxImageFile, _accept) +Image.register_save(PcxImageFile.format, _save) + +Image.register_extension(PcxImageFile.format, ".pcx") + +Image.register_mime(PcxImageFile.format, "image/x-pcx") diff --git a/gestao_raul/Lib/site-packages/PIL/PdfImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/PdfImagePlugin.py new file mode 100644 index 0000000..e9c20dd --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/PdfImagePlugin.py @@ -0,0 +1,311 @@ +# +# The Python Imaging Library. +# $Id$ +# +# PDF (Acrobat) file handling +# +# History: +# 1996-07-16 fl Created +# 1997-01-18 fl Fixed header +# 2004-02-21 fl Fixes for 1/L/CMYK images, etc. +# 2004-02-24 fl Fixes for 1 and P images. +# +# Copyright (c) 1997-2004 by Secret Labs AB. All rights reserved. +# Copyright (c) 1996-1997 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# + +## +# Image plugin for PDF images (output only). +## +from __future__ import annotations + +import io +import math +import os +import time +from typing import IO, Any + +from . import Image, ImageFile, ImageSequence, PdfParser, __version__, features + +# +# -------------------------------------------------------------------- + +# object ids: +# 1. catalogue +# 2. pages +# 3. image +# 4. page +# 5. page contents + + +def _save_all(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + _save(im, fp, filename, save_all=True) + + +## +# (Internal) Image save plugin for the PDF format. + + +def _write_image( + im: Image.Image, + filename: str | bytes, + existing_pdf: PdfParser.PdfParser, + image_refs: list[PdfParser.IndirectReference], +) -> tuple[PdfParser.IndirectReference, str]: + # FIXME: Should replace ASCIIHexDecode with RunLengthDecode + # (packbits) or LZWDecode (tiff/lzw compression). Note that + # PDF 1.2 also supports Flatedecode (zip compression). + + params = None + decode = None + + # + # Get image characteristics + + width, height = im.size + + dict_obj: dict[str, Any] = {"BitsPerComponent": 8} + if im.mode == "1": + if features.check("libtiff"): + decode_filter = "CCITTFaxDecode" + dict_obj["BitsPerComponent"] = 1 + params = PdfParser.PdfArray( + [ + PdfParser.PdfDict( + { + "K": -1, + "BlackIs1": True, + "Columns": width, + "Rows": height, + } + ) + ] + ) + else: + decode_filter = "DCTDecode" + dict_obj["ColorSpace"] = PdfParser.PdfName("DeviceGray") + procset = "ImageB" # grayscale + elif im.mode == "L": + decode_filter = "DCTDecode" + # params = f"<< /Predictor 15 /Columns {width-2} >>" + dict_obj["ColorSpace"] = PdfParser.PdfName("DeviceGray") + procset = "ImageB" # grayscale + elif im.mode == "LA": + decode_filter = "JPXDecode" + # params = f"<< /Predictor 15 /Columns {width-2} >>" + procset = "ImageB" # grayscale + dict_obj["SMaskInData"] = 1 + elif im.mode == "P": + decode_filter = "ASCIIHexDecode" + palette = im.getpalette() + assert palette is not None + dict_obj["ColorSpace"] = [ + PdfParser.PdfName("Indexed"), + PdfParser.PdfName("DeviceRGB"), + len(palette) // 3 - 1, + PdfParser.PdfBinary(palette), + ] + procset = "ImageI" # indexed color + + if "transparency" in im.info: + smask = im.convert("LA").getchannel("A") + smask.encoderinfo = {} + + image_ref = _write_image(smask, filename, existing_pdf, image_refs)[0] + dict_obj["SMask"] = image_ref + elif im.mode == "RGB": + decode_filter = "DCTDecode" + dict_obj["ColorSpace"] = PdfParser.PdfName("DeviceRGB") + procset = "ImageC" # color images + elif im.mode == "RGBA": + decode_filter = "JPXDecode" + procset = "ImageC" # color images + dict_obj["SMaskInData"] = 1 + elif im.mode == "CMYK": + decode_filter = "DCTDecode" + dict_obj["ColorSpace"] = PdfParser.PdfName("DeviceCMYK") + procset = "ImageC" # color images + decode = [1, 0, 1, 0, 1, 0, 1, 0] + else: + msg = f"cannot save mode {im.mode}" + raise ValueError(msg) + + # + # image + + op = io.BytesIO() + + if decode_filter == "ASCIIHexDecode": + ImageFile._save(im, op, [ImageFile._Tile("hex", (0, 0) + im.size, 0, im.mode)]) + elif decode_filter == "CCITTFaxDecode": + im.save( + op, + "TIFF", + compression="group4", + # use a single strip + strip_size=math.ceil(width / 8) * height, + ) + elif decode_filter == "DCTDecode": + Image.SAVE["JPEG"](im, op, filename) + elif decode_filter == "JPXDecode": + del dict_obj["BitsPerComponent"] + Image.SAVE["JPEG2000"](im, op, filename) + else: + msg = f"unsupported PDF filter ({decode_filter})" + raise ValueError(msg) + + stream = op.getvalue() + filter: PdfParser.PdfArray | PdfParser.PdfName + if decode_filter == "CCITTFaxDecode": + stream = stream[8:] + filter = PdfParser.PdfArray([PdfParser.PdfName(decode_filter)]) + else: + filter = PdfParser.PdfName(decode_filter) + + image_ref = image_refs.pop(0) + existing_pdf.write_obj( + image_ref, + stream=stream, + Type=PdfParser.PdfName("XObject"), + Subtype=PdfParser.PdfName("Image"), + Width=width, # * 72.0 / x_resolution, + Height=height, # * 72.0 / y_resolution, + Filter=filter, + Decode=decode, + DecodeParms=params, + **dict_obj, + ) + + return image_ref, procset + + +def _save( + im: Image.Image, fp: IO[bytes], filename: str | bytes, save_all: bool = False +) -> None: + is_appending = im.encoderinfo.get("append", False) + filename_str = filename.decode() if isinstance(filename, bytes) else filename + if is_appending: + existing_pdf = PdfParser.PdfParser(f=fp, filename=filename_str, mode="r+b") + else: + existing_pdf = PdfParser.PdfParser(f=fp, filename=filename_str, mode="w+b") + + dpi = im.encoderinfo.get("dpi") + if dpi: + x_resolution = dpi[0] + y_resolution = dpi[1] + else: + x_resolution = y_resolution = im.encoderinfo.get("resolution", 72.0) + + info = { + "title": ( + None if is_appending else os.path.splitext(os.path.basename(filename))[0] + ), + "author": None, + "subject": None, + "keywords": None, + "creator": None, + "producer": None, + "creationDate": None if is_appending else time.gmtime(), + "modDate": None if is_appending else time.gmtime(), + } + for k, default in info.items(): + v = im.encoderinfo.get(k) if k in im.encoderinfo else default + if v: + existing_pdf.info[k[0].upper() + k[1:]] = v + + # + # make sure image data is available + im.load() + + existing_pdf.start_writing() + existing_pdf.write_header() + existing_pdf.write_comment(f"created by Pillow {__version__} PDF driver") + + # + # pages + ims = [im] + if save_all: + append_images = im.encoderinfo.get("append_images", []) + for append_im in append_images: + append_im.encoderinfo = im.encoderinfo.copy() + ims.append(append_im) + number_of_pages = 0 + image_refs = [] + page_refs = [] + contents_refs = [] + for im in ims: + im_number_of_pages = 1 + if save_all: + im_number_of_pages = getattr(im, "n_frames", 1) + number_of_pages += im_number_of_pages + for i in range(im_number_of_pages): + image_refs.append(existing_pdf.next_object_id(0)) + if im.mode == "P" and "transparency" in im.info: + image_refs.append(existing_pdf.next_object_id(0)) + + page_refs.append(existing_pdf.next_object_id(0)) + contents_refs.append(existing_pdf.next_object_id(0)) + existing_pdf.pages.append(page_refs[-1]) + + # + # catalog and list of pages + existing_pdf.write_catalog() + + page_number = 0 + for im_sequence in ims: + im_pages: ImageSequence.Iterator | list[Image.Image] = ( + ImageSequence.Iterator(im_sequence) if save_all else [im_sequence] + ) + for im in im_pages: + image_ref, procset = _write_image(im, filename, existing_pdf, image_refs) + + # + # page + + existing_pdf.write_page( + page_refs[page_number], + Resources=PdfParser.PdfDict( + ProcSet=[PdfParser.PdfName("PDF"), PdfParser.PdfName(procset)], + XObject=PdfParser.PdfDict(image=image_ref), + ), + MediaBox=[ + 0, + 0, + im.width * 72.0 / x_resolution, + im.height * 72.0 / y_resolution, + ], + Contents=contents_refs[page_number], + ) + + # + # page contents + + page_contents = b"q %f 0 0 %f 0 0 cm /image Do Q\n" % ( + im.width * 72.0 / x_resolution, + im.height * 72.0 / y_resolution, + ) + + existing_pdf.write_obj(contents_refs[page_number], stream=page_contents) + + page_number += 1 + + # + # trailer + existing_pdf.write_xref_and_trailer() + if hasattr(fp, "flush"): + fp.flush() + existing_pdf.close() + + +# +# -------------------------------------------------------------------- + + +Image.register_save("PDF", _save) +Image.register_save_all("PDF", _save_all) + +Image.register_extension("PDF", ".pdf") + +Image.register_mime("PDF", "application/pdf") diff --git a/gestao_raul/Lib/site-packages/PIL/PdfParser.py b/gestao_raul/Lib/site-packages/PIL/PdfParser.py new file mode 100644 index 0000000..7cb2d24 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/PdfParser.py @@ -0,0 +1,1073 @@ +from __future__ import annotations + +import calendar +import codecs +import collections +import mmap +import os +import re +import time +import zlib +from typing import IO, TYPE_CHECKING, Any, NamedTuple, Union + + +# see 7.9.2.2 Text String Type on page 86 and D.3 PDFDocEncoding Character Set +# on page 656 +def encode_text(s: str) -> bytes: + return codecs.BOM_UTF16_BE + s.encode("utf_16_be") + + +PDFDocEncoding = { + 0x16: "\u0017", + 0x18: "\u02D8", + 0x19: "\u02C7", + 0x1A: "\u02C6", + 0x1B: "\u02D9", + 0x1C: "\u02DD", + 0x1D: "\u02DB", + 0x1E: "\u02DA", + 0x1F: "\u02DC", + 0x80: "\u2022", + 0x81: "\u2020", + 0x82: "\u2021", + 0x83: "\u2026", + 0x84: "\u2014", + 0x85: "\u2013", + 0x86: "\u0192", + 0x87: "\u2044", + 0x88: "\u2039", + 0x89: "\u203A", + 0x8A: "\u2212", + 0x8B: "\u2030", + 0x8C: "\u201E", + 0x8D: "\u201C", + 0x8E: "\u201D", + 0x8F: "\u2018", + 0x90: "\u2019", + 0x91: "\u201A", + 0x92: "\u2122", + 0x93: "\uFB01", + 0x94: "\uFB02", + 0x95: "\u0141", + 0x96: "\u0152", + 0x97: "\u0160", + 0x98: "\u0178", + 0x99: "\u017D", + 0x9A: "\u0131", + 0x9B: "\u0142", + 0x9C: "\u0153", + 0x9D: "\u0161", + 0x9E: "\u017E", + 0xA0: "\u20AC", +} + + +def decode_text(b: bytes) -> str: + if b[: len(codecs.BOM_UTF16_BE)] == codecs.BOM_UTF16_BE: + return b[len(codecs.BOM_UTF16_BE) :].decode("utf_16_be") + else: + return "".join(PDFDocEncoding.get(byte, chr(byte)) for byte in b) + + +class PdfFormatError(RuntimeError): + """An error that probably indicates a syntactic or semantic error in the + PDF file structure""" + + pass + + +def check_format_condition(condition: bool, error_message: str) -> None: + if not condition: + raise PdfFormatError(error_message) + + +class IndirectReferenceTuple(NamedTuple): + object_id: int + generation: int + + +class IndirectReference(IndirectReferenceTuple): + def __str__(self) -> str: + return f"{self.object_id} {self.generation} R" + + def __bytes__(self) -> bytes: + return self.__str__().encode("us-ascii") + + def __eq__(self, other: object) -> bool: + if self.__class__ is not other.__class__: + return False + assert isinstance(other, IndirectReference) + return other.object_id == self.object_id and other.generation == self.generation + + def __ne__(self, other: object) -> bool: + return not (self == other) + + def __hash__(self) -> int: + return hash((self.object_id, self.generation)) + + +class IndirectObjectDef(IndirectReference): + def __str__(self) -> str: + return f"{self.object_id} {self.generation} obj" + + +class XrefTable: + def __init__(self) -> None: + self.existing_entries: dict[int, tuple[int, int]] = ( + {} + ) # object ID => (offset, generation) + self.new_entries: dict[int, tuple[int, int]] = ( + {} + ) # object ID => (offset, generation) + self.deleted_entries = {0: 65536} # object ID => generation + self.reading_finished = False + + def __setitem__(self, key: int, value: tuple[int, int]) -> None: + if self.reading_finished: + self.new_entries[key] = value + else: + self.existing_entries[key] = value + if key in self.deleted_entries: + del self.deleted_entries[key] + + def __getitem__(self, key: int) -> tuple[int, int]: + try: + return self.new_entries[key] + except KeyError: + return self.existing_entries[key] + + def __delitem__(self, key: int) -> None: + if key in self.new_entries: + generation = self.new_entries[key][1] + 1 + del self.new_entries[key] + self.deleted_entries[key] = generation + elif key in self.existing_entries: + generation = self.existing_entries[key][1] + 1 + self.deleted_entries[key] = generation + elif key in self.deleted_entries: + generation = self.deleted_entries[key] + else: + msg = f"object ID {key} cannot be deleted because it doesn't exist" + raise IndexError(msg) + + def __contains__(self, key: int) -> bool: + return key in self.existing_entries or key in self.new_entries + + def __len__(self) -> int: + return len( + set(self.existing_entries.keys()) + | set(self.new_entries.keys()) + | set(self.deleted_entries.keys()) + ) + + def keys(self) -> set[int]: + return ( + set(self.existing_entries.keys()) - set(self.deleted_entries.keys()) + ) | set(self.new_entries.keys()) + + def write(self, f: IO[bytes]) -> int: + keys = sorted(set(self.new_entries.keys()) | set(self.deleted_entries.keys())) + deleted_keys = sorted(set(self.deleted_entries.keys())) + startxref = f.tell() + f.write(b"xref\n") + while keys: + # find a contiguous sequence of object IDs + prev: int | None = None + for index, key in enumerate(keys): + if prev is None or prev + 1 == key: + prev = key + else: + contiguous_keys = keys[:index] + keys = keys[index:] + break + else: + contiguous_keys = keys + keys = [] + f.write(b"%d %d\n" % (contiguous_keys[0], len(contiguous_keys))) + for object_id in contiguous_keys: + if object_id in self.new_entries: + f.write(b"%010d %05d n \n" % self.new_entries[object_id]) + else: + this_deleted_object_id = deleted_keys.pop(0) + check_format_condition( + object_id == this_deleted_object_id, + f"expected the next deleted object ID to be {object_id}, " + f"instead found {this_deleted_object_id}", + ) + try: + next_in_linked_list = deleted_keys[0] + except IndexError: + next_in_linked_list = 0 + f.write( + b"%010d %05d f \n" + % (next_in_linked_list, self.deleted_entries[object_id]) + ) + return startxref + + +class PdfName: + name: bytes + + def __init__(self, name: PdfName | bytes | str) -> None: + if isinstance(name, PdfName): + self.name = name.name + elif isinstance(name, bytes): + self.name = name + else: + self.name = name.encode("us-ascii") + + def name_as_str(self) -> str: + return self.name.decode("us-ascii") + + def __eq__(self, other: object) -> bool: + return ( + isinstance(other, PdfName) and other.name == self.name + ) or other == self.name + + def __hash__(self) -> int: + return hash(self.name) + + def __repr__(self) -> str: + return f"{self.__class__.__name__}({repr(self.name)})" + + @classmethod + def from_pdf_stream(cls, data: bytes) -> PdfName: + return cls(PdfParser.interpret_name(data)) + + allowed_chars = set(range(33, 127)) - {ord(c) for c in "#%/()<>[]{}"} + + def __bytes__(self) -> bytes: + result = bytearray(b"/") + for b in self.name: + if b in self.allowed_chars: + result.append(b) + else: + result.extend(b"#%02X" % b) + return bytes(result) + + +class PdfArray(list[Any]): + def __bytes__(self) -> bytes: + return b"[ " + b" ".join(pdf_repr(x) for x in self) + b" ]" + + +if TYPE_CHECKING: + _DictBase = collections.UserDict[Union[str, bytes], Any] +else: + _DictBase = collections.UserDict + + +class PdfDict(_DictBase): + def __setattr__(self, key: str, value: Any) -> None: + if key == "data": + collections.UserDict.__setattr__(self, key, value) + else: + self[key.encode("us-ascii")] = value + + def __getattr__(self, key: str) -> str | time.struct_time: + try: + value = self[key.encode("us-ascii")] + except KeyError as e: + raise AttributeError(key) from e + if isinstance(value, bytes): + value = decode_text(value) + if key.endswith("Date"): + if value.startswith("D:"): + value = value[2:] + + relationship = "Z" + if len(value) > 17: + relationship = value[14] + offset = int(value[15:17]) * 60 + if len(value) > 20: + offset += int(value[18:20]) + + format = "%Y%m%d%H%M%S"[: len(value) - 2] + value = time.strptime(value[: len(format) + 2], format) + if relationship in ["+", "-"]: + offset *= 60 + if relationship == "+": + offset *= -1 + value = time.gmtime(calendar.timegm(value) + offset) + return value + + def __bytes__(self) -> bytes: + out = bytearray(b"<<") + for key, value in self.items(): + if value is None: + continue + value = pdf_repr(value) + out.extend(b"\n") + out.extend(bytes(PdfName(key))) + out.extend(b" ") + out.extend(value) + out.extend(b"\n>>") + return bytes(out) + + +class PdfBinary: + def __init__(self, data: list[int] | bytes) -> None: + self.data = data + + def __bytes__(self) -> bytes: + return b"<%s>" % b"".join(b"%02X" % b for b in self.data) + + +class PdfStream: + def __init__(self, dictionary: PdfDict, buf: bytes) -> None: + self.dictionary = dictionary + self.buf = buf + + def decode(self) -> bytes: + try: + filter = self.dictionary[b"Filter"] + except KeyError: + return self.buf + if filter == b"FlateDecode": + try: + expected_length = self.dictionary[b"DL"] + except KeyError: + expected_length = self.dictionary[b"Length"] + return zlib.decompress(self.buf, bufsize=int(expected_length)) + else: + msg = f"stream filter {repr(filter)} unknown/unsupported" + raise NotImplementedError(msg) + + +def pdf_repr(x: Any) -> bytes: + if x is True: + return b"true" + elif x is False: + return b"false" + elif x is None: + return b"null" + elif isinstance(x, (PdfName, PdfDict, PdfArray, PdfBinary)): + return bytes(x) + elif isinstance(x, (int, float)): + return str(x).encode("us-ascii") + elif isinstance(x, time.struct_time): + return b"(D:" + time.strftime("%Y%m%d%H%M%SZ", x).encode("us-ascii") + b")" + elif isinstance(x, dict): + return bytes(PdfDict(x)) + elif isinstance(x, list): + return bytes(PdfArray(x)) + elif isinstance(x, str): + return pdf_repr(encode_text(x)) + elif isinstance(x, bytes): + # XXX escape more chars? handle binary garbage + x = x.replace(b"\\", b"\\\\") + x = x.replace(b"(", b"\\(") + x = x.replace(b")", b"\\)") + return b"(" + x + b")" + else: + return bytes(x) + + +class PdfParser: + """Based on + https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/PDF32000_2008.pdf + Supports PDF up to 1.4 + """ + + def __init__( + self, + filename: str | None = None, + f: IO[bytes] | None = None, + buf: bytes | bytearray | None = None, + start_offset: int = 0, + mode: str = "rb", + ) -> None: + if buf and f: + msg = "specify buf or f or filename, but not both buf and f" + raise RuntimeError(msg) + self.filename = filename + self.buf: bytes | bytearray | mmap.mmap | None = buf + self.f = f + self.start_offset = start_offset + self.should_close_buf = False + self.should_close_file = False + if filename is not None and f is None: + self.f = f = open(filename, mode) + self.should_close_file = True + if f is not None: + self.buf = self.get_buf_from_file(f) + self.should_close_buf = True + if not filename and hasattr(f, "name"): + self.filename = f.name + self.cached_objects: dict[IndirectReference, Any] = {} + self.root_ref: IndirectReference | None + self.info_ref: IndirectReference | None + self.pages_ref: IndirectReference | None + self.last_xref_section_offset: int | None + if self.buf: + self.read_pdf_info() + else: + self.file_size_total = self.file_size_this = 0 + self.root = PdfDict() + self.root_ref = None + self.info = PdfDict() + self.info_ref = None + self.page_tree_root = PdfDict() + self.pages: list[IndirectReference] = [] + self.orig_pages: list[IndirectReference] = [] + self.pages_ref = None + self.last_xref_section_offset = None + self.trailer_dict: dict[bytes, Any] = {} + self.xref_table = XrefTable() + self.xref_table.reading_finished = True + if f: + self.seek_end() + + def __enter__(self) -> PdfParser: + return self + + def __exit__(self, *args: object) -> None: + self.close() + + def start_writing(self) -> None: + self.close_buf() + self.seek_end() + + def close_buf(self) -> None: + if isinstance(self.buf, mmap.mmap): + self.buf.close() + self.buf = None + + def close(self) -> None: + if self.should_close_buf: + self.close_buf() + if self.f is not None and self.should_close_file: + self.f.close() + self.f = None + + def seek_end(self) -> None: + assert self.f is not None + self.f.seek(0, os.SEEK_END) + + def write_header(self) -> None: + assert self.f is not None + self.f.write(b"%PDF-1.4\n") + + def write_comment(self, s: str) -> None: + assert self.f is not None + self.f.write(f"% {s}\n".encode()) + + def write_catalog(self) -> IndirectReference: + assert self.f is not None + self.del_root() + self.root_ref = self.next_object_id(self.f.tell()) + self.pages_ref = self.next_object_id(0) + self.rewrite_pages() + self.write_obj(self.root_ref, Type=PdfName(b"Catalog"), Pages=self.pages_ref) + self.write_obj( + self.pages_ref, + Type=PdfName(b"Pages"), + Count=len(self.pages), + Kids=self.pages, + ) + return self.root_ref + + def rewrite_pages(self) -> None: + pages_tree_nodes_to_delete = [] + for i, page_ref in enumerate(self.orig_pages): + page_info = self.cached_objects[page_ref] + del self.xref_table[page_ref.object_id] + pages_tree_nodes_to_delete.append(page_info[PdfName(b"Parent")]) + if page_ref not in self.pages: + # the page has been deleted + continue + # make dict keys into strings for passing to write_page + stringified_page_info = {} + for key, value in page_info.items(): + # key should be a PdfName + stringified_page_info[key.name_as_str()] = value + stringified_page_info["Parent"] = self.pages_ref + new_page_ref = self.write_page(None, **stringified_page_info) + for j, cur_page_ref in enumerate(self.pages): + if cur_page_ref == page_ref: + # replace the page reference with the new one + self.pages[j] = new_page_ref + # delete redundant Pages tree nodes from xref table + for pages_tree_node_ref in pages_tree_nodes_to_delete: + while pages_tree_node_ref: + pages_tree_node = self.cached_objects[pages_tree_node_ref] + if pages_tree_node_ref.object_id in self.xref_table: + del self.xref_table[pages_tree_node_ref.object_id] + pages_tree_node_ref = pages_tree_node.get(b"Parent", None) + self.orig_pages = [] + + def write_xref_and_trailer( + self, new_root_ref: IndirectReference | None = None + ) -> None: + assert self.f is not None + if new_root_ref: + self.del_root() + self.root_ref = new_root_ref + if self.info: + self.info_ref = self.write_obj(None, self.info) + start_xref = self.xref_table.write(self.f) + num_entries = len(self.xref_table) + trailer_dict: dict[str | bytes, Any] = { + b"Root": self.root_ref, + b"Size": num_entries, + } + if self.last_xref_section_offset is not None: + trailer_dict[b"Prev"] = self.last_xref_section_offset + if self.info: + trailer_dict[b"Info"] = self.info_ref + self.last_xref_section_offset = start_xref + self.f.write( + b"trailer\n" + + bytes(PdfDict(trailer_dict)) + + b"\nstartxref\n%d\n%%%%EOF" % start_xref + ) + + def write_page( + self, ref: int | IndirectReference | None, *objs: Any, **dict_obj: Any + ) -> IndirectReference: + obj_ref = self.pages[ref] if isinstance(ref, int) else ref + if "Type" not in dict_obj: + dict_obj["Type"] = PdfName(b"Page") + if "Parent" not in dict_obj: + dict_obj["Parent"] = self.pages_ref + return self.write_obj(obj_ref, *objs, **dict_obj) + + def write_obj( + self, ref: IndirectReference | None, *objs: Any, **dict_obj: Any + ) -> IndirectReference: + assert self.f is not None + f = self.f + if ref is None: + ref = self.next_object_id(f.tell()) + else: + self.xref_table[ref.object_id] = (f.tell(), ref.generation) + f.write(bytes(IndirectObjectDef(*ref))) + stream = dict_obj.pop("stream", None) + if stream is not None: + dict_obj["Length"] = len(stream) + if dict_obj: + f.write(pdf_repr(dict_obj)) + for obj in objs: + f.write(pdf_repr(obj)) + if stream is not None: + f.write(b"stream\n") + f.write(stream) + f.write(b"\nendstream\n") + f.write(b"endobj\n") + return ref + + def del_root(self) -> None: + if self.root_ref is None: + return + del self.xref_table[self.root_ref.object_id] + del self.xref_table[self.root[b"Pages"].object_id] + + @staticmethod + def get_buf_from_file(f: IO[bytes]) -> bytes | mmap.mmap: + if hasattr(f, "getbuffer"): + return f.getbuffer() + elif hasattr(f, "getvalue"): + return f.getvalue() + else: + try: + return mmap.mmap(f.fileno(), 0, access=mmap.ACCESS_READ) + except ValueError: # cannot mmap an empty file + return b"" + + def read_pdf_info(self) -> None: + assert self.buf is not None + self.file_size_total = len(self.buf) + self.file_size_this = self.file_size_total - self.start_offset + self.read_trailer() + check_format_condition( + self.trailer_dict.get(b"Root") is not None, "Root is missing" + ) + self.root_ref = self.trailer_dict[b"Root"] + assert self.root_ref is not None + self.info_ref = self.trailer_dict.get(b"Info", None) + self.root = PdfDict(self.read_indirect(self.root_ref)) + if self.info_ref is None: + self.info = PdfDict() + else: + self.info = PdfDict(self.read_indirect(self.info_ref)) + check_format_condition(b"Type" in self.root, "/Type missing in Root") + check_format_condition( + self.root[b"Type"] == b"Catalog", "/Type in Root is not /Catalog" + ) + check_format_condition( + self.root.get(b"Pages") is not None, "/Pages missing in Root" + ) + check_format_condition( + isinstance(self.root[b"Pages"], IndirectReference), + "/Pages in Root is not an indirect reference", + ) + self.pages_ref = self.root[b"Pages"] + assert self.pages_ref is not None + self.page_tree_root = self.read_indirect(self.pages_ref) + self.pages = self.linearize_page_tree(self.page_tree_root) + # save the original list of page references + # in case the user modifies, adds or deletes some pages + # and we need to rewrite the pages and their list + self.orig_pages = self.pages[:] + + def next_object_id(self, offset: int | None = None) -> IndirectReference: + try: + # TODO: support reuse of deleted objects + reference = IndirectReference(max(self.xref_table.keys()) + 1, 0) + except ValueError: + reference = IndirectReference(1, 0) + if offset is not None: + self.xref_table[reference.object_id] = (offset, 0) + return reference + + delimiter = rb"[][()<>{}/%]" + delimiter_or_ws = rb"[][()<>{}/%\000\011\012\014\015\040]" + whitespace = rb"[\000\011\012\014\015\040]" + whitespace_or_hex = rb"[\000\011\012\014\015\0400-9a-fA-F]" + whitespace_optional = whitespace + b"*" + whitespace_mandatory = whitespace + b"+" + # No "\012" aka "\n" or "\015" aka "\r": + whitespace_optional_no_nl = rb"[\000\011\014\040]*" + newline_only = rb"[\r\n]+" + newline = whitespace_optional_no_nl + newline_only + whitespace_optional_no_nl + re_trailer_end = re.compile( + whitespace_mandatory + + rb"trailer" + + whitespace_optional + + rb"<<(.*>>)" + + newline + + rb"startxref" + + newline + + rb"([0-9]+)" + + newline + + rb"%%EOF" + + whitespace_optional + + rb"$", + re.DOTALL, + ) + re_trailer_prev = re.compile( + whitespace_optional + + rb"trailer" + + whitespace_optional + + rb"<<(.*?>>)" + + newline + + rb"startxref" + + newline + + rb"([0-9]+)" + + newline + + rb"%%EOF" + + whitespace_optional, + re.DOTALL, + ) + + def read_trailer(self) -> None: + assert self.buf is not None + search_start_offset = len(self.buf) - 16384 + if search_start_offset < self.start_offset: + search_start_offset = self.start_offset + m = self.re_trailer_end.search(self.buf, search_start_offset) + check_format_condition(m is not None, "trailer end not found") + # make sure we found the LAST trailer + last_match = m + while m: + last_match = m + m = self.re_trailer_end.search(self.buf, m.start() + 16) + if not m: + m = last_match + assert m is not None + trailer_data = m.group(1) + self.last_xref_section_offset = int(m.group(2)) + self.trailer_dict = self.interpret_trailer(trailer_data) + self.xref_table = XrefTable() + self.read_xref_table(xref_section_offset=self.last_xref_section_offset) + if b"Prev" in self.trailer_dict: + self.read_prev_trailer(self.trailer_dict[b"Prev"]) + + def read_prev_trailer(self, xref_section_offset: int) -> None: + assert self.buf is not None + trailer_offset = self.read_xref_table(xref_section_offset=xref_section_offset) + m = self.re_trailer_prev.search( + self.buf[trailer_offset : trailer_offset + 16384] + ) + check_format_condition(m is not None, "previous trailer not found") + assert m is not None + trailer_data = m.group(1) + check_format_condition( + int(m.group(2)) == xref_section_offset, + "xref section offset in previous trailer doesn't match what was expected", + ) + trailer_dict = self.interpret_trailer(trailer_data) + if b"Prev" in trailer_dict: + self.read_prev_trailer(trailer_dict[b"Prev"]) + + re_whitespace_optional = re.compile(whitespace_optional) + re_name = re.compile( + whitespace_optional + + rb"/([!-$&'*-.0-;=?-Z\\^-z|~]+)(?=" + + delimiter_or_ws + + rb")" + ) + re_dict_start = re.compile(whitespace_optional + rb"<<") + re_dict_end = re.compile(whitespace_optional + rb">>" + whitespace_optional) + + @classmethod + def interpret_trailer(cls, trailer_data: bytes) -> dict[bytes, Any]: + trailer = {} + offset = 0 + while True: + m = cls.re_name.match(trailer_data, offset) + if not m: + m = cls.re_dict_end.match(trailer_data, offset) + check_format_condition( + m is not None and m.end() == len(trailer_data), + "name not found in trailer, remaining data: " + + repr(trailer_data[offset:]), + ) + break + key = cls.interpret_name(m.group(1)) + assert isinstance(key, bytes) + value, value_offset = cls.get_value(trailer_data, m.end()) + trailer[key] = value + if value_offset is None: + break + offset = value_offset + check_format_condition( + b"Size" in trailer and isinstance(trailer[b"Size"], int), + "/Size not in trailer or not an integer", + ) + check_format_condition( + b"Root" in trailer and isinstance(trailer[b"Root"], IndirectReference), + "/Root not in trailer or not an indirect reference", + ) + return trailer + + re_hashes_in_name = re.compile(rb"([^#]*)(#([0-9a-fA-F]{2}))?") + + @classmethod + def interpret_name(cls, raw: bytes, as_text: bool = False) -> str | bytes: + name = b"" + for m in cls.re_hashes_in_name.finditer(raw): + if m.group(3): + name += m.group(1) + bytearray.fromhex(m.group(3).decode("us-ascii")) + else: + name += m.group(1) + if as_text: + return name.decode("utf-8") + else: + return bytes(name) + + re_null = re.compile(whitespace_optional + rb"null(?=" + delimiter_or_ws + rb")") + re_true = re.compile(whitespace_optional + rb"true(?=" + delimiter_or_ws + rb")") + re_false = re.compile(whitespace_optional + rb"false(?=" + delimiter_or_ws + rb")") + re_int = re.compile( + whitespace_optional + rb"([-+]?[0-9]+)(?=" + delimiter_or_ws + rb")" + ) + re_real = re.compile( + whitespace_optional + + rb"([-+]?([0-9]+\.[0-9]*|[0-9]*\.[0-9]+))(?=" + + delimiter_or_ws + + rb")" + ) + re_array_start = re.compile(whitespace_optional + rb"\[") + re_array_end = re.compile(whitespace_optional + rb"]") + re_string_hex = re.compile( + whitespace_optional + rb"<(" + whitespace_or_hex + rb"*)>" + ) + re_string_lit = re.compile(whitespace_optional + rb"\(") + re_indirect_reference = re.compile( + whitespace_optional + + rb"([-+]?[0-9]+)" + + whitespace_mandatory + + rb"([-+]?[0-9]+)" + + whitespace_mandatory + + rb"R(?=" + + delimiter_or_ws + + rb")" + ) + re_indirect_def_start = re.compile( + whitespace_optional + + rb"([-+]?[0-9]+)" + + whitespace_mandatory + + rb"([-+]?[0-9]+)" + + whitespace_mandatory + + rb"obj(?=" + + delimiter_or_ws + + rb")" + ) + re_indirect_def_end = re.compile( + whitespace_optional + rb"endobj(?=" + delimiter_or_ws + rb")" + ) + re_comment = re.compile( + rb"(" + whitespace_optional + rb"%[^\r\n]*" + newline + rb")*" + ) + re_stream_start = re.compile(whitespace_optional + rb"stream\r?\n") + re_stream_end = re.compile( + whitespace_optional + rb"endstream(?=" + delimiter_or_ws + rb")" + ) + + @classmethod + def get_value( + cls, + data: bytes | bytearray | mmap.mmap, + offset: int, + expect_indirect: IndirectReference | None = None, + max_nesting: int = -1, + ) -> tuple[Any, int | None]: + if max_nesting == 0: + return None, None + m = cls.re_comment.match(data, offset) + if m: + offset = m.end() + m = cls.re_indirect_def_start.match(data, offset) + if m: + check_format_condition( + int(m.group(1)) > 0, + "indirect object definition: object ID must be greater than 0", + ) + check_format_condition( + int(m.group(2)) >= 0, + "indirect object definition: generation must be non-negative", + ) + check_format_condition( + expect_indirect is None + or expect_indirect + == IndirectReference(int(m.group(1)), int(m.group(2))), + "indirect object definition different than expected", + ) + object, object_offset = cls.get_value( + data, m.end(), max_nesting=max_nesting - 1 + ) + if object_offset is None: + return object, None + m = cls.re_indirect_def_end.match(data, object_offset) + check_format_condition( + m is not None, "indirect object definition end not found" + ) + assert m is not None + return object, m.end() + check_format_condition( + not expect_indirect, "indirect object definition not found" + ) + m = cls.re_indirect_reference.match(data, offset) + if m: + check_format_condition( + int(m.group(1)) > 0, + "indirect object reference: object ID must be greater than 0", + ) + check_format_condition( + int(m.group(2)) >= 0, + "indirect object reference: generation must be non-negative", + ) + return IndirectReference(int(m.group(1)), int(m.group(2))), m.end() + m = cls.re_dict_start.match(data, offset) + if m: + offset = m.end() + result: dict[Any, Any] = {} + m = cls.re_dict_end.match(data, offset) + current_offset: int | None = offset + while not m: + assert current_offset is not None + key, current_offset = cls.get_value( + data, current_offset, max_nesting=max_nesting - 1 + ) + if current_offset is None: + return result, None + value, current_offset = cls.get_value( + data, current_offset, max_nesting=max_nesting - 1 + ) + result[key] = value + if current_offset is None: + return result, None + m = cls.re_dict_end.match(data, current_offset) + current_offset = m.end() + m = cls.re_stream_start.match(data, current_offset) + if m: + stream_len = result.get(b"Length") + if stream_len is None or not isinstance(stream_len, int): + msg = f"bad or missing Length in stream dict ({stream_len})" + raise PdfFormatError(msg) + stream_data = data[m.end() : m.end() + stream_len] + m = cls.re_stream_end.match(data, m.end() + stream_len) + check_format_condition(m is not None, "stream end not found") + assert m is not None + current_offset = m.end() + return PdfStream(PdfDict(result), stream_data), current_offset + return PdfDict(result), current_offset + m = cls.re_array_start.match(data, offset) + if m: + offset = m.end() + results = [] + m = cls.re_array_end.match(data, offset) + current_offset = offset + while not m: + assert current_offset is not None + value, current_offset = cls.get_value( + data, current_offset, max_nesting=max_nesting - 1 + ) + results.append(value) + if current_offset is None: + return results, None + m = cls.re_array_end.match(data, current_offset) + return results, m.end() + m = cls.re_null.match(data, offset) + if m: + return None, m.end() + m = cls.re_true.match(data, offset) + if m: + return True, m.end() + m = cls.re_false.match(data, offset) + if m: + return False, m.end() + m = cls.re_name.match(data, offset) + if m: + return PdfName(cls.interpret_name(m.group(1))), m.end() + m = cls.re_int.match(data, offset) + if m: + return int(m.group(1)), m.end() + m = cls.re_real.match(data, offset) + if m: + # XXX Decimal instead of float??? + return float(m.group(1)), m.end() + m = cls.re_string_hex.match(data, offset) + if m: + # filter out whitespace + hex_string = bytearray( + b for b in m.group(1) if b in b"0123456789abcdefABCDEF" + ) + if len(hex_string) % 2 == 1: + # append a 0 if the length is not even - yes, at the end + hex_string.append(ord(b"0")) + return bytearray.fromhex(hex_string.decode("us-ascii")), m.end() + m = cls.re_string_lit.match(data, offset) + if m: + return cls.get_literal_string(data, m.end()) + # return None, offset # fallback (only for debugging) + msg = f"unrecognized object: {repr(data[offset : offset + 32])}" + raise PdfFormatError(msg) + + re_lit_str_token = re.compile( + rb"(\\[nrtbf()\\])|(\\[0-9]{1,3})|(\\(\r\n|\r|\n))|(\r\n|\r|\n)|(\()|(\))" + ) + escaped_chars = { + b"n": b"\n", + b"r": b"\r", + b"t": b"\t", + b"b": b"\b", + b"f": b"\f", + b"(": b"(", + b")": b")", + b"\\": b"\\", + ord(b"n"): b"\n", + ord(b"r"): b"\r", + ord(b"t"): b"\t", + ord(b"b"): b"\b", + ord(b"f"): b"\f", + ord(b"("): b"(", + ord(b")"): b")", + ord(b"\\"): b"\\", + } + + @classmethod + def get_literal_string( + cls, data: bytes | bytearray | mmap.mmap, offset: int + ) -> tuple[bytes, int]: + nesting_depth = 0 + result = bytearray() + for m in cls.re_lit_str_token.finditer(data, offset): + result.extend(data[offset : m.start()]) + if m.group(1): + result.extend(cls.escaped_chars[m.group(1)[1]]) + elif m.group(2): + result.append(int(m.group(2)[1:], 8)) + elif m.group(3): + pass + elif m.group(5): + result.extend(b"\n") + elif m.group(6): + result.extend(b"(") + nesting_depth += 1 + elif m.group(7): + if nesting_depth == 0: + return bytes(result), m.end() + result.extend(b")") + nesting_depth -= 1 + offset = m.end() + msg = "unfinished literal string" + raise PdfFormatError(msg) + + re_xref_section_start = re.compile(whitespace_optional + rb"xref" + newline) + re_xref_subsection_start = re.compile( + whitespace_optional + + rb"([0-9]+)" + + whitespace_mandatory + + rb"([0-9]+)" + + whitespace_optional + + newline_only + ) + re_xref_entry = re.compile(rb"([0-9]{10}) ([0-9]{5}) ([fn])( \r| \n|\r\n)") + + def read_xref_table(self, xref_section_offset: int) -> int: + assert self.buf is not None + subsection_found = False + m = self.re_xref_section_start.match( + self.buf, xref_section_offset + self.start_offset + ) + check_format_condition(m is not None, "xref section start not found") + assert m is not None + offset = m.end() + while True: + m = self.re_xref_subsection_start.match(self.buf, offset) + if not m: + check_format_condition( + subsection_found, "xref subsection start not found" + ) + break + subsection_found = True + offset = m.end() + first_object = int(m.group(1)) + num_objects = int(m.group(2)) + for i in range(first_object, first_object + num_objects): + m = self.re_xref_entry.match(self.buf, offset) + check_format_condition(m is not None, "xref entry not found") + assert m is not None + offset = m.end() + is_free = m.group(3) == b"f" + if not is_free: + generation = int(m.group(2)) + new_entry = (int(m.group(1)), generation) + if i not in self.xref_table: + self.xref_table[i] = new_entry + return offset + + def read_indirect(self, ref: IndirectReference, max_nesting: int = -1) -> Any: + offset, generation = self.xref_table[ref[0]] + check_format_condition( + generation == ref[1], + f"expected to find generation {ref[1]} for object ID {ref[0]} in xref " + f"table, instead found generation {generation} at offset {offset}", + ) + assert self.buf is not None + value = self.get_value( + self.buf, + offset + self.start_offset, + expect_indirect=IndirectReference(*ref), + max_nesting=max_nesting, + )[0] + self.cached_objects[ref] = value + return value + + def linearize_page_tree( + self, node: PdfDict | None = None + ) -> list[IndirectReference]: + page_node = node if node is not None else self.page_tree_root + check_format_condition( + page_node[b"Type"] == b"Pages", "/Type of page tree node is not /Pages" + ) + pages = [] + for kid in page_node[b"Kids"]: + kid_object = self.read_indirect(kid) + if kid_object[b"Type"] == b"Page": + pages.append(kid) + else: + pages.extend(self.linearize_page_tree(node=kid_object)) + return pages diff --git a/gestao_raul/Lib/site-packages/PIL/PixarImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/PixarImagePlugin.py new file mode 100644 index 0000000..36f565f --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/PixarImagePlugin.py @@ -0,0 +1,74 @@ +# +# The Python Imaging Library. +# $Id$ +# +# PIXAR raster support for PIL +# +# history: +# 97-01-29 fl Created +# +# notes: +# This is incomplete; it is based on a few samples created with +# Photoshop 2.5 and 3.0, and a summary description provided by +# Greg Coats . Hopefully, "L" and +# "RGBA" support will be added in future versions. +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1997. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from . import Image, ImageFile +from ._binary import i16le as i16 + +# +# helpers + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] == b"\200\350\000\000" + + +## +# Image plugin for PIXAR raster images. + + +class PixarImageFile(ImageFile.ImageFile): + format = "PIXAR" + format_description = "PIXAR raster image" + + def _open(self) -> None: + # assuming a 4-byte magic label + assert self.fp is not None + + s = self.fp.read(4) + if not _accept(s): + msg = "not a PIXAR file" + raise SyntaxError(msg) + + # read rest of header + s = s + self.fp.read(508) + + self._size = i16(s, 418), i16(s, 416) + + # get channel/depth descriptions + mode = i16(s, 424), i16(s, 426) + + if mode == (14, 2): + self._mode = "RGB" + # FIXME: to be continued... + + # create tile descriptor (assuming "dumped") + self.tile = [ + ImageFile._Tile("raw", (0, 0) + self.size, 1024, (self.mode, 0, 1)) + ] + + +# +# -------------------------------------------------------------------- + +Image.register_open(PixarImageFile.format, PixarImageFile, _accept) + +Image.register_extension(PixarImageFile.format, ".pxr") diff --git a/gestao_raul/Lib/site-packages/PIL/PngImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/PngImagePlugin.py new file mode 100644 index 0000000..4e12272 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/PngImagePlugin.py @@ -0,0 +1,1544 @@ +# +# The Python Imaging Library. +# $Id$ +# +# PNG support code +# +# See "PNG (Portable Network Graphics) Specification, version 1.0; +# W3C Recommendation", 1996-10-01, Thomas Boutell (ed.). +# +# history: +# 1996-05-06 fl Created (couldn't resist it) +# 1996-12-14 fl Upgraded, added read and verify support (0.2) +# 1996-12-15 fl Separate PNG stream parser +# 1996-12-29 fl Added write support, added getchunks +# 1996-12-30 fl Eliminated circular references in decoder (0.3) +# 1998-07-12 fl Read/write 16-bit images as mode I (0.4) +# 2001-02-08 fl Added transparency support (from Zircon) (0.5) +# 2001-04-16 fl Don't close data source in "open" method (0.6) +# 2004-02-24 fl Don't even pretend to support interlaced files (0.7) +# 2004-08-31 fl Do basic sanity check on chunk identifiers (0.8) +# 2004-09-20 fl Added PngInfo chunk container +# 2004-12-18 fl Added DPI read support (based on code by Niki Spahiev) +# 2008-08-13 fl Added tRNS support for RGB images +# 2009-03-06 fl Support for preserving ICC profiles (by Florian Hoech) +# 2009-03-08 fl Added zTXT support (from Lowell Alleman) +# 2009-03-29 fl Read interlaced PNG files (from Conrado Porto Lopes Gouvua) +# +# Copyright (c) 1997-2009 by Secret Labs AB +# Copyright (c) 1996 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import itertools +import logging +import re +import struct +import warnings +import zlib +from collections.abc import Callable +from enum import IntEnum +from typing import IO, TYPE_CHECKING, Any, NamedTuple, NoReturn, cast + +from . import Image, ImageChops, ImageFile, ImagePalette, ImageSequence +from ._binary import i16be as i16 +from ._binary import i32be as i32 +from ._binary import o8 +from ._binary import o16be as o16 +from ._binary import o32be as o32 + +if TYPE_CHECKING: + from . import _imaging + +logger = logging.getLogger(__name__) + +is_cid = re.compile(rb"\w\w\w\w").match + + +_MAGIC = b"\211PNG\r\n\032\n" + + +_MODES = { + # supported bits/color combinations, and corresponding modes/rawmodes + # Grayscale + (1, 0): ("1", "1"), + (2, 0): ("L", "L;2"), + (4, 0): ("L", "L;4"), + (8, 0): ("L", "L"), + (16, 0): ("I;16", "I;16B"), + # Truecolour + (8, 2): ("RGB", "RGB"), + (16, 2): ("RGB", "RGB;16B"), + # Indexed-colour + (1, 3): ("P", "P;1"), + (2, 3): ("P", "P;2"), + (4, 3): ("P", "P;4"), + (8, 3): ("P", "P"), + # Grayscale with alpha + (8, 4): ("LA", "LA"), + (16, 4): ("RGBA", "LA;16B"), # LA;16B->LA not yet available + # Truecolour with alpha + (8, 6): ("RGBA", "RGBA"), + (16, 6): ("RGBA", "RGBA;16B"), +} + + +_simple_palette = re.compile(b"^\xff*\x00\xff*$") + +MAX_TEXT_CHUNK = ImageFile.SAFEBLOCK +""" +Maximum decompressed size for a iTXt or zTXt chunk. +Eliminates decompression bombs where compressed chunks can expand 1000x. +See :ref:`Text in PNG File Format`. +""" +MAX_TEXT_MEMORY = 64 * MAX_TEXT_CHUNK +""" +Set the maximum total text chunk size. +See :ref:`Text in PNG File Format`. +""" + + +# APNG frame disposal modes +class Disposal(IntEnum): + OP_NONE = 0 + """ + No disposal is done on this frame before rendering the next frame. + See :ref:`Saving APNG sequences`. + """ + OP_BACKGROUND = 1 + """ + This frame’s modified region is cleared to fully transparent black before rendering + the next frame. + See :ref:`Saving APNG sequences`. + """ + OP_PREVIOUS = 2 + """ + This frame’s modified region is reverted to the previous frame’s contents before + rendering the next frame. + See :ref:`Saving APNG sequences`. + """ + + +# APNG frame blend modes +class Blend(IntEnum): + OP_SOURCE = 0 + """ + All color components of this frame, including alpha, overwrite the previous output + image contents. + See :ref:`Saving APNG sequences`. + """ + OP_OVER = 1 + """ + This frame should be alpha composited with the previous output image contents. + See :ref:`Saving APNG sequences`. + """ + + +def _safe_zlib_decompress(s: bytes) -> bytes: + dobj = zlib.decompressobj() + plaintext = dobj.decompress(s, MAX_TEXT_CHUNK) + if dobj.unconsumed_tail: + msg = "Decompressed data too large for PngImagePlugin.MAX_TEXT_CHUNK" + raise ValueError(msg) + return plaintext + + +def _crc32(data: bytes, seed: int = 0) -> int: + return zlib.crc32(data, seed) & 0xFFFFFFFF + + +# -------------------------------------------------------------------- +# Support classes. Suitable for PNG and related formats like MNG etc. + + +class ChunkStream: + def __init__(self, fp: IO[bytes]) -> None: + self.fp: IO[bytes] | None = fp + self.queue: list[tuple[bytes, int, int]] | None = [] + + def read(self) -> tuple[bytes, int, int]: + """Fetch a new chunk. Returns header information.""" + cid = None + + assert self.fp is not None + if self.queue: + cid, pos, length = self.queue.pop() + self.fp.seek(pos) + else: + s = self.fp.read(8) + cid = s[4:] + pos = self.fp.tell() + length = i32(s) + + if not is_cid(cid): + if not ImageFile.LOAD_TRUNCATED_IMAGES: + msg = f"broken PNG file (chunk {repr(cid)})" + raise SyntaxError(msg) + + return cid, pos, length + + def __enter__(self) -> ChunkStream: + return self + + def __exit__(self, *args: object) -> None: + self.close() + + def close(self) -> None: + self.queue = self.fp = None + + def push(self, cid: bytes, pos: int, length: int) -> None: + assert self.queue is not None + self.queue.append((cid, pos, length)) + + def call(self, cid: bytes, pos: int, length: int) -> bytes: + """Call the appropriate chunk handler""" + + logger.debug("STREAM %r %s %s", cid, pos, length) + return getattr(self, f"chunk_{cid.decode('ascii')}")(pos, length) + + def crc(self, cid: bytes, data: bytes) -> None: + """Read and verify checksum""" + + # Skip CRC checks for ancillary chunks if allowed to load truncated + # images + # 5th byte of first char is 1 [specs, section 5.4] + if ImageFile.LOAD_TRUNCATED_IMAGES and (cid[0] >> 5 & 1): + self.crc_skip(cid, data) + return + + assert self.fp is not None + try: + crc1 = _crc32(data, _crc32(cid)) + crc2 = i32(self.fp.read(4)) + if crc1 != crc2: + msg = f"broken PNG file (bad header checksum in {repr(cid)})" + raise SyntaxError(msg) + except struct.error as e: + msg = f"broken PNG file (incomplete checksum in {repr(cid)})" + raise SyntaxError(msg) from e + + def crc_skip(self, cid: bytes, data: bytes) -> None: + """Read checksum""" + + assert self.fp is not None + self.fp.read(4) + + def verify(self, endchunk: bytes = b"IEND") -> list[bytes]: + # Simple approach; just calculate checksum for all remaining + # blocks. Must be called directly after open. + + cids = [] + + assert self.fp is not None + while True: + try: + cid, pos, length = self.read() + except struct.error as e: + msg = "truncated PNG file" + raise OSError(msg) from e + + if cid == endchunk: + break + self.crc(cid, ImageFile._safe_read(self.fp, length)) + cids.append(cid) + + return cids + + +class iTXt(str): + """ + Subclass of string to allow iTXt chunks to look like strings while + keeping their extra information + + """ + + lang: str | bytes | None + tkey: str | bytes | None + + @staticmethod + def __new__( + cls, text: str, lang: str | None = None, tkey: str | None = None + ) -> iTXt: + """ + :param cls: the class to use when creating the instance + :param text: value for this key + :param lang: language code + :param tkey: UTF-8 version of the key name + """ + + self = str.__new__(cls, text) + self.lang = lang + self.tkey = tkey + return self + + +class PngInfo: + """ + PNG chunk container (for use with save(pnginfo=)) + + """ + + def __init__(self) -> None: + self.chunks: list[tuple[bytes, bytes, bool]] = [] + + def add(self, cid: bytes, data: bytes, after_idat: bool = False) -> None: + """Appends an arbitrary chunk. Use with caution. + + :param cid: a byte string, 4 bytes long. + :param data: a byte string of the encoded data + :param after_idat: for use with private chunks. Whether the chunk + should be written after IDAT + + """ + + self.chunks.append((cid, data, after_idat)) + + def add_itxt( + self, + key: str | bytes, + value: str | bytes, + lang: str | bytes = "", + tkey: str | bytes = "", + zip: bool = False, + ) -> None: + """Appends an iTXt chunk. + + :param key: latin-1 encodable text key name + :param value: value for this key + :param lang: language code + :param tkey: UTF-8 version of the key name + :param zip: compression flag + + """ + + if not isinstance(key, bytes): + key = key.encode("latin-1", "strict") + if not isinstance(value, bytes): + value = value.encode("utf-8", "strict") + if not isinstance(lang, bytes): + lang = lang.encode("utf-8", "strict") + if not isinstance(tkey, bytes): + tkey = tkey.encode("utf-8", "strict") + + if zip: + self.add( + b"iTXt", + key + b"\0\x01\0" + lang + b"\0" + tkey + b"\0" + zlib.compress(value), + ) + else: + self.add(b"iTXt", key + b"\0\0\0" + lang + b"\0" + tkey + b"\0" + value) + + def add_text( + self, key: str | bytes, value: str | bytes | iTXt, zip: bool = False + ) -> None: + """Appends a text chunk. + + :param key: latin-1 encodable text key name + :param value: value for this key, text or an + :py:class:`PIL.PngImagePlugin.iTXt` instance + :param zip: compression flag + + """ + if isinstance(value, iTXt): + return self.add_itxt( + key, + value, + value.lang if value.lang is not None else b"", + value.tkey if value.tkey is not None else b"", + zip=zip, + ) + + # The tEXt chunk stores latin-1 text + if not isinstance(value, bytes): + try: + value = value.encode("latin-1", "strict") + except UnicodeError: + return self.add_itxt(key, value, zip=zip) + + if not isinstance(key, bytes): + key = key.encode("latin-1", "strict") + + if zip: + self.add(b"zTXt", key + b"\0\0" + zlib.compress(value)) + else: + self.add(b"tEXt", key + b"\0" + value) + + +# -------------------------------------------------------------------- +# PNG image stream (IHDR/IEND) + + +class _RewindState(NamedTuple): + info: dict[str | tuple[int, int], Any] + tile: list[ImageFile._Tile] + seq_num: int | None + + +class PngStream(ChunkStream): + def __init__(self, fp: IO[bytes]) -> None: + super().__init__(fp) + + # local copies of Image attributes + self.im_info: dict[str | tuple[int, int], Any] = {} + self.im_text: dict[str, str | iTXt] = {} + self.im_size = (0, 0) + self.im_mode = "" + self.im_tile: list[ImageFile._Tile] = [] + self.im_palette: tuple[str, bytes] | None = None + self.im_custom_mimetype: str | None = None + self.im_n_frames: int | None = None + self._seq_num: int | None = None + self.rewind_state = _RewindState({}, [], None) + + self.text_memory = 0 + + def check_text_memory(self, chunklen: int) -> None: + self.text_memory += chunklen + if self.text_memory > MAX_TEXT_MEMORY: + msg = ( + "Too much memory used in text chunks: " + f"{self.text_memory}>MAX_TEXT_MEMORY" + ) + raise ValueError(msg) + + def save_rewind(self) -> None: + self.rewind_state = _RewindState( + self.im_info.copy(), + self.im_tile, + self._seq_num, + ) + + def rewind(self) -> None: + self.im_info = self.rewind_state.info.copy() + self.im_tile = self.rewind_state.tile + self._seq_num = self.rewind_state.seq_num + + def chunk_iCCP(self, pos: int, length: int) -> bytes: + # ICC profile + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + # according to PNG spec, the iCCP chunk contains: + # Profile name 1-79 bytes (character string) + # Null separator 1 byte (null character) + # Compression method 1 byte (0) + # Compressed profile n bytes (zlib with deflate compression) + i = s.find(b"\0") + logger.debug("iCCP profile name %r", s[:i]) + comp_method = s[i + 1] + logger.debug("Compression method %s", comp_method) + if comp_method != 0: + msg = f"Unknown compression method {comp_method} in iCCP chunk" + raise SyntaxError(msg) + try: + icc_profile = _safe_zlib_decompress(s[i + 2 :]) + except ValueError: + if ImageFile.LOAD_TRUNCATED_IMAGES: + icc_profile = None + else: + raise + except zlib.error: + icc_profile = None # FIXME + self.im_info["icc_profile"] = icc_profile + return s + + def chunk_IHDR(self, pos: int, length: int) -> bytes: + # image header + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + if length < 13: + if ImageFile.LOAD_TRUNCATED_IMAGES: + return s + msg = "Truncated IHDR chunk" + raise ValueError(msg) + self.im_size = i32(s, 0), i32(s, 4) + try: + self.im_mode, self.im_rawmode = _MODES[(s[8], s[9])] + except Exception: + pass + if s[12]: + self.im_info["interlace"] = 1 + if s[11]: + msg = "unknown filter category" + raise SyntaxError(msg) + return s + + def chunk_IDAT(self, pos: int, length: int) -> NoReturn: + # image data + if "bbox" in self.im_info: + tile = [ImageFile._Tile("zip", self.im_info["bbox"], pos, self.im_rawmode)] + else: + if self.im_n_frames is not None: + self.im_info["default_image"] = True + tile = [ImageFile._Tile("zip", (0, 0) + self.im_size, pos, self.im_rawmode)] + self.im_tile = tile + self.im_idat = length + msg = "image data found" + raise EOFError(msg) + + def chunk_IEND(self, pos: int, length: int) -> NoReturn: + msg = "end of PNG image" + raise EOFError(msg) + + def chunk_PLTE(self, pos: int, length: int) -> bytes: + # palette + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + if self.im_mode == "P": + self.im_palette = "RGB", s + return s + + def chunk_tRNS(self, pos: int, length: int) -> bytes: + # transparency + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + if self.im_mode == "P": + if _simple_palette.match(s): + # tRNS contains only one full-transparent entry, + # other entries are full opaque + i = s.find(b"\0") + if i >= 0: + self.im_info["transparency"] = i + else: + # otherwise, we have a byte string with one alpha value + # for each palette entry + self.im_info["transparency"] = s + elif self.im_mode in ("1", "L", "I;16"): + self.im_info["transparency"] = i16(s) + elif self.im_mode == "RGB": + self.im_info["transparency"] = i16(s), i16(s, 2), i16(s, 4) + return s + + def chunk_gAMA(self, pos: int, length: int) -> bytes: + # gamma setting + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + self.im_info["gamma"] = i32(s) / 100000.0 + return s + + def chunk_cHRM(self, pos: int, length: int) -> bytes: + # chromaticity, 8 unsigned ints, actual value is scaled by 100,000 + # WP x,y, Red x,y, Green x,y Blue x,y + + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + raw_vals = struct.unpack(">%dI" % (len(s) // 4), s) + self.im_info["chromaticity"] = tuple(elt / 100000.0 for elt in raw_vals) + return s + + def chunk_sRGB(self, pos: int, length: int) -> bytes: + # srgb rendering intent, 1 byte + # 0 perceptual + # 1 relative colorimetric + # 2 saturation + # 3 absolute colorimetric + + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + if length < 1: + if ImageFile.LOAD_TRUNCATED_IMAGES: + return s + msg = "Truncated sRGB chunk" + raise ValueError(msg) + self.im_info["srgb"] = s[0] + return s + + def chunk_pHYs(self, pos: int, length: int) -> bytes: + # pixels per unit + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + if length < 9: + if ImageFile.LOAD_TRUNCATED_IMAGES: + return s + msg = "Truncated pHYs chunk" + raise ValueError(msg) + px, py = i32(s, 0), i32(s, 4) + unit = s[8] + if unit == 1: # meter + dpi = px * 0.0254, py * 0.0254 + self.im_info["dpi"] = dpi + elif unit == 0: + self.im_info["aspect"] = px, py + return s + + def chunk_tEXt(self, pos: int, length: int) -> bytes: + # text + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + try: + k, v = s.split(b"\0", 1) + except ValueError: + # fallback for broken tEXt tags + k = s + v = b"" + if k: + k_str = k.decode("latin-1", "strict") + v_str = v.decode("latin-1", "replace") + + self.im_info[k_str] = v if k == b"exif" else v_str + self.im_text[k_str] = v_str + self.check_text_memory(len(v_str)) + + return s + + def chunk_zTXt(self, pos: int, length: int) -> bytes: + # compressed text + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + try: + k, v = s.split(b"\0", 1) + except ValueError: + k = s + v = b"" + if v: + comp_method = v[0] + else: + comp_method = 0 + if comp_method != 0: + msg = f"Unknown compression method {comp_method} in zTXt chunk" + raise SyntaxError(msg) + try: + v = _safe_zlib_decompress(v[1:]) + except ValueError: + if ImageFile.LOAD_TRUNCATED_IMAGES: + v = b"" + else: + raise + except zlib.error: + v = b"" + + if k: + k_str = k.decode("latin-1", "strict") + v_str = v.decode("latin-1", "replace") + + self.im_info[k_str] = self.im_text[k_str] = v_str + self.check_text_memory(len(v_str)) + + return s + + def chunk_iTXt(self, pos: int, length: int) -> bytes: + # international text + assert self.fp is not None + r = s = ImageFile._safe_read(self.fp, length) + try: + k, r = r.split(b"\0", 1) + except ValueError: + return s + if len(r) < 2: + return s + cf, cm, r = r[0], r[1], r[2:] + try: + lang, tk, v = r.split(b"\0", 2) + except ValueError: + return s + if cf != 0: + if cm == 0: + try: + v = _safe_zlib_decompress(v) + except ValueError: + if ImageFile.LOAD_TRUNCATED_IMAGES: + return s + else: + raise + except zlib.error: + return s + else: + return s + if k == b"XML:com.adobe.xmp": + self.im_info["xmp"] = v + try: + k_str = k.decode("latin-1", "strict") + lang_str = lang.decode("utf-8", "strict") + tk_str = tk.decode("utf-8", "strict") + v_str = v.decode("utf-8", "strict") + except UnicodeError: + return s + + self.im_info[k_str] = self.im_text[k_str] = iTXt(v_str, lang_str, tk_str) + self.check_text_memory(len(v_str)) + + return s + + def chunk_eXIf(self, pos: int, length: int) -> bytes: + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + self.im_info["exif"] = b"Exif\x00\x00" + s + return s + + # APNG chunks + def chunk_acTL(self, pos: int, length: int) -> bytes: + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + if length < 8: + if ImageFile.LOAD_TRUNCATED_IMAGES: + return s + msg = "APNG contains truncated acTL chunk" + raise ValueError(msg) + if self.im_n_frames is not None: + self.im_n_frames = None + warnings.warn("Invalid APNG, will use default PNG image if possible") + return s + n_frames = i32(s) + if n_frames == 0 or n_frames > 0x80000000: + warnings.warn("Invalid APNG, will use default PNG image if possible") + return s + self.im_n_frames = n_frames + self.im_info["loop"] = i32(s, 4) + self.im_custom_mimetype = "image/apng" + return s + + def chunk_fcTL(self, pos: int, length: int) -> bytes: + assert self.fp is not None + s = ImageFile._safe_read(self.fp, length) + if length < 26: + if ImageFile.LOAD_TRUNCATED_IMAGES: + return s + msg = "APNG contains truncated fcTL chunk" + raise ValueError(msg) + seq = i32(s) + if (self._seq_num is None and seq != 0) or ( + self._seq_num is not None and self._seq_num != seq - 1 + ): + msg = "APNG contains frame sequence errors" + raise SyntaxError(msg) + self._seq_num = seq + width, height = i32(s, 4), i32(s, 8) + px, py = i32(s, 12), i32(s, 16) + im_w, im_h = self.im_size + if px + width > im_w or py + height > im_h: + msg = "APNG contains invalid frames" + raise SyntaxError(msg) + self.im_info["bbox"] = (px, py, px + width, py + height) + delay_num, delay_den = i16(s, 20), i16(s, 22) + if delay_den == 0: + delay_den = 100 + self.im_info["duration"] = float(delay_num) / float(delay_den) * 1000 + self.im_info["disposal"] = s[24] + self.im_info["blend"] = s[25] + return s + + def chunk_fdAT(self, pos: int, length: int) -> bytes: + assert self.fp is not None + if length < 4: + if ImageFile.LOAD_TRUNCATED_IMAGES: + s = ImageFile._safe_read(self.fp, length) + return s + msg = "APNG contains truncated fDAT chunk" + raise ValueError(msg) + s = ImageFile._safe_read(self.fp, 4) + seq = i32(s) + if self._seq_num != seq - 1: + msg = "APNG contains frame sequence errors" + raise SyntaxError(msg) + self._seq_num = seq + return self.chunk_IDAT(pos + 4, length - 4) + + +# -------------------------------------------------------------------- +# PNG reader + + +def _accept(prefix: bytes) -> bool: + return prefix[:8] == _MAGIC + + +## +# Image plugin for PNG images. + + +class PngImageFile(ImageFile.ImageFile): + format = "PNG" + format_description = "Portable network graphics" + + def _open(self) -> None: + if not _accept(self.fp.read(8)): + msg = "not a PNG file" + raise SyntaxError(msg) + self._fp = self.fp + self.__frame = 0 + + # + # Parse headers up to the first IDAT or fDAT chunk + + self.private_chunks: list[tuple[bytes, bytes] | tuple[bytes, bytes, bool]] = [] + self.png: PngStream | None = PngStream(self.fp) + + while True: + # + # get next chunk + + cid, pos, length = self.png.read() + + try: + s = self.png.call(cid, pos, length) + except EOFError: + break + except AttributeError: + logger.debug("%r %s %s (unknown)", cid, pos, length) + s = ImageFile._safe_read(self.fp, length) + if cid[1:2].islower(): + self.private_chunks.append((cid, s)) + + self.png.crc(cid, s) + + # + # Copy relevant attributes from the PngStream. An alternative + # would be to let the PngStream class modify these attributes + # directly, but that introduces circular references which are + # difficult to break if things go wrong in the decoder... + # (believe me, I've tried ;-) + + self._mode = self.png.im_mode + self._size = self.png.im_size + self.info = self.png.im_info + self._text: dict[str, str | iTXt] | None = None + self.tile = self.png.im_tile + self.custom_mimetype = self.png.im_custom_mimetype + self.n_frames = self.png.im_n_frames or 1 + self.default_image = self.info.get("default_image", False) + + if self.png.im_palette: + rawmode, data = self.png.im_palette + self.palette = ImagePalette.raw(rawmode, data) + + if cid == b"fdAT": + self.__prepare_idat = length - 4 + else: + self.__prepare_idat = length # used by load_prepare() + + if self.png.im_n_frames is not None: + self._close_exclusive_fp_after_loading = False + self.png.save_rewind() + self.__rewind_idat = self.__prepare_idat + self.__rewind = self._fp.tell() + if self.default_image: + # IDAT chunk contains default image and not first animation frame + self.n_frames += 1 + self._seek(0) + self.is_animated = self.n_frames > 1 + + @property + def text(self) -> dict[str, str | iTXt]: + # experimental + if self._text is None: + # iTxt, tEXt and zTXt chunks may appear at the end of the file + # So load the file to ensure that they are read + if self.is_animated: + frame = self.__frame + # for APNG, seek to the final frame before loading + self.seek(self.n_frames - 1) + self.load() + if self.is_animated: + self.seek(frame) + assert self._text is not None + return self._text + + def verify(self) -> None: + """Verify PNG file""" + + if self.fp is None: + msg = "verify must be called directly after open" + raise RuntimeError(msg) + + # back up to beginning of IDAT block + self.fp.seek(self.tile[0][2] - 8) + + assert self.png is not None + self.png.verify() + self.png.close() + + if self._exclusive_fp: + self.fp.close() + self.fp = None + + def seek(self, frame: int) -> None: + if not self._seek_check(frame): + return + if frame < self.__frame: + self._seek(0, True) + + last_frame = self.__frame + for f in range(self.__frame + 1, frame + 1): + try: + self._seek(f) + except EOFError as e: + self.seek(last_frame) + msg = "no more images in APNG file" + raise EOFError(msg) from e + + def _seek(self, frame: int, rewind: bool = False) -> None: + assert self.png is not None + + self.dispose: _imaging.ImagingCore | None + dispose_extent = None + if frame == 0: + if rewind: + self._fp.seek(self.__rewind) + self.png.rewind() + self.__prepare_idat = self.__rewind_idat + self._im = None + self.info = self.png.im_info + self.tile = self.png.im_tile + self.fp = self._fp + self._prev_im = None + self.dispose = None + self.default_image = self.info.get("default_image", False) + self.dispose_op = self.info.get("disposal") + self.blend_op = self.info.get("blend") + dispose_extent = self.info.get("bbox") + self.__frame = 0 + else: + if frame != self.__frame + 1: + msg = f"cannot seek to frame {frame}" + raise ValueError(msg) + + # ensure previous frame was loaded + self.load() + + if self.dispose: + self.im.paste(self.dispose, self.dispose_extent) + self._prev_im = self.im.copy() + + self.fp = self._fp + + # advance to the next frame + if self.__prepare_idat: + ImageFile._safe_read(self.fp, self.__prepare_idat) + self.__prepare_idat = 0 + frame_start = False + while True: + self.fp.read(4) # CRC + + try: + cid, pos, length = self.png.read() + except (struct.error, SyntaxError): + break + + if cid == b"IEND": + msg = "No more images in APNG file" + raise EOFError(msg) + if cid == b"fcTL": + if frame_start: + # there must be at least one fdAT chunk between fcTL chunks + msg = "APNG missing frame data" + raise SyntaxError(msg) + frame_start = True + + try: + self.png.call(cid, pos, length) + except UnicodeDecodeError: + break + except EOFError: + if cid == b"fdAT": + length -= 4 + if frame_start: + self.__prepare_idat = length + break + ImageFile._safe_read(self.fp, length) + except AttributeError: + logger.debug("%r %s %s (unknown)", cid, pos, length) + ImageFile._safe_read(self.fp, length) + + self.__frame = frame + self.tile = self.png.im_tile + self.dispose_op = self.info.get("disposal") + self.blend_op = self.info.get("blend") + dispose_extent = self.info.get("bbox") + + if not self.tile: + msg = "image not found in APNG frame" + raise EOFError(msg) + if dispose_extent: + self.dispose_extent: tuple[float, float, float, float] = dispose_extent + + # setup frame disposal (actual disposal done when needed in the next _seek()) + if self._prev_im is None and self.dispose_op == Disposal.OP_PREVIOUS: + self.dispose_op = Disposal.OP_BACKGROUND + + self.dispose = None + if self.dispose_op == Disposal.OP_PREVIOUS: + if self._prev_im: + self.dispose = self._prev_im.copy() + self.dispose = self._crop(self.dispose, self.dispose_extent) + elif self.dispose_op == Disposal.OP_BACKGROUND: + self.dispose = Image.core.fill(self.mode, self.size) + self.dispose = self._crop(self.dispose, self.dispose_extent) + + def tell(self) -> int: + return self.__frame + + def load_prepare(self) -> None: + """internal: prepare to read PNG file""" + + if self.info.get("interlace"): + self.decoderconfig = self.decoderconfig + (1,) + + self.__idat = self.__prepare_idat # used by load_read() + ImageFile.ImageFile.load_prepare(self) + + def load_read(self, read_bytes: int) -> bytes: + """internal: read more image data""" + + assert self.png is not None + while self.__idat == 0: + # end of chunk, skip forward to next one + + self.fp.read(4) # CRC + + cid, pos, length = self.png.read() + + if cid not in [b"IDAT", b"DDAT", b"fdAT"]: + self.png.push(cid, pos, length) + return b"" + + if cid == b"fdAT": + try: + self.png.call(cid, pos, length) + except EOFError: + pass + self.__idat = length - 4 # sequence_num has already been read + else: + self.__idat = length # empty chunks are allowed + + # read more data from this chunk + if read_bytes <= 0: + read_bytes = self.__idat + else: + read_bytes = min(read_bytes, self.__idat) + + self.__idat = self.__idat - read_bytes + + return self.fp.read(read_bytes) + + def load_end(self) -> None: + """internal: finished reading image data""" + assert self.png is not None + if self.__idat != 0: + self.fp.read(self.__idat) + while True: + self.fp.read(4) # CRC + + try: + cid, pos, length = self.png.read() + except (struct.error, SyntaxError): + break + + if cid == b"IEND": + break + elif cid == b"fcTL" and self.is_animated: + # start of the next frame, stop reading + self.__prepare_idat = 0 + self.png.push(cid, pos, length) + break + + try: + self.png.call(cid, pos, length) + except UnicodeDecodeError: + break + except EOFError: + if cid == b"fdAT": + length -= 4 + try: + ImageFile._safe_read(self.fp, length) + except OSError as e: + if ImageFile.LOAD_TRUNCATED_IMAGES: + break + else: + raise e + except AttributeError: + logger.debug("%r %s %s (unknown)", cid, pos, length) + s = ImageFile._safe_read(self.fp, length) + if cid[1:2].islower(): + self.private_chunks.append((cid, s, True)) + self._text = self.png.im_text + if not self.is_animated: + self.png.close() + self.png = None + else: + if self._prev_im and self.blend_op == Blend.OP_OVER: + updated = self._crop(self.im, self.dispose_extent) + if self.im.mode == "RGB" and "transparency" in self.info: + mask = updated.convert_transparent( + "RGBA", self.info["transparency"] + ) + else: + if self.im.mode == "P" and "transparency" in self.info: + t = self.info["transparency"] + if isinstance(t, bytes): + updated.putpalettealphas(t) + elif isinstance(t, int): + updated.putpalettealpha(t) + mask = updated.convert("RGBA") + self._prev_im.paste(updated, self.dispose_extent, mask) + self.im = self._prev_im + + def _getexif(self) -> dict[int, Any] | None: + if "exif" not in self.info: + self.load() + if "exif" not in self.info and "Raw profile type exif" not in self.info: + return None + return self.getexif()._get_merged_dict() + + def getexif(self) -> Image.Exif: + if "exif" not in self.info: + self.load() + + return super().getexif() + + +# -------------------------------------------------------------------- +# PNG writer + +_OUTMODES = { + # supported PIL modes, and corresponding rawmode, bit depth and color type + "1": ("1", b"\x01", b"\x00"), + "L;1": ("L;1", b"\x01", b"\x00"), + "L;2": ("L;2", b"\x02", b"\x00"), + "L;4": ("L;4", b"\x04", b"\x00"), + "L": ("L", b"\x08", b"\x00"), + "LA": ("LA", b"\x08", b"\x04"), + "I": ("I;16B", b"\x10", b"\x00"), + "I;16": ("I;16B", b"\x10", b"\x00"), + "I;16B": ("I;16B", b"\x10", b"\x00"), + "P;1": ("P;1", b"\x01", b"\x03"), + "P;2": ("P;2", b"\x02", b"\x03"), + "P;4": ("P;4", b"\x04", b"\x03"), + "P": ("P", b"\x08", b"\x03"), + "RGB": ("RGB", b"\x08", b"\x02"), + "RGBA": ("RGBA", b"\x08", b"\x06"), +} + + +def putchunk(fp: IO[bytes], cid: bytes, *data: bytes) -> None: + """Write a PNG chunk (including CRC field)""" + + byte_data = b"".join(data) + + fp.write(o32(len(byte_data)) + cid) + fp.write(byte_data) + crc = _crc32(byte_data, _crc32(cid)) + fp.write(o32(crc)) + + +class _idat: + # wrap output from the encoder in IDAT chunks + + def __init__(self, fp: IO[bytes], chunk: Callable[..., None]) -> None: + self.fp = fp + self.chunk = chunk + + def write(self, data: bytes) -> None: + self.chunk(self.fp, b"IDAT", data) + + +class _fdat: + # wrap encoder output in fdAT chunks + + def __init__(self, fp: IO[bytes], chunk: Callable[..., None], seq_num: int) -> None: + self.fp = fp + self.chunk = chunk + self.seq_num = seq_num + + def write(self, data: bytes) -> None: + self.chunk(self.fp, b"fdAT", o32(self.seq_num), data) + self.seq_num += 1 + + +class _Frame(NamedTuple): + im: Image.Image + bbox: tuple[int, int, int, int] | None + encoderinfo: dict[str, Any] + + +def _write_multiple_frames( + im: Image.Image, + fp: IO[bytes], + chunk: Callable[..., None], + mode: str, + rawmode: str, + default_image: Image.Image | None, + append_images: list[Image.Image], +) -> Image.Image | None: + duration = im.encoderinfo.get("duration") + loop = im.encoderinfo.get("loop", im.info.get("loop", 0)) + disposal = im.encoderinfo.get("disposal", im.info.get("disposal", Disposal.OP_NONE)) + blend = im.encoderinfo.get("blend", im.info.get("blend", Blend.OP_SOURCE)) + + if default_image: + chain = itertools.chain(append_images) + else: + chain = itertools.chain([im], append_images) + + im_frames: list[_Frame] = [] + frame_count = 0 + for im_seq in chain: + for im_frame in ImageSequence.Iterator(im_seq): + if im_frame.mode == mode: + im_frame = im_frame.copy() + else: + im_frame = im_frame.convert(mode) + encoderinfo = im.encoderinfo.copy() + if isinstance(duration, (list, tuple)): + encoderinfo["duration"] = duration[frame_count] + elif duration is None and "duration" in im_frame.info: + encoderinfo["duration"] = im_frame.info["duration"] + if isinstance(disposal, (list, tuple)): + encoderinfo["disposal"] = disposal[frame_count] + if isinstance(blend, (list, tuple)): + encoderinfo["blend"] = blend[frame_count] + frame_count += 1 + + if im_frames: + previous = im_frames[-1] + prev_disposal = previous.encoderinfo.get("disposal") + prev_blend = previous.encoderinfo.get("blend") + if prev_disposal == Disposal.OP_PREVIOUS and len(im_frames) < 2: + prev_disposal = Disposal.OP_BACKGROUND + + if prev_disposal == Disposal.OP_BACKGROUND: + base_im = previous.im.copy() + dispose = Image.core.fill("RGBA", im.size, (0, 0, 0, 0)) + bbox = previous.bbox + if bbox: + dispose = dispose.crop(bbox) + else: + bbox = (0, 0) + im.size + base_im.paste(dispose, bbox) + elif prev_disposal == Disposal.OP_PREVIOUS: + base_im = im_frames[-2].im + else: + base_im = previous.im + delta = ImageChops.subtract_modulo( + im_frame.convert("RGBA"), base_im.convert("RGBA") + ) + bbox = delta.getbbox(alpha_only=False) + if ( + not bbox + and prev_disposal == encoderinfo.get("disposal") + and prev_blend == encoderinfo.get("blend") + and "duration" in encoderinfo + ): + previous.encoderinfo["duration"] += encoderinfo["duration"] + continue + else: + bbox = None + im_frames.append(_Frame(im_frame, bbox, encoderinfo)) + + if len(im_frames) == 1 and not default_image: + return im_frames[0].im + + # animation control + chunk( + fp, + b"acTL", + o32(len(im_frames)), # 0: num_frames + o32(loop), # 4: num_plays + ) + + # default image IDAT (if it exists) + if default_image: + if im.mode != mode: + im = im.convert(mode) + ImageFile._save( + im, + cast(IO[bytes], _idat(fp, chunk)), + [ImageFile._Tile("zip", (0, 0) + im.size, 0, rawmode)], + ) + + seq_num = 0 + for frame, frame_data in enumerate(im_frames): + im_frame = frame_data.im + if not frame_data.bbox: + bbox = (0, 0) + im_frame.size + else: + bbox = frame_data.bbox + im_frame = im_frame.crop(bbox) + size = im_frame.size + encoderinfo = frame_data.encoderinfo + frame_duration = int(round(encoderinfo.get("duration", 0))) + frame_disposal = encoderinfo.get("disposal", disposal) + frame_blend = encoderinfo.get("blend", blend) + # frame control + chunk( + fp, + b"fcTL", + o32(seq_num), # sequence_number + o32(size[0]), # width + o32(size[1]), # height + o32(bbox[0]), # x_offset + o32(bbox[1]), # y_offset + o16(frame_duration), # delay_numerator + o16(1000), # delay_denominator + o8(frame_disposal), # dispose_op + o8(frame_blend), # blend_op + ) + seq_num += 1 + # frame data + if frame == 0 and not default_image: + # first frame must be in IDAT chunks for backwards compatibility + ImageFile._save( + im_frame, + cast(IO[bytes], _idat(fp, chunk)), + [ImageFile._Tile("zip", (0, 0) + im_frame.size, 0, rawmode)], + ) + else: + fdat_chunks = _fdat(fp, chunk, seq_num) + ImageFile._save( + im_frame, + cast(IO[bytes], fdat_chunks), + [ImageFile._Tile("zip", (0, 0) + im_frame.size, 0, rawmode)], + ) + seq_num = fdat_chunks.seq_num + return None + + +def _save_all(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + _save(im, fp, filename, save_all=True) + + +def _save( + im: Image.Image, + fp: IO[bytes], + filename: str | bytes, + chunk: Callable[..., None] = putchunk, + save_all: bool = False, +) -> None: + # save an image to disk (called by the save method) + + if save_all: + default_image = im.encoderinfo.get( + "default_image", im.info.get("default_image") + ) + modes = set() + sizes = set() + append_images = im.encoderinfo.get("append_images", []) + for im_seq in itertools.chain([im], append_images): + for im_frame in ImageSequence.Iterator(im_seq): + modes.add(im_frame.mode) + sizes.add(im_frame.size) + for mode in ("RGBA", "RGB", "P"): + if mode in modes: + break + else: + mode = modes.pop() + size = tuple(max(frame_size[i] for frame_size in sizes) for i in range(2)) + else: + size = im.size + mode = im.mode + + outmode = mode + if mode == "P": + # + # attempt to minimize storage requirements for palette images + if "bits" in im.encoderinfo: + # number of bits specified by user + colors = min(1 << im.encoderinfo["bits"], 256) + else: + # check palette contents + if im.palette: + colors = max(min(len(im.palette.getdata()[1]) // 3, 256), 1) + else: + colors = 256 + + if colors <= 16: + if colors <= 2: + bits = 1 + elif colors <= 4: + bits = 2 + else: + bits = 4 + outmode += f";{bits}" + + # encoder options + im.encoderconfig = ( + im.encoderinfo.get("optimize", False), + im.encoderinfo.get("compress_level", -1), + im.encoderinfo.get("compress_type", -1), + im.encoderinfo.get("dictionary", b""), + ) + + # get the corresponding PNG mode + try: + rawmode, bit_depth, color_type = _OUTMODES[outmode] + except KeyError as e: + msg = f"cannot write mode {mode} as PNG" + raise OSError(msg) from e + + # + # write minimal PNG file + + fp.write(_MAGIC) + + chunk( + fp, + b"IHDR", + o32(size[0]), # 0: size + o32(size[1]), + bit_depth, + color_type, + b"\0", # 10: compression + b"\0", # 11: filter category + b"\0", # 12: interlace flag + ) + + chunks = [b"cHRM", b"gAMA", b"sBIT", b"sRGB", b"tIME"] + + icc = im.encoderinfo.get("icc_profile", im.info.get("icc_profile")) + if icc: + # ICC profile + # according to PNG spec, the iCCP chunk contains: + # Profile name 1-79 bytes (character string) + # Null separator 1 byte (null character) + # Compression method 1 byte (0) + # Compressed profile n bytes (zlib with deflate compression) + name = b"ICC Profile" + data = name + b"\0\0" + zlib.compress(icc) + chunk(fp, b"iCCP", data) + + # You must either have sRGB or iCCP. + # Disallow sRGB chunks when an iCCP-chunk has been emitted. + chunks.remove(b"sRGB") + + info = im.encoderinfo.get("pnginfo") + if info: + chunks_multiple_allowed = [b"sPLT", b"iTXt", b"tEXt", b"zTXt"] + for info_chunk in info.chunks: + cid, data = info_chunk[:2] + if cid in chunks: + chunks.remove(cid) + chunk(fp, cid, data) + elif cid in chunks_multiple_allowed: + chunk(fp, cid, data) + elif cid[1:2].islower(): + # Private chunk + after_idat = len(info_chunk) == 3 and info_chunk[2] + if not after_idat: + chunk(fp, cid, data) + + if im.mode == "P": + palette_byte_number = colors * 3 + palette_bytes = im.im.getpalette("RGB")[:palette_byte_number] + while len(palette_bytes) < palette_byte_number: + palette_bytes += b"\0" + chunk(fp, b"PLTE", palette_bytes) + + transparency = im.encoderinfo.get("transparency", im.info.get("transparency", None)) + + if transparency or transparency == 0: + if im.mode == "P": + # limit to actual palette size + alpha_bytes = colors + if isinstance(transparency, bytes): + chunk(fp, b"tRNS", transparency[:alpha_bytes]) + else: + transparency = max(0, min(255, transparency)) + alpha = b"\xFF" * transparency + b"\0" + chunk(fp, b"tRNS", alpha[:alpha_bytes]) + elif im.mode in ("1", "L", "I", "I;16"): + transparency = max(0, min(65535, transparency)) + chunk(fp, b"tRNS", o16(transparency)) + elif im.mode == "RGB": + red, green, blue = transparency + chunk(fp, b"tRNS", o16(red) + o16(green) + o16(blue)) + else: + if "transparency" in im.encoderinfo: + # don't bother with transparency if it's an RGBA + # and it's in the info dict. It's probably just stale. + msg = "cannot use transparency for this mode" + raise OSError(msg) + else: + if im.mode == "P" and im.im.getpalettemode() == "RGBA": + alpha = im.im.getpalette("RGBA", "A") + alpha_bytes = colors + chunk(fp, b"tRNS", alpha[:alpha_bytes]) + + dpi = im.encoderinfo.get("dpi") + if dpi: + chunk( + fp, + b"pHYs", + o32(int(dpi[0] / 0.0254 + 0.5)), + o32(int(dpi[1] / 0.0254 + 0.5)), + b"\x01", + ) + + if info: + chunks = [b"bKGD", b"hIST"] + for info_chunk in info.chunks: + cid, data = info_chunk[:2] + if cid in chunks: + chunks.remove(cid) + chunk(fp, cid, data) + + exif = im.encoderinfo.get("exif") + if exif: + if isinstance(exif, Image.Exif): + exif = exif.tobytes(8) + if exif.startswith(b"Exif\x00\x00"): + exif = exif[6:] + chunk(fp, b"eXIf", exif) + + single_im: Image.Image | None = im + if save_all: + single_im = _write_multiple_frames( + im, fp, chunk, mode, rawmode, default_image, append_images + ) + if single_im: + ImageFile._save( + single_im, + cast(IO[bytes], _idat(fp, chunk)), + [ImageFile._Tile("zip", (0, 0) + single_im.size, 0, rawmode)], + ) + + if info: + for info_chunk in info.chunks: + cid, data = info_chunk[:2] + if cid[1:2].islower(): + # Private chunk + after_idat = len(info_chunk) == 3 and info_chunk[2] + if after_idat: + chunk(fp, cid, data) + + chunk(fp, b"IEND", b"") + + if hasattr(fp, "flush"): + fp.flush() + + +# -------------------------------------------------------------------- +# PNG chunk converter + + +def getchunks(im: Image.Image, **params: Any) -> list[tuple[bytes, bytes, bytes]]: + """Return a list of PNG chunks representing this image.""" + from io import BytesIO + + chunks = [] + + def append(fp: IO[bytes], cid: bytes, *data: bytes) -> None: + byte_data = b"".join(data) + crc = o32(_crc32(byte_data, _crc32(cid))) + chunks.append((cid, byte_data, crc)) + + fp = BytesIO() + + try: + im.encoderinfo = params + _save(im, fp, "", append) + finally: + del im.encoderinfo + + return chunks + + +# -------------------------------------------------------------------- +# Registry + +Image.register_open(PngImageFile.format, PngImageFile, _accept) +Image.register_save(PngImageFile.format, _save) +Image.register_save_all(PngImageFile.format, _save_all) + +Image.register_extensions(PngImageFile.format, [".png", ".apng"]) + +Image.register_mime(PngImageFile.format, "image/png") diff --git a/gestao_raul/Lib/site-packages/PIL/PpmImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/PpmImagePlugin.py new file mode 100644 index 0000000..4e779df --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/PpmImagePlugin.py @@ -0,0 +1,375 @@ +# +# The Python Imaging Library. +# $Id$ +# +# PPM support for PIL +# +# History: +# 96-03-24 fl Created +# 98-03-06 fl Write RGBA images (as RGB, that is) +# +# Copyright (c) Secret Labs AB 1997-98. +# Copyright (c) Fredrik Lundh 1996. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import math +from typing import IO + +from . import Image, ImageFile +from ._binary import i16be as i16 +from ._binary import o8 +from ._binary import o32le as o32 + +# +# -------------------------------------------------------------------- + +b_whitespace = b"\x20\x09\x0a\x0b\x0c\x0d" + +MODES = { + # standard + b"P1": "1", + b"P2": "L", + b"P3": "RGB", + b"P4": "1", + b"P5": "L", + b"P6": "RGB", + # extensions + b"P0CMYK": "CMYK", + b"Pf": "F", + # PIL extensions (for test purposes only) + b"PyP": "P", + b"PyRGBA": "RGBA", + b"PyCMYK": "CMYK", +} + + +def _accept(prefix: bytes) -> bool: + return prefix[0:1] == b"P" and prefix[1] in b"0123456fy" + + +## +# Image plugin for PBM, PGM, and PPM images. + + +class PpmImageFile(ImageFile.ImageFile): + format = "PPM" + format_description = "Pbmplus image" + + def _read_magic(self) -> bytes: + assert self.fp is not None + + magic = b"" + # read until whitespace or longest available magic number + for _ in range(6): + c = self.fp.read(1) + if not c or c in b_whitespace: + break + magic += c + return magic + + def _read_token(self) -> bytes: + assert self.fp is not None + + token = b"" + while len(token) <= 10: # read until next whitespace or limit of 10 characters + c = self.fp.read(1) + if not c: + break + elif c in b_whitespace: # token ended + if not token: + # skip whitespace at start + continue + break + elif c == b"#": + # ignores rest of the line; stops at CR, LF or EOF + while self.fp.read(1) not in b"\r\n": + pass + continue + token += c + if not token: + # Token was not even 1 byte + msg = "Reached EOF while reading header" + raise ValueError(msg) + elif len(token) > 10: + msg = f"Token too long in file header: {token.decode()}" + raise ValueError(msg) + return token + + def _open(self) -> None: + assert self.fp is not None + + magic_number = self._read_magic() + try: + mode = MODES[magic_number] + except KeyError: + msg = "not a PPM file" + raise SyntaxError(msg) + self._mode = mode + + if magic_number in (b"P1", b"P4"): + self.custom_mimetype = "image/x-portable-bitmap" + elif magic_number in (b"P2", b"P5"): + self.custom_mimetype = "image/x-portable-graymap" + elif magic_number in (b"P3", b"P6"): + self.custom_mimetype = "image/x-portable-pixmap" + + self._size = int(self._read_token()), int(self._read_token()) + + decoder_name = "raw" + if magic_number in (b"P1", b"P2", b"P3"): + decoder_name = "ppm_plain" + + args: str | tuple[str | int, ...] + if mode == "1": + args = "1;I" + elif mode == "F": + scale = float(self._read_token()) + if scale == 0.0 or not math.isfinite(scale): + msg = "scale must be finite and non-zero" + raise ValueError(msg) + self.info["scale"] = abs(scale) + + rawmode = "F;32F" if scale < 0 else "F;32BF" + args = (rawmode, 0, -1) + else: + maxval = int(self._read_token()) + if not 0 < maxval < 65536: + msg = "maxval must be greater than 0 and less than 65536" + raise ValueError(msg) + if maxval > 255 and mode == "L": + self._mode = "I" + + rawmode = mode + if decoder_name != "ppm_plain": + # If maxval matches a bit depth, use the raw decoder directly + if maxval == 65535 and mode == "L": + rawmode = "I;16B" + elif maxval != 255: + decoder_name = "ppm" + + args = rawmode if decoder_name == "raw" else (rawmode, maxval) + self.tile = [ + ImageFile._Tile(decoder_name, (0, 0) + self.size, self.fp.tell(), args) + ] + + +# +# -------------------------------------------------------------------- + + +class PpmPlainDecoder(ImageFile.PyDecoder): + _pulls_fd = True + _comment_spans: bool + + def _read_block(self) -> bytes: + assert self.fd is not None + + return self.fd.read(ImageFile.SAFEBLOCK) + + def _find_comment_end(self, block: bytes, start: int = 0) -> int: + a = block.find(b"\n", start) + b = block.find(b"\r", start) + return min(a, b) if a * b > 0 else max(a, b) # lowest nonnegative index (or -1) + + def _ignore_comments(self, block: bytes) -> bytes: + if self._comment_spans: + # Finish current comment + while block: + comment_end = self._find_comment_end(block) + if comment_end != -1: + # Comment ends in this block + # Delete tail of comment + block = block[comment_end + 1 :] + break + else: + # Comment spans whole block + # So read the next block, looking for the end + block = self._read_block() + + # Search for any further comments + self._comment_spans = False + while True: + comment_start = block.find(b"#") + if comment_start == -1: + # No comment found + break + comment_end = self._find_comment_end(block, comment_start) + if comment_end != -1: + # Comment ends in this block + # Delete comment + block = block[:comment_start] + block[comment_end + 1 :] + else: + # Comment continues to next block(s) + block = block[:comment_start] + self._comment_spans = True + break + return block + + def _decode_bitonal(self) -> bytearray: + """ + This is a separate method because in the plain PBM format, all data tokens are + exactly one byte, so the inter-token whitespace is optional. + """ + data = bytearray() + total_bytes = self.state.xsize * self.state.ysize + + while len(data) != total_bytes: + block = self._read_block() # read next block + if not block: + # eof + break + + block = self._ignore_comments(block) + + tokens = b"".join(block.split()) + for token in tokens: + if token not in (48, 49): + msg = b"Invalid token for this mode: %s" % bytes([token]) + raise ValueError(msg) + data = (data + tokens)[:total_bytes] + invert = bytes.maketrans(b"01", b"\xFF\x00") + return data.translate(invert) + + def _decode_blocks(self, maxval: int) -> bytearray: + data = bytearray() + max_len = 10 + out_byte_count = 4 if self.mode == "I" else 1 + out_max = 65535 if self.mode == "I" else 255 + bands = Image.getmodebands(self.mode) + total_bytes = self.state.xsize * self.state.ysize * bands * out_byte_count + + half_token = b"" + while len(data) != total_bytes: + block = self._read_block() # read next block + if not block: + if half_token: + block = bytearray(b" ") # flush half_token + else: + # eof + break + + block = self._ignore_comments(block) + + if half_token: + block = half_token + block # stitch half_token to new block + half_token = b"" + + tokens = block.split() + + if block and not block[-1:].isspace(): # block might split token + half_token = tokens.pop() # save half token for later + if len(half_token) > max_len: # prevent buildup of half_token + msg = ( + b"Token too long found in data: %s" % half_token[: max_len + 1] + ) + raise ValueError(msg) + + for token in tokens: + if len(token) > max_len: + msg = b"Token too long found in data: %s" % token[: max_len + 1] + raise ValueError(msg) + value = int(token) + if value < 0: + msg_str = f"Channel value is negative: {value}" + raise ValueError(msg_str) + if value > maxval: + msg_str = f"Channel value too large for this mode: {value}" + raise ValueError(msg_str) + value = round(value / maxval * out_max) + data += o32(value) if self.mode == "I" else o8(value) + if len(data) == total_bytes: # finished! + break + return data + + def decode(self, buffer: bytes | Image.SupportsArrayInterface) -> tuple[int, int]: + self._comment_spans = False + if self.mode == "1": + data = self._decode_bitonal() + rawmode = "1;8" + else: + maxval = self.args[-1] + data = self._decode_blocks(maxval) + rawmode = "I;32" if self.mode == "I" else self.mode + self.set_as_raw(bytes(data), rawmode) + return -1, 0 + + +class PpmDecoder(ImageFile.PyDecoder): + _pulls_fd = True + + def decode(self, buffer: bytes | Image.SupportsArrayInterface) -> tuple[int, int]: + assert self.fd is not None + + data = bytearray() + maxval = self.args[-1] + in_byte_count = 1 if maxval < 256 else 2 + out_byte_count = 4 if self.mode == "I" else 1 + out_max = 65535 if self.mode == "I" else 255 + bands = Image.getmodebands(self.mode) + dest_length = self.state.xsize * self.state.ysize * bands * out_byte_count + while len(data) < dest_length: + pixels = self.fd.read(in_byte_count * bands) + if len(pixels) < in_byte_count * bands: + # eof + break + for b in range(bands): + value = ( + pixels[b] if in_byte_count == 1 else i16(pixels, b * in_byte_count) + ) + value = min(out_max, round(value / maxval * out_max)) + data += o32(value) if self.mode == "I" else o8(value) + rawmode = "I;32" if self.mode == "I" else self.mode + self.set_as_raw(bytes(data), rawmode) + return -1, 0 + + +# +# -------------------------------------------------------------------- + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if im.mode == "1": + rawmode, head = "1;I", b"P4" + elif im.mode == "L": + rawmode, head = "L", b"P5" + elif im.mode in ("I", "I;16"): + rawmode, head = "I;16B", b"P5" + elif im.mode in ("RGB", "RGBA"): + rawmode, head = "RGB", b"P6" + elif im.mode == "F": + rawmode, head = "F;32F", b"Pf" + else: + msg = f"cannot write mode {im.mode} as PPM" + raise OSError(msg) + fp.write(head + b"\n%d %d\n" % im.size) + if head == b"P6": + fp.write(b"255\n") + elif head == b"P5": + if rawmode == "L": + fp.write(b"255\n") + else: + fp.write(b"65535\n") + elif head == b"Pf": + fp.write(b"-1.0\n") + row_order = -1 if im.mode == "F" else 1 + ImageFile._save( + im, fp, [ImageFile._Tile("raw", (0, 0) + im.size, 0, (rawmode, 0, row_order))] + ) + + +# +# -------------------------------------------------------------------- + + +Image.register_open(PpmImageFile.format, PpmImageFile, _accept) +Image.register_save(PpmImageFile.format, _save) + +Image.register_decoder("ppm", PpmDecoder) +Image.register_decoder("ppm_plain", PpmPlainDecoder) + +Image.register_extensions(PpmImageFile.format, [".pbm", ".pgm", ".ppm", ".pnm", ".pfm"]) + +Image.register_mime(PpmImageFile.format, "image/x-portable-anymap") diff --git a/gestao_raul/Lib/site-packages/PIL/PsdImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/PsdImagePlugin.py new file mode 100644 index 0000000..8ff5e39 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/PsdImagePlugin.py @@ -0,0 +1,332 @@ +# +# The Python Imaging Library +# $Id$ +# +# Adobe PSD 2.5/3.0 file handling +# +# History: +# 1995-09-01 fl Created +# 1997-01-03 fl Read most PSD images +# 1997-01-18 fl Fixed P and CMYK support +# 2001-10-21 fl Added seek/tell support (for layers) +# +# Copyright (c) 1997-2001 by Secret Labs AB. +# Copyright (c) 1995-2001 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io +from functools import cached_property +from typing import IO + +from . import Image, ImageFile, ImagePalette +from ._binary import i8 +from ._binary import i16be as i16 +from ._binary import i32be as i32 +from ._binary import si16be as si16 +from ._binary import si32be as si32 + +MODES = { + # (photoshop mode, bits) -> (pil mode, required channels) + (0, 1): ("1", 1), + (0, 8): ("L", 1), + (1, 8): ("L", 1), + (2, 8): ("P", 1), + (3, 8): ("RGB", 3), + (4, 8): ("CMYK", 4), + (7, 8): ("L", 1), # FIXME: multilayer + (8, 8): ("L", 1), # duotone + (9, 8): ("LAB", 3), +} + + +# --------------------------------------------------------------------. +# read PSD images + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] == b"8BPS" + + +## +# Image plugin for Photoshop images. + + +class PsdImageFile(ImageFile.ImageFile): + format = "PSD" + format_description = "Adobe Photoshop" + _close_exclusive_fp_after_loading = False + + def _open(self) -> None: + read = self.fp.read + + # + # header + + s = read(26) + if not _accept(s) or i16(s, 4) != 1: + msg = "not a PSD file" + raise SyntaxError(msg) + + psd_bits = i16(s, 22) + psd_channels = i16(s, 12) + psd_mode = i16(s, 24) + + mode, channels = MODES[(psd_mode, psd_bits)] + + if channels > psd_channels: + msg = "not enough channels" + raise OSError(msg) + if mode == "RGB" and psd_channels == 4: + mode = "RGBA" + channels = 4 + + self._mode = mode + self._size = i32(s, 18), i32(s, 14) + + # + # color mode data + + size = i32(read(4)) + if size: + data = read(size) + if mode == "P" and size == 768: + self.palette = ImagePalette.raw("RGB;L", data) + + # + # image resources + + self.resources = [] + + size = i32(read(4)) + if size: + # load resources + end = self.fp.tell() + size + while self.fp.tell() < end: + read(4) # signature + id = i16(read(2)) + name = read(i8(read(1))) + if not (len(name) & 1): + read(1) # padding + data = read(i32(read(4))) + if len(data) & 1: + read(1) # padding + self.resources.append((id, name, data)) + if id == 1039: # ICC profile + self.info["icc_profile"] = data + + # + # layer and mask information + + self._layers_position = None + + size = i32(read(4)) + if size: + end = self.fp.tell() + size + size = i32(read(4)) + if size: + self._layers_position = self.fp.tell() + self._layers_size = size + self.fp.seek(end) + self._n_frames: int | None = None + + # + # image descriptor + + self.tile = _maketile(self.fp, mode, (0, 0) + self.size, channels) + + # keep the file open + self._fp = self.fp + self.frame = 1 + self._min_frame = 1 + + @cached_property + def layers( + self, + ) -> list[tuple[str, str, tuple[int, int, int, int], list[ImageFile._Tile]]]: + layers = [] + if self._layers_position is not None: + self._fp.seek(self._layers_position) + _layer_data = io.BytesIO(ImageFile._safe_read(self._fp, self._layers_size)) + layers = _layerinfo(_layer_data, self._layers_size) + self._n_frames = len(layers) + return layers + + @property + def n_frames(self) -> int: + if self._n_frames is None: + self._n_frames = len(self.layers) + return self._n_frames + + @property + def is_animated(self) -> bool: + return len(self.layers) > 1 + + def seek(self, layer: int) -> None: + if not self._seek_check(layer): + return + + # seek to given layer (1..max) + try: + _, mode, _, tile = self.layers[layer - 1] + self._mode = mode + self.tile = tile + self.frame = layer + self.fp = self._fp + except IndexError as e: + msg = "no such layer" + raise EOFError(msg) from e + + def tell(self) -> int: + # return layer number (0=image, 1..max=layers) + return self.frame + + +def _layerinfo( + fp: IO[bytes], ct_bytes: int +) -> list[tuple[str, str, tuple[int, int, int, int], list[ImageFile._Tile]]]: + # read layerinfo block + layers = [] + + def read(size: int) -> bytes: + return ImageFile._safe_read(fp, size) + + ct = si16(read(2)) + + # sanity check + if ct_bytes < (abs(ct) * 20): + msg = "Layer block too short for number of layers requested" + raise SyntaxError(msg) + + for _ in range(abs(ct)): + # bounding box + y0 = si32(read(4)) + x0 = si32(read(4)) + y1 = si32(read(4)) + x1 = si32(read(4)) + + # image info + bands = [] + ct_types = i16(read(2)) + if ct_types > 4: + fp.seek(ct_types * 6 + 12, io.SEEK_CUR) + size = i32(read(4)) + fp.seek(size, io.SEEK_CUR) + continue + + for _ in range(ct_types): + type = i16(read(2)) + + if type == 65535: + b = "A" + else: + b = "RGBA"[type] + + bands.append(b) + read(4) # size + + # figure out the image mode + bands.sort() + if bands == ["R"]: + mode = "L" + elif bands == ["B", "G", "R"]: + mode = "RGB" + elif bands == ["A", "B", "G", "R"]: + mode = "RGBA" + else: + mode = "" # unknown + + # skip over blend flags and extra information + read(12) # filler + name = "" + size = i32(read(4)) # length of the extra data field + if size: + data_end = fp.tell() + size + + length = i32(read(4)) + if length: + fp.seek(length - 16, io.SEEK_CUR) + + length = i32(read(4)) + if length: + fp.seek(length, io.SEEK_CUR) + + length = i8(read(1)) + if length: + # Don't know the proper encoding, + # Latin-1 should be a good guess + name = read(length).decode("latin-1", "replace") + + fp.seek(data_end) + layers.append((name, mode, (x0, y0, x1, y1))) + + # get tiles + layerinfo = [] + for i, (name, mode, bbox) in enumerate(layers): + tile = [] + for m in mode: + t = _maketile(fp, m, bbox, 1) + if t: + tile.extend(t) + layerinfo.append((name, mode, bbox, tile)) + + return layerinfo + + +def _maketile( + file: IO[bytes], mode: str, bbox: tuple[int, int, int, int], channels: int +) -> list[ImageFile._Tile]: + tiles = [] + read = file.read + + compression = i16(read(2)) + + xsize = bbox[2] - bbox[0] + ysize = bbox[3] - bbox[1] + + offset = file.tell() + + if compression == 0: + # + # raw compression + for channel in range(channels): + layer = mode[channel] + if mode == "CMYK": + layer += ";I" + tiles.append(ImageFile._Tile("raw", bbox, offset, layer)) + offset = offset + xsize * ysize + + elif compression == 1: + # + # packbits compression + i = 0 + bytecount = read(channels * ysize * 2) + offset = file.tell() + for channel in range(channels): + layer = mode[channel] + if mode == "CMYK": + layer += ";I" + tiles.append(ImageFile._Tile("packbits", bbox, offset, layer)) + for y in range(ysize): + offset = offset + i16(bytecount, i) + i += 2 + + file.seek(offset) + + if offset & 1: + read(1) # padding + + return tiles + + +# -------------------------------------------------------------------- +# registry + + +Image.register_open(PsdImageFile.format, PsdImageFile, _accept) + +Image.register_extension(PsdImageFile.format, ".psd") + +Image.register_mime(PsdImageFile.format, "image/vnd.adobe.photoshop") diff --git a/gestao_raul/Lib/site-packages/PIL/QoiImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/QoiImagePlugin.py new file mode 100644 index 0000000..010d3f9 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/QoiImagePlugin.py @@ -0,0 +1,115 @@ +# +# The Python Imaging Library. +# +# QOI support for PIL +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import os + +from . import Image, ImageFile +from ._binary import i32be as i32 + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] == b"qoif" + + +class QoiImageFile(ImageFile.ImageFile): + format = "QOI" + format_description = "Quite OK Image" + + def _open(self) -> None: + if not _accept(self.fp.read(4)): + msg = "not a QOI file" + raise SyntaxError(msg) + + self._size = i32(self.fp.read(4)), i32(self.fp.read(4)) + + channels = self.fp.read(1)[0] + self._mode = "RGB" if channels == 3 else "RGBA" + + self.fp.seek(1, os.SEEK_CUR) # colorspace + self.tile = [ImageFile._Tile("qoi", (0, 0) + self._size, self.fp.tell(), None)] + + +class QoiDecoder(ImageFile.PyDecoder): + _pulls_fd = True + _previous_pixel: bytes | bytearray | None = None + _previously_seen_pixels: dict[int, bytes | bytearray] = {} + + def _add_to_previous_pixels(self, value: bytes | bytearray) -> None: + self._previous_pixel = value + + r, g, b, a = value + hash_value = (r * 3 + g * 5 + b * 7 + a * 11) % 64 + self._previously_seen_pixels[hash_value] = value + + def decode(self, buffer: bytes | Image.SupportsArrayInterface) -> tuple[int, int]: + assert self.fd is not None + + self._previously_seen_pixels = {} + self._add_to_previous_pixels(bytearray((0, 0, 0, 255))) + + data = bytearray() + bands = Image.getmodebands(self.mode) + dest_length = self.state.xsize * self.state.ysize * bands + while len(data) < dest_length: + byte = self.fd.read(1)[0] + value: bytes | bytearray + if byte == 0b11111110 and self._previous_pixel: # QOI_OP_RGB + value = bytearray(self.fd.read(3)) + self._previous_pixel[3:] + elif byte == 0b11111111: # QOI_OP_RGBA + value = self.fd.read(4) + else: + op = byte >> 6 + if op == 0: # QOI_OP_INDEX + op_index = byte & 0b00111111 + value = self._previously_seen_pixels.get( + op_index, bytearray((0, 0, 0, 0)) + ) + elif op == 1 and self._previous_pixel: # QOI_OP_DIFF + value = bytearray( + ( + (self._previous_pixel[0] + ((byte & 0b00110000) >> 4) - 2) + % 256, + (self._previous_pixel[1] + ((byte & 0b00001100) >> 2) - 2) + % 256, + (self._previous_pixel[2] + (byte & 0b00000011) - 2) % 256, + self._previous_pixel[3], + ) + ) + elif op == 2 and self._previous_pixel: # QOI_OP_LUMA + second_byte = self.fd.read(1)[0] + diff_green = (byte & 0b00111111) - 32 + diff_red = ((second_byte & 0b11110000) >> 4) - 8 + diff_blue = (second_byte & 0b00001111) - 8 + + value = bytearray( + tuple( + (self._previous_pixel[i] + diff_green + diff) % 256 + for i, diff in enumerate((diff_red, 0, diff_blue)) + ) + ) + value += self._previous_pixel[3:] + elif op == 3 and self._previous_pixel: # QOI_OP_RUN + run_length = (byte & 0b00111111) + 1 + value = self._previous_pixel + if bands == 3: + value = value[:3] + data += value * run_length + continue + self._add_to_previous_pixels(value) + + if bands == 3: + value = value[:3] + data += value + self.set_as_raw(data) + return -1, 0 + + +Image.register_open(QoiImageFile.format, QoiImageFile, _accept) +Image.register_decoder("qoi", QoiDecoder) +Image.register_extension(QoiImageFile.format, ".qoi") diff --git a/gestao_raul/Lib/site-packages/PIL/SgiImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/SgiImagePlugin.py new file mode 100644 index 0000000..44254b7 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/SgiImagePlugin.py @@ -0,0 +1,247 @@ +# +# The Python Imaging Library. +# $Id$ +# +# SGI image file handling +# +# See "The SGI Image File Format (Draft version 0.97)", Paul Haeberli. +# +# +# +# History: +# 2017-22-07 mb Add RLE decompression +# 2016-16-10 mb Add save method without compression +# 1995-09-10 fl Created +# +# Copyright (c) 2016 by Mickael Bonfill. +# Copyright (c) 2008 by Karsten Hiddemann. +# Copyright (c) 1997 by Secret Labs AB. +# Copyright (c) 1995 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import os +import struct +from typing import IO + +from . import Image, ImageFile +from ._binary import i16be as i16 +from ._binary import o8 + + +def _accept(prefix: bytes) -> bool: + return len(prefix) >= 2 and i16(prefix) == 474 + + +MODES = { + (1, 1, 1): "L", + (1, 2, 1): "L", + (2, 1, 1): "L;16B", + (2, 2, 1): "L;16B", + (1, 3, 3): "RGB", + (2, 3, 3): "RGB;16B", + (1, 3, 4): "RGBA", + (2, 3, 4): "RGBA;16B", +} + + +## +# Image plugin for SGI images. +class SgiImageFile(ImageFile.ImageFile): + format = "SGI" + format_description = "SGI Image File Format" + + def _open(self) -> None: + # HEAD + assert self.fp is not None + + headlen = 512 + s = self.fp.read(headlen) + + if not _accept(s): + msg = "Not an SGI image file" + raise ValueError(msg) + + # compression : verbatim or RLE + compression = s[2] + + # bpc : 1 or 2 bytes (8bits or 16bits) + bpc = s[3] + + # dimension : 1, 2 or 3 (depending on xsize, ysize and zsize) + dimension = i16(s, 4) + + # xsize : width + xsize = i16(s, 6) + + # ysize : height + ysize = i16(s, 8) + + # zsize : channels count + zsize = i16(s, 10) + + # layout + layout = bpc, dimension, zsize + + # determine mode from bits/zsize + rawmode = "" + try: + rawmode = MODES[layout] + except KeyError: + pass + + if rawmode == "": + msg = "Unsupported SGI image mode" + raise ValueError(msg) + + self._size = xsize, ysize + self._mode = rawmode.split(";")[0] + if self.mode == "RGB": + self.custom_mimetype = "image/rgb" + + # orientation -1 : scanlines begins at the bottom-left corner + orientation = -1 + + # decoder info + if compression == 0: + pagesize = xsize * ysize * bpc + if bpc == 2: + self.tile = [ + ImageFile._Tile( + "SGI16", + (0, 0) + self.size, + headlen, + (self.mode, 0, orientation), + ) + ] + else: + self.tile = [] + offset = headlen + for layer in self.mode: + self.tile.append( + ImageFile._Tile( + "raw", (0, 0) + self.size, offset, (layer, 0, orientation) + ) + ) + offset += pagesize + elif compression == 1: + self.tile = [ + ImageFile._Tile( + "sgi_rle", (0, 0) + self.size, headlen, (rawmode, orientation, bpc) + ) + ] + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if im.mode not in {"RGB", "RGBA", "L"}: + msg = "Unsupported SGI image mode" + raise ValueError(msg) + + # Get the keyword arguments + info = im.encoderinfo + + # Byte-per-pixel precision, 1 = 8bits per pixel + bpc = info.get("bpc", 1) + + if bpc not in (1, 2): + msg = "Unsupported number of bytes per pixel" + raise ValueError(msg) + + # Flip the image, since the origin of SGI file is the bottom-left corner + orientation = -1 + # Define the file as SGI File Format + magic_number = 474 + # Run-Length Encoding Compression - Unsupported at this time + rle = 0 + + # Number of dimensions (x,y,z) + dim = 3 + # X Dimension = width / Y Dimension = height + x, y = im.size + if im.mode == "L" and y == 1: + dim = 1 + elif im.mode == "L": + dim = 2 + # Z Dimension: Number of channels + z = len(im.mode) + + if dim in {1, 2}: + z = 1 + + # assert we've got the right number of bands. + if len(im.getbands()) != z: + msg = f"incorrect number of bands in SGI write: {z} vs {len(im.getbands())}" + raise ValueError(msg) + + # Minimum Byte value + pinmin = 0 + # Maximum Byte value (255 = 8bits per pixel) + pinmax = 255 + # Image name (79 characters max, truncated below in write) + img_name = os.path.splitext(os.path.basename(filename))[0] + if isinstance(img_name, str): + img_name = img_name.encode("ascii", "ignore") + # Standard representation of pixel in the file + colormap = 0 + fp.write(struct.pack(">h", magic_number)) + fp.write(o8(rle)) + fp.write(o8(bpc)) + fp.write(struct.pack(">H", dim)) + fp.write(struct.pack(">H", x)) + fp.write(struct.pack(">H", y)) + fp.write(struct.pack(">H", z)) + fp.write(struct.pack(">l", pinmin)) + fp.write(struct.pack(">l", pinmax)) + fp.write(struct.pack("4s", b"")) # dummy + fp.write(struct.pack("79s", img_name)) # truncates to 79 chars + fp.write(struct.pack("s", b"")) # force null byte after img_name + fp.write(struct.pack(">l", colormap)) + fp.write(struct.pack("404s", b"")) # dummy + + rawmode = "L" + if bpc == 2: + rawmode = "L;16B" + + for channel in im.split(): + fp.write(channel.tobytes("raw", rawmode, 0, orientation)) + + if hasattr(fp, "flush"): + fp.flush() + + +class SGI16Decoder(ImageFile.PyDecoder): + _pulls_fd = True + + def decode(self, buffer: bytes | Image.SupportsArrayInterface) -> tuple[int, int]: + assert self.fd is not None + assert self.im is not None + + rawmode, stride, orientation = self.args + pagesize = self.state.xsize * self.state.ysize + zsize = len(self.mode) + self.fd.seek(512) + + for band in range(zsize): + channel = Image.new("L", (self.state.xsize, self.state.ysize)) + channel.frombytes( + self.fd.read(2 * pagesize), "raw", "L;16B", stride, orientation + ) + self.im.putband(channel.im, band) + + return -1, 0 + + +# +# registry + + +Image.register_decoder("SGI16", SGI16Decoder) +Image.register_open(SgiImageFile.format, SgiImageFile, _accept) +Image.register_save(SgiImageFile.format, _save) +Image.register_mime(SgiImageFile.format, "image/sgi") + +Image.register_extensions(SgiImageFile.format, [".bw", ".rgb", ".rgba", ".sgi"]) + +# End of file diff --git a/gestao_raul/Lib/site-packages/PIL/SpiderImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/SpiderImagePlugin.py new file mode 100644 index 0000000..075073f --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/SpiderImagePlugin.py @@ -0,0 +1,329 @@ +# +# The Python Imaging Library. +# +# SPIDER image file handling +# +# History: +# 2004-08-02 Created BB +# 2006-03-02 added save method +# 2006-03-13 added support for stack images +# +# Copyright (c) 2004 by Health Research Inc. (HRI) RENSSELAER, NY 12144. +# Copyright (c) 2004 by William Baxter. +# Copyright (c) 2004 by Secret Labs AB. +# Copyright (c) 2004 by Fredrik Lundh. +# + +## +# Image plugin for the Spider image format. This format is used +# by the SPIDER software, in processing image data from electron +# microscopy and tomography. +## + +# +# SpiderImagePlugin.py +# +# The Spider image format is used by SPIDER software, in processing +# image data from electron microscopy and tomography. +# +# Spider home page: +# https://spider.wadsworth.org/spider_doc/spider/docs/spider.html +# +# Details about the Spider image format: +# https://spider.wadsworth.org/spider_doc/spider/docs/image_doc.html +# +from __future__ import annotations + +import os +import struct +import sys +from typing import IO, TYPE_CHECKING, Any, cast + +from . import Image, ImageFile + + +def isInt(f: Any) -> int: + try: + i = int(f) + if f - i == 0: + return 1 + else: + return 0 + except (ValueError, OverflowError): + return 0 + + +iforms = [1, 3, -11, -12, -21, -22] + + +# There is no magic number to identify Spider files, so just check a +# series of header locations to see if they have reasonable values. +# Returns no. of bytes in the header, if it is a valid Spider header, +# otherwise returns 0 + + +def isSpiderHeader(t: tuple[float, ...]) -> int: + h = (99,) + t # add 1 value so can use spider header index start=1 + # header values 1,2,5,12,13,22,23 should be integers + for i in [1, 2, 5, 12, 13, 22, 23]: + if not isInt(h[i]): + return 0 + # check iform + iform = int(h[5]) + if iform not in iforms: + return 0 + # check other header values + labrec = int(h[13]) # no. records in file header + labbyt = int(h[22]) # total no. of bytes in header + lenbyt = int(h[23]) # record length in bytes + if labbyt != (labrec * lenbyt): + return 0 + # looks like a valid header + return labbyt + + +def isSpiderImage(filename: str) -> int: + with open(filename, "rb") as fp: + f = fp.read(92) # read 23 * 4 bytes + t = struct.unpack(">23f", f) # try big-endian first + hdrlen = isSpiderHeader(t) + if hdrlen == 0: + t = struct.unpack("<23f", f) # little-endian + hdrlen = isSpiderHeader(t) + return hdrlen + + +class SpiderImageFile(ImageFile.ImageFile): + format = "SPIDER" + format_description = "Spider 2D image" + _close_exclusive_fp_after_loading = False + + def _open(self) -> None: + # check header + n = 27 * 4 # read 27 float values + f = self.fp.read(n) + + try: + self.bigendian = 1 + t = struct.unpack(">27f", f) # try big-endian first + hdrlen = isSpiderHeader(t) + if hdrlen == 0: + self.bigendian = 0 + t = struct.unpack("<27f", f) # little-endian + hdrlen = isSpiderHeader(t) + if hdrlen == 0: + msg = "not a valid Spider file" + raise SyntaxError(msg) + except struct.error as e: + msg = "not a valid Spider file" + raise SyntaxError(msg) from e + + h = (99,) + t # add 1 value : spider header index starts at 1 + iform = int(h[5]) + if iform != 1: + msg = "not a Spider 2D image" + raise SyntaxError(msg) + + self._size = int(h[12]), int(h[2]) # size in pixels (width, height) + self.istack = int(h[24]) + self.imgnumber = int(h[27]) + + if self.istack == 0 and self.imgnumber == 0: + # stk=0, img=0: a regular 2D image + offset = hdrlen + self._nimages = 1 + elif self.istack > 0 and self.imgnumber == 0: + # stk>0, img=0: Opening the stack for the first time + self.imgbytes = int(h[12]) * int(h[2]) * 4 + self.hdrlen = hdrlen + self._nimages = int(h[26]) + # Point to the first image in the stack + offset = hdrlen * 2 + self.imgnumber = 1 + elif self.istack == 0 and self.imgnumber > 0: + # stk=0, img>0: an image within the stack + offset = hdrlen + self.stkoffset + self.istack = 2 # So Image knows it's still a stack + else: + msg = "inconsistent stack header values" + raise SyntaxError(msg) + + if self.bigendian: + self.rawmode = "F;32BF" + else: + self.rawmode = "F;32F" + self._mode = "F" + + self.tile = [ + ImageFile._Tile("raw", (0, 0) + self.size, offset, (self.rawmode, 0, 1)) + ] + self._fp = self.fp # FIXME: hack + + @property + def n_frames(self) -> int: + return self._nimages + + @property + def is_animated(self) -> bool: + return self._nimages > 1 + + # 1st image index is zero (although SPIDER imgnumber starts at 1) + def tell(self) -> int: + if self.imgnumber < 1: + return 0 + else: + return self.imgnumber - 1 + + def seek(self, frame: int) -> None: + if self.istack == 0: + msg = "attempt to seek in a non-stack file" + raise EOFError(msg) + if not self._seek_check(frame): + return + self.stkoffset = self.hdrlen + frame * (self.hdrlen + self.imgbytes) + self.fp = self._fp + self.fp.seek(self.stkoffset) + self._open() + + # returns a byte image after rescaling to 0..255 + def convert2byte(self, depth: int = 255) -> Image.Image: + extrema = self.getextrema() + assert isinstance(extrema[0], float) + minimum, maximum = cast(tuple[float, float], extrema) + m: float = 1 + if maximum != minimum: + m = depth / (maximum - minimum) + b = -m * minimum + return self.point(lambda i: i * m + b).convert("L") + + if TYPE_CHECKING: + from . import ImageTk + + # returns a ImageTk.PhotoImage object, after rescaling to 0..255 + def tkPhotoImage(self) -> ImageTk.PhotoImage: + from . import ImageTk + + return ImageTk.PhotoImage(self.convert2byte(), palette=256) + + +# -------------------------------------------------------------------- +# Image series + + +# given a list of filenames, return a list of images +def loadImageSeries(filelist: list[str] | None = None) -> list[SpiderImageFile] | None: + """create a list of :py:class:`~PIL.Image.Image` objects for use in a montage""" + if filelist is None or len(filelist) < 1: + return None + + imglist = [] + for img in filelist: + if not os.path.exists(img): + print(f"unable to find {img}") + continue + try: + with Image.open(img) as im: + im = im.convert2byte() + except Exception: + if not isSpiderImage(img): + print(f"{img} is not a Spider image file") + continue + im.info["filename"] = img + imglist.append(im) + return imglist + + +# -------------------------------------------------------------------- +# For saving images in Spider format + + +def makeSpiderHeader(im: Image.Image) -> list[bytes]: + nsam, nrow = im.size + lenbyt = nsam * 4 # There are labrec records in the header + labrec = int(1024 / lenbyt) + if 1024 % lenbyt != 0: + labrec += 1 + labbyt = labrec * lenbyt + nvalues = int(labbyt / 4) + if nvalues < 23: + return [] + + hdr = [0.0] * nvalues + + # NB these are Fortran indices + hdr[1] = 1.0 # nslice (=1 for an image) + hdr[2] = float(nrow) # number of rows per slice + hdr[3] = float(nrow) # number of records in the image + hdr[5] = 1.0 # iform for 2D image + hdr[12] = float(nsam) # number of pixels per line + hdr[13] = float(labrec) # number of records in file header + hdr[22] = float(labbyt) # total number of bytes in header + hdr[23] = float(lenbyt) # record length in bytes + + # adjust for Fortran indexing + hdr = hdr[1:] + hdr.append(0.0) + # pack binary data into a string + return [struct.pack("f", v) for v in hdr] + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if im.mode[0] != "F": + im = im.convert("F") + + hdr = makeSpiderHeader(im) + if len(hdr) < 256: + msg = "Error creating Spider header" + raise OSError(msg) + + # write the SPIDER header + fp.writelines(hdr) + + rawmode = "F;32NF" # 32-bit native floating point + ImageFile._save( + im, fp, [ImageFile._Tile("raw", (0, 0) + im.size, 0, (rawmode, 0, 1))] + ) + + +def _save_spider(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + # get the filename extension and register it with Image + filename_ext = os.path.splitext(filename)[1] + ext = filename_ext.decode() if isinstance(filename_ext, bytes) else filename_ext + Image.register_extension(SpiderImageFile.format, ext) + _save(im, fp, filename) + + +# -------------------------------------------------------------------- + + +Image.register_open(SpiderImageFile.format, SpiderImageFile) +Image.register_save(SpiderImageFile.format, _save_spider) + +if __name__ == "__main__": + if len(sys.argv) < 2: + print("Syntax: python3 SpiderImagePlugin.py [infile] [outfile]") + sys.exit() + + filename = sys.argv[1] + if not isSpiderImage(filename): + print("input image must be in Spider format") + sys.exit() + + with Image.open(filename) as im: + print(f"image: {im}") + print(f"format: {im.format}") + print(f"size: {im.size}") + print(f"mode: {im.mode}") + print("max, min: ", end=" ") + print(im.getextrema()) + + if len(sys.argv) > 2: + outfile = sys.argv[2] + + # perform some image operation + im = im.transpose(Image.Transpose.FLIP_LEFT_RIGHT) + print( + f"saving a flipped version of {os.path.basename(filename)} " + f"as {outfile} " + ) + im.save(outfile, SpiderImageFile.format) diff --git a/gestao_raul/Lib/site-packages/PIL/SunImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/SunImagePlugin.py new file mode 100644 index 0000000..8912379 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/SunImagePlugin.py @@ -0,0 +1,145 @@ +# +# The Python Imaging Library. +# $Id$ +# +# Sun image file handling +# +# History: +# 1995-09-10 fl Created +# 1996-05-28 fl Fixed 32-bit alignment +# 1998-12-29 fl Import ImagePalette module +# 2001-12-18 fl Fixed palette loading (from Jean-Claude Rimbault) +# +# Copyright (c) 1997-2001 by Secret Labs AB +# Copyright (c) 1995-1996 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +from . import Image, ImageFile, ImagePalette +from ._binary import i32be as i32 + + +def _accept(prefix: bytes) -> bool: + return len(prefix) >= 4 and i32(prefix) == 0x59A66A95 + + +## +# Image plugin for Sun raster files. + + +class SunImageFile(ImageFile.ImageFile): + format = "SUN" + format_description = "Sun Raster File" + + def _open(self) -> None: + # The Sun Raster file header is 32 bytes in length + # and has the following format: + + # typedef struct _SunRaster + # { + # DWORD MagicNumber; /* Magic (identification) number */ + # DWORD Width; /* Width of image in pixels */ + # DWORD Height; /* Height of image in pixels */ + # DWORD Depth; /* Number of bits per pixel */ + # DWORD Length; /* Size of image data in bytes */ + # DWORD Type; /* Type of raster file */ + # DWORD ColorMapType; /* Type of color map */ + # DWORD ColorMapLength; /* Size of the color map in bytes */ + # } SUNRASTER; + + assert self.fp is not None + + # HEAD + s = self.fp.read(32) + if not _accept(s): + msg = "not an SUN raster file" + raise SyntaxError(msg) + + offset = 32 + + self._size = i32(s, 4), i32(s, 8) + + depth = i32(s, 12) + # data_length = i32(s, 16) # unreliable, ignore. + file_type = i32(s, 20) + palette_type = i32(s, 24) # 0: None, 1: RGB, 2: Raw/arbitrary + palette_length = i32(s, 28) + + if depth == 1: + self._mode, rawmode = "1", "1;I" + elif depth == 4: + self._mode, rawmode = "L", "L;4" + elif depth == 8: + self._mode = rawmode = "L" + elif depth == 24: + if file_type == 3: + self._mode, rawmode = "RGB", "RGB" + else: + self._mode, rawmode = "RGB", "BGR" + elif depth == 32: + if file_type == 3: + self._mode, rawmode = "RGB", "RGBX" + else: + self._mode, rawmode = "RGB", "BGRX" + else: + msg = "Unsupported Mode/Bit Depth" + raise SyntaxError(msg) + + if palette_length: + if palette_length > 1024: + msg = "Unsupported Color Palette Length" + raise SyntaxError(msg) + + if palette_type != 1: + msg = "Unsupported Palette Type" + raise SyntaxError(msg) + + offset = offset + palette_length + self.palette = ImagePalette.raw("RGB;L", self.fp.read(palette_length)) + if self.mode == "L": + self._mode = "P" + rawmode = rawmode.replace("L", "P") + + # 16 bit boundaries on stride + stride = ((self.size[0] * depth + 15) // 16) * 2 + + # file type: Type is the version (or flavor) of the bitmap + # file. The following values are typically found in the Type + # field: + # 0000h Old + # 0001h Standard + # 0002h Byte-encoded + # 0003h RGB format + # 0004h TIFF format + # 0005h IFF format + # FFFFh Experimental + + # Old and standard are the same, except for the length tag. + # byte-encoded is run-length-encoded + # RGB looks similar to standard, but RGB byte order + # TIFF and IFF mean that they were converted from T/IFF + # Experimental means that it's something else. + # (https://www.fileformat.info/format/sunraster/egff.htm) + + if file_type in (0, 1, 3, 4, 5): + self.tile = [ + ImageFile._Tile("raw", (0, 0) + self.size, offset, (rawmode, stride)) + ] + elif file_type == 2: + self.tile = [ + ImageFile._Tile("sun_rle", (0, 0) + self.size, offset, rawmode) + ] + else: + msg = "Unsupported Sun Raster file type" + raise SyntaxError(msg) + + +# +# registry + + +Image.register_open(SunImageFile.format, SunImageFile, _accept) + +Image.register_extension(SunImageFile.format, ".ras") diff --git a/gestao_raul/Lib/site-packages/PIL/TarIO.py b/gestao_raul/Lib/site-packages/PIL/TarIO.py new file mode 100644 index 0000000..779288b --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/TarIO.py @@ -0,0 +1,57 @@ +# +# The Python Imaging Library. +# $Id$ +# +# read files from within a tar file +# +# History: +# 95-06-18 fl Created +# 96-05-28 fl Open files in binary mode +# +# Copyright (c) Secret Labs AB 1997. +# Copyright (c) Fredrik Lundh 1995-96. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io + +from . import ContainerIO + + +class TarIO(ContainerIO.ContainerIO[bytes]): + """A file object that provides read access to a given member of a TAR file.""" + + def __init__(self, tarfile: str, file: str) -> None: + """ + Create file object. + + :param tarfile: Name of TAR file. + :param file: Name of member file. + """ + self.fh = open(tarfile, "rb") + + while True: + s = self.fh.read(512) + if len(s) != 512: + msg = "unexpected end of tar file" + raise OSError(msg) + + name = s[:100].decode("utf-8") + i = name.find("\0") + if i == 0: + msg = "cannot find subfile" + raise OSError(msg) + if i > 0: + name = name[:i] + + size = int(s[124:135], 8) + + if file == name: + break + + self.fh.seek((size + 511) & (~511), io.SEEK_CUR) + + # Open region + super().__init__(self.fh, self.fh.tell(), size) diff --git a/gestao_raul/Lib/site-packages/PIL/TgaImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/TgaImagePlugin.py new file mode 100644 index 0000000..90d5b5c --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/TgaImagePlugin.py @@ -0,0 +1,264 @@ +# +# The Python Imaging Library. +# $Id$ +# +# TGA file handling +# +# History: +# 95-09-01 fl created (reads 24-bit files only) +# 97-01-04 fl support more TGA versions, including compressed images +# 98-07-04 fl fixed orientation and alpha layer bugs +# 98-09-11 fl fixed orientation for runlength decoder +# +# Copyright (c) Secret Labs AB 1997-98. +# Copyright (c) Fredrik Lundh 1995-97. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import warnings +from typing import IO + +from . import Image, ImageFile, ImagePalette +from ._binary import i16le as i16 +from ._binary import o8 +from ._binary import o16le as o16 + +# +# -------------------------------------------------------------------- +# Read RGA file + + +MODES = { + # map imagetype/depth to rawmode + (1, 8): "P", + (3, 1): "1", + (3, 8): "L", + (3, 16): "LA", + (2, 16): "BGRA;15Z", + (2, 24): "BGR", + (2, 32): "BGRA", +} + + +## +# Image plugin for Targa files. + + +class TgaImageFile(ImageFile.ImageFile): + format = "TGA" + format_description = "Targa" + + def _open(self) -> None: + # process header + assert self.fp is not None + + s = self.fp.read(18) + + id_len = s[0] + + colormaptype = s[1] + imagetype = s[2] + + depth = s[16] + + flags = s[17] + + self._size = i16(s, 12), i16(s, 14) + + # validate header fields + if ( + colormaptype not in (0, 1) + or self.size[0] <= 0 + or self.size[1] <= 0 + or depth not in (1, 8, 16, 24, 32) + ): + msg = "not a TGA file" + raise SyntaxError(msg) + + # image mode + if imagetype in (3, 11): + self._mode = "L" + if depth == 1: + self._mode = "1" # ??? + elif depth == 16: + self._mode = "LA" + elif imagetype in (1, 9): + self._mode = "P" if colormaptype else "L" + elif imagetype in (2, 10): + self._mode = "RGB" if depth == 24 else "RGBA" + else: + msg = "unknown TGA mode" + raise SyntaxError(msg) + + # orientation + orientation = flags & 0x30 + self._flip_horizontally = orientation in [0x10, 0x30] + if orientation in [0x20, 0x30]: + orientation = 1 + elif orientation in [0, 0x10]: + orientation = -1 + else: + msg = "unknown TGA orientation" + raise SyntaxError(msg) + + self.info["orientation"] = orientation + + if imagetype & 8: + self.info["compression"] = "tga_rle" + + if id_len: + self.info["id_section"] = self.fp.read(id_len) + + if colormaptype: + # read palette + start, size, mapdepth = i16(s, 3), i16(s, 5), s[7] + if mapdepth == 16: + self.palette = ImagePalette.raw( + "BGRA;15Z", bytes(2 * start) + self.fp.read(2 * size) + ) + self.palette.mode = "RGBA" + elif mapdepth == 24: + self.palette = ImagePalette.raw( + "BGR", bytes(3 * start) + self.fp.read(3 * size) + ) + elif mapdepth == 32: + self.palette = ImagePalette.raw( + "BGRA", bytes(4 * start) + self.fp.read(4 * size) + ) + else: + msg = "unknown TGA map depth" + raise SyntaxError(msg) + + # setup tile descriptor + try: + rawmode = MODES[(imagetype & 7, depth)] + if imagetype & 8: + # compressed + self.tile = [ + ImageFile._Tile( + "tga_rle", + (0, 0) + self.size, + self.fp.tell(), + (rawmode, orientation, depth), + ) + ] + else: + self.tile = [ + ImageFile._Tile( + "raw", + (0, 0) + self.size, + self.fp.tell(), + (rawmode, 0, orientation), + ) + ] + except KeyError: + pass # cannot decode + + def load_end(self) -> None: + if self._flip_horizontally: + self.im = self.im.transpose(Image.Transpose.FLIP_LEFT_RIGHT) + + +# +# -------------------------------------------------------------------- +# Write TGA file + + +SAVE = { + "1": ("1", 1, 0, 3), + "L": ("L", 8, 0, 3), + "LA": ("LA", 16, 0, 3), + "P": ("P", 8, 1, 1), + "RGB": ("BGR", 24, 0, 2), + "RGBA": ("BGRA", 32, 0, 2), +} + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + try: + rawmode, bits, colormaptype, imagetype = SAVE[im.mode] + except KeyError as e: + msg = f"cannot write mode {im.mode} as TGA" + raise OSError(msg) from e + + if "rle" in im.encoderinfo: + rle = im.encoderinfo["rle"] + else: + compression = im.encoderinfo.get("compression", im.info.get("compression")) + rle = compression == "tga_rle" + if rle: + imagetype += 8 + + id_section = im.encoderinfo.get("id_section", im.info.get("id_section", "")) + id_len = len(id_section) + if id_len > 255: + id_len = 255 + id_section = id_section[:255] + warnings.warn("id_section has been trimmed to 255 characters") + + if colormaptype: + palette = im.im.getpalette("RGB", "BGR") + colormaplength, colormapentry = len(palette) // 3, 24 + else: + colormaplength, colormapentry = 0, 0 + + if im.mode in ("LA", "RGBA"): + flags = 8 + else: + flags = 0 + + orientation = im.encoderinfo.get("orientation", im.info.get("orientation", -1)) + if orientation > 0: + flags = flags | 0x20 + + fp.write( + o8(id_len) + + o8(colormaptype) + + o8(imagetype) + + o16(0) # colormapfirst + + o16(colormaplength) + + o8(colormapentry) + + o16(0) + + o16(0) + + o16(im.size[0]) + + o16(im.size[1]) + + o8(bits) + + o8(flags) + ) + + if id_section: + fp.write(id_section) + + if colormaptype: + fp.write(palette) + + if rle: + ImageFile._save( + im, + fp, + [ImageFile._Tile("tga_rle", (0, 0) + im.size, 0, (rawmode, orientation))], + ) + else: + ImageFile._save( + im, + fp, + [ImageFile._Tile("raw", (0, 0) + im.size, 0, (rawmode, 0, orientation))], + ) + + # write targa version 2 footer + fp.write(b"\000" * 8 + b"TRUEVISION-XFILE." + b"\000") + + +# +# -------------------------------------------------------------------- +# Registry + + +Image.register_open(TgaImageFile.format, TgaImageFile) +Image.register_save(TgaImageFile.format, _save) + +Image.register_extensions(TgaImageFile.format, [".tga", ".icb", ".vda", ".vst"]) + +Image.register_mime(TgaImageFile.format, "image/x-tga") diff --git a/gestao_raul/Lib/site-packages/PIL/TiffImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/TiffImagePlugin.py new file mode 100644 index 0000000..ff5a6f9 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/TiffImagePlugin.py @@ -0,0 +1,2271 @@ +# +# The Python Imaging Library. +# $Id$ +# +# TIFF file handling +# +# TIFF is a flexible, if somewhat aged, image file format originally +# defined by Aldus. Although TIFF supports a wide variety of pixel +# layouts and compression methods, the name doesn't really stand for +# "thousands of incompatible file formats," it just feels that way. +# +# To read TIFF data from a stream, the stream must be seekable. For +# progressive decoding, make sure to use TIFF files where the tag +# directory is placed first in the file. +# +# History: +# 1995-09-01 fl Created +# 1996-05-04 fl Handle JPEGTABLES tag +# 1996-05-18 fl Fixed COLORMAP support +# 1997-01-05 fl Fixed PREDICTOR support +# 1997-08-27 fl Added support for rational tags (from Perry Stoll) +# 1998-01-10 fl Fixed seek/tell (from Jan Blom) +# 1998-07-15 fl Use private names for internal variables +# 1999-06-13 fl Rewritten for PIL 1.0 (1.0) +# 2000-10-11 fl Additional fixes for Python 2.0 (1.1) +# 2001-04-17 fl Fixed rewind support (seek to frame 0) (1.2) +# 2001-05-12 fl Added write support for more tags (from Greg Couch) (1.3) +# 2001-12-18 fl Added workaround for broken Matrox library +# 2002-01-18 fl Don't mess up if photometric tag is missing (D. Alan Stewart) +# 2003-05-19 fl Check FILLORDER tag +# 2003-09-26 fl Added RGBa support +# 2004-02-24 fl Added DPI support; fixed rational write support +# 2005-02-07 fl Added workaround for broken Corel Draw 10 files +# 2006-01-09 fl Added support for float/double tags (from Russell Nelson) +# +# Copyright (c) 1997-2006 by Secret Labs AB. All rights reserved. +# Copyright (c) 1995-1997 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import io +import itertools +import logging +import math +import os +import struct +import warnings +from collections.abc import Iterator, MutableMapping +from fractions import Fraction +from numbers import Number, Rational +from typing import IO, TYPE_CHECKING, Any, Callable, NoReturn, cast + +from . import ExifTags, Image, ImageFile, ImageOps, ImagePalette, TiffTags +from ._binary import i16be as i16 +from ._binary import i32be as i32 +from ._binary import o8 +from ._deprecate import deprecate +from ._typing import StrOrBytesPath +from ._util import is_path +from .TiffTags import TYPES + +if TYPE_CHECKING: + from ._typing import Buffer, IntegralLike + +logger = logging.getLogger(__name__) + +# Set these to true to force use of libtiff for reading or writing. +READ_LIBTIFF = False +WRITE_LIBTIFF = False +STRIP_SIZE = 65536 + +II = b"II" # little-endian (Intel style) +MM = b"MM" # big-endian (Motorola style) + +# +# -------------------------------------------------------------------- +# Read TIFF files + +# a few tag names, just to make the code below a bit more readable +OSUBFILETYPE = 255 +IMAGEWIDTH = 256 +IMAGELENGTH = 257 +BITSPERSAMPLE = 258 +COMPRESSION = 259 +PHOTOMETRIC_INTERPRETATION = 262 +FILLORDER = 266 +IMAGEDESCRIPTION = 270 +STRIPOFFSETS = 273 +SAMPLESPERPIXEL = 277 +ROWSPERSTRIP = 278 +STRIPBYTECOUNTS = 279 +X_RESOLUTION = 282 +Y_RESOLUTION = 283 +PLANAR_CONFIGURATION = 284 +RESOLUTION_UNIT = 296 +TRANSFERFUNCTION = 301 +SOFTWARE = 305 +DATE_TIME = 306 +ARTIST = 315 +PREDICTOR = 317 +COLORMAP = 320 +TILEWIDTH = 322 +TILELENGTH = 323 +TILEOFFSETS = 324 +TILEBYTECOUNTS = 325 +SUBIFD = 330 +EXTRASAMPLES = 338 +SAMPLEFORMAT = 339 +JPEGTABLES = 347 +YCBCRSUBSAMPLING = 530 +REFERENCEBLACKWHITE = 532 +COPYRIGHT = 33432 +IPTC_NAA_CHUNK = 33723 # newsphoto properties +PHOTOSHOP_CHUNK = 34377 # photoshop properties +ICCPROFILE = 34675 +EXIFIFD = 34665 +XMP = 700 +JPEGQUALITY = 65537 # pseudo-tag by libtiff + +# https://github.com/imagej/ImageJA/blob/master/src/main/java/ij/io/TiffDecoder.java +IMAGEJ_META_DATA_BYTE_COUNTS = 50838 +IMAGEJ_META_DATA = 50839 + +COMPRESSION_INFO = { + # Compression => pil compression name + 1: "raw", + 2: "tiff_ccitt", + 3: "group3", + 4: "group4", + 5: "tiff_lzw", + 6: "tiff_jpeg", # obsolete + 7: "jpeg", + 8: "tiff_adobe_deflate", + 32771: "tiff_raw_16", # 16-bit padding + 32773: "packbits", + 32809: "tiff_thunderscan", + 32946: "tiff_deflate", + 34676: "tiff_sgilog", + 34677: "tiff_sgilog24", + 34925: "lzma", + 50000: "zstd", + 50001: "webp", +} + +COMPRESSION_INFO_REV = {v: k for k, v in COMPRESSION_INFO.items()} + +OPEN_INFO = { + # (ByteOrder, PhotoInterpretation, SampleFormat, FillOrder, BitsPerSample, + # ExtraSamples) => mode, rawmode + (II, 0, (1,), 1, (1,), ()): ("1", "1;I"), + (MM, 0, (1,), 1, (1,), ()): ("1", "1;I"), + (II, 0, (1,), 2, (1,), ()): ("1", "1;IR"), + (MM, 0, (1,), 2, (1,), ()): ("1", "1;IR"), + (II, 1, (1,), 1, (1,), ()): ("1", "1"), + (MM, 1, (1,), 1, (1,), ()): ("1", "1"), + (II, 1, (1,), 2, (1,), ()): ("1", "1;R"), + (MM, 1, (1,), 2, (1,), ()): ("1", "1;R"), + (II, 0, (1,), 1, (2,), ()): ("L", "L;2I"), + (MM, 0, (1,), 1, (2,), ()): ("L", "L;2I"), + (II, 0, (1,), 2, (2,), ()): ("L", "L;2IR"), + (MM, 0, (1,), 2, (2,), ()): ("L", "L;2IR"), + (II, 1, (1,), 1, (2,), ()): ("L", "L;2"), + (MM, 1, (1,), 1, (2,), ()): ("L", "L;2"), + (II, 1, (1,), 2, (2,), ()): ("L", "L;2R"), + (MM, 1, (1,), 2, (2,), ()): ("L", "L;2R"), + (II, 0, (1,), 1, (4,), ()): ("L", "L;4I"), + (MM, 0, (1,), 1, (4,), ()): ("L", "L;4I"), + (II, 0, (1,), 2, (4,), ()): ("L", "L;4IR"), + (MM, 0, (1,), 2, (4,), ()): ("L", "L;4IR"), + (II, 1, (1,), 1, (4,), ()): ("L", "L;4"), + (MM, 1, (1,), 1, (4,), ()): ("L", "L;4"), + (II, 1, (1,), 2, (4,), ()): ("L", "L;4R"), + (MM, 1, (1,), 2, (4,), ()): ("L", "L;4R"), + (II, 0, (1,), 1, (8,), ()): ("L", "L;I"), + (MM, 0, (1,), 1, (8,), ()): ("L", "L;I"), + (II, 0, (1,), 2, (8,), ()): ("L", "L;IR"), + (MM, 0, (1,), 2, (8,), ()): ("L", "L;IR"), + (II, 1, (1,), 1, (8,), ()): ("L", "L"), + (MM, 1, (1,), 1, (8,), ()): ("L", "L"), + (II, 1, (2,), 1, (8,), ()): ("L", "L"), + (MM, 1, (2,), 1, (8,), ()): ("L", "L"), + (II, 1, (1,), 2, (8,), ()): ("L", "L;R"), + (MM, 1, (1,), 2, (8,), ()): ("L", "L;R"), + (II, 1, (1,), 1, (12,), ()): ("I;16", "I;12"), + (II, 0, (1,), 1, (16,), ()): ("I;16", "I;16"), + (II, 1, (1,), 1, (16,), ()): ("I;16", "I;16"), + (MM, 1, (1,), 1, (16,), ()): ("I;16B", "I;16B"), + (II, 1, (1,), 2, (16,), ()): ("I;16", "I;16R"), + (II, 1, (2,), 1, (16,), ()): ("I", "I;16S"), + (MM, 1, (2,), 1, (16,), ()): ("I", "I;16BS"), + (II, 0, (3,), 1, (32,), ()): ("F", "F;32F"), + (MM, 0, (3,), 1, (32,), ()): ("F", "F;32BF"), + (II, 1, (1,), 1, (32,), ()): ("I", "I;32N"), + (II, 1, (2,), 1, (32,), ()): ("I", "I;32S"), + (MM, 1, (2,), 1, (32,), ()): ("I", "I;32BS"), + (II, 1, (3,), 1, (32,), ()): ("F", "F;32F"), + (MM, 1, (3,), 1, (32,), ()): ("F", "F;32BF"), + (II, 1, (1,), 1, (8, 8), (2,)): ("LA", "LA"), + (MM, 1, (1,), 1, (8, 8), (2,)): ("LA", "LA"), + (II, 2, (1,), 1, (8, 8, 8), ()): ("RGB", "RGB"), + (MM, 2, (1,), 1, (8, 8, 8), ()): ("RGB", "RGB"), + (II, 2, (1,), 2, (8, 8, 8), ()): ("RGB", "RGB;R"), + (MM, 2, (1,), 2, (8, 8, 8), ()): ("RGB", "RGB;R"), + (II, 2, (1,), 1, (8, 8, 8, 8), ()): ("RGBA", "RGBA"), # missing ExtraSamples + (MM, 2, (1,), 1, (8, 8, 8, 8), ()): ("RGBA", "RGBA"), # missing ExtraSamples + (II, 2, (1,), 1, (8, 8, 8, 8), (0,)): ("RGB", "RGBX"), + (MM, 2, (1,), 1, (8, 8, 8, 8), (0,)): ("RGB", "RGBX"), + (II, 2, (1,), 1, (8, 8, 8, 8, 8), (0, 0)): ("RGB", "RGBXX"), + (MM, 2, (1,), 1, (8, 8, 8, 8, 8), (0, 0)): ("RGB", "RGBXX"), + (II, 2, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0, 0)): ("RGB", "RGBXXX"), + (MM, 2, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0, 0)): ("RGB", "RGBXXX"), + (II, 2, (1,), 1, (8, 8, 8, 8), (1,)): ("RGBA", "RGBa"), + (MM, 2, (1,), 1, (8, 8, 8, 8), (1,)): ("RGBA", "RGBa"), + (II, 2, (1,), 1, (8, 8, 8, 8, 8), (1, 0)): ("RGBA", "RGBaX"), + (MM, 2, (1,), 1, (8, 8, 8, 8, 8), (1, 0)): ("RGBA", "RGBaX"), + (II, 2, (1,), 1, (8, 8, 8, 8, 8, 8), (1, 0, 0)): ("RGBA", "RGBaXX"), + (MM, 2, (1,), 1, (8, 8, 8, 8, 8, 8), (1, 0, 0)): ("RGBA", "RGBaXX"), + (II, 2, (1,), 1, (8, 8, 8, 8), (2,)): ("RGBA", "RGBA"), + (MM, 2, (1,), 1, (8, 8, 8, 8), (2,)): ("RGBA", "RGBA"), + (II, 2, (1,), 1, (8, 8, 8, 8, 8), (2, 0)): ("RGBA", "RGBAX"), + (MM, 2, (1,), 1, (8, 8, 8, 8, 8), (2, 0)): ("RGBA", "RGBAX"), + (II, 2, (1,), 1, (8, 8, 8, 8, 8, 8), (2, 0, 0)): ("RGBA", "RGBAXX"), + (MM, 2, (1,), 1, (8, 8, 8, 8, 8, 8), (2, 0, 0)): ("RGBA", "RGBAXX"), + (II, 2, (1,), 1, (8, 8, 8, 8), (999,)): ("RGBA", "RGBA"), # Corel Draw 10 + (MM, 2, (1,), 1, (8, 8, 8, 8), (999,)): ("RGBA", "RGBA"), # Corel Draw 10 + (II, 2, (1,), 1, (16, 16, 16), ()): ("RGB", "RGB;16L"), + (MM, 2, (1,), 1, (16, 16, 16), ()): ("RGB", "RGB;16B"), + (II, 2, (1,), 1, (16, 16, 16, 16), ()): ("RGBA", "RGBA;16L"), + (MM, 2, (1,), 1, (16, 16, 16, 16), ()): ("RGBA", "RGBA;16B"), + (II, 2, (1,), 1, (16, 16, 16, 16), (0,)): ("RGB", "RGBX;16L"), + (MM, 2, (1,), 1, (16, 16, 16, 16), (0,)): ("RGB", "RGBX;16B"), + (II, 2, (1,), 1, (16, 16, 16, 16), (1,)): ("RGBA", "RGBa;16L"), + (MM, 2, (1,), 1, (16, 16, 16, 16), (1,)): ("RGBA", "RGBa;16B"), + (II, 2, (1,), 1, (16, 16, 16, 16), (2,)): ("RGBA", "RGBA;16L"), + (MM, 2, (1,), 1, (16, 16, 16, 16), (2,)): ("RGBA", "RGBA;16B"), + (II, 3, (1,), 1, (1,), ()): ("P", "P;1"), + (MM, 3, (1,), 1, (1,), ()): ("P", "P;1"), + (II, 3, (1,), 2, (1,), ()): ("P", "P;1R"), + (MM, 3, (1,), 2, (1,), ()): ("P", "P;1R"), + (II, 3, (1,), 1, (2,), ()): ("P", "P;2"), + (MM, 3, (1,), 1, (2,), ()): ("P", "P;2"), + (II, 3, (1,), 2, (2,), ()): ("P", "P;2R"), + (MM, 3, (1,), 2, (2,), ()): ("P", "P;2R"), + (II, 3, (1,), 1, (4,), ()): ("P", "P;4"), + (MM, 3, (1,), 1, (4,), ()): ("P", "P;4"), + (II, 3, (1,), 2, (4,), ()): ("P", "P;4R"), + (MM, 3, (1,), 2, (4,), ()): ("P", "P;4R"), + (II, 3, (1,), 1, (8,), ()): ("P", "P"), + (MM, 3, (1,), 1, (8,), ()): ("P", "P"), + (II, 3, (1,), 1, (8, 8), (0,)): ("P", "PX"), + (II, 3, (1,), 1, (8, 8), (2,)): ("PA", "PA"), + (MM, 3, (1,), 1, (8, 8), (2,)): ("PA", "PA"), + (II, 3, (1,), 2, (8,), ()): ("P", "P;R"), + (MM, 3, (1,), 2, (8,), ()): ("P", "P;R"), + (II, 5, (1,), 1, (8, 8, 8, 8), ()): ("CMYK", "CMYK"), + (MM, 5, (1,), 1, (8, 8, 8, 8), ()): ("CMYK", "CMYK"), + (II, 5, (1,), 1, (8, 8, 8, 8, 8), (0,)): ("CMYK", "CMYKX"), + (MM, 5, (1,), 1, (8, 8, 8, 8, 8), (0,)): ("CMYK", "CMYKX"), + (II, 5, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0)): ("CMYK", "CMYKXX"), + (MM, 5, (1,), 1, (8, 8, 8, 8, 8, 8), (0, 0)): ("CMYK", "CMYKXX"), + (II, 5, (1,), 1, (16, 16, 16, 16), ()): ("CMYK", "CMYK;16L"), + (MM, 5, (1,), 1, (16, 16, 16, 16), ()): ("CMYK", "CMYK;16B"), + (II, 6, (1,), 1, (8,), ()): ("L", "L"), + (MM, 6, (1,), 1, (8,), ()): ("L", "L"), + # JPEG compressed images handled by LibTiff and auto-converted to RGBX + # Minimal Baseline TIFF requires YCbCr images to have 3 SamplesPerPixel + (II, 6, (1,), 1, (8, 8, 8), ()): ("RGB", "RGBX"), + (MM, 6, (1,), 1, (8, 8, 8), ()): ("RGB", "RGBX"), + (II, 8, (1,), 1, (8, 8, 8), ()): ("LAB", "LAB"), + (MM, 8, (1,), 1, (8, 8, 8), ()): ("LAB", "LAB"), +} + +MAX_SAMPLESPERPIXEL = max(len(key_tp[4]) for key_tp in OPEN_INFO) + +PREFIXES = [ + b"MM\x00\x2A", # Valid TIFF header with big-endian byte order + b"II\x2A\x00", # Valid TIFF header with little-endian byte order + b"MM\x2A\x00", # Invalid TIFF header, assume big-endian + b"II\x00\x2A", # Invalid TIFF header, assume little-endian + b"MM\x00\x2B", # BigTIFF with big-endian byte order + b"II\x2B\x00", # BigTIFF with little-endian byte order +] + +if not getattr(Image.core, "libtiff_support_custom_tags", True): + deprecate("Support for LibTIFF earlier than version 4", 12) + + +def _accept(prefix: bytes) -> bool: + return prefix[:4] in PREFIXES + + +def _limit_rational( + val: float | Fraction | IFDRational, max_val: int +) -> tuple[IntegralLike, IntegralLike]: + inv = abs(float(val)) > 1 + n_d = IFDRational(1 / val if inv else val).limit_rational(max_val) + return n_d[::-1] if inv else n_d + + +def _limit_signed_rational( + val: IFDRational, max_val: int, min_val: int +) -> tuple[IntegralLike, IntegralLike]: + frac = Fraction(val) + n_d: tuple[IntegralLike, IntegralLike] = frac.numerator, frac.denominator + + if min(float(i) for i in n_d) < min_val: + n_d = _limit_rational(val, abs(min_val)) + + n_d_float = tuple(float(i) for i in n_d) + if max(n_d_float) > max_val: + n_d = _limit_rational(n_d_float[0] / n_d_float[1], max_val) + + return n_d + + +## +# Wrapper for TIFF IFDs. + +_load_dispatch = {} +_write_dispatch = {} + + +def _delegate(op: str) -> Any: + def delegate( + self: IFDRational, *args: tuple[float, ...] + ) -> bool | float | Fraction: + return getattr(self._val, op)(*args) + + return delegate + + +class IFDRational(Rational): + """Implements a rational class where 0/0 is a legal value to match + the in the wild use of exif rationals. + + e.g., DigitalZoomRatio - 0.00/0.00 indicates that no digital zoom was used + """ + + """ If the denominator is 0, store this as a float('nan'), otherwise store + as a fractions.Fraction(). Delegate as appropriate + + """ + + __slots__ = ("_numerator", "_denominator", "_val") + + def __init__( + self, value: float | Fraction | IFDRational, denominator: int = 1 + ) -> None: + """ + :param value: either an integer numerator, a + float/rational/other number, or an IFDRational + :param denominator: Optional integer denominator + """ + self._val: Fraction | float + if isinstance(value, IFDRational): + self._numerator = value.numerator + self._denominator = value.denominator + self._val = value._val + return + + if isinstance(value, Fraction): + self._numerator = value.numerator + self._denominator = value.denominator + else: + if TYPE_CHECKING: + self._numerator = cast(IntegralLike, value) + else: + self._numerator = value + self._denominator = denominator + + if denominator == 0: + self._val = float("nan") + elif denominator == 1: + self._val = Fraction(value) + elif int(value) == value: + self._val = Fraction(int(value), denominator) + else: + self._val = Fraction(value / denominator) + + @property + def numerator(self) -> IntegralLike: + return self._numerator + + @property + def denominator(self) -> int: + return self._denominator + + def limit_rational(self, max_denominator: int) -> tuple[IntegralLike, int]: + """ + + :param max_denominator: Integer, the maximum denominator value + :returns: Tuple of (numerator, denominator) + """ + + if self.denominator == 0: + return self.numerator, self.denominator + + assert isinstance(self._val, Fraction) + f = self._val.limit_denominator(max_denominator) + return f.numerator, f.denominator + + def __repr__(self) -> str: + return str(float(self._val)) + + def __hash__(self) -> int: + return self._val.__hash__() + + def __eq__(self, other: object) -> bool: + val = self._val + if isinstance(other, IFDRational): + other = other._val + if isinstance(other, float): + val = float(val) + return val == other + + def __getstate__(self) -> list[float | Fraction | IntegralLike]: + return [self._val, self._numerator, self._denominator] + + def __setstate__(self, state: list[float | Fraction | IntegralLike]) -> None: + IFDRational.__init__(self, 0) + _val, _numerator, _denominator = state + assert isinstance(_val, (float, Fraction)) + self._val = _val + if TYPE_CHECKING: + self._numerator = cast(IntegralLike, _numerator) + else: + self._numerator = _numerator + assert isinstance(_denominator, int) + self._denominator = _denominator + + """ a = ['add','radd', 'sub', 'rsub', 'mul', 'rmul', + 'truediv', 'rtruediv', 'floordiv', 'rfloordiv', + 'mod','rmod', 'pow','rpow', 'pos', 'neg', + 'abs', 'trunc', 'lt', 'gt', 'le', 'ge', 'bool', + 'ceil', 'floor', 'round'] + print("\n".join("__%s__ = _delegate('__%s__')" % (s,s) for s in a)) + """ + + __add__ = _delegate("__add__") + __radd__ = _delegate("__radd__") + __sub__ = _delegate("__sub__") + __rsub__ = _delegate("__rsub__") + __mul__ = _delegate("__mul__") + __rmul__ = _delegate("__rmul__") + __truediv__ = _delegate("__truediv__") + __rtruediv__ = _delegate("__rtruediv__") + __floordiv__ = _delegate("__floordiv__") + __rfloordiv__ = _delegate("__rfloordiv__") + __mod__ = _delegate("__mod__") + __rmod__ = _delegate("__rmod__") + __pow__ = _delegate("__pow__") + __rpow__ = _delegate("__rpow__") + __pos__ = _delegate("__pos__") + __neg__ = _delegate("__neg__") + __abs__ = _delegate("__abs__") + __trunc__ = _delegate("__trunc__") + __lt__ = _delegate("__lt__") + __gt__ = _delegate("__gt__") + __le__ = _delegate("__le__") + __ge__ = _delegate("__ge__") + __bool__ = _delegate("__bool__") + __ceil__ = _delegate("__ceil__") + __floor__ = _delegate("__floor__") + __round__ = _delegate("__round__") + # Python >= 3.11 + if hasattr(Fraction, "__int__"): + __int__ = _delegate("__int__") + + +_LoaderFunc = Callable[["ImageFileDirectory_v2", bytes, bool], Any] + + +def _register_loader(idx: int, size: int) -> Callable[[_LoaderFunc], _LoaderFunc]: + def decorator(func: _LoaderFunc) -> _LoaderFunc: + from .TiffTags import TYPES + + if func.__name__.startswith("load_"): + TYPES[idx] = func.__name__[5:].replace("_", " ") + _load_dispatch[idx] = size, func # noqa: F821 + return func + + return decorator + + +def _register_writer(idx: int) -> Callable[[Callable[..., Any]], Callable[..., Any]]: + def decorator(func: Callable[..., Any]) -> Callable[..., Any]: + _write_dispatch[idx] = func # noqa: F821 + return func + + return decorator + + +def _register_basic(idx_fmt_name: tuple[int, str, str]) -> None: + from .TiffTags import TYPES + + idx, fmt, name = idx_fmt_name + TYPES[idx] = name + size = struct.calcsize(f"={fmt}") + + def basic_handler( + self: ImageFileDirectory_v2, data: bytes, legacy_api: bool = True + ) -> tuple[Any, ...]: + return self._unpack(f"{len(data) // size}{fmt}", data) + + _load_dispatch[idx] = size, basic_handler # noqa: F821 + _write_dispatch[idx] = lambda self, *values: ( # noqa: F821 + b"".join(self._pack(fmt, value) for value in values) + ) + + +if TYPE_CHECKING: + _IFDv2Base = MutableMapping[int, Any] +else: + _IFDv2Base = MutableMapping + + +class ImageFileDirectory_v2(_IFDv2Base): + """This class represents a TIFF tag directory. To speed things up, we + don't decode tags unless they're asked for. + + Exposes a dictionary interface of the tags in the directory:: + + ifd = ImageFileDirectory_v2() + ifd[key] = 'Some Data' + ifd.tagtype[key] = TiffTags.ASCII + print(ifd[key]) + 'Some Data' + + Individual values are returned as the strings or numbers, sequences are + returned as tuples of the values. + + The tiff metadata type of each item is stored in a dictionary of + tag types in + :attr:`~PIL.TiffImagePlugin.ImageFileDirectory_v2.tagtype`. The types + are read from a tiff file, guessed from the type added, or added + manually. + + Data Structures: + + * ``self.tagtype = {}`` + + * Key: numerical TIFF tag number + * Value: integer corresponding to the data type from + :py:data:`.TiffTags.TYPES` + + .. versionadded:: 3.0.0 + + 'Internal' data structures: + + * ``self._tags_v2 = {}`` + + * Key: numerical TIFF tag number + * Value: decoded data, as tuple for multiple values + + * ``self._tagdata = {}`` + + * Key: numerical TIFF tag number + * Value: undecoded byte string from file + + * ``self._tags_v1 = {}`` + + * Key: numerical TIFF tag number + * Value: decoded data in the v1 format + + Tags will be found in the private attributes ``self._tagdata``, and in + ``self._tags_v2`` once decoded. + + ``self.legacy_api`` is a value for internal use, and shouldn't be changed + from outside code. In cooperation with + :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v1`, if ``legacy_api`` + is true, then decoded tags will be populated into both ``_tags_v1`` and + ``_tags_v2``. ``_tags_v2`` will be used if this IFD is used in the TIFF + save routine. Tags should be read from ``_tags_v1`` if + ``legacy_api == true``. + + """ + + _load_dispatch: dict[int, tuple[int, _LoaderFunc]] = {} + _write_dispatch: dict[int, Callable[..., Any]] = {} + + def __init__( + self, + ifh: bytes = b"II\052\0\0\0\0\0", + prefix: bytes | None = None, + group: int | None = None, + ) -> None: + """Initialize an ImageFileDirectory. + + To construct an ImageFileDirectory from a real file, pass the 8-byte + magic header to the constructor. To only set the endianness, pass it + as the 'prefix' keyword argument. + + :param ifh: One of the accepted magic headers (cf. PREFIXES); also sets + endianness. + :param prefix: Override the endianness of the file. + """ + if not _accept(ifh): + msg = f"not a TIFF file (header {repr(ifh)} not valid)" + raise SyntaxError(msg) + self._prefix = prefix if prefix is not None else ifh[:2] + if self._prefix == MM: + self._endian = ">" + elif self._prefix == II: + self._endian = "<" + else: + msg = "not a TIFF IFD" + raise SyntaxError(msg) + self._bigtiff = ifh[2] == 43 + self.group = group + self.tagtype: dict[int, int] = {} + """ Dictionary of tag types """ + self.reset() + self.next = ( + self._unpack("Q", ifh[8:])[0] + if self._bigtiff + else self._unpack("L", ifh[4:])[0] + ) + self._legacy_api = False + + prefix = property(lambda self: self._prefix) + offset = property(lambda self: self._offset) + + @property + def legacy_api(self) -> bool: + return self._legacy_api + + @legacy_api.setter + def legacy_api(self, value: bool) -> NoReturn: + msg = "Not allowing setting of legacy api" + raise Exception(msg) + + def reset(self) -> None: + self._tags_v1: dict[int, Any] = {} # will remain empty if legacy_api is false + self._tags_v2: dict[int, Any] = {} # main tag storage + self._tagdata: dict[int, bytes] = {} + self.tagtype = {} # added 2008-06-05 by Florian Hoech + self._next = None + self._offset: int | None = None + + def __str__(self) -> str: + return str(dict(self)) + + def named(self) -> dict[str, Any]: + """ + :returns: dict of name|key: value + + Returns the complete tag dictionary, with named tags where possible. + """ + return { + TiffTags.lookup(code, self.group).name: value + for code, value in self.items() + } + + def __len__(self) -> int: + return len(set(self._tagdata) | set(self._tags_v2)) + + def __getitem__(self, tag: int) -> Any: + if tag not in self._tags_v2: # unpack on the fly + data = self._tagdata[tag] + typ = self.tagtype[tag] + size, handler = self._load_dispatch[typ] + self[tag] = handler(self, data, self.legacy_api) # check type + val = self._tags_v2[tag] + if self.legacy_api and not isinstance(val, (tuple, bytes)): + val = (val,) + return val + + def __contains__(self, tag: object) -> bool: + return tag in self._tags_v2 or tag in self._tagdata + + def __setitem__(self, tag: int, value: Any) -> None: + self._setitem(tag, value, self.legacy_api) + + def _setitem(self, tag: int, value: Any, legacy_api: bool) -> None: + basetypes = (Number, bytes, str) + + info = TiffTags.lookup(tag, self.group) + values = [value] if isinstance(value, basetypes) else value + + if tag not in self.tagtype: + if info.type: + self.tagtype[tag] = info.type + else: + self.tagtype[tag] = TiffTags.UNDEFINED + if all(isinstance(v, IFDRational) for v in values): + self.tagtype[tag] = ( + TiffTags.RATIONAL + if all(v >= 0 for v in values) + else TiffTags.SIGNED_RATIONAL + ) + elif all(isinstance(v, int) for v in values): + if all(0 <= v < 2**16 for v in values): + self.tagtype[tag] = TiffTags.SHORT + elif all(-(2**15) < v < 2**15 for v in values): + self.tagtype[tag] = TiffTags.SIGNED_SHORT + else: + self.tagtype[tag] = ( + TiffTags.LONG + if all(v >= 0 for v in values) + else TiffTags.SIGNED_LONG + ) + elif all(isinstance(v, float) for v in values): + self.tagtype[tag] = TiffTags.DOUBLE + elif all(isinstance(v, str) for v in values): + self.tagtype[tag] = TiffTags.ASCII + elif all(isinstance(v, bytes) for v in values): + self.tagtype[tag] = TiffTags.BYTE + + if self.tagtype[tag] == TiffTags.UNDEFINED: + values = [ + v.encode("ascii", "replace") if isinstance(v, str) else v + for v in values + ] + elif self.tagtype[tag] == TiffTags.RATIONAL: + values = [float(v) if isinstance(v, int) else v for v in values] + + is_ifd = self.tagtype[tag] == TiffTags.LONG and isinstance(values, dict) + if not is_ifd: + values = tuple(info.cvt_enum(value) for value in values) + + dest = self._tags_v1 if legacy_api else self._tags_v2 + + # Three branches: + # Spec'd length == 1, Actual length 1, store as element + # Spec'd length == 1, Actual > 1, Warn and truncate. Formerly barfed. + # No Spec, Actual length 1, Formerly (<4.2) returned a 1 element tuple. + # Don't mess with the legacy api, since it's frozen. + if not is_ifd and ( + (info.length == 1) + or self.tagtype[tag] == TiffTags.BYTE + or (info.length is None and len(values) == 1 and not legacy_api) + ): + # Don't mess with the legacy api, since it's frozen. + if legacy_api and self.tagtype[tag] in [ + TiffTags.RATIONAL, + TiffTags.SIGNED_RATIONAL, + ]: # rationals + values = (values,) + try: + (dest[tag],) = values + except ValueError: + # We've got a builtin tag with 1 expected entry + warnings.warn( + f"Metadata Warning, tag {tag} had too many entries: " + f"{len(values)}, expected 1" + ) + dest[tag] = values[0] + + else: + # Spec'd length > 1 or undefined + # Unspec'd, and length > 1 + dest[tag] = values + + def __delitem__(self, tag: int) -> None: + self._tags_v2.pop(tag, None) + self._tags_v1.pop(tag, None) + self._tagdata.pop(tag, None) + + def __iter__(self) -> Iterator[int]: + return iter(set(self._tagdata) | set(self._tags_v2)) + + def _unpack(self, fmt: str, data: bytes) -> tuple[Any, ...]: + return struct.unpack(self._endian + fmt, data) + + def _pack(self, fmt: str, *values: Any) -> bytes: + return struct.pack(self._endian + fmt, *values) + + list( + map( + _register_basic, + [ + (TiffTags.SHORT, "H", "short"), + (TiffTags.LONG, "L", "long"), + (TiffTags.SIGNED_BYTE, "b", "signed byte"), + (TiffTags.SIGNED_SHORT, "h", "signed short"), + (TiffTags.SIGNED_LONG, "l", "signed long"), + (TiffTags.FLOAT, "f", "float"), + (TiffTags.DOUBLE, "d", "double"), + (TiffTags.IFD, "L", "long"), + (TiffTags.LONG8, "Q", "long8"), + ], + ) + ) + + @_register_loader(1, 1) # Basic type, except for the legacy API. + def load_byte(self, data: bytes, legacy_api: bool = True) -> bytes: + return data + + @_register_writer(1) # Basic type, except for the legacy API. + def write_byte(self, data: bytes | int | IFDRational) -> bytes: + if isinstance(data, IFDRational): + data = int(data) + if isinstance(data, int): + data = bytes((data,)) + return data + + @_register_loader(2, 1) + def load_string(self, data: bytes, legacy_api: bool = True) -> str: + if data.endswith(b"\0"): + data = data[:-1] + return data.decode("latin-1", "replace") + + @_register_writer(2) + def write_string(self, value: str | bytes | int) -> bytes: + # remerge of https://github.com/python-pillow/Pillow/pull/1416 + if isinstance(value, int): + value = str(value) + if not isinstance(value, bytes): + value = value.encode("ascii", "replace") + return value + b"\0" + + @_register_loader(5, 8) + def load_rational( + self, data: bytes, legacy_api: bool = True + ) -> tuple[tuple[int, int] | IFDRational, ...]: + vals = self._unpack(f"{len(data) // 4}L", data) + + def combine(a: int, b: int) -> tuple[int, int] | IFDRational: + return (a, b) if legacy_api else IFDRational(a, b) + + return tuple(combine(num, denom) for num, denom in zip(vals[::2], vals[1::2])) + + @_register_writer(5) + def write_rational(self, *values: IFDRational) -> bytes: + return b"".join( + self._pack("2L", *_limit_rational(frac, 2**32 - 1)) for frac in values + ) + + @_register_loader(7, 1) + def load_undefined(self, data: bytes, legacy_api: bool = True) -> bytes: + return data + + @_register_writer(7) + def write_undefined(self, value: bytes | int | IFDRational) -> bytes: + if isinstance(value, IFDRational): + value = int(value) + if isinstance(value, int): + value = str(value).encode("ascii", "replace") + return value + + @_register_loader(10, 8) + def load_signed_rational( + self, data: bytes, legacy_api: bool = True + ) -> tuple[tuple[int, int] | IFDRational, ...]: + vals = self._unpack(f"{len(data) // 4}l", data) + + def combine(a: int, b: int) -> tuple[int, int] | IFDRational: + return (a, b) if legacy_api else IFDRational(a, b) + + return tuple(combine(num, denom) for num, denom in zip(vals[::2], vals[1::2])) + + @_register_writer(10) + def write_signed_rational(self, *values: IFDRational) -> bytes: + return b"".join( + self._pack("2l", *_limit_signed_rational(frac, 2**31 - 1, -(2**31))) + for frac in values + ) + + def _ensure_read(self, fp: IO[bytes], size: int) -> bytes: + ret = fp.read(size) + if len(ret) != size: + msg = ( + "Corrupt EXIF data. " + f"Expecting to read {size} bytes but only got {len(ret)}. " + ) + raise OSError(msg) + return ret + + def load(self, fp: IO[bytes]) -> None: + self.reset() + self._offset = fp.tell() + + try: + tag_count = ( + self._unpack("Q", self._ensure_read(fp, 8)) + if self._bigtiff + else self._unpack("H", self._ensure_read(fp, 2)) + )[0] + for i in range(tag_count): + tag, typ, count, data = ( + self._unpack("HHQ8s", self._ensure_read(fp, 20)) + if self._bigtiff + else self._unpack("HHL4s", self._ensure_read(fp, 12)) + ) + + tagname = TiffTags.lookup(tag, self.group).name + typname = TYPES.get(typ, "unknown") + msg = f"tag: {tagname} ({tag}) - type: {typname} ({typ})" + + try: + unit_size, handler = self._load_dispatch[typ] + except KeyError: + logger.debug("%s - unsupported type %s", msg, typ) + continue # ignore unsupported type + size = count * unit_size + if size > (8 if self._bigtiff else 4): + here = fp.tell() + (offset,) = self._unpack("Q" if self._bigtiff else "L", data) + msg += f" Tag Location: {here} - Data Location: {offset}" + fp.seek(offset) + data = ImageFile._safe_read(fp, size) + fp.seek(here) + else: + data = data[:size] + + if len(data) != size: + warnings.warn( + "Possibly corrupt EXIF data. " + f"Expecting to read {size} bytes but only got {len(data)}." + f" Skipping tag {tag}" + ) + logger.debug(msg) + continue + + if not data: + logger.debug(msg) + continue + + self._tagdata[tag] = data + self.tagtype[tag] = typ + + msg += " - value: " + ( + "" % size if size > 32 else repr(data) + ) + logger.debug(msg) + + (self.next,) = ( + self._unpack("Q", self._ensure_read(fp, 8)) + if self._bigtiff + else self._unpack("L", self._ensure_read(fp, 4)) + ) + except OSError as msg: + warnings.warn(str(msg)) + return + + def tobytes(self, offset: int = 0) -> bytes: + # FIXME What about tagdata? + result = self._pack("H", len(self._tags_v2)) + + entries: list[tuple[int, int, int, bytes, bytes]] = [] + offset = offset + len(result) + len(self._tags_v2) * 12 + 4 + stripoffsets = None + + # pass 1: convert tags to binary format + # always write tags in ascending order + for tag, value in sorted(self._tags_v2.items()): + if tag == STRIPOFFSETS: + stripoffsets = len(entries) + typ = self.tagtype[tag] + logger.debug("Tag %s, Type: %s, Value: %s", tag, typ, repr(value)) + is_ifd = typ == TiffTags.LONG and isinstance(value, dict) + if is_ifd: + if self._endian == "<": + ifh = b"II\x2A\x00\x08\x00\x00\x00" + else: + ifh = b"MM\x00\x2A\x00\x00\x00\x08" + ifd = ImageFileDirectory_v2(ifh, group=tag) + values = self._tags_v2[tag] + for ifd_tag, ifd_value in values.items(): + ifd[ifd_tag] = ifd_value + data = ifd.tobytes(offset) + else: + values = value if isinstance(value, tuple) else (value,) + data = self._write_dispatch[typ](self, *values) + + tagname = TiffTags.lookup(tag, self.group).name + typname = "ifd" if is_ifd else TYPES.get(typ, "unknown") + msg = f"save: {tagname} ({tag}) - type: {typname} ({typ})" + msg += " - value: " + ( + "" % len(data) if len(data) >= 16 else str(values) + ) + logger.debug(msg) + + # count is sum of lengths for string and arbitrary data + if is_ifd: + count = 1 + elif typ in [TiffTags.BYTE, TiffTags.ASCII, TiffTags.UNDEFINED]: + count = len(data) + else: + count = len(values) + # figure out if data fits into the entry + if len(data) <= 4: + entries.append((tag, typ, count, data.ljust(4, b"\0"), b"")) + else: + entries.append((tag, typ, count, self._pack("L", offset), data)) + offset += (len(data) + 1) // 2 * 2 # pad to word + + # update strip offset data to point beyond auxiliary data + if stripoffsets is not None: + tag, typ, count, value, data = entries[stripoffsets] + if data: + size, handler = self._load_dispatch[typ] + values = [val + offset for val in handler(self, data, self.legacy_api)] + data = self._write_dispatch[typ](self, *values) + else: + value = self._pack("L", self._unpack("L", value)[0] + offset) + entries[stripoffsets] = tag, typ, count, value, data + + # pass 2: write entries to file + for tag, typ, count, value, data in entries: + logger.debug("%s %s %s %s %s", tag, typ, count, repr(value), repr(data)) + result += self._pack("HHL4s", tag, typ, count, value) + + # -- overwrite here for multi-page -- + result += b"\0\0\0\0" # end of entries + + # pass 3: write auxiliary data to file + for tag, typ, count, value, data in entries: + result += data + if len(data) & 1: + result += b"\0" + + return result + + def save(self, fp: IO[bytes]) -> int: + if fp.tell() == 0: # skip TIFF header on subsequent pages + # tiff header -- PIL always starts the first IFD at offset 8 + fp.write(self._prefix + self._pack("HL", 42, 8)) + + offset = fp.tell() + result = self.tobytes(offset) + fp.write(result) + return offset + len(result) + + +ImageFileDirectory_v2._load_dispatch = _load_dispatch +ImageFileDirectory_v2._write_dispatch = _write_dispatch +for idx, name in TYPES.items(): + name = name.replace(" ", "_") + setattr(ImageFileDirectory_v2, f"load_{name}", _load_dispatch[idx][1]) + setattr(ImageFileDirectory_v2, f"write_{name}", _write_dispatch[idx]) +del _load_dispatch, _write_dispatch, idx, name + + +# Legacy ImageFileDirectory support. +class ImageFileDirectory_v1(ImageFileDirectory_v2): + """This class represents the **legacy** interface to a TIFF tag directory. + + Exposes a dictionary interface of the tags in the directory:: + + ifd = ImageFileDirectory_v1() + ifd[key] = 'Some Data' + ifd.tagtype[key] = TiffTags.ASCII + print(ifd[key]) + ('Some Data',) + + Also contains a dictionary of tag types as read from the tiff image file, + :attr:`~PIL.TiffImagePlugin.ImageFileDirectory_v1.tagtype`. + + Values are returned as a tuple. + + .. deprecated:: 3.0.0 + """ + + def __init__(self, *args: Any, **kwargs: Any) -> None: + super().__init__(*args, **kwargs) + self._legacy_api = True + + tags = property(lambda self: self._tags_v1) + tagdata = property(lambda self: self._tagdata) + + # defined in ImageFileDirectory_v2 + tagtype: dict[int, int] + """Dictionary of tag types""" + + @classmethod + def from_v2(cls, original: ImageFileDirectory_v2) -> ImageFileDirectory_v1: + """Returns an + :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v1` + instance with the same data as is contained in the original + :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v2` + instance. + + :returns: :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v1` + + """ + + ifd = cls(prefix=original.prefix) + ifd._tagdata = original._tagdata + ifd.tagtype = original.tagtype + ifd.next = original.next # an indicator for multipage tiffs + return ifd + + def to_v2(self) -> ImageFileDirectory_v2: + """Returns an + :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v2` + instance with the same data as is contained in the original + :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v1` + instance. + + :returns: :py:class:`~PIL.TiffImagePlugin.ImageFileDirectory_v2` + + """ + + ifd = ImageFileDirectory_v2(prefix=self.prefix) + ifd._tagdata = dict(self._tagdata) + ifd.tagtype = dict(self.tagtype) + ifd._tags_v2 = dict(self._tags_v2) + return ifd + + def __contains__(self, tag: object) -> bool: + return tag in self._tags_v1 or tag in self._tagdata + + def __len__(self) -> int: + return len(set(self._tagdata) | set(self._tags_v1)) + + def __iter__(self) -> Iterator[int]: + return iter(set(self._tagdata) | set(self._tags_v1)) + + def __setitem__(self, tag: int, value: Any) -> None: + for legacy_api in (False, True): + self._setitem(tag, value, legacy_api) + + def __getitem__(self, tag: int) -> Any: + if tag not in self._tags_v1: # unpack on the fly + data = self._tagdata[tag] + typ = self.tagtype[tag] + size, handler = self._load_dispatch[typ] + for legacy in (False, True): + self._setitem(tag, handler(self, data, legacy), legacy) + val = self._tags_v1[tag] + if not isinstance(val, (tuple, bytes)): + val = (val,) + return val + + +# undone -- switch this pointer +ImageFileDirectory = ImageFileDirectory_v1 + + +## +# Image plugin for TIFF files. + + +class TiffImageFile(ImageFile.ImageFile): + format = "TIFF" + format_description = "Adobe TIFF" + _close_exclusive_fp_after_loading = False + + def __init__( + self, + fp: StrOrBytesPath | IO[bytes], + filename: str | bytes | None = None, + ) -> None: + self.tag_v2: ImageFileDirectory_v2 + """ Image file directory (tag dictionary) """ + + self.tag: ImageFileDirectory_v1 + """ Legacy tag entries """ + + super().__init__(fp, filename) + + def _open(self) -> None: + """Open the first image in a TIFF file""" + + # Header + ifh = self.fp.read(8) + if ifh[2] == 43: + ifh += self.fp.read(8) + + self.tag_v2 = ImageFileDirectory_v2(ifh) + + # setup frame pointers + self.__first = self.__next = self.tag_v2.next + self.__frame = -1 + self._fp = self.fp + self._frame_pos: list[int] = [] + self._n_frames: int | None = None + + logger.debug("*** TiffImageFile._open ***") + logger.debug("- __first: %s", self.__first) + logger.debug("- ifh: %s", repr(ifh)) # Use repr to avoid str(bytes) + + # and load the first frame + self._seek(0) + + @property + def n_frames(self) -> int: + current_n_frames = self._n_frames + if current_n_frames is None: + current = self.tell() + self._seek(len(self._frame_pos)) + while self._n_frames is None: + self._seek(self.tell() + 1) + self.seek(current) + assert self._n_frames is not None + return self._n_frames + + def seek(self, frame: int) -> None: + """Select a given frame as current image""" + if not self._seek_check(frame): + return + self._seek(frame) + if self._im is not None and ( + self.im.size != self._tile_size or self.im.mode != self.mode + ): + # The core image will no longer be used + self._im = None + + def _seek(self, frame: int) -> None: + self.fp = self._fp + + # reset buffered io handle in case fp + # was passed to libtiff, invalidating the buffer + self.fp.tell() + + while len(self._frame_pos) <= frame: + if not self.__next: + msg = "no more images in TIFF file" + raise EOFError(msg) + logger.debug( + "Seeking to frame %s, on frame %s, __next %s, location: %s", + frame, + self.__frame, + self.__next, + self.fp.tell(), + ) + if self.__next >= 2**63: + msg = "Unable to seek to frame" + raise ValueError(msg) + self.fp.seek(self.__next) + self._frame_pos.append(self.__next) + logger.debug("Loading tags, location: %s", self.fp.tell()) + self.tag_v2.load(self.fp) + if self.tag_v2.next in self._frame_pos: + # This IFD has already been processed + # Declare this to be the end of the image + self.__next = 0 + else: + self.__next = self.tag_v2.next + if self.__next == 0: + self._n_frames = frame + 1 + if len(self._frame_pos) == 1: + self.is_animated = self.__next != 0 + self.__frame += 1 + self.fp.seek(self._frame_pos[frame]) + self.tag_v2.load(self.fp) + if XMP in self.tag_v2: + self.info["xmp"] = self.tag_v2[XMP] + elif "xmp" in self.info: + del self.info["xmp"] + self._reload_exif() + # fill the legacy tag/ifd entries + self.tag = self.ifd = ImageFileDirectory_v1.from_v2(self.tag_v2) + self.__frame = frame + self._setup() + + def tell(self) -> int: + """Return the current frame number""" + return self.__frame + + def get_photoshop_blocks(self) -> dict[int, dict[str, bytes]]: + """ + Returns a dictionary of Photoshop "Image Resource Blocks". + The keys are the image resource ID. For more information, see + https://www.adobe.com/devnet-apps/photoshop/fileformatashtml/#50577409_pgfId-1037727 + + :returns: Photoshop "Image Resource Blocks" in a dictionary. + """ + blocks = {} + val = self.tag_v2.get(ExifTags.Base.ImageResources) + if val: + while val[:4] == b"8BIM": + id = i16(val[4:6]) + n = math.ceil((val[6] + 1) / 2) * 2 + size = i32(val[6 + n : 10 + n]) + data = val[10 + n : 10 + n + size] + blocks[id] = {"data": data} + + val = val[math.ceil((10 + n + size) / 2) * 2 :] + return blocks + + def load(self) -> Image.core.PixelAccess | None: + if self.tile and self.use_load_libtiff: + return self._load_libtiff() + return super().load() + + def load_prepare(self) -> None: + if self._im is None: + Image._decompression_bomb_check(self._tile_size) + self.im = Image.core.new(self.mode, self._tile_size) + ImageFile.ImageFile.load_prepare(self) + + def load_end(self) -> None: + # allow closing if we're on the first frame, there's no next + # This is the ImageFile.load path only, libtiff specific below. + if not self.is_animated: + self._close_exclusive_fp_after_loading = True + + # reset buffered io handle in case fp + # was passed to libtiff, invalidating the buffer + self.fp.tell() + + # load IFD data from fp before it is closed + exif = self.getexif() + for key in TiffTags.TAGS_V2_GROUPS: + if key not in exif: + continue + exif.get_ifd(key) + + ImageOps.exif_transpose(self, in_place=True) + if ExifTags.Base.Orientation in self.tag_v2: + del self.tag_v2[ExifTags.Base.Orientation] + + def _load_libtiff(self) -> Image.core.PixelAccess | None: + """Overload method triggered when we detect a compressed tiff + Calls out to libtiff""" + + Image.Image.load(self) + + self.load_prepare() + + if not len(self.tile) == 1: + msg = "Not exactly one tile" + raise OSError(msg) + + # (self._compression, (extents tuple), + # 0, (rawmode, self._compression, fp)) + extents = self.tile[0][1] + args = self.tile[0][3] + + # To be nice on memory footprint, if there's a + # file descriptor, use that instead of reading + # into a string in python. + try: + fp = hasattr(self.fp, "fileno") and self.fp.fileno() + # flush the file descriptor, prevents error on pypy 2.4+ + # should also eliminate the need for fp.tell + # in _seek + if hasattr(self.fp, "flush"): + self.fp.flush() + except OSError: + # io.BytesIO have a fileno, but returns an OSError if + # it doesn't use a file descriptor. + fp = False + + if fp: + assert isinstance(args, tuple) + args_list = list(args) + args_list[2] = fp + args = tuple(args_list) + + decoder = Image._getdecoder(self.mode, "libtiff", args, self.decoderconfig) + try: + decoder.setimage(self.im, extents) + except ValueError as e: + msg = "Couldn't set the image" + raise OSError(msg) from e + + close_self_fp = self._exclusive_fp and not self.is_animated + if hasattr(self.fp, "getvalue"): + # We've got a stringio like thing passed in. Yay for all in memory. + # The decoder needs the entire file in one shot, so there's not + # a lot we can do here other than give it the entire file. + # unless we could do something like get the address of the + # underlying string for stringio. + # + # Rearranging for supporting byteio items, since they have a fileno + # that returns an OSError if there's no underlying fp. Easier to + # deal with here by reordering. + logger.debug("have getvalue. just sending in a string from getvalue") + n, err = decoder.decode(self.fp.getvalue()) + elif fp: + # we've got a actual file on disk, pass in the fp. + logger.debug("have fileno, calling fileno version of the decoder.") + if not close_self_fp: + self.fp.seek(0) + # 4 bytes, otherwise the trace might error out + n, err = decoder.decode(b"fpfp") + else: + # we have something else. + logger.debug("don't have fileno or getvalue. just reading") + self.fp.seek(0) + # UNDONE -- so much for that buffer size thing. + n, err = decoder.decode(self.fp.read()) + + self.tile = [] + self.readonly = 0 + + self.load_end() + + if close_self_fp: + self.fp.close() + self.fp = None # might be shared + + if err < 0: + raise OSError(err) + + return Image.Image.load(self) + + def _setup(self) -> None: + """Setup this image object based on current tags""" + + if 0xBC01 in self.tag_v2: + msg = "Windows Media Photo files not yet supported" + raise OSError(msg) + + # extract relevant tags + self._compression = COMPRESSION_INFO[self.tag_v2.get(COMPRESSION, 1)] + self._planar_configuration = self.tag_v2.get(PLANAR_CONFIGURATION, 1) + + # photometric is a required tag, but not everyone is reading + # the specification + photo = self.tag_v2.get(PHOTOMETRIC_INTERPRETATION, 0) + + # old style jpeg compression images most certainly are YCbCr + if self._compression == "tiff_jpeg": + photo = 6 + + fillorder = self.tag_v2.get(FILLORDER, 1) + + logger.debug("*** Summary ***") + logger.debug("- compression: %s", self._compression) + logger.debug("- photometric_interpretation: %s", photo) + logger.debug("- planar_configuration: %s", self._planar_configuration) + logger.debug("- fill_order: %s", fillorder) + logger.debug("- YCbCr subsampling: %s", self.tag_v2.get(YCBCRSUBSAMPLING)) + + # size + xsize = self.tag_v2.get(IMAGEWIDTH) + ysize = self.tag_v2.get(IMAGELENGTH) + if not isinstance(xsize, int) or not isinstance(ysize, int): + msg = "Invalid dimensions" + raise ValueError(msg) + self._tile_size = xsize, ysize + orientation = self.tag_v2.get(ExifTags.Base.Orientation) + if orientation in (5, 6, 7, 8): + self._size = ysize, xsize + else: + self._size = xsize, ysize + + logger.debug("- size: %s", self.size) + + sample_format = self.tag_v2.get(SAMPLEFORMAT, (1,)) + if len(sample_format) > 1 and max(sample_format) == min(sample_format) == 1: + # SAMPLEFORMAT is properly per band, so an RGB image will + # be (1,1,1). But, we don't support per band pixel types, + # and anything more than one band is a uint8. So, just + # take the first element. Revisit this if adding support + # for more exotic images. + sample_format = (1,) + + bps_tuple = self.tag_v2.get(BITSPERSAMPLE, (1,)) + extra_tuple = self.tag_v2.get(EXTRASAMPLES, ()) + if photo in (2, 6, 8): # RGB, YCbCr, LAB + bps_count = 3 + elif photo == 5: # CMYK + bps_count = 4 + else: + bps_count = 1 + bps_count += len(extra_tuple) + bps_actual_count = len(bps_tuple) + samples_per_pixel = self.tag_v2.get( + SAMPLESPERPIXEL, + 3 if self._compression == "tiff_jpeg" and photo in (2, 6) else 1, + ) + + if samples_per_pixel > MAX_SAMPLESPERPIXEL: + # DOS check, samples_per_pixel can be a Long, and we extend the tuple below + logger.error( + "More samples per pixel than can be decoded: %s", samples_per_pixel + ) + msg = "Invalid value for samples per pixel" + raise SyntaxError(msg) + + if samples_per_pixel < bps_actual_count: + # If a file has more values in bps_tuple than expected, + # remove the excess. + bps_tuple = bps_tuple[:samples_per_pixel] + elif samples_per_pixel > bps_actual_count and bps_actual_count == 1: + # If a file has only one value in bps_tuple, when it should have more, + # presume it is the same number of bits for all of the samples. + bps_tuple = bps_tuple * samples_per_pixel + + if len(bps_tuple) != samples_per_pixel: + msg = "unknown data organization" + raise SyntaxError(msg) + + # mode: check photometric interpretation and bits per pixel + key = ( + self.tag_v2.prefix, + photo, + sample_format, + fillorder, + bps_tuple, + extra_tuple, + ) + logger.debug("format key: %s", key) + try: + self._mode, rawmode = OPEN_INFO[key] + except KeyError as e: + logger.debug("- unsupported format") + msg = "unknown pixel mode" + raise SyntaxError(msg) from e + + logger.debug("- raw mode: %s", rawmode) + logger.debug("- pil mode: %s", self.mode) + + self.info["compression"] = self._compression + + xres = self.tag_v2.get(X_RESOLUTION, 1) + yres = self.tag_v2.get(Y_RESOLUTION, 1) + + if xres and yres: + resunit = self.tag_v2.get(RESOLUTION_UNIT) + if resunit == 2: # dots per inch + self.info["dpi"] = (xres, yres) + elif resunit == 3: # dots per centimeter. convert to dpi + self.info["dpi"] = (xres * 2.54, yres * 2.54) + elif resunit is None: # used to default to 1, but now 2) + self.info["dpi"] = (xres, yres) + # For backward compatibility, + # we also preserve the old behavior + self.info["resolution"] = xres, yres + else: # No absolute unit of measurement + self.info["resolution"] = xres, yres + + # build tile descriptors + x = y = layer = 0 + self.tile = [] + self.use_load_libtiff = READ_LIBTIFF or self._compression != "raw" + if self.use_load_libtiff: + # Decoder expects entire file as one tile. + # There's a buffer size limit in load (64k) + # so large g4 images will fail if we use that + # function. + # + # Setup the one tile for the whole image, then + # use the _load_libtiff function. + + # libtiff handles the fillmode for us, so 1;IR should + # actually be 1;I. Including the R double reverses the + # bits, so stripes of the image are reversed. See + # https://github.com/python-pillow/Pillow/issues/279 + if fillorder == 2: + # Replace fillorder with fillorder=1 + key = key[:3] + (1,) + key[4:] + logger.debug("format key: %s", key) + # this should always work, since all the + # fillorder==2 modes have a corresponding + # fillorder=1 mode + self._mode, rawmode = OPEN_INFO[key] + # libtiff always returns the bytes in native order. + # we're expecting image byte order. So, if the rawmode + # contains I;16, we need to convert from native to image + # byte order. + if rawmode == "I;16": + rawmode = "I;16N" + if ";16B" in rawmode: + rawmode = rawmode.replace(";16B", ";16N") + if ";16L" in rawmode: + rawmode = rawmode.replace(";16L", ";16N") + + # YCbCr images with new jpeg compression with pixels in one plane + # unpacked straight into RGB values + if ( + photo == 6 + and self._compression == "jpeg" + and self._planar_configuration == 1 + ): + rawmode = "RGB" + + # Offset in the tile tuple is 0, we go from 0,0 to + # w,h, and we only do this once -- eds + a = (rawmode, self._compression, False, self.tag_v2.offset) + self.tile.append(ImageFile._Tile("libtiff", (0, 0, xsize, ysize), 0, a)) + + elif STRIPOFFSETS in self.tag_v2 or TILEOFFSETS in self.tag_v2: + # striped image + if STRIPOFFSETS in self.tag_v2: + offsets = self.tag_v2[STRIPOFFSETS] + h = self.tag_v2.get(ROWSPERSTRIP, ysize) + w = xsize + else: + # tiled image + offsets = self.tag_v2[TILEOFFSETS] + tilewidth = self.tag_v2.get(TILEWIDTH) + h = self.tag_v2.get(TILELENGTH) + if not isinstance(tilewidth, int) or not isinstance(h, int): + msg = "Invalid tile dimensions" + raise ValueError(msg) + w = tilewidth + + for offset in offsets: + if x + w > xsize: + stride = w * sum(bps_tuple) / 8 # bytes per line + else: + stride = 0 + + tile_rawmode = rawmode + if self._planar_configuration == 2: + # each band on it's own layer + tile_rawmode = rawmode[layer] + # adjust stride width accordingly + stride /= bps_count + + args = (tile_rawmode, int(stride), 1) + self.tile.append( + ImageFile._Tile( + self._compression, + (x, y, min(x + w, xsize), min(y + h, ysize)), + offset, + args, + ) + ) + x = x + w + if x >= xsize: + x, y = 0, y + h + if y >= ysize: + x = y = 0 + layer += 1 + else: + logger.debug("- unsupported data organization") + msg = "unknown data organization" + raise SyntaxError(msg) + + # Fix up info. + if ICCPROFILE in self.tag_v2: + self.info["icc_profile"] = self.tag_v2[ICCPROFILE] + + # fixup palette descriptor + + if self.mode in ["P", "PA"]: + palette = [o8(b // 256) for b in self.tag_v2[COLORMAP]] + self.palette = ImagePalette.raw("RGB;L", b"".join(palette)) + + +# +# -------------------------------------------------------------------- +# Write TIFF files + +# little endian is default except for image modes with +# explicit big endian byte-order + +SAVE_INFO = { + # mode => rawmode, byteorder, photometrics, + # sampleformat, bitspersample, extra + "1": ("1", II, 1, 1, (1,), None), + "L": ("L", II, 1, 1, (8,), None), + "LA": ("LA", II, 1, 1, (8, 8), 2), + "P": ("P", II, 3, 1, (8,), None), + "PA": ("PA", II, 3, 1, (8, 8), 2), + "I": ("I;32S", II, 1, 2, (32,), None), + "I;16": ("I;16", II, 1, 1, (16,), None), + "I;16S": ("I;16S", II, 1, 2, (16,), None), + "F": ("F;32F", II, 1, 3, (32,), None), + "RGB": ("RGB", II, 2, 1, (8, 8, 8), None), + "RGBX": ("RGBX", II, 2, 1, (8, 8, 8, 8), 0), + "RGBA": ("RGBA", II, 2, 1, (8, 8, 8, 8), 2), + "CMYK": ("CMYK", II, 5, 1, (8, 8, 8, 8), None), + "YCbCr": ("YCbCr", II, 6, 1, (8, 8, 8), None), + "LAB": ("LAB", II, 8, 1, (8, 8, 8), None), + "I;32BS": ("I;32BS", MM, 1, 2, (32,), None), + "I;16B": ("I;16B", MM, 1, 1, (16,), None), + "I;16BS": ("I;16BS", MM, 1, 2, (16,), None), + "F;32BF": ("F;32BF", MM, 1, 3, (32,), None), +} + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + try: + rawmode, prefix, photo, format, bits, extra = SAVE_INFO[im.mode] + except KeyError as e: + msg = f"cannot write mode {im.mode} as TIFF" + raise OSError(msg) from e + + ifd = ImageFileDirectory_v2(prefix=prefix) + + encoderinfo = im.encoderinfo + encoderconfig = im.encoderconfig + try: + compression = encoderinfo["compression"] + except KeyError: + compression = im.info.get("compression") + if isinstance(compression, int): + # compression value may be from BMP. Ignore it + compression = None + if compression is None: + compression = "raw" + elif compression == "tiff_jpeg": + # OJPEG is obsolete, so use new-style JPEG compression instead + compression = "jpeg" + elif compression == "tiff_deflate": + compression = "tiff_adobe_deflate" + + libtiff = WRITE_LIBTIFF or compression != "raw" + + # required for color libtiff images + ifd[PLANAR_CONFIGURATION] = 1 + + ifd[IMAGEWIDTH] = im.size[0] + ifd[IMAGELENGTH] = im.size[1] + + # write any arbitrary tags passed in as an ImageFileDirectory + if "tiffinfo" in encoderinfo: + info = encoderinfo["tiffinfo"] + elif "exif" in encoderinfo: + info = encoderinfo["exif"] + if isinstance(info, bytes): + exif = Image.Exif() + exif.load(info) + info = exif + else: + info = {} + logger.debug("Tiffinfo Keys: %s", list(info)) + if isinstance(info, ImageFileDirectory_v1): + info = info.to_v2() + for key in info: + if isinstance(info, Image.Exif) and key in TiffTags.TAGS_V2_GROUPS: + ifd[key] = info.get_ifd(key) + else: + ifd[key] = info.get(key) + try: + ifd.tagtype[key] = info.tagtype[key] + except Exception: + pass # might not be an IFD. Might not have populated type + + legacy_ifd = {} + if hasattr(im, "tag"): + legacy_ifd = im.tag.to_v2() + + supplied_tags = {**legacy_ifd, **getattr(im, "tag_v2", {})} + for tag in ( + # IFD offset that may not be correct in the saved image + EXIFIFD, + # Determined by the image format and should not be copied from legacy_ifd. + SAMPLEFORMAT, + ): + if tag in supplied_tags: + del supplied_tags[tag] + + # additions written by Greg Couch, gregc@cgl.ucsf.edu + # inspired by image-sig posting from Kevin Cazabon, kcazabon@home.com + if hasattr(im, "tag_v2"): + # preserve tags from original TIFF image file + for key in ( + RESOLUTION_UNIT, + X_RESOLUTION, + Y_RESOLUTION, + IPTC_NAA_CHUNK, + PHOTOSHOP_CHUNK, + XMP, + ): + if key in im.tag_v2: + if key == IPTC_NAA_CHUNK and im.tag_v2.tagtype[key] not in ( + TiffTags.BYTE, + TiffTags.UNDEFINED, + ): + del supplied_tags[key] + else: + ifd[key] = im.tag_v2[key] + ifd.tagtype[key] = im.tag_v2.tagtype[key] + + # preserve ICC profile (should also work when saving other formats + # which support profiles as TIFF) -- 2008-06-06 Florian Hoech + icc = encoderinfo.get("icc_profile", im.info.get("icc_profile")) + if icc: + ifd[ICCPROFILE] = icc + + for key, name in [ + (IMAGEDESCRIPTION, "description"), + (X_RESOLUTION, "resolution"), + (Y_RESOLUTION, "resolution"), + (X_RESOLUTION, "x_resolution"), + (Y_RESOLUTION, "y_resolution"), + (RESOLUTION_UNIT, "resolution_unit"), + (SOFTWARE, "software"), + (DATE_TIME, "date_time"), + (ARTIST, "artist"), + (COPYRIGHT, "copyright"), + ]: + if name in encoderinfo: + ifd[key] = encoderinfo[name] + + dpi = encoderinfo.get("dpi") + if dpi: + ifd[RESOLUTION_UNIT] = 2 + ifd[X_RESOLUTION] = dpi[0] + ifd[Y_RESOLUTION] = dpi[1] + + if bits != (1,): + ifd[BITSPERSAMPLE] = bits + if len(bits) != 1: + ifd[SAMPLESPERPIXEL] = len(bits) + if extra is not None: + ifd[EXTRASAMPLES] = extra + if format != 1: + ifd[SAMPLEFORMAT] = format + + if PHOTOMETRIC_INTERPRETATION not in ifd: + ifd[PHOTOMETRIC_INTERPRETATION] = photo + elif im.mode in ("1", "L") and ifd[PHOTOMETRIC_INTERPRETATION] == 0: + if im.mode == "1": + inverted_im = im.copy() + px = inverted_im.load() + if px is not None: + for y in range(inverted_im.height): + for x in range(inverted_im.width): + px[x, y] = 0 if px[x, y] == 255 else 255 + im = inverted_im + else: + im = ImageOps.invert(im) + + if im.mode in ["P", "PA"]: + lut = im.im.getpalette("RGB", "RGB;L") + colormap = [] + colors = len(lut) // 3 + for i in range(3): + colormap += [v * 256 for v in lut[colors * i : colors * (i + 1)]] + colormap += [0] * (256 - colors) + ifd[COLORMAP] = colormap + # data orientation + w, h = ifd[IMAGEWIDTH], ifd[IMAGELENGTH] + stride = len(bits) * ((w * bits[0] + 7) // 8) + if ROWSPERSTRIP not in ifd: + # aim for given strip size (64 KB by default) when using libtiff writer + if libtiff: + im_strip_size = encoderinfo.get("strip_size", STRIP_SIZE) + rows_per_strip = 1 if stride == 0 else min(im_strip_size // stride, h) + # JPEG encoder expects multiple of 8 rows + if compression == "jpeg": + rows_per_strip = min(((rows_per_strip + 7) // 8) * 8, h) + else: + rows_per_strip = h + if rows_per_strip == 0: + rows_per_strip = 1 + ifd[ROWSPERSTRIP] = rows_per_strip + strip_byte_counts = 1 if stride == 0 else stride * ifd[ROWSPERSTRIP] + strips_per_image = (h + ifd[ROWSPERSTRIP] - 1) // ifd[ROWSPERSTRIP] + if strip_byte_counts >= 2**16: + ifd.tagtype[STRIPBYTECOUNTS] = TiffTags.LONG + ifd[STRIPBYTECOUNTS] = (strip_byte_counts,) * (strips_per_image - 1) + ( + stride * h - strip_byte_counts * (strips_per_image - 1), + ) + ifd[STRIPOFFSETS] = tuple( + range(0, strip_byte_counts * strips_per_image, strip_byte_counts) + ) # this is adjusted by IFD writer + # no compression by default: + ifd[COMPRESSION] = COMPRESSION_INFO_REV.get(compression, 1) + + if im.mode == "YCbCr": + for tag, default_value in { + YCBCRSUBSAMPLING: (1, 1), + REFERENCEBLACKWHITE: (0, 255, 128, 255, 128, 255), + }.items(): + ifd.setdefault(tag, default_value) + + blocklist = [TILEWIDTH, TILELENGTH, TILEOFFSETS, TILEBYTECOUNTS] + if libtiff: + if "quality" in encoderinfo: + quality = encoderinfo["quality"] + if not isinstance(quality, int) or quality < 0 or quality > 100: + msg = "Invalid quality setting" + raise ValueError(msg) + if compression != "jpeg": + msg = "quality setting only supported for 'jpeg' compression" + raise ValueError(msg) + ifd[JPEGQUALITY] = quality + + logger.debug("Saving using libtiff encoder") + logger.debug("Items: %s", sorted(ifd.items())) + _fp = 0 + if hasattr(fp, "fileno"): + try: + fp.seek(0) + _fp = fp.fileno() + except io.UnsupportedOperation: + pass + + # optional types for non core tags + types = {} + # STRIPOFFSETS and STRIPBYTECOUNTS are added by the library + # based on the data in the strip. + # OSUBFILETYPE is deprecated. + # The other tags expect arrays with a certain length (fixed or depending on + # BITSPERSAMPLE, etc), passing arrays with a different length will result in + # segfaults. Block these tags until we add extra validation. + # SUBIFD may also cause a segfault. + blocklist += [ + OSUBFILETYPE, + REFERENCEBLACKWHITE, + STRIPBYTECOUNTS, + STRIPOFFSETS, + TRANSFERFUNCTION, + SUBIFD, + ] + + # bits per sample is a single short in the tiff directory, not a list. + atts: dict[int, Any] = {BITSPERSAMPLE: bits[0]} + # Merge the ones that we have with (optional) more bits from + # the original file, e.g x,y resolution so that we can + # save(load('')) == original file. + for tag, value in itertools.chain(ifd.items(), supplied_tags.items()): + # Libtiff can only process certain core items without adding + # them to the custom dictionary. + # Custom items are supported for int, float, unicode, string and byte + # values. Other types and tuples require a tagtype. + if tag not in TiffTags.LIBTIFF_CORE: + if not getattr(Image.core, "libtiff_support_custom_tags", False): + continue + + if tag in ifd.tagtype: + types[tag] = ifd.tagtype[tag] + elif not (isinstance(value, (int, float, str, bytes))): + continue + else: + type = TiffTags.lookup(tag).type + if type: + types[tag] = type + if tag not in atts and tag not in blocklist: + if isinstance(value, str): + atts[tag] = value.encode("ascii", "replace") + b"\0" + elif isinstance(value, IFDRational): + atts[tag] = float(value) + else: + atts[tag] = value + + if SAMPLEFORMAT in atts and len(atts[SAMPLEFORMAT]) == 1: + atts[SAMPLEFORMAT] = atts[SAMPLEFORMAT][0] + + logger.debug("Converted items: %s", sorted(atts.items())) + + # libtiff always expects the bytes in native order. + # we're storing image byte order. So, if the rawmode + # contains I;16, we need to convert from native to image + # byte order. + if im.mode in ("I;16B", "I;16"): + rawmode = "I;16N" + + # Pass tags as sorted list so that the tags are set in a fixed order. + # This is required by libtiff for some tags. For example, the JPEGQUALITY + # pseudo tag requires that the COMPRESS tag was already set. + tags = list(atts.items()) + tags.sort() + a = (rawmode, compression, _fp, filename, tags, types) + encoder = Image._getencoder(im.mode, "libtiff", a, encoderconfig) + encoder.setimage(im.im, (0, 0) + im.size) + while True: + errcode, data = encoder.encode(ImageFile.MAXBLOCK)[1:] + if not _fp: + fp.write(data) + if errcode: + break + if errcode < 0: + msg = f"encoder error {errcode} when writing image file" + raise OSError(msg) + + else: + for tag in blocklist: + del ifd[tag] + offset = ifd.save(fp) + + ImageFile._save( + im, + fp, + [ImageFile._Tile("raw", (0, 0) + im.size, offset, (rawmode, stride, 1))], + ) + + # -- helper for multi-page save -- + if "_debug_multipage" in encoderinfo: + # just to access o32 and o16 (using correct byte order) + setattr(im, "_debug_multipage", ifd) + + +class AppendingTiffWriter(io.BytesIO): + fieldSizes = [ + 0, # None + 1, # byte + 1, # ascii + 2, # short + 4, # long + 8, # rational + 1, # sbyte + 1, # undefined + 2, # sshort + 4, # slong + 8, # srational + 4, # float + 8, # double + 4, # ifd + 2, # unicode + 4, # complex + 8, # long8 + ] + + Tags = { + 273, # StripOffsets + 288, # FreeOffsets + 324, # TileOffsets + 519, # JPEGQTables + 520, # JPEGDCTables + 521, # JPEGACTables + } + + def __init__(self, fn: StrOrBytesPath | IO[bytes], new: bool = False) -> None: + self.f: IO[bytes] + if is_path(fn): + self.name = fn + self.close_fp = True + try: + self.f = open(fn, "w+b" if new else "r+b") + except OSError: + self.f = open(fn, "w+b") + else: + self.f = cast(IO[bytes], fn) + self.close_fp = False + self.beginning = self.f.tell() + self.setup() + + def setup(self) -> None: + # Reset everything. + self.f.seek(self.beginning, os.SEEK_SET) + + self.whereToWriteNewIFDOffset: int | None = None + self.offsetOfNewPage = 0 + + self.IIMM = iimm = self.f.read(4) + if not iimm: + # empty file - first page + self.isFirst = True + return + + self.isFirst = False + if iimm == b"II\x2a\x00": + self.setEndian("<") + elif iimm == b"MM\x00\x2a": + self.setEndian(">") + else: + msg = "Invalid TIFF file header" + raise RuntimeError(msg) + + self.skipIFDs() + self.goToEnd() + + def finalize(self) -> None: + if self.isFirst: + return + + # fix offsets + self.f.seek(self.offsetOfNewPage) + + iimm = self.f.read(4) + if not iimm: + # Make it easy to finish a frame without committing to a new one. + return + + if iimm != self.IIMM: + msg = "IIMM of new page doesn't match IIMM of first page" + raise RuntimeError(msg) + + ifd_offset = self.readLong() + ifd_offset += self.offsetOfNewPage + assert self.whereToWriteNewIFDOffset is not None + self.f.seek(self.whereToWriteNewIFDOffset) + self.writeLong(ifd_offset) + self.f.seek(ifd_offset) + self.fixIFD() + + def newFrame(self) -> None: + # Call this to finish a frame. + self.finalize() + self.setup() + + def __enter__(self) -> AppendingTiffWriter: + return self + + def __exit__(self, *args: object) -> None: + if self.close_fp: + self.close() + + def tell(self) -> int: + return self.f.tell() - self.offsetOfNewPage + + def seek(self, offset: int, whence: int = io.SEEK_SET) -> int: + """ + :param offset: Distance to seek. + :param whence: Whether the distance is relative to the start, + end or current position. + :returns: The resulting position, relative to the start. + """ + if whence == os.SEEK_SET: + offset += self.offsetOfNewPage + + self.f.seek(offset, whence) + return self.tell() + + def goToEnd(self) -> None: + self.f.seek(0, os.SEEK_END) + pos = self.f.tell() + + # pad to 16 byte boundary + pad_bytes = 16 - pos % 16 + if 0 < pad_bytes < 16: + self.f.write(bytes(pad_bytes)) + self.offsetOfNewPage = self.f.tell() + + def setEndian(self, endian: str) -> None: + self.endian = endian + self.longFmt = f"{self.endian}L" + self.shortFmt = f"{self.endian}H" + self.tagFormat = f"{self.endian}HHL" + + def skipIFDs(self) -> None: + while True: + ifd_offset = self.readLong() + if ifd_offset == 0: + self.whereToWriteNewIFDOffset = self.f.tell() - 4 + break + + self.f.seek(ifd_offset) + num_tags = self.readShort() + self.f.seek(num_tags * 12, os.SEEK_CUR) + + def write(self, data: Buffer, /) -> int: + return self.f.write(data) + + def _fmt(self, field_size: int) -> str: + try: + return {2: "H", 4: "L", 8: "Q"}[field_size] + except KeyError: + msg = "offset is not supported" + raise RuntimeError(msg) + + def _read(self, field_size: int) -> int: + (value,) = struct.unpack( + self.endian + self._fmt(field_size), self.f.read(field_size) + ) + return value + + def readShort(self) -> int: + return self._read(2) + + def readLong(self) -> int: + return self._read(4) + + @staticmethod + def _verify_bytes_written(bytes_written: int | None, expected: int) -> None: + if bytes_written is not None and bytes_written != expected: + msg = f"wrote only {bytes_written} bytes but wanted {expected}" + raise RuntimeError(msg) + + def rewriteLastShortToLong(self, value: int) -> None: + self.f.seek(-2, os.SEEK_CUR) + bytes_written = self.f.write(struct.pack(self.longFmt, value)) + self._verify_bytes_written(bytes_written, 4) + + def _rewriteLast(self, value: int, field_size: int) -> None: + self.f.seek(-field_size, os.SEEK_CUR) + bytes_written = self.f.write( + struct.pack(self.endian + self._fmt(field_size), value) + ) + self._verify_bytes_written(bytes_written, field_size) + + def rewriteLastShort(self, value: int) -> None: + return self._rewriteLast(value, 2) + + def rewriteLastLong(self, value: int) -> None: + return self._rewriteLast(value, 4) + + def writeShort(self, value: int) -> None: + bytes_written = self.f.write(struct.pack(self.shortFmt, value)) + self._verify_bytes_written(bytes_written, 2) + + def writeLong(self, value: int) -> None: + bytes_written = self.f.write(struct.pack(self.longFmt, value)) + self._verify_bytes_written(bytes_written, 4) + + def close(self) -> None: + self.finalize() + if self.close_fp: + self.f.close() + + def fixIFD(self) -> None: + num_tags = self.readShort() + + for i in range(num_tags): + tag, field_type, count = struct.unpack(self.tagFormat, self.f.read(8)) + + field_size = self.fieldSizes[field_type] + total_size = field_size * count + is_local = total_size <= 4 + if not is_local: + offset = self.readLong() + self.offsetOfNewPage + self.rewriteLastLong(offset) + + if tag in self.Tags: + cur_pos = self.f.tell() + + if is_local: + self._fixOffsets(count, field_size) + self.f.seek(cur_pos + 4) + else: + self.f.seek(offset) + self._fixOffsets(count, field_size) + self.f.seek(cur_pos) + + elif is_local: + # skip the locally stored value that is not an offset + self.f.seek(4, os.SEEK_CUR) + + def _fixOffsets(self, count: int, field_size: int) -> None: + for i in range(count): + offset = self._read(field_size) + offset += self.offsetOfNewPage + if field_size == 2 and offset >= 65536: + # offset is now too large - we must convert shorts to longs + if count != 1: + msg = "not implemented" + raise RuntimeError(msg) # XXX TODO + + # simple case - the offset is just one and therefore it is + # local (not referenced with another offset) + self.rewriteLastShortToLong(offset) + self.f.seek(-10, os.SEEK_CUR) + self.writeShort(TiffTags.LONG) # rewrite the type to LONG + self.f.seek(8, os.SEEK_CUR) + else: + self._rewriteLast(offset, field_size) + + def fixOffsets( + self, count: int, isShort: bool = False, isLong: bool = False + ) -> None: + if isShort: + field_size = 2 + elif isLong: + field_size = 4 + else: + field_size = 0 + return self._fixOffsets(count, field_size) + + +def _save_all(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + encoderinfo = im.encoderinfo.copy() + encoderconfig = im.encoderconfig + append_images = list(encoderinfo.get("append_images", [])) + if not hasattr(im, "n_frames") and not append_images: + return _save(im, fp, filename) + + cur_idx = im.tell() + try: + with AppendingTiffWriter(fp) as tf: + for ims in [im] + append_images: + ims.encoderinfo = encoderinfo + ims.encoderconfig = encoderconfig + if not hasattr(ims, "n_frames"): + nfr = 1 + else: + nfr = ims.n_frames + + for idx in range(nfr): + ims.seek(idx) + ims.load() + _save(ims, tf, filename) + tf.newFrame() + finally: + im.seek(cur_idx) + + +# +# -------------------------------------------------------------------- +# Register + +Image.register_open(TiffImageFile.format, TiffImageFile, _accept) +Image.register_save(TiffImageFile.format, _save) +Image.register_save_all(TiffImageFile.format, _save_all) + +Image.register_extensions(TiffImageFile.format, [".tif", ".tiff"]) + +Image.register_mime(TiffImageFile.format, "image/tiff") diff --git a/gestao_raul/Lib/site-packages/PIL/TiffTags.py b/gestao_raul/Lib/site-packages/PIL/TiffTags.py new file mode 100644 index 0000000..86adaa4 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/TiffTags.py @@ -0,0 +1,562 @@ +# +# The Python Imaging Library. +# $Id$ +# +# TIFF tags +# +# This module provides clear-text names for various well-known +# TIFF tags. the TIFF codec works just fine without it. +# +# Copyright (c) Secret Labs AB 1999. +# +# See the README file for information on usage and redistribution. +# + +## +# This module provides constants and clear-text names for various +# well-known TIFF tags. +## +from __future__ import annotations + +from typing import NamedTuple + + +class _TagInfo(NamedTuple): + value: int | None + name: str + type: int | None + length: int | None + enum: dict[str, int] + + +class TagInfo(_TagInfo): + __slots__: list[str] = [] + + def __new__( + cls, + value: int | None = None, + name: str = "unknown", + type: int | None = None, + length: int | None = None, + enum: dict[str, int] | None = None, + ) -> TagInfo: + return super().__new__(cls, value, name, type, length, enum or {}) + + def cvt_enum(self, value: str) -> int | str: + # Using get will call hash(value), which can be expensive + # for some types (e.g. Fraction). Since self.enum is rarely + # used, it's usually better to test it first. + return self.enum.get(value, value) if self.enum else value + + +def lookup(tag: int, group: int | None = None) -> TagInfo: + """ + :param tag: Integer tag number + :param group: Which :py:data:`~PIL.TiffTags.TAGS_V2_GROUPS` to look in + + .. versionadded:: 8.3.0 + + :returns: Taginfo namedtuple, From the ``TAGS_V2`` info if possible, + otherwise just populating the value and name from ``TAGS``. + If the tag is not recognized, "unknown" is returned for the name + + """ + + if group is not None: + info = TAGS_V2_GROUPS[group].get(tag) if group in TAGS_V2_GROUPS else None + else: + info = TAGS_V2.get(tag) + return info or TagInfo(tag, TAGS.get(tag, "unknown")) + + +## +# Map tag numbers to tag info. +# +# id: (Name, Type, Length[, enum_values]) +# +# The length here differs from the length in the tiff spec. For +# numbers, the tiff spec is for the number of fields returned. We +# agree here. For string-like types, the tiff spec uses the length of +# field in bytes. In Pillow, we are using the number of expected +# fields, in general 1 for string-like types. + + +BYTE = 1 +ASCII = 2 +SHORT = 3 +LONG = 4 +RATIONAL = 5 +SIGNED_BYTE = 6 +UNDEFINED = 7 +SIGNED_SHORT = 8 +SIGNED_LONG = 9 +SIGNED_RATIONAL = 10 +FLOAT = 11 +DOUBLE = 12 +IFD = 13 +LONG8 = 16 + +_tags_v2: dict[int, tuple[str, int, int] | tuple[str, int, int, dict[str, int]]] = { + 254: ("NewSubfileType", LONG, 1), + 255: ("SubfileType", SHORT, 1), + 256: ("ImageWidth", LONG, 1), + 257: ("ImageLength", LONG, 1), + 258: ("BitsPerSample", SHORT, 0), + 259: ( + "Compression", + SHORT, + 1, + { + "Uncompressed": 1, + "CCITT 1d": 2, + "Group 3 Fax": 3, + "Group 4 Fax": 4, + "LZW": 5, + "JPEG": 6, + "PackBits": 32773, + }, + ), + 262: ( + "PhotometricInterpretation", + SHORT, + 1, + { + "WhiteIsZero": 0, + "BlackIsZero": 1, + "RGB": 2, + "RGB Palette": 3, + "Transparency Mask": 4, + "CMYK": 5, + "YCbCr": 6, + "CieLAB": 8, + "CFA": 32803, # TIFF/EP, Adobe DNG + "LinearRaw": 32892, # Adobe DNG + }, + ), + 263: ("Threshholding", SHORT, 1), + 264: ("CellWidth", SHORT, 1), + 265: ("CellLength", SHORT, 1), + 266: ("FillOrder", SHORT, 1), + 269: ("DocumentName", ASCII, 1), + 270: ("ImageDescription", ASCII, 1), + 271: ("Make", ASCII, 1), + 272: ("Model", ASCII, 1), + 273: ("StripOffsets", LONG, 0), + 274: ("Orientation", SHORT, 1), + 277: ("SamplesPerPixel", SHORT, 1), + 278: ("RowsPerStrip", LONG, 1), + 279: ("StripByteCounts", LONG, 0), + 280: ("MinSampleValue", SHORT, 0), + 281: ("MaxSampleValue", SHORT, 0), + 282: ("XResolution", RATIONAL, 1), + 283: ("YResolution", RATIONAL, 1), + 284: ("PlanarConfiguration", SHORT, 1, {"Contiguous": 1, "Separate": 2}), + 285: ("PageName", ASCII, 1), + 286: ("XPosition", RATIONAL, 1), + 287: ("YPosition", RATIONAL, 1), + 288: ("FreeOffsets", LONG, 1), + 289: ("FreeByteCounts", LONG, 1), + 290: ("GrayResponseUnit", SHORT, 1), + 291: ("GrayResponseCurve", SHORT, 0), + 292: ("T4Options", LONG, 1), + 293: ("T6Options", LONG, 1), + 296: ("ResolutionUnit", SHORT, 1, {"none": 1, "inch": 2, "cm": 3}), + 297: ("PageNumber", SHORT, 2), + 301: ("TransferFunction", SHORT, 0), + 305: ("Software", ASCII, 1), + 306: ("DateTime", ASCII, 1), + 315: ("Artist", ASCII, 1), + 316: ("HostComputer", ASCII, 1), + 317: ("Predictor", SHORT, 1, {"none": 1, "Horizontal Differencing": 2}), + 318: ("WhitePoint", RATIONAL, 2), + 319: ("PrimaryChromaticities", RATIONAL, 6), + 320: ("ColorMap", SHORT, 0), + 321: ("HalftoneHints", SHORT, 2), + 322: ("TileWidth", LONG, 1), + 323: ("TileLength", LONG, 1), + 324: ("TileOffsets", LONG, 0), + 325: ("TileByteCounts", LONG, 0), + 330: ("SubIFDs", LONG, 0), + 332: ("InkSet", SHORT, 1), + 333: ("InkNames", ASCII, 1), + 334: ("NumberOfInks", SHORT, 1), + 336: ("DotRange", SHORT, 0), + 337: ("TargetPrinter", ASCII, 1), + 338: ("ExtraSamples", SHORT, 0), + 339: ("SampleFormat", SHORT, 0), + 340: ("SMinSampleValue", DOUBLE, 0), + 341: ("SMaxSampleValue", DOUBLE, 0), + 342: ("TransferRange", SHORT, 6), + 347: ("JPEGTables", UNDEFINED, 1), + # obsolete JPEG tags + 512: ("JPEGProc", SHORT, 1), + 513: ("JPEGInterchangeFormat", LONG, 1), + 514: ("JPEGInterchangeFormatLength", LONG, 1), + 515: ("JPEGRestartInterval", SHORT, 1), + 517: ("JPEGLosslessPredictors", SHORT, 0), + 518: ("JPEGPointTransforms", SHORT, 0), + 519: ("JPEGQTables", LONG, 0), + 520: ("JPEGDCTables", LONG, 0), + 521: ("JPEGACTables", LONG, 0), + 529: ("YCbCrCoefficients", RATIONAL, 3), + 530: ("YCbCrSubSampling", SHORT, 2), + 531: ("YCbCrPositioning", SHORT, 1), + 532: ("ReferenceBlackWhite", RATIONAL, 6), + 700: ("XMP", BYTE, 0), + 33432: ("Copyright", ASCII, 1), + 33723: ("IptcNaaInfo", UNDEFINED, 1), + 34377: ("PhotoshopInfo", BYTE, 0), + # FIXME add more tags here + 34665: ("ExifIFD", LONG, 1), + 34675: ("ICCProfile", UNDEFINED, 1), + 34853: ("GPSInfoIFD", LONG, 1), + 36864: ("ExifVersion", UNDEFINED, 1), + 37724: ("ImageSourceData", UNDEFINED, 1), + 40965: ("InteroperabilityIFD", LONG, 1), + 41730: ("CFAPattern", UNDEFINED, 1), + # MPInfo + 45056: ("MPFVersion", UNDEFINED, 1), + 45057: ("NumberOfImages", LONG, 1), + 45058: ("MPEntry", UNDEFINED, 1), + 45059: ("ImageUIDList", UNDEFINED, 0), # UNDONE, check + 45060: ("TotalFrames", LONG, 1), + 45313: ("MPIndividualNum", LONG, 1), + 45569: ("PanOrientation", LONG, 1), + 45570: ("PanOverlap_H", RATIONAL, 1), + 45571: ("PanOverlap_V", RATIONAL, 1), + 45572: ("BaseViewpointNum", LONG, 1), + 45573: ("ConvergenceAngle", SIGNED_RATIONAL, 1), + 45574: ("BaselineLength", RATIONAL, 1), + 45575: ("VerticalDivergence", SIGNED_RATIONAL, 1), + 45576: ("AxisDistance_X", SIGNED_RATIONAL, 1), + 45577: ("AxisDistance_Y", SIGNED_RATIONAL, 1), + 45578: ("AxisDistance_Z", SIGNED_RATIONAL, 1), + 45579: ("YawAngle", SIGNED_RATIONAL, 1), + 45580: ("PitchAngle", SIGNED_RATIONAL, 1), + 45581: ("RollAngle", SIGNED_RATIONAL, 1), + 40960: ("FlashPixVersion", UNDEFINED, 1), + 50741: ("MakerNoteSafety", SHORT, 1, {"Unsafe": 0, "Safe": 1}), + 50780: ("BestQualityScale", RATIONAL, 1), + 50838: ("ImageJMetaDataByteCounts", LONG, 0), # Can be more than one + 50839: ("ImageJMetaData", UNDEFINED, 1), # see Issue #2006 +} +_tags_v2_groups = { + # ExifIFD + 34665: { + 36864: ("ExifVersion", UNDEFINED, 1), + 40960: ("FlashPixVersion", UNDEFINED, 1), + 40965: ("InteroperabilityIFD", LONG, 1), + 41730: ("CFAPattern", UNDEFINED, 1), + }, + # GPSInfoIFD + 34853: { + 0: ("GPSVersionID", BYTE, 4), + 1: ("GPSLatitudeRef", ASCII, 2), + 2: ("GPSLatitude", RATIONAL, 3), + 3: ("GPSLongitudeRef", ASCII, 2), + 4: ("GPSLongitude", RATIONAL, 3), + 5: ("GPSAltitudeRef", BYTE, 1), + 6: ("GPSAltitude", RATIONAL, 1), + 7: ("GPSTimeStamp", RATIONAL, 3), + 8: ("GPSSatellites", ASCII, 0), + 9: ("GPSStatus", ASCII, 2), + 10: ("GPSMeasureMode", ASCII, 2), + 11: ("GPSDOP", RATIONAL, 1), + 12: ("GPSSpeedRef", ASCII, 2), + 13: ("GPSSpeed", RATIONAL, 1), + 14: ("GPSTrackRef", ASCII, 2), + 15: ("GPSTrack", RATIONAL, 1), + 16: ("GPSImgDirectionRef", ASCII, 2), + 17: ("GPSImgDirection", RATIONAL, 1), + 18: ("GPSMapDatum", ASCII, 0), + 19: ("GPSDestLatitudeRef", ASCII, 2), + 20: ("GPSDestLatitude", RATIONAL, 3), + 21: ("GPSDestLongitudeRef", ASCII, 2), + 22: ("GPSDestLongitude", RATIONAL, 3), + 23: ("GPSDestBearingRef", ASCII, 2), + 24: ("GPSDestBearing", RATIONAL, 1), + 25: ("GPSDestDistanceRef", ASCII, 2), + 26: ("GPSDestDistance", RATIONAL, 1), + 27: ("GPSProcessingMethod", UNDEFINED, 0), + 28: ("GPSAreaInformation", UNDEFINED, 0), + 29: ("GPSDateStamp", ASCII, 11), + 30: ("GPSDifferential", SHORT, 1), + }, + # InteroperabilityIFD + 40965: {1: ("InteropIndex", ASCII, 1), 2: ("InteropVersion", UNDEFINED, 1)}, +} + +# Legacy Tags structure +# these tags aren't included above, but were in the previous versions +TAGS: dict[int | tuple[int, int], str] = { + 347: "JPEGTables", + 700: "XMP", + # Additional Exif Info + 32932: "Wang Annotation", + 33434: "ExposureTime", + 33437: "FNumber", + 33445: "MD FileTag", + 33446: "MD ScalePixel", + 33447: "MD ColorTable", + 33448: "MD LabName", + 33449: "MD SampleInfo", + 33450: "MD PrepDate", + 33451: "MD PrepTime", + 33452: "MD FileUnits", + 33550: "ModelPixelScaleTag", + 33723: "IptcNaaInfo", + 33918: "INGR Packet Data Tag", + 33919: "INGR Flag Registers", + 33920: "IrasB Transformation Matrix", + 33922: "ModelTiepointTag", + 34264: "ModelTransformationTag", + 34377: "PhotoshopInfo", + 34735: "GeoKeyDirectoryTag", + 34736: "GeoDoubleParamsTag", + 34737: "GeoAsciiParamsTag", + 34850: "ExposureProgram", + 34852: "SpectralSensitivity", + 34855: "ISOSpeedRatings", + 34856: "OECF", + 34864: "SensitivityType", + 34865: "StandardOutputSensitivity", + 34866: "RecommendedExposureIndex", + 34867: "ISOSpeed", + 34868: "ISOSpeedLatitudeyyy", + 34869: "ISOSpeedLatitudezzz", + 34908: "HylaFAX FaxRecvParams", + 34909: "HylaFAX FaxSubAddress", + 34910: "HylaFAX FaxRecvTime", + 36864: "ExifVersion", + 36867: "DateTimeOriginal", + 36868: "DateTimeDigitized", + 37121: "ComponentsConfiguration", + 37122: "CompressedBitsPerPixel", + 37724: "ImageSourceData", + 37377: "ShutterSpeedValue", + 37378: "ApertureValue", + 37379: "BrightnessValue", + 37380: "ExposureBiasValue", + 37381: "MaxApertureValue", + 37382: "SubjectDistance", + 37383: "MeteringMode", + 37384: "LightSource", + 37385: "Flash", + 37386: "FocalLength", + 37396: "SubjectArea", + 37500: "MakerNote", + 37510: "UserComment", + 37520: "SubSec", + 37521: "SubSecTimeOriginal", + 37522: "SubsecTimeDigitized", + 40960: "FlashPixVersion", + 40961: "ColorSpace", + 40962: "PixelXDimension", + 40963: "PixelYDimension", + 40964: "RelatedSoundFile", + 40965: "InteroperabilityIFD", + 41483: "FlashEnergy", + 41484: "SpatialFrequencyResponse", + 41486: "FocalPlaneXResolution", + 41487: "FocalPlaneYResolution", + 41488: "FocalPlaneResolutionUnit", + 41492: "SubjectLocation", + 41493: "ExposureIndex", + 41495: "SensingMethod", + 41728: "FileSource", + 41729: "SceneType", + 41730: "CFAPattern", + 41985: "CustomRendered", + 41986: "ExposureMode", + 41987: "WhiteBalance", + 41988: "DigitalZoomRatio", + 41989: "FocalLengthIn35mmFilm", + 41990: "SceneCaptureType", + 41991: "GainControl", + 41992: "Contrast", + 41993: "Saturation", + 41994: "Sharpness", + 41995: "DeviceSettingDescription", + 41996: "SubjectDistanceRange", + 42016: "ImageUniqueID", + 42032: "CameraOwnerName", + 42033: "BodySerialNumber", + 42034: "LensSpecification", + 42035: "LensMake", + 42036: "LensModel", + 42037: "LensSerialNumber", + 42112: "GDAL_METADATA", + 42113: "GDAL_NODATA", + 42240: "Gamma", + 50215: "Oce Scanjob Description", + 50216: "Oce Application Selector", + 50217: "Oce Identification Number", + 50218: "Oce ImageLogic Characteristics", + # Adobe DNG + 50706: "DNGVersion", + 50707: "DNGBackwardVersion", + 50708: "UniqueCameraModel", + 50709: "LocalizedCameraModel", + 50710: "CFAPlaneColor", + 50711: "CFALayout", + 50712: "LinearizationTable", + 50713: "BlackLevelRepeatDim", + 50714: "BlackLevel", + 50715: "BlackLevelDeltaH", + 50716: "BlackLevelDeltaV", + 50717: "WhiteLevel", + 50718: "DefaultScale", + 50719: "DefaultCropOrigin", + 50720: "DefaultCropSize", + 50721: "ColorMatrix1", + 50722: "ColorMatrix2", + 50723: "CameraCalibration1", + 50724: "CameraCalibration2", + 50725: "ReductionMatrix1", + 50726: "ReductionMatrix2", + 50727: "AnalogBalance", + 50728: "AsShotNeutral", + 50729: "AsShotWhiteXY", + 50730: "BaselineExposure", + 50731: "BaselineNoise", + 50732: "BaselineSharpness", + 50733: "BayerGreenSplit", + 50734: "LinearResponseLimit", + 50735: "CameraSerialNumber", + 50736: "LensInfo", + 50737: "ChromaBlurRadius", + 50738: "AntiAliasStrength", + 50740: "DNGPrivateData", + 50778: "CalibrationIlluminant1", + 50779: "CalibrationIlluminant2", + 50784: "Alias Layer Metadata", +} + +TAGS_V2: dict[int, TagInfo] = {} +TAGS_V2_GROUPS: dict[int, dict[int, TagInfo]] = {} + + +def _populate() -> None: + for k, v in _tags_v2.items(): + # Populate legacy structure. + TAGS[k] = v[0] + if len(v) == 4: + for sk, sv in v[3].items(): + TAGS[(k, sv)] = sk + + TAGS_V2[k] = TagInfo(k, *v) + + for group, tags in _tags_v2_groups.items(): + TAGS_V2_GROUPS[group] = {k: TagInfo(k, *v) for k, v in tags.items()} + + +_populate() +## +# Map type numbers to type names -- defined in ImageFileDirectory. + +TYPES: dict[int, str] = {} + +# +# These tags are handled by default in libtiff, without +# adding to the custom dictionary. From tif_dir.c, searching for +# case TIFFTAG in the _TIFFVSetField function: +# Line: item. +# 148: case TIFFTAG_SUBFILETYPE: +# 151: case TIFFTAG_IMAGEWIDTH: +# 154: case TIFFTAG_IMAGELENGTH: +# 157: case TIFFTAG_BITSPERSAMPLE: +# 181: case TIFFTAG_COMPRESSION: +# 202: case TIFFTAG_PHOTOMETRIC: +# 205: case TIFFTAG_THRESHHOLDING: +# 208: case TIFFTAG_FILLORDER: +# 214: case TIFFTAG_ORIENTATION: +# 221: case TIFFTAG_SAMPLESPERPIXEL: +# 228: case TIFFTAG_ROWSPERSTRIP: +# 238: case TIFFTAG_MINSAMPLEVALUE: +# 241: case TIFFTAG_MAXSAMPLEVALUE: +# 244: case TIFFTAG_SMINSAMPLEVALUE: +# 247: case TIFFTAG_SMAXSAMPLEVALUE: +# 250: case TIFFTAG_XRESOLUTION: +# 256: case TIFFTAG_YRESOLUTION: +# 262: case TIFFTAG_PLANARCONFIG: +# 268: case TIFFTAG_XPOSITION: +# 271: case TIFFTAG_YPOSITION: +# 274: case TIFFTAG_RESOLUTIONUNIT: +# 280: case TIFFTAG_PAGENUMBER: +# 284: case TIFFTAG_HALFTONEHINTS: +# 288: case TIFFTAG_COLORMAP: +# 294: case TIFFTAG_EXTRASAMPLES: +# 298: case TIFFTAG_MATTEING: +# 305: case TIFFTAG_TILEWIDTH: +# 316: case TIFFTAG_TILELENGTH: +# 327: case TIFFTAG_TILEDEPTH: +# 333: case TIFFTAG_DATATYPE: +# 344: case TIFFTAG_SAMPLEFORMAT: +# 361: case TIFFTAG_IMAGEDEPTH: +# 364: case TIFFTAG_SUBIFD: +# 376: case TIFFTAG_YCBCRPOSITIONING: +# 379: case TIFFTAG_YCBCRSUBSAMPLING: +# 383: case TIFFTAG_TRANSFERFUNCTION: +# 389: case TIFFTAG_REFERENCEBLACKWHITE: +# 393: case TIFFTAG_INKNAMES: + +# Following pseudo-tags are also handled by default in libtiff: +# TIFFTAG_JPEGQUALITY 65537 + +# some of these are not in our TAGS_V2 dict and were included from tiff.h + +# This list also exists in encode.c +LIBTIFF_CORE = { + 255, + 256, + 257, + 258, + 259, + 262, + 263, + 266, + 274, + 277, + 278, + 280, + 281, + 340, + 341, + 282, + 283, + 284, + 286, + 287, + 296, + 297, + 321, + 320, + 338, + 32995, + 322, + 323, + 32998, + 32996, + 339, + 32997, + 330, + 531, + 530, + 301, + 532, + 333, + # as above + 269, # this has been in our tests forever, and works + 65537, +} + +LIBTIFF_CORE.remove(255) # We don't have support for subfiletypes +LIBTIFF_CORE.remove(322) # We don't have support for writing tiled images with libtiff +LIBTIFF_CORE.remove(323) # Tiled images +LIBTIFF_CORE.remove(333) # Ink Names either + +# Note to advanced users: There may be combinations of these +# parameters and values that when added properly, will work and +# produce valid tiff images that may work in your application. +# It is safe to add and remove tags from this set from Pillow's point +# of view so long as you test against libtiff. diff --git a/gestao_raul/Lib/site-packages/PIL/WalImageFile.py b/gestao_raul/Lib/site-packages/PIL/WalImageFile.py new file mode 100644 index 0000000..87e3287 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/WalImageFile.py @@ -0,0 +1,127 @@ +# +# The Python Imaging Library. +# $Id$ +# +# WAL file handling +# +# History: +# 2003-04-23 fl created +# +# Copyright (c) 2003 by Fredrik Lundh. +# +# See the README file for information on usage and redistribution. +# + +""" +This reader is based on the specification available from: +https://www.flipcode.com/archives/Quake_2_BSP_File_Format.shtml +and has been tested with a few sample files found using google. + +.. note:: + This format cannot be automatically recognized, so the reader + is not registered for use with :py:func:`PIL.Image.open()`. + To open a WAL file, use the :py:func:`PIL.WalImageFile.open()` function instead. +""" +from __future__ import annotations + +from typing import IO + +from . import Image, ImageFile +from ._binary import i32le as i32 +from ._typing import StrOrBytesPath + + +class WalImageFile(ImageFile.ImageFile): + format = "WAL" + format_description = "Quake2 Texture" + + def _open(self) -> None: + self._mode = "P" + + # read header fields + header = self.fp.read(32 + 24 + 32 + 12) + self._size = i32(header, 32), i32(header, 36) + Image._decompression_bomb_check(self.size) + + # load pixel data + offset = i32(header, 40) + self.fp.seek(offset) + + # strings are null-terminated + self.info["name"] = header[:32].split(b"\0", 1)[0] + next_name = header[56 : 56 + 32].split(b"\0", 1)[0] + if next_name: + self.info["next_name"] = next_name + + def load(self) -> Image.core.PixelAccess | None: + if self._im is None: + self.im = Image.core.new(self.mode, self.size) + self.frombytes(self.fp.read(self.size[0] * self.size[1])) + self.putpalette(quake2palette) + return Image.Image.load(self) + + +def open(filename: StrOrBytesPath | IO[bytes]) -> WalImageFile: + """ + Load texture from a Quake2 WAL texture file. + + By default, a Quake2 standard palette is attached to the texture. + To override the palette, use the :py:func:`PIL.Image.Image.putpalette()` method. + + :param filename: WAL file name, or an opened file handle. + :returns: An image instance. + """ + return WalImageFile(filename) + + +quake2palette = ( + # default palette taken from piffo 0.93 by Hans Häggström + b"\x01\x01\x01\x0b\x0b\x0b\x12\x12\x12\x17\x17\x17\x1b\x1b\x1b\x1e" + b"\x1e\x1e\x22\x22\x22\x26\x26\x26\x29\x29\x29\x2c\x2c\x2c\x2f\x2f" + b"\x2f\x32\x32\x32\x35\x35\x35\x37\x37\x37\x3a\x3a\x3a\x3c\x3c\x3c" + b"\x24\x1e\x13\x22\x1c\x12\x20\x1b\x12\x1f\x1a\x10\x1d\x19\x10\x1b" + b"\x17\x0f\x1a\x16\x0f\x18\x14\x0d\x17\x13\x0d\x16\x12\x0d\x14\x10" + b"\x0b\x13\x0f\x0b\x10\x0d\x0a\x0f\x0b\x0a\x0d\x0b\x07\x0b\x0a\x07" + b"\x23\x23\x26\x22\x22\x25\x22\x20\x23\x21\x1f\x22\x20\x1e\x20\x1f" + b"\x1d\x1e\x1d\x1b\x1c\x1b\x1a\x1a\x1a\x19\x19\x18\x17\x17\x17\x16" + b"\x16\x14\x14\x14\x13\x13\x13\x10\x10\x10\x0f\x0f\x0f\x0d\x0d\x0d" + b"\x2d\x28\x20\x29\x24\x1c\x27\x22\x1a\x25\x1f\x17\x38\x2e\x1e\x31" + b"\x29\x1a\x2c\x25\x17\x26\x20\x14\x3c\x30\x14\x37\x2c\x13\x33\x28" + b"\x12\x2d\x24\x10\x28\x1f\x0f\x22\x1a\x0b\x1b\x14\x0a\x13\x0f\x07" + b"\x31\x1a\x16\x30\x17\x13\x2e\x16\x10\x2c\x14\x0d\x2a\x12\x0b\x27" + b"\x0f\x0a\x25\x0f\x07\x21\x0d\x01\x1e\x0b\x01\x1c\x0b\x01\x1a\x0b" + b"\x01\x18\x0a\x01\x16\x0a\x01\x13\x0a\x01\x10\x07\x01\x0d\x07\x01" + b"\x29\x23\x1e\x27\x21\x1c\x26\x20\x1b\x25\x1f\x1a\x23\x1d\x19\x21" + b"\x1c\x18\x20\x1b\x17\x1e\x19\x16\x1c\x18\x14\x1b\x17\x13\x19\x14" + b"\x10\x17\x13\x0f\x14\x10\x0d\x12\x0f\x0b\x0f\x0b\x0a\x0b\x0a\x07" + b"\x26\x1a\x0f\x23\x19\x0f\x20\x17\x0f\x1c\x16\x0f\x19\x13\x0d\x14" + b"\x10\x0b\x10\x0d\x0a\x0b\x0a\x07\x33\x22\x1f\x35\x29\x26\x37\x2f" + b"\x2d\x39\x35\x34\x37\x39\x3a\x33\x37\x39\x30\x34\x36\x2b\x31\x34" + b"\x27\x2e\x31\x22\x2b\x2f\x1d\x28\x2c\x17\x25\x2a\x0f\x20\x26\x0d" + b"\x1e\x25\x0b\x1c\x22\x0a\x1b\x20\x07\x19\x1e\x07\x17\x1b\x07\x14" + b"\x18\x01\x12\x16\x01\x0f\x12\x01\x0b\x0d\x01\x07\x0a\x01\x01\x01" + b"\x2c\x21\x21\x2a\x1f\x1f\x29\x1d\x1d\x27\x1c\x1c\x26\x1a\x1a\x24" + b"\x18\x18\x22\x17\x17\x21\x16\x16\x1e\x13\x13\x1b\x12\x12\x18\x10" + b"\x10\x16\x0d\x0d\x12\x0b\x0b\x0d\x0a\x0a\x0a\x07\x07\x01\x01\x01" + b"\x2e\x30\x29\x2d\x2e\x27\x2b\x2c\x26\x2a\x2a\x24\x28\x29\x23\x27" + b"\x27\x21\x26\x26\x1f\x24\x24\x1d\x22\x22\x1c\x1f\x1f\x1a\x1c\x1c" + b"\x18\x19\x19\x16\x17\x17\x13\x13\x13\x10\x0f\x0f\x0d\x0b\x0b\x0a" + b"\x30\x1e\x1b\x2d\x1c\x19\x2c\x1a\x17\x2a\x19\x14\x28\x17\x13\x26" + b"\x16\x10\x24\x13\x0f\x21\x12\x0d\x1f\x10\x0b\x1c\x0f\x0a\x19\x0d" + b"\x0a\x16\x0b\x07\x12\x0a\x07\x0f\x07\x01\x0a\x01\x01\x01\x01\x01" + b"\x28\x29\x38\x26\x27\x36\x25\x26\x34\x24\x24\x31\x22\x22\x2f\x20" + b"\x21\x2d\x1e\x1f\x2a\x1d\x1d\x27\x1b\x1b\x25\x19\x19\x21\x17\x17" + b"\x1e\x14\x14\x1b\x13\x12\x17\x10\x0f\x13\x0d\x0b\x0f\x0a\x07\x07" + b"\x2f\x32\x29\x2d\x30\x26\x2b\x2e\x24\x29\x2c\x21\x27\x2a\x1e\x25" + b"\x28\x1c\x23\x26\x1a\x21\x25\x18\x1e\x22\x14\x1b\x1f\x10\x19\x1c" + b"\x0d\x17\x1a\x0a\x13\x17\x07\x10\x13\x01\x0d\x0f\x01\x0a\x0b\x01" + b"\x01\x3f\x01\x13\x3c\x0b\x1b\x39\x10\x20\x35\x14\x23\x31\x17\x23" + b"\x2d\x18\x23\x29\x18\x3f\x3f\x3f\x3f\x3f\x39\x3f\x3f\x31\x3f\x3f" + b"\x2a\x3f\x3f\x20\x3f\x3f\x14\x3f\x3c\x12\x3f\x39\x0f\x3f\x35\x0b" + b"\x3f\x32\x07\x3f\x2d\x01\x3d\x2a\x01\x3b\x26\x01\x39\x21\x01\x37" + b"\x1d\x01\x34\x1a\x01\x32\x16\x01\x2f\x12\x01\x2d\x0f\x01\x2a\x0b" + b"\x01\x27\x07\x01\x23\x01\x01\x1d\x01\x01\x17\x01\x01\x10\x01\x01" + b"\x3d\x01\x01\x19\x19\x3f\x3f\x01\x01\x01\x01\x3f\x16\x16\x13\x10" + b"\x10\x0f\x0d\x0d\x0b\x3c\x2e\x2a\x36\x27\x20\x30\x21\x18\x29\x1b" + b"\x10\x3c\x39\x37\x37\x32\x2f\x31\x2c\x28\x2b\x26\x21\x30\x22\x20" +) diff --git a/gestao_raul/Lib/site-packages/PIL/WebPImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/WebPImagePlugin.py new file mode 100644 index 0000000..64188f2 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/WebPImagePlugin.py @@ -0,0 +1,323 @@ +from __future__ import annotations + +from io import BytesIO +from typing import IO, Any + +from . import Image, ImageFile + +try: + from . import _webp + + SUPPORTED = True +except ImportError: + SUPPORTED = False + + +_VP8_MODES_BY_IDENTIFIER = { + b"VP8 ": "RGB", + b"VP8X": "RGBA", + b"VP8L": "RGBA", # lossless +} + + +def _accept(prefix: bytes) -> bool | str: + is_riff_file_format = prefix[:4] == b"RIFF" + is_webp_file = prefix[8:12] == b"WEBP" + is_valid_vp8_mode = prefix[12:16] in _VP8_MODES_BY_IDENTIFIER + + if is_riff_file_format and is_webp_file and is_valid_vp8_mode: + if not SUPPORTED: + return ( + "image file could not be identified because WEBP support not installed" + ) + return True + return False + + +class WebPImageFile(ImageFile.ImageFile): + format = "WEBP" + format_description = "WebP image" + __loaded = 0 + __logical_frame = 0 + + def _open(self) -> None: + # Use the newer AnimDecoder API to parse the (possibly) animated file, + # and access muxed chunks like ICC/EXIF/XMP. + self._decoder = _webp.WebPAnimDecoder(self.fp.read()) + + # Get info from decoder + width, height, loop_count, bgcolor, frame_count, mode = self._decoder.get_info() + self._size = width, height + self.info["loop"] = loop_count + bg_a, bg_r, bg_g, bg_b = ( + (bgcolor >> 24) & 0xFF, + (bgcolor >> 16) & 0xFF, + (bgcolor >> 8) & 0xFF, + bgcolor & 0xFF, + ) + self.info["background"] = (bg_r, bg_g, bg_b, bg_a) + self.n_frames = frame_count + self.is_animated = self.n_frames > 1 + self._mode = "RGB" if mode == "RGBX" else mode + self.rawmode = mode + self.tile = [] + + # Attempt to read ICC / EXIF / XMP chunks from file + icc_profile = self._decoder.get_chunk("ICCP") + exif = self._decoder.get_chunk("EXIF") + xmp = self._decoder.get_chunk("XMP ") + if icc_profile: + self.info["icc_profile"] = icc_profile + if exif: + self.info["exif"] = exif + if xmp: + self.info["xmp"] = xmp + + # Initialize seek state + self._reset(reset=False) + + def _getexif(self) -> dict[int, Any] | None: + if "exif" not in self.info: + return None + return self.getexif()._get_merged_dict() + + def seek(self, frame: int) -> None: + if not self._seek_check(frame): + return + + # Set logical frame to requested position + self.__logical_frame = frame + + def _reset(self, reset: bool = True) -> None: + if reset: + self._decoder.reset() + self.__physical_frame = 0 + self.__loaded = -1 + self.__timestamp = 0 + + def _get_next(self) -> tuple[bytes, int, int]: + # Get next frame + ret = self._decoder.get_next() + self.__physical_frame += 1 + + # Check if an error occurred + if ret is None: + self._reset() # Reset just to be safe + self.seek(0) + msg = "failed to decode next frame in WebP file" + raise EOFError(msg) + + # Compute duration + data, timestamp = ret + duration = timestamp - self.__timestamp + self.__timestamp = timestamp + + # libwebp gives frame end, adjust to start of frame + timestamp -= duration + return data, timestamp, duration + + def _seek(self, frame: int) -> None: + if self.__physical_frame == frame: + return # Nothing to do + if frame < self.__physical_frame: + self._reset() # Rewind to beginning + while self.__physical_frame < frame: + self._get_next() # Advance to the requested frame + + def load(self) -> Image.core.PixelAccess | None: + if self.__loaded != self.__logical_frame: + self._seek(self.__logical_frame) + + # We need to load the image data for this frame + data, timestamp, duration = self._get_next() + self.info["timestamp"] = timestamp + self.info["duration"] = duration + self.__loaded = self.__logical_frame + + # Set tile + if self.fp and self._exclusive_fp: + self.fp.close() + self.fp = BytesIO(data) + self.tile = [ImageFile._Tile("raw", (0, 0) + self.size, 0, self.rawmode)] + + return super().load() + + def load_seek(self, pos: int) -> None: + pass + + def tell(self) -> int: + return self.__logical_frame + + +def _convert_frame(im: Image.Image) -> Image.Image: + # Make sure image mode is supported + if im.mode not in ("RGBX", "RGBA", "RGB"): + im = im.convert("RGBA" if im.has_transparency_data else "RGB") + return im + + +def _save_all(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + encoderinfo = im.encoderinfo.copy() + append_images = list(encoderinfo.get("append_images", [])) + + # If total frame count is 1, then save using the legacy API, which + # will preserve non-alpha modes + total = 0 + for ims in [im] + append_images: + total += getattr(ims, "n_frames", 1) + if total == 1: + _save(im, fp, filename) + return + + background: int | tuple[int, ...] = (0, 0, 0, 0) + if "background" in encoderinfo: + background = encoderinfo["background"] + elif "background" in im.info: + background = im.info["background"] + if isinstance(background, int): + # GifImagePlugin stores a global color table index in + # info["background"]. So it must be converted to an RGBA value + palette = im.getpalette() + if palette: + r, g, b = palette[background * 3 : (background + 1) * 3] + background = (r, g, b, 255) + else: + background = (background, background, background, 255) + + duration = im.encoderinfo.get("duration", im.info.get("duration", 0)) + loop = im.encoderinfo.get("loop", 0) + minimize_size = im.encoderinfo.get("minimize_size", False) + kmin = im.encoderinfo.get("kmin", None) + kmax = im.encoderinfo.get("kmax", None) + allow_mixed = im.encoderinfo.get("allow_mixed", False) + verbose = False + lossless = im.encoderinfo.get("lossless", False) + quality = im.encoderinfo.get("quality", 80) + alpha_quality = im.encoderinfo.get("alpha_quality", 100) + method = im.encoderinfo.get("method", 0) + icc_profile = im.encoderinfo.get("icc_profile") or "" + exif = im.encoderinfo.get("exif", "") + if isinstance(exif, Image.Exif): + exif = exif.tobytes() + xmp = im.encoderinfo.get("xmp", "") + if allow_mixed: + lossless = False + + # Sensible keyframe defaults are from gif2webp.c script + if kmin is None: + kmin = 9 if lossless else 3 + if kmax is None: + kmax = 17 if lossless else 5 + + # Validate background color + if ( + not isinstance(background, (list, tuple)) + or len(background) != 4 + or not all(0 <= v < 256 for v in background) + ): + msg = f"Background color is not an RGBA tuple clamped to (0-255): {background}" + raise OSError(msg) + + # Convert to packed uint + bg_r, bg_g, bg_b, bg_a = background + background = (bg_a << 24) | (bg_r << 16) | (bg_g << 8) | (bg_b << 0) + + # Setup the WebP animation encoder + enc = _webp.WebPAnimEncoder( + im.size[0], + im.size[1], + background, + loop, + minimize_size, + kmin, + kmax, + allow_mixed, + verbose, + ) + + # Add each frame + frame_idx = 0 + timestamp = 0 + cur_idx = im.tell() + try: + for ims in [im] + append_images: + # Get # of frames in this image + nfr = getattr(ims, "n_frames", 1) + + for idx in range(nfr): + ims.seek(idx) + + frame = _convert_frame(ims) + + # Append the frame to the animation encoder + enc.add( + frame.getim(), + round(timestamp), + lossless, + quality, + alpha_quality, + method, + ) + + # Update timestamp and frame index + if isinstance(duration, (list, tuple)): + timestamp += duration[frame_idx] + else: + timestamp += duration + frame_idx += 1 + + finally: + im.seek(cur_idx) + + # Force encoder to flush frames + enc.add(None, round(timestamp), lossless, quality, alpha_quality, 0) + + # Get the final output from the encoder + data = enc.assemble(icc_profile, exif, xmp) + if data is None: + msg = "cannot write file as WebP (encoder returned None)" + raise OSError(msg) + + fp.write(data) + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + lossless = im.encoderinfo.get("lossless", False) + quality = im.encoderinfo.get("quality", 80) + alpha_quality = im.encoderinfo.get("alpha_quality", 100) + icc_profile = im.encoderinfo.get("icc_profile") or "" + exif = im.encoderinfo.get("exif", b"") + if isinstance(exif, Image.Exif): + exif = exif.tobytes() + if exif.startswith(b"Exif\x00\x00"): + exif = exif[6:] + xmp = im.encoderinfo.get("xmp", "") + method = im.encoderinfo.get("method", 4) + exact = 1 if im.encoderinfo.get("exact") else 0 + + im = _convert_frame(im) + + data = _webp.WebPEncode( + im.getim(), + lossless, + float(quality), + float(alpha_quality), + icc_profile, + method, + exact, + exif, + xmp, + ) + if data is None: + msg = "cannot write file as WebP (encoder returned None)" + raise OSError(msg) + + fp.write(data) + + +Image.register_open(WebPImageFile.format, WebPImageFile, _accept) +if SUPPORTED: + Image.register_save(WebPImageFile.format, _save) + Image.register_save_all(WebPImageFile.format, _save_all) + Image.register_extension(WebPImageFile.format, ".webp") + Image.register_mime(WebPImageFile.format, "image/webp") diff --git a/gestao_raul/Lib/site-packages/PIL/WmfImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/WmfImagePlugin.py new file mode 100644 index 0000000..68f8a74 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/WmfImagePlugin.py @@ -0,0 +1,181 @@ +# +# The Python Imaging Library +# $Id$ +# +# WMF stub codec +# +# history: +# 1996-12-14 fl Created +# 2004-02-22 fl Turned into a stub driver +# 2004-02-23 fl Added EMF support +# +# Copyright (c) Secret Labs AB 1997-2004. All rights reserved. +# Copyright (c) Fredrik Lundh 1996. +# +# See the README file for information on usage and redistribution. +# +# WMF/EMF reference documentation: +# https://winprotocoldoc.blob.core.windows.net/productionwindowsarchives/MS-WMF/[MS-WMF].pdf +# http://wvware.sourceforge.net/caolan/index.html +# http://wvware.sourceforge.net/caolan/ora-wmf.html +from __future__ import annotations + +from typing import IO + +from . import Image, ImageFile +from ._binary import i16le as word +from ._binary import si16le as short +from ._binary import si32le as _long + +_handler = None + + +def register_handler(handler: ImageFile.StubHandler | None) -> None: + """ + Install application-specific WMF image handler. + + :param handler: Handler object. + """ + global _handler + _handler = handler + + +if hasattr(Image.core, "drawwmf"): + # install default handler (windows only) + + class WmfHandler(ImageFile.StubHandler): + def open(self, im: ImageFile.StubImageFile) -> None: + im._mode = "RGB" + self.bbox = im.info["wmf_bbox"] + + def load(self, im: ImageFile.StubImageFile) -> Image.Image: + im.fp.seek(0) # rewind + return Image.frombytes( + "RGB", + im.size, + Image.core.drawwmf(im.fp.read(), im.size, self.bbox), + "raw", + "BGR", + (im.size[0] * 3 + 3) & -4, + -1, + ) + + register_handler(WmfHandler()) + +# +# -------------------------------------------------------------------- +# Read WMF file + + +def _accept(prefix: bytes) -> bool: + return ( + prefix[:6] == b"\xd7\xcd\xc6\x9a\x00\x00" or prefix[:4] == b"\x01\x00\x00\x00" + ) + + +## +# Image plugin for Windows metafiles. + + +class WmfStubImageFile(ImageFile.StubImageFile): + format = "WMF" + format_description = "Windows Metafile" + + def _open(self) -> None: + self._inch = None + + # check placable header + s = self.fp.read(80) + + if s[:6] == b"\xd7\xcd\xc6\x9a\x00\x00": + # placeable windows metafile + + # get units per inch + self._inch = word(s, 14) + + # get bounding box + x0 = short(s, 6) + y0 = short(s, 8) + x1 = short(s, 10) + y1 = short(s, 12) + + # normalize size to 72 dots per inch + self.info["dpi"] = 72 + size = ( + (x1 - x0) * self.info["dpi"] // self._inch, + (y1 - y0) * self.info["dpi"] // self._inch, + ) + + self.info["wmf_bbox"] = x0, y0, x1, y1 + + # sanity check (standard metafile header) + if s[22:26] != b"\x01\x00\t\x00": + msg = "Unsupported WMF file format" + raise SyntaxError(msg) + + elif s[:4] == b"\x01\x00\x00\x00" and s[40:44] == b" EMF": + # enhanced metafile + + # get bounding box + x0 = _long(s, 8) + y0 = _long(s, 12) + x1 = _long(s, 16) + y1 = _long(s, 20) + + # get frame (in 0.01 millimeter units) + frame = _long(s, 24), _long(s, 28), _long(s, 32), _long(s, 36) + + size = x1 - x0, y1 - y0 + + # calculate dots per inch from bbox and frame + xdpi = 2540.0 * (x1 - y0) / (frame[2] - frame[0]) + ydpi = 2540.0 * (y1 - y0) / (frame[3] - frame[1]) + + self.info["wmf_bbox"] = x0, y0, x1, y1 + + if xdpi == ydpi: + self.info["dpi"] = xdpi + else: + self.info["dpi"] = xdpi, ydpi + + else: + msg = "Unsupported file format" + raise SyntaxError(msg) + + self._mode = "RGB" + self._size = size + + loader = self._load() + if loader: + loader.open(self) + + def _load(self) -> ImageFile.StubHandler | None: + return _handler + + def load(self, dpi: int | None = None) -> Image.core.PixelAccess | None: + if dpi is not None and self._inch is not None: + self.info["dpi"] = dpi + x0, y0, x1, y1 = self.info["wmf_bbox"] + self._size = ( + (x1 - x0) * self.info["dpi"] // self._inch, + (y1 - y0) * self.info["dpi"] // self._inch, + ) + return super().load() + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if _handler is None or not hasattr(_handler, "save"): + msg = "WMF save handler not installed" + raise OSError(msg) + _handler.save(im, fp, filename) + + +# +# -------------------------------------------------------------------- +# Registry stuff + + +Image.register_open(WmfStubImageFile.format, WmfStubImageFile, _accept) +Image.register_save(WmfStubImageFile.format, _save) + +Image.register_extensions(WmfStubImageFile.format, [".wmf", ".emf"]) diff --git a/gestao_raul/Lib/site-packages/PIL/XVThumbImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/XVThumbImagePlugin.py new file mode 100644 index 0000000..5d1f201 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/XVThumbImagePlugin.py @@ -0,0 +1,85 @@ +# +# The Python Imaging Library. +# $Id$ +# +# XV Thumbnail file handler by Charles E. "Gene" Cash +# (gcash@magicnet.net) +# +# see xvcolor.c and xvbrowse.c in the sources to John Bradley's XV, +# available from ftp://ftp.cis.upenn.edu/pub/xv/ +# +# history: +# 98-08-15 cec created (b/w only) +# 98-12-09 cec added color palette +# 98-12-28 fl added to PIL (with only a few very minor modifications) +# +# To do: +# FIXME: make save work (this requires quantization support) +# +from __future__ import annotations + +from . import Image, ImageFile, ImagePalette +from ._binary import o8 + +_MAGIC = b"P7 332" + +# standard color palette for thumbnails (RGB332) +PALETTE = b"" +for r in range(8): + for g in range(8): + for b in range(4): + PALETTE = PALETTE + ( + o8((r * 255) // 7) + o8((g * 255) // 7) + o8((b * 255) // 3) + ) + + +def _accept(prefix: bytes) -> bool: + return prefix[:6] == _MAGIC + + +## +# Image plugin for XV thumbnail images. + + +class XVThumbImageFile(ImageFile.ImageFile): + format = "XVThumb" + format_description = "XV thumbnail image" + + def _open(self) -> None: + # check magic + assert self.fp is not None + + if not _accept(self.fp.read(6)): + msg = "not an XV thumbnail file" + raise SyntaxError(msg) + + # Skip to beginning of next line + self.fp.readline() + + # skip info comments + while True: + s = self.fp.readline() + if not s: + msg = "Unexpected EOF reading XV thumbnail file" + raise SyntaxError(msg) + if s[0] != 35: # ie. when not a comment: '#' + break + + # parse header line (already read) + s = s.strip().split() + + self._mode = "P" + self._size = int(s[0]), int(s[1]) + + self.palette = ImagePalette.raw("RGB", PALETTE) + + self.tile = [ + ImageFile._Tile( + "raw", (0, 0) + self.size, self.fp.tell(), (self.mode, 0, 1) + ) + ] + + +# -------------------------------------------------------------------- + +Image.register_open(XVThumbImageFile.format, XVThumbImageFile, _accept) diff --git a/gestao_raul/Lib/site-packages/PIL/XbmImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/XbmImagePlugin.py new file mode 100644 index 0000000..f3d490a --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/XbmImagePlugin.py @@ -0,0 +1,98 @@ +# +# The Python Imaging Library. +# $Id$ +# +# XBM File handling +# +# History: +# 1995-09-08 fl Created +# 1996-11-01 fl Added save support +# 1997-07-07 fl Made header parser more tolerant +# 1997-07-22 fl Fixed yet another parser bug +# 2001-02-17 fl Use 're' instead of 'regex' (Python 2.1) (0.4) +# 2001-05-13 fl Added hotspot handling (based on code from Bernhard Herzog) +# 2004-02-24 fl Allow some whitespace before first #define +# +# Copyright (c) 1997-2004 by Secret Labs AB +# Copyright (c) 1996-1997 by Fredrik Lundh +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import re +from typing import IO + +from . import Image, ImageFile + +# XBM header +xbm_head = re.compile( + rb"\s*#define[ \t]+.*_width[ \t]+(?P[0-9]+)[\r\n]+" + b"#define[ \t]+.*_height[ \t]+(?P[0-9]+)[\r\n]+" + b"(?P" + b"#define[ \t]+[^_]*_x_hot[ \t]+(?P[0-9]+)[\r\n]+" + b"#define[ \t]+[^_]*_y_hot[ \t]+(?P[0-9]+)[\r\n]+" + b")?" + rb"[\000-\377]*_bits\[]" +) + + +def _accept(prefix: bytes) -> bool: + return prefix.lstrip()[:7] == b"#define" + + +## +# Image plugin for X11 bitmaps. + + +class XbmImageFile(ImageFile.ImageFile): + format = "XBM" + format_description = "X11 Bitmap" + + def _open(self) -> None: + assert self.fp is not None + + m = xbm_head.match(self.fp.read(512)) + + if not m: + msg = "not a XBM file" + raise SyntaxError(msg) + + xsize = int(m.group("width")) + ysize = int(m.group("height")) + + if m.group("hotspot"): + self.info["hotspot"] = (int(m.group("xhot")), int(m.group("yhot"))) + + self._mode = "1" + self._size = xsize, ysize + + self.tile = [ImageFile._Tile("xbm", (0, 0) + self.size, m.end(), None)] + + +def _save(im: Image.Image, fp: IO[bytes], filename: str | bytes) -> None: + if im.mode != "1": + msg = f"cannot write mode {im.mode} as XBM" + raise OSError(msg) + + fp.write(f"#define im_width {im.size[0]}\n".encode("ascii")) + fp.write(f"#define im_height {im.size[1]}\n".encode("ascii")) + + hotspot = im.encoderinfo.get("hotspot") + if hotspot: + fp.write(f"#define im_x_hot {hotspot[0]}\n".encode("ascii")) + fp.write(f"#define im_y_hot {hotspot[1]}\n".encode("ascii")) + + fp.write(b"static char im_bits[] = {\n") + + ImageFile._save(im, fp, [ImageFile._Tile("xbm", (0, 0) + im.size, 0, None)]) + + fp.write(b"};\n") + + +Image.register_open(XbmImageFile.format, XbmImageFile, _accept) +Image.register_save(XbmImageFile.format, _save) + +Image.register_extension(XbmImageFile.format, ".xbm") + +Image.register_mime(XbmImageFile.format, "image/xbm") diff --git a/gestao_raul/Lib/site-packages/PIL/XpmImagePlugin.py b/gestao_raul/Lib/site-packages/PIL/XpmImagePlugin.py new file mode 100644 index 0000000..1fc6c0c --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/XpmImagePlugin.py @@ -0,0 +1,127 @@ +# +# The Python Imaging Library. +# $Id$ +# +# XPM File handling +# +# History: +# 1996-12-29 fl Created +# 2001-02-17 fl Use 're' instead of 'regex' (Python 2.1) (0.7) +# +# Copyright (c) Secret Labs AB 1997-2001. +# Copyright (c) Fredrik Lundh 1996-2001. +# +# See the README file for information on usage and redistribution. +# +from __future__ import annotations + +import re + +from . import Image, ImageFile, ImagePalette +from ._binary import o8 + +# XPM header +xpm_head = re.compile(b'"([0-9]*) ([0-9]*) ([0-9]*) ([0-9]*)') + + +def _accept(prefix: bytes) -> bool: + return prefix[:9] == b"/* XPM */" + + +## +# Image plugin for X11 pixel maps. + + +class XpmImageFile(ImageFile.ImageFile): + format = "XPM" + format_description = "X11 Pixel Map" + + def _open(self) -> None: + if not _accept(self.fp.read(9)): + msg = "not an XPM file" + raise SyntaxError(msg) + + # skip forward to next string + while True: + s = self.fp.readline() + if not s: + msg = "broken XPM file" + raise SyntaxError(msg) + m = xpm_head.match(s) + if m: + break + + self._size = int(m.group(1)), int(m.group(2)) + + pal = int(m.group(3)) + bpp = int(m.group(4)) + + if pal > 256 or bpp != 1: + msg = "cannot read this XPM file" + raise ValueError(msg) + + # + # load palette description + + palette = [b"\0\0\0"] * 256 + + for _ in range(pal): + s = self.fp.readline() + if s[-2:] == b"\r\n": + s = s[:-2] + elif s[-1:] in b"\r\n": + s = s[:-1] + + c = s[1] + s = s[2:-2].split() + + for i in range(0, len(s), 2): + if s[i] == b"c": + # process colour key + rgb = s[i + 1] + if rgb == b"None": + self.info["transparency"] = c + elif rgb[:1] == b"#": + # FIXME: handle colour names (see ImagePalette.py) + rgb = int(rgb[1:], 16) + palette[c] = ( + o8((rgb >> 16) & 255) + o8((rgb >> 8) & 255) + o8(rgb & 255) + ) + else: + # unknown colour + msg = "cannot read this XPM file" + raise ValueError(msg) + break + + else: + # missing colour key + msg = "cannot read this XPM file" + raise ValueError(msg) + + self._mode = "P" + self.palette = ImagePalette.raw("RGB", b"".join(palette)) + + self.tile = [ + ImageFile._Tile("raw", (0, 0) + self.size, self.fp.tell(), ("P", 0, 1)) + ] + + def load_read(self, read_bytes: int) -> bytes: + # + # load all image data in one chunk + + xsize, ysize = self.size + + s = [self.fp.readline()[1 : xsize + 1].ljust(xsize) for i in range(ysize)] + + return b"".join(s) + + +# +# Registry + + +Image.register_open(XpmImageFile.format, XpmImageFile, _accept) + +Image.register_extension(XpmImageFile.format, ".xpm") + +Image.register_mime(XpmImageFile.format, "image/xpm") diff --git a/gestao_raul/Lib/site-packages/PIL/__init__.py b/gestao_raul/Lib/site-packages/PIL/__init__.py new file mode 100644 index 0000000..09546fe --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/__init__.py @@ -0,0 +1,86 @@ +"""Pillow (Fork of the Python Imaging Library) + +Pillow is the friendly PIL fork by Jeffrey A. Clark and contributors. + https://github.com/python-pillow/Pillow/ + +Pillow is forked from PIL 1.1.7. + +PIL is the Python Imaging Library by Fredrik Lundh and contributors. +Copyright (c) 1999 by Secret Labs AB. + +Use PIL.__version__ for this Pillow version. + +;-) +""" + +from __future__ import annotations + +from . import _version + +# VERSION was removed in Pillow 6.0.0. +# PILLOW_VERSION was removed in Pillow 9.0.0. +# Use __version__ instead. +__version__ = _version.__version__ +del _version + + +_plugins = [ + "BlpImagePlugin", + "BmpImagePlugin", + "BufrStubImagePlugin", + "CurImagePlugin", + "DcxImagePlugin", + "DdsImagePlugin", + "EpsImagePlugin", + "FitsImagePlugin", + "FliImagePlugin", + "FpxImagePlugin", + "FtexImagePlugin", + "GbrImagePlugin", + "GifImagePlugin", + "GribStubImagePlugin", + "Hdf5StubImagePlugin", + "IcnsImagePlugin", + "IcoImagePlugin", + "ImImagePlugin", + "ImtImagePlugin", + "IptcImagePlugin", + "JpegImagePlugin", + "Jpeg2KImagePlugin", + "McIdasImagePlugin", + "MicImagePlugin", + "MpegImagePlugin", + "MpoImagePlugin", + "MspImagePlugin", + "PalmImagePlugin", + "PcdImagePlugin", + "PcxImagePlugin", + "PdfImagePlugin", + "PixarImagePlugin", + "PngImagePlugin", + "PpmImagePlugin", + "PsdImagePlugin", + "QoiImagePlugin", + "SgiImagePlugin", + "SpiderImagePlugin", + "SunImagePlugin", + "TgaImagePlugin", + "TiffImagePlugin", + "WebPImagePlugin", + "WmfImagePlugin", + "XbmImagePlugin", + "XpmImagePlugin", + "XVThumbImagePlugin", +] + + +class UnidentifiedImageError(OSError): + """ + Raised in :py:meth:`PIL.Image.open` if an image cannot be opened and identified. + + If a PNG image raises this error, setting :data:`.ImageFile.LOAD_TRUNCATED_IMAGES` + to true may allow the image to be opened after all. The setting will ignore missing + data and checksum failures. + """ + + pass diff --git a/gestao_raul/Lib/site-packages/PIL/__main__.py b/gestao_raul/Lib/site-packages/PIL/__main__.py new file mode 100644 index 0000000..043156e --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/__main__.py @@ -0,0 +1,7 @@ +from __future__ import annotations + +import sys + +from .features import pilinfo + +pilinfo(supported_formats="--report" not in sys.argv) diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/BdfFontFile.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/BdfFontFile.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a4f2bbbc879da28f2c84af2d1e7305324b26d526 GIT binary patch literal 2775 zcmai0-EZ5-5#L>Yh@>RP@i|W71S#);L!;|ei4Sd4v_{ZavJ;`PWXNhR$0`tLE+sRj zNP0=dmO%k`b&7lGpKuS>WB!2lkJ;CI@^fB_^mBF`zP(Z3s#xbD;tJ+PH;UrS6$UA=#zqji zY}{y_W1%P9*ovcUD+qnAHHPlMceHjqbR$P^WNsLEPNB6I28Sd6WTEZ9@Wsbxijzxo z{;dJmTG_tODmuq)jvE}e9MW#U1MgPHDebU0iJ6GQ4IOJcj^Z?NJ)b&i%@4zh!toBr z+Z@+8?lT2~<2v)R5sTg&W}_tZ{|GDn+zz7bb9=_ms1yKsHW$wYZ*BjN3Z}_rS0#OB z=XNuWd{1o7{DKld20S&9@~=T-q8y!}DVpFMrzSxjM|f8?EN}OrZs^R&$)I)VPYMDg8(vxguud>U+sL zI{Y|OPtipCz;jo6wxs7Gczza{xh7@O+dZ&9Y|;`fzeKr07a&e;it6YTch!kLDNKxs z38gvHE?&@*i8U$aR$lCr+{n!$$_v*}uICV^;QA`POfLgp=&OBYQaUMT`dNW4NeRg{ z`Vn24YLoJpD7vho%ozU_BXNV3Ik%dUN%<=j;Ukoj%!25auR~mUDKGa`XoM@x&bbL0 zNd?*MJZN`nj~=wS=B8c{oa;g($VQ{H{b1*{$feCxpy&UA>s+*ND#&KDF6MoZYyxso zd?_UR^)(oL1Id0?nBWYOe2SkypofswUGxe!Utz95dA%Z>RPS<}yh7|2%y`qP{igee z6ndq5%%8^{we_!x+z*S~DkJCB&yO^(;NvhN>rW3yRn)f>%+l_EEo z@6s@c07wKTC0wVz7gL|B{UD;;+#6@U%a}U`eG.Di_mpT$F=O1bsK4M+YaV=?1O z37|;Iap35C5&^k(6wqv+>-&B%*v}mOxJQFDarE)*tLUkw*&!4|jK;U9kHr!3vgD}W zA{99r)Vj%w7pmdpwx|oc4|r`S;b;&g{u2fuQwKB1 zd1uW&yD&oo$oW}xFDGXz)d9@(oaC@L05d~EmqyJgz?+zn>+dD&(DHK$wO%0RN)N>; zrlkYHX=gv^X^NpUZ<;78h(4VZ@j1Z+)8lQJ#krV7hG!0emM$kB82 z6oco#L~wcoL;|qQfJSI?6TsE0l$+;e*s4?zi8ouVX2<@bx^}V*hpX+{FW{`Cv+ak} zbfh7`%TBwsv)S%6Hh0-FOqC$Su87eRkP4A7RBLT-Z#Fv;%xbNjuiA}=k2>iJ7(9*# z0kpM9dEHMvXex1h$`-6x&_<)gXWZ!Zf+)y(J@zR~;lkNpC~fQDwT=Y?*XLM#$XB#itPbmB)T{Q`)E4YCNG1^q=-OvwALTEq+ZCMJI; z)~xrI@GZQA$(xhq3*}#(ueGAi0v1p$3!MELM)2DU9idP5|vL=Kf+UR|su|;4j zCH8xGi3s{5_=AB6nCLvNXX7M@2D85##6~iX>PID|L>37Fz?$Fso04fMEBF5k;54Y# literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/BlpImagePlugin.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/BlpImagePlugin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b832f127f69e277b8081fb962b77207baa488055 GIT binary patch literal 13500 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 literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/BmpImagePlugin.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/BmpImagePlugin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d3893418a37f4473a9aaa2478058b07ef061fce6 GIT binary patch literal 9838 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 G`2PXq#D=QI!?;jzjpR@@17mf3u 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 literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/EpsImagePlugin.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/EpsImagePlugin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..06c6feb780b036a227789d6855418288b2ba3615 GIT binary patch literal 9236 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 literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/ExifTags.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/ExifTags.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0baca91a982bc2723d517b0e435091583ec911ca GIT binary patch literal 10225 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 T6cfN3`j!3KF#BZGnG*j2;5mRz literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/FontFile.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/FontFile.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..58dc88705a74727c8aeaaac2401e16512a49c134 GIT binary patch literal 2906 zcmb7GOK;rB5$SXBV#Tz_X1(*aSw=9rB`AF~tPkBeDr^cALPMEJ;b1AU~le5TJb~EO3!8 zZa$Yu8T(mW9^`V*&!vc^|J~hWawE<}5@mgV>(-6kr1Xn;e;#L}SfbAf{ErO!mbMS@ zbBQ(tcD{9MH||@q1|#VL(e(A7iG-aaZys&`WcaLzWidR6(=s3K8JPZ zZx1JNQAT+vqj@@flZ~+dEcuzD% z3%DA{+M)xTE3S#2xPo9Y@L1RGTay<3dr=YlqckcCf1FESMg>F#*sS!&V6*=+%0vp@ zZw?kc1C~ugedXhxY6l`bjb;*kkqsatjPlzHdE9lg%h!NOh$10?d_o1iiahuOyU7Np zuq_Bko@C=(+mrNY_7VWgi#Q#deOQqWtfAd7OtPd5!#<1(+(C!Bb@v~OwYP3B4gF2Ng}K6e~rqsS|O_y#&lArs|$AnP-U zF_G^hL9AWyu@Q!oxCAIo!|+F-DsVNgzPNh9#q$Z5VtxfCo@dq{AgcIlX$$%UN((0y zg@;v^uqqB3%(@>|wzB1pvWL8Ks#@h%^^z&7T){U8P-}y{PmWnd6@!s&WDI5Nn4he) z_PG3+0xUwl^2;+S1}j;L!PnM)S6P*(xPqOp8VX9)9+S^hWA#S+;GZPqrM+~7qde6Z zvlGaFzzYSu)C^u~#)oFrDqT@KM(aPT+KQ<51~Fdz^`aN=*wRr=)ncsbR%^g@!1|_Y z8ta#Wsg|Pa1hlaBg?SyA;|lOrb=S{gq1FtCaahSPN+28as)w;&)>VD!Dffh`-U*{b zIjW|5V+(XO)xJaabM&?EE;hDh96<@2#-&U~g%6qLuhMB?YL(=$m8Vz%PI31&-IBPu z{f6wp%Roq5)96s!&mZnQ{kgV}iewQ>8|PYCe4uM*D{EUu*(46^8D_WUBbm?oR}AyO+ESo80;=5P1}8@rNcKn+ni`NG_h1EoF(;G5l@+KJv;oIJ5;|9S~@X4!&3V z=g|H+;pEtY<3aZc*&;=L0ITEu89XTKuPy3NqSvu0?u)fSeg-ywWMC)^<`#T&wmS{1 z$AeFhO;XJcb_ zWYBNREgT@owf9Rrg4~xfm(UErdd>1e^H~H?b&FXF74opuJfFpxY~oi2n-28*9L@vZ zLCLp~U~}y|t9tu=;308}iRt&yB7~;XcW^6j!=!z93Ll7TA!=RvA^p1L(GLKFO@qTG z^%?u;xBj(goud$Kgu;H_5Bq#o-#1{Hl@xnFNYM)UgL5hN&c27e4WS!`+6%*JF6Jrn z%`n`bN9mcS7KS1ph2bhfoiMy`$^+>-uK6`2CXDFF1?Nnk!8R(_fM9?M6nO-)jCss! zdX4s$(LuP(c?b)TITXn{a$kAYKpV$%IN^bf5=)f)F%a#PN3$fGtj>_odQgFxCw(Ni e6K4JYWR!OAtepNSg2!0a?6?f_pK<0{J@4P9fsi8r literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/FpxImagePlugin.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/FpxImagePlugin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c8df3c15242e49e284bdd0f6621d5b120c51a809 GIT binary patch literal 4603 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 literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/FtexImagePlugin.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/FtexImagePlugin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b6177290dd4f341e450221d73bd8cfbb0325b835 GIT binary patch literal 3883 zcmai1TW{OQ6(%X_;<4m7b~Z`T3kJrbuu@09WV=`x=^~C}2M)4M5IdU%VL+fcBZ)Re zYKLSTEA~s1{)N621>(p4f&Li2_9=g%PyNo2mgL6m3eafg%$alf&SgeXqrnV({wZYl z@r+^oix!igG8T^v!;Jrmi7*^Pn8FIozU5dZ%}YVaDdE=+?0(rPYg##|^s7!4^NOej zwf>Yd)n^XFy5>wjHN=!)9}U4|`9sO6V?8bESl1;xVxTm{SK_9a`)E5ea_Z9!**Kb& z4LNgBG7YS6(pt=mTV3mdEGX?6&D(ChY8Y&Tzx0D3I^jX&3aNM}QoPkkJnn{qCMoau zfsFa$_WssSP4-Nxs4w|*=>=}+^(23Iq$!UAO=)?(?-|<%-HXCRhDpq$4o`Z1ti^Cw zN#2u69-eX~1L?+6a6bftyMlP?mR+bst356U;4526a8&~nQb-pFK zlE3Ki&7K>@{661@$`qz%bcGlzbud9z5aE z;gR&jt{QEOcpW($}tcWJ1696yLN^85CgE?pu(4P1xW(rL%a_t+A2wac;(n$CN z_@GMwzj^x8>C1B0CR|p7k1~=hcZ0GZ>E(W)4hvTp+l>;r&Npyri8XcY!5LyaO!9);F@9RS*oMpCVpG zkBHr7IjgnXA$nuGow0ViABi-edA;5KIdy|#$0p#j`s>}z7eBmwwY9gm_2eIh!qX%l z{=K)ke(*X*lRG$(K@uH2iM$leC5aDSy?VU0dC--}_^7SiG&p$fA08mz<$b!3;9Y$1 za_9N-HWEX7`7%hme%KnEsv5*^;2T#k)C}9KnVR;6>m}?zBG(r&`NH+OD2oanE@jcs zj~v^nh-o}fX0paeDM9PlgzNCP`$dUOUe1d!pz={Lg^8Zmme~h zEZrnazQs;roEb;vCj{Zb{9wj2!a6sT(i!G|HWT|(S(L{6^lZ{JyP%aX%nR$xXji_Z z9$4qrc}Y~TTRkg@>ai7n_sl3{UO5j=`@F0r*3KZY&~ZiYfq4!|WanAs!aT2@*~!!q zJGRu%qDC5$=}&dS4LprI`dN5kcTMcfgum0gH^BQ*b2TQoW=34o;zlxiW`8jMX8fHH zxS1oMbIxFk`i64}c%_@tia^Yn!h)`ODNwY@6f=*WI$6cphbY%S=aO!AUsO|jC zkX7V-?i$P*DYpM z%-@&{-x;fBGHb>h&R?mbmX?#1aHnM@KTJFe(k?$Vr>N)>A%}Fp&0TE_V)r#jiq!wN zbyM{3p-ng*VK*i@wmH0WRr82v7ou*GlsODdJD2zeB8;h3HAMtQ!!!-Q$B@kxAPO0K z${$dRR!!PnqG8nU@)_Z#W-)Bz8XziJO7)8OA#zBZs z3)85Oyffe;%)eN_LJK*zP!iUzng<;hMEQq}r#qX->K4`$25DRFfEMDb@tHLht%o-K z+tOnSDD<&qI;){r!K^ul{BDcL%Wr^AN)O<6TM@|W*BCNe;&xJGVrKb~&cw`6)a!IE zt5up&O=_>TTBo68*N+pabUtWwo%s=M{BL5y2Mw=I#@fUD9{Qf3iSJ^tjrt#J$iccf RYuVOpX|Bu`XYJeOe*j(VN~8b) literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/GbrImagePlugin.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/GbrImagePlugin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c8e5862ad21986fea8e7f0d9401bddf2dfc85f41 GIT binary patch literal 2092 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 V%Qa}+>z(Bey8)SvzcuH2|0lqY;XwcZ literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/GifImagePlugin.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/GifImagePlugin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..905670b5b2be2ee6f498cac3854cc02876c28cf3 GIT binary patch literal 23572 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 HCd~f_d6cM! literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/GimpGradientFile.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/GimpGradientFile.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ade7866d51b2dbb06bd98353da4cf5f27c8ba306 GIT binary patch literal 3709 zcmZ`*&2t+`74PX8jij+8%O8oqmh1pqO9YNLVWAe5Y&M&ZHK7tEM4LS*cB#hdwlc|R zM(G(Pv1`O(9f~u509DR07mjeC_!~G4;+%P9xo_gc0SJBd{D=5@c<-EUsM z_j@m?Ry~H_AB61vWsPZVtjwja>sO2gZuD`;4HB8cN8GqY*K(RP&dG#`Z8PQzF` z=|hz@xaQYx>eA&Pih_+u?pfoNJo!oQPk;XF-~N&R{S)o>Lm?um3!70AWZE7isdkmj zhAQrII%@w%yp88FUHEk{xs|gAma6A0V-J|}gwNYF)d2v-zB>3CL9yV> z9ncKk%J>f7v6k2jeKBt;

>dTY)%ANtscXG@&l5i>gq2l(Oao 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 literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/JpegPresets.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/JpegPresets.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..76158ed9cd0d74b63152c25feb974349fd37e97d GIT binary patch literal 7944 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 YRhL()D{Iw%FMnIT@oZa_KRN&UFOxN?T>t<8 literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/McIdasImagePlugin.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/McIdasImagePlugin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cb9d8fb7fdefe2f6aa2848bf339e89554a04eec0 GIT binary patch literal 1535 zcmZux&2Aev5GJ|YAN|XYQ$a;qI01Ul!7kDk0s4a?wVf6!95;xQ%R<0nEmFeTt6i1k z!m%J->hwMAV_%>T!()5WEA-ONtYp_oOJIk?kF%VaZ-&epjVgihyO85Qd_w-j#ogh; z;wd3izXC-NK~plJA*HCZl!Z(vof z@~c4lrxoc-@7e)dc1(KBCHm`8TZ^+SH?c|bOdl;Ng3P-8Nj#ReQcm9|skGiy$x-sg zx+fP#YU?R!3YA%YlIQ6V|GF8dJMise_-#<;WdgslE;v3z*Ur&009>P35B?j3qC8ls z+Ku?@_5N3b*IFt)IG3r(2M77En8?iN!ONF>&-MpnsZE?mDlXE&VRACiiIF?gcz6b( z>%oiu;iu1seG%(2i5F=xPO{zUh4rI&IFwV<1xK2JXj9dIX$apt1G9LFS$qtNBq0?9 zh^L_=Sja^nT;T!XuJ9qJif!F-hKz;Y^Zow8cgM5#YGXTAGTt7+j>5z(Kgu)t4s!_O zS2Fhj@Hi)@z+FML|0DT@;_8YDdQBJ9usOY?s$(3S1wC`rM}jSw;d6FL!4|9|S2$y8 zJmX&lg3swS>~si+Q=`hlnLEOTig;&CeJOlS7JT7m57uY^=z*v#xTpfUu|{iv{#2rM zKt0j8C$g`x?uIBkAR2|cDqkJl}Pe9eXAeyYswkW3o_1FVicdE2bIrG+%GsHJ(n{Cq%o$BAS z`|n+Y-SV^};0aq>A$vW~22qs76B$Le8evvNih4bYelFs4z2mL;x0|c^mNa;%)DE6? z`%P~XE&<^Xc$1ZAkFVYrcy7rm7OZKniV=(oc+4OIg&m^se@hg$N6B(o r%kqq{q2w59B~_V~dWKg%Tv#PThZ0-C5GbU^n literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/MicImagePlugin.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/MicImagePlugin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c7d549f135f158a95b5f158798cc64d0c6dd9772 GIT binary patch literal 2567 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 literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/MpoImagePlugin.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/MpoImagePlugin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0f6810de6352fe6b843b09d511b3a66b0fe433c9 GIT binary patch literal 4897 zcmb_g&2JmW6`$EJE|;V}sBgzfH)(=~L82%L(xj>4+L7c~jx8&;(-v#Fi#2B{t-R#Y zvr8uumM9PzXs$(X1zJ$Y+=?RTAJB9Ef<3k;oqFiahq}Kv6!mrPN;~sr=FRMzH}C!4 z8z!}y!|?n~gxk&nWB;PY*~dWRDq}qTI|#u9k6D|0oD;3Zny0B+_jFYoo`G7A&9>!P z?UGk&+nx7?RZYR;#JyJuiCD8wf2}drpByzyglJffSwcMV&a+MO@f*fbx`%s znV1sO&zP7FYr9hix;Gs+N7WEXu079>rl%Q{=tyNiXa) z!(#kqH{4cTn{jVD>J;PmqgLxo2R>ycAH0v5TGW1CQ6r10EVNeld3pWLgGYN=m_97* z7S`_s?eKXe&7_;Vs=u&gnDu0*FgB7-*wjh<z7FFo*;-ASy>{5i(yhC9 zKU-Vb+78n!NPHRe;;mcJqpdW`!gsns^D*?3Zf&mLdiQoWIkWG@?w*{*!f)VBH57HO z+UIsaQjl0GAeI60vo5Ume)cW}HrVf2k{);BX_VCHO_ z=lY?x${u=sE3*cr+&biF-R+lhGu;(tW)I535~V|JjtLuYd5-0!T_&7mRpYyrL*BPD zC%3c8ZuLNuU*`6pcF6j6ZY$0TIBoeLH$*iX%k2X`$39|xBO4#+d1<8g+#F2gd@y;) z4&f(H8hL3@&$+0P4W5qWrWjjb^T#|-UdyHi)A&+ZjOS%BvCOc(dB8zWE;CW@J7TI| z$!4ezdwOF_>sR}=yeg(1Yx2)xx(_Ui@=kyK>{`*VHChxxIOvrFTKN|M#ab!*4Pf z6h`<>)Hijx>xZ z_Vx9**pZF##!FrWj-QB7Mx9nt=-Xjdlu!g&CY6B~Wq5|nk|a(Gv$+#Q9a+Z2!d^#r zkR`IP;NHDvRv6?yg%hPw2fhU~ktHyC#u|h!N?9`We;uGO^k8eK=EBIrI4%rwXIY^c zGs^D>o>n6nHt~%;|LOZhIqblN@y!s-VfeT(zm_ChmBi7Kw6O23t$pFIZLBuNFQ9@% zEMS1^Zp%+vt(5jStW(d4+9UMy?5ORxBp^$^Li~Ev5?;9tTgYS-rd~w^Suk3FN01`g z4-pu;*`t8j-`;#c#H&@m-ueqx$?<_5S)VMCEAd8$v(IlH3Jwy}cE3|wa#0V|P zGc#>h9~k-2OWD9YWWxy1&^DA|H>@G%e}H*IbE=($E*02JKf%Ej6MoQwjrhBWYpUma zPSz8*E}WPA6blKwsfD5n-B7`NB@ou*dhCl`TRS!OZ`mF3f|WcBeVnl?XXu{AP)U^ zti^>cjAypuH5b?_I{=4o2n#(Zm%+EIXC}1{_+u^o_$E_p;J80kW5RxHU`7cXSj8`+ zE)N{y7uJH(G_B=VREZ-7U8AVmC~xe)seIBUmkngS^AL!tYvt|VJ7rZ3D>cvM)&uw_e_Ueby8koa7s+1J$UcDg-Of>HIAYsH_w_k(J<|y3r~O;x^T|P zg~@c}3_6jrt)o)=1AUcf!ov$LSd`-=5I#ZsZ!xN}tO>q9drq(umcmq;IVTQz8pRx( z7Ek{HB8P{OFlmW|fpEwtePm#}dJc;N4TRY>2bKU&A23O+rwqv|YQaCH85%M#@(^TM zDr2A?TWDDGL!tNeteorQtEZd_y`0_3pgKaY(HC;j;$6Rr>G@LON(!neA!e zVp3zut0?vQ&7H9Mcz7r(bH0I5`2`iqF5e(ZS))PrCO@Y(CAM;z3W7?n>dR0a2IVA@ zatY7$?-Kz0jA$bx@+QcJF+A}vsk@fQ2-k`r_SLl8=(}JA>bu{fKYbkqg+(&dsz!!e z*C>422%S|G7G2$fDI??@r|Ja!i)26N@Q0K@ud)jAVd(k9G`W&dp27&-9;EW1B~X9F zs|?ZN7e1qsmYNDHqkQN2%O@ddczaqrX_I8mvjp30HoU z6Daav1$%HtspWkcbW%cIH`@u_kpOPea?gDdBUy4XDd?QzJg2o2rfU=~)vAEQ_-#d9 zSTl8zjv_%0#mTJWc+hdrFM2Y5e@5vD4QkZz>VlVlPywH2RB=sT@QZj!-NSvq za1e(Q(Tj<$`u>w%5Fd|NWK2O;)Q7b%!n7%)F8!Y1y$VewX$Y5X#=SIp8X{O72M9s{ zoST9Kr9!z$A`o^+@}HuLt3Vbt+hMko2>C1OR~~j+C|@H;F{;w{I-sVD`)Ea`rCBhCNL7$7pSZW)nowj{%Z?ML474OQe8S55GS^0g`Z3 z{)CDTsdx)TVIh^L{g7))3Ma}q3Z||y3gy)8X9$LLSt&~XBjB0bQ`Zo6V^WFv5GiR} zUQLGENGXtnsw>U|>YF^*N4Es8e$u79D<#dJPHjiHm7FR~QKYNFULKz46@s{wZl~2L ZTcfMOG{3A>OHiLt|0(@8HKx_I{{cJFk97b5 literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/MspImagePlugin.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/MspImagePlugin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..51e90e4fd6307a252dcff08449968d66ec61f1ac GIT binary patch literal 3505 zcmZ`*OK%&=5$^7Ja`+HM%a-l6wFGwaVB%HcY_b6oBk->6>?*Kj#qz?*tPEnrZpxI% z8MK(QQ*$$l@1(@s?#1gb za8g}@pyy7=@x2?r*!VJ4I^Eb+{VdtInRG@26=&(jy?dYCy0NjP(kx2aIvVviZud4f z(q5)M8b+NR+$r5yTecz{${laTUosJr2-@`7c0I735kEVm~tsmXw zI^ARmjA9{|3{Jq|03x)dFCFRPSsdx%UZtXPvJ)AxuMf&@-?{jV(f$r5XWKB_h^O9f*i%l@A(#A!Pk1JBe!$a3DJCMba&f?)a%oMh z%$Anq(mt?mvWKOKom-ic^V~iVpR$Sd`2F0H){dn=md>epZqC{+jg#JiFs*+ex&m4c zIwn2yY^5Ecf0y}(B^k&v&JrvF8M1O@Z{cL^vc#jB-s-7dcDlD!Tb(v>tMMFMuo=Zo zSf<&9jWl`7lpbJQ-;AWucOI$EPC6PC{Hm@}HyK9PKnhDoyDx;9WXKCk1I28nARp3a zKw6bTbccnlRV2-;7UlK*IE(gfX`Sf8(NPR$_ zapSbhESt%zEn)mbFJOU|TlnpE91T>vT?B19@2F3FrQLo!iu$j5+-{-=QC2i&ZCk3e zqkBU_yZ!-|Idx2fEIO-hfczL=>Vx>q#@TAZX#YPBE@J3gI4DV1dcXkC01O00fD7GJ z9hg<$FWk*hx2yE=hbC$?^QOV!^7?2vOmvohs&%x#5@$+xqmD9{KAy`)!@l|oV7bx+ zdDtQEIQfwm5QGd){siZF8z&h*6i1BwTM}mMZAS|Ds&$bqume7^#+M9|TxlO6rf1$E z0BpvUo-ye@w@hy^(@1ZD9q}VEu^+H_!N%zA^8V+XO%U|E1o;y#G6(-If zoL#=lvMLbAfxvu2OuUIdj&ffTel~J(Sj#Qi_W^r+`_)c95M9dV@)FkZfzC_@xsS7y zbMF~@ZlCM{gqJ2kj=mkHzs*Z|aDh$Ac_1r4XV90;4$sVes?>XAVfV_UYWA$=6}ky$ z81K>ecs?&rDy9!(@vkg0!uf1WK3mi5m5%AGukQZ0S9cF&&74l0obGK4 z-re2%)sq9JAAE{PNe+O&mt8^KwH`pqI z&3+W`wEMkSg)Zy^^AucZN@fM$Gb*fxXqoIH%*nmbgJrY*p$dI6aRLE@MlqH@6&FnS za;1T8ilx%~AT{ob^IY%>VndVrFYA`g1MYt<{#&;NB3S@^1^<)C=0oT62Cq>Mq8z0E z*k9Kx!RuMJ7|*{65zDjvR$I2YpZ*ET_S^SGvL^IPMMkKmdVn{m(p2a6FUB@}$RC~ZE8|ij)PKfja(V#ohUZ%sMFW0chqv3v@jwOlk>kH>X&ODY zmj~$(Zf&Yr@{^fc(@k3b>6QoZlUx)<(|PlnV7PiChOM zTwuBvZ)q}S!L+fSsbReKW-pHPz9t`?nZ<I>irZ)Hp>soE~Qe<|n}pTZYAS8?GUlJsk!8ci>mh0{Q*laV$2*`|_}6Cj%de>JGc|SPybt3cfCvgB Sf!ioGmMZrGuf9~{4e>u~zBY^i literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/PSDraw.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/PSDraw.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6b3444fe3e9b8a35c50e190a5cd48928a4b6d4aa GIT binary patch literal 6135 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 BWMBXQ literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/PalmImagePlugin.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/PalmImagePlugin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2c26c704d9635f84005a5677a9e05f68c26254e9 GIT binary patch literal 6999 zcmc(k%WouC6~^mURX^NsdpzUE$=s)j*!^Vkx!rdt8?#n z?^m~~dMd+uy<*YlPdeBge%-SE!43IwsqsV0Qqk`y(Uw*{tFJtzIJbLt-|-yE9qsnq ze!(mBi(V1!La)>>du8NB%ICZabj=ux}lrDb-add(MXn_ zr@X13*2{W@>RLhJU|z2VtwUQ`lrQL2eKyNaQT_zy`pFHey>`SiZ>zNG4+g{7kGsP` zL{0npts})p?6h#b@9zfb9KK%f_5waUe2HRVc=5%p;5my5+s@HrDi7yOXgkP{{(2Jp z<|NoT30^n>LY@dl%LbjQ@JTR$^H757Nl-fp>L&qI06_xjSboqr1|S^+kd6UJ#{lwvv=#^;a6bdE773st z0aPS_iUj#&%%D)=G6SF@0aPS_iUgcv3!5?W6&e5)rUpPo0;os;6$zjs0p~dFG$_WC zjsYNK%SSF9%MaoPX2yVu>;e@Dq+>Ic%#WFh1Xzm%P>}#C5=h5pD%tX9DiT0N0;ov9 zxp53uNXGy$a<*Ck=~$i{#{i%ryFf((=@_~|C0i{(J`kM-%XU;tE@8UPguq+{qV9Rq+$wtN5t37{eYR3wm& z%~Z1G&r~D;l>jOdaBdvKLFpKPbPPZ`1^^WfWDr134S^xOhc(`BkDA-#C?59DnW^v9yAd_|qcDh~K<_o*^P_VyIS`Hf zkfxmdUQgY@a1eM-*bBUJwCxXi-9eDr-F|BCj2_KhzxA`N2XPR+o0fOzebB(~2al>z z9Ihp6;Hi6)x^MIDFdx1c`LZXbqRSK$>wS7NcE=8DT1^~nPh8p&g~12lF7X}8)Pb!F zhe{XkTHy=a)`b;|D--t;?Vx4rm-I$0ap{|PiSvo|3GF#u(&dlKhiYOCo})gl7-OB= zUmauGcSq^Dyk}KcsMh-2($z1VNii-Y#eMY=?d`0eKexWHY2G~NC9c$UnscZd zV6JWw|1V?kemiJ7b6L)&GXRU&0wUU--%_o&(t*U6XbTez!b@Ptu3~?_|8G&m`pJ3OO3jCs|87OCYq88JjnZSM!KPuBzh1+5HBxR|yH5$=#h3}6?HV4kO`GI0Sob#ngk3$vlHTfxR#ZT3% z)-nzHP~F5$?V(E5{fBm1?EClc`n|Lez1Q7|r#HQ4sZUydrRVpzw14Rr)cO}I)vUdx zPUPPW&cD(dZu`CH5+&1`|3RNNDC>vcrIDsGFH+W4;rDaEy5Y+de#OZv6!sSA-bAmh z*Y1UMPhIN|b+EQqUh|_hzN7Bh>o2G3;+}KyUN5(Ki03GDZ89h=4tI8< zAUDe>%b?Qdly&!eCY@u`I)|>0MuWf8xzjd?o);sIh zHquh|_(_YM*KfS`#)em-aq%pwP+|@iu=v#Fm+@hV=l(Sg{9GnAJ|SMA^A_Ew(-Ph7 z{WuQ8D|D>A5I)a!-{f$Pi%Yabo?Q5CwC>Uqjs9;y>hz=C)TJj#l)B;YUgVW2;y&-q zi$_PNJJ7*>uVtPt)V0G8E;h>Fjl7z92JxC_Etpp}$HG@xT6L#8;3b|K&iZZ2#`G8c zngTuVTvruU#crvJTcfAo88yuoRl_c;qEo?9*XF8*Q&wfS;#Slewad!2sY=!G^lVV8 zVy{ws)@~3r|5aSBXyD1(Pz%a_ykOh^E z&eQ4X?^W>BzQFlS+C68fAbf&CyF4|Y^XVD*7H51K!t)$Zd4aO_Vp{2RcEJI$y!E_to&hTR%?HLaI3&A_hvy(rH@UtVl#RYG2 zz#8gduuH#6rKMn@GE4*1rzuOO{=PUn7gp)?M2s*jrUT}%;I1w+kR<7AC VyTA3iLyh4HOs`!Zjd83n(*0yItt+6Sl@rZ_Mq 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 literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/PcxImagePlugin.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/PcxImagePlugin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8b51058dc0112b1b821233a31f2c8d160344de86 GIT binary patch literal 4044 zcma)9TXP#p74GioxoC8;EX$JYTvka4tRNRs1!2kF<9I_hF2~q=p=O;@$?matVriuG zjAC1is8qDPZtcsyEKp_hK-K;MegIGWhAFCefET^6z%DmC#GKP3I}R197->$QKHYu# z^yxm|>1k)PHi75Y!d;)ABIFNPIsWKSd4mud{0yT9dbQ zM~5~p^rq1=9kXRQRx9PCl+0+_t+bO-ya{~P$tvCgKIe>4;%Ym2cYK#R1#w1XMeZZ+ zOxz@5OyoZzBJW!Ftbyhf#keSl2~iZ2Kj+S*I4e$x)6lcznmc8;c(39X-HBZdw3$0o zs$SYN;O*hUccA?R9!_bA!x_9Mj6B*Wi39D_a#zsfFYu;9@uWW~I5F64ByV8&OO1s@$ zMcs!F@(kV?ba@4s2wXk|25zu+8h8zO{(ykF`n<%>L)<>efz)^+z~Ms;3GUtJup*fT zMot`(y~UYp%kKuR43;5Wux0%p7U0g121$h zb{eZ2u=Zei;nv*ch1IQO-OcX0=U?h<$7a2;y6Seq8q5-)2^A_Qp;(3YnFlR<16Ow% z7?(Iy5I95>4iIy=u!JrQ*i2oRu*OuJIh+Zd?Pv=#KXUAahUbSXvKxFTv!Em9^KIXK z#)}ycTkt9`{sydx$UQi)T^g8glSdS5J5xm38PGu%uM(--q#{cSW^UOYKm;o;8oykRX4CMXGHp#Uj3dSGV3(ben}U}$Al7? z2m1AKJ{Z;4q0B;Qs9ACY);B|a#}H!?kMzih%v}gB)s`PwH9lZ#4Ax_c!Yd>K-)%7Y zFfx)-OmNb-`YHd@QOjr0QhY$gNIw-?J1J3ynJZ%Ir)-Msg1)-#|2X1e z8no@hSY4Hg)_rjz(W<dRxwhc}GQA{TDQR374zl|(0sWcs0Z3s0cv3g_^>@4)2 zPFC;k}~31gzK+Z(@ry}fmeY8=77YS=y)-`Qe%k;kX1-b7kc`_%jd;htS#QWK1ADwZvc@6 z)jH=LJU%$^D1gHd!h-DS(Cg*7UcT#Z`0Y(!8Qy9OcW6TY&snlATwE`WE5S8voeyHI zv$|EAirHEx=F)8l1wnCoY1rVhTpLf^~Zu1PaS&^R9?1Nt6IC@{Iqbc)n zED*J28A#2Dt$N*WwA^|;E0-l8SKtjWEG)vo<{VQ}NR%ozFmjT3IRhL>@hr*{N7Ao9S9C`-R@w5BqVfVr_fog+e4s7^cVi3V7?--2hE1$SRV7yrT7`f(dN8;! z%4RToK7qsEONWTMa6edvOw{Lny>Glv{0b)_+dfB0-=w6M5r{VQXK;u3h1Rzq$5{g! znUCP&);E7*ZqiNE!SQAhalkS@!mGs$1>uoOhHD)`cZkPP1qHZv?vK6?J-Fj?HaYF5rvT#X?Qd6W|e+@ z)DE*N{mHy3$SF_9LZ%sw&6Npe2e8=Qg{$QT3x0)nf-t?4i9iZvR^-Jv+5$6ZfW?q| z578K}mC!;(0dmmqN2{I~sC)zR+|C$WON+a#pNTSXft`d*mKo3rDH8Bv2Kz@DoE;He z=_!Gp{b%)r=gDahB@P@tlBk*M^7(W7pt zP(JrjjR*hZ`4X|41XrIs^8XP^yd2AKA^9c}6>oT@R6*wv2%IDkzkxE0(OMzqOK-k6 zE8l`jY~6OZ6V$ffYc#vA;^nK@`P)bkI%0iO!qqoHc@1vz@^x$)K{`54zJ`JYAdbE6 zhNHA0Uqb2kfz)!UQH8u*LMa3Nm`MEmQJa-ycC)_X`3<=( z)jjDlHe&jg>I3Qn9Fl@9oKqJAc^g~QLBNj~l{V!2$l>CgtaR7C08WNVX>$Hq86FI$ zaMZ=!3SA#BQOAb0yq0@xOV#G$zQ)!oNe+As<0HV6otd^E`GRx7!T7V8traYGH%ZpU NzMab7hRuha`47LlpGp7# literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/PdfImagePlugin.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/PdfImagePlugin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3dad7be3ffd00ea5d27eba4c29754d5f3da2dacc GIT binary patch literal 5050 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 Ht)l%8w&^uy literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/PdfParser.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/PdfParser.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d3077cfc3dced8f56c6dd26c35236043bdfe41d6 GIT binary patch literal 29833 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 CYN}%Z literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/PixarImagePlugin.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/PixarImagePlugin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5bb0872b74d1b608629845fdef387005b27ca051 GIT binary patch literal 1318 zcmZuxTZOguzi*B!~zRcElGSRAhH&FN`cSS`b-;o;x2mrCzH?4>)owQljNhf2-fs}{2Ri>9 z9ys?1p=JVxB$DQ&pfROHGRbpR@R%1O7S0#BSNL%Q>^&LE<|`2gPl#;E=oOKX66a#g z<52PIrV7tnDpbLSQv!a3zHDz8eA#(M2Hhvr5Iz@J1)|xvY}It zvs}SGFZ=w9Tv>mn)g)V3@9eTx#`;>-b6r|-R#o{JKff7hbC^d+tP945~VR>-5EdX;>ppWCU`sb20gY$g;`I3awJcr0q{V*xRhPb@W-7iOyO;Jt6#O}D{?gQ}S-KLyjg52C{& z7EnP0+U4)DeI78M-tn6MEcb7h`_O$h1Tt7$jV(X$ZIC2oTBszk%>)6?bF`x*`C*>s zZ&v(CrHiz-y`4^^GGm?1@JZ@Ep7jo(vk;};1Mvw=gZ&Z^0SG(HMVI1mw$Q_Y*gYm( z-$BB^(4dV#CUbbT07Sb&5RHB3G6zrNEGtueseKF~f0uT5aNO2vnqe0^s`_JCjeBon jYEi4wAn5^jta!I8s`PNgr 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 literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/PpmImagePlugin.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/PpmImagePlugin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..eaaa3cff04163a488fe5491d01dd0af2bfb26c97 GIT binary patch literal 8342 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 literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/PsdImagePlugin.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/PsdImagePlugin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..65a0f1d3e71f2b8671974c0099ab795acd5f0ad8 GIT binary patch literal 6116 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 literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/SgiImagePlugin.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/SgiImagePlugin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7792f5fbe5211d28fdea1b0744e4957c149c6b67 GIT binary patch literal 4456 zcmZu!&5zs073c6<6eaCyKfHEQSNU)fp{difZk#W;jz8jT<7^B&Nn2(Efvcfp?neNNNH0tqboDd>15aaM4z0jK zo5`(#J#+$R=mxH`?LlSe1y!Xx(EY%NevbRR_Kg|TcpY~G_X1z!O}@mJ|KJAo8ya8X ztKVpRHFCGzJtJuFSNK`}eMBsvt;JtJ+Y4x0L|Zd*_LumJQFEp<4f=A_*j|YmQEg@@ zdsW#BN3EyG;x8RpYh?8`{_>v~dANQ@YrlFx-=WQ9HB6E;5A!%pvJKe!`lknsnsjNc z55s;WE9&uKJc!V2#c#f~MT(xjE$xwrdhtVPZSCe!CT$VrW06R6D@_Mo8szvQUB~Y# zed{$SxmIX#SW`VP&@*f^k$2NEHef-#5^Y2cl0CTO$%qKQR34sTz5ck}Zs z64~a1XppCy*V68I7$teOdHeR2>sL4XQI>~kM}*_S=FNC(GmG=+hoi8&g9T-qx7KgI zai<@vb=?|_`*Cu9v@4xX*zHE6{6)MVqe-kWv4n?YHxI3w@4flf6=~eQab@B_D9eQM z!Nes=cH3O5??PG$I&xDR8cQ#7qw~q-tTD?%wq}f z{JV--K8ayPweSn;$v0B}_R7WqmE>e)Bh6c3(xMHHsoq;XY;c*SD&;7l4r~%G2?A89 z9iI6-$;P8mD)NZW#ST**9kTZX6}(u5m{ioDZ;1ZZ!6RJK!i!MOdfA2gNkfDWR51ij z){i>^K(i?I-bk7v3VB(B-WTCu990jRtWJ zi>4w?l0l<8&hm8F8OFmX-yKDQmJ?W=&#+QyQdnT-q}$dFeopoy}rhvf`*%g00wY!AZSbeu~Ei&RsprXmJXDa4iT zhyaP^ZKu6n7GdJ(9|?tWrD&?vc2Z32ZK&BcL|r#^pSilpT;>|C;ho&3p)()1$@E9A zLG7Ntz&vI%6a5gwOkIc6;nV-;J+doi*~*p?VLtLK^U!rnoh%Rbq&W`;=hZYeuzOVA z0!OOWwx!$YB;hdXbfnjz&psZI?sq!(#^KK=Ut645uMN9eB zl)D6n#}^?yoh%BguAw4OdmsY$nW!o}Vn=wSZRe90LqYOv2gbgePUU27WG~(Ds#O{kN1qH`i#ea z%Cl0`p7GS5@~rYxPkGjg##5ft&-7U-K#fjTKr=jZ+=o}Ei`Yw`_-~nD{5e?KesiV) ziR;rQt-ol3dOcq(@=9UPOd934?4Fe`7mR;zkD^-WwKBu0LddGn_3XwaN-_n3;uLAi zBwir#QxfXj)=Q>9XaD5fJfJ4y;Z`JCX|K%M79guNiXTP;@e&2sNhpX_2(5;uK`s$% znH%%9IOzf}qi)`s8!=3H){0BSe;`1N-fd0H*8Qw?@Cf133bSq;OFQl-sfZ@}rMvij zgx?_0FJ%8g7cDR@zLSX`lV)D{(S=N`Ko#d8q}3aYv%Bq8ah_bSQI~3jS@1~2NiUT~ zKgz`$)YhOj7v>gC2z)Y=<|xeXN>?Fx^e~t1R+y<8mR_922`F9CjiiBkmUcO)wA2cu z4d1w%(+J%iL2w~nhmcO5mfY028)jji3$X!rdr4fUE`%B4BN9J>kS5Kr+@AMf2R@F& zxZ5c|U0~o`k_OOTvWJrGN;V1XQJf6pqtQs>5DBOi|j(U)LYTO`72jIkizQQQX8UFvFg+RgGW(1NP;uSsti>>#6qGSX^AlD zN5VpzG?M6ntn@@WEYGu7;S8M7SXEKGBHp9{I0;I;fa)Sf?NL69_es1%Zj)+Ggk(RJ zkv3QR`cE{eOrW@vh)(ASVit4N_HQg5;}p9km5xQ(`1zCEI`6-l7PZd>9qIX)n9 z1tO?)M&rRC>)=x)rLYb48zdAEtdsVb+?*y#(;MS&EhvqkG!?f<{1QUi z;F59D7Y2D+Bxs8ixx}BztvCtAu5idjjI~51q8p-3g6d3_VoUr`dOXWa++NGPX;UoEc%dzv}8PP-OvV d;WN+BEgf|6@ooRNS@%9~e&U~5P^h!2{~scGCL{m= literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/SpiderImagePlugin.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/SpiderImagePlugin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5e7e1f15bf9e60ad8720c6594994274daadecec4 GIT binary patch literal 7417 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 literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/TarIO.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/TarIO.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..24c49ad6f90e011a9164448d534844834345ed8b GIT binary patch literal 1316 zcmZ8h&2Aev5GJ|YAIXwaq(D*|EwCuiHaf&bZh>1ANmZjY8aRdRTm%8cYDqb3?~g)q z(?(cdsuX^P-t1#upwG}};I$_m`T{xBoms1iPy$N~habP;d^6mt-|rF_e@J!myHChp zxL6Nb+HtZZVlsx${nx^fPy(k5A{^#0Qnf$M|cEU5Vu3`Is%5(rC2p6pzZDV3p& zUiU`)f^ahOAyn7-#|aS4e|Q{Evs}g1H>LKPFG<7x_?CR~;B|6E@WHXW~Ks&s7n+;MCa=jE^r zpC0XLU1=9cl~z(=Bb2b0mDX{i)R|*h<)Wj#y&uK!*`f1IJyY66LS$uTg>c-eJRd{| z&Zjznpc*4PYMfV?6UR%C$S$?v9@srOo(fmD_6kU6s~_ zDy5$myS?_X1j BRe%5h literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/TgaImagePlugin.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/TgaImagePlugin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ce67796dc7b001b9ee70fc05ee05d6e949b86885 GIT binary patch literal 4359 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 KhizT5Q2q>HCg)24 literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/TiffTags.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/TiffTags.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..07b1a9771d789e6fbdc678eff7e9b544ca216ef0 GIT binary patch literal 13840 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 PKFR3iBfm4w^zZ%`a(}-8 literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/WmfImagePlugin.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/WmfImagePlugin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..970c4a45768c81a824e48c689fdc4d21ce991926 GIT binary patch literal 3963 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 ZZ?H1uKxr9BMw-{DbH(5*x^=J7`V-C`hsFQ^ literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/XbmImagePlugin.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/XbmImagePlugin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..671a66f90385e50e8acd69c5144af00196882d95 GIT binary patch literal 2406 zcmZuy-EQ1O6!whA-d*ocl2vG$QdL%aLARx80!S4lv{g$%K_#tHkSgy6%kj)^oUZL< z?4`-Fxgq5#P|@yXc>vypx!{JYiZ|#DoHI_!25QSQ=V#8$nVIi9PV05Yfaf``2W8CUnvF+J$$tw{<&`FuwQ{q+l zIbP+p=gf1yFnFCeo*TR&N_(Xv)2s4#`5C?hzM8Nnby3}Gh^la=CdAv5Ijz^GRBQ97 z@w3O;g4UK%)n2{!@%GhLyCXZv_SH8b6&9-#xtkMG(fu#F%Oj z{6v@G$e-e&o13pn;LET%P7zMr?q|7-1}!4d{?d?j=w5H#yV?0B6Ef>O6a75xe3pj8 zSR|0w*4Ewo_c}e1&((6j@W|{!aXoN(7B=T62na2dWHae^&%tS#gkuyNXFv zs*ewnJlMZ4Wh#{!CAqSCG93;Si;`}tEI&>;EbV8}NJu_JZm3Ec-DaqMc8TV$wo0rIuOZ6AZBNwX^q_cc!c072uFJT>J!*9iR?s`?8P5J<)*;t~);IfGFqx0Vg?+Aqur z0%dm%y)Vk%X`duUhm{v&Za-{Dd@F@V$^1 zVQ9;eE6{1k$TgJS!v-^-fg!R)-h^fYKFtw_G=Lu$=mk;(rksZtctQb@IBLXJfZwA^ zgg@2mAhwt;_!6;O&;?=EDi>>CM=N4hBEX9*K0pb}X+f+e(y2RyUlPzsVm((>3T5X9 zgDB}qJQQU}#BZ^~QkcdA0KHsB6Bd3=6`h?|m!cPCxsaN{@_q2m*zjn)=9?j6KNm>` z)SMX-N3obW9nDl-NXqL4KeWzNRSAElNRol?qbCm(JSpu zv%^LrmM@iyIDN|>kdOX>{z%@YkA2c(k*Bsm)pLfr8E6-nnRA&r=ghgy=B<`T;QK2V zYe5Zo7I%_*>IN<) zg3TMewxEH>uka@KU)VwOL&96U{etkeaCV&|EAWLqZwY_5Equ{jSa8aocM#{D1v6OJ zU|qyG`-}{F$7tn%>SmN>xr$VrXXWNGMWUshkJ4x?bi*tk#EH-Trw`{lE>LI3{)x>iWB6CY@2`%sBe*Q8JrnQ41F&yx|VJo^x~U_3;Rbpfc1 z&;HDAfYp0wx3ziP0D6hj?X~{Xtxx-Fw_m|Uqze=YAy`iTdh+o7;crSI%i$LyQTgyu zKANN=Q|0ix}#x&5?AmzPc^<2YL{ z4s|_@Mk7(EH_-wHQ zqC2c2VdIoiN6O4T#ax3qmCYM_cKLDTaA(hwTigRZ-qHr%98=y{A+wrlR`wBnM4o*$ zs~ek7?czQsCh)C2Ci99x!T5;JSk?xtea8JGku$?>FS!6au*-!N+={fhk2h6K-chZJ z9Z_C8vOwR*vqr_L2BcOOH2e)=?yM3x>s3%}KzmiWU{Ra*Hb`~{XoNe)qN~9B2JY%X zAeT0-9I=_FIzUJ`I}(hD#*iFUtbXZ*1{fB;NRc`66)!J<8N^ql_&_aHSm>;va*Pz$VP{T`OYy``0)u&SiG8UY3s>{555JMXiG+4 z444sRrhz5j2KthKng=&c?P<1CXdA85&Cd=q6&*a5GMCy#QW9rEy9Y%YKF1AC8mZB9 zZN-_=&RFJ?LOWp@Plfh=8zmF5Jn4X;(EOaTNMfa}L_nvCvz=Vl(Jm)Ub1ozno9rXO z-p%7o*NbIql-TeCC;S|nrfp=~N+d~OE1(RTKoiN1w$gH}X{l)%Sa341wu?gEMR7FL zbfjqv4j6A=^fTE;rW59c$bJZ5`3IP~)TS#j(i^|ubBKPEP-=?fm%A-_}SY?;!=(Bw74f>gGugNWV-g6Ly{akf$mt}Nb*sX zl=lEQKlWWX2ikuEi~JEzcaUHkh4NPb2hO3<`ZHvjck4bvMt|d6b^^2#J>c2bna8Hr z{-%=D|kG zmX_laHn@V8?M&eJ04$Rjea)oML}FH%+A@^~FY$JqMe=Z2lXZ*~l$ZPg?!p(@C=FUt zj3FRGn%tEi03+y~)5L)iSqb;Lv@ea*(>%Dip^1pQvGmtHY-{BTOn%2@SW2GdSv|M= Iw9R_#zu0+ZYybcN literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/__init__.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..72b014a8a09610507d3f64857dbe91a0da706941 GIT binary patch literal 1943 zcmZuy!EWO=5S45vcAUiCZHk_GTo;XuEKn42i((TecD=Q;YV33a*8oF{l*~pFRg!Af z=k`l_>ksr}a_wn?7T!&U^Ev_cDdChfL?bn_8&M&pdp*w%M^WC9CcWM1kht^sBkLtWZ z8&jvVM~Le>sQ9>e~Mrh2JlE`(Z+1v(mRfL6-vy{eb zvva_@QP7^z*u(gDCKVSc#%Al#4`8ru&vpf(zdi0W-@{os z9rtmcq^ZzELyme6jW@o=hbkR!-a3yn({bjEq-?fEi7wmiQKkdS@j7Es+40;sUjAsgCc%gj8+O9&GLt7|T9eG;)tV^lq}o1- zZKi%e%b+d)$tn5N>e(}&zaw^6{nXk?%g>%5C>!A?VISi(vh3&6j8kSqO!L$tIg3cy zZqImVv24F(OTQe^dYf1Qt=pwd^42E(+3nA>Ri2bT=)hc-@-P?Wm65z>@WPzA3$jdLQ`5Hk6@~?*5Bxyj5D1rzugZ~v$Olu>aJxVm` z-EHs&JZ9eb&DjN>UEf^w&t{hwcr-a1UQX|dvRWW5bA}SKMx@YXBgY$JuvQ`!Y9>vH zhh`A*0qg;^6Y(e&5^8XzfIv~#aM)_4#Fg5izBS zz>?(g0)8b6#Wg$5NN^ABRtq?bF2+3N8erk50`@f8P(6N+GwhyZlU=-*(P3Y;t@X;+w#C~W{R<~uZR)nPujyjpptH_rv^c=N zixRXft!tFWY&=Y*EPLNOkkYZRJS4cqAuU105FL*hSFYN85Vsf1FMa3BQ}KY{P`rTg zR$SS2-$3h8tX7xTOHl!OWu;TS5qbS6u=cR%)cRS4j<~zYkELu>-AZ}XZHM%%vAQ>K P9^c0_(2S&P#tzvJi~v~< literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/_binary.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/_binary.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..95f329292ba49df44aeb7c153ae1b8f0f0c28c9c GIT binary patch literal 3010 zcmd5;OK%%D5MHi!WqBpb@*@xDxp_FT+QvcTA_xq_2;#O#kiZBM0Cg#7_$?p9;m09o#LSFmLHR&gy9MYk z{5W15_;_qtMEwbXT6K#OYIjK2uG<80u9NFJb*JmrUHHCB3v~LOQ_s^CTBIdFQ?yFI zp=CPz&aD>=uFyHa(+1De1;C!ci}W1eqQU3s1;8bPFVZEzGX`IxmjRazzCy18o`sdJ z(d)2M1&~i~0Gb1IlimU}59l^s2DCu$ytb;}_LrZ;Jd`_r%zKHxFA@!vuaaI*NbO7b zjyY4SA7Qgrm88XxbD={W3$Chm>h!|sZCXq?)!<6*xM32_hBjN0+7=Kark^|z41mdsT#krjuwp{M3i(H*Q)XA z)sr8$8f~U@C;}NKoyLo}*-)`&_t2~mdKxdEy|^DV%}!T)JE?ahhE zXtLUnjEj?yF>*J)AKZ<#+W+rvJR9Q>ZoF3Ou#F)FmnNZL>CX;6yiHaIZP~+1BtF99-W}9D ziT^g)&uH;=6gN=s$=E*#s|Oe(vv9X(XVHHiS|FC<2#G=Wgvh7|T5(Zv#Gc z1$h&CF{{8REN`Lscdh7jZR}n~aR$aaNu;wg!VquLCzIQl_-$gC#J5}G>m~69OY~ghWX2=Rp&6DX(jr$-9EC=MO#W2Z j=n9&2*d|)7@GzZniBxPa=Q$;};l;OlT5F5qB=pY|{5nxQb!U_kU<%?b5z6(C#oy6%BQb@uA{< znsBD=I8oXe9dR+K1tK9C=}5u#g5txF_IbobGO2;hOrZ<{<$}=8fs~Gom$4EWM ztaFQ%vl7V4g>zO;?5zA2{f5A|dW_X0Rs-J#TgVVt)Ds6}_6p!QyXCx3e{0fPj?^l?-VVoCAo4gQl!YMPMH4C=Q$7B$k za6(BxjT0G>J`F>&eeO36*KokSfk&FV!-1lV8@=G89Aopwc6mLvNnjW#BA*cw#3VO) z3@dPEIBHVGn}Bg1Ul7Bh)2(;o6yiC}3FYKas;Hf7Oi<0eIrIAjmY#nSDi|37wTAyW zk5_E(8SeMV!&7+HqiCJ6Ru01~yBl+|SKtVi&V%!s`QE?E6nGLOSEY}KITALQhT8?3D?1Cp)kE_?|9%GMaYyA1` za6eF2m!?lb_lCww`^O#X-W?hX9L$ruXW_ z%dh?GgXRrSb@lqoToADbqW)P0yJ!_Hp$hz5w2a}69T+=!5jp4{ydAuXF#Kxo)tBJX zLY-DUhhvt>F`2tJ2WILaM>idr`${#8STy1eh?c8szMof}?<;d*sZWhqF~VeFy3dq@ ig7^Xyy7EmVSsLG`_JQ zgvFbXE^w{uqQCuJv;}1KmNQ>=(Wl&S827y+ZK8>dpLmHCu|s{GuDb z!Y;LLJj|>$7HN^>Y*oGo>rf;|3i0_KeP~ox?(Q3zaw7l_{D%Xz#M+ z@?v(GZNd562%9%mwovQLDG!h8yeM<5WN+t->A&4iTZ4UEw_W`F{+KT)&T$XXg=84S WET#!#ETIYQv+(PX#sT|1?)?E+9-qGe literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/_typing.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/_typing.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9737b2928686c60e49ff53f5ae4109a652c416e8 GIT binary patch literal 1767 zcmaJ>%WfMt6eZ^&jiiw*$xqpNHt9l(D*K`cY%7Lq#BdDTNfAZ{F%l_7_B<30l~mf= z+x|p%`GI~6w_W)cvS@qnj2);*(GkQU@43%&FDI#1%LJZ3gdDB7g#3wz#is;^Z9-_; zql5?|Xh(rXdc{Ds67hsb5QGPGv9l;H0ziRmXI?Tb}WxOCMkuq=ja z(K=hFB(~%RThA~LuyeplkWY)XGR$MG3@Zb630MX4+hm)7wdP)S-pbDqw~ldVS9#2R zB79N3CZc*}vCZ2ID$pgbGWl4xn+yT1EeC-r@fPt-MwyaBvTzE zTm{pxcR23%Qb^~ANiet!0O=hc96sZa%{U%)CNtCEd=Lg{%12UT+MGXy7%ArE(D~L^ zK04p%9krb-t*lVh1Ov4UOWQFX=W!58&P|!~C=t*B*!!G+m8M~MTNH6;J@lc@{Poq8zxxx>$!l7h7 zh$gd6ZprL;qFM3i#g0U(ro zWuULmK>?8a)8l)#cRfChY`c}x6+q?d5rx-&ilc0+>jTcM})bKS^ z!+S4@ly}ZXTW{#D5qEuAmX(z@t4eb+@|^!expd)4b*AkC$~T;%Jhypn;YT=FT5V3H zox6>nmbHGdkf0o&0YPaRN@Hc2YS+0S1kN`WoL3na5}4!cl^$^j@r(xsJ2E)e%62$>|$6Jdj2o-K4rEa#Fhcv5`$*Q#_K<9lv7&m2u9XkM0A9&u~EE z0;BU;<203NJ1Vyeg~-ax3bBb^lUc-XpRBmE<1`er(fujjgq7e=e6 ztJ7qu;#3-I;tUU};{AHLkH_v$f49pzD=)|Rl%_G-dc4|$Lj9Dor<#0N2fx(UwAkby zc5ipq^T$hAFl-dG)m*0qXNh{Ch?Xp$Vtd4QDGM!xi-agDwaCdH2=UuO=IsjX z(WbAka|3)JHcJa_=aqu5Y5qUf8jD2KU G4gLj|t2sLW literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/_version.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/_version.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c9f45d5a309cd1f3ab424abdb118cb4439a84d45 GIT binary patch literal 242 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 literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/_binary.py b/gestao_raul/Lib/site-packages/PIL/_binary.py new file mode 100644 index 0000000..4594ccc --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/_binary.py @@ -0,0 +1,112 @@ +# +# The Python Imaging Library. +# $Id$ +# +# Binary input/output support routines. +# +# Copyright (c) 1997-2003 by Secret Labs AB +# Copyright (c) 1995-2003 by Fredrik Lundh +# Copyright (c) 2012 by Brian Crowell +# +# See the README file for information on usage and redistribution. +# + + +"""Binary input/output support routines.""" +from __future__ import annotations + +from struct import pack, unpack_from + + +def i8(c: bytes) -> int: + return c[0] + + +def o8(i: int) -> bytes: + return bytes((i & 255,)) + + +# Input, le = little endian, be = big endian +def i16le(c: bytes, o: int = 0) -> int: + """ + Converts a 2-bytes (16 bits) string to an unsigned integer. + + :param c: string containing bytes to convert + :param o: offset of bytes to convert in string + """ + return unpack_from(" int: + """ + Converts a 2-bytes (16 bits) string to a signed integer. + + :param c: string containing bytes to convert + :param o: offset of bytes to convert in string + """ + return unpack_from(" int: + """ + Converts a 2-bytes (16 bits) string to a signed integer, big endian. + + :param c: string containing bytes to convert + :param o: offset of bytes to convert in string + """ + return unpack_from(">h", c, o)[0] + + +def i32le(c: bytes, o: int = 0) -> int: + """ + Converts a 4-bytes (32 bits) string to an unsigned integer. + + :param c: string containing bytes to convert + :param o: offset of bytes to convert in string + """ + return unpack_from(" int: + """ + Converts a 4-bytes (32 bits) string to a signed integer. + + :param c: string containing bytes to convert + :param o: offset of bytes to convert in string + """ + return unpack_from(" int: + """ + Converts a 4-bytes (32 bits) string to a signed integer, big endian. + + :param c: string containing bytes to convert + :param o: offset of bytes to convert in string + """ + return unpack_from(">i", c, o)[0] + + +def i16be(c: bytes, o: int = 0) -> int: + return unpack_from(">H", c, o)[0] + + +def i32be(c: bytes, o: int = 0) -> int: + return unpack_from(">I", c, o)[0] + + +# Output, le = little endian, be = big endian +def o16le(i: int) -> bytes: + return pack(" bytes: + return pack(" bytes: + return pack(">H", i) + + +def o32be(i: int) -> bytes: + return pack(">I", i) diff --git a/gestao_raul/Lib/site-packages/PIL/_deprecate.py b/gestao_raul/Lib/site-packages/PIL/_deprecate.py new file mode 100644 index 0000000..83952b3 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/_deprecate.py @@ -0,0 +1,69 @@ +from __future__ import annotations + +import warnings + +from . import __version__ + + +def deprecate( + deprecated: str, + when: int | None, + replacement: str | None = None, + *, + action: str | None = None, + plural: bool = False, +) -> None: + """ + Deprecations helper. + + :param deprecated: Name of thing to be deprecated. + :param when: Pillow major version to be removed in. + :param replacement: Name of replacement. + :param action: Instead of "replacement", give a custom call to action + e.g. "Upgrade to new thing". + :param plural: if the deprecated thing is plural, needing "are" instead of "is". + + Usually of the form: + + "[deprecated] is deprecated and will be removed in Pillow [when] (yyyy-mm-dd). + Use [replacement] instead." + + You can leave out the replacement sentence: + + "[deprecated] is deprecated and will be removed in Pillow [when] (yyyy-mm-dd)" + + Or with another call to action: + + "[deprecated] is deprecated and will be removed in Pillow [when] (yyyy-mm-dd). + [action]." + """ + + is_ = "are" if plural else "is" + + if when is None: + removed = "a future version" + elif when <= int(__version__.split(".")[0]): + msg = f"{deprecated} {is_} deprecated and should be removed." + raise RuntimeError(msg) + elif when == 12: + removed = "Pillow 12 (2025-10-15)" + else: + msg = f"Unknown removal version: {when}. Update {__name__}?" + raise ValueError(msg) + + if replacement and action: + msg = "Use only one of 'replacement' and 'action'" + raise ValueError(msg) + + if replacement: + action = f". Use {replacement} instead." + elif action: + action = f". {action.rstrip('.')}." + else: + action = "" + + warnings.warn( + f"{deprecated} {is_} deprecated and will be removed in {removed}{action}", + DeprecationWarning, + stacklevel=3, + ) diff --git a/gestao_raul/Lib/site-packages/PIL/_imaging.cp310-win_amd64.pyd b/gestao_raul/Lib/site-packages/PIL/_imaging.cp310-win_amd64.pyd new file mode 100644 index 0000000000000000000000000000000000000000..da85f2606a5543459132024964ca516f2c601f1f GIT binary patch literal 2348032 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%0A(cz*~d406290my+W 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

&V8dx^0BG``ga@z_ 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

Z;$vsQ^mKF2fAI8~H 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

+Z#+oV)=W9PMLKCe@f3IsU|Cb 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 TjRc{3{eU@MfNNhsz2m-DdhOX_K9;H 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 float: ... + def __getattr__(self, name: str) -> Any: ... + +class ImagingFont: + def __getattr__(self, name: str) -> Any: ... + +class ImagingDraw: + def __getattr__(self, name: str) -> Any: ... + +class PixelAccess: + def __getitem__(self, xy: tuple[int, int]) -> float | tuple[int, ...]: ... + def __setitem__( + self, xy: tuple[int, int], color: float | tuple[int, ...] + ) -> None: ... + +class ImagingDecoder: + def __getattr__(self, name: str) -> Any: ... + +class ImagingEncoder: + def __getattr__(self, name: str) -> Any: ... + +class _Outline: + def close(self) -> None: ... + def __getattr__(self, name: str) -> Any: ... + +def font(image: ImagingCore, glyphdata: bytes) -> ImagingFont: ... +def outline() -> _Outline: ... +def __getattr__(name: str) -> Any: ... diff --git a/gestao_raul/Lib/site-packages/PIL/_imagingcms.cp310-win_amd64.pyd b/gestao_raul/Lib/site-packages/PIL/_imagingcms.cp310-win_amd64.pyd new file mode 100644 index 0000000000000000000000000000000000000000..3557c473c59b1663f4a617923f123256ae40acbe GIT binary patch literal 264192 zcmd?Sd3==B^*=tzBrssYGbqtm7ePo+a10vSGRX15fK8{Z z$OvvaZPKh8>pit~x86`U{btXM>9^c+Yshom^`5%$EuI^1@%YA1^xS;w%aNJ*Va7sOOcr4)v_c&Bk-1sng4YQ*#ZxyGBmU znTMzM&y#acRnKd32dL+7a`f|B^*-Uo8M9c|ceSk2?{Lh#x1VD{zd<)7^7J}}d5*~( zG~Dq)ro&NyM&sWT5@ELrHmDee5!FvcrJjyTP?p5Szf4Cpvg$&K$C2+kX3rB&$1Iew ze&KXvv4Wy3#{mNAbvp8k7_k3&vmCB$hr=`7={PwNca-OzYn=|SM%_+zIvUvV-|_F< z(Dm~|NOQe!x07wR+mR^ZaX6~at(!SLG~MC&_8GTHfZmmpyo z@?C`ILwylIzSeVVbw<@jwAJwgs6lq-X-#koJco=w-ci*U!Ec8A&4t zXr($Rvu{I?Z!}W>fBDafd|YUW^}(30z-z_wvj3Ioi05_e&2%)khWi({T9Gw{?Uo24 zF*>!tBX6DpmJ~ZJq@Hex+*9{uI#B9EKE!}{-d!kY31m!^jOG4(n-dWK$%N+C(7RT& z%B^xJ$Qw5%>t_|QyuSewak1igqx&KuCLse5u{0u~zKA?b__4f45{P{9`4Na5s}Py` zU5ISd|I+ZW0PuQ+Pxc#I*@$HT+J`K_QxgufDJtG(3ASy6%%AFDJ`(5~;t|U`GlADN zHeN+Gfiz|37kJ`%zxj+PA0TPbBf0ImbYBGpn=Y(f9V^G;6Wv;_J;QQyXm-ie@)#}d0N5pc^( z&{EV5Ts&7>@iT5fJvJQ^kG}bT0!d8Ef8mk&*}JYOtfM#%!dxX4!;4-d2=apY%Mk$=Sibi~S^IZkyLzBcmwwe1^&;_rdzM0X%M&NcZ8bBfjY z@e=T<7(FB)dV}JSCAv$^A;$dzBbXSSUuxzX_uq|hAbQ81K=kVTc;1XpG96-aKDa&V zE11{3?XDjdzgbfQWHi55h%qIW*ldZ(B|cFxnUG0i@lpUJC zBUtv0(exEYLFAVA{@CI0i7r4alK+LU=tQu@JZ8PvX|%kPW8AY18AYdAydJN|8~3!Q zz2+MCynt7;c(u{8=NRLjr|{wz>qWa6d8dD5Pk&!DSa7zltkYoW=*$8Vu)q{+7-yDE$v2IPDf!lnZB}$rK{e6}{mow*O|3A3OtIQ0_MPECf18aT z@PXt?qA=-VzJ*URW94yQnGE+gW5I%W&&8(LV2;=n>CWu=foZh7JE;EnM2@WDbv>t= zv5E}S+1ZoF#DVn#b@uqWo~-g%PNCWOt%7=DY>Wnqr*m!3g`&e8@oGe7_MBt1yf>(R zh@G5O+}Z;K{29n|98w0>4^TPdojqBjV_E0=i@yv4)herboAHxvAcjxOF7Tk$>)3K@ z#@67B)*u>G%ZASifPsp?yiAPhwS>PU=sa|pDCn(l?(sK&a#y8KgbE6ZTl!mAYdt$5}M0`LbDd_gL(11O4y$kFnJ8sakPA*po_A~voS zuTT4u5Fxa(nu?{;0#`3% z3`B%dV~JTXBzy(4tmrD$PzxlgqD(cY)LOR>EhnK#<#|C!6X?H6^+-H#FzUb{8x+0r zPY2LUu|@2ZPa-6`e8^eo6B{Tl9`-YI#Z@r#1Jp1W^^ZrUJxZJ90fOsJECCW?+Asfk7byKp~Zl zok047`s}dcbs+lGPNxG3rdhwAvy_4ZD(!`Wr`2;+!4f`2Eqc63v8;t~JZ~J(QN4IT z$}bbW_!dI!yAsg_6ho>fXBQMzh_yfjZP{!^p$g;)s!O#YR}MH7OI?dyE3hDD>|kQd z*0idp-AbhI;X68b7&`a{O#VRe62(~P;79SUI+)$0x_2_VDV`T+K6LMU%F1tCqmz@e z#ei4YcId?*6su*4gSH9V3HV;XkLQgA5Q@mJ6heAh@I#fd^Pfx!-K3`hu{@88U9Dp$ z>sd-HZy>RxK_1V08%c@G`^b9a@%4xdiZLMf21|6wG9?(`&_l=&&udaew7sir$=qSU z2aNbU%g6FoDKMbHo5%|gUDpDP|Vl>z+m zUc(K@HO6_H=bUMwk|KHUay1voK~>{WRreF5rAm3?d55ECM)5lNAOlxHIiQ;Rk;fR? zfK0T1Qt)#%d^z{8$a}8Ndjs;O*(ZJSpO5_6;g99=7uf{P5<{ngvX8AHbG!>rLQ?iQ z(GeXzCj!A?00*A-EzdHc9cv9$1M7dPZ5%Ckm>O8qYiK9nz~al}R!8ImoBM ziS6P*JnswjuFEuIDA09;hJ(L6iXr0b<9YdPb{c{^+fxXFjm>xQ8b^-o3mHnwxHK)J z-5+Gqe9Cx{C2n_%-C!EI^J2w~Cj-J4#9G1XQTTK4i>xWSwq0yz&drx483$(D>;f;C za~hS+Cl&@e%U`^X`VC#{r=}5|^3J(X*1eFN;{g1zB=Dag)Dwn2gdSBCP}Ay@z-F`A z1o#d(fch~kVDb7 z7S^nzO}Y_vnrLg2F7}rPZ^PhcQT38*z)!i;Da7lK&+RwG*x3yC}SWXu674ReSSc^hgoClpLZhZI1eHXlHIx}sbZ)K zQWEqCyrp1rlJ)tw5@dY_q3(}>w%E?O)htzFi@a|f$=eI^s{D~;{@a=VFUU`854On? z6p+E$sAq<>#HM(jWLE8gqBsSTC4YoaPd#m*T9gSwQ&9)`i{qx)Z($zcH^tlb_(5B= zh)StayuolGDw9*@u}5K+#q(AXD0+UpCC2B+*ILo6T~@r^D*MNL7^58)40%-r6cwxB zG=pf;z}M|tq?9Dt{s*rBQsWwu?poL&k@GUb1C&s1{Rf+oeIFl+{~8eLc~a9{=_m59 zhjd>IY9QKBzT@Q-JVO zEhqhnkf>%tQ#r7hEAt%zD)U0G!oRg8A9Fw|cf2~}KW8yJ6^A@zA=vz8=nQiu90Q;e zrba=rmWn4{$y^)c6g*e3Tu-JRN*b6EG&uKV+7VAE(-Iu!0f&L$=^W;rY)&$-KvS0u zAgt`1R8tot#wXszB+&ymMLcgh$dtx7WB;C@pBJI-1*o5+&rXyI#+nK$fh;*<58)DL z4q%drV6CUs6GkVVa`-ujoN)kS>`zVrkm4_mpdm0Y(RzERFn|gePWM%%Z`KQWQ3HP5Ycm%eB_ZM^WI~} zCG*~fwKL^qWw@50kM|TT2hX~ zG$~1GP~^o7R*@a?q$r1Ab{;w4>{Y0#aSeOdoMukFMhn7;;H{oP z_B)pTLfv2PPrlE*<>r~)AEdp{#QPhm_Zjuq&+J~CdY@T0qrUsawD;@7bGm<@dC}cvw;NW=X`-{O+l9a|Wt?E0 z2Y`u?GE5e)#7n|3u@SQCYd*ZbCo#f_&i}Z+aC&{7@2)TJ@cQ2W-_@6$Uf;46-`T$3 zH62FJk^j5;9^R2gPw#ivcfsNHyr;jYWpnk%d3%O`!GCe;q%CNiNn$2 zrg+j+jpyxuLt|e=xw}V0v(l}fbbh}-jXy6zLCr9U`Q4T7mRU2dhp%OWjGnJV`~;x! z``1x{(p^t56yek@nXhp)5W#r7L%38*cf-Hp@ich#H{Ljd@Jdtgu1LZQrr;&=oqssI zqQ3BoZn&|I@VcQIpn`~Bza+e`UrXYb$oGzU7=C;9^}+84HoTvu;JrvFs=d#p;3e`s za5%ihec%zbZ(~F)G`QueE2|W)7pGufm4scHf}O~BK>{|Xwf0+jV z21fkjyd*6SZBO9d%aHCXz*qTR_u8~b!Y@7={7cf{Uq|?NrrwM=Q0ssDg3;)KO!?Q`xU9kUbdH8Z`qVXRy zqM2`tRntSxTO7Ox1U9vcCDczDm$5 zk#BmUKEv%Tfr%G@(m|J1x$#r!vM0iB6;KmLFY*w!&brGo;{;`?Pm$WZVBCr_ZO4z z#oM|EXw9Z+(1ID4qx;LGAVm(k=1#L_w86cVu@Or`i|(l!30`onkH2HZvX4hsVYMdt zJl1|6WIqSm&wlnZ(|&#ndaxXIe0yC|M@5;htd*9fY zXzxabB5SJA-bB7X!=y{L7Y#Wd4PiSxXh*hoUz=e z@q+1lJnt#}Uh*d4>tWC@l%ln1~5)gH(>p~}^G*EsRHMJe;XXlCMy^eZ%zNgcg4@+B#w4lg7i>So% z>WO1>E7#t{PB2+3{OL^5bMNGwe-z@dLoAki6Y|INK4BL4hcWjGVR{+O{`y7Itb;@1 zVg5nPm^@;4%RtDn{Py?^8HH;RW4ibHjj3NS%5s6Hrfx#yEEUcW6C zraz7JK}@~G&mB9_)bdXJj9Y=9iBIF_>c{Xi0~Eq?6r67Fb)NxDlz@9Niq9^11~l#^ zjSDlZ*yR33VZdz+_b)dJO%I+sNG13UD>{%+WW_3$L)85H5%Hl6_RpZPlmjyp%AYW< zX_s^1?+(WN3kVC@e`UDgs`f7c7%zx8*#D@!egFvM_WuewkPA6Ei7Ez@WO)T(yF@*R@ZXSpOVd}duXb@<_sDaA3CBqfUrXel09WpMoO(&EM1h?* z$SbjO3qFRarTGmMne{XXLYFqG7+4{?*sBA`fOx;)ozt9fxt_cBaAqv*{PFm3g(aHl zssY=p7Qg*2=wDOeRtQn0*;uJOb8H}2a^l$ty78x*kyKH&1MwJB543bx6>AA21t z6e0FI>@~nrJr9o!lfleTvDM1CELQ`1g}}f(xfL+kX0Ww<4zb9ZNzkFdjGS^_+Z-%UC<@8HW!P=#83o!-{Tx469t4-SLgb;Is`eX& zn`Oy2s%nxHQUtufzj7jKN&3_&^JGsnzP=YfckF?Dmv`X@dwj%u*Q91>(8kyo(`GfV z3+KWYk1bdawSw8_!TM410erB0kaq?!1%t7_J;gv~>dXQUU!W0er1gk;N9DqZj9ewgq}9n>9+k_Ro(m&1a#`uQ&?|sdnVzde<*G{0db3Uc_&^+yY)N6+4ZOBJ}@5D?bd1{`D?Ea&bEyNZeH-H^#=z>C^)!F z@brsb@wvs_k(=aKamGKPR>zf)Z-8)8ptm8xj2v(p&6r&~VwZw@hO8!)v2m?&Y=J~fwH&AOT!^+b6%-LENNzP3o3Z+fB3#>0 z(<7Kb9;xv`+~jVOU#~%8YnrI{1jHR&DKe*} zSX=dB`uZ*w@dM%@bbsR^&vny-MpFkGj4+%wq3@YxUE%9g)wE;0dc`}!rF^sT0JDd# zU;uf;WopkK>^J!`q#i>LR$IoESX_8&;gT1uHrezpgj2Mt=?VuC-vKp9{gUfleZePz z-KK$^btJG04+FM;zv6=DnNwc07fVDBC6FAGK=Ki|F-v5{XMNH5n<{BEg}Gl)EeD_# z2W)=$mg~D>OZT}d5j!2xL`%FOciQQ1Azf9u|I@xuZ?K^bRRzbDB&eX)B>_>+d8coI zAKC>zO+XBP-Zw)YGAKe7uTwn%c73=FYD#rTQaBMPTOS(JcyL0nd}R2T#zW(-tSAp% zhzVQcK?cLF#zRc%>1jNudJgaG%APmzj%WDw;#S@N(0c8v^ABSm%;%<E5f2W2lf+qtTHq>==14Q7i)otci70l-E6at5ezE%zgP z_cy5#-O&K7njS==*%-gloG>PIECQaqrE$ge^Gt|bdovZJg`JhM#*iqsPXoSa}@qqH?nNj!U(ugiE%HFR`;y@ukpPR_JVN{3YgmjcX_u=C$TE z+_XSMdtL(D?MTRI%=|KPAbalVXx8)=%^w+V1cVY9hC1I>ICH$Z~`Wid&P-~ldqV9EeexOeR^V67KxaB{f$Yj!2^`ssM>`m6$dE36Tu3xlUttmsQjP%#9lKt zE#COmx1fx%;0rKr^R^H?JQz{^*oiV?CkOY+n#JWJ=S2A^n8%D}RKx;VfyhT0;g2vj zzl|N5lA0VHe?sJ|%(`Ra*dMB+Pf*d}ZYZ93yNsS{x6o*Q9`&%?oJ3T}E$?Hv4$I<3 z^Fv5hi>8n`4sz#Vbg_g~GCcul+>Wg`%LJAEfh|h)!qGp(;1^b*f^*F>-F*ZnV8U6=yoK85n;%kjJUR+YOBZ>Sv880cG1+gI)y z9QjcB*C2m|fa_uMuZ-cgqKj3$VhmrU#&o!dnhILMFbHT%9D#=lmLNt>g)ZGk&xA1r zhO+wtA1WzU9;CcogPo3-i4(m-*(arN!E5d)yee8ibQ1;tkAOtty@a3Ze~X`MeubaOPoYcoJ~J?zan<|ARd2%k z^>?!7vz)SyDM2q*y=h#v%_!_KMF_hA;j2`~zm@9volNF}3Yaym<5BRRy3;>khIdi^>s0vBeHhFt7RdQ?A;YF|-k8EU{Qze07`k1xtRaw) zzCtaJMxho^qfiU29)v~37AnWR57PzxgxZj3JN>96c|0mLyl?bQo|ra1$DS*&=*NKv znJQLf|82Uh1Dmls9s|Z7J&0FBb2AU+2Lwmvpm@g;4;Qio%zev8dp>=%hOY#+@Ry-t zE9PIE7_BQ78$6Gx#_JDp?B%fWns7jLuO&vk#hGOYJH#+Pq(*KXeT|Cd$UO)n_m<<6 zBe#GF#d50>Q5dO5S#!Q z3hq|^1Z*@$u%bc!VLIDQ?;s1eL%fiSYIF$*BEMck0%Vev>z)B7}K$d8n0lIjU4Md1&5&^GD*>>&L9-g_J>y&Mgr$m4s*pY{6eYFYRGqtWnLWMlB>9l4S=f@ zkbfW#GN{58VpFPcfy0|9d@_Qp=pMUdwJP~rlnlT!`1lmG8b|$=wE{}u7#b#5N4HrB z<>Q@1Q*9=nq3o3aI<-GcZ!p6IN>in_S4P5DB42qEfMBbX!bEw?iiH=`T+tTFzhcl^EG#=eg!k| zb@M;j>W-c>C=;rOAt3NW`4=mL1l`LvKHUq0MD6^IQOYR17yMLNHk87YWpgzoH?=;O zaJ@x7_KMvV;&U8G#&Ij0YrXhe(ArqAf&B??sI)Mls)e;2432oULhQoSHYi>f+x7ZV zd1O?kGwk$72bS;8%7oE}WA_1Zj9haZWCaki>iU}Zk;ksfpSnBryTh{m!}YLGS}*Pdkops_%QuuQ21auha6u1C4r8;dXbwc`r*705Z-oOm{8~T^ z#xqpJea-(#IXY~(b2EL#uL27xVs-aq5L#hwi3~qZ_4=?1fcYNR?=qrprN_0F#=CH& zDeR!gP^o_5@;TT0qb^@rz&$6+7Y(>oEFg?`UySX1W?*{XSWbXcU)G~iS^0hXqy#{TC{@SVKUgooyey-v(lrO?pHy9^p{^F*6C^(a(d_APv@$0_`Q+SK z(O+bctQqaXo5K$2+ddE42ae$}tIxrz;bRjd$EtFP<}5KjM@(_WvQ8{pJts@-9I5$Mc=agOMp5u&O=2rC7*rebj+5-~l`#DfGcqnqW+YtgY zK~lDb2C#)PdO7)n9JNEYRbi9vCkl8-$GS$lEr>L%{2FETy=u1^e#j=556qm0=Z*pNC z9xc!5UWs&_>9kZPjIvuQ-~;pl;%{CAM8y+c)d0obzf*bNAg4c$V3O>!6D#_3v#|rH z#9o(=j0fgme)Qydwt&n?L8wB|CpMw3X^FZBcq^iNeisz41_UbVl;bd)EpF{7r{-}0 zb+jRR%aG`$Sgp&><`P%*-h3@L3-p^UQvtflqW9V|^{h^_W$KUmtwhNbPUGAKnL2gt zrTLC-%Hl%bo0$eJg^l)a1w<>`sy z3!9LPhqU8ei*eujA3-iOCV3V$p?I&j>qFmzoMerf8~%RNw(y0!zLJMWP(>1an=0Nj z2huxch!q>3Z?1sz0CF`Ks^)boI<#Yq8}Ha%GoCPG*8+P+ybi2QI+2FCHJ zl;5S;9D&_i^IRR?`6N|`w*=SCWp;Q+*55p1c87PCegr37IeT$=2E9pK6~e4){3mVPuC&-XMR2{LQWN z&VrKPA!6$Zwp+%FpDe!6Ui7J%5R$DW$(tL7TP(&(Ws8&Ft zLXlOCtsJyD*achx7`5D;*Zss;Qs<$z+GFsf5slSzwiRpYZnb|daeNdj^X{=&Pt{wA zIb}jNY{P@QO?d(;5mOoGC1)L~QdH$oRVXtofnH*~ROfFoNGhYAx>CLeZWTCWH*XN_ z?G3URG0=PUZGQ1X*X zOQNCzv~O7bOjN(W3p?z9bGiW&6x;N6iO?k^PpMA?vV3J@v%=?z%+ieT@ZxP;?m9UT z8||tXvASllaG9k!j_~04YI1^EwzcjPg#dSzvO+8r!Z*Uj9_qIN=0)qEt;`jR5n&o* z+G?N}2Ra-$N8~bITwT!H@UCHA)CvuVH>7u(7j0#>fo;e!0CNe&lj$u2GG^mJF3H_} zO6bDIgKA~)yvBoSq44{S2PqPvp=!mHo`TR2MBOr@K9qx%(StLl*VZ4lGD>;W`z6(U zjHfa6QittJ-UGzpM+xINrCKHRf1h?$Z1PjI&!cxfs{KIbiUyT$OZ-u)F^n?d0#UI+ zp87s!VYT%$riW;$Jhl{S27CyB<6QEm7$DfQ72oHCF{=ri7GqBo>_Ia20hC}5fERlJ z;1_r=F@e0MT~s_PH@t@lc*XP4@{zJt1(!$5N6Ejc;7ieRul$1wei$wH$zQ49mT0*p zA5y{X(ej{-s^E@jd8NEd1>cO8Pm=X2xIbE6C1)XsCcYglpJm0yRm+7cX{q#(g*#;c zuhH@n&Mvd(B*y*s|HLzso!YcpJ_d`A9x%8VH%g90DJZ8?e1iAIFdv(*Gya4bdAd?m zJS9JWmy|iiicNHj+lG{_g+J{TV{|X}vKGpRyTMRy|5sG#H2#di<+EiGs7qV(MFQ{@ z6hMxW_zbb}QFG1jvzo=og{zr5%9Up2Wl|m%=3tU`Uk2K}fX3ZxXe5)bLMg-v#*yBP zyHv;B&$#F8xE~%gU52te|= z0)F!X+@KU`&=J1qsz?!xS)}=*PeztFRS^2E)?Od?m9Bc88NwC5(kGv1dbnJxj*-us zuw)ngm^0Bw2#&S}8SQpN!3LzcKS*uK2n`nF=9}VPW{Nf`HH`Y=Ys-4;mRRD>M|rK2 z2Y-c1$(ZrAida6}6;)u|^QLO(I1Cc4)C^}8Z@VluB;qSu9de6B4-%wVdLJL56XUC? zAKo|Pt^TsMx;K=b=spHxIQZb}=O7F0obJznQ%b@qkNH{@6B{*KkqaWYH<%E?F&H(m zsMod!#2G&_>hF**s$fafkM(F392NC%kxNw28})CO538Ur>fa&nL(qy%aYy~wYgqBN zT>qiNv63<>YgMLT)ZZhoSHa4t|1)`&3Qmgp_sQ`pSQYi}mp%jmr8-KUtcc5*D#?;( z;~Dk$mosl8(mOGzIONmtKtXN>tE6KPRqm1x>9}v+W_E*dZrPyYx)CSF&x-nwlW(cy z6X0;_P##Sy>Mv_)aIg$|y+0h0SbFP(cYij5C&d?+fSJjm4XzY0nWEsBI@T5g#M)+f{01i>I6uPGL+WB)X7mI$y{OH~v$*YOYqF<5c zqW_kD*A z(kC6R{e{F#WWO7*-mkp_z9cTf7Zd5$)eMdf|{Ef%s}@ zVHq>yFuq`hoTvSV#>-hbaA0+sPHaZ%&VUNP9sGbTxa_4{?}W0pk7C2pOU6%0i&s=j z{pk4=7H4uNd`V4@1)!?j`@i7LKyA`ogfkD8adxNj?dg7yXJMRZ+vCQF0_q+yL1cdz z%L5mwW2+{v!o(c)08|j%`(Wq20pqMzy669i8dT?`>}$;S#38u|XFzS^x(sUPb+}WY z2ywqsxpK>M${+e3?Xi7&fnreFeX8nysSWaAKhhhPDMo8$QKwo9dsl4jUWgVX;#B?g z-{bxjUXqG4EzrVyWmXE0a-2%303K?$&l^DHu}|p$P^b(gDzh{y$0boo8Fx&+F%6$o zij4pkLx>Xh!>JghPy24+XaEg)XrLBM^oub`CYoi5^LZmCeF5k;VFZHQ$AsC%=J+EC4LQvQh?%LJcL|0eZu?!+es8qG+9o;I|Bu~Hz2bbTTiLaKo;%t>Qa&3Dzel-z{PQkcvnxBDK5qQcbp3w zmtLu3Zh8R1!!8wz6d}QsE;XryO@#U!^2fxc2_c*#5u4Q|q1Ez>cQhSnH()ilza`4y z><$(bD*WEyOr{X=Q!uBQgo{KmBH&IOOkuDD=^kICmY+m9b{b!7FmTMXV<{i$Zv)v^JYvSnz( z&A-EN-XF+u*Gsj05nY5ibhcKSP$#pfPCVG#l(_AYCo^iHTN>D))ZP!cjbV>#(Sh9V zD!m=U5yc74duDZrhhEat#t`n=Y^6Bdr%nUT8_GFllThPS(@T8dO$}2`FDYK?D7#~R z9ZCQerMV=b(9^y9oWH{M;ng!;YPy^~-)9R5R%}(wUKk&ictFpl;Z6NHh(HcKg$%{n zA}?W)D(en&1?Twk>;-K17P%PfL>x{mNqI*fDzC~3mUvV{8}E|805rH@I?+;W?ZKwW zUIhvMdn~b{L++#j>>;qzwJA4S+~l^fHVa2NE}*+mu7cDe-()ykkm*ml)R<(cPxMy4 zA2K%~*%;n;FEQL8FT*)S8=YdD=NRuo%l!Y4{ehKe@4*~(gB+o<^eG)wrBjXIePZmJ z1ojDfEYc(dCmcVQ^}SGVfUUzlgm~Dest(hiY7_b{d4;N!{$tN?GaYil$3&A-7Y5@h zzfaPijt#ylT7jzi75`z?iE8jo zDrdMCPm=F|`LT_szk=AOD9#f?r#JtGU_0eHcCVK5W76O&=h+5H{}vI0!-k0c{SzQ| zBpQj~g!jA5qDp_LO{>yvp=+@7({^XH!WW36Ms6$N%D_<&?q`QNX@SY%<$wRcbKpbT+5oCcYlkHIlsx^gl4F$8`d zY(-Y*N7btwfsPQpkqKNc%3nno~uD| zm^SoPbk=>I+@hHvuy-OaUwWGD6502AlcV800YS&AMoQ5C0z|-YxOBgpqmilf2lqEW zhQgZZ;=n#QV^4GI?I1#`37sg3Qnyh+Mv>P2hny_*9-l;4pQ2<=4qr& z;|||VvJ?~*90w!ZSitoc60#l~s<0Y(lTF&`h{1VXf2;zE;dSm^C{m*>n^nSdLN!MH zZY6RShlOuLWnBF9<}`V zUuYBwJQ!9Z#eqEmtpEX7f)F~NvOt+4|Fdf=n%@t5>BC&ojV@6al`Z@YWJ#-%9z+&@ z5`FHa230yGbrVpJl2LUvn(8h&O|{Nwnt|fM8Pr;zh#jL*n8Lv)Z41@wz8e#UT{z+5 zD#d!TPi)bitJiQozWZcKG`MvNE{F(-OO@q^ySrYCcZpsaesdt2>V7>v>SC+{m$%GP z{1hIpyKSBBjNK~l%$fg zurJtVJT*T1fU~;9)RWF&io0@94MZ9H^D**i4!IHIF%&ntF@?0@%l}#K>8qPG~FR-YEQB?%s)> zn!;_1d(k6~I_x?fT%-;vL%#Y>_AyAMtxpE#=}k$cZLDZqt$rJ!-UQLr5#NL7!V-eY zQAZ5W5uM41&a;@~!Cn=yEtHGg65;rR2No0~|pdxTg(+J0rF(aRhxBAs_is`OcE0(&ORb6~uj+IKpBK);EFkxdhPoBn$G{s-DP z$vadh@#KEatEXueU8-tzxb9mGH8NfnLnUOQ$YiOVwrNDYMZ(*6A?b~8SF_@d}}$s z<-MxTUfz3ok&m{ircnnM%qM#glSZ{oylG>yCfvsv;Vxb*2`vmB&Bf{C)|{7IH7nPM}__^ zaas&)wZbK!ppPaF&d9=J0D9oUW}wX-s`Ee$?LYiZdRRfB>ETY$12OQ=XnN!;M*8pR zfvPA>%6;(8EJcY1G$FwvI4hE*gbwtj#}d`t?Byeq{IXERJYn-8N#anP_-{$_)Sv`O zu%);URj31I@n;@=TY6+uGkVc-P5 zg*CU?MyLjtqZeh=U22aQdcFGVtz@-{wZ-d7$L7o_TO5pK4T!gmHkJ>;w)p6f5~h`n z&8hoP&EwLyYEbiVz)pZaJj1`~-yJ{rzx8iN&i|}`A6Crs@B8$}9AwQA(V zN}$%FaGj-%oDUq67&)={)a5UJ-!DE!Xb;x1ij2V(%XkMyEnc8pD_U`_%3_>-_iAlB zyrKaK)ref8G%tlmqX7$-dV~8cpsy{?0XSqN&#U>x*QWR;=sajS52^9-CG<(3@$oXK z<2ScpOQq0V{+U~{%`wp^?Cncf3^+yf7+k9 zO0WLM{kh^l@6WZjeP@4S&BwnCj6jx<9!$gjpLFI8|KrX)+I&^b4RlaW^vy@s6eS(=sZlmLA89dA zza^ryEo8rq2*c_eVMXS-93kw`z^E1#nuRR{;iPg!1^HKav!an9wXxE7`o zziouE3;cKG{Nm*IZd6-K<1Ko{E_V*)M!dC>ur~)1?sIaottSBaWky^8u z;NV}u>`QFr$DInT80NlIk2u{DKLL)7W}$Gs+ik@nX+^pH8(%fk#-$aTSW8HS74XAj zCnbU&*?5RsH%`FLh6~qZpbrVF5y)U(jtkS|Fhnxy7DQq7t+@l$;D!RD`DNA@%l-?7 z5$u>owb@VUV19QGlcLYEkFY=te-PX#SZEZROwlh|o`s)C7t&CxEXK(v7FYR>PdJ1& z$&++^zP-^&oS>FnHc2Pq?L%WEv{x53hQ|PtqqTcqn{KxlWVCdj7###mJ-D;7^p3*N zY~n(k0P$?Nit2DuH@6teR#wyne#0T1&`D^8S={fL2KW|2JcKhM(0-w(m*&9^u`id_%@IGq1Uhj=*>_#AO>En?%)`7F>l}q^;bKBvD;%C z{SPzciO7Djx23A(`^erEQ8;M8zVhEL#Hg@dNZYQlKn#diz` z)Qe9#RaXDhEP-iEiwf`7f2PgJR2{CHF#*CUe zbY3t?CRj%BVu3FZ(}{w>khqgn9yzC(O(~xj5Ivk4n_1m4#tkWiI^stZYy%fJV)p_95IA_ zLA53MeXdCw|8yll3|3RYHjva*061nel9a#h^BQQ1d$wXWbV zzCQysv0@phEsJVkn2y*32hzQ#CnwakNa0rz9fRq>!=WO{rKD;)(q_f{iNmTq#6e@E z>94F5%q~%kYdTNkX^JoS@tGxzimfWB#n7bIO%>!P3l8Af_GzwK?m-Ys#q^UlAc%`7 za3#gytz38c#@?@1xH|k!aL}6Bn-8( zpq^L=#FHOyQJ6sLh@A3|;R&|tWj4qHq4SQSS>kmc%xaua=J8g}-m3BRS`ZVq0S@aD zv{qfzQltWkA!C^JYQe3g8G&37jKA?K-bG{!6 zyb7o-27JH%U@-JEBFJkM&Ffer-Wu>`8V|QB_a=r(b&D70yk1;fiWApdDe z25LnNP_)1y7;k8Hlpt6k-T_m25yH30pc5+*!tOKb&(pTxY}$sl?%c>b8NgvSP^g93 z8swKex8P&Wk5xqLm*DSd40OxTKh^k~iO!e>5a2nqK;HWSEQuz4eISqg4}pxO-1-g3 zx4+#{2|NE}YTOF35g=eTV3M>09dzLbZQxLt}rcPp>bb@Ag(3#4}KJ^-{$0PvO3?e$p2?HRR z16Ew0>y`C2nUU+Q}>Gu$7~ArFRf;;lIOT=&5W z$Qo`p029L2JDNYhBXB|T@`JdfPm{)IS_3*_*H5XLQZ@-2Xy3$^2ptu)i_Kg^|Q1w;ZuZK!dw35z< zD)LA*`Qj+f2#8FAe~lM2j28nLHEnxbHOKHEzWtB%!+8QYNAwj@`p!%YWL8Hz35+9^ zX2Ylx9pNu=PZ*7fD)|he1K3r+T*_Y}2-+RMS!1K=5-=P-xH}vQxQ1E+t-#6=lA+%b zP}-fV{XEaxeH=2wI!t^bO+IuSS-cmdGn&2t%>jfrAGRSF`O0J5b3X#HadDow%el;Q zc35S-bF;0oE%mpH?U8r)m@D1L0DsQD(Z*d_`0BZNpvI_ftub!f<3iNkS(loTR?j}B zrQ%hzXk%>2VX@dAWk%Xmfy0t;lB4c%Us-$oaM2!!<&>BsTF1tQTnZD@;C(N~%RD`h zflKM|3CPR<+?L^wV?#~?Ex67`S}0eO^eLNf5O(9?6M840@tB*cD>Br_$)}=Am8U79 zolGg2*Eiv{g$CREJ+X5uvnEo){u$9`Z9S0cS>3_VmnA{5tAf_jdiklU71xR{$NndT z5ooQz9Q7QWXABk6WO@QU>TFeA=TSXYAy(tFal9|!0a~IFEWs<~V6Vh0`AgRi*NDp@ z1Ow!DPKeYlztC9le(4xj-9^|j3Ej6YbUs!&5I~i|Se7?Hy>ad}N<^Y#a>T@wG3Pto z>KNlemqKn%j*fwT+9EH<8>&v%CCA9G(eGAtjFP$CV%*8m@yI(7uiHX6Gg%HxrXsK#Z@a8v5HiPUULXC# zWpvyZ3@!3Gvif|Hv$ z-Ws#?YY^IDXGS+rT zJzRj)jbScdZ2gEHzd<~01IWB<09WsV6{`?awiBXml;d*|#*W zg?kS(YRWd?;AG2>5LXfNW*Vcr%!QZ71CgGL@ZSSs_1dfwhuIglsz$LcDoUt7v=6F} zZUEG>6`$#aIXIhl1b!}8gMsaqEk{tbEONA#9fTmUSvO*zarjtRhF-{|*3D=X?oYsm z@W`Rex&UcukwYp$T^LE@Gp(|%_0HIjzg0tX7iL=GZCP*?OrWhju`z&wtToZIr)df) zZLc6I;JPVCz5h5}9w&<1v4nm(28#gJsKe*H;$<6d>^Kt&SWe@_45*(ATcFam1&}*w z3pnGAamV5e$DGZwo>@D}D^VI^fgGy-!>o}b{PVUvfWEMjIXU8nq|f10a?hR9QVme@ zCOGkIb7>|(M(eAHOVn9e%RQ!9KB|Rxo$kKfQ#Osa3$i; z(ed#-Lq)c)Ew6B_EkE0Viza$-;9!G$w%g_Z0eE_225bJ!{ zUCQwZ3d-3E-Emda0@W(aWTgrePaUQY*b_zE5l`uV1l40dE+%2Oog?6M2|!T>&|J>Y z*FZdMGSrDNS*7J!_4!;WRqaO_+CM?Z*L|!>a2lZDgk6r@Hw7e6tyfXl?fMR4#26^8 zah32U(>*$+GI(RF>hf2a)}K!9c1@Ilpe_iHE(Iyzu^>@68`e^Cl=gTa_v+j>{9`mZ zjV8`+#ekTZQC6Nc2e&0`kYUIKhw^WLq&UW3yv-EbN+-JJ6l0GK;bNip=zENMJ5#rz^6K1b{CAq=9vgLycG|vaf0ougCNLg7xD*#nv`uP&Mhz zlyPUzptbhR{0Q5c6)ccsH}FcD{zJa3%ic?hPjYxFr%q841W#IuxPHm@sKJ79eN^0vPyFWo#|HNYPHZzuC7k9no-Iz*h`UO^avtj9Z`mk-u66ZX9_>jGZvE6I?YIWo|j2pmwC)#0=ZVbEWIahW2T zYK2lOG&}W}7P;LGRCk3!R1hUNlTtco3b_x*$C{9d?I?F+^IqEr{h%0%3aJ>f8h?j_;_u7!=y4c(=RJgAOu95)LYVGo(4Z+_zZ4B;SG zz@_Qx$tFI%G*E_#<7~9_e{}+874FIC7)bRWEfxQNy0YHuh-0(h1{>vZ8e+nS^<&%TK}lU zFpnipaQovsK=3^I zmH!R#-Gf=ome+(oh;88aTVQ|UJ~nkU5!^*T9ZdWH?*IH4#ckQO$Vq2&*%?D(C4|-` zPgRT1{g0ZF;7h_T3c8jANDhtWk;kEG2nKc#ut*pi1F@k?GXg9(&X-S9 zfDxtWW>0$1d-i=s+QA7e`2Y^eCnrQJ=($h6Q6DEk&5N$ejk3Xuy zy-$b-n}HpnXrYASdG&~)E1r%|u``}GktJ;nrPLMJka$9KDNi2R5^4*Juot6cL+1{F zyD5G~#nl)D(|5om=?7ITX?E$(3#XqX#O^ZQ`@R8pJy84t6eOh@~0Xh4&eqpdwKbDc^=B)5=J%B z*-W1p%&d5|s_?M#aEPP>`1JP*fZo@7B!qm_kN!F*g*5ENWGnxS!b-JliC4N)Elp$I zBk@11{#*Wi{e>Ghu1={UML+KE%vZ;FxU7TSp_bBW*`fZ)1s#2H^iC`GT){#lDzzgY zqVo(xQ6U{7@HK2me!c)x3)nZ7fMQ;k5zjmBN?2pC9}%-fZvGuteOy?`3gyy?TBO9u zjKd4FsDSlw&7}Jxa7N=ABBH(ypzuumX#Lp+mHC&)v8EDrm}{Yyl^#`D^!!7wTr8ux z1n#G}zQ8p%hz@wC&mQvht~jWAV?Dl`sWSIvxbD$VKU#l7+|Vw}I}=j~ZXB`yX;Hik z0Ca?n51b9CewWY3#ebi>S{ zZpbrnLJ4Q1Fqg92J*SgX{?&pNdNe(&K1X&ktS`FQArtb?2r)QvtsPS0J&w zB8lBDc~%0u@Fv}|pJAavdj`W8Sn>T_6gnK3966jl3f|n1!oGXyIfqH7O@9hn+N4Uc zX*Y_h&&JE)sE?r=6tG@-qWylIdOsis;GN2MGMyBaq`^3}5~%S*peNvOko@ui-g>S+ zR9lgcz!ZK205;HDc04?>6(r3RH{;!ME#g&^{#%CtQO5`mmk^n<63R~Az7+W4jNMJJ zh2`wkKn^-+mcHSG=lf@K|0eDkhfq{r+pcv7Mw4oD1?NpPYUW1yAPj)VI{+0^R59#JXLlPLzhfS6QlvNp^< zYqho623dripP**3(qy_gkh|};zPSeKTsU>NMgDRE>u=}Hom=Ds>Scqx60PCrX)ltb zH(oVC)hCM&1N%HY?x_4_TtskSCYpeTde9<=!ozL>uvr!Ai_LspYyq)Y1Tm+)Xx73W z+$(rQU}frb@2we$E#(*TLethilEl!}I2?jcqfX~E6+OUpGJNiC*fJ=39-TA_{U3sE zHO7^zu}A(xyzaNd`1+$C>s2ZqA7S;MV28a zx&79@gqnz60ez?H3<>H2Ob~5n_gz=tx4&dG_2dYu2n;vu4ejYiX25zv?Sm``#&bcCwzJdDzL~2x|`83Z4bLZYr!@M~~&J z*vs`Xu`ijCk84==nA85G-%itNy9r&{Z*HR7kpxSbG8!P(Ujhst!AW41Bx(KqQrfCAldZb;NO*P z;bGbK(oBG`Ue#Q6uSSNv{kTZ2LYAI?ivAri=lnvQHRkc(0%@ykI)Bw@gdygnXB43+ z-f$iKy1KF1j9-)-`GyH8X5@M-eFPodXlB~hNRxfD8GcWC2RE9Si_2jEx=#SvHEfSj zA~qfd<8A&p%Uk>gaMe-Qn9@su^~3iLKQ;?x$a{12^MaXWhX@lO4Y~MA;3T@cl;Js3 zNz9_Qr;5go#ww~-E5b@_m^*i}Y_A#rM?1vo)W5lqbAGjEn^SH^ceA2%xjYOtx{2i1fFZ6)oy)PlU~R z&q=D_I2Eeb+ZqR&6F)|GCS-oYX<0D*pCKC7aN6-?JxCr>iLBhj0er9?7*qQ+#fYlx z0Y1X!n9v{x%a8BXw`TuXE`(d~t4dz#Y zvB>s)fgfhXlI*+iTPq<@Y~ILr6x()0?b&AseWRIsxyT={r%41#DYLBK>c?{WzsFpK zpZ@9*2(N`LjVtCUYwVL3sr36g}UfjWUia2c41F~_Vuj+-DkNqKv3yh z1Mb8`tTheGLSQqWZZmiEblQ29{G{{02h1TmC)DwVsMDuZb=BX*N^L{qEi)SF`eXn+ zHfKRB$6=H1;$K!`e)l4`8%SD3QU|$4?wMusGlRRM-MX&{nw)nZe-kg^hY2?XZo#2-FKwJc&mBHrTL%MqrHb^yTN92 z>(N?PfX`l!;Fr>w+K4uGk3FVN8@m=1GH|F=C&ru|qn}UzV76Tgez24G-=O~2{HLA$ z^g?Ta?00p)0#5obnlfUv7DPvn^~w(be!{+J!@QQ~Z4#$*$heGIVPR~sT?&JCOK47I zaxu^J9?+Lw3oSr}%q^w-9WLjb1M=>6G6;@J)M@UY+cW5DzlUIF1ecg zS&#j7nGmZ<&-!4!NY{sx3yvQZuE6JHv#mzEancjm?ejGvc#pippW6{zv7WsT+eRhz3;HR z2Wck+V2uDYoyoPd^}D!#oUMWceX) z(RWDZc%p&uf6Pdcf!QgZXf$?_0}Pp{ao%Dk+1G&r&Tq19Xam$?qd7x`T6kDiVSm4U z&{k9El7=*(fOxA}OwpoemKp318&JB&4&6o?GYH>FOn{!}SHS?4n~PI1LtVh7aCaKr z-&0`Eub3{UkOJ@>`-~VSnnuuI8`SV^iITui<)G*$WxFTUMX%+SV9_o8d9p8dB5e8? z5Zau71(Pn+gzy#>2WihvrRAV&vng}^c9Wu*!P8ok8>IakT#SX0x99`9r1V|=_Fh{} zhRd?(dChr!81K}1xmm3O?2EYHywKi4xy^0w&t&97rU32nO^yq=$nL%r zu8g$lS(0W;>@sDL5`e35{7^V%}}CA_T0i(&6#&1Ej3_7;h#cT9&{WikI* z!9qPqM+tWB$MB!`IL5NPLiX>~W04(Ik3~>4t&<(S-eb(?cLJgL*d25?+1%S#Du=w+ zNZ6EjGXd07o(B8RfWJXR zh$PEeirg#VB8N{o=B8mnOg(=YE~BB-IA@y${Jg?WZ0XVf9z30vMR9p$u8VoY?Qj0k z=3AX!UEHDf;K63u0B8JDCHso*Hg4vX+JhK3O> z3z@A$5$n+`M0(YyJgQCxZLA4hz~e(w3hy$Y%zFhA2P?6CTc_~{XOVl=2G zZ@A5quK})oNojt?v``vi^SPO*$$&SsOklhkEtu-iBC=RG>o5vO=y~GmkAgGgRE}ao zzr~-_?g+hT8-t~V98_R(oC-`oY!kjzhr-G7YeJ{k9Mz#y4zK4HBGT)r#Gk6?cAM*n z^>{0I|Mxc3W2~x7=oQNC*Mh_1e`-Ne8~SE4o#4*{8{Ue+hAG(#@bWXf6%#T|N8l^V z!JBPZrfg)H1DhQ?eJtFr>jVixgKXJT)0EqZ7eZ&)=DS1(f2eWnOQiZqlSvy4JDgr~ zvmK-G*c{BUWEkWKy=G+)#KXL;Wtmq0-8@E^ych>y6jRMfZ_n2ctI8%)d+KaMU3+F8 zmPq*UAYlPMG(L0~KCB@weViV{pBkriwy-0PQ?iA^hm2(THKAcPM|CLg@Oo;ANU!Gt z{Hc1bv$>8~PZ~Vw>J^%u*M!X*K+Bv4EFpOot{*C(&IWWisOtR}d!F7Os=y=t_?Pjl z39Y2D0er4}@G$s1MqGNkTkxma{WCmFy?-@dXnzT9{#uTA_3O;Pzk?TeGc6s%Q6H|C z5*u&-^4KZK2b_gFjy3bHwc6o#54GEWvnQwcRD;Z(iXV zbCv}GG&0%iK&?JGT${WV>$BE(&q6BVf&^damFCN9w!mPzJnuZgY*`!l4x20#5sXh% zG-+&(HziccSehRId?-8}VzsEvB)CAq_Ye%iC_DzdNUgGqV3(`D2m#4mY9nN>Kfjv*9OlyzIlK4yzwi)%)0*6@qD~; zmqf8c<`fb;cd*k|)btV;Ga~LzLf|$$_2M@}$a7ghm!-WyD)E zx*wI-suA$6*r|QVI4MxFUlT;Kp1YH2{wtLR%>(WypJC&5ru)_Cx&dO-ELWMTdOZnT z)i(VxC#TYXh4k58>#rAuS{f@EUbM5yl_FH1V=h<)6e#hGHIQuQP-wOL3udi0drI*v* ztNBm&tTlVmXr7{IDpZHvEH|tqJ-$xV;gerJr!OHrg5F` z%U;VdN%v^4r8Ma-_FBdy-RF2MXD8ibyq1x;>8dU4D_)BfRIR(jYl$S?=XotBCf(7- zZ7YY<2A5;Jsy|L~-87F0aEPb{-CJ@8XEcmpA~c-1pnKr^AJXC;MI7KWpmFKSlU0D7 zcpWQ4axXYww^+O&rLk=|jbBE(;n?Es_N@uLAc0rj<*)9rcO5%cq7+XNLc0!Y43i>+ z3iq63GYuhp!2#h+kjZnk2;c5$Y`Aqn`<4|?|GN3WP;YTBG{)iR@#k6`t=o{q(XcID z6TM^QG4^|`{ldQy0)NSui->$hTsl^sV818Y?@9K1iv4Ob(LQUP<5XV40>vBh>6(-X z2nLV63OY8>CLW~khwC#kKH+}=Z5haa9{s&%Gz+wOo+&fnVu**Rx4C z`1LVv_)6|jCQs zfX{%&goP~yShTu`?h37Vh0LN=F2BO3MKfrZ!=V6sPHZ?PK$}IED9(9mojT-s8R-NB?qOQz2wWx&39viBbT_^^Hhhr%3QhYXbP`XYd|u1-lf1;%u`5DRn0}EQbf-B3X4^WE2ReNS zE5rT>i6=5}e6} zN4JCaH=BPT^_6g<((k}zMBNNYeO|Ucw!)OIFu z&D00k?@M(?)h~Sjk8sP(vMz?+T!70g{sAQ=hAmx0H+`s-n1rXP*&e5#kHaiF%E@^f z>KY_2mQ}sIR_=z0AmXJ@%ArKWoP{1MHm-CC65*t2xB2s6GA1f^TO}Md;txT#TJ=oV zY+q*R*kT@~>&57jk*yN*G%&RhIux3c2w2=A^W+dGaXX!yM4_EQ!Ao&*Kg5d4V1+A| zQiqMKlW&=IPRCjGpiLN4=o2<{l0ui;(D@2&!&%X!z?C*|wgS84?=(jRjs6*JrP8*P z=9mqjyKIbMJr2fz) zxR?atq`b~0*aK#f;0~AIbJFPygN3JT8jzR0O z;K+hCLM`+PrUixtg9)ek77p~+S93ZmO|_8u0puxZw5v;KeI+wCiFfet9nj_!`{fF%I@4wXo5Ka1Y|69}huP!HXWdC>7 ze^H|?xX_og{l8*?`pNzrICK!JPS6&Jn5+pG znTAp7R3*YzX6T!kWCmqryaoAm>am60yMjubWfIksplDUm$S=hX8-dv?mC7am+e1wR z%82PCdH%zCxErVB#|1GWl2dp!%FA~a#=VjE6*Ms&%?K8Kclu6`3gwDuD)N*WRKA#p zJtHbn8lC~!0xL%~>8pobgTH4sW$yIu)mB@z|DLp}#ap=4g$&zdbB9Cj*VQ!J zl{l=tj*@dz)cq?%aT~BmB<8n^(mp*Rif0+0m+KHgMHnfGDAOTl- zC69pd8Ntk6CC0LNy?JSy9W=!Ne;*|0(oJg}x9AtVy^JK@$U4Je_Z1fj+ve{?#k1TS zS%&xsa||P6D~osWGiiAR5-uFo58~Lqx7-V#h;RB5xo*gbB0Iv1RuC-m&y_KYCEuiQjL+Q>QJSNnzoaK({}gWFQFtIKeg`;;rf8Sl^5jz@yep%xEqSX zsxP~US`dTPFcWL{NX!-WsyEN_zSKVNs9E0S?L9eqyzt?Z1e0ldKt9`{X;=Y=FYbRZUdYGPx$%m>ly2F_!4XQ9mMEiJA5_g;Xqa%;6+_^o%7| zH0ZnFAA?1}um@P`yeSCY&+hUT|H#dVnNY^UHK|ZB2_%JS_6na3LgzISBFdAfY6CtS zy{mVDTV|vh=!K`~ZbH>gBAy5J%&{)C7N#IkwTIAGl=h#jc~vsPa%G#^ILT}x8OA{Z z0(WKD{DA;FE>J0fc&ZLclTPMC>V3|!F9g&XQ(7Xp+pz!^_vzH_d2ce5mU0UE5#AhE z{6f6|jg=LG%4lw=UO-?-ij?E08hjD*=?a=;hCu~IW$iPaofvMW3EDt+*!5vIE*(c{ zsLan_XARu}-++3#9gSGRy)IxTK_;QZgUG8K*MfUlN&%ozqE95300N-ZU~WWhn@-!t zmDyI1OsLXQ&_r&9)R`Xvza(^a6Waf95L6YtSn&3PLMJcG-f5eo7W7H9qLSN4q7{5% zE13r299)x@gOuy#n`#J{4Dx)MTG zRx6$f|BW0ol*OIMR|TWlIG*Q!gE@4AZP$o@Gyze-)I=8`8(!f-@VfTHaxhSiPbiWZ zit8hN4$8Zl!o0#4DW=n`pcuh#8QC2g4FhY$+sazGSNLZImN3I#p<+sy_O6Qgi&wZ= zp1+uR5`F0<~Lovv32BnFWRFp0+*_3ZiDR*Sw<7bNZ||U!owA#1j*S zyP9ffqfMo1Yc`lX+u@oINg*P5P-M0(ttanXFZACg11FEd;)}9r?C9kj!{^SO5Uz2Z zd?v2sGa0I0cr6sYaK;ioztDK_`x}h}zkd+?A#!QQNlAUiKK&_PUKG^)Q08;N{Anp@ zBgDS+W2){E-gjynzwiT2sF)gW!57MEpH@!vHz#QyBjDBHi4D(~Kv_l%OC5wg*6J*$ zS?;U2jTB`{L2L;;yJK(yJ8$wpFhF?A?Y!^Z&%tr)BMG*L&)UHfHXr zIl5b9hXA92fPupj6a`-(G$KeV$4KsbplYBo{4v5BZCkPI2ivJiX9u>GN%sh%2#}lk zsnaI!?7aQogd#!%>$EImiuWi>5ofCtJCIn|?8WQFhE6isoF0kuJk}cdx5Z57k`Os2 zI<}`rHx#87A$!y^7vg5ShGKp;(8MO;P62np8o^k`$GCjfVeu7H1`FP9QluZM?Ft}I z)46;ns*5!r>6x1+U$Nx%n11!x(-pUC9bos&f*iM8`dZSxh?4F5yy{R1=Ww=14lcA` z)=T`Y`mHv1({1{e_v&3*9-srPqybhpp%P5dNrQuvq?=>NQAb$B)a1~Xz2sMKXufxH&M@j`9xyq3*! zN0&4+(;e2BW65zLvDx)EM)$P=n%>4*^N*JW!iEziPtzQ-Xrm>&nJb^&d$hS; z`Scw>A9vfmH(#tlT)Agu)zlx)xdjiSy7E8w&TV;a;aBDR)Gap*J`ZRdx!~h^x+qS|!)1 zh#>)iUm)_E*E}=0gBDpT)sKfN4(n=hylFi2rx^=V-PU3)|V= zeUE3^i5?#X`Q8{;(85n>2UWFL!<$%lK8WW&YbLWQad}Rx-DJLB?%n-*thbGb`|W#N zI3BidDpe-3g_)Mut2{GVTnsKDD!{ZgQ3zHg>(x@%O(^MJ*u~MhL!TzB7O~MWYwS0mb zcANoVl2pHI+p0Yy<6v83Hv_hBTtp;=o;=?jbj}W&N}YL37~AEVWvYf+*^AU{5EPbaRW>iVT};PHM+92 z{hL=!Ok}smM|BdCi%wNoJ0OOTaS^QPDHivD01yfqL!bqb4Ny}QfT32krh7o+3fI$F zQSUZh*?c|=%7$StIViFM*W3gNWMa`9pc z3*m}(m|291fK3u9th3ycxnZhfsh$;1dSUdR#0^w_gEgY?1p-bvZ7$9!+n|Uq&pn@j znQ1$So!;Vv%V$Y!Xaw0vlK1_2c9X{dT-QmL&fe5BgJ9I%96p7{5bqUk1q%8nFH9T; zoxHPOn^UHW=ACcXs{T928}eM?CARQd_HEVZR!jpyr@FlJvKh12=s#+}eH_7i|Ktfu zI06w5;`$h_|6}F~wt@2l%PJ%uFX)8muPiwYPUMnYNQ^b~{G;^&v02n~Dj@dXt6(Yj zA>l8Z8}12oIlY!MkoE@z{A4*D0nf+j2>3u;<_e_;rrGt^BnkNC=Byo-fDgkMc0j;4 zn)CLd?z%JtHBZs*cvGZxTt401U2`^bk{H+E}**Q>#IW~=?b zEhwV;;$5fUExddJiyzFhVXI(umb-k?K9Rk%epV+*hz04+QZ#Y!5<~ z+g#KZ>JFdsS8PEMimiX8A!J03E8_8jWkJX-kRCE`PJ1s&xQl`0+tyhPH}(V_P%DX+ z=*OhF5CX_zbUv@4EjKy7%%q z(BN&S2sxmd8bicQV({6-#w+~wn*hLm7G#5C4b~_{x_=GWXL+@MXNSU@UF9L(>Z%MaCFEKDk&8`R!~Z4*j2J*n zie+qoLQAcuGW5ieQZ7>@iJss$p0zr5VMb0y#$Aut31=0CkL3|3dOK_ezdgVqocCIt z3ptMv__4&5O_hm7O(;BIT_R=QXzy4HKuQH-?e(Yf?V5W64`y4S_O_#`6t@dnekNv& za$NEyM@TLpe@1e3?C{bB^v_8C;1QB*5I&VW4*cU5{^x??%?Gl)`*a-_0a;Tl@qP8w z{1FnOStcyigtRk{9Y8Pv?V2bz^NcfBgtNKNYm2?ftZ9YVGme@YjsW1ezd#gE?}0cH z$m9^^lSzCL)tH~qDxfV;<32Wp3)X10(AI}DK^1yCh3a*XX<`0z;;o{G|j1xH;!zSNzDaV=Y@pW`j#wWRor= zY3rQADgbsC`}mO{VI^1n)8+3gvX7UkXl#BJVK#g4p|~h4S0H%6Ug~AE+3Ak;YtN0Y zlHs-z9q@}WdQdP}*S4SW!x(fWkGk?cpxp$$5%>R53FH%B&nZ9e+{Qxxs%n~w&_P%4 zEO;Vj`!dNnCJv9cW^;)-C@nE`q=S+*NtU(Q+{;$i77_EWnl6MowOkK-`&+H`_iw3L zm^#BEHYR1u2hZ-ojKes*xnE)o2F&IaEFscXcODK!^++9w`Ay4dM!$-ipRHq!tBW_U z;f#eoK!nHAuS#Brjp?}!2^}b!6YH)1WS(KrgD_xS#0*h4*y>Vv4g|XUCnN-h4e_}D zQPh7&%~9MjNK}rRtqzcCtNH#4H5|iUMCHf*p+}`+?o^Cz$y!>%LvVkzHn@@*Yi&kn z&DxeU(FK4hLDA>C0PrCQ7-<8n@&C`^bXWe$Bv5Hmr<&KKuwVSC?Do}3+%dhm{Z?-z z7J*?t;bRcZ@kRdwy0v}50cnMJi(h5Ya9U5VAB_a#_br(-QS(CkDa?=6eq!Mm0yidp zWxIE;Foq>H?{hcXr6hFG*R&A>CZPvz(k?@VeKRP`TYMGRLEN}7n`H0myapmviWY}$-og^a!o6*` ztSBnY0RVo+x~CJI+=2UQOYf>1JxpzjsA9+zxVRul(fFt z$WGQF-0JQ}SS~awf%m)edSMHQV<|fT#BjAI35Zt_MUiF>fLNOfT<-$M4Hx*k>Z9sy zmugT4)!)_LyN=RHbk7BpA(wI=}03${_Y$wr0C>Epi(RRNoe+ryScbxe-bf0@u4 z@I$>p=e%ECZ6u?SL(F@JT%WsFC`1`t$CtYV3@2*+06=I2=Up>SM|st40B_IS5J2u3 zWQ+MZ#kj6bPr~PYp}#wx+dnG}KF=ToOUIF4;wMkuFIdggO562of@ZP%;2>N`VS9dz zYt>}f?{Mf*m1>cG2~}AvxK|HGrf}wU_D=yUDs0#2%z7MvL&4kTM$~o{Y~Et)oErK< zTi1V*TRorbybm}p@UbNn*)$6kDD2>KZINxfAmmkdIAF{mZLKT74zvc}TRhI?`n-7m z&35MMR?aEgZxoa^(21IkXBrpsa5GQ=SFI;;Yc4 zQT5O9nda!#a|rnG2`T6}=hb=Vs-z@>XiG|8z7cLbT465FPsqbKQzjIwRUW|ghl2xb zHjBdDcd6K5R{YaWO>IMlW!nA(hq9fVClc6yR{TbRf{?|zGzgtWiB?*xcG>}oQ==th zZ6M)9*!}8>!`07v&o(+@hvR)%8=br#N8(^KlM}!t;Gs3Ov{-~}vTZ3cmGH3YnQ8d> zIoHx_fqX}5{tj}1yd{}N-99)FG(SQip*!g=ZJG8QP1#@`LUPI?Fix0}*G2h^*B1WQ znR|$_6ud%>(P(J%GS1CY0b+xx4U#DKSU%O0UGveqQ;u5aO@r5apgo0HjJlI~k^}bU9S% zknS~jE#fYG)y84237Ro&FC;_9om;SOV4;E_bqi6ZA*i(bd{?X+>S?a>@UVv{gu)cc zZn(Bfm=|@Cj(B!wDj!H2x=l%u`;snP>Ro-|y~68&cGOtfVctEUy2E3Nl~gng>9Hj( zl)Fy-e8Fr|5=E)QZIa*-yq1t@3aPORgM&k>LiuPh?GK*E}B zL{S|Dt?r=(G!$mYD})mw!m>eyQiE+?Q+I90(ytxhM$!I^jNSV(GEU=v-bWc3U;i*8 zVqKF<|Kb`@hVr z?9fpIa|R6^JR~>oXfK@q|Gvth#~f?#gXv8IZ0tr6p3nbECC{M5XLQAGUR{SAVkrj6 zGcbP+x_8b!8c$ia^R>@8G1}XSyd5_EtpRuJ1l2;z8F_}Gu%l|m&iKvG)s6Kzb>L#{ zOkUs#pL`5Uf1JmuylWtrlKxz?P2rWtWWUd?<@dd5+pw{Ygm8kNyK{nHe#~r1!^&c< z3pyDA$s0M+m04T6E-=i5ZOe7nXb;<^pYBXPECaN{Mi0U8Mu zSaWr}+sval!9Jd@g}N|*M8SC({I1LhgOCt1Dh_Q0K!T)qN$Qen*_BseMsC5|+Rvcv z@r;r~HX4tOo;N9n_Hi^)7B<{q@AdcSFsqpNVpeNE8}VO|*1>%!kOw#BbCYMW)7Us` zFZ={$M*UZ%G_IRKk`1pUC~;}8^xfNV#{EO~EkPyxlQXOz9&`P4pu|R_jy_yij>qmc zrfa%~ZggHw9w5ikPXqjl7`ADeO~;875xe$QdS|Y8?;%~iUg!9m_r|<4rC2d-y=k?p zc#Q~6^=dH=JL`|)S(hz6X91hF^#j?6W4$5*B-bfP8={>S`=lkCQsF}T0WRWZaXwyA z)Y~zuHFsdFd0l4dtM&Io4yd0mjj}Yu5eQ2w>LlrGBDZ7_ZTw28BWP&fB|ydeXVc*q z45!|UmCBO9=ZC)iB$y(t)s})fLhR+hE#!TlQPT6VT4(>jpo8f&TAzvwz!kJlCj1^OP*-i0v%`%pek-`0LNMN;^t6H1u2)3d~ zGD`-mBslf#0QJnIoanl7O{xL_=1+c5-*L;VdwCSAolDFj#z32Vbwl#3pT2J8S?Z_s zwbEkzv>3Y|wN`H(#6ovt!!Q8IGHTm4G;zyG60H!8_ z2bedSpD))QxaT$~JDH0FD64sLj=BP*AEq=kBw{ltP(r>7(3&Wbqmq|e7fcalC`0&= zrJ!1UZqes1A%a!a$En+=1V_Q#yi6q z4Yyfy78u~aGiPpv>=UAyp!dThpTPe9&0FdaPz*>4C^nl9AOTiD;pd_eAq)J!{`PxY-%{wep6D zRnr*c>Nyc)LrRn5e9n9e>Tk9UhX4fV(x;q}EG9X9w7wu_+(z=ietQYjV5|UC=}!ok zW8T8QqEO(n!kcHXXp&A%fiLpR;gCoxNW^Y3?`dJTy{mYac~q!tjr4deKV|?{iF6A3 zymP|F0c6}_F5-%aqmB(<7r+rz?YCFCSvbb5zcw>tDO8Mi-2AQYi$1XkZ86_q(*^4- zt(n_#_I9u=VISq5>;<2whWgFoKO&Wo3$8;{+gerCbAcwmzeBzXTk#h2ik)Y)$!asn zVrjE`(JlFIQ-wbX@#qFBj6(Lkg{x^fm%C?;EzP}R&ddsk3gS<1$uHEQ8Ew1|#+x}& zK2xHZr5olAO+K%oRi*xPe5-qo(O0KcHtguM6zy|7w`LExVH6mx>qdPes@*y z-h{Ve8_#QHQp2FqZMOWrvQ&P%E#E$kk}5x$qJ55in{oABt6b?q0;_M?M(dlukuw0v zm6n^O>f_ZP*=41U<)Y2(U2!@VM0!Q|35Kxt)4!6a z<@VPJtnC8FDl(EgXnbdCbs2dJQpRC!4|vv?8dBfPnOuw9S4zlonj*q0$C+buNu zb`sQcjrNU&C`iU=Hu2#-dTI0$~x7}S3PfW_> zJxpFi%EY2nbQG0j-g8wi>MN@=(L;-tZn*1jebq!06AtlS9$Kg?a?2L2pZ|BH$UHw- zwzPl#<6!ocni|q<3>0&`j zdY5+DQeiaGN6hKBb!t?kxE)Zt7}~&=eV(-3l8YZtw%qeAoKm5sM#{UaT>pTsj{L#0 zEv@tSb8Z&s$Jt9Ex+dc8gN%6d3Y)#b?a9Y9;kDXyrD3gMappWz; zT@RaP0pi1Stu?-OKNh`u<^18Wju#vFH>(Hq{hy{7-RZ=X)7Rbn!i?xBQ??bn#pMi? z$z9jC*c20B_hF>eCQKwX=HFk?hF>@{UCU3M^;{tOPI2qv&AShplT9T2vfai%dzj=@{%&s7=GZ`0F+~4+7hWV3?bM;CA8I`dX zTPn=ARR>R8H2~s;udEMm?6na6BgcvYSY;eA|E6H}VJ790pfd?o^qU zDa7B;mU>LhBu&q!?ed~6b~}FNa!WxIX+#b}-@c3#r^+kJhi0uM>$1K)TVdLXXj54y zkBHE0m{m=1<_6npq^`k>b>#&O=FXd}h>{(aIJv5 z)nr{t`L?&3vCHt#Pfc@m%ly?!9<0&gd0b$KImWjVD9EVg7IOoE#k*ph)vhFYFv4xt zS;=Ds3~kX1c4#$r46GYht1m4s-Wl1yIywa<0>}NAX-cR`>`tn9Qqv!7p1C^EO7<2l zS1G-nNRL)unmA{56z%zCeX;*Wta(CytIvEltx^V9Kxum{!&yntgZxr80v@;s9i4Ng zjA+q3U@?JxS6f55;^T?j4}>*EJh*EoZaiy8RU&tVQWrX{JC!Ucjkz|3MU7|bq9lG4_l;l2PDI%Y4MJ%;f39zrKUv&3ZYBSrj z&uYDzAzcsy&Q+V!TwGXL%90WH+hit0ob=bAzbyfzCyFwIhCUcS&g zH_O&!ORMWEO`~L1C{Ec#HLFd@@0=Hz&K`vnnlBJS=@W+|^MfteGB=lR=e!Ag+vk<@ zeQ)kaz8mI#9@LjI@0gR>FzEOGD$62Bo`!q@6M8+zGv!!py1tRwkj-@2tK9QC^``ki z$MHZ-1TtapZO@4aKWs^g=72!nA(K0BR`TJ{Rv@1*LPlAD1 zwDfo_EWg{&PnF+Y>Hjo?l$aE#Y^`XDwO+X-ni%ii9rPCenr)0^ct&MCglT(gBD}5f z46(TiL{&+}sf`=9+gYY+9d-rMK`kyQEs0F+Rxyuq{RRXd3>-s8PejSguB3P2Vwj+( z+9}*TA>mdkUbSbTi6yF*+6C)t>W=^YJyba%k+xnXqy}b}tC&r3Wm7DXSjyfhxl(=E z1us!BYGKJm>O=*n)|pFNpZ-v>6I$>4PzAC)(eUxDEx%JyW7n1c4mk@wcw(~d=b-Gm zg8e7-aZ(wfQPwluc4@10m6uBgX-nedXNiV>E>fAz8#9qKl)2?j%N)9Nwnc7@!%hZ{ zi1}lqExAY~SNWSLxKLF`SGvnPFH%N?vXywcnSN(_;;qTVSY(a+&*O`@+gCRAY%`kF zvF5u9rn7QD+Z%3?XLd%zOp%@ItmrRETDF*J4JaHN0!vIF86KZyw4_01o1eDb%4nD*POpi4-=x9&@b)qFviB5CA1l=O(ZK=w|kbOfOV831Gg)ac(h-=PCP6CT8RLTGRKzScq&c zzJ!+1T{TPHy^KR>Z9vo!*WEcf*`BkV}Z8YhwKS!Ukjbvpl6Vp#2WfY>R{H^QMFzi=P)9+R@jfQE3L?jx~ z5Rhd)S<>pG*|9EOkdDmqj*Fon*wjWk*hl!o{HV^)n#vFq64_L3f9(-PRL6ZyI)xyj zY>Bu{CErbG*)j#KOa_@ahl-6qv@F6ZwOZg?{zejfSR`X3%1N>8;B2!DgaYG{8@=)>t#&%;7#2MUt&k%x5e9cqqN!C z-SF~&Gz)IDCsy2s1xyj~5*g>=w`f)5wwX7{#dax#JPln^(8-)FSM!=!+Lq?<{sGdw zu5up1l(o@ev&KoR$k}Ol#4iX$o{IA<#nbI_|J6TQ$>PPvp1Jnu~REz4nq#1fa~5Q?Gq>}Hb<&|ATBfIfl6+wZDKFUO*RX&pxwv-zI zepk7_9**VWs4w|?^e?6kqwvWcfkSNE}~bYvLEpEfyXY z_3>Xkb)BQ*?A&K!e(nKt%3IxRyUsgxZX`*+cz+(?=CU^HjC9&xp|BmLr`EG9Sb}~vkw=@KaZiI^ zcG%`&>(ue7Bk^VKI-s?fcn88=c#A>yHEpwcNpjWVB{(%v_dd9FalBK^Zw<#O5$Qmg znj8~ECYfi*Q_RcsT()K{y4nB7dBt-t(DX{(&x!MlG)IYv3!Vk9q2jscne{Z<9=N(E z$8%!mom0{Ln;r=bk7BRP)(H=uEcEOkb>yi=SbI;7V;rC$jpDx#0q>et!w%W!#%+%!8p&`m)`~qBw}p9c3D2 z?f_JbwPp{A`4rK7K~_dXxOZJlQ>pY&{kpjSY|r309P){nl67F3FQh@pK-)A6Ct-4e zcBCGbib@oz8OwgcZqLl0)P0yj_s+$-vRu3DH}^Zg(S)}W0T~4dSNZcfE~)ZOrT<#F zzcYGX*--CZCu|hHCNU|evh|z-i(D0c1>|-+G|sK@_XE!=->XQ}{WF@l4J)2|qTa9G zkJH?o_IEh>>Eh-1_P=K)?uHskzW|~-asSvv_Hj7I9fTCKM6TB=iKsodJ#mTElF!C5 zfHf11EL7vKL3OXXOX;(1ssq3*jMUJstyYb%CR;0PS4HUy^*^a7?Wzy=oEI%^n{yrw zvkz(;+VmVkv&W-Z+bc#ve8U4+)ocM&o4u_UHNfgFyU6_wwFgOKFJqL~H}IM^!piEQ z?fkN!AhTQ@wFmOq3s-8sRFqB~>Mb;Yz0wCj5LG6FW}m}vfv|Z^SeJ>Swf*Fa4Q`Ve ziTPiLsJxV# zHw+~mNrp%##eCDoi6mL_!(Fgcamo3{NCoyGMBjKLgR4R@|M=j#$RP8vZ4!iwvMFbX z>9zrShir&(?REXM94h)s@m8#(v|=5lbz+XagXP4hlXUdC450A@xA&|4+{Mz%)Gz6g z%ZD;S`RxczxHG(O4|g@27x#ti`$z%Yzs)E;d1+IS^8SbGf+)n>3;cWl3^yDy3LTpc8lr7`1z;Zq^`Z zd*!vDyhE7Vlt!P<(U|*dL>!>q)0NI%_3>IZkgmdiF~06ub`ibJy|BNN2ufUXu)_Z{ ztO1t>nQR|cj(VkX)Q92`I?Ds@7oNy+!D?4*Y1}W{Gcm#aAAbn60)kMs-#W_&Lr%Nm zK6}v}K^)1lh=)0B1CLyCNg19_0=m5P#W^FjtB6HMeGL0$(WP7$0<+H)KN1wY-y;57 z)_Ckr3j)_&I?8iRcP>;X?E>Pp{DtV|L-ef$M`HZJs!?yyx2nYWaMh@P1iiYz_9n^O z2mL7w7L=evX!CG8E9g;t6!+E?l0BF%W%qT-g;}m;WjQqRgq{n8ElAl|3)Xd?!7oI( zu*!ciI%*%h&kh=uQSPse``O32{<(Tw2fGCc2HuTxKv1tOgQ&*X4m;8Jb<>c1vxJHc ze>YEbxMvIh+xz$vTF0s!%RvV;-usB;t$lHFX>GCc?jqr*ANq4Et3$C>*^3ZjpQ7PD zC7U?p$q|#V()CMGxj%FP+b}8o%ss7mdxiHa-5J!}+go1RIqzs)cziLs z;6OfqbF;7k@2+;*j;enQRY1R>0is`s#RjcH_LgBzY3iFgKP12(A4WOLA3wC!ku6$r zM)Tc68Kv>znC~?VhKgBy>B*|dYBO7u-Cdq5uhcRr0uF{JCJn9dV`1Qy%PawzvNT&F z=F+dy_kg=O)(Qb(R+CH|&+NqfV*|3~nbEdso;Z;+tW$h#TUz42{vA#aN2Jrkx9(9F zFUv7c&KBSu9o%69)99crj1T97{Z5daR!4>ZT7`^4!^a+A9rfmZ5$;_Q9;D20+@Y(^ zO3Em6X)3L3?mL{}IaE@XkWloml5rC(idN}?NCK|4ERYU%ETj^luci2)vUk;Tqs0Ya zDM|lgEnB2vgn5xzz6qz9c(*b+VyMMF>c0?!{Aq?Pqhx>ox^Y7ZMyKRg2V3t9vwD0z zxQ+Uvc%TcE-Hm9CICcyVHGp$aA;%ARE3!vxuL3O!Zl5Brd5ZzAaMEoRU7;zx!;ZL$ zthupo&^dO3ZIWQ|Z-X4$WY4u++mF!4bo+nz1~U_3x4*jF=Yc-dDdO#ajZ_Zliuo<} zlu^gA)64nHw$;yyqub^k*QNsrYf7R_u1V%N0Ub%LHTU-tr=?6pttK7N19s_2{lT&d z|2;S)vGg3h8Mb&!7L`e+#Ne3+9Kce z%IAjmi%D@MB6bLHFjSan+H8I?qu*!+FAk1jB~|xq6V&GZ9Zk-jO`ED_Xdij^39(Td zEdL0;44&1>7WWE-5-fJ_+Wlmo0L$w8HPK*b@AQ_`2+v2t5PD)Xeg?TDYE9SE<|58- zKrb#$y-&7|$TW1r&iSsinENV27I?&>hRITpInHh-*=+MFFViJjibbDFF`l~~G z&vr`t^`gWGkyfWaFEoOzspo}ac&t1uhm|hph|h7k^+{LblT-;yXxXQ z)3pHeOJIaS8=I)6h;v`B#pQq}m@z*$mWU1Y>o_gv98|0GOcF}jq?X_2Ue8-R8OMS{ z>ay2-32yjkt#Wn6+oLNpf3$pnhq0wWZ7vb~DG7JNSc z)AX-0i#=bQ&IlO2&$1Cwh z^_%f$^EZh>zi>fnij>9ty)fkn$lYdgH3$3dBuHm0#k&N5^hROS{f>Qex!VZu>Onb1B}@ z91{*X_Y@9)gs=+_fOB`<1Nq^!=vas_&xv&1)uEBY=J6L;K@u?e{cc zBRJyO(so9(PISO-Eo(wCR$FFX-hBHDIx1l_M~1&^^ClB$cbe$o7m_M;g-ul(IzO4Z z$b4m~J%2gto-eAP@JyMVLe-#*?-W_m3e-@%=Dr!en-o0fN$ONOXE zpJjr1nN(VK{p*L%^8q+rOUGx~+fi7=+{ff6f9i-Tc|Rn|CIDGQTSI0q%m^~I=SUT~ zw!5;S|A`%1zDdwpoc5zb5A*j|0hatZJpul-(RBMeD=&duQvZ6?Bm8J#xgSUDf(q+B(JA*>#t466Zfgv_VH_4a+8RC&13`!2!89+qZm`u1 z1{RK0lCZRlP0hMXilD=m=0U>|Au2SOvB0-5)_h(DQv8OP`DIASy3FtO%igO@b(C`P zCE6Ox@ymwtfFxCqWr@d#r{%Bw2}42G#^aH}gFRO$rm@G;T&nrBIym?iTp%pbQLrC+ z8$*4`{VpL@h*SNy*tc;a03H^9WHy4cai7Ofb~Rk4O-2!^($0hZLpEXaKD3)z24XYT zN%6FO_n=r-S8T>w=j!a$^`dJ_xTv&fS0kGFu9ymcJnV?gh4$KxAgvi`p?zOLL@i{! zIPaI12~&fm&zZzb2f)MobMj~QCpdvseRRt_J%DYK?N%(=E%68c`~CnnbsS|?2L+w` znmed2=J)mK#{d3|KK0+PN230ID|KuBI6P-6JCN|4t5?OqB{P%Lbkq)n2oG?|);t4lY`a{_6H6E?%W>>X_HF7+`y}jWJs`qT_L+<8t8W}H9I!@!- z8nA&isif!F%GP6hj^-9N!u$2Wx2pAWlC(8|po~)RF8He-vsZhHokc1{@5#GLT*K^q zarg%nMYPp;Osx6*jK*AU3bsab{IR*MQAp;AqF;sf{A;5z6o_(LaKCe_=>(e8%+p5K z0+(Hl=(cTjXevDHu2Gee$1_Fx5Ho-aknIPe0Mf(z&KEnA;Qjzubo5J18B7_9WyJE6 z^Cez_;svn!&?c1-6g1+Hwe|Ahm924f&HJs8aK8Dh>7ka>#3sl(O8eYAl-P#djJ%Q6 zJfG``wZo<*J)20+#d_F*+I*Z7beBHPr-sW$HJobObDOa_ghu)3K&OVZ)m>!KeG2U& z-se6AH@H@JzsBa6_9H8;&Pm^)CT1@|f4Ge4$EA{$TtQi`t1J)li7nx?biSAcKU9x> zO}p|`?3NOH-W8|oy@rpY%+k33Ql;OW82iuW{R6zk7$U(g>K(aR-lC~EL6XMf*HtY4 z;X@Byw65YY_p?ktJrSK8+uPMK`o!~O@|V$({EFp#svgsIn&ywQ8*{Z`;FDkRc+bFf z6;gQsSm6uL<$R%{_;s9Pz9%OqXZG~9?|j-`tGMzBG+CFKI%bFjU5TnE?EB6L0JtM# z?cA>Sntu)e5S(#I<-Ex`bB_!7Nx%I2%c8B>5A?1sot#tuo-Wd$S#dXMwJ)9>eMS`m`Pi!)?jdq4u>lkobc2q_}utghLE8T zU)hO+QJ;oE(rH`W#^@5G%?$Zg61NQr#6aR+WLtytlHn-$b42lv0gWv{uXd`yS$ku) zzE!Aom$SOT8Njh}y@Y!ZR(=s-mt-A#B^k94Y2sxqR+X<*kj&dUCz9U!BX)Ez968I~m*O z4gwjdD??FR6ot=5tya|XWYi0a!q;?hw0BLk`QYcgg@u4MZJS!PTUo4qyK9E?p-|c%ko!!!phJ1us|Pgd!&sTt;cqpLEpkla2G$#L#LD!QW$>E1B7LWq z*z0TL`UYua!l9-N5LNFCJoAU!Aa*s@68Jy)Mb8k+TYv3)p>uSGC& ztu_>516x^3f+naf&${A+w%CVtf)>#j>Qpoha_MIO4>dY``OSkD_L&Hf1hRtTgw)v9^J zK$ATG>(oQJkW2|9hNm%2vyfZop!7Ve-Q+AmYQChhfUD6sf;5Wu+uKdp-$wKx@Au^e zL)zbRNv9MHCixHv+fyZazt3C}9q9dj?0_ZFqxiuW;wNiKG@GC7CDAN?LQA5V{2a9; zI)I;nOVU_A#}6m37s&FiKwZ@Po#Ct-urCccj%(!cJvdM*;uhGFAxT0CuY4H1ll=9| zL6IuVozHznk$K(nApG@74V>~0+6lPob7Rqrj>Zih8XybDf3J2FA zrrvJt`LYf~kl(&i|5|`7u)o@guy;tQH?#A2GqoS+-(I%r8K2SKA&AI}%#}3v2(5MU z8hf9E>OQuV%iU)N4rS&3Mt7d&iZ1PF{F+)mnG(xPmP&+?34g`A26pM}yv*U58S~;y zmrw~VEs^s|K~nSaUEoR)o7|MM()V&;4{ZQM8I$VdU1MrSUKGBTvYYJOQDCE|v7n7nGm6nJ*`J zD-gDAHs1@lrQVLfoYb5D!%T5a4BF>!Fjvq#dy_}4v+ew!TW9&LLik`fZC0&|(u(}lh%@#`inB`LEGHK9a)CQ1Nle}b2_|Iof)OHmr8 zxkO}UEA>Vj%UdXXcxI9)zv9Xyig>2k=={CwTahATN5rgh0Smfs z;oLj6ZtQRnxwmz~&~;-YKv1(gy_2pz?U)!c3&_Z6YuR9L#e{4#C-AWtPslMh2EL>4 z<(jJlUpBt*tloArJ_yKsN|nyanlRK9yPzY~#~Ks5a%KuM3j0<%3Ar?HCK_dpP3$3x|Rh|#_P^H88)&vfh{gAh&g0g-8PMhMLUl94KI zd0%m<_3x$L?-YSoVv?bJ6c02zg3v697^2(kxhYnluScwM%#`7W6SO|QK=Z|} zhoJNUS4W~ctNCvSN9}A(5>QDAspYy3-lUqVXV|RV(1vh#)J}Dl^(~JDcFj0?>6;y? zyaCQ@yqhol(IZexZ;|980BaBWo-rSV()EpBWdB&ay?5BHTp`hmz^tPu#QeN1q$qCN z6Z4+TZ$N>1L+`M2Y=Y45Qdzy0g|@W3M+sUboI~{0JM3iA@wPz2>{#=Km;I1h8(ARp z#^dT8Hl2qvsQ&AzG8#BU%DcgO$@&t})IW4xsApMb1|SR=TOlwyS%Y(^N758tahQ9J z6{-d?I|uf~)b_<#2$ZE{+4PpCgg$wY&RbY&D2mK3_zYV37_I0XcAIVCDevk|Htd~; zytDL^hBIRRNs=SJPrAEox*tEOo`{D^gnr&vU?Oj-jlRc5Tb859)fJ3JO5Qr-<>pVq z-;9{47H;J`!;;^Qq_kU9nxDN>*{)T$MwAZd(m;Xb zC1wCU1D==D>b2zQ9kx`>VxcJM9hRq5iM(Ih+IIF1+x!H6dR*XP5>4*x)|Go5VMk)V$KcVncO!wY~9u34xD}mgY2|e_JMzaN}OY(A=Tp z7Bs*Ar|a|k%x6j}_`hABKePORUmhLs%O{ABiPW$5RAy&W3=;(tZO%ZLiqK-8S+n8wvT>P!@m0 z<>)2>;1ciMMUXnIgoFq$uzlL4R`y5~(8x1}{bspx;AY@QtK7tFi(susPT9PH=K zs|0AUQ`hp3INpcz|D1?N*U>#e;ytH}iNP}V(B{=E)S8_Pr%sQ$V(bh49UU8JR+!sE ztX9vNn{AangVqfMfD{l=`NIf7iUu&lxi`?g1Ay2t4lJ<{Gn}m5*HaSbE%CzcadJ;I(K86;UhG5oiOt#~Od# zAP{XUW6Rt)ruk6BTeOKFA>meYS&(RzdX~(2eh~Q6R89oR-l89*r#UW2vp|8CA2C_z z<^aZeZfJ7;x7EDA$NF!GJwqD)FdvnW76F>hbHZkai!CRN4sJEN#X;_K@N-f&2gq+V zPr9%OVW9O^^N91av718|JEH53(unkM*R9HqRQu&gN)VH%L)sghw{pcGH8?oz{-?+a zCa{5nEdg^PL#3hLXd-s#8@?bZLv|{3Frmfkf#vtvtfmACdK{cdXjjFeG%1i>--7k| zV{2t+t5fg$yo1km4)VjC?{fA>7~AoY%!aefbeIExaDf8R#Z%z8;bwvh{enW-G}_Q2 za}J@YRyo$>h-l@9je|iwGEg!nm(_6-8!RRE=elvhcji z1!;SGCu*my*?L)O`izmn@7b_yE~*?d#2|H1j+c*}rXPq!E(Hy_tQ8E`F*L^!?xK`r zD(1$l!ws#@$N!Q(c)0twKiJUdEZ~>uXAdrN08m6pyI|itnnSdXnYDjfh{c*Q4ToWp!RnWQXeSZ z6>S|ZgHxhT+LM{AOEs2S_8KY?%AJzDUzr&Cs>ou2!-Nr13ax)D+RCbrj*Pwiaf|NX zH3ajGOS0F&=v~H)e8HSenTP2&9C7@1Vb8(d)Okx6>rVvJxi+%dOmeVsEMN{6zu!pX zOb;W#R+uULphwA@dfo3fE86FiZisS`LMtzL?CC=DlwbpjHU^!2oMvc0#rtsQM| z+pE28fm&M=W{3n371XQZ{KlwYZ2?8h|MOjYzvr9`D80Wv|31Z>cfI@F!`f@Dz4qE` zt(|BYi&uUQF|QKx;iEVX7NN4!iPa2bi^enE#0kD733`6Yx&mqRPiOIWfg)ZzqHhri z4Q{KkUeDzen|mH}3EU1UQdlYxSDO+or>2x?Se2UXvQLAx#y*clo9PyVel#AK|Jx6K ztCf*XM|+$eK?ix5K12Qe;sEnIJpCQ|J>xDQgRysTfHZYAH;!ZHNCn5)!Z^TDzzL?1 zYc?Lu&PKiPGF3!iz2+=|mOvAB8oKy&eiwcJa`Bk8P|DxT`lJQ<@JU&T0-Sa`qDwjr zaUbrz0QdBBk|fDO@)~44PK2eMHLrO}@bs||k}v4oKx=tr^|LqrV*WAD1{|c`^j;^m zgu(3~EA{`5iK)YB&xw|g5v7>^g4Bo1l)|VE@$EH?^HJTLbTq-ZA<_L^lZvYw$E_+p zLSaZB$LF99Be@rUnL`f-AWoQwgC@j-7VMOg$F0_tT_`Q1baDDV)u3_Z=GaC z1o!369wY8GUb#}aMFIb(D0abxJLuiQU#T;1D#w%kT92=7^e~NwTj?8%!#NeWK3-a@ z0q>R^IRghbso#8C>%QRIGx-(W%~vdCp)N{faTqJj#X7%*w0Cb)1CoD0-ytXgw{c%? zO=o^PXP%myMm>)ln|tQmVBlTcwzM=o_utZgy0Y=w>w*c{%NY93cW(S;enoUrlW}uF zdU3-UiOh}f&S&lIzU_ujiIy@`hDI|}**X4LDpOzFg1WLk`UzQYY?JS2Ld%a_R zZbo{VqJp94{E|EpS>OE~Pac1X2?DG<)MNHMz2@l~iLky{%F+eKHH|pxYV|PHAUvcl zqvQejM&02s9=}R;Z;PuKeU=m(V|1h=0eD?d~)xgr7I zD3_vTWSkWZIV-mxBl3Xop&S>{m}8*{Mx5 zBbqUxWz-1_sp=o`kWS)PREiSli^FZ}qgFndKw!@39Zl~|Y?zWint#J5mogLbVTBHM zVvqb3In!pD&O&4S@@-W&_Q?qiXajDeyIT7VFuXz$yoBd4VbIxFHsJE3;eg2x8uyOp z4xZiVEg~(thZkr9UDvTKd^8!0xuE&8)S$|I9OmX|iM@1onZtNl7jE!!FhM6BQJ%`L z=xg94Q~c37OeUFum(!RmCA51UKZUb%=w@BZZ^|ROm|DGDawpZjJURB{BN}(H4u>7# z=FEhTB{RoWM^}2DQxvd?R^B?vDw3D6Mmvv=sLINv=V;f~5gqTIX4Zu(9pEw+N+x@X zD}22Xd%D&=Rl27tcjPodeaf|wE>C1GENXiG-Nfj}(g$0S{I`P=e-)mUb=3xgiaE@w ziCdx)p-VO$2Y4*nHG$YL>6b1rUPl0bzm3Ib{t7XKnRpzHk)Ip+e*bRd`<1i*?Wzxy z??j5*jyh)#c*5^{*K518eVYw_5<aV=K_6-Bq(Brs=1JjtE%%${OrMTw*DJd5>0bUa3|i1 zU~fE&u=`RyH=a%tTuAgsratz!4VG+;{z1+f$mGOei4G&8iSDtF<(Sn7HEu(+%HB8n zvkku<)n%`9%`H-$r%^J$gIdpj2_9pZp64>K_?hkvzkeql0m}b+lrEiU9F@INV(vjr z?+je}xrWcp`qP|-#w&w!+m;@hf&e*5{?{lM1909(x`|c6f5P3TW*NR zxK!r!K`eOTX-iPx`w?P-&05%f>nA0^V|#4sO7j(hPU-B3Wzn^csP3>}zUS2~@}nAe zMn`@RE^}IS=Zu&xv_JAz0V4>8E?STlbR|B3ceIHixVYrbrS@astsiHYhcQfP4Q`xk ztKB%Id3wzTB)c9RekblAI+-7vx^mRFW^|J_4_=D~ImWxvp>wzE^M$GKE$+oWVa!tx zX@BeNk9g&mGB&1t*x2aA=WG^^Lng}WHC6S@&Ci-RcY6V6v8R5g1-rhm1U*NW%ikz0 z=tRHC5|SsV>hmpDlTQYIL)jg*>ac#~8{rsdIsK8qxc-c+3^+A!<#Zkx*~Jq9BG0bP zI*Tcbo}|-QHXK7bE!TTcl->kxv}?+{ln8m1qAvsU`a(dZ)r6ffIvjSmK0^RyQ@kjT`OkSK7$cl3f9l9}Rzl2yxGW*juqMZlX{OOjQsH#8F5SDF~T zzNu|@%LSDsdTObwEan4L@`)>P8xNzJs#k&q>^-<;k7exK>Yb}t>gvGNEE2WYLML4$ zdgC*(x}H8_6E~{2$}+Se`mSltjf4!HYr6VbRl;q1^rK^ieeKGfip*v4Wi8i?Y`JEX zQ0%R8jW$lTHD^VM=RXpXV?k-QPP}piK0iN-#YNe zIRd+NSi?8Ni&(r#SUs_9)2q=YlkSP&J1Y|;9r5OX`kblB7ME-Web4XG2kt?(OCOjs zJRD!WYwJf_2YxC&m~klkL>VS`zoIp-={qLlkD!K)y6UK>O@vqxCaR5 zi0n?V7ZJmjsp%%$OmN3MHh+jv%ZS@cUh2_g=yY4pgM%FD=&zLBXeh=Er)CDts%Sif{1&){0Dy)fql*;c9!h@@9Bg+3!}BaPape>HPG$@)Oxr z6D~6ZOB9(%yjhAxD_A&@ujn?RnB1Z=w<$kuE49bpt6y{`ug&YlHelcCQWU9E4VE=;(%HZ)Ujah$drtvh~;9hVkG3EqM_OkcXoa)=2O* zUP-!jqJzp(;XlZ*q-e2$(eJ-bB~n@xs?#a^or0=0ZEs`j6CV9MV?WUpYcq6@{<7Y^ z(!hE*e?=>gZZo9qb_PW@749WCJDQ@pGnZ2L_QJ+DObB${hhX}1KlaT$`J%0JXAQPH z(e87WY1W$fi!P;%?b$lr{*n3-)(}o~vdkc;LdAo^R7KO<0~$FOsIHvRG#2lpU+`u| za@@=T!9s1LP-3O0F18KBOOLq~L8pp#uMh-v^9xM+e!w;3p;bQc|z-WYKaQ zUx=|>OIDwDZm`|;7Vw~^Jr#~B$FkD2qGY)alSe6@qQnK{lsNy&-1&8xX$twtV(`HOnl%BAn2XecC~7L`Vm+2e*VKCEyhv_^b!c74U2iTxY=85n@C1DG&c2;Pdtrk@+3M{~=+&Zj` ze0aMh%X>&^dxIb@BGGeyk~n_P;y|9`1o;==w^YAxgWD#cXf3Z!R=q=}bQqTmhqF(@ zm^``YVT{Ac@Nx6ENd$|@gm5Vf)*7-Bv0y#Ng0*Hw%Out+GC*$=g1OBjx&XZEkQ>5J zmXAdvJxy<9wl0fGexJVztdA;~2lw6Mn%T=(KB5u!eY*T)y&#L1r;Q(&*IUqhx-Buy zcEL<+XkFQP5>T(_#D8oTkrNP2uT_(?l3j#uww%W-Ob#RKl*#n9HQ{?G_9B*}wedsl zz4mOpbvT$F+18=j))c#zX#U(1%kBwllLJTLBMh*z@yMpRxD75`24yzQ9l%KSIMLaye6^!ZM1bamrqjSUu( z7M#H07lVZ^CEgn%@82PRbwr3hzQIYAlPIM(hdmU(xy8RZj5pQ6;>T3_Y7Z*{=H%TJ z4|x-wn~Y`hE8L=88}8J4RT~cG8<`shMXg>euA`VN4y#I<_8idgbmstlrl=&^w!K3l zoH-&oSlwI07UlMHp|)6`Aw|=;Yv+w<97+K3riM2;Z-!Pf1ONC8=7_7PNBZbIPD0et zdf(n9z=fww5}roZKZ;bVz#^04S9yTMN+d3Osm zk(8eoxz1y}$M|C5FK5vo)X$>-+bBq@dWFJGdj|vy9@3BQ(%_E8{6Nw<^Ix8ghT<{v5kj^ZNKY_xHP8*w57rtEPjcjpYX{eLW6mM5E-TWupXST4hok9?8_{tL z9CC!Io0gAZsMBX(XqG;^-07U1D4S&zJIrgPL!%XX-BTsa*Juw_Zcle5cMtP^@BOel zpLNGWiiCR|!(?6fd}3V1obyb6V;@8?NPf2p6!9N1YGQa zr+6TY*&hAa1LabxbIf^6vEVHpUIM&&UUyMrjnmYA*J|W?s!l zS)*9b+M_2{O5HoB0@ggi^h+z$5goa-fA#MLf9c?~)csdaj9d$W zsB$W%uRo10qw=m|eW+1a@~Ph1^@W=?uxQUa4qIPgVUrz9OGa${TGe?y&{%ZZ-yFY4 zwJ7VY$*{-qiE(B5l9J6aTZ^vj4A&+@cf2KAp;uHI50_>lO{DQgX(o-R-j*xJIp@5u zR`SJID>*n7)-%U^r-o3L(&xq>;+E#slGM1lW7Bdon6xE-L0Nx{TTm=3t}_0zi8O0giMf4fl?gh;+0q;5^+@*^wPGxiC>~(Jb2KjH>D1!)ca_!9(uJPXhlsRK( z!y{y7#<4zuiQ=m5_^s^bg!*f|g+z}~{!`0Ubtsp}IDh6HzJhBgqVsh`1{=`L(J#@w zG%BSub{67E{Hj3#JMk{ppE>@^lYnRY^EnS31&}a;s&^Y6abFJy5Hq#$vs^dsG0bAE ze%r2u$c6$0%}05mZmY+`?2XhH=Vrq-qoSiF9=Ka|Acm(4_!AG5S}LHe9vKhp@IYHV z=6c|tJkVB;D?RXM2F$GxY5xiJP$&(%tEm)-$8!ojXm^R@~c=m6&nFjgh@ zw%Kfq7ob{z*Bk&V4KA^$R+VNh(7~C^1u`JiM`M2|V*F2M=9|Cb9$LEs%a8-GC5u7A zvC}Ve2p-r)=Es!tjZrtzEq7RNG2uDPZ@^!x`@32+h37BuH$JI!NN~G#HW%5Af3Pq? zDcLNYCLeB=Qdn*J6Wim{uobDgL`y;Uvf3u@TI_Bkzg@$N9xeEP{nbtCJM_fuu)gCV zQ5MqVA&+MvU-pm{K+F?FIJC71%O>WDsO%@gld~%Qh(hyjF0U+1aY0ez`QxUQ&iR7& zYw_5apnU%&9l@3>nFJQZjbXd&(A~>t4BeOt2hC_1k*b{N_1c}otvu4L11?5KHrp|ny!=ci zt}q9w?D}V3?9kJ|BXFd%xrCLK?oxKXbike+zDd>PW8guNl0vM4x82$`gP z{0N%2rbSX^QH{0Vg{unbgP=8*Z&Blc&oZ(@dI6u{^i{{i7KMA~WfJAGl{P7BLVQ0u z3~h&Z;lP_Jvh;R8bAS~R`f?5ucu2Bo5!V^ZhG-OqvPI_-`2_d&Z)7cn?Vxy$J< zS>U%7ah}z6HSSj7v$B;}X6?VWdwJ|V`q(m9i}CS7eT~VY^pU2r%Nf};S`D=_d^|el zyHa9y)51rz0Rgq|$t+$ymrAmGkQ9dXHS~w8EyQc;nmc5=(=j4*cH5;kXBxS*ePxHr z>MJ9&Zfcg7Fvo6?aMjZwP$ASj=qC2KG`#XCL0v^RrG&sv7?t?z7YQ>=UjbJXx`Lu8*elYG{dl zk-nHlbc*?LmG(t1V>Qn2)19v92^39Iw6Q_m@Ed&272`O^uh_*iD2kHj?QnQhK_B1y`f~c*}qnnp37Yp*c%JQ<6d+To0&0C#SzK zO6-Dpn0Rj_K%Sib!AC_zU4P6Hi2QFXC@aN!5PUp~IgAy$E{ar5i??DsXu54gL7KC2 zv*A{%&fyF;I>)N(93>XUV+S)twH-I>mOO%k9~)OcY|e)W?_b7JxM;+p>zvCKvK3EoSvfJs^3ISZa6Z(d9QYhM9#jAEz=kyRw=g_hq;{wQ9I)Fni-3qoh8F~@@*4H7C+Pe;SK~2rzK6NmH{5r0-IvQ`a?+2c{RtSvR$qr_5I$49f}PxKJk z!(9!Bd&n-j;UGgj&gyJb8eU`3nBZm<8G~PsktE$e7iOAUaRF>M%Xn{dyqaV{|gKd+1kGpecftLPo~^q zm}GM`*Fch+3FWRC{YLav+kcXJW85vf(j3p{n#WE+p>1@vX7tO^c&n`O2-Y;B{kN&Z zZsTEw&dXtt%kd_AC0jvw;dXw9JF+p}Y)#En@dOqPdcVYlfJf`x<1fPtzeM@y&+hTx z!wYZF<8R#KSHlZcbMymy44Q91#!5cZS*Js~c*xGr0nf_Hc)hXpw1+;1gnS=;Z07E0 zAl4U2rP$_)Xl;*n{LTUY3^@dgUD%4usVGIiG!Taa9DM5eds&JZ>T9|kNS@Lc{nW#+ zH@LU-e$4|f_CQn6ZuG#U2bwB(l?R^afyk`(=v)u{2tbLrq>l4eV?5jyHN!HoMz)8! z3!O_G^B|>+lG3iUa*zIdPn9P8xf`@s%B02}qc42%<975cewi=+b+zGiI4NU!4Xne4 znXh4e(!NN4j?z-yMq6ojTpsu7m^XWVvg>C?K~l=3zey>>cDliL>FQn$thLfkDLWoC z{8LKVKIFapFiqgswKNie(YUKdPLhoh`23N;=g(j=*?x(CH#m9USHveXb9YBW78!zL zF(2%gnBUb?M6bHT)#1f_cYYoF6!X36SYUOSnD2fdPt5zJCU2SOE#?o4#k|$nL(Hr3 zte7uzEufZ|m_J~7EasOSY+`J@A!d<`Ky1N74sdQ0|QFNV*UXS6IDBrywyWG zC8J__X0IgXFY!#$o-Lp95baD|4WIT9iDd^V_Yj%f9pqpSX#!F=?z--tg4l`q)ocWi z+tHwZ7{Ojjxxw0?=47lB@hX=bcRe!xOR<1TmQh2<<^wbBwGuhI>QkE^z((%IeO!MRU9;50mO^@r#z_6K(-*P@t|?~&aDD}^q@}|$X0@%c+epNZL#K^ z==aCBo$q1;@b)hy#+ZeI{08Ux-e58v<=AW{Xi02dITwt|erv-%k_`>=eNqKys&h^t z!V(qa2d&U1M`Q)jM@yYrScjF7E&rWp6KI69OovxOrr~S=9+QZuRZI8oq6tsMzLW<_RWXC@YCUsRA&0`xpK@3|U}dX9%t+huBmMA{F{B0|<4N$&7X=Q<}#2+{s% z3ei6}_7Wk#D(o>EW+d6>fsc70M8tWe2SPwuV`FScb)$!GM)J}eX#ayB+&!x*r^m#R z|6b-BJ6;1#(^EwHZKIEM-tH<_U)i2;N;o-uypDq~8L8yakCA0{^`e{0Z>wJPV7W}8 znw7HXOYgnsX|u83Z-E|$dKH0Ww0`1nN9(TI6t?1Rd|QVh%nWnkon{ad8!SvQ@$*** zhnyB(Mj$~#+;fz#^=|P*xWU!>#4w}H=y$ZH0s=DKFdX<*j@G?_U2|@ngv5L@YJ2Ow zZd)qCD0=DFj(#xm7PwQ{%^srNiEfI9bXq-VETEut;xKhNWh@hvp2Moyj+B^LAiShN z!CgWD#g13D(5aL-U2kRu2RWm>%g-sA)iS86V(x>!)Pi2=SY%AMoJ(|~EyIfV+ohQH zEPlfU3Y)FVIGk%gC*L~$CK19wzsHBjED;!Tiq|Fpf`i-}{rx2+qH;rcdU{+D1K0-K zyLD?VaeX2wfGY74q211#krNf5NT0ga+M`p9%hCraHCC|TEGB6wL&_RxH4!4yXKEl* zjJG@VJb#5|Os1FK^J)GVI$w@0?VV<`CR5W^iNqA^#OaD3O<#1nG6bZLKV8`Z(#2S2 zzO2ix%wc;Of)h?s_sh(jzCPN36|8G~w!}SsOALRQ5)}7!+}gLq_c1Pw(FH23D3)SK z*7xc>a~vk6ysUeo&r*%2EdQcgTKHQX$xB{0LBn( zos|rk-n9H(B@+^6I4u1=@GP@reX?b&+2o`)W$kftFz-mUy)vk_=+;uu5dGP2 z2>whdt6%=Ismv6z5OmN&^nL&S`|M|}?~bl?+lDVt zXT#^Is4jCBn+&|CNtCueIvVbUY*<{+!UrLS>V6HNW8}WGJy=km$MR%XQ?7-2VRx#q zJCjx3`S9TBIE|Dw9Z@Um2vfd=e_LY`^7j5XU&;I%E9pLClQGD}N5p{6%&?~MlmsQ4QNt2bIXC{mP?4`q)?BC30({eQOYJ4VS=i7Mt?2ei_%Y;-X zhJduFMooLQc3U|4N%AS4N^;O6AYc=>HJNjFr&w1QEDBLabhl}?jUUshGK6Ks5H8}ziiAoJ&9^yTzLgh-qp8#*>&!8KjPNH(>O5b~g%x}xRYAe>X^jvzRTVw%@; z!er6d=qZj!vM7tAv>^EGtioo!Y3n98Q0~DX)4Y7sMJ^Zd%%g&&q$iyX@zOBf5(cqo19>r{EUy8B9{z9kWYE z2X{e$EoUh+EqV9=XU;E-GAsbZHLcHvphXr<&>?Y2CQX6o3>t}hjZzN z0-e^mC+gMH%{xTq=1&%t@)38fdSokuNWGkhop+^AB66j2;tu^>A>OiV><%sD*Z5V% zl}ydKrO}D6yUNsq<@A)ZwphjMx*wj9gpU(Ncn-+&tE2y%yo9E3R)G*pVJcElh38d7 z!B5-_uLR$^l3t;S<16*%J3n@Ber<22u$Z+A{EP=n0p@Bvf#WZ(v{&g{)NzJ1mi-Oe zKiN(w3sD{V2_VrehMvhJQj%|2z=GtV;SSm>ts zJVgr@nhb+H9{q}1ddS>rF-A&^0gE_%S8_3(VaV{~vt%eW*E_}=(H{}HPCE5SDWqAB z4$uU*D6>!y?Y&sPi)?l_X?D0Q&!S!>>3d27HzE1$v8FNwLmZ)eYpTXR$rI5+_vDG_ z)Hl={<(T7ODz3S+P0K=Ve)G=f%MwlFifhd#%y}xa+;D|)u|(;f|1_RBhk9lGZd#lQ z9y<4a&F6+y#Z~MmxKH|3jmUlfHm&^$sp=+ebbH}}UH{{$x1abu9aM47IyrnZrX})I zm@TA}W)7m6$)QdoAhzfT!<(p!73hChaBS6MUZbO(WEfw^Q3)r~e8R_%67MA^@ra2; zC>+hzW%fawRwnI9Y;!b`F83fY2rEzax-(HDFh4)6*J8bq77lOcot4&SNC0sx>!ehc z+g>)R^HvWQfQj^oUTDuZ)waCQx73tDreOrlwtXOv+CGXsyVvHrk(!G4QRG2a(Wyur%v#rU6MwMl5TViv%h^4cZo$@t%-eapFUTVb9DI$@Sz9MnC%cWRN zMrb_Gpbe1I(Qns&UWPCBn0ciLjnCB(eIe;sCPgIuJ@dJLj)J z^!lZ>nbT0iSw5zeM3?=CRYam$+i65~?zx=jk*|^UI!@15 z>#|G5er<`SG6c<{^^wh*tz5mv5@RGMk8=7JSYd%N&AcP}_4lp8%R}2SMgQp@&l&U7 zxGRe1RNqC^{iXB^hmX4LCD9p9SSc?>-F5_PM|7Nnd@Q_RyY>Gv_x*u7GcRsv>%o+; zSRbuSbCX!A$?0svZ8uMT=JyvrH2gN;%&~@x9nsIyLFH+6k zrCzK>nzWtr%xmR~MEIT(fy_-1Hl99}WkLHxjxIV<*KC}{r8Q&7=TV$0dMrB3ck_!_ z6&ddAVtF4epM`e}@k3XVaD>yc+G{rGoAj}Ftxg{M?YXxPzRHXVzvC0xp<@4MjgnQf zBbx2U^ic{pWPHv;4gkV7sbc;+Gw`Uv500+#`?}A~4i^5=E94xjcSM!`gRKBz&f{Ea zcf5AOm37zbo)vCEsvMVSx%tHDhNh?#YfNoR^2C{jnIG_#PJRoLEtOS!g4@^gbH-h@ zA@9R>aw#oR6NmdIW>L_L^v`zwoN_i-tiQVBnu+h==V@BR_*<>N(M#WQb9g%6xzTO* zkkLTMm>~zamujzBF)MTSpq9FdlBRbC1b4_3!&c(kq-c2$?4^m_eMU`5G)CY2wySa* zg_s14hTW^F;6QHNOcgCBC6Y3Qtt{1~poCtfSPi9u>0VhQ+ekAjreUEjB)!I#=&DIl zx3;D-x3F*7C1saL_aP2XGqIJDssQgMQWd;tuvGY1^jW~Q#9%1fO4H4QN(vf3$}OV= zN@}Gmzex2>D5dnEnb1LDZPO|$ARhsuczM@soie1Nb2I}YSv2AW_i`jt!eF$zr=lim z@A{B+ylY6V|3bqtsm$f{l7OyikbOvAPyhN4^>n#wDA&__0n4qy0x}$}%lmVl8e!L$c)!80#pg@|_BsIy1evH)!54fCsVn3;j zw(Wa_h>fY1;%8%Nv+xmeRC{eWyFTdrCXQ>vgz&bVK(8YSkU27By-Jr;p-`INl<1@%gN=j$zZw`r@5vJDW{8EC?)c<_{ra|<>BcorSg#cVhOs@1CplE zrJgN*p5?S!579n7Si+=XKk>{rFI%YDL#`L(sixNp(;u(R+*W)SoQ0aw5hZ;k=kVT~ zj%N{Y`aE|H*NmG{65L*?x)ooj+(;6byJwAWy7^3a;-&{AsiGCW{sXfu{*Q;e%iN3) zFE|qfbabzazVE>=*_2HzHIX##va!>H+cni^hsiUMM|5kL38dfn;tCa2ZZw1vWgE73 zeggm)`P?jIP?^LMf6Kj0sxX;!lK=E3UOJg{ghA5RoqgrCXO?6xdSCZE=<0F=JK8>mxzp}sm(u?e&)sqPnFf|679OUge zDp(>t(0sJ#8}p>k^q}a=?)k(dJ9ao^0URRsppwm6IiY7~eEN5EjjVDJlXE}gsg{y& z2|biT$hjEOFSjFQD=Eod8T~n9sAiACDWo>2|K$KziJvQ*c9+h+LOx@{mwMuc0{EfR=^ff1smQl!-qm#Q=x$CMexjETb8rZDU zsGONUjpXD=0e;DTzuboDZkh7mukP{vyZWAR%E=0qWYFeq#*SJ0)#x8zlt8k9NGLDf zF5%|3)Bk0^o6G0Xu{aQs=o*cQJ^w5%1R7YcfqSG}XCK??JZ|q-@PwFOmPc{@(pxN_ z*heeB!K>WcR$mIaXixjmuRA{D2)U0-0m70q7{@5BYV;%q!U;l zUGF{)wA;ZS+{JUnBwQ_)O!Y7mxdW5S@>o*i@0&mKA`;H{GgHHD_^P?jt~U|~3uAUh zo4@MtP=r7Va>7hhPbo9TLyXXxfd#-5P_q_+|%@#7q3i?E28)+}K3v(`Lgc z!9wSS+_Wc{Q>)}tRwo~T-iZWp$o&19x~`ycdofr#d;4I4uRpnrAm2^$5#V&L@jr^nGm*uCFets9Z{o)-3AOTjw4|mK9`{daA_IJ zYGUaK-pI27|8eqi6_VtOD-9Rd6}-FX>~2fz^^%>G_Vy@Gd&C`;)fe!P>d? znzp@bX~Ro->x1@Cpk+IUm||LlE5>heY~IO&LyWWUo4^Mb%HM2sC?QF>=UsH#&WE0O zV5t4nH9%1`g#}H+g0s+0cSNt4%U-%p%iV_P3HOBS?1xZOL!uersq$z5tD6L9bx3M6 z0p`CZp)*Ok>@(bjn$=~?qb1(#QBME`Yoi4X`Z_Ig7u8&^4 zDSwgqgTu{lv-5v#x%^-A))WlcJJ`!+PgFEK1RkWkJDPfjoACb@3Vw_@qVALolkm z(FfnGvgcq&bz4l?>X%2cT`Opw!j4t%g65IDH%+uX8rI_GVjv)v zgGV*q-9~UhGkq3JR{f~imwQ^`GIq@y^Ey?M^UdyjlbvdYkKet>mxc^YwQG-(9`aQn zieq`N0Y#XV6a79l8mf573>Dme7}sqv5|Hxuj~q}i8XU9~kF({Q+%2G`G%6ClXkO&6 zFf)$`?X-f<2BK{+G*lJ&i#yS`Mly`b6U+rM}@WWM%s z*XYi1Xp)?$aoO19@Vc=zRWAn%#!Ekoi(oHE@sM|$nY)us!PlqQz$b^V)Qx`SF77is zMh%raCcoa@XZ9iYG(C4)-IiV#noV^lUt6L{M7F1Bu1tXFbeAUN+(fSmoOQi39v*^*I8m<@~bLal-UiZR_Cy zBYB8ikiklO6jBeODcw2!2s+Bd0o!QQ zqpDe*pNwW;!4p}LDxELCopox`yR-efr~EtB%INL86a2e}c!%ONWk({YSi_GScJm+Z z$(gq9Z^32Um2(i0%F#j)?0ODCTblNion)|h@`S@pa4de3{ABGiz^v$pr(sO+89Fbe z4WqY_m`X~T_7(*TPBfBcQnD$)f(nPYpu!=tjzvv~Rmg@AEp1kaPX-kZvC=BGX+$ia z_fryWLUdpTcgq@Sl*|5hzQfRCl+{iHlVVZ&a6b{}-YqA>H7<_oRj#VIYqf~%AXZr?;+w)APrNxo3$;@RVF{CTVkjWczq z44bWwg41QYQO@4SqHnz*X6pPk%aRGu^yysMg#3&9|H5tRe|ous#>=`_6E^OWmu{RC zs(tc+5I8;*3&#Kn(={}KZEZ!O>D{8BDMh8$XeSN2UlTLKWKhJoHSnbGcsZc1MBk?$ zomWtd&Ya74PL0X_H-$Z+Whx#MGfT4uqWQ1Qqo&%h1Wh_PcGenLI5>9hQkbdwm;5L7 zJ^oX_i2tCPM>ioCn|2Q*N1J_UL5DKSLn*5(bM89c}{{;!}HWlx&N zOUh&3OO-}VNMof`^cairG?mSM-n{|BN0!LCKfp`bPj;P%epY{=!`BoJ!_CW0;%t=+i zAA8^v0M+H;yCLf_$~SV#wC|EaOF-Pu$Tkc&T!I zbd@1QHV9!9#k;eW{)NsRvu$_jj6~52h))C9X7rpM6=ykZSkS%Fv<1k2OKXgpK@XQY-&C|9<{+={>roYkGdjvWU+16aIX~o&V>F`)8lkVkSke zmlr?~6@NzRfDZmkqTS>4TMhyEXmq&;6gd>#_^dv+fy{5uo&T?kX6h3&7@`rxpL9M? z<5_(-=kK)xT`qjwXi$;mJ zlKnJ{zwGeXBpiSTAKNLKr~Tx%O}nOhDN8jdeskkKv1i{Bhr80bYlrJ zU51%J|1sIOB1<9$$~Ywn@0Nb!H~hFBJAe2RgNBZ|R&vbY$n@ zw>$U|O?yWgJmulnJNRHne0IeBQM#7JXrJT8c)!}Czsw+sKe<4<#N2Z6TR3eYv|ErW z+7eyHzK5Coq+yplRe)+82zQ)GC1LS6-VQ8Ug?gIh05@ZO&pNa8o#zjnXNfDb1A;NE zF>lu>{05uFn~Cu90!xIfr3C_+#Wmi+o$~s@71)rV^b}29rP0S3w^R(BPNgyzf>FJf z0q+2NlfKbB=s$*^>&@3w0Mz;dOOU(iIHs@{^fM}O{G!30{gKpyf-J4=sbtEFY098 zpdHbf4m8D+=M->AY2s-d{7g@tQ^1?S0|!4w=B;NMewM`)yq={@7H(rIjI-d0^IG#K zjr(i-WW>o~Groe*<|vP*@g?DiBC>W38?)9bu5CG>E7koCX=99qAkMSkx*!}?w5cmI z;&SOW(U+c-Y*Iq@^e8s>+VHH8&Svq$w18APLLO9mD6yy(0whyqh~cX1tw*%?0D!v10yHAH7_d9Pb(;&nNw zUaIu>9|xP%;--`If?JmuF_~Cd^K) zMB6|deNbOc_zUGA1QI%2ToTkg#-Gw;P{U<0tD-+;i#0xn;ZdJ1e8jGFx6=o`FzX?AP!fBmIGnuw2~u*Teag@s!E{7xJR1~KGw;jv zUQ1^D{+Is!i&SOyeGpX6ON>}VDSF;2vq+o`QTscto5~7fYhHfgxxEVi&=>xy6($~( z+2?c^XE@y9EnbJ=IgFUSts~speYY3*7xzNKPoO^98t=@8aj7vfyH!Tt`Mci{>B7NQ zTFc9Vj~C4~sr-G9`{eU{f(FpRzeoJy${+cIjosKY{$y!K-m}ve*pF!G9ciwt9Q%2# zhKy(>!NU2p?~W3_Hp}`vTjo65XS)qbbh}NUS`e)FX9y1vs@PahDAm>@vu@&9=*x(W7me8a{GC<;ibb4X6rv7`s_>_6vDNw%E#Uw8w_t zlrZAOK(B2Lz=oURe)Q=vPa&+$4<9^aZ+rhdM3TzfRzlrn9HH*lZSUFr4Ci0wu9TlY zxD4LSclEH-2usOvs<9!rq9OpD!T)Fv;bI-xeUOQe?M4s0+yg--`D;8d1(0WVRAg17 za7>N<*VvGZvAi~Dw9Z2g%R-iV$iOV*7asDKrZ01DWmJRGFlHyHC=TD~(gB6fFGRSb zE$t|iMCFX$9{s0n3WMf9*~G`ibSO(i%3-MZHKTV$H~2y>EG1WndA35^lxX5SE2PUx zas|-ytpJIHwnrzq0_SnqG1Urr!R!-1Jb%5h%NQ4i5^Z*moCesL)(ZD{s4x6SdnBpP zD)RE@U+pzrO0AA|^Y*WO_$hz??&2R%pvZO_*|DD6?AWq^T9jQsKI5|-yq^BB-(l8Y z3&l097R4P7#Xa5d3Vt)T0J)LH_XhNH6S?mnrlOd>b^fYj=Snt-CjWD1uO|By&GvP? zRJ5dXA2qZyIbH(9v{BQ;;(RRuL9^u&a?8MF{*#$}5*{-Doq|%-lshi*75HPAv-mbV z#638+=2Z4mJ%P+Mz{Ax_%+Epd!Kz0*9W)QtPc?4wzZrKA;tBZq3HGYd<@qqchUg<6 zro^q%9H4~_(I2mN1=~Cj{@D=S0}Kp~iSo>RzmLFOKGg8sx=D z_d>~)ng9G{bGXT}^-%(4#jTq4vKLH;D2da^o-{kEboRXPNvG)^$ijz({|jeeC?+V` z8U8xA0*z@nTmArs8a*SKhj^w3hq&{Os*y_2Qauw;<69h?pY}>&0Wfy3F$~hf?8jY) zViIpvjBA&D(&@!eVp)ij7U_yG3MIp56`F|dwms3-RYd0WMB8?JVO~kJy*?y-HqrLl zfr+M91}BblF@wEbKI7dXnQrNDcZ=zKdGV}U6p)xoIX2dLa=yPk(K5W0{3xSKi?6m zRI~7@pt%(k&3~n!3_4>F^?#AEyoSxmWqJB-uy{~Hl8|ih)}8LPbcnV}W+ZlD@LtkN z;~%MEojH{DN_8JsD;ITDk@LPa8Jx8;)xBy)O-u1PiSD+Vs`iH8b)8MGE z@qu9*!yMX1rGsYd+UTl0SXB;pHL5zQ;zqjys;g~k9bo=1*h}a%c#~OiY9rkgHo${U zhNd?jEkC$2j`z<<;N*l^hRtpVu}!s^iv~ocBe=nEe9LKLQfx&fYs?{5lP!6}(w$rH z*xQHWCgak(3v*iA8_X@!*)=#^-4+!m!(B};GovpI9O7 zG|En88PjX`X4QpCONv~3;FTe>r@I-C@eid9;3#@DNBRBFue!hlukA6xZ)PWWa?zF< z7`P@SxHcV~;{L9)UHxq2oxg6dcu1cKR-Mf7+UyKdpJuqFi0X9YSKAa7HgfSjb_HoW z6}6cf6k)T=pk6aum&cAt;uP+Z%HAV21VD9RKIH5H0_no3Y@xH|N>yEy1J&YPHKXP1 zLCYUjeLFV>i`N88+GaqPGlsU!Xt5d!`+�n)||C^?l)k)Q+jmS%ISVa{W*r)U_T1 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

l`g}n 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

%-wV!U*oaX^?#(r6 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�WzUP;_ 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 Ip*cIzuB-mrTKr<>j4J{%iSPm2-nM!mco zv~8ollI)ue>S#fGSc3FhiYlu>-7Wf(a?p(}C@0XC7JV)Gds_6$YLu6^MPIrIb|38I z?r+hnDIDk`q5;?|L4&Z@fQDhGc-jz-{5KOnwIfhU$KgTx6?kqu`r2C1CXZgW0@Uq6 zIe_{+s0UELN3SBjkVjucd|{7XLVRr=y?iBTlUFaJ@@)3%i;6+rUbF+y7O%cw38=@5 z`WLjC_=1r?w^pI*5J)Nk+y4E{DB>H+Sci)!h)_vz*Id^!Dk`TQ!B zzh5s|4C?jkRn?#YxDyTf^_m(`M=Q#I8Sb+c_XX-{)t6L&23z$SvWHsrvRcsaCVlOS z<%lPs*DS^T`2uLCp#A{r12hbGvTqKczCj&9#9M=W1oZ{gpbemvpspbLDde{)s8^N2 z-W(MD2`GOaKud_<9n=>Qe@jqbvjo%w{|Znq!Yu{$1&fNw-yhT~$i6A4moEnm7~z9K zeeEjPLqWZ^3N(!TtN?8b>ZL0|HwX14^}Hcg8D;xCD{WZeMvQFFr=5&fQCY7kD!}Fdig3rdH>xGcZ# zfq27u^%BrP807@o5!OrAg1Xw!|E@&(ZF+4vsJ{*E3)Hb$udG17>EEm`B-*@1uUWJj zeC^`7^tbE9C3x-~9mxM$_;Uyy@m!ZoTb}JMX&t-us~8_0YqQJodzsPd)w2 zv(G*M;$Qyy@+*J)=#wwM`udy5k9&Xq#rk@{NT?@`hWXg$CShjIN?iX>uDE&{k6_j6 zgN)||;(J7_;Il_xB->x;=TDlfY}%rTY9LYiv}+G9`f_YHPz4R-m21`>wr+jhh68W# zXOuTD?VE4A^DY!L6y&IopMQx;_|?C^_WB!dzV-Gy@4ol`2mknR_eURp^66)ve?i6m z?RWqD{)b5PU;qB`r#(~w`+l`HVV4+bGms7gX)c&&C-mfd>^UKy@B`!%qFg)SM<(szPs^tI$X4D+xJ&lJXzK zPgXF`RTwGhQkIl0zoHXOcSu-t?2j?*Oa1ui+PQ?k} zB!&>q2x`OmI9qVePlvJoCh@ZT&&u&&OEJSJjS2kD#XbK|?wHBE{Gzw*N;O6#M5^vO}aQ?4i4iC!qjLt4*fN_A|Ow1Lf*95^+ko*gPV(W;x+JgJ!#OK!;UY-IDL7Pdh0 zuu?o>3nd@gcYrODf~;H$vBgrDEs@$-g|r!a^=@I6Qah`XI&fOp5p211B&(K=Vl~py zIJ4>)wnEy6wRAk>f=joZNmj_7UF2I;3klb+V#;rl4h}qD7{m zWs-K~K(x;uXrE)zJ`X|roQL)~4efI(+UIn%&tkOC60}Pj+NF&4sGvQnXpb7&qaE!r z9qq9v+G8)Y$KGg<8EB7v&>s7uJ@!L;?2q<10PS%Q+T&of$02BoL(vw8p)C$aTO5J5 zh%E~w9c?iSZ7~~dF$ZmN6xw1g+Tv)m#XPjdF=&h9&=&L277Nf83(*e8qiqzSZA?Jh zn20tp33Wahbv^}kJOgz+6LmZbbvzq&JO_1rDC&4F>Ucitcme9T6m`51bzFuzUW7U> zM;$Ll9WOy0SD=oUqK+$3$5p7~WvJujsN-tXaSiIY7InM=b-c1u8ULPz_Q6xN#FjtF z+t~3B!SD`p%+_O%JD#0zB0K5iZKrgN@l>{*oK8Fa z3=-Lc&=hbs$uZPme=hf1cMxI_z zrJ3{hQkuiW-&?`i4lo&tn{R5}N7=~Z?W?r-$-STAHYg7ns3HfX6#TY3At-Rd5mv%rGUmiRf@8NFugugaWlEn2}0|^XUqXeu2qS+zmvt zl`s#Nqtx^Kj#7d=-CPCddBBWTJUpH}#l!7mln^hku}UM){~<~nzwdEMGvBu+UvYF$ zxB|t+^H-=e2kT)UuXuSnMM{vzGeHUQ@|dWEczsM#=nxvnswrD|ey1oMJp5F}(Ma)4 zQ(Aa>)0IYk|1*?kp6*P=%j27+;6w?S*-8`Vo1?UI|3eioPiL;u!qcCpwD5cuE5Xgg zU!sJ#`+OzL^SwY3n~s+%^*mn-l~x{KnbO4bvqVtyO~Ul)zz1kl*j&ijy~pb&8wkcfI1^@orFBczzs;kLR~uY2@)cl~(TF zptSM=btzD|LwwCjGtcivrJd)eMcKp)$fNjz7 zN-_G06g>YIr5zps zEX8P7DGj_GuS*g2UzZZBjx08~2+o?srJK z$oH&t@tjE+M)(Yb4>mD-h7mr)2%lku&oIJgh<<8TM$o$v`H}jI@b>;jxc)}C{zka| zM!5dPd5Cg3;(p~hWm8GeYO#9wh?Z&;Xm8(pJ({bGyLZX|I`JB zeSu+LWY`x8ds>A-ml?Fypq~nw{;7x`S`oaQB}f8OIooiM6j7Op=SN}Uxlx&T9yBJx z+i{E#@ue{F9Hru5B(h`o6CS^%@FB9#s zAKnLOobS)X^EZHr@gx%}V#GI)iRXF{6VK&foIXYFLzo!PhvFO_vJYcod>ny8)yO`Q ziE&YfRvp>1C>``C*~We5Ffl%jVq%=mWnw%Z&BXgg9uwpE7@Xcl;m0yDjvd0p^EZx( zaWtQa_m%=C#_vKV#_#b=^bbW$jCT{5=uajZbP^QmDBj6TjHgqW=%1!CF)mJHVtk*@ z#JD(viGF3KL1!^BUd(1K{Ql-JF|HiS#CSB9iE(Wn6a7sw6XRY96XW1~Ci<-fIKPha zQHm3#h%SUeCebozqZ3`k#5h{c#JIYciSc#`6XR_Kj;W_w1Sj_zCi>A@gRa1ld*r?nD~v=}F)?1PW@0>A!^C^SS|-Mg!x$fq*x}5_ z%W)m^@^NTAbMbVyGBKVX%f$Q7aZJ2d9?!%$cLI*RqI6DVVjMh)Ie0uL+~_X zp0Hlu4%O$e!XKL{Bz$wjSe0~#^Z;~+ab6%*c-0cYSGA(HplV@3b#Y}GkK5Voa<S_BzTN zk{Fwa`HvF}hMi8F2G$tntqD30l{G8o&o8a1S-7Ht?yS@OLxBP3(78LXG;7|;EFvK`bc&a?bmYQZJl^K@xe8juf^3}e8RP)qN;?# zi+xE#dV?e6prtozqpi^EsfWJ4URURAa5+7CbA4UC$6sF;nmIERXs`1+T3mIT18$z1 zF>QW#!&uf3Zf(U~Cz_e3-HMB9JU`p%$(||dK0BN}lhU38>xyx?MU$}{)9eT|)`vSf zbn<|y4>v;LU2j86Y;4zEfq*|SQ+Hy!4IJ_o#JiA7#|AnmG5kXF7^6sc{9#|v(da4& z`3rFL8`i1uxQ8HD;r6&13Pm!16wc}QInieK57=#b)CuXE9l@D+Sd0V~mDE)&t1Yjp ztPu%@eeR$$;I4NS)Q6i2pp@K-oheZHw$ab(NpijCJbD3AOYuMe` zv1=E0?7A6qnzUQjL)fkBIoO`WDcaX#FRs1VhieD+;kpByH?e#0cQ3mZ`llbU`!S3D zAhb{)!md`dqt@eC#Cig=qEE8Vu%p&X*i&mOdxjm0-L!5+jK_iNE9|9pJaX_kIKKqP zci2tqYxXi`P+!3e>Z|Mo?4uQ7uVEJTb=$Ex_EOBxUV{1AH*wdGVSe^<%+Fqi`PnOQr&nTb_HE3k z{)qX{mofkO3g(pGVdqFsvuABTvFB{?wf)TAvHil{wZ+(bwm9@c_plFazp@+TN7&=? z1FWC^H`ZT&l?~EgXM^=O*bx0=HcbCJ8?L{`M(Cd~UB8ND>AP9BehnL~zrc$0PuUFp zeKu47fGyD9WjE{ZvFxlHnJxQXre#0NdS~Cy`efh7hGaj*Mr7a4#$`Xq7G*!fHe}zz z8nW+XuI#(mi@9&H-}e5%q}V^0E%qUs{aEmr52^-)Ck`+AdC}(M*8ceO+^^)S=}QOt z)O+r^|J;Ra>+WgoPZiIn)^fsI7Z&qYv+b#QoU%0r9W^iDYK10Q*M4yfZEO&Le2v&)r5>8*yf>%Y;Pwf&=CcE-mt|ouL zg*}Y0jf#jjVKe

V}JlA9y~x^A+XVit00h881du{#{*h_$%|eu;mHg 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⪚ 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

mN)S(PZ&cT*UxvZ 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 str | None: ... + @property + def style(self) -> str | None: ... + @property + def ascent(self) -> int: ... + @property + def descent(self) -> int: ... + @property + def height(self) -> int: ... + @property + def x_ppem(self) -> int: ... + @property + def y_ppem(self) -> int: ... + @property + def glyphs(self) -> int: ... + def render( + self, + string: str | bytes, + fill: Callable[[int, int], _imaging.ImagingCore], + mode: str, + dir: str | None, + features: list[str] | None, + lang: str | None, + stroke_width: float, + anchor: str | None, + foreground_ink_long: int, + x_start: float, + y_start: float, + /, + ) -> tuple[_imaging.ImagingCore, tuple[int, int]]: ... + def getsize( + self, + string: str | bytes | bytearray, + mode: str, + dir: str | None, + features: list[str] | None, + lang: str | None, + anchor: str | None, + /, + ) -> tuple[tuple[int, int], tuple[int, int]]: ... + def getlength( + self, + string: str | bytes, + mode: str, + dir: str | None, + features: list[str] | None, + lang: str | None, + /, + ) -> float: ... + def getvarnames(self) -> list[bytes]: ... + def getvaraxes(self) -> list[ImageFont.Axis]: ... + def setvarname(self, instance_index: int, /) -> None: ... + def setvaraxes(self, axes: list[float], /) -> None: ... + +def getfont( + filename: str | bytes, + size: float, + index: int, + encoding: str, + font_bytes: bytes, + layout_engine: int, +) -> Font: ... +def __getattr__(name: str) -> Any: ... diff --git a/gestao_raul/Lib/site-packages/PIL/_imagingmath.cp310-win_amd64.pyd b/gestao_raul/Lib/site-packages/PIL/_imagingmath.cp310-win_amd64.pyd new file mode 100644 index 0000000000000000000000000000000000000000..6ee87428e61cde874740e2745a5e7a275ef3cbd3 GIT binary patch literal 25088 zcmeHv3wTu3wf~-ECK*VE6EuSnQ3shwG!g?tH5ei@lHiF>G(tdBAPLEYM3c!l4-7P7 zaG;lX9Ew+MX+;ZEd%3MzthU8R+X+EQ1QeoQ3&lrlZ95oh16aiu=l<3{=SU9H#K8ni9-*!&@{t;uUEy?&mprM2EuV6lw0tI%^_ z`E>EPpFTK7OXvSCZOj=cr{zB&WP>jLokG*{zav;V|32Y7PB#eSLHmCH0OybU=>ubO zQC@QK!@^mdKB&@L$0+6R^77oKx<=}2xMh`PjMaZDjjc-?vrMZSWEa>nQpQ}wiom%< z;YN!=vv|G(<}3LW#?m-zh_dZqkW=wVVKop{8fj!?S>a^WGS-MTZJ=$`cmrc6iFSaW zP8s#HSs9}Z^BJ3<@siNWD#&p~)yhgh>C3~~6a+nOLGZR+jxSP~Y*+0-j(=>7)fD*a zYlG0S=q#{+$#RfpBI!O(bX}l`u}ae2hXh|S=%oKR8H*P96hUrd2Wrho3y^dlC*k=6 z{yOluPc|S!cuSCUA19adG`B(!dB!#)kz5Uu?&D;D$p;wm!s6V3!VQ-*ZH%_JBJ!#XR|#^>U*EG_P9e@%W#4DU7<2XflC@rg|OVeFdiHX6V@*OG3GAC2i(sb8O~bL^MU zPueARR%W@XT=QKE#PCsHnd99Ga^SJj8MQgW`m^wC5IYxQOK60LeKxVPt>4|*cCZZo zyvWxhT-3JXxR6!yr&)}Z3Ku!I9WNEKOs^^>aU+#1&!VJTFLR1$VNFOEv6GZb(=h~P zpqHe(W~|CywX{L-RzTXDc0%}b6sb3sKaDXVZ}7NFSa?jfmg1QbE}9rJI-&z-H3*lU zT5b~Zb`O|cLSFQ^u=u6p!X?qpR5AP#2C5tBMWejiRlF*@{YRqofPEwOD3`pe9HUlN z+>j&O+ak+ysgUQk+wfg#FBJ0H?M@*tXs>i*XR4u5Z4{+v?Ay>#lpeQl=5&*to-|^3 zm(R7twb->tw}H`6C*MC>u!Y9A51l_|tNRA+ADQa@k&XQW+uB79SRZ3)p}O+VpoJm5 zT%qo+FJu4c6hCuG*JfjHJEU7BPb66-r+K}*y zKl8Z{kLmb)mPXTje(eu5pIx1mcuu>p!D7RIOE;B&HgYQeZ2YObcuy_CiNhR#FVM|x;zty6BezfQM)*PUkl zhR$2J{nzK$Wbz*z=QKL{xWi_^ndL^|ft}>UO6-<=iXGND@TdQY1Bd(XE79-4uepAk zzUKNp@-^4*2VZmj9{v*gg^!wXF?374rF2pBl}avL6#E*4R?9ozprhjiyC~gUq-dP4zSMmP#cU*Ld+lj;5 zP5izD@bE6P?)bGAN7!Wg0M=6brS!S+i|ON>=Qvz0Md2TEPaC<1E-JX@`HSe9o#U3? z5~a2xG5-|5pOj1FA2I)>YoyGaatW7fc&I|kE_UbdCr6!d30cMzdFKgXAr7EXa*%

+ Pillow logo +

+ +# Pillow + +## Python Imaging Library (Fork) + +Pillow is the friendly PIL fork by [Jeffrey A. Clark and +contributors](https://github.com/python-pillow/Pillow/graphs/contributors). +PIL is the Python Imaging Library by Fredrik Lundh and contributors. +As of 2019, Pillow development is +[supported by Tidelift](https://tidelift.com/subscription/pkg/pypi-pillow?utm_source=pypi-pillow&utm_medium=readme&utm_campaign=enterprise). + + + + + + + + + + + + + + + + + + +
docs + Documentation Status +
tests + GitHub Actions build status (Lint) + GitHub Actions build status (Test Linux and macOS) + GitHub Actions build status (Test Windows) + GitHub Actions build status (Test MinGW) + GitHub Actions build status (Test Cygwin) + GitHub Actions build status (Test Docker) + AppVeyor CI build status (Windows) + GitHub Actions build status (Wheels) + Code coverage + Fuzzing Status +
package + Zenodo + Tidelift + Newest PyPI version + Number of PyPI downloads + OpenSSF Best Practices +
social + Join the chat at https://gitter.im/python-pillow/Pillow + Follow on https://fosstodon.org/@pillow +
+ +## Overview + +The Python Imaging Library adds image processing capabilities to your Python interpreter. + +This library provides extensive file format support, an efficient internal representation, and fairly powerful image processing capabilities. + +The core image library is designed for fast access to data stored in a few basic pixel formats. It should provide a solid foundation for a general image processing tool. + +## More Information + +- [Documentation](https://pillow.readthedocs.io/) + - [Installation](https://pillow.readthedocs.io/en/latest/installation/basic-installation.html) + - [Handbook](https://pillow.readthedocs.io/en/latest/handbook/index.html) +- [Contribute](https://github.com/python-pillow/Pillow/blob/main/.github/CONTRIBUTING.md) + - [Issues](https://github.com/python-pillow/Pillow/issues) + - [Pull requests](https://github.com/python-pillow/Pillow/pulls) +- [Release notes](https://pillow.readthedocs.io/en/stable/releasenotes/index.html) +- [Changelog](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst) + - [Pre-fork](https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst#pre-fork) + +## Report a Vulnerability + +To report a security vulnerability, please follow the procedure described in the [Tidelift security policy](https://tidelift.com/docs/security). diff --git a/gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/RECORD b/gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/RECORD new file mode 100644 index 0000000..8f8b6bc --- /dev/null +++ b/gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/RECORD @@ -0,0 +1,213 @@ +PIL/BdfFontFile.py,sha256=JJLBb0JZwTmSIIkqQoe2vzus-XTczN_O47DQneXKM1o,3610 +PIL/BlpImagePlugin.py,sha256=nPiWxqE_ZJJPbaYQiFigv1qBjF8v0lxMSKm_pJY3W3w,17077 +PIL/BmpImagePlugin.py,sha256=kFfnW8Bg8Ijs4j4AGn27SyKTFn0wqHwN7O1JYjH-b44,20269 +PIL/BufrStubImagePlugin.py,sha256=sY28XJU_Fu-UsbPpAoN-fN63FemmhCMi8rW5Kf9JioE,1829 +PIL/ContainerIO.py,sha256=I6yO_YFEEqMKA1ckgEEzF2r_Ik5p_GjM-RrWOJYjSlY,4777 +PIL/CurImagePlugin.py,sha256=l6aPDjo9n7-pfwGpbuYJKFaSYrpwOVnFkIZDT5tRDn8,1867 +PIL/DcxImagePlugin.py,sha256=iaVs9updbtEstQKPLKKIlJVhfxFarbgCPoO8j96BmDA,2114 +PIL/DdsImagePlugin.py,sha256=Y_itB3X54n7N2rL34dyDBpol2X4_RnzjtiXtg99Q0iA,17535 +PIL/EpsImagePlugin.py,sha256=cKDk4eDeh8YVQ8L-AVcpTbm8F837TOxIG7MBTU3Ngy0,16848 +PIL/ExifTags.py,sha256=LA3OxhNImajSkIRnCMXDTJw4MprMEeFq_Sqf-sjn20w,10134 +PIL/FitsImagePlugin.py,sha256=4NPMt0uRxtyTpk2CyH7STSC-7ZmoGlSEl43hfnu5vBk,4791 +PIL/FliImagePlugin.py,sha256=FgqPZZkbTGBMcxtOXAp556WxknEz3dBPaUoerCT7BCU,4856 +PIL/FontFile.py,sha256=iLSV32yQetLnE4SgG8HnHb2FdqkqFBjY9n--E6u5UE0,3711 +PIL/FpxImagePlugin.py,sha256=_jQMgLzfC8uxGka-KPIJ2jwD6luMFp-4Qz7RtsrruGM,7548 +PIL/FtexImagePlugin.py,sha256=1I5_0O__NbbJRneo3YVyUcUxV_wLYHQu8SkOPp6CMxY,3650 +PIL/GbrImagePlugin.py,sha256=x49ki3fwwQQre9Gi_Q4xb50ui4o-3TyE9S0mMqHTBR0,3109 +PIL/GdImageFile.py,sha256=mTQCaQCp0s-awYAGsw-LQQyyW6zU-FS4KhUlfg1on74,2912 +PIL/GifImagePlugin.py,sha256=FOyVsNiRug79eHdoBeHySZxcd_ctnn4mQQSPWkxnntI,42612 +PIL/GimpGradientFile.py,sha256=AFEEGWtylUg7tIYK0MgBC4hZHq3WxSzIvdq_MAEAUq8,4047 +PIL/GimpPaletteFile.py,sha256=EmKLnuvsHx0GLhWh8YnfidiTEhUm51-ZNKgQbAX1zcU,1485 +PIL/GribStubImagePlugin.py,sha256=Vf_VvZltyP3QqTuz-gUfCT6I2g3F5Rh8BYMGjxwpAoM,1823 +PIL/Hdf5StubImagePlugin.py,sha256=70vlB50QgPYYH2b8kE8U_QN5Q8TlmjmN8vk0FrhLkJ4,1826 +PIL/IcnsImagePlugin.py,sha256=6ZH5I24DyNxev13dpqhxhrvsLYwpJgIOKcDyldqhNnQ,13365 +PIL/IcoImagePlugin.py,sha256=n8-QRW5Yke9SdR1Lc50ePCoR92V--jYDZ4Us7mSAmF4,12849 +PIL/ImImagePlugin.py,sha256=T9nd5jRiCoiNs80ahKA-jrQx6xXbeG8dowHOvk9N9QM,11815 +PIL/Image.py,sha256=uneMCNf0W2DRYpNn-BbYnCQNNeCvk4jSjNac2WOY-xY,150163 +PIL/ImageChops.py,sha256=hZ8EPUPlQIzugsEedV8trkKX0jBCDGb6Cszma6ZeMZQ,8257 +PIL/ImageCms.py,sha256=l3_-tm-1WmrJftb0gPfohoFheRzmAflJh3o_6dOue_8,43135 +PIL/ImageColor.py,sha256=KV-u7HnZWrrL3zuBAOLqerI-7vFcXTxdLeoaYVjsnwI,9761 +PIL/ImageDraw.py,sha256=DYB7qTpWv3mnkb8QqU1m43ySUVwC0ID_X-1CBAcvbxc,43493 +PIL/ImageDraw2.py,sha256=_e6I2nPxeiZwjOjBEJzUvxoyAklzmc-xF6R8z8ieOAA,7470 +PIL/ImageEnhance.py,sha256=ugDU0sljaR_zaTibtumlTvf-qFH1x1W6l2QMpc386XU,3740 +PIL/ImageFile.py,sha256=iiU9m9PrCREzA9QWhqoqE_bx-_8LKo5NFd-X2W3d7g8,26977 +PIL/ImageFilter.py,sha256=EgZAzVpL62p5bS65vp11cI8dr3YhmXwmRTzmYh2Ntbg,19302 +PIL/ImageFont.py,sha256=8hV48--3wsJMJX3esojS3K46cLPD7_QkltkhUI1f6GM,65617 +PIL/ImageGrab.py,sha256=CJP_aZNA1mXU5dI77eElm4_Au198Uf7yVZ7Xw0BJ53s,6552 +PIL/ImageMath.py,sha256=oHveLI5M0XwUJgX6uBPqGhQcdgoosC2-kYaVHbiDDts,12310 +PIL/ImageMode.py,sha256=n4-2kSolyB7v2u6dXyIf3_vDL_LMvSNwhJvd9Do8cc8,2773 +PIL/ImageMorph.py,sha256=E6kZhhpRypnHU8LoFgG4HkUoW3LfTr6rbv-fuFS9fDQ,8828 +PIL/ImageOps.py,sha256=Rd3P9VMOFgKY5956gZtcWZv3uCB5oHAcssanf0pauNI,25805 +PIL/ImagePalette.py,sha256=3MgwOab-209To6wP-7w04dCs1IQz84Y3X3SbvU4_muI,9287 +PIL/ImagePath.py,sha256=ZnnJuvQNtbKRhCmr61TEmEh1vVV5_90WMEPL8Opy5l8,391 +PIL/ImageQt.py,sha256=wjqQ_sZbUHzgGtCue4289rZYpGpg2ygrBE_Sv2orWck,6980 +PIL/ImageSequence.py,sha256=5UohDzcf-2PA3NfGnMRd15zDDA3eD9Wo3SP3DxyRsCU,2286 +PIL/ImageShow.py,sha256=19xEF7Gya2e-ZlrZKIekl2VBKZycuHG93ALOvOJ6qSk,10353 +PIL/ImageStat.py,sha256=iA5KJrQeEpbwk-FhczGD8L4TaLWUt4VT_mp4drvMhv8,5485 +PIL/ImageTk.py,sha256=mIiBdLdg3G7Y0r9zPsf5gC-QYL_7VJXGeai8LjxOFuI,9287 +PIL/ImageTransform.py,sha256=cFaMTjlWklRKDEO9zxyXwfLuf9quaCSWJ79KyjxYwKY,4022 +PIL/ImageWin.py,sha256=b-fO6kn4icHpy-zk-Xg-nO382zPXl-MKjZcs3vAXl1Q,8332 +PIL/ImtImagePlugin.py,sha256=l8-O69RNt8CdN76UFwS1RDIFnbj7mGBmhz7HechGWJE,2776 +PIL/IptcImagePlugin.py,sha256=4NKTYmrGbP90uVdCqQJzvodncRjQVUpemLiHbYsYdfk,6918 +PIL/Jpeg2KImagePlugin.py,sha256=P_ztbNPsyqZIpvMNF0aaNKO5CwaUoqayHaiClwq91po,14259 +PIL/JpegImagePlugin.py,sha256=dUIlg9V9rjA-5eL3fjAtOv4B86pWrrxanWNsp4CivO0,32328 +PIL/JpegPresets.py,sha256=UUIsKzvyzdPzsndODd90eu_luMqauG1PJh10UOuQvmg,12621 +PIL/McIdasImagePlugin.py,sha256=51zeymhkCr7Tz7b8UhxAACww5MkCCOV4X1pM-QXp8IU,2018 +PIL/MicImagePlugin.py,sha256=PrA2tqLn2NLRN-llQdBOPSYNHV-FFIpxgKHA1UUNkNw,2787 +PIL/MpegImagePlugin.py,sha256=SR-JGne4xNIrHTc1vKdEbuW61oI-TIar2oIP-MeRuiI,2188 +PIL/MpoImagePlugin.py,sha256=oAvDIZC_KpOxOYPP5rjsYWDKfNqi3asnwIosyx-7AR8,6410 +PIL/MspImagePlugin.py,sha256=NkR6_Vrn306k2drOJSKXLJ1lgvTsGj47uxObZxznAHo,6104 +PIL/PSDraw.py,sha256=un7FSu3yFIDTVtO9tB7w_csZcbNYQcHFJJSOILxL5gE,7143 +PIL/PaletteFile.py,sha256=lNPfuBTHraW6i1v1b9thNoFyIG2MRMMzFHxVTaxcwj8,1265 +PIL/PalmImagePlugin.py,sha256=c0d23TPlT_6_iCj6YGB8xH2Ta0J__xufcHvZeTPigvw,9583 +PIL/PcdImagePlugin.py,sha256=EDQGCPGebu4EpXWJc_mUIXJn_gz4YmT3BhR5r-MLHRE,1662 +PIL/PcfFontFile.py,sha256=RkM5wUp3SgRpQhpsTBEtk8uuFrQPnBSYBryOmcoRphQ,7401 +PIL/PcxImagePlugin.py,sha256=deEbKrJSHrQBHW2NPWnGEnxrTPrhrnDVWVYdellihok,6478 +PIL/PdfImagePlugin.py,sha256=-01K9TRr_ekIRxokuBw3N-_t5gQmn23rJXj6-B2-Gpk,9660 +PIL/PdfParser.py,sha256=VDCyd2NUI2dlAXHf4q5vxFIX1Icllkeiaqlsnx077jc,39053 +PIL/PixarImagePlugin.py,sha256=m3Zfy0GJyrhiy94Ti591CgQPKz8OoQQMRnD3navEePw,1857 +PIL/PngImagePlugin.py,sha256=3InrD2VdkQA5woeAhirV3ecYVqlnFy4PMw6RQKNnOuA,52409 +PIL/PpmImagePlugin.py,sha256=xUbGR7DUieRonG7rVs8IJ0TOVUqOP6oX-rbdxB4-iTs,12729 +PIL/PsdImagePlugin.py,sha256=eoOJ8GDNDzz96BBRbWEFwYRwyAHkrMrWEhV3ki84iuU,8953 +PIL/QoiImagePlugin.py,sha256=Dl5pbxhNOra7_WPwpJ8S2W8plQYDgcMrbWGSpjjIeTI,4304 +PIL/SgiImagePlugin.py,sha256=Guops-mEPgeP56JwqXII-kt9ZxuMYng207dkrA56N7Q,6979 +PIL/SpiderImagePlugin.py,sha256=sW17K_APLOVWf_nIBuoFPZm0guR0Z9v_06M0K7ndBMg,10442 +PIL/SunImagePlugin.py,sha256=YKYEvuG4QUkies34OKtXWKTYSZ8U3qzcE_vdTrOuRsw,4734 +PIL/TarIO.py,sha256=pR4LqBuF2rBy8v2PYsXZHqh6QalDeoraPSBiC57t7NU,1433 +PIL/TgaImagePlugin.py,sha256=OMvZn_xKjB1dZ1_4MkOquzJBHpSUIpAf5mUEJZiLBTI,7244 +PIL/TiffImagePlugin.py,sha256=wGl5lXTasoP9HVXAdRadqFyImsDAgssQuXiHdP-kmW8,84422 +PIL/TiffTags.py,sha256=CmDDo0yRJ4lD-tvB00RWyNlDbSjhQx8QhDzJOr1zoZI,17644 +PIL/WalImageFile.py,sha256=XzvTP_kO_JuumDBXV4FTRJJG1xhx4KqMnXDkStpaYbk,5831 +PIL/WebPImagePlugin.py,sha256=fkEHsDklgUQYKiFvEV9LjFXnBZO5DmnoEfnek4tWLA0,10407 +PIL/WmfImagePlugin.py,sha256=ehpDBscTFVDIDjBAucagJy2Sl5TD1KzvvG9YT2HZmHk,5211 +PIL/XVThumbImagePlugin.py,sha256=IjmJxrkwUDU1EMzGeiARqMF3OaWMSyvaCpcU-WdBkNs,2233 +PIL/XbmImagePlugin.py,sha256=ZCmHh9Q6ytvsUE0mKAQgigNU5ReZnUEusIKoqeBl3Fs,2777 +PIL/XpmImagePlugin.py,sha256=BliLDJKy-U0EHFRuzYtQWoodmH40IMvejTnLQfqUdFM,3383 +PIL/__init__.py,sha256=98abxVfn8od1jJaTIr65YrYrIb7zMKbOJ5o68ryE2O0,2094 +PIL/__main__.py,sha256=X8eIpGlmHfnp7zazp5mdav228Itcf2lkiMP0tLU6X9c,140 +PIL/__pycache__/BdfFontFile.cpython-310.pyc,, +PIL/__pycache__/BlpImagePlugin.cpython-310.pyc,, +PIL/__pycache__/BmpImagePlugin.cpython-310.pyc,, +PIL/__pycache__/BufrStubImagePlugin.cpython-310.pyc,, +PIL/__pycache__/ContainerIO.cpython-310.pyc,, +PIL/__pycache__/CurImagePlugin.cpython-310.pyc,, +PIL/__pycache__/DcxImagePlugin.cpython-310.pyc,, +PIL/__pycache__/DdsImagePlugin.cpython-310.pyc,, +PIL/__pycache__/EpsImagePlugin.cpython-310.pyc,, +PIL/__pycache__/ExifTags.cpython-310.pyc,, +PIL/__pycache__/FitsImagePlugin.cpython-310.pyc,, +PIL/__pycache__/FliImagePlugin.cpython-310.pyc,, +PIL/__pycache__/FontFile.cpython-310.pyc,, +PIL/__pycache__/FpxImagePlugin.cpython-310.pyc,, +PIL/__pycache__/FtexImagePlugin.cpython-310.pyc,, +PIL/__pycache__/GbrImagePlugin.cpython-310.pyc,, +PIL/__pycache__/GdImageFile.cpython-310.pyc,, +PIL/__pycache__/GifImagePlugin.cpython-310.pyc,, +PIL/__pycache__/GimpGradientFile.cpython-310.pyc,, +PIL/__pycache__/GimpPaletteFile.cpython-310.pyc,, +PIL/__pycache__/GribStubImagePlugin.cpython-310.pyc,, +PIL/__pycache__/Hdf5StubImagePlugin.cpython-310.pyc,, +PIL/__pycache__/IcnsImagePlugin.cpython-310.pyc,, +PIL/__pycache__/IcoImagePlugin.cpython-310.pyc,, +PIL/__pycache__/ImImagePlugin.cpython-310.pyc,, +PIL/__pycache__/Image.cpython-310.pyc,, +PIL/__pycache__/ImageChops.cpython-310.pyc,, +PIL/__pycache__/ImageCms.cpython-310.pyc,, +PIL/__pycache__/ImageColor.cpython-310.pyc,, +PIL/__pycache__/ImageDraw.cpython-310.pyc,, +PIL/__pycache__/ImageDraw2.cpython-310.pyc,, +PIL/__pycache__/ImageEnhance.cpython-310.pyc,, +PIL/__pycache__/ImageFile.cpython-310.pyc,, +PIL/__pycache__/ImageFilter.cpython-310.pyc,, +PIL/__pycache__/ImageFont.cpython-310.pyc,, +PIL/__pycache__/ImageGrab.cpython-310.pyc,, +PIL/__pycache__/ImageMath.cpython-310.pyc,, +PIL/__pycache__/ImageMode.cpython-310.pyc,, +PIL/__pycache__/ImageMorph.cpython-310.pyc,, +PIL/__pycache__/ImageOps.cpython-310.pyc,, +PIL/__pycache__/ImagePalette.cpython-310.pyc,, +PIL/__pycache__/ImagePath.cpython-310.pyc,, +PIL/__pycache__/ImageQt.cpython-310.pyc,, +PIL/__pycache__/ImageSequence.cpython-310.pyc,, +PIL/__pycache__/ImageShow.cpython-310.pyc,, +PIL/__pycache__/ImageStat.cpython-310.pyc,, +PIL/__pycache__/ImageTk.cpython-310.pyc,, +PIL/__pycache__/ImageTransform.cpython-310.pyc,, +PIL/__pycache__/ImageWin.cpython-310.pyc,, +PIL/__pycache__/ImtImagePlugin.cpython-310.pyc,, +PIL/__pycache__/IptcImagePlugin.cpython-310.pyc,, +PIL/__pycache__/Jpeg2KImagePlugin.cpython-310.pyc,, +PIL/__pycache__/JpegImagePlugin.cpython-310.pyc,, +PIL/__pycache__/JpegPresets.cpython-310.pyc,, +PIL/__pycache__/McIdasImagePlugin.cpython-310.pyc,, +PIL/__pycache__/MicImagePlugin.cpython-310.pyc,, +PIL/__pycache__/MpegImagePlugin.cpython-310.pyc,, +PIL/__pycache__/MpoImagePlugin.cpython-310.pyc,, +PIL/__pycache__/MspImagePlugin.cpython-310.pyc,, +PIL/__pycache__/PSDraw.cpython-310.pyc,, +PIL/__pycache__/PaletteFile.cpython-310.pyc,, +PIL/__pycache__/PalmImagePlugin.cpython-310.pyc,, +PIL/__pycache__/PcdImagePlugin.cpython-310.pyc,, +PIL/__pycache__/PcfFontFile.cpython-310.pyc,, +PIL/__pycache__/PcxImagePlugin.cpython-310.pyc,, +PIL/__pycache__/PdfImagePlugin.cpython-310.pyc,, +PIL/__pycache__/PdfParser.cpython-310.pyc,, +PIL/__pycache__/PixarImagePlugin.cpython-310.pyc,, +PIL/__pycache__/PngImagePlugin.cpython-310.pyc,, +PIL/__pycache__/PpmImagePlugin.cpython-310.pyc,, +PIL/__pycache__/PsdImagePlugin.cpython-310.pyc,, +PIL/__pycache__/QoiImagePlugin.cpython-310.pyc,, +PIL/__pycache__/SgiImagePlugin.cpython-310.pyc,, +PIL/__pycache__/SpiderImagePlugin.cpython-310.pyc,, +PIL/__pycache__/SunImagePlugin.cpython-310.pyc,, +PIL/__pycache__/TarIO.cpython-310.pyc,, +PIL/__pycache__/TgaImagePlugin.cpython-310.pyc,, +PIL/__pycache__/TiffImagePlugin.cpython-310.pyc,, +PIL/__pycache__/TiffTags.cpython-310.pyc,, +PIL/__pycache__/WalImageFile.cpython-310.pyc,, +PIL/__pycache__/WebPImagePlugin.cpython-310.pyc,, +PIL/__pycache__/WmfImagePlugin.cpython-310.pyc,, +PIL/__pycache__/XVThumbImagePlugin.cpython-310.pyc,, +PIL/__pycache__/XbmImagePlugin.cpython-310.pyc,, +PIL/__pycache__/XpmImagePlugin.cpython-310.pyc,, +PIL/__pycache__/__init__.cpython-310.pyc,, +PIL/__pycache__/__main__.cpython-310.pyc,, +PIL/__pycache__/_binary.cpython-310.pyc,, +PIL/__pycache__/_deprecate.cpython-310.pyc,, +PIL/__pycache__/_tkinter_finder.cpython-310.pyc,, +PIL/__pycache__/_typing.cpython-310.pyc,, +PIL/__pycache__/_util.cpython-310.pyc,, +PIL/__pycache__/_version.cpython-310.pyc,, +PIL/__pycache__/features.cpython-310.pyc,, +PIL/__pycache__/report.cpython-310.pyc,, +PIL/_binary.py,sha256=cb9p-_mwzBYumlVsWbnoTWsrLo59towA6atLOZvjO3w,2662 +PIL/_deprecate.py,sha256=Jy_3Ty-WkxQg51m4pMQ1PgjYpfpJqAzKvvgP59GTUWY,2005 +PIL/_imaging.cp310-win_amd64.pyd,sha256=AR6xvpERmTMPCWhWUysti_yngOXDc8pITxrihTK_IMU,2348032 +PIL/_imaging.pyi,sha256=0c3GC20XgHn8HaIrEYPErvCABBq_wibJlRa8A3RsUk8,899 +PIL/_imagingcms.cp310-win_amd64.pyd,sha256=Nwtx2VGXy5jOFQdNfabgkI3rVMlnfWToOlGv20DJ_TI,264192 +PIL/_imagingcms.pyi,sha256=oB0dV9kzqnZk3CtnVzgZvwpRsPUqbltBZ19xLin7uHo,4532 +PIL/_imagingft.cp310-win_amd64.pyd,sha256=Q_RVLwO1OoUNEPlaLSUtC3U3IkpoG5XvgLE78bHunzM,1828352 +PIL/_imagingft.pyi,sha256=1hXXgNd6d9vEaTLaJzYCJBbH_f5WnSO7MuvbGGCTEgg,1858 +PIL/_imagingmath.cp310-win_amd64.pyd,sha256=rgxDHqOv_S-OqTTPiKKDl1kB7QiN8ha_4PwzfYErfqE,25088 +PIL/_imagingmath.pyi,sha256=zD8vAoPC8aEIVjfckLtFskRW5saiVel3-sJUA2pHaGc,66 +PIL/_imagingmorph.cp310-win_amd64.pyd,sha256=U71d0Npat4mU83841lbYQa4neBI8JnrxlyMhJG6dC0A,13824 +PIL/_imagingmorph.pyi,sha256=zD8vAoPC8aEIVjfckLtFskRW5saiVel3-sJUA2pHaGc,66 +PIL/_imagingtk.cp310-win_amd64.pyd,sha256=vfqQK4e8cc1GM6ym_kTssloVxOUBXY8dvftkESibD_A,15360 +PIL/_imagingtk.pyi,sha256=zD8vAoPC8aEIVjfckLtFskRW5saiVel3-sJUA2pHaGc,66 +PIL/_tkinter_finder.py,sha256=jKydPAxnrytggsZQHB6kAQep6A9kzRNyx_nToT4ClKY,561 +PIL/_typing.py,sha256=cEhC2d5bo_KlT7gOIzWIwjHxy0deRc_iA5avYZ7q_3k,1300 +PIL/_util.py,sha256=c1SFb0eh9D_Sho4-YMFDZP5YOlpkOicqY7k5TCSrj_A,661 +PIL/_version.py,sha256=mkejFVcrY7PmcX4LRQtqxikQTUY4Gy8EheIcftlcKjg,91 +PIL/_webp.cp310-win_amd64.pyd,sha256=IE_GHeOFu_kPXlYd6AXVxV1ZE9C4p8RdziWuOwniZj4,410112 +PIL/_webp.pyi,sha256=zD8vAoPC8aEIVjfckLtFskRW5saiVel3-sJUA2pHaGc,66 +PIL/features.py,sha256=RkT695WJ3Zz-8oJZVNtuYvWjSXx0o1SQZTebTXqVXDk,11320 +PIL/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +PIL/report.py,sha256=6m7NOv1a24577ZiJoxX89ip5JeOgf2O1F95f6-1K5aM,105 +pillow-11.0.0.dist-info/INSTALLER,sha256=zuuue4knoyJ-UwPPXg8fezS7VCrXJQrAP7zeNuwvFQg,4 +pillow-11.0.0.dist-info/LICENSE,sha256=Kt-eAuQb225DncVxntbF0QJ2EfiWHgq8iy81zxXx6Ic,57500 +pillow-11.0.0.dist-info/METADATA,sha256=2TagS9SDj68xROTQ3ID8cKjjQYA4GPL_0vsYi0FcAh8,9285 +pillow-11.0.0.dist-info/RECORD,, +pillow-11.0.0.dist-info/REQUESTED,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0 +pillow-11.0.0.dist-info/WHEEL,sha256=0ZjvOlAkRhiFz0IEm5kQrC9Db9zGCLzyOcgLl0kpzxU,101 +pillow-11.0.0.dist-info/top_level.txt,sha256=riZqrk-hyZqh5f1Z0Zwii3dKfxEsByhu9cU9IODF-NY,4 +pillow-11.0.0.dist-info/zip-safe,sha256=frcCV1k9oG9oKj3dpUqdJg1PxRT2RSN_XKdLCPjaYaY,2 diff --git a/gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/REQUESTED b/gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/REQUESTED new file mode 100644 index 0000000..e69de29 diff --git a/gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/WHEEL b/gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/WHEEL new file mode 100644 index 0000000..d538e59 --- /dev/null +++ b/gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/WHEEL @@ -0,0 +1,5 @@ +Wheel-Version: 1.0 +Generator: setuptools (75.1.0) +Root-Is-Purelib: false +Tag: cp310-cp310-win_amd64 + diff --git a/gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/top_level.txt b/gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/top_level.txt new file mode 100644 index 0000000..b338169 --- /dev/null +++ b/gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/top_level.txt @@ -0,0 +1 @@ +PIL diff --git a/gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/zip-safe b/gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/zip-safe new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/zip-safe @@ -0,0 +1 @@ +

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 T-n?zId5dk!Keg}v7a0E^%? Any: ... diff --git a/gestao_raul/Lib/site-packages/PIL/_imagingmorph.cp310-win_amd64.pyd b/gestao_raul/Lib/site-packages/PIL/_imagingmorph.cp310-win_amd64.pyd new file mode 100644 index 0000000000000000000000000000000000000000..d8f94fbfd9c9854607171488fedf2b34b2ebcd43 GIT binary patch literal 13824 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 literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/_imagingmorph.pyi b/gestao_raul/Lib/site-packages/PIL/_imagingmorph.pyi new file mode 100644 index 0000000..e27843e --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/_imagingmorph.pyi @@ -0,0 +1,3 @@ +from typing import Any + +def __getattr__(name: str) -> Any: ... diff --git a/gestao_raul/Lib/site-packages/PIL/_imagingtk.cp310-win_amd64.pyd b/gestao_raul/Lib/site-packages/PIL/_imagingtk.cp310-win_amd64.pyd new file mode 100644 index 0000000000000000000000000000000000000000..def67aa51218e3e8cfd84646c01269e6be07d54e GIT binary patch literal 15360 zcmeHOdw5jUwcnFulJE!OhRTtrp(KkGrUS` zaEK+Gj-?M<@7EVtxV87%iq>iXy`2y=2@i$%ijS*lZM_FW+h`Sn56=Cqea<8k)cfuq zx9$19J!|c?*IIk+wfA0oualFS+jp{b##jc5sxsCNNRN&G{>MML2F4~_c3=W~Y|QcL z?FQ%Z>2=NCh!6?~*M=MXLSsW95R`;99w8hJ2;P9;xMiu}54t_YIXPo3y6VugQ?H-% zaM+(L6)*qBe?97!DT@2B_{RfonYEeA zZJ8DJUBl~fzXn6RzQo(uOnrUc$ZD$?bKjH6wr5UQo8%c}GlX$z6Ru!WK+z2!`~vV? z&d~xlXm}c9nVd8N*-jA1xp>l8JyT!A%gXcy^el{pBBcz z!cJVn*wkU-r;(j=FsIy5y{!a#Q|lLq6ic3s5@?0__#u;N?D{x>@kf9)#bI}Y)WFy; zE(QrYSsu!zC@GH(T^DO?Y(*9tYEftmr6?(njj=>=NMqzf_~xOcJT}G_q*VW=P%&<-zLBxcWBMbu)md_#Z4OJm zv(0G{mM*_ljGZnKO0Vj*tXJ=O*#eB<8#IMZ3bJ5I$w;Ne>a^mdwT(Nh^DGn zMER&{-p!?>HDdhc0&B0mJr|9tc^s&s+(%;3TOjy61Vy=9H6PK~uN38+CxANR#&&9o zn>#qi7}eYYvNa*fD=j53NN{zc@jJW`y+yd*;ijZNY)i@5jiPMqy&l@Ehei0Nxmt#a zAByr3du%9Ox}wUOaK>})gevl!0JUEsTuxWbPa>YQ8yI7!zJ=dvd2u#5E~J_}(ICo$ zVrwEg4f2p#3>i^=PBm{ImbncwqI`3%^7MIlS?){Wu1s>@KFob3amO~=SW@HFNuFzm zd9uLMQZ`#`d&sgARz)*gHX4{TuBFTwy_C>sJ{g1gtOFw-PQ3$TS~=i-ijE1G`A2~< zhx|03qVw44;Kv-deiN-trl9f48RYw%W8nI;=`QH8%Za9@Cevlxz`&U4@$u=Rny}Av z8r0}GF*an3p5_&>nH*1}E4REfugcnkb%>GYV-Y&#$~qWSMh2mZ#rPZ=3q|=QaMy}* zrHw2UoNwG=cy6QZn*U6e5qqU^LZi`HYxFOB59!y8?+ zN=F`T{+nt35kmC&Ur{Zeqb;G&|177Rg(1It8TZfK1dN_MAuOnAItD37pcgPOQ z{3`2fRhX)KBWT939adGYgUjS9@J-FaH1>Y=mMUv+YtL6JoN=c`G+kz6c6m%qygI{f zdiZ&}dMN#5dUyH>XJZGstwe0>H9ej;*1kP2pVW~uNBPMu$I?5>4{dpzcWGC#_q(#I z%KNr_kG7sR3i5nCsaQdtpPK<|V~3l$=izVra&hbF1Pwtpt||whO}EXm3zRDB88M#I zj1k-A^LF_S)%l zFWj%1?*&TtJeXv?Dr5%6uI$ITCOfEiP!eMrkE zXEm(T7YO2FJ=I$OAhs1vfZ|`nFlIM7J~3@G0BwCO8myM5k{SDWFIb2lRH(4^pqNU=Q$CRmyIC&D44~ zNaR?%+SQ??JIaSlclRR>4)`&$IzA-xi!}Z4dx=tcj*n~`IY3+b7}-7CU(;@d(t$aU z%G9KOJS>%?Ni7;BRm-KWxd>8r`Cn<#_QMhL^I0YlrruA!d)&up zKw%%iFO$d(akGmSg50N?C)_Za3oL);E9WSRpGZ{f` zOX;jX@IgB0@tj4tp{eE)F4L#vB9>tZTq4GKcI~ z=ZRRJGxs`d@?5c_Be&^nhpI*monl8%?x}mwCGH!s(}k_Q(%jfP2C0yKCdEE9NLr|X z_QFo330L+3qjDX9>2Y#cVP~~`g5W6=oLz%;d|wBz=F=3={e_Njgybz)n#*Z;qWqpy ze%IQgyaXlNu+&LII52^7LhJkGClSzm@eY9r~iMIU$%y5?cGCZaH>=RW*lLJkd>Tjnu zWx{@~i8lAO*n_1Iv-XnMJMgsFdIpP0d5+)aj0yBXF>peXM>SW0gz#sKsp--A!#!S? z(xX%WYwyt{qeikeH_4}(Gl#7n$h5vj*3*T2rDY=~z=p7~x^rax@=JKNJVf`Hcd;p= zM& zoAEdpFzzoBxy|@JB!t9i1O9!qbQ$jig}UuBt^-CptIHVGv39H{Caz1+Zt|04SB8Ol z9-+%QA0QQlnHfToXh6^wtU3{bQ_ZkYg%5UOWC(9IEicm-#xn z-{9_*LoFEVTruXhl)(bJZQ`O-@5G&jF0+_BB8I3^h`5Y76IAoF6XB<>n3}fb5t=zI zb>e$0f0-zshA*)njW#m+VCe&I7X8DOz{)$Lk{I*kqL&)nP;P<_QLe&XsKPDBfts8U zXA^GI@OVwWRxhJ^RX)T9#g2YKv;wzQ4T{zdaX(#5=)I75IV#qXu0)fg1KxjXHg&QR z$IIChsQ!_v*z2nhxlb3;qRJIx6)(dH{2KP~MS4^LPhsaVxV5MZ0&2m%Xg~~!=S)NW z)Om_mapQF0T#s_=yEvX=*%sw(*a9R?mq#DUK`_I?(>Ge|&aRldRPc-Wp<8DYBln_N~(y5O* zPr*wws*Hh$z6^BWo#6p$F{7oT8InwXCAv0t&amN2iUC}hxk6l#EU;<`T9qPB!>Wnr z+)njr8c#92YNhP*=U6CWtXoBDX`BuQthreLR3(V272p};Cx{9LZUF8N`*F13Y{3to zcN}{i?KQU}U7c(Ev72(~oSOOYZ@ruJ&;V6isvO`O!M(m4{4E zEY1^Shw{brlcp!^nPPl=i!(m{h}f2AsV+Y$<;ypXcb0dA$I1(`(>t8yi7sP%@V(6o<*ULqN&c) zQgIn5Y{x57#;di*#~Qr5;&6Uk$Bgdaq&sM!BEXppi}NcXysRAdOsk>5!`@?s(Bf8i1=$$%}an{ zm*rrWN!f8RUFkry7v&#VPQX)i^9Dd%qx&D8auMh7IH(Z zGg~ZwGki)rM`-G-k7xz>cW$Mk?h?r_Mx_O0)E z1D?}@j2w94tdbp!|!pX2dc)Mz)4`=`tFUMK(uYu`&Hvkw$%*D=h~Ki9KAz~ z<=l1^&YXh58&s3nWwfKhS{SQHWa9NuVMTpr8k441ga}MA?mPD}E>6M*i@4u_!$4K^q=oCu0~b6AglmJ7Xd_#DxjtV|CSf|0+{~PWt=ooC&D;tMqG4^PGtUJ5Q_z6x{0p2C~552Vy$#_9c<=qUpe3KAP?T#cn$A+lwPN4Xd)*<)e1o z6gy7k7N{(P#eS33W;}z#RNUHA2ycmJPl}i4Oy|0DrT}0<*5l>fZ+9Z9*kg|0$I#}_4_H8IzyfDgwh&-2uRiDPLUX7JxL zNQ%^gdX9(r?;QTSkpHgWzoq=w!GABs@3CY144u%6`vuPH8re?yakYF>!T#1?0P@=h z-DRufe7wiA$KD!p%02coEW;_ElrFZ*w(Oe5+KjV(&h(RFW4H72lhuu#H_3Uqc-feX z>jgme8HXX=B#kpY4jAhnbf$MZt>~ubj#FOTR@8!}FdcDNdq(nAwLeKqg(>X?3or)T zGT1JN@;f_fFtLY)Ri|D@hJGxCEGS1nq06WMcMdmb%;k97q|tCqd`FZGGQtL8Enb`A zEme*(NN@0~Lh>@)MQiGnEoU`NxVDiLm$3G1EyJ2jn7-2?cYqGx{r&kX^uR8=HmF*g z2IuQ=hfWXZuug~9>#$IV^u~~$_iP-nH*}cL;T|3C)Zuy^uF)aWpCPO;UO*4)_4jp{(BU>6uF&D@I{c9i-8xM6B3w|PbV265*n^j|76U3t7@DcocU}OK z{I}}#Wc_~&ZHu-3`gNGphfp}`X>15ZqCSrhT=OMQqa@6z_4<6l4MMfQVXZf?c81U( z2_+jLJerQ{!^RN!J#JxUL1d;-sc8Y9;PynM+UB4X6z~UOQsd!WMz;ZV=|2*Th8sPf?y`21K2$D*agM6r=;1~|Z>9F}gfEExnxcV5K7fJL>A zz^z-yn6%D|yJVPE2BSWB3g2@yp;!Ao`?>@&faEtbG-w~} z(dw4+<67#0hH*enTUPHs{F4M;smKrV9c5cs!QMB86KYgjRI*qS?6iwq( zK+7k4HtHYe;FUY|U+mH9^zG4ORM&hC>%osdT;z|?tVAmTEoE+K88JG~AIIj_Wode` zV8CktP4BK`F}^QCVphB+q6Lw9?c1j0H$e2w6G-p_f~=(kvyD1v_m9xHO+^3C9>b&z zHfhPk&_(sRC5EvXZ0wv&Hnub~G4NcUZT2GbXx(|)$UNNkDJQMIvG=j2nSa&Y3{}i;4uAACZ>!~u6 zFEz69hJ0r1AJM;y^pl4a6W3QsLC-on`l-C8kZ#a>py+4Uj-G}l!qLGj4rn2l8 zF5$GVfIg(#LOiMUQF7>)`Wn`adTRfM;&fIFe`l;gE{Qh?nWbs84A@2HY-X0mFta<0 znbB@8y{LaD<^W5dHBV;jWfY1X^vs)rI{-?uuIs72h|gs<8@nVkM6y_N>@M*A2<7Lx ztOWc~lxOt%LBdnosos^+ZpbjOj0O0E!jw!lWsZqW2~XL4Y z5#+WkNvk!OGMNcuF<~sG(s3cf7y}zaW6sWC+2M>(dOgOSlfiP3#O5r?tQ|xB%z&?S zy=Mi+wqjA`BIhP(NHegsTEM()mgh#P%VK%ZomZM0GMJ6<*#TxYw6jd&Azy;WJO{p< zIH7-hXdI}Z(+?hkTwe*Vj{2bs8WBpd-#H&}f`zDGg;Ii2k4?WAF!cm4ZVXvxmlSRA z23!q(_qB71Lz~=mp}|4#N5g(Ed{bhMOY-mZj?-$z;8fI&8B+2)f9T@n!Q)FpQ z?guTDB6}V*8)WNKXhJ1KK^shwwSktPv8V8@0qq26`6;x!K~sqDbDqEFOPXW;zvoLC ztSS)o*M@_Qo=Bu7=tfQw!75y8udOb2IGy-jw02XamSwoABg-3nUN_repxb&V7?xZb z(BxPF=v5mVT}z??$?Nx2g~P!xUj9G>P}fqAv@jg>-->Hz34Q3h8Eiz%?xj z20Z90+6dhrfk!i3Pb6@L9t6!946Jq8Bg=zccdZ2b)1ciRUhArD2uD11(U8xBowrG9 z4hFF4i`_mSD@}tnmC?p#>L`w~fmJ%}8~89yi?V2~jSz(CeeLgzYiH zzn|ND*jVQY`zinPBn@N_rdLPwN-(?-nH21*g{c?>3uP>hdcvD(J>e#ri9jPP#-ySn z>!-(B?Pk}dQ0tnJmbpP>W7FY-rJEv>$6tr_V2{994`FPM!QqWGtU--4JH2bd4PmS^ zpD)68q*LJZVx?{NEOjD16`_vpg0&9Mn&{fKo^aC2o2!;As&ZOO`6S@R>vC1PB1n(D zP2NVA<|ufk0Q89Dc1c(ZE^nYI=%NfY9Ngsc@!a=%hWs`{3Fq?4CCe7oRo7I_o}*1H zyO)78(C81b98HTi=xRj184S4AM?zS#QWNtKkA$=kSJ-^k6!u_!OlE#<$>M5@KD`oL z=V#ZA;4Tllfw>}{W>*uRKo_l}d(bE`}Jg!jOnEN3*9Pl-hiu4ftOP3L>d2^J%6UL)abv z_fPWcf&Z!ImY)|F=Ed0O9 zAJY3t>PXtz@;UDXl6-&dFgKU601D-TA;5g(Gw%aW&0|t?9LjY*nuxpMTn#ehDD#06 z%tLVkPt8+Oa~R5HqIvjA06YXYqudXi;Jqjh0#D5wQge#bd?Pg%p`4@??-Rz))8IVd z7T^T$Lzx4d;15w8zzNbHz3YHu&9N1@*Sdkz{dNyZi0FWCplk%*4@loD=9O!3;S|QU zfGz@dqa=V6r2hw+3Lb(*Q{e~V2Xv#5PJ-7>L%s)k8Q{-Q+`u0KTyZIQfD`;O3iY)M z@Su)A3HX7I4*_0vnZ`rVuHz0spNOW9VfU($K8N`LLr+6 z0k==bcp*#hArzt$d{M_0z>>?6XM%^I4~5nbLA;CR_(Oo}k>hlOhjQ$5C^W{80r4K1 zod%Bg)hvwC4;=5Td7h^Lr+km{xOVhQka9S}2~z$=I6=yp9N;Hdi1GvAe}DeF9x&i6 z=I?h}MoS_O1p#T%r|9_Tj)`ca_cGrcEyQc{Z`kPf2{;oYxU^NwoLyWpQ}6^DgKiwO z6*HIBEi5XVDMTdP?izeJq$_4_@lQIHc3UemCS31_>0%io+;qM=54|qXL)LGr0VLVE>u3l#=mJ2CiN;fpnLa; z-F>_JcPqPxc8d?xKA`Mjd$afM-233(eS6#YCiZsk1ye2d7eLFd?Yop+Z1>-^-~LJl F|L Any: ... diff --git a/gestao_raul/Lib/site-packages/PIL/_tkinter_finder.py b/gestao_raul/Lib/site-packages/PIL/_tkinter_finder.py new file mode 100644 index 0000000..beddfb0 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/_tkinter_finder.py @@ -0,0 +1,21 @@ +""" Find compiled module linking to Tcl / Tk libraries +""" + +from __future__ import annotations + +import sys +import tkinter + +tk = getattr(tkinter, "_tkinter") + +try: + if hasattr(sys, "pypy_find_executable"): + TKINTER_LIB = tk.tklib_cffi.__file__ + else: + TKINTER_LIB = tk.__file__ +except AttributeError: + # _tkinter may be compiled directly into Python, in which case __file__ is + # not available. load_tkinter_funcs will check the binary first in any case. + TKINTER_LIB = None + +tk_version = str(tkinter.TkVersion) diff --git a/gestao_raul/Lib/site-packages/PIL/_typing.py b/gestao_raul/Lib/site-packages/PIL/_typing.py new file mode 100644 index 0000000..0a7d87c --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/_typing.py @@ -0,0 +1,53 @@ +from __future__ import annotations + +import os +import sys +from collections.abc import Sequence +from typing import TYPE_CHECKING, Any, Protocol, TypeVar, Union + +if TYPE_CHECKING: + from numbers import _IntegralLike as IntegralLike + + try: + import numpy.typing as npt + + NumpyArray = npt.NDArray[Any] # requires numpy>=1.21 + except (ImportError, AttributeError): + pass + +if sys.version_info >= (3, 13): + from types import CapsuleType +else: + CapsuleType = object + +if sys.version_info >= (3, 12): + from collections.abc import Buffer +else: + Buffer = Any + +if sys.version_info >= (3, 10): + from typing import TypeGuard +else: + try: + from typing_extensions import TypeGuard + except ImportError: + + class TypeGuard: # type: ignore[no-redef] + def __class_getitem__(cls, item: Any) -> type[bool]: + return bool + + +Coords = Union[Sequence[float], Sequence[Sequence[float]]] + + +_T_co = TypeVar("_T_co", covariant=True) + + +class SupportsRead(Protocol[_T_co]): + def read(self, __length: int = ...) -> _T_co: ... + + +StrOrBytesPath = Union[str, bytes, "os.PathLike[str]", "os.PathLike[bytes]"] + + +__all__ = ["Buffer", "IntegralLike", "StrOrBytesPath", "SupportsRead", "TypeGuard"] diff --git a/gestao_raul/Lib/site-packages/PIL/_util.py b/gestao_raul/Lib/site-packages/PIL/_util.py new file mode 100644 index 0000000..8ef0d36 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/_util.py @@ -0,0 +1,26 @@ +from __future__ import annotations + +import os +from typing import Any, NoReturn + +from ._typing import StrOrBytesPath, TypeGuard + + +def is_path(f: Any) -> TypeGuard[StrOrBytesPath]: + return isinstance(f, (bytes, str, os.PathLike)) + + +class DeferredError: + def __init__(self, ex: BaseException): + self.ex = ex + + def __getattr__(self, elt: str) -> NoReturn: + raise self.ex + + @staticmethod + def new(ex: BaseException) -> Any: + """ + Creates an object that raises the wrapped exception ``ex`` when used, + and casts it to :py:obj:`~typing.Any` type. + """ + return DeferredError(ex) diff --git a/gestao_raul/Lib/site-packages/PIL/_version.py b/gestao_raul/Lib/site-packages/PIL/_version.py new file mode 100644 index 0000000..963d8c9 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/_version.py @@ -0,0 +1,4 @@ +# Master version for Pillow +from __future__ import annotations + +__version__ = "11.0.0" diff --git a/gestao_raul/Lib/site-packages/PIL/_webp.cp310-win_amd64.pyd b/gestao_raul/Lib/site-packages/PIL/_webp.cp310-win_amd64.pyd new file mode 100644 index 0000000000000000000000000000000000000000..cdecdab945bec134f93e88c34e3b001f07eebbca GIT binary patch literal 410112 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 iZfV}woOM(9rm~yrZ*nyyJ8#y4|L1RiE%0AaGAil- literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/_webp.pyi b/gestao_raul/Lib/site-packages/PIL/_webp.pyi new file mode 100644 index 0000000..e27843e --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/_webp.pyi @@ -0,0 +1,3 @@ +from typing import Any + +def __getattr__(name: str) -> Any: ... diff --git a/gestao_raul/Lib/site-packages/PIL/features.py b/gestao_raul/Lib/site-packages/PIL/features.py new file mode 100644 index 0000000..75d59e0 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/features.py @@ -0,0 +1,352 @@ +from __future__ import annotations + +import collections +import os +import sys +import warnings +from typing import IO + +import PIL + +from . import Image +from ._deprecate import deprecate + +modules = { + "pil": ("PIL._imaging", "PILLOW_VERSION"), + "tkinter": ("PIL._tkinter_finder", "tk_version"), + "freetype2": ("PIL._imagingft", "freetype2_version"), + "littlecms2": ("PIL._imagingcms", "littlecms_version"), + "webp": ("PIL._webp", "webpdecoder_version"), +} + + +def check_module(feature: str) -> bool: + """ + Checks if a module is available. + + :param feature: The module to check for. + :returns: ``True`` if available, ``False`` otherwise. + :raises ValueError: If the module is not defined in this version of Pillow. + """ + if feature not in modules: + msg = f"Unknown module {feature}" + raise ValueError(msg) + + module, ver = modules[feature] + + try: + __import__(module) + return True + except ModuleNotFoundError: + return False + except ImportError as ex: + warnings.warn(str(ex)) + return False + + +def version_module(feature: str) -> str | None: + """ + :param feature: The module to check for. + :returns: + The loaded version number as a string, or ``None`` if unknown or not available. + :raises ValueError: If the module is not defined in this version of Pillow. + """ + if not check_module(feature): + return None + + module, ver = modules[feature] + + return getattr(__import__(module, fromlist=[ver]), ver) + + +def get_supported_modules() -> list[str]: + """ + :returns: A list of all supported modules. + """ + return [f for f in modules if check_module(f)] + + +codecs = { + "jpg": ("jpeg", "jpeglib"), + "jpg_2000": ("jpeg2k", "jp2klib"), + "zlib": ("zip", "zlib"), + "libtiff": ("libtiff", "libtiff"), +} + + +def check_codec(feature: str) -> bool: + """ + Checks if a codec is available. + + :param feature: The codec to check for. + :returns: ``True`` if available, ``False`` otherwise. + :raises ValueError: If the codec is not defined in this version of Pillow. + """ + if feature not in codecs: + msg = f"Unknown codec {feature}" + raise ValueError(msg) + + codec, lib = codecs[feature] + + return f"{codec}_encoder" in dir(Image.core) + + +def version_codec(feature: str) -> str | None: + """ + :param feature: The codec to check for. + :returns: + The version number as a string, or ``None`` if not available. + Checked at compile time for ``jpg``, run-time otherwise. + :raises ValueError: If the codec is not defined in this version of Pillow. + """ + if not check_codec(feature): + return None + + codec, lib = codecs[feature] + + version = getattr(Image.core, f"{lib}_version") + + if feature == "libtiff": + return version.split("\n")[0].split("Version ")[1] + + return version + + +def get_supported_codecs() -> list[str]: + """ + :returns: A list of all supported codecs. + """ + return [f for f in codecs if check_codec(f)] + + +features: dict[str, tuple[str, str | bool, str | None]] = { + "webp_anim": ("PIL._webp", True, None), + "webp_mux": ("PIL._webp", True, None), + "transp_webp": ("PIL._webp", True, None), + "raqm": ("PIL._imagingft", "HAVE_RAQM", "raqm_version"), + "fribidi": ("PIL._imagingft", "HAVE_FRIBIDI", "fribidi_version"), + "harfbuzz": ("PIL._imagingft", "HAVE_HARFBUZZ", "harfbuzz_version"), + "libjpeg_turbo": ("PIL._imaging", "HAVE_LIBJPEGTURBO", "libjpeg_turbo_version"), + "libimagequant": ("PIL._imaging", "HAVE_LIBIMAGEQUANT", "imagequant_version"), + "xcb": ("PIL._imaging", "HAVE_XCB", None), +} + + +def check_feature(feature: str) -> bool | None: + """ + Checks if a feature is available. + + :param feature: The feature to check for. + :returns: ``True`` if available, ``False`` if unavailable, ``None`` if unknown. + :raises ValueError: If the feature is not defined in this version of Pillow. + """ + if feature not in features: + msg = f"Unknown feature {feature}" + raise ValueError(msg) + + module, flag, ver = features[feature] + + if isinstance(flag, bool): + deprecate(f'check_feature("{feature}")', 12) + try: + imported_module = __import__(module, fromlist=["PIL"]) + if isinstance(flag, bool): + return flag + return getattr(imported_module, flag) + except ModuleNotFoundError: + return None + except ImportError as ex: + warnings.warn(str(ex)) + return None + + +def version_feature(feature: str) -> str | None: + """ + :param feature: The feature to check for. + :returns: The version number as a string, or ``None`` if not available. + :raises ValueError: If the feature is not defined in this version of Pillow. + """ + if not check_feature(feature): + return None + + module, flag, ver = features[feature] + + if ver is None: + return None + + return getattr(__import__(module, fromlist=[ver]), ver) + + +def get_supported_features() -> list[str]: + """ + :returns: A list of all supported features. + """ + supported_features = [] + for f, (module, flag, _) in features.items(): + if flag is True: + for feature, (feature_module, _) in modules.items(): + if feature_module == module: + if check_module(feature): + supported_features.append(f) + break + elif check_feature(f): + supported_features.append(f) + return supported_features + + +def check(feature: str) -> bool | None: + """ + :param feature: A module, codec, or feature name. + :returns: + ``True`` if the module, codec, or feature is available, + ``False`` or ``None`` otherwise. + """ + + if feature in modules: + return check_module(feature) + if feature in codecs: + return check_codec(feature) + if feature in features: + return check_feature(feature) + warnings.warn(f"Unknown feature '{feature}'.", stacklevel=2) + return False + + +def version(feature: str) -> str | None: + """ + :param feature: + The module, codec, or feature to check for. + :returns: + The version number as a string, or ``None`` if unknown or not available. + """ + if feature in modules: + return version_module(feature) + if feature in codecs: + return version_codec(feature) + if feature in features: + return version_feature(feature) + return None + + +def get_supported() -> list[str]: + """ + :returns: A list of all supported modules, features, and codecs. + """ + + ret = get_supported_modules() + ret.extend(get_supported_features()) + ret.extend(get_supported_codecs()) + return ret + + +def pilinfo(out: IO[str] | None = None, supported_formats: bool = True) -> None: + """ + Prints information about this installation of Pillow. + This function can be called with ``python3 -m PIL``. + It can also be called with ``python3 -m PIL.report`` or ``python3 -m PIL --report`` + to have "supported_formats" set to ``False``, omitting the list of all supported + image file formats. + + :param out: + The output stream to print to. Defaults to ``sys.stdout`` if ``None``. + :param supported_formats: + If ``True``, a list of all supported image file formats will be printed. + """ + + if out is None: + out = sys.stdout + + Image.init() + + print("-" * 68, file=out) + print(f"Pillow {PIL.__version__}", file=out) + py_version_lines = sys.version.splitlines() + print(f"Python {py_version_lines[0].strip()}", file=out) + for py_version in py_version_lines[1:]: + print(f" {py_version.strip()}", file=out) + print("-" * 68, file=out) + print(f"Python executable is {sys.executable or 'unknown'}", file=out) + if sys.prefix != sys.base_prefix: + print(f"Environment Python files loaded from {sys.prefix}", file=out) + print(f"System Python files loaded from {sys.base_prefix}", file=out) + print("-" * 68, file=out) + print( + f"Python Pillow modules loaded from {os.path.dirname(Image.__file__)}", + file=out, + ) + print( + f"Binary Pillow modules loaded from {os.path.dirname(Image.core.__file__)}", + file=out, + ) + print("-" * 68, file=out) + + for name, feature in [ + ("pil", "PIL CORE"), + ("tkinter", "TKINTER"), + ("freetype2", "FREETYPE2"), + ("littlecms2", "LITTLECMS2"), + ("webp", "WEBP"), + ("jpg", "JPEG"), + ("jpg_2000", "OPENJPEG (JPEG2000)"), + ("zlib", "ZLIB (PNG/ZIP)"), + ("libtiff", "LIBTIFF"), + ("raqm", "RAQM (Bidirectional Text)"), + ("libimagequant", "LIBIMAGEQUANT (Quantization method)"), + ("xcb", "XCB (X protocol)"), + ]: + if check(name): + v: str | None = None + if name == "jpg": + libjpeg_turbo_version = version_feature("libjpeg_turbo") + if libjpeg_turbo_version is not None: + v = "libjpeg-turbo " + libjpeg_turbo_version + if v is None: + v = version(name) + if v is not None: + version_static = name in ("pil", "jpg") + if name == "littlecms2": + # this check is also in src/_imagingcms.c:setup_module() + version_static = tuple(int(x) for x in v.split(".")) < (2, 7) + t = "compiled for" if version_static else "loaded" + if name == "raqm": + for f in ("fribidi", "harfbuzz"): + v2 = version_feature(f) + if v2 is not None: + v += f", {f} {v2}" + print("---", feature, "support ok,", t, v, file=out) + else: + print("---", feature, "support ok", file=out) + else: + print("***", feature, "support not installed", file=out) + print("-" * 68, file=out) + + if supported_formats: + extensions = collections.defaultdict(list) + for ext, i in Image.EXTENSION.items(): + extensions[i].append(ext) + + for i in sorted(Image.ID): + line = f"{i}" + if i in Image.MIME: + line = f"{line} {Image.MIME[i]}" + print(line, file=out) + + if i in extensions: + print( + "Extensions: {}".format(", ".join(sorted(extensions[i]))), file=out + ) + + features = [] + if i in Image.OPEN: + features.append("open") + if i in Image.SAVE: + features.append("save") + if i in Image.SAVE_ALL: + features.append("save_all") + if i in Image.DECODERS: + features.append("decode") + if i in Image.ENCODERS: + features.append("encode") + + print("Features: {}".format(", ".join(features)), file=out) + print("-" * 68, file=out) diff --git a/gestao_raul/Lib/site-packages/PIL/py.typed b/gestao_raul/Lib/site-packages/PIL/py.typed new file mode 100644 index 0000000..e69de29 diff --git a/gestao_raul/Lib/site-packages/PIL/report.py b/gestao_raul/Lib/site-packages/PIL/report.py new file mode 100644 index 0000000..d2815e8 --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/report.py @@ -0,0 +1,5 @@ +from __future__ import annotations + +from .features import pilinfo + +pilinfo(supported_formats=False) diff --git a/gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/INSTALLER b/gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/INSTALLER new file mode 100644 index 0000000..a1b589e --- /dev/null +++ b/gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/INSTALLER @@ -0,0 +1 @@ +pip diff --git a/gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/LICENSE b/gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/LICENSE new file mode 100644 index 0000000..3b7a14b --- /dev/null +++ b/gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/LICENSE @@ -0,0 +1,1226 @@ +The Python Imaging Library (PIL) is + + Copyright © 1997-2011 by Secret Labs AB + Copyright © 1995-2011 by Fredrik Lundh and contributors + +Pillow is the friendly PIL fork. It is + + Copyright © 2010-2024 by Jeffrey A. Clark and contributors + +Like PIL, Pillow is licensed under the open source HPND License: + +By obtaining, using, and/or copying this software and/or its associated +documentation, you agree that you have read, understood, and will comply +with the following terms and conditions: + +Permission to use, copy, modify and distribute this software and its +documentation for any purpose and without fee is hereby granted, +provided that the above copyright notice appears in all copies, and that +both that copyright notice and this permission notice appear in supporting +documentation, and that the name of Secret Labs AB or the author not be +used in advertising or publicity pertaining to distribution of the software +without specific, written prior permission. + +SECRET LABS AB AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS +SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. +IN NO EVENT SHALL SECRET LABS AB OR THE AUTHOR BE LIABLE FOR ANY SPECIAL, +INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM +LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE +OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR +PERFORMANCE OF THIS SOFTWARE. + +===== brotli-1.1.0 ===== + +Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +===== freetype-2.13.3 ===== + +FREETYPE LICENSES +----------------- + +The FreeType 2 font engine is copyrighted work and cannot be used +legally without a software license. In order to make this project +usable to a vast majority of developers, we distribute it under two +mutually exclusive open-source licenses. + +This means that *you* must choose *one* of the two licenses described +below, then obey all its terms and conditions when using FreeType 2 in +any of your projects or products. + + - The FreeType License, found in the file `docs/FTL.TXT`, which is + similar to the original BSD license *with* an advertising clause + that forces you to explicitly cite the FreeType project in your + product's documentation. All details are in the license file. + This license is suited to products which don't use the GNU General + Public License. + + Note that this license is compatible to the GNU General Public + License version 3, but not version 2. + + - The GNU General Public License version 2, found in + `docs/GPLv2.TXT` (any later version can be used also), for + programs which already use the GPL. Note that the FTL is + incompatible with GPLv2 due to its advertisement clause. + +The contributed BDF and PCF drivers come with a license similar to +that of the X Window System. It is compatible to the above two +licenses (see files `src/bdf/README` and `src/pcf/README`). The same +holds for the source code files `src/base/fthash.c` and +`include/freetype/internal/fthash.h`; they were part of the BDF driver +in earlier FreeType versions. + +The gzip module uses the zlib license (see `src/gzip/zlib.h`) which +too is compatible to the above two licenses. + +The files `src/autofit/ft-hb.c` and `src/autofit/ft-hb.h` contain code +taken almost verbatim from the HarfBuzz file `hb-ft.cc`, which uses +the 'Old MIT' license, compatible to the above two licenses. + +The MD5 checksum support (only used for debugging in development +builds) is in the public domain. + + +--- end of LICENSE.TXT --- + The FreeType Project LICENSE + ---------------------------- + + 2006-Jan-27 + + Copyright 1996-2002, 2006 by + David Turner, Robert Wilhelm, and Werner Lemberg + + + +Introduction +============ + + The FreeType Project is distributed in several archive packages; + some of them may contain, in addition to the FreeType font engine, + various tools and contributions which rely on, or relate to, the + FreeType Project. + + This license applies to all files found in such packages, and + which do not fall under their own explicit license. The license + affects thus the FreeType font engine, the test programs, + documentation and makefiles, at the very least. + + This license was inspired by the BSD, Artistic, and IJG + (Independent JPEG Group) licenses, which all encourage inclusion + and use of free software in commercial and freeware products + alike. As a consequence, its main points are that: + + o We don't promise that this software works. However, we will be + interested in any kind of bug reports. (`as is' distribution) + + o You can use this software for whatever you want, in parts or + full form, without having to pay us. (`royalty-free' usage) + + o You may not pretend that you wrote this software. If you use + it, or only parts of it, in a program, you must acknowledge + somewhere in your documentation that you have used the + FreeType code. (`credits') + + We specifically permit and encourage the inclusion of this + software, with or without modifications, in commercial products. + We disclaim all warranties covering The FreeType Project and + assume no liability related to The FreeType Project. + + + Finally, many people asked us for a preferred form for a + credit/disclaimer to use in compliance with this license. We thus + encourage you to use the following text: + + """ + Portions of this software are copyright © The FreeType + Project (www.freetype.org). All rights reserved. + """ + + Please replace with the value from the FreeType version you + actually use. + + +Legal Terms +=========== + +0. Definitions +-------------- + + Throughout this license, the terms `package', `FreeType Project', + and `FreeType archive' refer to the set of files originally + distributed by the authors (David Turner, Robert Wilhelm, and + Werner Lemberg) as the `FreeType Project', be they named as alpha, + beta or final release. + + `You' refers to the licensee, or person using the project, where + `using' is a generic term including compiling the project's source + code as well as linking it to form a `program' or `executable'. + This program is referred to as `a program using the FreeType + engine'. + + This license applies to all files distributed in the original + FreeType Project, including all source code, binaries and + documentation, unless otherwise stated in the file in its + original, unmodified form as distributed in the original archive. + If you are unsure whether or not a particular file is covered by + this license, you must contact us to verify this. + + The FreeType Project is copyright (C) 1996-2000 by David Turner, + Robert Wilhelm, and Werner Lemberg. All rights reserved except as + specified below. + +1. No Warranty +-------------- + + THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY + KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, + WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS + BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO + USE, OF THE FREETYPE PROJECT. + +2. Redistribution +----------------- + + This license grants a worldwide, royalty-free, perpetual and + irrevocable right and license to use, execute, perform, compile, + display, copy, create derivative works of, distribute and + sublicense the FreeType Project (in both source and object code + forms) and derivative works thereof for any purpose; and to + authorize others to exercise some or all of the rights granted + herein, subject to the following conditions: + + o Redistribution of source code must retain this license file + (`FTL.TXT') unaltered; any additions, deletions or changes to + the original files must be clearly indicated in accompanying + documentation. The copyright notices of the unaltered, + original files must be preserved in all copies of source + files. + + o Redistribution in binary form must provide a disclaimer that + states that the software is based in part of the work of the + FreeType Team, in the distribution documentation. We also + encourage you to put an URL to the FreeType web page in your + documentation, though this isn't mandatory. + + These conditions apply to any software derived from or based on + the FreeType Project, not just the unmodified files. If you use + our work, you must acknowledge us. However, no fee need be paid + to us. + +3. Advertising +-------------- + + Neither the FreeType authors and contributors nor you shall use + the name of the other for commercial, advertising, or promotional + purposes without specific prior written permission. + + We suggest, but do not require, that you use one or more of the + following phrases to refer to this software in your documentation + or advertising materials: `FreeType Project', `FreeType Engine', + `FreeType library', or `FreeType Distribution'. + + As you have not signed this license, you are not required to + accept it. However, as the FreeType Project is copyrighted + material, only this license, or another one contracted with the + authors, grants you the right to use, distribute, and modify it. + Therefore, by using, distributing, or modifying the FreeType + Project, you indicate that you understand and accept all the terms + of this license. + +4. Contacts +----------- + + There are two mailing lists related to FreeType: + + o freetype@nongnu.org + + Discusses general use and applications of FreeType, as well as + future and wanted additions to the library and distribution. + If you are looking for support, start in this list if you + haven't found anything to help you in the documentation. + + o freetype-devel@nongnu.org + + Discusses bugs, as well as engine internals, design issues, + specific licenses, porting, etc. + + Our home page can be found at + + https://www.freetype.org + + +--- end of FTL.TXT --- + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. + +===== harfbuzz-10.0.1 ===== + +HarfBuzz is licensed under the so-called "Old MIT" license. Details follow. +For parts of HarfBuzz that are licensed under different licenses see individual +files names COPYING in subdirectories where applicable. + +Copyright © 2010-2022 Google, Inc. +Copyright © 2015-2020 Ebrahim Byagowi +Copyright © 2019,2020 Facebook, Inc. +Copyright © 2012,2015 Mozilla Foundation +Copyright © 2011 Codethink Limited +Copyright © 2008,2010 Nokia Corporation and/or its subsidiary(-ies) +Copyright © 2009 Keith Stribley +Copyright © 2011 Martin Hosken and SIL International +Copyright © 2007 Chris Wilson +Copyright © 2005,2006,2020,2021,2022,2023 Behdad Esfahbod +Copyright © 2004,2007,2008,2009,2010,2013,2021,2022,2023 Red Hat, Inc. +Copyright © 1998-2005 David Turner and Werner Lemberg +Copyright © 2016 Igalia S.L. +Copyright © 2022 Matthias Clasen +Copyright © 2018,2021 Khaled Hosny +Copyright © 2018,2019,2020 Adobe, Inc +Copyright © 2013-2015 Alexei Podtelezhnikov + +For full copyright notices consult the individual files in the package. + + +Permission is hereby granted, without written agreement and without +license or royalty fees, to use, copy, modify, and distribute this +software and its documentation for any purpose, provided that the +above copyright notice and the following two paragraphs appear in +all copies of this software. + +IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR +DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES +ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN +IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGE. + +THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS +ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO +PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. + +===== lcms2-2.16 ===== + +MIT License + +Copyright (c) 2023 Marti Maria Saguer + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject +to the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +===== libjpeg-turbo-3.0.4 ===== + +LEGAL ISSUES +============ + +In plain English: + +1. We don't promise that this software works. (But if you find any bugs, + please let us know!) +2. You can use this software for whatever you want. You don't have to pay us. +3. You may not pretend that you wrote this software. If you use it in a + program, you must acknowledge somewhere in your documentation that + you've used the IJG code. + +In legalese: + +The authors make NO WARRANTY or representation, either express or implied, +with respect to this software, its quality, accuracy, merchantability, or +fitness for a particular purpose. This software is provided "AS IS", and you, +its user, assume the entire risk as to its quality and accuracy. + +This software is copyright (C) 1991-2020, Thomas G. Lane, Guido Vollbeding. +All Rights Reserved except as specified below. + +Permission is hereby granted to use, copy, modify, and distribute this +software (or portions thereof) for any purpose, without fee, subject to these +conditions: +(1) If any part of the source code for this software is distributed, then this +README file must be included, with this copyright and no-warranty notice +unaltered; and any additions, deletions, or changes to the original files +must be clearly indicated in accompanying documentation. +(2) If only executable code is distributed, then the accompanying +documentation must state that "this software is based in part on the work of +the Independent JPEG Group". +(3) Permission for use of this software is granted only if the user accepts +full responsibility for any undesirable consequences; the authors accept +NO LIABILITY for damages of any kind. + +These conditions apply to any software derived from or based on the IJG code, +not just to the unmodified library. If you use our work, you ought to +acknowledge us. + +Permission is NOT granted for the use of any IJG author's name or company name +in advertising or publicity relating to this software or products derived from +it. This software may be referred to only as "the Independent JPEG Group's +software". + +We specifically permit and encourage the use of this software as the basis of +commercial products, provided that all warranty or liability claims are +assumed by the product vendor. + +libjpeg-turbo Licenses +====================== + +libjpeg-turbo is covered by two compatible BSD-style open source licenses: + +- The IJG (Independent JPEG Group) License, which is listed in + [README.ijg](README.ijg) + + This license applies to the libjpeg API library and associated programs, + including any code inherited from libjpeg and any modifications to that + code. Note that the libjpeg-turbo SIMD source code bears the + [zlib License](https://opensource.org/licenses/Zlib), but in the context of + the overall libjpeg API library, the terms of the zlib License are subsumed + by the terms of the IJG License. + +- The Modified (3-clause) BSD License, which is listed below + + This license applies to the TurboJPEG API library and associated programs, as + well as the build system. Note that the TurboJPEG API library wraps the + libjpeg API library, so in the context of the overall TurboJPEG API library, + both the terms of the IJG License and the terms of the Modified (3-clause) + BSD License apply. + + +Complying with the libjpeg-turbo Licenses +========================================= + +This section provides a roll-up of the libjpeg-turbo licensing terms, to the +best of our understanding. This is not a license in and of itself. It is +intended solely for clarification. + +1. If you are distributing a modified version of the libjpeg-turbo source, + then: + + 1. You cannot alter or remove any existing copyright or license notices + from the source. + + **Origin** + - Clause 1 of the IJG License + - Clause 1 of the Modified BSD License + - Clauses 1 and 3 of the zlib License + + 2. You must add your own copyright notice to the header of each source + file you modified, so others can tell that you modified that file. (If + there is not an existing copyright header in that file, then you can + simply add a notice stating that you modified the file.) + + **Origin** + - Clause 1 of the IJG License + - Clause 2 of the zlib License + + 3. You must include the IJG README file, and you must not alter any of the + copyright or license text in that file. + + **Origin** + - Clause 1 of the IJG License + +2. If you are distributing only libjpeg-turbo binaries without the source, or + if you are distributing an application that statically links with + libjpeg-turbo, then: + + 1. Your product documentation must include a message stating: + + This software is based in part on the work of the Independent JPEG + Group. + + **Origin** + - Clause 2 of the IJG license + + 2. If your binary distribution includes or uses the TurboJPEG API, then + your product documentation must include the text of the Modified BSD + License (see below.) + + **Origin** + - Clause 2 of the Modified BSD License + +3. You cannot use the name of the IJG or The libjpeg-turbo Project or the + contributors thereof in advertising, publicity, etc. + + **Origin** + - IJG License + - Clause 3 of the Modified BSD License + +4. The IJG and The libjpeg-turbo Project do not warrant libjpeg-turbo to be + free of defects, nor do we accept any liability for undesirable + consequences resulting from your use of the software. + + **Origin** + - IJG License + - Modified BSD License + - zlib License + + +The Modified (3-clause) BSD License +=================================== + +Copyright (C)2009-2023 D. R. Commander. All Rights Reserved.
+Copyright (C)2015 Viktor Szathmáry. All Rights Reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +- Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. +- Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. +- Neither the name of the libjpeg-turbo Project nor the names of its + contributors may be used to endorse or promote products derived from this + software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS", +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE +LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +POSSIBILITY OF SUCH DAMAGE. + + +Why Two Licenses? +================= + +The zlib License could have been used instead of the Modified (3-clause) BSD +License, and since the IJG License effectively subsumes the distribution +conditions of the zlib License, this would have effectively placed +libjpeg-turbo binary distributions under the IJG License. However, the IJG +License specifically refers to the Independent JPEG Group and does not extend +attribution and endorsement protections to other entities. Thus, it was +desirable to choose a license that granted us the same protections for new code +that were granted to the IJG for code derived from their software. + +===== libwebp-1.4.0 ===== + +Copyright (c) 2010, Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + + * Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in + the documentation and/or other materials provided with the + distribution. + + * Neither the name of Google nor the names of its contributors may + be used to endorse or promote products derived from this software + without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + +===== lpng1644 ===== + +COPYRIGHT NOTICE, DISCLAIMER, and LICENSE +========================================= + +PNG Reference Library License version 2 +--------------------------------------- + + * Copyright (c) 1995-2024 The PNG Reference Library Authors. + * Copyright (c) 2018-2024 Cosmin Truta. + * Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson. + * Copyright (c) 1996-1997 Andreas Dilger. + * Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + +The software is supplied "as is", without warranty of any kind, +express or implied, including, without limitation, the warranties +of merchantability, fitness for a particular purpose, title, and +non-infringement. In no event shall the Copyright owners, or +anyone distributing the software, be liable for any damages or +other liability, whether in contract, tort or otherwise, arising +from, out of, or in connection with the software, or the use or +other dealings in the software, even if advised of the possibility +of such damage. + +Permission is hereby granted to use, copy, modify, and distribute +this software, or portions hereof, for any purpose, without fee, +subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you + must not claim that you wrote the original software. If you + use this software in a product, an acknowledgment in the product + documentation would be appreciated, but is not required. + + 2. Altered source versions must be plainly marked as such, and must + not be misrepresented as being the original software. + + 3. This Copyright notice may not be removed or altered from any + source or altered source distribution. + + +PNG Reference Library License version 1 (for libpng 0.5 through 1.6.35) +----------------------------------------------------------------------- + +libpng versions 1.0.7, July 1, 2000, through 1.6.35, July 15, 2018 are +Copyright (c) 2000-2002, 2004, 2006-2018 Glenn Randers-Pehrson, are +derived from libpng-1.0.6, and are distributed according to the same +disclaimer and license as libpng-1.0.6 with the following individuals +added to the list of Contributing Authors: + + Simon-Pierre Cadieux + Eric S. Raymond + Mans Rullgard + Cosmin Truta + Gilles Vollant + James Yu + Mandar Sahastrabuddhe + Google Inc. + Vadim Barkov + +and with the following additions to the disclaimer: + + There is no warranty against interference with your enjoyment of + the library or against infringement. There is no warranty that our + efforts or the library will fulfill any of your particular purposes + or needs. This library is provided with all faults, and the entire + risk of satisfactory quality, performance, accuracy, and effort is + with the user. + +Some files in the "contrib" directory and some configure-generated +files that are distributed with libpng have other copyright owners, and +are released under other open source licenses. + +libpng versions 0.97, January 1998, through 1.0.6, March 20, 2000, are +Copyright (c) 1998-2000 Glenn Randers-Pehrson, are derived from +libpng-0.96, and are distributed according to the same disclaimer and +license as libpng-0.96, with the following individuals added to the +list of Contributing Authors: + + Tom Lane + Glenn Randers-Pehrson + Willem van Schaik + +libpng versions 0.89, June 1996, through 0.96, May 1997, are +Copyright (c) 1996-1997 Andreas Dilger, are derived from libpng-0.88, +and are distributed according to the same disclaimer and license as +libpng-0.88, with the following individuals added to the list of +Contributing Authors: + + John Bowler + Kevin Bracey + Sam Bushell + Magnus Holmgren + Greg Roelofs + Tom Tanner + +Some files in the "scripts" directory have other copyright owners, +but are released under this license. + +libpng versions 0.5, May 1995, through 0.88, January 1996, are +Copyright (c) 1995-1996 Guy Eric Schalnat, Group 42, Inc. + +For the purposes of this copyright and license, "Contributing Authors" +is defined as the following set of individuals: + + Andreas Dilger + Dave Martindale + Guy Eric Schalnat + Paul Schmidt + Tim Wegner + +The PNG Reference Library is supplied "AS IS". The Contributing +Authors and Group 42, Inc. disclaim all warranties, expressed or +implied, including, without limitation, the warranties of +merchantability and of fitness for any purpose. The Contributing +Authors and Group 42, Inc. assume no liability for direct, indirect, +incidental, special, exemplary, or consequential damages, which may +result from the use of the PNG Reference Library, even if advised of +the possibility of such damage. + +Permission is hereby granted to use, copy, modify, and distribute this +source code, or portions hereof, for any purpose, without fee, subject +to the following restrictions: + + 1. The origin of this source code must not be misrepresented. + + 2. Altered versions must be plainly marked as such and must not + be misrepresented as being the original source. + + 3. This Copyright notice may not be removed or altered from any + source or altered source distribution. + +The Contributing Authors and Group 42, Inc. specifically permit, +without fee, and encourage the use of this source code as a component +to supporting the PNG file format in commercial products. If you use +this source code in a product, acknowledgment is not required but would +be appreciated. + +===== openjpeg-2.5.2 ===== + +/* + * The copyright in this software is being made available under the 2-clauses + * BSD License, included below. This software may be subject to other third + * party and contributor rights, including patent rights, and no such rights + * are granted under this license. + * + * Copyright (c) 2002-2014, Universite catholique de Louvain (UCL), Belgium + * Copyright (c) 2002-2014, Professor Benoit Macq + * Copyright (c) 2003-2014, Antonin Descampe + * Copyright (c) 2003-2009, Francois-Olivier Devaux + * Copyright (c) 2005, Herve Drolon, FreeImage Team + * Copyright (c) 2002-2003, Yannick Verschueren + * Copyright (c) 2001-2003, David Janssens + * Copyright (c) 2011-2012, Centre National d'Etudes Spatiales (CNES), France + * Copyright (c) 2012, CS Systemes d'Information, France + * + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS' + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + * POSSIBILITY OF SUCH DAMAGE. + */ + +===== tiff-4.6.0 ===== + +# LibTIFF license + +Copyright © 1988-1997 Sam Leffler\ +Copyright © 1991-1997 Silicon Graphics, Inc. + +Permission to use, copy, modify, distribute, and sell this software and +its documentation for any purpose is hereby granted without fee, provided +that (i) the above copyright notices and this permission notice appear in +all copies of the software and related documentation, and (ii) the names of +Sam Leffler and Silicon Graphics may not be used in any advertising or +publicity relating to the software without the specific, prior written +permission of Sam Leffler and Silicon Graphics. + +THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, +EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY +WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. + +IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR +ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, +OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, +WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF +LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE +OF THIS SOFTWARE. + +===== xz-5.6.3 ===== + + +XZ Utils Licensing +================== + + Different licenses apply to different files in this package. Here + is a summary of which licenses apply to which parts of this package: + + - liblzma is under the BSD Zero Clause License (0BSD). + + - The command line tools xz, xzdec, lzmadec, and lzmainfo are + under 0BSD except that, on systems that don't have a usable + getopt_long, GNU getopt_long is compiled and linked in from the + 'lib' directory. The getopt_long code is under GNU LGPLv2.1+. + + - The scripts to grep, diff, and view compressed files have been + adapted from GNU gzip. These scripts (xzgrep, xzdiff, xzless, + and xzmore) are under GNU GPLv2+. The man pages of the scripts + are under 0BSD; they aren't based on the man pages of GNU gzip. + + - Most of the XZ Utils specific documentation that is in + plain text files (like README, INSTALL, PACKAGERS, NEWS, + and ChangeLog) are under 0BSD unless stated otherwise in + the file itself. The files xz-file-format.txt and + lzma-file-format.xt are in the public domain but may + be distributed under the terms of 0BSD too. + + - Translated messages and man pages are under 0BSD except that + some old translations are in the public domain. + + - Test files and test code in the 'tests' directory, and + debugging utilities in the 'debug' directory are under + the BSD Zero Clause License (0BSD). + + - The GNU Autotools based build system contains files that are + under GNU GPLv2+, GNU GPLv3+, and a few permissive licenses. + These files don't affect the licensing of the binaries being + built. + + - The 'extra' directory contains files that are under various + free software licenses. These aren't built or installed as + part of XZ Utils. + + For the files under the BSD Zero Clause License (0BSD), if + a copyright notice is needed, the following is sufficient: + + Copyright (C) The XZ Utils authors and contributors + + If you copy significant amounts of 0BSD-licensed code from XZ Utils + into your project, acknowledging this somewhere in your software is + polite (especially if it is proprietary, non-free software), but + it is not legally required by the license terms. Here is an example + of a good notice to put into "about box" or into documentation: + + This software includes code from XZ Utils . + + The following license texts are included in the following files: + - COPYING.0BSD: BSD Zero Clause License + - COPYING.LGPLv2.1: GNU Lesser General Public License version 2.1 + - COPYING.GPLv2: GNU General Public License version 2 + - COPYING.GPLv3: GNU General Public License version 3 + + A note about old XZ Utils releases: + + XZ Utils releases 5.4.6 and older and 5.5.1alpha have a + significant amount of code put into the public domain and + that obviously remains so. The switch from public domain to + 0BSD for newer releases was made in Febrary 2024 because + public domain has (real or perceived) legal ambiguities in + some jurisdictions. + + There is very little *practical* difference between public + domain and 0BSD. The main difference likely is that one + shouldn't claim that 0BSD-licensed code is in the public + domain; 0BSD-licensed code is copyrighted but available under + an extremely permissive license. Neither 0BSD nor public domain + require retaining or reproducing author, copyright holder, or + license notices when distributing the software. (Compare to, + for example, BSD 2-Clause "Simplified" License which does have + such requirements.) + + If you have questions, don't hesitate to ask for more information. + The contact information is in the README file. + + +===== zlib-1.3.1 ===== + + (C) 1995-2024 Jean-loup Gailly and Mark Adler + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. + + Jean-loup Gailly Mark Adler + jloup@gzip.org madler@alumni.caltech.edu + +If you use the zlib library in a product, we would appreciate *not* receiving +lengthy legal documents to sign. The sources are provided for free but without +warranty of any kind. The library has been entirely written by Jean-loup +Gailly and Mark Adler; it does not include third-party code. We make all +contributions to and distributions of this project solely in our personal +capacity, and are not conveying any rights to any intellectual property of +any third parties. + +If you redistribute modified sources, we would appreciate that you include in +the file ChangeLog history information documenting your changes. Please read +the FAQ for more information on the distribution of modified source versions. diff --git a/gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/METADATA b/gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/METADATA new file mode 100644 index 0000000..9a77e2c --- /dev/null +++ b/gestao_raul/Lib/site-packages/pillow-11.0.0.dist-info/METADATA @@ -0,0 +1,175 @@ +Metadata-Version: 2.1 +Name: pillow +Version: 11.0.0 +Summary: Python Imaging Library (Fork) +Author-email: "Jeffrey A. Clark" +License: MIT-CMU +Project-URL: Changelog, https://github.com/python-pillow/Pillow/blob/main/CHANGES.rst +Project-URL: Documentation, https://pillow.readthedocs.io +Project-URL: Funding, https://tidelift.com/subscription/pkg/pypi-pillow?utm_source=pypi-pillow&utm_medium=pypi +Project-URL: Homepage, https://python-pillow.org +Project-URL: Mastodon, https://fosstodon.org/@pillow +Project-URL: Release notes, https://pillow.readthedocs.io/en/stable/releasenotes/index.html +Project-URL: Source, https://github.com/python-pillow/Pillow +Keywords: Imaging +Classifier: Development Status :: 6 - Mature +Classifier: License :: OSI Approved :: CMU License (MIT-CMU) +Classifier: Programming Language :: Python :: 3 :: Only +Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.10 +Classifier: Programming Language :: Python :: 3.11 +Classifier: Programming Language :: Python :: 3.12 +Classifier: Programming Language :: Python :: 3.13 +Classifier: Programming Language :: Python :: Implementation :: CPython +Classifier: Programming Language :: Python :: Implementation :: PyPy +Classifier: Topic :: Multimedia :: Graphics +Classifier: Topic :: Multimedia :: Graphics :: Capture :: Digital Camera +Classifier: Topic :: Multimedia :: Graphics :: Capture :: Screen Capture +Classifier: Topic :: Multimedia :: Graphics :: Graphics Conversion +Classifier: Topic :: Multimedia :: Graphics :: Viewers +Classifier: Typing :: Typed +Requires-Python: >=3.9 +Description-Content-Type: text/markdown +License-File: LICENSE +Provides-Extra: docs +Requires-Dist: furo ; extra == 'docs' +Requires-Dist: olefile ; extra == 'docs' +Requires-Dist: sphinx >=8.1 ; extra == 'docs' +Requires-Dist: sphinx-copybutton ; extra == 'docs' +Requires-Dist: sphinx-inline-tabs ; extra == 'docs' +Requires-Dist: sphinxext-opengraph ; extra == 'docs' +Provides-Extra: fpx +Requires-Dist: olefile ; extra == 'fpx' +Provides-Extra: mic +Requires-Dist: olefile ; extra == 'mic' +Provides-Extra: tests +Requires-Dist: check-manifest ; extra == 'tests' +Requires-Dist: coverage ; extra == 'tests' +Requires-Dist: defusedxml ; extra == 'tests' +Requires-Dist: markdown2 ; extra == 'tests' +Requires-Dist: olefile ; extra == 'tests' +Requires-Dist: packaging ; extra == 'tests' +Requires-Dist: pyroma ; extra == 'tests' +Requires-Dist: pytest ; extra == 'tests' +Requires-Dist: pytest-cov ; extra == 'tests' +Requires-Dist: pytest-timeout ; extra == 'tests' +Provides-Extra: typing +Requires-Dist: typing-extensions ; (python_version < "3.10") and extra == 'typing' +Provides-Extra: xmp +Requires-Dist: defusedxml ; extra == 'xmp' + +

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 literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/_imagingcms.pyi b/gestao_raul/Lib/site-packages/PIL/_imagingcms.pyi new file mode 100644 index 0000000..ddcf93a --- /dev/null +++ b/gestao_raul/Lib/site-packages/PIL/_imagingcms.pyi @@ -0,0 +1,143 @@ +import datetime +import sys +from typing import Literal, SupportsFloat, TypedDict + +from ._typing import CapsuleType + +littlecms_version: str | None + +_Tuple3f = tuple[float, float, float] +_Tuple2x3f = tuple[_Tuple3f, _Tuple3f] +_Tuple3x3f = tuple[_Tuple3f, _Tuple3f, _Tuple3f] + +class _IccMeasurementCondition(TypedDict): + observer: int + backing: _Tuple3f + geo: str + flare: float + illuminant_type: str + +class _IccViewingCondition(TypedDict): + illuminant: _Tuple3f + surround: _Tuple3f + illuminant_type: str + +class CmsProfile: + @property + def rendering_intent(self) -> int: ... + @property + def creation_date(self) -> datetime.datetime | None: ... + @property + def copyright(self) -> str | None: ... + @property + def target(self) -> str | None: ... + @property + def manufacturer(self) -> str | None: ... + @property + def model(self) -> str | None: ... + @property + def profile_description(self) -> str | None: ... + @property + def screening_description(self) -> str | None: ... + @property + def viewing_condition(self) -> str | None: ... + @property + def version(self) -> float: ... + @property + def icc_version(self) -> int: ... + @property + def attributes(self) -> int: ... + @property + def header_flags(self) -> int: ... + @property + def header_manufacturer(self) -> str: ... + @property + def header_model(self) -> str: ... + @property + def device_class(self) -> str: ... + @property + def connection_space(self) -> str: ... + @property + def xcolor_space(self) -> str: ... + @property + def profile_id(self) -> bytes: ... + @property + def is_matrix_shaper(self) -> bool: ... + @property + def technology(self) -> str | None: ... + @property + def colorimetric_intent(self) -> str | None: ... + @property + def perceptual_rendering_intent_gamut(self) -> str | None: ... + @property + def saturation_rendering_intent_gamut(self) -> str | None: ... + @property + def red_colorant(self) -> _Tuple2x3f | None: ... + @property + def green_colorant(self) -> _Tuple2x3f | None: ... + @property + def blue_colorant(self) -> _Tuple2x3f | None: ... + @property + def red_primary(self) -> _Tuple2x3f | None: ... + @property + def green_primary(self) -> _Tuple2x3f | None: ... + @property + def blue_primary(self) -> _Tuple2x3f | None: ... + @property + def media_white_point_temperature(self) -> float | None: ... + @property + def media_white_point(self) -> _Tuple2x3f | None: ... + @property + def media_black_point(self) -> _Tuple2x3f | None: ... + @property + def luminance(self) -> _Tuple2x3f | None: ... + @property + def chromatic_adaptation(self) -> tuple[_Tuple3x3f, _Tuple3x3f] | None: ... + @property + def chromaticity(self) -> _Tuple3x3f | None: ... + @property + def colorant_table(self) -> list[str] | None: ... + @property + def colorant_table_out(self) -> list[str] | None: ... + @property + def intent_supported(self) -> dict[int, tuple[bool, bool, bool]] | None: ... + @property + def clut(self) -> dict[int, tuple[bool, bool, bool]] | None: ... + @property + def icc_measurement_condition(self) -> _IccMeasurementCondition | None: ... + @property + def icc_viewing_condition(self) -> _IccViewingCondition | None: ... + def is_intent_supported(self, intent: int, direction: int, /) -> int: ... + +class CmsTransform: + def apply(self, id_in: CapsuleType, id_out: CapsuleType) -> int: ... + +def profile_open(profile: str, /) -> CmsProfile: ... +def profile_frombytes(profile: bytes, /) -> CmsProfile: ... +def profile_tobytes(profile: CmsProfile, /) -> bytes: ... +def buildTransform( + input_profile: CmsProfile, + output_profile: CmsProfile, + in_mode: str, + out_mode: str, + rendering_intent: int = 0, + cms_flags: int = 0, + /, +) -> CmsTransform: ... +def buildProofTransform( + input_profile: CmsProfile, + output_profile: CmsProfile, + proof_profile: CmsProfile, + in_mode: str, + out_mode: str, + rendering_intent: int = 0, + proof_intent: int = 0, + cms_flags: int = 0, + /, +) -> CmsTransform: ... +def createProfile( + color_space: Literal["LAB", "XYZ", "sRGB"], color_temp: SupportsFloat = 0.0, / +) -> CmsProfile: ... + +if sys.platform == "win32": + def get_display_profile_win32(handle: int = 0, is_dc: int = 0, /) -> str | None: ... diff --git a/gestao_raul/Lib/site-packages/PIL/_imagingft.cp310-win_amd64.pyd b/gestao_raul/Lib/site-packages/PIL/_imagingft.cp310-win_amd64.pyd new file mode 100644 index 0000000000000000000000000000000000000000..798891da79253025aa66cb711a7575056b1c61b4 GIT binary patch literal 1828352 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%0DH9 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�Oq2j03`VedQ?E4XdHGDt!&^;(h>vz-ra0 zeb%|%>D_}OY_E0G3chna70dmwZO^2%X4(6IdDB--!I1S`9i5DB73T zz`F2mQ336^N*1SEsZQ22%u16(5tDOgp?tyMBPj0DlbH98ffQOeV8eq@N0BeAjC>g+ zy${;Xy4-oN2+2m#NL_9n4-j943!xjzE=wOJ0Iyy$79j4mR?N`!jBGpWTUNVVNd#kd zywQosW-D_DoOCA3>NuDOYt2c~w!J5%M)7yN)giWmo*azuZsqt!b34>$*6T0Q8p{KU zf3AHNkW`^q_8KfH;(H1Mjic+Bzhw?JXbbPQRlVpY!q8H&@$)X;SOy;l*Jg77VtV zR^7@>pyk@VbZS2BB)uo-a?Et?{zBId3%b_DE84c|T_W>DI7$y=kzZ>Wuft=CnhD^@ zTCq$YWDhuz&VlAtZ2=5ot|@QS2CVjVcyCE&AJC#Fyvb}04drAZs54@9dG=%Gi*WkA zfuB*V*_%Ed@uv4ooX|J3!PZvCa+BOV-pEQ21y={T&0a~Nz+6>->9U&n28XMLso6=7 z0JO**CRb0*PTZ?!^HoJdvsaF5SyM4LLfWHZ0eGR}$zFvuqzFP2IA_h{VV&cnxSCBz zzi2t|NCi*TL|__{Prno8&0Z7-pFtxV3MD3N8>}D^ra)z}3NH7iiDCiOP(cCgKnvri zz`zasDPAYRHxk9~k8tJ_A+CDD%Smq$nEGA3KIqnK2n!elCNKvwo)|9Ephcox1s77S zTrQZGgnO4t+wNWW^OIM|wmAC?Wb_(S1Ezqegzr?+w&wz?<7txkhEg%_P24$&%%;wX za$?lOGh$lr*@r6h^qhYz4M2RWcFs9vYeny+ilmpOnpv_9``F4XAqA=F@CkVxFLQXC zG^ucmK+Hu;QU|s@Y&-?QeVtb9Ks0lm4x4%AoetM-RH)xOoZ9scwk^hpyZuCyX(Ss# z`?4XM$n8nzev3JwHJjB2xcukPmP+Eg4^kvLq`!Zo`$_LsBg;{|TSksp8#kPrHU_S- zO4)+drOoascK)0>YJnMKXsGm0ESf#XIK?$px$9wG1qWyA_Xh{nv6v>ztU85q%v0BQ zi;0DiO6dfzSMle+UX z%Mw9~S}1atrp8h_-`F`_y~U2g$tM~CTediI@7)R8B%ZZvPcV5uBCpx|8}b6I z*w+wEl?ZOaGhu(^T+%qtReMSUXChUw)?=8E~)c^WNrr@0r^E$cxs^FY=5g z7Y^MsJFsw#q4jahIZ@{sX8lwAwq!+-dwiR-)#J>Usy#LwxF0%IT z{B;Wo^QZlh-`G_yN6q>5iTp;h7|6B)G+Z#R54L8ov)E$nuGXXVCHt!59*{^Pi_QRh z*(RI;{m6YaINpP4hS$k{kt3xZeu|*$#;df`Qt+e*gixG2coP%R6GTQ6>~F5srov&S zR1vb#Fkua%92@>{N<%)#`BhPgw;)&!;^CNRIQQ#BS^i!NT`M}Wfe*x6 zR8u6I|MD#3W?n>AkRQ02CmSKdt7~HKGSIOSrsnybdiGy~smX4|zAlY1-kFBnZwizTy6J-f36(iTZXWb}wjfx7RLCK4yCeQH< zWO?y^fX6c{5py4UPklycrWtXOWAoSB$zLY38uB59Doyj2{1(<)+$5!pbh252gGp>F zB&t}QNvYGvg`->^m(QdkSFf ztB*B&J^gav4Eek zDCdx|{sRvN9@j)~3EHxapBQc-y6R7{z43c|OPf9(p1(!e!KL^(EG7phPawB%;;a?l zU{BBw$*;ifl3sm3iUi9UBE2d&J}&YDfv3tL@D$ir<0>7IuJ>s(`cJZsfPtS!TDyP8-r-!#KtxTn)pIpa8st%X0dG9(&mxlSkTIu^4eCWct45ql&3vK2jf{!yD|fK? zndnI!-}aE1vvf5$!IY$-dk&x>#yMnarRA){xLzv4QL%mthVlwd>aE&N8&Ey-@q+_F z)_7&C7KIDrD!@K!pDnDGy!LFl$BCSM6zbo&zS%E!kn%k={Ol?$_OMb$*L-BmE$e3W zN;aU#9I=mT9WMU^qc#L)|M@#8E;LwgLCsS85%qaeS$bh{Ypv@hL0VnY(4#`F4?Ras8nmT$mdJ@6fK|*r39Z?f z`xS3;*j;`PIsQ}dR|lK3I#y9iP5wc@@29HpTdE3%^KU>*Wz{53wBxN+{qtfC^X6LZ zGf44fgfmYb>|R|i`-ruZ=gn)Fd|7&U=1INB>gS!CDvyo4x}v+9v5@ucMdg_p6=j3n zucR_{|L3OrTx+J(#TtHN+O|4AW3(~%>hTzNT{h1}mvQa%S@S~E=gz~O%G&8u@o3}X zIA!fs(-jh>P2K8vKRxUbhbMZHR5;9G-Fn0Cz)ssd!H)A=?uGwuG^Yr@Nkwz1DAIfV zA#%4htzw-%@K2-+Zhbt$#+mP|wg2r`k){A6Z4?N;*WxIkY1{P|HtPyomp+h1Jw3sddu7ymEPo( zcX1dCsmx!My1h7Q%oola{423&aom+U*Y-_WKX2Z-DQ*!CVK{gJCj3*U>Xb4i6MemK zj`Fdt8qOJ$63A<~Don1g38z1C;4F9XovaVVT#m`nf#lh`7I^>d&s3{|GxPBvoTblk z&_-vFZ?2&&l+C>v6&QpZ_uumFaYV;92&t{g$sTYCvyec$R)unt;gL6z_>qFDDdE%t z;EBd}yt{%;^Q`|1G;oTW?zodJIpA7VVT3+y7YI`Fy>#KV|9Zs23 zxsYP;V{}6dju6%{$i!MZZ7!&7t8K+WUp=YAO@D$s+iR)-6nl3Mk8DZzOMtt{|0T+n zUmno3mRdXm4VV4QKOd0%>1ldEYtUF&slbnsX@v2Tmp-ujIIV|aD&qo8whdTX-fxB| z$~>oy8i^9y{dJyn0N}X`vkr8}CV!8Z@zcxghvYXGM{kfV3u@*B*1P z_O{`Fse7>=3D2a$T=pLX$CQL{%QRVj;xMO)ZL00f_+|2Wxq#LZ0i5eDER!GElejY$ zsAw9mM~&syn(qw@wEfpKhRj1wX{eK9-6bmkJ91Un${6p}*4lIDB4(&_&zrxoa|P|9 zG5MHC1I949B^JnX`=-ooO ze-<=YmC_se)k6z`;XUuadfX{b1& zY~u&{dY9k=WfBwL+G~?3fNP}oiqSXpKXAy4J0$-dv%mazP){(spyowx?OUh;dGI%S z3i9CiIC`!nAP@=|VKq_8?CoLc5#44V5S$787q?10}7FGs(b>#c~l5y{{S)3r~5f zZiT5Xo(XE3t=d|sEy%pwd=}3{tD9 zLBpLvv5wj;{vzpZgWQ7_LgcGc%l?dkHe?CUc4lwo;=>FFS|jk6OL>onffry|_%kWU zoN(5r=Gl*h+vtV#M^#6CP{+=B+dCLf2tfnlOw(eE?3S%ow)_T~va@44{bQiW z_s!8YWUdqUSUs7rWoXvLruL`&GoRC}fV5!Zno6I0gTij5U-Qp1R^6lOGEMbi|5%2G z@`HN970f?Qe4#CBJm%#G-Uf+2*23b?!(gW41>TBKbZv0`C@kY7`hnixeKZP8e*G1o zXw>sVJ9;Dq8m_y~>bQeCy2YoN*ARao2+h#FgSL5HYjs?!+|fbqgHV9HGRJ#k?lLRsOwgHRCOIP$j72mmC@nRmkC)P9hKmR!P9ixTr_$P1TWd>i zPi<|hy$BI1Bp@Upkf4u(mnu@LXPi<|TP|Lh_q+C)nFOSl=Y4;F{rG&soU_lq@3q%n zdtIxRJ<+nuUg!Je(=53dT2H<_yv!YZpi-tnDt$^S)sL(6I%#=r!zf5B0Dh$3ym=2a zSE!@}-@zSEvEKq_?+||`5cB3x6~1wvwi=IXXpG&^19n4UY3Mb;a;WzQsmpA52!%*P z>0$)-XzSjcWHdY!tIo#NjWhx6TDU=G!~N1rsmN9RFi||F}Bm*mY`lor5S( zTV==9Sxp9i)n$?EPuS|`iebs|TYU^!%?7G^uB>6e(XhvGrFNegIK{pzrQWRv$(f#$ z$f9H(>vsTfX8jVN%05TG#4Nq*Jy;d8vUn-mB1>y7Gadb`?-up7M12Jp3Fz8|N7{v( zYL6sZ{8dNp%vXv^iDn4qFRHWZ2R4SV0}Z0OkKfz-S2JgN^wO*_ zyZ~j+WEF9Ca0Qo3f?Vfi{EReYD1{eEIVCkCA>%hvVama~+{zm!iGPcE7s}n?`^b){ zq5Ww&KZkM0Gl#IEhco^HJSpN@U7J-9R`DtxJfVliYAUl@_6+OcE-U)6>LEM=>9hP3 zcH(W4I%ExIQ^1fW8IRDPXkRqbgfbtnzCZ(VvI_AK!mN`tFv|Kp0L>wgw|r{nlcG|e z%u@TZcU|%rD9~5d+uXS+(u^l@kc1*kIm`Oj2~mPK(8@Yj%M~PSi)ccY-Q7X5areFa zf2dB+j$CA-r7&Ra2k)|$=b6{ILb1D7^Hn+^Oaq~^>;c4=J@Zkro2L18+=rq0g&&eD z91Gk67eoAn;AY?n*w_0u?$FlYG;yu&}#F6xc^07n^p~#dn~Sg#kAsU@Kj!w`@lAYt70kHqpiWI@Y>7x zTj=D!Yq*jx&kL08AtnocYFvS`tpNfE!lNl0(1JJ_K8A~;s@GbBvOKsu+a!hsH@XAZ zs%wvJ7QB)6k3@&$mR>mB*G|+;Ld=gz_K?5jEj$2YPg?a_ORr2#vCLU1ne)Y*yc~3X zX77G1>v~7-HfAw-x6*ZFH;hO0*CoP5>QeKK$7Sxg%`i?KpSlmKx!!40(b|Usa}V^B zMfA2zl2z;!>(B?>_>GP7Aym0>H9uNMrE;3ZJ~GPczh~YndJCx};iFc9KUWttht2?04p$EGsFWJ~Qo9C{$}N|j zq=W#fBKc^&cT}2{S+nD<(}3g<-8YY3dEaWLBXWvW*eAJGdZapIr6kI2afm0I+Mj74 zQ>)@bol5+Q#I3K77YD%BS)il2pRR zf-WN9&7-PilL(}W?-jExe0=&EO-iX`S8b#g{#Kro4$oI3nYm$ydsojd6Sqa~BBb zMi9;rJ%YS*NK*!{a!2zbf5jD*i8b`7YI4eVH9ljIDf}Sy8o~DSiqJiK8;frM(=k(MBfD=B1cXF`YZC z0;ANIY8z9rZ9s4*FjKh5omijZr#zeCr-b17|4T+nfj@SI2Mb7HrCjz;St;iI(xWLo zj{BvT{wnaM%~Lte#=DB&GQ?8>T}Cztv*;Ns)boEoHo2#s0RJ|Uwf#Ba`BgVBn1X@q zyJAoP3$tM3Ilxg|9Nze=0`8WSUD-6=L*~y`^UXGlB36+Y%=W(N3^|^7oDuo7jdgka zH^b%VH>S@I@S4Lbhe8ju@%lDO`Z1XDcdfsRM>94^8Qdp5x8GN`CtNH4l}F#s37>(# zvT%XA?8moDwK4DIn6aLVi}Xo}b9kF1Z%FDVB~Z-pYVyXeokZNbm{$y5F~ZVg)64s6 z6{kdcU_@6*x21nZR55#aBt}M_QR|iO>Zw9~SC7?_$loNzqB^O{02HN0vdo%&b01R`FH zxI;e72Z!0&#hBnwr_7EkG9zTxl4BPZZneklUji(8vvFd&Z`SU&9X-+gvqlb@+oSuZ zC~u@wdiUpy+-~;vyzaz*TS2d{%bRQ{8;JDTlWz9zwx;wx;tb!48!1-6_uN~)Xfh{U z#{bR;NAL8-paPbmWxC$`b`J5JB)qdz>o-LZKH?!c89NwCg>q+Npq;ZxkW&xCI=mGDcEzSs%{&5$QWc6%O z_d8Ym4^n)(%j`Y8SJQi^C0B5&j_o})UHvy%3ccDI!n@WM$pJrL z&CXSKE!v1&O=^jqS~rw>S^F{0u&l^=e4T24EgkyGX;$mEQ^%5;aBJ>bIFhwf`Gq4{ z>(6Y2Mp>)O9>@?ZUM0H|H$r5{J@)93`H0`VOD)cUka>?R9iAjuw)I>P@FXLw?;?CT ztcv2fW-L^*_`#^^X*pafo{nx(0?qf+gY!3Rhdd`&2M@UL?pFOB`9+K`YDqK%WR&=Yo zCN_1Azv}MO0~>WsdPQdW}w&BIk<(2PA!c7#w30B6YxuAv2U&`fTN{_Ouvv+q2J_I_r6K+QzF{mLVJNg*gE-i4=j%MQkcH-0p@ zvmVvfzSQj4-fYa^Lf0QK_m^!Cl)a9ZJEH#JOM)(Q-7B#+tsClUzv8CUIn&+sm*KBt z?Lb+-=m=kofafPH|Ub<#bQ zW}B-vH6sLTPHraf;b^XnIZ|@rP8d#os>+4G6A*Zbd6FjMKas1Ai`9#NmnR#XQ}%$I z?}s-j*qC%^6TX0QAKu0eh>cq)KU!c=9q#c#u!r0ZxB-s)K3}YjB#5urh>oka5`A5p zfJWJ-W&@#`za*$0B{YP;<_snk!`c*8jxWc+ViQe>eLB;UKCP*+hC?Q|8!Wljz*%QQh7;FUauk0^- zS4os~@wt7(41kN@a_Www=Cy*0Qyc3!LBl&OgFPf0OEBzQwYvnzvO9N*Hy;u2&$rIq zB>48AzmgZ*k-B-L{Vkc%@Z|QSI-r;}HYTN%SM8Bj4eItRe}AIX+LL}fkTfJ{P5+l2JGMDNlhkFjrwOAwN z)J+VZ6t-8sskq`m`hxZQ6%;F}Kleo7+i!ebpkKwUx8}Uf$$`k9gw$B&0-?M!=&>eu zEf%RoTc?ZLOoZvNq?=(b~r8cyq4JJN%-=?+h8Y z+eMc(LPSJX{zC2Aw$#_?n{vuqoasQ#H&WUB643ev zKvAh4_zwSN_uKxe{R<2G0*wkAc=;sVRals~Y60^jCDj5LjzHEnDvTE3gay~ZGw?7H zq9AV&0^4d}gwhqJs|gZ;X(yluC$Trp&qD>Z3Hta3P{xn8aOA|CU4qgMsUv3*Db^k9 z!Q%l$)&#<(Jf3)9^7Z@7r^)9l>x&ijSo!R(RF+rB!Z&f@eOk)?YM^Y;`iq=fb|ve` zk(v&!YWdbn5K7EOlu41EvP-qj2J&zeyx}jyo%TP7u)%xCybZq?fkv4Ic%nPgL=b+J zt-QBV!xV#y02LHc05u_ER|tx|;ozs&L~^ zQHq(;rvT5ZS2M9nk}22Y)cmc`V-vgdd4*lv1iF-34pv|*SEvlTxp%D4@uVfar;T82 z>eH5A;LymE5o?_{QaxVroLzOUHbNxm^J-n;$r$I=`0zf6Y3iVqlo}{)6{wPRZoB9? z6iqldwJ;mQMgCp4vO)lkz(72oZ#;`*m^hqMwc}*JaU)E-s^&J+mFCs zjg7nOX}DC^_87|^$3uXzr0{)hMW7oUUw#|u<^PwH^6N)SPUPGZsQS_M{J@(mA z-%M3(M0yfP5+XfRuy?av!TeMO=c)=ONuTL5_Sr?%Glb(iXR!KqPF1|9%o&uzIMa`f zdo)$J>|YiZGl1&bLt3CWWCXgU>zD-?%l7K{f9~sHZITW29F^k!H2nbGR8b`QTt>rQ zJw}jJW7$3l@CLJvJX!Dty%p7?`A&c!qhX)!*i8-#J$quGnEk8x?i=>qvcDe`G0p_V z-%j>W-jOPgt2xIY_RbMBz;a(-1@X`q*ehOc*frhi`htOo;9LOiaqICv3$EN7H0nKO z;BgS$&G-X0ul~3j!uR97Vm2KJR^8+Y=WTU(xOXdZ^%-lyIaCXZ$-_v;fnF&+WxO2g zyQDvD6`qJ=Yu1Hg28NDujdUJZg4judrNJ2i z?JHUXnVTStW@H=bLcJ6+?-yFe+~ret91Q%d5RRirO2zMPukH~VLhE>!xg(6z_LjE- z!o-ovycZv^{`;Mw`o2besb)6fm_OZ&29r zmk(>EfE;G6E80I6Ru9gsrjt!vCpmc)M(O(>4%PN5Od;7HJ**s`^uO5~>>_W)0$2D` zy4mO!va(6e^m_#+Pz0~!GOl(0jDm?m?-SYa3jl5LfP>E|8dBL6-GZty#rkSXNyYyU zTFPRaZPb?A71+_56#rRU`!`dudxer|^gSgU2}RQ3`Yy-pKm4MmqY}ImF%~K_34%*G z1|iShYxW&}wb`%f?=gV$832UIB{GQU0ecXau)EVNjdzpItmSYk*X~SIMtgHp;mTFe zZ97K!+U?DUUu@R&?TJ(2X>N@biUC+w_cgO-%{m-6xA(>;i6I>R49D%*NK-yTT6UHe+`cZ$m7itZ*2c*s z5o^YoR48>l^H;myWm3&1;nv_@ddu<=ef5Ps$w^s>QwXFkvw?tF3);GZL@*jRJ5~JN zRB_MHu%);R`X7mr&G^c2Fhp(byOgO&m1#(`jo@-KEK5j3z`giPi6#~VOnI_(LtiEoc^R&+M0C&N1v2o9@mp<>b z=KPNFrm%~PukDv*H_uz3by^hnn=>S=h}Q8kFJ{0MJ>u5x8sJ$43b~VD!uVCs^F@!2 zSUAS_q@2=3e)VfLc#)m~L{MvnI&t$+lzY?UofUaiZKR-aw_qWAlv-!4JYVA!oY*+! zWzf{*RpN&^Htut&?*8VtL)}#jMKVYG+{w+{^`FO=s#Hd}HzEu%TqQvzV$aLIG6~uf z{UAI11@v8-@H5`86GS<{nmGo7JcS%6$omQ_eT558(cB}{>F(3qDEN;Vp^eEluYytF zD-@=~6AYwm6B)IYB7&0{GKp#HE88Soti3I(&E1?_8e(cZQ3{*luBCEjnrfJI3wt{k zu4=;=wTl#AxDvVx$^Ie_vgNW~U!}Kj(KxwFQiH$h*_M4i(+eM~cVUpJYZ7uA_JE91 z2#Fq4v1ICkeX4q?P7Z`dVF=F^4v!oSin(*+W+^U9l-TGm>knWMvd|g8&+e3-#Eukf z9hY5|7A})qDpFOb3s1;|c5SoxU^Z3|k(if*lFRUU6ze>7AG))|Es=yp$bFp*ZMWq& zUqXN?-X|-}qRpXL(PrGghcCrULaW6XbsG!^zgF9u@d2NTA)E&posGA7?m_+NzR394 zdsM#}j8Fq{!+SGlu_S40v8MobTtXj0B;vnO5U>aRf+;Wi&9OpHFYz$5yDhc`Tti#h zLVx-~v56=UJR838ll?h9rt$Fp_|511SZQgfQ4@F={hZl-PPiq)R)Y$o^?)&6(5eUa zkm{)P`37g=W&7%={#SzE4a}e|>dO*@1prIrLYMbj{jVbH54`2!FhCeb^TiF8eb=!0)rJod``NnX4ab}CS9Y*Sh(o>woAcH?7GWY?jOL8k2e1KfhD_vuiu!aznkeyn`Ao=~3txe%C z`YS%`?9;Ns*NN~>kBvIKRqm50fC*xU_=4y_GGo@x)ni5d2}ck{1W2o_vc)A%>uTJR z4bL%IlWVIlSX6|24rn>~69*iv*r&LhLg&s?jm@F42{?}kU!7{KfER1jziW(kK2JN( zhR}cw-T3KVW@)N^0h0jsko#Yw=bP=uh?-i%M;R zryhc5r}ZV2nWPqBDb_0su?doU`s8&sUGr1rf&fwm=>gb=hhwpJ`7})!{0m2CL^F=< z#`MW%ZF$wE75US$+mgv;qk4}_I#;ANj!n=}&5qj1%|@P@gWLTT=bp2cIk-7B2jh9M zMxdy=?(DR}saUFq{Q+uRsCq?*LlW#b&yg ze1a~b>J%L(bK+ACqG)vP z52V41Qw@GY8oc_X4Hk<0avM00=;1+kf=K7ZJfA%bau#XY#$Gr|zQeCT6z@yq`Ti(< zIRaTj99cy9&i7LFKZ0B~YE;SbK!mfVqoJGIe2tZr&%KIaT3yZQ%(tROHni&zk-h zTs{MJAKT6XL-J6T)2uD6Bprvz(WA*$9MLL&hVWngRnw=o{9f(5i@-e}{+=ZSn<$w1 z8!y&3cAacarz%8uC{ym`;pKKox$90^E`uP^rN0-#f{medM0toVcj1wHi9FpQPhaIJ zRJqWtb=)l3Z1jdB6iH5@xITN*QZ|S(Pj{%S*FZztNbqOrY3(7?KBh=A%_5UvW2H~^ z7Ktc7c~c5ia!Sf;N~3BUui{oJHctDUs8eO+kL2;YFmbUpo=#N?RSB37O5rK+is(DV zSE<6HVfE5)Z7r$e%eyIWD_j*Tg{uS$ChfOXpm*i3Sdfi7x7fH}QZ^XV9oAW=D8;MF z)M<}}+e7ln=0~8uRUkZ+OZ~1SHou~P_1ELOBgj9pS7~1@laq81q!b(VQz&Zdq9DLG zm;f|U&9XmIRvi9{&*4`%909FSOC+mPW#!QIS1zi+l-sQ5;DgY*uZv7di&sUddpMhW zMHI&txV2E$_lh1%>2IODH3EfQIghO`Jw(&BlSS30zJ%i;qrJ6OuJ9vC+b}5#YXNKYuWeIFjcPq^;l)VL-eeSmpKQ^zKD!M2B)o65;1>OoqJg1 zvqovGiEevu!oy2XWQ5)@pdu*De286Kt5FA85F#lwdJ)7tbX*F@UI`9BLAHmeJ2O^H)t1? zZH?YVyE)B$(KddwvJ35IbchFzE~Yj_lh={IrCOYA7jp(ufF4VC^cQ5FCf8sk-I0N z2K%OznJNWcsrgR9>yt9ch%R;DTl6u1%4>8*6KpcEo>K_y8$7gKN=lccnAa|br)f2z z_;UPVR6kcyh$(vDCi4oH_&2DQ|IP&PA`N{G*j-ti!Em?izNL&ZQwmQf`v5khNvO;d z%P7FiXhmgIP3-+++t2ArKWZN}oS+}YevdD#C}sa zl-%*>V(z{`$+MJY8k&W^`L=%_(~vpw#~QK&j()D6b9v(`!#Z1wc7Zq&`^{yG;R zy+q)=5nobrYlBhug1H>?K@i4(wQrQLD)<@;;9F`Ma8$QIO34jNz`Wddqc|Q+{Y%-y zUyD}{wP8Z$llIb}r+*cz^P&>y4g^ihZ~RIbAX~oxd|587L!x*eN7PU3H$(kusjiTv zI-jM|I`f2pheG}x`aa@y-?k8z{RR_u&Q0iZ$k)HKp8xFYOepLDD`%%j7jJ=hC$hzF z$?mVX4M6%iPiX^e-Gr$zVC|LZ`X`lfHRNV;|7z8Blyky3f!>RDis%9ejsG4Wl=XNj zQ^@>@Js$%iSYBZLio7c056S2^m1hQ7*9A%{mkI>0wjpd#wR(gN$+n(A;Y-PnJbTvN>#_jF~bBFE3 z0qf%ErkPe2eWTjKr0P||DMiHsyJDDKyF?Kg8o%`?Wa$hYx@)%ItZfQ_iNOi>64`?R z083>Ea%~fqlmf^%(S%}#=lUycn9w@MQ*W{s$?WvmxFOY}M`pH+!`0!hZS1K=t+up= zaEum4IUfZ|V@2>UdWSBBQz86vkdm1-E~Cz6))YcBruKe`0MuC7`!fVwZWeHWA zB77HlnHpkJ0FQ8)fJXS-6TqTZyswjQsMBAdpnZf1{qP6bH~7FkRpa5Q?DN<;Of(a! z>Dq?+d^|zsaS`3pa+W!Bc7ut-##;8rXzQM*p>6FM695`Tp=9lBD*PH1`jq~ps&><8 zMV6cb8OtkbXUGUtjx$0%1n;`Sd|e4O>UFLeb z%!G71qg6XD)lPZhYnkz0586^4`;=Ya+Vm)Ar~-N_R6%6aFw6hM#RO1``5u4dweVRn z-|zVu(-yB4IozpzwH^;WNw|4%%LA@YJuc}R$LnHY>y)2l>)ZAqf=GxL(*cDmX9hYB z+L}!SI&Ayk!U$Gagd?;gyM$uFY=tZlxZ%IyjE&#>5aDxw^!0o+r7?lgd*hCpj&GgX zIKC(={CTCnGwqojI|`Tig4%`=xKhB?^|wwP99KkewKkMUvt!OHh}tR@1ksLGRX?}C zw&PpHQbT03T<3^fgLH4RiVZaEJ+1c&YR7*MOy9ntG5k@DK{qCrAh1Aav1Zf19Ect} zv0RDE{W#Ek_Ra(G7yH@%s4^IF6?^Lk2)bx+mY+%3Pv$P^lKMVJ5xW-PmhPHmOxb7 zQnNos&3hlFfQ&!O~+X=Do1^OqT-sxGot z`i63Jrf)J~3Klkj1MK)5V(Erl`Bq^83gOFX?Ilh}>PV5}N4GvDM+%DN;(pGUBC}o0 zIbh|WE~2iNoM?G+LK&^#o0;?Fj6Ve0_7NP>Xq_(?%Y~O`?pq?QNb}ex?_`p)qIZ_M zvbpM*SC_h_>^jN{GN4Sd(O>!d2l-iemfG*B&OQ%Prk8ZCn9e;a z8Cu@J-ckxkD^KuU2qK!4Wr6o!j^97|Dws+K{!?miA@da#t?rs&?3N$lr@*ctw{u0B zM|(cL1}(}7>s~o5K!2janCC`;qQSVOn0T}e#!?TW`~hPb_E3RjO08m#=v2Igv|Q`h zO7Y6&O`%wGlhz^bCcPEYj{KOLaL2EB(amcXhhhtbpZaGKxtt!h&O>?Tc#64ht~y>F z%uj>)x1jk-gSo2#ogLvCJVz}yuRyNpDMqW-A!v&0J=zunlY`agp+72LpY-v+{Ba8O zYSD+}EjptxI~1Gt##}iu(wZAzq%#@KjUypr*;|PSAtD*Z?V$TVhm6|}H^8+)69Da^ zYl)X<4^|OaX5_WXDy`#fDrc_TN z>9|zutE>qBlxkl55geI^f^50isGU4pS#}M>IM2goNzII?)Y>!i6_IDlf6H_ zN+s_|T&)P14~1`s$NrA5vbrQZpB~psk8eUf4evgqF6Bix$68mQQuM8Is@}*Kx4(cb~ zl>SM9(oe~k^Og*nXrI70Na?58`X`*G0JTO~VscDqfaNz#KShfiw!cr1n96uU6m|{y zCdmw)f-Z=yqoVQzh`Ze1K;Vf}xjRj}ok{2mv%TV>K%DRc<^{U!^CDCjKAvRgkGQoGsVCfd%_ zrVjIrc_8}5*Qg-O3lKE*+>t_Je%${eU5Z_J>Cc5xwigp^zi|~>p;x)WXVX;30NVI} zJ{8Lk=ZO3OGxFn6LhrwD<^?L?LcYR-+FUz$@K=o0IyOrRXW)ELqnv zid$kcRDeIu^qc_ur$VCfwH+yojG~H&%eJdah&$RI+hr@%jW4<{AD=ne1|*@6_TWPY zMW>B~nL}&O@xE>*f>p0-QGvX+Wnj9FT|C*F^V8az!PNOg6~OhHO|Whp+6KSVBU)<& zFRUeUAx?$|J9;9oh(X9TuE;nvvdmr9X-LDMO@-F)p+-LHRe$0l&|q!}Y4uw|hI2Pa zFIh*_c|imX!VUinH36c2@bF36Yb{0*N;QX`wzT+C0u?Js38IZ(*jAMl$yX}92m?S; zYFu}f0vNE}&Hh+X1-)w-Z};v_bO2TFFl?8vG>#kHypS=upDw8+UiCg_KYfQMu1uPn z0;tZp@rKQcLz4J2WfHHZxCa@2TiSkDmKP&+*#ihI zfq#!Q6BLFv@Do!WPzVqw%a>BiDV42K}Cmg?3F$UE5*vN-!`1+uDCQDoh`M3;D6 zVHZK@#PY5L5~w^{0a!e&^35!b-cgaYs33YrC`-HBAPtUMExL^xr=t{%D80tzE8B(* z!ieSo-Us|f4SS)s6dz!P&6Rp#*ohxJ)EZUFSW?_7#hpqiB4sQZGKM~u5}@hYQX#qx z9Zl<*MbZ)hw5N;xJR!!{`U+G#C_JHYbX9@rcm$W&-=s^Acw`(|1VqjiGC@WvBeYij zLk_Q*Y|;ViWz=_xkyR=g1>0Um4qeU(h`5;*)*t!IHY6;RnzLG+RQB_w{;ivT|Lo5)wwjV6f7QT`aZb5@P1*qivTHVh}CFK&<(QOkhBioA+3a=tZHl z9PcGtFt#H9ki!GV!?v`_c$U5V7aDE;D4qwA1YMfr>~=7OJrHUxfdUY%2MF)yr$l_iRJs!!V$(b ze0a&2iIUOF5#)+fz0}=~{&3cqtQOH8N8n5}OzJ}uNyKQ4>byXXwyvBn`p|CNY5irL z92s?9wBe-__fRN0(i8syzf|-Gsc0e3nR%b}h>SYH~R_e70PSv95UnUIO?c984N zZbXp8Ie{hU>_;&VnMuo^ll|!4NyFlz_lP20pQL(Kt=91y)lxp|kGv{mx@ju3N~b>V zv1Sp6UIF)cZcX0d^19ltLbo3Kd^TS(slXWbZ$2WCW9(8@U)VaTcB|8kLQoGcEl)tM z75tFxSTz{Vl@D1Ba@nYmiB0yPhSC@`k?HKTwyhCZt1V8!+L>gCj`YSamW;|ggt;1r zpGo#wa@_Ynv^UmwQY+w+6)-X@u!1MnGa?`+x@GY}xXSka`VFWdy}!m2Qad%@e`kM$ zlp^t!F6-+kZW^^7rpyyPl3eEM%LhYYjSw;qN6v^Y_2&qi2lDdpLXCjkZtF(L4;kDl z+3#EsG>=V_-L?#`YK!OlO?GN!T}9-xve)cA22K-hsh5k2m$BRQ+2XbKX0tW;&!opu zHm_M%p{_LO)9H>GUNlNbz?ZUapm3LG_*{uQ?e3+4HjM0`PN&7tNm_K$A`_l!G0$$X z(QffqOhL3xcbavf6my_h^!aEN43SMLjV0?s0z@`EKk&py$@X(rB$Jo7k8ER>({LRZ zX1h7EW7}ex|1~oIjZ(Mlty8Ec*^hpO*YuA%Vt=o5IOP;pQI+LJd*jKtys}-l}a@e=Y z{9w@tT?cck!?TK3eI6`!_e3rr!FjpOUX-5so_oEn<6gU8C)Ap(b;YOW$bMi`2u2$7 zlhl5=_lQEd4T6pGz;}Ly?=G`Jem(c(G{~Rx_YBBqQ&Z+h5&dGwh`Pe|k;2c8zaf*K zZsvDXptjw)b~6jo&3suk^98$^tA{o7M^Q?*4~_3pQ>K|OrJ5OiSVa0+k<)?I;&t9r zv!SCNt1E)LW_@iYz5!D`p@;G7RZkSX5E~~v0M(O+4%-Mo^w*^~4nY8yNmB|1Pvyz( z)dud%>A{~j)GLX$lyFymUn<#)=<$#JLr0}3TWX$X_)zA>3jdN}pr8hbvA+ww zD1^-Aw;#$p5`v=uw#(J&fYMOVHu~I#Z*nR&2?0d3jk?>~4Q*xTgv<_r>SN=+BUM-K z=O(yUdMLzqx+@hTc@JOQHm#jJL!AjriMM|7?>n>p2Sc41Yxv5K>&#fo|H;mrDpmjL z^>km0>H#|F1K^k29KRkv|ZAV8$&XgBlS20Ll zrcP!J|14D@7Fa=@nIAHXZThhuwL9p?BhZgn)j@Mr zBrgA7(T`FD8Zt3L9$>Z5^qfrh-rG1WS@z=AWc7>!j&9y5f2hw zg-j9Vu-4(fv!LO3+Acpk6syk;X@Nc}X&u{DOyn-H2PDV) zlH+e}6=z3sNES0^wdB@>*Mz9E7g#s%Em=*)!rqwl3VXc$X~7a1E8vs(CqM3%iofDj zV3q}HwR4w!IfYpQb9M8nK`NSZsKI<)33~#jCF%vl-cc$@^`%^71qDE6wRK4kAQme! zFkbc@xnVtgkRA=c%QgV&wQ`x2gTJ?x+kAa_p(mbI>54QCNndjr<>U^*BE<*0^tPM3?Ad1YfLwtBV7 zQcspWx}i*FgXRwFsh=tXm2w+@O(Z*9cIzI|0_>mwJ53mC10u;_-%k43@Z5icRw59f z_~#=E;LMi)Q9W8$s!HMCQ82E_1R1`?>He&jBBV(t%-~|{vg4Y6SbeRB1#x95W+a$s zFx#blUSYMVA;p)HW4(Y&{A)b<&^V_)QMc@%h%dDP^@*ew0h zenPAm;oTg{XAN7`L2E3E6FJphf=oVe^R3!&n&ZU@zK7n5%J4ZX>% zZ|b#j{Kl0q2>KTyYOF6c7BtBq?TeA^KtxQ93h$->2 z?;G9h@D)%U!%e+I+!?;HQO%`B{%tUlubcm5ZBMyBHO!pUFmK=plSOsPqR!yO9;TnC zP;3!M8)Yd`ggw(9o^_8kd}x(aE8>)^xZw!$4hr%v@EHri-t`rUdK-HW>AyCZd7r%h zOIcw6?3deBeT9&Ih?sc7*jVe>4HbZy6j&UWh&%_)Eb~=NcS2@)^D17ByZ;Zz-{l$n zt#16jD(?{fE(d?>HvS%WpWyF_W`DasZfc+ z$}Ja*52M^#``_uUnVsI5XHh}OTvV!RyA&pN5W%tV6F$u|C{61)S0&!9FlXOp*^&a( zjWhyuhhb3iAEw=fkfa`1=iZ8`r->ExW}OJ(ASo^S1}5=pkA+I+TI=2%4V&y4K^b#d zted|rM=o4%>*Y5Eh=@BUC@J!JIGZ6YG9A%ileWPX?R_eG^uk5eI#JAGx!%QSZE)$! zntzXzS-rQdiQk~3Kl!?^ug>EEeiCEl$t_PVd2$I%!CY??hHS2N5%VBuvIN+PYB}+V z{AK{}9_f08fWIl;1l~kDeke&JPcPh^? zWPg+1pkIh*sK{FQv5WF#ep+&str9TWnL@iv)bA-De~kZRJS^k@Rh&q8&sET?2=6BL zteq2Ju?g=p*aKG23qz9{nHRF_il*xlaGHyKgKw-)$YC_+)LbK@nOl)TUrg z(!A=0mCmev{JqWJ zd;DcN(*Lp@j-2%K(C_izhnV)d`EkK0JO3^y|j2 zN>-6qsody950dRp1PG|}HhDTE9yz{*3Max;o#;zjnH2ma+$m0eiQ-EfgsJ>h_%^C7 z59JDqy--L#Ikc~c6vfQnP6;kHDWcXgFnukR|yrqtf5BR;QZW- z*yPXos`?_Q`b9$oVgqqVMdC-p>>J?mR8R4?B@46;(Fo;f6!scC3FfK#)19xWk`0}2 zpt2-uC4eYA3|~7t7{l4+8+T?dHmDcs=K1hT5n2{%`t7XG4M_3H9D ze#C%4tL`^H(`C;Yp{PX%$G1_U|HZGOr!s%`;;AoB7Dxq}|7d(FA4BF}Si;YR z%HHIJg(S2_y*~Q*!3WKc1U$S`4#gc5z=XM57GA+5+HI*JBu?i;q)>fICFy2|(uy$X zkqv>OIJ;Qq($Gc)G9LnoA|0JCHt`G8l5w0_x2y(|?5SZR%Fgg1E6r>m(F8EBaN(Dz zHBT{@Q5O?u@(-jG+Cr=uR=3E*#IYfA(+Uxma><}=TreNC9^K9Qv7pGiIKek(q&Nty z#GoX)Ehjndk~akNJt=1*&K?oiR%8M#DS4ZecgsQ+EA0e4ZwAH1^NUIxE7oxyx*f#d z^ACQ&VCV~{lM@5Fb97@dHY>DwC6exyfd@-9KL{k#WbT6OKUH3)rD9%~tlK4xn2V{`j1IB+9TeEmZp+)p1 z#`?^f;^+~F7TW-hjULHa_KXr4Kh7JDNcFN_2@NgA{GAUgBBcj<;V54-)DK8#NFVc9roe?X{%kwJ5;jwiw7b}^KFUXrf0 zj!`^%Ch&x-Jy2S(L27b z{P=EmtWEv&1>RDyM$W##VR@tgT0!#E7nmSFR#X*t5|)=?nACt<4KtAB$7KdIehSUN zB!1lSC8}P*kHhMf9(Yw1m?#L2w5uqJPyc7R$EI`d%;YYPpD`@AM17Ib?UB0QxLl1+ z>--@({N|k35ZW%UX3|L-KI|P;+YN!F29HYL6t?t!S88@hc;wv`eALs;l z8a1qNyA-xzIs;D|GVt_=3_Mxg6p9`hL%h%2)g)8fnGH|(@2}r6Q9SAZPWf0p1%AIXV$m*tEVlE-@mMK zW?jwSW}ff)CbZFgz@lsTzijoAqyBgBzcceOSDy0t%WqyK^_{`r$JDWkziB*YWjX)F zzwB&h&PhKz1WO8j29;*w>x$+K$Qh9wXC``C;*tafV#JDmTyq?NA1IkUBGeZYYE66y zbc#q5SA^aOUfn3dRWEbhR~t?Wh>FKSjO)l-%0cV}$SyQmC!+1~&W2yVO2}GWOlyo= zT$(#~?!E9|P!G}Eqi$A@)Aa;*gPE$5rQZc1Pyu;)hYAzi4+Ur&h7Bp2rH%j@AN(_= z66C>?dIP81ytf$>ce^g(7*u^_q897nK^Pn~;?^CzgqG74MW*9DxlsvP$|uwOA+a@U-z0=3BDNgycGbQ=i;JF)Gv+^YeX`b5H-inrFkPG%GN*(bhjnwL zpwkhw=E8p#T2;>?;PB{1ktKo-W9lQe=Y#1kasJ`}6Te{Hvlq0M-KvbugxZ72iIkP&SsaV z&L{ZVS?JkuTWZjLvZ>{Cp3jZog8_c(sPL$^qXqC1;hp2EGm-k;88otS8ZC(c*g(PKZ*|wJAwxj1pPDkUfdQ`ZuS~ayv zuX?WKfH*(nmjJ+5Gq$Sdw5Z$#$tb{I@stB_slI`zO!7O2SYz_LG(xa|=j7H^ZoSYe z@I+ap#qkaDwRG6m2YZHnT`ga$BcIk`TI*GtTSvE5R7XbOOEM?k$)`+}?{69^l(@b6 zvdBbL0*8YX8rfEHS%h%ijoFEr8095qR9{5AXf=q|8TRl!(JVK!pOqyIuC}Kkd|unp z>eO7E-WI>C?dav|ZF|e8)C}xFYG7BBuUGAX62_$}Gr*MSTK#i=qmJbl`pZDO3-*Tq z;|cbQL#QR~+FXTFLBaD50OP%oaVfS=DVPWucd!MQuy!N#s)5$eaNb~+)AoTak$Il= z`arE$_RxCul2O)6{jy%8`L@c76n{;5 z4uSyH{Cj=Ijc)5VU~W_?{gum$BhDZWhh=nnL*;T;B)`G9EMP1LN5RG$hH=D|+l@DI zG2R1%#VwFw^KqWrDC4BtE+;tNVwYe7&AA72osgv*sOiNzHC8_LD7$U*UF(>blE`% z+Feu}VwAZ344K&cn*mEGWFgUl$^M4eSPCYcFd2*qx3J zAw#GCT2yE-iRvpC9nK&*Uxv0f@L~iGV&q`S%v>Upqx9^s-*=xBevX?R+k+_0nG0Fy zhMpi^HKT0+j)J9zeF8^^Xc9QO3^+Qg`XWUvC3W=jnl z|H=2yapTA5smwORZn+yYY6SM-Gd^%IQOSxVCMsuydMq=T!S!mzdN|%jFk2RfT4dDl zVmb0M8o9I=21K~Hq3YvS{B;HP5x}$IAkMn--{Ze40SFd1+6O8beZqpulHc_y012tG z9x?$56Oe%Nm*p4AUtp-A>?2*dIL6EI1;NAbh@@>b={k<~H}{+04d170eDnSu#H|BWO-7(Nzp(JYiAe zJHlt<<`az7A?)y%xUF6mHM%V62pUsMf>0#x$Vju{K4NJyw#2Cblrph-wZVJ=?}A5g zeMwYFS_+7L@-(^u2Z$B{UUnHIO=RQnBEp;(F^3trKM<>Dej`M_oc6abd`O7jz)JSv zV<;b_&@v$gJRwI(Z?Njc)=RZDBh>+lAa0Bm;+S+Solwgpnb-c;w)WZM|0cOx|23E$C>^dZnPDKjP_zSJiv{f}nwo>UA zB0W@kYh+zpWozV#wo7l0JWkDdiC>bJ`LU1hw=NLCrnem5iTi!Z;aY-gt#E_XC^9)8 z{*>^@dUPmK=!DG?oXGUVZxke0g`n;8JhWAuqjd&(5b{Nc11Zb;LNXn(Zal6ykvlzP zlqyc=w>dK&iT57pN)7I88JrpTxz9XS_MvVr@F+6_7pZ_CEbvHva)2pMASKO#*C)A? zo1=Zlf@Tq_?9YmjZI|`guXEMzbCximtk|_kNOqwsV_Kgk85dG!z!dHo;kAHe>`ibh zy32Cy8lAP(c?k{(rk2FN&8I1cf>keR(dVcFCAh%FNsg>s-`Y8ed}yHwzO~B)yv0mL zB9;GIa)FO^^FxU|Tt6H`X=#dVXUjPPQ0E1!j_Za z3|PQQN;LQ@E=L*Rm~&Z3pNARZoOfjX(^DRs7_~H}+i<9rg)oF9U=+!%fsQ0$TYzDr z0KE{uL6$0ZQ#SQz_a0*Rm<{h(FU;c7(eOUbdP=PA>iMvbHFR1}sh1Ds#brIti#!#^ z#V3xeQC+N11`Z?W4fBNF{zPzNM`^O~5f5LxNH=%R%(~?!vgZi6FqbrI~>p4&8vM!QB z=Iw42Wa=j)zi^rTxK!wxNZ=^K96*WA7$$!}pIcgiMVlv5KO&hoh}%X;TqxAE#=rF) zB>1KUodA4=N@gdY$qtDxkiKHLN>7E1^Dtd9?Y@W$1v%KI6S{eCiOi5J!QZ>p637%P zf?MLS2vy4cmi+1arT_nv`=z;!D`xzQ=gXy8u9lF3IENIYF^>;J(yMTM!QB$n25;nO zFmp@>C5)xE#;xuv(3^W&PLun}CoZ$(Q@FkJGE_-K`_IplY4x z3vT5YH1a{rjOh5WsY?d)O8CC;`}&{U$FT<;ujEAl=UR|Qd~PH!v|4~ z@t=2=Z2*)KOe}Hx&9_75hz3|-5PBJIMTi^P=L8Sq=U|Lat#C;D$+In|@qBJ%B2$^U zlVVg#?v}r%es@hd5Hd!PqD2p|N|IASQsCl4>bzWIpO>fj)+`HhCkVknC4_fW^j8GU zLgBOWL1ZQL0R4$!czb(>e=!_o6NyZbT=L6pk8mI%)`VEA^ZXT4!q}X%rfn`_g z^R^Hfpq^-tF`|d0j>^Sc1ug3=K>(qW#l1(+9L|I63!k3c66iP-o+Q0EZD?BJ^H|ZR z_)8|7q1be`1f7*52O$-^rNJmH!9@@v8TPD1SDCX}#gBvb$rkC7>?Fwf-NG80Ve{KE zyXh1BA?Ca9KU!}kxl?|HB+wMVYUGIcB=zS80+8XD`uvdYLVKYkz#cxQff2avVG#9{QcBL1W%Ba5oIf!4EndbDT_oxr z@OI$5E?^+?u8lFP@-P;oD04+iKMpP8Oy$&GwN+6)F?Ygg%evrV2Fz^td?C z?s|;R*Q0RKBB`18Twib4eSb1I# zOBxou*u}=G@d!6y)!W^cG2~m9rpAC*cRJm;)sfwt%wyNt9iOdyZYd^}ecw&_1-TBz z&6gu1?PG?K-LP3^GBUC`=>RvYgb>3(r#^@h$y#4=ve$t-{9qwN=t&e|6QhKDU{&i= zjDj)XHCg<c-9B7*qAPGcs~0N~3PHz$cfcC{`;5kGy)P`FX^^F^7T(^B)}S~xzv zyfQbVs8Fr&^tKhU!f2?`x4CMC%THKgwYWR1{|cr6bb!U3W4}Nu+v_T;I+tE!bJU|y zteOF4Ha&PI5~+a?JvNvT@MqW@Yvqs@gEDV1OA~7R2zX4exwc8n`0;%A5(%n5QYho| zp@0y@1rPp#8*})y-6v&1Ji4pK^zY_!g1G34*hHKzRF_;4tKKbnDjktC%=(WiYn_pC z5i=QG)nm=|`QXH`NN5)920i%(Ka;c`JpTNx3 zjRYs9Cnvy*bb!4*T%W+x3`k^UiJ4Jk@(C2mk27R72N@N#!^}}pJO4kxr<)fXk5A=&2%m0IZ)tqmXMbBQU@ero?35H6U5&SG z$#s0Vt~7iBaOlEa@jxmL~l2{Wh` zaOmjaj8W0HgT**lKMB6d1xyk}X^6Hi%T1 z`m46RtU3GUE7!^9o*#;Rjq3}9@m60`wzpzgmc7%z_|JEG-|;&=?EKGmI-YMz_1Nv# zvE#MQb`~gP&iJ>xegc(Cz+h%+nYbDl9fq^#lSvBZ_%Xfp!GRG`k_ILSaL$~R-DbjDQ;GWcYxCAQsBBTb#`v-Dn z?30@*p72Mn=VmI(P|tWf&_vz>jBrWWYP~0H>)6V2G+ZP&h|0aP3GGDQtW%0&uJgcMcr zNBnO@Lw0Vr{bjED;^f7MUag*ws9dSxxa?dq9CM|J)QxB(&rITc`7xpu{Ag=dN<^cs zsF(lEl_e@$YNjge3fd&MxzcODb*Z=GvFgx{QTR|P!HM9|r4~5|!y_g_T59>g*F7k_ z&S$Ojo*d1OuUnM7M6f@ecMP;#T@HZmBDmL1VFbsnEtG2_m+cP9)7_1P2MZF=91`^N zIfn0}VARTv#3?wUt2UdG=TfrTE=iD)f04hSt2QT<|4VlM>VKJkWLK^9jQY**(-FH! z(?98tS%0e$eVS}${Q@H@j4rc2Y(#g+2-emwHll;}(;Y_if8=RR{heLPwT(S?^A!?R z3lFsMG>ku_+GF4_kAg7r82bSVFYAhm%$&l=KuocPvRB8{08%^)C*BLFh(@x_l{dSj@8(srqaP&04eGnGs-HDYeO@J>qj${C3ga^_ z%e-Q?+1tBs)RcaHtTF0mU+$D%qh|Jr`R{}+j-GyWom7?;QRb56q5)GrrB`^f-YLCi ze{Z~Civ3?C_sNb{x_OV?_CL{=;Jnpi&M}D6LfrYyXE`%q()eL1>}~b>%FyW@#LLg1 z@OM5FFnd?k!p|u-clW;Sf~uP`=;-}Q|NWmKgw)2StgPCuqGIxt^-@Oz%%B;}?FtVV?T^b|Gmp}F$J>F6-w2r>1kHaK zS2hKWS+1aQo15P(z3O=_dJel09*TyUReSx1@Vg(7qQNBGdBH87*s5Dc5T0XqV#K;{QEl07Sb8upkrXn=9pPBVHZ< zI(rD)(W4XSxj&U%RbcuDAvIuB!>Sa4=-tv`yYq|(n&5VKV!V$CS3dmg{y2fP4cxHk zR;NI?u~q<=C25^GWn27HC}s53%Z#u+^0KjsGV7e#_0{~ijC!vaOd0ilZq8+?T%4{$ z8Ob4Wb?g0!!tNhY1>%R*(iI4kMj-?tfaTH%)hxVkMF)!P;Q?T9J#*xG(wQ}$KaD>x zf2;V*V(jW)c8){d*`|KWeRnFC&(?{as5hJ-1QI^QjL_i~ndp@fvW%8OS0 zZ-tEe`YM@s{K1@wRqEr}*2Ap|SW)mMXI6X+3oQ2!u{`k`txX&>LeXulosFtdE3mW_ za`o;9r4Hnbuv+!ZO_7f$VcGrq7`mxupd!Vx!^7xYe+6s(36>pSpmtlKc3Xv8_xwDu zt)e3-Zk@aj-7fd2xAg7uMf=-odWE8e5f!pi&ay^&FH|Rw^Nr}iRH}?gQJf?%;Q0vY zcf&d`BS@6H*cwXov_I0(FrO4`it~i6j(yaVn@CWf}S|LravCkp8 zmJrj)LHwvHsv1t%ZC_=5`l9kG|D-F!Z_mQtR~O6^)%gP#q*XgEf>>X|*$zB#{WN9~ z+~cT7gip~czaf+?OYfrQ_^%Wh*P-+J-{wtJZ$jGPX;!+e8|x3+ zKb9n#SHc0e-E^Yoau|`c)?l`;;uCxmyPZgqqkDceGuG53tdS8R$D1MJ=6r(I8nfV; zUI`|hbvl3NljR#nD9Z1Tj`ADmc$Pqw?H}<-%#H6x_h0VV)O#e)JZJiG9u^5x;QWH!In{5(=NA#uG&%NCV$t`LSv>|ns9Xs2F5r< zXo9hUj+evvOGXAd4nznLo{(< zTie)=d_?YqhEj`8ZA!Gm6m**n7m46_{r8mMSm0Q3l5y7pGI_L{Vp)mp>HB?}-W4{x z?LX2JGJj{0DM;K5^Ce%m4!B8-7$m<(t3`GPzcV?4xinAbT99%`Ri{XYvPplqqlZI{${m-+iu~5R`U{P1Va^tU@*Ve zP`7b8TIlD>3bM%aeB+05Vc*JOwy1OBORRvlpR@SyJ>ou;%wkFaxRIuNxgSKkUKJJ z){I58MQ8B2=|Sy$pJ}WHKJipW#sz&!=KuO4Q4(yo3z1JTq5A9nMfQJ9bRzf%OIZ3n=h;_$wZEcav;3|Bstg z`v-zmTW@3ri_K@XwS|qznI1opt+`TyH?IQZi>Dl-driq%bZ^eE?&&CfO7}2F>j{54)xGoV?hWx*PTD_w2de({ilF3O z%y>SX+-$em@^xPy&bcC`hR$P7x<{EYw>@QnLvQR86Ij7ETcvn zJD?G0n>f_wkQtc431St+`r;NZm$qtY$ndBH1||bJ-Hg!R)vB$ncx|utb+x}TpLidcibjbY@K_3=y_Hl`C9ft%XCKIe7c5*Jw+lKeFksnyxCf!-uj)%I! zt?mE>`_;68+DaeRt2^$H*{f!hBEiUW)gVrFyNKX0g&%ywT9^eDm#$`pvNH525t+H2 zI;GREg}-53Ks&G_x!GRiwSAw<9r>*f7LYT*paQS5Z0X4D$DZjR*IqL_d*KjM5X9_zpVBcu73(hfB7DhYU) z%Plw6raR639A54w?SgO1j>Fg2ut6`kU-{hE*;W)xP|%=#w&Bb11Mvmp6R$59d+(a& z^y0G#N*G8tjbVB%H)5U(+LjLp;qHtBWHNA3$<=Zp{ME9F}B+1C{=!XCmfBj-^?>~%xqIZ+K( zEN;ZGkYibV^x#J)u-kc8Mi|DWvjFpeX#n#exvz+ zz*ds>n>5a7mT=XR{6_O0xt`0h7UHtSw%~S@6=Sj5U61-~a~scJ5$1_-=EjDms}0C(!+s#4-c3$V9|Li z#Gaw7Y0Qel`g%&LY(r|IoF|ti-(BX(J)12_O?t|mbKp1pMw&wl76hfCV?+197P|n& zLESc|-qnSA*9Z0*&B8%`MV6{%B?xu0L%vduK4Vjf`A|`|*lp|8F>1MVX&e{)5j4`W znl^p&u8|a(EAVN9=pOY=VXwmK zn~3&B15#aCT2N5mhvuU&rY`eIIwWUb&Z3^^#?tp!AV*NFg2ZQi%TMIVs;}0bmeoaG z|DgS^x4!K*13QeBEBGdA!)R1s^NjHft?MzXgw@f+$7jDfn@yz^s*;|O9f8Q=A{`w# zBSs^3+~>xNi1i2y@T=G=Ym3@%l-tj-60*3)2yZ*BJaGUM^g(3DPfF8vUK`CHQH+?? zqW|FU!V=s*OlH-c3cr&$@MUAQ;BI)%7WjiT=Uo4sNM~#XIw%kVCuW>tH`i+=RaV~OekL0iF!op$ce0pw{ z5D04!ck`@^Jc-;{v9h2wr_`z|%M7E@R$XZ#cSfvCIT5iE2R)6fNSoxd7&58)YBM#Z zDA3wiVuh-+#UgaBXCpNDt$#gCXiZa?NL*?C*S(zeh!*gA9>Z#lwlk64#ErKMf%m+t zLf%KzRX9udb}iv6QIL4ES2XwDc8}{yes4VMaea>d;9sw!6L*oj2p1?P@UK`1^fCD8 zs1iR2OmK18$R1o=uiqSli>z}6Tzrb|$=Tavgas8dWavf3SLDg6uRIbJJsK6UWCIn^ z^9B|1hjt_?iZooG#M_r#t5MNcKt&-=;f~EXX3h2WCv^li(nAh5ey`j%h4Td)hv%^o zX9Qp(5t-9@X9R+R;*8)$c{L8Kv~L1!5;n5w7b%OwB`3&2!bXDqw0?7X_qtGD>-5~h&nU^`jTY>HFF*|ue%EF z>Uxn`LQT@fEeF5=;ZNp?qSOs=T_PBjEmv**92;*$nQ^i?U5X~)m|Av&UvK>53#A{Q%hsxFtrieAkg|J$Sfj=ls0?% zyRs)mQX?+pxWM5xqA2r=j|tJwoo(he(Q`Fp8L!;aLTw{~ca1d>kVZB$&ZbCvZ*LJ7vz4qL`F{*uaj- zx-F`;J;9vu@hDB@kvnM=ciO2>?}ty2mrZzuGu@`Ch6@WXt;D764eFKWFigK$?TURN zacEl8SrJtxFRF`T6;TvC)eE_kD(@16Xq<@0s$2(&mcG(+mwx0T>LILJRj-_>?@nE{ zXJ7BzA4l?&Wcn`saWHH=fP5bkT?;gq_(58Zh$Ot9kAdz*OW7nN0M&{EL2-1kojr1u zR?!tpboff2-FStbtF=(hx~kYTPI}liEvO9F-0WMZwes{bm7tmZI$SHI&O}`spO%_K zmm4{3Nl0v^2N|p*--t$E-@H;ooklYEXnMphp;Vo9Yc8C_*Hlf-_0I~17M4a(8hX=&kQ>+4<%34Y<#n!>9QQT6YV zHHtHY*=Ay+7u1kb?q9Z1GFbNgG*_N~)apF{M>|)&z!=F6Zbfx{T7*dFMpAE~S8UwG zTZH#HBXu8FbA|Tb>b&@&^FlU3F4ugwaZA#9(UpI(Y_U28oLtRm>kPTrzxn`q@hMs+ zd={)*&bngOI9Hr?cxo+r5H4%#Wu{72(Uw$Ms0fJG#Z~qq^5`5LQ+?w}q%&@wI-p3u zw5Co}{jI55SlGucuP{0D!B?7NG(StOh73CL4tS_AWi zHQF8;r@! zg8aI`xQeF{M1loSb*g!#9M&AwAbBlfMOu`H9>wxdmvY(a>rMY9vlpLbZZ?lswi$SV zM!tX_;z%N0%to$Z9iu7!KO2+maI1X8K!2elmnGrMNX6&bkC?!JkGet$qf3tHeje z4U0|neewG!nOe!zn$I+wOjn!MpzIYJh5VTtHK7PRzhJ6N#o59SspcP6=$t9RsbIWIIhaSIh!})QHpc0sbxs$-A+ zwu!W)f5+5vxiRBUh&F`_-f>ZRV!6k)Fotpt_=eqFI(LM6=jFFVAlmU z-zj=#-@-#BekX0;dxvrY2Vt1nZLcJqdv``Q1?p*C%F-!;txZdz9Anjs{=c{W$*Z2V zuNG+jy$I3fnEpQm)n>Iz>iPU%Q7)1c)cRR~eNh9;*6Yftzsu`qO#fc{G~Vla0N_7E z{`UZYLsR>QI{ROA_UFj{!DgvTb_fDfCfkelpLv$BijQkAk{laC zwbJrr)hZi>>N{oQQ0pf?AEV=NBD|O-2(@@ex9M(!rNEO0CaDFet#|s{j`$)NMf}hHp>n3Q)AXL>{IP49{%uel;lf$rVXmfX|14l}UW*RY0j zOx^T)^?S8l+V50Aw>q$QA+AESXA!A`PwFtr;ZU=~tg@=2dH_pQiHl1`YL~%6 z)q!Xvf5T={@S!%6x`Gb9UKG-nI%qIINVzTKqgo>8$YMaggT;;pUtAvacM1Z5Ijs@@ zR7NDfADyjP4(S?k8BbEQ0@IDBNwvy5T=xJ5tXhnb1KqdB9riP>1NECcf$YQoIyUu^ zLzTq(^$5b^yivtbk=KZ)7-3f?yn-{@U6B$uW4OSS3R2W8!L2yQwjqtZqPrk?G0(hz?$*``!7CiQl2rW zlABgBa~zYadK#rJYsFC3)0%j@sBt8wRi>hAT4NQAJ4sTWQ%Iey;H}01KJ`HZ`I>8$ z1a6r_cvVTXd7`-1U2_F|1g(e-48b8l1sk)NwsEPxt3otejAqeR2{Lo%n~JWT$qC|; z64Sp6`6o8x1Z0D2N-rr1`P;HEEoqw5w|QtHP0?GFNi?rIk2_T~2Hvk#MO!_BzJpCQ zQZTq&W(*R%0ir%V#^0H`)8*5X2Cl`pB|+zzsj;IV^pJwD3O?0_Q&(5ahQu#5pJeGk zyTyYSoS?dh310U<>e9W8O_g%Gdq8*lDTyNA&3f%#n> zr~q2eSG(L<8Pki78q<@VF^!!riDXfFTT-1>7|=eWDG8jf^#6^Jtxnx3)z=Qfubh_P z95D!^3zZ2|nV?e{X+q`^(#mWhpi5yahC{;`iqA0=I>~J$Q3H<|5Xt>LKILbYbLq2x z?m7BMyu)<)R(U<@*#*x_Xx={V2*p#=AU81X??Fz^f zxmN_IWzezwIuht^IK5ES;X=2DIHOTW32&PHBJ1`+CVJUH6RC8gfjqV-q>5svnN%lx z3b!nT%#WZyZLUbm48f9bNZ7yCbngul)(W<#B9M`#Bi|)`myUGy92I?A$jI9ew4QDm zA)pPhI2hw^Ezz?MkVMpT?*&}tW@e6#!8w+uyTUb>`eGwMnwegCf*EWl#1HlupNlG7 zD?>beU?gIbi+o}CMOF5oRm`MZoiEW*oOrre`fKGI8cFG|!Z6ChYGHHetOlE1MOpV| ziT5ImABYo|f)bl*duF0Ohz_ew;&|FDm{8Y-)h}cmL8zd5^k>{n*cnv6xSt!&?yVW6 zBDb+-lw;~iz#AFraLuFLd~F;Uw)9P{I9T|ZUYM#cDKnDK@iDA)Y^s`d{i8 z9#N=_rt*h7s$T5P#o;3?$*mP}oomG&lH}IOBFDiJ+(%MLo;=4CPOYuxF_>SL)$Nr$ znYbY@rz4Si79hV^ND)>kQR$Q z^&=r>D9x0rn^9VAiSs1Z$HH%RH=$eM<5oj00z^*+mGk5cx3ZV_hO!Z(WH*L8L~AeMNqERrGyCfs@BAw;_8I# zD;o#z$S}cMlsseyXzRBdxK+Pf4?wN0mHfbb+~vB6v*Epu;HB2ZrZ?Kno$bDJ|6!PS z#zlrOsN%PhQ6>k;fTx`g>P6yNFC)Yw?7MBqmq7ROGJPIh zq|d-u@)i0WQOte3<1jg2F$v^9@Mjk*5D-J%- z;kJ<*`e>2Me(ik`ndmC3_&V}a;beN*KzF)E*LrzBY3@zP6?DbtKgO;-A%cczN{P6@ z*r5B0#^{37i!FLjvRwia`0N!xPh9AV4Ng2JiCr;KbuE67VHEvN?4(4`0B2l|BBsmU zhsvb5%@OSEomf4d*Yoro;aj+%f6Y9^!GxBja?HNXK5w#UB;T$9C^T)RF4oN~*RLg6 z$7=Z||0qD8kn8oq@f7dFx)Wb5xbTC)!bdJQwa`gX*ux!zHmeHPe0_!l>iDhJWUl$C z=o2^-E`$G0LCaP9RI!FJ3Z*$EWPq+~;3T?r_&W67} zGEAxiRdF=UQ6)efX)z_%qiHRiU5e8+Q|-*%76-N1B4ef{YKojm2&>tjoV8*1ZZs&V ztU$4*qPL~n2Q0@w31-BltZER1g6^{l>zFA%(J!I^u94E5myx7^TG<_nEtoHhTGomg z;F{VhA<8s0;ms_0<7o*yx>8{`5hFww8EQl9YYQj9$cFQ7Nu2WIkN!TaTlrGste{#k zF+%{WEdv zZCiYChg=|dey3`|ab4l@&-Bs52qFAYrD-`G-D_5r=1YkAxcNvkbfm_Px z)+Tol|7A02B=W^8Jh4$Q%^bA)Tm4&&NNZq~PSel20w8T6H6#=$t8n0K5jZ=JfMbYF z5i%7sK(9HFI!%B2SV&tEpjuT*6`)<}lpWpvE`NW#S4Y~Ab1p|}C~nlYnC>Ya zP22oHYDGjH5izLoQz(dY3Nc$Syl3t0QNYpTFKiDyG)g#q^fkfspnt3E8fM6vD+17v zf4AQKp&5ok);bxG5F3j9yQu)`_sDfaXaVhiiF?$~woKS*oot;_{qHY;en#`>H1(=0 zHCqoc^oM2my{#X4QEvMqf`Dg3{+EJ9vxxk#_{p>{)4W;gx?hvYVc=yqcxPOKK_`ihet=AqWL8! zMn&SC*^yLTxv4S{tL_d{?d8df?WI+>4tMS92R`bJ28c{AsOyRfY3)Gxwjh(YlO74D z908p~^5Kzyk3r^07q{3|%E4C^ksnCIk_{iRUF#o->44APguz=q+^O2;->#nbzbJ!w z(2KqpaVj3@LJv)@Od+Q7{bV+a!an$+2jy0+l4>D9;=qjusg%3bj6W$a)L;=L>w9k@B#LLCv|pY;wwT1`;4i#%&F^KjT(Z>UU9byMzVB z+`LK`!Bq%hQN(&u$R;H_bQIS2In5;tfv+VOy9Td)GdXoBvWm>8SGU;YjaaK@khLJ+ z^Hu2uRG5-d??(V(z^5IgIA?gLyts+5t1|Q||MYUT+qP8h%Utn~~L+(}2kUNC$ zIzC6j_StLRK1AgHZ9*JC4w1_MV5LXVErM%DIOc|YN^u>F$0 z#-Wl9VYx59n9ds#e^gdL{C(7-Q0cB6|E`1OCIPR91#5mQJr;u(eb;Ed6oQjSdcom1 zxim`a=wyz1nDpKZjnzW0@^xq#scCN@V2?)E)s!z zESq;}aU3`pcV3;(Z8NvB0LiOH21ol;y@@L3u`-X8VFxJ-ILR4#0Vkbe#kHcKFAw7#RnvomLlNW(N;Q z=`y(D!TwrrwyIFWYYR1mlQ~``KP;g}savYcLGni``KxcrlyPW>Mvu zh|>o+!EG{eHR)h7+1I0fDpp~6)zHqISLjDAb}<^fb+=~K;9O>lpz7qgY_CC^b(BJ# z=l4#Ff`4jJ`%~}G#ZvFp`||Y;bx&X`QQxVn8%irn=nkHEQJljq`$kQaG(H54(EE=F zB_jO9Mj>6Kz($g*I*Z zI}3=hp_@%E;?rx=5sW1`)Vn6lepVXCx7h5k73xx}r8?T4JWj*JoIJUUo1j`N)DXMK z-8dJIAhli{<(UFB{B!Wks#ag-q}W4ZsV}Jt-v{XLS3BQrzDqOve9tg-ovxqRg*H`g zMmhUsJ3F%@v{xoUICZ;V3+@bK2!!%wOI`BSDire{LIFa%YeHSIQWbi&CiMG8mKzz- zJXrQQA+`~^&0?8YA|4XIEq@3BeV>$p4Y&h%NT2FW6Sz84O=veRy;qN=`Zb|f8~yqI z(*@9dx-iw5uXavEA4inu4qKmN*V8Qs^!ywU2*fF@5RP+mxCY@Dz?vEC%e=60oS2kP zz+Pa%o^VI4kKSM~zU$-o85uF1!@*1`2P%6xeX%)x+0DTWbMVD5BC$y88zoUUhgH)m zgILI_Z%i^1e<=$a!S`A-o~Zgmr1i~`kh)>iqz_tAE*;K%nXm=t6~BiM!I{|8uvM@p z`~R5SX{J`NM!JkpClHM`NWQ zv8sL{bFKCD5)~ae$sa8rZJ+%s7St4xsCj95MhfTnK{uXd>-09+-hk!x>dkRUA}bFOAR{QFnXDJ!_Jg zO6ak!sl9sXF!O`j%Ce9(YZ7~QJd739j*jHEL^wH#{RmW_;cS?pkB$S^%Ozmj>v&o2 zrVwc4oOcQ|5@JA5m{;mm22#0N3#;FNGZM{NmP^j1g4Ne7m-si4(qQ$K<*^A7RfK2* z3icePvd^i|BIAlJ!kQHcdHS2NJcRMbHT$`#|BJm;j$W{pi8qxZP(~+%vg>?~XI?kS zRpI3y&V|5+*<4>8g3QDXFn``4&q?1y&FXkmwZY?v3^lSOuZGVa6(bQ^LHF-^eYwa`T z6$OT+czR6Y)$Ik0`CvSVsI97A9g4z@5h()osuz&lIP#xhGrHUl2x(H!h13+31+F2M z!ZmjXt!sW&A7CdULh>Lg6Le|c16K4Kn8MKtZ^Vsl2t=;bjs?D5ZD)nhtHM3NR@(|s5}HEVTa8^_NIf!1dRMKB$|Xs7 zz&ofT`d?}bF*j4wc_37l8DF{%b?MZIb&X%G{a|xRyt)U%a?ybxZTSAL5b4~qlJipX!4ki;26G;4(}(w0{=mNS-2`*7kwe>&DgbrsZ^Io`PJBUmPD3_hd7%tlG8QNQHBC8-_ zEJ9>DLTg2_Q|JtnkIMu6p0e9Djo5AvV&jon$wN35d$0E4ctpLTNlG_;Ez4SUZS#dj z^TRwLx(cbwIau8#6HX>uByja75R_dIl*@#m5Z6mhD-}!GX&!`a&Qu#1RINJbOLmkq z*^p~)%No2DN`ll-obteJZL#VfFcYs2Y{Y|;)=LegJhd1;Ls8n9aZLJ|#8!0=0%PrKLnG^ed-b zr}Prapk9x)o-#fSdYeUypp&h%tI#YD{y$Hn5qSdgC>@K5MWIPTM|6|c9@8Y{TBW4Q%Wev}(Os4}Z%z?-Xp7XlaR7A8y(jekP}$ zdWqXSrM$@892x*`P@fZa{p?vsXz98DtLZntL?rYZvGM;QGzLrFDZ95 z{wsc~9Paum$pM?ek-!u$^6NXb5JfA2rAD~y^94vZpH2T1ugI=1AHAa+bUo0C9O*fK zr@OAVwta(O4I`soj>>TUjA=8En#pB5}(!LIJZ zzltb5w?#Tf)&&CZQUSwDR}gKZs?zXA&&NS}w5mGMmW%CzQR?SZM1SRRI*v{G%635t z94%ay1i=v?PJWoFe1g1CQ9{Wj9Lc;sdkko}=FjRrIOJAoJU2Lsh= z#08T2JV_l4Omd`qI*+!`t_KDfR1$y>}5Q)q6eS$6Kyt9{BgbuK)L* zJiDHB%@Jf9iHG0PsCrc9kI;XWY|-yw+e7yw+EivW#|xpK;VnGEZd#Toj824m9lwRR zT)WLjO4)#0^)2C4N?@qCD1>lcYlYT8BCX{7Z}2&}n7=&C=F*ZBu6C}a6_F+U96a%C zn4ddD33Wa+%;v@QEr?IKF761ebB#NnBlKikgP7UL?K*vX4Y-nA&n+>x@XwWeP~LWg zs>M>0$F!5amfJ4p7N5AuJl8lpv^t0{Q^Fx; zyCnBH$vtuznmWKGZ2d&UK|Bp0PtOqHJ__}7s3t|`Wa<* zGseb-pCV46Oe;A_S6fQ~Q%R{$%TH?fOW~DrNhPHmo~rcAha`o4aSyOA%CeFpbZ3#) z$v>1wa=3KYW5X)ZA81MbkOwQ(B7bj7^OsXaVfN)5lhe=SCSD<=F~XhucN^ihKf+;7Y)_kONK%h&oZVe){d4pT2Ck~Gw1h+TZlpVqOx_M8SYtwxaSto=A*h@ z5FH=&<1#OAGgfcgL10I59YwlX!J6wU<~0tlhXFr1RC6}bwLAJr-Ls|4>CU0t(Jq=7 zr|x_=k}E05@b(X?-z;We!R*T_Za~XI)I=^byccuAXABL)iCiXntf(-UkN!O&A&F@K zPKgB^l@HW;8-^!y=Hr8SL*&-iMRR^$c4EOSu#RW|8=RN%1A`h%;s=JrhGA|qSZuo9 z3L2p|bOsHOH+5y=T>ENVJ$2z&G4m_;Ml3T!fsds`O_EGS`Sn-ds;x|R(m!GMK$ zFAY}wZPKts9wC{GQj4hmjW$2nv?q2lDawGmg_5>ndENpWMFJBI82qeGMqC_P$1d=? z3n3%MhTkU+jxkoxnIyAeaCqNA&Srk_&Lt&0m0Z9Rem!%qYk3tr#EQWzl#h=iANT(P zv{F;L1a(SSofvlGQ;v`p+(Y+(1su_=lRIJ$Aq7OAG;dK?Qoq$O==))(qqM!E=nhaZjRS+z2CIH6+JL{ezS)^ied2W7(g zhIlU;Vc0$C`Xb$CSa3+4NkC?qSafK~4s63;px$sM1PS6!Q4}p;y zAiCNE(d$J!|8>#McNCj3lJbf6%McY><8BR8I}2Ucr=%`&jvIt+9;16;I(RqTE8(Ay z>^%qXRA+W98wN0DdijZz7DNb=cxn%r0Xbm)2d&$L_#4S>Uw{}sz#qch;LPc*uwU%Q zUJbYA+#*dGR79dNwS1*MN9wcgZaBSAx8cDWUqPR>kTRq;WxuT2(P%~6JXO~ADK%PQ ze?x9tlv;z9CTFmxoTKFXLdwe<%%bX-9jBsFh^I}oS_h-VY^qXJ%IS7g%Gq&imGYjR zm%dQXhwuO?JpntA*1e)T#Qxpud7MkM7YAN5R=SZ^XynsWlnQtSS0x|F$R6YdjWYk2 z!x>!vmPhHm2wew}>Q`&r+ChiXnOZI-K~+NPfAafBr!NJ09CM4^$8X%&$tpVDBP|<3 z%O6KY5jj6kk;P>`fQ2%Z(>__Ks33{#7F&%mHk2NAo}{3X&GXV|25hV zKFI{a;WjoKV%LF!bYXz|Do7WSA`1}>9!?#CVhmB%`e`tVs!`O`)I=Y}1@#V5icJ6G zBCDrU)D$W6)0bD5nuH5&-Mm2G=^`8Py!vXJY+)Ck_4hStC}YN`f!Jd)UxxMAGW1Xa5%-4l z2|O-_@?_w8F(K?g6<4N>EPb{1Q!n?>gnnkC1L@7rg~7_xQ1ek{HrsWa-aKurI+KN| zKpI3Oih3f*FEd~sL;?5b`$;S`(uuo`l~ej3V84?TRh;ZZupf=dw1>E@X<1$dYqOD| zkUH$YAaz5JHUR_eg9tA#Gw}u!biW%TJ`L z*Sv}^dW?%Gw+{&wBH}FU!Z+Q7egMm^(Og}D*y0J<54alV237KZxXTZZx@|8Ho0GTk zx5(}f)c6y!V{kQ|9aX8_+(lD*s~Aq*Cc7b4R1{jBp|$Nl5+F9e;pj+e_<+*c`&3Hk zxn77fyAk~*a$aL??n_i)PKWrW34}Tuh6zXBA7*?dC1B>-mMs?cPXZ1hun`?$;R>v4 z;+k=U%pJRctF75e%^V%`bv-coit$>W9V~^nF5`qKqHez*S}JD#<@SxloN{^&iH%2< zW=pig4fff_P&fMcUU2O+qxlyAGu7?lc8E1EaC?{=BT+?j*hb9~Xxb6}MU+99vBnzS zuGeMYM@3k=QsvQ3@y~^~`huxe-@(VDJ>%p5rVgcN4K6he?O{*nMla>!?S+{o3#6)N z6DB{;snSn%rFmA1&4vo?VFR-#)9^RO9_0<-2i=^Ptd4SLBvyS<*L1cNn+g}{e7Oz* zI!%oLprZyY?sZp78d}qdyL4~nOu&hwyEP#I3RgN>1;UTsIhxl%ctBjb_`hN zZFK3WqsXj!-o2o;_nn>5g28Nl%C(cCy7DXs)p%>~JwTjEvqR%wVc*e?f1Q`m1!E8s z-KVhwfsJzFQMj7FR>GL9iQm9ABKr^aBIgb;93{S}gQ~Lq^MT32qG`>o+l1cOU+xe( zr1=zKLNr^HU!gTi$Lz{fN^Mgm@06Yp#6N8oYUS`W8g3q{OoBYyAV9b8(?IV#F`(-J z`j4u)!h!g&d59>-Yw~-XhF^FB5YGc*->qD7-x#nae&}o?@fW!>He6OwhOcj*v(p^O zr=g-oCXJVErsm`RgabSozC`!w#_9(p8zc3z!bmmmG@5_ROJaFx&OhQT?TAE=+2d%^ z0PWqvc^iuFA+`gM&_OImY=SlS#(9ahv|}T_ofqzbv2xwdiA4I*wMd z=b~jlf`eXd;#L5SF&73f#~O(V|0CvTJuD|`Rf~?HK2mKKn$N3g73ym~sq!b-7fWp& zkP(NAWec>3IpL7IYFSJsL=zSXk~$^DL~~9?ilY1GIR7?gBgt$YiSs)_7xM z@^I0&Pa}cmzctw_3Fy9{H3Qc(M~o0o06)GPF%!vBx5((;x<$%+>PB?CqqYvm!1aiK zTc^RFlLn8>S8S+%2UY;4b%`%uCFu9mT5zr?Cgj?UeT3{I5&l$)oDS2~s1ZtMrpvSt z);MsvH`ZgjSx``rt)Jde{62dgvUN6pmzQ(q_74rgWm_lvH`!12R5v2k#UfOIW|7>t z0&aRa$5d=xHK#jBtPhW~d1Y-Fkld-oRx$h}{$5Sj?F4&qT3*%}B{)n{q=%Y1X;F|P zYm&agu@F>EO!C*fo6FUBjbt-dr{6M5xcz_B0kzTrfqVx{_|zQ`!|hr@qLQ$MaQ3wr9JHem#ED}pOlmMP^&)#+_) z!-UE`bgDRAMrn}~(0>^(JGgH9O0Harx$v45Y92Bn`)?u>S2!TrYunt$pP0`|MS9x` ztuvB)&Xup%+!4R|Dr5~i& z?TgWT2}!7YW-6JaxtozkOHX!av)^ zwZS6O0~aODybkDE-f1-72;iXG4!OI83_zdsy4uTq_uZOj=DjTlk)Nk%bsoz$3cti; z7Al0;Ly$++`m#$3xO*akAV8!YDyB295U-B$rU?-?xnbNpCHsS-`J#>H9}Y#HT1}Hu z+&D9|UcCzLwq@YgCcMQeB<3ncxV4bKnYhaiXBxDMGfyLk7n%?i3F`64nFxx$6oFHU z(m7%{7ILhU|Iv!3sal>?99xs~>7YI^AEQN(jVlrKP0kY(Oxtd* z<5BKt$-;|lw|`cEnzrxcR&=5|?dx#RbS(TBa5Rb-&4&#E1`n8-PLcW!odt_2{3>b6 zaa^Q{PG*oT7`ENMP%1p#NBM$7V!<9K9ZIZaolQdp4Vn)~V5(xoK+Cg+eqr-M##$`3 zr<70F3FscM|NR#S>|YQ@175o1Rc^IuCWwDjuS@}|&L0ZwKn5q({&;$nxf;05Qj%UW z`Ya>N;Czvrq{um4w#e;4Yu2wWVWH}A;o{#TG%C{iA&!wZ8LKZiM;6alg8n^0&X%v2 zKZ_FwM;oiRbCAU8z!zT9rvqaz)u#iadD5o?1TuCT$&WzfppLjPDpYf~h*6E^4DXPs zzQqH|TCebg9tTLtR7ghyTY6X8(}MV3z)Q(Wa3JdqS?5R(2Cdo7pyZKG2156R3<5nK zt0a{^a5zu0e?j9Qz6doGEDNruSXbtPKQr9cupMa49kn+BOR-y7r-1>=Al333wV*Kp?k?_ zzJUUIdg>|Oo9b@qDa5*_wc5GMiDTQ<(~qf2Pe^QC6DdM!a&V1PlLmmL>OM*waxcdd zx$ZJ|Iy{G?$X}-7mvK?I$#FTj zQl<2PK6jNWdA0M-XSa3s%qZQnBHYQey~S)m_+ljAJX>S{4sKMi|K>OyRgDlD0I}I~ zJ3{k_d}Gbzq&_sCbNM)Jk+IX=)(DLJRMmim{AIq$%X;-xCrf0#$lsd*pEx)S|0~Rq zMEY;;F4e|v<$BY2pnnk8D9Je_n4Fq)1_Ru@4DhHkX#cxn_psgmJ4pYSl*amO){I$r ze!)MDET!A+7x;`^L7cs?u#WgX6ZhYLj#8L=Z>}TPZU)9Qycoi3kpnBkvWDl_NaEe1 z*m|ir>%W%gToc!VF5X-(%U9438;;it=!q5!b}j5V2pcaf*SMZWJ0fJ=c!v$keCtj6 z6_IekhmTBX=z}0#pTwCulGUr#(o2XpcFRQ%#^qpXy)5wc+(-j|P6Igs5Wj^N@XEh~ zE?Ze8snpso-N%sl^g!u_b>6lCn%Lu0s3v2q`#bIf$KEn9u?6g(>}|-np#t;d+6IMWe%*X}6;qQF_R19SM40 zXD0U4;ktYs{;jtTSAT3BjON70WGgWs<+J2T>)B#u$`Q||X{`U^$vg@53Kjm$G&D}Dd zM)MEy*)!x}g)#%HWq^&u65iX*yo@+wmp_Nm=rh^!tjLVx=*Gc==_KueXXfGEN!A`< zV|fYY3l6BX8nM#e##aprurk5)aA#iTa0HMTARRixX_T9Ex=~$rH&ajF?zZ18+@|d} zxa}EzVI+hZ*lILyWn~TpUJe@5@pD|1DVIl~%KrgiYEmgR(J@}xbM8UR^lCJ<)S{TiDvpx&UmF6mNTc!b5u9Laa1XM}ic!V-I(!Y3*80;dJ zUK~LlVXRE|ce$pgnty)7H=HK=Xn`;fsam2AXNqFkBT&ENwc{?zkMl{WKyv4@!MUx{ zi?E9K@lwR!i$lq`82{6C_062-UL$ih>3ZPkL@QQ-RhkK5{nM+x(Y%cfG0oCD`(8fg zQeeuOC;W}DmQ{j|M>7d}i+K(yWs7+_*F23mSu(?J3NKFm_W#j=r2%~sk6NV#w#TGc zPoJ{t3l}@209Lcc;6|R8KMr^L%%?lT)!3;U>FlN1p8JeM9o0t&Vy)2%WtoX5(i)Sx zR)1n^B*n>v*1(QSNmhw&sEk!yW6Bh-MnqU}kT7!?nX7PMQIRqn(@Xahdg&SA^;_Zf zr^D-?uwaZ1?b%0sY;Q{UPxxPKBACB+6|}%%zjkZ63k4jj(eS_DOgQ}$g{3R3gRD;; zp=~TEdUtgmPkGwotO=QKaI!%pC5Xk#A?s9~QYXkP81-3Di{uwM+Q^)w1>65jVbjMB zl^ob3zWP-1Ci}y?K5i}Q)1!xq^;T7Pm67}dPe=Bs7h}ENeuTVbDv@!>@ShJ!!W+*J zR_-aHV%!C?W&81mApH!96w&r?Y9$wr{d&Kos-wn}))EK{f%hUvQ!$W$tAi(B%fLftj!5i=IN! zdd2Fr14q?DwoUoPs_lPY3!`~tZ@I&C&t%f&PCt*-g@bN>gvK1?3aceyE72145TL`$ zp)Rhpq}Q|k{av}O+}mG7+TOF6_SUbrt^ea<1M+Y|<{-m*NxryWO4d&4HBH%jwo`qD zsc=)F#~C-5HS-bHl1z4YUUlo3)ayxfbm}KaEi^I@!;$U)DX7ZL#Gzti&Fzw)hY#Mp zu)qNt%}sofWhuthnetNn4Ll{cEb;DtNwpFc>=1Tj=Keos@rjs!!r(S`zGk*rxN1n< zqfeo`nwJ&4)c3MY;dunl9Kb!IeNuD8wl&<*-kp&>52$CqOJX2QS4D&nk>Y+K+y@&735g& zk<5=@bi|2s`}Ih~uHsf^-D9WeE1Rua_U!1k&Vjr8PhN5wgI^BQx?T2{B1cTh*_Tv6 zpU~6+(u{Y*Cl1w+@=NUT7Mvr9&56jzz&a%LVT&WpsW^6Elm6MR;&Ke&hz;e?Rm6o= zC--#Dg)FhsQmw$l-b#2;eafes9)3ZlbYA&S%r%pz6mllN$L$fiJ@${DM78sZG-b^w zqEW=#_41RQXrH}lpM5Fr(Y`9Se6v88&ULxxg6h2}z61@?JS`k{*Q<9Tt$)Jm){a^? z#*?|_yL+~P&Pi__f^7%=L=UzwW^2*7tflji}5Uk=>ak#2VtwC0qRrnymst@vR+l# zEKW|HBjCJglpFz%-_o+?q`1_Mi4~Z+xPfpLy=r5!%U?#}kPDRGr_mbif5JXIQG7XI zh`?Y;vqY94EwgkY0vC(0r6pNI4wTqYTIVM0=#7U_RCk`j5niIG&QsL-`5n}O%X;T> zzrH-Qj*IB~Kgd;gn^rJxl3`wqPQx%>XTRh0%x&u>jqaSJhSS8N2}}gbdD}tI_EY4+dwF0v~D;8mbwWh$fm%D5f^7;y7hK_o5r9X-8<>T znqBhlC>_k=&qxRJ$Mi$b%>OKj3u-a~x3Az|pUWMWRr-`_o|#@X&)#DOBl#9Ro9X1w zF+KKKX{~;fBZ8hD`*^L@ot(CwTj2aogcw6i+#lPZ*vKP^-EUBT$K^yM$g7dF~XGW3DR@9d51eSVL#eVsPPL0Z`)Y?!MRb4{|1*G(9pC`RHTq}S;T(!#_`8dBx>ten z1{5e|;bw+%skK-9wt#`6IjPy1yyj$T>S2wHYuPjOQLpadA@%-6vp!#YR?ziYaPeC9 z4u`PCeA7(4^^xg+)eO99BnHAa1yeV>gQ*3@shf**e3woBc5G0an~$Y=%)Ddx`;{b{ zkj@dlj{uaa)68{%q?OqyDDskuzNAq^yknzGdKT(C`GiigbFyb0t6G|C7cAG{NR>tW z_6He(z7uM9!!cx1S3}6;xV{DdgDK?*$Bx1Kk5}$-K%XeuJD@|Uu^RF7xPyZPVlL!Q zrwZFCskxAMye{lRVSV3;OsWEO2lIQNcOMt}SfC#O`Uy>0!Of6*_GsJ$U5`M|H~y=D zp6&Q2#U@*0sF~QztyYOc;}_N5SB;hTgQgkT^nU^-#`)X_6MOb&2-N<6v%=lG*4xc+GovP=`p9+dfv5pp!!Tlz-UYmDLx`q{_B z`A>zF%%uSWwMqz{@V99u4jv5TozI^6>k~!BUuii@;ZW>jOf_V6*R=Cw4lu>IM=X29 ztcTsx7}a6i+Md|+k-wYiF%NGg3EY;lQ)1^GOnt`_O#K_Qba`c`oW?B z!PLqao2x9IVMGLWk(go}Tr?A~xLsRtWF2~>N1_*jJ);OnCZvO@_zeWE4Z7R%bvWXn z_rH)G$wBWT3IX)tMHf?|gtjFNf-Yhd&D?ma?C)}EJOd(#LlarGX8iK%*fyi=BZ*N~ z_IG9aOB$;A={r{pBb>Og$1{u&g~j~XNn)g9D9ao-@ur@{M|Rn9hK=qu2kp>*yZAe( z%dwgnn_B5=a=E_ZI*10rs&fu=K3(6^yv5kis(mgQ!B%5KC(3u3A@b>1CFbT@giQGn z@6p&otlpLu*#dFR%*RDwmKn(E8Bupttak>`A6ti~HY@NH+#t>^ZmyWyQRgWxrn#j- z;=9^U{(^HR?Edj~ZPiuU5AdiFUq6pEttZmt6SqsVB9?Z5fm^@X^Kbml91|ycB7&0x z_1T#eLP{{K+`j2XaebuSemLr~H{Pv7`eA9aC-V)R>Z)4w%-4ibqro&v6rM1Q=FBIw zTgx27YI!)UMv3`FH7*HcJEy)X6C3fdugJb>qo9sfnsRic$b5&twcrOOH6M5cV1{dI z>7sVHMAT6aKyQq%Zj-M%?!gQ^v((?=*hmkFs4HtDYKbmZeU;o8R_hkv|5Lpv@^`b= z3VTHL>+YZSw&qs4RH`nm(baca<48{Zf7dM#@ge+GK6*`&{Q%OTqpBY}w)&i&9a;UM z$5fwCD7Cul!%ngXg1I z_N6(_`E{oqqFIDW_^U>-?WktI#T}-K`Ju#{ohXLqe%w2LzZd*Sh1NwN2ZC*RY~=U= zlxsr2lu;w_cT~l?>eY4!{oZ?678R|WM{=#Y=TFK7#p_ZtcY6zk=1UZ}?a$e_I0a&G zxFufMj#PV7<@HTNo6IQn^=2GxaWAAxY+@8<$P2g`mep;T8uVJgHlplv)P388JPKsH4 zujGY~UoAiIuW5#TkN#M1NAS6CHO;brAkWkQC%^m`1D$PllTJh2b+!OJ-lQK>t~r!5 z;Tik6L2~qPSH-OBd0w$eTr6paz}J}KG`{_gNhPjkZ;4B;d$_uXmbiBE8$R6m4INS9 zx`JS^HoyNkwZ!!vzosvhxE6o8#Il4%aC2SOz-`ANAKjVf{dgx~x8f}=}ZKjh~s;h+9<JL%+i z)tD03)xHwf)YD5`ukhP?h68ujnI*0-RFt?5^P6~<^KK*8p=X!4zRBPU7C9W?|C~^H?e&=!Xn&9{7BT%Uem` zokKf-`ANU2q>dO4?;3qJ%Tti%)fbIl?cg%}%D~Gl? z1iFv4;!0-Xgmk<3@xi1xlJcZc^uefjfcUH!j?1g|qk@9rW~}EQz&KYoy`qGEB-nc# zuwkuXWtOWMo)ZCkEWAqLiOzI%wy367S30J!^+y%vD%24>CLb`-$B&dxr)l+p&KS#) zQ`Ip7`c&uKz1_5+^QIWW0E-hbv%C}_QFRG}kn7 z#qtbg*&;AzsRmZ44811)`IyUuO3{wmu*=33k%YTH5Uh^OGLjES*&-GQt1Bxvo3l8D zd?j|OR@igAq`_=di*Nc`$HyAEu8a+viyJlE(>{;iXZ!1@WoCC#?{eH{Pn*r3$>okF z^|Z2ur$~@@Xg3sdtNq}0;`gx=v&GYlhuw2QiDAaWmllh%L|ysZ+}63)W#Pks=I}oT zrOU%VcqP)W`K)XhE@tKlpD0!0p--)P&_nyn?`z26q8hP=%v! z$NdpYfY0{4B($(IY`JB#K@~3)-`5kuf#({}rFy>boQv@7>FJCF(hE)tE3cSCmxa}! zu>ZNRdn?EG;2r)L(+zKi@j)&p%Bbr~4aHktRj+@1arss{Q(QpHc#z`Ygm=SgXg!|u z)ShtQMMDSAGBy;87q_a=_zxys6)Q0}T$AlT>E_sQb3>E%R?6vcpun;{)*Yq)trYC`yue!f|%LqQfFNY8Q)TL~Usj2pJDhq*b z2yYlS0xX3sFHjSk!Ym3`Uw4hhYT_M)VSE(Kji-w@bYdy&l6U}7#QuHB)N!`MSivNI zA}zN@6OrY#&G#J?m6af?q29d34_+O+gwbkT%;q7{x;t?ox@dHG4*dC=L3?JE5JE%k z<`Q=A%DusMA$!4uoq7K$GX8aBif5|g2l_91kgwvxaA(7xvnRz5Rx(z^&m0s#cuowD z4V+4i5S;jaSdFfTSQsp#@Up42T^o!Z@n&5E#Vz6|r`(_RpOZ!Y7BV~c5=5f*(#!S4 zkE)^xSWe+<5cJk@Bld}@P{MJ%c0)xtf&mLyGb8*&0c*@BVQ<8K*){1bqxm`RCsm@P zF4swoU!HVx>l77fj(y@zYWDq`6J?uCu}xYwk-cR|qc+L)y;aHtvT%Lpr#VNnSc(O+PQomFi&&7;n z2Y3@-Qgl-|bxBd|Tk$2u-;7<4-!S~Lm>Xri6T6c_|Kg#o)C4yY-2)rSxOpnk-ETp8 zB0VtC?Oot)ecfZ`wz@kRWpve-6VG91Y@`f7KFLZaof{i$Y|M<2l?AeQUAx+5K7y{- z5%3v@f&T!0r@Ipc9IOtO?=-QaUp|PQ0{;Dz&TU*@uXf=niHNy?tu;1utm9=F6_{KU z$+hA7Yj1sEm$9myuX^DoXtERLEH&v2vyu8%+2kn!Z8 zFm75Yxw^b*3a!O`5deZ1mW?8D!yl{5mkz6*Rn#=t*f6Wu*bsKNzF9ixB{O~j>!d_v zWBz+%9%Ey646bIKj-&&`pdztnc{4hf+B<8m&7sG1)3SDB!?YsO99?P3Y+NHgZE@$C zeZfJHLVOt~{wg69_7OtC(Jv|Ssgs=WI3bpw&?0=I-VFi=t!Zd{6CNjYpGg!267#=_$i_62>VFc+ojAQ-UoF|y|>iM4e6`4b%oQ{ZlQ`Dc`-G|I=0$3s>yl>XHV5_@ zE5`vWsBXkW?q8n@s;0+?Rq(Ki{Z2JKfNPYPSA|}*>O39pTZQTXDREf8e5J$v3*PWa zUZO3d-@ex2KIx1;Zyf+{cDR2dl_{kCP^bM%hkFZk?0NfezSrR% z*$X$(v`xSLTZemnFWf}abNcQ64)>|Oa1%|t^xH!n?oqvO5h1K5{*5n8#6i>q;GxmE ztzU~bdHZ|MB69;D2v_O@IBLhSD<8R+o9x$iWbkbbBN|G`@&qE{m4V4EIrHv8gRrK* z002QheHidn2>|@Rrv{IpY&_obC?SJR`pr=Mx$@n*jtS`a>~8pQuxzSjZuD-d3vRpf z)K>NzrjJR&b|VOri22)eTw!wtruSv_tUO;=UNf+(af-3={W09cN}?>C#SMgXM-&z= zjTm*E5^O+i^KT{e9sF_If)Zhpkh8Tpo4^97hKD2&d?()R8*x@`dfHj0G{0WjyGhaU z9E0p7Fql=ucWT>V%hDnI^ue&oK(8CG4-)~XXFjMAo1>}Gn@z&eOm?ccBZedXt2hMc z!Yh}5D~4@SC4x&Xz+t-tjt8VW9b$!TXI(ovXc^frFW3=;IA#f+TgNGZK?saMsC)q@ zj3FP+W^uxn_7ENwa~CPXI)(Xw=@KKM2^>>E_E-+_V=vLW*wV`r(kl)~ykTQ9AdJB`!wi@z`*Q@~BhF8)+z*p`bp@NnZT2c$;uCE;u5&Ho)vmC$sLFm% zlp9kQ&zIzHYDLE@=1KA^Bsoh3Ghop?ezUDbJ}#iLgzpjls;82&w}uZWN2+BEHGTYW zS#8$x!xgnTn;-VBE1ZIh!>N)oF}AQ)h=M0i*Pf=IM3T+ZgJPXvtyu3ojsK#468@HN zBb=v4oTo22Pig0=Wr$8GGmDfjV@C{>F6ZeP7G|DyJ5Sf@d_Qn{Z-wo=eAG#@*Lk|i z0p0C9{Q-k|vdgXw(C0Z%+CVf_@?9sNmv77m>j!(tg1Vk=TW|lQR!C`mpLM#z7;FAY z=9^FNM2Tcxh|CF3EKXx!ey*&1G7bzDO$nSzkW^7jZstu${W+*ULIJ8jv9xga`^WK45j`JJ$wWepmaC3sT(oa*OIC)Z6=ba zHKkNJiD|kgWX&aP91x`Q*OM-qkF&{nOzB0bvgIM`LaVXmf2Ud|E9Ha`m`n@A^dhLc+O5%+ropKCZRN}(;lPkp;c`hUCqO>rY2 z-9OHP#dh32>zE?MycK-f7?;|(rXGd`*g0szTmq&%7$A!;A9CtJZC-LjpZmk%_n5$RHDC0+3s3g>W_6@!vv zr}s@#B^BQ*i5!y&u!1J5t4fhu)-qLW<_PYeH#iJ)*M$8eE(?s{m<^nje-Wie-S^ZC&Cu)aRe0OSgs~~0B%l_ZcBsta=QL4sEE@Os`g&QWWB#uei>`~2%g{MwzG?@RnS-53sRZVW<8IO(b? zQZGQPZPy%0fZ_Z8rs0pg{=E_ZwLjZ>(4)4tX2!U8xL?*aneYMJB7^N?3HM?^gbT_K z%+!>_n6Myp5(Arln?uE}>_Gk&!NnI7q9t+I)94vbWbX&%O;Jk-;qjlN>aWIaArBRE zTK+fKapx`qSdDJeQl58d9^ML{R#$I=YiQiG7?zDtIJG_d{iw)wFv5in%3K+DCQuTa zD--Rxm{{~V5WkF(l9~7rA=OanH1IHq9$5+ZLWD8mNss=Z)>9T6_(5%HnbG_jWq#no zO6~>SxwlJ42Gy()!hK#!n7Ci_T#z@Y+aDhw3*)wsKTKEce~C@&(sNC>HyC(%`RMpl zX}%KRHyBv^2zSe2X~W(`X_XZo9r^!Adl&eqs%!B-$qXTozzG^LDwVOOZR~JuDyT^Z zbxv|7oPh~M5sB|8Hii1aWCo%F28ICVo{rM1t=f89d)s?!AGdmIFCey>1R((gf>yyd zsI4cBRJ0YsbN=78&zVVL+t0oK`{VN=v(Mi9?6V(huf1M-tz-vyhjZ<>P)a{xr49U_ z*}J_MCJE{x$$I`K$$?arE@px0f<`_FcJ*Eso*{VE|H z(d(PVRrG$*ETxElE+E}cc2;KR%f@+US6%yoM1GCs@9G~>W8oJ3kp6ygT;tr`5T?Fn zY^f>mBf#$rr@M%7A8y_@`49@~ikvt%phXM-e*_hv;9o%BIUQ10Jd&h016AC&yjY19 z-7OhI1h2Lzbc$?QK^hHcS@+55d&l!aQOxNfZCZ(aR$?zdjx*QI?r^hvoN4a!Bkpqt zQ5S>`<;+U-IzhLr%`JPxN~|UOai>IOi#tixberSzGQe7V3kkgm|G3a=W{vayb1rQI zK2yb}^Ab6XcB({yQc_|2v9eYMzz(Nlb;Y8vJ^RmNgr^iV2l5k%yqqV+a*zkmaVZ50 zr$D`}mkTFXf%=8hWK4{ZVG!;W)z+1`KVW%8OK>wR6m=)sH4W4$QfGo)(`dze20+R1 z1$&&!s3P%}Xa}?=NLSGi8Cq6;6+I!sno>p2f`jGkOx`WgEx!VfEM!8xuCCm0EZ~Ku zwkwvJ8jf~;;E(x;R@9;0uM8x< zrXMQ|$NP!TSre&jidlw4K1L;cu?iBG%eecWg68B7gLyjKZ zo{64LG;;IcHK(j{?oA#;6Fb%(=u8(ockqDiSTr@O6h26B{90hNQfe!_Ds=%pI4jsu=Vm;vP<>?oC^cT)5-*T+N>++Rl8&-m^MwYl z7gQV;gp`6gVUk*f7*mTDo;^pn3K@Tta5na9TDw~FWG4th)LSx6Gj&&m?B+(pzR0f9 zQ~pasy@@)-Q5g2Fm>p6Q-zB0aeg&)jeNC>0{;fqUxZ3itnj#d)NniO(zr0L{KXQio8zJKh;tD((067BV0gYntYc2 zLe_^=4}@*u+fLB!)Tq~P<88`;2?htCYagdppt_0|cEQWA)I5hC<)*W;Ln1ak1QD=Rr|Kg~9 zgD@xe33Fl_+kyNE+YRen!^WibLE4nmlO%(n>;8SK4Koskx3en7pO^cOvw7a(80)dDv|3NQd@n$!?BuSxC-0;f#SA zb;eZ;rLT?DJiIr&XoTL=lHa6$ojtbzu_p{%)LycUdrlL!DGD`14=c?t_f)0)%55Aa zMM9P8TJ`qik%H#a*P`apSLP%xL<5JC3}-B4xBQ8daXbuKj<)WUb9*<4rsU;;!@bCk z#t=Es2yJhEqE9#hIe0sHTr|Q)efU~vla_pmZ2ZM($*m;hv+%^JDTtzr!n!?mTODa8 zHWs>c(HV92X4m^%Ddd{%$Vv7PFR_Bmsgarn@XRa_IOkZ2pXurQMJ<)OBDWydOhw^d z2u65-%j&$Aqj%R9t6zI$a8uIBjZc&Cit=HgW`~p@4I_#oQQT8kmB#E%pHN;~{E1{W zIx9XU>Qga=)!I1!L-xB(gw&EUjps_agWp_r^6mda;9^$oiHslA0g_XU}?)8QH8qoS$RMa*jdX(YskslSMXANsA| z7qz?XN;B2qXB}s+MU2KLoUii%dq$COGY?kH1ZR#s7kZDSPOU2Td(XwrMLb(ICB%AX zBN0+Eklfc{)f|)^^{ez2_)|Abay0dTd~>7pz+3-FJLWl^`fsIoQO)R%X~w%Y*QXZx z+YiJSG_9?%r%sKgZuCceZ_>X@*V={l_~7o~SfrBCZPL?cuav0>FDV441muHn^_SW; z6X16+dcvImeX?+9RZ~I`QP`hAa&tQIbMbD`Ftj&FG~KC7p2*Wyd_$DzY<>{AB47Xx zwc!Q#i0xzs`3$Z<@_gCprE=;8)as*lx>AnR*MO<{aJJ9L$PoY`mC&D;(Gr5~NG$cV z%tg$13@(aF>X3nBU>5!|xdZQrsyQoPw?;aj2Rlg2TREhDotv#GHJp6PA~x||FB2Xb zr@vR>Y`06%7a}qkV^;@)c~#Z^Wj?FgZ;!U77x||9t?BS&UC_F0y1h*9SE8x8sCBv# z3d$>a!Ri37EX}-9pk65&dA*Fi5!^!1 z*WCl5E!C+K#He+>=++CY%O~+T*3jyR+JqHfvNMorC9w(0;j3io$^Kl38v3^9?uTSu z!h(ZM*{JIDZ(wma7}ToBeq<}6CPMJ8l-NQpn05ARim*X^^(TED!YOn&Q_Eze+NwW- zO5~(NYCZqt?gPlSnNyH-o8Xx61&1)MN}Ls0c_1-9qCM{;NVN9+jJ)u=+(@t|YVYYU z;khQy?&hZu*BRtuRmLodSo)T=#93Vuj02oqY>RZ_VE^TIwI3S%?m{Efv-B#%n(ptf zC%J5fN=8ttMLXXe5%ayo6dDA%=&4Ixu@6N!L0z?C|2QJfjw{x+an%9-Ot0X?M;e|d z?}o7f^QSlU=cT)&$xUc^4Oh^QK=dF$E87!cNOv>w z*7Dyo1!!;pFKfBTP^{%ojF7*-RGj0ez7tO#OAo%xeh~YoQf#8s8Qg$W4y(XeYNfi| zu(1bm2|L2s!&@=TB;9N|D6V01WSGIa)GAT$M6I*6^)p*_ZVVuE*4ACM#7y1aMu8%( zg?;2ihQa~%J~t?z)Sj1@ z2&kxCDyLG(TJ3o`kMhV*MT^|?ND5=Art)-0MngBnsXH2Ie`X;sOr^$X?+wK=1FRK_xKkARQ@kNn3ns&Cb^|2wFL2$Y zLn5ST>#v+y)D*n3wx}uea+5amWxAH9t$!W0WAmHx&L~B?G9B{T`GfP}y^qysNvuf^ zmKguw{n6@uNdLe8zI=bGe1Gacc)w7+&zk(h_v>_G z2!Y@fESDUrnRWZ@(Hj~4F~-JhsL;2iehg-EV@NI;6SGG_LiE4F!?H0+b3)j(!*XFR@fWY; zSv`#q_gaXMJD3OY6&^aPZU6SX#|M_F- z&?ei_X7z)6T6Kx4v}y@8bo>1F1KP^RNuppwgNHfcmQo_1)jF~sHc=!)m+D&0rJ)mx zCX4TjSBa{WAGLQxeK!<1|Aa;zPIMvIKx7fEMi3ua;zlGu4M&5Z*VDVCLHna<^26N3 zQxI6{1&2C|6C;vai9)O-_8b@Q1K{%qS4qh~ z)uE>3pKyCZRtUlXijV3WdT3SRR6$)3AgPy@17t(DzwPt0}*ZgtUNKX5lp`^ zOo5UKD-!{BxpN-(%A%ANfVbo|IS-qm3VBb;m^XyHLXSk>`pWwQC2wSd&97*3u4xpa!^KK6r-|%_F;hB(Gj&~crNlpkA5<(DEyip zHifujFI)A+QP`5i2QdrAJlRE1$=C2x7(p-KZ(iYbcyR$%5OztKu8>n5s|t$`?h)kM zAjT5Y*i+He^`*kk&u|Rk+-4k%26tG&y5J6mPz)p5c_cr||3m(~+ywqlz)5(hbLklSmCmCRlkXl+ zb`|uGPx-}nI2KP!F?M=Y738M7qVqaY+RbK`Cv1rXCzRPViONb3@*N$OmHjGhZl`Hu zuxXvP30u9r^T@>H{^JN=`^WRqOzWfVovI)=-D%Azk{RdTSr2rcuYV%$9nV6DTVfC$ zTKM!=*$$_DSDfg_eaS-17k^UrIIAgf+7!Ot6#gBLIqqc2w1$pqD_#K0tJxOuu4q4^ zVjO4M1$9C@ONbcu$`?fLYAyI{T?&Lsc!N|ltlQxMOGnKVK5pqR3Vnr<%91jF4*KMW zR72XT239A7-{rDvvAxa1|Da%DV@!KWk7>W{;&;^5p|`b_;<*dSZm<@{sbz{0Tr>r! zu7tiFAzHG%rhQV;!!a9(zs$s^)yl2(I%3~h5wX8P{W~j+;5VkgPRa}K$I)KD$ejt9 zogQcXcVJHqF&U*dmGNg`d1XUYa$iGT7anq6#q7T*4Lb50qt9-suJw z8I`eA4UF^bQs)s462XVyK6p=L`Yu*UoJB288rGMp2x(`V(n_l{pZd~NBdBko2t4%b zvSLf_H+U9I%Rdy_0y+2@H=gF20k16UP&s$u-gT>ivc|rt)STBPHu9Z+%pY>}L{k$G zn<3GinrDXoqTy~S%l{wJClq7vjp4L`xq4?RiY!7cklEnUX;zT@8t&}@$qM>9ptZNFMt)f)W?eCRCz2BRWSnbDMIUkdXi-q0 zaFAZcUULBZw*d?&Ax6R#%L=)LU;@CQJ&QSsN2NETC<({t;(Cs;ifDRgwDZsT(exG% z-`Q7vc&H22_Ivcou63Tsi+{rCzt zSa^VE!ycQ39|)#yqiTA^efjB*(B|fYZ1OwPJt7mI&@DYrRl_Ub@u#Sph%$5;T{ZEm z5)KJni}i+HNfc8>Y8$~B6%t3al3hltdtf>fBkb9g{a9yJSJ+onMnXOD^5E=BL$t_S zjbMi}s~Yukv1w1V$Euh2ICV9E`|L_zuXR;Ha^{B|rdz_% z6paCFwDGF_%RHff4f{8FE{I~n2-H79p7l#*>tk5IagEv}^oCHjLbf)@nNlzN0Y>r` z2nPruh$wu=Lr8IFS72Bu*S`pUN}k7C;0u5!5Z7>V3CY-=#)t(hJ0O5-hITf;OPGX~ zFLBLMYmZRfo>hSY;Y=pcuop9}xW9C}(RUH0G5aI67ft&{$lJHvn?HwYXr5U+*6+Cd zzaS%(c?c~a_$ajHzOjaVUnSSC?OQ8@2m3X{zL%#%_MMgJLW76&;79szsSkH?negrd*>$7y06=s z#-!W_l0KH`5dtef@1(!&HLSS7qP8*5Uc17Q$+WW+YQ7b**HN5VsLZNJV6XOn0h>vC zl|rzE1^+;`DdmYQP4b0Cfr#rjWtwCWTAtv%54{sFwr9x1c7~;YTdW#*l1a`gK(UmwN4_-qrKYu3y?44HxeRlHRPY2)d=GCK_EqR< z9uzAl!#+Rad&RI7bEvILit&xiXr=vqVaN^p4gK&N&{;;Xx+oIbw1gmr1-|VDQCjZ* znS2)^n3_|3O1nKU?4(GQU^nHeKe7tBxu;_7_CWJ!E7$WDSEW1?AV{gT_T>e7@D_U{M5fe$5e@F?yI#r& zy^d*3yiPw9DK1Ei7p?tTK3*ptR}>fY12iqV9q|JVx_x~S66f;WM|@*<59q!~&hBF% za^Lj@&LfuqB97g?dmy;i*DqgW5_Ic4nSvK+k12SXzj`Qr-^^q>uteLP_I;$=>Es_e z`ec$*b%Esm4*W<@LW>iif5`n2@UvXO?%?L&E7)qh65NelY2M+zA%q={HnXq4(dNHc z_g0`^*kxZ)9PFZAm-x6UUpm&_mONUqbR^C3k5gT5K5>9OJOGsx8t(-Aib!l_ox*i9hGYFU~ zj3!*J1zFKYp5#7szQHWT4I5*}YfJP) z9S~i2k;P;c*7(oe{KV+^H0*qYTfBzs3_k+pgI&?4AUs^>(vgSv3c*yA<_^oY=J)%) zN=1EnPci6$7}P~@TYYDf^~8wyEUzg|H3h-=+4idaf3L~?eQ&b}(j+W-rpfJ+b*Lk( zt?VR~Jb@+>Zeo`XEy4etIwW3&`ds`j;cx%8zoWeV_FwLGwqG~eJL5I(OH&m=`#<#0 zYhr)@Sg&)8Rr+TpiAkQAG+AzL#=ihO#ccl`0&R)q<0#!{`bjJs<=)7CzuzCTYItQ+ z7?VO~UmfVIjevc*$Xx=m-lc=edQL{{dF!kh0cD|{xfxMme=VBA1pu2w&|6gOYK}&& znhtgX#tBAh%4K!dybaidhy+CFebL~5@~|>|5W$DwYLS{eCJUExpFKl~a(ShkawU|P z_cprk6%2XrmLczD_=-qsX0DR9WM5p)i-LmXYgk;A3+T3gQC`Iv7{=6i7DRiZ!se30 zX+FCY!v^j<%?re=dAOvRTLAkwc{smei@KpmsT<1eYFO(xF*~(%N94ipWxv*bNLyJ5 z=-FfO=A-C@R@n80xI(BD*5aTVpKE<(*bJGwy{#~1?<0H?rs6*+=aiQ(bJsXAhD*F( z(w}W3H=0Jz@Lv4(82F*i_i8BEasUPfRab-sE%$Nmhz z_#T5Db3V@_X=TvuVRxepm8w`*jpw7XS78i4BjQ)z2gd)=_hl2@Uq=Vo*jKp+HU$b?e@UJrK3-?M0-`&hEh?A39+}F>fJ=MkM%wp-tO2`3(eO zW#&AtW-PlTgU@td{9kkE@s-!9(OAY~Vb__)l0QuD0AJa$mErSZD-FO1Swr`dkAwoz zlgm&&i0}ZTkHjo>v?)_nGc_q}`q(7z$E#d^tIi&auCUawr$O`<_1UKn$`yX}qB5W> zN^h6*47-b$``ID21@eVR@VM%}a5fKADv13_S+AOf-!uf9WMYbEi?rE(efd#g>zWIYBqOJ}cGDp}fFJCSn0p+Y2no?>QoCG^ z$4YK**()Al-6Gu4@~v2_u+-%!#@!1y+Pda^F2#>rP6*L-PUjy-?sf_fYAdgnw%~&2 zr~DTw1*>jx=L8D5sWWHBUzOaxs4a(X;*jqDVACt3izHF^V z?r{la2*)ZbDBph}_zrJ3F!l)u!PXhMxjGmAjl#Y0UjzQCRl$zjm~AL-{vpfR|2;XP zQV*$f$a(BNmP|F~A`JlnSWO^iK1Yi(e#8cV8?U1j*vyCU6u42#sI9!zgA2LqN6(cG z7n^H3h)($$KxFzzeffJbWfA*10jE0Oa{^204mvqk7mKfd$Oe^f9wiMVCX*Y3r`eMfJB%&r_?SfI-cN z=wHfN>zD^PxNnl1`FMZGVTB7jL%lE_HTa6zq^&+dhnUP!Gf?A-%tJaz%d>O!^bQX? z_ER3sH469Ru}9#gkeeWe?3WjHaQN)ya8|&{3?uYbqE?8Z)9~dC1Dl7>nrLXxq6>5d z*?OudS3){Qh*sEq1M|m;Wp(qlnpDvlq}K?GiLT`E-u{S=OAy+O&y?oyMIYRur%I-~ z?JcgNdw6@8&gu)ecE-oifN?pn?G^5o-Mes}A=lPT_>(anVYtgV z?}x|I+Pa9(Ox?imqLa*Q1dO7vK<6Jp5I*pN9Nw!{E8wb7&*Gw#KQWq4pt@}tZ0hYF zaD=Xw^EWw=yW|oS5mhevmZcZ8bu%y(xt68#seXqZ2vECujH{@_F8}*9AvbO?(&v0- z6M_p6sJT--Zdqza)o0MoumW zv#?9u`1cyhw8!>>U>xKxb>gPH0k)|xh^AUc+gvODM6fMUfoXjttPy2qzRqWiLi{z& zO0zSTACo0-Y1XkcwRdYZFN?KWuyb0f2m*2|SN&Uzm~WTbKeVFf)`rbeoiX|EF4(Sut;y^9N$AC=~^ zV6)TtDXp0H{Za*ECMl$mFi|afnB4it_0B&qxsK$W9FoS-ugc%>i=Y4e=ZE)W3T}k{ zw5Y^`>z&T!wCXh{20|Yw(tZcukUfGh8&gF=-Seeg?B(jk?@cKmZ1t0vUm$K|_Uas@ zQl7`BREC@v^^&99%YlNUMY%dS}Qi{`C78 zzd%!s3%#>Avzc}}-zL{ybeV?S}wfoANlgp>Xlbk6eR{fUP4=@z1iMDsZ>(+ z|F+tJ@A1h^!hHQl{}uXSFgc$dY-K0KAi2sxd9b$Ly=n8=PY-$N(QKR8)*H+=e%EcH zfc`;SakZI$>88$MrBkNr6gxX2telI7t?bVlo+T9{vY^3Hmmo~ut z8gnig0)TGn)J$DWS5ARPish6*FvN0B^Gmq#; z`B6hrX5W)Bc1T+D(oBpCy)y=(cSZ(!?a|32>6Y2ZG3}QDU#$k?J79JDG(uEF(>;;U zwwCi^zD@A+G8*tzSm=oYh1C*T@@Tr{bRi}nySFvJWt~0*S7ZqWK^%<8gI6K#q^bV{ zyy6RIU9~v2uV%;|d{r~zOp*bsq93rJbSJu72yhR7Q`16D;JSRV%$N^ zoG#m)g%1gcPa6T%!r(@j;6H*MRGJx9Y12*$`N4_W zv-tGnk>ci4lAQ+!DGNRHY8J}3JBJ_Syq=6EiBlV1A8JpD0qOoeX{?HxEMlvQ))(XEc>j z_hDg%5z&fCii2W=g8do<>(zTFu)6GV<7eC_DtQddwTP9)-A$!4gEN**T<$Hp+CNGZ zC+s)O$!l_$c;}h83xVWsySqFmKBY>Zl=zDC7}|igdwD)hl-f0utdW9yMG~i~ax;GD zBb?M=VPEf7;rbLlF8aU1xA-sh3>yC@@ZA0FLGWa;Jn&>~0m{DzogQ#zK_RVDLjiNV z0Oq)1fH@2gK;=h6pz=rL4npO4BlP28tl@U2jS9%$ z?UMqClNBH`CXpO{1`u&ClYv7K?+k-K`~MC8Ui^Q6zhXY^!QYtwJNz*kAn!G-yeqqF zCecog+(8+S#OJA&HBnhd%mx^9eraZa{={O726oyv*jD z=65?dBHO|IY-*&M%6-E0c_^7=20QDa6D=d)Wk9e(6N**x&r2s6<77N=}G{ z@V45@;|xQ$UjRRuKF3=~GnMcUAID?74J>d{E<0h`ww%dKXK-iXz~2sN!wx`NRy_|U zX|PLI(}c{M%?Azp@Mr1IT8@OB3^6k_L{STT%&EJSU_S7gztCBZ=yBLc^VCSwLq>Yg z&LAve#N~>_>$K1>K7+Gfq>dQ;C03b9SFXzEnG%EJvo(e_n1Ghn-ir8C5Lvk#t0MJE zs@t>TDJyGQs`hU;K#T=_mS%#tz}}yX?mQ5pxaU>!tIx>)?keR@H=-zHmu6~azH>;O zgdJRfk0+oR)L`nkwnPB>M;#=Zh zkpR#rYS)O^l-oPf^`-qK_~#jGZ|B*!(>bdrM^ZE~G<>}|{E=AyG_u{58 z-?>b6yN7PO+Dqv=dsX^=HHbtoSSKAKn?((0_;L@QQAv0EuV?$OyZslv0@fKl+|BUq za$eh_#&DWad%5HTiy|rrXc2}|#!ytndIo!V?^zv(_u>;+(IA8M)U$GJDJ$x|%nHi* zT>jg;^H*UnD94L{@?t3t=fJtiO`|cds+Wb9jTC{eyU4UIuM{&;XiStFsP+-$RVZ)M zcoLAjfHSUD+40sxi`G^o?l7!HlVbK&82-M2P1L307aK1G_FJFb52wN{__cL4xo{vT z*RL&95_|~)tEReC`E@U!;2<2k7mG(uu-yie9CRImQ6D4kZ8A`q-~*j=CkgK;u$F{0(j-}^AWyRxK3Odw9N0YVX3XJ{;2s?Rz9Af*4riv*x`8Y z-~v5cr7qto0f=J=*<`D{56+N1AzKCZl!eahjV^D~FtVth{XT4~^pML|@vs0}MN*I-6pp7ieK%5QpnTxEw(o$< zWiBhSG-pt1Dy&dOf*N7>s56wdAeU9budXyVSM(ZOOAg_eRG!>brA;0 zc}~9j0cQvv#C6{u=YF*?TDw@v1M(wcso7wQ+5X@0%>AKtb(lNcSTUIssKpgr3)fG@ zd@j$7QZOJO)gYZGrqZW|k{O5`MWp{d@HlHz{tGY^UsOGLYr5NavWe$$=}ugIC2=qj z+PUZ;F1kV=F20c#aQTPii~r5O40KiJsg!ui?q6rX)DwSlnpGt45{)@FZ&w61?jG5z zOh%#iRUVlP)d4Wah`xIODe7sfmDp`wHxx5XNKTU3z$<%qBzO{-)O|?D{Yh!f#Q^wO zzt&YIk#|C^wr-inanc3?=#z~v9#}&kYO9x#p1d`+j5$3rE9JL`*!!ySy0?k_GG6Mp zTww(N5SxdM;hT#8sLsXk3PkOi`~kiB_N;M(o<_MzHS|yD0##elbYn62 zZ|HOBi!W;Hm;aSE4Z-l=9+1{M_d&f8=%KgebmTQg)hUVm-Qlz{(v?}nZIA!A#J70J&go#wfnhs?SL)Z2#{ z5LYsq4D0JJU@7MGa47*9Y=;$jUxI{Gwby}oJ%W=vh zQbCojqtve3yZp$kE3cdtFQX!!4)=g@_By|wkI{=;Yprar^^q5-**}KFo5a@9Rwl@8 z(yexx54H-r+8$Tymx^@gR!a063h@hqfG!U>;k)FbU%Skj*SU-3^K+!v$*v-2-}G$1 z#OzR8Kj%$KI^Xp>hp^!F`r@aAYkY4i{+BC)e{C{CUnf*LycnPRjk+8pQq}pcJ&R1p z04C!6T9FCx7| zY~tAsEq464U7$eM$beT2#wtNGZ3;vj|SDdS# zT2%}Hb3HV1h8WzE)qFq!uuBmsqDkn?eqRH&-eyrhw>6eOE^XOnfmmt~A+dvFvVaqV ziw|P0Gbql%4{{Xid1@16z<$~J6;~{V6npeWfp-QTC4kDtTWi5`(ag- zTJ0JP?R3TfcnoKB_i8DSf9_X?(SY8k)X(62i}Wk?=tBC*rx?M;g{?Q;p8eF#IP9VG z7t(n-P`|@OFtXU>t;<8AYc{PJ`TWP+XvX*^YsT42E^zCg=GFhYTYo}R^4^kgOFm&Z zOTsz0pJGQ=%_v^v=N(X7R*W{-LyzD0h}A~ZZmx)>zE$?P8d;}opeIO5w4+Zj!|qeF z)MKVL?3MYp=9X{#`t3K}kzOk+;axEjB;)f5$nF$_mU^d(oy77ox}V;xNj4@_&TqJ^ zGUSCFypM^Ql4Ke7Pt^BCd22>|f55|$k(!#yrymjDiAd=9qT+7%TFtk~Qi1B5l9zEi zqk=wh@bLxb-)o08?;5na_8?Mx$bg4sYZ}(9(kj;zqt<>IeGqHeN9043JEo)o=g|F!=cpguyHis`A3(< z|8vXS$p?gD&*-b%WnFiZnkeUfrp}usEEjzQf%NUblbIgc)jXPzW)f@Qg+;z5++C^E(Eav4PXpV-xAka+9^ZmnBxR zO0gX>#iXcSQO7$SXMwx~6}{7WizMc-0%9QPMq#an^Z&!}h2XmjzA}5(aD3-^7+k)o zKmqJ&kKQQJUC2y;vglXFhn93Oq){MsH=`MJk&eTiwuejBx zP%W?de7CI7D?8OKE2V5i^C@nb=9L|uDg*jE*u>=zv-n!@9ewohUA*Pag;{(z!)29s>+uWKabz~yqx$s^31PiZM9MC9dVvL5WRyvWE~hUsS?by#xcQ}4gjf)d{cj*tLXa(_d)=1ff@ zl-*k`=MLIOAjSm|?{t3u4UnQZ+QUl-)+x*943{CS?i^*hP7UrhJakJ@cIx%tb5*9+AjJ7vftHcwjlj}Z$0|uNq7ajw6pOgH&=F{ldukuKWOrd}l`hF^;oF( zZA7`EloKc5$rN66-f5DP=b%xAF-c+ptj6znPrmQ`_vB2U5|=kcLLaq!RZ!misC_cZ zHB>6ZFY@{}(pf;V$(n}jZI^0RMQVy|Gu&hgg~24%a}Ss)a;NO((v_mbf!d!bR+K?)%^< zUy&eDiBmQd%G6=ND5f~*U$}{CCEX@Kmq{T2kmpM4G;oOUKw{;%49KH!uONY{U+m*2 zfw<_jFZ~J{mG&R_<5Bck9prrBmy*-t)VVK6OFZjI|Cb%z1O(~q}*F-DGZ=MaEEKcqO8s(S&v3}<7?QTW>*3kj*U|C67?s?IcIBA$MnQRs)? zHZ=2NsQN8O0*S?q+sKfd#AY~hA zO0B^g;CZiGrw)1N_aS*_zNVN{g zt;X=+eLMXbdWxJw1-01e+|HW_eppa0-+--_Peygpo+aQLL2?T%ZU(l0V z{;EAG$!_Vf?_(hRCRG44O(?Ynv-7KRzTx$D3i-+&-kHcM6Z~KPqA+-TAods&UVdO`{^XZHW7wswKZ+#jCHA^> zp(?U(nby9wb)@nE-TwtCmVBZ@bCu6lJDm`{kr$x4X*f^P^@7?3mk*-CLHsNDT*=2h zZ;NK?wzB=)08)t29&zBz(>&SD=`s7~f<7Y`ydS|RIWCi$`| zrs6&nJ9h3RO$)!VAd!z?ZD0SHm$aw{V@+gJ|Cmc!Z*Ex-*4AODYYcEnpg2k}O!NoI zUIC|MYkf{40ZJU;iQy%MzZYp2a;liGGaBk?Ieq!pWQILCRaE3uQRGxea#iu<<&`p# zo)qBAt`wl7xzByIN+zGOyO9u#RbLPFH1|a=NV8eiyK!>2Y^;e@4=#|mI9D3gHC6;2 zfVZw*HdP~*ghCmfJ@3xjZnh#&NyD>S7u?)pMNmX}*ZLz9_#qm=>Vo%G3 zU-2MrC8&d&3$6VY1fl)0srTb)lGO5N57NZf6U}j)1+j93YErj{*J=e$;qM3WBL41SHDuYKfZgS!u8c$^PN!w^GR-QP92MsCRjH7DDO+KUyy`8& zciM(L%vs1~?^5O-$BEAgCC1Xn`LSw>Q31*c-4bZ3QvHoz*VO*BNyp=}BP-ueoUMch zBK?4->;N`0ORKf-9|0Criiud&#ag?Va^rEttNNW`Ro79qPp)%rJdHnImF8hp9;6EG zBWD^){j+D)vd%7srG&`tkR2Af~5&?m;!UQP)N?tu9JJl zz@U|^pcu5Mwf}^Kom?V+XA~qIER=H>of4~h+94+~io`(@aiYTZjn&%-;;AV(A%sld zxPD)9Yi@FDDPCdd15mU*p)G%Qq4Y->PoG}+B3>7I{6^K&qV58L*geUu0i*J1fmhAw zvDL|M?@n$DQ|EC$q#3*IZG}6_ay4U{g~Mq1Vy%LV3{+HV>mL-TXwut%ALmv-{uh#4 z^A2?dXs^HGP#2eMw{Y3r%T7vFRdgDVHi^$teSfZREAEq|_oHSM$x;;mCI^4KxYc~s zsA{QPc6FWob}V(tpXy+#Qx|??riM_7$*c(@Jg&3-K7`{YyJl2k94B0OEN%s$mTt#* zG>$f-KK`!`4Th=jNKr7*fHC?CKoI zZ?Z;`It&GhS;FoiTwaEss@>1=asqc2*h_B9uJdi7+-Qm0S@$9 z%JC5KgpU)vC)cVe_*pKyLR)Fb^go|0<41p1P@GlM!1EV*wrZ{;RjyKvq`s_Dw|J*v zlT|aHK|UzB8^-$O_~Jtfn%m-cXzT5nl55TQCY9?|vgS7GULna~Z+!x-3S5#?-DbWi zRF6>UQjhQ1VM%lOsL3bQ`QUE!SBcdkcT6moPHQV=Ml<~td^3&brYc)Ht+jtm6+U>S zblaLOgSkqQhxgLw+ZagSg;da=0iV*nPAIt3MKN$vGfG2_!BU1O805faonMMdT4S?Pr8|6bLop+T+u)-+w}Cu=VoNP}8n< zn5Pi{q{@(UONz1GQ5mqL1(Id2Ug(v0RZ~wtA-iz$A)|6pARdTST?ELuS{hDA=jiz& zxsuQii_qsR!Y)B6aLm+$YkAFigW@bZyd#DuU2^#mJn6iBr79Fs6x$(kWrskZ?BmDj zRE62b)bO5`szPE2)#}`*+GY;OP>LDr=}MaQP;(rz<-ra$q#aJ&{Zfzn$d{zRxq)2L zl54C{_?%ZfvccS}3deD?1{BvXqn1M1dCpF^B#^26wA67nxVduJsV1J5a_8UN+}3O>Qto`q z&27u(O1ZPh&0U+#m2#)i&3!zZE9K5~m8)P1V54_Z&X0mG^japI&Y+E{@Heh~lK|te z_zo2@;sUZvO1h+EqtCMs2)B7qLJ2go3zdu<5Atx~#Dc&82zLt-)m2;n3fs=nlHcWZ z{dZ|P&{TD6eqs^otb&|HcWUbqw#07{*HN|d=Nj=Jb+s->*H|bWK?2urku~eBz2(oxAcFGhW$CXLDkl8>nCR7y?Ia#!Wqg9GBgDh}r0BdZiNO)IS33f0sR<}`V?EM|8tKHP z(ur{Y#qz>g_(e5SmsI_?)Eo9n|Jhs(Z#^SA4;|pJ0;+G6>T=EM2TTqCsjd8uB$D?Q z=OmWWT|BFZBs6NT7kWk*1~~zg_W@*&>I`sRy&Rx~T1~>Z;?9ORc*4E61+zlXGiXR+ zJ;654E_NP1H&YOYk(iD8<3;COnuuAq7PB>OEf8U5e+l0GWpC_>a=}?L@}X<$tn)=K z$#%gAQcUAo0Uy`Nhl&)T;79DoGW;=Ej_Hl1{%fHE_fKd5`EtzqSu4+qaWt%-30WYH zIvP>YW>pA9-K&KFWY9VN-&Ca{D-iw>!G8MT$0-2a)n-eCg&bNkDO)03WVXcKD@)M~fi9SgjMKSp*3D2T- zr}MSX@q+rsC0-K+0YMo%@t5G7n5dGh#(;CVn?_kW?QD^TAIohS{VcB#e4D>|YFhf4 z6P(OV?VZGLp=V;do13FSD3Xca5MN^C@>v{0_@ZUzQvUyx11Z$GC_lAepz{E?F?KpX zI7fXhRX^agoR{g=fAD^)MAb&FL^bPSSqoL6ek{Z^NvM3T)tFdnv4deBr(XH+{ z*%4k##i-5AI%*l#YH0?WGqG+WIKbt~Itbe!jH1ZR7&(!|;!7C{ksP56_1yc$Jc`v8 zY;Ixi^8Laaddea3pX?~$&fuc4 z1QZy^UIiLqJuCyW6>P<+|C_*8lR(fyfjSXpWFd%>DML$! z!Q+|PlK4%x428!8$IDKq2w1RI%ZHe=h3>bEswd@>2`mfMq+^SDwuq2(>Z;C<6JtY( z;^uux_UDr_#UhN8E$Es^c{gW03PZ))3J6J&`nJ2{tjB4|DdTlP9Z6}xO3D-r!}}Qt z7mn3HF@3KfhZzjuXEag zqiJhek^M56LYg{$l~Jrc|6O?`H>`eE$s56Kz8?E!Xa9%tP6_XGEFyZVw!N&4y!XH z*Ccmvk%-d=pepzP0tKe<=P+D9>pD`)2wi{UIUG7-TLOhT_Hy=soXv`s&;|TFG*Jlr z#jpnud6T`l(;3f}F3Vkmm4}JaexCr0oUMxTasCY@Mqi9|NIowRmGi7v^+8Pw_~S6% zE?c9m^idqM*FR2){jfllsGLTXW$@_xnpBnP% z2IzV!lYNV=&=9Hl(Uc#GY-L#+t)=vf6@Q=@gC^#tQ4AehLtTqTD~!=sPLHC#9#H8h zurTbnva0VOIeIXO>8ZLcBznZ#C>lrAXz?IYK4ma@s+SbK<3g%l#BAM6wEu6#v4} zOptk$prU0J^C^9BcK!vucETYw%R-k+9GuV|ZPF=zZ{zEdpvYd33C{;t<#jF+_(HEf_Bv zJyrW1vQfQsP!!%M9H+=XuEsVhxim}x?!YD3J*(>zGvOv#_9mmS14J_$oqc(s9&JSzdF}w(MOMHb|Gc*1KS|M+#+SzO1tBbIiZh9EDuL?oc&JNT zwSuac^cul!G2fgH)p7msesI`yv1x}=aj&BMNiMui&pb*R%0(3^)?uo&Vok%%-`oJ- zI)ynr)t#?GHegK&)2R}tsRS;3SBZd&lXGFJ`Z&sjRma$@L9T+o7V}--!KCqp8tFjB zG+drDWRs*bbd$IPUhy0+<1s6YjazxD1di^;im2};?5I)#iBaDsY>`c^x@+=F{ijTR zNox8!FzAb7yKK#^!0IVXi>K4)@tJ;>W)d74^t`IB!i{Y}k8$E_`XU|uJ`*!aJY-vQ zO~-YsiYBhqSLZW2tGTl%z_|rgXmAN{L(Pmz4MWsL_2_@*7HuvW{*h4^~Tp=bTm(E4J- z4%V=LATwg7MEbBZ{h-w6K|Yn9-P#=q3qdc2-m>fGL3Atc^1GZ?aY`Qvi!oZGq6Ebl zt$`y`jDi)m$xw50ehxo6Rp?>U{x9hX%oc*D$N5Oib}gKkz{?aBXQr;APmfCXGX1)W ze(j=P1QlzOet~;;DXIt)81PlrAlD_igvLXSs)P$FaH!X%zk8l5-1?|=sm?wU1B+K8 zRFKQ$AB$nsygK_D%=Vak-9v$f5f754RI&Z+r0IH4w*KHM9GWC4!OpsTVtbkHO#+B*>uW^Iexv1 zOxEedD$=X+wWN6E^Zcx7+WJ-ERvgrulxzNay4wF#Zr`~ihr)xRr?{UdbOfjiAy3Ty zw#xX$f} zhcouA;?$;Vx8v(lR=pEO#eDBDW0|GA4sGQ- zJm~iQ@?AW9`hL|$0`dH@7{}A?zm$JkAT|nl@(^0wKrQg~!5|2)1u#;~r#)eEy{59@%z@h#s#zkR+;0sRT z&?r}1w~)wfrd){*s88_y1#&M=s9vu97ZQr~_2wdbyUgWIydC4|Pr?)RHvhLQ2}GaB zwin&u%C>uCl*?aelkq8k5w2`os4wWIH!&$Gh!(yjKW5=xrh}`(*TH~=_AdT4V2$Ha z`RdfX#Xq5JK(fCt+4jTIpzJB_c{w<_Dl?(5$JzZ3%mQSIishiHFbLUuTt0V5Y9a=Oy%~`eTaJRyY9RAg+{$>y$q6Vd0JrRhQ<*8O?U*T6OL` zpfdH+ym+CFe_o%hm*gs|>jG0QM`M=&ksh@GP-yQcr=cY3NwArr!by~Zihjv0=|NPa zQr>xh_Zs4aB46NUX(&%y*-al}wxu?qY&Qvv5aSp~6}6LM8|uK@%Vv;EU2kx~&5u2c zw&GtX(d}q?=YH{}NeEp+>+Ej1FB;n0e2F3m-K%cUtn;-J!rPvLKq zQGoL0G~o}!QnH!?*-P@E_*qb|Cscvt@KEnwu8(k62i&Wztbwwtv;SFIR=8#|&q_ip zsyHH1;flH#DmHnRJhH)y>xlMI7pe|x%1>ml7r`}Rf>coi2b}4Y|6fuikwc`Em<3(- zGoxua>XT}yr#xo*4v_Pc^ivk)voZ9AuWM@E%%ZS`2l%`!Dz}KQ| zwq#eJ^JqTY=cGen_Tofgcq!{~w!LyR4T&^K;tiII`kJ3kn0-8)HuGTa}q?hQPZn|&M?L&6o+mi0Jk6LK}r zJqIe}9JpgX=RooWGi%=L%4Y_H24=YB%;}o^kZ?(@twLMir`r~_P$I$R5nffd+SHG| z{2}*A{n$D&P{X&ekLPoHb-rhysBdXoL8Xzp)w)o760&uBliuCdMpjNPZVR>`+y+!8 z38h~E=Efg=E73shZf9ZZn4G?5wQttS*YN0NTapOvj@WDEixK-z5xe0wt?r2Ki{57V zUgr>$6^YpINoW^s=6>Fgibk+zKICFhpC7UD+Sfr)Q+{?+qc3zcacU&=UScdUr4pke zp+9LWPx408en2DzF+iE1(3_3m2e^@?pXIfwDgRCZoB37k$zJED${4*@puLg>Rm0Gs zANo525ck4EyxX0UXwLXix6ybS4_U4psATpKo{P(UAyaor%6)Jyo4+4`iDWr18INCy#b$~ycO3tqs_)^vJ^GrGawgXZ z?blYkq-Y~oLMPr<@Qh!(5Qr70>4BJUK)_hmxa=HRB$k<_l%+C4EYpfxcpH`*dyF=w z7Mv9xO0W(RA%DXUsEZVw%Sy(Fz^*<9ejs9$=qwWr8)JHX4Yokp>#3d~ZZ1g2o>QMZ zTBNNoNF$JIkg%=4%gf5@rYO9WXi&1caylily8paDxOz5kBCNHaLJe)*SUmCO3jNwt zh`kKTYc!0j4+7joy~fMMRfGnw9XxqeASrVElydYcwzSEz7pnTT;wGv#f2iDVnw;F# z&^a>;=&xd+B*S&HEUC20!{$YrNckgjltFB)zJtfmHZ9r2FFUg%xSI_k1#`$~GOCio zdTOhu@mGA7&m}%;q(Lt8iEP9Tcn;I9I>v{^@geRfOQnGlY0>V9`nJK3(BZps`7hGP zo5Z0q{yp&WA>30|@+0~~<@kf#5z3`mKF=yKGLsPBi8$7y24Y4fsw9bAO(m7rKbwIW zp-;5rLr^4o@KuD`+Uhl=;Z4F>HM>i#?8-V0aBgMAM7k>Rn%f&G_68M$kwsIN-bQpF zGfKP+aK@a5wIWiK0PCKcej$u>72!Rvj+>49nTnY8prAbAFy-=_^eB&JGm{mR*sPM?$Gq&EZq9U}pf+4`PSum12-*jzQ&%P`@^Wq8oulgrK;(i~y zK$-3-o8i#AT2i#X(oI=;(&-P&ZGmnGSfE={3`FW7Q?BO!I4~fWJH_092^t=22Mz;Nq`%%3SFs zl0cz+hudMGad2^*;;+1`@Q+G$EX#x@5y2X^AJ*fNmLRG=)x7fdQcCmEWCdvRvmV=F z%A}Q;-KkiU)x3_~k4%t=omzQhiXN3I^1T%GU5?C(14;a(AaWqWMP{PT#K%hhh61Xi zds!uQzMolUX~jiT(4xoUcuayHR=;k?$z$I@hXB6!P`rU5D$14SbQ#cZn;2 zz_hDoPktkNu~8{h@&HKDA|;QOYAX&%U1+xk1hURwj-#E00TB}OO|KxlF+fTrp?{bJ zR6|Siz&#(a^%mFH;%LScH!;Pc@^JAvPhs(Ps#qw~ljv{tM3Yj88$H*HO7h6)=G$qd zKH2dJK4});#61zycO~5+^s*N{!Nd6IT$-$!JY@VZ$bu7e-_{VLUX0#d`j2UlG-TD3 zDvJ>;dyz)}@Sp+*VVY!}0U0L9lR3**81$d>1rh*?9ggpx6h)|D%{04L|9`B#3w%`7 zwfH}i8InK(Cm?DRs;NeehH6UC1_x|TG6OR(BSDSegGzlwtkxpT5U@M~lbB48qu6?j zy|!2Sy4u=XY;6f*iv5Cgp!pe6I-e{wN=Vh3?{*t50kEm1<(jsPOSj?Y>qX>b`llB_gU@ zWjCyA(7II_?0CZA5rhRgMAQO;6QdF%iVe6ad26I%Ut_HA0_gW?tSi-`p zXD~1h*)DZ@_HZ(-t0TLXSDvqpuFU;N%kvg}q>Y|A-Y74LR2D*I0i$<;)?8mG`9Qgg zBrQBM=?N$*RF*|5-6-7_Sq?05Y|&B4>D_Kij>8-InM_>o%_*U@;=hzU#PW)5e1zy< z)K}0+IBnCp(5*mPBzqAp$nyVO9AnvPsb}nSf7DBadr&(Pp z%4eZT@JZM6*44N8Le4_-Novhw7pf|7*aIa;Jvh98*EkjE>N|q9OJtO=rK*D`j7zN` zwSEL1DgSwD^>FMn4%AHkgR~XI{`DbgNzQZM<>2d$JS~qk*a6AUspOKhRT0d5(*C{_k5*;B4QQ>Jx3`w4f|_p)J*P!1rWm9oWfUE983r)aK8E&x(nIWVkcNJ#$ ziqHB~h34XMKH~wYfm)5%xaM^1G#|K~gFSVfkDzS?@f@^1hPZ(t-9Vz zz5~BGgQ$wA!H4(>#hczed>uF*JrBjrBbe~~0GB)tU!rG|sPHCv3&{q)ShN|L)5~h7 zWp^z-y!q}$x7}&HkGLnL&Z#xLMuXPg>RhZ@E{4Kei*)57L*|w+Ta9Z4T`d1m^Ubm-XFdGHZ_6f?)3d2dD_I%x!n84mHiCWvvAz^+TOo-3fY@e#)B zqE@SdPy@{c`m<{2f0ei+{CAP@`hfjwAXn zD|~d6cAsn=oLmAp0&wm2Yty<>L!_h@-pGf#Hyw4NANpI#6!jAJdWY8dGajS{#TVe! zkqZ6AF?IvzRgM%>1U8Lw(N2T*)oq0AqJc{ByJ`lRN^iQu+ZT zQ|bY7A@>b$bap24eBtlm6<||U^o4Z7q23S;bP+BpS~EG|>qMyt(N>($INfa$d#n#s zkgMed>Mo9}ZawnYPZji=*Q=imVx}dlYp!({ou1AC1d zW)LH!*V}M7gew=dFmKWc2j@0ctNC@bi@Hp<+xWS(D>7t%WKyB!5?HP+%GH77asV!L zbFS~%)RYQ7A!e5_8PRJq<#wQPm`n>tXy%j^{T<6IyI0YVX%24=`VH+w;v_tdSDV)7 zY521Y(FznS1cr!R67vEfnsv{E+D1-`rBs2;T;{CJdj#=jtB*PJJ6ciJr9DCj#oo;G zD*we}M3`6YZ z=}}P@schqagSf6Oi=K9~yzoo|Ttqlr<#8MyfQTO63Q>5UDV0m^e4+fXctFW-08t6k z2A~IKfNnS~*?$+wVR7hiOYkw_$93?@(xwsY1ACPQZ_)>%YcHx<;aH|ZrhUD4LW9UP zP?PBUCOb%1%MWkM4l=vPdi`W{JC60b`5izWQiJ)))$1W+XqI{EThwg{oZo@qn9Vp0 zTav)iH+1=?M}T=ePu?t0Z;CdR32r#{32mdGW=LU|cF zdQ8qk3(?YwWTE+-dOvT_`^?~o(iXlWpNeD&ohcC{=VgZE{D!$>?&@zOYR-pXJM4e61s?Q~Nw1OM; zZMAEpqcr#_-09VyfE2ujSH><0gWUIr7BjZl41^c$Cv$A7&RY(gT>ch zH~R#pVkuvL%5|mX2%rVRw)oVVwP|mEV^eniNpF8)F#?iK^tu0~r@yhv(_fC|=}#3> zPX2zdo(aHB1Pa4u=Z9Qjt545AA3l~@8}#1N>W>b4sP8B|%)@m(TBh7SCf@W$R|}EE zCT6uP(>6Gn=xSNQWea58g=JNKylGJDiY0?=}C{D!th)Q1D~1n z=4k;HH=vHaMsAnL@QiRjV>bL<*t`x;J-NH^^_hWxZ%Z7Jq8~|qzJwhHC#(uTP5Z~7 zl#qxqqPSYXZIv9k@5Cy^A^@x|YwdHFnWl-!^TAN1u2f*@0>!L}-ju!tRD;H8P4Cjj zQe3>ZFV1lreY~lEnK$}h(qoxx5uUA_C$37G7aOtf%DQi z)_G~1bzb@wvfuwyXQgXU4^x@rGwQaa&q}+^3(r?)rAui_ot63*U&Kvh@~pHJE3CgQ z9zhs&t0GsoBt96GhI+=cs%M`h@45tecqhvV5IAgKv2&CCo{0ugWa zk||oV+*l}3ECmu1Y9=pKfap(z!0=dnoZM%G@c1>^n-Ll%KTZt!5{Xa-M}-(PDW8Mf z@+Z}KAC_ZTHk^BtoZL}YP6Q`n&S_)S)@$xY2lWg=&mT61)@%zidY^69{-B; zR-9*tCR2BC(m=806vKsbx){fE8I(Wj>`axuW1LkQyz%SJ-brs{e#x~Qg+G`d*}jw3hW`48+UZx z2zI<^k9i}k2=sSSC)e_uEXs1?%M?O*qa(NHXtrK=k>zF>pX?Zr4B(6O*AgwHgG1`r zw2PA4;K-0W&3zY1AcyIqI3^sZ5_1ErY{3yg>)0bvM2G9E`!jhnD5%1tlpBZwgSCQ$ z>j-ybD!&@SKW5=)&F%^pP;5|?qFX7ZREb`fkpet~Bi4yv5b*70gFLKr=ta|^<= zj3H4#;lR}@n2p;D!uC#8T=<1_n9N>BH|>vrXpBj;coVJa6Y#YSUXBH%T4 za2yxEtyKbIqHSh^@o5O}F(->OC)}2)E09|5MF+_*O8F*nPDF(%r!N)EEo1p9<%ip| z(qS6+m>+>5vG*OWPqpdqs|XjkO;hc|{k$8!-e8ESc%!@ zAI=r9x-tl!$MWTPD9RE}kr@y%+edf(IW4|$Pd`UZzpFL)im)p$^0nMaBvkC4H;OnU zTTXDmeZQP})ge++DLrT^+$$wSc*c*zZAI0yq*^GpEWS@zc1n$60gMk%Z2SF2yZ z==G>Ghl}7ri-qwjDQ=#T!DcFwZAOGYOOtc1ZR1q(9Y$w8BZt|OtuK9De`@(Mk zlwE#IN9qNE)HT%+5P~rd_eGb9hb>)aM9?gqOegrLZN8y41j_6`ALeNXbnG*#yT?j7bIjr7|JDS8p9Tp zfiO%d1Xc17W<#t{>?lTj+2__Ow|f(NtW^7X!js^$t|FQ{!-K*!ZkwH&^1oj-5FhYO zf_wyXqq$gEG$Ui!8@db)@dPo4cP@Gni*sB>bXq-iCR*YnRF%U7DAtUuc?fAh?`&y@ zb4nGz?#LMFt<^O}1e5fSnfhn+Z+1S|Rskih$kJE$P>HSEWWUHlKGLBV@l35cA#pnN z2?CO#=)(Sq*ijC&0~%usWks!pHN{)On}*DBq<&60W2sWid5S(JA`jt@bn(-f7+?*}LC`=)9fBAZc}=sVcr% zC1u4d2=`|!4@%WSAXW;N-YtuKNv+K1kS$bl02WIPf6bb z(Q8Nf5$FqZp4k)3Ayr7bZFhwJ&X40EgU?F3T7vAOn%X+0#ufM2>{a*mb|NzG$c`U8oiPW#gfSVg`G4n zLGV)Hsdt)x#J1jeSfQqIzv`au`k?j-Nap3Kk=vJ_mL6GHvRnD$XSiMO)sFDEj@J$g z@5sPm)ebu&Y@vyi%ww~hc2NbX-^)vb7%lw+b$-?BT3%ST=t^8l6>mey7f6UPd6Cyq zuVM+rC+P5>3DHD!9SRLY$0c})Rb<@YB1vqwIJrTq>SZj{2O3+&pcmikMld805b|Uk zF8*}z{y7Wwdlj_QiZ3&;e;Ng#(;yCSjd(#2W%1|Z7p3aYSV8!=6Z$#`|D`AO$(hHa zEohNwNrD_9V}`;Jkl4=`FAkX$xNEE)h#;{7h0mhf{WDeVPt>^p!#;R z11kiMI8U7~Kf|ue5#m?f2y4G16DM5H6iK`Q&x3Nj8L_FH4)$J64Wb)-<$U$&aryKW z6k<9&jq+UtD}e{i9ts+s#@_Q(?!bc_Lp*_zHvKu-5yY)sM@2a~xOD>LKdcU}X$ED)%zw=(#;D363yw8j5<>Nur3v zW0EK^yQv0UrAAAQin4P6!lOp@(+ZIJqEdt0zM+yH06!FNwT5q~-pqSWas;p7@R3-> z$41e~#0W~IA0>@_tGy;N8w34Te8W>X;%KitGs~zXKw1V)u=xJ{e8aO&{627!U=*je z3TV~=w&CizI%bVZPu?(-o9~9_v2cH0vVuZY0WY#wSUEoKwA+q&))5FW zk*xFUlwrIZl2!bI4ARzSVI?e&pyu(8L699i>3<8^+U<7y2S0`qg4AsU)zmcAB z0l*8Ow@Pb>lL{Zr011|!Va+ijmFTHY!up$+Nmm8NXX1Wb+i(i~{D%2$(SY$Z3RY~8 zT8zM>OlBkBZc@5eOs=AK>Q>II%wf4lJk2u0!7)ihj4vZ0)(7#0Fz}PBA6@A&Jm18v zh})<}C9r`nHvcW1gY5a(ImRSfQP@TA1J(IkIC)B>3s1Apv3*9wZ|iqeKe`-dp}JYk z+s`nONTX)m1$J9Jix$Cmc`I3NGA|z?erH=`3A3smS1Y6aJc_aU%y}=NT<>X&4^!eh zQ6J3*pD=mqp$bue4>`aRU&5S#t5+uFvajQPsl#vQo?twb!N=#SB>hqvL_0;ia` zaz-XU%#aVE{#%!CjonW(P<8GqRmO7RZ`Stv_>mV{Ok7-*`*y9u5*Roub{&zd^@O5fFZ z-*}GZZSikS)vxgcLUXM9&iE|-FY+2e*ky~Z3b#VIcAGzYBh@_q6M%bxyzB?-Xpw=0 zZq%B&2HBn9mf1)7JEab?m0Q@v;=e1TvzPi98936Ieioid#% zcLQw+PigGj*P};g_Pe=@566|S6IjcZjD0k=PFZ4M@0~ zzi$IOVfZM1s_v4+)U7RJZ5i7A5~5FZ*B)Vn;Wx6h3nhxw$J&L<3#*DhbZZwvhWOVH zGHMrsEH%1z_aS|=kjENr;d`iVUWjzC#;twtg&OVdK5U%6;Qe8F&kYo>cgsI-%RjHn zKkb}HF*v{irCh4Y4F{sRVL3n|kChi=jeta#({Ao28@FNF-9CcRSec2a7abcmI>H?& zcv{&D4YCcBY&RMzpHxTb9y-H?BbSaf+FjflSrt_AR5tk&shw8BQVf;y3I{K^?j76+ zrC#PshGfZ8pD08B%cgFXSB11uHaRXyj{Us-Op-T-oqD(x^R8s`(zLv%SxQcRUfNZ4 zyebV!6YBjw_3kZ+aQ%k5YqutYl4Vng)LjG|JtW&m3aEKKnTaW4N`Q8UWl<(C5AjlF zh`jx&FRF9>l=)suD&xwds=XGih$&8gQC*x$rtfXDGI}sllR;u9Q3MX8J}3y9Jhi9m zJ0#g;=G7~efv1&yS`nz^`fTy##-8GX#6Ix_qT_$W{gH0uxG*8S+8K!6kgNHzrr+z< z{Clxjc5AbE!aQo$4&|pFdi&GD^`II8o}<}KfehW)(d2QcG!~7W?xyNt>H#-%+wpv! zr5>`~O@ZOb%g=>4H#m`?AV2X>o{_!eVmNa-|8Zi=%|P|bNy43xQQ73=&rhP=o#8;^ zq}%VhDtpm^v=k!kFU!oBXon3GRv6m;wF;qVJ3DOUbl7a<6MV5;p4-eZd>YsguaM#ZxEiVNX9=6C3L;J z7iP+b5GKR#*rq5_QV)5d_%N6&p;MF6MIOaAy!j&%RXBiAB1d`Yl-7xkvC*q+D^yAu zSE$tRoCES{1Ql7S9F_7QTg}ABN+OO=+Z|#|KEZ>d1@5!7`)*;A5j~=!=S0pSG%;T; zJOO|l%@lOhg$FDF@m1x0spkYpDk zw&1M-<}^RB>2{b^{m7x%v5ce%7G_{AJsC_x#&-8b-FjVXiKl6_FM$f+-iE!aa9!*y z#DIUvSJL~7j>_Y9y~#$a$&a@OW**ig;JR~xYVo#~J+b*UQ=Dov! zDVt`^S`?6s&Y$25(;-G+h-dZK(Y)eTy)IT_ba|R&XdGfjMaR~0+348IQFPdH?#*II zt76__WiyLHSpTq4@#2ACB4MnOsWN9W4oFd6;W= zlO3k6B$TK2%XU^uVtd`>lHjKZ>;|AaDb@dhrK3{iNp(|8H;m|(Y=0b=iRWp&kw9wz zb9)rT%zrzsv@zz}P>BxaSrXVep#Tr8J#6t3qF2ntKSV%}69MKv{8=J|el|V?a0@|L2bR7W znmW?PbukTC*WX-z!-YVv%4Pgs8N_^1ysg4xn%9`KR05WM)tI%wb%0sbD$uO3jP3E7 zMY!|a(Qd=Z)N^!l%MIon?nd#hgT7BBld$Ee=Be088%56+4qP=LO-b|W(pq$G>A;ZD z$^9B`ti1>ft2j`2v(YA|O=sSUM)!A}kv~v4N@`M(8 zjgO^>7u1nrWM7fp{Xr0lWJSxXbJ;?tXj^956EBE_K<>nvGSMoQnI`njUC#&jP*4TO`X&mhX>y%iP!8|l7 zysp^tIDUrIcQ48p#-!HOE1l|;k~8rAh_aABSJ+JvS)NJ4H+fmUR-Z@8xC+hiou(Z_ zb%F4m>|SXxsGpb2f{aqW&ElIsX>8$*KCIr$!~t@Gh}~7VR1mb>Jb#~@B%8$=B2`lC ztJxJooF#S|*N!!R^tT}uALR4qiTooyd1>gkHhG zzRnx|uK$(6At>9e%3k_=?a6F$i55~o3+;-IML6Zjqf$rJSabf6R-aO%lHNQqC!fQQ#RG-6THP9ioFs+5i98Mg?9fv@4^)0HW}XV_VG!jvx^>`qKRu;-xhca23akQ&`!%Sh?mi77??C5?Y9$Lwq3}TU@9Z z7g)4$s28)9vA1c>ZO9;ekty6T93{`9p7snvZoV#|t?Q{U@0wD(X?Ia zHvS;`XMSVbW{EP%hLASfTWGnIG=L}iGfVLUSVuB#nD;8H2INZSx{XgFCRr$}v|MyI zpWjW-Zp5`^bH8{P`z9G`Tw6q+O%tvk@5@*YTu4G+4aI>2!etm8@l>M#)=6m<1KA1|TgBx4f=YX@#1VxcarmPI7HpqZ;FBGf#fwHuzC% zsVYIaFbo#r;y46^R=8}wi%o>z=m!JpC=~jhD2whg+gk_IkL$UEARx)U8rQ+amj#Rt znfKIu;+u7NK>R{Aw+gyCI#(Z6s5pHmUeOiG))0;rdB!gD54dHmiEI&_J%412=V9Qpnuan^K02 zluZ$3*zUxeoTti15tdBORU;uHr7=n6mUi9|la^`jjuzEYpXAJm_2kQU{2%98ImH>8 zmCBYfG8%?)M~muqzm&;JmO)1+Sw^gytTIk1BR~Q;ceE%_?3Xf*WEqq~l4V2#M3qs^ zNRI^0EmGE9x?eB-$W!{VUV2O~ecA1J-R(H&cD$k+Z80-XFKxS{^UfXd1|t?TN0!Fi zcXVC)`#-iKB*PAwO+fTM@}wIo4-X^dL9!?m=*@GNc9QvQ!LR&(m6;=tNoF)BoM#Cm zn)lB$Gcz=*m+s&|eJHQA%dtaubYeS;?>)3zhU<}Oh@G71_fE^k%L+fa!gLj&SNsiE zrtNF|oy*@i{v7-ry*$(Q0e|oCw}-!N{5{Lx)BHWk-$VRG_#3EYfwL@RpuP@Sk9xd|w3U~Ako9Jg-j-Md9LsGa7B0ts|P zs>5~-T`&*fR%>8}%2k9_<)HFicBQ$<5{5sSlqGoj(7Pwx1u`gn!}%itQ=Q6=;w8?r zAB8Nf{tILsic|hX5|&FZIBTu`?>zfm6?p7=nUv+f5U`=o*6DW538*z#t;m4#bXjl-^Bi!!sDQ5UfiD42S1iKRTkg3(*#N~SUSeEtnD)o@9)qjEpVfdJeC8E{8qaH?t+}7wWq{5RA zOyi3mkhz;?3Kpd3tzu$?m2lqAln?P9(<5;r!i0w zHjd)(En4w@Wajwah$}h5@kM49#ILg|EErtj=jj=y!c42eluJkYST6S^PN^@C8sx?C zq;8_9+mxdTD!Y7MwBiHtVD_7%G^RD&4u51d^=GCl4TB*~J<1nqkiUfr)@pkc{a3V4 z)dnW1@UhXMZ*p0^-*P|ahC0YiU(%oMBkv~?;=*l~wBp&HaxqtliomPshw)+8DWO?b z9daN%p^j^kb>v7LGby=0n!B3v%z-g;yh``5yW1-Z4A0+Hq7bNtU8fS~QT2-?X zS!Xk}kqU`~+dw9p+m5d{yA(b>G~Fr;uXSSKw)d<--D?$&j#Xvpk^Sm?`_}bW`Rr+Z@E47u2$S@Q^^Q8rg1SPho(SU`XU^y`dm<_ju z`^RhH4|v7}1@yVxFJkS3JiD!uev3Zfxzt+lTa!g8o?JqtDw77+_5aCNgj^1!6|LHu zM|i^Fjuw891gE=TJ5A4##?G(aK>O^h|#e{ z9DYiLCm+$8WK%S^IK41{U~*wpTKbaVV_ykP{ih3KRoud%%cPZ)A+$jRYH?qu9_Xd{Qb(P2rGjYBqj^3IA3Fmr0r3EDix1;nXqwC+_BBcj4rN0~ zC8B^Wz19SVr18`Q3Oa|6J3?b128s-fPftRJBi{o2Gzts_{KS*@pS6>3_5Y-62c$mP z+ELrU`0z0;w93Nczp)*rr*!~2)V`T7jNf5VZrI&QMA|R0t1?tnjQN!IwJT{Xq%Bhw z;9;qmZ8j|!+#^kR_Nx&KWw(aj;b5;4RJ(@HsS$gPS}4@(+M21nbQ|lM$l`abtK-Lq z>wd+OoRjL;Nhy?572F;Wc5b(}=2Ld~fOt=PmjqRq+yH5f2YH~+qSWt8Pr06+a#RO| zGqWJ5%gvq7;?PLx9O5jljgU!Ju0na8ExCp(oP@Bv#bFJH%WotsEos=Dtq}4?0&j3OjXdvisP4~`!Skt{mn(*wmt6kh) zSqP5XE5Y=?+bfF^V%BqE;pH@q|4`eV8PEd)2Lv z)hF?kknYovwX>2h(kCm3{QqL@tbE%7z@^eea_s;;Ywb(`q-pl31jwczCUrQV2?EsP zkhBwky5mEu&Nt+f0_sbo(gXNpFi<6Wi3|XB=)|hQd-MN0WK{`{US1;jD$r&QsxK>9 z-z0&#vYJWmzr&f3+~miylTJupvd$@LR(_>WT$lg}FPR?HkXaFfeW}WBVK39-0NaIb z{ZC2SJ8xMa{10k6>9i=?CR3sklfZYCC^J0os>GBIhb$Z>Xr7!mhGPANSS1S9m&+$L zL6=E8DXbqdLF4%%6Ep~x96uC!|9`;xWQqUNX^G4{aYh!hU8YAdWJV-h+5f*8seaRf zS+2BkvW4vnJ`!hAY$}KJZ7YNlQ*)0?Sh+k zH?|{qpZe|-{592ZCY-LBO)Nzbi2)OW-Ms%#_NvwqcQw5H_me#6Hqk1BsSDLZxB)_5=kez(7Fz_ zTdqPDaHY@(K%UYX4)Ph@`b|nuR^4UZz5&TTS?1e1JX7Rc4vO*E$E1w?C2Jft5$ zhs<)5j&|G1od|GUo=sXKy6xoh6=8CN!EX> z)Gz8za))!Pd>Hv>HP&0vndX`WA5(nfe&)vbC;}1X^@dTw({P`$6b+31cpQ?6bh{%f z9Tc**Ywb<35QlfJ8DFz&p#|u*#fNT=h`js{FHsgZ+y2& zW~!Q9+s!3)x!YLraIeHFV}il^&>4nj3h(}6HAEXs-mSf@DuXCUYYnGL(J~x2gb?R4 zV!yG2DKupkWIpFhhYHNI4=NuQ4eu&V%j*4F^Y!R1`;G75rf?Akwn_`%^8~0>4hdis zf%RhHvoJN8=;AN{Pro~ITc`QM|3V93GIv*6!&{Iq*uWnC`t`1N^}{dehySM6y@R6D z-|bI)t~LAvh@DYmIwIgpb>`HSKCflG9JyC{q(BL~f;-uL3^W ztlPY^URLN^Zlf1XTEl}UE4K5?#ojqEP;7nZ#?n_%!U%p%-501qGd}aGf*9@mk@ms8hze{t`O==gg8QSkJEx^GC;9r{&# zSOry~ah|R!vAkQYn#$;;D;$S~yp2bIt4CnD5a)Ju12kJNurbiO+#|jM zXL^j+eZ~uf*J{EaTcG#_^ea5BwiRQ=;&6<;$^>C(d~4-vjjw@&Lsmcc)~sD+$Zth!w&(%< zC;kf~vQ~dTtN%P}^&?T75zW0o!5IQ;t~=c#0OEhOBaZYP_>;5WsP3eY$8Ed`);z&V zmpiE{ne&^lUI74-yoMx|NYY0VB2XTmsU{POqvkVC%$g&rC@ZT;G8U*Z)$1iacA)(5 zWO-TASFtjbI)^-n=?Idh)sAaPVPq7~=H>d7NB<$|O<$CnSLPt%9 zXDzy3o*%LwysE9y5uu0Q`kXDrQ~XJAMXJkQ<46jJ&L)T8g4^0bE=%tqMA%a##M(hD z6{9!Nq!NIu9R!+%%-q5wb`dD^TDB37(QeK@RbkPMY$IM29k=7GmYm?jt$yPJHEX(~ z1AgcU{+b4uAKkT8YkZiT(CMwz+oOxN2r;0!078Q{^c1`3R$&v|u4CH$FXGwMYrs<( zAybfRxs?^B<#bt~x$Uc$St?{_DfXxp6|;`%1u|j1CA1+()O(H$ATp~!-H)BgLwH#> z+i{-igFb%q<_%B%K`(wO;MgXLw)uKfdA20-NDP-mHi;4Rl;0}cQ_Y{!YxXB~k9wU{ zV%_Pf`__SYCF$^@psUi`Jb||0;^yzY3zIY zGe~+w-w1fTvspw5!~^|+zYQMah+&I(FqwNig6*SN%E=^(3P^!@9vW#%ebLk5p1cAR z$mft5Cl#>vm>2vWcFMA}i}0S=qzik@g5QZkhR3jsCZmJCWby^|xSB}lm)6IHgFf~? z$;O5n6-D=1U*(>QMPKWV-fc&_tVLjoG=yFN*K_zwr`J2Iof{k(vFDzR1ka z!6&N7C60O4qRodr1`?lnwZU_|2Ck~TsE>PoS-d;kk`*%@avv(vZ0_^Vk9gi8a^k8q zG&wPQj9tp&kU3Dk-_7l)^MRQkSly|iq}CkxCEQCRc-Dag5ULOvpaa-)k%F7co6pppv)RkD{E zlS*i79dT!+qOixA@r?4bCg+X?jIFd~;ww$_)`33#(m#-1=`X&)P&`Hmze?DHzes1f z1vf{lb`04Wp5uG+{1B}+1b1(xH3DffDipJC)|z)3`)bfU2)}8sd&6En;=}0JYPeh5 z;kIntLA7SYM;~r0my|P}RsYH|2U7Ge%rkn*wT-V+yQlac z^fxZ2;#Z|7m(r8^SAyRJNJWzSuHU91dM2NM=%e!b()L6O&?35$S2s(&@HLO>5l@j3 zXl9y@M8B1*J6^>b#}vT>qVD z@I{$IGl5@qx%nc{NzQXUxl;3d37mX#iXPP(zQY&EEuH)IK!K}y?TcQUp{spaK5qJX zy0*)#GHRm21Qa#z8YpW%^+6 zSxkHlb5-vkVFcbGq>cxr3gdIIH_q|d9UYq^b^QToB!M)Mx>7)TnI_zmZ-a)8=WTg? z9|DZS%CHa(-98A(I;lq{s`M4+vyUZdE#l;+FDuwOPOL>2&~J5W@;vJM5Roowc`|Yx zO~yP^<|EmIU3_CBhwt|KjMoO_0rU!WlRf6&+tLUXB`e+71D~r$bF*~U9&ODs-dXzL zZsVx#I=rX@CZ1yNJ$4LdEbhWQkBeGm{X^oTu#pNk-zvIibj8cy`*=6yCZ zI(C9WWVg{qaYfa{oOIbKmQJjA5ETkaKe5xthfa|!Dvy1|c=NQ!(}4Lsxd6grGMa;} zX&|hV*SyMA1ElC`(OAmX!Xl#vI*&0mx2=N}VWmOnHwgok867{Dwf2qweyzQTQHCrO z@QH=Clqy+hY$zK*+^vGO;S~pMO%8X{E%xADsWtR%cJkzG9_8qn!l%ti;wtn`YnVV? zsRAVf1v*uMs|PK*%Ku2$CLyh$rRCZ2GdVmPc*TTC*BQJ9m0_%gR1G8_^hRgm0#$_D zP_RyYGy4nfB>o<}JYZ}~#%EywHbCx-)jd2_NTC0q`$u1cz9QK=c{yN=H2en}ZBU5GU6MY6p^#=3%KTCg?W3X-y z7W$*kQaHN}jDlGTJjPJ?^{j*LGc|_b43gz$eh@jwMIuntBowfVt2Lp)k5Z2yALY%z zD60oazhFK^+HKrsV2lqzNRk7BRksLP;8C`kh9wj>0xt!OPu<3MALqyd`W+B%L3NTd_)Zqna~7diMEYl{JAKx+bO9f4kL1(9 z1`c9a6mB(7K~Ta+V_#(6<9?L=;R1;eUH!NWYb$5a==BaJ^VufPUqzwekGxSFe%xJr zC|HY`hH+$2-+shrX<~rAAKJI1cu4reVf4!guygiFV=(P=l4T?L#tty`S;gINGZ&-C zL_T95os(=ODqCnnM7(qCj#RIM8pDh}$KOG7J?9xd|UzpMQC_;(Aq4wf%*bd&PxKKTBCZM*YM_Jp`C0Y za1*b|EEj^Lz89g17tFgmg+)Upd5?Ju$x@<9?lG@ZFFE?|F|SO$?EM`T6QMR>d=j4` z^YR+bP~#J26Y2vF55_O>8z1vFem1`_=5cjy!J}?pe5BQ|hl%$YuM3q4orO;cxCC1q z6TR0{XzfC7_(Q5Kl$(zLc z=NZcT=Tf|XQqV@cXxyrt#s~a=UWA9wxz3=|wJ&tG(T(>{KH5WLdAl?tG*W)#<7b1t ze{Ns?B%<%g=QM=wedLpY29w>9CiDKUn>0Ea_AYZav@Fe1tV7&^%m7YxS*lGn_!dQ6 z)ZnEP_W$cn&;{l1bS~|<_609hev?Q3gn98AKeoxlG(jB1Ts}DkQ07iCDcRU5yrgn? z>T!Lh)t|09s*0d%K36KZ1;NOd3wwE0Vgod>1?HD4v;xszRSypgwxy$4z86ra6Bj-e@)MWD(f2#>|3=4i4Vf82owli2C(XR zK{XpkV0&QKo5Wv@y&nI>hJsN=yR+nL-soH?K{cW7UPtOEA#K-cTRNk9SGa$~qP(d7 zT)6+tMcGjuH$rDF#sD>=Nn&P;q!MqX^(~>j?k1Nq@~Q4L7h|0PbUJ&l0swagT1HD( z8PR^L<6dKFULxjD21j!xD^frD9n8We>lB3@Y62lP>Nq;6|G0DT*_*_u$xf3W82=$~ zpvM$%(e8Ugh8^x0n;I`Ib{Vt!C!;j`6rb81HxW&YK?b^v;pQqf9Bs=S&b0gMjuiyI z60Jy%v?4ju3N_MUO{d5(x6I0@J1V(O4v%3?T$i;O8mC6dR-kR^{-^axPHl_!-&f}i zd%B!T6wy)Ob}_&;#h_Wc1Dw9v?kj$sdc5J!R%s8s%HRkR2tQ})n@-(zLzW0hFWH48 zO-(QFKhc%=!5{rf(Vs?vIOPRu&I6A2iVkPW7>!e; z(v~LabvBrK@(R*QtgwBylFSg9;v$YQ>11p4K2 zDAJcp_pyoc88?*qjK$?X6_f&Bw~d~SqA%wEb$w6l$5^b zjr>+FU@#(z{I*9W`Vq~Fb-?-`vf*+GG#{C+(PzH#<70`*cxu%ej<95s>wW69X|rlW z=UUfgv;H04m)j-bL|!5ftc6^tnpd#ZUp#f9UkCH21{dG;>)>b#WY~ful#`xb@mti+*vF#nYq567frwbAXOUS(ySe)sK$G9`zv1-Y)YdG4UAa zOeiB#g5Z0;NWB+`ISA}g@PxpLC*o_$KL`#dFpBe)n4e)~A|rR;M-FAW;KOxg5KN zJLMW;ZCx>x-W#Vt?wxS-(Hop{YodRygz8QD7fPnyq#tjZo$!TCd+3FDf!Hfceq3Ex z`Gm~*} z&q1Oz#wA9R#DD*by6ITzHB6AREOIt;%hiV0fw}98=EBc&<({0fali348BX^amYKgd zg2=C4fjW{OKQ#rIP)bD0qxj+h! zp;dQNZb_m=JxWY1caxJxK*2z&*m)&pQ8pqw(-=?a=40BLV_c*T)X+tnRt;PqoUOZd zYHNgBb9ACWyXI+9y6btZ@wX&A(XkF=7e|NsC{M;Qi+|OPZ#j*99^8 zrbn9wV1jjA?Z_i|v+;JSe#S?M+o9YNcayusjya5O#JR<~crZka9krv596*s!Z_1sB z7nOJ(MO3=!nu&--VHd;gxnOem12)(1v&aPto9L7~g2xYh3tEULemNjQkfW1&4!8D9 zw+Qjv&{_6BM35rWvz%n4F0AlxLp&+@f3I#}C;uTK=(WaN2m~y-8}w)(lt-=N_$>VP zN9Sh`$SaYPXNsCb;VRK`X!#&($~B9#lpa`o%#@`hh0?^crYs+~9j8juq7z1YT&C9e zJ7!YC+^-Rhw{$Ywy7}QaUEBbXl#m5UdRsEAC=UE8qAW%cV?= zMvYh^cBCtQhbKA%ze_u&EMI&v{+@u2ss``lu^y-N{Dfg*?i_nF+d)KoZKFqeBalfp znTCZpHiI=1m25j-EuextOFi|3CdZKr4qDhYP-fHIogU+bhF4aeBau8-6}RCyb!DN2 za^bD{gNWJ;5sAL}XynK`RGhB$(G_pqz zl84WIiFTdeeoxbsLLZuTf^Z@@p6|y0`kKd--gHdl>DpZWxpE}`OdACtuGA!`Fu~QVpDy`v=X7iJYSV)oDQ5+U zRKyE*rp_xB(Xm?hq3DFGVsB^o9PfhwqXGFm0y}T?fLCu(!vTRmABb739!Z`ukUZ5b zf%F2WsYz1F)00Wv_3>h-aV$O@5AI8H+|e00zS^_sfjBm>fqbezLzLmA?3vWB65~`t zH+B~9PHe|Lq*JH^kaoa}i@QrEm>^>biB6Owm1ZSc@vjyvFWruTlRdI{Lgea6x=YW~ zDp+Lfd>B&iG%sgLOIyk+i-MX_Sz^qbfS-=S_$aiVQ)$8zsf&LhJeF%9+39XntdGnG zd`-&URtc31eFD?rHm;k5Ys6(`Zu}31573I&xPy86`jGp~%IMe|;PSkV7f?$T&{ha& zuNuogGtNi>iizS8_=4vGh#9~)l?1-T8khlmt=Zf-1Nf$r`GC-!vz_l}vgne@aml0@ zI%Bw62`q>qQ+u(JPw}$26UT|J?X_PK+vnm=M`vghv1AsXDVtL3lGo$ITvz5TI**M| z2DZiphKl)^K!_bz00Ed7C&H69g4_Z}cjSgi@q-ou5AXv+*Z{w=EQ!KBg2JDpGvc@$ z#GNB3JWEh`x}fl^e}=-cQ_6v-3KaGjFAvb`>Cs6!diVP%NG*x|BSYr`-{&~OS~wK| zPaDe`$xDJ#!T8DnG`%u~req#1Aii=8SybW_mB2&DFchfb*=}Q(?&@EXB~b*{#?K}v z*gGwSy;r8N_eu+U1v*ut<5lf7PLXoMbl0KaG*SvjzmJW>wD(K5NA8^DLUna8qUv8p z)PQXOQAsBeb*{Bd!f2qzJ&8RTWG&NO`?T=S6`smuoT2c+ z4dn(x5aBt4PYtY5uEkIbGl zus+2whW(x?x4Us@s@4u$YT7;~WgdfJ%#v%p(d)7X@Q3x8*L?_6(tiUm7&YyrUp`S6 z*T1lc5swL#a^v!57#m<*U0Ahp1?qEE1A!b#>55U(JWrzwQ5{{`tPt zzijE>*dO{G`)GKE^sOS@w;3n&EmOKQgD!P0+Lr1P1uWZg1x7WNG`c)LsB8ZkZfBq* zm?iOwM#}+-{SJq&x`ar55B;@)`qX&E!B$DY=;EN`6|lOYm`VhJ-TjiwyOi(l7lMLnw&_Thef_mFm366xg10WJ5BpPg72MsbN<)xRbWM> zJ&liWrD^$$Ktc&Dqt`pNjhCahOLPiAlheU+a5*$u?MD2!F4>T{(KdjKAV87GqT53Iqb&n|LK#-0O#UA$KY?B?e8pC46# zmK{G{g#J}$hSxopfR@{(>-{Dy|{yR<4W!c z8ul1{`f5~4slq{@k0TUY|) ztbh%7AkZQYT~{zW>4<3Tgh6p3WOYX8h=S@AeF?3OcIfPI4WSoj$?pluNI5Z(1+ z@Y@{XF7vV6M-f_PTC`AgK}V)5esa|`TD@Qzx#|9&bZls^;@PQ65hxii=&tv)@OnBD zFjnR3=z?YlX)A$&OPwD;CsDjssMJ9pl91S@W)1>37;=j|UPniw)%aAcQ|kE=q&mJl z_ZEyin!5-61D)7rQQ5s+C#!$|EW;=%Rb#Zhtt-;3xa|nz@MH!Eje$} zWgSO#0FuoNDz4(54g=oi3*tJvw#<6T`B>#>s_{SZi$M zy8_Qrg;+em|Al_);xo_yl- z3L8&9h)V4or$-kcl4CzyoUr(X>Cv&+=(djXJ0$vDh4{mQw|^nY+j%0DQ`Bqz8RK`n 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 literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/GimpPaletteFile.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/GimpPaletteFile.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..052be6404a446aa339147ef5709935103845a62f GIT binary patch literal 1575 zcmZ`(%WfMt6eT%N>)}TbAWm8r0{U>3xNeuNVHjs`iEXxfyah~Zt7_;4%V+u=e0OntI(QCH-7sID8D@mIQ0=%^C2-bE*T?8V$ zblaYo7Zp(jeQ%jT1RsMca7AGm%KuIL=jLXZQR4Ro&=MoNy}T zX5BgmJ5Mb;?%&MqzWnLv+(>6}?8y+~3$kBD@nvJrw@PF{}WeU+Jyy;ddi<;ydyRPp?vvePf&}R|JK3&D8qo zih=nHD#8<2ZHT#%o@1NVsW)f@D&C~wY2SB1R)MYYUyXzW7 zaTc2>THj3aE>H9pfZL5@0*4*fa61~TnZ~rNh7X{S8@#New^amHrhV}2oITknJ{${x z!^I;m-tka%oL-uphQq3Jg~}?FbBw|M1D!PIt*3a_lQvY6izLpZt+viH!+&|MRIV&j z(t1$3-B;F0WM(}x=qJ)TDeqe+&W!bRKZ%X4{K%7mEcYmk(7LblIJ3d@0yG2bYMC6X zIapI4p@Wm^o?1XewWU9oshXH2oD6S;TY-`O1k62ppSd)oH5O7Ao|?mG4c;Mr#3t{@ zY>^F@|1SeKOJ(enYq!?WMjgIWY$y*3Q{FbrM?qd=r^jW1?KRmX@IdjiG#9c-)yLp< zH}FbNn(3*(g5|O>YIOMMZdh;K_L}ZQ7yM(YDjK8*z7ju19H1Z>Ph}L@N)!SAAVFM< zqSFCSrYk`diM$&{>Ir_NiDnHAUV|Bf0xSHn;FZ$I8WK>HRoMLd<$N*)?d84z593>|`U<^)bDSpIvRJZx&hg*zcfNDVRx2XV{t|M0r$)%%sN8Hm zC=Ups`cDu95i}J&--Yb3XB7e-gw2=zdxgn<5g87d#Hd`(jnBfmGii zVqLUf5Yd*wVRYuj4e^245bwfTQ~KvE**IL04Ozc{J3(J{dh>!gZ4EW?9%{nhC*3=j z=x3MOMp_i5NljK38dSEscS&)DS$}tuj-{=;>2a3JzODV779yAGYIAAq?VH)bcXM;6 z>h#M(+CWJ&Q-$TI4e`1~LmB%vf)avIkrZG7huCQnb)fAQ+N62jNvG318#=%4>8TuM zqiopOdA9qolc8IkYfpNSJGC`URXSN1w>k@l%7a5WG(ESc|B~7;xjxsW3Iax664ip~ z>WA&E!S`A!J@`%LrW|}*4rdct7(ICQ?BS#B!B~PF$&JJ1RRsC>$_P^Vv8ndealTrsO!&MykcbZ^Cn$!4THeDoi$*DmluIt$%Q0q_+H^ zEc4ee^I)gLY!igaQRxr10VFzNWeaoZBq3X$V2G28ana-gZBvtlEhSym3}Bv*^~J(O>ND&jS!Da!AhU1$j;lb22=5LC>guL$K$}@QR($ z->F;iD_Fs_sz?$D4r8q%=OLW+Do@?5yz_cR+zzr2NX{`sE}pLTOVdf`EE|D~mOk#X zId5Wx1B}$ok2o6cQ$#o#K?2u#cBhS#&vW z$wxLQMHofl-uD5jWiS^qdeE&w+9gFg zkx62s1d*BLC^wVjmsy%$uLPq~O;Tgq^EnYx4^=kB!lXWiYn&rDoLi!#5E|T}kwzim zl+%clCtMUwE>&1>brYCx_tY|h8St|;i{pHf)eKJLnQj5AyQb%9UDIb z!2oY&MAr=kiJmdN3M}-1nI5vxkaOT(MJtA-*fGrOL)6n><>?()!cbfks}7XkPByQ4 zQgpd$!UI@ob!v>VwY_~uEcH2t`&-5n776q2IM9iwqpHR0u*l1U>Klz5EPSkl**Dv z(OYAvH%oW1yFEg3*%#Qu@OD>yh1_iC&~cWu6Cm>NkQ6_D=Q~G5s}&G<{t|M0yGF?0 zIJo$@Ft|quE&l{V5J59Cp%JBMvy4rg$N}3CJmV8LawlHo!Pre|;zJRL#w#BA;-**? zZLsR!5wRvZuZZYK?;tpGqK3F7u8Hd~*OcyYOEwNxWJA_Z;F~aBwd3Xqv!gbS#0TQW zn4w3wyQCYwL9AVB8cCiPI?-v7moQ{IPu@_RVaDB=Bx7mnwtJLjvTthpNiH&}PH&t$ zd%JqJx4m$ORoE|bX*?zMOy!2-Xo#O%K4{~6ABpk7s7M0T03bGxgAksbywpjSg~@c9 zr9+ErqnyfNI!cG(_Jc>8VT!QAGbFvh?%J9rDw!;uTj3H=v3DScx@Xt)UsL19XZyNT zLD0x+qFT_M{&0V5@O>#&Irvp(x)?kthO>#xbvbzU?AwR;2V)7SidZGHZ16bU8m-|wJZ(aD~jwL&Ky{2IctMaSvmdAu7QxAGvLnYzdAiK?*+HS4c1;X zD=;**I2jJ*RNux;h^0*x;u^wx>A_>~VW>U;<-!F8x}qU!!UxL} zb%4_}YZ$0=Hc&eeN0+L@cNFH$r5kc^;A?L<0HY!Y6VXsp;>Q3bx*DGRIkX_&n;JJOZ4rk0)`-KjZ97Pq5 z0HUFfx=bMs+jIlNMpMJJ%reW4;YudLG zi>b`J9G7Gx;}xS(DYbDX<=A+*K&rRH;>Nh;Qvgt2fhM4B#;H%6%yT^IgS|reKl7{a zaND!{6iVO{t(TGw@1^njw67XqgET_u-ol`6g6~Ustt>eG-_sC%AE-JH=F&z4-5MlW zoF@|*$0mr8nOTN*Gmd|rCE3}GH!9R5(WbNLVV0TF zhPOl+`GiwW1Gche{f4EJ(}qpKo^91tSae$7dGe#puAhvLkwy%sjZ!NpSk^y8p)Vg~ z3X8W@d7y1ehXt2qPZ+h zAr#v%UDP-!x?DBk0IaKJqO~%$C%aZy>Mpop7R6xipf=FLguOtDO=eIXeE%DmvH9Nt zK787t>I?A9o!2TL77Ku)C|V*V*C@6S2k{m!{)m&>k(&tD6<^vcVc_Aite{S=Y7qG@`3%Fr~S3B9ScbYIsg zZZr+w;HT-E{Iq3c{T;FXK{bH-+mpI>UmRn=~n6Amv z<^hr4(*1EcuHHlo2Q3cz2T`lwPYBmPB;FJU#P}zcKPfJW!{P{HPa!rXrV%@g*imr| zu_K5b7f&NLbwd-+h-W|1#IqZQKaG?pP9Swcx(#>3^pA?Ki8G>tn#aUtaZb!2c3c)V zpO!}(&&Z?l_?C%r6*ixxw0LRD;FQOu#|EhrTsF(8uZZ(2#!qy0P(CMfjguR?xUizB zpUdaP#SN^O%x#|9((pV@rNWxl#LFATkMH;S9ppeuh=kwbj4ENOyYP(tlj`XXPwfyiTRx z!fsibrEOqFk#k;)fAIjh^!+UwQLb@bys=`a&!xF};fpPVv9PBHN}tz$qQ~xNFO*Ba z%GV#01Xc937(`J!36iiK#q&rTb2lIBRAi;OxmK_w(*i%<37aw^Q>Q=M66h^62 zmqF51GDgFKkR2s!K_Y#p(OIfqn4O(P_QCf$a_PeRBduZ!-G{X(e(WHUTJ`o~W4kbS z^UmU0BIA3htt9%4wht!VPE%&NXT2~=?$u~u!wY$olyZ?|jRmW-14?(N%eUB7mBNybUguBxEhy!%18csC9cd5(IPGTmvWyo?bqX(up|9G6t`6gome8L{s!bU!CCl3fvdLrC+0;`j z4tsKYa&LB4wtZNHwd4*ac-G?=&Tx3IW}@HWCyz)DKVGhP5$Wr9jdgR~!h&giESRn# zh6UWx*K_@xFjh=8CCqg@G5Yp~{(U_$`=}@MBU;}Q`jl2T`o@NdMYiT2(~k1C;;Hpc ze;lnu?FW$;hf5L5$5~H4?8sUYMoZr8LkI?cuq#$9<%*)+ON$F@Q4&17u2fs4dD@-o z#S4`@Z;CpC8fu!V<#?G=J6osJ#5+>66)*9wWx-Qa&l&WPyns|ZhQP60-PIl4!f#4f zCy}*hg=iE6w7fzI#Oq5|$PoIp);EMPtxeL?+)dRDUN}M*ljMZ8p#yB%>xCt4-R;}! z#ePxfE0+2(?-zD%z0@zo-;Q4GmuPhB<$hT>S2T4W&%%_pKDJvg$@Ry$xBU8nzPoAn zOAJe`sD!%a5vohMG}1As5XnTbKlYk7c&Dy@6j|BZ<6HbR)t?DB$@hyJI$*B&Gjn}B zar)ydFEq;%=26}(^xZ8TbH(_0t_S;0!`&?Q4>sI>fna&{o#E^&W4*}r@VN~E@B;7R zg~c%OZr^yz3v2Dj1Jty;swQVVZ$Zjd>?Lh)QF=0jRw=I=)!Hq9P#jC)wH5ahMBeQW zu6v}J=qWze3|FKV*Op~V&Ts`qK=PP0QIQxwCZ$PDyfHOZ@L>M&Bg$My&^yAii7^C% z1i7{h=#)+GPS5t5vYy;a^$&iDdRnEVp2ma4T9MABZe6uoi`{x%s??0+gEXgt2+(Q= zosNtIfl)`PXQ-;xXaiV{u;u4F-DEL{L}g;14k(X$KfxV$!iTb1C2Rn~A&ggjJB&mC zEV+mZex7=$h7VJV^85m0ER8m`DC#>DRsl0r;-03&N#)7>k|mM&po zzTL1%$FV9rd+4era@@{dG2+W3>HHw=puZ@|$M1*&aLnoFNz-@xM=ZlQCn;>YeFtwU zB*o1Vw0z$?@$Ry)aK<$H_U4!%Tm({P;}Gs{-<9J0V_F_XBsV6)@O!uBZ9kb>Y+x*jyNe+a9IxJ1tswEv zD7n}To5I84?L7dZc<Dq~ws%@2x z46D>Z5Ag*Aj!7r&IEN+3^SD8}ZW;JIft(vuN|-P>j}1sXfk_R&J)Z+eT_Jk+4~R(3 z*M$aSMwe#YSki?tc$$N!HF)L*Pn(`1FD-JUk!jrt{ta9BG(JBZA_KFoP}nDg2&=i)Hu)tFl)7cX!md9AgQ< z<|Vuj%*;;m4Tl&Lm2q9}J3cNf7R{s)( z@ks=B&IX=j+@9FSFiz}a3}0Z-fA$Uzm2GC&e*0)MjFUTGW>oDpHf_9vPJNbvw-5mr z$No2P-ffX9;7BF`eG~C<#4YS1m`206kGW&#AQ^Ph!m!s@%d7c5xW;GtJlWV}dM>0n zSdXn(eG5G+66uPqd^}+75U1mVz_;qHBu-6)WFnIdxqn>>=tXghzei&>iY*YV3}`{e zJ~tj&W^ZC=8Fs3xqo}{fx;BwPO28BL5TQeUizcndpz-TQqLZ-0EMx_M;K9~@dcHj% z?0d+13_7UtXp$K^k#_q9e zq4#$?3Ufma)Mdm%Ar1S^z(jb%3zQ1h)?u~Gw-X8a5F|T|VYy_*&`2e{#deakTj#nR zk1dr4AoJ}9u?O3w6?8~x1-MDG$)(M;on9gdT9X+=^=1gGf(#%pfte9^+GGxeFvr_1 z={*S6GP{QWV!o17RjddLUTQ8$@{e?2DM;4JffQ!zO0t<+HP8uFAlGv`5UP`zkP167T)vv-rk(d*@0|A=!AJtf2EMvn^M{kVDR>hB zOb9Y^QWIVcwL-Z|l*DRx)_ezcV9@L=2dVSETw~@3LxeSlJR-g`kg_;qZ~Ju!o60oz zUr{&q5D+^n0T#f%4AQ2OVZiRN%+luuQpV>anl)^T_c00IIVRON(NV?VBU9ZQi4%~Z zHVuqHC96R?seXH;s7V=g-l`VmmQz4_6trZun!430IBOS-x0;r!)zxm$%u1Les*}`+ z>?1ZBGwHocNkIXvVzz**6x&@3j*(+X-9YeD{NgtdIGO|YnSE`;)@|MRwUeVWV>dO7 z+5heybC0+MH*buMKjD5z5%zp&Z?6zz{Q!|&#tPTF0k^vem-`|3LGs{(w#JB=?zOg5ys#I_!X-^nJbwgGqh5mfZm5e z&AYka&4hHs^SPR-{k7#b@BoezzzzW?AOFoR`G3!Pi`^tc7hpylE;iS^W;+o4mcSDs z`7huCgh$!C%Vi&7 z9AQ*%qkH%V+fks_yk%l1-iloFPE&93X-3S9$D~eI*pJZghA2@lP z-4vX>I19KO4$W!ps0IhRDX4}{;W0RzaH_nU^$ynx`d@tp&XODqf*kRsiaXD~|K6zu znXp5g6$VH5nFparmd}D$hfB+F`^V51Sy5lZlzK%{nKOf&06F{IRJ{uy!6iW&Lew4S zqX+e1X3=c6AK>_BJ<2kv9{D|R_D9rHfr2#(ewTtP2!;p$cPWDpnPMEaa2u0(8go35 zFQaT+`50~DGiX{eN`$0*s*Ks>-I_!S82h-vzblY7tKoP599O4`wDTnYCNW_KVNf9%h{RmMszu z->inM%;Q_4bQNCk4(OzMK=t@6#6oH6A%fxNK0-XrvCyS4U$6m*aOI^F*%O{MP}HzP=Zfl6O{b%Pf+|^KL50g4ItV+8 zrZ)md3`|TGx+r*pUrbq!2D;>0piPDgH@8{R$0rok$d-(ljJl5?vtx<0Y!~4{gY>f3 zojKDUuPzZF(ms~qzs2$rbP0XK09n<^vIKxIe8E=@)<8feoKKx~__4qfNS=tG7MHXw z<85sNQV7e2fCjX53u(aF33w533kATtKzC8oT12-yln2iOq%fc4Hyw~!cyb|`jwrEj z!P#_in8CwvNn1SwOSga?i)`mkLNDCRGXZaWv0s31*GCWXs8(SEnsfyB2b_0MjEMu7M}bDap>r;^o7g-g#&I{rHZ%1k4pL9tCztUX z(N|KY-Ujv1%e_h5exW{YvnDc9zS{U|34D0r8Gn-t7bKm=92hhWd? zO-CRuvBN3QM5cL+MD z?@6sUU5&9gGna7N6g1<@GrP6?a&{dCD5Fbs--Lge{r+DVqKU4c{(3xx$oFW7`3%aZ zwQoXcR>9M-83y|V=dJL#j&4ItFwGmxsZdACmBylz0QI}U~q_hIYqr+NnYX4Y= z)q2L|kgI)k^O`qe){&JrUztqvV4%c-)gK_kFG^fYg19kdW6RD2@T4}AnV7seOp30e zu6hdr9Aj9b)PecMRn+fL3HgOGZyFujKyC&9O`7}g>W#T;xCigH)Hvl^bk$iI%eI8z zNd1U{0D*r1@OM8H5;ua`5|`-3)y&PGxtZXKqN3D-L#mVJX}KV@NUnA0ijgk_{300? zgTE@MpHTMEBZ z>eJt%bh_nAa4%0{GS8Pt5a>TfF&=-8$G!=vZzJyqG#!%Sah=n>99vgCmsjj1rs%L^ zTR|9At9)elD%qbJ-tanW$#Ofo=>o7vQ;2tm7V}1%1&Nr+X48{H}?9gl0gx!N=S_LmV|PQqj(NrOK3KDfxYh(Xo^n_*S+S zKi|py3&biH$wset>5o5{CoPD&iXb)GaVCOhyauU;#K789q^oJhRTPmnm8XC_G`@=i zdhnkiW}$wO@4c#|EH(9Ysz**g-j_`B4^#3a1r&b5KJ<3WQT>2|M-=>&0$O%ZkYMxR~Fj+5oz1iA?H%&2f0il9FqW+CWhXM zl0F3`ApZ?i0ikQUmRokuxuvmF6QTQ_duiN)-`f~N9rAuVu=7ZX#&wTL+wmu)L}R}) L@+bex`tSb%l*>bD literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/IcoImagePlugin.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/IcoImagePlugin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d256a2a6379fdf0b1b5fc35f0a02ed357a7ae2fd GIT binary patch literal 8703 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 UyHjSZrv2K?`Ke|4yfUNzFJ%wv$^ZZW literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/ImImagePlugin.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/ImImagePlugin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c4ef4c72e4d06f88ca448f038a3b0b02139f10e9 GIT binary patch literal 7084 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 literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/ImageCms.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/ImageCms.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e4ee66dcf1420a2c5879d95b7de0265bc8e54cf0 GIT binary patch literal 36094 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 Z??;)^uH^S=m-7L9^!hhH?aG7i{TCO{a|r+d literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/ImageDraw.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/ImageDraw.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d49d39a12c0114c1ea4c855d55a3a1c1504d7b5b GIT binary patch literal 27360 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 literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/ImageDraw2.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/ImageDraw2.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b49137875dd42800a7e39be7c7d03a4d5c384721 GIT binary patch literal 7245 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 literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/ImageEnhance.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/ImageEnhance.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..94e3a61dd3f85b2b498cad8aae4792df11241ff0 GIT binary patch literal 3797 zcmb7{&vP6#7ROutW2R?pPaMZA0TvJxwVT;Bv#`r)idtg41gHvzN(_gosp`lhdEBO_ zdrCP`OG>Zg{To}|xvQfF&x zbqCLXrRsm%aGd{g;>hcQRG(o5Wd*YO5^#~%cpfH@yJ(wD(E zjtm~UoeHFitU{`)%0sVHg&fKnB2sddiH}ImI4wFvD{Ty>r zo^;=}rH8UEt1|osvywGfuu_K62kD_md+KL9Qp*k-#Aft5mQJNgi$ax^1JNroT?Pk9 zCW^A6RWZ_O&t0&B-UFl^GGqfUg)?Sn&XJ4cow0KdLo)Fn%&^WU&mE&B=OX3G8X~zF zyH%gHX%B@K18&D}^KEV{h|@kFW^r2Z`yv@B-pkTLXGuc!#i5$28>qBs%~VZ?os_rC zl=$1Nx41}-#YxWXtY8oH4NrJ>V02|V?#HP}tZ7@9sY|kBr6+dge4sF?MCCbDC7I?o z_MzplNKvz8trdB3sV-IYnp;>F$q&&BYRxR6HPfoa_fVs_KuR;%oEJLo8GJ4?ElV+x zIJa8n>(SQ5$xyXT^PEW94*xif?Q3aTi9C8G4nnHOfL{%>blF zsTimzD(g`+$mA%Y_thx+Y9x}$mn%`U;EGYC31Ty!h3qQTRgt}bl#}+l6S9ysTvL0g zYyR{inoeC)vW_QfCWw$ThVYDf8SD@!VjT{$EssWdVR@VIvo8{I)QMy4(QcY8<2`V; zulOiek{1~lwk!Dnfj828(vxULQ{!G+JWkEV3O>M;!B-v+;zVfDV7nT3$~nj(XE2KP zzTmkkT6}xvt+b^^kM&L(;w^YnKfbTXiS`rhsG<1y5F0#kZE|7jd1y|~XPO%|H1x8! zSy&BdW-HC6mi}&*s^0`34=cPw!RI5qoFVi?hJ$LRq`ik_Z1|f-^u_NzG zPrr(9KFQ})qVAkMz&ErCq=Sv|cT0A=WZND0_I9&kEa_ZD;8A*@WQ^EIIH@x1t70Dx zo0q^Wp*HHu``1IC=H=A)W7gYk8I_$yLgK^8hbYlNEWdPqwT zt?W&#tbQIZKsDT?zr-S~*6bksHw4Qf*kY1_xHY0tg0}~(@Ctt%;BaI| z73sdCBms&`o*cq=F&TpCT ztEOg6`sWw{HyiM5m=1O|g(FS3jXn~d@88oep=dTNToh*YE67R@tZM?KE&ir3auTGhpdxCxqjrHr4&DG8EeghxgL;7ikcU4o}6Y;LUKRc^Wzgq%) zeuzI4;`45ckheHOsX=pcd{H=E2KTX0YVSrD2T{ZI< zTRJ18i~5{y9u>BU@c0Mf;@W((o|=p;sMw=1DEeuVp2$S)?xD~_y1t$Me+h|vTK_~M z7LMjwr)3_V0f&*+IPfQ@xmciPcA{PaguPZS_W1ks4CaCx!*J=J-NWgwe9?Kc6!Dhm zX=6F35pT>2mrhi01Af3sV7Pe+-1y@P pn$Tld)6{zb?^(nu!*}h~^q&-%&0S#i+NRs^);HES*Pq*5{}l^li%9?g literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/ImageFile.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/ImageFile.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f47671757ab3ee2ca89658bc4db86e12564e2113 GIT binary patch literal 20646 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 L$k5pA#7F-RERj&6 literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/ImageFilter.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/ImageFilter.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..99075969227417b02b7ce5e612fd31e3a1c3ce13 GIT binary patch literal 18309 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 eQ`xB_Q-`M}UQu*7Iu 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 literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/ImageMath.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/ImageMath.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..baf7852ac29d6b61f1975a3be183bcb604aaa320 GIT binary patch literal 11196 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 F{0-mV0Gj{+ literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/ImageMorph.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/ImageMorph.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9d1b14b40b8d4dc41eeed18ec9bc47594ac33122 GIT binary patch literal 8052 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 SvRCDU3O^H-N_BGf!2bs4fI=z& literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/ImagePalette.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/ImagePalette.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..10925b84074aa0a8b2462cb15892496eb24a0ca4 GIT binary patch literal 8427 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 UZy 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 literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/ImageShow.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/ImageShow.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cc2ab08c62a8cee7c86e9eba055ad0ccba854f05 GIT binary patch literal 10045 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 DyRAPb literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/ImageTk.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/ImageTk.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..824c0b92879964701dfc6e574892c1d064e6a0df GIT binary patch literal 7942 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 literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/ImageTransform.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/ImageTransform.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5bfbcce4a16db335aefd5ab847485be16b095169 GIT binary patch literal 4668 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 NuiaeRT)VZo{yzw+)vEvi literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/ImageWin.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/ImageWin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..06f3cf0c3431ce7dbeb3b48c3d62764fe2301a20 GIT binary patch literal 9260 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 literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/ImtImagePlugin.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/ImtImagePlugin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..28dec037a02292eed15dbd60efaf9d2915aed170 GIT binary patch literal 1490 zcmZux&2Jnv6!-JkGqWGrY(u3sDnfhU&`s6$gg^+PinO4hG^&yyq3ObCy7q1+nU9U_ zZ9X)MP`8LHf5Pqsi96!TAHfCr$|+}V2nn7iDarv$etv%M`Tc&jpIxr3Gzqp}gdG2l z+8=Imy)m3TA_VjGLKJ*PgfD{ELYM1e z`#iaS{?$gmclY_%y@47Os1IG5>&?T-BS-ulR3wQ&5F`tcCuqb(D7f%nvxtiTNi=MG zD>wgvMBdiZ{qu0^X>Y$QGi`k(%~TbZ?UaQaI%;p4JG&73rUUvGJry~`lbM1JJ}0lh z%@!bF2{RD1f|sCf32#OXt>_$Hfnbcxycuhd3e>#{DGL8Px=v;sbzhKLhr++g<6|CP zas8ekd!$0@M^x<@Z{fDnz!-k3#$WhLVuA|haNEs8!Gu5ZmTZiC;)Yv$#U-w;F?^rQ zpn^qHP(<-7UipibU`s$d7j)6C96DfLK1XgxR99Cz95MCH6(hDz%!+8v0hxV&e8+Sa zs}vFb+A#WimozumvFb0P3T{&ct0Jnvvh^^&58S2@D!QO>%rTxrw+ZR@Gz zq)%&mEo$?|1;q%>QJkd09B3c41DTEwOl_Q`r!vznrue|ZcK@cOqlsloCc?J%&I*&9 zK2fSv%4LXnypPb9>GT|>ky&QFOky?VrH~Ob&dK#8OO5p=CFVIS)53bC5|)ornc_0qyv9@pu3?2`1Gm|bQg>%W+eMp9WX*W-wvx{!#U)sdhr&(cC_3%P|O z3om~ns*n8s+THwc@P(F24^Cue%E9AuIL&2Y^k8@QlP8;lvD79hW0g#^!FKv$pi?97 zPmY+*}?k`gJTrPJ|*TjaKx}xY| z*A6HoZZ{oTTl+1CHJak5fmq5Fils_gqTFvStu4qNcajK0}^*+=? e=lCCB8-8@TjgMV5>o$t^YDl}Z$=8Cl$NvH|VsqgD literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/IptcImagePlugin.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/IptcImagePlugin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..dc6eaf4dae0337daa4da9c702ca8c80be9f77351 GIT binary patch literal 5518 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 M*#dSj9*h|O3tiW_(*OVf literal 0 HcmV?d00001 diff --git a/gestao_raul/Lib/site-packages/PIL/__pycache__/JpegImagePlugin.cpython-310.pyc b/gestao_raul/Lib/site-packages/PIL/__pycache__/JpegImagePlugin.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0a606096c8169fabe91a2626fb0241ad3f6f430c GIT binary patch literal 19819 zcma)k349yZdFRYvFaQQ1c%PyqNU|ltwj@&2Wm|S6OO!=hqG(CJ5V;7*HzbDw0qS8W zi3s4hrW4C)n>b0EbQ>on)4Hv*$!@mU?Pj-W(xkc5<~}EP+@wL$G)>*KjgnaV|GpUj z1Wh+f{P5v>?|tu_@4fe3!+cYdso?J~gf(^iVMTeC5-b0jkvOC%YC+Q#MJPheDzj=z zRSDO!T1w;JKq|n$dP?WtU@FMJM#|vdP%6Z~;Z&G^BdG}gnkf^%foya(mWs_brJ82r zsW{r!MKIeu+mdRTZB4au+Q_!ewx>E64*~B?buk_W-ks`ZJOaEY)yueqI}W z>ug1=7aPPzYs+Nd4XQ|pO=7c;ZxPpt>wSEy*e167cv9RTZnP3if0NiDcKZ3d#DEy| z@!eub?D6rvVjo)GFAj*C{hV9Gt>U1M-zIJsFY)n1;;^{GZ~2HgDu(_1W8zM6+{Z`6 zUE*#ZKOs)OLB$M4#VPbKChh?|EzSU*754((C+-J)Ks*ST5-$ZjCmsU)4Uq$IIej@d_V*MEs_B)W;XaW8#%Q{wndfxZ>kah*yi>^6}pmzaw7b%|+y@A~-fi8qQj`S|aP|04dt$KNcT5^wSGw~9X$OFq6V-i8(VBk{+8Pm4c! zgZi{8{#5*#ct*Tk{8#Y~@lNsI#D5p>68}T=h(EVBPX@%hpNc)Lrmh#R_}}6^;H0g0 zD&qf$_+yHQTdgy#i-FWO@ip<6;=L%_4(zYQ`+z0I`|eB`M>>L&4Z@p179(C!f55T6#G0k#v^XT|4$?TTpPo8nvIi{eX<1yci7%hI5= zZDzMMU~OFvU_Z1h4RLzsvc{=Bl$uh+m*1xPIeRHbe1%d%JEJ7OU7^z!@R7SmM(=b3hjR-RmB=+WI5L}=vfK#&9J8|)nh4s1 z`^G(FXg4ET{s86Y{rrfq=A<=|afm1cv|u@fXH++KaxPzM$khv0cG7LSYtEXgXBx8^ zdESz4z|J|YAuVTK=3IR=pR*=3nt}fpz%LFq