Commit Graph

102 Commits

Author SHA1 Message Date
Quincey Koziol
427ff7da28 [svn-r9727] Purpose:
Bug Fix/Code Cleanup/Doc Cleanup/Optimization/Branch Sync :-)

Description:
    Generally speaking, this is the "signed->unsigned" change to selections.
However, in the process of merging code back, things got stickier and stickier
until I ended up doing a big "sync the two branches up" operation.  So... I
brought back all the "infrastructure" fixes from the development branch to the
release branch (which I think were actually making some improvement in
performance) as well as fixed several bugs which had been fixed in one branch,
but not the other.

    I've also tagged the repository before making this checkin with the label
"before_signed_unsigned_changes".

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel & fphdf5
    FreeBSD 4.10 (sleipnir) w/threadsafe
    FreeBSD 4.10 (sleipnir) w/backward compatibility
    Solaris 2.7 (arabica) w/"purify options"
    Solaris 2.8 (sol) w/FORTRAN & C++
    AIX 5.x (copper) w/parallel & FORTRAN
    IRIX64 6.5 (modi4) w/FORTRAN
    Linux 2.4 (heping) w/FORTRAN & C++


Misc. update:
2004-12-29 09:26:20 -05:00
Raymond Lu
cb7f03a26f [svn-r9183] Purpose: New feature
Description:  Restore 6 old error API functions back to the library to be backward
compatible with v1.6.  They are H5Epush, H5Eprint, H5Ewalk, H5Eclear, H5Eset_auto,
H5Eget_auto.  These functions do not have error stack  as parameter.

Solution:  Internally, these functions use default error stack.

Platforms tested:  h5committest and fuss.

Misc. update: RELEASE.txt
2004-09-01 12:43:30 -05:00
Quincey Koziol
3df2828991 [svn-r8981] Purpose:
Code cleanup

Description:
    Various minor tweaks to clean code up and bring it into closer
syncronization with the release branch.

Platforms tested:
    FreeBSD 4.10 (sleipnir) w/parallel
    h5committested
    IRIX64 6.5 (modi4)
2004-08-02 09:03:40 -05:00
Quincey Koziol
10382a1799 [svn-r8134] Purpose:
Code cleanup

Description:
    Add destructor to match constructor fr VFLs when they are shut down by the
library.

Solution:
    Added H5FD_*_term() routines to "undo" changes made in H5FD_*_init()
routines.

Platforms tested:
    IBM p690 (copper)
    too minor to require h5committest
2004-01-31 10:19:48 -05:00
Raymond Lu
7e79a8d71e [svn-r7507] *** empty log message *** 2003-09-24 14:26:50 -05:00
Quincey Koziol
7e9c4449d4 [svn-r7411] Purpose:
Code cleanup

Description:
    De-linted more modules

Platforms tested:
    FreeBSD 4.8 (sleipnir) w/ & w/o stream enabled
    too minor to require h5committest
2003-08-26 10:03:03 -05:00
Quincey Koziol
1c1bf5dcd3 [svn-r7299] Purpose:
Code refactoring

Description:
    Chase new error API usage by adding error class to calls to H5Epush().

Platforms tested:
    h5committested
2003-08-08 13:53:49 -05:00
Raymond Lu
0d22a663df [svn-r7265] *** empty log message *** 2003-07-25 21:55:47 -05:00
MuQun Yang
f555485a00 [svn-r6777] Purpose:
A bug fix for windows.
Description:
Many tests failed on windows when stdio driver is on.
I suspect it is the compiler bug.
After some investigation, the symptom is:
The signature of HDF5 file cannot be found.
The real problem is the signature was appended at the end of the whole
file instead of inserting at the starting of the file.
It seems when the file pointer(signature) is reset to the starting of the file,
windows mis-placed it to the end of the file after finding the file is close to
the end.

