Commit Graph

143 Commits

Author SHA1 Message Date
Hao Wu 9c0e4db3db IntelFrameworkPkg/UefiLib: Avoid mis-calculate of graphic console size
The commit adds check in function InternalPrintGraphic() to ensure that
the expression:

Blt->Width * Blt->Height * sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL)

will not overflow in the UINTN range.

The commit also adds an explicit UINT32 type cast for 'Blt->Width' to
avoid possible overflow in the int range for:

Blt->Width * Blt->Height

Since both Blt->Width and Blt->Height are of type UINT16. They will be
promoted to int (signed) first, and then perform the multiplication
operation. If the result of multiplication between Blt->Width and
Blt->Height exceeds the range of type int, a potential incorrect size will
be passed into function AllocateZeroPool().

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2017-04-14 13:16:12 +08:00
Star Zeng eb58a02390 IntelFrameworkPkg UefiLib: Make the event empty function public
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=298

Then this event empty function can be used to remove
the duplication in drivers and other libraries.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Jeff Fan <jeff.fan@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
2017-01-20 15:51:17 +08:00
Leo Duran 29ddc5f733 IntelFrameworkPkg/DxeIoLibCpuIo: Add new Fifo routines in IoLib class
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Jeff Fan <jeff.fan@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Brijesh Singh <brijesh.singh@amd.com>
Signed-off-by: Leo Duran  <leo.duran@amd.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
2017-01-17 10:11:30 +08:00
Star Zeng 368871a352 IntelFrameworkPkg PeiHobLib: Check FV alignment when building FV HOB
If the FvImage buffer is not at its required alignment, then ASSERT().
Also update the function header description of BuildFv(2)Hob()
correspondingly.

Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=205

Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Jeff Fan <jeff.fan@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2016-11-17 09:27:13 +08:00
Gary Lin d6a1c70de1 IntelFrameworkPkg: Fix typos in comments
- paramter -> parameter
- availible -> available

Cc: Jeff Fan <jeff.fan@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gary Lin <glin@suse.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>
2016-10-24 09:09:26 +08:00
Laszlo Ersek 6212b9481d IntelFrameworkPkg/FrameworkUefiLib: implement EfiEventGroupSignal
This patch follows the implementation seen in MdePkg's UefiLib instance,
so that FrameworkUefiLib also covers the UefiLib.h library class header
completely.

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Jeff Fan <jeff.fan@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Suggested-by: Jordan Justen <jordan.l.justen@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2016-03-23 12:05:45 +01:00
Laszlo Ersek ff55dd3bef IntelFrameworkPkg/FrameworkUefiLib: move InternalEmptyFunction to UefiLib.c
The InternalEmptyFunction() is currently only used by code in
"UefiNotTiano.c" -- "Library functions that abstract areas of conflict
between framework and UEFI 2.0.". In the next patches,
InternalEmptyFunction() will be used from "UefiLib.c" as well, hence
promote it to "general utility" status: move the function definition to
"UefiLib.c", and place the function declaration (which is already extern)
into "UefiLibInternal.h".

Fix a typo in the function's name while at it.

Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Jeff Fan <jeff.fan@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
2016-03-23 12:05:42 +01:00
Jordan Justen 8bf2af6f1b IntelFrameworkPkg: Convert all .uni files to utf-8
To convert these files I ran:

$ python3 BaseTools/Scripts/ConvertUni.py IntelFrameworkPkg

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19255 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-15 04:52:47 +00:00
Hao Wu dba2756893 IntelFrameworkPkg FrameworkUefiLib: Fix wrong DestMax passed to StrCpyS()
The second parameter 'DestMax' of StrCpyS() should be the number of
unicode characters, not the size in bytes.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Jeff Fan <jeff.fan@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18159 6f19259b-4bc3-4df7-8a09-765794883524
2015-08-05 02:55:05 +00:00
Hao Wu 4129b837ae IntelFrameworkPkg FrameworkUefiLib: Fix ASSERT in CatVSPrint
This commit will resolve issue brought by r17740.

BufferToReturn = AllocateCopyPool(SizeRequired, String);

The above using of AllocateCopyPool() will cause ASSERT if 'String' is
NULL. Therefore, proper check for 'String' is needed.

