exiftool-vendored.pl 12.70.0 → 12.73.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/bin/Changes +53 -1
  2. package/bin/MANIFEST +5 -0
  3. package/bin/META.json +1 -1
  4. package/bin/META.yml +1 -1
  5. package/bin/README +11 -11
  6. package/bin/exiftool +47 -27
  7. package/bin/lib/File/RandomAccess.pm +1 -1
  8. package/bin/lib/File/RandomAccess.pod +2 -2
  9. package/bin/lib/Image/ExifTool/AAC.pm +177 -0
  10. package/bin/lib/Image/ExifTool/AES.pm +1 -1
  11. package/bin/lib/Image/ExifTool/AFCP.pm +1 -1
  12. package/bin/lib/Image/ExifTool/AIFF.pm +1 -1
  13. package/bin/lib/Image/ExifTool/APE.pm +1 -1
  14. package/bin/lib/Image/ExifTool/APP12.pm +1 -1
  15. package/bin/lib/Image/ExifTool/ASF.pm +1 -1
  16. package/bin/lib/Image/ExifTool/Apple.pm +1 -1
  17. package/bin/lib/Image/ExifTool/Audible.pm +1 -1
  18. package/bin/lib/Image/ExifTool/BMP.pm +1 -1
  19. package/bin/lib/Image/ExifTool/BPG.pm +1 -1
  20. package/bin/lib/Image/ExifTool/BZZ.pm +1 -1
  21. package/bin/lib/Image/ExifTool/BigTIFF.pm +1 -1
  22. package/bin/lib/Image/ExifTool/BuildTagLookup.pm +4 -3
  23. package/bin/lib/Image/ExifTool/CBOR.pm +1 -1
  24. package/bin/lib/Image/ExifTool/Canon.pm +22 -7
  25. package/bin/lib/Image/ExifTool/CanonCustom.pm +1 -1
  26. package/bin/lib/Image/ExifTool/CanonRaw.pm +1 -1
  27. package/bin/lib/Image/ExifTool/CanonVRD.pm +1 -1
  28. package/bin/lib/Image/ExifTool/CaptureOne.pm +1 -1
  29. package/bin/lib/Image/ExifTool/Casio.pm +1 -1
  30. package/bin/lib/Image/ExifTool/Charset.pm +1 -1
  31. package/bin/lib/Image/ExifTool/DICOM.pm +1 -1
  32. package/bin/lib/Image/ExifTool/DJI.pm +1 -1
  33. package/bin/lib/Image/ExifTool/DNG.pm +1 -1
  34. package/bin/lib/Image/ExifTool/DPX.pm +1 -1
  35. package/bin/lib/Image/ExifTool/DV.pm +1 -1
  36. package/bin/lib/Image/ExifTool/DarwinCore.pm +1 -1
  37. package/bin/lib/Image/ExifTool/DjVu.pm +1 -1
  38. package/bin/lib/Image/ExifTool/EXE.pm +1 -1
  39. package/bin/lib/Image/ExifTool/Exif.pm +31 -10
  40. package/bin/lib/Image/ExifTool/FITS.pm +1 -1
  41. package/bin/lib/Image/ExifTool/FLAC.pm +1 -1
  42. package/bin/lib/Image/ExifTool/FLIF.pm +1 -1
  43. package/bin/lib/Image/ExifTool/FLIR.pm +1 -1
  44. package/bin/lib/Image/ExifTool/Fixup.pm +1 -1
  45. package/bin/lib/Image/ExifTool/Flash.pm +1 -1
  46. package/bin/lib/Image/ExifTool/FlashPix.pm +60 -7
  47. package/bin/lib/Image/ExifTool/Font.pm +1 -1
  48. package/bin/lib/Image/ExifTool/FotoStation.pm +1 -1
  49. package/bin/lib/Image/ExifTool/FujiFilm.pm +6 -3
  50. package/bin/lib/Image/ExifTool/GE.pm +1 -1
  51. package/bin/lib/Image/ExifTool/GIF.pm +1 -1
  52. package/bin/lib/Image/ExifTool/GIMP.pm +1 -1
  53. package/bin/lib/Image/ExifTool/GPS.pm +1 -1
  54. package/bin/lib/Image/ExifTool/GeoTiff.pm +1 -1
  55. package/bin/lib/Image/ExifTool/Geotag.pm +1 -1
  56. package/bin/lib/Image/ExifTool/GoPro.pm +17 -2
  57. package/bin/lib/Image/ExifTool/H264.pm +1 -1
  58. package/bin/lib/Image/ExifTool/HP.pm +1 -1
  59. package/bin/lib/Image/ExifTool/HTML.pm +1 -1
  60. package/bin/lib/Image/ExifTool/HtmlDump.pm +1 -1
  61. package/bin/lib/Image/ExifTool/ICC_Profile.pm +1 -1
  62. package/bin/lib/Image/ExifTool/ICO.pm +1 -1
  63. package/bin/lib/Image/ExifTool/ID3.pm +8 -5
  64. package/bin/lib/Image/ExifTool/IPTC.pm +1 -1
  65. package/bin/lib/Image/ExifTool/ISO.pm +1 -1
  66. package/bin/lib/Image/ExifTool/ITC.pm +1 -1
  67. package/bin/lib/Image/ExifTool/Import.pm +1 -1
  68. package/bin/lib/Image/ExifTool/InDesign.pm +1 -1
  69. package/bin/lib/Image/ExifTool/InfiRay.pm +1 -1
  70. package/bin/lib/Image/ExifTool/JPEG.pm +5 -2
  71. package/bin/lib/Image/ExifTool/JPEGDigest.pm +1 -1
  72. package/bin/lib/Image/ExifTool/JSON.pm +5 -2
  73. package/bin/lib/Image/ExifTool/JVC.pm +3 -3
  74. package/bin/lib/Image/ExifTool/Jpeg2000.pm +17 -6
  75. package/bin/lib/Image/ExifTool/Kodak.pm +1 -1
  76. package/bin/lib/Image/ExifTool/KyoceraRaw.pm +1 -1
  77. package/bin/lib/Image/ExifTool/LIF.pm +1 -1
  78. package/bin/lib/Image/ExifTool/LNK.pm +1 -1
  79. package/bin/lib/Image/ExifTool/Lang/cs.pm +1 -1
  80. package/bin/lib/Image/ExifTool/Lang/de.pm +1 -1
  81. package/bin/lib/Image/ExifTool/Lang/en_ca.pm +1 -1
  82. package/bin/lib/Image/ExifTool/Lang/en_gb.pm +1 -1
  83. package/bin/lib/Image/ExifTool/Lang/es.pm +4 -4
  84. package/bin/lib/Image/ExifTool/Lang/fi.pm +1 -1
  85. package/bin/lib/Image/ExifTool/Lang/fr.pm +4 -5
  86. package/bin/lib/Image/ExifTool/Lang/it.pm +3 -3
  87. package/bin/lib/Image/ExifTool/Lang/ja.pm +1 -1
  88. package/bin/lib/Image/ExifTool/Lang/ko.pm +1 -1
  89. package/bin/lib/Image/ExifTool/Lang/nl.pm +1 -1
  90. package/bin/lib/Image/ExifTool/Lang/pl.pm +1 -1
  91. package/bin/lib/Image/ExifTool/Lang/ru.pm +1 -1
  92. package/bin/lib/Image/ExifTool/Lang/sk.pm +1 -1
  93. package/bin/lib/Image/ExifTool/Lang/sv.pm +1 -1
  94. package/bin/lib/Image/ExifTool/Lang/tr.pm +1 -1
  95. package/bin/lib/Image/ExifTool/Lang/zh_cn.pm +1 -1
  96. package/bin/lib/Image/ExifTool/Lang/zh_tw.pm +1 -1
  97. package/bin/lib/Image/ExifTool/Leaf.pm +3 -3
  98. package/bin/lib/Image/ExifTool/Lytro.pm +1 -1
  99. package/bin/lib/Image/ExifTool/M2TS.pm +22 -17
  100. package/bin/lib/Image/ExifTool/MIE.pm +3 -3
  101. package/bin/lib/Image/ExifTool/MIEUnits.pod +1 -1
  102. package/bin/lib/Image/ExifTool/MIFF.pm +1 -1
  103. package/bin/lib/Image/ExifTool/MISB.pm +1 -1
  104. package/bin/lib/Image/ExifTool/MNG.pm +1 -1
  105. package/bin/lib/Image/ExifTool/MOI.pm +1 -1
  106. package/bin/lib/Image/ExifTool/MPC.pm +1 -1
  107. package/bin/lib/Image/ExifTool/MPEG.pm +1 -1
  108. package/bin/lib/Image/ExifTool/MPF.pm +1 -1
  109. package/bin/lib/Image/ExifTool/MRC.pm +1 -1
  110. package/bin/lib/Image/ExifTool/MWG.pm +1 -1
  111. package/bin/lib/Image/ExifTool/MXF.pm +1 -1
  112. package/bin/lib/Image/ExifTool/MacOS.pm +1 -1
  113. package/bin/lib/Image/ExifTool/MakerNotes.pm +1 -1
  114. package/bin/lib/Image/ExifTool/Matroska.pm +1 -1
  115. package/bin/lib/Image/ExifTool/Microsoft.pm +1 -1
  116. package/bin/lib/Image/ExifTool/Minolta.pm +1 -1
  117. package/bin/lib/Image/ExifTool/MinoltaRaw.pm +1 -1
  118. package/bin/lib/Image/ExifTool/Motorola.pm +1 -1
  119. package/bin/lib/Image/ExifTool/Nikon.pm +166 -97
  120. package/bin/lib/Image/ExifTool/NikonCapture.pm +1 -1
  121. package/bin/lib/Image/ExifTool/NikonCustom.pm +1 -1
  122. package/bin/lib/Image/ExifTool/NikonSettings.pm +1 -1
  123. package/bin/lib/Image/ExifTool/Nintendo.pm +1 -1
  124. package/bin/lib/Image/ExifTool/OOXML.pm +1 -1
  125. package/bin/lib/Image/ExifTool/Ogg.pm +1 -1
  126. package/bin/lib/Image/ExifTool/Olympus.pm +1 -1
  127. package/bin/lib/Image/ExifTool/OpenEXR.pm +1 -1
  128. package/bin/lib/Image/ExifTool/Opus.pm +1 -1
  129. package/bin/lib/Image/ExifTool/Other.pm +1 -1
  130. package/bin/lib/Image/ExifTool/PCX.pm +1 -1
  131. package/bin/lib/Image/ExifTool/PDF.pm +1 -1
  132. package/bin/lib/Image/ExifTool/PGF.pm +1 -1
  133. package/bin/lib/Image/ExifTool/PICT.pm +1 -1
  134. package/bin/lib/Image/ExifTool/PLIST.pm +1 -1
  135. package/bin/lib/Image/ExifTool/PLUS.pm +1 -1
  136. package/bin/lib/Image/ExifTool/PNG.pm +24 -2
  137. package/bin/lib/Image/ExifTool/PPM.pm +1 -1
  138. package/bin/lib/Image/ExifTool/PSP.pm +1 -1
  139. package/bin/lib/Image/ExifTool/Palm.pm +1 -1
  140. package/bin/lib/Image/ExifTool/Panasonic.pm +27 -2
  141. package/bin/lib/Image/ExifTool/PanasonicRaw.pm +1 -1
  142. package/bin/lib/Image/ExifTool/Parrot.pm +1 -1
  143. package/bin/lib/Image/ExifTool/Pentax.pm +46 -16
  144. package/bin/lib/Image/ExifTool/PhaseOne.pm +4 -4
  145. package/bin/lib/Image/ExifTool/PhotoCD.pm +1 -1
  146. package/bin/lib/Image/ExifTool/PhotoMechanic.pm +1 -1
  147. package/bin/lib/Image/ExifTool/Photoshop.pm +1 -1
  148. package/bin/lib/Image/ExifTool/PostScript.pm +1 -1
  149. package/bin/lib/Image/ExifTool/PrintIM.pm +1 -1
  150. package/bin/lib/Image/ExifTool/Qualcomm.pm +1 -1
  151. package/bin/lib/Image/ExifTool/QuickTime.pm +50 -11
  152. package/bin/lib/Image/ExifTool/QuickTimeStream.pl +148 -12
  153. package/bin/lib/Image/ExifTool/RIFF.pm +1 -1
  154. package/bin/lib/Image/ExifTool/RSRC.pm +1 -1
  155. package/bin/lib/Image/ExifTool/RTF.pm +1 -1
  156. package/bin/lib/Image/ExifTool/Radiance.pm +1 -1
  157. package/bin/lib/Image/ExifTool/Rawzor.pm +1 -1
  158. package/bin/lib/Image/ExifTool/Real.pm +1 -1
  159. package/bin/lib/Image/ExifTool/Reconyx.pm +1 -1
  160. package/bin/lib/Image/ExifTool/Red.pm +1 -1
  161. package/bin/lib/Image/ExifTool/Ricoh.pm +111 -3
  162. package/bin/lib/Image/ExifTool/Samsung.pm +4 -3
  163. package/bin/lib/Image/ExifTool/Sanyo.pm +1 -1
  164. package/bin/lib/Image/ExifTool/Scalado.pm +1 -1
  165. package/bin/lib/Image/ExifTool/Shift.pl +1 -1
  166. package/bin/lib/Image/ExifTool/Shortcuts.pm +1 -1
  167. package/bin/lib/Image/ExifTool/Sigma.pm +1 -1
  168. package/bin/lib/Image/ExifTool/SigmaRaw.pm +1 -1
  169. package/bin/lib/Image/ExifTool/Sony.pm +85 -6
  170. package/bin/lib/Image/ExifTool/SonyIDC.pm +1 -1
  171. package/bin/lib/Image/ExifTool/Stim.pm +1 -1
  172. package/bin/lib/Image/ExifTool/TagInfoXML.pm +2 -2
  173. package/bin/lib/Image/ExifTool/TagLookup.pm +4878 -4830
  174. package/bin/lib/Image/ExifTool/TagNames.pod +11518 -11379
  175. package/bin/lib/Image/ExifTool/Text.pm +1 -1
  176. package/bin/lib/Image/ExifTool/Theora.pm +1 -1
  177. package/bin/lib/Image/ExifTool/Torrent.pm +1 -1
  178. package/bin/lib/Image/ExifTool/Unknown.pm +1 -1
  179. package/bin/lib/Image/ExifTool/VCard.pm +1 -1
  180. package/bin/lib/Image/ExifTool/Validate.pm +1 -1
  181. package/bin/lib/Image/ExifTool/Vorbis.pm +1 -1
  182. package/bin/lib/Image/ExifTool/WPG.pm +1 -1
  183. package/bin/lib/Image/ExifTool/WTV.pm +1 -1
  184. package/bin/lib/Image/ExifTool/WriteCanonRaw.pl +1 -1
  185. package/bin/lib/Image/ExifTool/WriteExif.pl +20 -5
  186. package/bin/lib/Image/ExifTool/WriteIPTC.pl +1 -1
  187. package/bin/lib/Image/ExifTool/WritePDF.pl +1 -1
  188. package/bin/lib/Image/ExifTool/WritePNG.pl +1 -1
  189. package/bin/lib/Image/ExifTool/WritePhotoshop.pl +1 -1
  190. package/bin/lib/Image/ExifTool/WritePostScript.pl +1 -1
  191. package/bin/lib/Image/ExifTool/WriteQuickTime.pl +4 -1
  192. package/bin/lib/Image/ExifTool/WriteRIFF.pl +1 -1
  193. package/bin/lib/Image/ExifTool/WriteXMP.pl +5 -3
  194. package/bin/lib/Image/ExifTool/Writer.pl +87 -15
  195. package/bin/lib/Image/ExifTool/XISF.pm +1 -1
  196. package/bin/lib/Image/ExifTool/XMP.pm +19 -3
  197. package/bin/lib/Image/ExifTool/XMP2.pl +1 -1
  198. package/bin/lib/Image/ExifTool/XMPStruct.pl +1 -1
  199. package/bin/lib/Image/ExifTool/ZIP.pm +1 -1
  200. package/bin/lib/Image/ExifTool/ZISRAW.pm +1 -1
  201. package/bin/lib/Image/ExifTool/iWork.pm +1 -1
  202. package/bin/lib/Image/ExifTool.pm +35 -8
  203. package/bin/lib/Image/ExifTool.pod +29 -16
  204. package/bin/perl-Image-ExifTool.spec +9 -9
  205. package/bin/pp_build_exe.args +6 -5
  206. package/package.json +4 -5