Solution:
Fortuately, ftell and fseek still function well on windows,
so I use ftell and fseek to force the file pointer to go to the position it is supposed
to go.

Platforms tested:
since the only change in this file is within ifdef WIN32 macro; it won't
affect the mainstream platforms, so I don't have to three platforms.

Platforms to confirm(test with basic function): Linux 2.4
Platforms to throughly test: windows 2000 with VS6.0
test on three different

Misc. update:
2003-04-29 14:13:21 -05:00
MuQun Yang
7c832af9aa [svn-r6707] Purpose:
A compiling error fixed for windows only

Description:
Use file handler instead of file stream  at H5FDstdio.c when using getfileHandle function of windows.

Solution:
see above, however; stdio driver tests failed on windows. I am still investigating the bug.
The current check will not fix the failure of stdio driver test on windows.
The good news is that it won't affect the release since the default driver used for test is sec2 driver and
all tests passed for sec2 driver on windows.

Platforms tested:
windows 2000 and confirmed at Linux.
Since the only change is two-line code inside #ifdef WIN32 #endif macro block,
it is not necessary to test all UNIX platforms. Still confirmed at eirene.

Misc. update:
2003-04-17 17:19:17 -05:00
Quincey Koziol
eb26303cf4 [svn-r6689] Purpose:
Bug fix.

Description:
    The stdio filer driver is not reducing the file's size in the manner
that the sec2 driver does.

Solution:
    Copy code from the sec2 for handling this properly.

Platforms tested:
    h5committested
2003-04-16 14:24:05 -05:00
Bill Wendling
02be089f0c [svn-r6501] Purpose:
New Feature

Description:
    Added support for the lock and unlock function calls for file
    drivers. Only FPHDF5 uses this feature. All of these drivers don't
    define lock or unlock methods.

Platforms tested:
    Linux, Modi4, Sol

Misc. update:
2003-03-19 18:29:23 -05:00
Quincey Koziol
1074ccf4d9 [svn-r6398] Purpose:
Code cleanup

Description:
    Clean up some compiler warnings

Platforms tested:
    FreeBSD 4.7 (sleipnir)
2003-02-12 12:04:40 -05:00
Quincey Koziol
24d8506dd5 [svn-r6387] Purpose:
Bug Fix

Description:
    Metadata cache in parallel I/O can cause hangs in applications which
    perform independent I/O on chunked datasets, because the metadata cache
    can attempt to flush out dirty metadata from only a single process, instead
    of collectively from all processes.

Solution:
    Pass a dataset transfer property list down from every API function which
    could possibly trigger metadata I/O.

    Then, split the metadata cache into two sets of entries to allow dirty
    metadata to be set aside when a hash table collision occurs during
    independent I/O.

Platforms tested:
    Tested h5committest {arabica (fortran), eirene (fortran, C++)
        modi4 (parallel, fortran)}

    FreeBSD 4.7 (sleipnir) serial & parallel

Misc. update:
    Updated release_docs/RELEASE
2003-02-10 12:26:09 -05:00
Quincey Koziol
294647ea97 [svn-r5987] Purpose:
Code cleanup

Description:
    Clean up compile warnings.

Platforms tested:
    FreeBSD 4.6 (sleipnir) w and w/o parallel
    Linux 2.2.x (eirene) w/FORTRAN & C++
    Solaris 2.7 (arabica) w/FORTRAN
    IRIX64 6.5 (modi4) w/FORTRAN & parallel
2002-10-14 14:23:40 -05:00
Raymond Lu
d1e26ae328 [svn-r5951]
Purpose:
    New API functions
Description:
    Added API functions to return pointer to low-level file handle
    (H5Fget_vfd_handle and H5FDget_vfd_handle) and related property list
    setting functions(H5Pset_family_offset and H5Pset_multi_type).
Platforms tested:
    Linux 2.2(eirene), Solaris 2.7(arabica), IRIX64 6.5(modi4)
