diff --git a/CMakeLists.txt b/CMakeLists.txt
index 58dd0bb..94afd45 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -112,6 +112,7 @@
 include_directories(${LOG_SRC})
 
 add_library(g3logger ${SRC_FILES})
+set_target_properties(g3logger PROPERTIES LINKER_LANGUAGE CXX)
 # clean up some warnings in files we don't own
 if(("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") OR ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang"))
     set_source_files_properties(g3log/src/logcapture.cpp PROPERTIES COMPILE_FLAGS -Wno-braced-scalar-init)
@@ -127,8 +128,9 @@
 
 
 # dbus
-hunter_add_package(dbus)
+#hunter_add_package(dbus)
 find_package(dbus REQUIRED) # Include functions provided by PkgConfig module.
+include_directories(${DBUS_INCLUDE_DIR})
 
 # Crow
 add_definitions(-DCROW_DISABLE_LOGGING)
@@ -240,18 +242,11 @@
 target_link_libraries(bmcweb g3logger)
 target_link_libraries(bmcweb ${ZLIB_LIBRARIES})
 add_dependencies(bmcweb packagestaticcpp)
-target_link_libraries(bmcweb  dbus::dbus)
+target_link_libraries(bmcweb  ${DBUS_LIBRARIES})
 
 # dbus
-add_executable(dbus_test src/dbus_main.cpp
-boost-dbus/include/dbus/impl/connection.ipp
-boost-dbus/include/dbus/impl/filter.ipp
-boost-dbus/include/dbus/impl/match.ipp
-boost-dbus/include/dbus/impl/message_iterator.ipp
-boost-dbus/include/dbus/impl/message.ipp
-boost-dbus/include/dbus/impl/packer.ipp
-boost-dbus/include/dbus/impl/unpacker.ipp)
-target_link_libraries(dbus_test  dbus::dbus)
+add_executable(dbus_test src/dbus_main.cpp)
+target_link_libraries(dbus_test  ${DBUS_LIBRARIES})
 
 # udpclient
 #add_executable(udpclient src/udpclient.cpp)
diff --git a/cmake/Finddbus.cmake b/cmake/Finddbus.cmake
new file mode 100644
index 0000000..2d8eea2
--- /dev/null
+++ b/cmake/Finddbus.cmake
@@ -0,0 +1,61 @@
+# - Try to find DBus
+# Once done, this will define
+#
+#  DBUS_FOUND - system has DBus
+#  DBUS_INCLUDE_DIRS - the DBus include directories
+#  DBUS_LIBRARIES - link these to use DBus
+#
+# Copyright (C) 2012 Raphael Kubo da Costa <rakuco@webkit.org>
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1.  Redistributions of source code must retain the above copyright
+#     notice, this list of conditions and the following disclaimer.
+# 2.  Redistributions in binary form must reproduce the above copyright
+#     notice, this list of conditions and the following disclaimer in the
+#     documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER AND ITS CONTRIBUTORS ``AS
+# IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+# THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR ITS
+# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+FIND_PACKAGE(PkgConfig)
+PKG_CHECK_MODULES(PC_DBUS QUIET dbus-1)
+
+FIND_LIBRARY(DBUS_LIBRARIES
+    NAMES dbus-1
+    HINTS ${PC_DBUS_LIBDIR}
+          ${PC_DBUS_LIBRARY_DIRS}
+)
+
+message("DBUS_LIBRARIES = ${DBUS_LIBRARIES}")
+
+FIND_PATH(DBUS_INCLUDE_DIR
+    NAMES dbus/dbus.h
+    HINTS ${PC_DBUS_INCLUDEDIR}
+          ${PC_DBUS_INCLUDE_DIRS}
+)
+
+GET_FILENAME_COMPONENT(_DBUS_LIBRARY_DIR ${DBUS_LIBRARIES} PATH)
+FIND_PATH(DBUS_ARCH_INCLUDE_DIR
+    NAMES dbus/dbus-arch-deps.h
+    HINTS ${PC_DBUS_INCLUDEDIR}
+          ${PC_DBUS_INCLUDE_DIRS}
+          ${_DBUS_LIBRARY_DIR}
+          ${DBUS_INCLUDE_DIR}
+    PATH_SUFFIXES include
+)
+
+SET(DBUS_INCLUDE_DIRS ${DBUS_INCLUDE_DIR} ${DBUS_ARCH_INCLUDE_DIR})
+
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(DBUS REQUIRED_VARS DBUS_INCLUDE_DIRS DBUS_LIBRARIES)
diff --git a/include/crow/g3_logger.hpp b/include/crow/g3_logger.hpp
index 748328e..91e2935 100644
--- a/include/crow/g3_logger.hpp
+++ b/include/crow/g3_logger.hpp
@@ -1,12 +1,10 @@
 #pragma once
 
-// This file overrides the default crow logging framework to use g3 instead.
-// It implements enough of the interfaces of the crow logging framework to work
-// correctly
-// but deletes the ILogHandler interface, as usage of that would be counter to
-// the g3
-// handler management, and would cause performance issues.
-
+/*This file overrides the default crow logging framework to use g3 instead.
+ It implements enough of the interfaces of the crow logging framework to work
+ correctly but deletes the ILogHandler interface, as usage of that would be
+ counter to the g3 handler management, and would cause performance issues.
+*/
 #include <cstdio>
 #include <cstdlib>
 #include <ctime>
diff --git a/scripts/build_web_assets.py b/scripts/build_web_assets.py
index 0b82cbc..955f21e 100755
--- a/scripts/build_web_assets.py
+++ b/scripts/build_web_assets.py
@@ -318,7 +318,7 @@
                     relative_path_escaped=relative_path_escaped
                 )
             )