@@ -34,7 +34,7 @@ use Image::ExifTool qw(:DataAccess :Utils);
34
34
  use Image::ExifTool::Exif;
35
35
  use Image::ExifTool::Minolta;
36
36
 
37
- $VERSION = '3.64';
37
+ $VERSION = '3.66';
38
38
 
39
39
  sub ProcessSRF($$$);
40
40
  sub ProcessSR2($$$);
@@ -597,7 +597,7 @@ my %unknownCipherData = (
597
597
  Hidden => 1, # doesn't appear in Tag Name documentation
598
598
  RawConv => sub { Decipher(\$_[0]); return $_[0] },
599
599
  ValueConv => 'PrintHex($val)', # print as hex
600
- PrintConv => 'length($val) > 65 ? substr($val,0,60) . "[...]" : $val', # limit length
600
+ PrintConv => \&Image::ExifTool::LimitLongValues,
601
601
  );
602
602
 
603
603
  my %meterInfo1 = (
@@ -1643,9 +1643,11 @@ my %hidUnk = ( Hidden => 1, Unknown => 1 );
1643
1643
  # 0x203e - int8u: seen 0, 1, 2, 3, 4 and 255: possibly nr. of detected/tracked faces?
1644
1644
  # 0x203f - int16u
1645
1645
  # 0x2041 - int8u
1646
- # 0x2044 - int32u[2] in ILCE-6700/7CM2/7CR, ILCE-7M4 v1.10, ILCE-7RM5 JPG and ZV-E1:
1647
- # ARW: seen 143360 53248 and 139264 53248
1648
- # JPG: [~filesize] 53248
1646
+ # 0x2044 - int32u[2] offset and size of some unknown data, relative to TIFF header in JPG and ARW - PH
1647
+ 0x2044 => {
1648
+ Name => 'HiddenInfo',
1649
+ SubDirectory => { TagTable => 'Image::ExifTool::Sony::HiddenInfo' },
1650
+ },
1649
1651
  # 0x2047 - first seen for ILCE-9M3, November 2023
1650
1652
  # 0x2048 - first seen for ILCE-9M3
1651
1653
  # 0x2049 - undef[2]
@@ -5958,6 +5960,29 @@ my %faceInfo = (
5958
5960
  # 0x001a, 0x001c appear to be 2 int16u values, meaning unknown
5959
5961
  );
5960
5962
 
5963
+ # hidden information (ref PH)
5964
+ %Image::ExifTool::Sony::HiddenInfo = (
5965
+ %binaryDataAttrs,
5966
+ GROUPS => { 0 => 'MakerNotes', 2 => 'Image' },
5967
+ FORMAT => 'int32u',
5968
+ IS_OFFSET => [ 0 ], # tag 0 is 'IsOffset'
5969
+ 0 => {
5970
+ Name => 'HiddenDataOffset',
5971
+ IsOffset => 1,
5972
+ OffsetPair => 1,
5973
+ DataTag => 'HiddenData',
5974
+ WriteGroup => 'MakerNotes',
5975
+ Protectd => 2,
5976
+ },
5977
+ 1 => {
5978
+ Name => 'HiddenDataLength',
5979
+ OffsetPair => 0,
5980
+ DataTag => 'HiddenData',
5981
+ WriteGroup => 'MakerNotes',
5982
+ Protectd => 2,
5983
+ },
5984
+ );
5985
+
5961
5986
  # shot information (ref PH)
5962
5987
  %Image::ExifTool::Sony::ShotInfo = (
5963
5988
  %binaryDataAttrs,
@@ -10735,6 +10760,32 @@ my %isoSetting2010 = (
10735
10760
  ValueConv => '$val[1] =~ /^W/i ? -$val[0] : $val[0]',
10736
10761
  PrintConv => 'Image::ExifTool::GPS::ToDMS($self, $val, 1, "E")',
10737
10762
  },
10763
+ HiddenData => {
10764
+ Require => {
10765
+ # (Note: This pointer is fragile in JPEG images, and won't be updated
10766
+ # when the file is written unless the EXIF information is also written, but
10767
+ # an incorrect offset is fixed by subsequently writing EXIF with ExifTool)
10768
+ 0 => 'Sony:HiddenDataOffset',
10769
+ 1 => 'Sony:HiddenDataLength',
10770
+ },
10771
+ Notes => q{
10772
+ hidden data in some Sony JPG and ARW images, extracted only if specifically
10773
+ requested
10774
+ },
10775
+ RawConv => q{
10776
+ my $hdOff = $val[0];
10777
+ my $reqTag = $$self{REQ_TAG_LOOKUP}{hiddendata};
10778
+ my $hDump = $self->Options('HtmlDump');
10779
+ return undef unless $reqTag or $self->Options('Validate') or $hDump;
10780
+ my $dataPt = Image::ExifTool::Sony::ReadHiddenData($self, $hdOff, $val[1]);
10781
+ if ($dataPt and $hDump) {
10782
+ my $msg = '(Sony HiddenData)';
10783
+ $msg .= ' <span class=V>(fixed)</span>' if $hdOff != $val[0];
10784
+ $self->HDump($hdOff, $val[1], $msg, undef, 0x08);
10785
+ }
10786
+ return $reqTag ? $dataPt : undef;
10787
+ },
10788
+ },
10738
10789
  );
10739
10790
 
10740
10791
  # add our composite tags
@@ -10783,6 +10834,34 @@ sub SortLensTypes
10783
10834
  $$minoltaTypes{OTHER} = $other;
10784
10835
  }