2002-09-30 11:31:55 -05:00
Quincey Koziol
6b1208407f [svn-r5536] Purpose:
New feature.

Description:
    Added a "small data" block allocation mechanism to the library, similar to
    the mechanism used for allocating metadata currently.

    See the RFC for more details:
        http://hdf.ncsa.uiuc.edu/RFC/SmallData/SmallData.html

    This reduces the number of I/O operations which hit the disk for my test
    program from 19 to 15 (i.e. from 393 to 15, overall).

Platforms tested:
    Solaris 2.7 (arabica) w/FORTRAN and FreeBSD 4.5 (sleipnir) w/C++
2002-06-05 10:23:20 -05:00
Quincey Koziol
86170c3d00 [svn-r5440] Purpose:
New feature

Description:
    Add 'closing' parameter to H5FDflush and VFL "flush" functions, per
        http://hdf.ncsa.uiuc.edu/RFC/VFLFlush/VFLFlush.html

Platforms tested:
    IRIX64 6.5 (modi4)
2002-05-20 11:01:57 -05:00
Pedro Vicente Nunes
e12beea624 [svn-r5437]
Purpose:
   eliminate warnings on win32
Description:
   some conversion warnings were being issued
Solution:
    added some type casts
Platforms tested:
    w2000, linux

changed the HDmemset to include a cast in win32; this was just to eliminate a compiler
warning. probably the macro can also be used in unix

#ifdef WIN32
#define HDmemset(X,C,Z)		memset((void*)(X),C,Z)
#else /* WIN32 */
#define HDmemset(X,C,Z)		memset(X,C,Z)
#endif /* WIN32 */


the list of previous warnings was
D:\disk_w\hdf5\src\H5FDstdio.c(659) : warning C4244: 'initializing' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Fcontig.c(435) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Fcontig.c(497) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Fcontig.c(915) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Fcontig.c(982) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data

D:\disk_w\hdf5\src\H5Shyper.c(912) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(995) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(1936) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(2019) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(2862) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(2864) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(2948) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(3690) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(3692) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(3776) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
D:\disk_w\hdf5\src\H5Shyper.c(5167) : warning C4244: '+=' : conversion from '__int64 ' to 'unsigned int ', possible loss of data

D:\disk_w\hdf5\src\H5Tvlen.c(371) : warning C4244: '=' : conversion from 'unsigned __int64 ' to 'unsigned int ', possible loss of data
2002-05-18 02:24:49 -05:00
Quincey Koziol
14b00edf0a [svn-r5403] Purpose:
Back out changes.

Description:
    Back out changes to VFL 'flush' API function, pending review.

Platforms tested:
    IRIX64 6.5 (modi4)
2002-05-13 12:48:07 -05:00
Quincey Koziol
084b35362b [svn-r5393] Purpose:
New Feature

Description:
    The VFL flush function is called immediately before a file is closed.
    This can cause duplicate syncronization actions to occur, if the VFL
    close function also performs them.

Solution:
    Added 'closing' parameter to VFL 'flush' operation.  This allows the VFL
    flush function to bypass operations that will be duplicated within the VFL
    close function.

    Additionally, use the 'closing' parameter to bypass calls to MPI_File_sync()
    when set.  Since MPI_File_close() also syncronizes the file, this avoids
    the terrible performance hit taken when calling MPI_File_sync() as the file
    is closing.

Platforms tested:
    IRIX64 6.5 (modi4)
2002-05-10 13:38:10 -05:00
Albert Cheng
670ae864af [svn-r5165] Purpose:
Feature
Description:
    Added comments that this is intended as an example of file driver.
    Added a macro detection at the end to flag if non-public definitions
    are used. (only check for H5private.h which is mostly likely used.
    Not bullet proof at all.)
Platforms tested:
    eirene.
2002-04-10 18:37:34 -05:00
Raymond Lu
d28fd08f4a [svn-r4696]
Purpose:
    Modify H5Fclose behavior
