mirror of
https://github.com/aaru-dps/fstester.git
synced 2025-12-16 19:24:39 +00:00
Reorganize folder structure to make cmake happy.
This commit is contained in:
@@ -33,14 +33,6 @@ CHECK_SYMBOL_EXISTS(statfs "sys/statfs.h" HAVE_SYS_STATFS)
|
||||
CHECK_SYMBOL_EXISTS(statfs "sys/mount.h" HAVE_SYS_MOUNT)
|
||||
CHECK_SYMBOL_EXISTS(statvfs "sys/statvfs.h" HAVE_SYS_STATVFS)
|
||||
|
||||
# NetBSD >= 3.0
|
||||
if(HAVE_SYS_STATVFS)
|
||||
message("-- Found statvfs in sys/statvfs.h")
|
||||
add_definitions(-DHAVE_SYS_STATVFS_H)
|
||||
CHECK_STRUCT_HAS_MEMBER("struct statvfs" "f_namemax" "sys/statvfs.h" HAVE_STATFS_NAMEMAX)
|
||||
CHECK_STRUCT_HAS_MEMBER("struct statvfs" "f_fstypename" "sys/statvfs.h" HAVE_STATFS_FTYPENAME)
|
||||
endif()
|
||||
|
||||
# Linux and FreeBSD
|
||||
if(HAVE_SYS_STATFS)
|
||||
message("-- Found statfs in sys/statfs.h")
|
||||
@@ -48,15 +40,19 @@ if(HAVE_SYS_STATFS)
|
||||
CHECK_STRUCT_HAS_MEMBER("struct statfs" "f_namelen" "sys/statfs.h" HAVE_STATFS_FNAMELEN)
|
||||
CHECK_STRUCT_HAS_MEMBER("struct statfs" "f_fstypename" "sys/statfs.h" HAVE_STATFS_FTYPENAME)
|
||||
CHECK_STRUCT_HAS_MEMBER("struct statfs" "f_namemax" "sys/statfs.h" HAVE_STATFS_NAMEMAX)
|
||||
endif()
|
||||
|
||||
# Darwin and most other BSDs
|
||||
if(HAVE_SYS_MOUNT)
|
||||
elseif(HAVE_SYS_MOUNT) # Darwin and most other BSDs
|
||||
message("-- Found statfs in sys/mount.h")
|
||||
add_definitions(-DHAVE_SYS_MOUNT_H)
|
||||
CHECK_STRUCT_HAS_MEMBER("struct statfs" "f_namelen" "sys/mount.h" HAVE_STATFS_FNAMELEN)
|
||||
CHECK_STRUCT_HAS_MEMBER("struct statfs" "f_fstypename" "sys/mount.h" HAVE_STATFS_FTYPENAME)
|
||||
CHECK_STRUCT_HAS_MEMBER("struct statfs" "f_namemax" "sys/mount.h" HAVE_STATFS_NAMEMAX)
|
||||
if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin") # It's giving false positives sometimes
|
||||
CHECK_STRUCT_HAS_MEMBER("struct statfs" "f_namemax" "sys/mount.h" HAVE_STATFS_NAMEMAX)
|
||||
endif()
|
||||
elseif(HAVE_SYS_STATVFS) # NetBSD >= 3.0
|
||||
message("-- Found statvfs in sys/statvfs.h")
|
||||
add_definitions(-DHAVE_SYS_STATVFS_H)
|
||||
CHECK_STRUCT_HAS_MEMBER("struct statvfs" "f_namemax" "sys/statvfs.h" HAVE_STATFS_NAMEMAX)
|
||||
CHECK_STRUCT_HAS_MEMBER("struct statvfs" "f_fstypename" "sys/statvfs.h" HAVE_STATFS_FTYPENAME)
|
||||
endif()
|
||||
|
||||
if(HAVE_STATFS_FNAMELEN)
|
||||
@@ -76,4 +72,8 @@ endif()
|
||||
|
||||
set(UNIX_SOURCES attr.c deleted.c dirdepth.c filename.c files.c frag.c links.c os.c perms.c rsrcfork.c sparse.c time.c volume.c xattr.c time.h)
|
||||
|
||||
add_library(unix ${UNIX_SOURCES})
|
||||
add_library(unix ${UNIX_SOURCES})
|
||||
|
||||
add_subdirectory(darwin)
|
||||
add_subdirectory(linux)
|
||||
add_subdirectory(bsd)
|
||||
|
||||
@@ -25,11 +25,11 @@ Copyright (C) 2011-2021 Natalia Portillo
|
||||
#include "../include/defs.h"
|
||||
|
||||
#if defined(__linux__) || defined(__LINUX__) || defined(__gnu_linux)
|
||||
#include "../linux/linux.h"
|
||||
#include "linux/linux.h"
|
||||
#elif defined(__APPLE__) && defined(__MACH__)
|
||||
#include "../darwin/darwin.h"
|
||||
#include "darwin/darwin.h"
|
||||
#elif defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
|
||||
#include "../bsd/bsd.h"
|
||||
#include "bsd/bsd.h"
|
||||
#endif
|
||||
|
||||
void FileAttributes(const char* path)
|
||||
|
||||
40
setter/src/unix/bsd/CMakeLists.txt
Normal file
40
setter/src/unix/bsd/CMakeLists.txt
Normal file
@@ -0,0 +1,40 @@
|
||||
# /****************************************************************************
|
||||
# Aaru Data Preservation Suite
|
||||
# -----------------------------------------------------------------------------
|
||||
#
|
||||
# Author(s) : Natalia Portillo
|
||||
#
|
||||
# --[ License ] ---------------------------------------------------------------
|
||||
# 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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# -----------------------------------------------------------------------------
|
||||
# Copyright (C) 2011-2021 Natalia Portillo
|
||||
# *****************************************************************************/
|
||||
|
||||
if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "^(([^k].*)?BSD|DragonFly)$" )
|
||||
return()
|
||||
endif()
|
||||
|
||||
project(
|
||||
fssetter-bsd
|
||||
DESCRIPTION "Filesystem test creator for BSD"
|
||||
LANGUAGES C)
|
||||
|
||||
set(PLATFORM_SOURCES bsd.h xattr.c xattr.h attr.c attr.h)
|
||||
|
||||
set(EXECUTABLE_NAME "fssetter-${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}")
|
||||
|
||||
add_executable(${EXECUTABLE_NAME} ${PLATFORM_SOURCES})
|
||||
|
||||
target_link_libraries(${EXECUTABLE_NAME} core unix)
|
||||
107
setter/src/unix/bsd/attr.c
Normal file
107
setter/src/unix/bsd/attr.c
Normal file
@@ -0,0 +1,107 @@
|
||||
/****************************************************************************
|
||||
Aaru Data Preservation Suite
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Author(s) : Natalia Portillo
|
||||
|
||||
--[ License ] ---------------------------------------------------------------
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2021 Natalia Portillo
|
||||
*****************************************************************************/
|
||||
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "attr.h"
|
||||
|
||||
#include "../../log.h"
|
||||
|
||||
void BsdFileAttributes(const char* path)
|
||||
{
|
||||
int ret;
|
||||
int fd;
|
||||
FILE* h;
|
||||
int rc;
|
||||
int wRc;
|
||||
int sRc;
|
||||
int cRc;
|
||||
int i;
|
||||
|
||||
ret = chdir(path);
|
||||
|
||||
if(ret)
|
||||
{
|
||||
log_write("Error %d changing to specified path.\n", errno);
|
||||
return;
|
||||
}
|
||||
|
||||
ret = mkdir("ATTRS", 0755);
|
||||
|
||||
if(ret)
|
||||
{
|
||||
log_write("Error %d creating working directory.\n", errno);
|
||||
return;
|
||||
}
|
||||
|
||||
ret = chdir("ATTRS");
|
||||
|
||||
if(ret)
|
||||
{
|
||||
log_write("Error %d changing to working directory.\n", errno);
|
||||
return;
|
||||
}
|
||||
|
||||
log_write("Creating files with different flags (attributes).\n");
|
||||
|
||||
for(i = 0; i < KNOWN_BSD_ATTRS; i++)
|
||||
{
|
||||
h = fopen(darwin_attrs[i].filename, "w+");
|
||||
rc = 0;
|
||||
wRc = 0;
|
||||
sRc = 0;
|
||||
cRc = 0;
|
||||
|
||||
if(h == NULL) rc = errno;
|
||||
else
|
||||
{
|
||||
fd = fileno(h);
|
||||
ret = fchflags(fd, darwin_attrs[i].attr);
|
||||
|
||||
if(ret)
|
||||
{
|
||||
sRc = errno;
|
||||
unlink(darwin_attrs[i].filename);
|
||||
}
|
||||
else
|
||||
{
|
||||
ret = fprintf(h, "%s", darwin_attrs[i].contents);
|
||||
|
||||
if(ret < 1)
|
||||
{
|
||||
wRc = errno;
|
||||
unlink(darwin_attrs[i].filename);
|
||||
}
|
||||
}
|
||||
|
||||
ret = fclose(h);
|
||||
|
||||
if(ret) cRc = errno;
|
||||
}
|
||||
|
||||
log_write("\t%s, rc = %d, wRc = %d, sRc = %d, cRc = %d\n", darwin_attrs[i].description, rc, wRc, sRc, cRc);
|
||||
}
|
||||
}
|
||||
210
setter/src/unix/bsd/attr.h
Normal file
210
setter/src/unix/bsd/attr.h
Normal file
@@ -0,0 +1,210 @@
|
||||
/****************************************************************************
|
||||
Aaru Data Preservation Suite
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Author(s) : Natalia Portillo
|
||||
|
||||
--[ License ] ---------------------------------------------------------------
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2021 Natalia Portillo
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef AARU_FSTESTER_SETTER_SRC_BSD_ATTR_H_
|
||||
#define AARU_FSTESTER_SETTER_SRC_BSD_ATTR_H_
|
||||
|
||||
#include <sys/stat.h>
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char filename[16];
|
||||
char contents[256];
|
||||
char description[256];
|
||||
unsigned int attr;
|
||||
} bsd_attr_tests_t;
|
||||
|
||||
#if defined(__FreeBSD__)
|
||||
#define KNOWN_BSD_ATTRS 17
|
||||
#elif defined(__DragonFly__)
|
||||
#define KNOWN_BSD_ATTRS 15
|
||||
#elif defined(__NetBSD__)
|
||||
#define KNOWN_BSD_ATTRS 10
|
||||
#else
|
||||
#define KNOWN_BSD_ATTRS 7
|
||||
#endif
|
||||
|
||||
#ifndef UF_NODUMP
|
||||
#define UF_NODUMP 0x00000001 /* Do not dump the file. */
|
||||
#endif
|
||||
|
||||
#ifndef UF_IMMUTABLE
|
||||
#define UF_IMMUTABLE 0x00000002 /* The file may not be changed. */
|
||||
#endif
|
||||
|
||||
#ifndef UF_APPEND
|
||||
#define UF_APPEND 0x00000004 /* The file may only be appended to. */
|
||||
#endif
|
||||
|
||||
#ifndef UF_OPAQUE
|
||||
#define UF_OPAQUE 0x00000008 /* directory is opaque wrt. union */
|
||||
#endif
|
||||
|
||||
#ifndef SF_ARCHIVED
|
||||
#define SF_ARCHIVED 0x00010000 /* file is archived */
|
||||
#endif
|
||||
|
||||
#ifndef SF_IMMUTABLE
|
||||
#define SF_IMMUTABLE 0x00020000 /* The file may not be changed. */
|
||||
#endif
|
||||
|
||||
#ifndef SF_APPEND
|
||||
#define SF_APPEND 0x00040000 /* The file may only be appended to. */
|
||||
#endif
|
||||
|
||||
#if defined(__FreeBSD__) || defined(__DragonFly__)
|
||||
#ifndef UF_NOUNLINK
|
||||
#define UF_NOUNLINK 0x00000010 /* file may not be removed or renamed */
|
||||
#endif
|
||||
|
||||
#ifndef SF_NOUNLINK
|
||||
#define SF_NOUNLINK 0x00100000 /* file may not be removed or renamed */
|
||||
#endif
|
||||
#endif // FreeBSD or DragonFly BSD
|
||||
|
||||
#if defined(__FreeBSD__) || defined(__NetBSD__)
|
||||
#ifndef SF_SNAPSHOT
|
||||
#define SF_SNAPSHOT 0x00200000 /* snapshot inode */
|
||||
#endif
|
||||
#endif // FreeBSD or NetBSD
|
||||
|
||||
#if defined(__NetBSD__)
|
||||
#ifndef SF_LOG
|
||||
#define SF_LOG 0x00400000 /* WAPBL log file inode */
|
||||
#endif
|
||||
|
||||
#ifndef SF_SNAPINVAL
|
||||
#define SF_SNAPINVAL 0x00800000 /* snapshot is invalid */
|
||||
#endif
|
||||
#endif // NetBSD
|
||||
|
||||
#if defined(__FreeBSD__)
|
||||
#ifndef UF_SYSTEM
|
||||
#define UF_SYSTEM 0x00000080 /* Windows system file bit */
|
||||
#endif
|
||||
|
||||
#ifndef UF_SPARSE
|
||||
#define UF_SPARSE 0x00000100 /* sparse file */
|
||||
#endif
|
||||
|
||||
#ifndef UF_OFFLINE
|
||||
#define UF_OFFLINE 0x00000200 /* file is offline */
|
||||
#endif
|
||||
|
||||
#ifndef UF_REPARSE
|
||||
#define UF_REPARSE 0x00000400 /* Windows reparse point file bit */
|
||||
#endif
|
||||
|
||||
#ifndef UF_ARCHIVE
|
||||
#define UF_ARCHIVE 0x00000800 /* file needs to be archived */
|
||||
#endif
|
||||
|
||||
#ifndef UF_READONLY
|
||||
#define UF_READONLY 0x00001000 /* Windows readonly file bit */
|
||||
#endif
|
||||
|
||||
#ifndef UF_HIDDEN
|
||||
#define UF_HIDDEN 0x00008000 /* file is hidden */
|
||||
#endif
|
||||
#endif // FreeBSD
|
||||
|
||||
#if defined(__DragonFly__)
|
||||
#ifndef UF_NOHISTORY
|
||||
#define UF_NOHISTORY 0x00000040 /* do not retain history/snapshots */
|
||||
#endif
|
||||
|
||||
#ifndef UF_CACHE
|
||||
#define UF_CACHE 0x00000080 /* enable data swapcache */
|
||||
#endif
|
||||
|
||||
#ifndef UF_XLINK
|
||||
#define UF_XLINK 0x00000100 /* cross-link (hardlink) boundary */
|
||||
#endif
|
||||
|
||||
#ifndef SF_NOHISTORY
|
||||
#define SF_NOHISTORY 0x00400000 /* do not retain history/snapshots */
|
||||
#endif
|
||||
|
||||
#ifndef SF_NOCACHE
|
||||
#define SF_NOCACHE 0x00800000 /* disable data swapcache */
|
||||
#endif
|
||||
|
||||
#ifndef SF_XLINK
|
||||
#define SF_XLINK 0x01000000 /* cross-link (hardlink) boundary */
|
||||
#endif
|
||||
#endif // DragonFly BSD
|
||||
|
||||
static const bsd_attr_tests_t darwin_attrs[KNOWN_BSD_ATTRS] = {
|
||||
{"NODUMP", "This file is now not dumpable", "File with no dump flag", UF_NODUMP},
|
||||
{"IMMUTABLE", "This file is now immutable", "File with immutable flag", UF_IMMUTABLE},
|
||||
{"APPEND", "This file is now append only", "File with append only flag", UF_APPEND},
|
||||
{"ARCHIVED", "This file is now archived", "File with archived flag", SF_ARCHIVED},
|
||||
{"SF_IMMUTABLE",
|
||||
"This file is now immutable, and only the super-user change change that",
|
||||
"File with super-usr immutable flag",
|
||||
SF_IMMUTABLE},
|
||||
{"SF_APPEND",
|
||||
"This file is now append only, and only the super-user change change that",
|
||||
"File with super-user append only flag",
|
||||
SF_APPEND},
|
||||
{"OPAQUE", "This directory is opaque when viewed through a union stack", "File with opaque flag", UF_OPAQUE},
|
||||
|
||||
#if defined(__FreeBSD__) || defined(__DragonFly__)
|
||||
{"NOUNLINK", "This file may not be removed or renamed", "File with no unlink flag", UF_NOUNLINK},
|
||||
{"SF_NOUNLINK", "This file may not be removed or renamed", "File with super-user no unlink flag", SF_NOUNLINK},
|
||||
#endif
|
||||
|
||||
#if defined(__FreeBSD__) || defined(__NetBSD__)
|
||||
{"SF_SNAPSHOT", "This file is a snapshot", "File with super-user snapshot flag", SF_SNAPSHOT},
|
||||
#endif
|
||||
|
||||
#if defined(__NetBSD__)
|
||||
{"SF_LOG", "This file is a WAPBL log file", "File with super-user log flag", SF_LOG},
|
||||
{"SF_SNAPINVAL", "This file is an invalid snapshot", "File with super-user invalid snapshot flag", SF_SNAPINVAL},
|
||||
#endif
|
||||
|
||||
#if defined(__FreeBSD__)
|
||||
{"SYSTEM", "This file is a system file for Windows", "File with system flag", UF_SYSTEM},
|
||||
{"SPARSE", "This file is sparse", "File with sparse flag", UF_SPARSE},
|
||||
{"OFFLINE", "This file is available offline for Windows", "File with offline flag", UF_OFFLINE},
|
||||
{"REPARSE", "This file is a Windows reparse point", "File with reparse flag", UF_REPARSE},
|
||||
{"ARCHIVE", "This file is must be archived", "File with archive flag", UF_ARCHIVE},
|
||||
{"READONLY", "This file is read-only for Windows", "File with read-only flag", UF_READONLY},
|
||||
{"HIDDEN", "This file is hidden", "File with hidden flag", UF_HIDDEN},
|
||||
#endif
|
||||
|
||||
#if defined(__DragonFly__)
|
||||
{"NOHISTORY", "This file will not retain history/snapshots", "File with no history flag", UF_NOHISTORY},
|
||||
{"CACHE", "This file has data swapcache enabled", "File with cache flag", UF_CACHE},
|
||||
{"XLINK", "This file is a cross link boundary", "File with crosslink flag", UF_XLINK},
|
||||
{"SF_NOHISTORY",
|
||||
"This file will not retain history/snapshots",
|
||||
"File with super-user no history flag",
|
||||
SF_NOHISTORY},
|
||||
{"SF_NOCACHE", "This file must not have data swapcache enabled", "File with super-user no cache flag", SF_NOCACHE},
|
||||
{"SF_XLINK", "This file is a cross link boundary", "File with super-user crosslink flag", SF_XLINK},
|
||||
#endif
|
||||
};
|
||||
|
||||
#endif // AARU_FSTESTER_SETTER_SRC_BSD_ATTR_H_
|
||||
31
setter/src/unix/bsd/bsd.h
Normal file
31
setter/src/unix/bsd/bsd.h
Normal file
@@ -0,0 +1,31 @@
|
||||
/****************************************************************************
|
||||
Aaru Data Preservation Suite
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Author(s) : Natalia Portillo
|
||||
|
||||
--[ License ] ---------------------------------------------------------------
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2021 Natalia Portillo
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef SETTER_SRC_BSD_H_
|
||||
#define SETTER_SRC_BSD_H_
|
||||
|
||||
void BsdExtendedAttributes(const char* path);
|
||||
void BsdFileAttributes(const char* path);
|
||||
|
||||
#endif // SETTER_SRC_BSD_H_
|
||||
104
setter/src/unix/bsd/xattr.c
Normal file
104
setter/src/unix/bsd/xattr.c
Normal file
@@ -0,0 +1,104 @@
|
||||
/****************************************************************************
|
||||
Aaru Data Preservation Suite
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Author(s) : Natalia Portillo
|
||||
|
||||
--[ License ] ---------------------------------------------------------------
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2021 Natalia Portillo
|
||||
*****************************************************************************/
|
||||
|
||||
#include <dlfcn.h>
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "xattr.h"
|
||||
|
||||
#include "../../log.h"
|
||||
|
||||
void BsdExtendedAttributes(const char* path)
|
||||
{
|
||||
ssize_t ret;
|
||||
FILE* file;
|
||||
int rc;
|
||||
int cRc;
|
||||
_bsd_extattr_set_file bsd_extattr_set_file;
|
||||
|
||||
bsd_extattr_set_file = (_bsd_extattr_set_file)dlsym(RTLD_DEFAULT, "extattr_set_file");
|
||||
|
||||
if(!bsd_extattr_set_file)
|
||||
{
|
||||
log_write("Error loading extattr_set_file(2) from libc: %s\n", dlerror());
|
||||
return;
|
||||
}
|
||||
|
||||
ret = chdir(path);
|
||||
|
||||
if(ret)
|
||||
{
|
||||
log_write("Error %d changing to specified path.\n", errno);
|
||||
return;
|
||||
}
|
||||
|
||||
ret = mkdir("XATTRS", 0755);
|
||||
|
||||
if(ret)
|
||||
{
|
||||
log_write("Error %d creating working directory.\n", errno);
|
||||
return;
|
||||
}
|
||||
|
||||
ret = chdir("XATTRS");
|
||||
|
||||
if(ret)
|
||||
{
|
||||
log_write("Error %d changing to working directory.\n", errno);
|
||||
return;
|
||||
}
|
||||
|
||||
log_write("Creating files with extended attributes.\n");
|
||||
|
||||
rc = 0;
|
||||
cRc = 0;
|
||||
file = fopen("com.ibm.os2.comment", "w+");
|
||||
if(file == NULL) rc = errno;
|
||||
else
|
||||
{
|
||||
fprintf(file, "This file has an extended attribute called \"com.ibm.os2.comment\" that is 72 bytes long.\n");
|
||||
fclose(file);
|
||||
ret = bsd_extattr_set_file("com.ibm.os2.comment", EXTATTR_NAMESPACE_USER, "user.com.ibm.os2.comment", CommentsEA, 72);
|
||||
|
||||
if(ret) cRc = errno;
|
||||
}
|
||||
log_write("\tFile with an extended attribute called \"com.ibm.os2.comment\", rc = %d, cRc = %d\n", rc, cRc);
|
||||
|
||||
rc = 0;
|
||||
cRc = 0;
|
||||
file = fopen("com.ibm.os2.icon", "w+");
|
||||
if(file == NULL) rc = errno;
|
||||
else
|
||||
{
|
||||
fprintf(file, "This file has an extended attribute called \"com.ibm.os2.icon\" that is 3516 bytes long.\n");
|
||||
fclose(file);
|
||||
ret = bsd_extattr_set_file("com.ibm.os2.icon", EXTATTR_NAMESPACE_USER, "user.com.ibm.os2.icon", IconEA, 3516);
|
||||
|
||||
if(ret) cRc = errno;
|
||||
}
|
||||
log_write("\tFile with an extended attribute called \"com.ibm.os2.icon\", rc = %d, cRc = %d\n", rc, cRc);
|
||||
}
|
||||
231
setter/src/unix/bsd/xattr.h
Normal file
231
setter/src/unix/bsd/xattr.h
Normal file
@@ -0,0 +1,231 @@
|
||||
/****************************************************************************
|
||||
Aaru Data Preservation Suite
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Author(s) : Natalia Portillo
|
||||
|
||||
--[ License ] ---------------------------------------------------------------
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2021 Natalia Portillo
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef SETTER_SRC_BSD_XATTR_H_
|
||||
#define SETTER_SRC_BSD_XATTR_H_
|
||||
|
||||
#ifndef EXTATTR_NAMESPACE_USER
|
||||
#define EXTATTR_NAMESPACE_USER 1
|
||||
#endif
|
||||
|
||||
// FreeBSD, NetBSD, OpenBSD and DragonFly BSD all implement this same API
|
||||
// They added it at very different times, and OpenBSD rolled it back.
|
||||
typedef ssize_t (
|
||||
*_bsd_extattr_set_file)(const char* path, int attrnamespace, const char* attrname, const void* data, size_t nbytes);
|
||||
|
||||
static unsigned char CommentsEA[72] = {
|
||||
0x45, 0x00, 0x00, 0x00, 0x00, 0x09, 0x33, 0x00, 0x2E, 0x43, 0x4F, 0x4D, 0x4D, 0x45, 0x4E, 0x54, 0x53, 0x00,
|
||||
0xFD, 0xFF, 0x2E, 0x00, 0x54, 0x68, 0x69, 0x73, 0x20, 0x45, 0x41, 0x20, 0x63, 0x6F, 0x6E, 0x74, 0x61, 0x69,
|
||||
0x6E, 0x73, 0x20, 0x63, 0x6F, 0x6D, 0x6D, 0x65, 0x6E, 0x74, 0x73, 0x20, 0x66, 0x6F, 0x72, 0x20, 0x57, 0x6F,
|
||||
0x72, 0x6B, 0x50, 0x6C, 0x61, 0x63, 0x65, 0x20, 0x53, 0x68, 0x65, 0x6C, 0x6C, 0x2E, 0x00, 0x00, 0x00, 0x00};
|
||||
|
||||
static unsigned char IconEA[3516] = {
|
||||
0xBC, 0x0D, 0x00, 0x00, 0x00, 0x05, 0xAE, 0x0D, 0x2E, 0x49, 0x43, 0x4F, 0x4E, 0x00, 0xF9, 0xFF, 0xAA, 0x0D, 0x42,
|
||||
0x41, 0x28, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x49, 0x1A, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x10, 0x00, 0xDA, 0x01, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x20, 0x00, 0x40, 0x00, 0x01, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x43, 0x49, 0x1A, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0xDA, 0x02,
|
||||
0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F,
|
||||
0x3F, 0x80, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xFF, 0xFF, 0xFF, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00,
|
||||
0xFF, 0xFF, 0x00, 0x80, 0x80, 0x00, 0xFF, 0x00, 0xFF, 0x80, 0x00, 0x80, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00,
|
||||
0xFF, 0x00, 0xFF, 0x00, 0x00, 0x42, 0x41, 0x28, 0x00, 0x00, 0x00, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x43, 0x49, 0x1A, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0xDA, 0x04, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x20,
|
||||
0x00, 0x40, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x43, 0x49, 0x1A, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x10, 0x00, 0xDA, 0x05, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x01, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x42, 0x41, 0x28, 0x00, 0x00, 0x00, 0x14, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x43, 0x49, 0x1A, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x5A, 0x06, 0x00, 0x00, 0x0C, 0x00, 0x00,
|
||||
0x00, 0x10, 0x00, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x43, 0x49, 0x1A, 0x00,
|
||||
0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0xDA, 0x06, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x01,
|
||||
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x41, 0x28, 0x00, 0x00, 0x00, 0x62, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x43, 0x49, 0x1A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x1A, 0x07, 0x00, 0x00, 0x0C,
|
||||
0x00, 0x00, 0x00, 0x14, 0x00, 0x28, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x43, 0x49,
|
||||
0x1A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0xBA, 0x07, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x14, 0x00, 0x14,
|
||||
0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x41, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x04, 0x00, 0x03, 0x43, 0x49, 0x1A, 0x00, 0x00, 0x00, 0x14, 0x00, 0x14, 0x00, 0x0A, 0x08, 0x00,
|
||||
0x00, 0x0C, 0x00, 0x00, 0x00, 0x28, 0x00, 0x50, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF,
|
||||
0x43, 0x49, 0x1A, 0x00, 0x00, 0x00, 0x14, 0x00, 0x14, 0x00, 0x8A, 0x0A, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x28,
|
||||
0x00, 0x28, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x80, 0x80, 0x80, 0xC0, 0xC0, 0xC0,
|
||||
0xFF, 0xFF, 0xFF, 0x00, 0x80, 0x80, 0x80, 0xA0, 0x80, 0x28, 0x50, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x80, 0x00, 0xD0,
|
||||
0xD8, 0xB0, 0xC0, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0x8F, 0xFE, 0x3F, 0xFE, 0x0F, 0xF8, 0x3F, 0xFE, 0x0F, 0xF8, 0x3F, 0xFE, 0x0F, 0xF8, 0x3F, 0xFE, 0x00,
|
||||
0x00, 0x3F, 0xFF, 0x00, 0x00, 0x3F, 0xFF, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x1F, 0xFE,
|
||||
0x00, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x0F,
|
||||
0xF8, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00,
|
||||
0x0F, 0xF8, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x3F, 0xFC, 0x00,
|
||||
0x00, 0x7F, 0xFF, 0xFC, 0x7F, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x11, 0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x11, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x31,
|
||||
0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x31, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x31, 0x22, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x31, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x33, 0x12, 0x22, 0x22, 0x22, 0x22, 0x13,
|
||||
0x31, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x12, 0x22, 0x22, 0x22, 0x22, 0x13, 0x12, 0x22, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x11, 0x11, 0x11, 0x11, 0x11, 0x13, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x13, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x21, 0x31, 0x11, 0x11, 0x11, 0x11, 0x31, 0x22, 0x22, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x21, 0x31, 0x22,
|
||||
0x22, 0x22, 0x21, 0x31, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
|
||||
0x11, 0x11, 0x11, 0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x34, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x31,
|
||||
0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x41, 0x22, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x41, 0x22, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x44, 0x46, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x44, 0x41, 0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x44, 0x44,
|
||||
0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x41, 0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x46, 0x66, 0x66, 0x66, 0x66,
|
||||
0x66, 0x66, 0x44, 0x41, 0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
|
||||
0x41, 0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x46, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x44, 0x41, 0x22, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x41, 0x22, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x44, 0x46, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x44, 0x41, 0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x44,
|
||||
0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x41, 0x20, 0x00, 0x00, 0x00, 0x00, 0x01, 0x34, 0x44, 0x44, 0x44, 0x44,
|
||||
0x44, 0x44, 0x44, 0x44, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
|
||||
0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xFC, 0x1F, 0xFC, 0x07, 0xF0, 0x1F, 0xFC, 0x07, 0xF0, 0x1F, 0xFC, 0x07,
|
||||
0xF0, 0x1F, 0xFC, 0x00, 0x00, 0x1F, 0xFC, 0x00, 0x00, 0x1F, 0xFE, 0x00, 0x00, 0x1F, 0xFE, 0x00, 0x00, 0x3F, 0xFE,
|
||||
0x00, 0x00, 0x1F, 0xFE, 0x00, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07,
|
||||
0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00,
|
||||
0x07, 0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00,
|
||||
0x00, 0x0F, 0xF0, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x7F, 0xFF, 0xFC, 0x7F, 0xFF, 0xFF,
|
||||
0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xF8, 0x03, 0xE0, 0x03, 0x88, 0x0E, 0x20, 0x02, 0x08, 0x08, 0x20, 0x02, 0x88, 0x0A, 0x20, 0x02, 0x8F, 0xFA,
|
||||
0x20, 0x02, 0xC0, 0x06, 0x20, 0x01, 0x40, 0x04, 0x20, 0x01, 0x40, 0x04, 0x40, 0x01, 0x7F, 0xFC, 0x60, 0x01, 0x20,
|
||||
0x08, 0x10, 0x02, 0x20, 0x08, 0x08, 0x04, 0x00, 0x00, 0x08, 0x0B, 0xFF, 0xFF, 0x88, 0x0B, 0xFF, 0xFF, 0x88, 0x0B,
|
||||
0xFF, 0xFF, 0x88, 0x0B, 0x00, 0x03, 0x88, 0x0B, 0xFF, 0xFF, 0x88, 0x0B, 0x00, 0x03, 0x88, 0x0B, 0xFF, 0xFF, 0x88,
|
||||
0x0B, 0x00, 0x03, 0x88, 0x0B, 0xFF, 0xFF, 0x88, 0x0B, 0x00, 0x03, 0x88, 0x0B, 0xFF, 0xFF, 0x90, 0x0B, 0xFF, 0xFF,
|
||||
0xA0, 0x04, 0x00, 0x00, 0x40, 0x03, 0xFD, 0x7F, 0x80, 0x00, 0x02, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xED, 0x41, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x27, 0x09, 0x00, 0x00, 0xF5, 0x08, 0x00, 0x00, 0x1F, 0x09,
|
||||
0x00, 0x00, 0x4A, 0x09, 0x00, 0x00, 0x9F, 0x0A, 0x00, 0x00, 0xE3, 0x0A, 0x00, 0x00, 0xE4, 0x09, 0x00, 0x00, 0x02,
|
||||
0x0A, 0x00, 0x00, 0x29, 0x0A, 0x00, 0x00, 0x55, 0x0A, 0x00, 0x00, 0x72, 0x0A, 0x00, 0x00, 0x88, 0x0A, 0xFF, 0xFF,
|
||||
0x00, 0x00, 0xE7, 0xCF, 0xE5, 0x1C, 0xE7, 0xCF, 0x65, 0x00, 0xF0, 0x1F, 0xDD, 0x04, 0xF3, 0x9F, 0xF2, 0x03, 0xE0,
|
||||
0x0F, 0xC7, 0x04, 0xDF, 0xF7, 0x0B, 0x05, 0xDF, 0xF7, 0xF8, 0x04, 0xDF, 0xF7, 0x32, 0x04, 0xDF, 0xF7, 0xA8, 0x04,
|
||||
0xDF, 0xF7, 0x9E, 0x04, 0xDF, 0xF7, 0xBA, 0x04, 0xE0, 0x0F, 0x7A, 0x04, 0xFD, 0x7F, 0x85, 0x04, 0xFE, 0xFF, 0xFF,
|
||||
0x04, 0xFF, 0xFF, 0xDF, 0x04, 0xFF, 0xFF, 0x00, 0x00, 0xE7, 0xCF, 0x00, 0x1F, 0xE7, 0xCF, 0x00, 0x1F, 0xF0, 0x1F,
|
||||
0x00, 0x1F, 0xF3, 0x9F, 0x00, 0x1F, 0xE0, 0x0F, 0x00, 0x1F, 0xDF, 0xF7, 0x00, 0x1F, 0xDF, 0xF7, 0x00, 0x1F, 0xDF,
|
||||
0xF7, 0x00, 0x1F, 0xDF, 0xF7, 0x00, 0x1F, 0xDF, 0xF7, 0x00, 0x1F, 0xDF, 0xF7, 0x00, 0x7F, 0xE0, 0x0F, 0x00, 0x7F,
|
||||
0xFD, 0x7F, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x08, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x08, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x33, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x08, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xF0,
|
||||
0x00, 0xE3, 0xF1, 0xF0, 0x00, 0xEB, 0xF5, 0xF1, 0x11, 0xE9, 0xE5, 0xF0, 0x00, 0xF4, 0x0B, 0xF0, 0x00, 0xF7, 0xFB,
|
||||
0xF0, 0x00, 0xFA, 0x17, 0xF1, 0x11, 0xFA, 0xD7, 0xF0, 0x00, 0xE0, 0x01, 0xF0, 0x0F, 0xDF, 0xFE, 0xF0, 0x00, 0xDF,
|
||||
0xFE, 0xFF, 0xFF, 0xDF, 0xFE, 0xF0, 0x00, 0xDF, 0xFE, 0xFF, 0xFF, 0xDF, 0xFE, 0xFF, 0xFF, 0xDF, 0xFE, 0xF0, 0x00,
|
||||
0xDF, 0xFE, 0xFF, 0xFF, 0xE0, 0x01, 0xFF, 0xFF, 0xFF, 0x5F, 0xFF, 0xFF, 0xFF, 0xBF, 0xF6, 0x66, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0xE3, 0xF1, 0xF0, 0x01, 0xEB, 0xF5, 0xF1, 0x11, 0xE9, 0xE5, 0xF0, 0x00, 0xF4, 0x0B,
|
||||
0xF0, 0x01, 0xF7, 0xFB, 0xF1, 0x11, 0xFA, 0x17, 0xF0, 0x00, 0xFA, 0xD7, 0xF0, 0x01, 0xE0, 0x01, 0xF1, 0x11, 0xDF,
|
||||
0xFE, 0xF0, 0x00, 0xDF, 0xFE, 0xF0, 0x01, 0xDF, 0xFE, 0xF1, 0x11, 0xDF, 0xFE, 0xF0, 0x00, 0xDF, 0xFE, 0xF0, 0x00,
|
||||
0xDF, 0xFE, 0xF0, 0x00, 0xDF, 0xFE, 0xF0, 0x00, 0xE0, 0x01, 0xF0, 0x00, 0xFF, 0x5F, 0xF1, 0x00, 0xFF, 0xBF, 0xF0,
|
||||
0x00, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88,
|
||||
0x88, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x88, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x7F, 0xFF, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x88, 0x80, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0x33, 0x33, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x88, 0x00, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x7F,
|
||||
0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0x33, 0x33, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x80, 0x88, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x88, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x33, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x87, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0x33, 0x33,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x88, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x7F, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x33, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x88, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7,
|
||||
0x33, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x77, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x08, 0x7F, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x33, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x88, 0x70, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xF7, 0x33, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x88,
|
||||
0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x88, 0x80, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xF7, 0x33, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x88, 0x88, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x66, 0x66, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, 0xFF, 0xC3, 0xFF, 0xE1,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0xFF, 0x81, 0xFF, 0x07, 0x00, 0x00, 0xFF, 0x03, 0xFF, 0x81, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0x03, 0xFF, 0x81, 0xFF, 0xFF, 0x06, 0x60, 0xFF, 0x01, 0xFF, 0x01, 0xFF, 0x00, 0x37, 0x77, 0xFF, 0x00,
|
||||
0x00, 0x01, 0xFF, 0x77, 0x77, 0x77, 0xFF, 0x80, 0x00, 0x03, 0xFF, 0xEE, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x03, 0xFF,
|
||||
0x33, 0x33, 0x33, 0xFF, 0x80, 0x00, 0x03, 0xFF, 0x00, 0x00, 0xEE, 0xFF, 0xC0, 0x00, 0x03, 0xFF, 0x00, 0x33, 0x33,
|
||||
0xFF, 0xC0, 0x00, 0x01, 0xFF, 0x33, 0x33, 0x33, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x0E, 0xEE, 0x00, 0xFE, 0x00, 0x00,
|
||||
0x00, 0x7F, 0x33, 0x33, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0x00,
|
||||
0x33, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0x33, 0x33, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0xEE, 0x0E, 0xEE, 0xFC,
|
||||
0x00, 0x00, 0x00, 0x7F, 0x33, 0x33, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00,
|
||||
0x7F, 0x00, 0x33, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0x33, 0x33, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0x0E, 0xEE,
|
||||
0x0E, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0x33, 0x33, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0xFC, 0x00,
|
||||
0x00, 0x00, 0x7F, 0x40, 0x33, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0x33, 0x33, 0x33, 0xFC, 0x00, 0x00, 0x00, 0xFF,
|
||||
0x00, 0x0E, 0x00, 0xFC, 0x00, 0x00, 0x01, 0xFF, 0x33, 0x33, 0x33, 0xFE, 0x00, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x00,
|
||||
0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0xF0, 0x33, 0x33, 0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0x33, 0x33, 0x33, 0xFF, 0xFF, 0xCF,
|
||||
0xFF, 0xFF, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x33, 0x33, 0x33, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
|
||||
0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x5D, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x22, 0x20,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x11, 0x12,
|
||||
0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x31, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x33,
|
||||
0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x31, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x33, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x33, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00,
|
||||
0x13, 0x33, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x33, 0x12, 0x22, 0x22, 0x22, 0x22,
|
||||
0x22, 0x13, 0x33, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x33, 0x12, 0x22, 0x22, 0x22,
|
||||
0x22, 0x22, 0x13, 0x31, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x33, 0x31, 0x11, 0x11,
|
||||
0x11, 0x11, 0x11, 0x33, 0x31, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x33, 0x33, 0x33,
|
||||
0x33, 0x33, 0x33, 0x33, 0x33, 0x31, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x33,
|
||||
0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x12, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13,
|
||||
0x31, 0x11, 0x11, 0x11, 0x11, 0x11, 0x33, 0x12, 0x22, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22,
|
||||
0x13, 0x33, 0x12, 0x22, 0x22, 0x22, 0x13, 0x33, 0x12, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x13, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x43, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x14, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x14, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x12, 0x20, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x14, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x12, 0x20, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44, 0x12, 0x20, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x49, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x44, 0x44, 0x12, 0x20,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x12,
|
||||
0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44,
|
||||
0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x49, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x44,
|
||||
0x44, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
|
||||
0x44, 0x44, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
|
||||
0x33, 0x44, 0x44, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x49, 0x99, 0x99, 0x99, 0x99, 0x99,
|
||||
0x99, 0x99, 0x44, 0x44, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
|
||||
0x44, 0x44, 0x44, 0x44, 0x44, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x44, 0x44, 0x44, 0x44,
|
||||
0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x44, 0x44, 0x44, 0x44,
|
||||
0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x11, 0x11, 0x11,
|
||||
0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x33, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x33, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00};
|
||||
|
||||
#endif // SETTER_SRC_BSD_XATTR_H_
|
||||
50
setter/src/unix/darwin/CMakeLists.txt
Normal file
50
setter/src/unix/darwin/CMakeLists.txt
Normal file
@@ -0,0 +1,50 @@
|
||||
# /****************************************************************************
|
||||
# Aaru Data Preservation Suite
|
||||
# -----------------------------------------------------------------------------
|
||||
#
|
||||
# Author(s) : Natalia Portillo
|
||||
#
|
||||
# --[ License ] ---------------------------------------------------------------
|
||||
# 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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# -----------------------------------------------------------------------------
|
||||
# Copyright (C) 2011-2021 Natalia Portillo
|
||||
# *****************************************************************************/
|
||||
|
||||
if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
|
||||
return()
|
||||
endif()
|
||||
|
||||
project(fssetter-darwin
|
||||
DESCRIPTION "Filesystem test creator for Darwin"
|
||||
LANGUAGES C)
|
||||
|
||||
find_library(CARBON_LIBRARY NAMES Carbon)
|
||||
|
||||
set(PLATFORM_SOURCES os.c darwin.h volume.c volume.h attr.c attr.h rsrcfork.c rsrcfork.h sparse.c xattr.c xattr.h)
|
||||
|
||||
if(CARBON_LIBRARY)
|
||||
add_definitions("-DHAVE_CARBON")
|
||||
set(PLATFORM_SOURCES ${PLATFORM_SOURCES} carbon.c carbon.h)
|
||||
endif()
|
||||
|
||||
set(EXECUTABLE_NAME "fssetter-${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}")
|
||||
|
||||
add_executable(${EXECUTABLE_NAME} ${PLATFORM_SOURCES})
|
||||
|
||||
if(CARBON_LIBRARY)
|
||||
target_link_libraries(${EXECUTABLE_NAME} core unix ${CARBON_LIBRARY})
|
||||
else()
|
||||
target_link_libraries(${EXECUTABLE_NAME} core unix)
|
||||
endif()
|
||||
105
setter/src/unix/darwin/attr.c
Normal file
105
setter/src/unix/darwin/attr.c
Normal file
@@ -0,0 +1,105 @@
|
||||
/****************************************************************************
|
||||
Aaru Data Preservation Suite
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Author(s) : Natalia Portillo
|
||||
|
||||
--[ License ] ---------------------------------------------------------------
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2021 Natalia Portillo
|
||||
*****************************************************************************/
|
||||
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "attr.h"
|
||||
|
||||
#include "../../log.h"
|
||||
|
||||
void DarwinFileAttributes(const char* path)
|
||||
{
|
||||
int ret;
|
||||
int fd;
|
||||
FILE* h;
|
||||
int rc;
|
||||
int wRc;
|
||||
int sRc;
|
||||
int cRc;
|
||||
int attr;
|
||||
int i;
|
||||
|
||||
ret = chdir(path);
|
||||
|
||||
if(ret)
|
||||
{
|
||||
log_write("Error %d changing to specified path.\n", errno);
|
||||
return;
|
||||
}
|
||||
|
||||
ret = mkdir("ATTRS", 0755);
|
||||
|
||||
if(ret)
|
||||
{
|
||||
log_write("Error %d creating working directory.\n", errno);
|
||||
return;
|
||||
}
|
||||
|
||||
ret = chdir("ATTRS");
|
||||
|
||||
if(ret)
|
||||
{
|
||||
log_write("Error %d changing to working directory.\n", errno);
|
||||
return;
|
||||
}
|
||||
|
||||
log_write("Creating files with different flags (attributes).\n");
|
||||
|
||||
for(i = 0; i < KNOWN_DARWIN_ATTRS; i++)
|
||||
{
|
||||
h = fopen(darwin_attrs[i].filename, "w+");
|
||||
rc = 0;
|
||||
wRc = 0;
|
||||
sRc = 0;
|
||||
cRc = 0;
|
||||
attr = 0;
|
||||
if(h == NULL) { rc = errno; }
|
||||
else
|
||||
{
|
||||
fd = fileno(h);
|
||||
ret = fchflags(fd, darwin_attrs[i].attr);
|
||||
|
||||
if(ret)
|
||||
{
|
||||
sRc = errno;
|
||||
unlink(darwin_attrs[i].filename);
|
||||
}
|
||||
else
|
||||
{
|
||||
ret = fprintf(h, "%s", darwin_attrs[i].contents);
|
||||
if(ret < 1)
|
||||
{
|
||||
wRc = errno;
|
||||
unlink(darwin_attrs[i].filename);
|
||||
}
|
||||
}
|
||||
|
||||
ret = fclose(h);
|
||||
if(ret) { cRc = errno; }
|
||||
}
|
||||
log_write("\t%s, rc = %d, wRc = %d, sRc = %d, cRc = %d\n", darwin_attrs[i].description, rc, wRc, sRc, cRc);
|
||||
}
|
||||
}
|
||||
93
setter/src/unix/darwin/attr.h
Normal file
93
setter/src/unix/darwin/attr.h
Normal file
@@ -0,0 +1,93 @@
|
||||
/****************************************************************************
|
||||
Aaru Data Preservation Suite
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Author(s) : Natalia Portillo
|
||||
|
||||
--[ License ] ---------------------------------------------------------------
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2021 Natalia Portillo
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef AARU_FSTESTER_SETTER_SRC_DARWIN_ATTR_H_
|
||||
#define AARU_FSTESTER_SETTER_SRC_DARWIN_ATTR_H_
|
||||
|
||||
#include <sys/stat.h>
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char filename[16];
|
||||
char contents[256];
|
||||
char description[256];
|
||||
unsigned int attr;
|
||||
} darwin_attr_tests_t;
|
||||
|
||||
#define KNOWN_DARWIN_ATTRS 9
|
||||
|
||||
#ifndef UF_NODUMP
|
||||
#define UF_NODUMP 0x00000001 /* Do not dump the file. */
|
||||
#endif
|
||||
#ifndef UF_IMMUTABLE
|
||||
#define UF_IMMUTABLE 0x00000002 /* The file may not be changed. */
|
||||
#endif
|
||||
|
||||
#ifndef UF_APPEND
|
||||
#define UF_APPEND 0x00000004 /* The file may only be appended to. */
|
||||
#endif
|
||||
|
||||
#ifndef UF_OPAQUE
|
||||
#define UF_OPAQUE 0x00000008 /* The directory is opaque when viewed through a union stack. */
|
||||
#endif
|
||||
|
||||
#ifndef UF_HIDDEN
|
||||
#define UF_HIDDEN 0x00000010 /* The file or directory is not intended to be displayed to the user. */
|
||||
#endif
|
||||
|
||||
#ifndef SF_ARCHIVED
|
||||
#define SF_ARCHIVED 0x00000020 /* The file has been archived. */
|
||||
#endif
|
||||
|
||||
#ifndef SF_IMMUTABLE
|
||||
#define SF_IMMUTABLE 0x00000040 /* The file may not be changed. */
|
||||
#endif
|
||||
|
||||
#ifndef SF_APPEND
|
||||
#define SF_APPEND 0x00000080 /* The file may only be appended to. */
|
||||
#endif
|
||||
|
||||
#ifndef SF_DATALESS
|
||||
#define SF_DATALESS 0x00004000 /* The file is a dataless placeholder. */
|
||||
#endif
|
||||
|
||||
static const darwin_attr_tests_t darwin_attrs[KNOWN_DARWIN_ATTRS] = {
|
||||
{"NODUMP", "This file is now not dumpable", "File with no dump flag", UF_NODUMP},
|
||||
{"IMMUTABLE", "This file is now immutable", "File with immutable flag", UF_IMMUTABLE},
|
||||
{"APPEND", "This file is now append only", "File with append only flag", UF_APPEND},
|
||||
{"OPAQUE", "This directory is opaque when viewed through a union stack", "File with opaque flag", UF_OPAQUE},
|
||||
{"HIDDEN", "This file is hidden from user view", "File with hidden flag", UF_HIDDEN},
|
||||
{"ARCHIVED", "This file is now archived", "File with archived flag", SF_ARCHIVED},
|
||||
{"SF_IMMUTABLE",
|
||||
"This file is now immutable, and only the super-user change change that",
|
||||
"File with super-usr immutable flag",
|
||||
SF_IMMUTABLE},
|
||||
{"SF_APPEND",
|
||||
"This file is now append only, and only the super-user change change that",
|
||||
"File with super-user append only flag",
|
||||
SF_APPEND},
|
||||
{"SF_DATALESS", "This file is a dataless placeholder", "File with dataless flag", SF_DATALESS},
|
||||
};
|
||||
|
||||
#endif // AARU_FSTESTER_SETTER_SRC_DARWIN_ATTR_H_
|
||||
451
setter/src/unix/darwin/carbon.c
Normal file
451
setter/src/unix/darwin/carbon.c
Normal file
@@ -0,0 +1,451 @@
|
||||
//
|
||||
// Created by claunia on 16/3/21.
|
||||
//
|
||||
|
||||
#include <Carbon/Carbon.h>
|
||||
#include <MacTypes.h>
|
||||
#include <string.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
#include "carbon.h"
|
||||
|
||||
#include "../../log.h"
|
||||
#include "rsrcfork.h"
|
||||
|
||||
#pragma clang diagnostic push
|
||||
#pragma clang diagnostic ignored "-Wdeprecated-declarations"
|
||||
|
||||
int CarbonResourceFork(const char* path)
|
||||
{
|
||||
int ret;
|
||||
unsigned char* absolute_path;
|
||||
OSStatus err;
|
||||
FSRef parentDirRef;
|
||||
TextToUnicodeInfo oTextToUnicodeInfo;
|
||||
UniChar iconUnicodeStr[256];
|
||||
ByteCount iconUnicodeLen = 0;
|
||||
UniChar pictUnicodeStr[256];
|
||||
ByteCount pictUnicodeLen = 0;
|
||||
UniChar versionUnicodeStr[256];
|
||||
ByteCount versionUnicodeLen = 0;
|
||||
UniChar allUnicodeStr[256];
|
||||
ByteCount allUnicodeLen = 0;
|
||||
ByteCount unicodeRead;
|
||||
HFSUniStr255 resourceForkName;
|
||||
int count = -1; // Not even tried to write a resource fork
|
||||
OSErr rc, rRc;
|
||||
FSRef fileRef;
|
||||
ResFileRefNum rsrcRef;
|
||||
Handle h;
|
||||
FILE* f;
|
||||
size_t txtLen, written;
|
||||
int wRc, cRc;
|
||||
|
||||
memset(&oTextToUnicodeInfo, 0, sizeof(TextToUnicodeInfo));
|
||||
|
||||
err = CreateTextToUnicodeInfoByEncoding(kTextEncodingMacRoman, &oTextToUnicodeInfo);
|
||||
|
||||
if(err)
|
||||
{
|
||||
log_write("Error %d getting MacRoman to Unicode converter.\n", err);
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
err = ConvertFromTextToUnicode(
|
||||
oTextToUnicodeInfo, 4, "ICNS", 0, 0, NULL, NULL, NULL, 256, &unicodeRead, &iconUnicodeLen, iconUnicodeStr);
|
||||
|
||||
if(err)
|
||||
{
|
||||
log_write("Error %d converting \"ICNS\" to Unicode.\n", err);
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
if(unicodeRead < 4)
|
||||
{
|
||||
log_write("Needed to read 4 bytes to convert \"ICNS\" to Unicode but read %d bytes.\n", unicodeRead);
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
err = ConvertFromTextToUnicode(
|
||||
oTextToUnicodeInfo, 4, "PICT", 0, 0, NULL, NULL, NULL, 256, &unicodeRead, &pictUnicodeLen, pictUnicodeStr);
|
||||
|
||||
if(err)
|
||||
{
|
||||
log_write("Error %d converting \"PICT\" to Unicode.\n", err);
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
if(unicodeRead < 4)
|
||||
{
|
||||
log_write("Needed to read 4 bytes to convert \"PICT\" to Unicode but read %d bytes.\n", unicodeRead);
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
err = ConvertFromTextToUnicode(oTextToUnicodeInfo,
|
||||
7,
|
||||
"VERSION",
|
||||
0,
|
||||
0,
|
||||
NULL,
|
||||
NULL,
|
||||
NULL,
|
||||
256,
|
||||
&unicodeRead,
|
||||
&versionUnicodeLen,
|
||||
versionUnicodeStr);
|
||||
|
||||
if(err)
|
||||
{
|
||||
log_write("Error %d converting \"VERSION\" to Unicode.\n", err);
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
if(unicodeRead < 7)
|
||||
{
|
||||
log_write("Needed to read 7 bytes to convert \"VERSION\" to Unicode but read %d bytes.\n", unicodeRead);
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
err = ConvertFromTextToUnicode(
|
||||
oTextToUnicodeInfo, 3, "ALL", 0, 0, NULL, NULL, NULL, 256, &unicodeRead, &allUnicodeLen, allUnicodeStr);
|
||||
|
||||
if(err)
|
||||
{
|
||||
log_write("Error %d converting \"ALL\" to Unicode.\n", err);
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
if(unicodeRead < 3)
|
||||
{
|
||||
log_write("Needed to read 4 bytes to convert \"ALL\" to Unicode but read %d bytes.\n", unicodeRead);
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
err = FSGetResourceForkName(&resourceForkName);
|
||||
|
||||
if(err)
|
||||
{
|
||||
log_write("Error %d trying to get resource fork name.\n", err);
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
ret = chdir(path);
|
||||
|
||||
if(ret)
|
||||
{
|
||||
log_write("Error %d changing to specified path.\n", errno);
|
||||
return count;
|
||||
}
|
||||
|
||||
ret = mkdir("RSRC", 0755);
|
||||
|
||||
if(ret)
|
||||
{
|
||||
log_write("Error %d creating working directory.\n", errno);
|
||||
return count;
|
||||
}
|
||||
|
||||
absolute_path = (unsigned char*)realpath("RSRC", NULL);
|
||||
|
||||
if(absolute_path == NULL)
|
||||
{
|
||||
log_write("Error getting working directory absolute path.\n", errno);
|
||||
|
||||
ret = rmdir("RSRC");
|
||||
|
||||
return ret ? -1 : 0;
|
||||
}
|
||||
|
||||
ret = chdir("RSRC");
|
||||
|
||||
if(ret)
|
||||
{
|
||||
log_write("Error %d changing to working directory.\n", errno);
|
||||
|
||||
ret = rmdir("RSRC");
|
||||
|
||||
return ret ? -1 : 0;
|
||||
}
|
||||
|
||||
count++; // Set to 0, we can start
|
||||
|
||||
memset(&parentDirRef, 0, sizeof(FSRef));
|
||||
|
||||
err = FSPathMakeRef(absolute_path, &parentDirRef, NULL);
|
||||
|
||||
if(err)
|
||||
{
|
||||
log_write("Error %d getting filesystem reference from path.\n", err);
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
log_write("Creating resource forks.\n");
|
||||
|
||||
rc = FSCreateResourceFile(&parentDirRef,
|
||||
iconUnicodeLen,
|
||||
iconUnicodeStr,
|
||||
kFSCatInfoNone,
|
||||
NULL,
|
||||
resourceForkName.length,
|
||||
resourceForkName.unicode,
|
||||
&fileRef,
|
||||
NULL);
|
||||
|
||||
rRc = 0;
|
||||
wRc = 0;
|
||||
cRc = 0;
|
||||
|
||||
if(!rc)
|
||||
{
|
||||
rRc = FSOpenResourceFile(&fileRef, resourceForkName.length, resourceForkName.unicode, fsRdWrPerm, &rsrcRef);
|
||||
|
||||
if(!rRc)
|
||||
{
|
||||
h = NewHandle(ICNS_RESOURCE_SIZE);
|
||||
|
||||
if(h)
|
||||
{
|
||||
memcpy(h, IcnsResource, ICNS_RESOURCE_SIZE);
|
||||
AddResource(h, rtIcons, -16455, IcnsResourceNamePascal);
|
||||
WriteResource(h);
|
||||
ReleaseResource(h);
|
||||
|
||||
UpdateResFile(rsrcRef);
|
||||
CloseResFile(rsrcRef);
|
||||
|
||||
count++;
|
||||
|
||||
f = fopen("ICNS", "w+");
|
||||
|
||||
if(f != NULL)
|
||||
{
|
||||
txtLen = strlen(icnsText);
|
||||
written = fwrite(icnsText, txtLen, 1, f);
|
||||
|
||||
wRc = written != txtLen ? errno : 0;
|
||||
cRc = fclose(f);
|
||||
}
|
||||
else
|
||||
rc = errno;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
log_write("\tFile with an icon in the resource fork: name = \"%s\", rc = %d, wRc = %d, cRc = %d, rRc = %d\n",
|
||||
"ICNS",
|
||||
rc,
|
||||
wRc,
|
||||
cRc,
|
||||
rRc);
|
||||
|
||||
rc = FSCreateResourceFile(&parentDirRef,
|
||||
pictUnicodeLen,
|
||||
pictUnicodeStr,
|
||||
kFSCatInfoNone,
|
||||
NULL,
|
||||
resourceForkName.length,
|
||||
resourceForkName.unicode,
|
||||
&fileRef,
|
||||
NULL);
|
||||
|
||||
rRc = 0;
|
||||
wRc = 0;
|
||||
cRc = 0;
|
||||
|
||||
if(!rc)
|
||||
{
|
||||
rRc = FSOpenResourceFile(&fileRef, resourceForkName.length, resourceForkName.unicode, fsRdWrPerm, &rsrcRef);
|
||||
|
||||
if(!rRc)
|
||||
{
|
||||
h = NewHandle(PICT_RESOURCE_SIZE);
|
||||
|
||||
if(h)
|
||||
{
|
||||
memcpy(h, PictResource, PICT_RESOURCE_SIZE);
|
||||
AddResource(h, ftPICTFile, 29876, PictResourceNamePascal);
|
||||
WriteResource(h);
|
||||
ReleaseResource(h);
|
||||
|
||||
UpdateResFile(rsrcRef);
|
||||
CloseResFile(rsrcRef);
|
||||
|
||||
count++;
|
||||
|
||||
f = fopen("PICT", "w+");
|
||||
|
||||
if(f != NULL)
|
||||
{
|
||||
txtLen = strlen(pictText);
|
||||
written = fwrite(pictText, txtLen, 1, f);
|
||||
|
||||
wRc = written != txtLen ? errno : 0;
|
||||
cRc = fclose(f);
|
||||
}
|
||||
else
|
||||
rc = errno;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
log_write("\tFile with an picture in the resource fork: name = \"%s\", rc = %d, wRc = %d, cRc = %d, rRc = %d\n",
|
||||
"PICT",
|
||||
rc,
|
||||
wRc,
|
||||
cRc,
|
||||
rRc);
|
||||
|
||||
rc = FSCreateResourceFile(&parentDirRef,
|
||||
versionUnicodeLen,
|
||||
versionUnicodeStr,
|
||||
kFSCatInfoNone,
|
||||
NULL,
|
||||
resourceForkName.length,
|
||||
resourceForkName.unicode,
|
||||
&fileRef,
|
||||
NULL);
|
||||
|
||||
rRc = 0;
|
||||
wRc = 0;
|
||||
cRc = 0;
|
||||
|
||||
if(!rc)
|
||||
{
|
||||
rRc = FSOpenResourceFile(&fileRef, resourceForkName.length, resourceForkName.unicode, fsRdWrPerm, &rsrcRef);
|
||||
|
||||
if(!rRc)
|
||||
{
|
||||
h = NewHandle(VERS_RESOURCE_SIZE);
|
||||
|
||||
if(h)
|
||||
{
|
||||
memcpy(h, VersResource, VERS_RESOURCE_SIZE);
|
||||
AddResource(h, rtVersion, 1, VersResourceNamePascal);
|
||||
WriteResource(h);
|
||||
ReleaseResource(h);
|
||||
|
||||
UpdateResFile(rsrcRef);
|
||||
CloseResFile(rsrcRef);
|
||||
|
||||
count++;
|
||||
|
||||
f = fopen("VERSION", "w+");
|
||||
|
||||
if(f != NULL)
|
||||
{
|
||||
txtLen = strlen(versText);
|
||||
written = fwrite(versText, txtLen, 1, f);
|
||||
|
||||
wRc = written != txtLen ? errno : 0;
|
||||
cRc = fclose(f);
|
||||
}
|
||||
else
|
||||
rc = errno;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
log_write("\tFile with a version in the resource fork: name = \"%s\", rc = %d, wRc = %d, cRc = %d, rRc = %d\n",
|
||||
"VERSION",
|
||||
rc,
|
||||
wRc,
|
||||
cRc,
|
||||
rRc);
|
||||
|
||||
rc = FSCreateResourceFile(&parentDirRef,
|
||||
allUnicodeLen,
|
||||
allUnicodeStr,
|
||||
kFSCatInfoNone,
|
||||
NULL,
|
||||
resourceForkName.length,
|
||||
resourceForkName.unicode,
|
||||
&fileRef,
|
||||
NULL);
|
||||
|
||||
rRc = 0;
|
||||
wRc = 0;
|
||||
cRc = 0;
|
||||
|
||||
if(!rc)
|
||||
{
|
||||
rRc = FSOpenResourceFile(&fileRef, resourceForkName.length, resourceForkName.unicode, fsRdWrPerm, &rsrcRef);
|
||||
|
||||
if(!rRc)
|
||||
{
|
||||
h = NewHandle(ICNS_RESOURCE_SIZE);
|
||||
|
||||
if(h)
|
||||
{
|
||||
memcpy(h, IcnsResource, ICNS_RESOURCE_SIZE);
|
||||
AddResource(h, rtIcons, -16455, IcnsResourceNamePascal);
|
||||
WriteResource(h);
|
||||
ReleaseResource(h);
|
||||
|
||||
count++;
|
||||
}
|
||||
|
||||
h = NewHandle(PICT_RESOURCE_SIZE);
|
||||
|
||||
if(h)
|
||||
{
|
||||
memcpy(h, PictResource, PICT_RESOURCE_SIZE);
|
||||
AddResource(h, ftPICTFile, -16455, PictResourceNamePascal);
|
||||
WriteResource(h);
|
||||
ReleaseResource(h);
|
||||
|
||||
count++;
|
||||
}
|
||||
|
||||
h = NewHandle(VERS_RESOURCE_SIZE);
|
||||
|
||||
if(h)
|
||||
{
|
||||
memcpy(h, VersResource, VERS_RESOURCE_SIZE);
|
||||
AddResource(h, rtVersion, 1, VersResourceNamePascal);
|
||||
WriteResource(h);
|
||||
ReleaseResource(h);
|
||||
|
||||
count++;
|
||||
}
|
||||
|
||||
UpdateResFile(rsrcRef);
|
||||
CloseResFile(rsrcRef);
|
||||
|
||||
f = fopen("ALL", "w+");
|
||||
|
||||
if(f != NULL)
|
||||
{
|
||||
txtLen = strlen(rsrcText);
|
||||
written = fwrite(rsrcText, txtLen, 1, f);
|
||||
|
||||
wRc = written != txtLen ? errno : 0;
|
||||
cRc = fclose(f);
|
||||
}
|
||||
else
|
||||
rc = errno;
|
||||
}
|
||||
}
|
||||
|
||||
log_write("\tFile with an icon, a picture and a version in the resource fork: name = \"%s\", rc = %d, wRc = %d, "
|
||||
"cRc = %d, rRc = %d\n",
|
||||
"ALL",
|
||||
rc,
|
||||
wRc,
|
||||
cRc,
|
||||
rRc);
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
#pragma clang diagnostic pop
|
||||
879
setter/src/unix/darwin/carbon.h
Normal file
879
setter/src/unix/darwin/carbon.h
Normal file
@@ -0,0 +1,879 @@
|
||||
/****************************************************************************
|
||||
Aaru Data Preservation Suite
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Author(s) : Natalia Portillo
|
||||
|
||||
--[ License ] ---------------------------------------------------------------
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2021 Natalia Portillo
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef AARU_FSTESTER_SETTER_SRC_DARWIN_CARBON_H_
|
||||
#define AARU_FSTESTER_SETTER_SRC_DARWIN_CARBON_H_
|
||||
|
||||
enum
|
||||
{
|
||||
rtIcons = 'icns',
|
||||
rtVersion = 'vers',
|
||||
ftPICTFile = 'PICT'
|
||||
};
|
||||
|
||||
/**
|
||||
* Creates resources in the resource fork using Carbon APIs
|
||||
* @param path Path to the volume where to create them
|
||||
* @return -1 if Carbon failed, 0 if Carbon worked but could not enter the test folder, otherwise number of written
|
||||
* resources
|
||||
*/
|
||||
int CarbonResourceFork(const char* path);
|
||||
|
||||
#define ICNS_RESOURCE_SIZE 5618
|
||||
#define VERS_RESOURCE_SIZE 44
|
||||
#define PICT_RESOURCE_SIZE 9874
|
||||
|
||||
static const unsigned char IcnsResourceNamePascal[] =
|
||||
{0x0C, 0x49, 0x63, 0x6F, 0x6E, 0x20, 0x72, 0x65, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65};
|
||||
static const unsigned char PictResourceNamePascal[] =
|
||||
{0x10, 0x50, 0x69, 0x63, 0x74, 0x75, 0x72, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65};
|
||||
static const unsigned char VersResourceNamePascal[] =
|
||||
{0x10, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x20, 0x72, 0x65, 0x73, 0x6F, 0x75, 0x72, 0x63, 0x65};
|
||||
|
||||
static const unsigned char IcnsResource[ICNS_RESOURCE_SIZE] = {
|
||||
0x69, 0x63, 0x6E, 0x73, 0x00, 0x00, 0x15, 0xF2, 0x69, 0x63, 0x73, 0x23, 0x00, 0x00, 0x00, 0x48, 0x00, 0xF0, 0x01,
|
||||
0xE0, 0xFF, 0xFE, 0x82, 0x03, 0x96, 0x43, 0x94, 0x43, 0x84, 0x03, 0x84, 0x03, 0x87, 0x83, 0x81, 0x03, 0x99, 0x33,
|
||||
0x87, 0xC3, 0x81, 0x03, 0xFF, 0xFF, 0x7F, 0xFF, 0x00, 0xF0, 0x00, 0xF0, 0x01, 0xE0, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x7F, 0xFF, 0x00, 0xF0, 0x69, 0x63, 0x73, 0x38, 0x00, 0x00, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xFD, 0xFE, 0xFD, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFD,
|
||||
0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0x00, 0xFF, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFD, 0xFD,
|
||||
0xFF, 0x7F, 0x7F, 0xF1, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0xFD, 0xFD, 0xFF, 0x7F, 0x7F,
|
||||
0xF1, 0x7F, 0xFF, 0x2A, 0x2A, 0x2A, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0xFD, 0xFD, 0xFF, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF,
|
||||
0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFD, 0xFD, 0xFF, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0x2A,
|
||||
0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFD, 0xFD, 0xFF, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0x2A, 0x2A, 0x2A,
|
||||
0x2A, 0x2A, 0xFD, 0xFD, 0xFF, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFD,
|
||||
0xFD, 0xFF, 0x7F, 0x7F, 0xFF, 0xF1, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0xFF, 0xFF, 0x2A, 0x2A, 0xFD, 0xAD, 0xFF, 0x7F,
|
||||
0x7F, 0x7F, 0x7F, 0xF1, 0xF1, 0xFF, 0xFF, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0xFD, 0xFE, 0xFF, 0x7F, 0x7F, 0x7F, 0x7F,
|
||||
0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFD, 0xFD, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFD, 0x00, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFF, 0xFD, 0xFD,
|
||||
0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFD, 0xFD, 0x00, 0x00,
|
||||
0x00, 0x00, 0x69, 0x73, 0x33, 0x32, 0x00, 0x00, 0x01, 0xDF, 0x85, 0xFF, 0x03, 0x44, 0x11, 0x44, 0x44, 0x88, 0xFF,
|
||||
0x03, 0x44, 0x00, 0x44, 0x44, 0x82, 0xFF, 0x8C, 0x00, 0x01, 0xFF, 0x00, 0x82, 0x66, 0x00, 0x00, 0x84, 0xCC, 0x0B,
|
||||
0x22, 0x44, 0x00, 0x66, 0x66, 0x00, 0x66, 0x66, 0x00, 0xCC, 0xCC, 0x00, 0x81, 0xCC, 0x07, 0x22, 0x44, 0x00, 0x66,
|
||||
0x66, 0x00, 0x66, 0x00, 0x80, 0xCC, 0x00, 0x00, 0x81, 0xCC, 0x02, 0x22, 0x44, 0x00, 0x81, 0x66, 0x00, 0x00, 0x85,
|
||||
0xCC, 0x02, 0x22, 0x44, 0x00, 0x81, 0x66, 0x00, 0x00, 0x85, 0xCC, 0x02, 0x22, 0x44, 0x00, 0x81, 0x66, 0x81, 0x00,
|
||||
0x82, 0xCC, 0x02, 0x22, 0x44, 0x00, 0x83, 0x66, 0x00, 0x00, 0x83, 0xCC, 0x12, 0x22, 0x44, 0x00, 0x66, 0x66, 0x00,
|
||||
0x00, 0x66, 0x66, 0x00, 0xCC, 0xCC, 0x00, 0x00, 0xCC, 0xCC, 0x22, 0x44, 0x00, 0x81, 0x66, 0x82, 0x00, 0x81, 0xCC,
|
||||
0x02, 0x22, 0x44, 0x00, 0x83, 0x66, 0x00, 0x00, 0x83, 0xCC, 0x01, 0x22, 0x44, 0x8C, 0x00, 0x01, 0x44, 0xFF, 0x84,
|
||||
0x44, 0x00, 0x00, 0x84, 0x44, 0x85, 0xFF, 0x03, 0x44, 0x00, 0x44, 0x44, 0x81, 0xFF, 0x85, 0xFF, 0x03, 0x44, 0x11,
|
||||
0x44, 0x44, 0x88, 0xFF, 0x03, 0x44, 0x00, 0x44, 0x44, 0x82, 0xFF, 0x8C, 0x00, 0x01, 0xFF, 0x00, 0x82, 0x66, 0x00,
|
||||
0x00, 0x84, 0xCC, 0x0B, 0x22, 0x44, 0x00, 0x66, 0x66, 0x00, 0x66, 0x66, 0x00, 0xCC, 0xCC, 0x00, 0x81, 0xCC, 0x07,
|
||||
0x22, 0x44, 0x00, 0x66, 0x66, 0x00, 0x66, 0x00, 0x80, 0xCC, 0x00, 0x00, 0x81, 0xCC, 0x02, 0x22, 0x44, 0x00, 0x81,
|
||||
0x66, 0x00, 0x00, 0x85, 0xCC, 0x02, 0x22, 0x44, 0x00, 0x81, 0x66, 0x00, 0x00, 0x85, 0xCC, 0x02, 0x22, 0x44, 0x00,
|
||||
0x81, 0x66, 0x81, 0x00, 0x82, 0xCC, 0x02, 0x22, 0x44, 0x00, 0x83, 0x66, 0x00, 0x00, 0x83, 0xCC, 0x12, 0x22, 0x44,
|
||||
0x00, 0x66, 0x66, 0x00, 0x00, 0x66, 0x66, 0x00, 0xCC, 0xCC, 0x00, 0x00, 0xCC, 0xCC, 0x22, 0x44, 0x00, 0x81, 0x66,
|
||||
0x82, 0x00, 0x81, 0xCC, 0x02, 0x22, 0x44, 0x00, 0x83, 0x66, 0x00, 0x00, 0x83, 0xCC, 0x01, 0x22, 0x44, 0x8C, 0x00,
|
||||
0x01, 0x44, 0xFF, 0x84, 0x44, 0x00, 0x00, 0x84, 0x44, 0x85, 0xFF, 0x03, 0x44, 0x00, 0x44, 0x44, 0x81, 0xFF, 0x85,
|
||||
0xFF, 0x03, 0x44, 0x11, 0x44, 0x44, 0x88, 0xFF, 0x03, 0x44, 0x00, 0x44, 0x44, 0x82, 0xFF, 0x8C, 0x00, 0x01, 0xFF,
|
||||
0x00, 0x82, 0xCC, 0x00, 0x00, 0x84, 0xFF, 0x0B, 0x22, 0x44, 0x00, 0xCC, 0xCC, 0x55, 0xCC, 0xCC, 0x00, 0xFF, 0xFF,
|
||||
0x00, 0x81, 0xFF, 0x07, 0x22, 0x44, 0x00, 0xCC, 0xCC, 0x55, 0xCC, 0x00, 0x80, 0xFF, 0x00, 0x00, 0x81, 0xFF, 0x02,
|
||||
0x22, 0x44, 0x00, 0x81, 0xCC, 0x00, 0x00, 0x85, 0xFF, 0x02, 0x22, 0x44, 0x00, 0x81, 0xCC, 0x00, 0x00, 0x85, 0xFF,
|
||||
0x02, 0x22, 0x44, 0x00, 0x81, 0xCC, 0x81, 0x00, 0x82, 0xFF, 0x02, 0x22, 0x44, 0x00, 0x83, 0xCC, 0x00, 0x00, 0x83,
|
||||
0xFF, 0x12, 0x22, 0x44, 0x00, 0xCC, 0xCC, 0x55, 0x55, 0xCC, 0xCC, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x22,
|
||||
0x00, 0x00, 0x81, 0xCC, 0x01, 0x55, 0x55, 0x80, 0x00, 0x81, 0xFF, 0x02, 0x22, 0x44, 0x00, 0x83, 0xCC, 0x00, 0x00,
|
||||
0x83, 0xFF, 0x01, 0x22, 0x44, 0x8C, 0x00, 0x01, 0x44, 0xFF, 0x84, 0x44, 0x00, 0x00, 0x84, 0x44, 0x85, 0xFF, 0x03,
|
||||
0x44, 0x00, 0x44, 0x44, 0x81, 0xFF, 0x73, 0x38, 0x6D, 0x6B, 0x00, 0x00, 0x01, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x3C, 0xFF, 0x4C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C,
|
||||
0xFF, 0x4C, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0x4C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0x4C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x00, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0xFF,
|
||||
0x86, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xFF, 0x4C, 0x18,
|
||||
0x00, 0x00, 0x00, 0x00, 0x49, 0x43, 0x4E, 0x23, 0x00, 0x00, 0x01, 0x08, 0x00, 0x07, 0xC0, 0x00, 0x00, 0x1C, 0x78,
|
||||
0x00, 0x00, 0x70, 0x0E, 0x00, 0x01, 0xC0, 0x03, 0x80, 0x01, 0x40, 0x00, 0xE0, 0x01, 0x10, 0x00, 0x38, 0x01, 0x04,
|
||||
0x00, 0x18, 0x01, 0x61, 0x00, 0x38, 0x01, 0x58, 0x40, 0xF8, 0x01, 0x4E, 0x17, 0xF8, 0x01, 0x43, 0x83, 0xF8, 0x01,
|
||||
0x42, 0xE3, 0xF8, 0x01, 0x40, 0x33, 0xF8, 0x01, 0x45, 0x73, 0xF8, 0x01, 0x60, 0x33, 0xF8, 0x01, 0xD5, 0x73, 0xF8,
|
||||
0xFF, 0xFF, 0xB3, 0xF8, 0x81, 0x01, 0xF3, 0xF8, 0x8B, 0x21, 0xB3, 0xF8, 0x8A, 0x21, 0xF3, 0xF8, 0x82, 0x01, 0xF3,
|
||||
0xF8, 0x82, 0x01, 0x83, 0xFC, 0x82, 0x01, 0xC3, 0xFF, 0x83, 0xC1, 0xE3, 0xFF, 0x80, 0x81, 0x83, 0xFF, 0x98, 0x99,
|
||||
0x83, 0xFF, 0x87, 0xE1, 0x83, 0xFF, 0x80, 0x81, 0x83, 0xFE, 0xFF, 0xFF, 0xE7, 0xFC, 0x7F, 0xFF, 0xFF, 0xF8, 0x00,
|
||||
0x7B, 0xFF, 0xF0, 0x00, 0x00, 0xFF, 0xE0, 0x00, 0x07, 0xC0, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x7F, 0xFE, 0x00,
|
||||
0x01, 0xFF, 0xFF, 0x80, 0x01, 0xFF, 0xFF, 0xE0, 0x01, 0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF,
|
||||
0xF8, 0x01, 0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xF8, 0x01, 0xFF,
|
||||
0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xF8, 0x01, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0xF8, 0xFF,
|
||||
0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0xF8, 0xFF, 0xFF, 0xFF, 0xFC,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFC, 0x7F, 0xFF, 0xFF, 0xF8, 0x00, 0x7B, 0xFF, 0xF0, 0x00, 0x00,
|
||||
0xFF, 0xE0, 0x69, 0x63, 0x6C, 0x38, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0xFD, 0xFC, 0xFD, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0xFC, 0xFD, 0xF9,
|
||||
0xF7, 0xF9, 0xFC, 0xFF, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0xFC, 0xFD, 0xF9, 0xF7, 0x00, 0x00, 0xF5, 0xF6, 0xF8, 0xF9, 0xFC,
|
||||
0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD,
|
||||
0xFC, 0xFD, 0xF9, 0xF7, 0xF6, 0x00, 0xF5, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF8, 0xF9, 0xFC, 0xFF, 0xFD, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xF9, 0xFC, 0xF7, 0xF6, 0x00, 0xF6,
|
||||
0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF8, 0xF9, 0xFC, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xF7, 0xF7, 0xF9, 0xFC, 0xF7, 0xF5, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6,
|
||||
0xF6, 0xF6, 0xF6, 0xF6, 0xF8, 0xF9, 0xFC, 0xFF, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xFC, 0xF7, 0xF7, 0xF7, 0xF7, 0xF9, 0xFC, 0xF7, 0xF5, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0x2B, 0xF8,
|
||||
0xF9, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xF7, 0xAC, 0xFC, 0xF7, 0xF7,
|
||||
0xF7, 0xF9, 0xFC, 0xF7, 0xF5, 0xF6, 0xF6, 0xF6, 0xF6, 0xF6, 0x2B, 0xF7, 0xF9, 0xFF, 0xAC, 0xFF, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xF7, 0xAC, 0x54, 0xFD, 0xFC, 0xF7, 0xF7, 0xF7, 0xF9, 0xFC, 0xF7,
|
||||
0xF5, 0xF6, 0x2B, 0xF7, 0xF9, 0xFF, 0xFD, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xFC, 0xF7, 0xAC, 0x54, 0x54, 0xAB, 0xFD, 0xFC, 0xF7, 0xF7, 0xF7, 0xF9, 0xFC, 0xF9, 0xFB, 0xFF, 0xFD, 0xFB,
|
||||
0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xF7, 0xAC, 0x54, 0x54,
|
||||
0x54, 0x54, 0xAB, 0xFE, 0xFC, 0xF7, 0xF7, 0xF7, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAC, 0x2B, 0xFD, 0x54, 0x54, 0x54, 0x54, 0x7E, 0x54, 0xAB, 0xFD,
|
||||
0xFC, 0xF7, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xFC, 0xF7, 0xAC, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54, 0xAB, 0xFC, 0xF7, 0xF9, 0xFB, 0xFB,
|
||||
0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xF7, 0xAC, 0x54,
|
||||
0x54, 0x54, 0x7E, 0x54, 0x7E, 0x54, 0x7E, 0x7E, 0xAC, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFC, 0xF7, 0xFF, 0xAA, 0x54, 0x54, 0x54, 0x54, 0x54, 0x54,
|
||||
0x54, 0x7E, 0xAC, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xFC, 0xFF, 0xAA, 0x54, 0x7E, 0x54, 0x7E, 0x54, 0x7E, 0x54, 0x7E, 0x7E, 0xAC, 0xF7, 0xF9, 0xFB,
|
||||
0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x7E, 0x54, 0x7E, 0xAC, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF,
|
||||
0x00, 0x00, 0x00, 0xFF, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFF,
|
||||
0xAA, 0x7E, 0x7E, 0xAC, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x7F, 0x7F,
|
||||
0x7F, 0xF1, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0xFF, 0xAA, 0x54, 0x7E, 0xAC, 0xF7, 0xF9,
|
||||
0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x7F, 0x7F, 0x7F, 0xF1, 0x7F, 0xFF, 0x2A, 0x2A,
|
||||
0x2A, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0xFF, 0xAC, 0x7E, 0x7E, 0xAC, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC,
|
||||
0xFF, 0x00, 0x00, 0x00, 0xFF, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A,
|
||||
0xFF, 0xAA, 0x82, 0xFD, 0xAC, 0x2B, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x7F,
|
||||
0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFF, 0xAA, 0xF7, 0xF7, 0xF7, 0xF7,
|
||||
0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0xFD, 0x00, 0x00, 0xFF, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0x2A,
|
||||
0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFF, 0xAC, 0xFD, 0xF7, 0xF7, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC,
|
||||
0xAC, 0xFF, 0xFD, 0xFD, 0xFD, 0xFF, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0xFF, 0xFF, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A,
|
||||
0x2A, 0xFF, 0xAA, 0xFB, 0xFD, 0xF9, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0xFD, 0xFD, 0xFD, 0xFF,
|
||||
0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFF, 0xAA, 0xF7, 0xF7, 0xF7,
|
||||
0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFB, 0xFC, 0xAC, 0xFF, 0xFD, 0xFD, 0xFD, 0xFF, 0x7F, 0x7F, 0xF1, 0xF1, 0x7F, 0x7F,
|
||||
0x7F, 0xFF, 0x2A, 0x2A, 0xFF, 0xFF, 0x2A, 0x2A, 0xFF, 0xAA, 0xF7, 0xF7, 0xF7, 0xF7, 0xF9, 0xFB, 0xFB, 0xFB, 0xFC,
|
||||
0xAC, 0xFF, 0xFF, 0xFD, 0xFD, 0xFD, 0xFF, 0x7F, 0x7F, 0x7F, 0x7F, 0xF1, 0xF1, 0xF1, 0xFF, 0xFF, 0xFF, 0x2A, 0x2A,
|
||||
0x2A, 0x2A, 0xFF, 0xAA, 0xF7, 0xF7, 0xF7, 0xF7, 0xF9, 0xFB, 0xFB, 0xFC, 0xFD, 0xFF, 0xFF, 0xFD, 0xFD, 0xFD, 0xFD,
|
||||
0xFF, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0x7F, 0xFF, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0x2A, 0xFF, 0xAA, 0xF7, 0xF7,
|
||||
0xF7, 0xF7, 0xF9, 0xFC, 0xFD, 0xFF, 0xFF, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF1, 0xFF, 0xFB, 0xF9, 0xF7, 0xFC, 0xFF, 0xFF, 0xFD,
|
||||
0xFD, 0xFF, 0xFF, 0xFD, 0xFD, 0x00, 0x00, 0x00, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFF, 0xFD, 0xFD,
|
||||
0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFD, 0xFE, 0xFF, 0xFD, 0xFD, 0xFF, 0xFF, 0xFD, 0xFD, 0xFD, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0xFF, 0xFD, 0xFD, 0x00, 0xFD, 0xFD, 0xFD, 0xFF,
|
||||
0xFE, 0xFD, 0xFD, 0xFD, 0xFF, 0xFF, 0xFD, 0xFD, 0xFD, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFD, 0xFD, 0xFD, 0xFE, 0xFE, 0xFE, 0xFD, 0xFD,
|
||||
0xFD, 0xFD, 0xFD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x69, 0x6C, 0x33, 0x32, 0x00, 0x00, 0x08, 0x9B, 0x8A, 0xFF, 0x04,
|
||||
0x22, 0x54, 0x33, 0x22, 0x22, 0x96, 0xFF, 0x09, 0x22, 0x54, 0x44, 0x88, 0xBB, 0x88, 0x44, 0x33, 0x22, 0x22, 0x91,
|
||||
0xFF, 0x0D, 0x22, 0x54, 0x44, 0x88, 0xBB, 0xFF, 0xE5, 0xE1, 0xDC, 0xAA, 0x88, 0x44, 0x22, 0x22, 0x8D, 0xFF, 0x11,
|
||||
0x22, 0x54, 0x44, 0x88, 0xBB, 0xFF, 0xEE, 0xE9, 0xE4, 0xDF, 0xDA, 0xD6, 0xD1, 0xAA, 0x88, 0x44, 0x22, 0x22, 0x8B,
|
||||
0xFF, 0x13, 0x44, 0x88, 0x54, 0xBB, 0xFF, 0xEE, 0xEC, 0xE7, 0xE1, 0xDD, 0xD8, 0xD4, 0xD1, 0xCD, 0xC9, 0xAA, 0x88,
|
||||
0x44, 0x22, 0x22, 0x89, 0xFF, 0x15, 0x44, 0xDD, 0xAA, 0x88, 0x54, 0xBB, 0xFF, 0xE5, 0xE0, 0xDB, 0xD6, 0xD3, 0xCF,
|
||||
0xCB, 0xC8, 0xC4, 0xC1, 0xAA, 0x88, 0x44, 0x22, 0x22, 0x87, 0xFF, 0x15, 0x44, 0xDB, 0xDB, 0xDA, 0xD9, 0x88, 0x54,
|
||||
0xBB, 0xEE, 0xD9, 0xD5, 0xD1, 0xCE, 0xCA, 0xC6, 0xC2, 0xBF, 0xBC, 0xBB, 0x88, 0x44, 0x22, 0x87, 0xFF, 0x15, 0x44,
|
||||
0xDA, 0x54, 0x77, 0xAA, 0xD7, 0xD6, 0x88, 0x54, 0xBB, 0xEE, 0xD0, 0xCC, 0xC8, 0xC5, 0xC2, 0xBF, 0xBB, 0x88, 0x44,
|
||||
0x6D, 0x20, 0x87, 0xFF, 0x15, 0x44, 0xD8, 0x42, 0x66, 0x54, 0x77, 0xAA, 0xD4, 0xD4, 0x88, 0x54, 0xBB, 0xEC, 0xC7,
|
||||
0xC3, 0xC0, 0x88, 0x44, 0x54, 0x6D, 0x77, 0x20, 0x87, 0xFF, 0x11, 0x44, 0xD7, 0x42, 0x66, 0x7F, 0x66, 0x54, 0x77,
|
||||
0xAA, 0xD1, 0xD1, 0x88, 0x54, 0x88, 0xAA, 0x44, 0x54, 0x6D, 0x80, 0x77, 0x00, 0x1E, 0x87, 0xFF, 0x0F, 0x44, 0xD6,
|
||||
0x42, 0x66, 0x92, 0x90, 0x7F, 0x66, 0x54, 0x77, 0xAA, 0xCF, 0xCE, 0xAA, 0x55, 0x6D, 0x82, 0x77, 0x00, 0x1C, 0x87,
|
||||
0xFF, 0x0E, 0x44, 0xD5, 0x42, 0x66, 0x8F, 0x8C, 0x8A, 0x87, 0x7F, 0x66, 0x54, 0x77, 0xAA, 0xCD, 0x88, 0x82, 0x77,
|
||||
0x01, 0x74, 0x1B, 0x87, 0xFF, 0x0E, 0x44, 0xD3, 0x42, 0x66, 0x8C, 0x89, 0x86, 0x83, 0x82, 0x7F, 0x71, 0x66, 0x54,
|
||||
0xCB, 0x88, 0x81, 0x77, 0x02, 0x73, 0x6C, 0x19, 0x87, 0xFF, 0x0E, 0x44, 0xD2, 0x42, 0x66, 0x89, 0x86, 0x83, 0x80,
|
||||
0x7F, 0x7C, 0x7B, 0x77, 0x44, 0xCB, 0x88, 0x80, 0x77, 0x03, 0x72, 0x6A, 0x64, 0x18, 0x87, 0xFF, 0x15, 0x44, 0xD1,
|
||||
0x00, 0x33, 0x85, 0x83, 0x80, 0x7E, 0x7C, 0x7A, 0x77, 0x76, 0x44, 0xC9, 0x88, 0x77, 0x77, 0x70, 0x69, 0x62, 0x5C,
|
||||
0x16, 0x87, 0xFF, 0x15, 0x44, 0x00, 0x33, 0x66, 0x82, 0x80, 0x7D, 0x7C, 0x79, 0x77, 0x76, 0x73, 0x44, 0xC9, 0x88,
|
||||
0x76, 0x6E, 0x67, 0x61, 0x5A, 0x54, 0x15, 0x80, 0xFF, 0x8D, 0x00, 0x0C, 0x75, 0x73, 0x71, 0x44, 0xC7, 0x88, 0x6D,
|
||||
0x66, 0x5F, 0x59, 0x53, 0x4E, 0x14, 0x80, 0xFF, 0x00, 0x00, 0x83, 0x66, 0x00, 0x00, 0x84, 0xCC, 0x0D, 0x00, 0x33,
|
||||
0x71, 0x6F, 0x44, 0xC7, 0x88, 0x64, 0x5E, 0x58, 0x53, 0x4D, 0x48, 0x12, 0x80, 0xFF, 0x00, 0x00, 0x80, 0x66, 0x06,
|
||||
0x00, 0x66, 0x66, 0x00, 0xCC, 0xCC, 0x00, 0x81, 0xCC, 0x0D, 0x00, 0x33, 0x6E, 0x6D, 0x44, 0xC5, 0x88, 0x5D, 0x57,
|
||||
0x52, 0x4C, 0x47, 0x43, 0x10, 0x80, 0xFF, 0x00, 0x00, 0x80, 0x66, 0x02, 0x00, 0x66, 0x00, 0x80, 0xCC, 0x00, 0x00,
|
||||
0x81, 0xCC, 0x0D, 0x00, 0x33, 0x22, 0x6A, 0x44, 0xC4, 0x88, 0x56, 0x51, 0x4B, 0x47, 0x42, 0x3E, 0x0E, 0x80, 0xFF,
|
||||
0x00, 0x00, 0x82, 0x66, 0x00, 0x00, 0x85, 0xCC, 0x0D, 0x00, 0x33, 0x6D, 0x22, 0x44, 0xC3, 0x88, 0x4F, 0x4A, 0x46,
|
||||
0x41, 0x3C, 0x38, 0x0C, 0x80, 0xFF, 0x00, 0x00, 0x82, 0x66, 0x00, 0x00, 0x85, 0xCC, 0x11, 0x00, 0x33, 0xC5, 0xAA,
|
||||
0x88, 0xC3, 0x88, 0x49, 0x44, 0x40, 0x3B, 0x37, 0x33, 0x0B, 0x22, 0xFF, 0xFF, 0x00, 0x82, 0x66, 0x00, 0x00, 0x85,
|
||||
0xCC, 0x0D, 0x00, 0x33, 0x00, 0xC3, 0xC2, 0xC2, 0x88, 0x44, 0x3F, 0x3A, 0x36, 0x33, 0x2F, 0x08, 0x80, 0x22, 0x00,
|
||||
0x00, 0x82, 0x66, 0x81, 0x00, 0x82, 0xCC, 0x0D, 0x00, 0x33, 0x55, 0x00, 0x88, 0xC1, 0x88, 0x3E, 0x3A, 0x35, 0x33,
|
||||
0x33, 0x2B, 0x07, 0x80, 0x22, 0x00, 0x00, 0x84, 0x66, 0x00, 0x00, 0x83, 0xCC, 0x0D, 0x00, 0x33, 0xC1, 0xC1, 0xC0,
|
||||
0xC0, 0x88, 0x38, 0x34, 0x33, 0x33, 0x2E, 0x22, 0x14, 0x80, 0x22, 0x04, 0x00, 0x66, 0x66, 0x00, 0x00, 0x80, 0x66,
|
||||
0x14, 0x00, 0xCC, 0xCC, 0x00, 0x00, 0xCC, 0xCC, 0x00, 0x33, 0xC0, 0xC0, 0xBF, 0xBF, 0x88, 0x33, 0x33, 0x2F, 0x2E,
|
||||
0x22, 0x14, 0x08, 0x80, 0x22, 0x00, 0x00, 0x81, 0x66, 0x83, 0x00, 0x81, 0xCC, 0x0C, 0x00, 0x33, 0xC0, 0xBF, 0xBF,
|
||||
0xBE, 0x88, 0x33, 0x2F, 0x28, 0x11, 0x14, 0x08, 0x81, 0x22, 0x00, 0x00, 0x84, 0x66, 0x00, 0x00, 0x83, 0xCC, 0x0B,
|
||||
0x00, 0x33, 0xBF, 0xBF, 0xBE, 0xBD, 0x88, 0x2E, 0x22, 0x11, 0x14, 0x08, 0x81, 0x22, 0x00, 0xFF, 0x8D, 0x00, 0x09,
|
||||
0x11, 0x22, 0x55, 0x88, 0xBD, 0x44, 0x18, 0x14, 0x11, 0x08, 0x81, 0x22, 0x80, 0xFF, 0x85, 0x22, 0x00, 0x00, 0x82,
|
||||
0x22, 0x09, 0x00, 0x00, 0x22, 0x22, 0x19, 0x11, 0x00, 0x22, 0x11, 0x08, 0x81, 0x22, 0x89, 0xFF, 0x04, 0x22, 0x00,
|
||||
0x22, 0x22, 0xFF, 0x80, 0x22, 0x01, 0x00, 0x11, 0x80, 0x22, 0x01, 0x11, 0x08, 0x81, 0x22, 0x91, 0xFF, 0x80, 0x22,
|
||||
0x80, 0x11, 0x82, 0x22, 0x82, 0xFF, 0x8A, 0xFF, 0x04, 0x22, 0x55, 0x33, 0x22, 0x22, 0x96, 0xFF, 0x09, 0x22, 0x55,
|
||||
0x44, 0x88, 0xBB, 0x88, 0x44, 0x33, 0x22, 0x22, 0x91, 0xFF, 0x0D, 0x22, 0x55, 0x44, 0x88, 0xBB, 0xFF, 0xE5, 0xE0,
|
||||
0xDC, 0xAA, 0x88, 0x44, 0x22, 0x22, 0x8D, 0xFF, 0x11, 0x22, 0x55, 0x44, 0x88, 0xBB, 0xFF, 0xEE, 0xE9, 0xE4, 0xDF,
|
||||
0xDA, 0xD6, 0xD2, 0xAA, 0x88, 0x44, 0x22, 0x22, 0x8B, 0xFF, 0x13, 0x44, 0x88, 0x55, 0xBB, 0xFF, 0xEE, 0xEC, 0xE7,
|
||||
0xE2, 0xDD, 0xD8, 0xD4, 0xD0, 0xCD, 0xC9, 0xAA, 0x88, 0x44, 0x22, 0x22, 0x89, 0xFF, 0x15, 0x44, 0xDD, 0xAA, 0x88,
|
||||
0x55, 0xBB, 0xFF, 0xE5, 0xE0, 0xDB, 0xD6, 0xD3, 0xCF, 0xCB, 0xC7, 0xC4, 0xC1, 0xAA, 0x88, 0x44, 0x22, 0x22, 0x87,
|
||||
0xFF, 0x15, 0x44, 0xDB, 0xDB, 0xDA, 0xDA, 0x88, 0x55, 0xBB, 0xEE, 0xD9, 0xD5, 0xD1, 0xCE, 0xCA, 0xC7, 0xC3, 0xBF,
|
||||
0xBC, 0xBB, 0x88, 0x44, 0x22, 0x87, 0xFF, 0x15, 0x44, 0xDB, 0x55, 0x77, 0xAA, 0xD8, 0xD6, 0x88, 0x55, 0xBB, 0xEE,
|
||||
0xCF, 0xCC, 0xC8, 0xC5, 0xC2, 0xBE, 0xBB, 0x88, 0x44, 0x6D, 0x20, 0x87, 0xFF, 0x15, 0x44, 0xD9, 0x42, 0x66, 0x55,
|
||||
0x77, 0xAA, 0xD4, 0xD3, 0x88, 0x55, 0xBB, 0xEC, 0xC7, 0xC4, 0xC0, 0x88, 0x44, 0x55, 0x6D, 0x77, 0x1F, 0x87, 0xFF,
|
||||
0x11, 0x44, 0xD7, 0x42, 0x66, 0x7E, 0x66, 0x55, 0x77, 0xAA, 0xD1, 0xD1, 0x88, 0x55, 0x88, 0xAA, 0x44, 0x55, 0x6D,
|
||||
0x80, 0x77, 0x00, 0x1E, 0x87, 0xFF, 0x0F, 0x44, 0xD6, 0x42, 0x66, 0x92, 0x90, 0x7E, 0x66, 0x55, 0x77, 0xAA, 0xCF,
|
||||
0xCE, 0xAA, 0x55, 0x6D, 0x82, 0x77, 0x00, 0x1C, 0x87, 0xFF, 0x0E, 0x44, 0xD5, 0x42, 0x66, 0x90, 0x8C, 0x8A, 0x86,
|
||||
0x7E, 0x66, 0x55, 0x77, 0xAA, 0xCC, 0x88, 0x82, 0x77, 0x01, 0x74, 0x1B, 0x87, 0xFF, 0x0E, 0x44, 0xD4, 0x42, 0x66,
|
||||
0x8C, 0x89, 0x86, 0x84, 0x81, 0x7F, 0x71, 0x66, 0x55, 0xCB, 0x88, 0x81, 0x77, 0x02, 0x72, 0x6B, 0x19, 0x87, 0xFF,
|
||||
0x0E, 0x44, 0xD3, 0x42, 0x66, 0x88, 0x86, 0x83, 0x81, 0x7E, 0x7C, 0x7A, 0x78, 0x44, 0xCB, 0x88, 0x80, 0x77, 0x03,
|
||||
0x72, 0x6A, 0x63, 0x18, 0x87, 0xFF, 0x15, 0x44, 0xD1, 0x00, 0x33, 0x85, 0x83, 0x80, 0x7E, 0x7B, 0x7A, 0x78, 0x75,
|
||||
0x44, 0xCA, 0x88, 0x77, 0x77, 0x70, 0x69, 0x63, 0x5B, 0x17, 0x87, 0xFF, 0x15, 0x44, 0x00, 0x33, 0x66, 0x82, 0x7F,
|
||||
0x7D, 0x7B, 0x79, 0x77, 0x75, 0x73, 0x44, 0xC9, 0x88, 0x76, 0x6E, 0x67, 0x61, 0x5B, 0x55, 0x15, 0x80, 0xFF, 0x8D,
|
||||
0x00, 0x0C, 0x74, 0x72, 0x71, 0x44, 0xC7, 0x88, 0x6D, 0x66, 0x5F, 0x59, 0x53, 0x4F, 0x14, 0x80, 0xFF, 0x00, 0x00,
|
||||
0x83, 0x66, 0x00, 0x00, 0x84, 0xCC, 0x0D, 0x00, 0x33, 0x71, 0x6F, 0x44, 0xC6, 0x88, 0x64, 0x5E, 0x58, 0x52, 0x4E,
|
||||
0x48, 0x12, 0x80, 0xFF, 0x00, 0x00, 0x80, 0x66, 0x06, 0x00, 0x66, 0x66, 0x00, 0xCC, 0xCC, 0x00, 0x81, 0xCC, 0x0D,
|
||||
0x00, 0x33, 0x6E, 0x6C, 0x44, 0xC6, 0x88, 0x5D, 0x57, 0x52, 0x4D, 0x47, 0x43, 0x10, 0x80, 0xFF, 0x00, 0x00, 0x80,
|
||||
0x66, 0x02, 0x00, 0x66, 0x00, 0x80, 0xCC, 0x00, 0x00, 0x81, 0xCC, 0x0D, 0x00, 0x33, 0x22, 0x6A, 0x44, 0xC4, 0x88,
|
||||
0x55, 0x51, 0x4B, 0x46, 0x42, 0x3D, 0x0F, 0x80, 0xFF, 0x00, 0x00, 0x82, 0x66, 0x00, 0x00, 0x85, 0xCC, 0x0D, 0x00,
|
||||
0x33, 0x6D, 0x22, 0x44, 0xC4, 0x88, 0x50, 0x4B, 0x46, 0x41, 0x3C, 0x37, 0x0C, 0x80, 0xFF, 0x00, 0x00, 0x82, 0x66,
|
||||
0x00, 0x00, 0x85, 0xCC, 0x11, 0x00, 0x33, 0xC4, 0xAA, 0x88, 0xC3, 0x88, 0x49, 0x44, 0x40, 0x3C, 0x37, 0x33, 0x0B,
|
||||
0x22, 0xFF, 0xFF, 0x00, 0x82, 0x66, 0x00, 0x00, 0x85, 0xCC, 0x0D, 0x00, 0x33, 0x00, 0xC3, 0xC3, 0xC1, 0x88, 0x44,
|
||||
0x3F, 0x3A, 0x36, 0x33, 0x30, 0x08, 0x80, 0x22, 0x00, 0x00, 0x82, 0x66, 0x81, 0x00, 0x82, 0xCC, 0x0D, 0x00, 0x33,
|
||||
0x55, 0x00, 0x88, 0xC1, 0x88, 0x3E, 0x39, 0x34, 0x33, 0x33, 0x2B, 0x06, 0x80, 0x22, 0x00, 0x00, 0x84, 0x66, 0x00,
|
||||
0x00, 0x83, 0xCC, 0x0D, 0x00, 0x33, 0xC1, 0xC1, 0xC0, 0xC0, 0x88, 0x38, 0x34, 0x33, 0x33, 0x2E, 0x22, 0x13, 0x80,
|
||||
0x22, 0x04, 0x00, 0x66, 0x66, 0x00, 0x00, 0x80, 0x66, 0x14, 0x00, 0xCC, 0xCC, 0x00, 0x00, 0xCC, 0xCC, 0x00, 0x33,
|
||||
0xC1, 0xC0, 0xC0, 0xBF, 0x88, 0x33, 0x33, 0x30, 0x2E, 0x22, 0x13, 0x08, 0x80, 0x22, 0x00, 0x00, 0x81, 0x66, 0x83,
|
||||
0x00, 0x81, 0xCC, 0x0C, 0x00, 0x33, 0xBF, 0xBF, 0xBE, 0xBE, 0x88, 0x33, 0x30, 0x27, 0x11, 0x13, 0x08, 0x81, 0x22,
|
||||
0x00, 0x00, 0x84, 0x66, 0x00, 0x00, 0x83, 0xCC, 0x0B, 0x00, 0x33, 0xBF, 0xBE, 0xBE, 0xBD, 0x88, 0x2E, 0x22, 0x11,
|
||||
0x13, 0x08, 0x81, 0x22, 0x00, 0xFF, 0x8D, 0x00, 0x09, 0x11, 0x22, 0x55, 0x88, 0xBC, 0x44, 0x18, 0x13, 0x11, 0x08,
|
||||
0x81, 0x22, 0x80, 0xFF, 0x85, 0x22, 0x00, 0x00, 0x82, 0x22, 0x09, 0x00, 0x00, 0x22, 0x22, 0x19, 0x11, 0x00, 0x22,
|
||||
0x11, 0x08, 0x81, 0x22, 0x89, 0xFF, 0x04, 0x22, 0x00, 0x22, 0x22, 0xFF, 0x80, 0x22, 0x01, 0x00, 0x11, 0x80, 0x22,
|
||||
0x01, 0x11, 0x08, 0x81, 0x22, 0x91, 0xFF, 0x80, 0x22, 0x80, 0x11, 0x82, 0x22, 0x82, 0xFF, 0x8A, 0xFF, 0x04, 0x22,
|
||||
0x55, 0x33, 0x22, 0x22, 0x96, 0xFF, 0x09, 0x22, 0x55, 0x44, 0x88, 0xBB, 0x88, 0x44, 0x33, 0x22, 0x22, 0x91, 0xFF,
|
||||
0x0D, 0x22, 0x55, 0x44, 0x88, 0xBB, 0xFF, 0xE6, 0xE0, 0xDC, 0xAA, 0x88, 0x44, 0x22, 0x22, 0x8D, 0xFF, 0x11, 0x22,
|
||||
0x55, 0x44, 0x88, 0xBB, 0xFF, 0xEE, 0xE9, 0xE4, 0xDF, 0xDA, 0xD6, 0xD1, 0xAA, 0x88, 0x44, 0x22, 0x22, 0x8B, 0xFF,
|
||||
0x13, 0x44, 0x88, 0x55, 0xBB, 0xFF, 0xEE, 0xEC, 0xE7, 0xE1, 0xDC, 0xD8, 0xD4, 0xD0, 0xCC, 0xC8, 0xAA, 0x88, 0x44,
|
||||
0x22, 0x22, 0x89, 0xFF, 0x15, 0x44, 0xDD, 0xAA, 0x88, 0x55, 0xBB, 0xFF, 0xE5, 0xE0, 0xDB, 0xD6, 0xD2, 0xCE, 0xCB,
|
||||
0xC7, 0xC4, 0xC1, 0xAA, 0x88, 0x44, 0x22, 0x22, 0x87, 0xFF, 0x15, 0x44, 0xDB, 0xDB, 0xDA, 0xD9, 0x88, 0x55, 0xBB,
|
||||
0xEE, 0xD9, 0xD6, 0xD1, 0xCE, 0xCA, 0xC7, 0xC3, 0xC0, 0xBD, 0xBB, 0x88, 0x44, 0x22, 0x87, 0xFF, 0x15, 0x44, 0xDA,
|
||||
0x55, 0x77, 0xAA, 0xD7, 0xD7, 0x88, 0x55, 0xBB, 0xEE, 0xD0, 0xCC, 0xC9, 0xC6, 0xC2, 0xBE, 0xBB, 0x88, 0x44, 0x6D,
|
||||
0x21, 0x87, 0xFF, 0x15, 0x44, 0xD8, 0x42, 0xCC, 0x55, 0x77, 0xAA, 0xD4, 0xD3, 0x88, 0x55, 0xBB, 0xEC, 0xC8, 0xC4,
|
||||
0xC0, 0x88, 0x44, 0x55, 0x6D, 0x77, 0x20, 0x87, 0xFF, 0x11, 0x44, 0xD7, 0x42, 0xCC, 0xE5, 0xCC, 0x55, 0x77, 0xAA,
|
||||
0xD1, 0xD1, 0x88, 0x55, 0x88, 0xAA, 0x44, 0x55, 0x6D, 0x80, 0x77, 0x00, 0x1D, 0x87, 0xFF, 0x0F, 0x44, 0xD6, 0x42,
|
||||
0xCC, 0xF9, 0xF6, 0xE5, 0xCC, 0x55, 0x77, 0xAA, 0xCF, 0xCF, 0xAA, 0x55, 0x6D, 0x82, 0x77, 0x00, 0x1C, 0x87, 0xFF,
|
||||
0x0E, 0x44, 0xD5, 0x42, 0xCC, 0xF5, 0xF2, 0xEF, 0xED, 0xE5, 0xCC, 0x55, 0x77, 0xAA, 0xCD, 0x88, 0x82, 0x77, 0x01,
|
||||
0x74, 0x1B, 0x87, 0xFF, 0x0E, 0x44, 0xD3, 0x42, 0xCC, 0xF2, 0xEF, 0xEC, 0xE9, 0xE7, 0xE5, 0xD7, 0xCC, 0x55, 0xCB,
|
||||
0x88, 0x81, 0x77, 0x02, 0x72, 0x6C, 0x1A, 0x87, 0xFF, 0x0E, 0x44, 0xD2, 0x42, 0xCC, 0xEE, 0xEB, 0xE9, 0xE7, 0xE5,
|
||||
0xE3, 0xE0, 0xDD, 0x44, 0xCA, 0x88, 0x80, 0x77, 0x03, 0x71, 0x6A, 0x63, 0x18, 0x87, 0xFF, 0x15, 0x44, 0xD1, 0x00,
|
||||
0x66, 0xEB, 0xE9, 0xE6, 0xE4, 0xE1, 0xE0, 0xDD, 0xDC, 0x44, 0xC9, 0x88, 0x77, 0x77, 0x70, 0x69, 0x62, 0x5C, 0x17,
|
||||
0x87, 0xFF, 0x15, 0x44, 0x00, 0x66, 0xCC, 0xE8, 0xE6, 0xE3, 0xE1, 0xDF, 0xDD, 0xDB, 0xD9, 0x44, 0xC8, 0x88, 0x76,
|
||||
0x6F, 0x68, 0x60, 0x5A, 0x55, 0x15, 0x80, 0xFF, 0x8D, 0x00, 0x0C, 0xDB, 0xD9, 0xD7, 0x44, 0xC7, 0x88, 0x6D, 0x66,
|
||||
0x5F, 0x59, 0x54, 0x4F, 0x14, 0x80, 0xFF, 0x00, 0x00, 0x83, 0xCC, 0x00, 0x00, 0x84, 0xFF, 0x0D, 0x00, 0x99, 0xD7,
|
||||
0xD4, 0x44, 0xC6, 0x88, 0x65, 0x5E, 0x58, 0x53, 0x4D, 0x49, 0x12, 0x80, 0xFF, 0x00, 0x00, 0x80, 0xCC, 0x06, 0x55,
|
||||
0xCC, 0xCC, 0x00, 0xFF, 0xFF, 0x00, 0x81, 0xFF, 0x0D, 0x00, 0x99, 0xD5, 0xD2, 0x44, 0xC5, 0x88, 0x5D, 0x57, 0x51,
|
||||
0x4C, 0x47, 0x42, 0x11, 0x80, 0xFF, 0x00, 0x00, 0x80, 0xCC, 0x02, 0x55, 0xCC, 0x00, 0x80, 0xFF, 0x00, 0x00, 0x81,
|
||||
0xFF, 0x0D, 0x00, 0x66, 0x22, 0xD0, 0x44, 0xC4, 0x88, 0x56, 0x51, 0x4C, 0x47, 0x42, 0x3D, 0x0E, 0x80, 0xFF, 0x00,
|
||||
0x00, 0x82, 0xCC, 0x00, 0x00, 0x85, 0xFF, 0x0D, 0x00, 0x99, 0x6D, 0x22, 0x44, 0xC3, 0x88, 0x4F, 0x4B, 0x45, 0x41,
|
||||
0x3C, 0x38, 0x0D, 0x80, 0xFF, 0x00, 0x00, 0x82, 0xCC, 0x00, 0x00, 0x85, 0xFF, 0x11, 0x00, 0x99, 0xC5, 0xAA, 0x88,
|
||||
0xC3, 0x88, 0x49, 0x45, 0x40, 0x3B, 0x37, 0x33, 0x0A, 0x22, 0xFF, 0xFF, 0x00, 0x82, 0xCC, 0x00, 0x00, 0x85, 0xFF,
|
||||
0x0D, 0x00, 0x66, 0x00, 0xC3, 0xC2, 0xC2, 0x88, 0x43, 0x3F, 0x3B, 0x36, 0x33, 0x2F, 0x08, 0x80, 0x22, 0x00, 0x00,
|
||||
0x82, 0xCC, 0x81, 0x00, 0x82, 0xFF, 0x0D, 0x00, 0x99, 0x55, 0x00, 0x88, 0xC1, 0x88, 0x3E, 0x39, 0x35, 0x33, 0x33,
|
||||
0x2C, 0x07, 0x80, 0x22, 0x00, 0x00, 0x84, 0xCC, 0x00, 0x00, 0x83, 0xFF, 0x01, 0x00, 0x99, 0x80, 0xC1, 0x08, 0xC0,
|
||||
0x88, 0x38, 0x34, 0x33, 0x33, 0x2E, 0x22, 0x13, 0x80, 0x22, 0x04, 0x00, 0xCC, 0xCC, 0x55, 0x55, 0x80, 0xCC, 0x14,
|
||||
0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x99, 0xC0, 0xC1, 0xBF, 0xBF, 0x88, 0x33, 0x33, 0x2F, 0x2E, 0x22,
|
||||
0x13, 0x08, 0x80, 0x22, 0x00, 0x00, 0x81, 0xCC, 0x80, 0x55, 0x80, 0x00, 0x81, 0xFF, 0x01, 0x00, 0x99, 0x80, 0xBF,
|
||||
0x07, 0xBE, 0x88, 0x33, 0x2F, 0x28, 0x11, 0x13, 0x08, 0x81, 0x22, 0x00, 0x00, 0x84, 0xCC, 0x00, 0x00, 0x83, 0xFF,
|
||||
0x0B, 0x00, 0x99, 0xBE, 0xBE, 0xBD, 0xBD, 0x88, 0x2E, 0x22, 0x11, 0x13, 0x08, 0x81, 0x22, 0x00, 0xFF, 0x8D, 0x00,
|
||||
0x09, 0x11, 0x22, 0x55, 0x88, 0xBC, 0x44, 0x18, 0x13, 0x11, 0x08, 0x81, 0x22, 0x80, 0xFF, 0x85, 0x22, 0x00, 0x00,
|
||||
0x82, 0x22, 0x09, 0x00, 0x00, 0x22, 0x22, 0x1A, 0x11, 0x00, 0x22, 0x11, 0x08, 0x81, 0x22, 0x89, 0xFF, 0x04, 0x22,
|
||||
0x00, 0x22, 0x22, 0xFF, 0x80, 0x22, 0x01, 0x00, 0x11, 0x80, 0x22, 0x01, 0x11, 0x08, 0x81, 0x22, 0x91, 0xFF, 0x80,
|
||||
0x22, 0x80, 0x11, 0x82, 0x22, 0x82, 0xFF, 0x6C, 0x38, 0x6D, 0x6B, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xFF, 0xFF, 0xFF, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x3C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x3C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
|
||||
0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x18, 0x00, 0x00, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x4C, 0x2C, 0x11, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0x86, 0x63, 0x2C, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x89, 0x3E, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x97, 0x71, 0x34, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xA0, 0x88, 0x4C, 0x18, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x88, 0x4C, 0x23, 0x00, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA, 0x88, 0x4C, 0x23, 0x00, 0x00, 0x00, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C, 0x4C,
|
||||
0x4C, 0x4C, 0xFF, 0x86, 0x4C, 0x4C, 0x4C, 0x9A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xAA,
|
||||
0x88, 0x4C, 0x23, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0xFF, 0x4C, 0x18,
|
||||
0x00, 0x18, 0x3C, 0x9A, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xA0, 0x88, 0x4C, 0x23, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x3C, 0x9A,
|
||||
0xFF, 0xFF, 0xFF, 0xA0, 0x88, 0x4C, 0x23, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00};
|
||||
|
||||
static const unsigned char VersResource[VERS_RESOURCE_SIZE] = {
|
||||
0x00, 0x01, 0x20, 0x00, 0x00, 0x00, 0x03, 0x30, 0x2E, 0x31, 0x21, 0x30, 0x2E, 0x31, 0x2C,
|
||||
0x20, 0xA9, 0x20, 0x32, 0x30, 0x31, 0x31, 0x2D, 0x32, 0x30, 0x31, 0x38, 0x20, 0x4E, 0x61,
|
||||
0x74, 0x61, 0x6C, 0x69, 0x61, 0x20, 0x50, 0x6F, 0x72, 0x74, 0x69, 0x6C, 0x6C, 0x6F};
|
||||
|
||||
static const unsigned char PictResource[PICT_RESOURCE_SIZE] = {
|
||||
0x26, 0x92, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xAB, 0x00, 0x11, 0x02, 0xFF, 0x0C, 0x00, 0xFF, 0xFE, 0x00,
|
||||
0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xAB, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x1E, 0x00, 0x01, 0x00, 0x0A, 0x80, 0x01, 0x80, 0x01, 0x7F, 0xFF, 0x7F, 0xFF, 0x00, 0x9A, 0x00,
|
||||
0x00, 0x00, 0xFF, 0x82, 0xAC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xAB, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x48, 0x00, 0x00, 0x00, 0x10, 0x00, 0x20, 0x00, 0x03, 0x00, 0x08, 0x00,
|
||||
0x00, 0x00, 0x00, 0x3C, 0xCE, 0x35, 0x68, 0x3C, 0xCE, 0x3A, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xAB,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0xAB, 0x00, 0x40, 0x00, 0x25, 0xA0, 0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFD,
|
||||
0xBD, 0x02, 0xB4, 0xC9, 0xEE, 0xC1, 0xE7, 0x9F, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xC1,
|
||||
0xEF, 0x9E, 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00, 0xF4, 0xBF, 0xFF, 0x00, 0x28, 0xA1, 0xD6, 0x03, 0xD7, 0xDA, 0xD2,
|
||||
0xB6, 0xFE, 0xBE, 0x03, 0xBD, 0xB2, 0xE9, 0xEC, 0xC1, 0xE7, 0x9F, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC3,
|
||||
0xFD, 0xF1, 0xC1, 0xEF, 0x9E, 0xFF, 0x00, 0xF4, 0xFE, 0xF8, 0x01, 0xF7, 0xF4, 0xBF, 0xFF, 0x00, 0x29, 0xA1, 0xD6,
|
||||
0x0A, 0xD8, 0xCC, 0xD5, 0xB8, 0xBF, 0xAE, 0xBF, 0xBA, 0xAD, 0xE3, 0xE9, 0xC1, 0xE7, 0xA0, 0xDE, 0x02, 0xE0, 0xE6,
|
||||
0xCA, 0xFE, 0xCE, 0x02, 0xCC, 0xBF, 0xF9, 0xC0, 0xEF, 0x9E, 0xFF, 0x05, 0xF5, 0xF9, 0xE8, 0xF9, 0xF6, 0xF3, 0xBF,
|
||||
0xFF, 0x00, 0x29, 0xA1, 0xD6, 0x0A, 0xD9, 0xCF, 0xB4, 0xBA, 0xC0, 0xAF, 0xC0, 0xB7, 0xCD, 0xF2, 0xE8, 0xC1, 0xE7,
|
||||
0xA0, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x02, 0xCA, 0xDF, 0xF7, 0xC0, 0xEF, 0x9F, 0xFF, 0x05, 0xF3, 0xF6,
|
||||
0xFA, 0xE9, 0xFA, 0xF5, 0xBE, 0xFF, 0x00, 0x27, 0xA1, 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xBE, 0xC1, 0xB0, 0xC0, 0xB3,
|
||||
0xD9, 0xED, 0xC0, 0xE7, 0xA0, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xC0, 0xEF, 0x9F, 0xFF,
|
||||
0x05, 0xF4, 0xF8, 0xFB, 0xEA, 0xFA, 0xF4, 0xBE, 0xFF, 0x00, 0x29, 0xA1, 0xD6, 0x09, 0xDB, 0xD3, 0xB8, 0xBF, 0xB0,
|
||||
0xB0, 0xBC, 0xAE, 0xE4, 0xEA, 0xC0, 0xE7, 0xA1, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFE, 0xCE, 0x03, 0xCC, 0xC1, 0xFB,
|
||||
0xF1, 0xC0, 0xEF, 0x9F, 0xFF, 0x05, 0xF5, 0xF9, 0xEA, 0xEA, 0xF8, 0xF3, 0xBE, 0xFF, 0x00, 0x29, 0xA2, 0xD6, 0x0A,
|
||||
0xD7, 0xDE, 0xB2, 0xBA, 0xBF, 0xAF, 0xC0, 0xB9, 0xCE, 0xF3, 0xE8, 0xC0, 0xE7, 0xA1, 0xDE, 0x02, 0xE2, 0xC6, 0xCC,
|
||||
0xFE, 0xCE, 0x02, 0xCA, 0xDF, 0xF7, 0xBF, 0xEF, 0xA0, 0xFF, 0x05, 0xF3, 0xF6, 0xF9, 0xE9, 0xFA, 0xF6, 0xBD, 0xFF,
|
||||
0x00, 0x27, 0xA2, 0xD6, 0x03, 0xD8, 0xD0, 0xB5, 0xBD, 0xFE, 0xBE, 0x02, 0xB4, 0xC9, 0xEE, 0xBF, 0xE7, 0xA1, 0xDE,
|
||||
0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xBF, 0xEF, 0xA0, 0xFF, 0x01, 0xF4, 0xF7, 0xFE, 0xF8, 0x00,
|
||||
0xF4, 0xBD, 0xFF, 0x00, 0x25, 0xA2, 0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFD, 0xBD, 0x02, 0xB2, 0xE9, 0xEC, 0xBF, 0xE7,
|
||||
0xA1, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC3, 0xFD, 0xF1, 0xBF, 0xEF, 0xA0, 0xFF, 0x00, 0xF4, 0xFD, 0xF7,
|
||||
0x00, 0xF4, 0xBD, 0xFF, 0x00, 0x28, 0xA2, 0xD6, 0x09, 0xDB, 0xD4, 0xB9, 0xBF, 0xBE, 0xBE, 0xBA, 0xAD, 0xE3, 0xE9,
|
||||
0xBF, 0xE7, 0xA2, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFE, 0xCE, 0x02, 0xCC, 0xBF, 0xF9, 0xBE, 0xEF, 0xA0, 0xFF, 0x05,
|
||||
0xF6, 0xF9, 0xF8, 0xF8, 0xF6, 0xF3, 0xBD, 0xFF, 0x00, 0x29, 0xA3, 0xD6, 0x0A, 0xD7, 0xDE, 0xB3, 0xAA, 0xBF, 0xAD,
|
||||
0xBE, 0xB8, 0xCE, 0xF3, 0xE8, 0xBF, 0xE7, 0xA2, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x02, 0xCA, 0xDF, 0xF7,
|
||||
0xBE, 0xEF, 0xA1, 0xFF, 0x05, 0xF4, 0xE6, 0xF9, 0xE7, 0xF8, 0xF5, 0xBC, 0xFF, 0x00, 0x27, 0xA3, 0xD6, 0x03, 0xD8,
|
||||
0xD0, 0xB6, 0xBE, 0xFE, 0xBF, 0x02, 0xB5, 0xC9, 0xEE, 0xBE, 0xE7, 0xA2, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02,
|
||||
0xC5, 0xDB, 0xF3, 0xBE, 0xEF, 0xA1, 0xFF, 0x01, 0xF5, 0xF8, 0xFE, 0xF9, 0x00, 0xF5, 0xBC, 0xFF, 0x00, 0x27, 0xA3,
|
||||
0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xBD, 0xBD, 0xBE, 0xAD, 0xB3, 0xE9, 0xEC, 0xBE, 0xE7, 0xA2, 0xDE, 0x01, 0xE4, 0xC8,
|
||||
0xFD, 0xCE, 0x02, 0xC3, 0xFD, 0xF1, 0xBE, 0xEF, 0xA1, 0xFF, 0x05, 0xF4, 0xF7, 0xF7, 0xF8, 0xE7, 0xF5, 0xBC, 0xFF,
|
||||
0x00, 0x27, 0xA3, 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xBE, 0xBE, 0xBF, 0xBB, 0xAF, 0xE4, 0xEA, 0xBE, 0xE7, 0xA2, 0xDE,
|
||||
0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xCC, 0xBF, 0xF9, 0xBD, 0xEF, 0xA1, 0xFF, 0x05, 0xF4, 0xF8, 0xF8, 0xF9, 0xF7,
|
||||
0xF4, 0xBC, 0xFF, 0x00, 0x27, 0xA3, 0xD6, 0x09, 0xDB, 0xD3, 0xB8, 0xBE, 0xAE, 0xBF, 0xB9, 0xCF, 0xE1, 0xE9, 0xBE,
|
||||
0xE7, 0xA3, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFE, 0xCE, 0x02, 0xCA, 0xDF, 0xF7, 0xBD, 0xEF, 0xA1, 0xFF, 0x04, 0xF5,
|
||||
0xF8, 0xE8, 0xF9, 0xF6, 0xBB, 0xFF, 0x00, 0x29, 0xA4, 0xD6, 0x0A, 0xD7, 0xDE, 0xB2, 0xBA, 0xBE, 0xBF, 0xAE, 0xB7,
|
||||
0xCC, 0xF1, 0xE8, 0xBE, 0xE7, 0xA3, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xBD, 0xEF,
|
||||
0xA2, 0xFF, 0x05, 0xF3, 0xF6, 0xF8, 0xF9, 0xE8, 0xF5, 0xBB, 0xFF, 0x00, 0x27, 0xA4, 0xD6, 0x09, 0xD8, 0xD0, 0xB5,
|
||||
0xBD, 0xBE, 0xC0, 0xC0, 0xB6, 0xC9, 0xEE, 0xBD, 0xE7, 0xA3, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB,
|
||||
0xF3, 0xBD, 0xEF, 0xA2, 0xFF, 0x05, 0xF4, 0xF7, 0xF8, 0xFA, 0xFA, 0xF6, 0xBB, 0xFF, 0x00, 0x27, 0xA4, 0xD6, 0x09,
|
||||
0xD9, 0xD1, 0xB7, 0xBE, 0xBF, 0xAE, 0xAE, 0xB3, 0xE9, 0xEC, 0xBD, 0xE7, 0xA3, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE,
|
||||
0x02, 0xC3, 0xFD, 0xF1, 0xBD, 0xEF, 0xA2, 0xFF, 0x05, 0xF5, 0xF8, 0xF9, 0xE8, 0xE8, 0xF5, 0xBB, 0xFF, 0x00, 0x27,
|
||||
0xA4, 0xD6, 0x03, 0xD9, 0xD1, 0xB7, 0xAD, 0xFE, 0xBF, 0x02, 0xB1, 0xE7, 0xEA, 0xBD, 0xE7, 0xA3, 0xDE, 0x01, 0xE4,
|
||||
0xC8, 0xFE, 0xCE, 0x02, 0xCD, 0xC0, 0xFA, 0xBC, 0xEF, 0xA2, 0xFF, 0x01, 0xF5, 0xE7, 0xFE, 0xF9, 0x00, 0xF5, 0xBB,
|
||||
0xFF, 0x00, 0x28, 0xA4, 0xD6, 0x09, 0xDA, 0xD2, 0xB8, 0xBE, 0xBE, 0xBD, 0xBA, 0xAD, 0xE3, 0xE9, 0xBD, 0xE7, 0xA4,
|
||||
0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFE, 0xCE, 0x02, 0xCB, 0xCF, 0xF8, 0xBC, 0xEF, 0xA2, 0xFF, 0x05, 0xF6, 0xF8, 0xF8,
|
||||
0xF7, 0xF6, 0xF3, 0xBB, 0xFF, 0x00, 0x29, 0xA5, 0xD6, 0x0A, 0xD7, 0xDD, 0xC4, 0xB9, 0xBD, 0xBE, 0xBE, 0xB9, 0xCE,
|
||||
0xF3, 0xE8, 0xBD, 0xE7, 0xA4, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x02, 0xC9, 0xDE, 0xF6, 0xBC, 0xEF, 0xA3,
|
||||
0xFF, 0x05, 0xF3, 0xF6, 0xF7, 0xF8, 0xF8, 0xF6, 0xBA, 0xFF, 0x00, 0x27, 0xA5, 0xD6, 0x09, 0xD8, 0xCF, 0xB4, 0xBB,
|
||||
0xBD, 0xBE, 0xAD, 0xB6, 0xCA, 0xEF, 0xBC, 0xE7, 0xA4, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC8, 0xDD, 0xF5,
|
||||
0xBC, 0xEF, 0xA3, 0xFF, 0x05, 0xF4, 0xF7, 0xF7, 0xF8, 0xE7, 0xF5, 0xBA, 0xFF, 0x00, 0x27, 0xA5, 0xD6, 0x09, 0xD9,
|
||||
0xD1, 0xB6, 0xBD, 0xBD, 0xBE, 0xBE, 0xB4, 0xD9, 0xED, 0xBC, 0xE7, 0xA4, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02,
|
||||
0xC5, 0xDB, 0xF3, 0xBC, 0xEF, 0xA3, 0xFF, 0x05, 0xF4, 0xF7, 0xF7, 0xF8, 0xF8, 0xF5, 0xBA, 0xFF, 0x00, 0x31, 0xA5,
|
||||
0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFD, 0xBD, 0x02, 0xB1, 0xE8, 0xEB, 0xEE, 0xE7, 0x04, 0xE8, 0xE9, 0xEB, 0xEA, 0xE9,
|
||||
0xD4, 0xE7, 0xA4, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC3, 0xFD, 0xF1, 0xEC, 0xEF, 0xFE, 0xF1, 0xD4, 0xEF,
|
||||
0xA3, 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00, 0xF4, 0xBA, 0xFF, 0x00, 0x39, 0xA5, 0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFD,
|
||||
0xBD, 0x02, 0xB0, 0xE7, 0xEA, 0xF0, 0xE7, 0x07, 0xE8, 0xEB, 0xF1, 0xE3, 0xE8, 0xD1, 0xEF, 0xE8, 0xD5, 0xE7, 0xA4,
|
||||
0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xCD, 0xC0, 0xFA, 0xEE, 0xEF, 0x05, 0xF1, 0xF4, 0xF8, 0xFC, 0xD5, 0xF5,
|
||||
0xD4, 0xEF, 0xA3, 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00, 0xF4, 0xBA, 0xFF, 0x00, 0x46, 0xA5, 0xD6, 0x02, 0xD9, 0xD1,
|
||||
0xB7, 0xFE, 0xBE, 0x03, 0xBB, 0xAE, 0xE3, 0xE9, 0xF2, 0xE7, 0x09, 0xE8, 0xEB, 0xF1, 0xE5, 0xCC, 0xAD, 0xB1, 0xA9,
|
||||
0xE3, 0xEA, 0xD5, 0xE7, 0xA4, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xCB, 0xCF, 0xF8, 0xF0, 0xEF, 0x08, 0xF1,
|
||||
0xF5, 0xFB, 0xDC, 0xCF, 0xC2, 0xBD, 0xFB, 0xF1, 0xD5, 0xEF, 0xA3, 0xFF, 0x00, 0xF5, 0xFE, 0xF8, 0x01, 0xF7, 0xF4,
|
||||
0xEB, 0xFF, 0x02, 0xF3, 0xF4, 0xF2, 0xD3, 0xFF, 0x00, 0x4A, 0xA6, 0xD6, 0x0A, 0xD7, 0xDC, 0xD4, 0xB9, 0xAD, 0xBE,
|
||||
0xBF, 0xA9, 0xD0, 0xF3, 0xE8, 0xF2, 0xE7, 0x09, 0xEB, 0xE0, 0xCA, 0xB0, 0xB8, 0xBD, 0xBF, 0xB4, 0xD9, 0xED, 0xD5,
|
||||
0xE7, 0xA5, 0xDE, 0x02, 0xDF, 0xE5, 0xC9, 0xFE, 0xCE, 0x02, 0xC9, 0xDE, 0xF6, 0xF1, 0xEF, 0x09, 0xF1, 0xF7, 0xDB,
|
||||
0xC1, 0xC6, 0xCB, 0xCD, 0xC5, 0xDB, 0xF3, 0xD5, 0xEF, 0xA3, 0xFF, 0x04, 0xF6, 0xE7, 0xF8, 0xF9, 0xE6, 0xEC, 0xFF,
|
||||
0x04, 0xF4, 0xF7, 0xF9, 0xF9, 0xF5, 0xD3, 0xFF, 0x00, 0x4C, 0xA6, 0xD6, 0x09, 0xD8, 0xCE, 0xB3, 0xBB, 0xBE, 0xBE,
|
||||
0xBF, 0xA7, 0xCD, 0xF0, 0xF1, 0xE7, 0x0A, 0xED, 0xC5, 0xB1, 0xBC, 0xB0, 0xB2, 0xB0, 0xB9, 0xCD, 0xF2, 0xE8, 0xD6,
|
||||
0xE7, 0xA5, 0xDE, 0x02, 0xE1, 0xD6, 0xCB, 0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xF1, 0xEF, 0x03, 0xF3, 0xD9, 0xC3,
|
||||
0xCC, 0xFE, 0xCE, 0x02, 0xCA, 0xDF, 0xF7, 0xD5, 0xEF, 0xA4, 0xFF, 0x05, 0xF3, 0xF7, 0xF8, 0xF8, 0xF9, 0xE5, 0xED,
|
||||
0xFF, 0x05, 0xF3, 0xF8, 0xEA, 0xEC, 0xEA, 0xF7, 0xD3, 0xFF, 0x00, 0x4D, 0xA6, 0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFE,
|
||||
0xBD, 0x03, 0xBE, 0xB6, 0xCB, 0xEF, 0xF1, 0xE7, 0x0A, 0xED, 0xD9, 0xB3, 0xC0, 0xB2, 0xB5, 0xB2, 0xBD, 0xAF, 0xE5,
|
||||
0xEB, 0xD6, 0xE7, 0xA5, 0xDE, 0x02, 0xE3, 0xC7, 0xCD, 0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xF1, 0xEF, 0x02, 0xF3,
|
||||
0xDB, 0xC5, 0xFD, 0xCE, 0x03, 0xCC, 0xC1, 0xFB, 0xF1, 0xD6, 0xEF, 0xA4, 0xFF, 0x00, 0xF4, 0xFE, 0xF7, 0x01, 0xF8,
|
||||
0xF5, 0xED, 0xFF, 0x06, 0xF4, 0xFA, 0xEC, 0xEF, 0xEC, 0xF9, 0xF3, 0xD4, 0xFF, 0x00, 0x4B, 0xA6, 0xD6, 0x02, 0xD9,
|
||||
0xD1, 0xB6, 0xFD, 0xBD, 0x02, 0xB3, 0xD9, 0xED, 0xF1, 0xE7, 0x0B, 0xEA, 0xE4, 0xAE, 0xBC, 0xB1, 0xB4, 0xB2, 0xC0,
|
||||
0xB6, 0xCC, 0xF1, 0xE8, 0xD7, 0xE7, 0xA5, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xF1, 0xEF,
|
||||
0x03, 0xF1, 0xFB, 0xC1, 0xCC, 0xFD, 0xCE, 0x02, 0xC7, 0xDD, 0xF5, 0xD6, 0xEF, 0xA4, 0xFF, 0x00, 0xF4, 0xFD, 0xF7,
|
||||
0x00, 0xF4, 0xED, 0xFF, 0x06, 0xF3, 0xF8, 0xEB, 0xEE, 0xEC, 0xFA, 0xF5, 0xD4, 0xFF, 0x00, 0x4B, 0xA6, 0xD6, 0x02,
|
||||
0xD9, 0xD1, 0xB6, 0xFD, 0xBD, 0x02, 0xB1, 0xE8, 0xEB, 0xF1, 0xE7, 0x0B, 0xE8, 0xF1, 0xCC, 0xB7, 0xC0, 0xB1, 0xB0,
|
||||
0xBF, 0xBA, 0xAE, 0xE4, 0xEA, 0xD7, 0xE7, 0xA5, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC3, 0xFD, 0xF1, 0xF0,
|
||||
0xEF, 0x02, 0xF5, 0xDD, 0xC7, 0xFD, 0xCE, 0x03, 0xCC, 0xC1, 0xFB, 0xF1, 0xD7, 0xEF, 0xA4, 0xFF, 0x00, 0xF4, 0xFD,
|
||||
0xF7, 0x00, 0xF4, 0xEC, 0xFF, 0x06, 0xF6, 0xFA, 0xEB, 0xEA, 0xF9, 0xF6, 0xF3, 0xD5, 0xFF, 0x00, 0x49, 0xA6, 0xD6,
|
||||
0x02, 0xD9, 0xD1, 0xB6, 0xFD, 0xBD, 0x02, 0xB0, 0xE7, 0xEA, 0xF0, 0xE7, 0x03, 0xEB, 0xE5, 0xAF, 0xBB, 0xFE, 0xBF,
|
||||
0x03, 0xBE, 0xB4, 0xD9, 0xED, 0xD7, 0xE7, 0xA5, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x01, 0xC1, 0xFB, 0xEF, 0xEF,
|
||||
0x03, 0xF1, 0xFB, 0xC1, 0xCC, 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xD7, 0xEF, 0xA4, 0xFF, 0x00, 0xF4, 0xFD, 0xF7,
|
||||
0x00, 0xF4, 0xEC, 0xFF, 0x01, 0xF3, 0xF7, 0xFE, 0xF9, 0x01, 0xF8, 0xF5, 0xD5, 0xFF, 0x00, 0x48, 0xA6, 0xD6, 0x02,
|
||||
0xD9, 0xD1, 0xB6, 0xFD, 0xBD, 0x02, 0xB0, 0xE7, 0xEA, 0xF0, 0xE7, 0x0B, 0xE8, 0xF3, 0xCE, 0xB8, 0xBD, 0xBD, 0xBE,
|
||||
0xAD, 0xB8, 0xCD, 0xF2, 0xE8, 0xD8, 0xE7, 0xA5, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x01, 0xC1, 0xFB, 0xEE, 0xEF,
|
||||
0x02, 0xF7, 0xDF, 0xCA, 0xFD, 0xCE, 0x02, 0xCA, 0xDF, 0xF7, 0xD7, 0xEF, 0xA4, 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00,
|
||||
0xF4, 0xEB, 0xFF, 0x05, 0xF5, 0xF7, 0xF7, 0xF8, 0xE7, 0xF6, 0xD5, 0xFF, 0x00, 0x4B, 0xA6, 0xD6, 0x03, 0xD9, 0xD1,
|
||||
0xB6, 0xBD, 0xFE, 0xBE, 0x02, 0xB0, 0xE7, 0xEA, 0xEF, 0xE7, 0x0A, 0xEE, 0xC9, 0xB4, 0xBE, 0xBF, 0xC0, 0xBF, 0xBB,
|
||||
0xAF, 0xE5, 0xEB, 0xD8, 0xE7, 0xA5, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x01, 0xC1, 0xFB, 0xEE, 0xEF, 0x02, 0xF3,
|
||||
0xDB, 0xC5, 0xFD, 0xCE, 0x03, 0xCC, 0xC1, 0xFB, 0xF1, 0xD8, 0xEF, 0xA4, 0xFF, 0x01, 0xF4, 0xF7, 0xFE, 0xF8, 0x00,
|
||||
0xF4, 0xEB, 0xFF, 0x06, 0xF4, 0xF8, 0xF9, 0xFA, 0xF9, 0xF7, 0xF3, 0xD6, 0xFF, 0x00, 0x4D, 0xA6, 0xD6, 0x09, 0xD9,
|
||||
0xD1, 0xB6, 0xBD, 0xBF, 0xAE, 0xBF, 0xB0, 0xE7, 0xEA, 0xEF, 0xE7, 0x0B, 0xEB, 0xE5, 0xAF, 0xBC, 0xB0, 0xB1, 0xC0,
|
||||
0xBE, 0xB6, 0xCC, 0xF1, 0xE8, 0xD9, 0xE7, 0xA5, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xCD, 0xC0, 0xFA, 0xEE,
|
||||
0xEF, 0x03, 0xF1, 0xFB, 0xC1, 0xCC, 0xFD, 0xCE, 0x02, 0xC6, 0xDC, 0xF4, 0xD8, 0xEF, 0xA4, 0xFF, 0x05, 0xF4, 0xF7,
|
||||
0xF9, 0xE8, 0xF9, 0xF4, 0xEB, 0xFF, 0x06, 0xF3, 0xF8, 0xEA, 0xEB, 0xFA, 0xF8, 0xF5, 0xD6, 0xFF, 0x00, 0x4C, 0xA6,
|
||||
0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xBE, 0xC0, 0xAF, 0xBC, 0xAD, 0xE3, 0xE9, 0xEF, 0xE7, 0x0B, 0xE8, 0xF1, 0xCC, 0xB8,
|
||||
0xB0, 0xB2, 0xB0, 0xBF, 0xBA, 0xAD, 0xE3, 0xE9, 0xD9, 0xE7, 0xA5, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xCB,
|
||||
0xCF, 0xF8, 0xED, 0xEF, 0x02, 0xF5, 0xDD, 0xC7, 0xFD, 0xCE, 0x02, 0xCB, 0xCF, 0xF8, 0xD8, 0xEF, 0xA4, 0xFF, 0x05,
|
||||
0xF4, 0xF8, 0xFA, 0xE9, 0xF8, 0xF3, 0xEA, 0xFF, 0x06, 0xF7, 0xEA, 0xEC, 0xEA, 0xF9, 0xF6, 0xF3, 0xD7, 0xFF, 0x00,
|
||||
0x4C, 0xA6, 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xBF, 0xAF, 0xC0, 0xB9, 0xCE, 0xF3, 0xE8, 0xEE, 0xE7, 0x0A, 0xEC, 0xE6,
|
||||
0xB1, 0xBC, 0xC2, 0xB0, 0xC0, 0xBD, 0xB2, 0xE9, 0xEC, 0xD9, 0xE7, 0xA5, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02,
|
||||
0xC9, 0xDE, 0xF6, 0xED, 0xEF, 0x03, 0xF1, 0xFB, 0xC1, 0xCC, 0xFE, 0xCE, 0x03, 0xCD, 0xC2, 0xFC, 0xF1, 0xD9, 0xEF,
|
||||
0xA4, 0xFF, 0x04, 0xF4, 0xF9, 0xE9, 0xFA, 0xF6, 0xE9, 0xFF, 0x06, 0xF4, 0xF8, 0xFC, 0xEA, 0xFA, 0xF7, 0xF4, 0xD7,
|
||||
0xFF, 0x00, 0x49, 0xA6, 0xD6, 0x08, 0xD9, 0xD1, 0xB6, 0xC0, 0xAF, 0xC0, 0xB6, 0xCB, 0xF0, 0xED, 0xE7, 0x0B, 0xE9,
|
||||
0xE1, 0xCF, 0xB8, 0xC0, 0xAF, 0xC0, 0xBD, 0xB6, 0xCC, 0xF1, 0xE8, 0xDA, 0xE7, 0xA5, 0xDE, 0x01, 0xE4, 0xC8, 0xFE,
|
||||
0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xEC, 0xEF, 0x02, 0xF7, 0xDF, 0xCA, 0xFD, 0xCE, 0x02, 0xC7, 0xDD, 0xF5, 0xD9, 0xEF,
|
||||
0xA4, 0xFF, 0x04, 0xF4, 0xFA, 0xE9, 0xFA, 0xF4, 0xE8, 0xFF, 0x05, 0xF5, 0xFA, 0xE9, 0xFA, 0xF7, 0xF5, 0xD7, 0xFF,
|
||||
0x00, 0x4A, 0xA6, 0xD6, 0x08, 0xD9, 0xD1, 0xB6, 0xBF, 0xAE, 0xBF, 0xB6, 0xCB, 0xF0, 0xED, 0xE7, 0x0B, 0xE8, 0xEF,
|
||||
0xCA, 0xB4, 0xBF, 0xAE, 0xBF, 0xBD, 0xBA, 0xAD, 0xE3, 0xE9, 0xDA, 0xE7, 0xA5, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE,
|
||||
0x02, 0xC8, 0xDD, 0xF5, 0xEC, 0xEF, 0x02, 0xF3, 0xDB, 0xC5, 0xFD, 0xCE, 0x02, 0xCC, 0xBF, 0xF9, 0xD9, 0xEF, 0xA4,
|
||||
0xFF, 0x04, 0xF4, 0xF9, 0xE8, 0xF9, 0xF4, 0xE8, 0xFF, 0x06, 0xF4, 0xF9, 0xE8, 0xF9, 0xF7, 0xF6, 0xF3, 0xD8, 0xFF,
|
||||
0x00, 0x4A, 0xA6, 0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFE, 0xBE, 0x02, 0xB6, 0xCB, 0xF0, 0xEC, 0xE7, 0x0A, 0xEB, 0xE5,
|
||||
0xB0, 0xBC, 0xBF, 0xBB, 0xB6, 0xB2, 0xA7, 0xE1, 0xE9, 0xDA, 0xE7, 0xA5, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02,
|
||||
0xC8, 0xDD, 0xF5, 0xEC, 0xEF, 0x09, 0xF1, 0xFB, 0xC1, 0xCC, 0xCE, 0xCC, 0xC7, 0xC3, 0xB9, 0xF7, 0xD9, 0xEF, 0xA4,
|
||||
0xFF, 0x00, 0xF4, 0xFE, 0xF8, 0x00, 0xF4, 0xE8, 0xFF, 0x06, 0xF4, 0xF8, 0xF9, 0xF7, 0xF5, 0xF4, 0xF2, 0xD8, 0xFF,
|
||||
0x00, 0x46, 0xA6, 0xD6, 0x02, 0xDB, 0xD3, 0xB8, 0xFE, 0xBD, 0x02, 0xB6, 0xCB, 0xF0, 0xEC, 0xE7, 0x0A, 0xE8, 0xF1,
|
||||
0xCB, 0xA2, 0xB5, 0xAF, 0xCC, 0xE9, 0xE1, 0xEE, 0xE8, 0xDA, 0xE7, 0xA6, 0xDE, 0x02, 0xDF, 0xE5, 0xC9, 0xFE, 0xCE,
|
||||
0x02, 0xC8, 0xDD, 0xF5, 0xEB, 0xEF, 0x08, 0xF5, 0xDB, 0xC3, 0xC5, 0xC1, 0xDD, 0xFD, 0xF7, 0xF3, 0xD9, 0xEF, 0xA4,
|
||||
0xFF, 0x00, 0xF5, 0xFE, 0xF7, 0x00, 0xF4, 0xE7, 0xFF, 0x02, 0xE3, 0xF5, 0xF3, 0xD5, 0xFF, 0x00, 0x3E, 0xA7, 0xD6,
|
||||
0x09, 0xD7, 0xDE, 0xB2, 0xBA, 0xBE, 0xBF, 0xBF, 0xB7, 0xCB, 0xF0, 0xEB, 0xE7, 0x08, 0xEB, 0xE2, 0xC9, 0xCB, 0xE5,
|
||||
0xF1, 0xEC, 0xE9, 0xE8, 0xD9, 0xE7, 0xA6, 0xDE, 0x02, 0xE1, 0xD6, 0xCB, 0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xEB,
|
||||
0xEF, 0x06, 0xF1, 0xF7, 0xD9, 0xDB, 0xFB, 0xF5, 0xF1, 0xD7, 0xEF, 0xA5, 0xFF, 0x05, 0xF3, 0xF6, 0xF8, 0xF9, 0xF9,
|
||||
0xF5, 0xB8, 0xFF, 0x00, 0x38, 0xA7, 0xD6, 0x09, 0xD8, 0xD0, 0xB5, 0xBD, 0xBF, 0xB0, 0xB0, 0xB8, 0xCB, 0xF0, 0xEB,
|
||||
0xE7, 0x05, 0xE8, 0xEC, 0xDC, 0xEF, 0xEB, 0xE8, 0xD6, 0xE7, 0xA6, 0xDE, 0x02, 0xE3, 0xC7, 0xCD, 0xFE, 0xCE, 0x02,
|
||||
0xC8, 0xDD, 0xF5, 0xEA, 0xEF, 0x03, 0xF1, 0xF3, 0xF3, 0xF1, 0xD5, 0xEF, 0xA5, 0xFF, 0x05, 0xF4, 0xF7, 0xF9, 0xEA,
|
||||
0xEA, 0xF6, 0xB8, 0xFF, 0x00, 0x2B, 0xA7, 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xBD, 0xC0, 0xB2, 0xB2, 0xB9, 0xCB, 0xF0,
|
||||
0xEA, 0xE7, 0xFE, 0xE8, 0xD4, 0xE7, 0xA6, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xBA, 0xEF,
|
||||
0xA5, 0xFF, 0x05, 0xF4, 0xF7, 0xFA, 0xEC, 0xEC, 0xF7, 0xB8, 0xFF, 0x00, 0x2F, 0xBD, 0xD6, 0x04, 0xD7, 0xD8, 0xD9,
|
||||
0xD8, 0xD7, 0xF0, 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xBD, 0xC0, 0xB2, 0xB2, 0xB9, 0xCB, 0xF0, 0xBA, 0xE7, 0xA6, 0xDE,
|
||||
0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xBA, 0xEF, 0xA5, 0xFF, 0x05, 0xF4, 0xF7, 0xFA, 0xEC, 0xEC,
|
||||
0xF7, 0xB8, 0xFF, 0x00, 0x36, 0xBF, 0xD6, 0x07, 0xD7, 0xD8, 0xDA, 0xCC, 0xCD, 0xCC, 0xD9, 0xD7, 0xF1, 0xD6, 0x09,
|
||||
0xD8, 0xD0, 0xB5, 0xBD, 0xC0, 0xB2, 0xB2, 0xB9, 0xCB, 0xF0, 0xBA, 0xE7, 0xBC, 0xDE, 0xFE, 0xDF, 0xEE, 0xDE, 0x01,
|
||||
0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xBA, 0xEF, 0xA5, 0xFF, 0x05, 0xF4, 0xF7, 0xFA, 0xEC, 0xEC, 0xF7,
|
||||
0xB8, 0xFF, 0x00, 0x41, 0xC2, 0xD6, 0x0A, 0xD7, 0xD8, 0xD9, 0xDA, 0xCA, 0xCE, 0xD3, 0xB0, 0xD1, 0xCA, 0xD8, 0xF1,
|
||||
0xD6, 0x09, 0xD8, 0xE1, 0xB5, 0xBD, 0xBF, 0xB0, 0xB0, 0xB8, 0xCB, 0xF0, 0xBA, 0xE7, 0xBD, 0xDE, 0x03, 0xDF, 0xE1,
|
||||
0xD0, 0xE0, 0xEE, 0xDE, 0x02, 0xE3, 0xC7, 0xCD, 0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xBA, 0xEF, 0xBB, 0xFF, 0x00,
|
||||
0xF1, 0xEC, 0xFF, 0x05, 0xF4, 0xF7, 0xF9, 0xEA, 0xEA, 0xF6, 0xB8, 0xFF, 0x00, 0x45, 0xC2, 0xD6, 0x0A, 0xD8, 0xC9,
|
||||
0xCD, 0xD0, 0xD3, 0xD6, 0xB6, 0xB4, 0xD4, 0xCB, 0xD9, 0xF1, 0xD6, 0x09, 0xD8, 0xD0, 0xB5, 0xBD, 0xBE, 0xC0, 0xC0,
|
||||
0xB8, 0xCB, 0xF0, 0xBA, 0xE7, 0xC0, 0xDE, 0x06, 0xDF, 0xE0, 0xE1, 0xE2, 0xD3, 0xD2, 0xE1, 0xEE, 0xDE, 0x02, 0xE3,
|
||||
0xD8, 0xCD, 0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xBA, 0xEF, 0xBC, 0xFF, 0x01, 0xF4, 0xF3, 0xEC, 0xFF, 0x05, 0xF4,
|
||||
0xF7, 0xF8, 0xFA, 0xFA, 0xF6, 0xB8, 0xFF, 0x00, 0x4A, 0xC2, 0xD6, 0x0B, 0xD8, 0xCA, 0xD1, 0xB2, 0xB4, 0xB6, 0xB8,
|
||||
0xB8, 0xD6, 0xCE, 0xDA, 0xD7, 0xF2, 0xD6, 0x09, 0xD9, 0xCF, 0xB4, 0xBA, 0xBD, 0xBE, 0xAD, 0xB7, 0xCB, 0xF0, 0xBA,
|
||||
0xE7, 0xC0, 0xDE, 0x07, 0xE0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD4, 0xE2, 0xDF, 0xEF, 0xDE, 0x02, 0xE1, 0xC5, 0xCB, 0xFE,
|
||||
0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xBA, 0xEF, 0xBF, 0xFF, 0x04, 0xF2, 0xF3, 0xF4, 0xF5, 0xF5, 0xEC, 0xFF, 0x05, 0xF3,
|
||||
0xF6, 0xF7, 0xF8, 0xE7, 0xF5, 0xB8, 0xFF, 0x00, 0x4B, 0xC2, 0xD6, 0x0B, 0xD7, 0xDA, 0xD0, 0xB4, 0xB6, 0xDC, 0xB8,
|
||||
0xBA, 0xB6, 0xD3, 0xCC, 0xD8, 0xF2, 0xD6, 0x09, 0xD8, 0xCC, 0xD5, 0xB8, 0xBE, 0xBF, 0xBF, 0xB7, 0xCB, 0xF0, 0xBA,
|
||||
0xE7, 0xC0, 0xDE, 0x08, 0xE0, 0xD2, 0xD3, 0xE5, 0xD4, 0xD5, 0xD3, 0xE1, 0xDF, 0xF0, 0xDE, 0x02, 0xE0, 0xE6, 0xCA,
|
||||
0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xBA, 0xEF, 0xBF, 0xFF, 0x05, 0xF3, 0xF4, 0xFF, 0xF5, 0xF6, 0xF4, 0xEC, 0xFF,
|
||||
0x04, 0xF5, 0xF8, 0xF9, 0xF9, 0xF5, 0xB8, 0xFF, 0x00, 0x49, 0xC1, 0xD6, 0x0A, 0xD9, 0xCD, 0xD6, 0xB4, 0xDC, 0xB8,
|
||||
0xBD, 0xBA, 0xB4, 0xCF, 0xD9, 0xF2, 0xD6, 0x09, 0xD7, 0xDA, 0xD2, 0xB6, 0xBF, 0xAE, 0xBF, 0xB6, 0xCB, 0xF0, 0xBA,
|
||||
0xE7, 0xC0, 0xDE, 0x08, 0xDF, 0xE2, 0xD2, 0xE5, 0xD4, 0xD6, 0xD5, 0xD2, 0xE0, 0xEF, 0xDE, 0x01, 0xE4, 0xC8, 0xFE,
|
||||
0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xBA, 0xEF, 0xBE, 0xFF, 0x05, 0xF3, 0xFF, 0xF5, 0xF7, 0xF6, 0xF3, 0xED, 0xFF, 0x04,
|
||||
0xF4, 0xF9, 0xE8, 0xF9, 0xF4, 0xB8, 0xFF, 0x00, 0x48, 0xC1, 0xD6, 0x0B, 0xD8, 0xCA, 0xD3, 0xB4, 0xBA, 0xBA, 0xBD,
|
||||
0xBD, 0xB6, 0xD2, 0xDA, 0xD7, 0xF2, 0xD6, 0x08, 0xD9, 0xD1, 0xB6, 0xC0, 0xAF, 0xC0, 0xB6, 0xCB, 0xF0, 0xBA, 0xE7,
|
||||
0xBF, 0xDE, 0x07, 0xE1, 0xD2, 0xD5, 0xD5, 0xD6, 0xD6, 0xD3, 0xE1, 0xEF, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02,
|
||||
0xC8, 0xDD, 0xF5, 0xBA, 0xEF, 0xBE, 0xFF, 0x05, 0xF3, 0xF6, 0xF6, 0xF7, 0xF7, 0xF4, 0xED, 0xFF, 0x04, 0xF4, 0xFA,
|
||||
0xE9, 0xFA, 0xF4, 0xB8, 0xFF, 0x00, 0x4A, 0xC1, 0xD6, 0x04, 0xD7, 0xDA, 0xD0, 0xB4, 0xBA, 0xFE, 0xBD, 0x03, 0xB8,
|
||||
0xD5, 0xCC, 0xD8, 0xF2, 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xC0, 0xAF, 0xC0, 0xB8, 0xCE, 0xF3, 0xE8, 0xBB, 0xE7, 0xBF,
|
||||
0xDE, 0x02, 0xE0, 0xD2, 0xD5, 0xFE, 0xD6, 0x02, 0xD4, 0xE2, 0xDF, 0xF0, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02,
|
||||
0xC9, 0xDE, 0xF6, 0xBA, 0xEF, 0xBE, 0xFF, 0x01, 0xF3, 0xF6, 0xFE, 0xF7, 0x00, 0xF5, 0xED, 0xFF, 0x04, 0xF4, 0xFA,
|
||||
0xE9, 0xFA, 0xF5, 0xB8, 0xFF, 0x00, 0x4B, 0xC0, 0xD6, 0x03, 0xD8, 0xCC, 0xD5, 0xB8, 0xFE, 0xBD, 0x04, 0xBA, 0xB4,
|
||||
0xD0, 0xDA, 0xD7, 0xF3, 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xBF, 0xAE, 0xBF, 0xBA, 0xAD, 0xE3, 0xE9, 0xBB, 0xE7, 0xBF,
|
||||
0xDE, 0x02, 0xDF, 0xE2, 0xD4, 0xFE, 0xD6, 0x02, 0xD5, 0xD2, 0xE0, 0xF0, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02,
|
||||
0xCB, 0xCF, 0xF8, 0xBA, 0xEF, 0xBD, 0xFF, 0x00, 0xF5, 0xFE, 0xF7, 0x01, 0xF6, 0xF3, 0xEE, 0xFF, 0x05, 0xF4, 0xF9,
|
||||
0xE8, 0xF9, 0xF6, 0xF3, 0xB9, 0xFF, 0x00, 0x47, 0xC0, 0xD6, 0x03, 0xD7, 0xDA, 0xD2, 0xB6, 0xFD, 0xBD, 0x03, 0xB6,
|
||||
0xD3, 0xCA, 0xD8, 0xF3, 0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFE, 0xBE, 0x03, 0xBD, 0xB0, 0xE7, 0xEA, 0xBB, 0xE7, 0xBE,
|
||||
0xDE, 0x01, 0xE1, 0xD3, 0xFD, 0xD6, 0x01, 0xD3, 0xE1, 0xF0, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xCD, 0xC0,
|
||||
0xFA, 0xBA, 0xEF, 0xBD, 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00, 0xF4, 0xEE, 0xFF, 0x00, 0xF4, 0xFE, 0xF8, 0x01, 0xF7,
|
||||
0xF4, 0xB9, 0xFF, 0x00, 0x47, 0xBF, 0xD6, 0x03, 0xD9, 0xCF, 0xB4, 0xBA, 0xFE, 0xBD, 0x03, 0xB8, 0xD6, 0xCD, 0xD9,
|
||||
0xF3, 0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFD, 0xBD, 0x02, 0xB0, 0xE7, 0xEA, 0xBB, 0xE7, 0xBE, 0xDE, 0x02, 0xE0, 0xD2,
|
||||
0xD5, 0xFE, 0xD6, 0x02, 0xD4, 0xE2, 0xDF, 0xF1, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x01, 0xC1, 0xFB, 0xBA, 0xEF,
|
||||
0xBD, 0xFF, 0x01, 0xF3, 0xF6, 0xFE, 0xF7, 0x00, 0xF5, 0xEE, 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00, 0xF4, 0xB9, 0xFF,
|
||||
0x00, 0x4A, 0xBF, 0xD6, 0x0B, 0xD8, 0xCC, 0xD3, 0xB6, 0xBA, 0xBD, 0xBD, 0xBA, 0xB4, 0xD0, 0xDA, 0xD7, 0xF4, 0xD6,
|
||||
0x02, 0xD9, 0xD1, 0xB6, 0xFE, 0xBE, 0x03, 0xBD, 0xB0, 0xE7, 0xEA, 0xBB, 0xE7, 0xBE, 0xDE, 0x08, 0xDF, 0xE1, 0xD3,
|
||||
0xD5, 0xD6, 0xD6, 0xD5, 0xD2, 0xE0, 0xF1, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x01, 0xC1, 0xFB, 0xBA, 0xEF, 0xBC,
|
||||
0xFF, 0x05, 0xF4, 0xF6, 0xF7, 0xF7, 0xF6, 0xF3, 0xEF, 0xFF, 0x00, 0xF4, 0xFE, 0xF8, 0x01, 0xF7, 0xF4, 0xB9, 0xFF,
|
||||
0x00, 0x49, 0xBF, 0xD6, 0x04, 0xD7, 0xDA, 0xCE, 0xD6, 0xB8, 0xFE, 0xBD, 0x03, 0xB8, 0xD5, 0xCC, 0xD8, 0xF4, 0xD6,
|
||||
0x09, 0xD9, 0xD1, 0xB6, 0xBF, 0xAE, 0xBF, 0xBD, 0xB0, 0xE7, 0xEA, 0xBB, 0xE7, 0xBD, 0xDE, 0x02, 0xDF, 0xE2, 0xD4,
|
||||
0xFE, 0xD6, 0x02, 0xD4, 0xE2, 0xDF, 0xF2, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x01, 0xC1, 0xFB, 0xBA, 0xEF, 0xBB,
|
||||
0xFF, 0x00, 0xF5, 0xFE, 0xF7, 0x00, 0xF5, 0xEF, 0xFF, 0x05, 0xF4, 0xF9, 0xE8, 0xF9, 0xF7, 0xF4, 0xB9, 0xFF, 0x00,
|
||||
0x4A, 0xBE, 0xD6, 0x0B, 0xD8, 0xCA, 0xD3, 0xB6, 0xBD, 0xBD, 0xBA, 0xB8, 0xB2, 0xD0, 0xDA, 0xD7, 0xF5, 0xD6, 0x09,
|
||||
0xD9, 0xD1, 0xB6, 0xC0, 0xAF, 0xC0, 0xBD, 0xB1, 0xE8, 0xEB, 0xBB, 0xE7, 0xBC, 0xDE, 0x07, 0xE1, 0xD3, 0xD6, 0xD6,
|
||||
0xD5, 0xD4, 0xD1, 0xE0, 0xF2, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC3, 0xFD, 0xF1, 0xBB, 0xEF, 0xBB, 0xFF,
|
||||
0x05, 0xF4, 0xF7, 0xF7, 0xF6, 0xF5, 0xF2, 0xF0, 0xFF, 0x05, 0xF4, 0xFA, 0xE9, 0xFA, 0xF7, 0xF4, 0xB9, 0xFF, 0x00,
|
||||
0x4A, 0xBE, 0xD6, 0x0B, 0xD7, 0xDA, 0xD0, 0xB4, 0xBA, 0xBD, 0xBA, 0xDF, 0xB4, 0xD3, 0xCA, 0xD8, 0xF5, 0xD6, 0x09,
|
||||
0xD9, 0xD1, 0xB6, 0xC0, 0xAF, 0xC0, 0xBD, 0xB3, 0xD9, 0xED, 0xBB, 0xE7, 0xBC, 0xDE, 0x07, 0xE0, 0xD2, 0xD5, 0xD6,
|
||||
0xD5, 0xE6, 0xD2, 0xE1, 0xF2, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xBB, 0xEF, 0xBB, 0xFF,
|
||||
0x05, 0xF3, 0xF6, 0xF7, 0xF6, 0xFF, 0xF3, 0xF0, 0xFF, 0x05, 0xF4, 0xFA, 0xE9, 0xFA, 0xF7, 0xF4, 0xB9, 0xFF, 0x00,
|
||||
0x49, 0xBD, 0xD6, 0x0A, 0xD9, 0xCD, 0xD6, 0xB6, 0xB8, 0xB4, 0xB4, 0xB0, 0xD1, 0xCA, 0xD8, 0xF5, 0xD6, 0x09, 0xD8,
|
||||
0xD0, 0xB5, 0xC0, 0xAF, 0xC0, 0xBD, 0xB5, 0xCA, 0xEF, 0xBB, 0xE7, 0xBC, 0xDE, 0x07, 0xDF, 0xE2, 0xD3, 0xD4, 0xD2,
|
||||
0xD2, 0xD0, 0xE0, 0xF2, 0xDE, 0x02, 0xE3, 0xC7, 0xCD, 0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xBB, 0xEF, 0xBA, 0xFF,
|
||||
0x04, 0xF4, 0xF5, 0xF3, 0xF3, 0xF1, 0xF0, 0xFF, 0x05, 0xF4, 0xFA, 0xE9, 0xFA, 0xF7, 0xF4, 0xB9, 0xFF, 0x00, 0x44,
|
||||
0xBD, 0xD6, 0x0A, 0xD8, 0xCA, 0xD1, 0xB0, 0xD6, 0xD3, 0xD2, 0xCF, 0xCC, 0xD9, 0xD7, 0xF5, 0xD6, 0x09, 0xD7, 0xDE,
|
||||
0xB2, 0xBD, 0xAF, 0xC0, 0xBD, 0xB6, 0xCB, 0xF0, 0xBB, 0xE7, 0xBB, 0xDE, 0x06, 0xE0, 0xD0, 0xE2, 0xE1, 0xE1, 0xE0,
|
||||
0xDF, 0xF2, 0xDE, 0x02, 0xE1, 0xD6, 0xCB, 0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xBB, 0xEF, 0xBA, 0xFF, 0x00, 0xF1,
|
||||
0xEC, 0xFF, 0x05, 0xF3, 0xF9, 0xE9, 0xFA, 0xF7, 0xF4, 0xB9, 0xFF, 0x00, 0x38, 0xBD, 0xD6, 0x09, 0xD7, 0xDA, 0xCE,
|
||||
0xCF, 0xCE, 0xCA, 0xDA, 0xD9, 0xD8, 0xD7, 0xF3, 0xD6, 0x09, 0xDB, 0xD3, 0xBA, 0xAE, 0xBF, 0xBD, 0xB8, 0xCE, 0xF3,
|
||||
0xE8, 0xBC, 0xE7, 0xBB, 0xDE, 0xFE, 0xDF, 0xEE, 0xDE, 0x02, 0xDF, 0xE5, 0xC9, 0xFE, 0xCE, 0x02, 0xCA, 0xDF, 0xF7,
|
||||
0xBB, 0xEF, 0xA3, 0xFF, 0x04, 0xF7, 0xE8, 0xF9, 0xF7, 0xF5, 0xB9, 0xFF, 0x00, 0x30, 0xBC, 0xD6, 0x05, 0xD8, 0xC9,
|
||||
0xCA, 0xDA, 0xD8, 0xD7, 0xF0, 0xD6, 0x09, 0xD9, 0xD1, 0xB7, 0xBE, 0xBE, 0xBD, 0xBA, 0xAD, 0xE3, 0xE9, 0xBC, 0xE7,
|
||||
0xA4, 0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xCC, 0xBF, 0xF9, 0xBB, 0xEF, 0xA3, 0xFF, 0x05, 0xF5, 0xF8, 0xF8,
|
||||
0xF7, 0xF6, 0xF3, 0xBA, 0xFF, 0x00, 0x2B, 0xBC, 0xD6, 0x03, 0xD7, 0xD8, 0xD8, 0xD7, 0xEE, 0xD6, 0x02, 0xD9, 0xD1,
|
||||
0xB6, 0xFD, 0xBD, 0x02, 0xB0, 0xE7, 0xEA, 0xBC, 0xE7, 0xA4, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x01, 0xC1, 0xFB,
|
||||
0xBB, 0xEF, 0xA3, 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00, 0xF4, 0xBA, 0xFF, 0x00, 0x25, 0xA5, 0xD6, 0x02, 0xD9, 0xD1,
|
||||
0xB6, 0xFD, 0xBD, 0x02, 0xB2, 0xE9, 0xEC, 0xBC, 0xE7, 0xA4, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC3, 0xFD,
|
||||
0xF1, 0xBC, 0xEF, 0xA3, 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00, 0xF4, 0xBA, 0xFF, 0x00, 0x25, 0xA5, 0xD6, 0x02, 0xD8,
|
||||
0xD0, 0xB5, 0xFD, 0xBD, 0x02, 0xB4, 0xC9, 0xEE, 0xBC, 0xE7, 0xA4, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5,
|
||||
0xDB, 0xF3, 0xBC, 0xEF, 0xA3, 0xFF, 0x00, 0xF4, 0xFD, 0xF7, 0x00, 0xF4, 0xBA, 0xFF, 0x00, 0x29, 0xA5, 0xD6, 0x03,
|
||||
0xD7, 0xDE, 0xB2, 0xBA, 0xFE, 0xBD, 0x03, 0xB6, 0xCC, 0xF1, 0xE8, 0xBD, 0xE7, 0xA4, 0xDE, 0x02, 0xE2, 0xC6, 0xCC,
|
||||
0xFE, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xBC, 0xEF, 0xA3, 0xFF, 0x01, 0xF3, 0xF6, 0xFE, 0xF7, 0x00, 0xF4, 0xBA, 0xFF,
|
||||
0x00, 0x2E, 0xA4, 0xD6, 0x09, 0xDB, 0xD3, 0xB9, 0xBE, 0xBE, 0xBD, 0xB8, 0xCF, 0xE1, 0xE9, 0xEC, 0xE7, 0x03, 0xE8,
|
||||
0xE9, 0xE9, 0xE8, 0xD6, 0xE7, 0xA4, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFE, 0xCE, 0x02, 0xCA, 0xDF, 0xF7, 0xBC, 0xEF,
|
||||
0xA2, 0xFF, 0x04, 0xF6, 0xF8, 0xF8, 0xF7, 0xF5, 0xBA, 0xFF, 0x00, 0x39, 0xA4, 0xD6, 0x09, 0xD9, 0xD1, 0xB7, 0xAD,
|
||||
0xBF, 0xBF, 0xBC, 0xAF, 0xE4, 0xEA, 0xEE, 0xE7, 0x06, 0xE8, 0xEB, 0xF1, 0xE3, 0xE1, 0xEE, 0xE8, 0xD7, 0xE7, 0xA3,
|
||||
0xDE, 0x01, 0xE4, 0xC8, 0xFE, 0xCE, 0x02, 0xCC, 0xBF, 0xF9, 0xEC, 0xEF, 0x04, 0xF1, 0xF5, 0xF8, 0xF6, 0xF2, 0xD6,
|
||||
0xEF, 0xA2, 0xFF, 0x05, 0xF5, 0xE7, 0xF9, 0xF9, 0xF8, 0xF4, 0xBB, 0xFF, 0x00, 0x44, 0xA4, 0xD6, 0x09, 0xD9, 0xD1,
|
||||
0xB7, 0xBE, 0xBF, 0xAE, 0xAE, 0xB3, 0xE9, 0xEC, 0xF1, 0xE7, 0x09, 0xE8, 0xEA, 0xED, 0xF2, 0xE5, 0xCC, 0xAD, 0xA7,
|
||||
0xE1, 0xE9, 0xD7, 0xE7, 0xA3, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC3, 0xFD, 0xF1, 0xF0, 0xEF, 0x07, 0xF1,
|
||||
0xF3, 0xF7, 0xFB, 0xDD, 0xBE, 0xC9, 0xF6, 0xD6, 0xEF, 0xA2, 0xFF, 0x05, 0xF5, 0xF8, 0xF9, 0xE8, 0xE8, 0xF5, 0xE9,
|
||||
0xFF, 0x01, 0xF3, 0xF2, 0xD5, 0xFF, 0x00, 0x4E, 0xA4, 0xD6, 0x09, 0xD8, 0xD0, 0xB5, 0xBD, 0xBE, 0xBF, 0xBF, 0xB5,
|
||||
0xC9, 0xEE, 0xF3, 0xE7, 0x0B, 0xE8, 0xEB, 0xF1, 0xE4, 0xD9, 0xCD, 0xAF, 0xB6, 0xBA, 0xB0, 0xE7, 0xEA, 0xE5, 0xE7,
|
||||
0xFE, 0xE8, 0xF6, 0xE7, 0xA3, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xF2, 0xEF, 0x09, 0xF1,
|
||||
0xF5, 0xFB, 0xDB, 0xDF, 0xC1, 0xC7, 0xCB, 0xC0, 0xFA, 0xD6, 0xEF, 0xA2, 0xFF, 0x05, 0xF4, 0xF7, 0xF8, 0xF9, 0xF9,
|
||||
0xF5, 0xEB, 0xFF, 0x03, 0xF3, 0xF5, 0xF6, 0xF4, 0xD5, 0xFF, 0x00, 0x65, 0xA4, 0xD6, 0x03, 0xD7, 0xDE, 0xB2, 0xBA,
|
||||
0xFE, 0xBD, 0x03, 0xB8, 0xCE, 0xF3, 0xE8, 0xF7, 0xE7, 0x0E, 0xE8, 0xEA, 0xED, 0xF2, 0xE5, 0xCC, 0xAE, 0xB4, 0xB8,
|
||||
0xBB, 0xBD, 0xBD, 0xB0, 0xE7, 0xEA, 0xE6, 0xE7, 0x05, 0xE8, 0xEE, 0xDE, 0xF1, 0xEB, 0xE8, 0xF8, 0xE7, 0xA3, 0xDE,
|
||||
0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x02, 0xCA, 0xDF, 0xF7, 0xF5, 0xEF, 0x0C, 0xF1, 0xF3, 0xF7, 0xFB, 0xDD, 0xC1,
|
||||
0xC5, 0xCA, 0xCC, 0xCE, 0xCE, 0xC1, 0xFB, 0xE4, 0xEF, 0x03, 0xF3, 0xF5, 0xF5, 0xF1, 0xF7, 0xEF, 0xA2, 0xFF, 0x01,
|
||||
0xF3, 0xF6, 0xFE, 0xF7, 0x00, 0xF5, 0xEE, 0xFF, 0x02, 0xF3, 0xF5, 0xF6, 0xFE, 0xF7, 0x00, 0xF4, 0xD5, 0xFF, 0x00,
|
||||
0x72, 0xA3, 0xD6, 0x02, 0xDB, 0xD3, 0xB8, 0xFE, 0xBE, 0x03, 0xBA, 0xAD, 0xE3, 0xE9, 0xF9, 0xE7, 0x10, 0xE8, 0xEB,
|
||||
0xF1, 0xE4, 0xD9, 0xCD, 0xAF, 0xB6, 0xBB, 0xC0, 0xB0, 0xC1, 0xBF, 0xBE, 0xB2, 0xE9, 0xEC, 0xE7, 0xE7, 0x07, 0xE8,
|
||||
0xEE, 0xE7, 0xA8, 0xCC, 0xE4, 0xEF, 0xE9, 0xF9, 0xE7, 0xA3, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFE, 0xCE, 0x02, 0xCC,
|
||||
0xBF, 0xF9, 0xF7, 0xEF, 0x07, 0xF1, 0xF5, 0xFB, 0xDB, 0xDF, 0xC1, 0xC7, 0xCC, 0xFC, 0xCE, 0x02, 0xC3, 0xFD, 0xF1,
|
||||
0xE6, 0xEF, 0x06, 0xF3, 0xFB, 0xBB, 0xDD, 0xFB, 0xF5, 0xF1, 0xF9, 0xEF, 0xA1, 0xFF, 0x00, 0xF5, 0xFE, 0xF8, 0x01,
|
||||
0xF6, 0xF3, 0xF1, 0xFF, 0x08, 0xF3, 0xF5, 0xF7, 0xFA, 0xEA, 0xFB, 0xF9, 0xF8, 0xF4, 0xE2, 0xFF, 0x00, 0xF2, 0xF5,
|
||||
0xFF, 0x00, 0x80, 0xA3, 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xBF, 0xAF, 0xC0, 0xBE, 0xB2, 0xE9, 0xEC, 0xFC, 0xE7, 0x13,
|
||||
0xE8, 0xEB, 0xEE, 0xF3, 0xE5, 0xCC, 0xAE, 0xB4, 0xB8, 0xBB, 0xBD, 0xBF, 0xB1, 0xB3, 0xB3, 0xB0, 0xBF, 0xB4, 0xC9,
|
||||
0xEE, 0xE8, 0xE7, 0x0A, 0xE8, 0xEE, 0xE7, 0xAF, 0xB6, 0xB6, 0xAE, 0xD9, 0xF2, 0xEB, 0xE8, 0xFB, 0xE7, 0xA2, 0xDE,
|
||||
0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC3, 0xFD, 0xF1, 0xFB, 0xEF, 0x08, 0xF1, 0xF3, 0xF7, 0xFB, 0xDD, 0xC1, 0xC5,
|
||||
0xCA, 0xCC, 0xFA, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xE7, 0xEF, 0x08, 0xF3, 0xFB, 0xC1, 0xC7, 0xC7, 0xC1, 0xDB, 0xF7,
|
||||
0xF1, 0xFA, 0xEF, 0xA1, 0xFF, 0x05, 0xF4, 0xF9, 0xE9, 0xFA, 0xF8, 0xF4, 0xF4, 0xFF, 0x0B, 0xF3, 0xF5, 0xF6, 0xF7,
|
||||
0xF7, 0xF9, 0xEB, 0xED, 0xED, 0xEA, 0xF9, 0xF4, 0xE3, 0xFF, 0x03, 0xF4, 0xF5, 0xF5, 0xF3, 0xF7, 0xFF, 0x00, 0x88,
|
||||
0xA3, 0xD6, 0x22, 0xD9, 0xD1, 0xB6, 0xBF, 0xB0, 0xB0, 0xBF, 0xB4, 0xC9, 0xEE, 0xE7, 0xE7, 0xE8, 0xE9, 0xEC, 0xF1,
|
||||
0xE5, 0xC9, 0xCE, 0xB0, 0xB8, 0xBC, 0xC0, 0xAE, 0xBF, 0xBD, 0xC0, 0xB2, 0xB5, 0xB5, 0xB2, 0xC0, 0xB6, 0xCB, 0xF0,
|
||||
0xE9, 0xE7, 0x0B, 0xE8, 0xEE, 0xE7, 0xAF, 0xB8, 0xBE, 0xBE, 0xBA, 0xB2, 0xCA, 0xDF, 0xEA, 0xFB, 0xE7, 0xA2, 0xDE,
|
||||
0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xFD, 0xEF, 0x07, 0xF1, 0xF5, 0xFB, 0xDB, 0xDF, 0xC1, 0xC7,
|
||||
0xCC, 0xF7, 0xCE, 0x02, 0xC8, 0xDD, 0xF5, 0xE8, 0xEF, 0x0A, 0xF2, 0xFA, 0xC0, 0xC9, 0xCE, 0xCE, 0xCC, 0xC5, 0xDD,
|
||||
0xF7, 0xF1, 0xFB, 0xEF, 0xA1, 0xFF, 0x05, 0xF4, 0xF9, 0xEA, 0xEA, 0xF9, 0xF4, 0xF6, 0xFF, 0x0D, 0xF4, 0xF7, 0xF8,
|
||||
0xFA, 0xE8, 0xF9, 0xF7, 0xFA, 0xEC, 0xEF, 0xEF, 0xEC, 0xFA, 0xF4, 0xE4, 0xFF, 0x05, 0xF4, 0xF6, 0xF8, 0xF8, 0xF7,
|
||||
0xF4, 0xF8, 0xFF, 0x00, 0x8F, 0xA3, 0xD6, 0x23, 0xD8, 0xCE, 0xB3, 0xBB, 0xC1, 0xB1, 0xC1, 0xB9, 0xCE, 0xF3, 0xE9,
|
||||
0xEB, 0xEF, 0xE1, 0xE6, 0xCC, 0xAF, 0xB4, 0xB9, 0xBD, 0xB0, 0xB0, 0xC2, 0xB0, 0xC0, 0xBD, 0xBF, 0xB0, 0xB3, 0xB4,
|
||||
0xB2, 0xC0, 0xB8, 0xCE, 0xF3, 0xE8, 0xEB, 0xE7, 0x0C, 0xE8, 0xEE, 0xE7, 0xAF, 0xB8, 0xBE, 0xBF, 0xAE, 0xBE, 0xB8,
|
||||
0xAC, 0xD1, 0xEA, 0xFB, 0xE7, 0xA2, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x0C, 0xCA, 0xDF, 0xF7, 0xEF, 0xF1,
|
||||
0xF3, 0xF7, 0xFB, 0xDD, 0xC1, 0xC5, 0xCA, 0xCC, 0xF5, 0xCE, 0x02, 0xCA, 0xDF, 0xF7, 0xE9, 0xEF, 0x03, 0xF3, 0xFA,
|
||||
0xD1, 0xC8, 0xFD, 0xCE, 0x03, 0xCA, 0xBF, 0xD5, 0xF1, 0xFB, 0xEF, 0xA1, 0xFF, 0x05, 0xF3, 0xF7, 0xFB, 0xEB, 0xFB,
|
||||
0xF6, 0xF9, 0xFF, 0x10, 0xF3, 0xF4, 0xF6, 0xF9, 0xEA, 0xEA, 0xFC, 0xEA, 0xFA, 0xF7, 0xF9, 0xEA, 0xED, 0xEE, 0xEC,
|
||||
0xFA, 0xF5, 0xE5, 0xFF, 0x07, 0xF4, 0xF6, 0xF8, 0xF9, 0xE8, 0xF8, 0xF5, 0xF2, 0xF9, 0xFF, 0x00, 0x96, 0xA3, 0xD6,
|
||||
0x23, 0xD7, 0xDC, 0xD4, 0xB8, 0xC0, 0xB1, 0xB1, 0xBC, 0xAF, 0xE8, 0xF4, 0xE5, 0xCA, 0xD0, 0xB2, 0xB9, 0xBC, 0xBE,
|
||||
0xBF, 0xB0, 0xB2, 0xC3, 0xB2, 0xB0, 0xBF, 0xBD, 0xBB, 0xBC, 0xBE, 0xB1, 0xB0, 0xBF, 0xBA, 0xAD, 0xE3, 0xE9, 0xEC,
|
||||
0xE7, 0x0D, 0xE8, 0xEE, 0xE7, 0xAF, 0xB8, 0xBD, 0xBE, 0xAE, 0xBF, 0xBB, 0xB4, 0xCB, 0xF2, 0xE9, 0xFB, 0xE7, 0xA2,
|
||||
0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFE, 0xCE, 0x09, 0xCC, 0xC1, 0xFD, 0xF7, 0xFB, 0xDB, 0xDF, 0xC1, 0xC7, 0xCC, 0xF8,
|
||||
0xCE, 0xFE, 0xCC, 0xFE, 0xCE, 0x02, 0xCC, 0xBF, 0xF9, 0xEA, 0xEF, 0x04, 0xF3, 0xFB, 0xC0, 0xC8, 0xCD, 0xFE, 0xCE,
|
||||
0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xFB, 0xEF, 0xA0, 0xFF, 0x05, 0xF5, 0xFA, 0xEB, 0xEB, 0xF8, 0xF3, 0xFC, 0xFF,
|
||||
0x00, 0xF5, 0xFE, 0xF8, 0x0F, 0xF9, 0xEA, 0xEC, 0xFD, 0xEC, 0xEA, 0xF9, 0xF7, 0xF7, 0xF8, 0xFA, 0xEB, 0xEA, 0xF9,
|
||||
0xF6, 0xF3, 0xE7, 0xFF, 0x07, 0xF4, 0xF6, 0xF7, 0xF8, 0xE8, 0xF9, 0xF7, 0xF4, 0xF8, 0xFF, 0x00, 0x96, 0xA2, 0xD6,
|
||||
0x22, 0xD9, 0xD1, 0xB7, 0xC1, 0xB2, 0xB1, 0xBF, 0xB6, 0xD3, 0xCF, 0xAF, 0xB4, 0xB9, 0xAB, 0xB0, 0xAF, 0xBF, 0xC0,
|
||||
0xB0, 0xC2, 0xB0, 0xB0, 0xBD, 0xB9, 0xB6, 0xB4, 0xDA, 0xB9, 0xBF, 0xBF, 0xBE, 0xBD, 0xB0, 0xE7, 0xEA, 0xED, 0xE7,
|
||||
0x0D, 0xE8, 0xEE, 0xE7, 0xAF, 0xB8, 0xBD, 0xBD, 0xBE, 0xBE, 0xBB, 0xB4, 0xCD, 0xE1, 0xEB, 0xFA, 0xE7, 0xA1, 0xDE,
|
||||
0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x06, 0xC7, 0xE3, 0xDF, 0xC1, 0xC5, 0xCA, 0xCC, 0xF9, 0xCE, 0x05, 0xCC, 0xCA, 0xC8,
|
||||
0xC6, 0xEA, 0xCA, 0xFD, 0xCE, 0x01, 0xC1, 0xFB, 0xEB, 0xEF, 0x03, 0xF3, 0xFB, 0xC1, 0xC9, 0xFD, 0xCE, 0x04, 0xCC,
|
||||
0xC5, 0xDD, 0xF7, 0xF1, 0xFA, 0xEF, 0xA0, 0xFF, 0x1E, 0xF5, 0xFB, 0xEC, 0xEB, 0xF9, 0xF5, 0xFF, 0xFF, 0xF3, 0xF4,
|
||||
0xF6, 0xE7, 0xEA, 0xE9, 0xF9, 0xFA, 0xEA, 0xFC, 0xEA, 0xEA, 0xF9, 0xF6, 0xF4, 0xF3, 0xFF, 0xF6, 0xF9, 0xF9, 0xF8,
|
||||
0xF7, 0xF4, 0xE8, 0xFF, 0x07, 0xF4, 0xF6, 0xF7, 0xF7, 0xF8, 0xF8, 0xF7, 0xF4, 0xF7, 0xFF, 0x00, 0x96, 0xA2, 0xD6,
|
||||
0x1B, 0xD9, 0xCF, 0xB5, 0xAC, 0xB1, 0xC1, 0xC0, 0xBB, 0xB9, 0xB8, 0xBB, 0xBE, 0xBF, 0xBF, 0xC1, 0xAF, 0xBF, 0xBF,
|
||||
0xAE, 0xC0, 0xBC, 0xBA, 0xB4, 0xD4, 0xD1, 0xD0, 0xD5, 0xB6, 0xFD, 0xBD, 0x02, 0xB2, 0xE9, 0xEC, 0xEE, 0xE7, 0x0E,
|
||||
0xE9, 0xEF, 0xE8, 0xAF, 0xB9, 0xBE, 0xBE, 0xBD, 0xBD, 0xBA, 0xB4, 0xCD, 0xE2, 0xEC, 0xE8, 0xFA, 0xE7, 0xA1, 0xDE,
|
||||
0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x03, 0xCC, 0xCA, 0xCA, 0xCC, 0xF8, 0xCE, 0x07, 0xCC, 0xCA, 0xC6, 0xE6, 0xE4,
|
||||
0xE2, 0xE6, 0xC8, 0xFD, 0xCE, 0x02, 0xC3, 0xFD, 0xF1, 0xEE, 0xEF, 0x04, 0xF1, 0xF5, 0xFD, 0xC1, 0xC9, 0xFD, 0xCE,
|
||||
0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xF9, 0xEF, 0xA0, 0xFF, 0x14, 0xF4, 0xE8, 0xEB, 0xFB, 0xFA, 0xF7, 0xF6, 0xF5,
|
||||
0xF7, 0xF8, 0xF9, 0xF9, 0xFB, 0xE9, 0xF9, 0xF9, 0xE8, 0xFA, 0xF8, 0xF7, 0xF4, 0xFD, 0xFF, 0x00, 0xF4, 0xFD, 0xF7,
|
||||
0x00, 0xF4, 0xE9, 0xFF, 0x07, 0xF4, 0xF7, 0xF8, 0xF8, 0xF7, 0xF7, 0xF6, 0xF4, 0xF6, 0xFF, 0x00, 0x91, 0xA2, 0xD6,
|
||||
0x1B, 0xD8, 0xCC, 0xD6, 0xBA, 0xC0, 0xAE, 0xBF, 0xAD, 0xBE, 0xBD, 0xBF, 0xAF, 0xC1, 0xBF, 0xBF, 0xBE, 0xBE, 0xBB,
|
||||
0xB9, 0xB7, 0xB3, 0xD4, 0xCE, 0xDC, 0xD9, 0xDA, 0xD1, 0xB5, 0xFE, 0xBE, 0x03, 0xBD, 0xB4, 0xC9, 0xEE, 0xEF, 0xE7,
|
||||
0x0E, 0xEA, 0xF1, 0xD9, 0xB0, 0xB8, 0xBF, 0xAE, 0xBF, 0xBD, 0xBA, 0xB4, 0xCD, 0xE2, 0xEC, 0xE8, 0xF9, 0xE7, 0xA1,
|
||||
0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xF4, 0xCE, 0x0A, 0xCC, 0xCA, 0xC8, 0xC6, 0xE6, 0xE2, 0xE0, 0xDE, 0xDE, 0xE4, 0xC8,
|
||||
0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xEF, 0xEF, 0x04, 0xF1, 0xF7, 0xDB, 0xC3, 0xC9, 0xFD, 0xCE, 0x04, 0xCC, 0xC5,
|
||||
0xDD, 0xF7, 0xF1, 0xF8, 0xEF, 0x9F, 0xFF, 0x11, 0xF7, 0xFA, 0xE8, 0xF9, 0xE7, 0xF8, 0xF7, 0xF9, 0xE9, 0xFB, 0xF9,
|
||||
0xF9, 0xF8, 0xF8, 0xF7, 0xF6, 0xF5, 0xF3, 0xFB, 0xFF, 0x00, 0xF4, 0xFE, 0xF8, 0x01, 0xF7, 0xF4, 0xEA, 0xFF, 0x07,
|
||||
0xF4, 0xF6, 0xF9, 0xE8, 0xF9, 0xF7, 0xF6, 0xF4, 0xF5, 0xFF, 0x00, 0x91, 0xA2, 0xD6, 0x23, 0xD7, 0xDA, 0xD2, 0xB6,
|
||||
0xBE, 0xBF, 0xC1, 0xC0, 0xBF, 0xBD, 0xBF, 0xAF, 0xB0, 0xAE, 0xBE, 0xBA, 0xB8, 0xB3, 0xD4, 0xD1, 0xCE, 0xDC, 0xD8,
|
||||
0xD7, 0xD6, 0xD7, 0xDE, 0xB2, 0xBC, 0xAE, 0xBF, 0xBD, 0xB8, 0xCE, 0xF3, 0xE8, 0xF2, 0xE7, 0x0F, 0xE8, 0xEB, 0xF3,
|
||||
0xCA, 0xB2, 0xB9, 0xBE, 0xC0, 0xAF, 0xBF, 0xBA, 0xB4, 0xCD, 0xE2, 0xEC, 0xE8, 0xF8, 0xE7, 0xA0, 0xDE, 0x01, 0xE4,
|
||||
0xC8, 0xF6, 0xCE, 0x06, 0xCC, 0xCA, 0xC6, 0xE6, 0xE4, 0xE2, 0xE0, 0xFD, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE,
|
||||
0x02, 0xC9, 0xDE, 0xF6, 0xF0, 0xEF, 0x04, 0xF1, 0xF7, 0xDD, 0xC5, 0xCC, 0xFD, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7,
|
||||
0xF1, 0xF7, 0xEF, 0x9F, 0xFF, 0x0E, 0xF4, 0xF8, 0xF9, 0xFB, 0xFA, 0xF9, 0xF7, 0xF9, 0xE9, 0xEA, 0xE8, 0xF8, 0xF6,
|
||||
0xF5, 0xF3, 0xF8, 0xFF, 0x05, 0xF3, 0xF8, 0xE8, 0xF9, 0xF7, 0xF5, 0xEB, 0xFF, 0x07, 0xF4, 0xF6, 0xF8, 0xFA, 0xE9,
|
||||
0xF9, 0xF6, 0xF4, 0xF4, 0xFF, 0x00, 0x8E, 0xA1, 0xD6, 0x14, 0xD8, 0xCE, 0xB3, 0xBA, 0xBE, 0xAE, 0xAE, 0xBE, 0xBD,
|
||||
0xBE, 0xBF, 0xBD, 0xBA, 0xB7, 0xB3, 0xD4, 0xCE, 0xDC, 0xD9, 0xD8, 0xD7, 0xFD, 0xD6, 0x09, 0xDB, 0xD3, 0xBA, 0xAF,
|
||||
0xC0, 0xBF, 0xBB, 0xAE, 0xE3, 0xE9, 0xF3, 0xE7, 0x0F, 0xE8, 0xEE, 0xE3, 0xCE, 0xB4, 0xBC, 0xBF, 0xC0, 0xAF, 0xC0,
|
||||
0xBB, 0xB4, 0xCD, 0xE2, 0xEC, 0xE8, 0xF7, 0xE7, 0xA0, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFA, 0xCE, 0x06, 0xCC, 0xCA,
|
||||
0xC8, 0xC6, 0xE6, 0xE2, 0xE0, 0xFA, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFE, 0xCE, 0x02, 0xCB, 0xCF, 0xF8, 0xF1, 0xEF,
|
||||
0x04, 0xF3, 0xF9, 0xDF, 0xC5, 0xCC, 0xFD, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xF6, 0xEF, 0x9F, 0xFF, 0x0C,
|
||||
0xF3, 0xF6, 0xF8, 0xE8, 0xE8, 0xF8, 0xF7, 0xF8, 0xF9, 0xF9, 0xF7, 0xF5, 0xF3, 0xF5, 0xFF, 0x05, 0xF7, 0xE9, 0xFA,
|
||||
0xF9, 0xF7, 0xF4, 0xED, 0xFF, 0x07, 0xF5, 0xF8, 0xF9, 0xFA, 0xE9, 0xFA, 0xF7, 0xF4, 0xF3, 0xFF, 0x00, 0x8A, 0xA1,
|
||||
0xD6, 0x11, 0xD7, 0xDC, 0xD4, 0xB8, 0xBE, 0xBF, 0xBF, 0xBE, 0xBD, 0xBA, 0xB8, 0xB3, 0xD4, 0xD1, 0xCE, 0xDC, 0xD8,
|
||||
0xD7, 0xFA, 0xD6, 0x09, 0xD9, 0xD1, 0xB7, 0xC0, 0xAF, 0xC0, 0xAD, 0xB2, 0xE8, 0xEB, 0xF5, 0xE7, 0x10, 0xE8, 0xEB,
|
||||
0xF1, 0xE9, 0xAD, 0xB6, 0xBC, 0xB0, 0xB0, 0xC1, 0xAE, 0xBC, 0xB4, 0xCD, 0xE2, 0xEC, 0xE8, 0xF6, 0xE7, 0xA0, 0xDE,
|
||||
0x02, 0xE0, 0xE6, 0xCA, 0xFC, 0xCE, 0x06, 0xCC, 0xCA, 0xC6, 0xE6, 0xE4, 0xE2, 0xE0, 0xF7, 0xDE, 0x01, 0xE4, 0xC8,
|
||||
0xFE, 0xCE, 0x03, 0xCD, 0xC2, 0xFC, 0xF1, 0xF4, 0xEF, 0x05, 0xF1, 0xF5, 0xFD, 0xBF, 0xC7, 0xCC, 0xFD, 0xCE, 0x04,
|
||||
0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xF5, 0xEF, 0x9E, 0xFF, 0x08, 0xF5, 0xF8, 0xF9, 0xF9, 0xF8, 0xF7, 0xF6, 0xF5, 0xF3,
|
||||
0xF2, 0xFF, 0x05, 0xF5, 0xFA, 0xE9, 0xFA, 0xE7, 0xF5, 0xEF, 0xFF, 0x08, 0xF3, 0xF5, 0xF8, 0xEA, 0xEA, 0xFB, 0xE8,
|
||||
0xF8, 0xF4, 0xF2, 0xFF, 0x00, 0x81, 0xA0, 0xD6, 0x0E, 0xD9, 0xD1, 0xB6, 0xBD, 0xBD, 0xBA, 0xB8, 0xB6, 0xB3, 0xD4,
|
||||
0xCE, 0xDC, 0xD9, 0xD8, 0xD7, 0xF8, 0xD6, 0x09, 0xD9, 0xD1, 0xB6, 0xC0, 0xAF, 0xC1, 0xBE, 0xB4, 0xD9, 0xED, 0xF6,
|
||||
0xE7, 0x10, 0xE8, 0xEC, 0xE1, 0xCA, 0xB1, 0xB8, 0xBD, 0xBF, 0xB1, 0xB1, 0xC1, 0xBB, 0xB4, 0xCC, 0xE1, 0xEC, 0xE8,
|
||||
0xF5, 0xE7, 0x9F, 0xDE, 0x0A, 0xE4, 0xC8, 0xCE, 0xCE, 0xCC, 0xCA, 0xC8, 0xC6, 0xE6, 0xE2, 0xE0, 0xF4, 0xDE, 0x01,
|
||||
0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xF5, 0xEF, 0x04, 0xF1, 0xF7, 0xDB, 0xC3, 0xC9, 0xFC, 0xCE, 0x04,
|
||||
0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xF4, 0xEF, 0x9E, 0xFF, 0x06, 0xF4, 0xF7, 0xF7, 0xF6, 0xF5, 0xF4, 0xF3, 0xF0, 0xFF,
|
||||
0x05, 0xF4, 0xFA, 0xE9, 0xFB, 0xF8, 0xF5, 0xF0, 0xFF, 0x08, 0xF4, 0xF6, 0xF7, 0xF9, 0xEB, 0xEB, 0xFB, 0xF7, 0xF5,
|
||||
0xF1, 0xFF, 0x00, 0x7D, 0xA0, 0xD6, 0x0B, 0xD8, 0xCE, 0xB3, 0xB8, 0xB8, 0xB3, 0xD4, 0xD1, 0xCE, 0xDC, 0xD8, 0xD7,
|
||||
0xF5, 0xD6, 0x0A, 0xD8, 0xCE, 0xB3, 0xBD, 0xAF, 0xC0, 0xBD, 0xB7, 0xCD, 0xF2, 0xE8, 0xF9, 0xE7, 0x11, 0xE8, 0xEB,
|
||||
0xF1, 0xE6, 0xCF, 0xB4, 0xBA, 0xBD, 0xBD, 0xBE, 0xC0, 0xAF, 0xBB, 0xB2, 0xCA, 0xF3, 0xEB, 0xE8, 0xF4, 0xE7, 0x9F,
|
||||
0xDE, 0x08, 0xE2, 0xC5, 0xC9, 0xC9, 0xC6, 0xE6, 0xE4, 0xE2, 0xE0, 0xF2, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE,
|
||||
0x02, 0xC9, 0xDE, 0xF6, 0xF7, 0xEF, 0x05, 0xF1, 0xF5, 0xFB, 0xDF, 0xC5, 0xCC, 0xFC, 0xCE, 0x04, 0xCC, 0xC5, 0xDD,
|
||||
0xF7, 0xF1, 0xF3, 0xEF, 0x9E, 0xFF, 0x03, 0xF3, 0xF5, 0xF5, 0xF3, 0xED, 0xFF, 0x05, 0xF3, 0xF9, 0xE9, 0xFA, 0xF7,
|
||||
0xF5, 0xF1, 0xFF, 0x08, 0xF4, 0xF6, 0xF7, 0xF7, 0xF8, 0xFA, 0xE9, 0xF8, 0xF4, 0xF0, 0xFF, 0x00, 0x76, 0xA0, 0xD6,
|
||||
0x09, 0xD7, 0xDC, 0xD2, 0xB1, 0xD4, 0xCE, 0xDC, 0xD9, 0xD8, 0xD7, 0xF3, 0xD6, 0x0A, 0xD7, 0xDC, 0xD4, 0xBA, 0xAE,
|
||||
0xBF, 0xBD, 0xBA, 0xAD, 0xE3, 0xE9, 0xFA, 0xE7, 0x06, 0xE8, 0xEC, 0xE1, 0xCA, 0xAF, 0xB6, 0xBA, 0xFE, 0xBE, 0x06,
|
||||
0xBD, 0xBB, 0xB7, 0xAF, 0xD9, 0xF1, 0xEA, 0xF2, 0xE7, 0x9F, 0xDE, 0x05, 0xE0, 0xE3, 0xD4, 0xE5, 0xE2, 0xE0, 0xEF,
|
||||
0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFE, 0xCE, 0x02, 0xCB, 0xCF, 0xF8, 0xF8, 0xEF, 0x05, 0xF1, 0xF7, 0xDB, 0xC1, 0xC7,
|
||||
0xCC, 0xFD, 0xCE, 0x05, 0xCC, 0xC7, 0xC1, 0xDB, 0xF7, 0xF1, 0xF2, 0xEF, 0x9D, 0xFF, 0x00, 0xF2, 0xEA, 0xFF, 0x05,
|
||||
0xF7, 0xE8, 0xF9, 0xF7, 0xF6, 0xF3, 0xF4, 0xFF, 0x02, 0xF3, 0xF5, 0xF6, 0xFE, 0xF8, 0x03, 0xF7, 0xF7, 0xF6, 0xF4,
|
||||
0xEF, 0xFF, 0x00, 0x68, 0x9F, 0xD6, 0x05, 0xD8, 0xCB, 0xCC, 0xDC, 0xD8, 0xD7, 0xEF, 0xD6, 0x09, 0xD9, 0xD1, 0xB7,
|
||||
0xBE, 0xBE, 0xBD, 0xBD, 0xB2, 0xE9, 0xEC, 0xFC, 0xE7, 0x06, 0xE8, 0xEB, 0xF1, 0xE6, 0xCF, 0xB5, 0xBC, 0xFE, 0xBF,
|
||||
0x07, 0xAE, 0xBE, 0xBA, 0xB4, 0xCF, 0xE5, 0xEF, 0xE9, 0xF1, 0xE7, 0x9E, 0xDE, 0xFE, 0xDF, 0xEC, 0xDE, 0x01, 0xE4,
|
||||
0xC8, 0xFE, 0xCE, 0x03, 0xCD, 0xC2, 0xFC, 0xF1, 0xFB, 0xEF, 0x05, 0xF1, 0xF5, 0xFB, 0xDF, 0xC5, 0xCC, 0xFC, 0xCE,
|
||||
0x05, 0xCC, 0xC5, 0xDF, 0xFB, 0xF5, 0xF1, 0xF1, 0xEF, 0x85, 0xFF, 0x05, 0xF5, 0xF8, 0xF8, 0xF7, 0xF7, 0xF4, 0xF5,
|
||||
0xFF, 0x01, 0xF5, 0xF8, 0xFE, 0xF9, 0x03, 0xE8, 0xF8, 0xF6, 0xF4, 0xED, 0xFF, 0x00, 0x61, 0x9F, 0xD6, 0x03, 0xD7,
|
||||
0xD8, 0xD8, 0xD7, 0xED, 0xD6, 0x02, 0xD9, 0xD1, 0xB6, 0xFD, 0xBD, 0x18, 0xB4, 0xCA, 0xEF, 0xE8, 0xE7, 0xE7, 0xE8,
|
||||
0xEB, 0xF1, 0xE5, 0xCD, 0xB0, 0xB7, 0xBB, 0xAF, 0xAF, 0xC0, 0xAF, 0xC0, 0xBB, 0xB2, 0xCB, 0xE1, 0xEC, 0xE8, 0xF0,
|
||||
0xE7, 0x86, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x02, 0xC5, 0xDB, 0xF3, 0xFD, 0xEF, 0x06, 0xF1, 0xF5, 0xFB, 0xDD,
|
||||
0xC1, 0xC7, 0xCC, 0xFC, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xEF, 0xEF, 0x85, 0xFF, 0x00, 0xF4, 0xFD, 0xF7,
|
||||
0x00, 0xF4, 0xF7, 0xFF, 0x09, 0xF4, 0xF6, 0xF7, 0xE9, 0xE9, 0xFA, 0xE9, 0xFA, 0xF8, 0xF4, 0xEC, 0xFF, 0x00, 0x5D,
|
||||
0x87, 0xD6, 0x1E, 0xD8, 0xCE, 0xB3, 0xBA, 0xBD, 0xBE, 0xBE, 0xB9, 0xCF, 0xE1, 0xE9, 0xE7, 0xE9, 0xED, 0xE2, 0xCA,
|
||||
0xAF, 0xB8, 0xAB, 0xBF, 0xBF, 0xC1, 0xB0, 0xC0, 0xBC, 0xA7, 0xAF, 0xD9, 0xF2, 0xEB, 0xE8, 0xEF, 0xE7, 0x86, 0xDE,
|
||||
0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x0B, 0xCA, 0xDF, 0xF7, 0xEF, 0xEF, 0xF1, 0xF3, 0xF9, 0xDB, 0xC1, 0xC7, 0xCC,
|
||||
0xFC, 0xCE, 0x05, 0xCC, 0xC7, 0xC1, 0xDB, 0xF7, 0xF1, 0xEE, 0xEF, 0x85, 0xFF, 0x05, 0xF3, 0xF6, 0xF7, 0xF8, 0xF8,
|
||||
0xF6, 0xF9, 0xFF, 0x0A, 0xF3, 0xF7, 0xE7, 0xF9, 0xF9, 0xFB, 0xEA, 0xFA, 0xF8, 0xE6, 0xF4, 0xEB, 0xFF, 0x00, 0x58,
|
||||
0x87, 0xD6, 0x1C, 0xD7, 0xDC, 0xD4, 0xB8, 0xBD, 0xBE, 0xAD, 0xBB, 0xB0, 0xE6, 0xED, 0xEB, 0xF2, 0xD6, 0xD0, 0xB5,
|
||||
0xBC, 0xC2, 0xB0, 0xC0, 0xBE, 0xAE, 0xBF, 0xBB, 0xB5, 0xD0, 0xE6, 0xEF, 0xE9, 0xED, 0xE7, 0x86, 0xDE, 0x02, 0xE0,
|
||||
0xE6, 0xCA, 0xFE, 0xCE, 0x09, 0xCC, 0xC1, 0xFB, 0xF1, 0xF1, 0xF7, 0xD9, 0xE1, 0xC5, 0xCC, 0xFB, 0xCE, 0x05, 0xCC,
|
||||
0xC5, 0xDF, 0xFB, 0xF5, 0xF1, 0xED, 0xEF, 0x84, 0xFF, 0x05, 0xF5, 0xF7, 0xF8, 0xE7, 0xF7, 0xF3, 0xFB, 0xFF, 0x09,
|
||||
0xF5, 0xF8, 0xFC, 0xEA, 0xFA, 0xF8, 0xE8, 0xF9, 0xF7, 0xF5, 0xE9, 0xFF, 0x00, 0x54, 0x86, 0xD6, 0x03, 0xD9, 0xD1,
|
||||
0xB6, 0xBD, 0xFE, 0xBE, 0x13, 0xB6, 0xCE, 0xFA, 0xE5, 0xCD, 0xB0, 0xB7, 0xBC, 0xB0, 0xB2, 0xB0, 0xBF, 0xBE, 0xBB,
|
||||
0xB7, 0xAF, 0xCA, 0xE1, 0xEC, 0xE8, 0xEC, 0xE7, 0x85, 0xDE, 0x01, 0xE4, 0xC8, 0xFD, 0xCE, 0x07, 0xC7, 0xDF, 0xFB,
|
||||
0xFB, 0xDF, 0xC3, 0xCA, 0xCC, 0xFC, 0xCE, 0x05, 0xCC, 0xC7, 0xC1, 0xDB, 0xF7, 0xF1, 0xEB, 0xEF, 0x84, 0xFF, 0x01,
|
||||
0xF4, 0xF7, 0xFE, 0xF8, 0x00, 0xF5, 0xFD, 0xFF, 0x0A, 0xF3, 0xF5, 0xF8, 0xEA, 0xEC, 0xEA, 0xF9, 0xF8, 0xF7, 0xF6,
|
||||
0xF3, 0xE8, 0xFF, 0x00, 0x51, 0x86, 0xD6, 0x03, 0xD8, 0xCE, 0xB3, 0xBA, 0xFE, 0xBE, 0x12, 0xBA, 0xB3, 0xD3, 0xAF,
|
||||
0xB6, 0xBB, 0xBF, 0xC1, 0xB1, 0xB1, 0xC0, 0xBE, 0xB9, 0xB2, 0xCD, 0xE5, 0xF1, 0xEB, 0xE8, 0xEB, 0xE7, 0x85, 0xDE,
|
||||
0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x05, 0xCC, 0xC5, 0xE3, 0xC1, 0xC7, 0xCC, 0xFB, 0xCE, 0x05, 0xCC, 0xC5, 0xDF,
|
||||
0xFB, 0xF5, 0xF1, 0xEA, 0xEF, 0x84, 0xFF, 0x01, 0xF3, 0xF6, 0xFE, 0xF8, 0x0D, 0xF6, 0xF4, 0xFF, 0xF3, 0xF5, 0xF7,
|
||||
0xF9, 0xFB, 0xEB, 0xEB, 0xFA, 0xF8, 0xF6, 0xF4, 0xE6, 0xFF, 0x00, 0x48, 0x86, 0xD6, 0x07, 0xD7, 0xDC, 0xD4, 0xB8,
|
||||
0xBE, 0xAE, 0xBF, 0xBE, 0xFE, 0xBA, 0x0C, 0xBD, 0xBF, 0xB0, 0xB1, 0xC1, 0xBF, 0xBB, 0xB6, 0xAE, 0xD9, 0xF2, 0xEB,
|
||||
0xE8, 0xE9, 0xE7, 0x85, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFD, 0xCE, 0xFE, 0xCC, 0xFB, 0xCE, 0x05, 0xCC, 0xC7, 0xC1,
|
||||
0xDB, 0xF7, 0xF1, 0xE8, 0xEF, 0x83, 0xFF, 0x04, 0xF5, 0xF8, 0xE8, 0xF9, 0xF8, 0xFE, 0xF6, 0x08, 0xF7, 0xF9, 0xEA,
|
||||
0xEB, 0xFB, 0xF9, 0xF7, 0xF5, 0xF3, 0xE5, 0xFF, 0x00, 0x3F, 0x85, 0xD6, 0x14, 0xD9, 0xD1, 0xB6, 0xBE, 0xBF, 0xAF,
|
||||
0xC0, 0xC0, 0xBF, 0xBE, 0xBD, 0xBF, 0xB0, 0xB0, 0xBC, 0xB6, 0xAF, 0xCC, 0xE4, 0xEF, 0xE9, 0xE7, 0xE7, 0x84, 0xDE,
|
||||
0x01, 0xE4, 0xC8, 0xF6, 0xCE, 0x06, 0xCC, 0xC7, 0xC1, 0xDD, 0xFB, 0xF5, 0xF1, 0xE7, 0xEF, 0x83, 0xFF, 0x0E, 0xF4,
|
||||
0xF8, 0xF9, 0xE9, 0xFA, 0xFA, 0xF9, 0xF8, 0xF7, 0xF9, 0xEA, 0xEA, 0xF8, 0xF5, 0xF3, 0xE3, 0xFF, 0x00, 0x3F, 0x88,
|
||||
0xD6, 0x16, 0xD7, 0xD8, 0xD9, 0xDB, 0xD2, 0xB6, 0xBD, 0xBE, 0xBF, 0xAF, 0xAF, 0xAE, 0xBE, 0xBD, 0xBE, 0xBC, 0xB9,
|
||||
0xB1, 0xCD, 0xE5, 0xF1, 0xEB, 0xE8, 0xE6, 0xE7, 0x84, 0xDE, 0x01, 0xE4, 0xC8, 0xF8, 0xCE, 0x06, 0xCC, 0xCA, 0xC3,
|
||||
0xDF, 0xFB, 0xF5, 0xF1, 0xE5, 0xEF, 0x83, 0xFF, 0x0C, 0xF4, 0xF7, 0xF8, 0xF9, 0xE9, 0xE9, 0xE8, 0xF8, 0xF7, 0xF8,
|
||||
0xF8, 0xF7, 0xF4, 0xE1, 0xFF, 0x00, 0x41, 0x8A, 0xD6, 0x16, 0xD7, 0xD8, 0xDA, 0xCC, 0xCF, 0xD2, 0xD7, 0xB8, 0xBD,
|
||||
0xBE, 0xBF, 0xC0, 0xC0, 0xBF, 0xBE, 0xBD, 0xB9, 0xB2, 0xCE, 0xD5, 0xF2, 0xEB, 0xE8, 0xE4, 0xE7, 0x87, 0xDE, 0x05,
|
||||
0xDF, 0xE0, 0xE1, 0xE5, 0xC8, 0xCD, 0xFB, 0xCE, 0x06, 0xCD, 0xCB, 0xC4, 0xE1, 0xD9, 0xF7, 0xF1, 0xE3, 0xEF, 0x83,
|
||||
0xFF, 0x0A, 0xF5, 0xF7, 0xF8, 0xF9, 0xFA, 0xFA, 0xF9, 0xF8, 0xF7, 0xF6, 0xF4, 0xDF, 0xFF, 0x00, 0x45, 0x8D, 0xD6,
|
||||
0x17, 0xD7, 0xD8, 0xD9, 0xDA, 0xCA, 0xCE, 0xD3, 0xB4, 0xB6, 0xB8, 0xBA, 0xBD, 0xBE, 0xAE, 0xC0, 0xBF, 0xBE, 0xBA,
|
||||
0xB6, 0xAE, 0xD9, 0xF3, 0xEC, 0xE9, 0xE2, 0xE7, 0x88, 0xDE, 0x06, 0xDF, 0xE1, 0xD2, 0xD3, 0xD5, 0xD9, 0xCC, 0xFC,
|
||||
0xCE, 0x06, 0xCC, 0xC6, 0xD1, 0xDA, 0xF9, 0xF3, 0xF1, 0xE2, 0xEF, 0x86, 0xFF, 0x0C, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
|
||||
0xF8, 0xE8, 0xFA, 0xF9, 0xF8, 0xF6, 0xF5, 0xF3, 0xDE, 0xFF, 0x00, 0x47, 0x90, 0xD6, 0x0B, 0xD7, 0xD8, 0xD9, 0xDA,
|
||||
0xCA, 0xCD, 0xD0, 0xD3, 0xD6, 0xB6, 0xBA, 0xBD, 0xFE, 0xBA, 0x09, 0xBE, 0xC0, 0xB1, 0xB1, 0xC0, 0xB9, 0xD3, 0xE7,
|
||||
0xEF, 0xE9, 0xE0, 0xE7, 0x8B, 0xDE, 0x0A, 0xDF, 0xE0, 0xE1, 0xE2, 0xD3, 0xD5, 0xD6, 0xD5, 0xD7, 0xC9, 0xCD, 0xFD,
|
||||
0xCE, 0x04, 0xCA, 0xE2, 0xFC, 0xF4, 0xF1, 0xE0, 0xEF, 0x87, 0xFF, 0x02, 0xF4, 0xF6, 0xF7, 0xFE, 0xF6, 0x05, 0xF8,
|
||||
0xFA, 0xEB, 0xEB, 0xFA, 0xF6, 0xDC, 0xFF, 0x00, 0x4D, 0x93, 0xD6, 0x1A, 0xD7, 0xD8, 0xD9, 0xDA, 0xCA, 0xCD, 0xD0,
|
||||
0xD1, 0xD2, 0xB0, 0xB4, 0xB8, 0xBA, 0xBD, 0xBD, 0xBA, 0xDF, 0xBA, 0xBD, 0xBF, 0xB1, 0xB3, 0xB1, 0xBA, 0xCF, 0xF4,
|
||||
0xE9, 0xDF, 0xE7, 0x8E, 0xDE, 0x00, 0xDF, 0xFE, 0xE0, 0x09, 0xD0, 0xD2, 0xD4, 0xD5, 0xD6, 0xD6, 0xD5, 0xE7, 0xD9,
|
||||
0xCC, 0xFD, 0xCE, 0x02, 0xCA, 0xDF, 0xF7, 0xDE, 0xEF, 0x8A, 0xFF, 0x0E, 0xF1, 0xF3, 0xF5, 0xF6, 0xF7, 0xF7, 0xF6,
|
||||
0xFF, 0xF6, 0xF7, 0xF9, 0xEB, 0xED, 0xEB, 0xF7, 0xDC, 0xFF, 0x00, 0x5A, 0x97, 0xD6, 0x0F, 0xD7, 0xD8, 0xD9, 0xD9,
|
||||
0xDA, 0xCA, 0xCD, 0xD0, 0xD3, 0xD6, 0xB4, 0xB4, 0xD8, 0xD8, 0xB8, 0xBA, 0xFE, 0xBD, 0x0B, 0xB8, 0xB6, 0xB4, 0xB8,
|
||||
0xBB, 0xC1, 0xB3, 0xB2, 0xBD, 0xAF, 0xE5, 0xEB, 0xDF, 0xE7, 0x91, 0xDE, 0x09, 0xDF, 0xE0, 0xE1, 0xE2, 0xD2, 0xD2,
|
||||
0xE3, 0xE3, 0xD4, 0xD5, 0xFE, 0xD6, 0x04, 0xD4, 0xD3, 0xD4, 0xC8, 0xCC, 0xFE, 0xCE, 0x03, 0xCC, 0xC1, 0xFB, 0xF1,
|
||||
0xDF, 0xEF, 0x8D, 0xFF, 0x05, 0xF3, 0xF3, 0xFF, 0xFF, 0xF5, 0xF6, 0xFE, 0xF7, 0x09, 0xF5, 0xF4, 0xF3, 0xF5, 0xF7,
|
||||
0xFB, 0xED, 0xEC, 0xF9, 0xF3, 0xDD, 0xFF, 0x00, 0x65, 0x9B, 0xD6, 0x23, 0xD7, 0xD8, 0xD9, 0xD9, 0xDA, 0xCA, 0xCD,
|
||||
0xCF, 0xD2, 0xD3, 0xD6, 0xB4, 0xB6, 0xB8, 0xBA, 0xB8, 0xB4, 0xB2, 0xDA, 0xBA, 0xBD, 0xBA, 0xB8, 0xB4, 0xD6, 0xD4,
|
||||
0xD8, 0xB8, 0xC0, 0xB2, 0xB2, 0xC0, 0xB6, 0xCC, 0xF1, 0xE8, 0xE0, 0xE7, 0x95, 0xDE, 0x15, 0xDF, 0xE0, 0xE1, 0xE1,
|
||||
0xE2, 0xD2, 0xD3, 0xD4, 0xD5, 0xD4, 0xD2, 0xD1, 0xE4, 0xD5, 0xD6, 0xD5, 0xD4, 0xD2, 0xE2, 0xE2, 0xE7, 0xCA, 0xFD,
|
||||
0xCE, 0x02, 0xC7, 0xDD, 0xF5, 0xDF, 0xEF, 0x90, 0xFF, 0x0C, 0xF3, 0xF4, 0xF5, 0xF6, 0xF5, 0xF3, 0xF2, 0xFF, 0xF6,
|
||||
0xF7, 0xF6, 0xF5, 0xF3, 0xFE, 0xFF, 0x05, 0xF5, 0xFA, 0xEC, 0xEC, 0xFA, 0xF5, 0xDD, 0xFF, 0x00, 0x72, 0xA0, 0xD6,
|
||||
0x01, 0xD7, 0xD8, 0xFE, 0xD9, 0x0B, 0xDA, 0xCA, 0xCB, 0xCD, 0xD0, 0xD3, 0xD6, 0xB4, 0xB4, 0xB2, 0xB4, 0xB8, 0xFE,
|
||||
0xBD, 0x02, 0xBA, 0xDC, 0xDA, 0xFE, 0xB8, 0x0E, 0xB4, 0xD6, 0xD1, 0xCE, 0xCB, 0xD0, 0xB3, 0xBC, 0xB0, 0xB0, 0xBF,
|
||||
0xBA, 0xAF, 0xE5, 0xEB, 0xE0, 0xE7, 0x98, 0xDE, 0x08, 0xDF, 0xE0, 0xE1, 0xE2, 0xD2, 0xD2, 0xD1, 0xD2, 0xD4, 0xFE,
|
||||
0xD6, 0x02, 0xD5, 0xE5, 0xE4, 0xFE, 0xD4, 0x07, 0xD2, 0xE2, 0xE0, 0xDF, 0xDE, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x03,
|
||||
0xCC, 0xC1, 0xFB, 0xF1, 0xE0, 0xEF, 0x94, 0xFF, 0x04, 0xF3, 0xF3, 0xF2, 0xF3, 0xF5, 0xFE, 0xF7, 0x02, 0xF6, 0xFF,
|
||||
0xFF, 0xFE, 0xF5, 0x00, 0xF3, 0xFC, 0xFF, 0x06, 0xF3, 0xF8, 0xEA, 0xEA, 0xF9, 0xF6, 0xF3, 0xDE, 0xFF, 0x00, 0x7B,
|
||||
0xB6, 0xD6, 0x01, 0xD7, 0xD8, 0xED, 0xD9, 0x10, 0xDA, 0xCA, 0xCB, 0xCD, 0xCF, 0xD2, 0xD3, 0xD4, 0xD6, 0xB4, 0xB6,
|
||||
0xB8, 0xBA, 0xB8, 0xD8, 0xD8, 0xB8, 0xFE, 0xBD, 0x01, 0xBA, 0xB6, 0xFE, 0xB4, 0x10, 0xD5, 0xD0, 0xCD, 0xCA, 0xDA,
|
||||
0xD9, 0xDD, 0xD4, 0xB9, 0xBF, 0xBF, 0xBE, 0xBD, 0xB6, 0xCC, 0xF1, 0xE8, 0xE1, 0xE7, 0x9D, 0xDE, 0x01, 0xDF, 0xE0,
|
||||
0xFE, 0xE1, 0x08, 0xE2, 0xD2, 0xD3, 0xD4, 0xD5, 0xD4, 0xE3, 0xE3, 0xD4, 0xFE, 0xD6, 0x01, 0xD5, 0xD3, 0xFE, 0xD2,
|
||||
0x02, 0xE2, 0xE0, 0xDF, 0xFE, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFD, 0xCE, 0x02, 0xC7, 0xDD, 0xF5, 0xE0, 0xEF, 0x97,
|
||||
0xFF, 0x07, 0xF3, 0xF4, 0xF5, 0xF6, 0xF5, 0xFF, 0xFF, 0xF5, 0xFE, 0xF7, 0x01, 0xF6, 0xF4, 0xFE, 0xF3, 0xF9, 0xFF,
|
||||
0x05, 0xF6, 0xF9, 0xF9, 0xF8, 0xF7, 0xF5, 0xDE, 0xFF, 0x00, 0x88, 0xB6, 0xD6, 0x01, 0xD8, 0xC9, 0xF2, 0xCB, 0x01,
|
||||
0xCD, 0xCF, 0xFE, 0xD1, 0x09, 0xD2, 0xD3, 0xD4, 0xD6, 0xB4, 0xB4, 0xB2, 0xB0, 0xB4, 0xB8, 0xFE, 0xBD, 0x15, 0xB6,
|
||||
0xD6, 0xD6, 0xB8, 0xBD, 0xBA, 0xB8, 0xB6, 0xB4, 0xD5, 0xD2, 0xCF, 0xCC, 0xDA, 0xD9, 0xD8, 0xD7, 0xD6, 0xD8, 0xCE,
|
||||
0xB3, 0xBA, 0xFE, 0xBD, 0x03, 0xBA, 0xAF, 0xE5, 0xEB, 0xE1, 0xE7, 0xA5, 0xDE, 0x01, 0xDF, 0xE0, 0xFB, 0xE1, 0x06,
|
||||
0xE2, 0xD2, 0xD2, 0xD1, 0xD0, 0xD2, 0xD4, 0xFE, 0xD6, 0x0C, 0xD3, 0xE2, 0xE2, 0xD4, 0xD6, 0xD5, 0xD4, 0xD3, 0xD2,
|
||||
0xE2, 0xE1, 0xE0, 0xDF, 0xFB, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x03, 0xCC, 0xC1, 0xFB, 0xF1, 0xE1, 0xEF,
|
||||
0x9C, 0xFF, 0x05, 0xF3, 0xF3, 0xF2, 0xF1, 0xF3, 0xF5, 0xFE, 0xF7, 0x08, 0xF4, 0xFF, 0xFF, 0xF5, 0xF7, 0xF6, 0xF5,
|
||||
0xF4, 0xF3, 0xF6, 0xFF, 0x01, 0xF3, 0xF6, 0xFE, 0xF7, 0x01, 0xF6, 0xF3, 0xDF, 0xFF, 0x00, 0x90, 0xB6, 0xD6, 0x03,
|
||||
0xD9, 0xCB, 0xD0, 0xD2, 0xF4, 0xD4, 0x03, 0xD6, 0xB4, 0xB6, 0xB6, 0xFE, 0xB4, 0x07, 0xB6, 0xB8, 0xBA, 0xBA, 0xDC,
|
||||
0xDA, 0xDC, 0xBA, 0xFE, 0xBD, 0x0D, 0xB8, 0xDA, 0xB4, 0xB6, 0xB6, 0xB4, 0xD5, 0xD2, 0xCF, 0xCC, 0xDA, 0xD9, 0xD8,
|
||||
0xD7, 0xFD, 0xD6, 0x03, 0xD7, 0xDC, 0xD4, 0xB8, 0xFD, 0xBD, 0x03, 0xB6, 0xCC, 0xF1, 0xE8, 0xE2, 0xE7, 0xB4, 0xDE,
|
||||
0x01, 0xDF, 0xE0, 0xF4, 0xE1, 0x03, 0xE2, 0xD2, 0xD3, 0xD3, 0xFE, 0xD2, 0x07, 0xD3, 0xD4, 0xD5, 0xD5, 0xE5, 0xE4,
|
||||
0xE5, 0xD5, 0xFE, 0xD6, 0x09, 0xD4, 0xE4, 0xD2, 0xD3, 0xD3, 0xD2, 0xE2, 0xE1, 0xE0, 0xDF, 0xF8, 0xDE, 0x02, 0xE0,
|
||||
0xE6, 0xCA, 0xFD, 0xCE, 0x02, 0xC7, 0xDD, 0xF5, 0xE1, 0xEF, 0xA4, 0xFF, 0x02, 0xF3, 0xF4, 0xF4, 0xFE, 0xF3, 0x03,
|
||||
0xF4, 0xF5, 0xF6, 0xF6, 0xFE, 0xFF, 0x00, 0xF6, 0xFE, 0xF7, 0x05, 0xF5, 0xFF, 0xF3, 0xF4, 0xF4, 0xF3, 0xF2, 0xFF,
|
||||
0x00, 0xF5, 0xFD, 0xF7, 0x00, 0xF5, 0xDF, 0xFF, 0x00, 0x91, 0xB6, 0xD6, 0x03, 0xD9, 0xCD, 0xD4, 0xB4, 0xF4, 0xB6,
|
||||
0x06, 0xB8, 0xBA, 0xBD, 0xBD, 0xB8, 0xDC, 0xB8, 0xFE, 0xBD, 0x12, 0xB8, 0xB6, 0xB4, 0xB8, 0xBA, 0xBD, 0xBA, 0xB8,
|
||||
0xB4, 0xB4, 0xB2, 0xD5, 0xD2, 0xCF, 0xCC, 0xDA, 0xD9, 0xD8, 0xD7, 0xF9, 0xD6, 0x03, 0xD8, 0xCE, 0xB3, 0xBA, 0xFE,
|
||||
0xBD, 0x04, 0xBA, 0xAF, 0xE6, 0xEC, 0xE8, 0xE3, 0xE7, 0xB5, 0xDE, 0x02, 0xDF, 0xE1, 0xD2, 0xF4, 0xD3, 0x06, 0xD4,
|
||||
0xD5, 0xD6, 0xD6, 0xD4, 0xE5, 0xD4, 0xFE, 0xD6, 0x0E, 0xD4, 0xD3, 0xD2, 0xD4, 0xD5, 0xD6, 0xD5, 0xD4, 0xD2, 0xD2,
|
||||
0xD1, 0xE2, 0xE1, 0xE0, 0xDF, 0xF4, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x03, 0xCC, 0xC1, 0xFB, 0xF1, 0xE2,
|
||||
0xEF, 0xB3, 0xFF, 0x00, 0xF3, 0xF4, 0xF4, 0x06, 0xF5, 0xF6, 0xF7, 0xF7, 0xF5, 0xFF, 0xF5, 0xFE, 0xF7, 0x0A, 0xF5,
|
||||
0xF4, 0xF3, 0xF5, 0xF6, 0xF7, 0xF6, 0xF5, 0xF3, 0xF3, 0xF2, 0xEF, 0xFF, 0x01, 0xF3, 0xF6, 0xFE, 0xF7, 0x01, 0xF6,
|
||||
0xF3, 0xE0, 0xFF, 0x00, 0x78, 0xB6, 0xD6, 0x03, 0xD9, 0xCF, 0xB4, 0xBA, 0xF0, 0xBD, 0x02, 0xB8, 0xDC, 0xB8, 0xFE,
|
||||
0xBD, 0x01, 0xBA, 0xDC, 0xFD, 0xB6, 0x09, 0xB4, 0xD6, 0xD3, 0xD2, 0xCF, 0xCC, 0xDA, 0xD9, 0xD8, 0xD7, 0xF6, 0xD6,
|
||||
0x0B, 0xD7, 0xDC, 0xD4, 0xB8, 0xBD, 0xBD, 0xBE, 0xBE, 0xB7, 0xCE, 0xE0, 0xEA, 0xE3, 0xE7, 0xB5, 0xDE, 0x02, 0xE0,
|
||||
0xD2, 0xD5, 0xF0, 0xD6, 0x02, 0xD4, 0xE5, 0xD4, 0xFE, 0xD6, 0x01, 0xD5, 0xE5, 0xFD, 0xD3, 0x05, 0xD2, 0xE2, 0xE1,
|
||||
0xE1, 0xE0, 0xDF, 0xF1, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFD, 0xCE, 0x03, 0xC7, 0xDF, 0xF7, 0xF1, 0xE3, 0xEF, 0xB4,
|
||||
0xFF, 0x01, 0xF3, 0xF6, 0xF0, 0xF7, 0x02, 0xF5, 0xFF, 0xF5, 0xFE, 0xF7, 0x01, 0xF6, 0xFF, 0xFD, 0xF4, 0x00, 0xF3,
|
||||
0xEA, 0xFF, 0x05, 0xF5, 0xF7, 0xF7, 0xF8, 0xF8, 0xF6, 0xE0, 0xFF, 0x00, 0x8E, 0xB7, 0xD6, 0x0C, 0xD7, 0xDA, 0xD2,
|
||||
0xB6, 0xBD, 0xBD, 0xBA, 0xB8, 0xB6, 0xB8, 0xBA, 0xBD, 0xBD, 0xFE, 0xBA, 0xFB, 0xBD, 0x12, 0xBA, 0xBA, 0xB8, 0xB8,
|
||||
0xB6, 0xB6, 0xB4, 0xB2, 0xD4, 0xD4, 0xD3, 0xD2, 0xCF, 0xCD, 0xCA, 0xDA, 0xD9, 0xD8, 0xD7, 0xF2, 0xD6, 0x0B, 0xD8,
|
||||
0xCE, 0xB3, 0xBA, 0xBD, 0xBF, 0xAE, 0xBC, 0xB3, 0xDA, 0xF0, 0xE8, 0xE4, 0xE7, 0xB5, 0xDE, 0x0A, 0xE1, 0xD3, 0xD6,
|
||||
0xD6, 0xD5, 0xD4, 0xD3, 0xD4, 0xD5, 0xD6, 0xD6, 0xFE, 0xD5, 0xFB, 0xD6, 0x07, 0xD5, 0xD5, 0xD4, 0xD4, 0xD3, 0xD3,
|
||||
0xD2, 0xD1, 0xFD, 0xE1, 0x01, 0xE0, 0xDF, 0xEC, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x03, 0xCC, 0xC5, 0xDB,
|
||||
0xF5, 0xE3, 0xEF, 0xB4, 0xFF, 0x09, 0xF4, 0xF7, 0xF7, 0xF6, 0xF5, 0xF4, 0xF5, 0xF6, 0xF7, 0xF7, 0xFE, 0xF6, 0xFB,
|
||||
0xF7, 0x07, 0xF6, 0xF6, 0xF5, 0xF5, 0xF4, 0xF4, 0xF3, 0xF2, 0xE5, 0xFF, 0x06, 0xF3, 0xF6, 0xF7, 0xF9, 0xE8, 0xF8,
|
||||
0xF4, 0xE1, 0xFF, 0x00, 0x8E, 0xB7, 0xD6, 0x0F, 0xD8, 0xCA, 0xD1, 0xB2, 0xB8, 0xBA, 0xBA, 0xDC, 0xD8, 0xDA, 0xB8,
|
||||
0xBD, 0xBD, 0xBA, 0xDF, 0xBA, 0xFE, 0xBD, 0x01, 0xBA, 0xB8, 0xFE, 0xB6, 0x0D, 0xB4, 0xD6, 0xD4, 0xD4, 0xD3, 0xD0,
|
||||
0xCD, 0xCB, 0xCA, 0xDA, 0xD9, 0xD9, 0xD8, 0xD7, 0xEF, 0xD6, 0x0B, 0xD7, 0xDC, 0xD4, 0xB8, 0xBD, 0xC0, 0xAF, 0xC0,
|
||||
0xB9, 0xAE, 0xE4, 0xEB, 0xE4, 0xE7, 0xB5, 0xDE, 0x0D, 0xE0, 0xD1, 0xD4, 0xD5, 0xD5, 0xE5, 0xE3, 0xE4, 0xD4, 0xD6,
|
||||
0xD6, 0xD5, 0xE6, 0xD5, 0xFE, 0xD6, 0x01, 0xD5, 0xD4, 0xFE, 0xD3, 0x01, 0xD2, 0xE2, 0xFE, 0xE1, 0x01, 0xE0, 0xDF,
|
||||
0xE7, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFD, 0xCE, 0x03, 0xCC, 0xC1, 0xFB, 0xF1, 0xE4, 0xEF, 0xB4, 0xFF, 0x03, 0xF2,
|
||||
0xF5, 0xF6, 0xF6, 0xFE, 0xFF, 0x05, 0xF5, 0xF7, 0xF7, 0xF6, 0xFF, 0xF6, 0xFE, 0xF7, 0x01, 0xF6, 0xF5, 0xFE, 0xF4,
|
||||
0x00, 0xF3, 0xDF, 0xFF, 0x06, 0xF5, 0xF7, 0xFA, 0xE9, 0xFA, 0xF6, 0xF3, 0xE2, 0xFF, 0x00, 0x7A, 0xB7, 0xD6, 0x0C,
|
||||
0xD8, 0xCA, 0xCF, 0xD2, 0xD6, 0xB4, 0xB4, 0xB2, 0xAE, 0xD4, 0xB2, 0xB6, 0xB6, 0xFE, 0xB4, 0xFE, 0xB6, 0x0E, 0xB4,
|
||||
0xD6, 0xD4, 0xD4, 0xD3, 0xD0, 0xCD, 0xCB, 0xCB, 0xCA, 0xDA, 0xD9, 0xD9, 0xD8, 0xD7, 0xEA, 0xD6, 0x0B, 0xD8, 0xCE,
|
||||
0xB3, 0xBA, 0xBF, 0xAF, 0xC1, 0xBF, 0xB7, 0xCC, 0xF1, 0xE8, 0xE5, 0xE7, 0xB5, 0xDE, 0x0A, 0xDF, 0xE0, 0xE2, 0xD2,
|
||||
0xD2, 0xD1, 0xCF, 0xE1, 0xD1, 0xD3, 0xD3, 0xFE, 0xD2, 0xFE, 0xD3, 0x01, 0xD2, 0xE2, 0xFE, 0xE1, 0x01, 0xE0, 0xDF,
|
||||
0xE1, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFD, 0xCE, 0x02, 0xC7, 0xDD, 0xF5, 0xE4, 0xEF, 0xB2, 0xFF, 0x07, 0xF3, 0xF3,
|
||||
0xF2, 0xF0, 0xFF, 0xF2, 0xF4, 0xF4, 0xFE, 0xF3, 0xFE, 0xF4, 0x00, 0xF3, 0xDA, 0xFF, 0x06, 0xF3, 0xF6, 0xF9, 0xE9,
|
||||
0xFB, 0xF9, 0xF6, 0xE2, 0xFF, 0x00, 0x59, 0xB7, 0xD6, 0x07, 0xD7, 0xD9, 0xCA, 0xCB, 0xCD, 0xCF, 0xD1, 0xD1, 0xFE,
|
||||
0xCF, 0xF9, 0xD1, 0x05, 0xCF, 0xCD, 0xCB, 0xCB, 0xCA, 0xDA, 0xFE, 0xD9, 0x01, 0xD8, 0xD7, 0xE6, 0xD6, 0x0C, 0xD7,
|
||||
0xDB, 0xD1, 0xB5, 0xBB, 0xBF, 0xAF, 0xAE, 0xBB, 0xB1, 0xE9, 0xEE, 0xE8, 0xE6, 0xE7, 0xB3, 0xDE, 0x03, 0xDF, 0xE0,
|
||||
0xE1, 0xE1, 0xFE, 0xE0, 0xF9, 0xE1, 0x01, 0xE0, 0xDF, 0xDC, 0xDE, 0x03, 0xE0, 0xE4, 0xC8, 0xCC, 0xFE, 0xCE, 0x03,
|
||||
0xCC, 0xC2, 0xFC, 0xF2, 0xE5, 0xEF, 0x81, 0xFF, 0xFB, 0xFF, 0x06, 0xF4, 0xF7, 0xF9, 0xE9, 0xE8, 0xF7, 0xF4, 0xE3,
|
||||
0xFF, 0x00, 0x3A, 0xB6, 0xD6, 0x01, 0xD7, 0xD8, 0xED, 0xD9, 0x01, 0xD8, 0xD7, 0xE0, 0xD6, 0x0B, 0xD7, 0xDC, 0xD4,
|
||||
0xB8, 0xBE, 0xBF, 0xBF, 0xBE, 0xB8, 0xAD, 0xE3, 0xEB, 0xE6, 0xE7, 0x81, 0xDE, 0xFC, 0xDE, 0x02, 0xE0, 0xE6, 0xCA,
|
||||
0xFD, 0xCE, 0x03, 0xC8, 0xCF, 0xF8, 0xF1, 0xE6, 0xEF, 0x81, 0xFF, 0xFA, 0xFF, 0x06, 0xF5, 0xF8, 0xF9, 0xF9, 0xF8,
|
||||
0xF6, 0xF3, 0xE4, 0xFF, 0x00, 0x32, 0x81, 0xD6, 0xFC, 0xD6, 0x04, 0xD8, 0xCE, 0xB3, 0xBA, 0xBD, 0xFE, 0xBE, 0x03,
|
||||
0xB6, 0xCC, 0xF1, 0xE8, 0xE7, 0xE7, 0x81, 0xDE, 0xFB, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFE, 0xCE, 0x03, 0xCD, 0xC6,
|
||||
0xDC, 0xF5, 0xE6, 0xEF, 0x81, 0xFF, 0xFA, 0xFF, 0x02, 0xF3, 0xF6, 0xF7, 0xFE, 0xF8, 0x00, 0xF5, 0xE4, 0xFF, 0x00,
|
||||
0x34, 0x81, 0xD6, 0xFC, 0xD6, 0x0C, 0xD7, 0xDC, 0xD2, 0xB6, 0xBA, 0xBF, 0xAE, 0xBF, 0xBA, 0xB1, 0xE9, 0xEE, 0xE8,
|
||||
0xE8, 0xE7, 0x81, 0xDE, 0xFB, 0xDE, 0x03, 0xE0, 0xE4, 0xC8, 0xCC, 0xFE, 0xCE, 0x03, 0xCC, 0xC3, 0xFD, 0xF3, 0xE7,
|
||||
0xEF, 0x81, 0xFF, 0xF9, 0xFF, 0x06, 0xF4, 0xF6, 0xF9, 0xE8, 0xF9, 0xF6, 0xF4, 0xE5, 0xFF, 0x00, 0x33, 0x81, 0xD6,
|
||||
0xFB, 0xD6, 0x0C, 0xD8, 0xCC, 0xD5, 0xB8, 0xBF, 0xAF, 0xC0, 0xBE, 0xB8, 0xAD, 0xE4, 0xEC, 0xE8, 0xE9, 0xE7, 0x81,
|
||||
0xDE, 0xFA, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFD, 0xCE, 0x03, 0xC9, 0xBF, 0xF9, 0xF1, 0xE8, 0xEF, 0x81, 0xFF, 0xF8,
|
||||
0xFF, 0x06, 0xF5, 0xF9, 0xE9, 0xFA, 0xF8, 0xF6, 0xF3, 0xE6, 0xFF, 0x00, 0x33, 0x81, 0xD6, 0xFB, 0xD6, 0x0C, 0xD7,
|
||||
0xD9, 0xCF, 0xB3, 0xBB, 0xC0, 0xAF, 0xBF, 0xBD, 0xB6, 0xCF, 0xE1, 0xEB, 0xE9, 0xE7, 0x81, 0xDE, 0xF9, 0xDE, 0x02,
|
||||
0xE2, 0xC6, 0xCC, 0xFD, 0xCE, 0x03, 0xC7, 0xDF, 0xF7, 0xF1, 0xE9, 0xEF, 0x81, 0xFF, 0xF8, 0xFF, 0x06, 0xF3, 0xF7,
|
||||
0xFA, 0xE9, 0xF9, 0xF7, 0xF5, 0xE6, 0xFF, 0x00, 0x35, 0x81, 0xD6, 0xFA, 0xD6, 0x0C, 0xD7, 0xDB, 0xD1, 0xB5, 0xBC,
|
||||
0xAE, 0xBF, 0xBD, 0xBA, 0xB4, 0xCB, 0xF2, 0xE9, 0xEA, 0xE7, 0x81, 0xDE, 0xF9, 0xDE, 0x03, 0xE0, 0xE4, 0xC8, 0xCC,
|
||||
0xFE, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xEA, 0xEF, 0x81, 0xFF, 0xF7, 0xFF, 0x06, 0xF4, 0xF8, 0xE8, 0xF9,
|
||||
0xF7, 0xF6, 0xF4, 0xE7, 0xFF, 0x00, 0x33, 0x81, 0xD6, 0xF9, 0xD6, 0x0C, 0xD7, 0xDC, 0xD4, 0xB9, 0xBE, 0xBE, 0xBD,
|
||||
0xBD, 0xBA, 0xB2, 0xD9, 0xEF, 0xE8, 0xEB, 0xE7, 0x81, 0xDE, 0xF8, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFD, 0xCE, 0x03,
|
||||
0xCC, 0xC5, 0xDB, 0xF5, 0xEA, 0xEF, 0x81, 0xFF, 0xF6, 0xFF, 0x06, 0xF6, 0xF8, 0xF8, 0xF7, 0xF7, 0xF6, 0xF4, 0xE8,
|
||||
0xFF, 0x00, 0x32, 0x81, 0xD6, 0xF8, 0xD6, 0x03, 0xD8, 0xCE, 0xB3, 0xBA, 0xFD, 0xBD, 0x04, 0xB9, 0xB0, 0xE8, 0xEE,
|
||||
0xE8, 0xEC, 0xE7, 0x81, 0xDE, 0xF7, 0xDE, 0x02, 0xE2, 0xC6, 0xCC, 0xFD, 0xCE, 0x03, 0xCC, 0xC3, 0xFD, 0xF3, 0xEB,
|
||||
0xEF, 0x81, 0xFF, 0xF6, 0xFF, 0x01, 0xF3, 0xF6, 0xFD, 0xF7, 0x01, 0xF6, 0xF4, 0xE9, 0xFF, 0x00, 0x36, 0x81, 0xD6,
|
||||
0xF8, 0xD6, 0x05, 0xD7, 0xDB, 0xD1, 0xB5, 0xBA, 0xBD, 0xFE, 0xBE, 0x04, 0xB8, 0xAD, 0xE4, 0xEC, 0xE8, 0xED, 0xE7,
|
||||
0x81, 0xDE, 0xF7, 0xDE, 0x03, 0xE0, 0xE4, 0xC8, 0xCC, 0xFD, 0xCE, 0x03, 0xC9, 0xBF, 0xF9, 0xF1, 0xEC, 0xEF, 0x81,
|
||||
0xFF, 0xF5, 0xFF, 0x02, 0xF4, 0xF6, 0xF7, 0xFE, 0xF8, 0x01, 0xF6, 0xF3, 0xEA, 0xFF, 0x00, 0x35, 0x81, 0xD6, 0xF7,
|
||||
0xD6, 0x0D, 0xD7, 0xDB, 0xD1, 0xB5, 0xBA, 0xBF, 0xAE, 0xC0, 0xBE, 0xB7, 0xCF, 0xE2, 0xEC, 0xE8, 0xEE, 0xE7, 0x81,
|
||||
0xDE, 0xF6, 0xDE, 0x03, 0xE0, 0xE4, 0xC8, 0xCC, 0xFD, 0xCE, 0x03, 0xC7, 0xDF, 0xF7, 0xF1, 0xED, 0xEF, 0x81, 0xFF,
|
||||
0xF4, 0xFF, 0x06, 0xF4, 0xF6, 0xF9, 0xE8, 0xFA, 0xF8, 0xF6, 0xEA, 0xFF, 0x00, 0x36, 0x81, 0xD6, 0xF6, 0xD6, 0x0D,
|
||||
0xD7, 0xDC, 0xD4, 0xB8, 0xBF, 0xAE, 0xC1, 0xAF, 0xBD, 0xB5, 0xCD, 0xE2, 0xEC, 0xE8, 0xEF, 0xE7, 0x81, 0xDE, 0xF5,
|
||||
0xDE, 0x03, 0xE0, 0xE5, 0xC9, 0xCD, 0xFE, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xEE, 0xEF, 0x81, 0xFF, 0xF3,
|
||||
0xFF, 0x06, 0xF5, 0xF9, 0xE8, 0xFB, 0xE9, 0xF9, 0xF5, 0xEB, 0xFF, 0x00, 0x36, 0x81, 0xD6, 0xF5, 0xD6, 0x0D, 0xD8,
|
||||
0xCE, 0xB3, 0xBB, 0xBE, 0xC1, 0xB1, 0xB1, 0xBC, 0xB4, 0xCD, 0xE2, 0xEC, 0xE8, 0xF0, 0xE7, 0x81, 0xDE, 0xF4, 0xDE,
|
||||
0x02, 0xE1, 0xD6, 0xCB, 0xFD, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xEF, 0xEF, 0x81, 0xFF, 0xF3, 0xFF, 0x07,
|
||||
0xF3, 0xF7, 0xF8, 0xFB, 0xEB, 0xEB, 0xF8, 0xF4, 0xEC, 0xFF, 0x00, 0x38, 0x81, 0xD6, 0xF5, 0xD6, 0x0E, 0xD7, 0xDB,
|
||||
0xD1, 0xB5, 0xBA, 0xBF, 0xB1, 0xB1, 0xC0, 0xBA, 0xB4, 0xCD, 0xE2, 0xEC, 0xE8, 0xF1, 0xE7, 0x81, 0xDE, 0xF4, 0xDE,
|
||||
0x03, 0xDF, 0xE3, 0xC7, 0xCC, 0xFD, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xF0, 0xEF, 0x81, 0xFF, 0xF2, 0xFF,
|
||||
0x07, 0xF4, 0xF6, 0xF9, 0xEB, 0xEB, 0xFA, 0xF6, 0xF4, 0xED, 0xFF, 0x00, 0x38, 0x81, 0xD6, 0xF4, 0xD6, 0x0E, 0xD7,
|
||||
0xDB, 0xD1, 0xB5, 0xBB, 0xC0, 0xAF, 0xBF, 0xBE, 0xBB, 0xB5, 0xCD, 0xE2, 0xEC, 0xE8, 0xF2, 0xE7, 0x81, 0xDE, 0xF3,
|
||||
0xDE, 0x03, 0xE0, 0xE4, 0xC8, 0xCC, 0xFD, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xF1, 0xEF, 0x81, 0xFF, 0xF1,
|
||||
0xFF, 0x07, 0xF4, 0xF7, 0xFA, 0xE9, 0xF9, 0xF8, 0xF7, 0xF5, 0xEE, 0xFF, 0x00, 0x38, 0x81, 0xD6, 0xF3, 0xD6, 0x04,
|
||||
0xD7, 0xDB, 0xD1, 0xB5, 0xBB, 0xFE, 0xBE, 0x06, 0xAD, 0xBB, 0xB4, 0xCD, 0xE2, 0xEC, 0xE8, 0xF3, 0xE7, 0x81, 0xDE,
|
||||
0xF2, 0xDE, 0x03, 0xE0, 0xE4, 0xC8, 0xCC, 0xFD, 0xCE, 0x04, 0xCC, 0xC5, 0xDD, 0xF7, 0xF1, 0xF2, 0xEF, 0x81, 0xFF,
|
||||
0xF0, 0xFF, 0x01, 0xF4, 0xF7, 0xFE, 0xF8, 0x02, 0xE7, 0xF7, 0xF4, 0xEF, 0xFF, 0x00, 0x35, 0x81, 0xD6, 0xF2, 0xD6,
|
||||
0x05, 0xD7, 0xDC, 0xD4, 0xB8, 0xBD, 0xBD, 0xFE, 0xBE, 0x04, 0xBA, 0xB2, 0xC9, 0xDD, 0xE9, 0xF3, 0xE7, 0x81, 0xDE,
|
||||
0xF1, 0xDE, 0x02, 0xE0, 0xE6, 0xCA, 0xFC, 0xCE, 0x03, 0xCC, 0xC3, 0xD9, 0xF3, 0xF2, 0xEF, 0x81, 0xFF, 0xEF, 0xFF,
|
||||
0x02, 0xF5, 0xF7, 0xF7, 0xFE, 0xF8, 0x01, 0xF6, 0xF3, 0xF0, 0xFF, 0x00, 0xFF};
|
||||
|
||||
#endif // AARU_FSTESTER_SETTER_SRC_DARWIN_CARBON_H_
|
||||
18
setter/src/unix/darwin/darwin.h
Normal file
18
setter/src/unix/darwin/darwin.h
Normal file
@@ -0,0 +1,18 @@
|
||||
//
|
||||
// Created by claunia on 14/3/21.
|
||||
//
|
||||
|
||||
#ifndef SETTER_SRC_DARWIN_DARWIN_H_
|
||||
#define SETTER_SRC_DARWIN_DARWIN_H_
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
void DarwinGetOsInfo();
|
||||
void DarwinPrintStatfsFlags(uint32_t flags);
|
||||
void DarwinResourceFork(const char* path);
|
||||
void DarwinFileAttributes(const char* path);
|
||||
void DarwinExtendedAttributes(const char* path);
|
||||
void DarwinVolumeAttributes(const char* path);
|
||||
int DarwinSparse(const char* path);
|
||||
|
||||
#endif // SETTER_SRC_DARWIN_DARWIN_H_
|
||||
281
setter/src/unix/darwin/os.c
Normal file
281
setter/src/unix/darwin/os.c
Normal file
@@ -0,0 +1,281 @@
|
||||
/****************************************************************************
|
||||
Aaru Data Preservation Suite
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Author(s) : Natalia Portillo
|
||||
|
||||
--[ License ] ---------------------------------------------------------------
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2021 Natalia Portillo
|
||||
*****************************************************************************/
|
||||
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <sys/stat.h>
|
||||
#include <sys/utsname.h>
|
||||
|
||||
#include "../../log.h"
|
||||
|
||||
void DarwinGetOsInfo()
|
||||
{
|
||||
struct utsname buf;
|
||||
int ret;
|
||||
struct stat finder;
|
||||
struct stat server;
|
||||
int macosx;
|
||||
int macosx_server;
|
||||
int major = 0, minor = 0, release = 0;
|
||||
char sysname[256];
|
||||
char sysversion[256];
|
||||
|
||||
ret = uname(&buf);
|
||||
|
||||
if(ret)
|
||||
{
|
||||
log_write("Error %d retrieving OS information.\n", errno);
|
||||
return;
|
||||
}
|
||||
|
||||
// Darwin does not have Finder, Mac OS X does
|
||||
// TODO: Mac OS X Server 1.x
|
||||
memset(&finder, 0, sizeof(struct stat));
|
||||
ret = stat("/System/Library/CoreServices/Finder.app", &finder);
|
||||
macosx = ret == 0;
|
||||
|
||||
memset(&server, 0, sizeof(struct stat));
|
||||
ret = stat("/System/Library/CoreServices/ServerVersion.plist", &server);
|
||||
macosx_server = ret == 0;
|
||||
|
||||
memset(sysname, 0, 256);
|
||||
memset(sysversion, 0, 256);
|
||||
|
||||
memcpy(sysname, buf.sysname, strlen(buf.sysname));
|
||||
memcpy(sysversion, buf.release, strlen(buf.release));
|
||||
|
||||
if(macosx)
|
||||
{
|
||||
sscanf(buf.release, "%d.%d.%d", &major, &minor, &release);
|
||||
|
||||
memset(sysname, 0, 256);
|
||||
sprintf(sysname, "%s", macosx_server ? "Mac OS X Server" : "Mac OS X");
|
||||
|
||||
switch(major)
|
||||
{
|
||||
case 0:
|
||||
if(minor == 2)
|
||||
{
|
||||
memset(sysname, 0, 256);
|
||||
memset(sysversion, 0, 256);
|
||||
|
||||
sprintf(sysname, "Mac OS X Server");
|
||||
sprintf(sysversion, "1.0.1");
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
case 1:
|
||||
switch(minor)
|
||||
{
|
||||
case 0:
|
||||
memset(sysversion, 0, 256);
|
||||
sprintf(sysversion, "Developer Preview 3");
|
||||
|
||||
break;
|
||||
case 1:
|
||||
memset(sysversion, 0, 256);
|
||||
sprintf(sysversion, "Developer Preview 4");
|
||||
|
||||
break;
|
||||
case 2:
|
||||
if(release == 1)
|
||||
{
|
||||
memset(sysversion, 0, 256);
|
||||
sprintf(sysversion, "Public Beta");
|
||||
}
|
||||
|
||||
break;
|
||||
case 3:
|
||||
if(release == 1)
|
||||
{
|
||||
memset(sysversion, 0, 256);
|
||||
sprintf(sysversion, "\"Cheetah\" 10.0");
|
||||
}
|
||||
|
||||
break;
|
||||
case 4:
|
||||
if(release == 1)
|
||||
{
|
||||
memset(sysversion, 0, 256);
|
||||
sprintf(sysversion, "\"Puma\" 10.1");
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
case 5:
|
||||
memset(sysname, 0, 256);
|
||||
sprintf(sysname, "%s", macosx_server ? "Mac OS X Server \"Puma\"" : "Mac OS X \"Puma\"");
|
||||
memset(sysversion, 0, 256);
|
||||
sprintf(sysversion, "10.1.%d", minor);
|
||||
|
||||
break;
|
||||
case 6:
|
||||
memset(sysname, 0, 256);
|
||||
sprintf(sysname, "%s", macosx_server ? "Mac OS X Server \"Jaguar\"" : "Mac OS X \"Jaguar\"");
|
||||
memset(sysversion, 0, 256);
|
||||
if(minor > 0) sprintf(sysversion, "10.2.%d", minor);
|
||||
else
|
||||
sprintf(sysversion, "10.2");
|
||||
|
||||
break;
|
||||
case 7:
|
||||
memset(sysname, 0, 256);
|
||||
sprintf(sysname, "%s", macosx_server ? "Mac OS X Server \"Panther\"" : "Mac OS X \"Panther\"");
|
||||
memset(sysversion, 0, 256);
|
||||
if(minor > 0) sprintf(sysversion, "10.3.%d", minor);
|
||||
else
|
||||
sprintf(sysversion, "10.3");
|
||||
|
||||
break;
|
||||
case 8:
|
||||
memset(sysname, 0, 256);
|
||||
sprintf(sysname, "%s", macosx_server ? "Mac OS X Server \"Tiger\"" : "Mac OS X \"Tiger\"");
|
||||
memset(sysversion, 0, 256);
|
||||
if(minor > 0) sprintf(sysversion, "10.4.%d", minor);
|
||||
else
|
||||
sprintf(sysversion, "10.4");
|
||||
|
||||
break;
|
||||
case 9:
|
||||
memset(sysname, 0, 256);
|
||||
sprintf(sysname, "%s", macosx_server ? "Mac OS X Server \"Leopard\"" : "Mac OS X \"Leopard\"");
|
||||
memset(sysversion, 0, 256);
|
||||
if(minor > 0) sprintf(sysversion, "10.5.%d", minor);
|
||||
else
|
||||
sprintf(sysversion, "10.5");
|
||||
|
||||
break;
|
||||
case 10:
|
||||
memset(sysname, 0, 256);
|
||||
sprintf(
|
||||
sysname, "%s", macosx_server ? "Mac OS X Server \"Snow Leopard\"" : "Mac OS X \"Snow Leopard\"");
|
||||
memset(sysversion, 0, 256);
|
||||
if(minor > 0) sprintf(sysversion, "10.6.%d", minor);
|
||||
else
|
||||
sprintf(sysversion, "10.6");
|
||||
|
||||
break;
|
||||
case 11:
|
||||
memset(sysname, 0, 256);
|
||||
sprintf(sysname, "Mac OS X \"Lion\"");
|
||||
memset(sysversion, 0, 256);
|
||||
if(minor > 0) sprintf(sysversion, "10.7.%d", minor);
|
||||
else
|
||||
sprintf(sysversion, "10.7");
|
||||
|
||||
break;
|
||||
case 12:
|
||||
memset(sysname, 0, 256);
|
||||
sprintf(sysname, "OS X \"Mountain Lion\"");
|
||||
memset(sysversion, 0, 256);
|
||||
if(minor > 0) sprintf(sysversion, "10.8.%d", minor);
|
||||
else
|
||||
sprintf(sysversion, "10.8");
|
||||
|
||||
break;
|
||||
case 13:
|
||||
memset(sysname, 0, 256);
|
||||
sprintf(sysname, "OS X \"Mavericks\"");
|
||||
memset(sysversion, 0, 256);
|
||||
if(minor > 0) sprintf(sysversion, "10.9.%d", minor);
|
||||
else
|
||||
sprintf(sysversion, "10.9");
|
||||
|
||||
break;
|
||||
case 14:
|
||||
memset(sysname, 0, 256);
|
||||
sprintf(sysname, "OS X \"Yosemite\"");
|
||||
memset(sysversion, 0, 256);
|
||||
if(minor > 0) sprintf(sysversion, "10.10.%d", minor);
|
||||
else
|
||||
sprintf(sysversion, "10.10");
|
||||
|
||||
break;
|
||||
case 15:
|
||||
memset(sysname, 0, 256);
|
||||
sprintf(sysname, "OS X \"El Capitan\"");
|
||||
memset(sysversion, 0, 256);
|
||||
if(minor > 0) sprintf(sysversion, "10.11.%d", minor);
|
||||
else
|
||||
sprintf(sysversion, "10.11");
|
||||
|
||||
break;
|
||||
case 16:
|
||||
memset(sysname, 0, 256);
|
||||
sprintf(sysname, "macOS \"Sierra\"");
|
||||
memset(sysversion, 0, 256);
|
||||
if(minor > 0) sprintf(sysversion, "10.12.%d", minor);
|
||||
else
|
||||
sprintf(sysversion, "10.12");
|
||||
|
||||
break;
|
||||
case 17:
|
||||
memset(sysname, 0, 256);
|
||||
sprintf(sysname, "macOS \"High Sierra\"");
|
||||
memset(sysversion, 0, 256);
|
||||
if(minor > 0) sprintf(sysversion, "10.13.%d", minor);
|
||||
else
|
||||
sprintf(sysversion, "10.13");
|
||||
|
||||
break;
|
||||
case 18:
|
||||
memset(sysname, 0, 256);
|
||||
sprintf(sysname, "macOS \"Mojave\"");
|
||||
memset(sysversion, 0, 256);
|
||||
if(minor > 0) sprintf(sysversion, "10.14.%d", minor);
|
||||
else
|
||||
sprintf(sysversion, "10.14");
|
||||
|
||||
break;
|
||||
case 19:
|
||||
memset(sysname, 0, 256);
|
||||
sprintf(sysname, "macOS \"Catalina\"");
|
||||
memset(sysversion, 0, 256);
|
||||
if(minor > 0) sprintf(sysversion, "10.15.%d", minor);
|
||||
else
|
||||
sprintf(sysversion, "10.15");
|
||||
|
||||
break;
|
||||
case 20:
|
||||
memset(sysname, 0, 256);
|
||||
sprintf(sysname, "macOS \"Big Sur\"");
|
||||
memset(sysversion, 0, 256);
|
||||
if(minor > 0) sprintf(sysversion, "11.%d", minor);
|
||||
else
|
||||
sprintf(sysversion, "11");
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
log_write("OS information:\n");
|
||||
log_write("\t%s %s\n", sysname, sysversion);
|
||||
log_write("\tKernel version: %s\n", buf.version);
|
||||
log_write("\tArchitecture: %s\n", buf.machine);
|
||||
}
|
||||
37
setter/src/unix/darwin/rsrcfork.c
Normal file
37
setter/src/unix/darwin/rsrcfork.c
Normal file
@@ -0,0 +1,37 @@
|
||||
/****************************************************************************
|
||||
Aaru Data Preservation Suite
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Author(s) : Natalia Portillo
|
||||
|
||||
--[ License ] ---------------------------------------------------------------
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2021 Natalia Portillo
|
||||
*****************************************************************************/
|
||||
|
||||
#ifdef HAVE_CARBON
|
||||
#include "carbon.h"
|
||||
#endif
|
||||
|
||||
void DarwinResourceFork(const char* path)
|
||||
{
|
||||
#ifdef HAVE_CARBON
|
||||
int ret;
|
||||
|
||||
// TODO: If -1, try BSD way (/..namedfork/rsrc defined in _PATH_RSRCFORKSPEC)
|
||||
ret = CarbonResourceFork(path);
|
||||
#endif
|
||||
}
|
||||
33
setter/src/unix/darwin/rsrcfork.h
Normal file
33
setter/src/unix/darwin/rsrcfork.h
Normal file
@@ -0,0 +1,33 @@
|
||||
/****************************************************************************
|
||||
Aaru Data Preservation Suite
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Author(s) : Natalia Portillo
|
||||
|
||||
--[ License ] ---------------------------------------------------------------
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2021 Natalia Portillo
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef AARU_FSTESTER_SETTER_SRC_DARWIN_RSRCFORK_H_
|
||||
#define AARU_FSTESTER_SETTER_SRC_DARWIN_RSRCFORK_H_
|
||||
|
||||
const char* icnsText = "This file has a custom icon in the resource fork.\n";
|
||||
const char* versText = "This file has a version in the resource fork.\n";
|
||||
const char* pictText = "This file has a picture, in the resource fork.\n";
|
||||
const char* rsrcText = "This file has a custom icon, a version, and a picture, in the resource fork.\n";
|
||||
|
||||
#endif // AARU_FSTESTER_SETTER_SRC_DARWIN_RSRCFORK_H_
|
||||
151
setter/src/unix/darwin/sparse.c
Normal file
151
setter/src/unix/darwin/sparse.c
Normal file
@@ -0,0 +1,151 @@
|
||||
/****************************************************************************
|
||||
Aaru Data Preservation Suite
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Author(s) : Natalia Portillo
|
||||
|
||||
--[ License ] ---------------------------------------------------------------
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2021 Natalia Portillo
|
||||
*****************************************************************************/
|
||||
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <sys/fcntl.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "../../include/consts.h"
|
||||
#include "../../log.h"
|
||||
|
||||
int DarwinSparse(const char* path)
|
||||
{
|
||||
int ret;
|
||||
int rc, wRc, cRc, sRc;
|
||||
FILE* h;
|
||||
int i;
|
||||
int fd;
|
||||
int done = -1;
|
||||
fpunchhole_t fphole;
|
||||
memset(&fphole, 0, sizeof(fpunchhole_t));
|
||||
|
||||
ret = chdir(path);
|
||||
|
||||
if(ret)
|
||||
{
|
||||
log_write("Error %d changing to specified path.\n", errno);
|
||||
return done;
|
||||
}
|
||||
|
||||
ret = mkdir("SPARSE", 0755);
|
||||
|
||||
if(ret)
|
||||
{
|
||||
log_write("Error %d creating working directory.\n", errno);
|
||||
return done;
|
||||
}
|
||||
|
||||
ret = chdir("SPARSE");
|
||||
|
||||
if(ret)
|
||||
{
|
||||
log_write("Error %d changing to working directory.\n", errno);
|
||||
return done;
|
||||
}
|
||||
|
||||
done = 0;
|
||||
|
||||
log_write("Creating sparse files.\n");
|
||||
|
||||
h = fopen("SMALL", "w+");
|
||||
rc = 0;
|
||||
wRc = 0;
|
||||
cRc = 0;
|
||||
sRc = 0;
|
||||
if(h == NULL) { rc = errno; }
|
||||
else
|
||||
{
|
||||
for(i = 0; i < 4096 * 3; i += CLAUNIA_SIZE)
|
||||
{
|
||||
ret = fwrite(clauniaBytes, CLAUNIA_SIZE, 1, h);
|
||||
if(ret < 0)
|
||||
{
|
||||
wRc = errno;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
fd = fileno(h);
|
||||
fphole.fp_offset = 4096;
|
||||
fphole.fp_length = 8192;
|
||||
ret = fcntl(fd, F_PUNCHHOLE, &fphole);
|
||||
if(ret) sRc = errno;
|
||||
else
|
||||
done++;
|
||||
|
||||
ret = fclose(h);
|
||||
if(ret) cRc = errno;
|
||||
}
|
||||
|
||||
log_write("\tFile name = \"%s\", size = %d, rc = %d, wRc = %d, cRc = %d, sRc = %d\n",
|
||||
"SMALL",
|
||||
4096 * 4,
|
||||
rc,
|
||||
wRc,
|
||||
cRc,
|
||||
sRc);
|
||||
|
||||
h = fopen("BIG", "w+");
|
||||
rc = 0;
|
||||
wRc = 0;
|
||||
cRc = 0;
|
||||
sRc = 0;
|
||||
if(h == NULL) { rc = errno; }
|
||||
else
|
||||
{
|
||||
for(i = 0; i < 4096 * 30; i += CLAUNIA_SIZE)
|
||||
{
|
||||
ret = fwrite(clauniaBytes, CLAUNIA_SIZE, 1, h);
|
||||
if(ret < 0)
|
||||
{
|
||||
wRc = errno;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
fd = fileno(h);
|
||||
fphole.fp_offset = 32768;
|
||||
fphole.fp_length = 81920;
|
||||
ret = fcntl(fd, F_PUNCHHOLE, &fphole);
|
||||
if(ret) sRc = errno;
|
||||
else
|
||||
done++;
|
||||
|
||||
ret = fclose(h);
|
||||
if(ret) cRc = errno;
|
||||
}
|
||||
|
||||
log_write("\tFile name = \"%s\", size = %d, rc = %d, wRc = %d, cRc = %d, sRc = %d\n",
|
||||
"BIG",
|
||||
4096 * 30,
|
||||
rc,
|
||||
wRc,
|
||||
cRc,
|
||||
sRc);
|
||||
|
||||
return done;
|
||||
}
|
||||
369
setter/src/unix/darwin/volume.c
Normal file
369
setter/src/unix/darwin/volume.c
Normal file
@@ -0,0 +1,369 @@
|
||||
/****************************************************************************
|
||||
Aaru Data Preservation Suite
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Author(s) : Natalia Portillo
|
||||
|
||||
--[ License ] ---------------------------------------------------------------
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2021 Natalia Portillo
|
||||
*****************************************************************************/
|
||||
|
||||
#include <errno.h>
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "volume.h"
|
||||
|
||||
#include "../../log.h"
|
||||
|
||||
void DarwinPrintStatfsFlags(uint32_t flags)
|
||||
{
|
||||
if(flags & MNT_RDONLY)
|
||||
{
|
||||
log_write("\t\tVolume is read-only.\n");
|
||||
flags -= MNT_RDONLY;
|
||||
}
|
||||
|
||||
if(flags & MNT_SYNCHRONOUS)
|
||||
{
|
||||
log_write("\t\tVolume is written to synchronously.\n");
|
||||
flags -= MNT_SYNCHRONOUS;
|
||||
}
|
||||
|
||||
if(flags & MNT_NOEXEC)
|
||||
{
|
||||
log_write("\t\tCannot exec from volume.\n");
|
||||
flags -= MNT_NOEXEC;
|
||||
}
|
||||
|
||||
if(flags & MNT_NOSUID)
|
||||
{
|
||||
log_write("\t\tVolume does not honor setuid bits.\n");
|
||||
flags -= MNT_NOSUID;
|
||||
}
|
||||
|
||||
if(flags & MNT_NODEV)
|
||||
{
|
||||
log_write("\t\tVolume doesn't interpret special files.\n");
|
||||
flags -= MNT_NODEV;
|
||||
}
|
||||
|
||||
if(flags & MNT_UNION)
|
||||
{
|
||||
log_write("\t\tMount point is a union.\n");
|
||||
flags -= MNT_UNION;
|
||||
}
|
||||
|
||||
if(flags & MNT_ASYNC)
|
||||
{
|
||||
log_write("\t\tVolume is written to asynchronously.\n");
|
||||
flags -= MNT_ASYNC;
|
||||
}
|
||||
|
||||
if(flags & MNT_CPROTECT)
|
||||
{
|
||||
log_write("\t\tVolume supports per-file encryption.\n");
|
||||
flags -= MNT_CPROTECT;
|
||||
}
|
||||
|
||||
if(flags & MNT_EXPORTED)
|
||||
{
|
||||
log_write("\t\tVolume is exported by NFS.\n");
|
||||
flags -= MNT_EXPORTED;
|
||||
}
|
||||
|
||||
if(flags & MNT_REMOVABLE)
|
||||
{
|
||||
log_write("\t\tVolume is removable.\n");
|
||||
flags -= MNT_REMOVABLE;
|
||||
}
|
||||
|
||||
if(flags & MNT_QUARANTINE)
|
||||
{
|
||||
log_write("\t\tVolume is quarantined.\n");
|
||||
flags -= MNT_QUARANTINE;
|
||||
}
|
||||
|
||||
if(flags & MNT_LOCAL)
|
||||
{
|
||||
log_write("\t\tVolume is local.\n");
|
||||
flags -= MNT_LOCAL;
|
||||
}
|
||||
|
||||
if(flags & MNT_QUOTA)
|
||||
{
|
||||
log_write("\t\tVolume supports quotas.\n");
|
||||
flags -= MNT_QUOTA;
|
||||
}
|
||||
|
||||
if(flags & MNT_ROOTFS)
|
||||
{
|
||||
log_write("\t\tVolume is the root of the filesystem.\n");
|
||||
flags -= MNT_ROOTFS;
|
||||
}
|
||||
|
||||
if(flags & MNT_DOVOLFS)
|
||||
{
|
||||
log_write("\t\tVolume supports volfs.\n");
|
||||
flags -= MNT_DOVOLFS;
|
||||
}
|
||||
|
||||
if(flags & MNT_DONTBROWSE)
|
||||
{
|
||||
log_write("\t\tVolume is not appropriate for user data.\n");
|
||||
flags -= MNT_DONTBROWSE;
|
||||
}
|
||||
|
||||
if(flags & MNT_IGNORE_OWNERSHIP)
|
||||
{
|
||||
log_write("\t\tVolume does not respect ownership.\n");
|
||||
flags -= MNT_IGNORE_OWNERSHIP;
|
||||
}
|
||||
|
||||
if(flags & MNT_AUTOMOUNTED)
|
||||
{
|
||||
log_write("\t\tVolume was mounted by automounter.\n");
|
||||
flags -= MNT_AUTOMOUNTED;
|
||||
}
|
||||
|
||||
if(flags & MNT_JOURNALED)
|
||||
{
|
||||
log_write("\t\tVolume is journaled.\n");
|
||||
flags -= MNT_JOURNALED;
|
||||
}
|
||||
|
||||
if(flags & MNT_NOUSERXATTR)
|
||||
{
|
||||
log_write("\t\tVolume does not allow user extended attributes.\n");
|
||||
flags -= MNT_NOUSERXATTR;
|
||||
}
|
||||
|
||||
if(flags & MNT_DEFWRITE)
|
||||
{
|
||||
log_write("\t\tVolume defers writes.\n");
|
||||
flags -= MNT_DEFWRITE;
|
||||
}
|
||||
|
||||
if(flags & MNT_MULTILABEL)
|
||||
{
|
||||
log_write("\t\tVolume supports MAC for individual labels.\n");
|
||||
flags -= MNT_MULTILABEL;
|
||||
}
|
||||
|
||||
if(flags & MNT_NOATIME)
|
||||
{
|
||||
log_write("\t\tVolume does not update access time.\n");
|
||||
flags -= MNT_NOATIME;
|
||||
}
|
||||
|
||||
if(flags & MNT_SNAPSHOT)
|
||||
{
|
||||
log_write("\t\tMountpoint is a snapshot.\n");
|
||||
flags -= MNT_SNAPSHOT;
|
||||
}
|
||||
|
||||
if(flags & MNT_STRICTATIME)
|
||||
{
|
||||
log_write("\t\tVolume strictly updates access time.\n");
|
||||
flags -= MNT_STRICTATIME;
|
||||
}
|
||||
|
||||
if(flags) { log_write("\t\tRemaining flags: 0x%08lX\n", flags); }
|
||||
}
|
||||
|
||||
typedef struct attrlist attrlist_t;
|
||||
|
||||
void DarwinVolumeAttributes(const char* path)
|
||||
{
|
||||
int ret;
|
||||
attrlist_t attrList;
|
||||
vol_capabilities_attr_t attrBuf;
|
||||
u_int32_t capabilities_valid;
|
||||
|
||||
memset(&attrList, 0, sizeof(attrList));
|
||||
memset(&attrBuf, 0, sizeof(vol_capabilities_attr_t));
|
||||
|
||||
attrList.bitmapcount = ATTR_BIT_MAP_COUNT;
|
||||
attrList.volattr = ATTR_VOL_CAPABILITIES;
|
||||
|
||||
ret = getattrlist(path, &attrList, &attrBuf, sizeof(attrBuf), 0);
|
||||
if(ret)
|
||||
{
|
||||
log_write("Error %d retrieving volume capabilities.\n", errno);
|
||||
return;
|
||||
}
|
||||
|
||||
log_write("Darwin volume capabilities:\n");
|
||||
|
||||
capabilities_valid = attrBuf.valid[VOL_CAPABILITIES_FORMAT];
|
||||
|
||||
if(capabilities_valid & VOL_CAP_FMT_PERSISTENTOBJECTIDS)
|
||||
{
|
||||
log_write("\tVolume has persistent object IDs.\n");
|
||||
capabilities_valid -= VOL_CAP_FMT_PERSISTENTOBJECTIDS;
|
||||
}
|
||||
|
||||
if(capabilities_valid & VOL_CAP_FMT_SYMBOLICLINKS)
|
||||
{
|
||||
log_write("\tVolume supports symbolic links.\n");
|
||||
capabilities_valid -= VOL_CAP_FMT_SYMBOLICLINKS;
|
||||
}
|
||||
|
||||
if(capabilities_valid & VOL_CAP_FMT_HARDLINKS)
|
||||
{
|
||||
log_write("\tVolume supports hard links\n");
|
||||
capabilities_valid -= VOL_CAP_FMT_HARDLINKS;
|
||||
}
|
||||
|
||||
if(capabilities_valid & VOL_CAP_FMT_JOURNAL)
|
||||
{
|
||||
log_write("\tVolume support recovery journal\n");
|
||||
capabilities_valid -= VOL_CAP_FMT_JOURNAL;
|
||||
}
|
||||
|
||||
if(capabilities_valid & VOL_CAP_FMT_JOURNAL_ACTIVE)
|
||||
{
|
||||
log_write("\tVolume is using a recovery journal\n");
|
||||
capabilities_valid -= VOL_CAP_FMT_JOURNAL_ACTIVE;
|
||||
}
|
||||
|
||||
if(capabilities_valid & VOL_CAP_FMT_NO_ROOT_TIMES)
|
||||
{
|
||||
log_write("\tVolume does not store reliable times for the root directory\n");
|
||||
capabilities_valid -= VOL_CAP_FMT_NO_ROOT_TIMES;
|
||||
}
|
||||
|
||||
if(capabilities_valid & VOL_CAP_FMT_SPARSE_FILES)
|
||||
{
|
||||
log_write("\tVolume supports sparse files\n");
|
||||
capabilities_valid -= VOL_CAP_FMT_SPARSE_FILES;
|
||||
}
|
||||
|
||||
if(capabilities_valid & VOL_CAP_FMT_ZERO_RUNS)
|
||||
{
|
||||
log_write("\tVolume returns zeros for parts of a file that have never been written\n");
|
||||
capabilities_valid -= VOL_CAP_FMT_ZERO_RUNS;
|
||||
}
|
||||
|
||||
if(capabilities_valid & VOL_CAP_FMT_CASE_SENSITIVE)
|
||||
{
|
||||
log_write("\tVolume uses case sensitive name comparison\n");
|
||||
capabilities_valid -= VOL_CAP_FMT_CASE_SENSITIVE;
|
||||
}
|
||||
|
||||
if(capabilities_valid & VOL_CAP_FMT_CASE_PRESERVING)
|
||||
{
|
||||
log_write("\tVolume uses case insensitive name comparison but stores names with cases\n");
|
||||
capabilities_valid -= VOL_CAP_FMT_CASE_PRESERVING;
|
||||
}
|
||||
|
||||
if(capabilities_valid & VOL_CAP_FMT_FAST_STATFS)
|
||||
{
|
||||
log_write("\tVolume returns from statfs(2) fast enough to not need to cache it\n");
|
||||
capabilities_valid -= VOL_CAP_FMT_FAST_STATFS;
|
||||
}
|
||||
|
||||
if(capabilities_valid & VOL_CAP_FMT_2TB_FILESIZE)
|
||||
{
|
||||
log_write("\tVolume supports file sizes larger than 4Gb, up to AT LEAST 2Tb (or higher)\n");
|
||||
capabilities_valid -= VOL_CAP_FMT_2TB_FILESIZE;
|
||||
}
|
||||
|
||||
if(capabilities_valid & VOL_CAP_FMT_OPENDENYMODES)
|
||||
{
|
||||
log_write("\tVolume support deny modes when opening files\n");
|
||||
capabilities_valid -= VOL_CAP_FMT_OPENDENYMODES;
|
||||
}
|
||||
|
||||
if(capabilities_valid & VOL_CAP_FMT_HIDDEN_FILES)
|
||||
{
|
||||
log_write("\tVolume supports the hidden/invisible flag\n");
|
||||
capabilities_valid -= VOL_CAP_FMT_HIDDEN_FILES;
|
||||
}
|
||||
|
||||
if(capabilities_valid & VOL_CAP_FMT_PATH_FROM_ID)
|
||||
{
|
||||
log_write("\tVolume can derive a path from an object ID\n");
|
||||
capabilities_valid -= VOL_CAP_FMT_PATH_FROM_ID;
|
||||
}
|
||||
|
||||
if(capabilities_valid & VOL_CAP_FMT_NO_VOLUME_SIZES)
|
||||
{
|
||||
log_write("\tVolume sizes in blocks returned in statfs(2) are not valid\n");
|
||||
capabilities_valid -= VOL_CAP_FMT_NO_VOLUME_SIZES;
|
||||
}
|
||||
|
||||
if(capabilities_valid & VOL_CAP_FMT_DECMPFS_COMPRESSION)
|
||||
{
|
||||
log_write("\tVolume transparently decompresses files\n");
|
||||
capabilities_valid -= VOL_CAP_FMT_DECMPFS_COMPRESSION;
|
||||
}
|
||||
|
||||
if(capabilities_valid & VOL_CAP_FMT_64BIT_OBJECT_IDS)
|
||||
{
|
||||
log_write("\tVolume object IDs are 64-bit long\n");
|
||||
capabilities_valid -= VOL_CAP_FMT_64BIT_OBJECT_IDS;
|
||||
}
|
||||
|
||||
if(capabilities_valid & VOL_CAP_FMT_DIR_HARDLINKS)
|
||||
{
|
||||
log_write("\tVolume supports directory hard links\n");
|
||||
capabilities_valid -= VOL_CAP_FMT_DIR_HARDLINKS;
|
||||
}
|
||||
|
||||
if(capabilities_valid & VOL_CAP_FMT_DOCUMENT_ID)
|
||||
{
|
||||
log_write("\tVolume supports document IDs with revisions\n");
|
||||
capabilities_valid -= VOL_CAP_FMT_DOCUMENT_ID;
|
||||
}
|
||||
|
||||
if(capabilities_valid & VOL_CAP_FMT_WRITE_GENERATION_COUNT)
|
||||
{
|
||||
log_write("\tVolume supports write generation count\n");
|
||||
capabilities_valid -= VOL_CAP_FMT_WRITE_GENERATION_COUNT;
|
||||
}
|
||||
|
||||
if(capabilities_valid & VOL_CAP_FMT_NO_IMMUTABLE_FILES)
|
||||
{
|
||||
log_write("\tVolume does not support the immutable flag\n");
|
||||
capabilities_valid -= VOL_CAP_FMT_NO_IMMUTABLE_FILES;
|
||||
}
|
||||
|
||||
if(capabilities_valid & VOL_CAP_FMT_NO_PERMISSIONS)
|
||||
{
|
||||
log_write("\tVolume does not support setting file permissions\n");
|
||||
capabilities_valid -= VOL_CAP_FMT_NO_PERMISSIONS;
|
||||
}
|
||||
|
||||
if(capabilities_valid & VOL_CAP_FMT_SHARED_SPACE)
|
||||
{
|
||||
log_write("\tVolume support sharing space with multiple volumes\n");
|
||||
capabilities_valid -= VOL_CAP_FMT_SHARED_SPACE;
|
||||
}
|
||||
|
||||
if(capabilities_valid & VOL_CAP_FMT_VOL_GROUPS)
|
||||
{
|
||||
log_write("\tVolume supports mounting several volumes at once\n");
|
||||
capabilities_valid -= VOL_CAP_FMT_VOL_GROUPS;
|
||||
}
|
||||
|
||||
if(capabilities_valid & VOL_CAP_FMT_SEALED)
|
||||
{
|
||||
log_write("\tVolume is cryptographically sealed\n");
|
||||
capabilities_valid -= VOL_CAP_FMT_SEALED;
|
||||
}
|
||||
}
|
||||
238
setter/src/unix/darwin/volume.h
Normal file
238
setter/src/unix/darwin/volume.h
Normal file
@@ -0,0 +1,238 @@
|
||||
/****************************************************************************
|
||||
Aaru Data Preservation Suite
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Author(s) : Natalia Portillo
|
||||
|
||||
--[ License ] ---------------------------------------------------------------
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2021 Natalia Portillo
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef AARU_FSTESTER_SETTER_SRC_DARWIN_VOLUME_H_
|
||||
#define AARU_FSTESTER_SETTER_SRC_DARWIN_VOLUME_H_
|
||||
|
||||
#include <sys/mount.h>
|
||||
|
||||
#ifndef MNT_RDONLY
|
||||
#define MNT_RDONLY 0x00000001
|
||||
#endif
|
||||
|
||||
#ifndef MNT_SYNCHRONOUS
|
||||
#define MNT_SYNCHRONOUS 0x00000002
|
||||
#endif
|
||||
|
||||
#ifndef MNT_NOEXEC
|
||||
#define MNT_NOEXEC 0x00000004
|
||||
#endif
|
||||
|
||||
#ifndef MNT_NOSUID
|
||||
#define MNT_NOSUID 0x00000008
|
||||
#endif
|
||||
|
||||
#ifndef MNT_NODEV
|
||||
#define MNT_NODEV 0x00000010
|
||||
#endif
|
||||
|
||||
#ifndef MNT_UNION
|
||||
#define MNT_UNION 0x00000020
|
||||
#endif
|
||||
|
||||
#ifndef MNT_ASYNC
|
||||
#define MNT_ASYNC 0x00000040
|
||||
#endif
|
||||
|
||||
#ifndef MNT_CPROTECT
|
||||
#define MNT_CPROTECT 0x00000080
|
||||
#endif
|
||||
|
||||
#ifndef MNT_EXPORTED
|
||||
#define MNT_EXPORTED 0x00000100
|
||||
#endif
|
||||
|
||||
#ifndef MNT_REMOVABLE
|
||||
#define MNT_REMOVABLE 0x00000200
|
||||
#endif
|
||||
|
||||
#ifndef MNT_QUARANTINE
|
||||
#define MNT_QUARANTINE 0x00000400
|
||||
#endif
|
||||
|
||||
#ifndef MNT_LOCAL
|
||||
#define MNT_LOCAL 0x00001000
|
||||
#endif
|
||||
|
||||
#ifndef MNT_QUOTA
|
||||
#define MNT_QUOTA 0x00002000
|
||||
#endif
|
||||
|
||||
#ifndef MNT_ROOTFS
|
||||
#define MNT_ROOTFS 0x00004000
|
||||
#endif
|
||||
|
||||
#ifndef MNT_DOVOLFS
|
||||
#define MNT_DOVOLFS 0x00008000
|
||||
#endif
|
||||
|
||||
#ifndef MNT_DONTBROWSE
|
||||
#define MNT_DONTBROWSE 0x00100000
|
||||
#endif
|
||||
|
||||
#ifndef MNT_IGNORE_OWNERSHIP
|
||||
#define MNT_IGNORE_OWNERSHIP 0x00200000
|
||||
#endif
|
||||
|
||||
#ifndef MNT_AUTOMOUNTED
|
||||
#define MNT_AUTOMOUNTED 0x00400000
|
||||
#endif
|
||||
|
||||
#ifndef MNT_JOURNALED
|
||||
#define MNT_JOURNALED 0x00800000
|
||||
#endif
|
||||
|
||||
#ifndef MNT_NOUSERXATTR
|
||||
#define MNT_NOUSERXATTR 0x01000000
|
||||
#endif
|
||||
|
||||
#ifndef MNT_DEFWRITE
|
||||
#define MNT_DEFWRITE 0x02000000
|
||||
#endif
|
||||
|
||||
#ifndef MNT_MULTILABEL
|
||||
#define MNT_MULTILABEL 0x04000000
|
||||
#endif
|
||||
|
||||
#ifndef MNT_NOATIME
|
||||
#define MNT_NOATIME 0x10000000
|
||||
#endif
|
||||
|
||||
#ifndef MNT_SNAPSHOT
|
||||
#define MNT_SNAPSHOT 0x40000000
|
||||
#endif
|
||||
|
||||
#ifndef MNT_STRICTATIME
|
||||
#define MNT_STRICTATIME 0x80000000
|
||||
#endif
|
||||
|
||||
#ifndef VOL_CAPABILITIES_FORMAT
|
||||
#define VOL_CAPABILITIES_FORMAT 0
|
||||
#endif
|
||||
|
||||
#ifndef VOL_CAP_FMT_PERSISTENTOBJECTIDS
|
||||
#define VOL_CAP_FMT_PERSISTENTOBJECTIDS 0x00000001
|
||||
#endif
|
||||
|
||||
#ifndef VOL_CAP_FMT_SYMBOLICLINKS
|
||||
#define VOL_CAP_FMT_SYMBOLICLINKS 0x00000002
|
||||
#endif
|
||||
|
||||
#ifndef VOL_CAP_FMT_HARDLINKS
|
||||
#define VOL_CAP_FMT_HARDLINKS 0x00000004
|
||||
#endif
|
||||
|
||||
#ifndef VOL_CAP_FMT_JOURNAL
|
||||
#define VOL_CAP_FMT_JOURNAL 0x00000008
|
||||
#endif
|
||||
|
||||
#ifndef VOL_CAP_FMT_JOURNAL_ACTIVE
|
||||
#define VOL_CAP_FMT_JOURNAL_ACTIVE 0x00000010
|
||||
#endif
|
||||
|
||||
#ifndef VOL_CAP_FMT_NO_ROOT_TIMES
|
||||
#define VOL_CAP_FMT_NO_ROOT_TIMES 0x00000020
|
||||
#endif
|
||||
|
||||
#ifndef VOL_CAP_FMT_SPARSE_FILES
|
||||
#define VOL_CAP_FMT_SPARSE_FILES 0x00000040
|
||||
#endif
|
||||
|
||||
#ifndef VOL_CAP_FMT_ZERO_RUNS
|
||||
#define VOL_CAP_FMT_ZERO_RUNS 0x00000080
|
||||
#endif
|
||||
|
||||
#ifndef VOL_CAP_FMT_CASE_SENSITIVE
|
||||
#define VOL_CAP_FMT_CASE_SENSITIVE 0x00000100
|
||||
#endif
|
||||
|
||||
#ifndef VOL_CAP_FMT_CASE_PRESERVING
|
||||
#define VOL_CAP_FMT_CASE_PRESERVING 0x00000200
|
||||
#endif
|
||||
|
||||
#ifndef VOL_CAP_FMT_FAST_STATFS
|
||||
#define VOL_CAP_FMT_FAST_STATFS 0x00000400
|
||||
#endif
|
||||
|
||||
#ifndef VOL_CAP_FMT_2TB_FILESIZE
|
||||
#define VOL_CAP_FMT_2TB_FILESIZE 0x00000800
|
||||
#endif
|
||||
|
||||
#ifndef VOL_CAP_FMT_OPENDENYMODES
|
||||
#define VOL_CAP_FMT_OPENDENYMODES 0x00001000
|
||||
#endif
|
||||
|
||||
#ifndef VOL_CAP_FMT_HIDDEN_FILES
|
||||
#define VOL_CAP_FMT_HIDDEN_FILES 0x00002000
|
||||
#endif
|
||||
|
||||
#ifndef VOL_CAP_FMT_PATH_FROM_ID
|
||||
#define VOL_CAP_FMT_PATH_FROM_ID 0x00004000
|
||||
#endif
|
||||
|
||||
#ifndef VOL_CAP_FMT_NO_VOLUME_SIZES
|
||||
#define VOL_CAP_FMT_NO_VOLUME_SIZES 0x00008000
|
||||
#endif
|
||||
|
||||
#ifndef VOL_CAP_FMT_DECMPFS_COMPRESSION
|
||||
#define VOL_CAP_FMT_DECMPFS_COMPRESSION 0x00010000
|
||||
#endif
|
||||
|
||||
#ifndef VOL_CAP_FMT_64BIT_OBJECT_IDS
|
||||
#define VOL_CAP_FMT_64BIT_OBJECT_IDS 0x00020000
|
||||
#endif
|
||||
|
||||
#ifndef VOL_CAP_FMT_DIR_HARDLINKS
|
||||
#define VOL_CAP_FMT_DIR_HARDLINKS 0x00040000
|
||||
#endif
|
||||
|
||||
#ifndef VOL_CAP_FMT_DOCUMENT_ID
|
||||
#define VOL_CAP_FMT_DOCUMENT_ID 0x00080000
|
||||
#endif
|
||||
|
||||
#ifndef VOL_CAP_FMT_WRITE_GENERATION_COUNT
|
||||
#define VOL_CAP_FMT_WRITE_GENERATION_COUNT 0x00100000
|
||||
#endif
|
||||
|
||||
#ifndef VOL_CAP_FMT_NO_IMMUTABLE_FILES
|
||||
#define VOL_CAP_FMT_NO_IMMUTABLE_FILES 0x00200000
|
||||
#endif
|
||||
|
||||
#ifndef VOL_CAP_FMT_NO_PERMISSIONS
|
||||
#define VOL_CAP_FMT_NO_PERMISSIONS 0x00400000
|
||||
#endif
|
||||
|
||||
#ifndef VOL_CAP_FMT_SHARED_SPACE
|
||||
#define VOL_CAP_FMT_SHARED_SPACE 0x00800000
|
||||
#endif
|
||||
|
||||
#ifndef VOL_CAP_FMT_VOL_GROUPS
|
||||
#define VOL_CAP_FMT_VOL_GROUPS 0x01000000
|
||||
#endif
|
||||
|
||||
#ifndef VOL_CAP_FMT_SEALED
|
||||
#define VOL_CAP_FMT_SEALED 0x02000000
|
||||
#endif
|
||||
|
||||
#endif // AARU_FSTESTER_SETTER_SRC_DARWIN_VOLUME_H_
|
||||
104
setter/src/unix/darwin/xattr.c
Normal file
104
setter/src/unix/darwin/xattr.c
Normal file
@@ -0,0 +1,104 @@
|
||||
/****************************************************************************
|
||||
Aaru Data Preservation Suite
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Author(s) : Natalia Portillo
|
||||
|
||||
--[ License ] ---------------------------------------------------------------
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2021 Natalia Portillo
|
||||
*****************************************************************************/
|
||||
|
||||
#include <dlfcn.h>
|
||||
#include <errno.h>
|
||||
#include <stdio.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "xattr.h"
|
||||
|
||||
#include "../../log.h"
|
||||
|
||||
void DarwinExtendedAttributes(const char* path)
|
||||
{
|
||||
int ret;
|
||||
FILE* file;
|
||||
int rc;
|
||||
int cRc;
|
||||
_darwin_setxattr darwin_setxattr;
|
||||
|
||||
darwin_setxattr = (_darwin_setxattr)dlsym(RTLD_DEFAULT, "setxattr");
|
||||
|
||||
if(!darwin_setxattr)
|
||||
{
|
||||
log_write("Error loading setxattr(2) from libSystem: %s\n", dlerror());
|
||||
return;
|
||||
}
|
||||
|
||||
ret = chdir(path);
|
||||
|
||||
if(ret)
|
||||
{
|
||||
log_write("Error %d changing to specified path.\n", errno);
|
||||
return;
|
||||
}
|
||||
|
||||
ret = mkdir("XATTRS", 0755);
|
||||
|
||||
if(ret)
|
||||
{
|
||||
log_write("Error %d creating working directory.\n", errno);
|
||||
return;
|
||||
}
|
||||
|
||||
ret = chdir("XATTRS");
|
||||
|
||||
if(ret)
|
||||
{
|
||||
log_write("Error %d changing to working directory.\n", errno);
|
||||
return;
|
||||
}
|
||||
|
||||
log_write("Creating files with extended attributes.\n");
|
||||
|
||||
rc = 0;
|
||||
cRc = 0;
|
||||
file = fopen("com.ibm.os2.comment", "w+");
|
||||
if(file == NULL) rc = errno;
|
||||
else
|
||||
{
|
||||
fprintf(file, "This file has an extended attribute called \"com.ibm.os2.comment\" that is 72 bytes long.\n");
|
||||
fclose(file);
|
||||
ret = darwin_setxattr("com.ibm.os2.comment", "user.com.ibm.os2.comment", CommentsEA, 72, 0, 0);
|
||||
|
||||
if(ret) cRc = errno;
|
||||
}
|
||||
log_write("\tFile with an extended attribute called \"com.ibm.os2.comment\", rc = %d, cRc = %d\n", rc, cRc);
|
||||
|
||||
rc = 0;
|
||||
cRc = 0;
|
||||
file = fopen("com.ibm.os2.icon", "w+");
|
||||
if(file == NULL) rc = errno;
|
||||
else
|
||||
{
|
||||
fprintf(file, "This file has an extended attribute called \"com.ibm.os2.icon\" that is 3516 bytes long.\n");
|
||||
fclose(file);
|
||||
ret = darwin_setxattr("com.ibm.os2.icon", "user.com.ibm.os2.icon", IconEA, 3516, 0, 0);
|
||||
|
||||
if(ret) cRc = errno;
|
||||
}
|
||||
log_write("\tFile with an extended attribute called \"com.ibm.os2.icon\", rc = %d, cRc = %d\n", rc, cRc);
|
||||
}
|
||||
225
setter/src/unix/darwin/xattr.h
Normal file
225
setter/src/unix/darwin/xattr.h
Normal file
@@ -0,0 +1,225 @@
|
||||
/****************************************************************************
|
||||
Aaru Data Preservation Suite
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Author(s) : Natalia Portillo
|
||||
|
||||
--[ License ] ---------------------------------------------------------------
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2021 Natalia Portillo
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef SETTER_SRC_DARWIN_XATTR_H_
|
||||
#define SETTER_SRC_DARWIN_XATTR_H_
|
||||
|
||||
typedef int (
|
||||
*_darwin_setxattr)(const char* path, const char* name, void* value, size_t size, u_int32_t position, int options);
|
||||
|
||||
static unsigned char CommentsEA[72] = {
|
||||
0x45, 0x00, 0x00, 0x00, 0x00, 0x09, 0x33, 0x00, 0x2E, 0x43, 0x4F, 0x4D, 0x4D, 0x45, 0x4E, 0x54, 0x53, 0x00,
|
||||
0xFD, 0xFF, 0x2E, 0x00, 0x54, 0x68, 0x69, 0x73, 0x20, 0x45, 0x41, 0x20, 0x63, 0x6F, 0x6E, 0x74, 0x61, 0x69,
|
||||
0x6E, 0x73, 0x20, 0x63, 0x6F, 0x6D, 0x6D, 0x65, 0x6E, 0x74, 0x73, 0x20, 0x66, 0x6F, 0x72, 0x20, 0x57, 0x6F,
|
||||
0x72, 0x6B, 0x50, 0x6C, 0x61, 0x63, 0x65, 0x20, 0x53, 0x68, 0x65, 0x6C, 0x6C, 0x2E, 0x00, 0x00, 0x00, 0x00};
|
||||
|
||||
static unsigned char IconEA[3516] = {
|
||||
0xBC, 0x0D, 0x00, 0x00, 0x00, 0x05, 0xAE, 0x0D, 0x2E, 0x49, 0x43, 0x4F, 0x4E, 0x00, 0xF9, 0xFF, 0xAA, 0x0D, 0x42,
|
||||
0x41, 0x28, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x49, 0x1A, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x10, 0x00, 0xDA, 0x01, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x20, 0x00, 0x40, 0x00, 0x01, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x43, 0x49, 0x1A, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0xDA, 0x02,
|
||||
0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F,
|
||||
0x3F, 0x80, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xFF, 0xFF, 0xFF, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00,
|
||||
0xFF, 0xFF, 0x00, 0x80, 0x80, 0x00, 0xFF, 0x00, 0xFF, 0x80, 0x00, 0x80, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00,
|
||||
0xFF, 0x00, 0xFF, 0x00, 0x00, 0x42, 0x41, 0x28, 0x00, 0x00, 0x00, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x43, 0x49, 0x1A, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0xDA, 0x04, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x20,
|
||||
0x00, 0x40, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x43, 0x49, 0x1A, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x10, 0x00, 0xDA, 0x05, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x01, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x42, 0x41, 0x28, 0x00, 0x00, 0x00, 0x14, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x43, 0x49, 0x1A, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x5A, 0x06, 0x00, 0x00, 0x0C, 0x00, 0x00,
|
||||
0x00, 0x10, 0x00, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x43, 0x49, 0x1A, 0x00,
|
||||
0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0xDA, 0x06, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x01,
|
||||
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x41, 0x28, 0x00, 0x00, 0x00, 0x62, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x43, 0x49, 0x1A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x1A, 0x07, 0x00, 0x00, 0x0C,
|
||||
0x00, 0x00, 0x00, 0x14, 0x00, 0x28, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x43, 0x49,
|
||||
0x1A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0xBA, 0x07, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x14, 0x00, 0x14,
|
||||
0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x41, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x04, 0x00, 0x03, 0x43, 0x49, 0x1A, 0x00, 0x00, 0x00, 0x14, 0x00, 0x14, 0x00, 0x0A, 0x08, 0x00,
|
||||
0x00, 0x0C, 0x00, 0x00, 0x00, 0x28, 0x00, 0x50, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF,
|
||||
0x43, 0x49, 0x1A, 0x00, 0x00, 0x00, 0x14, 0x00, 0x14, 0x00, 0x8A, 0x0A, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x28,
|
||||
0x00, 0x28, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x80, 0x80, 0x80, 0xC0, 0xC0, 0xC0,
|
||||
0xFF, 0xFF, 0xFF, 0x00, 0x80, 0x80, 0x80, 0xA0, 0x80, 0x28, 0x50, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x80, 0x00, 0xD0,
|
||||
0xD8, 0xB0, 0xC0, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0x8F, 0xFE, 0x3F, 0xFE, 0x0F, 0xF8, 0x3F, 0xFE, 0x0F, 0xF8, 0x3F, 0xFE, 0x0F, 0xF8, 0x3F, 0xFE, 0x00,
|
||||
0x00, 0x3F, 0xFF, 0x00, 0x00, 0x3F, 0xFF, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x1F, 0xFE,
|
||||
0x00, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x0F,
|
||||
0xF8, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00,
|
||||
0x0F, 0xF8, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x3F, 0xFC, 0x00,
|
||||
0x00, 0x7F, 0xFF, 0xFC, 0x7F, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x11, 0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x11, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x31,
|
||||
0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x31, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x31, 0x22, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x31, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x33, 0x12, 0x22, 0x22, 0x22, 0x22, 0x13,
|
||||
0x31, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x12, 0x22, 0x22, 0x22, 0x22, 0x13, 0x12, 0x22, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x11, 0x11, 0x11, 0x11, 0x11, 0x13, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x13, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x21, 0x31, 0x11, 0x11, 0x11, 0x11, 0x31, 0x22, 0x22, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x21, 0x31, 0x22,
|
||||
0x22, 0x22, 0x21, 0x31, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
|
||||
0x11, 0x11, 0x11, 0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x34, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x31,
|
||||
0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x41, 0x22, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x41, 0x22, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x44, 0x46, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x44, 0x41, 0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x44, 0x44,
|
||||
0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x41, 0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x46, 0x66, 0x66, 0x66, 0x66,
|
||||
0x66, 0x66, 0x44, 0x41, 0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
|
||||
0x41, 0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x46, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x44, 0x41, 0x22, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x41, 0x22, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x44, 0x46, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x44, 0x41, 0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x44,
|
||||
0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x41, 0x20, 0x00, 0x00, 0x00, 0x00, 0x01, 0x34, 0x44, 0x44, 0x44, 0x44,
|
||||
0x44, 0x44, 0x44, 0x44, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
|
||||
0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xFC, 0x1F, 0xFC, 0x07, 0xF0, 0x1F, 0xFC, 0x07, 0xF0, 0x1F, 0xFC, 0x07,
|
||||
0xF0, 0x1F, 0xFC, 0x00, 0x00, 0x1F, 0xFC, 0x00, 0x00, 0x1F, 0xFE, 0x00, 0x00, 0x1F, 0xFE, 0x00, 0x00, 0x3F, 0xFE,
|
||||
0x00, 0x00, 0x1F, 0xFE, 0x00, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07,
|
||||
0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00,
|
||||
0x07, 0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00,
|
||||
0x00, 0x0F, 0xF0, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x7F, 0xFF, 0xFC, 0x7F, 0xFF, 0xFF,
|
||||
0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xF8, 0x03, 0xE0, 0x03, 0x88, 0x0E, 0x20, 0x02, 0x08, 0x08, 0x20, 0x02, 0x88, 0x0A, 0x20, 0x02, 0x8F, 0xFA,
|
||||
0x20, 0x02, 0xC0, 0x06, 0x20, 0x01, 0x40, 0x04, 0x20, 0x01, 0x40, 0x04, 0x40, 0x01, 0x7F, 0xFC, 0x60, 0x01, 0x20,
|
||||
0x08, 0x10, 0x02, 0x20, 0x08, 0x08, 0x04, 0x00, 0x00, 0x08, 0x0B, 0xFF, 0xFF, 0x88, 0x0B, 0xFF, 0xFF, 0x88, 0x0B,
|
||||
0xFF, 0xFF, 0x88, 0x0B, 0x00, 0x03, 0x88, 0x0B, 0xFF, 0xFF, 0x88, 0x0B, 0x00, 0x03, 0x88, 0x0B, 0xFF, 0xFF, 0x88,
|
||||
0x0B, 0x00, 0x03, 0x88, 0x0B, 0xFF, 0xFF, 0x88, 0x0B, 0x00, 0x03, 0x88, 0x0B, 0xFF, 0xFF, 0x90, 0x0B, 0xFF, 0xFF,
|
||||
0xA0, 0x04, 0x00, 0x00, 0x40, 0x03, 0xFD, 0x7F, 0x80, 0x00, 0x02, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xED, 0x41, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x27, 0x09, 0x00, 0x00, 0xF5, 0x08, 0x00, 0x00, 0x1F, 0x09,
|
||||
0x00, 0x00, 0x4A, 0x09, 0x00, 0x00, 0x9F, 0x0A, 0x00, 0x00, 0xE3, 0x0A, 0x00, 0x00, 0xE4, 0x09, 0x00, 0x00, 0x02,
|
||||
0x0A, 0x00, 0x00, 0x29, 0x0A, 0x00, 0x00, 0x55, 0x0A, 0x00, 0x00, 0x72, 0x0A, 0x00, 0x00, 0x88, 0x0A, 0xFF, 0xFF,
|
||||
0x00, 0x00, 0xE7, 0xCF, 0xE5, 0x1C, 0xE7, 0xCF, 0x65, 0x00, 0xF0, 0x1F, 0xDD, 0x04, 0xF3, 0x9F, 0xF2, 0x03, 0xE0,
|
||||
0x0F, 0xC7, 0x04, 0xDF, 0xF7, 0x0B, 0x05, 0xDF, 0xF7, 0xF8, 0x04, 0xDF, 0xF7, 0x32, 0x04, 0xDF, 0xF7, 0xA8, 0x04,
|
||||
0xDF, 0xF7, 0x9E, 0x04, 0xDF, 0xF7, 0xBA, 0x04, 0xE0, 0x0F, 0x7A, 0x04, 0xFD, 0x7F, 0x85, 0x04, 0xFE, 0xFF, 0xFF,
|
||||
0x04, 0xFF, 0xFF, 0xDF, 0x04, 0xFF, 0xFF, 0x00, 0x00, 0xE7, 0xCF, 0x00, 0x1F, 0xE7, 0xCF, 0x00, 0x1F, 0xF0, 0x1F,
|
||||
0x00, 0x1F, 0xF3, 0x9F, 0x00, 0x1F, 0xE0, 0x0F, 0x00, 0x1F, 0xDF, 0xF7, 0x00, 0x1F, 0xDF, 0xF7, 0x00, 0x1F, 0xDF,
|
||||
0xF7, 0x00, 0x1F, 0xDF, 0xF7, 0x00, 0x1F, 0xDF, 0xF7, 0x00, 0x1F, 0xDF, 0xF7, 0x00, 0x7F, 0xE0, 0x0F, 0x00, 0x7F,
|
||||
0xFD, 0x7F, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x08, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x08, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x33, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x08, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xF0,
|
||||
0x00, 0xE3, 0xF1, 0xF0, 0x00, 0xEB, 0xF5, 0xF1, 0x11, 0xE9, 0xE5, 0xF0, 0x00, 0xF4, 0x0B, 0xF0, 0x00, 0xF7, 0xFB,
|
||||
0xF0, 0x00, 0xFA, 0x17, 0xF1, 0x11, 0xFA, 0xD7, 0xF0, 0x00, 0xE0, 0x01, 0xF0, 0x0F, 0xDF, 0xFE, 0xF0, 0x00, 0xDF,
|
||||
0xFE, 0xFF, 0xFF, 0xDF, 0xFE, 0xF0, 0x00, 0xDF, 0xFE, 0xFF, 0xFF, 0xDF, 0xFE, 0xFF, 0xFF, 0xDF, 0xFE, 0xF0, 0x00,
|
||||
0xDF, 0xFE, 0xFF, 0xFF, 0xE0, 0x01, 0xFF, 0xFF, 0xFF, 0x5F, 0xFF, 0xFF, 0xFF, 0xBF, 0xF6, 0x66, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0xE3, 0xF1, 0xF0, 0x01, 0xEB, 0xF5, 0xF1, 0x11, 0xE9, 0xE5, 0xF0, 0x00, 0xF4, 0x0B,
|
||||
0xF0, 0x01, 0xF7, 0xFB, 0xF1, 0x11, 0xFA, 0x17, 0xF0, 0x00, 0xFA, 0xD7, 0xF0, 0x01, 0xE0, 0x01, 0xF1, 0x11, 0xDF,
|
||||
0xFE, 0xF0, 0x00, 0xDF, 0xFE, 0xF0, 0x01, 0xDF, 0xFE, 0xF1, 0x11, 0xDF, 0xFE, 0xF0, 0x00, 0xDF, 0xFE, 0xF0, 0x00,
|
||||
0xDF, 0xFE, 0xF0, 0x00, 0xDF, 0xFE, 0xF0, 0x00, 0xE0, 0x01, 0xF0, 0x00, 0xFF, 0x5F, 0xF1, 0x00, 0xFF, 0xBF, 0xF0,
|
||||
0x00, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88,
|
||||
0x88, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x88, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x7F, 0xFF, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x88, 0x80, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0x33, 0x33, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x88, 0x00, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x7F,
|
||||
0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0x33, 0x33, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x80, 0x88, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x88, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x33, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x87, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0x33, 0x33,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x88, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x7F, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x33, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x88, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7,
|
||||
0x33, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x77, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x08, 0x7F, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x33, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x88, 0x70, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xF7, 0x33, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x88,
|
||||
0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x88, 0x80, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xF7, 0x33, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x88, 0x88, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x66, 0x66, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, 0xFF, 0xC3, 0xFF, 0xE1,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0xFF, 0x81, 0xFF, 0x07, 0x00, 0x00, 0xFF, 0x03, 0xFF, 0x81, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0x03, 0xFF, 0x81, 0xFF, 0xFF, 0x06, 0x60, 0xFF, 0x01, 0xFF, 0x01, 0xFF, 0x00, 0x37, 0x77, 0xFF, 0x00,
|
||||
0x00, 0x01, 0xFF, 0x77, 0x77, 0x77, 0xFF, 0x80, 0x00, 0x03, 0xFF, 0xEE, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x03, 0xFF,
|
||||
0x33, 0x33, 0x33, 0xFF, 0x80, 0x00, 0x03, 0xFF, 0x00, 0x00, 0xEE, 0xFF, 0xC0, 0x00, 0x03, 0xFF, 0x00, 0x33, 0x33,
|
||||
0xFF, 0xC0, 0x00, 0x01, 0xFF, 0x33, 0x33, 0x33, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x0E, 0xEE, 0x00, 0xFE, 0x00, 0x00,
|
||||
0x00, 0x7F, 0x33, 0x33, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0x00,
|
||||
0x33, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0x33, 0x33, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0xEE, 0x0E, 0xEE, 0xFC,
|
||||
0x00, 0x00, 0x00, 0x7F, 0x33, 0x33, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00,
|
||||
0x7F, 0x00, 0x33, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0x33, 0x33, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0x0E, 0xEE,
|
||||
0x0E, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0x33, 0x33, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0xFC, 0x00,
|
||||
0x00, 0x00, 0x7F, 0x40, 0x33, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0x33, 0x33, 0x33, 0xFC, 0x00, 0x00, 0x00, 0xFF,
|
||||
0x00, 0x0E, 0x00, 0xFC, 0x00, 0x00, 0x01, 0xFF, 0x33, 0x33, 0x33, 0xFE, 0x00, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x00,
|
||||
0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0xF0, 0x33, 0x33, 0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0x33, 0x33, 0x33, 0xFF, 0xFF, 0xCF,
|
||||
0xFF, 0xFF, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x33, 0x33, 0x33, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
|
||||
0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x5D, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x22, 0x20,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x11, 0x12,
|
||||
0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x31, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x33,
|
||||
0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x31, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x33, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x33, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00,
|
||||
0x13, 0x33, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x33, 0x12, 0x22, 0x22, 0x22, 0x22,
|
||||
0x22, 0x13, 0x33, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x33, 0x12, 0x22, 0x22, 0x22,
|
||||
0x22, 0x22, 0x13, 0x31, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x33, 0x31, 0x11, 0x11,
|
||||
0x11, 0x11, 0x11, 0x33, 0x31, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x33, 0x33, 0x33,
|
||||
0x33, 0x33, 0x33, 0x33, 0x33, 0x31, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x33,
|
||||
0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x12, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13,
|
||||
0x31, 0x11, 0x11, 0x11, 0x11, 0x11, 0x33, 0x12, 0x22, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22,
|
||||
0x13, 0x33, 0x12, 0x22, 0x22, 0x22, 0x13, 0x33, 0x12, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x13, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x43, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x14, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x14, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x12, 0x20, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x14, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x12, 0x20, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44, 0x12, 0x20, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x49, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x44, 0x44, 0x12, 0x20,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x12,
|
||||
0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44,
|
||||
0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x49, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x44,
|
||||
0x44, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
|
||||
0x44, 0x44, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
|
||||
0x33, 0x44, 0x44, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x49, 0x99, 0x99, 0x99, 0x99, 0x99,
|
||||
0x99, 0x99, 0x44, 0x44, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
|
||||
0x44, 0x44, 0x44, 0x44, 0x44, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x44, 0x44, 0x44, 0x44,
|
||||
0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x44, 0x44, 0x44, 0x44,
|
||||
0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x11, 0x11, 0x11,
|
||||
0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x33, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x33, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00};
|
||||
|
||||
#endif // SETTER_SRC_DARWIN_XATTR_H_
|
||||
40
setter/src/unix/linux/CMakeLists.txt
Normal file
40
setter/src/unix/linux/CMakeLists.txt
Normal file
@@ -0,0 +1,40 @@
|
||||
# /****************************************************************************
|
||||
# Aaru Data Preservation Suite
|
||||
# -----------------------------------------------------------------------------
|
||||
#
|
||||
# Author(s) : Natalia Portillo
|
||||
#
|
||||
# --[ License ] ---------------------------------------------------------------
|
||||
# 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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
#
|
||||
# -----------------------------------------------------------------------------
|
||||
# Copyright (C) 2011-2021 Natalia Portillo
|
||||
# *****************************************************************************/
|
||||
|
||||
if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Linux")
|
||||
return()
|
||||
endif()
|
||||
|
||||
project(
|
||||
fssetter-linux
|
||||
DESCRIPTION "Filesystem test creator for Linux"
|
||||
LANGUAGES C)
|
||||
|
||||
set(PLATFORM_SOURCES attr.c sparse.c xattr.c xattr.h volume.c volume.h)
|
||||
|
||||
set(EXECUTABLE_NAME "fssetter-${CMAKE_SYSTEM_NAME}-${CMAKE_SYSTEM_PROCESSOR}")
|
||||
|
||||
add_executable(${EXECUTABLE_NAME} ${PLATFORM_SOURCES})
|
||||
|
||||
target_link_libraries(${EXECUTABLE_NAME} core unix dl)
|
||||
111
setter/src/unix/linux/attr.c
Normal file
111
setter/src/unix/linux/attr.c
Normal file
@@ -0,0 +1,111 @@
|
||||
/****************************************************************************
|
||||
Aaru Data Preservation Suite
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Author(s) : Natalia Portillo
|
||||
|
||||
--[ License ] ---------------------------------------------------------------
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2021 Natalia Portillo
|
||||
*****************************************************************************/
|
||||
|
||||
#include <errno.h>
|
||||
#include <linux/fs.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "attr.h"
|
||||
|
||||
#include "../../log.h"
|
||||
#include "linux.h"
|
||||
|
||||
void LinuxFileAttributes(const char* path)
|
||||
{
|
||||
int ret;
|
||||
int fd;
|
||||
FILE* h;
|
||||
int rc;
|
||||
int wRc;
|
||||
int sRc;
|
||||
int cRc;
|
||||
int attr;
|
||||
int i;
|
||||
|
||||
ret = chdir(path);
|
||||
|
||||
if(ret)
|
||||
{
|
||||
log_write("Error %d changing to specified path.\n", errno);
|
||||
return;
|
||||
}
|
||||
|
||||
ret = mkdir("ATTRS", 0755);
|
||||
|
||||
if(ret)
|
||||
{
|
||||
log_write("Error %d creating working directory.\n", errno);
|
||||
return;
|
||||
}
|
||||
|
||||
ret = chdir("ATTRS");
|
||||
|
||||
if(ret)
|
||||
{
|
||||
log_write("Error %d changing to working directory.\n", errno);
|
||||
return;
|
||||
}
|
||||
|
||||
log_write("Creating files with different flags (attributes).\n");
|
||||
|
||||
for(i = 0; i < KNOWN_LINUX_ATTRS; i++)
|
||||
{
|
||||
h = fopen(linux_attrs[i].filename, "w+");
|
||||
rc = 0;
|
||||
wRc = 0;
|
||||
sRc = 0;
|
||||
cRc = 0;
|
||||
attr = 0;
|
||||
if(h == NULL) { rc = errno; }
|
||||
else
|
||||
{
|
||||
attr |= linux_attrs[i].attr;
|
||||
fd = fileno(h);
|
||||
ret = ioctl(fd, FS_IOC_SETFLAGS, &attr);
|
||||
|
||||
if(ret)
|
||||
{
|
||||
sRc = errno;
|
||||
unlink(linux_attrs[i].filename);
|
||||
}
|
||||
else
|
||||
{
|
||||
ret = fprintf(h, "%s", linux_attrs[i].contents);
|
||||
if(ret < 1)
|
||||
{
|
||||
wRc = errno;
|
||||
unlink(linux_attrs[i].filename);
|
||||
}
|
||||
}
|
||||
|
||||
ret = fclose(h);
|
||||
if(ret) { cRc = errno; }
|
||||
}
|
||||
log_write("\t%s, rc = %d, wRc = %d, sRc = %d, cRc = %d\n", linux_attrs[i].description, rc, wRc, sRc, cRc);
|
||||
}
|
||||
}
|
||||
100
setter/src/unix/linux/attr.h
Normal file
100
setter/src/unix/linux/attr.h
Normal file
@@ -0,0 +1,100 @@
|
||||
/****************************************************************************
|
||||
Aaru Data Preservation Suite
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Author(s) : Natalia Portillo
|
||||
|
||||
--[ License ] ---------------------------------------------------------------
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2021 Natalia Portillo
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef AARU_FSTESTER_SETTER_SRC_LINUX_ATTR_H_
|
||||
#define AARU_FSTESTER_SETTER_SRC_LINUX_ATTR_H_
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char filename[16];
|
||||
char contents[256];
|
||||
char description[256];
|
||||
int attr;
|
||||
} linux_attr_tests_t;
|
||||
|
||||
#define KNOWN_LINUX_ATTRS 12
|
||||
|
||||
#ifndef FS_SECRM_FL
|
||||
#define FS_SECRM_FL 0x00000001 /* Secure deletion */
|
||||
#endif
|
||||
#ifndef FS_UNRM_FL
|
||||
#define FS_UNRM_FL 0x00000002 /* Undelete */
|
||||
#endif
|
||||
|
||||
#ifndef FS_COMPR_FL
|
||||
#define FS_COMPR_FL 0x00000004 /* Compress file */
|
||||
#endif
|
||||
|
||||
#ifndef FS_SYNC_FL
|
||||
#define FS_SYNC_FL 0x00000008 /* Synchronous updates */
|
||||
#endif
|
||||
|
||||
#ifndef FS_IMMUTABLE_FL
|
||||
#define FS_IMMUTABLE_FL 0x00000010 /* Immutable file */
|
||||
#endif
|
||||
|
||||
#ifndef FS_APPEND_FL
|
||||
#define FS_APPEND_FL 0x00000020 /* writes to file may only append */
|
||||
#endif
|
||||
|
||||
#ifndef FS_NODUMP_FL
|
||||
#define FS_NODUMP_FL 0x00000040 /* do not dump file */
|
||||
#endif
|
||||
|
||||
#ifndef FS_NOATIME_FL
|
||||
#define FS_NOATIME_FL 0x00000080 /* do not update atime */
|
||||
#endif
|
||||
|
||||
#ifndef FS_JOURNAL_DATA_FL
|
||||
#define FS_JOURNAL_DATA_FL 0x00004000 /* Reserved for ext3 */
|
||||
#endif
|
||||
|
||||
#ifndef FS_NOTAIL_FL
|
||||
#define FS_NOTAIL_FL 0x00008000 /* file tail should not be merged */
|
||||
#endif
|
||||
|
||||
#ifndef FS_NOCOW_FL
|
||||
#define FS_NOCOW_FL 0x00800000 /* Do not cow file */
|
||||
#endif
|
||||
|
||||
#ifndef FS_PROJINHERIT_FL
|
||||
#define FS_PROJINHERIT_FL 0x20000000 /* Create with parents projid */
|
||||
#endif
|
||||
|
||||
static const linux_attr_tests_t linux_attrs[KNOWN_LINUX_ATTRS] = {
|
||||
{"APPEND", "This file is now append only", "File with append only flag", FS_APPEND_FL},
|
||||
{"COMPRESS", "This file is now compressed", "File with compressed flag", FS_COMPR_FL},
|
||||
{"IMMUTABLE", "This file is now immutable", "File with immutable flag", FS_IMMUTABLE_FL},
|
||||
{"JOURNALED", "This file is now journaled", "File with journaled flag", FS_JOURNAL_DATA_FL},
|
||||
{"NOATIME", "This file is now noatime", "File with noatime flag", FS_NOATIME_FL},
|
||||
{"NOCOW", "This file is now not copy on write", "File with no copy on write flag", FS_NOCOW_FL},
|
||||
{"NODUMP", "This file is now not dumpable", "File with no dump flag", FS_NODUMP_FL},
|
||||
{"NOTAIL", "This file is now not tailed", "File with no tail flag", FS_NOTAIL_FL},
|
||||
{"PROJECTINHERIT", "This file is now inheriting project id", "File with project inherit flag", FS_PROJINHERIT_FL},
|
||||
{"SECUREDELETION", "This file is now secure deletable", "File with secure delete flag", FS_SECRM_FL},
|
||||
{"SYNC", "This file is now synchronous", "File with synchronous flag", FS_SYNC_FL},
|
||||
{"UNREMOVABLE", "This file is now marked for undeletion", "File with undeletion flag", FS_UNRM_FL},
|
||||
};
|
||||
|
||||
#endif // AARU_FSTESTER_SETTER_SRC_LINUX_ATTR_H_
|
||||
35
setter/src/unix/linux/linux.h
Normal file
35
setter/src/unix/linux/linux.h
Normal file
@@ -0,0 +1,35 @@
|
||||
/****************************************************************************
|
||||
Aaru Data Preservation Suite
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Author(s) : Natalia Portillo
|
||||
|
||||
--[ License ] ---------------------------------------------------------------
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2021 Natalia Portillo
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef AARU_FSTESTER_SETTER_LINUX_H
|
||||
#define AARU_FSTESTER_SETTER_LINUX_H
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
void LinuxExtendedAttributes(const char* path);
|
||||
void LinuxSparse(const char* path);
|
||||
void LinuxFileAttributes(const char* path);
|
||||
void LinuxPrintStatfsFlags(__fsword_t flags);
|
||||
|
||||
#endif
|
||||
139
setter/src/unix/linux/sparse.c
Normal file
139
setter/src/unix/linux/sparse.c
Normal file
@@ -0,0 +1,139 @@
|
||||
/****************************************************************************
|
||||
Aaru Data Preservation Suite
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Author(s) : Natalia Portillo
|
||||
|
||||
--[ License ] ---------------------------------------------------------------
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2021 Natalia Portillo
|
||||
*****************************************************************************/
|
||||
|
||||
#include "../../include/consts.h"
|
||||
#define _GNU_SOURCE
|
||||
#include <errno.h>
|
||||
#include <fcntl.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "../../log.h"
|
||||
#include "linux.h"
|
||||
|
||||
void LinuxSparse(const char* path)
|
||||
{
|
||||
int ret;
|
||||
int rc, wRc, cRc, zRc;
|
||||
FILE* h;
|
||||
int i;
|
||||
int fd;
|
||||
|
||||
ret = chdir(path);
|
||||
|
||||
if(ret)
|
||||
{
|
||||
log_write("Error %d changing to specified path.\n", errno);
|
||||
return;
|
||||
}
|
||||
|
||||
ret = mkdir("SPARSE", 0755);
|
||||
|
||||
if(ret)
|
||||
{
|
||||
log_write("Error %d creating working directory.\n", errno);
|
||||
return;
|
||||
}
|
||||
|
||||
ret = chdir("SPARSE");
|
||||
|
||||
if(ret)
|
||||
{
|
||||
log_write("Error %d changing to working directory.\n", errno);
|
||||
return;
|
||||
}
|
||||
|
||||
log_write("Creating sparse files.\n");
|
||||
|
||||
h = fopen("SMALL", "w+");
|
||||
rc = 0;
|
||||
wRc = 0;
|
||||
cRc = 0;
|
||||
zRc = 0;
|
||||
if(h == NULL) { rc = errno; }
|
||||
else
|
||||
{
|
||||
for(i = 0; i < 4096 * 3; i += CLAUNIA_SIZE)
|
||||
{
|
||||
ret = fwrite(clauniaBytes, CLAUNIA_SIZE, 1, h);
|
||||
if(ret < 0)
|
||||
{
|
||||
wRc = errno;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
fd = fileno(h);
|
||||
ret = fallocate(fd, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 4096, 8192);
|
||||
if(ret) { zRc = errno; }
|
||||
|
||||
ret = fclose(h);
|
||||
if(ret) { cRc = errno; }
|
||||
}
|
||||
|
||||
log_write("\tFile name = \"%s\", size = %d, rc = %d, wRc = %d, cRc = %d, sRc = %d\n",
|
||||
"SMALL",
|
||||
4096 * 4,
|
||||
rc,
|
||||
wRc,
|
||||
cRc,
|
||||
zRc);
|
||||
|
||||
h = fopen("BIG", "w+");
|
||||
rc = 0;
|
||||
wRc = 0;
|
||||
cRc = 0;
|
||||
zRc = 0;
|
||||
if(h == NULL) { rc = errno; }
|
||||
else
|
||||
{
|
||||
for(i = 0; i < 4096 * 30; i += CLAUNIA_SIZE)
|
||||
{
|
||||
ret = fwrite(clauniaBytes, CLAUNIA_SIZE, 1, h);
|
||||
if(ret < 0)
|
||||
{
|
||||
wRc = errno;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
fd = fileno(h);
|
||||
ret = fallocate(fd, FALLOC_FL_PUNCH_HOLE | FALLOC_FL_KEEP_SIZE, 32768, 81920);
|
||||
if(ret) { zRc = errno; }
|
||||
|
||||
ret = fclose(h);
|
||||
if(ret) { cRc = errno; }
|
||||
}
|
||||
|
||||
log_write("\tFile name = \"%s\", size = %d, rc = %d, wRc = %d, cRc = %d, sRc = %d\n",
|
||||
"BIG",
|
||||
4096 * 30,
|
||||
rc,
|
||||
wRc,
|
||||
cRc,
|
||||
zRc);
|
||||
}
|
||||
102
setter/src/unix/linux/volume.c
Normal file
102
setter/src/unix/linux/volume.c
Normal file
@@ -0,0 +1,102 @@
|
||||
/****************************************************************************
|
||||
Aaru Data Preservation Suite
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Author(s) : Natalia Portillo
|
||||
|
||||
--[ License ] ---------------------------------------------------------------
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2021 Natalia Portillo
|
||||
*****************************************************************************/
|
||||
|
||||
#include <sys/statfs.h>
|
||||
|
||||
#include "volume.h"
|
||||
|
||||
#include "../../log.h"
|
||||
|
||||
void LinuxPrintStatfsFlags(__fsword_t flags)
|
||||
{
|
||||
log_write("\tFlags:\n");
|
||||
|
||||
if(flags & ST_RDONLY)
|
||||
{
|
||||
log_write("\t\tVolume is read-only.\n");
|
||||
flags -= ST_RDONLY;
|
||||
}
|
||||
|
||||
if(flags & ST_NOSUID)
|
||||
{
|
||||
log_write("\t\tVolume ignores suid and sgid bits.\n");
|
||||
flags -= ST_NOSUID;
|
||||
}
|
||||
|
||||
if(flags & ST_NODEV)
|
||||
{
|
||||
log_write("\t\tVolume disallows access to device special files.\n");
|
||||
flags -= ST_NODEV;
|
||||
}
|
||||
|
||||
if(flags & ST_NOEXEC)
|
||||
{
|
||||
log_write("\t\tVolume disallows program execution.\n");
|
||||
flags -= ST_NOEXEC;
|
||||
}
|
||||
|
||||
if(flags & ST_SYNCHRONOUS)
|
||||
{
|
||||
log_write("\t\tVolume writes are synced at once.\n");
|
||||
flags -= ST_SYNCHRONOUS;
|
||||
}
|
||||
|
||||
if(flags & ST_MANDLOCK)
|
||||
{
|
||||
log_write("\t\tVolume allows mandatory locks.\n");
|
||||
flags -= ST_MANDLOCK;
|
||||
}
|
||||
|
||||
if(flags & ST_WRITE)
|
||||
{
|
||||
log_write("\t\tVolume writes on file/directory/symlink.\n");
|
||||
flags -= ST_WRITE;
|
||||
}
|
||||
|
||||
if(flags & ST_APPEND)
|
||||
{
|
||||
log_write("\t\tVolume appends.\n");
|
||||
flags -= ST_APPEND;
|
||||
}
|
||||
|
||||
if(flags & ST_IMMUTABLE)
|
||||
{
|
||||
log_write("\t\tVolume is immutable.\n");
|
||||
flags -= ST_IMMUTABLE;
|
||||
}
|
||||
|
||||
if(flags & ST_NOATIME)
|
||||
{
|
||||
log_write("\t\tVolume does not update access times.\n");
|
||||
flags -= ST_NOATIME;
|
||||
}
|
||||
|
||||
if(flags & ST_NODIRATIME)
|
||||
{
|
||||
log_write("\t\tVolume does not update directory access times.\n");
|
||||
flags -= ST_NODIRATIME;
|
||||
}
|
||||
|
||||
if(flags) { log_write("\t\tRemaining flags: 0x%08lX\n", flags); }
|
||||
}
|
||||
72
setter/src/unix/linux/volume.h
Normal file
72
setter/src/unix/linux/volume.h
Normal file
@@ -0,0 +1,72 @@
|
||||
/****************************************************************************
|
||||
Aaru Data Preservation Suite
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Author(s) : Natalia Portillo
|
||||
|
||||
--[ License ] ---------------------------------------------------------------
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2021 Natalia Portillo
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef AARU_FSTESTER_SETTER_SRC_LINUX_VOLUME_H_
|
||||
#define AARU_FSTESTER_SETTER_SRC_LINUX_VOLUME_H_
|
||||
|
||||
#ifndef ST_RDONLY
|
||||
#define ST_RDONLY 1
|
||||
#endif
|
||||
|
||||
#ifndef ST_NOSUID
|
||||
#define ST_NOSUID 2
|
||||
#endif
|
||||
|
||||
#ifndef ST_NODEV
|
||||
#define ST_NODEV 4
|
||||
#endif
|
||||
|
||||
#ifndef ST_NOEXEC
|
||||
#define ST_NOEXEC 8
|
||||
#endif
|
||||
|
||||
#ifndef ST_SYNCHRONOUS
|
||||
#define ST_SYNCHRONOUS 16
|
||||
#endif
|
||||
|
||||
#ifndef ST_MANDLOCK
|
||||
#define ST_MANDLOCK 64
|
||||
#endif
|
||||
|
||||
#ifndef ST_WRITE
|
||||
#define ST_WRITE 128
|
||||
#endif
|
||||
|
||||
#ifndef ST_APPEND
|
||||
#define ST_APPEND 256
|
||||
#endif
|
||||
|
||||
#ifndef ST_IMMUTABLE
|
||||
#define ST_IMMUTABLE 512
|
||||
#endif
|
||||
|
||||
#ifndef ST_NOATIME
|
||||
#define ST_NOATIME 1024
|
||||
#endif
|
||||
|
||||
#ifndef ST_NODIRATIME
|
||||
#define ST_NODIRATIME 2048
|
||||
#endif
|
||||
|
||||
#endif // AARU_FSTESTER_SETTER_SRC_LINUX_VOLUME_H_
|
||||
109
setter/src/unix/linux/xattr.c
Normal file
109
setter/src/unix/linux/xattr.c
Normal file
@@ -0,0 +1,109 @@
|
||||
/****************************************************************************
|
||||
Aaru Data Preservation Suite
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Author(s) : Natalia Portillo
|
||||
|
||||
--[ License ] ---------------------------------------------------------------
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2021 Natalia Portillo
|
||||
*****************************************************************************/
|
||||
|
||||
#define _GNU_SOURCE
|
||||
|
||||
#include <dlfcn.h>
|
||||
#include <errno.h>
|
||||
#include <features.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "xattr.h"
|
||||
|
||||
#include "../../log.h"
|
||||
#include "linux.h"
|
||||
|
||||
void LinuxExtendedAttributes(const char* path)
|
||||
{
|
||||
int ret;
|
||||
FILE* file;
|
||||
int rc;
|
||||
int cRc;
|
||||
_linux_setxattr linux_setxattr;
|
||||
|
||||
linux_setxattr = (_linux_setxattr)dlsym(RTLD_DEFAULT, "setxattr");
|
||||
|
||||
if(!linux_setxattr)
|
||||
{
|
||||
log_write("Error loading setxattr(2) from libc: %s\n", dlerror());
|
||||
return;
|
||||
}
|
||||
|
||||
ret = chdir(path);
|
||||
|
||||
if(ret)
|
||||
{
|
||||
log_write("Error %d changing to specified path.\n", errno);
|
||||
return;
|
||||
}
|
||||
|
||||
ret = mkdir("XATTRS", 0755);
|
||||
|
||||
if(ret)
|
||||
{
|
||||
log_write("Error %d creating working directory.\n", errno);
|
||||
return;
|
||||
}
|
||||
|
||||
ret = chdir("XATTRS");
|
||||
|
||||
if(ret)
|
||||
{
|
||||
log_write("Error %d changing to working directory.\n", errno);
|
||||
return;
|
||||
}
|
||||
|
||||
log_write("Creating files with extended attributes.\n");
|
||||
|
||||
rc = 0;
|
||||
cRc = 0;
|
||||
file = fopen("com.ibm.os2.comment", "w+");
|
||||
if(file == NULL) rc = errno;
|
||||
else
|
||||
{
|
||||
fprintf(file, "This file has an extended attribute called \"com.ibm.os2.comment\" that is 72 bytes long.\n");
|
||||
fclose(file);
|
||||
ret = linux_setxattr("com.ibm.os2.comment", "user.com.ibm.os2.comment", CommentsEA, 72, 0);
|
||||
|
||||
if(ret) cRc = errno;
|
||||
}
|
||||
log_write("\tFile with an extended attribute called \"com.ibm.os2.comment\", rc = %d, cRc = %d\n", rc, cRc);
|
||||
|
||||
rc = 0;
|
||||
cRc = 0;
|
||||
file = fopen("com.ibm.os2.icon", "w+");
|
||||
if(file == NULL) rc = errno;
|
||||
else
|
||||
{
|
||||
fprintf(file, "This file has an extended attribute called \"com.ibm.os2.icon\" that is 3516 bytes long.\n");
|
||||
fclose(file);
|
||||
ret = linux_setxattr("com.ibm.os2.icon", "user.com.ibm.os2.icon", IconEA, 3516, 0);
|
||||
|
||||
if(ret) cRc = errno;
|
||||
}
|
||||
log_write("\tFile with an extended attribute called \"com.ibm.os2.icon\", rc = %d, cRc = %d\n", rc, cRc);
|
||||
}
|
||||
224
setter/src/unix/linux/xattr.h
Normal file
224
setter/src/unix/linux/xattr.h
Normal file
@@ -0,0 +1,224 @@
|
||||
/****************************************************************************
|
||||
Aaru Data Preservation Suite
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Author(s) : Natalia Portillo
|
||||
|
||||
--[ License ] ---------------------------------------------------------------
|
||||
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 3 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, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-----------------------------------------------------------------------------
|
||||
Copyright (C) 2011-2021 Natalia Portillo
|
||||
*****************************************************************************/
|
||||
|
||||
#ifndef AARU_FSTESTER_SETTER_SRC_LINUX_XATTR_H_
|
||||
#define AARU_FSTESTER_SETTER_SRC_LINUX_XATTR_H_
|
||||
|
||||
typedef int (*_linux_setxattr)(const char* path, const char* name, const void* value, size_t size, int flags);
|
||||
|
||||
static unsigned char CommentsEA[72] = {
|
||||
0x45, 0x00, 0x00, 0x00, 0x00, 0x09, 0x33, 0x00, 0x2E, 0x43, 0x4F, 0x4D, 0x4D, 0x45, 0x4E, 0x54, 0x53, 0x00,
|
||||
0xFD, 0xFF, 0x2E, 0x00, 0x54, 0x68, 0x69, 0x73, 0x20, 0x45, 0x41, 0x20, 0x63, 0x6F, 0x6E, 0x74, 0x61, 0x69,
|
||||
0x6E, 0x73, 0x20, 0x63, 0x6F, 0x6D, 0x6D, 0x65, 0x6E, 0x74, 0x73, 0x20, 0x66, 0x6F, 0x72, 0x20, 0x57, 0x6F,
|
||||
0x72, 0x6B, 0x50, 0x6C, 0x61, 0x63, 0x65, 0x20, 0x53, 0x68, 0x65, 0x6C, 0x6C, 0x2E, 0x00, 0x00, 0x00, 0x00};
|
||||
|
||||
static unsigned char IconEA[3516] = {
|
||||
0xBC, 0x0D, 0x00, 0x00, 0x00, 0x05, 0xAE, 0x0D, 0x2E, 0x49, 0x43, 0x4F, 0x4E, 0x00, 0xF9, 0xFF, 0xAA, 0x0D, 0x42,
|
||||
0x41, 0x28, 0x00, 0x00, 0x00, 0x78, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x43, 0x49, 0x1A, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x10, 0x00, 0xDA, 0x01, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x20, 0x00, 0x40, 0x00, 0x01, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x43, 0x49, 0x1A, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0xDA, 0x02,
|
||||
0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F,
|
||||
0x3F, 0x80, 0x80, 0x80, 0xC0, 0xC0, 0xC0, 0xFF, 0xFF, 0xFF, 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x80, 0x00, 0x00,
|
||||
0xFF, 0xFF, 0x00, 0x80, 0x80, 0x00, 0xFF, 0x00, 0xFF, 0x80, 0x00, 0x80, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00,
|
||||
0xFF, 0x00, 0xFF, 0x00, 0x00, 0x42, 0x41, 0x28, 0x00, 0x00, 0x00, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x43, 0x49, 0x1A, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0xDA, 0x04, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x20,
|
||||
0x00, 0x40, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x43, 0x49, 0x1A, 0x00, 0x00, 0x00,
|
||||
0x10, 0x00, 0x10, 0x00, 0xDA, 0x05, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x20, 0x00, 0x20, 0x00, 0x01, 0x00, 0x01,
|
||||
0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x42, 0x41, 0x28, 0x00, 0x00, 0x00, 0x14, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x43, 0x49, 0x1A, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0x5A, 0x06, 0x00, 0x00, 0x0C, 0x00, 0x00,
|
||||
0x00, 0x10, 0x00, 0x20, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x43, 0x49, 0x1A, 0x00,
|
||||
0x00, 0x00, 0x08, 0x00, 0x08, 0x00, 0xDA, 0x06, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x10, 0x00, 0x10, 0x00, 0x01,
|
||||
0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x41, 0x28, 0x00, 0x00, 0x00, 0x62, 0x01, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x43, 0x49, 0x1A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x1A, 0x07, 0x00, 0x00, 0x0C,
|
||||
0x00, 0x00, 0x00, 0x14, 0x00, 0x28, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x43, 0x49,
|
||||
0x1A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0xBA, 0x07, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x14, 0x00, 0x14,
|
||||
0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x42, 0x41, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x04, 0x00, 0x03, 0x43, 0x49, 0x1A, 0x00, 0x00, 0x00, 0x14, 0x00, 0x14, 0x00, 0x0A, 0x08, 0x00,
|
||||
0x00, 0x0C, 0x00, 0x00, 0x00, 0x28, 0x00, 0x50, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF,
|
||||
0x43, 0x49, 0x1A, 0x00, 0x00, 0x00, 0x14, 0x00, 0x14, 0x00, 0x8A, 0x0A, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x28,
|
||||
0x00, 0x28, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x3F, 0x3F, 0x80, 0x80, 0x80, 0xC0, 0xC0, 0xC0,
|
||||
0xFF, 0xFF, 0xFF, 0x00, 0x80, 0x80, 0x80, 0xA0, 0x80, 0x28, 0x50, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x80, 0x00, 0xD0,
|
||||
0xD8, 0xB0, 0xC0, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0x8F, 0xFE, 0x3F, 0xFE, 0x0F, 0xF8, 0x3F, 0xFE, 0x0F, 0xF8, 0x3F, 0xFE, 0x0F, 0xF8, 0x3F, 0xFE, 0x00,
|
||||
0x00, 0x3F, 0xFF, 0x00, 0x00, 0x3F, 0xFF, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x1F, 0xFE,
|
||||
0x00, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x0F,
|
||||
0xF8, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00,
|
||||
0x0F, 0xF8, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x0F, 0xF8, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x3F, 0xFC, 0x00,
|
||||
0x00, 0x7F, 0xFF, 0xFC, 0x7F, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x01, 0x11, 0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x11, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x31,
|
||||
0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x31, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x31, 0x22, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x31, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x33, 0x12, 0x22, 0x22, 0x22, 0x22, 0x13,
|
||||
0x31, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x12, 0x22, 0x22, 0x22, 0x22, 0x13, 0x12, 0x22, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x11, 0x11, 0x11, 0x11, 0x11, 0x13, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x13, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x21, 0x31, 0x11, 0x11, 0x11, 0x11, 0x31, 0x22, 0x22, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x21, 0x31, 0x22,
|
||||
0x22, 0x22, 0x21, 0x31, 0x22, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
|
||||
0x11, 0x11, 0x11, 0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x34, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x31,
|
||||
0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x41, 0x22, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x41, 0x22, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x44, 0x46, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x44, 0x41, 0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x44, 0x44,
|
||||
0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x41, 0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x46, 0x66, 0x66, 0x66, 0x66,
|
||||
0x66, 0x66, 0x44, 0x41, 0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
|
||||
0x41, 0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x46, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x44, 0x41, 0x22, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x41, 0x22, 0x00, 0x00, 0x00, 0x00,
|
||||
0x01, 0x44, 0x46, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x44, 0x41, 0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x44, 0x44,
|
||||
0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x41, 0x20, 0x00, 0x00, 0x00, 0x00, 0x01, 0x34, 0x44, 0x44, 0x44, 0x44,
|
||||
0x44, 0x44, 0x44, 0x44, 0x31, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11,
|
||||
0x11, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x07, 0xFC, 0x1F, 0xFC, 0x07, 0xF0, 0x1F, 0xFC, 0x07, 0xF0, 0x1F, 0xFC, 0x07,
|
||||
0xF0, 0x1F, 0xFC, 0x00, 0x00, 0x1F, 0xFC, 0x00, 0x00, 0x1F, 0xFE, 0x00, 0x00, 0x1F, 0xFE, 0x00, 0x00, 0x3F, 0xFE,
|
||||
0x00, 0x00, 0x1F, 0xFE, 0x00, 0x00, 0x0F, 0xFC, 0x00, 0x00, 0x07, 0xF8, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07,
|
||||
0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00,
|
||||
0x07, 0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00, 0x00, 0x07, 0xF0, 0x00,
|
||||
0x00, 0x0F, 0xF0, 0x00, 0x00, 0x1F, 0xF8, 0x00, 0x00, 0x3F, 0xFC, 0x00, 0x00, 0x7F, 0xFF, 0xFC, 0x7F, 0xFF, 0xFF,
|
||||
0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xF8, 0x03, 0xE0, 0x03, 0x88, 0x0E, 0x20, 0x02, 0x08, 0x08, 0x20, 0x02, 0x88, 0x0A, 0x20, 0x02, 0x8F, 0xFA,
|
||||
0x20, 0x02, 0xC0, 0x06, 0x20, 0x01, 0x40, 0x04, 0x20, 0x01, 0x40, 0x04, 0x40, 0x01, 0x7F, 0xFC, 0x60, 0x01, 0x20,
|
||||
0x08, 0x10, 0x02, 0x20, 0x08, 0x08, 0x04, 0x00, 0x00, 0x08, 0x0B, 0xFF, 0xFF, 0x88, 0x0B, 0xFF, 0xFF, 0x88, 0x0B,
|
||||
0xFF, 0xFF, 0x88, 0x0B, 0x00, 0x03, 0x88, 0x0B, 0xFF, 0xFF, 0x88, 0x0B, 0x00, 0x03, 0x88, 0x0B, 0xFF, 0xFF, 0x88,
|
||||
0x0B, 0x00, 0x03, 0x88, 0x0B, 0xFF, 0xFF, 0x88, 0x0B, 0x00, 0x03, 0x88, 0x0B, 0xFF, 0xFF, 0x90, 0x0B, 0xFF, 0xFF,
|
||||
0xA0, 0x04, 0x00, 0x00, 0x40, 0x03, 0xFD, 0x7F, 0x80, 0x00, 0x02, 0x80, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xED, 0x41, 0x00, 0x00, 0x3B, 0x00, 0x00, 0x00, 0x27, 0x09, 0x00, 0x00, 0xF5, 0x08, 0x00, 0x00, 0x1F, 0x09,
|
||||
0x00, 0x00, 0x4A, 0x09, 0x00, 0x00, 0x9F, 0x0A, 0x00, 0x00, 0xE3, 0x0A, 0x00, 0x00, 0xE4, 0x09, 0x00, 0x00, 0x02,
|
||||
0x0A, 0x00, 0x00, 0x29, 0x0A, 0x00, 0x00, 0x55, 0x0A, 0x00, 0x00, 0x72, 0x0A, 0x00, 0x00, 0x88, 0x0A, 0xFF, 0xFF,
|
||||
0x00, 0x00, 0xE7, 0xCF, 0xE5, 0x1C, 0xE7, 0xCF, 0x65, 0x00, 0xF0, 0x1F, 0xDD, 0x04, 0xF3, 0x9F, 0xF2, 0x03, 0xE0,
|
||||
0x0F, 0xC7, 0x04, 0xDF, 0xF7, 0x0B, 0x05, 0xDF, 0xF7, 0xF8, 0x04, 0xDF, 0xF7, 0x32, 0x04, 0xDF, 0xF7, 0xA8, 0x04,
|
||||
0xDF, 0xF7, 0x9E, 0x04, 0xDF, 0xF7, 0xBA, 0x04, 0xE0, 0x0F, 0x7A, 0x04, 0xFD, 0x7F, 0x85, 0x04, 0xFE, 0xFF, 0xFF,
|
||||
0x04, 0xFF, 0xFF, 0xDF, 0x04, 0xFF, 0xFF, 0x00, 0x00, 0xE7, 0xCF, 0x00, 0x1F, 0xE7, 0xCF, 0x00, 0x1F, 0xF0, 0x1F,
|
||||
0x00, 0x1F, 0xF3, 0x9F, 0x00, 0x1F, 0xE0, 0x0F, 0x00, 0x1F, 0xDF, 0xF7, 0x00, 0x1F, 0xDF, 0xF7, 0x00, 0x1F, 0xDF,
|
||||
0xF7, 0x00, 0x1F, 0xDF, 0xF7, 0x00, 0x1F, 0xDF, 0xF7, 0x00, 0x1F, 0xDF, 0xF7, 0x00, 0x7F, 0xE0, 0x0F, 0x00, 0x7F,
|
||||
0xFD, 0x7F, 0xFF, 0xFF, 0xFE, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x08, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x08, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0xFF, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x33, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x08, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x7F, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xF0,
|
||||
0x00, 0xE3, 0xF1, 0xF0, 0x00, 0xEB, 0xF5, 0xF1, 0x11, 0xE9, 0xE5, 0xF0, 0x00, 0xF4, 0x0B, 0xF0, 0x00, 0xF7, 0xFB,
|
||||
0xF0, 0x00, 0xFA, 0x17, 0xF1, 0x11, 0xFA, 0xD7, 0xF0, 0x00, 0xE0, 0x01, 0xF0, 0x0F, 0xDF, 0xFE, 0xF0, 0x00, 0xDF,
|
||||
0xFE, 0xFF, 0xFF, 0xDF, 0xFE, 0xF0, 0x00, 0xDF, 0xFE, 0xFF, 0xFF, 0xDF, 0xFE, 0xFF, 0xFF, 0xDF, 0xFE, 0xF0, 0x00,
|
||||
0xDF, 0xFE, 0xFF, 0xFF, 0xE0, 0x01, 0xFF, 0xFF, 0xFF, 0x5F, 0xFF, 0xFF, 0xFF, 0xBF, 0xF6, 0x66, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xF0, 0x00, 0xE3, 0xF1, 0xF0, 0x01, 0xEB, 0xF5, 0xF1, 0x11, 0xE9, 0xE5, 0xF0, 0x00, 0xF4, 0x0B,
|
||||
0xF0, 0x01, 0xF7, 0xFB, 0xF1, 0x11, 0xFA, 0x17, 0xF0, 0x00, 0xFA, 0xD7, 0xF0, 0x01, 0xE0, 0x01, 0xF1, 0x11, 0xDF,
|
||||
0xFE, 0xF0, 0x00, 0xDF, 0xFE, 0xF0, 0x01, 0xDF, 0xFE, 0xF1, 0x11, 0xDF, 0xFE, 0xF0, 0x00, 0xDF, 0xFE, 0xF0, 0x00,
|
||||
0xDF, 0xFE, 0xF0, 0x00, 0xDF, 0xFE, 0xF0, 0x00, 0xE0, 0x01, 0xF0, 0x00, 0xFF, 0x5F, 0xF1, 0x00, 0xFF, 0xBF, 0xF0,
|
||||
0x00, 0xFF, 0xFF, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88,
|
||||
0x88, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x88, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x7F, 0xFF, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x88, 0x80, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0x33, 0x33, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x88, 0x00, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x7F,
|
||||
0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x80, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0x33, 0x33, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x80, 0x88, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x88, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x33, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x87, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0x33, 0x33,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x88, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x7F, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x33, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x88, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF7,
|
||||
0x33, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x77, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x08, 0x7F, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x33, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x88, 0x70, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xF7, 0x33, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x88,
|
||||
0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x88, 0x80, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0xF7, 0x33, 0x33, 0x00, 0x00, 0x00, 0x00, 0x00, 0x88, 0x88, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x88, 0x88, 0x7F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x33, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0xF7, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x04, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7F, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x66, 0x66, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x7F, 0xFF, 0xFF, 0xC3, 0xFF, 0xE1,
|
||||
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0xFF, 0x81, 0xFF, 0x07, 0x00, 0x00, 0xFF, 0x03, 0xFF, 0x81, 0xFF, 0xFF, 0xFF,
|
||||
0xFF, 0xFF, 0x03, 0xFF, 0x81, 0xFF, 0xFF, 0x06, 0x60, 0xFF, 0x01, 0xFF, 0x01, 0xFF, 0x00, 0x37, 0x77, 0xFF, 0x00,
|
||||
0x00, 0x01, 0xFF, 0x77, 0x77, 0x77, 0xFF, 0x80, 0x00, 0x03, 0xFF, 0xEE, 0x00, 0x00, 0xFF, 0x80, 0x00, 0x03, 0xFF,
|
||||
0x33, 0x33, 0x33, 0xFF, 0x80, 0x00, 0x03, 0xFF, 0x00, 0x00, 0xEE, 0xFF, 0xC0, 0x00, 0x03, 0xFF, 0x00, 0x33, 0x33,
|
||||
0xFF, 0xC0, 0x00, 0x01, 0xFF, 0x33, 0x33, 0x33, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x0E, 0xEE, 0x00, 0xFE, 0x00, 0x00,
|
||||
0x00, 0x7F, 0x33, 0x33, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0x00,
|
||||
0x33, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0x33, 0x33, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0xEE, 0x0E, 0xEE, 0xFC,
|
||||
0x00, 0x00, 0x00, 0x7F, 0x33, 0x33, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x00, 0x00,
|
||||
0x7F, 0x00, 0x33, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0x33, 0x33, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0x0E, 0xEE,
|
||||
0x0E, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0x33, 0x33, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0x00, 0x00, 0x00, 0xFC, 0x00,
|
||||
0x00, 0x00, 0x7F, 0x40, 0x33, 0x33, 0xFC, 0x00, 0x00, 0x00, 0x7F, 0x33, 0x33, 0x33, 0xFC, 0x00, 0x00, 0x00, 0xFF,
|
||||
0x00, 0x0E, 0x00, 0xFC, 0x00, 0x00, 0x01, 0xFF, 0x33, 0x33, 0x33, 0xFE, 0x00, 0x00, 0x03, 0xFF, 0x00, 0x00, 0x00,
|
||||
0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0xF0, 0x33, 0x33, 0xFF, 0xFF, 0x87, 0xFF, 0xFF, 0x33, 0x33, 0x33, 0xFF, 0xFF, 0xCF,
|
||||
0xFF, 0xFF, 0x00, 0x00, 0x04, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x33, 0x33, 0x33, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
|
||||
0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x5D, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x22, 0x20,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x11, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x11, 0x12,
|
||||
0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x31, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x33,
|
||||
0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x31, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x33, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x33, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00,
|
||||
0x13, 0x33, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x33, 0x12, 0x22, 0x22, 0x22, 0x22,
|
||||
0x22, 0x13, 0x33, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x33, 0x12, 0x22, 0x22, 0x22,
|
||||
0x22, 0x22, 0x13, 0x31, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x33, 0x31, 0x11, 0x11,
|
||||
0x11, 0x11, 0x11, 0x33, 0x31, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x33, 0x33, 0x33,
|
||||
0x33, 0x33, 0x33, 0x33, 0x33, 0x31, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x33,
|
||||
0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x12, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13,
|
||||
0x31, 0x11, 0x11, 0x11, 0x11, 0x11, 0x33, 0x12, 0x22, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22,
|
||||
0x13, 0x33, 0x12, 0x22, 0x22, 0x22, 0x13, 0x33, 0x12, 0x22, 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
|
||||
0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x13, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x43, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x14, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x14, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x12, 0x20, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x14, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x12, 0x20, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44, 0x12, 0x20, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x49, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x44, 0x44, 0x12, 0x20,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x12,
|
||||
0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33, 0x44, 0x44,
|
||||
0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x49, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x99, 0x44,
|
||||
0x44, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
|
||||
0x44, 0x44, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x43, 0x33, 0x33, 0x33, 0x33, 0x33, 0x33,
|
||||
0x33, 0x44, 0x44, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x49, 0x99, 0x99, 0x99, 0x99, 0x99,
|
||||
0x99, 0x99, 0x44, 0x44, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x44, 0x44, 0x44, 0x44, 0x44,
|
||||
0x44, 0x44, 0x44, 0x44, 0x44, 0x12, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x14, 0x44, 0x44, 0x44, 0x44, 0x44,
|
||||
0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x12, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x13, 0x44, 0x44, 0x44, 0x44,
|
||||
0x44, 0x44, 0x44, 0x44, 0x44, 0x44, 0x43, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x11, 0x11, 0x11,
|
||||
0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x01, 0x33, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x01, 0x33, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
0x00};
|
||||
|
||||
#endif // AARU_FSTESTER_SETTER_SRC_LINUX_XATTR_H_
|
||||
@@ -23,7 +23,7 @@ Copyright (C) 2011-2021 Natalia Portillo
|
||||
*****************************************************************************/
|
||||
|
||||
#if defined(__APPLE__) && defined(__MACH__)
|
||||
#include "../darwin/darwin.h"
|
||||
#include "darwin/darwin.h"
|
||||
#else
|
||||
#include <errno.h>
|
||||
#include <sys/utsname.h>
|
||||
|
||||
@@ -25,7 +25,7 @@ Copyright (C) 2011-2021 Natalia Portillo
|
||||
#include "../include/defs.h"
|
||||
|
||||
#if defined(__APPLE__) && defined(__MACH__)
|
||||
#include "../darwin/darwin.h"
|
||||
#include "darwin/darwin.h"
|
||||
#endif
|
||||
|
||||
void ResourceFork(const char* path)
|
||||
|
||||
@@ -27,9 +27,9 @@ Copyright (C) 2011-2021 Natalia Portillo
|
||||
|
||||
#include <dlfcn.h>
|
||||
|
||||
#include "../linux/linux.h"
|
||||
#include "linux/linux.h"
|
||||
#elif defined(__APPLE__) && defined(__MACH__)
|
||||
#include "../darwin/darwin.h"
|
||||
#include "darwin/darwin.h"
|
||||
#endif
|
||||
|
||||
#include <errno.h>
|
||||
|
||||
@@ -44,11 +44,11 @@ Copyright (C) 2011-2021 Natalia Portillo
|
||||
#include "volume.h"
|
||||
|
||||
#if defined(__linux__) || defined(__LINUX__) || defined(__gnu_linux)
|
||||
#include "../linux/linux.h"
|
||||
#include "linux/linux.h"
|
||||
#elif defined(__APPLE__) && defined(__MACH__)
|
||||
#include "../darwin/darwin.h"
|
||||
#include "darwin/darwin.h"
|
||||
#elif defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
|
||||
#include "../bsd/bsd.h"
|
||||
#include "bsd/bsd.h"
|
||||
#endif
|
||||
|
||||
void GetVolumeInfo(const char* path, size_t* clusterSize)
|
||||
|
||||
@@ -25,11 +25,11 @@ Copyright (C) 2011-2021 Natalia Portillo
|
||||
#include "../include/defs.h"
|
||||
|
||||
#if defined(__linux__) || defined(__LINUX__) || defined(__gnu_linux)
|
||||
#include "../linux/linux.h"
|
||||
#include "linux/linux.h"
|
||||
#elif defined(__APPLE__) && defined(__MACH__)
|
||||
#include "../darwin/darwin.h"
|
||||
#include "darwin/darwin.h"
|
||||
#elif defined(__FreeBSD__) || defined(__DragonFly__) || defined(__NetBSD__) || defined(__OpenBSD__)
|
||||
#include "../bsd/bsd.h"
|
||||
#include "bsd/bsd.h"
|
||||
#endif
|
||||
|
||||
void ExtendedAttributes(const char* path)
|
||||
|
||||
Reference in New Issue
Block a user