-            print("{:<40} took {:<7} kbytes".format(relative_path_escaped, len(array_binary_text)/1024))
+            print("{:<40} took {:>6} KB".format(relative_path_escaped, int(len(array_binary_text)/1024)))
         cpp_output.write("}\n}\n")
 
     print("Total static file size: {}KB".format(int(total_payload_size/1024)))
diff --git a/src/JTABLES.cpp b/src/JTABLES.cpp
deleted file mode 100644
index 0033c2b..0000000
--- a/src/JTABLES.cpp
+++ /dev/null
@@ -1,286 +0,0 @@
-#include <aspeed/JTABLES.H>
-
-static unsigned char zigzag[64] = {
-    0,  1,  5,  6,  14, 15, 27, 28, 2,  4,  7,  13, 16, 26, 29, 42,
-    3,  8,  12, 17, 25, 30, 41, 43, 9,  11, 18, 24, 31, 40, 44, 53,
-    10, 19, 23, 32, 39, 45, 52, 54, 20, 22, 33, 38, 46, 51, 55, 60,
-    21, 34, 37, 47, 50, 56, 59, 61, 35, 36, 48, 49, 57, 58, 62, 63};
-
-static unsigned char dezigzag[64 + 15] = {
-    0, 1, 8, 16, 9, 2, 3, 10, 17, 24, 32, 25, 18, 11, 4, 5, 12, 19, 26, 33, 40,
-    48, 41, 34, 27, 20, 13, 6, 7, 14, 21, 28, 35, 42, 49, 56, 57, 50, 43, 36,
-    29, 22, 15, 23, 30, 37, 44, 51, 58, 59, 52, 45, 38, 31, 39, 46, 53, 60, 61,
-    54, 47, 55, 62, 63,
-    // let corrupt input sample past end
-    63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63, 63};
-
-static unsigned char *std_luminance_qt;
-static unsigned char *std_chrominance_qt;
-
-// Standard Huffman tables (cf. JPEG standard section K.3) */
-
-static unsigned char std_dc_luminance_nrcodes[17] = {0, 0, 1, 5, 1, 1, 1, 1, 1,
-                                                     1, 0, 0, 0, 0, 0, 0, 0};
-static unsigned char std_dc_luminance_values[12] = {0, 1, 2, 3, 4,  5,
-                                                    6, 7, 8, 9, 10, 11};
-
-static unsigned char std_dc_chrominance_nrcodes[17] = {
-    0, 0, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0};
-static unsigned char std_dc_chrominance_values[12] = {0, 1, 2, 3, 4,  5,
-                                                      6, 7, 8, 9, 10, 11};
-
-static unsigned char std_ac_luminance_nrcodes[17] = {
-    0, 0, 2, 1, 3, 3, 2, 4, 3, 5, 5, 4, 4, 0, 0, 1, 0x7d};
-static unsigned char std_ac_luminance_values[162] = {
-    0x01, 0x02, 0x03, 0x00, 0x04, 0x11, 0x05, 0x12, 0x21, 0x31, 0x41, 0x06,
-    0x13, 0x51, 0x61, 0x07, 0x22, 0x71, 0x14, 0x32, 0x81, 0x91, 0xa1, 0x08,
-    0x23, 0x42, 0xb1, 0xc1, 0x15, 0x52, 0xd1, 0xf0, 0x24, 0x33, 0x62, 0x72,
-    0x82, 0x09, 0x0a, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x25, 0x26, 0x27, 0x28,
-    0x29, 0x2a, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x43, 0x44, 0x45,
-    0x46, 0x47, 0x48, 0x49, 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59,
-    0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x73, 0x74, 0x75,
-    0x76, 0x77, 0x78, 0x79, 0x7a, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89,
-    0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a, 0xa2, 0xa3,
-    0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6,
-    0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9,
-    0xca, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda, 0xe1, 0xe2,
-    0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xf1, 0xf2, 0xf3, 0xf4,
-    0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa};
-
-static unsigned char std_ac_chrominance_nrcodes[17] = {
-    0, 0, 2, 1, 2, 4, 4, 3, 4, 7, 5, 4, 4, 0, 1, 2, 0x77};
-static unsigned char std_ac_chrominance_values[162] = {
-    0x00, 0x01, 0x02, 0x03, 0x11, 0x04, 0x05, 0x21, 0x31, 0x06, 0x12, 0x41,
-    0x51, 0x07, 0x61, 0x71, 0x13, 0x22, 0x32, 0x81, 0x08, 0x14, 0x42, 0x91,
-    0xa1, 0xb1, 0xc1, 0x09, 0x23, 0x33, 0x52, 0xf0, 0x15, 0x62, 0x72, 0xd1,
-    0x0a, 0x16, 0x24, 0x34, 0xe1, 0x25, 0xf1, 0x17, 0x18, 0x19, 0x1a, 0x26,
-    0x27, 0x28, 0x29, 0x2a, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3a, 0x43, 0x44,
-    0x45, 0x46, 0x47, 0x48, 0x49, 0x4a, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58,
-    0x59, 0x5a, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6a, 0x73, 0x74,
-    0x75, 0x76, 0x77, 0x78, 0x79, 0x7a, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87,
-    0x88, 0x89, 0x8a, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99, 0x9a,
-    0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9, 0xaa, 0xb2, 0xb3, 0xb4,
-    0xb5, 0xb6, 0xb7, 0xb8, 0xb9, 0xba, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7,
-    0xc8, 0xc9, 0xca, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9, 0xda,
-    0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9, 0xea, 0xf2, 0xf3, 0xf4,
-    0xf5, 0xf6, 0xf7, 0xf8, 0xf9, 0xfa};
-
-unsigned short int DC_LUMINANCE_HUFFMANCODE[13 * 2] = {
-    /* 0 */ 0x0000,  0,
-    /* 1 */ 0x4000,  2,
-    /* 2 */ 0x6000,  3,
-    /* 3 */ 0x8000,  3,
-    /* 4 */ 0xA000,  3,
-    /* 5 */ 0xC000,  3,
-    /* 6 */ 0xE000,  3,
-    /* 7 */ 0xF000,  4,
-    /* 8 */ 0xF800,  5,
-    /* 9 */ 0xFC00,  6,
-    /* 10 */ 0xFE00, 7,
-    /* 11 */ 0xFF00, 8,
-    /* 12 */ 0xFFFF, 9,
-};
-
-unsigned short int DC_CHROMINANCE_HUFFMANCODE[13 * 2] = {
-    /* 0 */ 0x0000,  0,
-    /* 1 */ 0x4000,  2,
-    /* 2 */ 0x8000,  2,
-    /* 3 */ 0xC000,  2,
-    /* 4 */ 0xE000,  3,
-    /* 5 */ 0xF000,  4,
-    /* 6 */ 0xF800,  5,
-    /* 7 */ 0xFC00,  6,
-    /* 8 */ 0xFE00,  7,
-    /* 9 */ 0xFF00,  8,
-    /* 10 */ 0xFF80, 9,
-    /* 11 */ 0xFFC0, 10,
-    /* 12 */ 0xFFFF, 11,
-};
-
-unsigned short int AC_LUMINANCE_HUFFMANCODE[39 * 2] = {
-    /* 0 */ 0x0000,  0,
-    /* 1 */ 0x4000,  2,
-    /* 2 */ 0x8000,  2,
-    /* 3 */ 0xA000,  3,
-    /* 4 */ 0xB000,  4,
-    /* 5 */ 0xC000,  4,
-    /* 6 */ 0xD000,  4,
-    /* 7 */ 0xD800,  5,
-    /* 8 */ 0xE000,  5,
-    /* 9 */ 0xE800,  5,
-    /* 10 */ 0xEC00, 6,
-    /* 11 */ 0xF000, 6,
-    /* 12 */ 0xF200, 7,
-    /* 13 */ 0xF400, 7,
-    /* 14 */ 0xF600, 7,
-    /* 15 */ 0xF800, 7,
-    /* 16 */ 0xF900, 8,
-    /* 17 */ 0xFA00, 8,
-    /* 18 */ 0xFB00, 8,
-    /* 19 */ 0xFB80, 9,
-    /* 20 */ 0xFC00, 9,
-    /* 21 */ 0xFC80, 9,
-    /* 22 */ 0xFD00, 9,
-    /* 23 */ 0xFD80, 9,
-    /* 24 */ 0xFDC0, 10,
-    /* 25 */ 0xFE00, 10,
-    /* 26 */ 0xFE40, 10,
-    /* 27 */ 0xFE80, 10,
-    /* 28 */ 0xFEC0, 10,
-    /* 29 */ 0xFEE0, 11,
-    /* 30 */ 0xFF00, 11,
-    /* 31 */ 0xFF20, 11,
-    /* 32 */ 0xFF40, 11,
-    /* 33 */ 0xFF50, 12,
-    /* 34 */ 0xFF60, 12,
-    /* 35 */ 0xFF70, 12,
-    /* 36 */ 0xFF80, 12,
-    /* 37 */ 0xFF82, 15,
-    /* 38 */ 0xFFFF, 16,
-};
-
-unsigned short int AC_CHROMINANCE_HUFFMANCODE[45 * 2] = {
-    /* 0 */ 0x0000,  0,
-    /* 1 */ 0x4000,  2,
-    /* 2 */ 0x8000,  2,
-    /* 3 */ 0xA000,  3,
-    /* 4 */ 0xB000,  4,
-    /* 5 */ 0xC000,  4,
-    /* 6 */ 0xC800,  5,
-    /* 7 */ 0xD000,  5,
-    /* 8 */ 0xD800,  5,
-    /* 9 */ 0xE000,  5,
-    /* 10 */ 0xE400, 6,
-    /* 11 */ 0xE800, 6,
-    /* 12 */ 0xEC00, 6,
-    /* 13 */ 0xF000, 6,
-    /* 14 */ 0xF200, 7,
-    /* 15 */ 0xF400, 7,
-    /* 16 */ 0xF600, 7,
-    /* 17 */ 0xF700, 8,
-    /* 18 */ 0xF800, 8,
-    /* 19 */ 0xF900, 8,
-    /* 20 */ 0xFA00, 8,
-    /* 21 */ 0xFA80, 9,
-    /* 22 */ 0xFB00, 9,
-    /* 23 */ 0xFB80, 9,
-    /* 24 */ 0xFC00, 9,
-    /* 25 */ 0xFC80, 9,
-    /* 26 */ 0xFD00, 9,
-    /* 27 */ 0xFD80, 9,
-    /* 28 */ 0xFDC0, 10,
-    /* 29 */ 0xFE00, 10,
-    /* 30 */ 0xFE40, 10,
-    /* 31 */ 0xFE80, 10,
-    /* 32 */ 0xFEC0, 10,
-    /* 33 */ 0xFEE0, 11,
-    /* 34 */ 0xFF00, 11,
-    /* 35 */ 0xFF20, 11,
-    /* 36 */ 0xFF40, 11,
-    /* 37 */ 0xFF50, 12,
-    /* 38 */ 0xFF60, 12,
-    /* 39 */ 0xFF70, 12,
-    /* 40 */ 0xFF80, 12,
-    /* 41 */ 0xFF84, 14,
-    /* 42 */ 0xFF86, 15,
-    /* 43 */ 0xFF88, 15,
-    /* 44 */ 0xFFFF, 16,
-};
-
-//[100]=========================
-static unsigned char Tbl_100Y[64] = {
-    2, 1, 1, 2,  3,  5,  6,  7,  1, 1,  1,  2,  3,  7,  7,  6,
-    1, 1, 2, 3,  5,  7,  8,  7,  1, 2,  2,  3,  6,  10, 10, 7,
-    2, 2, 4, 7,  8,  13, 12, 9,  3, 4,  6,  8,  10, 13, 14, 11,
-    6, 8, 9, 10, 12, 15, 15, 12, 9, 11, 11, 12, 14, 12, 12, 12};
-static unsigned char Tbl_100UV[64] = {
-    3,  3,  4,  8,  18, 18, 18, 18, 3,  3,  4,  12, 18, 18, 18, 18,
-    4,  4,  10, 18, 18, 18, 18, 18, 8,  12, 18, 18, 18, 18, 18, 18,
-    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18,
-    18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18};
-
-//[086]=========================
-static unsigned char Tbl_086Y[64] = {
-    3, 2,  1,  3,  4,  7,  9,  11, 2,  2,  2,  3,  4,  10, 11, 10,
-    2, 2,  3,  4,  7,  10, 12, 10, 2,  3,  4,  5,  9,  16, 15, 11,
-    3, 4,  6,  10, 12, 20, 19, 14, 4,  6,  10, 12, 15, 19, 21, 17,
-    9, 12, 14, 16, 19, 22, 22, 18, 13, 17, 17, 18, 21, 18, 19, 18};
-static unsigned char Tbl_086UV[64] = {
-    4,  5,  6,  13, 27, 27, 27, 27, 5,  5,  7,  18, 27, 27, 27, 27,
-    6,  7,  15, 27, 27, 27, 27, 27, 13, 18, 27, 27, 27, 27, 27, 27,
-    27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
-    27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27};
-
-//[071]=========================
-static unsigned char Tbl_071Y[64] = {
-    6,  4,  3,  6,  9,  15, 19, 22, 4,  4,  5,  7,  9,  21, 22, 20,
-    5,  4,  6,  9,  15, 21, 25, 21, 5,  6,  8,  10, 19, 32, 30, 23,
-    6,  8,  13, 21, 25, 40, 38, 28, 9,  13, 20, 24, 30, 39, 42, 34,
-    18, 24, 29, 32, 38, 45, 45, 37, 27, 34, 35, 36, 42, 37, 38, 37};
-static unsigned char Tbl_071UV[64] = {
-    9,  10, 13, 26, 55, 55, 55, 55, 10, 11, 14, 37, 55, 55, 55, 55,
-    13, 14, 31, 55, 55, 55, 55, 55, 26, 37, 55, 55, 55, 55, 55, 55,
-    55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55,
-    55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55, 55};
-//[057]=========================
-static unsigned char Tbl_057Y[64] = {
-    9,  6,  5,  9,  13, 22, 28, 34, 6,  6,  7,  10, 14, 32, 33, 30,
-    7,  7,  9,  13, 22, 32, 38, 31, 7,  9,  12, 16, 28, 48, 45, 34,
-    10, 12, 20, 31, 38, 61, 57, 43, 13, 19, 30, 36, 45, 58, 63, 51,
-    27, 36, 43, 48, 57, 68, 67, 56, 40, 51, 53, 55, 63, 56, 57, 55};
-static unsigned char Tbl_057UV[64] = {
-    13, 14, 19, 38, 80, 80, 80, 80, 14, 17, 21, 53, 80, 80, 80, 80,
-    19, 21, 45, 80, 80, 80, 80, 80, 38, 53, 80, 80, 80, 80, 80, 80,
-    80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
-    80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80, 80};
-
-//[043]=========================
-static unsigned char Tbl_043Y[64] = {
-    11, 7,  7,  11, 17, 28, 36, 43, 8,  8,  10, 13, 18, 41, 43, 39,
-    10, 9,  11, 17, 28, 40, 49, 40, 10, 12, 15, 20, 36, 62, 57, 44,
-    12, 15, 26, 40, 48, 78, 74, 55, 17, 25, 39, 46, 58, 74, 81, 66,
-    35, 46, 56, 62, 74, 86, 86, 72, 51, 66, 68, 70, 80, 71, 74, 71};
-static unsigned char Tbl_043UV[64] = {
-    18,  19,  26,  51,  108, 108, 108, 108, 19,  22,  28,  72,  108,
-    108, 108, 108, 26,  28,  61,  108, 108, 108, 108, 108, 51,  72,
-    108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
-    108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108,
-    108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, 108};
-
-//[029]=========================
-static unsigned char Tbl_029Y[64] = {
-    14, 9,  9,  14, 21, 36,  46,  55, 10, 10, 12, 17, 23,  52, 54,  49,
-    12, 11, 14, 21, 36, 51,  62,  50, 12, 15, 19, 26, 46,  78, 72,  56,
-    16, 19, 33, 50, 61, 98,  93,  69, 21, 31, 49, 58, 73,  94, 102, 83,
-    44, 58, 70, 78, 93, 109, 108, 91, 65, 83, 86, 88, 101, 90, 93,  89};
-static unsigned char Tbl_029UV[64] = {
-    22,  24,  32,  63,  133, 133, 133, 133, 24,  28,  34,  88,  133,
-    133, 133, 133, 32,  34,  75,  133, 133, 133, 133, 133, 63,  88,
-    133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
-    133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133,
-    133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133, 133};
-
-//[014]=========================
-static unsigned char Tbl_014Y[64] = {
-    17, 12, 10, 17, 26,  43,  55,  66,  13, 13,  15,  20,  28,  63,  65,  60,
-    15, 14, 17, 26, 43,  62,  75,  61,  15, 18,  24,  31,  55,  95,  87,  67,
-    19, 24, 40, 61, 74,  119, 112, 84,  26, 38,  60,  70,  88,  113, 123, 100,
-    53, 70, 85, 95, 112, 132, 131, 110, 78, 100, 103, 107, 122, 109, 112, 108};
-static unsigned char Tbl_014UV[64] = {
-    27,  29,  39,  76,  160, 160, 160, 160, 29,  34,  42,  107, 160,
-    160, 160, 160, 39,  42,  91,  160, 160, 160, 160, 160, 76,  107,
-    160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
-    160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
-    160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160};
-//[000]=========================
-static unsigned char Tbl_000Y[64] = {
-    20, 13, 12, 20,  30,  50,  63,  76,  15, 15,  17,  23,  32,  72,  75,  68,
-    17, 16, 20, 30,  50,  71,  86,  70,  17, 21,  27,  36,  63,  108, 100, 77,
-    22, 27, 46, 70,  85,  136, 128, 96,  30, 43,  68,  80,  101, 130, 141, 115,
-    61, 80, 97, 108, 128, 151, 150, 126, 90, 115, 118, 122, 140, 125, 128, 123};
-static unsigned char Tbl_000UV[64] = {
-    31,  33,  45,  88,  185, 185, 185, 185, 33,  39,  48,  123, 185,
-    185, 185, 185, 45,  48,  105, 185, 185, 185, 185, 185, 88,  123,
-    185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
-    185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185,
-    185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185, 185};
\ No newline at end of file