Description:
    The HDF5 actual file close behaves in several ways in terms of if there
    are still objects(dataset, group, datatype) opened in file.
Solution:
    Added a new file access property, file close degree.  It has four values,
	H5F_CLOSE_DEFAULT
	H5F_CLOSE_WEAK
	H5F_CLOSE_SEMI
	H5F_CLOSE_STRONG
    The way a file is closed is decided by these values.
Platforms tested:
    IRIX64 6.5, SunOS 5.6, FreeBSD 4.4
2001-12-11 14:53:44 -05:00
Quincey Koziol
6ab0e9f092 [svn-r4620] Purpose:
Code cleanup
Description:
    Get rid of IDs from internal function calls and some small cleanups from
    the old-stype => generic property list conversion.
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-11-20 14:07:22 -05:00
Quincey Koziol
0001a13617 [svn-r4589] Purpose:
Code cleanup
Description:
    Clean up various compiler warnings from generic property updates.
Platforms tested:
    FreeBSD 4.4 (hawkwind)
2001-11-03 17:27:54 -05:00
Raymond Lu
b3afaccfe5 [svn-r4572]
Purpose:
    Followup file access property list changes.
Platforms tested:
    IRIX64, SunOS 5.7, FreeBSD.
2001-10-25 14:29:37 -05:00
Quincey Koziol
5c8bcc1917 [svn-r4232] Purpose:
Bug fix.
Description:
    On some systems (linux when not using gcc) 'dev_t' is not actually
    a scalar variable.  This causes the code which compares dev_t's in
    the file drivers to not compile.  Also the H5_inline flag was not being
    set correctly in the H5private.h file.