10785
10836
 
10837
+ #------------------------------------------------------------------------------
10838
+ # Read HiddenData from JPEG trailer
10839
+ # Inputs: 0) ExifTool ref, 1) HiddenDataOffset (abs), 2) HiddenDataLength
10840
+ # Returns: HiddenData reference, or undef on error
10841
+ # --> updates $hdOff upon return if it was incorrect
10842
+ sub ReadHiddenData($$$)
10843
+ {
10844
+ my ($et, $hdOff, $hdLen) = @_;
10845
+ my $raf = $$et{RAF};
10846
+ my ($buff, $pos);
10847
+ unless ($raf->Seek($hdOff,0) and $raf->Read($buff,$hdLen) == $hdLen and
10848
+ $buff=~/^\x55\x26\x11\x05\0/)
10849
+ {
10850
+ # search the first 4096 bytes of the trailer to find the HiddenData
10851
+ unless ($$et{TrailerStart} and $raf->Seek($$et{TrailerStart},0) and
10852
+ $raf->Read($buff,4096) and $buff=~/\x55\x26\x11\x05\0/g and
10853
+ $pos = $$et{TrailerStart}+pos($buff)-5 and $raf->Seek($pos,0) and
10854
+ $raf->Read($buff,$hdLen) == $hdLen)
10855
+ {
10856
+ $et->Warn('Error reading HiddenData',1);
10857
+ return undef;
10858
+ }
10859
+ $_[1] = $pos; # return fixed offset
10860
+ $et->Warn('Fixed incorrect HiddenDataOffset',1) if $et->Options('Validate') or $$et{IsWriting};
10861
+ }
10862
+ return \$buff;
10863
+ }
10864
+
10786
10865
  #------------------------------------------------------------------------------