The above using of AllocateCopyPool() will read contents out of the scope
of 'String'. Potential risk for 'String' allocated at the boundary of
memory region.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17906 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-10 01:08:05 +00:00
Hao Wu 01a5dd0b26 IntelFrameworkPkg FrameworkUefiLib: Use safe string functions
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17740 6f19259b-4bc3-4df7-8a09-765794883524
2015-06-30 06:28:57 +00:00
Hot Tian b947f0cf44 IntelFrameworkPkg: fix mixed dos and linux EOL format issue
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hot Tian <hot.tian@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16551 6f19259b-4bc3-4df7-8a09-765794883524
2014-12-23 08:31:24 +00:00
Star Zeng a75cf433d1 MdePkg/IntelFrameworkPkg HobLib: Update BuildResourceDescriptorWithOwnerHob()
to align the behavior of BuildResourceDescriptorHob().

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16279 6f19259b-4bc3-4df7-8a09-765794883524
2014-10-31 07:20:26 +00:00
Star Zeng f1e2b7283e MdePkg/IntelFrameworkPkg HobLib: Add BuildResourceDescriptorWithOwnerHob() API.
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Star Zeng <star.zeng@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16230 6f19259b-4bc3-4df7-8a09-765794883524
2014-10-27 00:42:57 +00:00
Gao, Liming f9925e17a7 IntelFrameworkPkg: Convert non DOS format files to DOS format
Module UNI and Package UNI files are not DOS format. Convert them to DOS format.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gao, Liming <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16043 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-03 08:37:09 +00:00
Gao, Liming a8ebaca2c1 IntelFrameworkPkg: INF/DEC file updates to EDK II packages
2. Add MODULE_UNI_FILE file that contains the localized Abstract and Description of a module.
a. Addresses an information gap between INF files and the UEFI Distribution Packaging Specification XML schema
b. There will be an associated update to UPT in BaseTools to consume MODULE_UNI_FILE and associated UNI file during UDP creation that performs the INF -> XML conversion.
c. There will be an associated update to UPT in BaseTools to produce MODULE_UNI_FILE and associated UNI file during UDP installation that performs the XML -> INF conversion.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gao, Liming <liming.gao@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15926 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-28 03:20:46 +00:00
Gao, Liming f15d2c8fed IntelFrameworkPkg: INF/DEC file updates to EDK II packages
1. Usage information in INF file comment blocks are either incomplete or incorrect.  
This includes usage information for Protocols/PPIs/GUIDs/PCDs/HOBs/Events/BootModes.  
The syntax for usage information in comment blocks is defined in the EDK II Module Information (INF) Specification

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Gao, Liming <liming.gao@intel.com>
Reviewed-by: Michael Kinney <michael.d.kinney@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15925 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-28 03:19:58 +00:00
Ruiyu Ni de27b8f070 Fill the ImageHandle and DriverBindingHandle field of Driver Binding Protocol before installing the Driver Binding Protocol instance.
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14460 6f19259b-4bc3-4df7-8a09-765794883524
2013-07-10 02:06:49 +00:00
lgao4 890ff9a498 Add ASSERT() for BitField operations to make sure the input value is valid.
Signed-off-by: Liming Gao <liming.gao@intel.com>
Reviewed-by: Kinney, Michael D <Michael.D.Kinney@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14020 6f19259b-4bc3-4df7-8a09-765794883524
2012-12-25 02:29:46 +00:00
niruiyu abe4c4590b Enhance CreatePopup to call ReadKeyStroke() before calling WaitForEvent(). This can handle the case when in lazy ConIn mode.
Signed-off-by: Ruiyu Ni<ruiyu.ni@intel.com>
Reviewed-by: Eric Dong<eric.dong@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13946 6f19259b-4bc3-4df7-8a09-765794883524
2012-11-15 06:31:43 +00:00
lgao4 b0855f925c Update FrameworkUefiLib library instance to implement the missing CatSPrint() and CatVSPrint() API.
Signed-off-by: lgao4
Reviewed-by: rsun3

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13070 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-29 04:57:44 +00:00
rsun3 3bbe68a362 Add Missing invocations to VA_END() for VA_START().
Signed-off-by: rsun3
Reviewed-by: lgao4

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12979 6f19259b-4bc3-4df7-8a09-765794883524
2012-02-01 06:06:08 +00:00
lzeng14 3397c6f590 For libraries that have multiple module types support, just define a [Depex] section for specified module types that are permitted to have a [Depex] section.
Signed-off-by: lzeng14
Reviewed-by: lgao4

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12052 6f19259b-4bc3-4df7-8a09-765794883524
2011-07-27 08:54:57 +00:00
niruiyu 2dfdd3eb97 Change BuildGuidHob and BuildGuidDataHob to return NULL upon failure.
Guarantee no memory corruption in an out of memory condition even in production builds.