Solution:
    Set the H5_inline flag to '' (i.e. define it, but don't assign it a value)
    if it is not currently defined.

    Use DEV_T_IS_SCALAR flag from configure to correctly compare dev_t's using
    memcmp instead of a scalar flag.
Platforms tested:
    FreeBSD 4.3 (hawkwind), Linux 2.4.2 (chiba city cluster at Argonne)
2001-07-17 16:27:06 -05:00
Quincey Koziol
990fadfbe5 [svn-r4181] Purpose:
Bug Fix, Code Cleanup, Code Optimization, etc.
Description:
    Fold in the hyperslab speedups, clean up compile warnings and change a
    few things from using 'unsigned' or 'hsize_t' to use 'size_t' instead.
Platforms tested:
    FreeBSD 4.3 (hawkwind), Solaris 2.7 (arabica), Irix64 6.5 (modi4)
2001-07-10 16:19:18 -05:00
Pedro Vicente Nunes
2aa68eaac1 [svn-r4155]
Purpose:

updated windows headers in these 2 src files


Description:
Solution:
Platforms tested:

NT:
2001-07-09 11:04:44 -05:00
Pedro Vicente Nunes
f9f0de7aa0 [svn-r4099]
Purpose:
    Code Cleanup
Description:
    Updating CodeWarrior Port
Solution:
    Move around some Windows and Metroworks ifdefs, etc.
Platforms tested:
    Solaris 2.7 (arabica) Linux 2.2 (eirene)
2001-07-03 09:49:03 -05:00
Quincey Koziol
8c2c4cd51c [svn-r4088] Purpose:
Code cleanup
Description:
    Recent CodeWarrior patches have broken the Unix builds and moved code
    around in non-portable ways.
Solution:
    Patched things back up to try to accomodate CodeWarrior and still let the
    Unix builds work correctly.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-06-29 14:49:53 -05:00
Pedro Vicente Nunes
098ed81ec8 [svn-r4083]
code warrior support
and some clean up
the macros file_seek and file_offset_t that were repeated over sevral files were put only in
H5private.h
H5private .h was updated for win32


vthe
Description:
Solution:
Platforms tested:
2001-06-29 10:27:15 -05:00
MuQun Yang
61b948ad23 [svn-r4046]
Purpose:
     bug fix for windows MVS
Description:
    adding various windows macros to make it work on windows platform
Solution:
    see above
Platforms tested:
     test on windows 2000, confirmed on linux.
2001-06-21 15:04:36 -05:00
Quincey Koziol
d41b9fffdf [svn-r4012] Purpose:
Clean up compiler warnings.
Description:
    Just code neatening mostly, some casts, etc.
Platforms tested:
    FreeBSD 4.3 (hawkwind)
2001-06-18 15:22:10 -05:00
Pedro Vicente Nunes
504bc34f60 [svn-r3974] code warrior port 2001-06-07 11:03:02 -05:00
Bill Wendling
5e483d0184 [svn-r3781] Purpose:
Update
Description:
    Changed

        #include <hdf_file.h>

    construct to

        #include "hdf_file.h"

    so that the GNU compiler can more easily pick up the dependencies
    which it places in the .depend and Dependencies files. Also
    regenerated the Dependencies to go along with this.
Platforms tested:
    Linux
2001-04-05 12:29:14 -05:00
Quincey Koziol
35bc545296 [svn-r3252] Purpose:
Code cleanup.
Description:
    Fixed _lots_ (I mean _tons_) of warnings spit out by the gcc with the
    extra warnings.  Including a few show-stoppers for compression on IRIX
    machines.
Solution:
    Changed lots of variables' types to more sensible and consistent types,
    more range-checking, more variable typecasts, etc.
Platforms tested:
    FreeBSD 4.2 (hawkwind), IRIX64-64 (modi4)
2001-01-09 16:22:30 -05:00
MuQun Yang
2291dc4b3f [svn-r3241]
Purpose:
    several warning and bug fix for windows
Description:
    different system calls on windows
Solution:
    for win32, use only those system calls
Platforms tested:
    windows 2000
2001-01-04 18:50:41 -05:00
Robb Matzke
12dd74b53f [svn-r3224] ./hdf5/src/H5FDstdio.c
2000-12-29 08:57:58 Robb Matzke  <matzke@llnl.gov>
	* H5FD_stdio_query: The `flags' argument is advertised to be output only. Therefore I
	   added code to zero its value before the feature bits
	   are assigned.
2000-12-29 13:35:27 -05:00
Bill Wendling
005a722992 [svn-r3204] Purpose:
Bug Fix
Description:
	The #ifdef ... #else statement had no line breaks in it. This
	caused the compiler on Sangamon to freak out saying the #ifdef
	was invalid.
Solution:
	Put line breaks in it.
Platforms tested:
	Sangamon
2000-12-26 16:59:19 -05:00
MuQun Yang
00d05eb3df [svn-r3191]
Purpose:
     a windows bug fix
Description:
    support > 2G file on windows NTFS
Solution:
    using fsetpos to seek the address

Platforms tested:
    windows 2000, confirmed on arabica and eirene.
2000-12-22 13:54:16 -05:00
Quincey Koziol
6aa0dd1620 [svn-r2722] Purpose:
Feature symmetry
Description:
    A while ago I needed to get the 'type' of data being accessed during writes
    to the VFL driver, so I put in code to get the information down there.
    Albert asked for the same information during reads, so I've added that in.
Tested:
    FreeBSD 4.1.1 (hawkwind)
2000-10-24 13:18:09 -05:00
Quincey Koziol
183c8245af [svn-r2600] Purpose:
Implemented new feature
Description:
    Added data sieve buffering code to raw I/O data path.  This is enabled for
    all the VFL drivers except the mpio & core drivers.  Also added two new
    API functions to control the sieve buffer size: H5Pset_sieve_buf_size() and
    H5Pget_sieve_buf_size().
Platforms tested:
    Solaris 2.6 (i.e. baldric)
2000-09-26 17:50:18 -05:00
Quincey Koziol
22867dca0e [svn-r2579] Purpose:
Clean up small compiler warnings and add missing function prototypes.
Platforms tested:
    FreeBSD 4.1
2000-09-19 16:08:15 -05:00
Quincey Koziol
1ec946fac8 [svn-r2498] Added new VFL 'query' code and added new 'type of data' parameter to write
call.
2000-08-31 14:33:58 -05:00
Quincey Koziol
9e014467b6 [svn-r1836] Mainly fixed a bug in VL datatype comparisons which was causing non-equal
VL types to compare as equal.  Added some asserts to make certain nothing
slips through again.  Also cleaned up a few warnings from the SGI compiler.
1999-11-17 16:59:53 -05:00
Robb Matzke
4b2dbd5651 [svn-r1832] * 1999-11-16
** configure.in
** configure				[REGENERATED]
** src/H5private.h
** src/H5public.h
** src/Makefile.in
	Generates an H5pubconf.h file which is just like H5config.h except all
	the preprocessor symbols have `H5_' prepended. This was done so that
	the configuration results can be used in public header files without
	polluting the namespace.

** src/H5.c
	Added H5I_REFERENCE and H5I_VFL to the API tracing code so their names
	are printed instead of just numbers.

** src/H5FDstdio.c
** tools/h5import.c
** tools/h5repart.c
** tools/pdb2hdf.c
	Changed to use the `H5_' versions of configure results since these
	files include only the public API.

** test/big.c
	Removed a compiler warning.

** test/h5test.c
	Removed unused code.
1999-11-16 14:08:14 -05:00
Robb Matzke
eb8747499d [svn-r1802] Changes since 19991019
----------------------

./MANIFEST
./configure.in
./configure			[REGENERATED]
	Added more checking for `make' features.

./Makefile.in
./doc/Makefile.in
./doc/html/Makefile.in
./doc/html/Tutor/Makefile.in
./examples/Makefile.in
./pablo/Makefile.in
./src/Makefile.in
./test/Makefile.in
./testpar/Makefile.in
./tools/Makefile.in
./config/commence.in
./config/conclude.in
./config/depend.in		[REMOVED]
./config/depend1.in		[NEW]
./config/depend2.in		[NEW]
./config/depend3.in		[NEW]
./config/depend4.in		[NEW]
./config/dependN.in		[NEW]
	The directory search stuff was moved into commence.in, thereby
	shortening the Makefile.in prologues.

./doc/html/Dependencies		[NEW]
./doc/html/Tutor/Dependencies	[NEW]
./examples/Dependencies		[NEW]
./src/Dependencies		[NEW]
./test/Dependencies		[NEW]
./testpar/Dependencies		[NEW]
./tools/Dependencies		[NEW]
	The `.distdep' files were all renamed to `Dependencies' to make them
	more obvious. They are required (but may be empty) in every directory
	that has a Makefile.in that ends with @CONCLUDE@ (you'll get an
	obvious error from make if you forgot to create one).

./bin/trace
./src/H5.c
	Added H5E_major_t and H5E_minor_t although tracing only prints the
	integer value.

./src/H5E.c
./src/H5Epublic.h
	Added tracing information.

./src/H5FDcore.c
./src/H5FDfamily.c
./src/H5FDgass.c
./src/H5FDmpio.c
./src/H5FDsec2.c
./src/H5FDstdio.c
	Fixed places where FUNC_LEAVE() evaluated it's argument more than
	once.

	Added tracing information.

	Wrapped long lines.

./config/gnu-flags
	Fixed a syntax error when we don't have a gnu compiler.
1999-11-01 10:21:16 -05:00
Patrick Lu
ea1264842e [svn-r1799] got rid of the include of the private header file 1999-10-29 10:57:26 -05:00
Patrick Lu
b37a0cba06 [svn-r1797] included the h5private.h file to get a definition of F_OK and
got rid of the #error for WIN32
1999-10-27 14:04:23 -05:00