10787
10866
  # Process "SONY PIC\0" maker notes (DSC-H200/J10/W370/W510, MHS-TS20, ref PH)
10788
10867
  # Inputs: 0) ExifTool object ref, 1) dirInfo ref, 2) tag table ref
@@ -11655,7 +11734,7 @@ Minolta.
11655
11734
 
11656
11735
  =head1 AUTHOR
11657
11736
 
11658
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
11737
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
11659
11738
 
11660
11739
  This library is free software; you can redistribute it and/or modify it
11661
11740
  under the same terms as Perl itself.
@@ -379,7 +379,7 @@ write Sony Image Data Converter version 3.0 metadata in ARW images.
379
379
 
380
380
  =head1 AUTHOR
381
381
 
382
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
382
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
383
383
 
384
384
  This library is free software; you can redistribute it and/or modify it
385
385
  under the same terms as Perl itself.
@@ -174,7 +174,7 @@ information.
174
174
 
175
175
  =head1 AUTHOR
176
176
 
177
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
177
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
178
178
 
179
179
  This library is free software; you can redistribute it and/or modify it
180
180
  under the same terms as Perl itself.
@@ -650,7 +650,7 @@ and values.
650
650
 
651
651
  ~head1 AUTHOR
652
652
 
653
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
653
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
654
654
 
655
655
  This library is free software; you can redistribute it and/or modify it
656
656
  under the same terms as Perl itself.
@@ -834,7 +834,7 @@ Number of modules updated, or negative on error.
834
834
 
835
835
  =head1 AUTHOR
836
836
 
837
- Copyright 2003-2023, Phil Harvey (philharvey66 at gmail.com)
837
+ Copyright 2003-2024, Phil Harvey (philharvey66 at gmail.com)
838
838
 
839
839
  This library is free software; you can redistribute it and/or modify it
840
840
  under the same terms as Perl itself.