Signed-off-by: niruiyu
Reviewed-by: mdkinney

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11777 6f19259b-4bc3-4df7-8a09-765794883524
2011-06-09 02:53:56 +00:00
xli24 8194a0232c Add explicit type cast to suppress possible warning of precession loss.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10784 6f19259b-4bc3-4df7-8a09-765794883524
2010-08-10 07:15:06 +00:00
mdkinney 4ea439fb1d Sync FrameworkUefiLib with the MdePkg UefiLib
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10583 6f19259b-4bc3-4df7-8a09-765794883524
2010-06-14 23:32:07 +00:00
hhtian 2b3687dbb5 Update the copyright notice format
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10404 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-23 15:52:13 +00:00
lgao4 2521180e14 Remove the duplicated SmmLibNull, which has been moved into MdePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10340 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-06 02:51:03 +00:00
klu2 c63af3f402 Clean up EFI_SPECIFICATION_VERSION and PI_SPECIFICATION_VERSION.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10079 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-25 17:00:18 +00:00
lgao4 6bfbb5f0e0 1. Correct File header to ## @file
2. Remove unnecessary .common] postfix on section.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10052 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-24 00:21:16 +00:00
mdkinney 33338afebd Remove dependency on PCI Root Bridge I/O Protocol. This library should only layer on top of the CPU I/O Protocol.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9690 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-07 22:03:51 +00:00
xli24 ce9b1e3ae0 Minor code enhancement.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9685 6f19259b-4bc3-4df7-8a09-765794883524
2010-01-07 09:12:14 +00:00
davidhuang 4fd13cd57d PI 1.1 SMM Feature Check-in
1. Update SmmLib

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9592 6f19259b-4bc3-4df7-8a09-765794883524
2009-12-23 06:52:07 +00:00
mdkinney 87d6344732 1) Add Include/Framework/BootScript.h that contains defines shared between Boot Script Executer PPI and Boot Script Save Protocol. Remove those safe defines from Include/Ppi/BootScriptExecuter.h
2) Remove Include/Framework/DataHubRecords.h and merge its content into Include/Guid/DataHubRecords.h
3) Remove Include/Framework/Legacy16.h and merge its contents into Include/Protocol/LegacyBios.h
4) Update FrameworkDxe.h to no longer include all the Legacy16.h and DataHubRecords.h contents.  This reduces the number of include file and definitions pulled in when a module include FrameworkDxe.h.  The Legacy16.h contents can now be included by a module through Protocol/LegacyBios.h and the DataHubRecords.h contents can be included by a module through Guid/DataHubRecords.h
5) Update Include/Guid/StatusCodeDataTypeId.h so it can be safely included by both PEIMs and DXE Modules since both the PEI and DXE phases support status codes
6) Remove extra #includes where possible to reduce number of files included during a build.
7) Update Include/Protocol/LegacyBiosPlatform.h to #include Include/Protocol/LegacyBios.h since it depends on HDD_INFO and COMPATIBILITY16 strictures carried by LegacyBios.h



git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8899 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-11 23:25:44 +00:00
xli24 a56678b8ce Add null instance of SmmLib in IntelFrameworkPkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8686 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-30 06:59:33 +00:00
lgao4 84dcd70d0e Update FV file path to follow the definition in Framework DxeCis 0.91.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8619 6f19259b-4bc3-4df7-8a09-765794883524
2009-06-22 02:15:30 +00:00
eric_tian 57b201b843 update the file description of PrintXY and AsciiPrintXY. and also refine the implementation to return the number of actual printed characters.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8373 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-21 10:04:21 +00:00
eric_tian 619e4c06c3 update the implementation of InternalPrintGraphic to reflect the number of actual printed character
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8370 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-21 09:27:29 +00:00
mdkinney a5a3a29c4c Clarify BuildCvHob() API in HobLib to state that this function will ASSERT() if the platform does not support Capsule Volume HOBs. This allows PI implementations to ASSERT() and Framework implementations to provide a full implementation of this API.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8279 6f19259b-4bc3-4df7-8a09-765794883524
2009-05-09 01:48:15 +00:00
lgao4 fcd1a8457c Retire framework IfrSupportLib and HiiLib, which will be replaced by new designed Hii library in MdeModulePkg.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8150 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-22 07:50:41 +00:00
eric_tian d46dfe99e5 remove the gEfiLoadPeImageProtocolGuid and replace all references for it with BasePeCoffLib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8095 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-16 02:43:41 +00:00
qhuang8 e115460bd7 sync Print functions with MdePkg counterpart.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8093 6f19259b-4bc3-4df7-8a09-765794883524
2009-04-15 14:32:10 +00:00
rsun3 36fd07d3c5 Retire FrameworkHiiLib library class. Remove FrameworkHiiLib library instance now and will be added later if necessary.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7989 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-31 02:42:08 +00:00
gdong1 4af947e5ca Add PCD to save size.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7932 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-24 08:43:54 +00:00
gdong1 5547062df5 Fixed two K8 report issue
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7929 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-24 06:53:26 +00:00
xli24 6bfc419e70 Fix incorrect function headers of I/O Lib.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7806 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-05 07:22:26 +00:00
qhuang8 2f78ec7a7a Add PeiHobLibFramework instance to provide a real implementation for BuildCvHob()
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7785 6f19259b-4bc3-4df7-8a09-765794883524
2009-03-03 14:21:58 +00:00
qhuang8 1088908eb2 Sync with MdePkg counterpart
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7665 6f19259b-4bc3-4df7-8a09-765794883524
2009-02-25 03:00:11 +00:00
gdong1 1b74e1c7ff Fix FreePoll() bugs in some places.
Removed the dependency to MdeModulePkg in the HiiLibFramework
Removed EDK_RELEASE_VERSION and EFI_SPECIFICATION_VERSION in the Framework inf file.
other coding style changes


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7218 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-08 09:37:30 +00:00
lgao4 779808545d Fix VS2005 build error
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7181 6f19259b-4bc3-4df7-8a09-765794883524
2009-01-05 02:20:16 +00:00