diff options
Diffstat (limited to 'src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB')
39 files changed, 48716 insertions, 0 deletions
diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/AlibKB.c b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/AlibKB.c new file mode 100644 index 0000000000..30ec1b368a --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/AlibKB.c @@ -0,0 +1,92 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * PCIe ALIB + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 84150 $ @e \$Date: 2012-12-12 15:46:25 -0600 (Wed, 12 Dec 2012) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ + +/*---------------------------------------------------------------------------------------- + * M O D U L E S U S E D + *---------------------------------------------------------------------------------------- + */ + +#include "AGESA.h" +#include "Ids.h" +#include "AlibSsdtKB.h" +#include "Filecode.h" +#define FILECODE PROC_GNB_MODULES_GNBINITKB_ALIBKB_FILECODE +/*---------------------------------------------------------------------------------------- + * D E F I N I T I O N S A N D M A C R O S + *---------------------------------------------------------------------------------------- + */ + +/*---------------------------------------------------------------------------------------- + * T Y P E D E F S A N D S T R U C T U R E S + *---------------------------------------------------------------------------------------- + */ + + + +/*---------------------------------------------------------------------------------------- + * P R O T O T Y P E S O F L O C A L F U N C T I O N S + *---------------------------------------------------------------------------------------- + */ +VOID * +PcieAlibGetBaseTableKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ); + +/*----------------------------------------------------------------------------------------*/ +/** + * Get base SSDT table + * + * + * + * @param[in] StdHeader Standard Configuration Header + * @retval pointer to SSTD table + */ +VOID * +PcieAlibGetBaseTableKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + return &AlibSsdtKB[0]; +} diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/AlibSsdtKB.h b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/AlibSsdtKB.h new file mode 100644 index 0000000000..eb3c21f80d --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/AlibSsdtKB.h @@ -0,0 +1,3230 @@ +/** + * @file + * + * ALIB SSDT table + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 87932 $ @e \$Date: 2013-02-13 13:53:55 -0600 (Wed, 13 Feb 2013) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ + +#ifndef _ALIBSSDTKB_H_ +#define _ALIBSSDTKB_H_ + +UINT8 AlibSsdtKB[] = { + 0x53, 0x53, 0x44, 0x54, 0x52, 0x63, 0x00, 0x00, + 0x02, 0x82, 0x41, 0x4D, 0x44, 0x00, 0x00, 0x00, + 0x41, 0x4C, 0x49, 0x42, 0x00, 0x00, 0x00, 0x00, + 0x02, 0x00, 0x00, 0x00, 0x4D, 0x53, 0x46, 0x54, + 0x00, 0x00, 0x00, 0x04, 0x10, 0x8D, 0x32, 0x06, + 0x5C, 0x5F, 0x53, 0x42, 0x5F, 0x08, 0x41, 0x47, + 0x52, 0x42, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x08, + 0x41, 0x44, 0x42, 0x47, 0x11, 0x04, 0x0B, 0x00, + 0x01, 0x08, 0x41, 0x44, 0x41, 0x54, 0x11, 0x45, + 0x20, 0x0B, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x14, 0x41, 0x17, 0x41, + 0x4C, 0x49, 0x42, 0x02, 0xA0, 0x40, 0x09, 0x93, + 0x68, 0x0A, 0x00, 0x70, 0x11, 0x04, 0x0B, 0x00, + 0x01, 0x60, 0x8B, 0x60, 0x0A, 0x00, 0x41, 0x30, + 0x32, 0x35, 0x70, 0x0A, 0x08, 0x41, 0x30, 0x32, + 0x35, 0x8B, 0x60, 0x0A, 0x02, 0x41, 0x30, 0x32, + 0x36, 0x70, 0x0A, 0x01, 0x41, 0x30, 0x32, 0x36, + 0x8A, 0x60, 0x0A, 0x04, 0x41, 0x30, 0x32, 0x37, + 0xA0, 0x36, 0x94, 0x83, 0x88, 0x5C, 0x2E, 0x5F, + 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, 0x0A, + 0x00, 0x00, 0x0A, 0x00, 0x70, 0x0D, 0x3D, 0x3D, + 0x3D, 0x20, 0x41, 0x4C, 0x49, 0x42, 0x20, 0x30, + 0x20, 0x2D, 0x20, 0x74, 0x72, 0x75, 0x65, 0x20, + 0x3D, 0x3D, 0x3D, 0x00, 0x5B, 0x31, 0x70, 0x0A, + 0x0F, 0x41, 0x30, 0x32, 0x37, 0xA4, 0x60, 0xA1, + 0x25, 0x70, 0x0D, 0x3D, 0x3D, 0x3D, 0x20, 0x41, + 0x4C, 0x49, 0x42, 0x20, 0x30, 0x20, 0x2D, 0x20, + 0x66, 0x61, 0x6C, 0x73, 0x65, 0x20, 0x3D, 0x3D, + 0x3D, 0x00, 0x5B, 0x31, 0x70, 0x0A, 0x01, 0x41, + 0x30, 0x32, 0x37, 0xA4, 0x60, 0xA0, 0x13, 0x93, + 0x68, 0x0A, 0x01, 0x70, 0x83, 0x88, 0x69, 0x0A, + 0x02, 0x00, 0x60, 0xA4, 0x41, 0x30, 0x32, 0x38, + 0x60, 0xA0, 0x26, 0x93, 0x68, 0x0A, 0x02, 0x70, + 0x0D, 0x3D, 0x3D, 0x3D, 0x20, 0x41, 0x4C, 0x49, + 0x42, 0x20, 0x32, 0x20, 0x2D, 0x20, 0x65, 0x6E, + 0x74, 0x65, 0x72, 0x20, 0x3D, 0x3D, 0x3D, 0x00, + 0x5B, 0x31, 0xA4, 0x41, 0x30, 0x32, 0x39, 0x69, + 0xA0, 0x2E, 0x93, 0x68, 0x0A, 0x03, 0x70, 0x83, + 0x88, 0x69, 0x0A, 0x02, 0x00, 0x60, 0x70, 0x0D, + 0x3D, 0x3D, 0x3D, 0x20, 0x41, 0x4C, 0x49, 0x42, + 0x20, 0x33, 0x20, 0x2D, 0x20, 0x65, 0x6E, 0x74, + 0x65, 0x72, 0x20, 0x3D, 0x3D, 0x3D, 0x00, 0x5B, + 0x31, 0xA4, 0x41, 0x30, 0x33, 0x30, 0x60, 0xA0, + 0x1C, 0x93, 0x68, 0x0A, 0x06, 0x70, 0x83, 0x88, + 0x69, 0x0A, 0x04, 0x00, 0x60, 0x70, 0x83, 0x88, + 0x69, 0x0A, 0x02, 0x00, 0x61, 0xA4, 0x41, 0x30, + 0x33, 0x33, 0x60, 0x61, 0xA0, 0x27, 0x93, 0x68, + 0x0A, 0x08, 0x70, 0x83, 0x88, 0x69, 0x0A, 0x02, + 0x00, 0x60, 0x70, 0x83, 0x88, 0x69, 0x0A, 0x03, + 0x00, 0x61, 0xA0, 0x0A, 0x93, 0x60, 0x0A, 0x01, + 0x41, 0x50, 0x54, 0x53, 0x61, 0xA1, 0x06, 0x41, + 0x57, 0x41, 0x4B, 0x61, 0xA0, 0x12, 0x93, 0x68, + 0x0A, 0x09, 0x70, 0x83, 0x88, 0x69, 0x0A, 0x02, + 0x00, 0x60, 0x41, 0x30, 0x33, 0x34, 0x60, 0xA0, + 0x13, 0x93, 0x68, 0x0A, 0x0A, 0x70, 0x83, 0x88, + 0x69, 0x0A, 0x02, 0x00, 0x60, 0xA4, 0x41, 0x30, + 0x33, 0x35, 0x60, 0xA4, 0x0A, 0x00, 0x14, 0x44, + 0x08, 0x41, 0x30, 0x33, 0x33, 0x02, 0x70, 0x0D, + 0x20, 0x48, 0x6F, 0x74, 0x70, 0x6C, 0x75, 0x67, + 0x20, 0x45, 0x6E, 0x74, 0x65, 0x72, 0x20, 0x00, + 0x5B, 0x31, 0x70, 0x0A, 0x00, 0x60, 0xA2, 0x1E, + 0x95, 0x60, 0x0A, 0x05, 0x70, 0x41, 0x30, 0x39, + 0x36, 0x60, 0x69, 0x61, 0xA0, 0x0E, 0x93, 0x61, + 0x0A, 0x01, 0x70, 0x41, 0x30, 0x39, 0x37, 0x60, + 0x68, 0x61, 0xA5, 0x75, 0x60, 0x70, 0x11, 0x03, + 0x0A, 0x0A, 0x67, 0x8B, 0x67, 0x0A, 0x00, 0x41, + 0x30, 0x32, 0x35, 0x8C, 0x67, 0x0A, 0x02, 0x41, + 0x30, 0x33, 0x36, 0x8C, 0x67, 0x0A, 0x03, 0x41, + 0x30, 0x39, 0x38, 0x70, 0x0A, 0x04, 0x41, 0x30, + 0x32, 0x35, 0x70, 0x0A, 0x00, 0x41, 0x30, 0x33, + 0x36, 0x70, 0x61, 0x41, 0x30, 0x39, 0x38, 0x70, + 0x0D, 0x20, 0x48, 0x6F, 0x74, 0x70, 0x6C, 0x75, + 0x67, 0x20, 0x45, 0x78, 0x69, 0x74, 0x00, 0x5B, + 0x31, 0xA4, 0x67, 0x14, 0x43, 0x0B, 0x41, 0x30, + 0x39, 0x36, 0x02, 0x70, 0x73, 0x0D, 0x20, 0x48, + 0x6F, 0x74, 0x70, 0x6C, 0x75, 0x67, 0x43, 0x68, + 0x65, 0x63, 0x6B, 0x50, 0x6F, 0x72, 0x74, 0x20, + 0x50, 0x6F, 0x72, 0x74, 0x20, 0x20, 0x00, 0x98, + 0x68, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, + 0xA0, 0x1A, 0x93, 0x68, 0x0A, 0x00, 0xA4, 0x5C, + 0x2F, 0x04, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x57, + 0x52, 0x30, 0x41, 0x42, 0x52, 0x30, 0x41, 0x30, + 0x38, 0x39, 0x69, 0xA0, 0x1A, 0x93, 0x68, 0x0A, + 0x01, 0xA4, 0x5C, 0x2F, 0x04, 0x5F, 0x53, 0x42, + 0x5F, 0x41, 0x57, 0x52, 0x30, 0x41, 0x42, 0x52, + 0x31, 0x41, 0x30, 0x38, 0x39, 0x69, 0xA0, 0x1A, + 0x93, 0x68, 0x0A, 0x02, 0xA4, 0x5C, 0x2F, 0x04, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x57, 0x52, 0x30, + 0x41, 0x42, 0x52, 0x32, 0x41, 0x30, 0x38, 0x39, + 0x69, 0xA0, 0x1A, 0x93, 0x68, 0x0A, 0x03, 0xA4, + 0x5C, 0x2F, 0x04, 0x5F, 0x53, 0x42, 0x5F, 0x41, + 0x57, 0x52, 0x30, 0x41, 0x42, 0x52, 0x33, 0x41, + 0x30, 0x38, 0x39, 0x69, 0xA0, 0x1A, 0x93, 0x68, + 0x0A, 0x04, 0xA4, 0x5C, 0x2F, 0x04, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x57, 0x52, 0x30, 0x41, 0x42, + 0x52, 0x34, 0x41, 0x30, 0x38, 0x39, 0x69, 0x14, + 0x43, 0x0B, 0x41, 0x30, 0x39, 0x37, 0x02, 0x70, + 0x73, 0x0D, 0x20, 0x48, 0x6F, 0x74, 0x70, 0x6C, + 0x75, 0x67, 0x43, 0x68, 0x65, 0x63, 0x6B, 0x50, + 0x6F, 0x72, 0x74, 0x20, 0x50, 0x6F, 0x72, 0x74, + 0x20, 0x20, 0x00, 0x98, 0x68, 0x00, 0x41, 0x44, + 0x42, 0x47, 0x5B, 0x31, 0xA0, 0x1A, 0x93, 0x68, + 0x0A, 0x00, 0xA4, 0x5C, 0x2F, 0x04, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x57, 0x52, 0x30, 0x41, 0x42, + 0x52, 0x30, 0x41, 0x30, 0x39, 0x30, 0x69, 0xA0, + 0x1A, 0x93, 0x68, 0x0A, 0x01, 0xA4, 0x5C, 0x2F, + 0x04, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x57, 0x52, + 0x30, 0x41, 0x42, 0x52, 0x31, 0x41, 0x30, 0x39, + 0x30, 0x69, 0xA0, 0x1A, 0x93, 0x68, 0x0A, 0x02, + 0xA4, 0x5C, 0x2F, 0x04, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x57, 0x52, 0x30, 0x41, 0x42, 0x52, 0x32, + 0x41, 0x30, 0x39, 0x30, 0x69, 0xA0, 0x1A, 0x93, + 0x68, 0x0A, 0x03, 0xA4, 0x5C, 0x2F, 0x04, 0x5F, + 0x53, 0x42, 0x5F, 0x41, 0x57, 0x52, 0x30, 0x41, + 0x42, 0x52, 0x33, 0x41, 0x30, 0x39, 0x30, 0x69, + 0xA0, 0x1A, 0x93, 0x68, 0x0A, 0x04, 0xA4, 0x5C, + 0x2F, 0x04, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x57, + 0x52, 0x30, 0x41, 0x42, 0x52, 0x34, 0x41, 0x30, + 0x39, 0x30, 0x69, 0x08, 0x41, 0x44, 0x30, 0x30, + 0x0A, 0x00, 0x08, 0x44, 0x4B, 0x30, 0x30, 0x0A, + 0x00, 0x14, 0x42, 0x04, 0x41, 0x30, 0x32, 0x38, + 0x01, 0xA0, 0x0A, 0x93, 0x41, 0x44, 0x30, 0x30, + 0x68, 0xA4, 0x0A, 0x00, 0x70, 0x68, 0x41, 0x44, + 0x30, 0x30, 0x70, 0x73, 0x0D, 0x20, 0x41, 0x63, + 0x2F, 0x44, 0x63, 0x20, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x20, 0x63, 0x68, 0x61, 0x6E, 0x67, 0x65, + 0x64, 0x20, 0x74, 0x6F, 0x3A, 0x20, 0x00, 0x98, + 0x68, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, + 0x41, 0x30, 0x31, 0x31, 0x14, 0x35, 0x41, 0x30, + 0x33, 0x35, 0x01, 0x70, 0x68, 0x44, 0x4B, 0x30, + 0x30, 0x70, 0x73, 0x0D, 0x20, 0x44, 0x6F, 0x63, + 0x6B, 0x20, 0x73, 0x74, 0x61, 0x74, 0x65, 0x20, + 0x63, 0x68, 0x61, 0x6E, 0x67, 0x65, 0x64, 0x20, + 0x74, 0x6F, 0x3A, 0x20, 0x00, 0x98, 0x68, 0x00, + 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, 0x41, 0x30, + 0x31, 0x36, 0x08, 0x41, 0x50, 0x30, 0x31, 0x0A, + 0x00, 0x08, 0x41, 0x50, 0x30, 0x32, 0x0A, 0x00, + 0x08, 0x41, 0x50, 0x30, 0x33, 0x0A, 0x00, 0x08, + 0x41, 0x50, 0x30, 0x35, 0x0A, 0x00, 0x08, 0x41, + 0x50, 0x30, 0x42, 0x0A, 0xFF, 0x08, 0x41, 0x50, + 0x31, 0x30, 0x0A, 0x00, 0x14, 0x41, 0x0B, 0x41, + 0x30, 0x32, 0x39, 0x01, 0x70, 0x11, 0x04, 0x0B, + 0x00, 0x01, 0x67, 0x8B, 0x67, 0x0A, 0x00, 0x41, + 0x30, 0x32, 0x35, 0x70, 0x0A, 0x03, 0x41, 0x30, + 0x32, 0x35, 0x8C, 0x67, 0x0A, 0x02, 0x41, 0x30, + 0x33, 0x36, 0x70, 0x0A, 0x01, 0x41, 0x30, 0x33, + 0x36, 0xA0, 0x33, 0x93, 0x83, 0x88, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, + 0x0A, 0x00, 0x00, 0x0A, 0x01, 0x70, 0x0D, 0x70, + 0x73, 0x70, 0x70, 0x20, 0x70, 0x65, 0x72, 0x66, + 0x20, 0x30, 0x20, 0x2D, 0x20, 0x65, 0x78, 0x69, + 0x74, 0x00, 0x5B, 0x31, 0x70, 0x0A, 0x02, 0x41, + 0x30, 0x33, 0x36, 0xA4, 0x67, 0xA0, 0x32, 0x93, + 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x44, 0x41, 0x54, 0x0A, 0x00, 0x00, 0x0A, + 0x00, 0x70, 0x0D, 0x70, 0x73, 0x70, 0x70, 0x20, + 0x6F, 0x66, 0x66, 0x20, 0x30, 0x20, 0x2D, 0x20, + 0x65, 0x78, 0x69, 0x74, 0x00, 0x5B, 0x31, 0x70, + 0x0A, 0x01, 0x41, 0x30, 0x33, 0x36, 0xA4, 0x67, + 0x41, 0x30, 0x33, 0x37, 0x68, 0xA0, 0x0B, 0x92, + 0x93, 0x41, 0x50, 0x30, 0x35, 0x0A, 0x01, 0xA4, + 0x67, 0x41, 0x30, 0x33, 0x38, 0x70, 0x0A, 0x02, + 0x41, 0x30, 0x33, 0x36, 0xA4, 0x67, 0x14, 0x2F, + 0x41, 0x30, 0x31, 0x32, 0x00, 0xA0, 0x17, 0x92, + 0x94, 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, + 0x5F, 0x41, 0x44, 0x41, 0x54, 0x0A, 0x00, 0x00, + 0x0A, 0x01, 0xA4, 0x0A, 0x00, 0xA0, 0x0C, 0x92, + 0x93, 0x41, 0x50, 0x30, 0x35, 0x0A, 0x01, 0xA4, + 0x0A, 0x00, 0x41, 0x30, 0x33, 0x38, 0x14, 0x13, + 0x41, 0x30, 0x33, 0x39, 0x01, 0xA0, 0x0C, 0x93, + 0x68, 0x0A, 0x03, 0x70, 0x0A, 0x00, 0x41, 0x50, + 0x30, 0x31, 0x14, 0x0D, 0x41, 0x30, 0x31, 0x30, + 0x01, 0x70, 0x0A, 0x01, 0x41, 0x50, 0x31, 0x30, + 0x14, 0x49, 0x09, 0x41, 0x30, 0x33, 0x30, 0x01, + 0x70, 0x73, 0x0D, 0x20, 0x50, 0x73, 0x70, 0x70, + 0x4D, 0x61, 0x6E, 0x61, 0x67, 0x65, 0x20, 0x5B, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5D, 0x20, + 0x00, 0x98, 0x68, 0x00, 0x41, 0x44, 0x42, 0x47, + 0x5B, 0x31, 0x70, 0x68, 0x41, 0x50, 0x30, 0x35, + 0xA0, 0x17, 0x92, 0x94, 0x83, 0x88, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, + 0x0A, 0x00, 0x00, 0x0A, 0x01, 0xA4, 0x0A, 0x00, + 0x70, 0x41, 0x50, 0x30, 0x42, 0x61, 0xA0, 0x20, + 0x93, 0x41, 0x50, 0x30, 0x35, 0x0A, 0x00, 0x70, + 0x0A, 0x00, 0x60, 0xA2, 0x0C, 0x95, 0x60, 0x0A, + 0x05, 0x41, 0x30, 0x34, 0x30, 0x60, 0x75, 0x60, + 0x70, 0x0A, 0x00, 0x41, 0x50, 0x30, 0x42, 0x41, + 0x30, 0x33, 0x38, 0x70, 0x61, 0x41, 0x50, 0x30, + 0x42, 0x70, 0x11, 0x04, 0x0B, 0x00, 0x01, 0x67, + 0x70, 0x0A, 0x03, 0x88, 0x67, 0x0A, 0x00, 0x00, + 0x70, 0x0A, 0x00, 0x88, 0x67, 0x0A, 0x01, 0x00, + 0x70, 0x0A, 0x00, 0x88, 0x67, 0x0A, 0x02, 0x00, + 0xA4, 0x67, 0x14, 0x1A, 0x41, 0x30, 0x34, 0x31, + 0x00, 0xA0, 0x0E, 0x92, 0x93, 0x41, 0x50, 0x30, + 0x42, 0x0A, 0xFF, 0xA4, 0x41, 0x50, 0x30, 0x42, + 0xA4, 0x41, 0x44, 0x30, 0x30, 0x14, 0x47, 0x0D, + 0x41, 0x30, 0x33, 0x37, 0x01, 0x8B, 0x68, 0x0A, + 0x02, 0x41, 0x50, 0x30, 0x36, 0x8B, 0x68, 0x0A, + 0x04, 0x41, 0x50, 0x30, 0x37, 0x8B, 0x68, 0x0A, + 0x06, 0x41, 0x50, 0x30, 0x38, 0x8C, 0x68, 0x0A, + 0x08, 0x41, 0x50, 0x30, 0x39, 0x8C, 0x68, 0x0A, + 0x09, 0x41, 0x50, 0x30, 0x41, 0x70, 0x73, 0x0D, + 0x20, 0x50, 0x65, 0x72, 0x66, 0x52, 0x65, 0x71, + 0x20, 0x43, 0x6C, 0x69, 0x65, 0x6E, 0x74, 0x49, + 0x64, 0x3A, 0x00, 0x98, 0x41, 0x50, 0x30, 0x36, + 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, + 0x73, 0x0D, 0x20, 0x50, 0x65, 0x72, 0x66, 0x52, + 0x65, 0x71, 0x20, 0x54, 0x79, 0x70, 0x65, 0x3A, + 0x20, 0x20, 0x20, 0x20, 0x00, 0x98, 0x41, 0x50, + 0x30, 0x39, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, + 0x31, 0x70, 0x73, 0x0D, 0x20, 0x50, 0x65, 0x72, + 0x66, 0x52, 0x65, 0x71, 0x20, 0x44, 0x61, 0x74, + 0x61, 0x3A, 0x20, 0x20, 0x20, 0x20, 0x00, 0x98, + 0x41, 0x50, 0x30, 0x41, 0x00, 0x41, 0x44, 0x42, + 0x47, 0x5B, 0x31, 0x70, 0x0A, 0x00, 0x60, 0xA2, + 0x3D, 0x95, 0x60, 0x0A, 0x05, 0xA0, 0x35, 0x93, + 0x41, 0x30, 0x34, 0x32, 0x60, 0x41, 0x50, 0x30, + 0x36, 0x0A, 0x01, 0xA0, 0x1B, 0x93, 0x7B, 0x41, + 0x50, 0x30, 0x37, 0x41, 0x50, 0x30, 0x38, 0x00, + 0x0A, 0x01, 0x70, 0x41, 0x30, 0x34, 0x33, 0x60, + 0x61, 0x41, 0x30, 0x34, 0x34, 0x60, 0x61, 0xA1, + 0x0A, 0x41, 0x30, 0x34, 0x34, 0x60, 0x41, 0x50, + 0x30, 0x41, 0xA5, 0x75, 0x60, 0x14, 0x2E, 0x41, + 0x30, 0x34, 0x35, 0x00, 0x70, 0x0A, 0x01, 0x41, + 0x50, 0x30, 0x32, 0x70, 0x0A, 0x00, 0x60, 0xA2, + 0x1C, 0x95, 0x60, 0x0A, 0x05, 0x70, 0x41, 0x30, + 0x34, 0x36, 0x60, 0x61, 0xA0, 0x0D, 0x94, 0x61, + 0x41, 0x50, 0x30, 0x32, 0x70, 0x61, 0x41, 0x50, + 0x30, 0x32, 0x75, 0x60, 0x14, 0x2E, 0x41, 0x30, + 0x34, 0x37, 0x00, 0x70, 0x0A, 0x00, 0x41, 0x50, + 0x30, 0x33, 0x70, 0x0A, 0x00, 0x60, 0xA2, 0x1C, + 0x95, 0x60, 0x0A, 0x05, 0x70, 0x41, 0x30, 0x34, + 0x38, 0x60, 0x61, 0xA0, 0x0D, 0x94, 0x61, 0x41, + 0x50, 0x30, 0x33, 0x70, 0x61, 0x41, 0x50, 0x30, + 0x33, 0x75, 0x60, 0x14, 0x46, 0x19, 0x41, 0x30, + 0x33, 0x38, 0x00, 0x70, 0x0D, 0x50, 0x73, 0x70, + 0x70, 0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x20, 0x45, 0x6E, + 0x74, 0x65, 0x72, 0x00, 0x5B, 0x31, 0x41, 0x30, + 0x34, 0x37, 0x70, 0x73, 0x0D, 0x20, 0x47, 0x6C, + 0x6F, 0x62, 0x61, 0x6C, 0x20, 0x4F, 0x76, 0x65, + 0x72, 0x72, 0x69, 0x64, 0x65, 0x20, 0x20, 0x00, + 0x98, 0x41, 0x50, 0x30, 0x33, 0x00, 0x41, 0x44, + 0x42, 0x47, 0x5B, 0x31, 0x41, 0x30, 0x34, 0x35, + 0x70, 0x73, 0x0D, 0x20, 0x41, 0x67, 0x67, 0x72, + 0x65, 0x67, 0x61, 0x74, 0x65, 0x64, 0x20, 0x54, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x20, 0x20, 0x53, + 0x70, 0x65, 0x65, 0x64, 0x20, 0x20, 0x00, 0x98, + 0x41, 0x50, 0x30, 0x32, 0x00, 0x41, 0x44, 0x42, + 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, 0x20, 0x41, + 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, + 0x64, 0x20, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6E, + 0x74, 0x20, 0x53, 0x70, 0x65, 0x65, 0x64, 0x20, + 0x20, 0x00, 0x98, 0x41, 0x50, 0x30, 0x31, 0x00, + 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, 0xA0, 0x17, + 0x92, 0x93, 0x41, 0x50, 0x30, 0x32, 0x41, 0x50, + 0x30, 0x31, 0x41, 0x30, 0x31, 0x37, 0x41, 0x50, + 0x30, 0x32, 0x41, 0x50, 0x30, 0x31, 0xA0, 0x21, + 0x94, 0x41, 0x50, 0x30, 0x32, 0x41, 0x50, 0x30, + 0x31, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, + 0x30, 0x34, 0x39, 0x41, 0x50, 0x30, 0x32, 0x70, + 0x41, 0x50, 0x30, 0x32, 0x41, 0x50, 0x30, 0x31, + 0x70, 0x0A, 0x00, 0x60, 0xA2, 0x40, 0x05, 0x95, + 0x60, 0x0A, 0x05, 0x70, 0x41, 0x30, 0x34, 0x36, + 0x60, 0x61, 0x70, 0x41, 0x30, 0x35, 0x30, 0x60, + 0x62, 0xA0, 0x0B, 0x92, 0x93, 0x61, 0x62, 0x41, + 0x30, 0x35, 0x31, 0x60, 0x61, 0xA1, 0x2D, 0xA0, + 0x2B, 0x93, 0x41, 0x50, 0x31, 0x30, 0x0A, 0x01, + 0x70, 0x0D, 0x50, 0x6F, 0x72, 0x74, 0x20, 0x73, + 0x70, 0x65, 0x65, 0x64, 0x20, 0x63, 0x68, 0x61, + 0x6E, 0x67, 0x65, 0x20, 0x66, 0x6F, 0x72, 0x63, + 0x65, 0x64, 0x00, 0x5B, 0x31, 0x41, 0x30, 0x35, + 0x31, 0x60, 0x61, 0x75, 0x60, 0xA0, 0x21, 0x95, + 0x41, 0x50, 0x30, 0x32, 0x41, 0x50, 0x30, 0x31, + 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x30, + 0x34, 0x39, 0x41, 0x50, 0x30, 0x32, 0x70, 0x41, + 0x50, 0x30, 0x32, 0x41, 0x50, 0x30, 0x31, 0xA1, + 0x21, 0xA0, 0x1F, 0x93, 0x41, 0x50, 0x31, 0x30, + 0x0A, 0x01, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x30, 0x34, 0x39, 0x41, 0x50, 0x30, 0x32, + 0x70, 0x41, 0x50, 0x30, 0x32, 0x41, 0x50, 0x30, + 0x31, 0x70, 0x0A, 0x00, 0x41, 0x50, 0x31, 0x30, + 0x70, 0x0D, 0x50, 0x73, 0x70, 0x70, 0x50, 0x72, + 0x6F, 0x63, 0x65, 0x73, 0x73, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x20, 0x45, 0x78, 0x69, 0x74, 0x00, + 0x5B, 0x31, 0x14, 0x40, 0x0E, 0x41, 0x30, 0x35, + 0x31, 0x02, 0x70, 0x73, 0x0D, 0x20, 0x50, 0x73, + 0x70, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x50, 0x6F, 0x72, 0x74, 0x53, 0x70, 0x65, + 0x65, 0x64, 0x20, 0x50, 0x6F, 0x72, 0x74, 0x20, + 0x20, 0x00, 0x98, 0x68, 0x00, 0x41, 0x44, 0x42, + 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x53, 0x70, 0x65, 0x65, 0x64, + 0x20, 0x20, 0x00, 0x98, 0x69, 0x00, 0x41, 0x44, + 0x42, 0x47, 0x5B, 0x31, 0xA0, 0x1A, 0x93, 0x68, + 0x0A, 0x00, 0xA4, 0x5C, 0x2F, 0x04, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x57, 0x52, 0x30, 0x41, 0x42, + 0x52, 0x30, 0x41, 0x30, 0x35, 0x32, 0x69, 0xA0, + 0x1A, 0x93, 0x68, 0x0A, 0x01, 0xA4, 0x5C, 0x2F, + 0x04, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x57, 0x52, + 0x30, 0x41, 0x42, 0x52, 0x31, 0x41, 0x30, 0x35, + 0x32, 0x69, 0xA0, 0x1A, 0x93, 0x68, 0x0A, 0x02, + 0xA4, 0x5C, 0x2F, 0x04, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x57, 0x52, 0x30, 0x41, 0x42, 0x52, 0x32, + 0x41, 0x30, 0x35, 0x32, 0x69, 0xA0, 0x1A, 0x93, + 0x68, 0x0A, 0x03, 0xA4, 0x5C, 0x2F, 0x04, 0x5F, + 0x53, 0x42, 0x5F, 0x41, 0x57, 0x52, 0x30, 0x41, + 0x42, 0x52, 0x33, 0x41, 0x30, 0x35, 0x32, 0x69, + 0xA0, 0x1A, 0x93, 0x68, 0x0A, 0x04, 0xA4, 0x5C, + 0x2F, 0x04, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x57, + 0x52, 0x30, 0x41, 0x42, 0x52, 0x34, 0x41, 0x30, + 0x35, 0x32, 0x69, 0x14, 0x49, 0x08, 0x41, 0x30, + 0x35, 0x30, 0x01, 0xA0, 0x19, 0x93, 0x68, 0x0A, + 0x00, 0xA4, 0x5C, 0x2F, 0x04, 0x5F, 0x53, 0x42, + 0x5F, 0x41, 0x57, 0x52, 0x30, 0x41, 0x42, 0x52, + 0x30, 0x41, 0x30, 0x35, 0x33, 0xA0, 0x19, 0x93, + 0x68, 0x0A, 0x01, 0xA4, 0x5C, 0x2F, 0x04, 0x5F, + 0x53, 0x42, 0x5F, 0x41, 0x57, 0x52, 0x30, 0x41, + 0x42, 0x52, 0x31, 0x41, 0x30, 0x35, 0x33, 0xA0, + 0x19, 0x93, 0x68, 0x0A, 0x02, 0xA4, 0x5C, 0x2F, + 0x04, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x57, 0x52, + 0x30, 0x41, 0x42, 0x52, 0x32, 0x41, 0x30, 0x35, + 0x33, 0xA0, 0x19, 0x93, 0x68, 0x0A, 0x03, 0xA4, + 0x5C, 0x2F, 0x04, 0x5F, 0x53, 0x42, 0x5F, 0x41, + 0x57, 0x52, 0x30, 0x41, 0x42, 0x52, 0x33, 0x41, + 0x30, 0x35, 0x33, 0xA0, 0x19, 0x93, 0x68, 0x0A, + 0x04, 0xA4, 0x5C, 0x2F, 0x04, 0x5F, 0x53, 0x42, + 0x5F, 0x41, 0x57, 0x52, 0x30, 0x41, 0x42, 0x52, + 0x34, 0x41, 0x30, 0x35, 0x33, 0x14, 0x49, 0x08, + 0x41, 0x30, 0x34, 0x36, 0x01, 0xA0, 0x19, 0x93, + 0x68, 0x0A, 0x00, 0xA4, 0x5C, 0x2F, 0x04, 0x5F, + 0x53, 0x42, 0x5F, 0x41, 0x57, 0x52, 0x30, 0x41, + 0x42, 0x52, 0x30, 0x41, 0x30, 0x35, 0x34, 0xA0, + 0x19, 0x93, 0x68, 0x0A, 0x01, 0xA4, 0x5C, 0x2F, + 0x04, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x57, 0x52, + 0x30, 0x41, 0x42, 0x52, 0x31, 0x41, 0x30, 0x35, + 0x34, 0xA0, 0x19, 0x93, 0x68, 0x0A, 0x02, 0xA4, + 0x5C, 0x2F, 0x04, 0x5F, 0x53, 0x42, 0x5F, 0x41, + 0x57, 0x52, 0x30, 0x41, 0x42, 0x52, 0x32, 0x41, + 0x30, 0x35, 0x34, 0xA0, 0x19, 0x93, 0x68, 0x0A, + 0x03, 0xA4, 0x5C, 0x2F, 0x04, 0x5F, 0x53, 0x42, + 0x5F, 0x41, 0x57, 0x52, 0x30, 0x41, 0x42, 0x52, + 0x33, 0x41, 0x30, 0x35, 0x34, 0xA0, 0x19, 0x93, + 0x68, 0x0A, 0x04, 0xA4, 0x5C, 0x2F, 0x04, 0x5F, + 0x53, 0x42, 0x5F, 0x41, 0x57, 0x52, 0x30, 0x41, + 0x42, 0x52, 0x34, 0x41, 0x30, 0x35, 0x34, 0x14, + 0x49, 0x08, 0x41, 0x30, 0x34, 0x38, 0x01, 0xA0, + 0x19, 0x93, 0x68, 0x0A, 0x00, 0xA4, 0x5C, 0x2F, + 0x04, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x57, 0x52, + 0x30, 0x41, 0x42, 0x52, 0x30, 0x41, 0x30, 0x35, + 0x35, 0xA0, 0x19, 0x93, 0x68, 0x0A, 0x01, 0xA4, + 0x5C, 0x2F, 0x04, 0x5F, 0x53, 0x42, 0x5F, 0x41, + 0x57, 0x52, 0x30, 0x41, 0x42, 0x52, 0x31, 0x41, + 0x30, 0x35, 0x35, 0xA0, 0x19, 0x93, 0x68, 0x0A, + 0x02, 0xA4, 0x5C, 0x2F, 0x04, 0x5F, 0x53, 0x42, + 0x5F, 0x41, 0x57, 0x52, 0x30, 0x41, 0x42, 0x52, + 0x32, 0x41, 0x30, 0x35, 0x35, 0xA0, 0x19, 0x93, + 0x68, 0x0A, 0x03, 0xA4, 0x5C, 0x2F, 0x04, 0x5F, + 0x53, 0x42, 0x5F, 0x41, 0x57, 0x52, 0x30, 0x41, + 0x42, 0x52, 0x33, 0x41, 0x30, 0x35, 0x35, 0xA0, + 0x19, 0x93, 0x68, 0x0A, 0x04, 0xA4, 0x5C, 0x2F, + 0x04, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x57, 0x52, + 0x30, 0x41, 0x42, 0x52, 0x34, 0x41, 0x30, 0x35, + 0x35, 0x14, 0x49, 0x08, 0x41, 0x30, 0x34, 0x33, + 0x01, 0xA0, 0x19, 0x93, 0x68, 0x0A, 0x00, 0xA4, + 0x5C, 0x2F, 0x04, 0x5F, 0x53, 0x42, 0x5F, 0x41, + 0x57, 0x52, 0x30, 0x41, 0x42, 0x52, 0x30, 0x41, + 0x30, 0x35, 0x36, 0xA0, 0x19, 0x93, 0x68, 0x0A, + 0x01, 0xA4, 0x5C, 0x2F, 0x04, 0x5F, 0x53, 0x42, + 0x5F, 0x41, 0x57, 0x52, 0x30, 0x41, 0x42, 0x52, + 0x31, 0x41, 0x30, 0x35, 0x36, 0xA0, 0x19, 0x93, + 0x68, 0x0A, 0x02, 0xA4, 0x5C, 0x2F, 0x04, 0x5F, + 0x53, 0x42, 0x5F, 0x41, 0x57, 0x52, 0x30, 0x41, + 0x42, 0x52, 0x32, 0x41, 0x30, 0x35, 0x36, 0xA0, + 0x19, 0x93, 0x68, 0x0A, 0x03, 0xA4, 0x5C, 0x2F, + 0x04, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x57, 0x52, + 0x30, 0x41, 0x42, 0x52, 0x33, 0x41, 0x30, 0x35, + 0x36, 0xA0, 0x19, 0x93, 0x68, 0x0A, 0x04, 0xA4, + 0x5C, 0x2F, 0x04, 0x5F, 0x53, 0x42, 0x5F, 0x41, + 0x57, 0x52, 0x30, 0x41, 0x42, 0x52, 0x34, 0x41, + 0x30, 0x35, 0x36, 0x14, 0x45, 0x0B, 0x41, 0x30, + 0x34, 0x34, 0x02, 0x70, 0x73, 0x0D, 0x20, 0x50, + 0x73, 0x70, 0x70, 0x53, 0x65, 0x74, 0x50, 0x6F, + 0x72, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x20, 0x50, 0x6F, 0x72, 0x74, 0x20, 0x20, + 0x00, 0x98, 0x68, 0x00, 0x41, 0x44, 0x42, 0x47, + 0x5B, 0x31, 0xA0, 0x1A, 0x93, 0x68, 0x0A, 0x00, + 0xA4, 0x5C, 0x2F, 0x04, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x57, 0x52, 0x30, 0x41, 0x42, 0x52, 0x30, + 0x41, 0x30, 0x35, 0x37, 0x69, 0xA0, 0x1A, 0x93, + 0x68, 0x0A, 0x01, 0xA4, 0x5C, 0x2F, 0x04, 0x5F, + 0x53, 0x42, 0x5F, 0x41, 0x57, 0x52, 0x30, 0x41, + 0x42, 0x52, 0x31, 0x41, 0x30, 0x35, 0x37, 0x69, + 0xA0, 0x1A, 0x93, 0x68, 0x0A, 0x02, 0xA4, 0x5C, + 0x2F, 0x04, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x57, + 0x52, 0x30, 0x41, 0x42, 0x52, 0x32, 0x41, 0x30, + 0x35, 0x37, 0x69, 0xA0, 0x1A, 0x93, 0x68, 0x0A, + 0x03, 0xA4, 0x5C, 0x2F, 0x04, 0x5F, 0x53, 0x42, + 0x5F, 0x41, 0x57, 0x52, 0x30, 0x41, 0x42, 0x52, + 0x33, 0x41, 0x30, 0x35, 0x37, 0x69, 0xA0, 0x1A, + 0x93, 0x68, 0x0A, 0x04, 0xA4, 0x5C, 0x2F, 0x04, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x57, 0x52, 0x30, + 0x41, 0x42, 0x52, 0x34, 0x41, 0x30, 0x35, 0x37, + 0x69, 0x14, 0x4E, 0x08, 0x41, 0x30, 0x34, 0x32, + 0x02, 0xA0, 0x1A, 0x93, 0x68, 0x0A, 0x00, 0xA4, + 0x5C, 0x2F, 0x04, 0x5F, 0x53, 0x42, 0x5F, 0x41, + 0x57, 0x52, 0x30, 0x41, 0x42, 0x52, 0x30, 0x41, + 0x30, 0x35, 0x38, 0x69, 0xA0, 0x1A, 0x93, 0x68, + 0x0A, 0x01, 0xA4, 0x5C, 0x2F, 0x04, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x57, 0x52, 0x30, 0x41, 0x42, + 0x52, 0x31, 0x41, 0x30, 0x35, 0x38, 0x69, 0xA0, + 0x1A, 0x93, 0x68, 0x0A, 0x02, 0xA4, 0x5C, 0x2F, + 0x04, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x57, 0x52, + 0x30, 0x41, 0x42, 0x52, 0x32, 0x41, 0x30, 0x35, + 0x38, 0x69, 0xA0, 0x1A, 0x93, 0x68, 0x0A, 0x03, + 0xA4, 0x5C, 0x2F, 0x04, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x57, 0x52, 0x30, 0x41, 0x42, 0x52, 0x33, + 0x41, 0x30, 0x35, 0x38, 0x69, 0xA0, 0x1A, 0x93, + 0x68, 0x0A, 0x04, 0xA4, 0x5C, 0x2F, 0x04, 0x5F, + 0x53, 0x42, 0x5F, 0x41, 0x57, 0x52, 0x30, 0x41, + 0x42, 0x52, 0x34, 0x41, 0x30, 0x35, 0x38, 0x69, + 0x14, 0x49, 0x08, 0x41, 0x30, 0x34, 0x30, 0x01, + 0xA0, 0x19, 0x93, 0x68, 0x0A, 0x00, 0xA4, 0x5C, + 0x2F, 0x04, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x57, + 0x52, 0x30, 0x41, 0x42, 0x52, 0x30, 0x41, 0x30, + 0x35, 0x39, 0xA0, 0x19, 0x93, 0x68, 0x0A, 0x01, + 0xA4, 0x5C, 0x2F, 0x04, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x57, 0x52, 0x30, 0x41, 0x42, 0x52, 0x31, + 0x41, 0x30, 0x35, 0x39, 0xA0, 0x19, 0x93, 0x68, + 0x0A, 0x02, 0xA4, 0x5C, 0x2F, 0x04, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x57, 0x52, 0x30, 0x41, 0x42, + 0x52, 0x32, 0x41, 0x30, 0x35, 0x39, 0xA0, 0x19, + 0x93, 0x68, 0x0A, 0x03, 0xA4, 0x5C, 0x2F, 0x04, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x57, 0x52, 0x30, + 0x41, 0x42, 0x52, 0x33, 0x41, 0x30, 0x35, 0x39, + 0xA0, 0x19, 0x93, 0x68, 0x0A, 0x04, 0xA4, 0x5C, + 0x2F, 0x04, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x57, + 0x52, 0x30, 0x41, 0x42, 0x52, 0x34, 0x41, 0x30, + 0x35, 0x39, 0x14, 0x49, 0x08, 0x41, 0x30, 0x33, + 0x34, 0x01, 0xA0, 0x19, 0x93, 0x68, 0x0A, 0x00, + 0xA4, 0x5C, 0x2F, 0x04, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x57, 0x52, 0x30, 0x41, 0x42, 0x52, 0x30, + 0x41, 0x30, 0x36, 0x30, 0xA0, 0x19, 0x93, 0x68, + 0x0A, 0x01, 0xA4, 0x5C, 0x2F, 0x04, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x57, 0x52, 0x30, 0x41, 0x42, + 0x52, 0x31, 0x41, 0x30, 0x36, 0x30, 0xA0, 0x19, + 0x93, 0x68, 0x0A, 0x02, 0xA4, 0x5C, 0x2F, 0x04, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x57, 0x52, 0x30, + 0x41, 0x42, 0x52, 0x32, 0x41, 0x30, 0x36, 0x30, + 0xA0, 0x19, 0x93, 0x68, 0x0A, 0x03, 0xA4, 0x5C, + 0x2F, 0x04, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x57, + 0x52, 0x30, 0x41, 0x42, 0x52, 0x33, 0x41, 0x30, + 0x36, 0x30, 0xA0, 0x19, 0x93, 0x68, 0x0A, 0x04, + 0xA4, 0x5C, 0x2F, 0x04, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x57, 0x52, 0x30, 0x41, 0x42, 0x52, 0x34, + 0x41, 0x30, 0x36, 0x30, 0x5B, 0x80, 0x41, 0x31, + 0x32, 0x30, 0x00, 0x72, 0x41, 0x47, 0x52, 0x42, + 0x0C, 0x00, 0x30, 0x0C, 0x00, 0x00, 0x0B, 0x00, + 0x10, 0x5B, 0x81, 0x18, 0x41, 0x31, 0x32, 0x30, + 0x01, 0x00, 0x40, 0x6E, 0x00, 0x13, 0x41, 0x30, + 0x32, 0x33, 0x07, 0x00, 0x46, 0x8E, 0x41, 0x30, + 0x30, 0x38, 0x01, 0x5B, 0x80, 0x41, 0x31, 0x32, + 0x31, 0x00, 0x72, 0x41, 0x47, 0x52, 0x42, 0x0C, + 0x00, 0x40, 0x0C, 0x00, 0x00, 0x0B, 0x00, 0x10, + 0x5B, 0x81, 0x2F, 0x41, 0x31, 0x32, 0x31, 0x01, + 0x00, 0x40, 0x92, 0x00, 0x16, 0x41, 0x30, 0x32, + 0x34, 0x01, 0x41, 0x31, 0x32, 0x32, 0x04, 0x00, + 0x05, 0x00, 0x05, 0x41, 0x30, 0x32, 0x30, 0x07, + 0x00, 0x44, 0x73, 0x00, 0x08, 0x41, 0x30, 0x32, + 0x32, 0x03, 0x00, 0x03, 0x41, 0x30, 0x32, 0x31, + 0x02, 0x5B, 0x81, 0x21, 0x41, 0x31, 0x32, 0x31, + 0x01, 0x00, 0x40, 0xAE, 0x00, 0x02, 0x41, 0x31, + 0x32, 0x33, 0x03, 0x00, 0x02, 0x41, 0x31, 0x32, + 0x34, 0x01, 0x00, 0x48, 0x07, 0x00, 0x03, 0x41, + 0x31, 0x32, 0x35, 0x01, 0x5B, 0x80, 0x41, 0x31, + 0x32, 0x36, 0x00, 0x72, 0x41, 0x47, 0x52, 0x42, + 0x0C, 0x00, 0x50, 0x0C, 0x00, 0x00, 0x0B, 0x00, + 0x10, 0x5B, 0x81, 0x10, 0x41, 0x31, 0x32, 0x36, + 0x01, 0x00, 0x40, 0xB8, 0x00, 0x0E, 0x41, 0x31, + 0x32, 0x37, 0x01, 0x5B, 0x80, 0x41, 0x31, 0x30, + 0x33, 0x00, 0x41, 0x47, 0x52, 0x42, 0x0B, 0x00, + 0x10, 0x5B, 0x81, 0x26, 0x41, 0x31, 0x30, 0x33, + 0x01, 0x00, 0x40, 0x30, 0x41, 0x31, 0x30, 0x34, + 0x20, 0x00, 0x40, 0x2A, 0x41, 0x31, 0x30, 0x35, + 0x20, 0x00, 0x40, 0x06, 0x41, 0x31, 0x30, 0x36, + 0x20, 0x00, 0x40, 0x16, 0x41, 0x31, 0x30, 0x37, + 0x20, 0x5B, 0x87, 0x17, 0x41, 0x31, 0x30, 0x33, + 0x41, 0x31, 0x30, 0x36, 0x0C, 0x01, 0x00, 0x21, + 0x00, 0x03, 0x00, 0x40, 0x36, 0x41, 0x31, 0x30, + 0x38, 0x01, 0x5B, 0x87, 0x1C, 0x41, 0x31, 0x30, + 0x33, 0x41, 0x31, 0x30, 0x35, 0x0C, 0x00, 0x00, + 0x10, 0xC2, 0x03, 0x00, 0x40, 0x5E, 0x41, 0x31, + 0x30, 0x39, 0x01, 0x41, 0x31, 0x31, 0x30, 0x10, + 0x5B, 0x87, 0x1C, 0x41, 0x31, 0x30, 0x33, 0x41, + 0x31, 0x30, 0x35, 0x0C, 0x04, 0x00, 0x10, 0xC2, + 0x03, 0x00, 0x40, 0x5E, 0x41, 0x31, 0x31, 0x31, + 0x01, 0x41, 0x31, 0x31, 0x32, 0x01, 0x5B, 0x87, + 0x17, 0x41, 0x31, 0x30, 0x33, 0x41, 0x31, 0x30, + 0x35, 0x0C, 0x3C, 0x00, 0x10, 0xC2, 0x03, 0x00, + 0x40, 0x5E, 0x41, 0x31, 0x31, 0x33, 0x20, 0x5B, + 0x87, 0x23, 0x41, 0x31, 0x30, 0x33, 0x41, 0x31, + 0x30, 0x35, 0x0C, 0xD8, 0xF9, 0x03, 0x00, 0x03, + 0x00, 0x40, 0x5E, 0x41, 0x31, 0x31, 0x34, 0x01, + 0x41, 0x31, 0x31, 0x35, 0x01, 0x00, 0x03, 0x41, + 0x31, 0x31, 0x36, 0x01, 0x5B, 0x87, 0x16, 0x41, + 0x31, 0x30, 0x33, 0x41, 0x31, 0x30, 0x37, 0x0A, + 0x00, 0x03, 0x00, 0x40, 0x7E, 0x00, 0x04, 0x41, + 0x31, 0x31, 0x37, 0x01, 0x5B, 0x80, 0x41, 0x31, + 0x31, 0x38, 0x00, 0x72, 0x41, 0x47, 0x52, 0x42, + 0x0B, 0x00, 0x80, 0x00, 0x0B, 0x00, 0x10, 0x5B, + 0x81, 0x0B, 0x41, 0x31, 0x31, 0x38, 0x03, 0x41, + 0x31, 0x31, 0x39, 0x20, 0x14, 0x48, 0x07, 0x41, + 0x30, 0x34, 0x39, 0x01, 0x70, 0x73, 0x0D, 0x20, + 0x50, 0x43, 0x49, 0x65, 0x20, 0x56, 0x49, 0x44, + 0x20, 0x3A, 0x00, 0x98, 0x68, 0x00, 0x41, 0x44, + 0x42, 0x47, 0x5B, 0x31, 0xA0, 0x16, 0x93, 0x68, + 0x0A, 0x01, 0x70, 0x83, 0x88, 0x5C, 0x2E, 0x5F, + 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, 0x0A, + 0x01, 0x00, 0x60, 0xA0, 0x16, 0x93, 0x68, 0x0A, + 0x02, 0x70, 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, 0x0A, 0x02, + 0x00, 0x60, 0xA0, 0x09, 0x94, 0x60, 0x0A, 0xF7, + 0x70, 0x0A, 0xF7, 0x60, 0x70, 0x77, 0x0B, 0x71, + 0x02, 0x72, 0x74, 0x0A, 0xF7, 0x60, 0x61, 0x0A, + 0x01, 0x00, 0x00, 0x62, 0x78, 0x77, 0x62, 0x0A, + 0x04, 0x62, 0x0A, 0x64, 0x63, 0x64, 0x41, 0x31, + 0x32, 0x38, 0x0A, 0x3A, 0x64, 0x14, 0x06, 0x41, + 0x30, 0x39, 0x31, 0x03, 0x14, 0x42, 0x10, 0x41, + 0x31, 0x32, 0x38, 0x0A, 0x70, 0x0D, 0x20, 0x47, + 0x6E, 0x62, 0x53, 0x6D, 0x75, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x20, + 0x45, 0x6E, 0x74, 0x65, 0x72, 0x00, 0x5B, 0x31, + 0x70, 0x73, 0x0D, 0x20, 0x20, 0x53, 0x6D, 0x75, + 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x20, 0x69, 0x64, 0x20, 0x3D, 0x20, 0x00, 0x98, + 0x68, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, + 0x70, 0x73, 0x0D, 0x20, 0x20, 0x53, 0x6D, 0x75, + 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x20, 0x61, 0x72, 0x67, 0x75, 0x6D, 0x65, 0x6E, + 0x74, 0x20, 0x3D, 0x20, 0x00, 0x98, 0x69, 0x00, + 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, 0xA2, 0x20, + 0x92, 0x93, 0x41, 0x31, 0x31, 0x32, 0x0A, 0x01, + 0x70, 0x0D, 0x2D, 0x2D, 0x57, 0x61, 0x69, 0x74, + 0x20, 0x49, 0x6E, 0x69, 0x74, 0x20, 0x44, 0x6F, + 0x6E, 0x65, 0x2D, 0x2D, 0x00, 0x5B, 0x31, 0x70, + 0x69, 0x41, 0x31, 0x31, 0x33, 0x70, 0x68, 0x41, + 0x31, 0x31, 0x30, 0x80, 0x41, 0x31, 0x30, 0x39, + 0x41, 0x31, 0x30, 0x39, 0xA2, 0x1F, 0x92, 0x93, + 0x41, 0x31, 0x31, 0x31, 0x0A, 0x01, 0x70, 0x0D, + 0x2D, 0x2D, 0x57, 0x61, 0x69, 0x74, 0x20, 0x49, + 0x6E, 0x69, 0x74, 0x20, 0x41, 0x63, 0x6B, 0x2D, + 0x2D, 0x00, 0x5B, 0x31, 0xA2, 0x20, 0x92, 0x93, + 0x41, 0x31, 0x31, 0x32, 0x0A, 0x01, 0x70, 0x0D, + 0x2D, 0x2D, 0x57, 0x61, 0x69, 0x74, 0x20, 0x49, + 0x6E, 0x69, 0x74, 0x20, 0x44, 0x6F, 0x6E, 0x65, + 0x2D, 0x2D, 0x00, 0x5B, 0x31, 0x70, 0x41, 0x31, + 0x31, 0x33, 0x60, 0x70, 0x0D, 0x47, 0x6E, 0x62, + 0x53, 0x6D, 0x75, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x52, 0x65, 0x71, 0x20, 0x45, 0x78, + 0x69, 0x74, 0x00, 0x5B, 0x31, 0xA4, 0x60, 0x14, + 0x1C, 0x41, 0x30, 0x36, 0x33, 0x01, 0xA0, 0x0C, + 0x93, 0x68, 0x0A, 0x01, 0x70, 0x0A, 0x00, 0x41, + 0x31, 0x30, 0x38, 0xA1, 0x08, 0x70, 0x0A, 0x01, + 0x41, 0x31, 0x30, 0x38, 0x14, 0x4A, 0x04, 0x41, + 0x30, 0x30, 0x36, 0x01, 0x70, 0x41, 0x31, 0x32, + 0x37, 0x60, 0xA0, 0x1F, 0x93, 0x68, 0x0A, 0x00, + 0x70, 0x0A, 0x01, 0x41, 0x31, 0x32, 0x37, 0x70, + 0x0D, 0x20, 0x4D, 0x65, 0x6D, 0x20, 0x50, 0x53, + 0x20, 0x4F, 0x46, 0x46, 0x21, 0x21, 0x21, 0x00, + 0x5B, 0x31, 0xA1, 0x1A, 0x70, 0x0A, 0x00, 0x41, + 0x31, 0x32, 0x37, 0x70, 0x0D, 0x20, 0x4D, 0x65, + 0x6D, 0x20, 0x50, 0x53, 0x20, 0x4F, 0x4E, 0x21, + 0x21, 0x21, 0x00, 0x5B, 0x31, 0xA4, 0x60, 0x08, + 0x41, 0x31, 0x32, 0x39, 0x0A, 0x00, 0x08, 0x41, + 0x31, 0x33, 0x30, 0x0A, 0x00, 0x14, 0x4A, 0x0B, + 0x41, 0x30, 0x30, 0x35, 0x01, 0xA0, 0x25, 0x93, + 0x41, 0x31, 0x32, 0x39, 0x0A, 0x00, 0xA0, 0x15, + 0x92, 0x93, 0x41, 0x31, 0x31, 0x39, 0x0C, 0xFF, + 0xFF, 0xFF, 0xFF, 0x70, 0x41, 0x31, 0x31, 0x35, + 0x41, 0x31, 0x33, 0x30, 0x70, 0x0A, 0x01, 0x41, + 0x31, 0x32, 0x39, 0xA0, 0x4C, 0x08, 0x93, 0x41, + 0x31, 0x33, 0x30, 0x0A, 0x01, 0xA0, 0x40, 0x06, + 0x93, 0x68, 0x0A, 0x00, 0xA0, 0x30, 0x93, 0x44, + 0x4B, 0x30, 0x30, 0x0A, 0x01, 0x70, 0x0D, 0x20, + 0x41, 0x43, 0x2F, 0x55, 0x6E, 0x64, 0x6F, 0x63, + 0x6B, 0x65, 0x64, 0x20, 0x73, 0x6F, 0x20, 0x65, + 0x6E, 0x61, 0x62, 0x6C, 0x65, 0x20, 0x42, 0x41, + 0x50, 0x4D, 0x00, 0x5B, 0x31, 0x41, 0x31, 0x32, + 0x38, 0x0A, 0x30, 0x0A, 0x00, 0xA1, 0x28, 0x70, + 0x0D, 0x20, 0x41, 0x43, 0x2F, 0x44, 0x6F, 0x63, + 0x6B, 0x65, 0x64, 0x20, 0x73, 0x6F, 0x20, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6C, 0x65, 0x20, 0x42, + 0x41, 0x50, 0x4D, 0x00, 0x5B, 0x31, 0x41, 0x31, + 0x32, 0x38, 0x0A, 0x31, 0x0A, 0x00, 0xA1, 0x21, + 0x70, 0x0D, 0x20, 0x44, 0x43, 0x20, 0x73, 0x6F, + 0x20, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6C, 0x65, + 0x20, 0x42, 0x41, 0x50, 0x4D, 0x00, 0x5B, 0x31, + 0x41, 0x31, 0x32, 0x38, 0x0A, 0x31, 0x0A, 0x00, + 0x14, 0x39, 0x41, 0x31, 0x33, 0x31, 0x01, 0xA0, + 0x1A, 0x93, 0x68, 0x0A, 0x01, 0x70, 0x0D, 0x20, + 0x54, 0x44, 0x43, 0x3A, 0x20, 0x4F, 0x6E, 0x00, + 0x5B, 0x31, 0x41, 0x31, 0x32, 0x38, 0x0A, 0x2E, + 0x0A, 0x00, 0xA1, 0x17, 0x70, 0x0D, 0x20, 0x54, + 0x44, 0x43, 0x3A, 0x20, 0x4F, 0x66, 0x66, 0x00, + 0x5B, 0x31, 0x41, 0x31, 0x32, 0x38, 0x0A, 0x2F, + 0x0A, 0x00, 0x14, 0x3F, 0x41, 0x31, 0x33, 0x32, + 0x01, 0xA0, 0x1D, 0x93, 0x68, 0x0A, 0x01, 0x70, + 0x0D, 0x20, 0x50, 0x6B, 0x67, 0x50, 0x77, 0x72, + 0x3A, 0x20, 0x4F, 0x6E, 0x00, 0x5B, 0x31, 0x41, + 0x31, 0x32, 0x38, 0x0A, 0x51, 0x0A, 0x00, 0xA1, + 0x1A, 0x70, 0x0D, 0x20, 0x50, 0x6B, 0x67, 0x50, + 0x77, 0x72, 0x3A, 0x20, 0x4F, 0x66, 0x66, 0x00, + 0x5B, 0x31, 0x41, 0x31, 0x32, 0x38, 0x0A, 0x52, + 0x0A, 0x00, 0x14, 0x3F, 0x41, 0x31, 0x33, 0x33, + 0x01, 0xA0, 0x19, 0x93, 0x68, 0x0A, 0x01, 0x70, + 0x0D, 0x20, 0x56, 0x50, 0x43, 0x3A, 0x20, 0x4F, + 0x6E, 0x00, 0x5B, 0x31, 0x70, 0x0A, 0x01, 0x41, + 0x31, 0x31, 0x34, 0xA1, 0x16, 0x70, 0x0D, 0x20, + 0x56, 0x50, 0x43, 0x3A, 0x20, 0x4F, 0x66, 0x66, + 0x00, 0x5B, 0x31, 0x70, 0x0A, 0x00, 0x41, 0x31, + 0x31, 0x34, 0x41, 0x31, 0x32, 0x38, 0x0A, 0x0C, + 0x0A, 0x00, 0x14, 0x46, 0x0D, 0x41, 0x30, 0x30, + 0x39, 0x01, 0xA0, 0x46, 0x05, 0x93, 0x68, 0x0A, + 0x01, 0x70, 0x0D, 0x20, 0x44, 0x50, 0x4D, 0x3A, + 0x20, 0x6E, 0x6F, 0x20, 0x6D, 0x61, 0x73, 0x6B, + 0x00, 0x5B, 0x31, 0x41, 0x31, 0x32, 0x38, 0x0A, + 0x58, 0x0A, 0x00, 0x70, 0x0D, 0x20, 0x43, 0x6C, + 0x72, 0x20, 0x54, 0x64, 0x70, 0x4C, 0x69, 0x6D, + 0x69, 0x74, 0x44, 0x69, 0x73, 0x00, 0x5B, 0x31, + 0x70, 0x0A, 0x00, 0x41, 0x31, 0x32, 0x35, 0x41, + 0x31, 0x33, 0x33, 0x0A, 0x01, 0x41, 0x31, 0x33, + 0x32, 0x0A, 0x01, 0x41, 0x31, 0x33, 0x31, 0x0A, + 0x01, 0x41, 0x30, 0x30, 0x35, 0x41, 0x44, 0x30, + 0x30, 0xA1, 0x4A, 0x06, 0x41, 0x30, 0x30, 0x35, + 0x41, 0x44, 0x30, 0x30, 0x41, 0x31, 0x33, 0x31, + 0x0A, 0x00, 0x41, 0x31, 0x33, 0x32, 0x0A, 0x00, + 0x41, 0x31, 0x33, 0x33, 0x0A, 0x00, 0x70, 0x0D, + 0x20, 0x53, 0x65, 0x74, 0x20, 0x54, 0x64, 0x70, + 0x4C, 0x69, 0x6D, 0x69, 0x74, 0x44, 0x69, 0x73, + 0x00, 0x5B, 0x31, 0x70, 0x0A, 0x01, 0x41, 0x31, + 0x32, 0x35, 0x70, 0x83, 0x88, 0x5C, 0x2E, 0x5F, + 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, 0x0A, + 0x04, 0x00, 0x60, 0x70, 0x73, 0x0D, 0x20, 0x20, + 0x44, 0x50, 0x4D, 0x20, 0x6D, 0x61, 0x73, 0x6B, + 0x20, 0x3D, 0x20, 0x00, 0x98, 0x60, 0x00, 0x41, + 0x44, 0x42, 0x47, 0x5B, 0x31, 0x41, 0x31, 0x32, + 0x38, 0x0A, 0x58, 0x60, 0x70, 0x0D, 0x20, 0x20, + 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x3D, 0x00, 0x5B, + 0x31, 0x14, 0x24, 0x41, 0x30, 0x30, 0x37, 0x01, + 0x70, 0x41, 0x31, 0x31, 0x37, 0x60, 0xA0, 0x0C, + 0x93, 0x68, 0x0A, 0x00, 0x70, 0x0A, 0x00, 0x41, + 0x31, 0x31, 0x37, 0xA1, 0x08, 0x70, 0x0A, 0x01, + 0x41, 0x31, 0x31, 0x37, 0xA4, 0x60, 0x5B, 0x80, + 0x50, 0x4D, 0x49, 0x4F, 0x01, 0x0B, 0xD6, 0x0C, + 0x0A, 0x02, 0x5B, 0x81, 0x10, 0x50, 0x4D, 0x49, + 0x4F, 0x01, 0x41, 0x30, 0x39, 0x39, 0x08, 0x41, + 0x31, 0x30, 0x30, 0x08, 0x5B, 0x86, 0x12, 0x41, + 0x30, 0x39, 0x39, 0x41, 0x31, 0x30, 0x30, 0x01, + 0x00, 0x40, 0x70, 0x41, 0x31, 0x30, 0x31, 0x20, + 0x5B, 0x80, 0x41, 0x43, 0x46, 0x47, 0x01, 0x41, + 0x31, 0x30, 0x31, 0x0A, 0x08, 0x5B, 0x81, 0x0B, + 0x41, 0x43, 0x46, 0x47, 0x03, 0x41, 0x31, 0x30, + 0x32, 0x20, 0x5B, 0x87, 0x16, 0x41, 0x43, 0x46, + 0x47, 0x41, 0x31, 0x30, 0x32, 0x0C, 0x68, 0x00, + 0x00, 0x80, 0x03, 0x00, 0x20, 0x41, 0x30, 0x37, + 0x30, 0x02, 0x08, 0x41, 0x42, 0x53, 0x4D, 0x0A, + 0x00, 0x14, 0x27, 0x41, 0x30, 0x36, 0x37, 0x01, + 0xA0, 0x15, 0x93, 0x68, 0x0A, 0x00, 0x70, 0x41, + 0x30, 0x37, 0x30, 0x41, 0x42, 0x53, 0x4D, 0x70, + 0x0A, 0x00, 0x41, 0x30, 0x37, 0x30, 0xA1, 0x0A, + 0x70, 0x41, 0x42, 0x53, 0x4D, 0x41, 0x30, 0x37, + 0x30, 0x5B, 0x82, 0x8C, 0x83, 0x04, 0x41, 0x57, + 0x52, 0x30, 0x08, 0x5F, 0x48, 0x49, 0x44, 0x0C, + 0x41, 0xD0, 0x0C, 0x02, 0x08, 0x5F, 0x55, 0x49, + 0x44, 0x0A, 0x90, 0x08, 0x57, 0x52, 0x42, 0x53, + 0x0B, 0x30, 0x01, 0x5B, 0x82, 0x4A, 0xE6, 0x41, + 0x42, 0x52, 0x30, 0x08, 0x5F, 0x48, 0x49, 0x44, + 0x0C, 0x41, 0xD0, 0x0C, 0x02, 0x08, 0x5F, 0x55, + 0x49, 0x44, 0x0A, 0x80, 0x08, 0x41, 0x42, 0x31, + 0x32, 0x0A, 0x20, 0x08, 0x41, 0x42, 0x30, 0x30, + 0x0A, 0x00, 0x08, 0x41, 0x42, 0x30, 0x31, 0x0A, + 0x00, 0x08, 0x41, 0x42, 0x30, 0x45, 0x0A, 0x00, + 0x08, 0x41, 0x42, 0x30, 0x32, 0x0A, 0x00, 0x08, + 0x41, 0x42, 0x30, 0x33, 0x0A, 0x00, 0x08, 0x41, + 0x42, 0x30, 0x34, 0x0A, 0x00, 0x08, 0x41, 0x42, + 0x30, 0x35, 0x0A, 0x00, 0x08, 0x41, 0x42, 0x30, + 0x36, 0x0A, 0x00, 0x08, 0x41, 0x42, 0x30, 0x37, + 0x0A, 0x00, 0x08, 0x41, 0x42, 0x30, 0x38, 0x0A, + 0x00, 0x08, 0x41, 0x42, 0x30, 0x39, 0x0A, 0x00, + 0x08, 0x41, 0x42, 0x30, 0x41, 0x0A, 0x00, 0x08, + 0x41, 0x42, 0x30, 0x42, 0x0A, 0x00, 0x08, 0x41, + 0x42, 0x30, 0x43, 0x0A, 0x00, 0x08, 0x41, 0x42, + 0x30, 0x44, 0x0A, 0x00, 0x5B, 0x80, 0x41, 0x30, + 0x38, 0x33, 0x00, 0x72, 0x41, 0x47, 0x52, 0x42, + 0x7D, 0x79, 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, + 0x42, 0x31, 0x32, 0x0A, 0x0D, 0x00, 0x00, 0x0A, + 0x0F, 0x00, 0x79, 0x83, 0x88, 0x5C, 0x2E, 0x5F, + 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, 0x72, + 0x41, 0x42, 0x31, 0x32, 0x0A, 0x0E, 0x00, 0x00, + 0x0A, 0x0C, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x10, + 0x5B, 0x81, 0x45, 0x04, 0x41, 0x30, 0x38, 0x33, + 0x01, 0x00, 0x40, 0x0C, 0x00, 0x08, 0x41, 0x30, + 0x37, 0x34, 0x08, 0x41, 0x30, 0x37, 0x35, 0x08, + 0x00, 0x48, 0x26, 0x41, 0x30, 0x37, 0x30, 0x02, + 0x00, 0x03, 0x41, 0x30, 0x37, 0x31, 0x01, 0x00, + 0x0A, 0x00, 0x0B, 0x41, 0x30, 0x37, 0x32, 0x01, + 0x00, 0x44, 0x0E, 0x41, 0x30, 0x38, 0x32, 0x04, + 0x00, 0x01, 0x41, 0x30, 0x37, 0x39, 0x01, 0x00, + 0x4A, 0x2B, 0x41, 0x30, 0x38, 0x34, 0x20, 0x5B, + 0x87, 0x16, 0x41, 0x30, 0x38, 0x33, 0x41, 0x30, + 0x38, 0x34, 0x0A, 0xA1, 0x03, 0x00, 0x40, 0x72, + 0x00, 0x0C, 0x41, 0x30, 0x36, 0x36, 0x01, 0x5B, + 0x87, 0x16, 0x41, 0x30, 0x38, 0x33, 0x41, 0x30, + 0x38, 0x34, 0x0A, 0xA2, 0x03, 0x00, 0x40, 0x72, + 0x00, 0x0D, 0x41, 0x30, 0x38, 0x31, 0x01, 0x5B, + 0x87, 0x27, 0x41, 0x30, 0x38, 0x33, 0x41, 0x30, + 0x38, 0x34, 0x0A, 0xA4, 0x03, 0x00, 0x40, 0x72, + 0x41, 0x30, 0x37, 0x37, 0x01, 0x41, 0x30, 0x37, + 0x38, 0x01, 0x00, 0x0B, 0x41, 0x30, 0x37, 0x33, + 0x02, 0x00, 0x0E, 0x41, 0x30, 0x38, 0x30, 0x01, + 0x5B, 0x87, 0x14, 0x41, 0x30, 0x38, 0x33, 0x41, + 0x30, 0x38, 0x34, 0x0A, 0xA5, 0x03, 0x00, 0x40, + 0x72, 0x41, 0x30, 0x36, 0x35, 0x06, 0x5B, 0x80, + 0x41, 0x30, 0x38, 0x35, 0x00, 0x41, 0x47, 0x52, + 0x42, 0x0B, 0x00, 0x10, 0x5B, 0x81, 0x0E, 0x41, + 0x30, 0x38, 0x35, 0x01, 0x00, 0x40, 0x70, 0x41, + 0x30, 0x38, 0x36, 0x20, 0x5B, 0x87, 0x3C, 0x41, + 0x30, 0x38, 0x35, 0x41, 0x30, 0x38, 0x36, 0x7D, + 0x79, 0x5E, 0x57, 0x52, 0x42, 0x53, 0x0A, 0x10, + 0x00, 0x72, 0x0B, 0x00, 0x08, 0x77, 0x0B, 0x00, + 0x01, 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, + 0x5F, 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, 0x42, + 0x31, 0x32, 0x0A, 0x0B, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0x00, 0x40, 0x72, 0x41, 0x30, 0x38, + 0x37, 0x01, 0x5B, 0x87, 0x20, 0x41, 0x30, 0x38, + 0x35, 0x41, 0x30, 0x38, 0x36, 0x7D, 0x79, 0x5E, + 0x57, 0x52, 0x42, 0x53, 0x0A, 0x10, 0x00, 0x0B, + 0x29, 0x80, 0x00, 0x03, 0x00, 0x40, 0x72, 0x41, + 0x30, 0x38, 0x38, 0x10, 0x08, 0x41, 0x42, 0x31, + 0x30, 0x0A, 0x00, 0x14, 0x4D, 0x18, 0x5F, 0x49, + 0x4E, 0x49, 0x00, 0x70, 0x83, 0x88, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, + 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, 0x00, 0x00, + 0x00, 0x41, 0x42, 0x30, 0x30, 0x70, 0x83, 0x88, + 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, + 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, + 0x01, 0x00, 0x00, 0x41, 0x42, 0x30, 0x45, 0x70, + 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, + 0x32, 0x0A, 0x02, 0x00, 0x00, 0x41, 0x42, 0x30, + 0x31, 0x70, 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, + 0x42, 0x31, 0x32, 0x0A, 0x03, 0x00, 0x00, 0x41, + 0x42, 0x30, 0x32, 0x70, 0x83, 0x88, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, + 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, 0x04, 0x00, + 0x00, 0x41, 0x42, 0x30, 0x33, 0x70, 0x83, 0x88, + 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, + 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, + 0x05, 0x00, 0x00, 0x41, 0x42, 0x30, 0x34, 0x70, + 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, + 0x32, 0x0A, 0x06, 0x00, 0x00, 0x41, 0x42, 0x30, + 0x35, 0x70, 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, + 0x42, 0x31, 0x32, 0x0A, 0x07, 0x00, 0x00, 0x41, + 0x42, 0x30, 0x36, 0x70, 0x83, 0x88, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, + 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, 0x08, 0x00, + 0x00, 0x41, 0x42, 0x30, 0x37, 0x70, 0x83, 0x88, + 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, + 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, + 0x09, 0x00, 0x00, 0x41, 0x42, 0x30, 0x38, 0x70, + 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, + 0x32, 0x0A, 0x0A, 0x00, 0x00, 0x41, 0x42, 0x30, + 0x39, 0x70, 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, + 0x42, 0x31, 0x32, 0x0A, 0x0B, 0x00, 0x00, 0x41, + 0x42, 0x30, 0x41, 0x70, 0x83, 0x88, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, + 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, 0x0C, 0x00, + 0x00, 0x41, 0x42, 0x30, 0x42, 0x70, 0x83, 0x88, + 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, + 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, + 0x0D, 0x00, 0x00, 0x41, 0x42, 0x30, 0x43, 0x70, + 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, + 0x32, 0x0A, 0x0E, 0x00, 0x00, 0x41, 0x42, 0x30, + 0x44, 0x14, 0x22, 0x41, 0x30, 0x36, 0x31, 0x00, + 0x70, 0x41, 0x30, 0x34, 0x31, 0x60, 0xA0, 0x0A, + 0x93, 0x60, 0x0A, 0x01, 0xA4, 0x41, 0x42, 0x30, + 0x31, 0xA0, 0x0A, 0x93, 0x60, 0x0A, 0x00, 0xA4, + 0x41, 0x42, 0x30, 0x45, 0x14, 0x1F, 0x41, 0x30, + 0x35, 0x35, 0x00, 0xA0, 0x15, 0x92, 0x93, 0x41, + 0x42, 0x31, 0x30, 0x0A, 0x00, 0xA0, 0x0B, 0x93, + 0x41, 0x42, 0x31, 0x30, 0x0A, 0x01, 0xA4, 0x0A, + 0x01, 0xA4, 0x0A, 0x00, 0x14, 0x2A, 0x41, 0x30, + 0x36, 0x32, 0x00, 0xA0, 0x0E, 0x92, 0x93, 0x41, + 0x42, 0x30, 0x35, 0x0A, 0x00, 0xA4, 0x41, 0x42, + 0x30, 0x35, 0xA0, 0x11, 0x94, 0x41, 0x42, 0x31, + 0x30, 0x0A, 0x01, 0xA4, 0x74, 0x41, 0x42, 0x31, + 0x30, 0x0A, 0x01, 0x00, 0xA4, 0x0A, 0x00, 0x14, + 0x49, 0x07, 0x41, 0x30, 0x35, 0x34, 0x00, 0xA0, + 0x22, 0x93, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x50, 0x30, 0x35, 0x0A, 0x00, 0xA0, 0x0E, + 0x92, 0x93, 0x41, 0x42, 0x30, 0x35, 0x0A, 0x00, + 0xA4, 0x41, 0x42, 0x30, 0x35, 0xA4, 0x41, 0x42, + 0x30, 0x45, 0x70, 0x41, 0x30, 0x36, 0x32, 0x60, + 0xA0, 0x17, 0x92, 0x93, 0x60, 0x0A, 0x00, 0xA0, + 0x0C, 0x94, 0x60, 0x41, 0x42, 0x30, 0x30, 0xA4, + 0x41, 0x42, 0x30, 0x30, 0xA1, 0x03, 0xA4, 0x60, + 0x70, 0x41, 0x30, 0x36, 0x31, 0x60, 0xA0, 0x28, + 0x92, 0x93, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x50, 0x30, 0x33, 0x0A, 0x00, 0xA0, 0x18, + 0x95, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, + 0x50, 0x30, 0x33, 0x60, 0xA4, 0x5C, 0x2E, 0x5F, + 0x53, 0x42, 0x5F, 0x41, 0x50, 0x30, 0x33, 0xA4, + 0x60, 0x14, 0x0B, 0x41, 0x30, 0x35, 0x33, 0x00, + 0xA4, 0x41, 0x42, 0x30, 0x32, 0x14, 0x0B, 0x41, + 0x30, 0x35, 0x36, 0x00, 0xA4, 0x41, 0x42, 0x30, + 0x30, 0x14, 0x4B, 0x13, 0x41, 0x30, 0x35, 0x32, + 0x01, 0x70, 0x73, 0x0D, 0x20, 0x50, 0x63, 0x69, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x50, 0x6F, 0x72, 0x74, 0x53, 0x70, 0x65, 0x65, + 0x64, 0x20, 0x45, 0x6E, 0x74, 0x65, 0x72, 0x20, + 0x53, 0x70, 0x65, 0x65, 0x64, 0x3A, 0x20, 0x00, + 0x98, 0x68, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, + 0x31, 0x70, 0x68, 0x41, 0x42, 0x30, 0x32, 0xA0, + 0x14, 0x93, 0x41, 0x42, 0x30, 0x33, 0x0A, 0x01, + 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x30, + 0x36, 0x33, 0x0A, 0x01, 0x41, 0x30, 0x36, 0x34, + 0x68, 0xA0, 0x40, 0x0B, 0x92, 0x95, 0x41, 0x30, + 0x36, 0x35, 0x0A, 0x10, 0xA0, 0x10, 0x92, 0x93, + 0x41, 0x42, 0x31, 0x30, 0x0A, 0x00, 0x70, 0x0A, + 0x00, 0x41, 0x30, 0x36, 0x36, 0xA1, 0x08, 0x70, + 0x0A, 0x01, 0x41, 0x30, 0x36, 0x36, 0xA0, 0x14, + 0x93, 0x41, 0x42, 0x30, 0x33, 0x0A, 0x01, 0x5C, + 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x30, 0x36, + 0x37, 0x0A, 0x00, 0xA1, 0x07, 0x41, 0x30, 0x36, + 0x38, 0x0A, 0x00, 0x08, 0x41, 0x30, 0x36, 0x39, + 0x0A, 0x00, 0x70, 0x41, 0x30, 0x37, 0x30, 0x41, + 0x30, 0x36, 0x39, 0x70, 0x0A, 0x00, 0x41, 0x30, + 0x37, 0x30, 0x70, 0x0A, 0x01, 0x60, 0xA2, 0x2D, + 0x60, 0x70, 0x0A, 0x01, 0x41, 0x30, 0x37, 0x31, + 0x5B, 0x22, 0x0A, 0x1E, 0xA2, 0x0C, 0x93, 0x41, + 0x30, 0x37, 0x32, 0x0A, 0x01, 0x5B, 0x22, 0x0A, + 0x0A, 0xA0, 0x0F, 0x93, 0x68, 0x0A, 0x01, 0xA0, + 0x09, 0x93, 0x41, 0x30, 0x37, 0x33, 0x0A, 0x00, + 0xA5, 0xA1, 0x02, 0xA5, 0x70, 0x41, 0x30, 0x36, + 0x39, 0x41, 0x30, 0x37, 0x30, 0xA0, 0x14, 0x93, + 0x41, 0x42, 0x30, 0x33, 0x0A, 0x01, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x30, 0x36, 0x37, + 0x0A, 0x01, 0xA1, 0x07, 0x41, 0x30, 0x36, 0x38, + 0x0A, 0x01, 0xA0, 0x14, 0x93, 0x41, 0x42, 0x30, + 0x33, 0x0A, 0x01, 0x5C, 0x2E, 0x5F, 0x53, 0x42, + 0x5F, 0x41, 0x30, 0x36, 0x33, 0x0A, 0x00, 0x70, + 0x0D, 0x50, 0x63, 0x69, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x50, 0x6F, 0x72, 0x74, + 0x53, 0x70, 0x65, 0x65, 0x64, 0x20, 0x45, 0x78, + 0x69, 0x74, 0x00, 0x5B, 0x31, 0x14, 0x28, 0x41, + 0x30, 0x35, 0x37, 0x01, 0x70, 0x73, 0x0D, 0x20, + 0x53, 0x65, 0x74, 0x20, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x20, 0x3A, 0x20, 0x00, 0x98, + 0x68, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, + 0x70, 0x68, 0x41, 0x42, 0x31, 0x30, 0x14, 0x22, + 0x41, 0x30, 0x35, 0x38, 0x01, 0x7A, 0x68, 0x0A, + 0x08, 0x60, 0xA0, 0x13, 0x90, 0x92, 0x95, 0x60, + 0x41, 0x30, 0x37, 0x34, 0x92, 0x94, 0x60, 0x41, + 0x30, 0x37, 0x35, 0xA4, 0x0A, 0x01, 0xA4, 0x0A, + 0x00, 0x14, 0x1F, 0x41, 0x30, 0x37, 0x36, 0x01, + 0x7D, 0x41, 0x42, 0x30, 0x44, 0x79, 0x41, 0x42, + 0x30, 0x43, 0x0A, 0x03, 0x00, 0x60, 0xA0, 0x07, + 0x93, 0x68, 0x60, 0xA4, 0x0A, 0x01, 0xA4, 0x0A, + 0x00, 0x14, 0x0D, 0x41, 0x30, 0x35, 0x39, 0x00, + 0x70, 0x0A, 0x00, 0x41, 0x42, 0x31, 0x30, 0x14, + 0x42, 0x07, 0x41, 0x30, 0x36, 0x34, 0x01, 0xA0, + 0x0D, 0x92, 0x95, 0x68, 0x0A, 0x02, 0x70, 0x0A, + 0x01, 0x41, 0x30, 0x37, 0x37, 0xA0, 0x0D, 0x92, + 0x95, 0x68, 0x0A, 0x03, 0x70, 0x0A, 0x01, 0x41, + 0x30, 0x37, 0x38, 0xA0, 0x31, 0x93, 0x68, 0x0A, + 0x01, 0x70, 0x0A, 0x01, 0x41, 0x30, 0x37, 0x39, + 0x70, 0x0A, 0x00, 0x41, 0x30, 0x37, 0x37, 0x70, + 0x0A, 0x00, 0x41, 0x30, 0x37, 0x38, 0x70, 0x0A, + 0x00, 0x41, 0x30, 0x38, 0x30, 0xA0, 0x0F, 0x93, + 0x41, 0x42, 0x30, 0x34, 0x0A, 0x01, 0x70, 0x0A, + 0x01, 0x41, 0x30, 0x38, 0x31, 0xA1, 0x16, 0x70, + 0x0A, 0x00, 0x41, 0x30, 0x37, 0x39, 0x70, 0x0A, + 0x01, 0x41, 0x30, 0x38, 0x30, 0x70, 0x0A, 0x00, + 0x41, 0x30, 0x38, 0x31, 0x70, 0x68, 0x41, 0x30, + 0x38, 0x32, 0x14, 0x41, 0x32, 0x41, 0x30, 0x36, + 0x30, 0x00, 0x70, 0x0D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x00, 0x5B, 0x31, 0x70, + 0x73, 0x0D, 0x20, 0x44, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, + 0x30, 0x43, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, + 0x31, 0x70, 0x73, 0x0D, 0x20, 0x46, 0x75, 0x6E, + 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, + 0x41, 0x42, 0x30, 0x44, 0x00, 0x41, 0x44, 0x42, + 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, 0x20, 0x50, + 0x63, 0x69, 0x65, 0x50, 0x6F, 0x72, 0x74, 0x41, + 0x63, 0x53, 0x70, 0x65, 0x65, 0x64, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, + 0x00, 0x98, 0x41, 0x42, 0x30, 0x45, 0x00, 0x41, + 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, + 0x20, 0x50, 0x63, 0x69, 0x65, 0x50, 0x6F, 0x72, + 0x74, 0x4D, 0x61, 0x78, 0x53, 0x70, 0x65, 0x65, + 0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, 0x30, 0x30, + 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, + 0x73, 0x0D, 0x20, 0x50, 0x63, 0x69, 0x65, 0x50, + 0x6F, 0x72, 0x74, 0x41, 0x63, 0x53, 0x70, 0x65, + 0x65, 0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, + 0x30, 0x45, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, + 0x31, 0x70, 0x73, 0x0D, 0x20, 0x50, 0x63, 0x69, + 0x65, 0x50, 0x6F, 0x72, 0x74, 0x44, 0x63, 0x53, + 0x70, 0x65, 0x65, 0x64, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, + 0x41, 0x42, 0x30, 0x31, 0x00, 0x41, 0x44, 0x42, + 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, 0x20, 0x50, + 0x63, 0x69, 0x65, 0x50, 0x6F, 0x72, 0x74, 0x43, + 0x75, 0x72, 0x53, 0x70, 0x65, 0x65, 0x64, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, + 0x00, 0x98, 0x41, 0x42, 0x30, 0x32, 0x00, 0x41, + 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, + 0x20, 0x50, 0x63, 0x69, 0x65, 0x53, 0x62, 0x50, + 0x6F, 0x72, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, 0x30, 0x33, + 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, + 0x73, 0x0D, 0x20, 0x50, 0x63, 0x69, 0x65, 0x4C, + 0x69, 0x6E, 0x6B, 0x53, 0x61, 0x66, 0x65, 0x4D, + 0x6F, 0x64, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, + 0x30, 0x34, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, + 0x31, 0x70, 0x73, 0x0D, 0x20, 0x50, 0x63, 0x69, + 0x65, 0x4C, 0x6F, 0x63, 0x61, 0x6C, 0x4F, 0x76, + 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x53, 0x70, + 0x65, 0x65, 0x64, 0x20, 0x3A, 0x20, 0x00, 0x98, + 0x41, 0x42, 0x30, 0x35, 0x00, 0x41, 0x44, 0x42, + 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, 0x20, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x50, 0x68, 0x79, 0x4C, + 0x61, 0x6E, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, + 0x00, 0x98, 0x41, 0x42, 0x30, 0x36, 0x00, 0x41, + 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, + 0x20, 0x45, 0x6E, 0x64, 0x50, 0x68, 0x79, 0x4C, + 0x61, 0x6E, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, 0x30, 0x37, + 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, + 0x73, 0x0D, 0x20, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x43, 0x6F, 0x72, 0x65, 0x4C, 0x61, 0x6E, 0x65, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, + 0x30, 0x38, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, + 0x31, 0x70, 0x73, 0x0D, 0x20, 0x45, 0x6E, 0x64, + 0x43, 0x6F, 0x72, 0x65, 0x4C, 0x61, 0x6E, 0x65, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, + 0x41, 0x42, 0x30, 0x39, 0x00, 0x41, 0x44, 0x42, + 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, 0x20, 0x50, + 0x6F, 0x72, 0x74, 0x49, 0x64, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, + 0x00, 0x98, 0x41, 0x42, 0x30, 0x41, 0x00, 0x41, + 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, + 0x20, 0x4C, 0x69, 0x6E, 0x6B, 0x48, 0x6F, 0x74, + 0x70, 0x6C, 0x75, 0x67, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, 0x30, 0x42, + 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, + 0x0D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x00, 0x5B, 0x31, 0x14, 0x42, 0x05, 0x41, + 0x30, 0x39, 0x34, 0x02, 0xA0, 0x11, 0x93, 0x41, + 0x30, 0x39, 0x33, 0x68, 0x0A, 0x00, 0x0C, 0xFF, + 0xFF, 0xFF, 0xFF, 0xA4, 0x0A, 0x00, 0x70, 0x41, + 0x30, 0x39, 0x33, 0x68, 0x0A, 0x34, 0x60, 0xA2, + 0x2F, 0x0A, 0x01, 0x70, 0x41, 0x30, 0x39, 0x33, + 0x68, 0x7B, 0x60, 0x0A, 0xFF, 0x00, 0x61, 0xA0, + 0x0E, 0x93, 0x7B, 0x61, 0x0A, 0xFF, 0x00, 0x69, + 0xA4, 0x7B, 0x60, 0x0A, 0xFF, 0x00, 0x7B, 0x7A, + 0x61, 0x0A, 0x08, 0x00, 0x0A, 0xFF, 0x60, 0xA0, + 0x07, 0x93, 0x60, 0x0A, 0x00, 0xA4, 0x60, 0x08, + 0x41, 0x45, 0x53, 0x50, 0x12, 0x12, 0x08, 0x0A, + 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0A, + 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x14, + 0x49, 0x0D, 0x41, 0x30, 0x36, 0x38, 0x01, 0x70, + 0x0D, 0x50, 0x63, 0x69, 0x65, 0x45, 0x70, 0x41, + 0x73, 0x70, 0x6D, 0x20, 0x45, 0x6E, 0x74, 0x65, + 0x72, 0x00, 0x5B, 0x31, 0x70, 0x0A, 0x00, 0x60, + 0xA0, 0x49, 0x08, 0x92, 0x93, 0x41, 0x30, 0x39, + 0x33, 0x60, 0x0A, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, + 0xFF, 0x7B, 0x41, 0x30, 0x39, 0x33, 0x60, 0x0A, + 0x08, 0x0A, 0x80, 0x61, 0xA0, 0x09, 0x93, 0x61, + 0x0A, 0x80, 0x70, 0x0A, 0x07, 0x67, 0xA1, 0x05, + 0x70, 0x0A, 0x00, 0x67, 0xA2, 0x4D, 0x05, 0x92, + 0x94, 0x60, 0x67, 0x70, 0x41, 0x30, 0x39, 0x34, + 0x60, 0x0A, 0x10, 0x61, 0xA0, 0x08, 0x93, 0x61, + 0x0A, 0x00, 0x75, 0x60, 0x9F, 0xA0, 0x2B, 0x93, + 0x68, 0x0A, 0x00, 0x70, 0x41, 0x30, 0x39, 0x33, + 0x60, 0x72, 0x61, 0x0A, 0x10, 0x00, 0x62, 0x41, + 0x30, 0x39, 0x35, 0x60, 0x72, 0x61, 0x0A, 0x10, + 0x00, 0x7B, 0x62, 0x80, 0x0A, 0x03, 0x00, 0x00, + 0x70, 0x62, 0x88, 0x41, 0x45, 0x53, 0x50, 0x60, + 0x00, 0xA1, 0x16, 0x70, 0x83, 0x88, 0x41, 0x45, + 0x53, 0x50, 0x60, 0x00, 0x62, 0x41, 0x30, 0x39, + 0x35, 0x60, 0x72, 0x61, 0x0A, 0x10, 0x00, 0x62, + 0x75, 0x60, 0xA1, 0x1A, 0x70, 0x0D, 0x45, 0x6E, + 0x64, 0x70, 0x6F, 0x69, 0x6E, 0x74, 0x20, 0x6E, + 0x6F, 0x74, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, + 0x6E, 0x74, 0x00, 0x5B, 0x31, 0x70, 0x0D, 0x50, + 0x63, 0x69, 0x65, 0x45, 0x70, 0x41, 0x73, 0x70, + 0x6D, 0x20, 0x45, 0x78, 0x69, 0x74, 0x00, 0x5B, + 0x31, 0x14, 0x3D, 0x41, 0x30, 0x39, 0x35, 0x0B, + 0x72, 0x41, 0x47, 0x52, 0x42, 0x79, 0x41, 0x30, + 0x37, 0x34, 0x0A, 0x14, 0x00, 0x60, 0x72, 0x60, + 0x79, 0x68, 0x0A, 0x0C, 0x00, 0x60, 0x72, 0x60, + 0x69, 0x60, 0x5B, 0x80, 0x41, 0x44, 0x52, 0x42, + 0x00, 0x60, 0x0A, 0x04, 0x5B, 0x81, 0x0B, 0x41, + 0x44, 0x52, 0x42, 0x03, 0x41, 0x44, 0x52, 0x52, + 0x20, 0x70, 0x6A, 0x41, 0x44, 0x52, 0x52, 0x14, + 0x3C, 0x41, 0x30, 0x39, 0x33, 0x0A, 0x72, 0x41, + 0x47, 0x52, 0x42, 0x79, 0x41, 0x30, 0x37, 0x34, + 0x0A, 0x14, 0x00, 0x60, 0x72, 0x60, 0x79, 0x68, + 0x0A, 0x0C, 0x00, 0x60, 0x72, 0x60, 0x69, 0x60, + 0x5B, 0x80, 0x41, 0x44, 0x52, 0x42, 0x00, 0x60, + 0x0A, 0x04, 0x5B, 0x81, 0x0B, 0x41, 0x44, 0x52, + 0x42, 0x03, 0x41, 0x44, 0x52, 0x52, 0x20, 0xA4, + 0x41, 0x44, 0x52, 0x52, 0x14, 0x19, 0x41, 0x30, + 0x38, 0x39, 0x01, 0xA0, 0x0C, 0x92, 0x93, 0x41, + 0x42, 0x30, 0x42, 0x0A, 0x01, 0xA4, 0x0A, 0x00, + 0xA4, 0x41, 0x30, 0x37, 0x36, 0x68, 0x14, 0x49, + 0x25, 0x41, 0x30, 0x39, 0x30, 0x01, 0x08, 0x41, + 0x30, 0x36, 0x39, 0x0A, 0x00, 0x70, 0x41, 0x30, + 0x37, 0x30, 0x41, 0x30, 0x36, 0x39, 0x70, 0x0A, + 0x00, 0x41, 0x30, 0x37, 0x30, 0xA0, 0x09, 0x93, + 0x68, 0x0A, 0x01, 0x70, 0x0A, 0x01, 0x60, 0xA1, + 0x05, 0x70, 0x0A, 0x05, 0x60, 0xA2, 0x46, 0x1E, + 0x92, 0x93, 0x60, 0x0A, 0x08, 0xA0, 0x41, 0x04, + 0x93, 0x60, 0x0A, 0x01, 0xA0, 0x15, 0x94, 0x41, + 0x42, 0x30, 0x45, 0x0A, 0x01, 0x70, 0x41, 0x42, + 0x30, 0x45, 0x41, 0x42, 0x30, 0x35, 0x41, 0x30, + 0x33, 0x38, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x30, 0x39, 0x31, 0x0A, 0x01, 0x41, 0x42, + 0x30, 0x36, 0x41, 0x42, 0x30, 0x37, 0x41, 0x30, + 0x39, 0x32, 0x0A, 0x01, 0x70, 0x0A, 0x00, 0x41, + 0x30, 0x38, 0x37, 0x70, 0x0A, 0x03, 0x60, 0xA0, + 0x4D, 0x04, 0x93, 0x60, 0x0A, 0x03, 0x70, 0x0A, + 0x00, 0x61, 0x70, 0x0A, 0x00, 0x62, 0xA2, 0x2E, + 0x95, 0x61, 0x0A, 0x3C, 0xA0, 0x22, 0x94, 0x41, + 0x30, 0x36, 0x35, 0x0A, 0x04, 0x70, 0x0D, 0x20, + 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x20, 0x64, + 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x00, + 0x5B, 0x31, 0x70, 0x0A, 0x01, 0x62, 0xA5, 0x5B, + 0x22, 0x0A, 0x01, 0x75, 0x61, 0xA0, 0x09, 0x93, + 0x62, 0x0A, 0x01, 0x70, 0x0A, 0x04, 0x60, 0xA1, + 0x05, 0x70, 0x0A, 0x05, 0x60, 0xA0, 0x45, 0x06, + 0x93, 0x60, 0x0A, 0x04, 0x70, 0x0A, 0x00, 0x61, + 0x70, 0x0A, 0x00, 0x62, 0xA2, 0x37, 0x95, 0x61, + 0x0A, 0x50, 0xA0, 0x2B, 0x90, 0x92, 0x95, 0x41, + 0x30, 0x36, 0x35, 0x0A, 0x10, 0x92, 0x94, 0x41, + 0x30, 0x36, 0x35, 0x0A, 0x13, 0x70, 0x0D, 0x20, + 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x20, 0x50, + 0x72, 0x65, 0x73, 0x65, 0x6E, 0x74, 0x00, 0x5B, + 0x31, 0x70, 0x0A, 0x01, 0x62, 0xA5, 0x5B, 0x22, + 0x0A, 0x01, 0x75, 0x61, 0xA0, 0x09, 0x93, 0x62, + 0x0A, 0x01, 0x70, 0x0A, 0x07, 0x60, 0xA1, 0x14, + 0xA0, 0x0C, 0x93, 0x41, 0x42, 0x30, 0x34, 0x0A, + 0x01, 0x70, 0x0A, 0x05, 0x60, 0xA1, 0x05, 0x70, + 0x0A, 0x06, 0x60, 0xA0, 0x45, 0x07, 0x93, 0x60, + 0x0A, 0x06, 0x70, 0x0A, 0x01, 0x41, 0x42, 0x30, + 0x34, 0x70, 0x0A, 0x01, 0x41, 0x42, 0x30, 0x35, + 0x41, 0x30, 0x36, 0x34, 0x0A, 0x01, 0xA0, 0x46, + 0x05, 0x5B, 0x12, 0x5C, 0x2E, 0x5F, 0x53, 0x42, + 0x5F, 0x41, 0x4C, 0x49, 0x43, 0x66, 0x70, 0x0D, + 0x20, 0x43, 0x61, 0x6C, 0x6C, 0x20, 0x41, 0x4C, + 0x49, 0x43, 0x20, 0x6D, 0x65, 0x74, 0x68, 0x6F, + 0x64, 0x00, 0x5B, 0x31, 0x7D, 0x79, 0x41, 0x42, + 0x30, 0x43, 0x0A, 0x03, 0x00, 0x41, 0x42, 0x30, + 0x44, 0x61, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x4C, 0x49, 0x43, 0x61, 0x0A, 0x00, 0x5B, + 0x22, 0x0A, 0x02, 0x5C, 0x2E, 0x5F, 0x53, 0x42, + 0x5F, 0x41, 0x4C, 0x49, 0x43, 0x61, 0x0A, 0x01, + 0x70, 0x0A, 0x03, 0x60, 0x9F, 0x70, 0x0A, 0x05, + 0x60, 0xA0, 0x44, 0x06, 0x93, 0x60, 0x0A, 0x05, + 0x70, 0x0D, 0x20, 0x44, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x20, 0x6E, 0x6F, 0x74, 0x20, 0x50, 0x72, + 0x65, 0x73, 0x65, 0x6E, 0x74, 0x00, 0x5B, 0x31, + 0x41, 0x30, 0x39, 0x33, 0x0A, 0x00, 0x0A, 0x00, + 0x70, 0x0A, 0x01, 0x41, 0x30, 0x38, 0x37, 0x41, + 0x30, 0x39, 0x32, 0x0A, 0x00, 0x5C, 0x2E, 0x5F, + 0x53, 0x42, 0x5F, 0x41, 0x30, 0x39, 0x31, 0x0A, + 0x00, 0x41, 0x42, 0x30, 0x36, 0x41, 0x42, 0x30, + 0x37, 0x70, 0x0A, 0x00, 0x41, 0x42, 0x30, 0x35, + 0x70, 0x0A, 0x00, 0x41, 0x42, 0x30, 0x34, 0x70, + 0x0A, 0x00, 0x41, 0x42, 0x31, 0x30, 0x70, 0x0A, + 0x00, 0x62, 0x70, 0x0A, 0x08, 0x60, 0xA0, 0x0D, + 0x93, 0x60, 0x0A, 0x07, 0x70, 0x0A, 0x01, 0x62, + 0x70, 0x0A, 0x08, 0x60, 0xA0, 0x0F, 0x93, 0x41, + 0x42, 0x30, 0x34, 0x0A, 0x00, 0x70, 0x0A, 0x00, + 0x41, 0x42, 0x30, 0x35, 0xA0, 0x28, 0x91, 0x94, + 0x41, 0x42, 0x30, 0x45, 0x0A, 0x01, 0x93, 0x41, + 0x50, 0x30, 0x35, 0x0A, 0x01, 0xA0, 0x17, 0x94, + 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x44, 0x41, 0x54, 0x0A, 0x00, 0x00, 0x0A, + 0x01, 0x41, 0x30, 0x33, 0x38, 0x70, 0x41, 0x30, + 0x36, 0x39, 0x41, 0x30, 0x37, 0x30, 0xA4, 0x62, + 0x14, 0x46, 0x05, 0x41, 0x30, 0x39, 0x32, 0x01, + 0xA0, 0x14, 0x94, 0x41, 0x42, 0x30, 0x36, 0x41, + 0x42, 0x30, 0x37, 0x74, 0x41, 0x42, 0x30, 0x36, + 0x41, 0x42, 0x30, 0x37, 0x60, 0xA1, 0x0B, 0x74, + 0x41, 0x42, 0x30, 0x37, 0x41, 0x42, 0x30, 0x36, + 0x60, 0x75, 0x60, 0x79, 0x0A, 0x01, 0x60, 0x60, + 0x76, 0x60, 0x79, 0x60, 0x41, 0x42, 0x30, 0x38, + 0x60, 0xA0, 0x0F, 0x93, 0x68, 0x0A, 0x01, 0x7D, + 0x41, 0x30, 0x38, 0x38, 0x60, 0x41, 0x30, 0x38, + 0x38, 0xA1, 0x0D, 0x7B, 0x41, 0x30, 0x38, 0x38, + 0x80, 0x60, 0x00, 0x41, 0x30, 0x38, 0x38, 0x5B, + 0x82, 0x4A, 0xE6, 0x41, 0x42, 0x52, 0x31, 0x08, + 0x5F, 0x48, 0x49, 0x44, 0x0C, 0x41, 0xD0, 0x0C, + 0x02, 0x08, 0x5F, 0x55, 0x49, 0x44, 0x0A, 0x81, + 0x08, 0x41, 0x42, 0x31, 0x32, 0x0A, 0x34, 0x08, + 0x41, 0x42, 0x30, 0x30, 0x0A, 0x00, 0x08, 0x41, + 0x42, 0x30, 0x31, 0x0A, 0x00, 0x08, 0x41, 0x42, + 0x30, 0x45, 0x0A, 0x00, 0x08, 0x41, 0x42, 0x30, + 0x32, 0x0A, 0x00, 0x08, 0x41, 0x42, 0x30, 0x33, + 0x0A, 0x00, 0x08, 0x41, 0x42, 0x30, 0x34, 0x0A, + 0x00, 0x08, 0x41, 0x42, 0x30, 0x35, 0x0A, 0x00, + 0x08, 0x41, 0x42, 0x30, 0x36, 0x0A, 0x00, 0x08, + 0x41, 0x42, 0x30, 0x37, 0x0A, 0x00, 0x08, 0x41, + 0x42, 0x30, 0x38, 0x0A, 0x00, 0x08, 0x41, 0x42, + 0x30, 0x39, 0x0A, 0x00, 0x08, 0x41, 0x42, 0x30, + 0x41, 0x0A, 0x00, 0x08, 0x41, 0x42, 0x30, 0x42, + 0x0A, 0x00, 0x08, 0x41, 0x42, 0x30, 0x43, 0x0A, + 0x00, 0x08, 0x41, 0x42, 0x30, 0x44, 0x0A, 0x00, + 0x5B, 0x80, 0x41, 0x30, 0x38, 0x33, 0x00, 0x72, + 0x41, 0x47, 0x52, 0x42, 0x7D, 0x79, 0x83, 0x88, + 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, + 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, + 0x0D, 0x00, 0x00, 0x0A, 0x0F, 0x00, 0x79, 0x83, + 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, + 0x44, 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, 0x32, + 0x0A, 0x0E, 0x00, 0x00, 0x0A, 0x0C, 0x00, 0x00, + 0x00, 0x0B, 0x00, 0x10, 0x5B, 0x81, 0x45, 0x04, + 0x41, 0x30, 0x38, 0x33, 0x01, 0x00, 0x40, 0x0C, + 0x00, 0x08, 0x41, 0x30, 0x37, 0x34, 0x08, 0x41, + 0x30, 0x37, 0x35, 0x08, 0x00, 0x48, 0x26, 0x41, + 0x30, 0x37, 0x30, 0x02, 0x00, 0x03, 0x41, 0x30, + 0x37, 0x31, 0x01, 0x00, 0x0A, 0x00, 0x0B, 0x41, + 0x30, 0x37, 0x32, 0x01, 0x00, 0x44, 0x0E, 0x41, + 0x30, 0x38, 0x32, 0x04, 0x00, 0x01, 0x41, 0x30, + 0x37, 0x39, 0x01, 0x00, 0x4A, 0x2B, 0x41, 0x30, + 0x38, 0x34, 0x20, 0x5B, 0x87, 0x16, 0x41, 0x30, + 0x38, 0x33, 0x41, 0x30, 0x38, 0x34, 0x0A, 0xA1, + 0x03, 0x00, 0x40, 0x72, 0x00, 0x0C, 0x41, 0x30, + 0x36, 0x36, 0x01, 0x5B, 0x87, 0x16, 0x41, 0x30, + 0x38, 0x33, 0x41, 0x30, 0x38, 0x34, 0x0A, 0xA2, + 0x03, 0x00, 0x40, 0x72, 0x00, 0x0D, 0x41, 0x30, + 0x38, 0x31, 0x01, 0x5B, 0x87, 0x27, 0x41, 0x30, + 0x38, 0x33, 0x41, 0x30, 0x38, 0x34, 0x0A, 0xA4, + 0x03, 0x00, 0x40, 0x72, 0x41, 0x30, 0x37, 0x37, + 0x01, 0x41, 0x30, 0x37, 0x38, 0x01, 0x00, 0x0B, + 0x41, 0x30, 0x37, 0x33, 0x02, 0x00, 0x0E, 0x41, + 0x30, 0x38, 0x30, 0x01, 0x5B, 0x87, 0x14, 0x41, + 0x30, 0x38, 0x33, 0x41, 0x30, 0x38, 0x34, 0x0A, + 0xA5, 0x03, 0x00, 0x40, 0x72, 0x41, 0x30, 0x36, + 0x35, 0x06, 0x5B, 0x80, 0x41, 0x30, 0x38, 0x35, + 0x00, 0x41, 0x47, 0x52, 0x42, 0x0B, 0x00, 0x10, + 0x5B, 0x81, 0x0E, 0x41, 0x30, 0x38, 0x35, 0x01, + 0x00, 0x40, 0x70, 0x41, 0x30, 0x38, 0x36, 0x20, + 0x5B, 0x87, 0x3C, 0x41, 0x30, 0x38, 0x35, 0x41, + 0x30, 0x38, 0x36, 0x7D, 0x79, 0x5E, 0x57, 0x52, + 0x42, 0x53, 0x0A, 0x10, 0x00, 0x72, 0x0B, 0x00, + 0x08, 0x77, 0x0B, 0x00, 0x01, 0x83, 0x88, 0x5C, + 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, + 0x54, 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, 0x0B, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x40, + 0x72, 0x41, 0x30, 0x38, 0x37, 0x01, 0x5B, 0x87, + 0x20, 0x41, 0x30, 0x38, 0x35, 0x41, 0x30, 0x38, + 0x36, 0x7D, 0x79, 0x5E, 0x57, 0x52, 0x42, 0x53, + 0x0A, 0x10, 0x00, 0x0B, 0x29, 0x80, 0x00, 0x03, + 0x00, 0x40, 0x72, 0x41, 0x30, 0x38, 0x38, 0x10, + 0x08, 0x41, 0x42, 0x31, 0x30, 0x0A, 0x00, 0x14, + 0x4D, 0x18, 0x5F, 0x49, 0x4E, 0x49, 0x00, 0x70, + 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, + 0x32, 0x0A, 0x00, 0x00, 0x00, 0x41, 0x42, 0x30, + 0x30, 0x70, 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, + 0x42, 0x31, 0x32, 0x0A, 0x01, 0x00, 0x00, 0x41, + 0x42, 0x30, 0x45, 0x70, 0x83, 0x88, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, + 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, 0x02, 0x00, + 0x00, 0x41, 0x42, 0x30, 0x31, 0x70, 0x83, 0x88, + 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, + 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, + 0x03, 0x00, 0x00, 0x41, 0x42, 0x30, 0x32, 0x70, + 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, + 0x32, 0x0A, 0x04, 0x00, 0x00, 0x41, 0x42, 0x30, + 0x33, 0x70, 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, + 0x42, 0x31, 0x32, 0x0A, 0x05, 0x00, 0x00, 0x41, + 0x42, 0x30, 0x34, 0x70, 0x83, 0x88, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, + 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, 0x06, 0x00, + 0x00, 0x41, 0x42, 0x30, 0x35, 0x70, 0x83, 0x88, + 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, + 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, + 0x07, 0x00, 0x00, 0x41, 0x42, 0x30, 0x36, 0x70, + 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, + 0x32, 0x0A, 0x08, 0x00, 0x00, 0x41, 0x42, 0x30, + 0x37, 0x70, 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, + 0x42, 0x31, 0x32, 0x0A, 0x09, 0x00, 0x00, 0x41, + 0x42, 0x30, 0x38, 0x70, 0x83, 0x88, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, + 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, 0x0A, 0x00, + 0x00, 0x41, 0x42, 0x30, 0x39, 0x70, 0x83, 0x88, + 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, + 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, + 0x0B, 0x00, 0x00, 0x41, 0x42, 0x30, 0x41, 0x70, + 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, + 0x32, 0x0A, 0x0C, 0x00, 0x00, 0x41, 0x42, 0x30, + 0x42, 0x70, 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, + 0x42, 0x31, 0x32, 0x0A, 0x0D, 0x00, 0x00, 0x41, + 0x42, 0x30, 0x43, 0x70, 0x83, 0x88, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, + 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, 0x0E, 0x00, + 0x00, 0x41, 0x42, 0x30, 0x44, 0x14, 0x22, 0x41, + 0x30, 0x36, 0x31, 0x00, 0x70, 0x41, 0x30, 0x34, + 0x31, 0x60, 0xA0, 0x0A, 0x93, 0x60, 0x0A, 0x01, + 0xA4, 0x41, 0x42, 0x30, 0x31, 0xA0, 0x0A, 0x93, + 0x60, 0x0A, 0x00, 0xA4, 0x41, 0x42, 0x30, 0x45, + 0x14, 0x1F, 0x41, 0x30, 0x35, 0x35, 0x00, 0xA0, + 0x15, 0x92, 0x93, 0x41, 0x42, 0x31, 0x30, 0x0A, + 0x00, 0xA0, 0x0B, 0x93, 0x41, 0x42, 0x31, 0x30, + 0x0A, 0x01, 0xA4, 0x0A, 0x01, 0xA4, 0x0A, 0x00, + 0x14, 0x2A, 0x41, 0x30, 0x36, 0x32, 0x00, 0xA0, + 0x0E, 0x92, 0x93, 0x41, 0x42, 0x30, 0x35, 0x0A, + 0x00, 0xA4, 0x41, 0x42, 0x30, 0x35, 0xA0, 0x11, + 0x94, 0x41, 0x42, 0x31, 0x30, 0x0A, 0x01, 0xA4, + 0x74, 0x41, 0x42, 0x31, 0x30, 0x0A, 0x01, 0x00, + 0xA4, 0x0A, 0x00, 0x14, 0x49, 0x07, 0x41, 0x30, + 0x35, 0x34, 0x00, 0xA0, 0x22, 0x93, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x50, 0x30, 0x35, + 0x0A, 0x00, 0xA0, 0x0E, 0x92, 0x93, 0x41, 0x42, + 0x30, 0x35, 0x0A, 0x00, 0xA4, 0x41, 0x42, 0x30, + 0x35, 0xA4, 0x41, 0x42, 0x30, 0x45, 0x70, 0x41, + 0x30, 0x36, 0x32, 0x60, 0xA0, 0x17, 0x92, 0x93, + 0x60, 0x0A, 0x00, 0xA0, 0x0C, 0x94, 0x60, 0x41, + 0x42, 0x30, 0x30, 0xA4, 0x41, 0x42, 0x30, 0x30, + 0xA1, 0x03, 0xA4, 0x60, 0x70, 0x41, 0x30, 0x36, + 0x31, 0x60, 0xA0, 0x28, 0x92, 0x93, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x50, 0x30, 0x33, + 0x0A, 0x00, 0xA0, 0x18, 0x95, 0x5C, 0x2E, 0x5F, + 0x53, 0x42, 0x5F, 0x41, 0x50, 0x30, 0x33, 0x60, + 0xA4, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, + 0x50, 0x30, 0x33, 0xA4, 0x60, 0x14, 0x0B, 0x41, + 0x30, 0x35, 0x33, 0x00, 0xA4, 0x41, 0x42, 0x30, + 0x32, 0x14, 0x0B, 0x41, 0x30, 0x35, 0x36, 0x00, + 0xA4, 0x41, 0x42, 0x30, 0x30, 0x14, 0x4B, 0x13, + 0x41, 0x30, 0x35, 0x32, 0x01, 0x70, 0x73, 0x0D, + 0x20, 0x50, 0x63, 0x69, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x50, 0x6F, 0x72, 0x74, + 0x53, 0x70, 0x65, 0x65, 0x64, 0x20, 0x45, 0x6E, + 0x74, 0x65, 0x72, 0x20, 0x53, 0x70, 0x65, 0x65, + 0x64, 0x3A, 0x20, 0x00, 0x98, 0x68, 0x00, 0x41, + 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, 0x68, 0x41, + 0x42, 0x30, 0x32, 0xA0, 0x14, 0x93, 0x41, 0x42, + 0x30, 0x33, 0x0A, 0x01, 0x5C, 0x2E, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x30, 0x36, 0x33, 0x0A, 0x01, + 0x41, 0x30, 0x36, 0x34, 0x68, 0xA0, 0x40, 0x0B, + 0x92, 0x95, 0x41, 0x30, 0x36, 0x35, 0x0A, 0x10, + 0xA0, 0x10, 0x92, 0x93, 0x41, 0x42, 0x31, 0x30, + 0x0A, 0x00, 0x70, 0x0A, 0x00, 0x41, 0x30, 0x36, + 0x36, 0xA1, 0x08, 0x70, 0x0A, 0x01, 0x41, 0x30, + 0x36, 0x36, 0xA0, 0x14, 0x93, 0x41, 0x42, 0x30, + 0x33, 0x0A, 0x01, 0x5C, 0x2E, 0x5F, 0x53, 0x42, + 0x5F, 0x41, 0x30, 0x36, 0x37, 0x0A, 0x00, 0xA1, + 0x07, 0x41, 0x30, 0x36, 0x38, 0x0A, 0x00, 0x08, + 0x41, 0x30, 0x36, 0x39, 0x0A, 0x00, 0x70, 0x41, + 0x30, 0x37, 0x30, 0x41, 0x30, 0x36, 0x39, 0x70, + 0x0A, 0x00, 0x41, 0x30, 0x37, 0x30, 0x70, 0x0A, + 0x01, 0x60, 0xA2, 0x2D, 0x60, 0x70, 0x0A, 0x01, + 0x41, 0x30, 0x37, 0x31, 0x5B, 0x22, 0x0A, 0x1E, + 0xA2, 0x0C, 0x93, 0x41, 0x30, 0x37, 0x32, 0x0A, + 0x01, 0x5B, 0x22, 0x0A, 0x0A, 0xA0, 0x0F, 0x93, + 0x68, 0x0A, 0x01, 0xA0, 0x09, 0x93, 0x41, 0x30, + 0x37, 0x33, 0x0A, 0x00, 0xA5, 0xA1, 0x02, 0xA5, + 0x70, 0x41, 0x30, 0x36, 0x39, 0x41, 0x30, 0x37, + 0x30, 0xA0, 0x14, 0x93, 0x41, 0x42, 0x30, 0x33, + 0x0A, 0x01, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x30, 0x36, 0x37, 0x0A, 0x01, 0xA1, 0x07, + 0x41, 0x30, 0x36, 0x38, 0x0A, 0x01, 0xA0, 0x14, + 0x93, 0x41, 0x42, 0x30, 0x33, 0x0A, 0x01, 0x5C, + 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x30, 0x36, + 0x33, 0x0A, 0x00, 0x70, 0x0D, 0x50, 0x63, 0x69, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x50, 0x6F, 0x72, 0x74, 0x53, 0x70, 0x65, 0x65, + 0x64, 0x20, 0x45, 0x78, 0x69, 0x74, 0x00, 0x5B, + 0x31, 0x14, 0x28, 0x41, 0x30, 0x35, 0x37, 0x01, + 0x70, 0x73, 0x0D, 0x20, 0x53, 0x65, 0x74, 0x20, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, + 0x3A, 0x20, 0x00, 0x98, 0x68, 0x00, 0x41, 0x44, + 0x42, 0x47, 0x5B, 0x31, 0x70, 0x68, 0x41, 0x42, + 0x31, 0x30, 0x14, 0x22, 0x41, 0x30, 0x35, 0x38, + 0x01, 0x7A, 0x68, 0x0A, 0x08, 0x60, 0xA0, 0x13, + 0x90, 0x92, 0x95, 0x60, 0x41, 0x30, 0x37, 0x34, + 0x92, 0x94, 0x60, 0x41, 0x30, 0x37, 0x35, 0xA4, + 0x0A, 0x01, 0xA4, 0x0A, 0x00, 0x14, 0x1F, 0x41, + 0x30, 0x37, 0x36, 0x01, 0x7D, 0x41, 0x42, 0x30, + 0x44, 0x79, 0x41, 0x42, 0x30, 0x43, 0x0A, 0x03, + 0x00, 0x60, 0xA0, 0x07, 0x93, 0x68, 0x60, 0xA4, + 0x0A, 0x01, 0xA4, 0x0A, 0x00, 0x14, 0x0D, 0x41, + 0x30, 0x35, 0x39, 0x00, 0x70, 0x0A, 0x00, 0x41, + 0x42, 0x31, 0x30, 0x14, 0x42, 0x07, 0x41, 0x30, + 0x36, 0x34, 0x01, 0xA0, 0x0D, 0x92, 0x95, 0x68, + 0x0A, 0x02, 0x70, 0x0A, 0x01, 0x41, 0x30, 0x37, + 0x37, 0xA0, 0x0D, 0x92, 0x95, 0x68, 0x0A, 0x03, + 0x70, 0x0A, 0x01, 0x41, 0x30, 0x37, 0x38, 0xA0, + 0x31, 0x93, 0x68, 0x0A, 0x01, 0x70, 0x0A, 0x01, + 0x41, 0x30, 0x37, 0x39, 0x70, 0x0A, 0x00, 0x41, + 0x30, 0x37, 0x37, 0x70, 0x0A, 0x00, 0x41, 0x30, + 0x37, 0x38, 0x70, 0x0A, 0x00, 0x41, 0x30, 0x38, + 0x30, 0xA0, 0x0F, 0x93, 0x41, 0x42, 0x30, 0x34, + 0x0A, 0x01, 0x70, 0x0A, 0x01, 0x41, 0x30, 0x38, + 0x31, 0xA1, 0x16, 0x70, 0x0A, 0x00, 0x41, 0x30, + 0x37, 0x39, 0x70, 0x0A, 0x01, 0x41, 0x30, 0x38, + 0x30, 0x70, 0x0A, 0x00, 0x41, 0x30, 0x38, 0x31, + 0x70, 0x68, 0x41, 0x30, 0x38, 0x32, 0x14, 0x41, + 0x32, 0x41, 0x30, 0x36, 0x30, 0x00, 0x70, 0x0D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x00, 0x5B, 0x31, 0x70, 0x73, 0x0D, 0x20, 0x44, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, + 0x00, 0x98, 0x41, 0x42, 0x30, 0x43, 0x00, 0x41, + 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, + 0x20, 0x46, 0x75, 0x6E, 0x63, 0x74, 0x69, 0x6F, + 0x6E, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, 0x30, 0x44, + 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, + 0x73, 0x0D, 0x20, 0x50, 0x63, 0x69, 0x65, 0x50, + 0x6F, 0x72, 0x74, 0x41, 0x63, 0x53, 0x70, 0x65, + 0x65, 0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, + 0x30, 0x45, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, + 0x31, 0x70, 0x73, 0x0D, 0x20, 0x50, 0x63, 0x69, + 0x65, 0x50, 0x6F, 0x72, 0x74, 0x4D, 0x61, 0x78, + 0x53, 0x70, 0x65, 0x65, 0x64, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, + 0x41, 0x42, 0x30, 0x30, 0x00, 0x41, 0x44, 0x42, + 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, 0x20, 0x50, + 0x63, 0x69, 0x65, 0x50, 0x6F, 0x72, 0x74, 0x41, + 0x63, 0x53, 0x70, 0x65, 0x65, 0x64, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, + 0x00, 0x98, 0x41, 0x42, 0x30, 0x45, 0x00, 0x41, + 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, + 0x20, 0x50, 0x63, 0x69, 0x65, 0x50, 0x6F, 0x72, + 0x74, 0x44, 0x63, 0x53, 0x70, 0x65, 0x65, 0x64, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, 0x30, 0x31, + 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, + 0x73, 0x0D, 0x20, 0x50, 0x63, 0x69, 0x65, 0x50, + 0x6F, 0x72, 0x74, 0x43, 0x75, 0x72, 0x53, 0x70, + 0x65, 0x65, 0x64, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, + 0x30, 0x32, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, + 0x31, 0x70, 0x73, 0x0D, 0x20, 0x50, 0x63, 0x69, + 0x65, 0x53, 0x62, 0x50, 0x6F, 0x72, 0x74, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, + 0x41, 0x42, 0x30, 0x33, 0x00, 0x41, 0x44, 0x42, + 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, 0x20, 0x50, + 0x63, 0x69, 0x65, 0x4C, 0x69, 0x6E, 0x6B, 0x53, + 0x61, 0x66, 0x65, 0x4D, 0x6F, 0x64, 0x65, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, + 0x00, 0x98, 0x41, 0x42, 0x30, 0x34, 0x00, 0x41, + 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, + 0x20, 0x50, 0x63, 0x69, 0x65, 0x4C, 0x6F, 0x63, + 0x61, 0x6C, 0x4F, 0x76, 0x65, 0x72, 0x72, 0x69, + 0x64, 0x65, 0x53, 0x70, 0x65, 0x65, 0x64, 0x20, + 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, 0x30, 0x35, + 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, + 0x73, 0x0D, 0x20, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x50, 0x68, 0x79, 0x4C, 0x61, 0x6E, 0x65, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, + 0x30, 0x36, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, + 0x31, 0x70, 0x73, 0x0D, 0x20, 0x45, 0x6E, 0x64, + 0x50, 0x68, 0x79, 0x4C, 0x61, 0x6E, 0x65, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, + 0x41, 0x42, 0x30, 0x37, 0x00, 0x41, 0x44, 0x42, + 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, 0x20, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x43, 0x6F, 0x72, 0x65, + 0x4C, 0x61, 0x6E, 0x65, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, + 0x00, 0x98, 0x41, 0x42, 0x30, 0x38, 0x00, 0x41, + 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, + 0x20, 0x45, 0x6E, 0x64, 0x43, 0x6F, 0x72, 0x65, + 0x4C, 0x61, 0x6E, 0x65, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, 0x30, 0x39, + 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, + 0x73, 0x0D, 0x20, 0x50, 0x6F, 0x72, 0x74, 0x49, + 0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, + 0x30, 0x41, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, + 0x31, 0x70, 0x73, 0x0D, 0x20, 0x4C, 0x69, 0x6E, + 0x6B, 0x48, 0x6F, 0x74, 0x70, 0x6C, 0x75, 0x67, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, + 0x41, 0x42, 0x30, 0x42, 0x00, 0x41, 0x44, 0x42, + 0x47, 0x5B, 0x31, 0x70, 0x0D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x00, 0x5B, 0x31, + 0x14, 0x42, 0x05, 0x41, 0x30, 0x39, 0x34, 0x02, + 0xA0, 0x11, 0x93, 0x41, 0x30, 0x39, 0x33, 0x68, + 0x0A, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, + 0x0A, 0x00, 0x70, 0x41, 0x30, 0x39, 0x33, 0x68, + 0x0A, 0x34, 0x60, 0xA2, 0x2F, 0x0A, 0x01, 0x70, + 0x41, 0x30, 0x39, 0x33, 0x68, 0x7B, 0x60, 0x0A, + 0xFF, 0x00, 0x61, 0xA0, 0x0E, 0x93, 0x7B, 0x61, + 0x0A, 0xFF, 0x00, 0x69, 0xA4, 0x7B, 0x60, 0x0A, + 0xFF, 0x00, 0x7B, 0x7A, 0x61, 0x0A, 0x08, 0x00, + 0x0A, 0xFF, 0x60, 0xA0, 0x07, 0x93, 0x60, 0x0A, + 0x00, 0xA4, 0x60, 0x08, 0x41, 0x45, 0x53, 0x50, + 0x12, 0x12, 0x08, 0x0A, 0x00, 0x0A, 0x00, 0x0A, + 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0A, + 0x00, 0x0A, 0x00, 0x14, 0x49, 0x0D, 0x41, 0x30, + 0x36, 0x38, 0x01, 0x70, 0x0D, 0x50, 0x63, 0x69, + 0x65, 0x45, 0x70, 0x41, 0x73, 0x70, 0x6D, 0x20, + 0x45, 0x6E, 0x74, 0x65, 0x72, 0x00, 0x5B, 0x31, + 0x70, 0x0A, 0x00, 0x60, 0xA0, 0x49, 0x08, 0x92, + 0x93, 0x41, 0x30, 0x39, 0x33, 0x60, 0x0A, 0x00, + 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x7B, 0x41, 0x30, + 0x39, 0x33, 0x60, 0x0A, 0x08, 0x0A, 0x80, 0x61, + 0xA0, 0x09, 0x93, 0x61, 0x0A, 0x80, 0x70, 0x0A, + 0x07, 0x67, 0xA1, 0x05, 0x70, 0x0A, 0x00, 0x67, + 0xA2, 0x4D, 0x05, 0x92, 0x94, 0x60, 0x67, 0x70, + 0x41, 0x30, 0x39, 0x34, 0x60, 0x0A, 0x10, 0x61, + 0xA0, 0x08, 0x93, 0x61, 0x0A, 0x00, 0x75, 0x60, + 0x9F, 0xA0, 0x2B, 0x93, 0x68, 0x0A, 0x00, 0x70, + 0x41, 0x30, 0x39, 0x33, 0x60, 0x72, 0x61, 0x0A, + 0x10, 0x00, 0x62, 0x41, 0x30, 0x39, 0x35, 0x60, + 0x72, 0x61, 0x0A, 0x10, 0x00, 0x7B, 0x62, 0x80, + 0x0A, 0x03, 0x00, 0x00, 0x70, 0x62, 0x88, 0x41, + 0x45, 0x53, 0x50, 0x60, 0x00, 0xA1, 0x16, 0x70, + 0x83, 0x88, 0x41, 0x45, 0x53, 0x50, 0x60, 0x00, + 0x62, 0x41, 0x30, 0x39, 0x35, 0x60, 0x72, 0x61, + 0x0A, 0x10, 0x00, 0x62, 0x75, 0x60, 0xA1, 0x1A, + 0x70, 0x0D, 0x45, 0x6E, 0x64, 0x70, 0x6F, 0x69, + 0x6E, 0x74, 0x20, 0x6E, 0x6F, 0x74, 0x20, 0x70, + 0x72, 0x65, 0x73, 0x65, 0x6E, 0x74, 0x00, 0x5B, + 0x31, 0x70, 0x0D, 0x50, 0x63, 0x69, 0x65, 0x45, + 0x70, 0x41, 0x73, 0x70, 0x6D, 0x20, 0x45, 0x78, + 0x69, 0x74, 0x00, 0x5B, 0x31, 0x14, 0x3D, 0x41, + 0x30, 0x39, 0x35, 0x0B, 0x72, 0x41, 0x47, 0x52, + 0x42, 0x79, 0x41, 0x30, 0x37, 0x34, 0x0A, 0x14, + 0x00, 0x60, 0x72, 0x60, 0x79, 0x68, 0x0A, 0x0C, + 0x00, 0x60, 0x72, 0x60, 0x69, 0x60, 0x5B, 0x80, + 0x41, 0x44, 0x52, 0x42, 0x00, 0x60, 0x0A, 0x04, + 0x5B, 0x81, 0x0B, 0x41, 0x44, 0x52, 0x42, 0x03, + 0x41, 0x44, 0x52, 0x52, 0x20, 0x70, 0x6A, 0x41, + 0x44, 0x52, 0x52, 0x14, 0x3C, 0x41, 0x30, 0x39, + 0x33, 0x0A, 0x72, 0x41, 0x47, 0x52, 0x42, 0x79, + 0x41, 0x30, 0x37, 0x34, 0x0A, 0x14, 0x00, 0x60, + 0x72, 0x60, 0x79, 0x68, 0x0A, 0x0C, 0x00, 0x60, + 0x72, 0x60, 0x69, 0x60, 0x5B, 0x80, 0x41, 0x44, + 0x52, 0x42, 0x00, 0x60, 0x0A, 0x04, 0x5B, 0x81, + 0x0B, 0x41, 0x44, 0x52, 0x42, 0x03, 0x41, 0x44, + 0x52, 0x52, 0x20, 0xA4, 0x41, 0x44, 0x52, 0x52, + 0x14, 0x19, 0x41, 0x30, 0x38, 0x39, 0x01, 0xA0, + 0x0C, 0x92, 0x93, 0x41, 0x42, 0x30, 0x42, 0x0A, + 0x01, 0xA4, 0x0A, 0x00, 0xA4, 0x41, 0x30, 0x37, + 0x36, 0x68, 0x14, 0x49, 0x25, 0x41, 0x30, 0x39, + 0x30, 0x01, 0x08, 0x41, 0x30, 0x36, 0x39, 0x0A, + 0x00, 0x70, 0x41, 0x30, 0x37, 0x30, 0x41, 0x30, + 0x36, 0x39, 0x70, 0x0A, 0x00, 0x41, 0x30, 0x37, + 0x30, 0xA0, 0x09, 0x93, 0x68, 0x0A, 0x01, 0x70, + 0x0A, 0x01, 0x60, 0xA1, 0x05, 0x70, 0x0A, 0x05, + 0x60, 0xA2, 0x46, 0x1E, 0x92, 0x93, 0x60, 0x0A, + 0x08, 0xA0, 0x41, 0x04, 0x93, 0x60, 0x0A, 0x01, + 0xA0, 0x15, 0x94, 0x41, 0x42, 0x30, 0x45, 0x0A, + 0x01, 0x70, 0x41, 0x42, 0x30, 0x45, 0x41, 0x42, + 0x30, 0x35, 0x41, 0x30, 0x33, 0x38, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x30, 0x39, 0x31, + 0x0A, 0x01, 0x41, 0x42, 0x30, 0x36, 0x41, 0x42, + 0x30, 0x37, 0x41, 0x30, 0x39, 0x32, 0x0A, 0x01, + 0x70, 0x0A, 0x00, 0x41, 0x30, 0x38, 0x37, 0x70, + 0x0A, 0x03, 0x60, 0xA0, 0x4D, 0x04, 0x93, 0x60, + 0x0A, 0x03, 0x70, 0x0A, 0x00, 0x61, 0x70, 0x0A, + 0x00, 0x62, 0xA2, 0x2E, 0x95, 0x61, 0x0A, 0x3C, + 0xA0, 0x22, 0x94, 0x41, 0x30, 0x36, 0x35, 0x0A, + 0x04, 0x70, 0x0D, 0x20, 0x44, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x20, 0x64, 0x65, 0x74, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x00, 0x5B, 0x31, 0x70, 0x0A, + 0x01, 0x62, 0xA5, 0x5B, 0x22, 0x0A, 0x01, 0x75, + 0x61, 0xA0, 0x09, 0x93, 0x62, 0x0A, 0x01, 0x70, + 0x0A, 0x04, 0x60, 0xA1, 0x05, 0x70, 0x0A, 0x05, + 0x60, 0xA0, 0x45, 0x06, 0x93, 0x60, 0x0A, 0x04, + 0x70, 0x0A, 0x00, 0x61, 0x70, 0x0A, 0x00, 0x62, + 0xA2, 0x37, 0x95, 0x61, 0x0A, 0x50, 0xA0, 0x2B, + 0x90, 0x92, 0x95, 0x41, 0x30, 0x36, 0x35, 0x0A, + 0x10, 0x92, 0x94, 0x41, 0x30, 0x36, 0x35, 0x0A, + 0x13, 0x70, 0x0D, 0x20, 0x44, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x20, 0x50, 0x72, 0x65, 0x73, 0x65, + 0x6E, 0x74, 0x00, 0x5B, 0x31, 0x70, 0x0A, 0x01, + 0x62, 0xA5, 0x5B, 0x22, 0x0A, 0x01, 0x75, 0x61, + 0xA0, 0x09, 0x93, 0x62, 0x0A, 0x01, 0x70, 0x0A, + 0x07, 0x60, 0xA1, 0x14, 0xA0, 0x0C, 0x93, 0x41, + 0x42, 0x30, 0x34, 0x0A, 0x01, 0x70, 0x0A, 0x05, + 0x60, 0xA1, 0x05, 0x70, 0x0A, 0x06, 0x60, 0xA0, + 0x45, 0x07, 0x93, 0x60, 0x0A, 0x06, 0x70, 0x0A, + 0x01, 0x41, 0x42, 0x30, 0x34, 0x70, 0x0A, 0x01, + 0x41, 0x42, 0x30, 0x35, 0x41, 0x30, 0x36, 0x34, + 0x0A, 0x01, 0xA0, 0x46, 0x05, 0x5B, 0x12, 0x5C, + 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x4C, 0x49, + 0x43, 0x66, 0x70, 0x0D, 0x20, 0x43, 0x61, 0x6C, + 0x6C, 0x20, 0x41, 0x4C, 0x49, 0x43, 0x20, 0x6D, + 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x5B, 0x31, + 0x7D, 0x79, 0x41, 0x42, 0x30, 0x43, 0x0A, 0x03, + 0x00, 0x41, 0x42, 0x30, 0x44, 0x61, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x4C, 0x49, 0x43, + 0x61, 0x0A, 0x00, 0x5B, 0x22, 0x0A, 0x02, 0x5C, + 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x4C, 0x49, + 0x43, 0x61, 0x0A, 0x01, 0x70, 0x0A, 0x03, 0x60, + 0x9F, 0x70, 0x0A, 0x05, 0x60, 0xA0, 0x44, 0x06, + 0x93, 0x60, 0x0A, 0x05, 0x70, 0x0D, 0x20, 0x44, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x20, 0x6E, 0x6F, + 0x74, 0x20, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6E, + 0x74, 0x00, 0x5B, 0x31, 0x41, 0x30, 0x39, 0x33, + 0x0A, 0x00, 0x0A, 0x00, 0x70, 0x0A, 0x01, 0x41, + 0x30, 0x38, 0x37, 0x41, 0x30, 0x39, 0x32, 0x0A, + 0x00, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, + 0x30, 0x39, 0x31, 0x0A, 0x00, 0x41, 0x42, 0x30, + 0x36, 0x41, 0x42, 0x30, 0x37, 0x70, 0x0A, 0x00, + 0x41, 0x42, 0x30, 0x35, 0x70, 0x0A, 0x00, 0x41, + 0x42, 0x30, 0x34, 0x70, 0x0A, 0x00, 0x41, 0x42, + 0x31, 0x30, 0x70, 0x0A, 0x00, 0x62, 0x70, 0x0A, + 0x08, 0x60, 0xA0, 0x0D, 0x93, 0x60, 0x0A, 0x07, + 0x70, 0x0A, 0x01, 0x62, 0x70, 0x0A, 0x08, 0x60, + 0xA0, 0x0F, 0x93, 0x41, 0x42, 0x30, 0x34, 0x0A, + 0x00, 0x70, 0x0A, 0x00, 0x41, 0x42, 0x30, 0x35, + 0xA0, 0x28, 0x91, 0x94, 0x41, 0x42, 0x30, 0x45, + 0x0A, 0x01, 0x93, 0x41, 0x50, 0x30, 0x35, 0x0A, + 0x01, 0xA0, 0x17, 0x94, 0x83, 0x88, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, + 0x0A, 0x00, 0x00, 0x0A, 0x01, 0x41, 0x30, 0x33, + 0x38, 0x70, 0x41, 0x30, 0x36, 0x39, 0x41, 0x30, + 0x37, 0x30, 0xA4, 0x62, 0x14, 0x46, 0x05, 0x41, + 0x30, 0x39, 0x32, 0x01, 0xA0, 0x14, 0x94, 0x41, + 0x42, 0x30, 0x36, 0x41, 0x42, 0x30, 0x37, 0x74, + 0x41, 0x42, 0x30, 0x36, 0x41, 0x42, 0x30, 0x37, + 0x60, 0xA1, 0x0B, 0x74, 0x41, 0x42, 0x30, 0x37, + 0x41, 0x42, 0x30, 0x36, 0x60, 0x75, 0x60, 0x79, + 0x0A, 0x01, 0x60, 0x60, 0x76, 0x60, 0x79, 0x60, + 0x41, 0x42, 0x30, 0x38, 0x60, 0xA0, 0x0F, 0x93, + 0x68, 0x0A, 0x01, 0x7D, 0x41, 0x30, 0x38, 0x38, + 0x60, 0x41, 0x30, 0x38, 0x38, 0xA1, 0x0D, 0x7B, + 0x41, 0x30, 0x38, 0x38, 0x80, 0x60, 0x00, 0x41, + 0x30, 0x38, 0x38, 0x5B, 0x82, 0x4A, 0xE6, 0x41, + 0x42, 0x52, 0x32, 0x08, 0x5F, 0x48, 0x49, 0x44, + 0x0C, 0x41, 0xD0, 0x0C, 0x02, 0x08, 0x5F, 0x55, + 0x49, 0x44, 0x0A, 0x82, 0x08, 0x41, 0x42, 0x31, + 0x32, 0x0A, 0x48, 0x08, 0x41, 0x42, 0x30, 0x30, + 0x0A, 0x00, 0x08, 0x41, 0x42, 0x30, 0x31, 0x0A, + 0x00, 0x08, 0x41, 0x42, 0x30, 0x45, 0x0A, 0x00, + 0x08, 0x41, 0x42, 0x30, 0x32, 0x0A, 0x00, 0x08, + 0x41, 0x42, 0x30, 0x33, 0x0A, 0x00, 0x08, 0x41, + 0x42, 0x30, 0x34, 0x0A, 0x00, 0x08, 0x41, 0x42, + 0x30, 0x35, 0x0A, 0x00, 0x08, 0x41, 0x42, 0x30, + 0x36, 0x0A, 0x00, 0x08, 0x41, 0x42, 0x30, 0x37, + 0x0A, 0x00, 0x08, 0x41, 0x42, 0x30, 0x38, 0x0A, + 0x00, 0x08, 0x41, 0x42, 0x30, 0x39, 0x0A, 0x00, + 0x08, 0x41, 0x42, 0x30, 0x41, 0x0A, 0x00, 0x08, + 0x41, 0x42, 0x30, 0x42, 0x0A, 0x00, 0x08, 0x41, + 0x42, 0x30, 0x43, 0x0A, 0x00, 0x08, 0x41, 0x42, + 0x30, 0x44, 0x0A, 0x00, 0x5B, 0x80, 0x41, 0x30, + 0x38, 0x33, 0x00, 0x72, 0x41, 0x47, 0x52, 0x42, + 0x7D, 0x79, 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, + 0x42, 0x31, 0x32, 0x0A, 0x0D, 0x00, 0x00, 0x0A, + 0x0F, 0x00, 0x79, 0x83, 0x88, 0x5C, 0x2E, 0x5F, + 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, 0x72, + 0x41, 0x42, 0x31, 0x32, 0x0A, 0x0E, 0x00, 0x00, + 0x0A, 0x0C, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x10, + 0x5B, 0x81, 0x45, 0x04, 0x41, 0x30, 0x38, 0x33, + 0x01, 0x00, 0x40, 0x0C, 0x00, 0x08, 0x41, 0x30, + 0x37, 0x34, 0x08, 0x41, 0x30, 0x37, 0x35, 0x08, + 0x00, 0x48, 0x26, 0x41, 0x30, 0x37, 0x30, 0x02, + 0x00, 0x03, 0x41, 0x30, 0x37, 0x31, 0x01, 0x00, + 0x0A, 0x00, 0x0B, 0x41, 0x30, 0x37, 0x32, 0x01, + 0x00, 0x44, 0x0E, 0x41, 0x30, 0x38, 0x32, 0x04, + 0x00, 0x01, 0x41, 0x30, 0x37, 0x39, 0x01, 0x00, + 0x4A, 0x2B, 0x41, 0x30, 0x38, 0x34, 0x20, 0x5B, + 0x87, 0x16, 0x41, 0x30, 0x38, 0x33, 0x41, 0x30, + 0x38, 0x34, 0x0A, 0xA1, 0x03, 0x00, 0x40, 0x72, + 0x00, 0x0C, 0x41, 0x30, 0x36, 0x36, 0x01, 0x5B, + 0x87, 0x16, 0x41, 0x30, 0x38, 0x33, 0x41, 0x30, + 0x38, 0x34, 0x0A, 0xA2, 0x03, 0x00, 0x40, 0x72, + 0x00, 0x0D, 0x41, 0x30, 0x38, 0x31, 0x01, 0x5B, + 0x87, 0x27, 0x41, 0x30, 0x38, 0x33, 0x41, 0x30, + 0x38, 0x34, 0x0A, 0xA4, 0x03, 0x00, 0x40, 0x72, + 0x41, 0x30, 0x37, 0x37, 0x01, 0x41, 0x30, 0x37, + 0x38, 0x01, 0x00, 0x0B, 0x41, 0x30, 0x37, 0x33, + 0x02, 0x00, 0x0E, 0x41, 0x30, 0x38, 0x30, 0x01, + 0x5B, 0x87, 0x14, 0x41, 0x30, 0x38, 0x33, 0x41, + 0x30, 0x38, 0x34, 0x0A, 0xA5, 0x03, 0x00, 0x40, + 0x72, 0x41, 0x30, 0x36, 0x35, 0x06, 0x5B, 0x80, + 0x41, 0x30, 0x38, 0x35, 0x00, 0x41, 0x47, 0x52, + 0x42, 0x0B, 0x00, 0x10, 0x5B, 0x81, 0x0E, 0x41, + 0x30, 0x38, 0x35, 0x01, 0x00, 0x40, 0x70, 0x41, + 0x30, 0x38, 0x36, 0x20, 0x5B, 0x87, 0x3C, 0x41, + 0x30, 0x38, 0x35, 0x41, 0x30, 0x38, 0x36, 0x7D, + 0x79, 0x5E, 0x57, 0x52, 0x42, 0x53, 0x0A, 0x10, + 0x00, 0x72, 0x0B, 0x00, 0x08, 0x77, 0x0B, 0x00, + 0x01, 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, + 0x5F, 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, 0x42, + 0x31, 0x32, 0x0A, 0x0B, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0x00, 0x40, 0x72, 0x41, 0x30, 0x38, + 0x37, 0x01, 0x5B, 0x87, 0x20, 0x41, 0x30, 0x38, + 0x35, 0x41, 0x30, 0x38, 0x36, 0x7D, 0x79, 0x5E, + 0x57, 0x52, 0x42, 0x53, 0x0A, 0x10, 0x00, 0x0B, + 0x29, 0x80, 0x00, 0x03, 0x00, 0x40, 0x72, 0x41, + 0x30, 0x38, 0x38, 0x10, 0x08, 0x41, 0x42, 0x31, + 0x30, 0x0A, 0x00, 0x14, 0x4D, 0x18, 0x5F, 0x49, + 0x4E, 0x49, 0x00, 0x70, 0x83, 0x88, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, + 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, 0x00, 0x00, + 0x00, 0x41, 0x42, 0x30, 0x30, 0x70, 0x83, 0x88, + 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, + 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, + 0x01, 0x00, 0x00, 0x41, 0x42, 0x30, 0x45, 0x70, + 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, + 0x32, 0x0A, 0x02, 0x00, 0x00, 0x41, 0x42, 0x30, + 0x31, 0x70, 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, + 0x42, 0x31, 0x32, 0x0A, 0x03, 0x00, 0x00, 0x41, + 0x42, 0x30, 0x32, 0x70, 0x83, 0x88, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, + 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, 0x04, 0x00, + 0x00, 0x41, 0x42, 0x30, 0x33, 0x70, 0x83, 0x88, + 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, + 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, + 0x05, 0x00, 0x00, 0x41, 0x42, 0x30, 0x34, 0x70, + 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, + 0x32, 0x0A, 0x06, 0x00, 0x00, 0x41, 0x42, 0x30, + 0x35, 0x70, 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, + 0x42, 0x31, 0x32, 0x0A, 0x07, 0x00, 0x00, 0x41, + 0x42, 0x30, 0x36, 0x70, 0x83, 0x88, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, + 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, 0x08, 0x00, + 0x00, 0x41, 0x42, 0x30, 0x37, 0x70, 0x83, 0x88, + 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, + 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, + 0x09, 0x00, 0x00, 0x41, 0x42, 0x30, 0x38, 0x70, + 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, + 0x32, 0x0A, 0x0A, 0x00, 0x00, 0x41, 0x42, 0x30, + 0x39, 0x70, 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, + 0x42, 0x31, 0x32, 0x0A, 0x0B, 0x00, 0x00, 0x41, + 0x42, 0x30, 0x41, 0x70, 0x83, 0x88, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, + 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, 0x0C, 0x00, + 0x00, 0x41, 0x42, 0x30, 0x42, 0x70, 0x83, 0x88, + 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, + 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, + 0x0D, 0x00, 0x00, 0x41, 0x42, 0x30, 0x43, 0x70, + 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, + 0x32, 0x0A, 0x0E, 0x00, 0x00, 0x41, 0x42, 0x30, + 0x44, 0x14, 0x22, 0x41, 0x30, 0x36, 0x31, 0x00, + 0x70, 0x41, 0x30, 0x34, 0x31, 0x60, 0xA0, 0x0A, + 0x93, 0x60, 0x0A, 0x01, 0xA4, 0x41, 0x42, 0x30, + 0x31, 0xA0, 0x0A, 0x93, 0x60, 0x0A, 0x00, 0xA4, + 0x41, 0x42, 0x30, 0x45, 0x14, 0x1F, 0x41, 0x30, + 0x35, 0x35, 0x00, 0xA0, 0x15, 0x92, 0x93, 0x41, + 0x42, 0x31, 0x30, 0x0A, 0x00, 0xA0, 0x0B, 0x93, + 0x41, 0x42, 0x31, 0x30, 0x0A, 0x01, 0xA4, 0x0A, + 0x01, 0xA4, 0x0A, 0x00, 0x14, 0x2A, 0x41, 0x30, + 0x36, 0x32, 0x00, 0xA0, 0x0E, 0x92, 0x93, 0x41, + 0x42, 0x30, 0x35, 0x0A, 0x00, 0xA4, 0x41, 0x42, + 0x30, 0x35, 0xA0, 0x11, 0x94, 0x41, 0x42, 0x31, + 0x30, 0x0A, 0x01, 0xA4, 0x74, 0x41, 0x42, 0x31, + 0x30, 0x0A, 0x01, 0x00, 0xA4, 0x0A, 0x00, 0x14, + 0x49, 0x07, 0x41, 0x30, 0x35, 0x34, 0x00, 0xA0, + 0x22, 0x93, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x50, 0x30, 0x35, 0x0A, 0x00, 0xA0, 0x0E, + 0x92, 0x93, 0x41, 0x42, 0x30, 0x35, 0x0A, 0x00, + 0xA4, 0x41, 0x42, 0x30, 0x35, 0xA4, 0x41, 0x42, + 0x30, 0x45, 0x70, 0x41, 0x30, 0x36, 0x32, 0x60, + 0xA0, 0x17, 0x92, 0x93, 0x60, 0x0A, 0x00, 0xA0, + 0x0C, 0x94, 0x60, 0x41, 0x42, 0x30, 0x30, 0xA4, + 0x41, 0x42, 0x30, 0x30, 0xA1, 0x03, 0xA4, 0x60, + 0x70, 0x41, 0x30, 0x36, 0x31, 0x60, 0xA0, 0x28, + 0x92, 0x93, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x50, 0x30, 0x33, 0x0A, 0x00, 0xA0, 0x18, + 0x95, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, + 0x50, 0x30, 0x33, 0x60, 0xA4, 0x5C, 0x2E, 0x5F, + 0x53, 0x42, 0x5F, 0x41, 0x50, 0x30, 0x33, 0xA4, + 0x60, 0x14, 0x0B, 0x41, 0x30, 0x35, 0x33, 0x00, + 0xA4, 0x41, 0x42, 0x30, 0x32, 0x14, 0x0B, 0x41, + 0x30, 0x35, 0x36, 0x00, 0xA4, 0x41, 0x42, 0x30, + 0x30, 0x14, 0x4B, 0x13, 0x41, 0x30, 0x35, 0x32, + 0x01, 0x70, 0x73, 0x0D, 0x20, 0x50, 0x63, 0x69, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x50, 0x6F, 0x72, 0x74, 0x53, 0x70, 0x65, 0x65, + 0x64, 0x20, 0x45, 0x6E, 0x74, 0x65, 0x72, 0x20, + 0x53, 0x70, 0x65, 0x65, 0x64, 0x3A, 0x20, 0x00, + 0x98, 0x68, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, + 0x31, 0x70, 0x68, 0x41, 0x42, 0x30, 0x32, 0xA0, + 0x14, 0x93, 0x41, 0x42, 0x30, 0x33, 0x0A, 0x01, + 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x30, + 0x36, 0x33, 0x0A, 0x01, 0x41, 0x30, 0x36, 0x34, + 0x68, 0xA0, 0x40, 0x0B, 0x92, 0x95, 0x41, 0x30, + 0x36, 0x35, 0x0A, 0x10, 0xA0, 0x10, 0x92, 0x93, + 0x41, 0x42, 0x31, 0x30, 0x0A, 0x00, 0x70, 0x0A, + 0x00, 0x41, 0x30, 0x36, 0x36, 0xA1, 0x08, 0x70, + 0x0A, 0x01, 0x41, 0x30, 0x36, 0x36, 0xA0, 0x14, + 0x93, 0x41, 0x42, 0x30, 0x33, 0x0A, 0x01, 0x5C, + 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x30, 0x36, + 0x37, 0x0A, 0x00, 0xA1, 0x07, 0x41, 0x30, 0x36, + 0x38, 0x0A, 0x00, 0x08, 0x41, 0x30, 0x36, 0x39, + 0x0A, 0x00, 0x70, 0x41, 0x30, 0x37, 0x30, 0x41, + 0x30, 0x36, 0x39, 0x70, 0x0A, 0x00, 0x41, 0x30, + 0x37, 0x30, 0x70, 0x0A, 0x01, 0x60, 0xA2, 0x2D, + 0x60, 0x70, 0x0A, 0x01, 0x41, 0x30, 0x37, 0x31, + 0x5B, 0x22, 0x0A, 0x1E, 0xA2, 0x0C, 0x93, 0x41, + 0x30, 0x37, 0x32, 0x0A, 0x01, 0x5B, 0x22, 0x0A, + 0x0A, 0xA0, 0x0F, 0x93, 0x68, 0x0A, 0x01, 0xA0, + 0x09, 0x93, 0x41, 0x30, 0x37, 0x33, 0x0A, 0x00, + 0xA5, 0xA1, 0x02, 0xA5, 0x70, 0x41, 0x30, 0x36, + 0x39, 0x41, 0x30, 0x37, 0x30, 0xA0, 0x14, 0x93, + 0x41, 0x42, 0x30, 0x33, 0x0A, 0x01, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x30, 0x36, 0x37, + 0x0A, 0x01, 0xA1, 0x07, 0x41, 0x30, 0x36, 0x38, + 0x0A, 0x01, 0xA0, 0x14, 0x93, 0x41, 0x42, 0x30, + 0x33, 0x0A, 0x01, 0x5C, 0x2E, 0x5F, 0x53, 0x42, + 0x5F, 0x41, 0x30, 0x36, 0x33, 0x0A, 0x00, 0x70, + 0x0D, 0x50, 0x63, 0x69, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x50, 0x6F, 0x72, 0x74, + 0x53, 0x70, 0x65, 0x65, 0x64, 0x20, 0x45, 0x78, + 0x69, 0x74, 0x00, 0x5B, 0x31, 0x14, 0x28, 0x41, + 0x30, 0x35, 0x37, 0x01, 0x70, 0x73, 0x0D, 0x20, + 0x53, 0x65, 0x74, 0x20, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x20, 0x3A, 0x20, 0x00, 0x98, + 0x68, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, + 0x70, 0x68, 0x41, 0x42, 0x31, 0x30, 0x14, 0x22, + 0x41, 0x30, 0x35, 0x38, 0x01, 0x7A, 0x68, 0x0A, + 0x08, 0x60, 0xA0, 0x13, 0x90, 0x92, 0x95, 0x60, + 0x41, 0x30, 0x37, 0x34, 0x92, 0x94, 0x60, 0x41, + 0x30, 0x37, 0x35, 0xA4, 0x0A, 0x01, 0xA4, 0x0A, + 0x00, 0x14, 0x1F, 0x41, 0x30, 0x37, 0x36, 0x01, + 0x7D, 0x41, 0x42, 0x30, 0x44, 0x79, 0x41, 0x42, + 0x30, 0x43, 0x0A, 0x03, 0x00, 0x60, 0xA0, 0x07, + 0x93, 0x68, 0x60, 0xA4, 0x0A, 0x01, 0xA4, 0x0A, + 0x00, 0x14, 0x0D, 0x41, 0x30, 0x35, 0x39, 0x00, + 0x70, 0x0A, 0x00, 0x41, 0x42, 0x31, 0x30, 0x14, + 0x42, 0x07, 0x41, 0x30, 0x36, 0x34, 0x01, 0xA0, + 0x0D, 0x92, 0x95, 0x68, 0x0A, 0x02, 0x70, 0x0A, + 0x01, 0x41, 0x30, 0x37, 0x37, 0xA0, 0x0D, 0x92, + 0x95, 0x68, 0x0A, 0x03, 0x70, 0x0A, 0x01, 0x41, + 0x30, 0x37, 0x38, 0xA0, 0x31, 0x93, 0x68, 0x0A, + 0x01, 0x70, 0x0A, 0x01, 0x41, 0x30, 0x37, 0x39, + 0x70, 0x0A, 0x00, 0x41, 0x30, 0x37, 0x37, 0x70, + 0x0A, 0x00, 0x41, 0x30, 0x37, 0x38, 0x70, 0x0A, + 0x00, 0x41, 0x30, 0x38, 0x30, 0xA0, 0x0F, 0x93, + 0x41, 0x42, 0x30, 0x34, 0x0A, 0x01, 0x70, 0x0A, + 0x01, 0x41, 0x30, 0x38, 0x31, 0xA1, 0x16, 0x70, + 0x0A, 0x00, 0x41, 0x30, 0x37, 0x39, 0x70, 0x0A, + 0x01, 0x41, 0x30, 0x38, 0x30, 0x70, 0x0A, 0x00, + 0x41, 0x30, 0x38, 0x31, 0x70, 0x68, 0x41, 0x30, + 0x38, 0x32, 0x14, 0x41, 0x32, 0x41, 0x30, 0x36, + 0x30, 0x00, 0x70, 0x0D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x00, 0x5B, 0x31, 0x70, + 0x73, 0x0D, 0x20, 0x44, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, + 0x30, 0x43, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, + 0x31, 0x70, 0x73, 0x0D, 0x20, 0x46, 0x75, 0x6E, + 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, + 0x41, 0x42, 0x30, 0x44, 0x00, 0x41, 0x44, 0x42, + 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, 0x20, 0x50, + 0x63, 0x69, 0x65, 0x50, 0x6F, 0x72, 0x74, 0x41, + 0x63, 0x53, 0x70, 0x65, 0x65, 0x64, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, + 0x00, 0x98, 0x41, 0x42, 0x30, 0x45, 0x00, 0x41, + 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, + 0x20, 0x50, 0x63, 0x69, 0x65, 0x50, 0x6F, 0x72, + 0x74, 0x4D, 0x61, 0x78, 0x53, 0x70, 0x65, 0x65, + 0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, 0x30, 0x30, + 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, + 0x73, 0x0D, 0x20, 0x50, 0x63, 0x69, 0x65, 0x50, + 0x6F, 0x72, 0x74, 0x41, 0x63, 0x53, 0x70, 0x65, + 0x65, 0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, + 0x30, 0x45, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, + 0x31, 0x70, 0x73, 0x0D, 0x20, 0x50, 0x63, 0x69, + 0x65, 0x50, 0x6F, 0x72, 0x74, 0x44, 0x63, 0x53, + 0x70, 0x65, 0x65, 0x64, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, + 0x41, 0x42, 0x30, 0x31, 0x00, 0x41, 0x44, 0x42, + 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, 0x20, 0x50, + 0x63, 0x69, 0x65, 0x50, 0x6F, 0x72, 0x74, 0x43, + 0x75, 0x72, 0x53, 0x70, 0x65, 0x65, 0x64, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, + 0x00, 0x98, 0x41, 0x42, 0x30, 0x32, 0x00, 0x41, + 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, + 0x20, 0x50, 0x63, 0x69, 0x65, 0x53, 0x62, 0x50, + 0x6F, 0x72, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, 0x30, 0x33, + 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, + 0x73, 0x0D, 0x20, 0x50, 0x63, 0x69, 0x65, 0x4C, + 0x69, 0x6E, 0x6B, 0x53, 0x61, 0x66, 0x65, 0x4D, + 0x6F, 0x64, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, + 0x30, 0x34, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, + 0x31, 0x70, 0x73, 0x0D, 0x20, 0x50, 0x63, 0x69, + 0x65, 0x4C, 0x6F, 0x63, 0x61, 0x6C, 0x4F, 0x76, + 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x53, 0x70, + 0x65, 0x65, 0x64, 0x20, 0x3A, 0x20, 0x00, 0x98, + 0x41, 0x42, 0x30, 0x35, 0x00, 0x41, 0x44, 0x42, + 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, 0x20, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x50, 0x68, 0x79, 0x4C, + 0x61, 0x6E, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, + 0x00, 0x98, 0x41, 0x42, 0x30, 0x36, 0x00, 0x41, + 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, + 0x20, 0x45, 0x6E, 0x64, 0x50, 0x68, 0x79, 0x4C, + 0x61, 0x6E, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, 0x30, 0x37, + 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, + 0x73, 0x0D, 0x20, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x43, 0x6F, 0x72, 0x65, 0x4C, 0x61, 0x6E, 0x65, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, + 0x30, 0x38, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, + 0x31, 0x70, 0x73, 0x0D, 0x20, 0x45, 0x6E, 0x64, + 0x43, 0x6F, 0x72, 0x65, 0x4C, 0x61, 0x6E, 0x65, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, + 0x41, 0x42, 0x30, 0x39, 0x00, 0x41, 0x44, 0x42, + 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, 0x20, 0x50, + 0x6F, 0x72, 0x74, 0x49, 0x64, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, + 0x00, 0x98, 0x41, 0x42, 0x30, 0x41, 0x00, 0x41, + 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, + 0x20, 0x4C, 0x69, 0x6E, 0x6B, 0x48, 0x6F, 0x74, + 0x70, 0x6C, 0x75, 0x67, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, 0x30, 0x42, + 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, + 0x0D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x00, 0x5B, 0x31, 0x14, 0x42, 0x05, 0x41, + 0x30, 0x39, 0x34, 0x02, 0xA0, 0x11, 0x93, 0x41, + 0x30, 0x39, 0x33, 0x68, 0x0A, 0x00, 0x0C, 0xFF, + 0xFF, 0xFF, 0xFF, 0xA4, 0x0A, 0x00, 0x70, 0x41, + 0x30, 0x39, 0x33, 0x68, 0x0A, 0x34, 0x60, 0xA2, + 0x2F, 0x0A, 0x01, 0x70, 0x41, 0x30, 0x39, 0x33, + 0x68, 0x7B, 0x60, 0x0A, 0xFF, 0x00, 0x61, 0xA0, + 0x0E, 0x93, 0x7B, 0x61, 0x0A, 0xFF, 0x00, 0x69, + 0xA4, 0x7B, 0x60, 0x0A, 0xFF, 0x00, 0x7B, 0x7A, + 0x61, 0x0A, 0x08, 0x00, 0x0A, 0xFF, 0x60, 0xA0, + 0x07, 0x93, 0x60, 0x0A, 0x00, 0xA4, 0x60, 0x08, + 0x41, 0x45, 0x53, 0x50, 0x12, 0x12, 0x08, 0x0A, + 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0A, + 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x14, + 0x49, 0x0D, 0x41, 0x30, 0x36, 0x38, 0x01, 0x70, + 0x0D, 0x50, 0x63, 0x69, 0x65, 0x45, 0x70, 0x41, + 0x73, 0x70, 0x6D, 0x20, 0x45, 0x6E, 0x74, 0x65, + 0x72, 0x00, 0x5B, 0x31, 0x70, 0x0A, 0x00, 0x60, + 0xA0, 0x49, 0x08, 0x92, 0x93, 0x41, 0x30, 0x39, + 0x33, 0x60, 0x0A, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, + 0xFF, 0x7B, 0x41, 0x30, 0x39, 0x33, 0x60, 0x0A, + 0x08, 0x0A, 0x80, 0x61, 0xA0, 0x09, 0x93, 0x61, + 0x0A, 0x80, 0x70, 0x0A, 0x07, 0x67, 0xA1, 0x05, + 0x70, 0x0A, 0x00, 0x67, 0xA2, 0x4D, 0x05, 0x92, + 0x94, 0x60, 0x67, 0x70, 0x41, 0x30, 0x39, 0x34, + 0x60, 0x0A, 0x10, 0x61, 0xA0, 0x08, 0x93, 0x61, + 0x0A, 0x00, 0x75, 0x60, 0x9F, 0xA0, 0x2B, 0x93, + 0x68, 0x0A, 0x00, 0x70, 0x41, 0x30, 0x39, 0x33, + 0x60, 0x72, 0x61, 0x0A, 0x10, 0x00, 0x62, 0x41, + 0x30, 0x39, 0x35, 0x60, 0x72, 0x61, 0x0A, 0x10, + 0x00, 0x7B, 0x62, 0x80, 0x0A, 0x03, 0x00, 0x00, + 0x70, 0x62, 0x88, 0x41, 0x45, 0x53, 0x50, 0x60, + 0x00, 0xA1, 0x16, 0x70, 0x83, 0x88, 0x41, 0x45, + 0x53, 0x50, 0x60, 0x00, 0x62, 0x41, 0x30, 0x39, + 0x35, 0x60, 0x72, 0x61, 0x0A, 0x10, 0x00, 0x62, + 0x75, 0x60, 0xA1, 0x1A, 0x70, 0x0D, 0x45, 0x6E, + 0x64, 0x70, 0x6F, 0x69, 0x6E, 0x74, 0x20, 0x6E, + 0x6F, 0x74, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, + 0x6E, 0x74, 0x00, 0x5B, 0x31, 0x70, 0x0D, 0x50, + 0x63, 0x69, 0x65, 0x45, 0x70, 0x41, 0x73, 0x70, + 0x6D, 0x20, 0x45, 0x78, 0x69, 0x74, 0x00, 0x5B, + 0x31, 0x14, 0x3D, 0x41, 0x30, 0x39, 0x35, 0x0B, + 0x72, 0x41, 0x47, 0x52, 0x42, 0x79, 0x41, 0x30, + 0x37, 0x34, 0x0A, 0x14, 0x00, 0x60, 0x72, 0x60, + 0x79, 0x68, 0x0A, 0x0C, 0x00, 0x60, 0x72, 0x60, + 0x69, 0x60, 0x5B, 0x80, 0x41, 0x44, 0x52, 0x42, + 0x00, 0x60, 0x0A, 0x04, 0x5B, 0x81, 0x0B, 0x41, + 0x44, 0x52, 0x42, 0x03, 0x41, 0x44, 0x52, 0x52, + 0x20, 0x70, 0x6A, 0x41, 0x44, 0x52, 0x52, 0x14, + 0x3C, 0x41, 0x30, 0x39, 0x33, 0x0A, 0x72, 0x41, + 0x47, 0x52, 0x42, 0x79, 0x41, 0x30, 0x37, 0x34, + 0x0A, 0x14, 0x00, 0x60, 0x72, 0x60, 0x79, 0x68, + 0x0A, 0x0C, 0x00, 0x60, 0x72, 0x60, 0x69, 0x60, + 0x5B, 0x80, 0x41, 0x44, 0x52, 0x42, 0x00, 0x60, + 0x0A, 0x04, 0x5B, 0x81, 0x0B, 0x41, 0x44, 0x52, + 0x42, 0x03, 0x41, 0x44, 0x52, 0x52, 0x20, 0xA4, + 0x41, 0x44, 0x52, 0x52, 0x14, 0x19, 0x41, 0x30, + 0x38, 0x39, 0x01, 0xA0, 0x0C, 0x92, 0x93, 0x41, + 0x42, 0x30, 0x42, 0x0A, 0x01, 0xA4, 0x0A, 0x00, + 0xA4, 0x41, 0x30, 0x37, 0x36, 0x68, 0x14, 0x49, + 0x25, 0x41, 0x30, 0x39, 0x30, 0x01, 0x08, 0x41, + 0x30, 0x36, 0x39, 0x0A, 0x00, 0x70, 0x41, 0x30, + 0x37, 0x30, 0x41, 0x30, 0x36, 0x39, 0x70, 0x0A, + 0x00, 0x41, 0x30, 0x37, 0x30, 0xA0, 0x09, 0x93, + 0x68, 0x0A, 0x01, 0x70, 0x0A, 0x01, 0x60, 0xA1, + 0x05, 0x70, 0x0A, 0x05, 0x60, 0xA2, 0x46, 0x1E, + 0x92, 0x93, 0x60, 0x0A, 0x08, 0xA0, 0x41, 0x04, + 0x93, 0x60, 0x0A, 0x01, 0xA0, 0x15, 0x94, 0x41, + 0x42, 0x30, 0x45, 0x0A, 0x01, 0x70, 0x41, 0x42, + 0x30, 0x45, 0x41, 0x42, 0x30, 0x35, 0x41, 0x30, + 0x33, 0x38, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x30, 0x39, 0x31, 0x0A, 0x01, 0x41, 0x42, + 0x30, 0x36, 0x41, 0x42, 0x30, 0x37, 0x41, 0x30, + 0x39, 0x32, 0x0A, 0x01, 0x70, 0x0A, 0x00, 0x41, + 0x30, 0x38, 0x37, 0x70, 0x0A, 0x03, 0x60, 0xA0, + 0x4D, 0x04, 0x93, 0x60, 0x0A, 0x03, 0x70, 0x0A, + 0x00, 0x61, 0x70, 0x0A, 0x00, 0x62, 0xA2, 0x2E, + 0x95, 0x61, 0x0A, 0x3C, 0xA0, 0x22, 0x94, 0x41, + 0x30, 0x36, 0x35, 0x0A, 0x04, 0x70, 0x0D, 0x20, + 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x20, 0x64, + 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x00, + 0x5B, 0x31, 0x70, 0x0A, 0x01, 0x62, 0xA5, 0x5B, + 0x22, 0x0A, 0x01, 0x75, 0x61, 0xA0, 0x09, 0x93, + 0x62, 0x0A, 0x01, 0x70, 0x0A, 0x04, 0x60, 0xA1, + 0x05, 0x70, 0x0A, 0x05, 0x60, 0xA0, 0x45, 0x06, + 0x93, 0x60, 0x0A, 0x04, 0x70, 0x0A, 0x00, 0x61, + 0x70, 0x0A, 0x00, 0x62, 0xA2, 0x37, 0x95, 0x61, + 0x0A, 0x50, 0xA0, 0x2B, 0x90, 0x92, 0x95, 0x41, + 0x30, 0x36, 0x35, 0x0A, 0x10, 0x92, 0x94, 0x41, + 0x30, 0x36, 0x35, 0x0A, 0x13, 0x70, 0x0D, 0x20, + 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x20, 0x50, + 0x72, 0x65, 0x73, 0x65, 0x6E, 0x74, 0x00, 0x5B, + 0x31, 0x70, 0x0A, 0x01, 0x62, 0xA5, 0x5B, 0x22, + 0x0A, 0x01, 0x75, 0x61, 0xA0, 0x09, 0x93, 0x62, + 0x0A, 0x01, 0x70, 0x0A, 0x07, 0x60, 0xA1, 0x14, + 0xA0, 0x0C, 0x93, 0x41, 0x42, 0x30, 0x34, 0x0A, + 0x01, 0x70, 0x0A, 0x05, 0x60, 0xA1, 0x05, 0x70, + 0x0A, 0x06, 0x60, 0xA0, 0x45, 0x07, 0x93, 0x60, + 0x0A, 0x06, 0x70, 0x0A, 0x01, 0x41, 0x42, 0x30, + 0x34, 0x70, 0x0A, 0x01, 0x41, 0x42, 0x30, 0x35, + 0x41, 0x30, 0x36, 0x34, 0x0A, 0x01, 0xA0, 0x46, + 0x05, 0x5B, 0x12, 0x5C, 0x2E, 0x5F, 0x53, 0x42, + 0x5F, 0x41, 0x4C, 0x49, 0x43, 0x66, 0x70, 0x0D, + 0x20, 0x43, 0x61, 0x6C, 0x6C, 0x20, 0x41, 0x4C, + 0x49, 0x43, 0x20, 0x6D, 0x65, 0x74, 0x68, 0x6F, + 0x64, 0x00, 0x5B, 0x31, 0x7D, 0x79, 0x41, 0x42, + 0x30, 0x43, 0x0A, 0x03, 0x00, 0x41, 0x42, 0x30, + 0x44, 0x61, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x4C, 0x49, 0x43, 0x61, 0x0A, 0x00, 0x5B, + 0x22, 0x0A, 0x02, 0x5C, 0x2E, 0x5F, 0x53, 0x42, + 0x5F, 0x41, 0x4C, 0x49, 0x43, 0x61, 0x0A, 0x01, + 0x70, 0x0A, 0x03, 0x60, 0x9F, 0x70, 0x0A, 0x05, + 0x60, 0xA0, 0x44, 0x06, 0x93, 0x60, 0x0A, 0x05, + 0x70, 0x0D, 0x20, 0x44, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x20, 0x6E, 0x6F, 0x74, 0x20, 0x50, 0x72, + 0x65, 0x73, 0x65, 0x6E, 0x74, 0x00, 0x5B, 0x31, + 0x41, 0x30, 0x39, 0x33, 0x0A, 0x00, 0x0A, 0x00, + 0x70, 0x0A, 0x01, 0x41, 0x30, 0x38, 0x37, 0x41, + 0x30, 0x39, 0x32, 0x0A, 0x00, 0x5C, 0x2E, 0x5F, + 0x53, 0x42, 0x5F, 0x41, 0x30, 0x39, 0x31, 0x0A, + 0x00, 0x41, 0x42, 0x30, 0x36, 0x41, 0x42, 0x30, + 0x37, 0x70, 0x0A, 0x00, 0x41, 0x42, 0x30, 0x35, + 0x70, 0x0A, 0x00, 0x41, 0x42, 0x30, 0x34, 0x70, + 0x0A, 0x00, 0x41, 0x42, 0x31, 0x30, 0x70, 0x0A, + 0x00, 0x62, 0x70, 0x0A, 0x08, 0x60, 0xA0, 0x0D, + 0x93, 0x60, 0x0A, 0x07, 0x70, 0x0A, 0x01, 0x62, + 0x70, 0x0A, 0x08, 0x60, 0xA0, 0x0F, 0x93, 0x41, + 0x42, 0x30, 0x34, 0x0A, 0x00, 0x70, 0x0A, 0x00, + 0x41, 0x42, 0x30, 0x35, 0xA0, 0x28, 0x91, 0x94, + 0x41, 0x42, 0x30, 0x45, 0x0A, 0x01, 0x93, 0x41, + 0x50, 0x30, 0x35, 0x0A, 0x01, 0xA0, 0x17, 0x94, + 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x44, 0x41, 0x54, 0x0A, 0x00, 0x00, 0x0A, + 0x01, 0x41, 0x30, 0x33, 0x38, 0x70, 0x41, 0x30, + 0x36, 0x39, 0x41, 0x30, 0x37, 0x30, 0xA4, 0x62, + 0x14, 0x46, 0x05, 0x41, 0x30, 0x39, 0x32, 0x01, + 0xA0, 0x14, 0x94, 0x41, 0x42, 0x30, 0x36, 0x41, + 0x42, 0x30, 0x37, 0x74, 0x41, 0x42, 0x30, 0x36, + 0x41, 0x42, 0x30, 0x37, 0x60, 0xA1, 0x0B, 0x74, + 0x41, 0x42, 0x30, 0x37, 0x41, 0x42, 0x30, 0x36, + 0x60, 0x75, 0x60, 0x79, 0x0A, 0x01, 0x60, 0x60, + 0x76, 0x60, 0x79, 0x60, 0x41, 0x42, 0x30, 0x38, + 0x60, 0xA0, 0x0F, 0x93, 0x68, 0x0A, 0x01, 0x7D, + 0x41, 0x30, 0x38, 0x38, 0x60, 0x41, 0x30, 0x38, + 0x38, 0xA1, 0x0D, 0x7B, 0x41, 0x30, 0x38, 0x38, + 0x80, 0x60, 0x00, 0x41, 0x30, 0x38, 0x38, 0x5B, + 0x82, 0x4A, 0xE6, 0x41, 0x42, 0x52, 0x33, 0x08, + 0x5F, 0x48, 0x49, 0x44, 0x0C, 0x41, 0xD0, 0x0C, + 0x02, 0x08, 0x5F, 0x55, 0x49, 0x44, 0x0A, 0x83, + 0x08, 0x41, 0x42, 0x31, 0x32, 0x0A, 0x5C, 0x08, + 0x41, 0x42, 0x30, 0x30, 0x0A, 0x00, 0x08, 0x41, + 0x42, 0x30, 0x31, 0x0A, 0x00, 0x08, 0x41, 0x42, + 0x30, 0x45, 0x0A, 0x00, 0x08, 0x41, 0x42, 0x30, + 0x32, 0x0A, 0x00, 0x08, 0x41, 0x42, 0x30, 0x33, + 0x0A, 0x00, 0x08, 0x41, 0x42, 0x30, 0x34, 0x0A, + 0x00, 0x08, 0x41, 0x42, 0x30, 0x35, 0x0A, 0x00, + 0x08, 0x41, 0x42, 0x30, 0x36, 0x0A, 0x00, 0x08, + 0x41, 0x42, 0x30, 0x37, 0x0A, 0x00, 0x08, 0x41, + 0x42, 0x30, 0x38, 0x0A, 0x00, 0x08, 0x41, 0x42, + 0x30, 0x39, 0x0A, 0x00, 0x08, 0x41, 0x42, 0x30, + 0x41, 0x0A, 0x00, 0x08, 0x41, 0x42, 0x30, 0x42, + 0x0A, 0x00, 0x08, 0x41, 0x42, 0x30, 0x43, 0x0A, + 0x00, 0x08, 0x41, 0x42, 0x30, 0x44, 0x0A, 0x00, + 0x5B, 0x80, 0x41, 0x30, 0x38, 0x33, 0x00, 0x72, + 0x41, 0x47, 0x52, 0x42, 0x7D, 0x79, 0x83, 0x88, + 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, + 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, + 0x0D, 0x00, 0x00, 0x0A, 0x0F, 0x00, 0x79, 0x83, + 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, + 0x44, 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, 0x32, + 0x0A, 0x0E, 0x00, 0x00, 0x0A, 0x0C, 0x00, 0x00, + 0x00, 0x0B, 0x00, 0x10, 0x5B, 0x81, 0x45, 0x04, + 0x41, 0x30, 0x38, 0x33, 0x01, 0x00, 0x40, 0x0C, + 0x00, 0x08, 0x41, 0x30, 0x37, 0x34, 0x08, 0x41, + 0x30, 0x37, 0x35, 0x08, 0x00, 0x48, 0x26, 0x41, + 0x30, 0x37, 0x30, 0x02, 0x00, 0x03, 0x41, 0x30, + 0x37, 0x31, 0x01, 0x00, 0x0A, 0x00, 0x0B, 0x41, + 0x30, 0x37, 0x32, 0x01, 0x00, 0x44, 0x0E, 0x41, + 0x30, 0x38, 0x32, 0x04, 0x00, 0x01, 0x41, 0x30, + 0x37, 0x39, 0x01, 0x00, 0x4A, 0x2B, 0x41, 0x30, + 0x38, 0x34, 0x20, 0x5B, 0x87, 0x16, 0x41, 0x30, + 0x38, 0x33, 0x41, 0x30, 0x38, 0x34, 0x0A, 0xA1, + 0x03, 0x00, 0x40, 0x72, 0x00, 0x0C, 0x41, 0x30, + 0x36, 0x36, 0x01, 0x5B, 0x87, 0x16, 0x41, 0x30, + 0x38, 0x33, 0x41, 0x30, 0x38, 0x34, 0x0A, 0xA2, + 0x03, 0x00, 0x40, 0x72, 0x00, 0x0D, 0x41, 0x30, + 0x38, 0x31, 0x01, 0x5B, 0x87, 0x27, 0x41, 0x30, + 0x38, 0x33, 0x41, 0x30, 0x38, 0x34, 0x0A, 0xA4, + 0x03, 0x00, 0x40, 0x72, 0x41, 0x30, 0x37, 0x37, + 0x01, 0x41, 0x30, 0x37, 0x38, 0x01, 0x00, 0x0B, + 0x41, 0x30, 0x37, 0x33, 0x02, 0x00, 0x0E, 0x41, + 0x30, 0x38, 0x30, 0x01, 0x5B, 0x87, 0x14, 0x41, + 0x30, 0x38, 0x33, 0x41, 0x30, 0x38, 0x34, 0x0A, + 0xA5, 0x03, 0x00, 0x40, 0x72, 0x41, 0x30, 0x36, + 0x35, 0x06, 0x5B, 0x80, 0x41, 0x30, 0x38, 0x35, + 0x00, 0x41, 0x47, 0x52, 0x42, 0x0B, 0x00, 0x10, + 0x5B, 0x81, 0x0E, 0x41, 0x30, 0x38, 0x35, 0x01, + 0x00, 0x40, 0x70, 0x41, 0x30, 0x38, 0x36, 0x20, + 0x5B, 0x87, 0x3C, 0x41, 0x30, 0x38, 0x35, 0x41, + 0x30, 0x38, 0x36, 0x7D, 0x79, 0x5E, 0x57, 0x52, + 0x42, 0x53, 0x0A, 0x10, 0x00, 0x72, 0x0B, 0x00, + 0x08, 0x77, 0x0B, 0x00, 0x01, 0x83, 0x88, 0x5C, + 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, + 0x54, 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, 0x0B, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x40, + 0x72, 0x41, 0x30, 0x38, 0x37, 0x01, 0x5B, 0x87, + 0x20, 0x41, 0x30, 0x38, 0x35, 0x41, 0x30, 0x38, + 0x36, 0x7D, 0x79, 0x5E, 0x57, 0x52, 0x42, 0x53, + 0x0A, 0x10, 0x00, 0x0B, 0x29, 0x80, 0x00, 0x03, + 0x00, 0x40, 0x72, 0x41, 0x30, 0x38, 0x38, 0x10, + 0x08, 0x41, 0x42, 0x31, 0x30, 0x0A, 0x00, 0x14, + 0x4D, 0x18, 0x5F, 0x49, 0x4E, 0x49, 0x00, 0x70, + 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, + 0x32, 0x0A, 0x00, 0x00, 0x00, 0x41, 0x42, 0x30, + 0x30, 0x70, 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, + 0x42, 0x31, 0x32, 0x0A, 0x01, 0x00, 0x00, 0x41, + 0x42, 0x30, 0x45, 0x70, 0x83, 0x88, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, + 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, 0x02, 0x00, + 0x00, 0x41, 0x42, 0x30, 0x31, 0x70, 0x83, 0x88, + 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, + 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, + 0x03, 0x00, 0x00, 0x41, 0x42, 0x30, 0x32, 0x70, + 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, + 0x32, 0x0A, 0x04, 0x00, 0x00, 0x41, 0x42, 0x30, + 0x33, 0x70, 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, + 0x42, 0x31, 0x32, 0x0A, 0x05, 0x00, 0x00, 0x41, + 0x42, 0x30, 0x34, 0x70, 0x83, 0x88, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, + 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, 0x06, 0x00, + 0x00, 0x41, 0x42, 0x30, 0x35, 0x70, 0x83, 0x88, + 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, + 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, + 0x07, 0x00, 0x00, 0x41, 0x42, 0x30, 0x36, 0x70, + 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, + 0x32, 0x0A, 0x08, 0x00, 0x00, 0x41, 0x42, 0x30, + 0x37, 0x70, 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, + 0x42, 0x31, 0x32, 0x0A, 0x09, 0x00, 0x00, 0x41, + 0x42, 0x30, 0x38, 0x70, 0x83, 0x88, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, + 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, 0x0A, 0x00, + 0x00, 0x41, 0x42, 0x30, 0x39, 0x70, 0x83, 0x88, + 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, + 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, + 0x0B, 0x00, 0x00, 0x41, 0x42, 0x30, 0x41, 0x70, + 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, + 0x32, 0x0A, 0x0C, 0x00, 0x00, 0x41, 0x42, 0x30, + 0x42, 0x70, 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, + 0x42, 0x31, 0x32, 0x0A, 0x0D, 0x00, 0x00, 0x41, + 0x42, 0x30, 0x43, 0x70, 0x83, 0x88, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, + 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, 0x0E, 0x00, + 0x00, 0x41, 0x42, 0x30, 0x44, 0x14, 0x22, 0x41, + 0x30, 0x36, 0x31, 0x00, 0x70, 0x41, 0x30, 0x34, + 0x31, 0x60, 0xA0, 0x0A, 0x93, 0x60, 0x0A, 0x01, + 0xA4, 0x41, 0x42, 0x30, 0x31, 0xA0, 0x0A, 0x93, + 0x60, 0x0A, 0x00, 0xA4, 0x41, 0x42, 0x30, 0x45, + 0x14, 0x1F, 0x41, 0x30, 0x35, 0x35, 0x00, 0xA0, + 0x15, 0x92, 0x93, 0x41, 0x42, 0x31, 0x30, 0x0A, + 0x00, 0xA0, 0x0B, 0x93, 0x41, 0x42, 0x31, 0x30, + 0x0A, 0x01, 0xA4, 0x0A, 0x01, 0xA4, 0x0A, 0x00, + 0x14, 0x2A, 0x41, 0x30, 0x36, 0x32, 0x00, 0xA0, + 0x0E, 0x92, 0x93, 0x41, 0x42, 0x30, 0x35, 0x0A, + 0x00, 0xA4, 0x41, 0x42, 0x30, 0x35, 0xA0, 0x11, + 0x94, 0x41, 0x42, 0x31, 0x30, 0x0A, 0x01, 0xA4, + 0x74, 0x41, 0x42, 0x31, 0x30, 0x0A, 0x01, 0x00, + 0xA4, 0x0A, 0x00, 0x14, 0x49, 0x07, 0x41, 0x30, + 0x35, 0x34, 0x00, 0xA0, 0x22, 0x93, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x50, 0x30, 0x35, + 0x0A, 0x00, 0xA0, 0x0E, 0x92, 0x93, 0x41, 0x42, + 0x30, 0x35, 0x0A, 0x00, 0xA4, 0x41, 0x42, 0x30, + 0x35, 0xA4, 0x41, 0x42, 0x30, 0x45, 0x70, 0x41, + 0x30, 0x36, 0x32, 0x60, 0xA0, 0x17, 0x92, 0x93, + 0x60, 0x0A, 0x00, 0xA0, 0x0C, 0x94, 0x60, 0x41, + 0x42, 0x30, 0x30, 0xA4, 0x41, 0x42, 0x30, 0x30, + 0xA1, 0x03, 0xA4, 0x60, 0x70, 0x41, 0x30, 0x36, + 0x31, 0x60, 0xA0, 0x28, 0x92, 0x93, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x50, 0x30, 0x33, + 0x0A, 0x00, 0xA0, 0x18, 0x95, 0x5C, 0x2E, 0x5F, + 0x53, 0x42, 0x5F, 0x41, 0x50, 0x30, 0x33, 0x60, + 0xA4, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, + 0x50, 0x30, 0x33, 0xA4, 0x60, 0x14, 0x0B, 0x41, + 0x30, 0x35, 0x33, 0x00, 0xA4, 0x41, 0x42, 0x30, + 0x32, 0x14, 0x0B, 0x41, 0x30, 0x35, 0x36, 0x00, + 0xA4, 0x41, 0x42, 0x30, 0x30, 0x14, 0x4B, 0x13, + 0x41, 0x30, 0x35, 0x32, 0x01, 0x70, 0x73, 0x0D, + 0x20, 0x50, 0x63, 0x69, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x50, 0x6F, 0x72, 0x74, + 0x53, 0x70, 0x65, 0x65, 0x64, 0x20, 0x45, 0x6E, + 0x74, 0x65, 0x72, 0x20, 0x53, 0x70, 0x65, 0x65, + 0x64, 0x3A, 0x20, 0x00, 0x98, 0x68, 0x00, 0x41, + 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, 0x68, 0x41, + 0x42, 0x30, 0x32, 0xA0, 0x14, 0x93, 0x41, 0x42, + 0x30, 0x33, 0x0A, 0x01, 0x5C, 0x2E, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x30, 0x36, 0x33, 0x0A, 0x01, + 0x41, 0x30, 0x36, 0x34, 0x68, 0xA0, 0x40, 0x0B, + 0x92, 0x95, 0x41, 0x30, 0x36, 0x35, 0x0A, 0x10, + 0xA0, 0x10, 0x92, 0x93, 0x41, 0x42, 0x31, 0x30, + 0x0A, 0x00, 0x70, 0x0A, 0x00, 0x41, 0x30, 0x36, + 0x36, 0xA1, 0x08, 0x70, 0x0A, 0x01, 0x41, 0x30, + 0x36, 0x36, 0xA0, 0x14, 0x93, 0x41, 0x42, 0x30, + 0x33, 0x0A, 0x01, 0x5C, 0x2E, 0x5F, 0x53, 0x42, + 0x5F, 0x41, 0x30, 0x36, 0x37, 0x0A, 0x00, 0xA1, + 0x07, 0x41, 0x30, 0x36, 0x38, 0x0A, 0x00, 0x08, + 0x41, 0x30, 0x36, 0x39, 0x0A, 0x00, 0x70, 0x41, + 0x30, 0x37, 0x30, 0x41, 0x30, 0x36, 0x39, 0x70, + 0x0A, 0x00, 0x41, 0x30, 0x37, 0x30, 0x70, 0x0A, + 0x01, 0x60, 0xA2, 0x2D, 0x60, 0x70, 0x0A, 0x01, + 0x41, 0x30, 0x37, 0x31, 0x5B, 0x22, 0x0A, 0x1E, + 0xA2, 0x0C, 0x93, 0x41, 0x30, 0x37, 0x32, 0x0A, + 0x01, 0x5B, 0x22, 0x0A, 0x0A, 0xA0, 0x0F, 0x93, + 0x68, 0x0A, 0x01, 0xA0, 0x09, 0x93, 0x41, 0x30, + 0x37, 0x33, 0x0A, 0x00, 0xA5, 0xA1, 0x02, 0xA5, + 0x70, 0x41, 0x30, 0x36, 0x39, 0x41, 0x30, 0x37, + 0x30, 0xA0, 0x14, 0x93, 0x41, 0x42, 0x30, 0x33, + 0x0A, 0x01, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x30, 0x36, 0x37, 0x0A, 0x01, 0xA1, 0x07, + 0x41, 0x30, 0x36, 0x38, 0x0A, 0x01, 0xA0, 0x14, + 0x93, 0x41, 0x42, 0x30, 0x33, 0x0A, 0x01, 0x5C, + 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x30, 0x36, + 0x33, 0x0A, 0x00, 0x70, 0x0D, 0x50, 0x63, 0x69, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x50, 0x6F, 0x72, 0x74, 0x53, 0x70, 0x65, 0x65, + 0x64, 0x20, 0x45, 0x78, 0x69, 0x74, 0x00, 0x5B, + 0x31, 0x14, 0x28, 0x41, 0x30, 0x35, 0x37, 0x01, + 0x70, 0x73, 0x0D, 0x20, 0x53, 0x65, 0x74, 0x20, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x20, + 0x3A, 0x20, 0x00, 0x98, 0x68, 0x00, 0x41, 0x44, + 0x42, 0x47, 0x5B, 0x31, 0x70, 0x68, 0x41, 0x42, + 0x31, 0x30, 0x14, 0x22, 0x41, 0x30, 0x35, 0x38, + 0x01, 0x7A, 0x68, 0x0A, 0x08, 0x60, 0xA0, 0x13, + 0x90, 0x92, 0x95, 0x60, 0x41, 0x30, 0x37, 0x34, + 0x92, 0x94, 0x60, 0x41, 0x30, 0x37, 0x35, 0xA4, + 0x0A, 0x01, 0xA4, 0x0A, 0x00, 0x14, 0x1F, 0x41, + 0x30, 0x37, 0x36, 0x01, 0x7D, 0x41, 0x42, 0x30, + 0x44, 0x79, 0x41, 0x42, 0x30, 0x43, 0x0A, 0x03, + 0x00, 0x60, 0xA0, 0x07, 0x93, 0x68, 0x60, 0xA4, + 0x0A, 0x01, 0xA4, 0x0A, 0x00, 0x14, 0x0D, 0x41, + 0x30, 0x35, 0x39, 0x00, 0x70, 0x0A, 0x00, 0x41, + 0x42, 0x31, 0x30, 0x14, 0x42, 0x07, 0x41, 0x30, + 0x36, 0x34, 0x01, 0xA0, 0x0D, 0x92, 0x95, 0x68, + 0x0A, 0x02, 0x70, 0x0A, 0x01, 0x41, 0x30, 0x37, + 0x37, 0xA0, 0x0D, 0x92, 0x95, 0x68, 0x0A, 0x03, + 0x70, 0x0A, 0x01, 0x41, 0x30, 0x37, 0x38, 0xA0, + 0x31, 0x93, 0x68, 0x0A, 0x01, 0x70, 0x0A, 0x01, + 0x41, 0x30, 0x37, 0x39, 0x70, 0x0A, 0x00, 0x41, + 0x30, 0x37, 0x37, 0x70, 0x0A, 0x00, 0x41, 0x30, + 0x37, 0x38, 0x70, 0x0A, 0x00, 0x41, 0x30, 0x38, + 0x30, 0xA0, 0x0F, 0x93, 0x41, 0x42, 0x30, 0x34, + 0x0A, 0x01, 0x70, 0x0A, 0x01, 0x41, 0x30, 0x38, + 0x31, 0xA1, 0x16, 0x70, 0x0A, 0x00, 0x41, 0x30, + 0x37, 0x39, 0x70, 0x0A, 0x01, 0x41, 0x30, 0x38, + 0x30, 0x70, 0x0A, 0x00, 0x41, 0x30, 0x38, 0x31, + 0x70, 0x68, 0x41, 0x30, 0x38, 0x32, 0x14, 0x41, + 0x32, 0x41, 0x30, 0x36, 0x30, 0x00, 0x70, 0x0D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x00, 0x5B, 0x31, 0x70, 0x73, 0x0D, 0x20, 0x44, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, + 0x00, 0x98, 0x41, 0x42, 0x30, 0x43, 0x00, 0x41, + 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, + 0x20, 0x46, 0x75, 0x6E, 0x63, 0x74, 0x69, 0x6F, + 0x6E, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, 0x30, 0x44, + 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, + 0x73, 0x0D, 0x20, 0x50, 0x63, 0x69, 0x65, 0x50, + 0x6F, 0x72, 0x74, 0x41, 0x63, 0x53, 0x70, 0x65, + 0x65, 0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, + 0x30, 0x45, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, + 0x31, 0x70, 0x73, 0x0D, 0x20, 0x50, 0x63, 0x69, + 0x65, 0x50, 0x6F, 0x72, 0x74, 0x4D, 0x61, 0x78, + 0x53, 0x70, 0x65, 0x65, 0x64, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, + 0x41, 0x42, 0x30, 0x30, 0x00, 0x41, 0x44, 0x42, + 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, 0x20, 0x50, + 0x63, 0x69, 0x65, 0x50, 0x6F, 0x72, 0x74, 0x41, + 0x63, 0x53, 0x70, 0x65, 0x65, 0x64, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, + 0x00, 0x98, 0x41, 0x42, 0x30, 0x45, 0x00, 0x41, + 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, + 0x20, 0x50, 0x63, 0x69, 0x65, 0x50, 0x6F, 0x72, + 0x74, 0x44, 0x63, 0x53, 0x70, 0x65, 0x65, 0x64, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, 0x30, 0x31, + 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, + 0x73, 0x0D, 0x20, 0x50, 0x63, 0x69, 0x65, 0x50, + 0x6F, 0x72, 0x74, 0x43, 0x75, 0x72, 0x53, 0x70, + 0x65, 0x65, 0x64, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, + 0x30, 0x32, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, + 0x31, 0x70, 0x73, 0x0D, 0x20, 0x50, 0x63, 0x69, + 0x65, 0x53, 0x62, 0x50, 0x6F, 0x72, 0x74, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, + 0x41, 0x42, 0x30, 0x33, 0x00, 0x41, 0x44, 0x42, + 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, 0x20, 0x50, + 0x63, 0x69, 0x65, 0x4C, 0x69, 0x6E, 0x6B, 0x53, + 0x61, 0x66, 0x65, 0x4D, 0x6F, 0x64, 0x65, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, + 0x00, 0x98, 0x41, 0x42, 0x30, 0x34, 0x00, 0x41, + 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, + 0x20, 0x50, 0x63, 0x69, 0x65, 0x4C, 0x6F, 0x63, + 0x61, 0x6C, 0x4F, 0x76, 0x65, 0x72, 0x72, 0x69, + 0x64, 0x65, 0x53, 0x70, 0x65, 0x65, 0x64, 0x20, + 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, 0x30, 0x35, + 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, + 0x73, 0x0D, 0x20, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x50, 0x68, 0x79, 0x4C, 0x61, 0x6E, 0x65, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, + 0x30, 0x36, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, + 0x31, 0x70, 0x73, 0x0D, 0x20, 0x45, 0x6E, 0x64, + 0x50, 0x68, 0x79, 0x4C, 0x61, 0x6E, 0x65, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, + 0x41, 0x42, 0x30, 0x37, 0x00, 0x41, 0x44, 0x42, + 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, 0x20, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x43, 0x6F, 0x72, 0x65, + 0x4C, 0x61, 0x6E, 0x65, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, + 0x00, 0x98, 0x41, 0x42, 0x30, 0x38, 0x00, 0x41, + 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, + 0x20, 0x45, 0x6E, 0x64, 0x43, 0x6F, 0x72, 0x65, + 0x4C, 0x61, 0x6E, 0x65, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, 0x30, 0x39, + 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, + 0x73, 0x0D, 0x20, 0x50, 0x6F, 0x72, 0x74, 0x49, + 0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, + 0x30, 0x41, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, + 0x31, 0x70, 0x73, 0x0D, 0x20, 0x4C, 0x69, 0x6E, + 0x6B, 0x48, 0x6F, 0x74, 0x70, 0x6C, 0x75, 0x67, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, + 0x41, 0x42, 0x30, 0x42, 0x00, 0x41, 0x44, 0x42, + 0x47, 0x5B, 0x31, 0x70, 0x0D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x00, 0x5B, 0x31, + 0x14, 0x42, 0x05, 0x41, 0x30, 0x39, 0x34, 0x02, + 0xA0, 0x11, 0x93, 0x41, 0x30, 0x39, 0x33, 0x68, + 0x0A, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0xA4, + 0x0A, 0x00, 0x70, 0x41, 0x30, 0x39, 0x33, 0x68, + 0x0A, 0x34, 0x60, 0xA2, 0x2F, 0x0A, 0x01, 0x70, + 0x41, 0x30, 0x39, 0x33, 0x68, 0x7B, 0x60, 0x0A, + 0xFF, 0x00, 0x61, 0xA0, 0x0E, 0x93, 0x7B, 0x61, + 0x0A, 0xFF, 0x00, 0x69, 0xA4, 0x7B, 0x60, 0x0A, + 0xFF, 0x00, 0x7B, 0x7A, 0x61, 0x0A, 0x08, 0x00, + 0x0A, 0xFF, 0x60, 0xA0, 0x07, 0x93, 0x60, 0x0A, + 0x00, 0xA4, 0x60, 0x08, 0x41, 0x45, 0x53, 0x50, + 0x12, 0x12, 0x08, 0x0A, 0x00, 0x0A, 0x00, 0x0A, + 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0A, + 0x00, 0x0A, 0x00, 0x14, 0x49, 0x0D, 0x41, 0x30, + 0x36, 0x38, 0x01, 0x70, 0x0D, 0x50, 0x63, 0x69, + 0x65, 0x45, 0x70, 0x41, 0x73, 0x70, 0x6D, 0x20, + 0x45, 0x6E, 0x74, 0x65, 0x72, 0x00, 0x5B, 0x31, + 0x70, 0x0A, 0x00, 0x60, 0xA0, 0x49, 0x08, 0x92, + 0x93, 0x41, 0x30, 0x39, 0x33, 0x60, 0x0A, 0x00, + 0x0C, 0xFF, 0xFF, 0xFF, 0xFF, 0x7B, 0x41, 0x30, + 0x39, 0x33, 0x60, 0x0A, 0x08, 0x0A, 0x80, 0x61, + 0xA0, 0x09, 0x93, 0x61, 0x0A, 0x80, 0x70, 0x0A, + 0x07, 0x67, 0xA1, 0x05, 0x70, 0x0A, 0x00, 0x67, + 0xA2, 0x4D, 0x05, 0x92, 0x94, 0x60, 0x67, 0x70, + 0x41, 0x30, 0x39, 0x34, 0x60, 0x0A, 0x10, 0x61, + 0xA0, 0x08, 0x93, 0x61, 0x0A, 0x00, 0x75, 0x60, + 0x9F, 0xA0, 0x2B, 0x93, 0x68, 0x0A, 0x00, 0x70, + 0x41, 0x30, 0x39, 0x33, 0x60, 0x72, 0x61, 0x0A, + 0x10, 0x00, 0x62, 0x41, 0x30, 0x39, 0x35, 0x60, + 0x72, 0x61, 0x0A, 0x10, 0x00, 0x7B, 0x62, 0x80, + 0x0A, 0x03, 0x00, 0x00, 0x70, 0x62, 0x88, 0x41, + 0x45, 0x53, 0x50, 0x60, 0x00, 0xA1, 0x16, 0x70, + 0x83, 0x88, 0x41, 0x45, 0x53, 0x50, 0x60, 0x00, + 0x62, 0x41, 0x30, 0x39, 0x35, 0x60, 0x72, 0x61, + 0x0A, 0x10, 0x00, 0x62, 0x75, 0x60, 0xA1, 0x1A, + 0x70, 0x0D, 0x45, 0x6E, 0x64, 0x70, 0x6F, 0x69, + 0x6E, 0x74, 0x20, 0x6E, 0x6F, 0x74, 0x20, 0x70, + 0x72, 0x65, 0x73, 0x65, 0x6E, 0x74, 0x00, 0x5B, + 0x31, 0x70, 0x0D, 0x50, 0x63, 0x69, 0x65, 0x45, + 0x70, 0x41, 0x73, 0x70, 0x6D, 0x20, 0x45, 0x78, + 0x69, 0x74, 0x00, 0x5B, 0x31, 0x14, 0x3D, 0x41, + 0x30, 0x39, 0x35, 0x0B, 0x72, 0x41, 0x47, 0x52, + 0x42, 0x79, 0x41, 0x30, 0x37, 0x34, 0x0A, 0x14, + 0x00, 0x60, 0x72, 0x60, 0x79, 0x68, 0x0A, 0x0C, + 0x00, 0x60, 0x72, 0x60, 0x69, 0x60, 0x5B, 0x80, + 0x41, 0x44, 0x52, 0x42, 0x00, 0x60, 0x0A, 0x04, + 0x5B, 0x81, 0x0B, 0x41, 0x44, 0x52, 0x42, 0x03, + 0x41, 0x44, 0x52, 0x52, 0x20, 0x70, 0x6A, 0x41, + 0x44, 0x52, 0x52, 0x14, 0x3C, 0x41, 0x30, 0x39, + 0x33, 0x0A, 0x72, 0x41, 0x47, 0x52, 0x42, 0x79, + 0x41, 0x30, 0x37, 0x34, 0x0A, 0x14, 0x00, 0x60, + 0x72, 0x60, 0x79, 0x68, 0x0A, 0x0C, 0x00, 0x60, + 0x72, 0x60, 0x69, 0x60, 0x5B, 0x80, 0x41, 0x44, + 0x52, 0x42, 0x00, 0x60, 0x0A, 0x04, 0x5B, 0x81, + 0x0B, 0x41, 0x44, 0x52, 0x42, 0x03, 0x41, 0x44, + 0x52, 0x52, 0x20, 0xA4, 0x41, 0x44, 0x52, 0x52, + 0x14, 0x19, 0x41, 0x30, 0x38, 0x39, 0x01, 0xA0, + 0x0C, 0x92, 0x93, 0x41, 0x42, 0x30, 0x42, 0x0A, + 0x01, 0xA4, 0x0A, 0x00, 0xA4, 0x41, 0x30, 0x37, + 0x36, 0x68, 0x14, 0x49, 0x25, 0x41, 0x30, 0x39, + 0x30, 0x01, 0x08, 0x41, 0x30, 0x36, 0x39, 0x0A, + 0x00, 0x70, 0x41, 0x30, 0x37, 0x30, 0x41, 0x30, + 0x36, 0x39, 0x70, 0x0A, 0x00, 0x41, 0x30, 0x37, + 0x30, 0xA0, 0x09, 0x93, 0x68, 0x0A, 0x01, 0x70, + 0x0A, 0x01, 0x60, 0xA1, 0x05, 0x70, 0x0A, 0x05, + 0x60, 0xA2, 0x46, 0x1E, 0x92, 0x93, 0x60, 0x0A, + 0x08, 0xA0, 0x41, 0x04, 0x93, 0x60, 0x0A, 0x01, + 0xA0, 0x15, 0x94, 0x41, 0x42, 0x30, 0x45, 0x0A, + 0x01, 0x70, 0x41, 0x42, 0x30, 0x45, 0x41, 0x42, + 0x30, 0x35, 0x41, 0x30, 0x33, 0x38, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x30, 0x39, 0x31, + 0x0A, 0x01, 0x41, 0x42, 0x30, 0x36, 0x41, 0x42, + 0x30, 0x37, 0x41, 0x30, 0x39, 0x32, 0x0A, 0x01, + 0x70, 0x0A, 0x00, 0x41, 0x30, 0x38, 0x37, 0x70, + 0x0A, 0x03, 0x60, 0xA0, 0x4D, 0x04, 0x93, 0x60, + 0x0A, 0x03, 0x70, 0x0A, 0x00, 0x61, 0x70, 0x0A, + 0x00, 0x62, 0xA2, 0x2E, 0x95, 0x61, 0x0A, 0x3C, + 0xA0, 0x22, 0x94, 0x41, 0x30, 0x36, 0x35, 0x0A, + 0x04, 0x70, 0x0D, 0x20, 0x44, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x20, 0x64, 0x65, 0x74, 0x65, 0x63, + 0x74, 0x65, 0x64, 0x00, 0x5B, 0x31, 0x70, 0x0A, + 0x01, 0x62, 0xA5, 0x5B, 0x22, 0x0A, 0x01, 0x75, + 0x61, 0xA0, 0x09, 0x93, 0x62, 0x0A, 0x01, 0x70, + 0x0A, 0x04, 0x60, 0xA1, 0x05, 0x70, 0x0A, 0x05, + 0x60, 0xA0, 0x45, 0x06, 0x93, 0x60, 0x0A, 0x04, + 0x70, 0x0A, 0x00, 0x61, 0x70, 0x0A, 0x00, 0x62, + 0xA2, 0x37, 0x95, 0x61, 0x0A, 0x50, 0xA0, 0x2B, + 0x90, 0x92, 0x95, 0x41, 0x30, 0x36, 0x35, 0x0A, + 0x10, 0x92, 0x94, 0x41, 0x30, 0x36, 0x35, 0x0A, + 0x13, 0x70, 0x0D, 0x20, 0x44, 0x65, 0x76, 0x69, + 0x63, 0x65, 0x20, 0x50, 0x72, 0x65, 0x73, 0x65, + 0x6E, 0x74, 0x00, 0x5B, 0x31, 0x70, 0x0A, 0x01, + 0x62, 0xA5, 0x5B, 0x22, 0x0A, 0x01, 0x75, 0x61, + 0xA0, 0x09, 0x93, 0x62, 0x0A, 0x01, 0x70, 0x0A, + 0x07, 0x60, 0xA1, 0x14, 0xA0, 0x0C, 0x93, 0x41, + 0x42, 0x30, 0x34, 0x0A, 0x01, 0x70, 0x0A, 0x05, + 0x60, 0xA1, 0x05, 0x70, 0x0A, 0x06, 0x60, 0xA0, + 0x45, 0x07, 0x93, 0x60, 0x0A, 0x06, 0x70, 0x0A, + 0x01, 0x41, 0x42, 0x30, 0x34, 0x70, 0x0A, 0x01, + 0x41, 0x42, 0x30, 0x35, 0x41, 0x30, 0x36, 0x34, + 0x0A, 0x01, 0xA0, 0x46, 0x05, 0x5B, 0x12, 0x5C, + 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x4C, 0x49, + 0x43, 0x66, 0x70, 0x0D, 0x20, 0x43, 0x61, 0x6C, + 0x6C, 0x20, 0x41, 0x4C, 0x49, 0x43, 0x20, 0x6D, + 0x65, 0x74, 0x68, 0x6F, 0x64, 0x00, 0x5B, 0x31, + 0x7D, 0x79, 0x41, 0x42, 0x30, 0x43, 0x0A, 0x03, + 0x00, 0x41, 0x42, 0x30, 0x44, 0x61, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x4C, 0x49, 0x43, + 0x61, 0x0A, 0x00, 0x5B, 0x22, 0x0A, 0x02, 0x5C, + 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x4C, 0x49, + 0x43, 0x61, 0x0A, 0x01, 0x70, 0x0A, 0x03, 0x60, + 0x9F, 0x70, 0x0A, 0x05, 0x60, 0xA0, 0x44, 0x06, + 0x93, 0x60, 0x0A, 0x05, 0x70, 0x0D, 0x20, 0x44, + 0x65, 0x76, 0x69, 0x63, 0x65, 0x20, 0x6E, 0x6F, + 0x74, 0x20, 0x50, 0x72, 0x65, 0x73, 0x65, 0x6E, + 0x74, 0x00, 0x5B, 0x31, 0x41, 0x30, 0x39, 0x33, + 0x0A, 0x00, 0x0A, 0x00, 0x70, 0x0A, 0x01, 0x41, + 0x30, 0x38, 0x37, 0x41, 0x30, 0x39, 0x32, 0x0A, + 0x00, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, + 0x30, 0x39, 0x31, 0x0A, 0x00, 0x41, 0x42, 0x30, + 0x36, 0x41, 0x42, 0x30, 0x37, 0x70, 0x0A, 0x00, + 0x41, 0x42, 0x30, 0x35, 0x70, 0x0A, 0x00, 0x41, + 0x42, 0x30, 0x34, 0x70, 0x0A, 0x00, 0x41, 0x42, + 0x31, 0x30, 0x70, 0x0A, 0x00, 0x62, 0x70, 0x0A, + 0x08, 0x60, 0xA0, 0x0D, 0x93, 0x60, 0x0A, 0x07, + 0x70, 0x0A, 0x01, 0x62, 0x70, 0x0A, 0x08, 0x60, + 0xA0, 0x0F, 0x93, 0x41, 0x42, 0x30, 0x34, 0x0A, + 0x00, 0x70, 0x0A, 0x00, 0x41, 0x42, 0x30, 0x35, + 0xA0, 0x28, 0x91, 0x94, 0x41, 0x42, 0x30, 0x45, + 0x0A, 0x01, 0x93, 0x41, 0x50, 0x30, 0x35, 0x0A, + 0x01, 0xA0, 0x17, 0x94, 0x83, 0x88, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, + 0x0A, 0x00, 0x00, 0x0A, 0x01, 0x41, 0x30, 0x33, + 0x38, 0x70, 0x41, 0x30, 0x36, 0x39, 0x41, 0x30, + 0x37, 0x30, 0xA4, 0x62, 0x14, 0x46, 0x05, 0x41, + 0x30, 0x39, 0x32, 0x01, 0xA0, 0x14, 0x94, 0x41, + 0x42, 0x30, 0x36, 0x41, 0x42, 0x30, 0x37, 0x74, + 0x41, 0x42, 0x30, 0x36, 0x41, 0x42, 0x30, 0x37, + 0x60, 0xA1, 0x0B, 0x74, 0x41, 0x42, 0x30, 0x37, + 0x41, 0x42, 0x30, 0x36, 0x60, 0x75, 0x60, 0x79, + 0x0A, 0x01, 0x60, 0x60, 0x76, 0x60, 0x79, 0x60, + 0x41, 0x42, 0x30, 0x38, 0x60, 0xA0, 0x0F, 0x93, + 0x68, 0x0A, 0x01, 0x7D, 0x41, 0x30, 0x38, 0x38, + 0x60, 0x41, 0x30, 0x38, 0x38, 0xA1, 0x0D, 0x7B, + 0x41, 0x30, 0x38, 0x38, 0x80, 0x60, 0x00, 0x41, + 0x30, 0x38, 0x38, 0x5B, 0x82, 0x4A, 0xE6, 0x41, + 0x42, 0x52, 0x34, 0x08, 0x5F, 0x48, 0x49, 0x44, + 0x0C, 0x41, 0xD0, 0x0C, 0x02, 0x08, 0x5F, 0x55, + 0x49, 0x44, 0x0A, 0x84, 0x08, 0x41, 0x42, 0x31, + 0x32, 0x0A, 0x70, 0x08, 0x41, 0x42, 0x30, 0x30, + 0x0A, 0x00, 0x08, 0x41, 0x42, 0x30, 0x31, 0x0A, + 0x00, 0x08, 0x41, 0x42, 0x30, 0x45, 0x0A, 0x00, + 0x08, 0x41, 0x42, 0x30, 0x32, 0x0A, 0x00, 0x08, + 0x41, 0x42, 0x30, 0x33, 0x0A, 0x00, 0x08, 0x41, + 0x42, 0x30, 0x34, 0x0A, 0x00, 0x08, 0x41, 0x42, + 0x30, 0x35, 0x0A, 0x00, 0x08, 0x41, 0x42, 0x30, + 0x36, 0x0A, 0x00, 0x08, 0x41, 0x42, 0x30, 0x37, + 0x0A, 0x00, 0x08, 0x41, 0x42, 0x30, 0x38, 0x0A, + 0x00, 0x08, 0x41, 0x42, 0x30, 0x39, 0x0A, 0x00, + 0x08, 0x41, 0x42, 0x30, 0x41, 0x0A, 0x00, 0x08, + 0x41, 0x42, 0x30, 0x42, 0x0A, 0x00, 0x08, 0x41, + 0x42, 0x30, 0x43, 0x0A, 0x00, 0x08, 0x41, 0x42, + 0x30, 0x44, 0x0A, 0x00, 0x5B, 0x80, 0x41, 0x30, + 0x38, 0x33, 0x00, 0x72, 0x41, 0x47, 0x52, 0x42, + 0x7D, 0x79, 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, + 0x42, 0x31, 0x32, 0x0A, 0x0D, 0x00, 0x00, 0x0A, + 0x0F, 0x00, 0x79, 0x83, 0x88, 0x5C, 0x2E, 0x5F, + 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, 0x72, + 0x41, 0x42, 0x31, 0x32, 0x0A, 0x0E, 0x00, 0x00, + 0x0A, 0x0C, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x10, + 0x5B, 0x81, 0x45, 0x04, 0x41, 0x30, 0x38, 0x33, + 0x01, 0x00, 0x40, 0x0C, 0x00, 0x08, 0x41, 0x30, + 0x37, 0x34, 0x08, 0x41, 0x30, 0x37, 0x35, 0x08, + 0x00, 0x48, 0x26, 0x41, 0x30, 0x37, 0x30, 0x02, + 0x00, 0x03, 0x41, 0x30, 0x37, 0x31, 0x01, 0x00, + 0x0A, 0x00, 0x0B, 0x41, 0x30, 0x37, 0x32, 0x01, + 0x00, 0x44, 0x0E, 0x41, 0x30, 0x38, 0x32, 0x04, + 0x00, 0x01, 0x41, 0x30, 0x37, 0x39, 0x01, 0x00, + 0x4A, 0x2B, 0x41, 0x30, 0x38, 0x34, 0x20, 0x5B, + 0x87, 0x16, 0x41, 0x30, 0x38, 0x33, 0x41, 0x30, + 0x38, 0x34, 0x0A, 0xA1, 0x03, 0x00, 0x40, 0x72, + 0x00, 0x0C, 0x41, 0x30, 0x36, 0x36, 0x01, 0x5B, + 0x87, 0x16, 0x41, 0x30, 0x38, 0x33, 0x41, 0x30, + 0x38, 0x34, 0x0A, 0xA2, 0x03, 0x00, 0x40, 0x72, + 0x00, 0x0D, 0x41, 0x30, 0x38, 0x31, 0x01, 0x5B, + 0x87, 0x27, 0x41, 0x30, 0x38, 0x33, 0x41, 0x30, + 0x38, 0x34, 0x0A, 0xA4, 0x03, 0x00, 0x40, 0x72, + 0x41, 0x30, 0x37, 0x37, 0x01, 0x41, 0x30, 0x37, + 0x38, 0x01, 0x00, 0x0B, 0x41, 0x30, 0x37, 0x33, + 0x02, 0x00, 0x0E, 0x41, 0x30, 0x38, 0x30, 0x01, + 0x5B, 0x87, 0x14, 0x41, 0x30, 0x38, 0x33, 0x41, + 0x30, 0x38, 0x34, 0x0A, 0xA5, 0x03, 0x00, 0x40, + 0x72, 0x41, 0x30, 0x36, 0x35, 0x06, 0x5B, 0x80, + 0x41, 0x30, 0x38, 0x35, 0x00, 0x41, 0x47, 0x52, + 0x42, 0x0B, 0x00, 0x10, 0x5B, 0x81, 0x0E, 0x41, + 0x30, 0x38, 0x35, 0x01, 0x00, 0x40, 0x70, 0x41, + 0x30, 0x38, 0x36, 0x20, 0x5B, 0x87, 0x3C, 0x41, + 0x30, 0x38, 0x35, 0x41, 0x30, 0x38, 0x36, 0x7D, + 0x79, 0x5E, 0x57, 0x52, 0x42, 0x53, 0x0A, 0x10, + 0x00, 0x72, 0x0B, 0x00, 0x08, 0x77, 0x0B, 0x00, + 0x01, 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, + 0x5F, 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, 0x42, + 0x31, 0x32, 0x0A, 0x0B, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x03, 0x00, 0x40, 0x72, 0x41, 0x30, 0x38, + 0x37, 0x01, 0x5B, 0x87, 0x20, 0x41, 0x30, 0x38, + 0x35, 0x41, 0x30, 0x38, 0x36, 0x7D, 0x79, 0x5E, + 0x57, 0x52, 0x42, 0x53, 0x0A, 0x10, 0x00, 0x0B, + 0x29, 0x80, 0x00, 0x03, 0x00, 0x40, 0x72, 0x41, + 0x30, 0x38, 0x38, 0x10, 0x08, 0x41, 0x42, 0x31, + 0x30, 0x0A, 0x00, 0x14, 0x4D, 0x18, 0x5F, 0x49, + 0x4E, 0x49, 0x00, 0x70, 0x83, 0x88, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, + 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, 0x00, 0x00, + 0x00, 0x41, 0x42, 0x30, 0x30, 0x70, 0x83, 0x88, + 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, + 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, + 0x01, 0x00, 0x00, 0x41, 0x42, 0x30, 0x45, 0x70, + 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, + 0x32, 0x0A, 0x02, 0x00, 0x00, 0x41, 0x42, 0x30, + 0x31, 0x70, 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, + 0x42, 0x31, 0x32, 0x0A, 0x03, 0x00, 0x00, 0x41, + 0x42, 0x30, 0x32, 0x70, 0x83, 0x88, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, + 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, 0x04, 0x00, + 0x00, 0x41, 0x42, 0x30, 0x33, 0x70, 0x83, 0x88, + 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, + 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, + 0x05, 0x00, 0x00, 0x41, 0x42, 0x30, 0x34, 0x70, + 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, + 0x32, 0x0A, 0x06, 0x00, 0x00, 0x41, 0x42, 0x30, + 0x35, 0x70, 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, + 0x42, 0x31, 0x32, 0x0A, 0x07, 0x00, 0x00, 0x41, + 0x42, 0x30, 0x36, 0x70, 0x83, 0x88, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, + 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, 0x08, 0x00, + 0x00, 0x41, 0x42, 0x30, 0x37, 0x70, 0x83, 0x88, + 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, + 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, + 0x09, 0x00, 0x00, 0x41, 0x42, 0x30, 0x38, 0x70, + 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, + 0x32, 0x0A, 0x0A, 0x00, 0x00, 0x41, 0x42, 0x30, + 0x39, 0x70, 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, + 0x42, 0x31, 0x32, 0x0A, 0x0B, 0x00, 0x00, 0x41, + 0x42, 0x30, 0x41, 0x70, 0x83, 0x88, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, + 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, 0x0C, 0x00, + 0x00, 0x41, 0x42, 0x30, 0x42, 0x70, 0x83, 0x88, + 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x44, + 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, 0x32, 0x0A, + 0x0D, 0x00, 0x00, 0x41, 0x42, 0x30, 0x43, 0x70, + 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x44, 0x41, 0x54, 0x72, 0x41, 0x42, 0x31, + 0x32, 0x0A, 0x0E, 0x00, 0x00, 0x41, 0x42, 0x30, + 0x44, 0x14, 0x22, 0x41, 0x30, 0x36, 0x31, 0x00, + 0x70, 0x41, 0x30, 0x34, 0x31, 0x60, 0xA0, 0x0A, + 0x93, 0x60, 0x0A, 0x01, 0xA4, 0x41, 0x42, 0x30, + 0x31, 0xA0, 0x0A, 0x93, 0x60, 0x0A, 0x00, 0xA4, + 0x41, 0x42, 0x30, 0x45, 0x14, 0x1F, 0x41, 0x30, + 0x35, 0x35, 0x00, 0xA0, 0x15, 0x92, 0x93, 0x41, + 0x42, 0x31, 0x30, 0x0A, 0x00, 0xA0, 0x0B, 0x93, + 0x41, 0x42, 0x31, 0x30, 0x0A, 0x01, 0xA4, 0x0A, + 0x01, 0xA4, 0x0A, 0x00, 0x14, 0x2A, 0x41, 0x30, + 0x36, 0x32, 0x00, 0xA0, 0x0E, 0x92, 0x93, 0x41, + 0x42, 0x30, 0x35, 0x0A, 0x00, 0xA4, 0x41, 0x42, + 0x30, 0x35, 0xA0, 0x11, 0x94, 0x41, 0x42, 0x31, + 0x30, 0x0A, 0x01, 0xA4, 0x74, 0x41, 0x42, 0x31, + 0x30, 0x0A, 0x01, 0x00, 0xA4, 0x0A, 0x00, 0x14, + 0x49, 0x07, 0x41, 0x30, 0x35, 0x34, 0x00, 0xA0, + 0x22, 0x93, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x50, 0x30, 0x35, 0x0A, 0x00, 0xA0, 0x0E, + 0x92, 0x93, 0x41, 0x42, 0x30, 0x35, 0x0A, 0x00, + 0xA4, 0x41, 0x42, 0x30, 0x35, 0xA4, 0x41, 0x42, + 0x30, 0x45, 0x70, 0x41, 0x30, 0x36, 0x32, 0x60, + 0xA0, 0x17, 0x92, 0x93, 0x60, 0x0A, 0x00, 0xA0, + 0x0C, 0x94, 0x60, 0x41, 0x42, 0x30, 0x30, 0xA4, + 0x41, 0x42, 0x30, 0x30, 0xA1, 0x03, 0xA4, 0x60, + 0x70, 0x41, 0x30, 0x36, 0x31, 0x60, 0xA0, 0x28, + 0x92, 0x93, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x50, 0x30, 0x33, 0x0A, 0x00, 0xA0, 0x18, + 0x95, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, + 0x50, 0x30, 0x33, 0x60, 0xA4, 0x5C, 0x2E, 0x5F, + 0x53, 0x42, 0x5F, 0x41, 0x50, 0x30, 0x33, 0xA4, + 0x60, 0x14, 0x0B, 0x41, 0x30, 0x35, 0x33, 0x00, + 0xA4, 0x41, 0x42, 0x30, 0x32, 0x14, 0x0B, 0x41, + 0x30, 0x35, 0x36, 0x00, 0xA4, 0x41, 0x42, 0x30, + 0x30, 0x14, 0x4B, 0x13, 0x41, 0x30, 0x35, 0x32, + 0x01, 0x70, 0x73, 0x0D, 0x20, 0x50, 0x63, 0x69, + 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x50, 0x6F, 0x72, 0x74, 0x53, 0x70, 0x65, 0x65, + 0x64, 0x20, 0x45, 0x6E, 0x74, 0x65, 0x72, 0x20, + 0x53, 0x70, 0x65, 0x65, 0x64, 0x3A, 0x20, 0x00, + 0x98, 0x68, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, + 0x31, 0x70, 0x68, 0x41, 0x42, 0x30, 0x32, 0xA0, + 0x14, 0x93, 0x41, 0x42, 0x30, 0x33, 0x0A, 0x01, + 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x30, + 0x36, 0x33, 0x0A, 0x01, 0x41, 0x30, 0x36, 0x34, + 0x68, 0xA0, 0x40, 0x0B, 0x92, 0x95, 0x41, 0x30, + 0x36, 0x35, 0x0A, 0x10, 0xA0, 0x10, 0x92, 0x93, + 0x41, 0x42, 0x31, 0x30, 0x0A, 0x00, 0x70, 0x0A, + 0x00, 0x41, 0x30, 0x36, 0x36, 0xA1, 0x08, 0x70, + 0x0A, 0x01, 0x41, 0x30, 0x36, 0x36, 0xA0, 0x14, + 0x93, 0x41, 0x42, 0x30, 0x33, 0x0A, 0x01, 0x5C, + 0x2E, 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x30, 0x36, + 0x37, 0x0A, 0x00, 0xA1, 0x07, 0x41, 0x30, 0x36, + 0x38, 0x0A, 0x00, 0x08, 0x41, 0x30, 0x36, 0x39, + 0x0A, 0x00, 0x70, 0x41, 0x30, 0x37, 0x30, 0x41, + 0x30, 0x36, 0x39, 0x70, 0x0A, 0x00, 0x41, 0x30, + 0x37, 0x30, 0x70, 0x0A, 0x01, 0x60, 0xA2, 0x2D, + 0x60, 0x70, 0x0A, 0x01, 0x41, 0x30, 0x37, 0x31, + 0x5B, 0x22, 0x0A, 0x1E, 0xA2, 0x0C, 0x93, 0x41, + 0x30, 0x37, 0x32, 0x0A, 0x01, 0x5B, 0x22, 0x0A, + 0x0A, 0xA0, 0x0F, 0x93, 0x68, 0x0A, 0x01, 0xA0, + 0x09, 0x93, 0x41, 0x30, 0x37, 0x33, 0x0A, 0x00, + 0xA5, 0xA1, 0x02, 0xA5, 0x70, 0x41, 0x30, 0x36, + 0x39, 0x41, 0x30, 0x37, 0x30, 0xA0, 0x14, 0x93, + 0x41, 0x42, 0x30, 0x33, 0x0A, 0x01, 0x5C, 0x2E, + 0x5F, 0x53, 0x42, 0x5F, 0x41, 0x30, 0x36, 0x37, + 0x0A, 0x01, 0xA1, 0x07, 0x41, 0x30, 0x36, 0x38, + 0x0A, 0x01, 0xA0, 0x14, 0x93, 0x41, 0x42, 0x30, + 0x33, 0x0A, 0x01, 0x5C, 0x2E, 0x5F, 0x53, 0x42, + 0x5F, 0x41, 0x30, 0x36, 0x33, 0x0A, 0x00, 0x70, + 0x0D, 0x50, 0x63, 0x69, 0x65, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x50, 0x6F, 0x72, 0x74, + 0x53, 0x70, 0x65, 0x65, 0x64, 0x20, 0x45, 0x78, + 0x69, 0x74, 0x00, 0x5B, 0x31, 0x14, 0x28, 0x41, + 0x30, 0x35, 0x37, 0x01, 0x70, 0x73, 0x0D, 0x20, + 0x53, 0x65, 0x74, 0x20, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x20, 0x3A, 0x20, 0x00, 0x98, + 0x68, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, + 0x70, 0x68, 0x41, 0x42, 0x31, 0x30, 0x14, 0x22, + 0x41, 0x30, 0x35, 0x38, 0x01, 0x7A, 0x68, 0x0A, + 0x08, 0x60, 0xA0, 0x13, 0x90, 0x92, 0x95, 0x60, + 0x41, 0x30, 0x37, 0x34, 0x92, 0x94, 0x60, 0x41, + 0x30, 0x37, 0x35, 0xA4, 0x0A, 0x01, 0xA4, 0x0A, + 0x00, 0x14, 0x1F, 0x41, 0x30, 0x37, 0x36, 0x01, + 0x7D, 0x41, 0x42, 0x30, 0x44, 0x79, 0x41, 0x42, + 0x30, 0x43, 0x0A, 0x03, 0x00, 0x60, 0xA0, 0x07, + 0x93, 0x68, 0x60, 0xA4, 0x0A, 0x01, 0xA4, 0x0A, + 0x00, 0x14, 0x0D, 0x41, 0x30, 0x35, 0x39, 0x00, + 0x70, 0x0A, 0x00, 0x41, 0x42, 0x31, 0x30, 0x14, + 0x42, 0x07, 0x41, 0x30, 0x36, 0x34, 0x01, 0xA0, + 0x0D, 0x92, 0x95, 0x68, 0x0A, 0x02, 0x70, 0x0A, + 0x01, 0x41, 0x30, 0x37, 0x37, 0xA0, 0x0D, 0x92, + 0x95, 0x68, 0x0A, 0x03, 0x70, 0x0A, 0x01, 0x41, + 0x30, 0x37, 0x38, 0xA0, 0x31, 0x93, 0x68, 0x0A, + 0x01, 0x70, 0x0A, 0x01, 0x41, 0x30, 0x37, 0x39, + 0x70, 0x0A, 0x00, 0x41, 0x30, 0x37, 0x37, 0x70, + 0x0A, 0x00, 0x41, 0x30, 0x37, 0x38, 0x70, 0x0A, + 0x00, 0x41, 0x30, 0x38, 0x30, 0xA0, 0x0F, 0x93, + 0x41, 0x42, 0x30, 0x34, 0x0A, 0x01, 0x70, 0x0A, + 0x01, 0x41, 0x30, 0x38, 0x31, 0xA1, 0x16, 0x70, + 0x0A, 0x00, 0x41, 0x30, 0x37, 0x39, 0x70, 0x0A, + 0x01, 0x41, 0x30, 0x38, 0x30, 0x70, 0x0A, 0x00, + 0x41, 0x30, 0x38, 0x31, 0x70, 0x68, 0x41, 0x30, + 0x38, 0x32, 0x14, 0x41, 0x32, 0x41, 0x30, 0x36, + 0x30, 0x00, 0x70, 0x0D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x00, 0x5B, 0x31, 0x70, + 0x73, 0x0D, 0x20, 0x44, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, + 0x30, 0x43, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, + 0x31, 0x70, 0x73, 0x0D, 0x20, 0x46, 0x75, 0x6E, + 0x63, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, + 0x41, 0x42, 0x30, 0x44, 0x00, 0x41, 0x44, 0x42, + 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, 0x20, 0x50, + 0x63, 0x69, 0x65, 0x50, 0x6F, 0x72, 0x74, 0x41, + 0x63, 0x53, 0x70, 0x65, 0x65, 0x64, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, + 0x00, 0x98, 0x41, 0x42, 0x30, 0x45, 0x00, 0x41, + 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, + 0x20, 0x50, 0x63, 0x69, 0x65, 0x50, 0x6F, 0x72, + 0x74, 0x4D, 0x61, 0x78, 0x53, 0x70, 0x65, 0x65, + 0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, 0x30, 0x30, + 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, + 0x73, 0x0D, 0x20, 0x50, 0x63, 0x69, 0x65, 0x50, + 0x6F, 0x72, 0x74, 0x41, 0x63, 0x53, 0x70, 0x65, + 0x65, 0x64, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, + 0x30, 0x45, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, + 0x31, 0x70, 0x73, 0x0D, 0x20, 0x50, 0x63, 0x69, + 0x65, 0x50, 0x6F, 0x72, 0x74, 0x44, 0x63, 0x53, + 0x70, 0x65, 0x65, 0x64, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, + 0x41, 0x42, 0x30, 0x31, 0x00, 0x41, 0x44, 0x42, + 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, 0x20, 0x50, + 0x63, 0x69, 0x65, 0x50, 0x6F, 0x72, 0x74, 0x43, + 0x75, 0x72, 0x53, 0x70, 0x65, 0x65, 0x64, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, + 0x00, 0x98, 0x41, 0x42, 0x30, 0x32, 0x00, 0x41, + 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, + 0x20, 0x50, 0x63, 0x69, 0x65, 0x53, 0x62, 0x50, + 0x6F, 0x72, 0x74, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, 0x30, 0x33, + 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, + 0x73, 0x0D, 0x20, 0x50, 0x63, 0x69, 0x65, 0x4C, + 0x69, 0x6E, 0x6B, 0x53, 0x61, 0x66, 0x65, 0x4D, + 0x6F, 0x64, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, + 0x30, 0x34, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, + 0x31, 0x70, 0x73, 0x0D, 0x20, 0x50, 0x63, 0x69, + 0x65, 0x4C, 0x6F, 0x63, 0x61, 0x6C, 0x4F, 0x76, + 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x53, 0x70, + 0x65, 0x65, 0x64, 0x20, 0x3A, 0x20, 0x00, 0x98, + 0x41, 0x42, 0x30, 0x35, 0x00, 0x41, 0x44, 0x42, + 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, 0x20, 0x53, + 0x74, 0x61, 0x72, 0x74, 0x50, 0x68, 0x79, 0x4C, + 0x61, 0x6E, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, + 0x00, 0x98, 0x41, 0x42, 0x30, 0x36, 0x00, 0x41, + 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, + 0x20, 0x45, 0x6E, 0x64, 0x50, 0x68, 0x79, 0x4C, + 0x61, 0x6E, 0x65, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, 0x30, 0x37, + 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, + 0x73, 0x0D, 0x20, 0x53, 0x74, 0x61, 0x72, 0x74, + 0x43, 0x6F, 0x72, 0x65, 0x4C, 0x61, 0x6E, 0x65, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, + 0x30, 0x38, 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, + 0x31, 0x70, 0x73, 0x0D, 0x20, 0x45, 0x6E, 0x64, + 0x43, 0x6F, 0x72, 0x65, 0x4C, 0x61, 0x6E, 0x65, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, 0x00, 0x98, + 0x41, 0x42, 0x30, 0x39, 0x00, 0x41, 0x44, 0x42, + 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, 0x20, 0x50, + 0x6F, 0x72, 0x74, 0x49, 0x64, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3A, 0x20, + 0x00, 0x98, 0x41, 0x42, 0x30, 0x41, 0x00, 0x41, + 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, 0x73, 0x0D, + 0x20, 0x4C, 0x69, 0x6E, 0x6B, 0x48, 0x6F, 0x74, + 0x70, 0x6C, 0x75, 0x67, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3A, 0x20, 0x00, 0x98, 0x41, 0x42, 0x30, 0x42, + 0x00, 0x41, 0x44, 0x42, 0x47, 0x5B, 0x31, 0x70, + 0x0D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, 0x2D, + 0x2D, 0x00, 0x5B, 0x31, 0x14, 0x42, 0x05, 0x41, + 0x30, 0x39, 0x34, 0x02, 0xA0, 0x11, 0x93, 0x41, + 0x30, 0x39, 0x33, 0x68, 0x0A, 0x00, 0x0C, 0xFF, + 0xFF, 0xFF, 0xFF, 0xA4, 0x0A, 0x00, 0x70, 0x41, + 0x30, 0x39, 0x33, 0x68, 0x0A, 0x34, 0x60, 0xA2, + 0x2F, 0x0A, 0x01, 0x70, 0x41, 0x30, 0x39, 0x33, + 0x68, 0x7B, 0x60, 0x0A, 0xFF, 0x00, 0x61, 0xA0, + 0x0E, 0x93, 0x7B, 0x61, 0x0A, 0xFF, 0x00, 0x69, + 0xA4, 0x7B, 0x60, 0x0A, 0xFF, 0x00, 0x7B, 0x7A, + 0x61, 0x0A, 0x08, 0x00, 0x0A, 0xFF, 0x60, 0xA0, + 0x07, 0x93, 0x60, 0x0A, 0x00, 0xA4, 0x60, 0x08, + 0x41, 0x45, 0x53, 0x50, 0x12, 0x12, 0x08, 0x0A, + 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0A, + 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x0A, 0x00, 0x14, + 0x49, 0x0D, 0x41, 0x30, 0x36, 0x38, 0x01, 0x70, + 0x0D, 0x50, 0x63, 0x69, 0x65, 0x45, 0x70, 0x41, + 0x73, 0x70, 0x6D, 0x20, 0x45, 0x6E, 0x74, 0x65, + 0x72, 0x00, 0x5B, 0x31, 0x70, 0x0A, 0x00, 0x60, + 0xA0, 0x49, 0x08, 0x92, 0x93, 0x41, 0x30, 0x39, + 0x33, 0x60, 0x0A, 0x00, 0x0C, 0xFF, 0xFF, 0xFF, + 0xFF, 0x7B, 0x41, 0x30, 0x39, 0x33, 0x60, 0x0A, + 0x08, 0x0A, 0x80, 0x61, 0xA0, 0x09, 0x93, 0x61, + 0x0A, 0x80, 0x70, 0x0A, 0x07, 0x67, 0xA1, 0x05, + 0x70, 0x0A, 0x00, 0x67, 0xA2, 0x4D, 0x05, 0x92, + 0x94, 0x60, 0x67, 0x70, 0x41, 0x30, 0x39, 0x34, + 0x60, 0x0A, 0x10, 0x61, 0xA0, 0x08, 0x93, 0x61, + 0x0A, 0x00, 0x75, 0x60, 0x9F, 0xA0, 0x2B, 0x93, + 0x68, 0x0A, 0x00, 0x70, 0x41, 0x30, 0x39, 0x33, + 0x60, 0x72, 0x61, 0x0A, 0x10, 0x00, 0x62, 0x41, + 0x30, 0x39, 0x35, 0x60, 0x72, 0x61, 0x0A, 0x10, + 0x00, 0x7B, 0x62, 0x80, 0x0A, 0x03, 0x00, 0x00, + 0x70, 0x62, 0x88, 0x41, 0x45, 0x53, 0x50, 0x60, + 0x00, 0xA1, 0x16, 0x70, 0x83, 0x88, 0x41, 0x45, + 0x53, 0x50, 0x60, 0x00, 0x62, 0x41, 0x30, 0x39, + 0x35, 0x60, 0x72, 0x61, 0x0A, 0x10, 0x00, 0x62, + 0x75, 0x60, 0xA1, 0x1A, 0x70, 0x0D, 0x45, 0x6E, + 0x64, 0x70, 0x6F, 0x69, 0x6E, 0x74, 0x20, 0x6E, + 0x6F, 0x74, 0x20, 0x70, 0x72, 0x65, 0x73, 0x65, + 0x6E, 0x74, 0x00, 0x5B, 0x31, 0x70, 0x0D, 0x50, + 0x63, 0x69, 0x65, 0x45, 0x70, 0x41, 0x73, 0x70, + 0x6D, 0x20, 0x45, 0x78, 0x69, 0x74, 0x00, 0x5B, + 0x31, 0x14, 0x3D, 0x41, 0x30, 0x39, 0x35, 0x0B, + 0x72, 0x41, 0x47, 0x52, 0x42, 0x79, 0x41, 0x30, + 0x37, 0x34, 0x0A, 0x14, 0x00, 0x60, 0x72, 0x60, + 0x79, 0x68, 0x0A, 0x0C, 0x00, 0x60, 0x72, 0x60, + 0x69, 0x60, 0x5B, 0x80, 0x41, 0x44, 0x52, 0x42, + 0x00, 0x60, 0x0A, 0x04, 0x5B, 0x81, 0x0B, 0x41, + 0x44, 0x52, 0x42, 0x03, 0x41, 0x44, 0x52, 0x52, + 0x20, 0x70, 0x6A, 0x41, 0x44, 0x52, 0x52, 0x14, + 0x3C, 0x41, 0x30, 0x39, 0x33, 0x0A, 0x72, 0x41, + 0x47, 0x52, 0x42, 0x79, 0x41, 0x30, 0x37, 0x34, + 0x0A, 0x14, 0x00, 0x60, 0x72, 0x60, 0x79, 0x68, + 0x0A, 0x0C, 0x00, 0x60, 0x72, 0x60, 0x69, 0x60, + 0x5B, 0x80, 0x41, 0x44, 0x52, 0x42, 0x00, 0x60, + 0x0A, 0x04, 0x5B, 0x81, 0x0B, 0x41, 0x44, 0x52, + 0x42, 0x03, 0x41, 0x44, 0x52, 0x52, 0x20, 0xA4, + 0x41, 0x44, 0x52, 0x52, 0x14, 0x19, 0x41, 0x30, + 0x38, 0x39, 0x01, 0xA0, 0x0C, 0x92, 0x93, 0x41, + 0x42, 0x30, 0x42, 0x0A, 0x01, 0xA4, 0x0A, 0x00, + 0xA4, 0x41, 0x30, 0x37, 0x36, 0x68, 0x14, 0x49, + 0x25, 0x41, 0x30, 0x39, 0x30, 0x01, 0x08, 0x41, + 0x30, 0x36, 0x39, 0x0A, 0x00, 0x70, 0x41, 0x30, + 0x37, 0x30, 0x41, 0x30, 0x36, 0x39, 0x70, 0x0A, + 0x00, 0x41, 0x30, 0x37, 0x30, 0xA0, 0x09, 0x93, + 0x68, 0x0A, 0x01, 0x70, 0x0A, 0x01, 0x60, 0xA1, + 0x05, 0x70, 0x0A, 0x05, 0x60, 0xA2, 0x46, 0x1E, + 0x92, 0x93, 0x60, 0x0A, 0x08, 0xA0, 0x41, 0x04, + 0x93, 0x60, 0x0A, 0x01, 0xA0, 0x15, 0x94, 0x41, + 0x42, 0x30, 0x45, 0x0A, 0x01, 0x70, 0x41, 0x42, + 0x30, 0x45, 0x41, 0x42, 0x30, 0x35, 0x41, 0x30, + 0x33, 0x38, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x30, 0x39, 0x31, 0x0A, 0x01, 0x41, 0x42, + 0x30, 0x36, 0x41, 0x42, 0x30, 0x37, 0x41, 0x30, + 0x39, 0x32, 0x0A, 0x01, 0x70, 0x0A, 0x00, 0x41, + 0x30, 0x38, 0x37, 0x70, 0x0A, 0x03, 0x60, 0xA0, + 0x4D, 0x04, 0x93, 0x60, 0x0A, 0x03, 0x70, 0x0A, + 0x00, 0x61, 0x70, 0x0A, 0x00, 0x62, 0xA2, 0x2E, + 0x95, 0x61, 0x0A, 0x3C, 0xA0, 0x22, 0x94, 0x41, + 0x30, 0x36, 0x35, 0x0A, 0x04, 0x70, 0x0D, 0x20, + 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x20, 0x64, + 0x65, 0x74, 0x65, 0x63, 0x74, 0x65, 0x64, 0x00, + 0x5B, 0x31, 0x70, 0x0A, 0x01, 0x62, 0xA5, 0x5B, + 0x22, 0x0A, 0x01, 0x75, 0x61, 0xA0, 0x09, 0x93, + 0x62, 0x0A, 0x01, 0x70, 0x0A, 0x04, 0x60, 0xA1, + 0x05, 0x70, 0x0A, 0x05, 0x60, 0xA0, 0x45, 0x06, + 0x93, 0x60, 0x0A, 0x04, 0x70, 0x0A, 0x00, 0x61, + 0x70, 0x0A, 0x00, 0x62, 0xA2, 0x37, 0x95, 0x61, + 0x0A, 0x50, 0xA0, 0x2B, 0x90, 0x92, 0x95, 0x41, + 0x30, 0x36, 0x35, 0x0A, 0x10, 0x92, 0x94, 0x41, + 0x30, 0x36, 0x35, 0x0A, 0x13, 0x70, 0x0D, 0x20, + 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x20, 0x50, + 0x72, 0x65, 0x73, 0x65, 0x6E, 0x74, 0x00, 0x5B, + 0x31, 0x70, 0x0A, 0x01, 0x62, 0xA5, 0x5B, 0x22, + 0x0A, 0x01, 0x75, 0x61, 0xA0, 0x09, 0x93, 0x62, + 0x0A, 0x01, 0x70, 0x0A, 0x07, 0x60, 0xA1, 0x14, + 0xA0, 0x0C, 0x93, 0x41, 0x42, 0x30, 0x34, 0x0A, + 0x01, 0x70, 0x0A, 0x05, 0x60, 0xA1, 0x05, 0x70, + 0x0A, 0x06, 0x60, 0xA0, 0x45, 0x07, 0x93, 0x60, + 0x0A, 0x06, 0x70, 0x0A, 0x01, 0x41, 0x42, 0x30, + 0x34, 0x70, 0x0A, 0x01, 0x41, 0x42, 0x30, 0x35, + 0x41, 0x30, 0x36, 0x34, 0x0A, 0x01, 0xA0, 0x46, + 0x05, 0x5B, 0x12, 0x5C, 0x2E, 0x5F, 0x53, 0x42, + 0x5F, 0x41, 0x4C, 0x49, 0x43, 0x66, 0x70, 0x0D, + 0x20, 0x43, 0x61, 0x6C, 0x6C, 0x20, 0x41, 0x4C, + 0x49, 0x43, 0x20, 0x6D, 0x65, 0x74, 0x68, 0x6F, + 0x64, 0x00, 0x5B, 0x31, 0x7D, 0x79, 0x41, 0x42, + 0x30, 0x43, 0x0A, 0x03, 0x00, 0x41, 0x42, 0x30, + 0x44, 0x61, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x4C, 0x49, 0x43, 0x61, 0x0A, 0x00, 0x5B, + 0x22, 0x0A, 0x02, 0x5C, 0x2E, 0x5F, 0x53, 0x42, + 0x5F, 0x41, 0x4C, 0x49, 0x43, 0x61, 0x0A, 0x01, + 0x70, 0x0A, 0x03, 0x60, 0x9F, 0x70, 0x0A, 0x05, + 0x60, 0xA0, 0x44, 0x06, 0x93, 0x60, 0x0A, 0x05, + 0x70, 0x0D, 0x20, 0x44, 0x65, 0x76, 0x69, 0x63, + 0x65, 0x20, 0x6E, 0x6F, 0x74, 0x20, 0x50, 0x72, + 0x65, 0x73, 0x65, 0x6E, 0x74, 0x00, 0x5B, 0x31, + 0x41, 0x30, 0x39, 0x33, 0x0A, 0x00, 0x0A, 0x00, + 0x70, 0x0A, 0x01, 0x41, 0x30, 0x38, 0x37, 0x41, + 0x30, 0x39, 0x32, 0x0A, 0x00, 0x5C, 0x2E, 0x5F, + 0x53, 0x42, 0x5F, 0x41, 0x30, 0x39, 0x31, 0x0A, + 0x00, 0x41, 0x42, 0x30, 0x36, 0x41, 0x42, 0x30, + 0x37, 0x70, 0x0A, 0x00, 0x41, 0x42, 0x30, 0x35, + 0x70, 0x0A, 0x00, 0x41, 0x42, 0x30, 0x34, 0x70, + 0x0A, 0x00, 0x41, 0x42, 0x31, 0x30, 0x70, 0x0A, + 0x00, 0x62, 0x70, 0x0A, 0x08, 0x60, 0xA0, 0x0D, + 0x93, 0x60, 0x0A, 0x07, 0x70, 0x0A, 0x01, 0x62, + 0x70, 0x0A, 0x08, 0x60, 0xA0, 0x0F, 0x93, 0x41, + 0x42, 0x30, 0x34, 0x0A, 0x00, 0x70, 0x0A, 0x00, + 0x41, 0x42, 0x30, 0x35, 0xA0, 0x28, 0x91, 0x94, + 0x41, 0x42, 0x30, 0x45, 0x0A, 0x01, 0x93, 0x41, + 0x50, 0x30, 0x35, 0x0A, 0x01, 0xA0, 0x17, 0x94, + 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, 0x42, 0x5F, + 0x41, 0x44, 0x41, 0x54, 0x0A, 0x00, 0x00, 0x0A, + 0x01, 0x41, 0x30, 0x33, 0x38, 0x70, 0x41, 0x30, + 0x36, 0x39, 0x41, 0x30, 0x37, 0x30, 0xA4, 0x62, + 0x14, 0x46, 0x05, 0x41, 0x30, 0x39, 0x32, 0x01, + 0xA0, 0x14, 0x94, 0x41, 0x42, 0x30, 0x36, 0x41, + 0x42, 0x30, 0x37, 0x74, 0x41, 0x42, 0x30, 0x36, + 0x41, 0x42, 0x30, 0x37, 0x60, 0xA1, 0x0B, 0x74, + 0x41, 0x42, 0x30, 0x37, 0x41, 0x42, 0x30, 0x36, + 0x60, 0x75, 0x60, 0x79, 0x0A, 0x01, 0x60, 0x60, + 0x76, 0x60, 0x79, 0x60, 0x41, 0x42, 0x30, 0x38, + 0x60, 0xA0, 0x0F, 0x93, 0x68, 0x0A, 0x01, 0x7D, + 0x41, 0x30, 0x38, 0x38, 0x60, 0x41, 0x30, 0x38, + 0x38, 0xA1, 0x0D, 0x7B, 0x41, 0x30, 0x38, 0x38, + 0x80, 0x60, 0x00, 0x41, 0x30, 0x38, 0x38, 0x08, + 0x41, 0x30, 0x30, 0x31, 0x0A, 0x01, 0x08, 0x41, + 0x30, 0x30, 0x32, 0x0A, 0x01, 0x08, 0x41, 0x30, + 0x30, 0x33, 0x0A, 0x00, 0x08, 0x41, 0x30, 0x30, + 0x34, 0x0A, 0x00, 0x14, 0x28, 0x41, 0x50, 0x54, + 0x53, 0x01, 0xA0, 0x21, 0x93, 0x68, 0x0A, 0x03, + 0x41, 0x30, 0x30, 0x35, 0x0A, 0x01, 0x70, 0x41, + 0x30, 0x30, 0x36, 0x0A, 0x00, 0x41, 0x30, 0x30, + 0x33, 0x70, 0x41, 0x30, 0x30, 0x37, 0x0A, 0x00, + 0x41, 0x30, 0x30, 0x34, 0x14, 0x4F, 0x09, 0x41, + 0x57, 0x41, 0x4B, 0x01, 0xA0, 0x47, 0x08, 0x93, + 0x68, 0x0A, 0x03, 0x70, 0x41, 0x30, 0x30, 0x38, + 0x60, 0x70, 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, 0x0A, 0x06, + 0x00, 0x61, 0xA0, 0x31, 0x90, 0x93, 0x60, 0x0A, + 0x01, 0x93, 0x61, 0x0A, 0x01, 0x70, 0x0D, 0x20, + 0x44, 0x63, 0x54, 0x44, 0x50, 0x20, 0x63, 0x61, + 0x70, 0x61, 0x62, 0x6C, 0x65, 0x20, 0x61, 0x6E, + 0x64, 0x20, 0x65, 0x6E, 0x61, 0x62, 0x6C, 0x65, + 0x64, 0x00, 0x5B, 0x31, 0x41, 0x30, 0x30, 0x39, + 0x44, 0x4B, 0x30, 0x30, 0xA1, 0x09, 0x41, 0x30, + 0x30, 0x35, 0x41, 0x44, 0x30, 0x30, 0xA0, 0x0E, + 0x93, 0x41, 0x30, 0x30, 0x33, 0x0A, 0x00, 0x41, + 0x30, 0x30, 0x36, 0x0A, 0x01, 0xA1, 0x07, 0x41, + 0x30, 0x30, 0x36, 0x0A, 0x00, 0xA0, 0x0E, 0x93, + 0x41, 0x30, 0x30, 0x34, 0x0A, 0x01, 0x41, 0x30, + 0x30, 0x37, 0x0A, 0x01, 0xA1, 0x07, 0x41, 0x30, + 0x30, 0x37, 0x0A, 0x00, 0xA0, 0x0F, 0x91, 0x93, + 0x68, 0x0A, 0x03, 0x93, 0x68, 0x0A, 0x04, 0x41, + 0x30, 0x31, 0x30, 0x68, 0x14, 0x2E, 0x41, 0x30, + 0x31, 0x31, 0x00, 0x41, 0x30, 0x31, 0x32, 0x41, + 0x30, 0x31, 0x33, 0x41, 0x50, 0x30, 0x31, 0x41, + 0x44, 0x30, 0x30, 0x41, 0x30, 0x31, 0x34, 0x41, + 0x44, 0x30, 0x30, 0x41, 0x30, 0x31, 0x35, 0x41, + 0x44, 0x30, 0x30, 0x41, 0x30, 0x30, 0x35, 0x41, + 0x44, 0x30, 0x30, 0x14, 0x40, 0x05, 0x41, 0x30, + 0x31, 0x36, 0x00, 0x70, 0x41, 0x30, 0x30, 0x38, + 0x60, 0x70, 0x83, 0x88, 0x5C, 0x2E, 0x5F, 0x53, + 0x42, 0x5F, 0x41, 0x44, 0x41, 0x54, 0x0A, 0x06, + 0x00, 0x61, 0xA0, 0x31, 0x90, 0x93, 0x60, 0x0A, + 0x01, 0x93, 0x61, 0x0A, 0x01, 0x70, 0x0D, 0x20, + 0x44, 0x63, 0x54, 0x44, 0x50, 0x20, 0x63, 0x61, + 0x70, 0x61, 0x62, 0x6C, 0x65, 0x20, 0x61, 0x6E, + 0x64, 0x20, 0x65, 0x6E, 0x61, 0x62, 0x6C, 0x65, + 0x64, 0x00, 0x5B, 0x31, 0x41, 0x30, 0x30, 0x39, + 0x44, 0x4B, 0x30, 0x30, 0x14, 0x0F, 0x41, 0x30, + 0x31, 0x37, 0x02, 0x41, 0x30, 0x31, 0x33, 0x68, + 0x41, 0x44, 0x30, 0x30, 0x08, 0x41, 0x30, 0x31, + 0x38, 0x0A, 0x00, 0x08, 0x41, 0x30, 0x31, 0x39, + 0x0A, 0x00, 0x14, 0x4F, 0x16, 0x41, 0x30, 0x31, + 0x34, 0x01, 0xA0, 0x45, 0x0B, 0x93, 0x68, 0x0A, + 0x00, 0x70, 0x0A, 0x7F, 0x41, 0x30, 0x32, 0x30, + 0x70, 0x0D, 0x20, 0x46, 0x34, 0x78, 0x31, 0x32, + 0x38, 0x5B, 0x43, 0x61, 0x63, 0x68, 0x65, 0x46, + 0x6C, 0x75, 0x73, 0x68, 0x54, 0x6D, 0x72, 0x5D, + 0x20, 0x3D, 0x20, 0x30, 0x78, 0x37, 0x46, 0x00, + 0x5B, 0x31, 0x70, 0x0A, 0x02, 0x41, 0x30, 0x32, + 0x31, 0x70, 0x0D, 0x20, 0x46, 0x34, 0x78, 0x32, + 0x31, 0x30, 0x5B, 0x58, 0x43, 0x36, 0x4D, 0x6F, + 0x6E, 0x4D, 0x69, 0x73, 0x70, 0x72, 0x65, 0x64, + 0x69, 0x63, 0x74, 0x41, 0x63, 0x74, 0x5D, 0x20, + 0x3D, 0x20, 0x30, 0x78, 0x32, 0x00, 0x5B, 0x31, + 0x70, 0x0A, 0x04, 0x41, 0x30, 0x32, 0x32, 0x70, + 0x0D, 0x20, 0x46, 0x34, 0x78, 0x32, 0x31, 0x30, + 0x5B, 0x58, 0x43, 0x36, 0x4D, 0x6F, 0x6E, 0x69, + 0x74, 0x6F, 0x72, 0x54, 0x68, 0x72, 0x65, 0x73, + 0x68, 0x5D, 0x20, 0x3D, 0x20, 0x30, 0x78, 0x34, + 0x00, 0x5B, 0x31, 0x70, 0x0A, 0x0F, 0x41, 0x30, + 0x32, 0x33, 0x70, 0x0D, 0x20, 0x46, 0x33, 0x78, + 0x44, 0x43, 0x5B, 0x43, 0x61, 0x63, 0x68, 0x65, + 0x46, 0x6C, 0x75, 0x73, 0x68, 0x4F, 0x6E, 0x48, + 0x61, 0x6C, 0x74, 0x54, 0x6D, 0x72, 0x5D, 0x20, + 0x3D, 0x20, 0x30, 0x78, 0x46, 0x00, 0x5B, 0x31, + 0xA1, 0x41, 0x0B, 0x70, 0x0A, 0x3C, 0x41, 0x30, + 0x32, 0x30, 0x70, 0x0D, 0x20, 0x46, 0x34, 0x78, + 0x31, 0x32, 0x38, 0x5B, 0x43, 0x61, 0x63, 0x68, + 0x65, 0x46, 0x6C, 0x75, 0x73, 0x68, 0x54, 0x6D, + 0x72, 0x5D, 0x20, 0x3D, 0x20, 0x30, 0x78, 0x33, + 0x43, 0x00, 0x5B, 0x31, 0x70, 0x0A, 0x01, 0x41, + 0x30, 0x32, 0x31, 0x70, 0x0D, 0x20, 0x46, 0x34, + 0x78, 0x32, 0x31, 0x30, 0x5B, 0x58, 0x43, 0x36, + 0x4D, 0x6F, 0x6E, 0x4D, 0x69, 0x73, 0x70, 0x72, + 0x65, 0x64, 0x69, 0x63, 0x74, 0x41, 0x63, 0x74, + 0x5D, 0x20, 0x3D, 0x20, 0x30, 0x78, 0x31, 0x00, + 0x5B, 0x31, 0x70, 0x0A, 0x02, 0x41, 0x30, 0x32, + 0x32, 0x70, 0x0D, 0x20, 0x46, 0x34, 0x78, 0x32, + 0x31, 0x30, 0x5B, 0x58, 0x43, 0x36, 0x4D, 0x6F, + 0x6E, 0x69, 0x74, 0x6F, 0x72, 0x54, 0x68, 0x72, + 0x65, 0x73, 0x68, 0x5D, 0x20, 0x3D, 0x20, 0x30, + 0x78, 0x32, 0x00, 0x5B, 0x31, 0x70, 0x0A, 0x04, + 0x41, 0x30, 0x32, 0x33, 0x70, 0x0D, 0x20, 0x46, + 0x33, 0x78, 0x44, 0x43, 0x5B, 0x43, 0x61, 0x63, + 0x68, 0x65, 0x46, 0x6C, 0x75, 0x73, 0x68, 0x4F, + 0x6E, 0x48, 0x61, 0x6C, 0x74, 0x54, 0x6D, 0x72, + 0x5D, 0x20, 0x3D, 0x20, 0x30, 0x78, 0x34, 0x00, + 0x5B, 0x31, 0x14, 0x4E, 0x05, 0x41, 0x30, 0x31, + 0x35, 0x01, 0xA0, 0x18, 0x93, 0x41, 0x30, 0x31, + 0x38, 0x0A, 0x00, 0x70, 0x41, 0x30, 0x32, 0x34, + 0x41, 0x30, 0x31, 0x39, 0x70, 0x0A, 0x01, 0x41, + 0x30, 0x31, 0x38, 0xA0, 0x3D, 0x93, 0x41, 0x30, + 0x31, 0x39, 0x0A, 0x01, 0xA0, 0x1C, 0x93, 0x68, + 0x0A, 0x00, 0x70, 0x0A, 0x00, 0x41, 0x30, 0x32, + 0x34, 0x70, 0x0D, 0x20, 0x41, 0x50, 0x4D, 0x20, + 0x4F, 0x46, 0x46, 0x21, 0x21, 0x21, 0x00, 0x5B, + 0x31, 0xA1, 0x17, 0x70, 0x0A, 0x01, 0x41, 0x30, + 0x32, 0x34, 0x70, 0x0D, 0x20, 0x41, 0x50, 0x4D, + 0x20, 0x4F, 0x4E, 0x21, 0x21, 0x21, 0x00, 0x5B, + 0x31, 0x14, 0x40, 0x0C, 0x41, 0x30, 0x31, 0x33, + 0x02, 0xA0, 0x3D, 0x93, 0x69, 0x0A, 0x00, 0x70, + 0x0D, 0x20, 0x4C, 0x43, 0x4C, 0x4B, 0x20, 0x44, + 0x50, 0x4D, 0x20, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x20, 0x30, 0x20, 0x5B, 0x4F, 0x46, 0x46, 0x5D, + 0x2C, 0x20, 0x53, 0x74, 0x61, 0x74, 0x65, 0x20, + 0x35, 0x20, 0x5B, 0x4F, 0x4E, 0x5D, 0x2C, 0x20, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x20, 0x36, 0x20, + 0x5B, 0x4F, 0x4E, 0x5D, 0x00, 0x5B, 0x31, 0xA1, + 0x4A, 0x07, 0xA0, 0x3D, 0x93, 0x68, 0x0A, 0x01, + 0x70, 0x0D, 0x20, 0x4C, 0x43, 0x4C, 0x4B, 0x20, + 0x44, 0x50, 0x4D, 0x20, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x20, 0x30, 0x20, 0x5B, 0x4F, 0x4E, 0x5D, + 0x2C, 0x20, 0x53, 0x74, 0x61, 0x74, 0x65, 0x20, + 0x35, 0x20, 0x5B, 0x4F, 0x4E, 0x5D, 0x2C, 0x20, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x20, 0x36, 0x20, + 0x5B, 0x4F, 0x46, 0x46, 0x5D, 0x00, 0x5B, 0x31, + 0xA1, 0x39, 0x70, 0x0D, 0x20, 0x4C, 0x43, 0x4C, + 0x4B, 0x20, 0x44, 0x50, 0x4D, 0x20, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x20, 0x30, 0x20, 0x5B, 0x4F, + 0x4E, 0x5D, 0x2C, 0x20, 0x53, 0x74, 0x61, 0x74, + 0x65, 0x20, 0x35, 0x20, 0x5B, 0x4F, 0x46, 0x46, + 0x5D, 0x2C, 0x20, 0x53, 0x74, 0x61, 0x74, 0x65, + 0x20, 0x36, 0x20, 0x5B, 0x4F, 0x4E, 0x5D, 0x00, + 0x5B, 0x31 +}; + +#endif diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxEnvInitKB.c b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxEnvInitKB.c new file mode 100644 index 0000000000..f0cbd18965 --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxEnvInitKB.c @@ -0,0 +1,229 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * GFX env post initialization. + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 86586 $ @e \$Date: 2013-01-23 12:45:26 -0600 (Wed, 23 Jan 2013) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ +/*---------------------------------------------------------------------------------------- + * M O D U L E S U S E D + *---------------------------------------------------------------------------------------- + */ +#include "AGESA.h" +#include "Ids.h" +#include "amdlib.h" +#include "Gnb.h" +#include "GnbGfx.h" +#include "GnbTable.h" +#include "GnbPcieConfig.h" +#include "GnbCommonLib.h" +#include "GnbGfxInitLibV1.h" +#include "GnbGfxConfig.h" +#include "GnbGfxFamServices.h" +#include "GfxLibKB.h" +#include "GfxLibV3.h" +#include "GnbRegistersKB.h" +#include "GnbRegisterAccKB.h" +#include "GnbHandleLib.h" +#include "cpuFamilyTranslation.h" +#include "OptionGnb.h" +#include "Filecode.h" +#define FILECODE PROC_GNB_MODULES_GNBINITKB_GFXENVINITKB_FILECODE +/*---------------------------------------------------------------------------------------- + * D E F I N I T I O N S A N D M A C R O S + *---------------------------------------------------------------------------------------- + */ + +extern GNB_TABLE ROMDATA GfxEnvInitTableKB[]; +extern GNB_BUILD_OPTIONS GnbBuildOptions; + +/*---------------------------------------------------------------------------------------- + * T Y P E D E F S A N D S T R U C T U R E S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * P R O T O T Y P E S O F L O C A L F U N C T I O N S + *---------------------------------------------------------------------------------------- + */ + +AGESA_STATUS +GfxEnvInterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ); + +/*----------------------------------------------------------------------------------------*/ +/** + * Initialize GFX straps. + * + * + * @param[in] Gfx Pointer to global GFX configuration + * @retval AGESA_STATUS + */ + +STATIC AGESA_STATUS +GfxStrapsEnvInitKB ( + IN GFX_PLATFORM_CONFIG *Gfx + ) +{ + D0F0xD4_x010914E1_STRUCT D0F0xD4_x10914E1; + D0F0xD4_x010914E2_STRUCT D0F0xD4_x10914E2; + D0F0xD4_x01091507_STRUCT D0F0xD4_x1091507; + D0F0x64_x1D_STRUCT D0F0x64_x1D; + UINT32 D0F0xD4_x010914C3; + GNB_HANDLE *GnbHandle; + + IDS_HDT_CONSOLE (GNB_TRACE, "GfxStrapsEnvInitKB Enter\n"); + + GnbHandle = GnbGetHandle (GnbLibGetHeader (Gfx)); + + GnbRegisterReadKB (GnbHandle, D0F0xD4_x010914E1_TYPE, D0F0xD4_x010914E1_ADDRESS, &D0F0xD4_x10914E1.Value, 0, GnbLibGetHeader (Gfx)); + GnbRegisterReadKB (GnbHandle, D0F0xD4_x010914E2_TYPE, D0F0xD4_x010914E2_ADDRESS, &D0F0xD4_x10914E2.Value, 0, GnbLibGetHeader (Gfx)); + GnbRegisterReadKB (GnbHandle, D0F0xD4_x01091507_TYPE, D0F0xD4_x01091507_ADDRESS, &D0F0xD4_x1091507.Value, 0, GnbLibGetHeader (Gfx)); + GnbRegisterReadKB (GnbHandle, D0F0xD4_x010914C3_TYPE, D0F0xD4_x010914C3_ADDRESS, &D0F0xD4_x010914C3, 0, GnbLibGetHeader (Gfx)); + + GnbLibPciIndirectRead ( + GNB_SBDFO | D0F0x60_ADDRESS, + D0F0x64_x1D_ADDRESS | IOC_WRITE_ENABLE, + AccessWidth32, + &D0F0x64_x1D.Value, + GnbLibGetHeader (Gfx) + ); + + D0F0x64_x1D.Field.VgaEn = 0x1; + + D0F0xD4_x10914E2.Field.bita = 0x0; + D0F0xD4_x10914E2.Field.bita = 0x0; + D0F0xD4_x1091507.Field.bit16 = Gfx->GnbHdAudio; + D0F0xD4_x10914E2.Field.bit13 = Gfx->GnbHdAudio; + + D0F0xD4_x10914E1.Field.StrapBifRegApSize = 0x2; + D0F0xD4_x10914E1.Field.StrapBifDoorbellBarDis = 0x0; + D0F0xD4_x10914E1.Field.Bitfield_13_13 = 0x0; + D0F0xD4_x10914E1.Field.Bitfield_15_14 = 0x3; + + if (Gfx->UmaInfo.UmaSize > 128 * 0x100000) { + D0F0xD4_x10914E1.Field.StrapBifMemApSize = 0x1; + D0F0xD4_x1091507.Field.StrapBifMemApSizePin = 0x1; + } else if (Gfx->UmaInfo.UmaSize > 64 * 0x100000) { + D0F0xD4_x10914E1.Field.StrapBifMemApSize = 0x0; + D0F0xD4_x1091507.Field.StrapBifMemApSizePin = 0x0; + } else { + D0F0xD4_x10914E1.Field.StrapBifMemApSize = 0x2; + D0F0xD4_x1091507.Field.StrapBifMemApSizePin = 0x2; + } + + GnbLibPciIndirectWrite ( + GNB_SBDFO | D0F0x60_ADDRESS, + D0F0x64_x1D_ADDRESS | IOC_WRITE_ENABLE, + AccessS3SaveWidth32, + &D0F0x64_x1D.Value, + GnbLibGetHeader (Gfx) + ); + + D0F0xD4_x010914C3 |= BIT0; + GnbRegisterWriteKB (GnbHandle, D0F0xD4_x010914E1_TYPE, D0F0xD4_x010914E1_ADDRESS, &D0F0xD4_x10914E1.Value, GNB_REG_ACC_FLAG_S3SAVE, GnbLibGetHeader (Gfx)); + GnbRegisterWriteKB (GnbHandle, D0F0xD4_x010914E2_TYPE, D0F0xD4_x010914E2_ADDRESS, &D0F0xD4_x10914E2.Value, GNB_REG_ACC_FLAG_S3SAVE, GnbLibGetHeader (Gfx)); + GnbRegisterWriteKB (GnbHandle, D0F0xD4_x01091507_TYPE, D0F0xD4_x01091507_ADDRESS, &D0F0xD4_x1091507.Value, GNB_REG_ACC_FLAG_S3SAVE, GnbLibGetHeader (Gfx)); + GnbRegisterWriteKB (GnbHandle, D0F0xD4_x010914C3_TYPE, D0F0xD4_x010914C3_ADDRESS, &D0F0xD4_x010914C3, GNB_REG_ACC_FLAG_S3SAVE, GnbLibGetHeader (Gfx)); + + IDS_HDT_CONSOLE (GNB_TRACE, "GfxStrapsEnvInitKB Exit\n"); + return AGESA_SUCCESS; +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Init GFX at Env Post. + * + * + * + * @param[in] StdHeader Standard configuration header + * @retval AGESA_STATUS + */ + + +AGESA_STATUS +GfxEnvInterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + AGESA_STATUS Status; + AGESA_STATUS AgesaStatus; + GFX_PLATFORM_CONFIG *Gfx; + GNB_HANDLE *GnbHandle; + UINT32 Property; + + IDS_HDT_CONSOLE (GNB_TRACE, "GfxEnvInterfaceKB Enter\n"); + AgesaStatus = AGESA_SUCCESS; + Property = TABLE_PROPERTY_DEFAULT; + + Status = GfxLocateConfigData (StdHeader, &Gfx); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + if (Status == AGESA_SUCCESS) { + if (Gfx->UmaInfo.UmaMode != UMA_NONE) { + // Power up iGPU + GfxRequestGPUPowerV3 (Gfx, 1); + Status = GfxStrapsEnvInitKB (Gfx); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + ASSERT (Status == AGESA_SUCCESS); + } else { + GfxFmDisableController (StdHeader); + Property |= TABLE_PROPERTY_IGFX_DISABLED; + } + } else { + GfxFmDisableController (StdHeader); + Property |= TABLE_PROPERTY_IGFX_DISABLED; + } + + GnbHandle = GnbGetHandle (StdHeader); + ASSERT (GnbHandle != NULL); + Status = GnbProcessTable ( + GnbHandle, + GfxEnvInitTableKB, + Property, + GNB_TABLE_FLAGS_FORCE_S3_SAVE, + StdHeader + ); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + + IDS_HDT_CONSOLE (GNB_TRACE, "GfxEnvInterfaceKB Exit [0x%x]\n", AgesaStatus); + return Status; +} diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxGmcInitKB.c b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxGmcInitKB.c new file mode 100644 index 0000000000..234592bfb3 --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxGmcInitKB.c @@ -0,0 +1,375 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * PCIe late post initialization. + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 87849 $ @e \$Date: 2013-02-11 15:37:58 -0600 (Mon, 11 Feb 2013) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ +/*---------------------------------------------------------------------------------------- + * M O D U L E S U S E D + *---------------------------------------------------------------------------------------- + */ +#include "AGESA.h" +#include "Ids.h" +#include "Gnb.h" +#include "GnbGfx.h" +#include "GnbCommonLib.h" +#include "GnbTable.h" +#include "GnbPcieConfig.h" +#include "GnbRegisterAccKB.h" +#include "cpuFamilyTranslation.h" +#include "GnbRegistersKB.h" +#include "GfxLibKB.h" +#include "GfxGmcInitKB.h" +#include "Filecode.h" + +#define FILECODE PROC_GNB_MODULES_GNBINITKB_GFXGMCINITKB_FILECODE +/*---------------------------------------------------------------------------------------- + * D E F I N I T I O N S A N D M A C R O S + *---------------------------------------------------------------------------------------- + */ +extern GNB_TABLE ROMDATA GfxGmcFeature1DisableKB []; +extern GNB_TABLE ROMDATA GfxGmcInitTableKB []; +extern GNB_TABLE ROMDATA GfxGmcFeature1EnableKB []; + + +#define GNB_GFX_DRAM_CH_0_PRESENT 1 +#define GNB_GFX_DRAM_CH_1_PRESENT 2 + +#define DRAMTYPE_DDR3 1 + +/*---------------------------------------------------------------------------------------- + * T Y P E D E F S A N D S T R U C T U R E S + *---------------------------------------------------------------------------------------- + */ + +/*---------------------------------------------------------------------------------------- + * P R O T O T Y P E S O F L O C A L F U N C T I O N S + *---------------------------------------------------------------------------------------- + */ + +/*----------------------------------------------------------------------------------------*/ +/** + * Initialize Fb location + * + * + * + * @param[in] GnbHandle Pointer to GNB_HANDLE + * @param[in] Gfx Pointer to global GFX configuration + * + */ +STATIC VOID +GfxGmcInitializeFbLocationKB ( + IN GNB_HANDLE *GnbHandle, + IN GFX_PLATFORM_CONFIG *Gfx + ) +{ + UINT32 GMMx2024; + UINT32 GMMx2068; + UINT32 GMMx2C04; + UINT32 GMMx5428; + UINT64 FBBase; + UINT64 FBTop; + + IDS_HDT_CONSOLE (GNB_TRACE, "GfxGmcInitializeFbLocationKB Enter\n"); + + FBBase = 0x0F00000000; + FBTop = FBBase + Gfx->UmaInfo.UmaSize - 1; + GMMx2024 = 0; + GMMx2C04 = 0; + GMMx2024 |= (UINT16) (FBBase >> 24); + GMMx2024 |= (UINT32) ((FBTop >> 24) << 16); + GMMx2068 = (UINT32) (Gfx->UmaInfo.UmaBase >> 22); + GMMx2C04 = (UINT32) (FBBase >> 8); + GMMx5428 = Gfx->UmaInfo.UmaSize >> 20; + GnbRegisterWriteKB (GnbHandle, 0x12, 0x2024, &GMMx2024, GNB_REG_ACC_FLAG_S3SAVE, GnbLibGetHeader (Gfx)); + GnbRegisterWriteKB (GnbHandle, 0x12, 0x2068, &GMMx2068, GNB_REG_ACC_FLAG_S3SAVE, GnbLibGetHeader (Gfx)); + GnbRegisterWriteKB (GnbHandle, 0x12, 0x2C04, &GMMx2C04, GNB_REG_ACC_FLAG_S3SAVE, GnbLibGetHeader (Gfx)); + GnbRegisterWriteKB (GnbHandle, 0x12, 0x5428, &GMMx5428, GNB_REG_ACC_FLAG_S3SAVE, GnbLibGetHeader (Gfx)); + IDS_HDT_CONSOLE (GNB_TRACE, "GfxGmcInitializeFbLocationKB Exit\n"); +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Initialize sequencer model + * + * + * + * @param[in] GnbHandle Pointer to GNB_HANDLE + * @param[in] Gfx Pointer to global GFX configuration + * + */ +STATIC VOID +GfxGmcInitializeHubAndCitfSteeringKB ( + IN GNB_HANDLE *GnbHandle, + IN GFX_PLATFORM_CONFIG *Gfx + ) +{ + UINT32 GMMx2004; + UINT32 GMMx2008; + + GMMx2004 = 0x2210; + GMMx2008 = 0; + + GnbRegisterWriteKB (GnbHandle, 0x12, 0x2004, &GMMx2004, GNB_REG_ACC_FLAG_S3SAVE, GnbLibGetHeader (Gfx)); + GnbRegisterWriteKB (GnbHandle, 0x12, 0x2008, &GMMx2008, GNB_REG_ACC_FLAG_S3SAVE, GnbLibGetHeader (Gfx)); + +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Enable Stutter Mode with/without power-gating + * + * + * + * @param[in] GnbHandle Pointer to GNB_HANDLE + * @param[in] Gfx Pointer to global GFX configuration + * + */ +STATIC VOID +GfxGmcEnableStutterModePowerGatingKB ( + IN GNB_HANDLE *GnbHandle, + IN GFX_PLATFORM_CONFIG *Gfx + ) +{ + UINT32 GMMx3508; + UINT32 GMMx350C; + + IDS_HDT_CONSOLE (GNB_TRACE, "GfxGmcEnableStutterModePowerGatingKB Enter\n"); + + GnbRegisterReadKB (GnbHandle, 0x12, 0x3508, &GMMx3508, 0, GnbLibGetHeader (Gfx)); + GnbRegisterReadKB (GnbHandle, 0x12, 0x350C, &GMMx350C, 0, GnbLibGetHeader (Gfx)); + if (Gfx->GmcPowerGating != GmcPowerGatingDisabled) { + // Enabling power gating + if (Gfx->GmcPowerGating == GmcPowerGatingWithStutter) { + GMMx3508 |= 1; + GMMx350C |= 1 << 11; + GMMx350C &= ~(1 << 16); + } else { + GMMx3508 &= ~1; + GMMx350C &= ~(1 << 11); + GMMx350C |= 1 << 16; + } + GnbRegisterWriteKB (GnbHandle, 0x12, 0x3508, &GMMx3508, GNB_REG_ACC_FLAG_S3SAVE, GnbLibGetHeader (Gfx)); + GnbRegisterWriteKB (GnbHandle, 0x12, 0x350C, &GMMx350C, GNB_REG_ACC_FLAG_S3SAVE, GnbLibGetHeader (Gfx)); + } else { + // Disabling power gating + GMMx3508 &= ~1; + GMMx350C &= ~(1 << 11); + GMMx350C &= ~(1 << 16); + GnbRegisterWriteKB (GnbHandle, 0x12, 0x3508, &GMMx3508, GNB_REG_ACC_FLAG_S3SAVE, GnbLibGetHeader (Gfx)); + GnbRegisterWriteKB (GnbHandle, 0x12, 0x350C, &GMMx350C, GNB_REG_ACC_FLAG_S3SAVE, GnbLibGetHeader (Gfx)); + } + IDS_HDT_CONSOLE (GNB_TRACE, "GfxGmcEnableStutterModePowerGatingKB Exit\n"); +} + +/*----------------------------------------------------------------------------------------*/ +/** + * + * + * + * + * @param[in] GnbHandle Pointer to GNB_HANDLE + * @param[in] Gfx Pointer to global GFX configuration + */ + +STATIC VOID +GfxGmcSecureGarlicAccessKB ( + IN GNB_HANDLE *GnbHandle, + IN GFX_PLATFORM_CONFIG *Gfx + ) +{ + UINT32 v1; + UINT32 v2; + UINT32 v3; + + v1 = (UINT32) (Gfx->UmaInfo.UmaBase >> 20); + GnbRegisterWriteKB (GnbHandle, 0x12, 0x2868, &v1, GNB_REG_ACC_FLAG_S3SAVE, GnbLibGetHeader (Gfx)); + v2 = (UINT32) (((Gfx->UmaInfo.UmaBase + Gfx->UmaInfo.UmaSize) >> 20) - 1); + GnbRegisterWriteKB (GnbHandle, 0x12, 0x286C, &v2, GNB_REG_ACC_FLAG_S3SAVE, GnbLibGetHeader (Gfx)); + // Area FB - 32K reserved by VBIOS for SBIOS to use + v3 = (UINT32) ((Gfx->UmaInfo.UmaBase + Gfx->UmaInfo.UmaSize - 32 * 1024) >> 12); + GnbRegisterWriteKB (GnbHandle, 0x12, 0x2878, &v3, GNB_REG_ACC_FLAG_S3SAVE, GnbLibGetHeader (Gfx)); +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Initialize C6 aperture location + * + * + * + * @param[in] GnbHandle Pointer to GNB_HANDLE + * @param[in] Gfx Pointer to global GFX configuration + * + */ +STATIC VOID +GfxGmcInitializeC6LocationKB ( + IN GNB_HANDLE *GnbHandle, + IN GFX_PLATFORM_CONFIG *Gfx + ) +{ + D18F2x118_STRUCT D18F2x118; + D18F1x44_STRUCT D18F1x44; + UINT32 GMMx2870; + UINT32 GMMx2874; + + // Check C6 enable, D18F2x118[CC6SaveEn] + GnbRegisterReadKB (GnbHandle, D18F2x118_TYPE, D18F2x118_ADDRESS, &D18F2x118.Value, 0, GnbLibGetHeader (Gfx)); + + if (D18F2x118.Field.CC6SaveEn) { + // From D18F1x[144:140,44:40] DRAM Base/Limit, + // {DramBase[47:24], 00_0000h} <= address[47:0] <= {DramLimit[47:24], FF_FFFFh}. + GnbRegisterReadKB (GnbHandle, D18F1x44_TYPE, D18F1x44_ADDRESS, &D18F1x44.Value, 0, GnbLibGetHeader (Gfx)); + // + // base 39:20, base = Dram Limit + 1 + // ex: system 256 MB on Node 0, D18F1x44.Field.DramLimit_39_24_ = 0xE (240MB -1) + // Node DRAM D18F1x[144:140,44:40] CC6DRAMRange D18F4x128 D18F1x120 D18F1x124 + // 0 256MB 0MB ~ 240 MB - 1 240 MB ~ 256 MB - 1 0 0 MB, 256 MB - 1 + // + + // base 39:20 + GMMx2870 = ((D18F1x44.Field.DramLimit_39_24 + 1) << 4); + // top 39:20 + GMMx2874 = (((D18F1x44.Field.DramLimit_39_24 + 1) << 24) + (16 * 0x100000) - 1) >> 20; + + GnbRegisterWriteKB (GnbHandle, 0x12, 0x2870, &GMMx2870, GNB_REG_ACC_FLAG_S3SAVE, GnbLibGetHeader (Gfx)); + GnbRegisterWriteKB (GnbHandle, 0x12, 0x2874, &GMMx2874, GNB_REG_ACC_FLAG_S3SAVE, GnbLibGetHeader (Gfx)); + } +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Initialize GMC + * + * + * + * @param[in] Gfx Pointer to global GFX configuration + * + */ + +AGESA_STATUS +GfxGmcInitKB ( + IN GFX_PLATFORM_CONFIG *Gfx + ) +{ + UINT32 v1; + UINT32 GMMx25E8; + D18F3x44_STRUCT D18F3x44; + GNB_HANDLE *GnbHandle; + + IDS_HDT_CONSOLE (GNB_TRACE, "GfxGmcInitKB Enter\n"); +//2.1 Disable clock-gating + GnbHandle = GnbGetHandle (GnbLibGetHeader (Gfx)); + ASSERT (GnbHandle != NULL); + GnbProcessTable ( + GnbHandle, + GfxGmcFeature1DisableKB, + 0, + GNB_TABLE_FLAGS_FORCE_S3_SAVE, + GnbLibGetHeader (Gfx) + ); +//2.3 HUB & CITF channel steering + GfxGmcInitializeHubAndCitfSteeringKB (GnbHandle, Gfx); +//2.6 Frame buffer location + GfxGmcInitializeFbLocationKB (GnbHandle, Gfx); +//2.8 Securing GARLIC access +//2.8.1 GARLIC request disable + GfxGmcSecureGarlicAccessKB (GnbHandle, Gfx); +//2.8.2 C6 save aperture + GfxGmcInitializeC6LocationKB (GnbHandle, Gfx); +//2.2 System memory address translation +//2.4 Sequencer model programming +//2.5 Power Gating - PGFSM and RENG init +//2.7 Performance tuning +//2.10 Display latency +//2.11 Remove blackout + GnbProcessTable ( + GnbHandle, + GfxGmcInitTableKB, + 0, + GNB_TABLE_FLAGS_FORCE_S3_SAVE, + GnbLibGetHeader (Gfx) + ); +//4. Power management + GnbProcessTable ( + GnbHandle, + GfxGmcFeature1EnableKB, + 0, + GNB_TABLE_FLAGS_FORCE_S3_SAVE, + GnbLibGetHeader (Gfx) + ); + +// SETUP or BLDCFG may override. + switch (Gfx->UmaSteering) { + case 0: + v1 = 0; + GnbRegisterReadKB (GnbHandle, D18F3x44_TYPE, D18F3x44_ADDRESS, &D18F3x44.Value, 0, GnbLibGetHeader (Gfx)); + if (D18F3x44.Field.DramEccEn == 1) { + v1 = SystemTrafficOnion; + } + break; + case SystemTrafficOnion: + v1 = SystemTrafficOnion; + break; + case Onion: + v1 = Onion; + break; + case 3: + v1 = 3; + break; + default: + v1 = 0; + ASSERT (FALSE); + break; + } + GnbRegisterWriteKB (GnbHandle, 0x12, 0x206C, &v1, GNB_REG_ACC_FLAG_S3SAVE, GnbLibGetHeader (Gfx)); + IDS_OPTION_CALLOUT (IDS_CALLOUT_GNB_GMM_REGISTER_OVERRIDE, Gfx, GnbLibGetHeader (Gfx)); + + GnbRegisterReadKB (GnbHandle, 0x12, 0x25E8, &GMMx25E8, 0, GnbLibGetHeader (Gfx)); + GMMx25E8 |= BIT14; + GnbRegisterWriteKB (GnbHandle, 0x12, 0x25E8, &GMMx25E8, GNB_REG_ACC_FLAG_S3SAVE, GnbLibGetHeader (Gfx)); + + if (Gfx->GmcPowerGating != GmcPowerGatingDisabled) { + //4.2 Enabling stutter mode with or without power-gating + GfxGmcEnableStutterModePowerGatingKB (GnbHandle, Gfx); + } + IDS_HDT_CONSOLE (GNB_TRACE, "GfxGmcInitKB Exit\n"); + return AGESA_SUCCESS; +} diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxGmcInitKB.h b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxGmcInitKB.h new file mode 100644 index 0000000000..a6b63cafcf --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxGmcInitKB.h @@ -0,0 +1,55 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * various service procedures + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 84150 $ @e \$Date: 2012-12-12 15:46:25 -0600 (Wed, 12 Dec 2012) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ +#ifndef _GFXGMCINITKB_H_ +#define _GFXGMCINITKB_H_ + +#include "GnbRegistersKB.h" + +AGESA_STATUS +GfxGmcInitKB ( + IN GFX_PLATFORM_CONFIG *Gfx + ); + +#endif diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxIntegratedInfoTableKB.c b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxIntegratedInfoTableKB.c new file mode 100644 index 0000000000..c81fd5ee3f --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxIntegratedInfoTableKB.c @@ -0,0 +1,526 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * Integrated table info init + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 87902 $ @e \$Date: 2013-02-12 15:59:48 -0600 (Tue, 12 Feb 2013) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ +/*---------------------------------------------------------------------------------------- + * M O D U L E S U S E D + *---------------------------------------------------------------------------------------- + */ +#include "AGESA.h" +#include "amdlib.h" +#include "Ids.h" +#include "heapManager.h" +#include "GeneralServices.h" +#include "Gnb.h" +#include "GnbF1Table.h" +#include "GnbPcie.h" +#include "GnbGfx.h" +#include "GnbSbLib.h" +#include "GnbCommonLib.h" +#include "GnbPcieConfig.h" +#include "GnbGfxConfig.h" +#include "GnbGfxInitLibV1.h" +#include "GnbGfxFamServices.h" +#include "GnbRegistersKB.h" +#include "GnbRegisterAccKB.h" +#include "GnbNbInitLibV1.h" +#include "GfxConfigLib.h" +#include "GfxIntegratedInfoTable.h" +#include "GfxPwrPlayTable.h" +#include "GfxLibKB.h" +#include "GfxLibV3.h" +#include "OptionGnb.h" +#include "Filecode.h" +#define FILECODE PROC_GNB_MODULES_GNBINITKB_GFXINTEGRATEDINFOTABLEKB_FILECODE +/*---------------------------------------------------------------------------------------- + * D E F I N I T I O N S A N D M A C R O S + *---------------------------------------------------------------------------------------- + */ + +#define GFX_REFCLK 100 // (in MHz) Reference clock is 100 MHz + +/*---------------------------------------------------------------------------------------- + * T Y P E D E F S A N D S T R U C T U R E S + *---------------------------------------------------------------------------------------- + */ + +/*---------------------------------------------------------------------------------------- + * P R O T O T Y P E S O F L O C A L F U N C T I O N S + *---------------------------------------------------------------------------------------- + */ +AGESA_STATUS +GfxMapEngineToDisplayPathKB ( + IN PCIe_ENGINE_CONFIG *Engine, + OUT EXT_DISPLAY_PATH *DisplayPathList, + IN GFX_PLATFORM_CONFIG *Gfx + ); + +AGESA_STATUS +GfxIntInfoTableInterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ); + +CONST UINT8 DdiLaneConfigArrayKB [][4] = { + {8, 11, 0, 0}, + {12, 15, 1, 1}, + {11, 8, 0, 0}, + {15, 12, 1, 1}, + {16, 19, 6, 6}, + {19, 16, 6, 6} +}; + +/*----------------------------------------------------------------------------------------*/ +/** + * Initialize display path for given engine + * + * + * + * @param[in] Engine Engine configuration info + * @param[out] DisplayPathList Display path list + * @param[in] Gfx Pointer to global GFX configuration + */ + +AGESA_STATUS +GfxMapEngineToDisplayPathKB ( + IN PCIe_ENGINE_CONFIG *Engine, + OUT EXT_DISPLAY_PATH *DisplayPathList, + IN GFX_PLATFORM_CONFIG *Gfx + ) +{ + AGESA_STATUS Status; + UINT8 PrimaryDisplayPathId; + UINT8 SecondaryDisplayPathId; + UINTN DisplayPathIndex; + PrimaryDisplayPathId = 0xff; + SecondaryDisplayPathId = 0xff; + for (DisplayPathIndex = 0; DisplayPathIndex < (sizeof (DdiLaneConfigArrayKB) / 4); DisplayPathIndex++) { + if (DdiLaneConfigArrayKB[DisplayPathIndex][0] == Engine->EngineData.StartLane && + DdiLaneConfigArrayKB[DisplayPathIndex][1] == Engine->EngineData.EndLane) { + PrimaryDisplayPathId = DdiLaneConfigArrayKB[DisplayPathIndex][2]; + SecondaryDisplayPathId = DdiLaneConfigArrayKB[DisplayPathIndex][3]; + break; + } + } + + if (Engine->Type.Ddi.DdiData.ConnectorType == ConnectorTypeDualLinkDVI || + (Engine->Type.Ddi.DdiData.ConnectorType == ConnectorTypeLvds && PrimaryDisplayPathId != 0)) { + // Display config invalid for KB + PrimaryDisplayPathId = 0xff; + } + + if (PrimaryDisplayPathId != 0xff) { + ASSERT (Engine->Type.Ddi.DdiData.AuxIndex <= Aux3); + IDS_HDT_CONSOLE (GFX_MISC, " Allocate Display Connector at Primary sPath[%d]\n", PrimaryDisplayPathId); + Engine->InitStatus |= INIT_STATUS_DDI_ACTIVE; + GfxIntegratedCopyDisplayInfo ( + Engine, + &DisplayPathList[PrimaryDisplayPathId], + (PrimaryDisplayPathId != SecondaryDisplayPathId) ? &DisplayPathList[SecondaryDisplayPathId] : NULL, + Gfx + ); + + if (Engine->Type.Ddi.DdiData.ConnectorType == ConnectorTypeSingleLinkDviI) { + LibAmdMemCopy (&DisplayPathList[6], &DisplayPathList[PrimaryDisplayPathId], sizeof (EXT_DISPLAY_PATH), GnbLibGetHeader (Gfx)); + DisplayPathList[6].usDeviceACPIEnum = 0x100; + DisplayPathList[6].usDeviceTag = ATOM_DEVICE_CRT1_SUPPORT; + } + + Status = AGESA_SUCCESS; + } else { + IDS_HDT_CONSOLE (GFX_MISC, " Error!!! Map DDI lanes %d - %d to display path failed\n", + Engine->EngineData.StartLane, + Engine->EngineData.EndLane + ); + PutEventLog ( + AGESA_ERROR, + GNB_EVENT_INVALID_DDI_LINK_CONFIGURATION, + Engine->EngineData.StartLane, + Engine->EngineData.EndLane, + 0, + 0, + GnbLibGetHeader (Gfx) + ); + Status = AGESA_ERROR; + } + return Status; +} + +/*----------------------------------------------------------------------------------------*/ +/** + *Init KB Nb p-State MemclkFreq + * + * + * @param[in] IntegratedInfoTable Integrated info table pointer + * @param[in] Gfx Gfx configuration info + */ + +STATIC VOID +GfxFillNbPstateMemclkFreqKB ( + IN OUT ATOM_INTEGRATED_SYSTEM_INFO_V1_8 *IntegratedInfoTable, + IN GFX_PLATFORM_CONFIG *Gfx + ) +{ + D18F2x94_dct0_STRUCT D18F2x94; + D18F2x2E0_dct0_STRUCT D18F2x2E0; + D18F5x160_STRUCT NbPstate; + UINT8 i; + ULONG memps0_freq; + ULONG memps1_freq; + UINT8 last_valid_pstate; + GNB_HANDLE *GnbHandle; + + GnbHandle = GnbGetHandle (GnbLibGetHeader (Gfx)); + ASSERT (GnbHandle != NULL); + + GnbRegisterReadKB ( + GnbHandle, + D18F2x94_dct0_TYPE, + D18F2x94_dct0_ADDRESS, + &D18F2x94.Value, + 0, + GnbLibGetHeader (Gfx) + ); + + GnbRegisterReadKB ( + GnbHandle, + D18F2x2E0_dct0_TYPE, + D18F2x2E0_dct0_ADDRESS, + &D18F2x2E0.Value, + 0, + GnbLibGetHeader (Gfx) + ); + + memps0_freq = 100 * GfxLibExtractDramFrequencyV3 ((UINT8) D18F2x94.Field.MemClkFreq, GnbLibGetHeader (Gfx)); + memps1_freq = 100 * GfxLibExtractDramFrequencyV3 ((UINT8) D18F2x2E0.Field.M1MemClkFreq, GnbLibGetHeader (Gfx)); + + last_valid_pstate = 0; + for (i = 0; i < 4; i++) { + NbPstate.Value = 0; + GnbRegisterReadKB ( + GnbHandle, + TYPE_D18F5, + (D18F5x160_ADDRESS + (i * 4)), + &NbPstate.Value, + 0, + GnbLibGetHeader (Gfx) + ); + if (NbPstate.Field.NbPstateEn == 1) { + last_valid_pstate = i; + IntegratedInfoTable->ulNbpStateMemclkFreq[i] = (NbPstate.Field.MemPstate == 0) ? memps0_freq : memps1_freq; + } else { + IntegratedInfoTable->ulNbpStateMemclkFreq[i] = + IntegratedInfoTable->ulNbpStateMemclkFreq[last_valid_pstate]; + } + } + + for (i = 0; i < 4; i++) { + IDS_HDT_CONSOLE (GNB_TRACE, " Nclk[%d] = %08x\n", i, IntegratedInfoTable->ulNbpStateNClkFreq[i]); + IDS_HDT_CONSOLE (GNB_TRACE, " Mclk[%d] = %08x\n", i, IntegratedInfoTable->ulNbpStateMemclkFreq[i]); + } + +} + +/*----------------------------------------------------------------------------------------*/ +/** + *Calculate ulGMCRestoreResetTime + * + * + * @param[in] IntegratedInfoTable Integrated info table pointer + * @param[in] Gfx Gfx configuration info + * @param[in] PpF1Array + * @retval AGESA_STATUS + */ +///@todo - this is currently based on TN +STATIC AGESA_STATUS +GfxCalculateRestoreResetTimeKB ( + IN ATOM_INTEGRATED_SYSTEM_INFO_V1_8 *IntegratedInfoTable, + IN GFX_PLATFORM_CONFIG *Gfx, + IN PP_F1_ARRAY_V2 *PpF1Array + ) +{ + UINT8 MaxDid; + ULONG FreqSclk; + UINTN Index; + UINT32 TSclk; + + IDS_HDT_CONSOLE (GNB_TRACE, "GfxCalculateRestoreResetTimeKB Enter\n"); + MaxDid = PpF1Array->PP_FUSE_ARRAY_V2_fld3; + for (Index = 0; Index < 4; Index++) { + MaxDid = MAX (MaxDid, PpF1Array->PP_FUSE_ARRAY_V2_fld33[Index]); + } + IDS_HDT_CONSOLE (GNB_TRACE, "MaxDid = %d\n", MaxDid); + FreqSclk = GfxFmCalculateClock (MaxDid, GnbLibGetHeader (Gfx)); + // FreqSclk is in 10KHz units - need calculations in nS + // For accuracy, do calculations in .01nS, then convert at the end + TSclk = (100 * (1000000000 / 10000)) / FreqSclk; + + IntegratedInfoTable->ulGMCRestoreResetTime = ((TSclk * 662) + 99) / 100; + IDS_HDT_CONSOLE (GNB_TRACE, "ulGMCRestoreResetTime = %d\n", IntegratedInfoTable->ulGMCRestoreResetTime); + IDS_HDT_CONSOLE (GNB_TRACE, "GfxCalculateRestoreResetTimeKB Exit\n"); + + return AGESA_SUCCESS; +} + +/*----------------------------------------------------------------------------------------*/ +/** + *Init KB HTC Data + * + * + * @param[in] IntegratedInfoTable Integrated info table pointer + * @param[in] Gfx Gfx configuration info + */ + +STATIC VOID +GfxFillHtcDataKB ( + IN OUT ATOM_INTEGRATED_SYSTEM_INFO_V1_8 *IntegratedInfoTable, + IN GFX_PLATFORM_CONFIG *Gfx + ) +{ + D18F3x64_STRUCT D18F3x64; + GNB_HANDLE *GnbHandle; + + GnbHandle = GnbGetHandle (GnbLibGetHeader (Gfx)); + ASSERT (GnbHandle != NULL); + + GnbRegisterReadKB ( + GnbHandle, + D18F3x64_TYPE, + D18F3x64_ADDRESS, + &D18F3x64.Value, + 0, + GnbLibGetHeader (Gfx) + ); + + if (D18F3x64.Field.HtcEn == 1) { + IntegratedInfoTable->ucHtcTmpLmt = (UCHAR) (D18F3x64.Field.HtcTmpLmt / 2 + 52); + IntegratedInfoTable->ATOM_INTEGRATED_SYSTEM_INFO_V1_8_fld11 = (UCHAR) (D18F3x64.Field.HtcHystLmt / 2); + } else { + IntegratedInfoTable->ucHtcTmpLmt = 0; + IntegratedInfoTable->ATOM_INTEGRATED_SYSTEM_INFO_V1_8_fld11 = 0; + } +} + +/*----------------------------------------------------------------------------------------*/ +/** + *Init Sclk <-> VID table + * + * + * @param[in] PpF1Array + * @param[in] IntegratedInfoTable Integrated info table pointer + * @param[in] Gfx Gfx configuration info + */ + +STATIC VOID +GfxIntInfoTableInitSclkTableKB ( + IN PP_F1_ARRAY_V2 *PpF1Array, + IN ATOM_INTEGRATED_SYSTEM_INFO_V1_8 *IntegratedInfoTable, + IN GFX_PLATFORM_CONFIG *Gfx + ) +{ + UINT8 Index; + UINTN AvailSclkIndex; + GnbGfx275_STRUCT *AvailSclkList; + BOOLEAN Sorting; + AvailSclkList = &IntegratedInfoTable->ATOM_INTEGRATED_SYSTEM_INFO_V1_8[0]; + + AvailSclkIndex = 0; + for (Index = 0; Index < 5; Index++) { + if (PpF1Array->PP_FUSE_ARRAY_V2_fld33[Index] != 0) { + AvailSclkList[AvailSclkIndex].GnbGfx275_STRUCT_fld0 = GfxFmCalculateClock (PpF1Array->PP_FUSE_ARRAY_V2_fld33[Index], GnbLibGetHeader (Gfx)); + AvailSclkList[AvailSclkIndex].GnbGfx275_STRUCT_fld1 = Index; + AvailSclkList[AvailSclkIndex].GnbGfx275_STRUCT_fld2 = PpF1Array->PP_FUSE_ARRAY_V2_fld32[Index]; + AvailSclkIndex++; + } + } + //Sort by VoltageIndex & GnbGfx275_STRUCT_fld0 + if (AvailSclkIndex > 1) { + do { + Sorting = FALSE; + for (Index = 0; Index < (AvailSclkIndex - 1); Index++) { + GnbGfx275_STRUCT Temp; + BOOLEAN Exchange; + Exchange = FALSE; + if (AvailSclkList[Index].GnbGfx275_STRUCT_fld1 > AvailSclkList[Index + 1].GnbGfx275_STRUCT_fld1) { + Exchange = TRUE; + } + if ((AvailSclkList[Index].GnbGfx275_STRUCT_fld1 == AvailSclkList[Index + 1].GnbGfx275_STRUCT_fld1) && + (AvailSclkList[Index].GnbGfx275_STRUCT_fld0 > AvailSclkList[Index + 1].GnbGfx275_STRUCT_fld0)) { + Exchange = TRUE; + } + if (Exchange) { + Sorting = TRUE; + LibAmdMemCopy (&Temp, &AvailSclkList[Index], sizeof (GnbGfx275_STRUCT), GnbLibGetHeader (Gfx)); + LibAmdMemCopy (&AvailSclkList[Index], &AvailSclkList[Index + 1], sizeof (GnbGfx275_STRUCT), GnbLibGetHeader (Gfx)); + LibAmdMemCopy (&AvailSclkList[Index + 1], &Temp, sizeof (GnbGfx275_STRUCT), GnbLibGetHeader (Gfx)); + } + } + } while (Sorting); + } +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Build integrated info table + * + * + * + * @param[in] Gfx Gfx configuration info + * @retval AGESA_STATUS + */ +AGESA_STATUS +STATIC +GfxIntInfoTableInitKB ( + IN GFX_PLATFORM_CONFIG *Gfx + ) +{ + AGESA_STATUS Status; + AGESA_STATUS AgesaStatus; + ATOM_FUSION_SYSTEM_INFO_V3 SystemInfoTableV3; + PP_F1_ARRAY_V2 *PpF1Array; + ATOM_PPLIB_POWERPLAYTABLE4 *PpTable; + D18F5x170_STRUCT D18F5x170; + GNB_HANDLE *GnbHandle; + + IDS_HDT_CONSOLE (GNB_TRACE, "GfxIntInfoTableInitKB Enter\n"); + + AgesaStatus = AGESA_SUCCESS; + GnbHandle = GnbGetHandle (GnbLibGetHeader (Gfx)); + ASSERT (GnbHandle != NULL); + PpF1Array = GnbLocateHeapBuffer (AMD_PP_F1_TABLE_HANDLE, GnbLibGetHeader (Gfx)); + if (PpF1Array != NULL) { + LibAmdMemFill (&SystemInfoTableV3, 0x00, sizeof (ATOM_FUSION_SYSTEM_INFO_V3), GnbLibGetHeader (Gfx)); + + // Use common initialization first + Status = GfxIntInfoTableInitV3 (Gfx, &SystemInfoTableV3, PpF1Array); + // Complete table with KB-specific fields + + // Build PP table + PpTable = (ATOM_PPLIB_POWERPLAYTABLE4*) &SystemInfoTableV3.ulPowerplayTable; + Status = GfxPwrPlayBuildTable (PpTable, Gfx); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + + IDS_HDT_CONSOLE (GNB_TRACE, "KB Pplay done\n"); + + // Assign usFormatID to 0x0013 to represent Kabini + PpTable->usFormatID = 0x13; + + // Build Sclk info table + GfxIntInfoTableInitSclkTableKB (PpF1Array, &SystemInfoTableV3.sIntegratedSysInfo, Gfx); + + // Fill in Nb P-state MemclkFreq Data + GfxFillNbPstateMemclkFreqKB (&SystemInfoTableV3.sIntegratedSysInfo, Gfx); + // Fill in HTC Data + GfxFillHtcDataKB (&SystemInfoTableV3.sIntegratedSysInfo, Gfx); + + // Family specific data update + // Determine ulGMCRestoreResetTime + Status = GfxCalculateRestoreResetTimeKB (&SystemInfoTableV3.sIntegratedSysInfo, Gfx, PpF1Array); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + + //GfxFmIntegratedInfoTableInit (&SystemInfoV1Table.sIntegratedSysInfo, Gfx); + SystemInfoTableV3.sIntegratedSysInfo.ulDDR_DLL_PowerUpTime = 4940; + SystemInfoTableV3.sIntegratedSysInfo.ulDDR_PLL_PowerUpTime = 2000; + + SystemInfoTableV3.sIntegratedSysInfo.ulGPUCapInfo = + GPUCAPINFO_TMDS_HDMI_USE_SINGLE_PLL_MODE | + GPUCAPINFO_DP_USE_SINGLE_PLL_MODE | + GPUCAPINFO_DFS_BYPASS_DISABLE; + + // GPUCAPINFO_DFS_BYPASS_ENABLE should be enabled by default for MOBILE systems + if ((Gfx->AmdPlatformType & AMD_PLATFORM_MOBILE) != 0) { + SystemInfoTableV3.sIntegratedSysInfo.ulGPUCapInfo |= GPUCAPINFO_DFS_BYPASS_ENABLE; + } + + // Check if NbPstate enable + GnbRegisterReadKB (GnbHandle, TYPE_D18F5, D18F5x170_ADDRESS, &D18F5x170.Value, 0, GnbLibGetHeader (Gfx)); + if ((D18F5x170.Field.SwNbPstateLoDis != 1) && (D18F5x170.Field.NbPstateMaxVal != 0)) { + // If NbPstate enable, then enable NBDPM for driver + SystemInfoTableV3.sIntegratedSysInfo.ulSystemConfig |= BIT3; + } + + IDS_OPTION_CALLOUT (IDS_CALLOUT_GNB_INTEGRATED_TABLE_CONFIG, &SystemInfoTableV3.sIntegratedSysInfo, GnbLibGetHeader (Gfx)); + //Copy integrated info table to Frame Buffer. (Do not use LibAmdMemCopy, routine not guaranteed access to above 4G memory in 32 bit mode.) + GfxIntInfoTablePostToFbV3 (&SystemInfoTableV3, Gfx); + + GNB_DEBUG_CODE ( + GfxIntInfoTableDebugDumpV3 (&SystemInfoTableV3, Gfx); + ); + } else { + Status = AGESA_ERROR; + AGESA_STATUS_UPDATE (Status, AgesaStatus); + } + + IDS_HDT_CONSOLE (GNB_TRACE, "GfxIntInfoTableInitKB Exit [0x%x]\n", Status); + return AgesaStatus; +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Build integrated info table + * GMC FB access requred + * + * + * @param[in] StdHeader Standard configuration header + * @retval AGESA_STATUS + */ +AGESA_STATUS +GfxIntInfoTableInterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + AGESA_STATUS AgesaStatus; + AGESA_STATUS Status; + GFX_PLATFORM_CONFIG *Gfx; + IDS_HDT_CONSOLE (GNB_TRACE, "GfxIntInfoTableInterfaceKB Enter\n"); + AgesaStatus = AGESA_SUCCESS; + if (GfxLibIsControllerPresent (StdHeader)) { + Status = GfxLocateConfigData (StdHeader, &Gfx); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + if (Status != AGESA_FATAL) { + Status = GfxIntInfoTableInitKB (Gfx); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + } + } + IDS_HDT_CONSOLE (GNB_TRACE, "GfxIntInfoTableInterfaceKB Exit[0x%x]\n", AgesaStatus); + return AgesaStatus; +} diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxLibKB.c b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxLibKB.c new file mode 100644 index 0000000000..7523736eb3 --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxLibKB.c @@ -0,0 +1,192 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * Family specific GFX library + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 85947 $ @e \$Date: 2013-01-14 17:25:21 -0600 (Mon, 14 Jan 2013) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ + +/*---------------------------------------------------------------------------------------- + * M O D U L E S U S E D + *---------------------------------------------------------------------------------------- + */ +#include "AGESA.h" +#include "amdlib.h" +#include "Ids.h" +#include "S3SaveState.h" +#include "Gnb.h" +#include "GnbPcieConfig.h" +#include "GnbGfx.h" +#include "GfxLibKB.h" +#include "GnbCommonLib.h" +#include "GnbRegisterAccKB.h" +#include "GnbRegistersKB.h" +#include "Filecode.h" +#define FILECODE PROC_GNB_MODULES_GNBINITKB_GFXLIBKB_FILECODE +/*---------------------------------------------------------------------------------------- + * D E F I N I T I O N S A N D M A C R O S + *---------------------------------------------------------------------------------------- + */ + + + +/*---------------------------------------------------------------------------------------- + * T Y P E D E F S A N D S T R U C T U R E S + *---------------------------------------------------------------------------------------- + */ + +/*---------------------------------------------------------------------------------------- + * P R O T O T Y P E S O F L O C A L F U N C T I O N S + *---------------------------------------------------------------------------------------- + */ +VOID +GfxDisableControllerKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ); + +UINT32 +GfxCalculateClockKB ( + IN UINT8 Did, + IN AMD_CONFIG_PARAMS *StdHeader + ); + +BOOLEAN +GfxIsVbiosPostedKB ( + IN GFX_PLATFORM_CONFIG *Gfx + ); + +/*----------------------------------------------------------------------------------------*/ +/** + * Disable GFX controller + * + * + * + * @param[in] StdHeader Standard configuration header + */ + +VOID +GfxDisableControllerKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + GnbLibPciRMW ( + MAKE_SBDFO (0, 0, 0, 0,D0F0x7C_ADDRESS), + AccessS3SaveWidth32, + 0xffffffff, + 1 << D0F0x7C_ForceIntGfxDisable_OFFSET, + StdHeader + ); +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Get system PLL COF + * + * + * + * @param[in] StdHeader Standard configuration header + * @retval System PLL COF + */ +UINT32 +GfxLibGetSystemPllCofKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + UINT32 v0; + GnbRegisterReadKB (GnbGetHandle (StdHeader), 0x4, 0xC0500000, &v0, 0, StdHeader); + return 100 * (((v0 >> 1) & 0x3F) + 0x10); +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Calculate COF for DFS out of Main PLL + * + * + * + * @param[in] Did Did + * @param[in] StdHeader Standard Configuration Header + * @retval COF in 10khz + */ + +UINT32 +GfxCalculateClockKB ( + IN UINT8 Did, + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + UINT32 Divider; + UINT32 SystemPllCof; + SystemPllCof = GfxLibGetSystemPllCofKB (StdHeader) * 100; + if (Did >= 8 && Did <= 0x3F) { + Divider = Did * 25; + } else if (Did > 0x3F && Did <= 0x5F) { + Divider = (Did - 64) * 50 + 1600; + } else if (Did > 0x5F && Did <= 0x7E) { + Divider = (Did - 96) * 100 + 3200; + } else if (Did == 0x7f) { + Divider = 128 * 100; + } else { + ASSERT (FALSE); + return 200 * 100; + } + ASSERT (Divider != 0); + return (((SystemPllCof * 100) + (Divider - 1)) / Divider); +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Check if Video BIOS has posted or not + * + * + * @param[in] Gfx Pointer to global GFX configuration + */ + +BOOLEAN +GfxIsVbiosPostedKB ( + IN GFX_PLATFORM_CONFIG *Gfx + ) +{ + UINT32 D0F0xBC_xC0200000; + GnbRegisterReadKB (GnbGetHandle (GnbLibGetHeader (Gfx)), 0x4, 0xC0200000, &D0F0xBC_xC0200000, 0, GnbLibGetHeader (Gfx)); + + return (((D0F0xBC_xC0200000 >> 16) & 1) == 0) ? TRUE : FALSE; +} + + diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxLibKB.h b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxLibKB.h new file mode 100644 index 0000000000..117a794fef --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxLibKB.h @@ -0,0 +1,53 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * Various GFX service procedures + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 85947 $ @e \$Date: 2013-01-14 17:25:21 -0600 (Mon, 14 Jan 2013) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ +#ifndef _GFXLIBKB_H_ +#define _GFXLIBKB_H_ + +UINT32 +GfxLibGetSystemPllCofKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ); + +#endif diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxMidInitKB.c b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxMidInitKB.c new file mode 100644 index 0000000000..b6cfe666a3 --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxMidInitKB.c @@ -0,0 +1,161 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * GFX mid post initialization. + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 88282 $ @e \$Date: 2013-02-19 11:20:56 -0600 (Tue, 19 Feb 2013) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ +/*---------------------------------------------------------------------------------------- + * M O D U L E S U S E D + *---------------------------------------------------------------------------------------- + */ +#include "AGESA.h" +#include "Ids.h" +#include "amdlib.h" +#include "Gnb.h" +#include "GnbGfx.h" +#include "GnbPcie.h" +#include "GnbCommonLib.h" +#include "GnbGfxConfig.h" +#include "GnbGfxInitLibV1.h" +#include "GnbNbInitLibV1.h" +#include "GnbNbInitLibV5.h" +#include "GnbGfxFamServices.h" +#include "GfxGmcInitKB.h" +#include "GfxLibKB.h" +#include "GfxLibV3.h" +#include "GnbRegisterAccKB.h" +#include "GnbRegistersKB.h" +#include "PcieConfigData.h" +#include "PcieConfigLib.h" +#include "cpuFamilyTranslation.h" +#include "GfxSamuInitKB.h" +#include "GnbHandleLib.h" +#include "Filecode.h" +#define FILECODE PROC_GNB_MODULES_GNBINITKB_GFXMIDINITKB_FILECODE +/*---------------------------------------------------------------------------------------- + * D E F I N I T I O N S A N D M A C R O S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * T Y P E D E F S A N D S T R U C T U R E S + *---------------------------------------------------------------------------------------- + */ +AGESA_STATUS +GfxMidInterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ); + +/*---------------------------------------------------------------------------------------- + * P R O T O T Y P E S O F L O C A L F U N C T I O N S + *---------------------------------------------------------------------------------------- + */ + + +/*----------------------------------------------------------------------------------------*/ +/** + * Init GFX at Mid Post. + * + * + * + * @param[in] StdHeader Standard configuration header + * @retval AGESA_STATUS + */ + +AGESA_STATUS +GfxMidInterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + AGESA_STATUS Status; + AGESA_STATUS AgesaStatus; + GFX_PLATFORM_CONFIG *Gfx; + UINT8 AudioEPCount; + UINT32 GMMx5F50; + + IDS_HDT_CONSOLE (GNB_TRACE, "GfxMidInterfaceKB Enter\n"); + AgesaStatus = AGESA_SUCCESS; + Status = GfxLocateConfigData (StdHeader, &Gfx); + ASSERT (Status == AGESA_SUCCESS); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + if (Status == AGESA_FATAL) { + GfxFmDisableController (StdHeader); + } else { + if (Gfx->UmaInfo.UmaMode != UMA_NONE) { + Status = GfxEnableGmmAccessV3 (Gfx); + ASSERT (Status == AGESA_SUCCESS); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + if (Status != AGESA_SUCCESS) { + // Can not initialize GMM registers going to disable GFX controller + IDS_HDT_CONSOLE (GNB_TRACE, " Fail to establish GMM access\n"); + Gfx->UmaInfo.UmaMode = UMA_NONE; + GfxFmDisableController (StdHeader); + } else { + Status = GfxGmcInitKB (Gfx); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + + //Status = GfxSamuInit (Gfx); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + + Status = GfxInitSsid (Gfx); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + + AudioEPCount = 0; + Status = GfxIntAudioEPEnumV3 (Gfx, &AudioEPCount); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + + if (AudioEPCount > 2) { + AudioEPCount = 2; + } + + AudioEPCount = 7 - AudioEPCount; + GnbRegisterReadKB (GnbGetHandle (StdHeader), 0x12, 0x5F50, &GMMx5F50, 0, StdHeader); + GMMx5F50 &= ~7; GMMx5F50 |= AudioEPCount & 7; + GMMx5F50 |= 1 << 4; + GnbRegisterWriteKB (GnbGetHandle (StdHeader), 0x12, 0x5F50, &GMMx5F50, GNB_REG_ACC_FLAG_S3SAVE, StdHeader); + } + } + } + IDS_HDT_CONSOLE (GNB_TRACE, "GfxMidInterfaceKB Exit [0x%x]\n", AgesaStatus); + return AgesaStatus; +} + diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxPostInitKB.c b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxPostInitKB.c new file mode 100644 index 0000000000..fa70f375fb --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxPostInitKB.c @@ -0,0 +1,153 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * PCIe late post initialization. + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 84150 $ @e \$Date: 2012-12-12 15:46:25 -0600 (Wed, 12 Dec 2012) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ +/*---------------------------------------------------------------------------------------- + * M O D U L E S U S E D + *---------------------------------------------------------------------------------------- + */ +#include "AGESA.h" +#include "Ids.h" +#include "amdlib.h" +#include "Gnb.h" +#include "GnbPcie.h" +#include "GnbPcieConfig.h" +#include "GnbCommonLib.h" +#include "GnbGfx.h" +#include "GnbGfxConfig.h" +#include "GnbF1Table.h" +#include "GnbGfxInitLibV1.h" +#include "GnbRegisterAccKB.h" +#include "GnbRegistersKB.h" +#include "GnbHandleLib.h" +#include "GfxLibV3.h" +#include "Filecode.h" +#define FILECODE PROC_GNB_MODULES_GNBINITKB_GFXPOSTINITKB_FILECODE +/*---------------------------------------------------------------------------------------- + * D E F I N I T I O N S A N D M A C R O S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * T Y P E D E F S A N D S T R U C T U R E S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * P R O T O T Y P E S O F L O C A L F U N C T I O N S + *---------------------------------------------------------------------------------------- + */ +AGESA_STATUS +GfxPostInterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ); + +/*----------------------------------------------------------------------------------------*/ +/** + * Init GFX at Post. + * + * + * + * @param[in] StdHeader Standard configuration header + * @retval AGESA_STATUS + */ + + +AGESA_STATUS +GfxPostInterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + AMD_POST_PARAMS *PostParamsPtr; + GFX_CARD_CARD_INFO GfxDiscreteCardInfo; + AGESA_STATUS Status; + GFX_PLATFORM_CONFIG *Gfx; + UINT32 D0F0xBC_xC00C0000; + GnbRegistersKB7269_STRUCT var5; + GnbRegistersKB7314_STRUCT var6; + GNB_HANDLE *GnbHandle; + + PostParamsPtr = (AMD_POST_PARAMS *)StdHeader; + IDS_HDT_CONSOLE (GNB_TRACE, "GfxPostInterfaceKB Enter\n"); + GnbHandle = GnbGetHandle (StdHeader); + ASSERT (GnbHandle != NULL); + GnbRegisterReadKB (GnbHandle, 0x4, + 0xc00c0000, &D0F0xBC_xC00C0000, 0, StdHeader); + Status = GfxLocateConfigData (StdHeader, &Gfx); + ASSERT (Status == AGESA_SUCCESS); + if (Status == AGESA_SUCCESS) { + if (((D0F0xBC_xC00C0000 >> 1) & 1) != 1) { + if (PostParamsPtr->MemConfig.UmaMode != UMA_NONE) { + LibAmdMemFill (&GfxDiscreteCardInfo, 0x0, sizeof (GfxDiscreteCardInfo), StdHeader); + GfxGetDiscreteCardInfo (&GfxDiscreteCardInfo, StdHeader); + if (((GfxDiscreteCardInfo.PciGfxCardBitmap != 0) || + (GfxDiscreteCardInfo.AmdPcieGfxCardBitmap != GfxDiscreteCardInfo.PcieGfxCardBitmap)) || + ((PostParamsPtr->GnbPostConfig.IgpuEnableDisablePolicy == IGPU_DISABLE_ANY_PCIE) && + ((GfxDiscreteCardInfo.PciGfxCardBitmap != 0) || (GfxDiscreteCardInfo.PcieGfxCardBitmap != 0)))) { + PostParamsPtr->MemConfig.UmaMode = UMA_NONE; + IDS_HDT_CONSOLE (GFX_MISC, " GfxDisabled due dGPU policy\n"); + } + } + + if (PostParamsPtr->MemConfig.UmaMode == UMA_NONE) { + GnbRegisterReadKB (GnbHandle, TYPE_D0F0xD4, 0x13014AC, &var5.Value, 0, StdHeader); + GnbRegisterReadKB (GnbHandle, TYPE_D0F0xD4, 0x13014B6, &var6.Value, 0, StdHeader); + var5.Field.bit16 = FALSE; + var6.Field.bit13 = FALSE; + GnbRegisterWriteKB (GnbHandle, TYPE_D0F0xD4, 0x13014AC, &var5.Value, GNB_REG_ACC_FLAG_S3SAVE, StdHeader); + GnbRegisterWriteKB (GnbHandle, TYPE_D0F0xD4, 0x13014B6, &var6.Value, GNB_REG_ACC_FLAG_S3SAVE, StdHeader); + } + + // Power down iGPU + GfxRequestGPUPowerV3 (Gfx, 0); + } else { + PostParamsPtr->MemConfig.UmaMode = UMA_NONE; + } + } else { + PostParamsPtr->MemConfig.UmaMode = UMA_NONE; + } + IDS_HDT_CONSOLE (GNB_TRACE, "GfxPostInterfaceKB Exit [0x%x]\n", Status); + return Status; +} diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxSamuInitKB.c b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxSamuInitKB.c new file mode 100644 index 0000000000..66cf992243 --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxSamuInitKB.c @@ -0,0 +1,253 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * PCIe late post initialization. + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 86584 $ @e \$Date: 2013-01-23 12:34:28 -0600 (Wed, 23 Jan 2013) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ +/*---------------------------------------------------------------------------------------- + * M O D U L E S U S E D + *---------------------------------------------------------------------------------------- + */ +#include "AGESA.h" +#include "Ids.h" +#include "amdlib.h" +#include "heapManager.h" +#include "Gnb.h" +#include "GnbGfx.h" +#include "GnbCommonLib.h" +#include "GnbTable.h" +#include "GnbPcieConfig.h" +#include "GnbRegisterAccKB.h" +#include "cpuFamilyTranslation.h" +#include "GnbRegistersKB.h" +#include "GfxLibKB.h" +#include "GfxSamuInitKB.h" +#include "GnbSamuPatchKB.h" +#include "OptionGnb.h" +#include "Filecode.h" + +#define FILECODE PROC_GNB_MODULES_GNBINITKB_GFXSAMUINITKB_FILECODE +/*---------------------------------------------------------------------------------------- + * D E F I N I T I O N S A N D M A C R O S + *---------------------------------------------------------------------------------------- + */ + +extern GNB_BUILD_OPTIONS GnbBuildOptions; + +/*---------------------------------------------------------------------------------------- + * T Y P E D E F S A N D S T R U C T U R E S + *---------------------------------------------------------------------------------------- + */ +#define LENGTH_1MBYTE 0x0100000ul +#define MASK_1MBYTE 0x0FFFFFul + +#define SAM_IND_INDEX 0x22000ul +#define SAM_IND_DATA 0x22004ul + +#define SAM_SAB_IND_INDEX 0x22008ul +#define SAM_SAB_IND_DATA 0x2200Cul + +#define SMU_TOOLS_INDEX 0x238ul +#define SMU_TOOLS_DATA 0x23Cul + +typedef struct { + UINT32 BootControl; ///< + UINT32 KeySelect; ///< + UINT32 KernelAddrLo; ///< + UINT32 KernelAddrHi; ///< + UINT32 TweakSelect; ///< +} SAMU_BOOT_CONTROL; + +/*---------------------------------------------------------------------------------------- + * P R O T O T Y P E S O F L O C A L F U N C T I O N S + *---------------------------------------------------------------------------------------- + */ + + +/*----------------------------------------------------------------------------------------*/ +/** + * Initialize GMC + * + * + * + * @param[in] Gfx Pointer to global GFX configuration + * + */ + +AGESA_STATUS +GfxSamuInit ( + IN GFX_PLATFORM_CONFIG *Gfx + ) +{ + UINT32 D0F0xBC_xC00C0000; + GNB_HANDLE *GnbHandle; + VOID *ControlXBuffer; + VOID *AlignedControlXBuffer; + VOID *PatchYBuffer; + VOID *AlignedPatchYBuffer; + SAMU_BOOT_CONTROL *SamuBootControl; + + UINT32 D0F0xBC_x800000A4; + UINT32 GMMx22000; + UINT32 GMMx22004; + UINT32 GMMx22008; + UINT32 GMMx2200C; + UINT32 LoopCount; + BOOLEAN SamuUseF1dPatch; + BOOLEAN SamuPatchEnabled; + + IDS_HDT_CONSOLE (GNB_TRACE, "GnbSamuInit Enter\n"); + + GnbHandle = GnbGetHandle (GnbLibGetHeader (Gfx)); + ASSERT (GnbHandle != NULL); + GnbRegisterReadKB (GnbHandle, 0x4, 0xc00c0000, + &D0F0xBC_xC00C0000, 0, GnbLibGetHeader (Gfx)); + + SamuPatchEnabled = GnbBuildOptions.CfgSamuPatchEnabled; + IDS_OPTION_HOOK (IDS_GNB_LOAD_SAMU_PATCH, &SamuPatchEnabled, GnbLibGetHeader (Gfx)); + + if ((((D0F0xBC_xC00C0000) & BIT24) == 0) && + (SamuPatchEnabled == TRUE)) { + + // Decide which version of the patch to use + SamuUseF1dPatch = TRUE; + + GMMx22008 = 0x29; + GnbRegisterWriteKB (GnbHandle, 0x12, 0x22008, + &GMMx22008, 0, GnbLibGetHeader (Gfx)); + GnbRegisterReadKB (GnbHandle, 0x12, 0x2200C, + &GMMx2200C, 0, GnbLibGetHeader (Gfx)); + IDS_HDT_CONSOLE (GNB_TRACE, " SAMSAB:29=%08x\n", GMMx2200C); + + if (GMMx2200C == 0x80000001) { + SamuUseF1dPatch = FALSE; + } + + ControlXBuffer = GnbAllocateHeapBufferAndClear (AMD_GNB_SAMU_BOOT_CONTROL_HANDLE, 2 * LENGTH_1MBYTE, GnbLibGetHeader (Gfx)); + ASSERT (ControlXBuffer != NULL); + if (ControlXBuffer == NULL) { + return AGESA_ERROR; + } + AlignedControlXBuffer = (VOID *) (((UINTN)ControlXBuffer + LENGTH_1MBYTE) & (~MASK_1MBYTE)); + PatchYBuffer = GnbAllocateHeapBuffer (AMD_GNB_SAMU_PATCH_HANDLE, 2 * LENGTH_1MBYTE, GnbLibGetHeader (Gfx)); + ASSERT (PatchYBuffer != NULL); + if (PatchYBuffer == NULL) { + return AGESA_ERROR; + } + AlignedPatchYBuffer = (VOID *) (((UINTN)PatchYBuffer + LENGTH_1MBYTE) & (~MASK_1MBYTE)); + + // Copy samu firmware patch to PatchYBuffer + if (SamuUseF1dPatch == TRUE) { + LibAmdMemCopy (AlignedPatchYBuffer, &SamuPatchKB[0], + SamuPatchKBHeader[1], GnbLibGetHeader (Gfx)); + } else { + LibAmdMemCopy (AlignedPatchYBuffer, &SamuPatchKBUnf1[0], + SamuPatchKBHeaderUnf1[1], GnbLibGetHeader (Gfx)); + } + + // WBINVD + LibAmdWriteBackInvalidateCache (); + + // Load boot control structure + SamuBootControl = (SAMU_BOOT_CONTROL *)AlignedControlXBuffer; + SamuBootControl->BootControl = 0x3; + SamuBootControl->KernelAddrLo = (UINT32) (AlignedPatchYBuffer); + SamuBootControl->KernelAddrHi = 0; //(UINT32) ((((UINT64) AlignedPatchYBuffer) >> 32) & 0xFF); + if (SamuUseF1dPatch == TRUE) { + SamuBootControl->TweakSelect = 0xBB027E1F; + SamuBootControl->KeySelect = 0x8E174F83; + } else { + SamuBootControl->TweakSelect = 0x0; + SamuBootControl->KeySelect = 0x0; + } + + + // Write 0x0 to SAM_CGC_HOST_CTRL to release the clock-gating of SAMU + GMMx22000 = 0x3; + GnbRegisterWriteKB (GnbHandle, 0x12, 0x22000, &GMMx22000, 0, GnbLibGetHeader (Gfx)); + GMMx22004 = 0x0; + GnbRegisterWriteKB (GnbHandle, 0x12, 0x22004, &GMMx22004, 0, GnbLibGetHeader (Gfx)); + + // Write (physical address of boot control structure)>>8 into SAM_SAB_INIT_TLB_CONFIG (Location X >> 8) + GMMx22008 = 0x4; + GnbRegisterWriteKB (GnbHandle, 0x12, 0x22008, &GMMx22008, 0, GnbLibGetHeader (Gfx)); + GMMx2200C = ((UINT32) ((UINT32) AlignedControlXBuffer)) >> 8; + GnbRegisterWriteKB (GnbHandle, 0x12, 0x2200C, &GMMx2200C, 0, GnbLibGetHeader (Gfx)); + + // Write 0x0 to SAM_RST_HOST_SOFT_RESET + GMMx22000 = 0x1; + GnbRegisterWriteKB (GnbHandle, 0x12, 0x22000, &GMMx22000, 0, GnbLibGetHeader (Gfx)); + GMMx22004 = 0x0; + GnbRegisterWriteKB (GnbHandle, 0x12, 0x22004, &GMMx22004, 0, GnbLibGetHeader (Gfx)); + + // Write 0x2 to SAM_SCRATCH_0 to start the firmware boot + GMMx22000 = 0x38; + GnbRegisterWriteKB (GnbHandle, 0x12, 0x22000, &GMMx22000, 0, GnbLibGetHeader (Gfx)); + GMMx22004 = 0x2; + GnbRegisterWriteKB (GnbHandle, 0x12, 0x22004, &GMMx22004, 0, GnbLibGetHeader (Gfx)); + + // Poll SAM_RST_HOST_SOFT_RST_RDY and wait for HOST_RDY + do { + // Write 0x2 to SAM_SCRATCH_0 to start the firmware boot + GMMx22000 = 0x51; + GnbRegisterWriteKB (GnbHandle, 0x12, 0x22000, &GMMx22000, 0, GnbLibGetHeader (Gfx)); + GnbRegisterReadKB (GnbHandle, 0x12, 0x22004, &GMMx22004, 0, GnbLibGetHeader (Gfx)); + } while ((GMMx22004 & BIT0) == 0); + + // Clear the allocated memory ranges, locations X and Y (write 0), issue WBINVD + LibAmdMemFill (ControlXBuffer, 0, 2 * LENGTH_1MBYTE, GnbLibGetHeader (Gfx)); + LibAmdMemFill (PatchYBuffer, 0, 2 * LENGTH_1MBYTE, GnbLibGetHeader (Gfx)); + LibAmdWriteBackInvalidateCache (); + + // Confirm read of SMC_DRAM_ACCESS_CNTL is 0x1 + D0F0xBC_x800000A4 = 0; + for (LoopCount = 0; LoopCount < 0x00FFFFFF; LoopCount++) { + GnbRegisterReadKB (GnbHandle, 0x4, 0x800000A4, &D0F0xBC_x800000A4, 0, GnbLibGetHeader (Gfx)); + if ((D0F0xBC_x800000A4 & BIT0) != 0) { + break; + } + } + ASSERT ((D0F0xBC_x800000A4 & BIT0) != 0); + } + + IDS_HDT_CONSOLE (GNB_TRACE, "GnbSamuInit Exit\n"); + return AGESA_SUCCESS; +} diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxSamuInitKB.h b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxSamuInitKB.h new file mode 100644 index 0000000000..44dd8935e0 --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxSamuInitKB.h @@ -0,0 +1,53 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * various service procedures + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 84150 $ @e \$Date: 2012-12-12 15:46:25 -0600 (Wed, 12 Dec 2012) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ +#ifndef _GNBSAMUINITKB_H_ +#define _GNBSAMUINITKB_H_ + +AGESA_STATUS +GfxSamuInit ( + IN GFX_PLATFORM_CONFIG *Gfx + ); + +#endif diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxTablesKB.c b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxTablesKB.c new file mode 100644 index 0000000000..99e7f933a9 --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GfxTablesKB.c @@ -0,0 +1,479 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * GFx tables + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 87698 $ @e \$Date: 2013-02-07 12:40:51 -0600 (Thu, 07 Feb 2013) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ +/*---------------------------------------------------------------------------------------- + * M O D U L E S U S E D + *---------------------------------------------------------------------------------------- + */ +#include "AGESA.h" +#include "Gnb.h" +#include "GnbPcie.h" +#include "GnbCommonLib.h" +#include "GnbTable.h" +#include "GnbRegistersKB.h" +#include "cpuFamilyTranslation.h" + +/*---------------------------------------------------------------------------------------- + * D E F I N I T I O N S A N D M A C R O S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * T Y P E D E F S A N D S T R U C T U R E S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * P R O T O T Y P E S O F L O C A L F U N C T I O N S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * T A B L E S + *---------------------------------------------------------------------------------------- + */ + +GNB_TABLE ROMDATA GfxGmcFeature1DisableKB [] = { + //2.1 Disable clock-gating + GNB_ENTRY_WR (0x12, 0x20C0, 0x00000C80), + GNB_ENTRY_WR (0x12, 0x2478, 0x00000400), + GNB_ENTRY_WR (0x12, 0x20B8, 0x00000400), + GNB_ENTRY_WR (0x12, 0x20BC, 0x00000400), + GNB_ENTRY_WR (0x12, 0x2648, 0x00000400), + GNB_ENTRY_WR (0x12, 0x264C, 0x00000400), + GNB_ENTRY_WR (0x12, 0x2650, 0x00000400), + GNB_ENTRY_WR (0x12, 0x15C0, 0x00000400), + GNB_ENTRY_TERMINATE +}; + +GNB_TABLE ROMDATA GfxGmcInitTableKB [] = { + GNB_ENTRY_RMW (D18F5x178_TYPE, D18F5x178_ADDRESS, D18F5x178_SwGfxDis_MASK, 0 << D18F5x178_SwGfxDis_OFFSET), + //2.2 System memory address translation + GNB_ENTRY_COPY (0x12, 0x2814, 0, 32, D18F2x40_dct0_TYPE, D18F2x40_dct0_ADDRESS, 0, 32), + GNB_ENTRY_COPY (0x12, 0x281C, 0, 32, D18F2x44_dct0_TYPE, D18F2x44_dct0_ADDRESS, 0, 32), + GNB_ENTRY_COPY (0x12, 0x2824, 0, 32, D18F2x48_dct0_TYPE, D18F2x48_dct0_ADDRESS, 0, 32), + GNB_ENTRY_COPY (0x12, 0x282C, 0, 32, D18F2x4C_dct0_TYPE, D18F2x4C_dct0_ADDRESS, 0, 32), + GNB_ENTRY_COPY (0x12, 0x2834, 0, 32, D18F2x60_dct0_TYPE, D18F2x60_dct0_ADDRESS, 0, 32), + GNB_ENTRY_COPY (0x12, 0x283C, 0, 32, D18F2x64_dct0_TYPE, D18F2x64_dct0_ADDRESS, 0, 32), + // MC_FUS_DRAM0_BANK_ADDR_MAPPING + GNB_ENTRY_COPY (0x12, 0x2844, 0, 8, D18F2x80_dct0_TYPE, D18F2x80_dct0_ADDRESS, 0, 8), + GNB_ENTRY_COPY (0x12, 0x2844, 8, 1, D18F2x94_dct0_TYPE, D18F2x94_dct0_ADDRESS, 22, 1), + GNB_ENTRY_COPY (0x12, 0x2844, 9, 1, D18F2xA8_dct0_TYPE, D18F2xA8_dct0_ADDRESS, 20, 1), + // MC_FUS_DRAM0_CTL_BASE + GNB_ENTRY_COPY (0x12, 0x284C, 0, 3, D18F1x200_TYPE, D18F1x200_ADDRESS, 4, 3), + GNB_ENTRY_COPY (0x12, 0x284C, 3, 4, D18F1x204_TYPE, D18F1x204_ADDRESS, 0, 4), + GNB_ENTRY_COPY (0x12, 0x284C, 7, 21, D18F1x200_TYPE, D18F1x200_ADDRESS, 11, 21), + GNB_ENTRY_COPY (0x12, 0x284C, 28, 1, D18F1x200_TYPE, D18F1x200_ADDRESS, 3, 1), + GNB_ENTRY_COPY (0x12, 0x284C, 29, 1, D18F1x200_TYPE, D18F1x200_ADDRESS, 0, 1), + // MC_FUS_DRAM0_CTL_LIMIT + GNB_ENTRY_COPY (0x12, 0x2854, 0, 21, D18F1x204_TYPE, D18F1x204_ADDRESS, 11, 21), + GNB_ENTRY_COPY (0x12, 0x2854, 21, 1, D18F1xF0_TYPE, D18F1xF0_ADDRESS, 1, 1), + // MC_FUS_DRAM_MODE + GNB_ENTRY_COPY (0x12, 0x2864, 3, 1, D18F2x78_dct0_TYPE, D18F2x78_dct0_ADDRESS, 8, 1), + GNB_ENTRY_COPY (0x12, 0x2864, 4, 9, D18F1xF0_TYPE, D18F1xF0_ADDRESS, 7, 9), + GNB_ENTRY_COPY (0x12, 0x2864, 0, 2, D18F2x110_TYPE, D18F2x110_ADDRESS, 6, 2), + GNB_ENTRY_COPY (0x12, 0x2864, 2, 1, D18F2x114_TYPE, D18F2x114_ADDRESS, 9, 1), + // MC_FUS_DRAM_CTL_HIGH_01 + GNB_ENTRY_COPY (0x12, 0x285C, 0, 12, D18F1x240_TYPE, D18F1x240_ADDRESS, 11, 12), + + // 2.4 Sequencer model programming + GNB_ENTRY_WR (0x12, 0x276C, 0x000003ff), + + //--------------------------------------------------------------------------- + // 2.5 Power gating init + // Initializing PGFSMs + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x3538, 0x200010ff), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x3538, 0x300010ff), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x210000), + GNB_ENTRY_WR (0x12, 0x3538, 0xa00010ff), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x21003), + GNB_ENTRY_WR (0x12, 0x3538, 0xb00010ff), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x2b00), + GNB_ENTRY_WR (0x12, 0x3538, 0xc00010ff), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x3538, 0xd00010ff), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x420000), + GNB_ENTRY_WR (0x12, 0x3538, 0x100010ff), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x120202), + GNB_ENTRY_WR (0x12, 0x3538, 0x500010ff), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x3e3e36), + GNB_ENTRY_WR (0x12, 0x3538, 0x600010ff), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x373f3e), + GNB_ENTRY_WR (0x12, 0x3538, 0x700010ff), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x0), + GNB_ENTRY_WR (0x12, 0x353C, 0x3e1332), + GNB_ENTRY_WR (0x12, 0x3538, 0xe00010ff), +//--------------------------------------------------------------------------- +// Initializing register engine +// opcode=1, body_cnt=0, mask=0xf, const=0xf: MC_CONFIG (0x800) MC_CONFIG (0x800) + GNB_ENTRY_WR (0x12, 0x3500, 0x0), + GNB_ENTRY_WR (0x12, 0x3504, 0x10000800), + GNB_ENTRY_WR (0x12, 0x3504, 0xf), + GNB_ENTRY_WR (0x12, 0x3504, 0xf), +// opcode=1, body_cnt=0, mask=0x3f, const=0x3f: MC_CONFIG_MCD (0x828) MC_CONFIG_MCD (0x828) + GNB_ENTRY_WR (0x12, 0x3500, 0x4), + GNB_ENTRY_WR (0x12, 0x3504, 0x10000828), + GNB_ENTRY_WR (0x12, 0x3504, 0x3f), + GNB_ENTRY_WR (0x12, 0x3504, 0x3f), +// opcode=1, body_cnt=0, mask=0xffff, const=0xffff: VM_INVALIDATE_REQUEST (0x51e) VM_INVALIDATE_REQUEST (0x51e) + GNB_ENTRY_WR (0x12, 0x3500, 0x8), + GNB_ENTRY_WR (0x12, 0x3504, 0x1000051e), + GNB_ENTRY_WR (0x12, 0x3504, 0xffff), + GNB_ENTRY_WR (0x12, 0x3504, 0xffff), +// opcode=0, body_cnt=2: VM_L2_CNTL (0x500) VM_L2_CNTL3 (0x502) + GNB_ENTRY_WR (0x12, 0x3500, 0xc), + GNB_ENTRY_WR (0x12, 0x3504, 0x20500), +// opcode=0, body_cnt=4: VM_CONTEXT0_CNTL (0x504) VM_SECURE_FAULT_CNTL (0x508) + GNB_ENTRY_WR (0x12, 0x3500, 0x10), + GNB_ENTRY_WR (0x12, 0x3504, 0x40504), +// opcode=0, body_cnt=9: VM_CONTEXT0_CNTL2 (0x50c) VM_CONTEXT15_PAGE_TABLE_BASE_ADDR (0x515) + GNB_ENTRY_WR (0x12, 0x3500, 0x16), + GNB_ENTRY_WR (0x12, 0x3504, 0x9050c), +// opcode=0, body_cnt=9: VM_PRT_APERTURE0_LOW_ADDR (0x52c) VM_CONTEXTS_DISABLE (0x535) + GNB_ENTRY_WR (0x12, 0x3500, 0x21), + GNB_ENTRY_WR (0x12, 0x3504, 0x9052c), +// opcode=0, body_cnt=1: VM_CONTEXT0_PROTECTION_FAULT_DEFAULT_ADDR (0x546) VM_CONTEXT1_PROTECTION_FAULT_DEFAULT_ADDR (0x547) + GNB_ENTRY_WR (0x12, 0x3500, 0x2c), + GNB_ENTRY_WR (0x12, 0x3504, 0x10546), +// opcode=0, body_cnt=10: VM_FAULT_CLIENT_ID (0x54e) VM_CONTEXT1_PAGE_TABLE_START_ADDR (0x558) + GNB_ENTRY_WR (0x12, 0x3500, 0x2f), + GNB_ENTRY_WR (0x12, 0x3504, 0xa054e), +// opcode=0, body_cnt=1: VM_CONTEXT0_PAGE_TABLE_END_ADDR (0x55f) VM_CONTEXT1_PAGE_TABLE_END_ADDR (0x560) + GNB_ENTRY_WR (0x12, 0x3500, 0x3b), + GNB_ENTRY_WR (0x12, 0x3504, 0x1055f), +// opcode=0, body_cnt=1: VM_DEBUG (0x56f) VM_L2_CG (0x570) + GNB_ENTRY_WR (0x12, 0x3500, 0x3e), + GNB_ENTRY_WR (0x12, 0x3504, 0x1056f), +// opcode=0, body_cnt=1: VM_L2_BANK_SELECT_MASKA (0x572) VM_L2_BANK_SELECT_MASKB (0x573) + GNB_ENTRY_WR (0x12, 0x3500, 0x41), + GNB_ENTRY_WR (0x12, 0x3504, 0x10572), +// opcode=0, body_cnt=2: VM_L2_CONTEXT1_IDENTITY_APERTURE_LOW_ADDR (0x575) VM_L2_CONTEXT_IDENTITY_PHYSICAL_OFFSET (0x577) + GNB_ENTRY_WR (0x12, 0x3500, 0x44), + GNB_ENTRY_WR (0x12, 0x3504, 0x20575), +// opcode=0, body_cnt=53: MC_CITF_PERFCOUNTER_LO (0x7a0) ATC_PERFCOUNTER_RSLT_CNTL (0x7d5) + GNB_ENTRY_WR (0x12, 0x3500, 0x48), + GNB_ENTRY_WR (0x12, 0x3504, 0x3507a0), +// opcode=0, body_cnt=0: MC_ARB_PERF_MON_CNTL0_ECC (0x7db) MC_ARB_PERF_MON_CNTL0_ECC (0x7db) + GNB_ENTRY_WR (0x12, 0x3500, 0x7f), + GNB_ENTRY_WR (0x12, 0x3504, 0x7db), +// opcode=0, body_cnt=26: MC_SHARED_CHMAP (0x801) MC_VM_STEERING (0x81b) + GNB_ENTRY_WR (0x12, 0x3500, 0x81), + GNB_ENTRY_WR (0x12, 0x3504, 0x1a0801), +// opcode=0, body_cnt=2: MC_CG_CONFIG_MCD (0x829) MC_SHARED_BLACKOUT_CNTL (0x82b) + GNB_ENTRY_WR (0x12, 0x3500, 0x9d), + GNB_ENTRY_WR (0x12, 0x3504, 0x20829), +// opcode=0, body_cnt=4: MC_HUB_MISC_POWER (0x82d) MC_HUB_MISC_DBG (0x831) + GNB_ENTRY_WR (0x12, 0x3500, 0xa1), + GNB_ENTRY_WR (0x12, 0x3504, 0x4082d), +// opcode=0, body_cnt=4: MC_HUB_MISC_OVERRIDE (0x833) MC_HUB_WDP_BP (0x837) + GNB_ENTRY_WR (0x12, 0x3500, 0xa7), + GNB_ENTRY_WR (0x12, 0x3504, 0x40833), +// opcode=0, body_cnt=11: MC_HUB_RDREQ_CNTL (0x83b) MC_HUB_SHARED_DAGB_DLY (0x846) + GNB_ENTRY_WR (0x12, 0x3500, 0xad), + GNB_ENTRY_WR (0x12, 0x3504, 0xb083b), +// opcode=0, body_cnt=1: MC_HUB_RDREQ_DMIF_LIMIT (0x848) MC_HUB_RDREQ_ACPG_LIMIT (0x849) + GNB_ENTRY_WR (0x12, 0x3500, 0xba), + GNB_ENTRY_WR (0x12, 0x3504, 0x10848), +// opcode=0, body_cnt=63: MC_HUB_WDP_SH2 (0x84d) MC_HUB_WDP_SAM (0x88c) + GNB_ENTRY_WR (0x12, 0x3500, 0xbd), + GNB_ENTRY_WR (0x12, 0x3504, 0x3f084d), +// opcode=0, body_cnt=0: MC_VM_MB_L1_TLB0_DEBUG (0x891) MC_VM_MB_L1_TLB0_DEBUG (0x891) + GNB_ENTRY_WR (0x12, 0x3500, 0xfe), + GNB_ENTRY_WR (0x12, 0x3504, 0x891), +// opcode=0, body_cnt=0: MC_VM_MB_L1_TLB2_DEBUG (0x893) MC_VM_MB_L1_TLB2_DEBUG (0x893) + GNB_ENTRY_WR (0x12, 0x3500, 0x100), + GNB_ENTRY_WR (0x12, 0x3504, 0x893), +// opcode=0, body_cnt=0: MC_VM_MB_L2ARBITER_L2_CREDITS (0x8a1) MC_VM_MB_L2ARBITER_L2_CREDITS (0x8a1) + GNB_ENTRY_WR (0x12, 0x3500, 0x102), + GNB_ENTRY_WR (0x12, 0x3504, 0x8a1), +// opcode=0, body_cnt=0: MC_VM_MB_L1_TLB3_DEBUG (0x8a5) MC_VM_MB_L1_TLB3_DEBUG (0x8a5) + GNB_ENTRY_WR (0x12, 0x3500, 0x104), + GNB_ENTRY_WR (0x12, 0x3504, 0x8a5), +// opcode=0, body_cnt=51: MC_XPB_RTR_SRC_APRTR0 (0x8cd) MC_XPB_UNC_THRESH_SID (0x900) + GNB_ENTRY_WR (0x12, 0x3500, 0x106), + GNB_ENTRY_WR (0x12, 0x3504, 0x3308cd), +// opcode=0, body_cnt=1: MC_XPB_WCB_CFG (0x902) MC_XPB_P2P_BAR_CFG (0x903) + GNB_ENTRY_WR (0x12, 0x3500, 0x13b), + GNB_ENTRY_WR (0x12, 0x3504, 0x10902), +// opcode=0, body_cnt=19: MC_XPB_P2P_BAR_SETUP (0x90c) MC_XPB_INTF_CFG (0x91f) + GNB_ENTRY_WR (0x12, 0x3500, 0x13e), + GNB_ENTRY_WR (0x12, 0x3504, 0x13090c), +// opcode=0, body_cnt=0: MC_XPB_SUB_CTRL (0x922) MC_XPB_SUB_CTRL (0x922) + GNB_ENTRY_WR (0x12, 0x3500, 0x153), + GNB_ENTRY_WR (0x12, 0x3504, 0x922), +// opcode=0, body_cnt=0: MC_XPB_PERF_KNOBS (0x924) MC_XPB_PERF_KNOBS (0x924) + GNB_ENTRY_WR (0x12, 0x3500, 0x155), + GNB_ENTRY_WR (0x12, 0x3504, 0x924), +// opcode=0, body_cnt=20: MC_XPB_STICKY_W1C (0x926) MC_XPB_CLG_CFG36 (0x93a) + GNB_ENTRY_WR (0x12, 0x3500, 0x157), + GNB_ENTRY_WR (0x12, 0x3504, 0x140926), +// opcode=2, body_cnt=0: MC_RPB_CID_QUEUE_EX (0x95a) + GNB_ENTRY_WR (0x12, 0x3500, 0x16d), + GNB_ENTRY_WR (0x12, 0x3504, 0x2000095a), + GNB_ENTRY_WR (0x12, 0x3504, 0x1), +// opcode=3, body_cnt=31: MC_RPB_CID_QUEUE_EX_DATA (0x95b) + GNB_ENTRY_WR (0x12, 0x3500, 0x16f), + GNB_ENTRY_WR (0x12, 0x3504, 0x301f095b), +// opcode=0, body_cnt=12: MC_RPB_CONF (0x94d) MC_RPB_PERF_COUNTER_STATUS (0x959) + GNB_ENTRY_WR (0x12, 0x3500, 0x190), + GNB_ENTRY_WR (0x12, 0x3504, 0xc094d), +// opcode=0, body_cnt=16: MC_CITF_XTRA_ENABLE (0x96d) MC_CITF_INT_CREDITS_WR (0x97d) + GNB_ENTRY_WR (0x12, 0x3500, 0x19e), + GNB_ENTRY_WR (0x12, 0x3504, 0x10096d), +// opcode=0, body_cnt=12: MC_CITF_WTM_RD_CNTL (0x97f) MC_WR_GRP_LCL (0x98b) + GNB_ENTRY_WR (0x12, 0x3500, 0x1b0), + GNB_ENTRY_WR (0x12, 0x3504, 0xc097f), +// opcode=0, body_cnt=0: MC_CITF_PERF_MON_CNTL2 (0x98e) MC_CITF_PERF_MON_CNTL2 (0x98e) + GNB_ENTRY_WR (0x12, 0x3500, 0x1be), + GNB_ENTRY_WR (0x12, 0x3504, 0x98e), +// opcode=0, body_cnt=2: MC_CITF_MISC_RD_CG (0x992) MC_CITF_MISC_VM_CG (0x994) + GNB_ENTRY_WR (0x12, 0x3500, 0x1c0), + GNB_ENTRY_WR (0x12, 0x3504, 0x20992), +// opcode=0, body_cnt=2: MC_VM_MD_L1_TLB0_DEBUG (0x998) MC_VM_MD_L1_TLB2_DEBUG (0x99a) + GNB_ENTRY_WR (0x12, 0x3500, 0x1c4), + GNB_ENTRY_WR (0x12, 0x3504, 0x20998), +// opcode=0, body_cnt=0: MC_VM_MD_L2ARBITER_L2_CREDITS (0x9a4) MC_VM_MD_L2ARBITER_L2_CREDITS (0x9a4) + GNB_ENTRY_WR (0x12, 0x3500, 0x1c8), + GNB_ENTRY_WR (0x12, 0x3504, 0x9a4), +// opcode=0, body_cnt=0: MC_VM_MD_L1_TLB3_DEBUG (0x9a7) MC_VM_MD_L1_TLB3_DEBUG (0x9a7) + GNB_ENTRY_WR (0x12, 0x3500, 0x1ca), + GNB_ENTRY_WR (0x12, 0x3504, 0x9a7), +// opcode=0, body_cnt=6: MC_ARB_AGE_CNTL (0x9bf) MC_ARB_GECC2_DEBUG2 (0x9c5) + GNB_ENTRY_WR (0x12, 0x3500, 0x1cc), + GNB_ENTRY_WR (0x12, 0x3504, 0x609bf), +// opcode=0, body_cnt=45: MC_ARB_GECC2 (0x9c9) MC_ARB_MAX_LAT_CID (0x9f6) + GNB_ENTRY_WR (0x12, 0x3500, 0x1d4), + GNB_ENTRY_WR (0x12, 0x3504, 0x2d09c9), +// opcode=0, body_cnt=3: MC_ARB_SSM (0x9f9) MC_ARB_DRAM_TIMING_1 (0x9fc) + GNB_ENTRY_WR (0x12, 0x3500, 0x203), + GNB_ENTRY_WR (0x12, 0x3504, 0x309f9), +// opcode=0, body_cnt=0: MC_ARB_DRAM_TIMING2_1 (0x9ff) MC_ARB_DRAM_TIMING2_1 (0x9ff) + GNB_ENTRY_WR (0x12, 0x3500, 0x208), + GNB_ENTRY_WR (0x12, 0x3504, 0x9ff), +// opcode=0, body_cnt=2: MC_ARB_BURST_TIME (0xa02) MC_ARB_SCRAMBLE_KEY1 (0xa04) + GNB_ENTRY_WR (0x12, 0x3500, 0x20a), + GNB_ENTRY_WR (0x12, 0x3504, 0x20a02), +// opcode=0, body_cnt=6: MC_FUS_DRAM0_CTL_BASE (0xa13) MC_FUS_DRAM_MODE (0xa19) + GNB_ENTRY_WR (0x12, 0x3500, 0x20e), + GNB_ENTRY_WR (0x12, 0x3504, 0x60a13), +// opcode=0, body_cnt=3: MC_FUS_ARB_GARLIC_ISOC_PRI (0xa1f) MC_FUS_ARB_GARLIC_WR_PRI2 (0xa22) + GNB_ENTRY_WR (0x12, 0x3500, 0x216), + GNB_ENTRY_WR (0x12, 0x3504, 0x30a1f), +// opcode=1, body_cnt=0, mask=0x3f, const=0x0: ATC_ATS_FAULT_CNTL (0xccd) ATC_ATS_FAULT_CNTL (0xccd) + GNB_ENTRY_WR (0x12, 0x3500, 0x21b), + GNB_ENTRY_WR (0x12, 0x3504, 0x10000ccd), + GNB_ENTRY_WR (0x12, 0x3504, 0x3f), + GNB_ENTRY_WR (0x12, 0x3504, 0x0), +// opcode=0, body_cnt=7: ATC_VM_APERTURE0_LOW_ADDR (0xcc0) ATC_VM_APERTURE1_CNTL2 (0xcc7) + GNB_ENTRY_WR (0x12, 0x3500, 0x21f), + GNB_ENTRY_WR (0x12, 0x3504, 0x70cc0), +// opcode=0, body_cnt=2: ATC_ATS_CNTL (0xcc9) ATC_ATS_FAULT_DEBUG (0xccb) + GNB_ENTRY_WR (0x12, 0x3500, 0x228), + GNB_ENTRY_WR (0x12, 0x3504, 0x20cc9), +// opcode=0, body_cnt=1: ATC_ATS_DEFAULT_PAGE_LOW (0xcd0) ATC_ATS_DEFAULT_PAGE_CNTL (0xcd1) + GNB_ENTRY_WR (0x12, 0x3500, 0x22c), + GNB_ENTRY_WR (0x12, 0x3504, 0x10cd0), +// opcode=0, body_cnt=4: ATC_MISC_CG (0xcd4) ATC_L2_DEBUG2 (0xcd8) + GNB_ENTRY_WR (0x12, 0x3500, 0x22f), + GNB_ENTRY_WR (0x12, 0x3504, 0x40cd4), +// opcode=0, body_cnt=5: ATC_L1_CNTL (0xcdc) ATC_L1WR_STATUS (0xce1) + GNB_ENTRY_WR (0x12, 0x3500, 0x235), + GNB_ENTRY_WR (0x12, 0x3504, 0x50cdc), +// opcode=0, body_cnt=16: ATC_VMID_PASID_MAPPING_UPDATE_STATUS (0xce6) ATC_VMID15_PASID_MAPPING (0xcf6) + GNB_ENTRY_WR (0x12, 0x3500, 0x23c), + GNB_ENTRY_WR (0x12, 0x3504, 0x100ce6), +// opcode=0, body_cnt=0: ATC_ATS_FAULT_CNTL (0xccd) ATC_ATS_FAULT_CNTL (0xccd) + GNB_ENTRY_WR (0x12, 0x3500, 0x24e), + GNB_ENTRY_WR (0x12, 0x3504, 0xccd), +// opcode=0, body_cnt=23: MC_ARB_HARSH_EN_RD (0xdc0) MC_ARB_HARSH_CTL_WR (0xdd7) + GNB_ENTRY_WR (0x12, 0x3500, 0x250), + GNB_ENTRY_WR (0x12, 0x3504, 0x170dc0), +// opcode=0, body_cnt=0: MC_CONFIG (0x800) MC_CONFIG (0x800) + GNB_ENTRY_WR (0x12, 0x3500, 0x269), + GNB_ENTRY_WR (0x12, 0x3504, 0x800), +// opcode=0, body_cnt=0: MC_CONFIG_MCD (0x828) MC_CONFIG_MCD (0x828) + GNB_ENTRY_WR (0x12, 0x3500, 0x26b), + GNB_ENTRY_WR (0x12, 0x3504, 0x828), +//--------------------------------------------------------------------------- +// Setting up end pointers + GNB_ENTRY_RMW (0x12, 0x3508, 0xfffff000, 0x9b26c000), +//--------------------------------------------------------------------------- +// Enabling light sleep + GNB_ENTRY_RMW (0x12, 0x3544, 0x6000000, 0x2000000), + + // 2.7 Performance tuning + GNB_ENTRY_WR (0x12, 0x27D0, 0x10724847), + GNB_ENTRY_WR (0x12, 0x27C0, 0x00C32008), + GNB_ENTRY_WR (0x12, 0x27C4, 0x00C32006), + GNB_ENTRY_WR (0x12, 0x277C, 0x00000007), + GNB_ENTRY_WR (0x12, 0x218C, 0x000021b1), + GNB_ENTRY_WR (0x12, 0x201C, 0x47773337), + GNB_ENTRY_WR (0x12, 0x2020, 0x73773337), + GNB_ENTRY_WR (0x12, 0x2018, 0x66334303), + GNB_ENTRY_WR (0x12, 0x2014, 0x66300333), + GNB_ENTRY_WR (0x12, 0x2794, 0xfcfcfdfc), + GNB_ENTRY_WR (0x12, 0x2798, 0xfcfcfdfc), + GNB_ENTRY_WR (0x12, 0x27A4, 0x00ffffff), + GNB_ENTRY_WR (0x12, 0x27A8, 0x00ffffff), + GNB_ENTRY_WR (0x12, 0x278C, 0x00000008), + GNB_ENTRY_WR (0x12, 0x2790, 0x00000008), + GNB_ENTRY_WR (0x12, 0x2628, 0x55111000), + GNB_ENTRY_WR (0x12, 0x25E0, 0x00000025), + GNB_ENTRY_WR (0x12, 0x262C, 0x10555111), + GNB_ENTRY_WR (0x12, 0x25E4, 0x00000025), + GNB_ENTRY_WR (0x12, 0x25C8, 0x0080685F), + GNB_ENTRY_WR (0x12, 0x25CC, 0x0000807F), + GNB_ENTRY_WR (0x12, 0x2144, 0x50A1421D), + GNB_ENTRY_WR (0x12, 0x20EC, 0x0000001C), + GNB_ENTRY_WR (0x12, 0x2184, 0x0000A1F1), + GNB_ENTRY_WR (0x12, 0x21E0, 0x0000A1F1), + GNB_ENTRY_WR (0x12, 0x217C, 0x0000A1F1), + GNB_ENTRY_WR (0x12, 0x21C0, 0x0000A1F1), + GNB_ENTRY_WR (0x12, 0x2214, 0x000021B1), + GNB_ENTRY_WR (0x12, 0x2220, 0x000021B1), + GNB_ENTRY_WR (0x12, 0x3758, 0x00000800), + GNB_ENTRY_WR (0x12, 0x375C, 0x00000800), + GNB_ENTRY_WR (0x12, 0x3700, 0xD1000000), + GNB_ENTRY_WR (0x12, 0x3704, 0xD0000000), + GNB_ENTRY_WR (0x12, 0x3748, 0x0000007F), + GNB_ENTRY_WR (0x12, 0x3750, 0x18201015), + GNB_ENTRY_WR (0x12, 0x3754, 0x18201015), + GNB_ENTRY_WR (0x12, 0x253C, 0x000000B4), + GNB_ENTRY_WR (0x12, 0x2550, 0x000000A3), + GNB_ENTRY_WR (0x12, 0x2558, 0x00002077), + GNB_ENTRY_WR (0x12, 0x2558, 0x000020B7), + GNB_ENTRY_WR (0x12, 0x2558, 0x00002A3D), + + GNB_ENTRY_WR (0x12, 0x287C, 0x0c000911), + + //2.9 Display latency + GNB_ENTRY_WR (0x12, 0x2114, 0x00000015), + + GNB_ENTRY_WR (0x12, 0x2880, 0xFCFE8000), + + //2.12 Remove blackout + GNB_ENTRY_WR (0x12, 0x20AC, 0x00000000), + + // VCE Optimization + GNB_ENTRY_RMW (0x12, 0x2108, 0xff00, (1 << 8)), + GNB_ENTRY_WR (0x12, 0x21fc, 0xA1F1), + GNB_ENTRY_WR (0x12, 0x2198, 0xA1F1), + + // STCTRL_IGNORE_PROTECTION_FAULT + GNB_ENTRY_RMW (0x12, 0x350C, 0x01000000, (1 << 24)), + + GNB_ENTRY_RMW (0x12, 0x5490, 0x2 | 0x1, (1 << 0) | (1 << 1)), + + GNB_ENTRY_TERMINATE +}; + +GNB_TABLE ROMDATA GfxGmcFeature1EnableKB [] = { + GNB_ENTRY_WR (0x12, 0x20C0, 0x000c0c80), + GNB_ENTRY_WR (0x12, 0x2478, 0x000c0400), + GNB_ENTRY_WR (0x12, 0x20B8, 0x000c0400), + GNB_ENTRY_WR (0x12, 0x20BC, 0x000c0400), + GNB_ENTRY_WR (0x12, 0x2648, 0x00080400), + GNB_ENTRY_WR (0x12, 0x264C, 0x000c0400), + GNB_ENTRY_WR (0x12, 0x2650, 0x000c0400), + GNB_ENTRY_WR (0x12, 0x15C0, 0x000c0400), + GNB_ENTRY_TERMINATE +}; + +GNB_TABLE ROMDATA GfxEnvInitTableKB [] = { + GNB_ENTRY_TERMINATE +}; diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbEarlyInitKB.c b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbEarlyInitKB.c new file mode 100644 index 0000000000..288884b0cf --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbEarlyInitKB.c @@ -0,0 +1,459 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * GNB early post initialization. + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 84838 $ @e \$Date: 2012-12-20 10:04:21 -0600 (Thu, 20 Dec 2012) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ +/*---------------------------------------------------------------------------------------- + * M O D U L E S U S E D + *---------------------------------------------------------------------------------------- + */ +#include "AGESA.h" +#include "Ids.h" +#include "amdlib.h" +#include "Gnb.h" +#include "OptionGnb.h" +#include "GnbCommonLib.h" +#include "GnbPcieConfig.h" +#include "GnbTable.h" +#include "GnbSmuInitLibV7.h" +#include "GnbSmuFirmwareKB.h" +#include "GnbRegisterAccKB.h" +#include "GnbRegistersKB.h" +#include "cpuF16PowerMgmt.h" +#include "excel925.h" +#include "Filecode.h" +#define FILECODE PROC_GNB_MODULES_GNBINITKB_GNBEARLYINITKB_FILECODE +/*---------------------------------------------------------------------------------------- + * D E F I N I T I O N S A N D M A C R O S + *---------------------------------------------------------------------------------------- + */ + +extern GNB_TABLE ROMDATA GnbEarlierInitTableBeforeSmuKB []; +extern GNB_TABLE ROMDATA GnbEarlyInitTableKB []; +extern GNB_BUILD_OPTIONS GnbBuildOptions; +extern BUILD_OPT_CFG UserOptions; + +#define CFG_DISP_PHY_TDP_LIMIT 0 +#define CFG_FCH_PWR_CREDIT 0 + + +/*---------------------------------------------------------------------------------------- + * T Y P E D E F S A N D S T R U C T U R E S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * P R O T O T Y P E S O F L O C A L F U N C T I O N S + *---------------------------------------------------------------------------------------- + */ +AGESA_STATUS +GnbEarlyInterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ); + +AGESA_STATUS +GnbEarlierInterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ); + +AGESA_STATUS +GnbScsInterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ); + +AGESA_STATUS +OptionGnbInstall581 ( + IN AMD_CONFIG_PARAMS *StdHeader + ); + +STATIC VOID +GnbEarlyInitKB129_fun ( + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + AMD_EARLY_PARAMS *EarlyParams; + UINT32 v0; + UINT32 v1; + D18F4x110_STRUCT D18F4x110; + D18F5xE0_STRUCT D18F5xE0; + UINT32 v4; + UINT32 Data; + + EarlyParams = (AMD_EARLY_PARAMS *) StdHeader; + + v0 = ((EarlyParams->PlatformConfig.VrmProperties[CoreVrm].CurrentLimit / 10) & 0xFFFF) | + (((EarlyParams->PlatformConfig.VrmProperties[NbVrm].CurrentLimit / 10) & 0xFFFF) << 16); + GnbRegisterWriteKB (GnbGetHandle (StdHeader), 0x4, 0x3FA04, &v0, 0, StdHeader); + + v1 = ((EarlyParams->PlatformConfig.VrmProperties[CoreVrm].SviOcpLevel / 10) & 0xFFFF) | + (((EarlyParams->PlatformConfig.VrmProperties[NbVrm].SviOcpLevel / 10) & 0xFFFF) << 16); + GnbRegisterWriteKB (GnbGetHandle (StdHeader), 0x4, 0x3f994, &v1, 0, StdHeader); + + GnbRegisterReadKB (GnbGetHandle (StdHeader), + D18F4x110_TYPE, D18F4x110_ADDRESS, &D18F4x110, 0, StdHeader); + GnbRegisterReadKB (GnbGetHandle (StdHeader), + D18F5xE0_TYPE, D18F5xE0_ADDRESS, &D18F5xE0, 0, StdHeader); + + // Period = (2^(RunAvgRange + 1)*CSampleTimer*5.12)us - round down to nearest 10uS + Data = D18F5xE0.Field.RunAvgRange + 1; + Data = 1 << Data; + Data *= D18F4x110.Field.CSampleTimer; + Data = ((Data * 512) / 1000) * 10; + + IDS_HDT_CONSOLE (GNB_TRACE, "VPC period = %d\n", Data); + + v4 = Data; + GnbRegisterWriteKB (GnbGetHandle (StdHeader), + 0x4, 0x3F830, &v4, 0, StdHeader); + +} + +/*----------------------------------------------------------------------------------------*/ +STATIC VOID +GnbEarlyInitKB180_fun ( + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + D18F3xA8_STRUCT D18F3xA8; + UINT32 D0F0xBC_x3F9D8; + UINT64 MsrData; + + GnbRegisterReadKB (GnbGetHandle (StdHeader), D18F3xA8_TYPE, D18F3xA8_ADDRESS, &D18F3xA8, 0, StdHeader); + GnbRegisterReadKB (GnbGetHandle (StdHeader), 0x4, 0x3F9D8, &D0F0xBC_x3F9D8, 0, StdHeader); + D0F0xBC_x3F9D8 &= ~(0xF << 24); + D0F0xBC_x3F9D8 |= (D18F3xA8.Field.PopDownPstate & 0x7) << 24; + LibAmdMsrRead ((PS_REG_BASE + D18F3xA8.Field.PopDownPstate), &MsrData, StdHeader); + D0F0xBC_x3F9D8 |= (((MsrData & (1 << 22)) == 0) ? (1 << 27) :0); + GnbRegisterWriteKB (GnbGetHandle (StdHeader), 0x4, 0x3F9D8, &D0F0xBC_x3F9D8, 0, StdHeader); + return; +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Init Package Power Support + * + * + * + * @param[in] StdHeader Standard configuration header + */ + +STATIC VOID +GnbInitPkgPowerKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + UINT32 D0F0xBC_x3F834; + UINT32 D0F0xBC_x3F838; + UINT32 D0F0xBC_x3F844; + + IDS_HDT_CONSOLE (GNB_TRACE, "GnbInitPkgPowerKB Enter\n"); + + D0F0xBC_x3F834 = CFG_DISP_PHY_TDP_LIMIT; + GnbRegisterWriteKB (GnbGetHandle (StdHeader), TYPE_D0F0xBC, 0x3F834, + &D0F0xBC_x3F834, 0, StdHeader); + + D0F0xBC_x3F838 = CFG_FCH_PWR_CREDIT; + GnbRegisterWriteKB (GnbGetHandle (StdHeader), TYPE_D0F0xBC, 0x3F838, + &D0F0xBC_x3F838, 0, StdHeader); + + GnbRegisterReadKB (GnbGetHandle (StdHeader), 0x4, 0x3f844, + &D0F0xBC_x3F844, 0, StdHeader); + D0F0xBC_x3F844 &= 0xe0000000; + GnbRegisterWriteKB (GnbGetHandle (StdHeader), 0x4, 0x3f844, + &D0F0xBC_x3F844, 0, StdHeader); + + IDS_HDT_CONSOLE (GNB_TRACE, "GnbInitPkgPowerKB Exit\n"); + return; +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Request VDDB Pmin + * + * + * + * @param[in] GnbHandle GNB_HANDLE + * @param[in] StdHeader Standard configuration header + */ + +STATIC VOID +GnbRequestVddNbPminKB ( + IN GNB_HANDLE *GnbHandle, + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + D18F5x170_STRUCT D18F5x170; + D18F5x160_STRUCT D18F5x160; + UINT32 Millivolt; + UINT32 NbVid; + DEV_OBJECT DevObject; + + IDS_HDT_CONSOLE (GNB_TRACE, "GnbRequestVddNbPminKB Enter\n"); + // 1) Read F5x170[NbPstateMaxVal] to find NB Pmin. + GnbRegisterReadKB (GnbHandle, D18F5x170_TYPE, D18F5x170_ADDRESS, &D18F5x170, 0, StdHeader); + // 2) Determine voltage associated with NB Pmin. Read F5x(160+4*NbPstateMaxVal)[NbVid]. (For example, NBP0 is F5x160, NBP1 is F5x164, etc) + GnbRegisterReadKB (GnbHandle, D18F5x160_TYPE, (D18F5x160_ADDRESS + (4 * D18F5x170.Field.NbPstateMaxVal)), &D18F5x160, 0, StdHeader); + NbVid = (D18F5x160.Field.NbVid_7_ << 7) | (D18F5x160.Field.NbVid_6_0_); + // 3) Make voltage request (via BIOSSMC_MSG_VDDNB_REQUEST) for voltage determined by Step 2. Note that message requires encoding in voltage, not VID. + // Use the following equation to decode SVI2 VIDs: + // Voltage = 1.55 - (0.00625*VID) + // Furthermore, VDDNB requests to SMU should be encoded in 0.25mV steps. + // Therefore, voltage should be translated into mV and then multiplied by 4, to be encoded as 0.25mV steps. + // Or... ( 1.55 * 1000 * 4) - (.00625 * 1000 * 4) * VID) = (1550 * 4) - (25 * VID) + Millivolt = (1550 * 4) - (25 * NbVid); + + IDS_HDT_CONSOLE (GNB_TRACE, " Set Voltage for NbPstateMaxVal = 0x%x, Vid code 0x%x = %d mV\n", D18F5x170.Field.NbPstateMaxVal, NbVid, Millivolt); + DevObject.StdHeader = StdHeader; + DevObject.GnbHandle = GnbHandle; + DevObject.DevPciAddress.AddressValue = MAKE_SBDFO (0, 0, 0, 0, 0); + GnbSmuServiceRequestV7 ( + &DevObject, + SMC_MSG_VDDNB_REQUEST, + Millivolt, + 0 + ); + IDS_HDT_CONSOLE (GNB_TRACE, "GnbRequestVddNbPminKB Exit\n"); + return; +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Initialize GFX straps. + * + * + * @param[in] StdHeader Standard configuration header + */ +STATIC VOID +GfxStrapsEarlyInitKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + GnbRegistersKB7236_STRUCT v0; + GnbRegistersKB7269_STRUCT v1; + GnbRegistersKB7314_STRUCT v2; + GnbRegistersKB7341_STRUCT v3; + GNB_HANDLE *GnbHandle; + + IDS_HDT_CONSOLE (GNB_TRACE, "GfxStrapsEarlyInitKB Enter\n"); + + GnbHandle = GnbGetHandle (StdHeader); + + GnbRegisterReadKB (GnbHandle, TYPE_D0F0xD4, 0x13014AB, &v0.Value, 0, StdHeader); + GnbRegisterReadKB (GnbHandle, TYPE_D0F0xD4, 0x13014AC, &v1.Value, 0, StdHeader); + GnbRegisterReadKB (GnbHandle, TYPE_D0F0xD4, 0x13014B6, &v2.Value, 0, StdHeader); + GnbRegisterReadKB (GnbHandle, TYPE_D0F0xD4, 0x013014BE, &v3.Value, 0, StdHeader); + + v0.Field.bit17 = 1; + + v2.Field.bita = 0x0; + v2.Field.StrapBifF0LegacyDeviceTypeDis = 0x0; + + v1.Field.bit16 = UserOptions.CfgGnbHdAudio; + v2.Field.bit13 = UserOptions.CfgGnbHdAudio; + + // Enable PCI Vendor Specific Capabilities + v3.Field.bit_20 = 1; + + GnbRegisterWriteKB (GnbHandle, TYPE_D0F0xD4, 0x13014AB, &v0.Value, GNB_REG_ACC_FLAG_S3SAVE, StdHeader); + GnbRegisterWriteKB (GnbHandle, TYPE_D0F0xD4, 0x13014AC, &v1.Value, GNB_REG_ACC_FLAG_S3SAVE, StdHeader); + GnbRegisterWriteKB (GnbHandle, TYPE_D0F0xD4, 0x13014B6, &v2.Value, GNB_REG_ACC_FLAG_S3SAVE, StdHeader); + GnbRegisterWriteKB (GnbHandle, TYPE_D0F0xD4, 0x013014BE, &v3.Value, GNB_REG_ACC_FLAG_S3SAVE, StdHeader); + + IDS_HDT_CONSOLE (GNB_TRACE, "GfxStrapsEarlyInitKB Exit\n"); +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Enable Gfx gBIF + * + * + * @param[in] StdHeader Standard configuration header + * @retval AGESA_STATUS + */ + +STATIC AGESA_STATUS +GfxGBifEnableKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + GnbRegistersKB7208_STRUCT var0; + GnbRegistersKB7514_STRUCT var1; + UINT32 D0F0xBC_xC00C0000; + GNB_HANDLE *GnbHandle; + + IDS_HDT_CONSOLE (GNB_TRACE, "GfxGBifEnableKB Enter\n"); + GnbHandle = GnbGetHandle (StdHeader); + + GnbRegisterReadKB (GnbHandle, 0x4, 0xc00c0000, &D0F0xBC_xC00C0000, 0, StdHeader); + if (((D0F0xBC_xC00C0000 >> 1) & 1 )!= 1) { + GfxStrapsEarlyInitKB (StdHeader); + } + + GnbRegisterReadKB (GnbHandle, TYPE_D0F0xD4, 0x1301486, &var0.Value, 0, StdHeader); + GnbRegisterReadKB (GnbHandle, TYPE_D0F0xD4, 0x1091518, &var1.Value, 0, StdHeader); + var0.Field.bit2 = 0x1; + var1.Field.bit0 = 0x1; + GnbRegisterWriteKB (GnbHandle, TYPE_D0F0xD4, 0x1091518, &var1.Value, GNB_REG_ACC_FLAG_S3SAVE, StdHeader); + GnbRegisterWriteKB (GnbHandle, TYPE_D0F0xD4, 0x1301486, &var0.Value, GNB_REG_ACC_FLAG_S3SAVE, StdHeader); + IDS_HDT_CONSOLE (GNB_TRACE, "GfxGBifEnableKB Exit\n"); + + return AGESA_SUCCESS; +} +/*----------------------------------------------------------------------------------------*/ +/** + * GNB init at early post + * + * + * + * @param[in] StdHeader Standard configuration header + * @retval AGESA_STATUS + */ + +AGESA_STATUS +GnbEarlyInterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + AGESA_STATUS Status; + AGESA_STATUS AgesaStatus; + GNB_HANDLE *GnbHandle; + UINT32 Property; + + AgesaStatus = AGESA_SUCCESS; + + IDS_HDT_CONSOLE (GNB_TRACE, "GnbEarlyInterfaceKB Enter\n"); + GnbHandle = GnbGetHandle (StdHeader); + + Property = TABLE_PROPERTY_DEFAULT; + Property |= UserOptions.CfgGnbSyncFloodPinAsNmi ? 0x00000400ul : 0; + Property |= GnbBuildOptions.CfgSviRevision == 2 ? TABLE_PROPERTY_SVI2 : 0; + + IDS_OPTION_HOOK (IDS_GNB_PROPERTY, &Property, StdHeader); + + while (GnbHandle != NULL) { + GnbEarlyInitKB129_fun (StdHeader); + GnbEarlyInitKB180_fun (StdHeader); + GnbInitPkgPowerKB (StdHeader); + Status = GnbProcessTable ( + GnbHandle, + GnbEarlyInitTableKB, + Property, + 0, + StdHeader + ); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + GnbRequestVddNbPminKB (GnbHandle, StdHeader); + Status = GfxGBifEnableKB (StdHeader); + ASSERT (Status == AGESA_SUCCESS); + GnbHandle = GnbGetNextHandle (GnbHandle); + } + IDS_HDT_CONSOLE (GNB_TRACE, "GnbEarlyInterfaceKB Exit [0x%x]\n", AgesaStatus); + return AgesaStatus; +} + + +/*----------------------------------------------------------------------------------------*/ +/** + * GNB init at earlier post + * + * + * + * @param[in] StdHeader Standard configuration header + * @retval AGESA_STATUS + */ + +AGESA_STATUS +GnbEarlierInterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + AGESA_STATUS Status; + AGESA_STATUS AgesaStatus; + GNB_HANDLE *GnbHandle; + + AgesaStatus = AGESA_SUCCESS; + Status = AGESA_SUCCESS; + IDS_HDT_CONSOLE (GNB_TRACE, "GnbEarlierInterfaceKB Enter\n"); + GnbHandle = GnbGetHandle (StdHeader); + while (GnbHandle != NULL) { + Status = GnbProcessTable ( + GnbHandle, + GnbEarlierInitTableBeforeSmuKB, + 0, + 0, + StdHeader + ); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + + Status = GnbSmuFirmwareLoadV7 (GnbHandle, (FIRMWARE_HEADER_V7*) &FirmwareKB[0], StdHeader); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + + GnbHandle = GnbGetNextHandle (GnbHandle); + } + IDS_HDT_CONSOLE (GNB_TRACE, "GnbEarlierInterfaceKB Exit [0x%x]\n", Status); + return AgesaStatus; +} + +/*----------------------------------------------------------------------------------------*/ +AGESA_STATUS +OptionGnbInstall581 ( + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + AGESA_STATUS Status; + AGESA_STATUS AgesaStatus; + GNB_HANDLE *GnbHandle; + + AgesaStatus = AGESA_SUCCESS; + Status = AGESA_SUCCESS; + GnbHandle = GnbGetHandle (StdHeader); + + while (GnbHandle != NULL) { + Status = GnbSmuInitLibV7139_fun0 (GnbHandle, &excel925[0], StdHeader); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + + GnbHandle = GnbGetNextHandle (GnbHandle); + } + + return AgesaStatus; +} diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbEnvInitKB.c b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbEnvInitKB.c new file mode 100644 index 0000000000..e9f41de52e --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbEnvInitKB.c @@ -0,0 +1,302 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * GNB env post initialization. + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 85506 $ @e \$Date: 2013-01-08 15:38:33 -0600 (Tue, 08 Jan 2013) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ +/*---------------------------------------------------------------------------------------- + * M O D U L E S U S E D + *---------------------------------------------------------------------------------------- + */ +#include "AGESA.h" +#include "Ids.h" +#include "amdlib.h" +#include "heapManager.h" +#include "Gnb.h" +#include "GnbCommonLib.h" +#include "GnbTable.h" +#include "GnbPcieConfig.h" +#include "GnbSmuInitLibV7.h" +#include "GnbNbInitLibV1.h" +#include "GnbNbInitLibV4.h" +#include "GnbNbInitLibV5.h" +#include "GnbF1TableKB.h" +#include "GnbF1Table.h" +#include "GnbRegistersKB.h" +#include "GnbRegisterAccKB.h" +#include "OptionGnb.h" +#include "Filecode.h" +#define FILECODE PROC_GNB_MODULES_GNBINITKB_GNBENVINITKB_FILECODE +/*---------------------------------------------------------------------------------------- + * D E F I N I T I O N S A N D M A C R O S + *---------------------------------------------------------------------------------------- + */ +extern GNB_BUILD_OPTIONS GnbBuildOptions; +extern GNB_TABLE ROMDATA GnbEnvInitTableKB []; +extern GNB_TABLE ROMDATA GnbIommuInitTableKB []; + +/*---------------------------------------------------------------------------------------- + * T Y P E D E F S A N D S T R U C T U R E S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * P R O T O T Y P E S O F L O C A L F U N C T I O N S + *---------------------------------------------------------------------------------------- + */ +AGESA_STATUS +GnbEnvInterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ); + +/*----------------------------------------------------------------------------------------*/ +/** + * NB Dynamic Wake + * ORB_CNB_Wake signal is used to inform the CNB NCLK controller and GNB LCLK controller + * that ORB is (or will soon) push data into the synchronizer FIFO (i.e. wake is high). + * + * @param[in] NbPciAddress Gnb PCI address + * @param[in] StdHeader Standard Configuration Header + */ + +VOID +STATIC +GnbOrbDynamicWakeKB ( + IN PCI_ADDR NbPciAddress, + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + + D0F0x98_x2C_STRUCT D0F0x98_x2C; + + GnbLibPciIndirectRead ( + NbPciAddress.AddressValue | D0F0x94_ADDRESS, + D0F0x98_x2C_ADDRESS, + AccessWidth32, + &D0F0x98_x2C.Value, + StdHeader + ); + + // Enable Dynamic wake + // Wake Hysteresis timer value. Specifies the number of SMU pulses to count. + if (GnbBuildOptions.CfgOrbDynWakeEnable) { + D0F0x98_x2C.Field.DynWakeEn = 1; + } else { + D0F0x98_x2C.Field.DynWakeEn = 0; + } + D0F0x98_x2C.Field.WakeHysteresis = 0x19; + + IDS_OPTION_HOOK (IDS_GNB_ORBDYNAMIC_WAKE, &D0F0x98_x2C, StdHeader); + + GnbLibPciIndirectWrite ( + NbPciAddress.AddressValue | D0F0x94_ADDRESS, + D0F0x98_x2C_ADDRESS, + AccessS3SaveWidth32, + &D0F0x98_x2C.Value, + StdHeader + ); +} +/*----------------------------------------------------------------------------------------*/ +/** + * HTC Data + * + * @param[in] GnbHandle Gnb Header + * @param[in] StdHeader Standard Configuration Header + */ + +VOID +STATIC +GnbFillHtcData ( + IN GNB_HANDLE *GnbHandle, + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + + UINT32 D0F0xBC_x3FDD4; + D18F3x64_STRUCT D18F3x64; + UINT16 *p = (UINT16 *)&D0F0xBC_x3FDD4; + GnbRegisterReadKB (GnbHandle, D18F3x64_TYPE, D18F3x64_ADDRESS, + &D18F3x64.Value, 0, StdHeader); + + GnbRegisterReadKB (GnbHandle, 0x4, 0x3fdd4, + &D0F0xBC_x3FDD4, 0, StdHeader); + + if (D18F3x64.Field.HtcEn == 1) { + + p[1] = D18F3x64.Field.HtcTmpLmt / 2 + 52; + p[0] = + p[1] - (D18F3x64.Field.HtcHystLmt / 2); + + p[1] = + (p[1] + 49) << 3; + p[0] = + (p[0] + 49) << 3; + + } else { + + p[0] = 0; + p[1] = 0; + + } + + + GnbRegisterWriteKB (GnbHandle, 0x4, + 0x3fdd4, &D0F0xBC_x3FDD4, GNB_REG_ACC_FLAG_S3SAVE, StdHeader); + +} + +/*----------------------------------------------------------------------------------------*/ +/** + * LHTC Data + * + * @param[in] GnbHandle Gnb Header + * @param[in] StdHeader Standard Configuration Header + */ + +VOID +STATIC +GnbUpdateLhtcData ( + IN GNB_HANDLE *GnbHandle, + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + AMD_ENV_PARAMS *EnvParams; + UINT32 LhtcParameter; + D18F3x64_STRUCT D18F3x64; + UINT32 D0F0xBC_xC0104090; + DEV_OBJECT DevObject; + + IDS_HDT_CONSOLE (GNB_TRACE, "GnbUpdateLhtcData Enter\n"); + EnvParams = (AMD_ENV_PARAMS *) StdHeader; + + // Make sure both config values are valid + if ((EnvParams->PlatformConfig.LhtcTemperatureLimit >= 520) && (EnvParams->PlatformConfig.HtcTemperatureLimit >= 520)) { + // Platform config value is in .1 degrees + LhtcParameter = (EnvParams->PlatformConfig.LhtcTemperatureLimit - 520) / 5; + // Read HtcTmpLmt field from D18F3 + GnbRegisterReadKB (GnbGetHandle (StdHeader), D18F3x64_TYPE, D18F3x64_ADDRESS, &D18F3x64.Value, 0, StdHeader); + GnbRegisterReadKB (GnbGetHandle (StdHeader), 0x4, 0xC0104090, &D0F0xBC_xC0104090, 0, StdHeader); + if ((D18F3x64.Field.HtcEn == 1) && (LhtcParameter < D18F3x64.Field.HtcTmpLmt) && (LhtcParameter < ((D0F0xBC_xC0104090 >> 23) & 0xFF))) { + // All values are valid, so we can send the service to the SMU + DevObject.StdHeader = StdHeader; + DevObject.GnbHandle = GnbGetHandle (StdHeader); + DevObject.DevPciAddress.AddressValue = MAKE_SBDFO (0, 0, 0, 0, 0); + GnbSmuServiceRequestV7 ( + &DevObject, + SMC_MSG_LHTC_LIMIT_SetLimit, + LhtcParameter, + GNB_REG_ACC_FLAG_S3SAVE + ); + } + } + + IDS_HDT_CONSOLE (GNB_TRACE, "GnbUpdateLhtcData Exit\n"); +} + +/*----------------------------------------------------------------------------------------*/ +/** + * GNB init at env + * + * + * + * @param[in] StdHeader Standard configuration header + * @retval AGESA_STATUS + */ + +AGESA_STATUS +GnbEnvInterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + AGESA_STATUS Status; + AGESA_STATUS AgesaStatus; + UINT32 Property; + GNB_HANDLE *GnbHandle; + PCI_ADDR GnbPciAddress; + + IDS_HDT_CONSOLE (GNB_TRACE, "GnbEnvInterfaceKB Enter\n"); + Property = TABLE_PROPERTY_DEFAULT; + Property |= GnbBuildOptions.CfgBapmSupport ? TABLE_PROPERTY_BAPM : 0; + Property |= GnbBuildOptions.CfgLhtcSupport ? TABLE_PROPERTY_LHTC : 0; + Property |= GnbBuildOptions.CfgTdcSupport ? 0x00040000ul : 0; + Property |= 0x00080000ul; + AgesaStatus = AGESA_SUCCESS; + GnbLoadF1TableKB (StdHeader); + GnbHandle = GnbGetHandle (StdHeader); + while (GnbHandle != NULL) { + GnbPciAddress = GnbGetHostPciAddress (GnbHandle); + Status = GnbSetTomV5 (GnbPciAddress, StdHeader); + GnbOrbDynamicWakeKB (GnbPciAddress, StdHeader); + GnbFillHtcData (GnbHandle, StdHeader); + if (GnbIsGnbConnectedToSb (GnbHandle)) { + GnbLpcDmaDeadlockPreventionV4 (GnbHandle, StdHeader); + } + + IDS_OPTION_HOOK (IDS_GNB_PROPERTY, &Property, StdHeader); + + Status = GnbProcessTable ( + GnbHandle, + GnbEnvInitTableKB, + Property, + GNB_TABLE_FLAGS_FORCE_S3_SAVE, + StdHeader + ); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + + if ((Property & TABLE_PROPERTY_LHTC) != 0) { + GnbUpdateLhtcData (GnbHandle, StdHeader); + } + + Status = GnbProcessTable ( + GnbHandle, + GnbIommuInitTableKB, + Property, + GNB_TABLE_FLAGS_FORCE_S3_SAVE, + StdHeader + ); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + + GnbHandle = GnbGetNextHandle (GnbHandle); + } + IDS_HDT_CONSOLE (GNB_TRACE, "GnbEnvInterfaceKB Exit [0x%x]\n", AgesaStatus); + return AgesaStatus; +} diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbF1TableKB.c b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbF1TableKB.c new file mode 100644 index 0000000000..41b7b176f2 --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbF1TableKB.c @@ -0,0 +1,1022 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * Gnb f1 table + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 84159 $ @e \$Date: 2011-12-21 14:49:48 -0600 (Wed, 21 Dec 2011) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ + +/*---------------------------------------------------------------------------------------- + * M O D U L E S U S E D + *---------------------------------------------------------------------------------------- + */ + +#include "AGESA.h" +#include "Ids.h" +#include "amdlib.h" +#include "heapManager.h" +#include "Gnb.h" +#include "GnbGfxFamServices.h" +#include "GnbCommonLib.h" +#include "GnbF1Table.h" +#include "GnbF1TableKB.h" +#include "GnbRegistersKB.h" +#include "GnbRegisterAccKB.h" +#include "GnbHandleLib.h" +#include "OptionGnb.h" +#include "Filecode.h" +//#define FILECODE PROC_GNB_MODULES_GNBINITKB_GNBFUSETABLEKB_FILECODE +/*---------------------------------------------------------------------------------------- + * D E F I N I T I O N S A N D M A C R O S + *---------------------------------------------------------------------------------------- + */ + +extern GNB_BUILD_OPTIONS GnbBuildOptions; + +/*---------------------------------------------------------------------------------------- + * T Y P E D E F S A N D S T R U C T U R E S + *---------------------------------------------------------------------------------------- + */ + + + +/*---------------------------------------------------------------------------------------- + * P R O T O T Y P E S O F L O C A L F U N C T I O N S + *---------------------------------------------------------------------------------------- + */ + + + +PP_F1_ARRAY_V2 DefaultPpF1ArrayKB = { + 0, + {0x40, 0, 0, 0, 0}, + {0x40, 0, 0, 0, 0}, + 8, + {0, 0, 0, 0, 0, 0}, + {0x40, 0x40, 0x40, 0, 0}, + {0, 0, 0, 0, 0}, + 3, + 0x10, + 0, + 0, + 0, + 0, + TRUE, + {0x3, 0xC, 0x30, 0xC0}, + 0, + {0, 0, 0, 0}, + {0x40, 0x40, 0x40, 0x40, 0}, + 0, + 0, + 0, + 0, + { 1, 1, 1, 1}, + { 0, 0, 0, 0}, + { 2, 2, 2, 2}, + { 0, 0, 0, 0}, + { 0, 0, 0, 0}, + { 0, 0, 0, 0}, + { 0, 0, 0, 0}, + { 0, 0, 0, 0}, + { 0, 0, 0, 0}, + { 1, 1, 1, 1}, + { 0x24, 0x24, 0x24, 0x24, 0x24 }, + { 0x17, 0x18, 0x20, 0x22, 0x24 }, + { 0x17, 0x18, 0x20, 0x22, 0x24 }, + { 0x1, 0x2, 0x3, 0x4, 0x5 }, + 0x1E, + 0x3 +}; + + +F1_REGISTER_ENTRY_KB D0F0xBC_xC0104007_TABLE [] = { + { + 5, + 8, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld32[0]) + } +}; + +F1_REGISTER_ENTRY_KB D0F0xBC_xC0104008_TABLE [] = { + { + 5, + 8, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld32[1]) + }, + { + 13, + 8, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld32[2]) + }, + { + 21, + 8, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld32[3]) + } +}; + +F1_REGISTER_ENTRY_KB D0F0xBC_xC010400C_TABLE [] = { + { + 25, + 6, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld21) + } +}; + +F1_REGISTER_ENTRY_KB D0F0xBC_xC010407C_TABLE [] = { + { + 20, + 8, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld32[4]) + } +}; + +F1_REGISTER_ENTRY_KB D0F0xBC_xC0104080_TABLE [] = { + { + 21, + 8, + (UINT16) offsetof (PP_F1_ARRAY_V2, VceFlags[0]) + } +}; + +F1_REGISTER_ENTRY_KB D0F0xBC_xC0104083_TABLE [] = { + { + 5, + 8, + (UINT16) offsetof (PP_F1_ARRAY_V2, VceFlags[1]) + } +}; + +F1_REGISTER_ENTRY_KB D0F0xBC_xC0104084_TABLE [] = { + { + 5, + 8, + (UINT16) offsetof (PP_F1_ARRAY_V2, VceFlags[2]) + }, + { + 13, + 8, + (UINT16) offsetof (PP_F1_ARRAY_V2, VceFlags[3]) + }, + { + 29, + 3, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld16[0]) + } +}; + +F1_REGISTER_ENTRY_KB D0F0xBC_xC0104088_TABLE [] = { + { + 0, + 3, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld16[1]) + }, + { + 3, + 3, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld16[2]) + }, + { + 6, + 3, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld16[3]) + }, + { + 12, + 5, + (UINT16) offsetof (PP_F1_ARRAY_V2, VceMclk) + } +}; + +F1_REGISTER_ENTRY_KB D0F0xBC_xC01040A8_TABLE [] = { + { + 16, + 8, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld35[0]) + }, + { + 24, + 8, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld35[1]) + } +}; + +F1_REGISTER_ENTRY_KB D0F0xBC_xC01040AC_TABLE [] = { + { + 0, + 8, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld35[2]) + }, + { + 8, + 8, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld35[3]) + }, + { + 16, + 8, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld35[4]) + } +}; + +F1_REGISTER_ENTRY_KB D0F0xBC_xC0107044_TABLE [] = { + { + 16, + 3, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld36) + }, +}; + +F1_REGISTER_ENTRY_KB D0F0xBC_xC0107064_TABLE [] = { + { + 0, + 4, + (UINT16) offsetof (PP_F1_ARRAY_V2, PPlayTableRev) + }, + { + 4, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld3) + }, + { + 11, + 3, + (UINT16) offsetof (PP_F1_ARRAY_V2, PcieGen2Vid) + }, + { + 17, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld33[0]) + }, + { + 24, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld33[1]) + } +}; + +F1_REGISTER_ENTRY_KB D0F0xBC_xC0107067_TABLE [] = { + { + 7, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld33[2]) + } +}; + +F1_REGISTER_ENTRY_KB D0F0xBC_xC0107068_TABLE [] = { + { + 6, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld33[3]) + }, + { + 13, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld33[4]) + }, + { + 20, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, excel841_fld6[0]) + } +}; + +F1_REGISTER_ENTRY_KB D0F0xBC_xC010706B_TABLE [] = { + { + 3, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, excel841_fld6[1]) + } +}; + +F1_REGISTER_ENTRY_KB D0F0xBC_xC010706C_TABLE [] = { + { + 2, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, excel841_fld6[2]) + }, + { + 9, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, excel841_fld6[3]) + }, + { + 16, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, excel841_fld6[4]) + }, + { + 23, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld5[0]) + } +}; + +F1_REGISTER_ENTRY_KB D0F0xBC_xC010706F_TABLE [] = { + { + 6, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld5[1]) + } +}; + +F1_REGISTER_ENTRY_KB D0F0xBC_xC0107070_TABLE [] = { + { + 5, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld5[2]) + }, + { + 12, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld5[3]) + }, + { + 19, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld5[4]) + } +}; + +F1_REGISTER_ENTRY_KB D0F0xBC_xC0107073_TABLE [] = { + { + 2, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld2[0]) + } +}; + +F1_REGISTER_ENTRY_KB D0F0xBC_xC0107074_TABLE [] = { + { + 1, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld2[1]) + }, + { + 8, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld2[2]) + }, + { + 15, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld2[3]) + }, + { + 22, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld2[4]) + } +}; + +F1_REGISTER_ENTRY_KB D0F0xBC_xC0107077_TABLE [] = { + { + 5, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld1[0]) + } +}; + +F1_REGISTER_ENTRY_KB D0F0xBC_xC0107078_TABLE [] = { + { + 4, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld1[1]) + }, + { + 11, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld1[2]) + }, + { + 18, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld1[3]) + }, + { + 25, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld1[4]) + } +}; + +F1_REGISTER_ENTRY_KB D0F0xBC_xC010707C_TABLE [] = { + { + 0, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, EclkDid[0]) + }, + { + 7, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, EclkDid[1]) + }, + { + 14, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, EclkDid[2]) + }, + { + 21, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, EclkDid[3]) + } +}; + +F1_REGISTER_ENTRY_KB D0F0xBC_xC010707F_TABLE [] = { + { + 4, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, EclkDid[4]) + } +}; + +F1_REGISTER_ENTRY_KB D0F0xBC_xC0107080_TABLE [] = { + { + 3, + 5, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld37) + }, + { + 8, + 5, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld38) + }, + { + 13, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld34[0]) + }, + { + 20, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld34[1]) + } +}; + +F1_REGISTER_ENTRY_KB D0F0xBC_xC0107083_TABLE [] = { + { + 3, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld34[2]) + } +}; + +F1_REGISTER_ENTRY_KB D0F0xBC_xC0107084_TABLE [] = { + { + 2, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld34[3]) + }, + { + 9, + 7, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld34[4]) + } +}; + +F1_REGISTER_ENTRY_KB D18F3x64_TABLE [] = { + { + D18F3x64_HtcEn_OFFSET, + D18F3x64_HtcEn_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, HtcEn) + }, + { + D18F3x64_HtcTmpLmt_OFFSET, + D18F3x64_HtcTmpLmt_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, HtcTmpLmt) + }, + { + D18F3x64_HtcHystLmt_OFFSET, + D18F3x64_HtcHystLmt_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld20) + } +}; + +F1_REGISTER_ENTRY_KB GnbFuseTableKB565_TABLE [] = { + { + 1, + 6, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld21) + } +}; + +F1_REGISTER_ENTRY_KB D18F2x90_dct0_TABLE [] = { + { + D18F2x90_dct0_DisDllShutdownSR_OFFSET, + D18F2x90_dct0_DisDllShutdownSR_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, DisDllShutdownSR[0]) + } +}; + +F1_REGISTER_ENTRY_KB D18F2x94_dct0_TABLE [] = { + { + D18F2x94_dct0_MemClkFreq_OFFSET, + D18F2x94_dct0_MemClkFreq_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, MemClkFreq[0]) + } +}; + +F1_REGISTER_ENTRY_KB D18F2xA8_dct0_TABLE [] = { + { + D18F2xA8_dct0_MemPhyPllPdMode_OFFSET, + D18F2xA8_dct0_MemPhyPllPdMode_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, MemPhyPllPdMode[0]) + } +}; + +F1_REGISTER_ENTRY_KB D18F2x2E0_dct0_TABLE [] = { + { + D18F2x2E0_dct0_M1MemClkFreq_OFFSET, + D18F2x2E0_dct0_M1MemClkFreq_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, M1MemClkFreq[0]) + } +}; + +F1_REGISTER_ENTRY_KB D18F5x160_TABLE [] = { + { + D18F5x160_NbPstateEn_OFFSET, + D18F5x160_NbPstateEn_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld26[0]) + }, + { + D18F5x160_MemPstate_OFFSET, + D18F5x160_MemPstate_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld29[0]) + }, + { + D18F5x160_NbFid_OFFSET, + D18F5x160_NbFid_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld30[0]) + }, + { + D18F5x160_NbDid_OFFSET, + D18F5x160_NbDid_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld31[0]) + }, + { + D18F5x160_NbVid_6_0_OFFSET, + D18F5x160_NbVid_6_0_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld27[0]) + }, + { + D18F5x160_NbVid_7_OFFSET, + D18F5x160_NbVid_7_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld28[0]) + } +}; + +F1_REGISTER_ENTRY_KB D18F5x164_TABLE [] = { + { + D18F5x164_NbPstateEn_OFFSET, + D18F5x164_NbPstateEn_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld26[1]) + }, + { + D18F5x164_MemPstate_OFFSET, + D18F5x164_MemPstate_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld29[1]) + }, + { + D18F5x164_NbFid_OFFSET, + D18F5x164_NbFid_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld30[1]) + }, + { + D18F5x164_NbDid_OFFSET, + D18F5x164_NbDid_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld31[1]) + }, + { + D18F5x164_NbVid_6_0_OFFSET, + D18F5x164_NbVid_6_0_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld27[1]) + }, + { + D18F5x164_NbVid_7_OFFSET, + D18F5x164_NbVid_7_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld28[1]) + } +}; + +F1_REGISTER_ENTRY_KB D18F5x168_TABLE [] = { + { + D18F5x168_NbPstateEn_OFFSET, + D18F5x168_NbPstateEn_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld26[2]) + }, + { + D18F5x168_MemPstate_OFFSET, + D18F5x168_MemPstate_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld29[2]) + }, + { + D18F5x168_NbFid_OFFSET, + D18F5x168_NbFid_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld30[2]) + }, + { + D18F5x168_NbDid_OFFSET, + D18F5x168_NbDid_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld31[2]) + }, + { + D18F5x168_NbVid_6_0_OFFSET, + D18F5x168_NbVid_6_0_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld27[2]) + }, + { + D18F5x168_NbVid_7_OFFSET, + D18F5x168_NbVid_7_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld28[2]) + } +}; + +F1_REGISTER_ENTRY_KB D18F5x16C_TABLE [] = { + { + D18F5x16C_NbPstateEn_OFFSET, + D18F5x16C_NbPstateEn_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld26[3]) + }, + { + D18F5x16C_MemPstate_OFFSET, + D18F5x16C_MemPstate_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld29[3]) + }, + { + D18F5x16C_NbFid_OFFSET, + D18F5x16C_NbFid_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld30[3]) + }, + { + D18F5x16C_NbDid_OFFSET, + D18F5x16C_NbDid_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld31[3]) + }, + { + D18F5x16C_NbVid_6_0_OFFSET, + D18F5x16C_NbVid_6_0_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld27[3]) + }, + { + D18F5x16C_NbVid_7_OFFSET, + D18F5x16C_NbVid_7_WIDTH, + (UINT16) offsetof (PP_F1_ARRAY_V2, PP_FUSE_ARRAY_V2_fld28[3]) + } +}; + + +F1_TABLE_ENTRY_KB F1RegisterTableKB [] = { + + { + 0x4, + 0xC0104007, + sizeof (D0F0xBC_xC0104007_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D0F0xBC_xC0104007_TABLE + }, + { + 0x4, + 0xC0104008, + sizeof (D0F0xBC_xC0104008_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D0F0xBC_xC0104008_TABLE + }, + { + 0x4, + 0xC010400c, + sizeof (D0F0xBC_xC010400C_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D0F0xBC_xC010400C_TABLE + }, + { + 0x4, + 0xC010407c, + sizeof (D0F0xBC_xC010407C_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D0F0xBC_xC010407C_TABLE + }, + { + 0x4, + 0xC0104080, + sizeof (D0F0xBC_xC0104080_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D0F0xBC_xC0104080_TABLE + }, + { + 0x4, + 0xC0104083, + sizeof (D0F0xBC_xC0104083_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D0F0xBC_xC0104083_TABLE + }, + { + 0x4, + 0xC0104084, + sizeof (D0F0xBC_xC0104084_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D0F0xBC_xC0104084_TABLE + }, + { + 0x4, + 0xC0104088, + sizeof (D0F0xBC_xC0104088_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D0F0xBC_xC0104088_TABLE + }, + { + 0x4, + 0xC01040a8, + sizeof (D0F0xBC_xC01040A8_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D0F0xBC_xC01040A8_TABLE + }, + { + 0x4, + 0xC01040ac, + sizeof (D0F0xBC_xC01040AC_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D0F0xBC_xC01040AC_TABLE + }, + { + 0x4, + 0xC0107044, + sizeof (D0F0xBC_xC0107044_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D0F0xBC_xC0107044_TABLE + }, + { + 0x4, + 0xC0107064, + sizeof (D0F0xBC_xC0107064_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D0F0xBC_xC0107064_TABLE + }, + { + 0x4, + 0xC0107067, + sizeof (D0F0xBC_xC0107067_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D0F0xBC_xC0107067_TABLE + }, + { + 0x4, + 0xC0107068, + sizeof (D0F0xBC_xC0107068_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D0F0xBC_xC0107068_TABLE + }, + { + 0x4, + 0xC010706b, + sizeof (D0F0xBC_xC010706B_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D0F0xBC_xC010706B_TABLE + }, + { + 0x4, + 0xC010706c, + sizeof (D0F0xBC_xC010706C_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D0F0xBC_xC010706C_TABLE + }, + { + 0x4, + 0xC010706f, + sizeof (D0F0xBC_xC010706F_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D0F0xBC_xC010706F_TABLE + }, + { + 0x4, + 0xC0107070, + sizeof (D0F0xBC_xC0107070_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D0F0xBC_xC0107070_TABLE + }, + { + 0x4, + 0xC0107073, + sizeof (D0F0xBC_xC0107073_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D0F0xBC_xC0107073_TABLE + }, + { + 0x4, + 0xC0107074, + sizeof (D0F0xBC_xC0107074_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D0F0xBC_xC0107074_TABLE + }, + { + 0x4, + 0xC0107077, + sizeof (D0F0xBC_xC0107077_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D0F0xBC_xC0107077_TABLE + }, + { + 0x4, + 0xC0107078, + sizeof (D0F0xBC_xC0107078_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D0F0xBC_xC0107078_TABLE + }, + { + 0x4, + 0xC010707c, + sizeof (D0F0xBC_xC010707C_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D0F0xBC_xC010707C_TABLE + }, + { + 0x4, + 0xC0107080, + sizeof (D0F0xBC_xC0107080_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D0F0xBC_xC0107080_TABLE + }, + { + 0x4, + 0xC0107083, + sizeof (D0F0xBC_xC0107083_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D0F0xBC_xC0107083_TABLE + }, + { + 0x4, + 0xC0107084, + sizeof (D0F0xBC_xC0107084_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D0F0xBC_xC0107084_TABLE + } +}; + +F1_TABLE_ENTRY_KB PPRegisterTableKB [] = { + { + D18F3x64_TYPE, + D18F3x64_ADDRESS, + sizeof (D18F3x64_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D18F3x64_TABLE + }, + { + 0x4, + 0xC0500000, + sizeof (GnbFuseTableKB565_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + GnbFuseTableKB565_TABLE + }, + { + D18F2x90_dct0_TYPE, + D18F2x90_dct0_ADDRESS, + sizeof (D18F2x90_dct0_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D18F2x90_dct0_TABLE + }, + { + D18F2x94_dct0_TYPE, + D18F2x94_dct0_ADDRESS, + sizeof (D18F2x94_dct0_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D18F2x94_dct0_TABLE + }, + { + D18F2xA8_dct0_TYPE, + D18F2xA8_dct0_ADDRESS, + sizeof (D18F2xA8_dct0_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D18F2xA8_dct0_TABLE + }, + { + D18F5x160_TYPE, + D18F5x160_ADDRESS, + sizeof (D18F5x160_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D18F5x160_TABLE + }, + { + D18F5x164_TYPE, + D18F5x164_ADDRESS, + sizeof (D18F5x164_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D18F5x164_TABLE + }, + { + D18F5x168_TYPE, + D18F5x168_ADDRESS, + sizeof (D18F5x168_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D18F5x168_TABLE + }, + { + D18F5x16C_TYPE, + D18F5x16C_ADDRESS, + sizeof (D18F5x16C_TABLE) / sizeof (F1_REGISTER_ENTRY_KB), + D18F5x16C_TABLE + } +}; + + +F1_TABLE_KB F1TableKB = { + sizeof (F1RegisterTableKB) / sizeof (F1_TABLE_ENTRY_KB), + F1RegisterTableKB +}; + +F1_TABLE_KB PPTableKB = { + sizeof (PPRegisterTableKB) / sizeof (F1_TABLE_ENTRY_KB), + PPRegisterTableKB +}; + + +/*----------------------------------------------------------------------------------------*/ +/** + * Load F1 Table KB + * + * + * param[out] PpF1Array Pointer to save f1 table + * param[in] StdHeader Pointer to Standard configuration + * retval AGESA_STATUS + */ + +STATIC VOID +NbF1LoadF1TableKB ( + IN F1_TABLE_KB *F1Table, + OUT PP_F1_ARRAY_V2 *PpF1Array, + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + UINTN RegisterIndex; + + for (RegisterIndex = 0; RegisterIndex < F1Table->F1TableLength; RegisterIndex++ ) { + UINTN FieldIndex; + UINTN F1RegisterTableLength; + UINT32 F1Value; + F1RegisterTableLength = F1Table->F1Table[RegisterIndex].F1RegisterTableLength; + + GnbRegisterReadKB ( + GnbGetHandle (StdHeader), + F1Table->F1Table[RegisterIndex].RegisterSpaceType, + F1Table->F1Table[RegisterIndex].Register, + &F1Value, + 0, + StdHeader + ); + for (FieldIndex = 0; FieldIndex < F1RegisterTableLength; FieldIndex++) { + F1_REGISTER_ENTRY_KB RegisterEntry; + RegisterEntry = F1Table->F1Table[RegisterIndex].F1RegisterTable[FieldIndex]; + *((UINT8 *) PpF1Array + RegisterEntry.F1Offset) = (UINT8) ((F1Value >> RegisterEntry.FieldOffset) & + ((1 << RegisterEntry.FieldWidth) - 1)); + } + } +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Gnb load f1 table + * + * + * + * @param[in] StdHeader Pointer to Standard configuration + * @retval AGESA_STATUS + */ + +AGESA_STATUS +GnbLoadF1TableKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + PP_F1_ARRAY_V2 *PpF1Array; + AGESA_STATUS Status; + D18F3xA0_STRUCT D18F3xA0; + + Status = AGESA_SUCCESS; + IDS_HDT_CONSOLE (GNB_TRACE, "GnbLoadF1TableKB Enter\n"); + + PpF1Array = (PP_F1_ARRAY_V2 *) GnbAllocateHeapBuffer (AMD_PP_F1_TABLE_HANDLE, sizeof (PP_F1_ARRAY_V2), StdHeader); + ASSERT (PpF1Array != NULL); + if (PpF1Array != NULL) { + //Support for real f1 table + GnbRegisterReadKB (GnbGetHandle (StdHeader), D18F3xA0_TYPE, D18F3xA0_ADDRESS, &D18F3xA0.Value, 0, StdHeader); + + if ((D18F3xA0.Field.CofVidProg) && (GnbBuildOptions.GnbLoadRealF1Table)) { + NbF1LoadF1TableKB (&F1TableKB, PpF1Array, StdHeader); + PpF1Array->PP_FUSE_ARRAY_V2_fld13 = TRUE; + IDS_HDT_CONSOLE (NB_MISC, " Processor F1d\n"); + } else { + LibAmdMemCopy (PpF1Array, &DefaultPpF1ArrayKB, sizeof (PP_F1_ARRAY_V2), StdHeader); + IDS_HDT_CONSOLE (NB_MISC, " Processor Unf1d\n"); + } + NbF1LoadF1TableKB (&PPTableKB, PpF1Array, StdHeader); + IDS_OPTION_CALLOUT (IDS_CALLOUT_GNB_PPF1_OVERRIDE, PpF1Array, StdHeader); + } else { + Status = AGESA_ERROR; + } + IDS_HDT_CONSOLE (GNB_TRACE, "GnbLoadF1TableKB Exit [0x%x]\n", Status); + return Status; +} + + diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbF1TableKB.h b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbF1TableKB.h new file mode 100644 index 0000000000..8ea51d0c0d --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbF1TableKB.h @@ -0,0 +1,78 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * F1 table initialization + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 84150 $ @e \$Date: 2012-12-12 15:46:25 -0600 (Wed, 12 Dec 2012) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ +#ifndef _GNBF1TABLEKB_H_ +#define _GNBF1TABLEKB_H_ + +#pragma pack (push, 1) + +/// F1 field entry +typedef struct { + UINT8 FieldOffset; ///< Field offset in f1 register + UINT8 FieldWidth; ///< Width of field + UINT16 F1Offset; ///< destination offset in translation table +} F1_REGISTER_ENTRY_KB; + +/// F1 register entry +typedef struct { + UINT8 RegisterSpaceType; ///< Register type + UINT32 Register; ///< FCR register address + UINT8 F1RegisterTableLength; ///< Length of field table for this register + F1_REGISTER_ENTRY_KB *F1RegisterTable; ///< Pointer to field table +} F1_TABLE_ENTRY_KB; + +/// F1 translation table +typedef struct { + UINT8 F1TableLength; ///< Length of translation table + F1_TABLE_ENTRY_KB *F1Table; ///< Pointer to register table +} F1_TABLE_KB; + +#pragma pack (pop) + +AGESA_STATUS +GnbLoadF1TableKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ); + +#endif diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbInitKBInstall.h b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbInitKBInstall.h new file mode 100644 index 0000000000..47b8fd51a4 --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbInitKBInstall.h @@ -0,0 +1,234 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * KB service installation file + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 86079 $ @e \$Date: 2013-01-16 00:59:04 -0600 (Wed, 16 Jan 2013) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ + +#ifndef _GNB_INIT_KB_INSTALL_H_ +#define _GNB_INIT_KB_INSTALL_H_ + +//----------------------------------------------------------------------- +// Specify definition used by module services +//----------------------------------------------------------------------- + +#include "GnbPcie.h" +#include "GnbUraServices.h" +#include "GnbPcieFamServices.h" +#include "GnbFamServices.h" +#include "GnbGfxFamServices.h" + +//----------------------------------------------------------------------- +// Export services +//----------------------------------------------------------------------- + +#if (AGESA_ENTRY_INIT_EARLY == TRUE) + + extern F_PCIEFMGETSBCONFIGINFO PcieGetSbConfigInfoKB; + extern F_PCIEFMGETCOMPLEXDATALENGTH PcieGetComplexDataLengthKB; + extern F_PCIEFMBUILDCOMPLEXCONFIGURATION PcieBuildComplexConfigurationKB; + extern F_PCIEFMCONFIGUREENGINESLANEALLOCATION PcieConfigureEnginesLaneAllocationKB; + extern F_PCIEFMCHECKPORTPCIDEVICEMAPPING PcieCheckPortPciDeviceMappingKB; + extern F_PCIEFMMAPPORTPCIADDRESS PcieMapPortPciAddressKB; + extern F_PCIEFMCHECKPORTPCIELANECANBEMUXED PcieCheckPortPcieLaneCanBeMuxedKB; + + + PCIe_FAM_CONFIG_SERVICES GnbPcieConfigProtocolKB = { + PcieGetComplexDataLengthKB, + PcieBuildComplexConfigurationKB, + PcieConfigureEnginesLaneAllocationKB, + PcieCheckPortPciDeviceMappingKB, + PcieMapPortPciAddressKB, + PcieCheckPortPcieLaneCanBeMuxedKB, + PcieGetSbConfigInfoKB + }; + + GNB_SERVICE GnbPcieCongigServicesKB = { + GnbPcieFamConfigService, + AMD_FAMILY_KB, + &GnbPcieConfigProtocolKB, + SERVICES_POINTER + }; + #undef SERVICES_POINTER + #define SERVICES_POINTER &GnbPcieCongigServicesKB +#endif + +#if (AGESA_ENTRY_INIT_EARLY == TRUE) || (AGESA_ENTRY_INIT_POST == TRUE) || (AGESA_ENTRY_INIT_MID == TRUE) + extern F_PCIEFMGETCORECONFIGURATIONVALUE PcieGetCoreConfigurationValueKB; + extern F_PCIEFMGETLINKSPEEDCAP PcieGetLinkSpeedCapKB; + extern F_PCIEFMGETNATIVEPHYLANEBITMAP PcieGetNativePhyLaneBitmapKB; + extern F_PCIEFMSETLINKSPEEDCAP PcieSetLinkSpeedCapV4; + + PCIe_FAM_INIT_SERVICES GnbPcieInitProtocolKB = { + PcieGetCoreConfigurationValueKB, + PcieGetLinkSpeedCapKB, + PcieGetNativePhyLaneBitmapKB, + PcieSetLinkSpeedCapV4 + }; + + GNB_SERVICE GnbPcieInitServicesKB = { + GnbPcieFamInitService, + AMD_FAMILY_KB, + &GnbPcieInitProtocolKB, + SERVICES_POINTER + }; + #undef SERVICES_POINTER + #define SERVICES_POINTER &GnbPcieInitServicesKB +#endif + +#if (AGESA_ENTRY_INIT_EARLY == TRUE) || (AGESA_ENTRY_INIT_POST == TRUE) || (AGESA_ENTRY_INIT_MID == TRUE) + #if IDSOPT_IDS_ENABLED == TRUE + #if IDSOPT_TRACING_ENABLED == TRUE + extern F_PCIEFMDEBUGGETHOSTREGADDRESSSPACESTRING PcieDebugGetHostRegAddressSpaceStringKB; + extern F_PCIEFMDEBUGGETWRAPPERNAMESTRING PcieDebugGetWrapperNameStringKB; + extern F_PCIEFMDEBUGGETCORECONFIGURATIONSTRING PcieDebugGetCoreConfigurationStringKB; + + PCIe_FAM_DEBUG_SERVICES GnbPcieDebugProtocolKB = { + PcieDebugGetHostRegAddressSpaceStringKB, + PcieDebugGetWrapperNameStringKB, + PcieDebugGetCoreConfigurationStringKB + }; + + GNB_SERVICE GnbPcieDebugServicesKB = { + GnbPcieFamDebugService, + AMD_FAMILY_KB, + &GnbPcieDebugProtocolKB, + SERVICES_POINTER + }; + #undef SERVICES_POINTER + #define SERVICES_POINTER &GnbPcieDebugServicesKB + #endif + #endif +#endif + +#if (AGESA_ENTRY_INIT_EARLY == TRUE) || (AGESA_ENTRY_INIT_POST == TRUE) || (AGESA_ENTRY_INIT_MID == TRUE) || (AGESA_ENTRY_INIT_LATE == TRUE) + extern F_GNB_REGISTER_ACCESS GnbRegisterReadKB; + extern F_GNB_REGISTER_ACCESS GnbRegisterWriteKB; + + GNB_REGISTER_SERVICE GnbRegisterAccessProtocolKB = { + GnbRegisterReadKB, + GnbRegisterWriteKB + }; + + GNB_SERVICE GnbRegisterAccessServicesKB = { + GnbRegisterAccessService, + AMD_FAMILY_KB, + &GnbRegisterAccessProtocolKB, + SERVICES_POINTER + }; + #undef SERVICES_POINTER + #define SERVICES_POINTER &GnbRegisterAccessServicesKB + + extern F_GNBURASERVICELOCATEREGTBL GnbUraLocateRegTblKB; + extern F_GNBURASERVICEGET GnbUraGetKB; + extern F_GNBURASERVICESET GnbUraSetKB; + extern F_GNBURASERVICESTREAMSET GnbUraStreamSetKB; + + GNB_URA_SERVICE GnbUraProtocolKB = { + GnbUraLocateRegTblKB, + GnbUraGetKB, + GnbUraSetKB, + GnbUraStreamSetKB + }; + + GNB_SERVICE GnbUraServicesKB = { + GnbUraService, + AMD_FAMILY_KB, + &GnbUraProtocolKB, + SERVICES_POINTER + }; + #undef SERVICES_POINTER + #define SERVICES_POINTER &GnbUraServicesKB + + extern F_GFXMAPENGINETODISPLAYPATH GfxMapEngineToDisplayPathKB; + extern F_GFXDISABLECONTROLLER GfxDisableControllerKB; + extern F_GFXCALCULATECLOCK GfxCalculateClockKB; + extern F_GFXISVBIOSPOSTED GfxIsVbiosPostedKB; + + GFX_FAM_SERVICES GfxFamilyServiceProtocolKB = { + GfxMapEngineToDisplayPathKB, + GfxDisableControllerKB, + GfxCalculateClockKB, + GfxIsVbiosPostedKB + }; + + GNB_SERVICE GfxFamilyServicesKB = { + GfxFamService, + AMD_FAMILY_KB, + &GfxFamilyServiceProtocolKB, + SERVICES_POINTER + }; + #undef SERVICES_POINTER + #define SERVICES_POINTER &GfxFamilyServicesKB + + extern F_GNBTIMESTAMP GnbTimeStampKB; + + GNB_FAM_TS_SERVICES GnbFamTsProtocolKB = { + GnbTimeStampKB, + }; + + GNB_SERVICE GnbFamTsServicesKB = { + GnbFamTsService, + AMD_FAMILY_KB, + &GnbFamTsProtocolKB, + SERVICES_POINTER + }; + #undef SERVICES_POINTER + #define SERVICES_POINTER &GnbFamTsServicesKB + + + extern F_PCIE_MAXPAYLOAD_SETTING PcieMaxPayloadKB; + + PCIE_MAXPAYLOAD_SERVICE PcieMaxPayloadProtocolKB = { + PcieMaxPayloadKB + }; + + GNB_SERVICE PcieMaxPayloadServicesKB = { + GnbPcieMaxPayloadService, + AMD_FAMILY_KB, + &PcieMaxPayloadProtocolKB, + SERVICES_POINTER + }; + #undef SERVICES_POINTER + #define SERVICES_POINTER &PcieMaxPayloadServicesKB + +#endif +#endif // _GNB_INIT_KB_INSTALL_H_ diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbIommuTablesKB.c b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbIommuTablesKB.c new file mode 100644 index 0000000000..82f32dd62e --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbIommuTablesKB.c @@ -0,0 +1,165 @@ +/** + * @file + * + * GNB init tables + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 84150 $ @e \$Date: 2012-12-12 15:46:25 -0600 (Wed, 12 Dec 2012) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ +/*---------------------------------------------------------------------------------------- + * M O D U L E S U S E D + *---------------------------------------------------------------------------------------- + */ +#include "AGESA.h" +#include "Gnb.h" +#include "GnbPcie.h" +#include "GnbCommonLib.h" +#include "GnbTable.h" +#include "GnbRegistersKB.h" + +/*---------------------------------------------------------------------------------------- + * D E F I N I T I O N S A N D M A C R O S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * T Y P E D E F S A N D S T R U C T U R E S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * P R O T O T Y P E S O F L O C A L F U N C T I O N S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * T A B L E S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * P R O T O T Y P E S O F L O C A L F U N C T I O N S + *---------------------------------------------------------------------------------------- + */ + +GNB_TABLE ROMDATA GnbIommuInitTableKB [] = { + + // 1. Program D0F0x64_x0D[PciDev0Fn2RegEn] = 1h + GNB_ENTRY_RMW ( + D0F0x64_x0D_TYPE, + D0F0x64_x0D_ADDRESS, + D0F0x64_x0D_PciDev0Fn2RegEn_MASK, + (0x1 << D0F0x64_x0D_PciDev0Fn2RegEn_OFFSET) + ), + // 2. Program credits for the BIF client as follows + GNB_ENTRY_RMW ( + 0xa, + ((L1_SEL_BIF << 16) | 0x32), + 0x10000 | 0x3F0 | 0xFC00, + (0x1 << 16) | (0x8 << 4) | (0x8 << 10) + ), + // 3. Program credits for the PPD client as follows + GNB_ENTRY_RMW ( + 0xa, + ((L1_SEL_PPD << 16) | 0x32), + 0x3F0 | 0xFC00, + (0x8 << 4) | (0x7 << 10) + ), + // 4. Program credits for the INTGEN client as follows + GNB_ENTRY_RMW ( + 0xa, + ((L1_SEL_INTGEN << 16) | 0x32), + 0x3F0 | 0xFC00, + (0x4 << 4) | (0x4 << 10) + ), + // 5. Program clock gating as follows + GNB_ENTRY_RMW ( + 0xa, + ((L1_SEL_PPD << 16) | 0x33), + 0x10 | 0x20 | + 0x40 | 0x80 | + 0x100 | 0x200 | + 0x400 | 0x80000000 | + 0x800, + (0x1 << 4) | (0x1 << 5) | + (0x1 << 6) | (0x1 << 7) | + (0x1 << 8) | (0x1 << 9) | + (0x1 << 10) | (0x1 << 31) | + (0x1 << 11) + ), + GNB_ENTRY_RMW ( + 0xa, + ((L1_SEL_BIF << 16) | 0x33), + 0x10 | 0x20 | + 0x40 | 0x80 | + 0x100 | 0x200 | + 0x400 | 0x80000000 | + 0x800, + (0x1 << 4) | (0x1 << 5) | + (0x1 << 6) | (0x1 << 7) | + (0x1 << 8) | (0x1 << 9) | + (0x1 << 10) | (0x1 << 31) | + (0x1 << 11) + ), + GNB_ENTRY_RMW ( + 0xa, + ((L1_SEL_INTGEN << 16) | 0x33), + 0x10 | 0x20 | + 0x40 | 0x80 | + 0x100 | 0x200 | + 0x400 | 0x80000000 | + 0x800, + (0x1 << 4) | (0x1 << 5) | + (0x1 << 6) | (0x1 << 7) | + (0x1 << 8) | (0x1 << 9) | + (0x1 << 10) | (0x1 << 31) | + (0x1 << 11) + ), + // 6. Program D0F0x64_x0D[PciDev0Fn2RegEn] = 0h + GNB_ENTRY_RMW ( + D0F0x64_x0D_TYPE, + D0F0x64_x0D_ADDRESS, + D0F0x64_x0D_PciDev0Fn2RegEn_MASK, + 0 + ), + GNB_ENTRY_TERMINATE +}; diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbMidInitKB.c b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbMidInitKB.c new file mode 100644 index 0000000000..b9ba10de20 --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbMidInitKB.c @@ -0,0 +1,429 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * GNB mid post initialization. + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 84150 $ @e \$Date: 2012-12-12 15:46:25 -0600 (Wed, 12 Dec 2012) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ +/*---------------------------------------------------------------------------------------- + * M O D U L E S U S E D + *---------------------------------------------------------------------------------------- + */ +#include "AGESA.h" +#include "Ids.h" +#include "amdlib.h" +#include "Gnb.h" +#include "GnbLib.h" +#include "GnbPcieConfig.h" +#include "GnbF1Table.h" +#include "heapManager.h" +#include "GnbGfxFamServices.h" +#include "GnbCommonLib.h" +#include "GnbNbInitLibV1.h" +#include "GnbNbInitLibV5.h" +#include "GnbGfxInitLibV1.h" +#include "GnbSmuInitLibV7.h" +#include "GnbTable.h" +#include "GnbRegisterAccKB.h" +#include "GnbRegistersKB.h" +#include "GnbFamServices.h" +#include "OptionGnb.h" +#include "Filecode.h" +#define FILECODE PROC_GNB_MODULES_GNBINITKB_GNBMIDINITKB_FILECODE +/*---------------------------------------------------------------------------------------- + * D E F I N I T I O N S A N D M A C R O S + *---------------------------------------------------------------------------------------- + */ + +extern GNB_BUILD_OPTIONS GnbBuildOptions; +extern GNB_TABLE ROMDATA GnbMidInitTableKB[]; + + +/*---------------------------------------------------------------------------------------- + * T Y P E D E F S A N D S T R U C T U R E S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * P R O T O T Y P E S O F L O C A L F U N C T I O N S + *---------------------------------------------------------------------------------------- + */ +AGESA_STATUS +GnbMidInterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ); + +/*----------------------------------------------------------------------------------------*/ +/** + * + * + * @param[out] Index State index + * @param[in] PpF1s + * @retval TRUE State is valid + */ +STATIC BOOLEAN +GnbIsF1dStateValid ( + IN UINT8 Index, + IN PP_F1_ARRAY_V2 *PpF1s + ) +{ + BOOLEAN Result; + Result = FALSE; + + if (Index >= 5) { + Result = FALSE; + } else if ((PpF1s->PP_FUSE_ARRAY_V2_fld37 & (1 << Index)) || + (PpF1s->PP_FUSE_ARRAY_V2_fld38 & (1 << Index))) { + Result = TRUE; + } + return Result; +} + + +/*----------------------------------------------------------------------------------------*/ +/** + * LCLK DPM Initialization + * + * + * + * @param[in] StdHeader Standard configuration header + * @retval AGESA_STATUS + */ + +STATIC AGESA_STATUS +GnbLclkDpmInitKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + AGESA_STATUS Status; + PCIe_PLATFORM_CONFIG *Pcie; + PP_F1_ARRAY_V2 *PpF1Array; + PCI_ADDR GnbPciAddress; + UINT8 Index; + UINT8 LclkDpmMode; + + UINT32 D0F0xBC_x3FD00[8]; + UINT32 D0F0xBC_x3FD04[8]; + UINT32 D0F0xBC_x3FD08[8]; + UINT32 D0F0xBC_x3FD0C[8]; + UINT32 D0F0xBC_x3FD10[8]; + UINT32 D0F0xBC_x3FDC8; + UINT32 D0F0xBC_x3F820; + UINT32 D0F0xBC_x3FDC4; + UINT32 D0F0xBC_xC0200110; + + GNB_HANDLE *GnbHandle; + DEV_OBJECT DevObject; + + IDS_HDT_CONSOLE (GNB_TRACE, "GnbLclkDpmInitKB Enter\n"); + Status = AGESA_SUCCESS; + + GnbHandle = GnbGetHandle (StdHeader); + DevObject.DevPciAddress.AddressValue = MAKE_SBDFO (0, 0, 0, 0, 0); + DevObject.GnbHandle = GnbHandle; + DevObject.StdHeader = StdHeader; + + GnbRegisterReadKB (GnbHandle, 0x4, + 0x3f820, &D0F0xBC_x3F820, 0, StdHeader); + D0F0xBC_x3F820 &= ~0xFF; + GnbRegisterWriteKB (GnbHandle, 0x4, + 0x3f820, &D0F0xBC_x3F820, GNB_REG_ACC_FLAG_S3SAVE, StdHeader); + + LclkDpmMode = GnbBuildOptions.LclkDpmEn ? LclkDpmRcActivity : LclkDpmDisabled; + IDS_OPTION_HOOK (IDS_GNB_LCLK_DPM_EN, &LclkDpmMode, StdHeader); + if (LclkDpmMode == LclkDpmRcActivity) { + PpF1Array = GnbLocateHeapBuffer (AMD_PP_F1_TABLE_HANDLE, StdHeader); + if (PpF1Array != NULL) { + Status = PcieLocateConfigurationData (StdHeader, &Pcie); + if (Status == AGESA_SUCCESS) { + GnbPciAddress.AddressValue = MAKE_SBDFO (0, 0, 0, 0, 0); + //Clear DPM_EN bit in LCLK_DPM_CNTL register + //Call BIOS service SMC_MSG_CONFIG_LCLK_DPM to disable LCLK DPM + GnbRegisterReadKB (GnbHandle, 0x4, + 0x3fdc8, &D0F0xBC_x3FDC8, 0, StdHeader); + D0F0xBC_x3FDC8 &= 0x00FFFFFF; + GnbRegisterWriteKB (GnbHandle, 0x4, + 0x3fdc8, &D0F0xBC_x3FDC8, GNB_REG_ACC_FLAG_S3SAVE, StdHeader); + + //Initialize LCLK states + LibAmdMemFill (D0F0xBC_x3FD00, 0x00, sizeof (D0F0xBC_x3FD00), StdHeader); + LibAmdMemFill (D0F0xBC_x3FD04, 0x00, sizeof (D0F0xBC_x3FD04), StdHeader); + LibAmdMemFill (D0F0xBC_x3FD08, 0x00, sizeof (D0F0xBC_x3FD08), StdHeader); + LibAmdMemFill (D0F0xBC_x3FD0C, 0x00, sizeof (D0F0xBC_x3FD0C), StdHeader); + LibAmdMemFill (D0F0xBC_x3FD10, 0x00, sizeof (D0F0xBC_x3FD10), StdHeader); + + for (Index = 0; Index < 8; ++Index) { + + if (GnbIsF1dStateValid (Index, PpF1Array)) { + + ASSERT (Index < 5); + IDS_HDT_CONSOLE (GNB_TRACE, " Valid Lclk state: %d\n", Index); + + // CNTL0 + D0F0xBC_x3FD00[Index] = 0; + D0F0xBC_x3FD00[Index] |= (PpF1Array->PP_FUSE_ARRAY_V2_fld5[Index] & 0xFF) << 16; + D0F0xBC_x3FD00[Index] |= 1 << 24; + + // CNTL1 + D0F0xBC_x3FD04[Index] = GnbTranslateVidCodeToMillivoltV5 ( + PpF1Array->PP_FUSE_ARRAY_V2_fld32[Index], StdHeader + ) * 4 / 100; + + // CNTL2 + // D0F0xBC_x3FD08 defined as zero and is already zeroed above + D0F0xBC_x3FD08[Index] = 0; + + // CNTL3 + D0F0xBC_x3FD0C[Index] = + GfxFmCalculateClock (PpF1Array->PP_FUSE_ARRAY_V2_fld5[Index], StdHeader); + D0F0xBC_x3FD10[Index] &= ~(0xFF << 8); + switch (D0F0xBC_x3FD0C[Index]) { + case 20000: + D0F0xBC_x3FD10[Index] |= 0x7 << 8; + break; + case 30000: + D0F0xBC_x3FD10[Index] |= 0x2 << 8; + break; + case 40000: + D0F0xBC_x3FD10[Index] |= 0x3 << 8; + break; + case 15000: + D0F0xBC_x3FD10[Index] |= 0x6 << 8; + break; + case 10000: + D0F0xBC_x3FD10[Index] |= 0x8 << 8; + break; + default: + break; + } + + // Activity Threshold + D0F0xBC_x3FD10[Index] &= ~0xFFFF0000; + D0F0xBC_x3FD10[Index] |= 50 << 24; + } else { + + IDS_HDT_CONSOLE (GNB_TRACE, " Invalid Lclk state: %d\n", Index); + + // CNTL0 + D0F0xBC_x3FD00[Index] = 0xF800; + + // CNTL1 + D0F0xBC_x3FD04[Index] = 0x0; + + // CNTL2 + // D0F0xBC_x3FD08 defined as zero and is already zeroed above + D0F0xBC_x3FD08[Index] = 0; + + // CNTL3 + D0F0xBC_x3FD0C[Index] = 0; + + // Activity Threshold + D0F0xBC_x3FD10[Index] &= ~0xFFFF0000; + D0F0xBC_x3FD10[Index] |= 50 << 24; + } + + GnbRegisterWriteKB ( + GnbHandle, + 0x4, + 0x3fd00 + Index * 0x14, + &D0F0xBC_x3FD00[Index], + GNB_REG_ACC_FLAG_S3SAVE, + StdHeader + ); + GnbRegisterWriteKB ( + GnbHandle, + 0x4, + 0x3fd04 + Index * 0x14, + &D0F0xBC_x3FD04[Index], + GNB_REG_ACC_FLAG_S3SAVE, + StdHeader + ); + GnbRegisterWriteKB ( + GnbHandle, + 0x4, + 0x3fd08 + Index * 0x14, + &D0F0xBC_x3FD08[Index], + GNB_REG_ACC_FLAG_S3SAVE, + StdHeader + ); + GnbRegisterWriteKB ( + GnbHandle, + 0x4, + 0x3fd0c + Index * 0x14, + &D0F0xBC_x3FD0C[Index], + GNB_REG_ACC_FLAG_S3SAVE, + StdHeader + ); + GnbRegisterWriteKB ( + GnbHandle, + 0x4, + 0x3fd10 + Index * 0x14, + &D0F0xBC_x3FD10[Index], + GNB_REG_ACC_FLAG_S3SAVE, + StdHeader + ); + } + //Enable LCLK DPM Voltage Scaling + GnbRegisterReadKB (GnbHandle, 0x4, + 0x3fdc8, &D0F0xBC_x3FDC8, 0, StdHeader); + D0F0xBC_x3FDC8 &= 0xFF; + D0F0xBC_x3FDC8 |= 1 << 16 | 1 << 24; + GnbRegisterWriteKB (GnbHandle, 0x4, + 0x3fdc8, &D0F0xBC_x3FDC8, GNB_REG_ACC_FLAG_S3SAVE, StdHeader); + + GnbRegisterReadKB (GnbHandle, 0x4, + 0x3fdc4, &D0F0xBC_x3FDC4, 0, StdHeader); + D0F0xBC_x3FDC4 = 5; + GnbRegisterWriteKB (GnbHandle, 0x4, + 0x3fdc4, &D0F0xBC_x3FDC4, GNB_REG_ACC_FLAG_S3SAVE, StdHeader); + + GnbRegisterReadKB (GnbHandle, 0x4, + 0x3f820, &D0F0xBC_x3F820, 0, StdHeader); + D0F0xBC_x3F820 &= ~0xFF; D0F0xBC_x3F820 |= 1; + GnbRegisterWriteKB (GnbHandle, 0x4, + 0x3f820, &D0F0xBC_x3F820, GNB_REG_ACC_FLAG_S3SAVE, StdHeader); + + GnbRegisterReadKB (GnbHandle, 0x4, + 0xc0200110, &D0F0xBC_xC0200110, 0, StdHeader); + D0F0xBC_xC0200110 &= ~(1 << 2 | 7 << 5 | 0xfffff800); + D0F0xBC_xC0200110 &= ~(1 << 0 | 1 << 1 | 1 << 8); + D0F0xBC_xC0200110 |= 3<<3 | 1 << 9 | 1 << 10; //.Field.BusyCntSel = 3; + GnbRegisterWriteKB (GnbHandle, 0x4, + 0xc0200110, &D0F0xBC_xC0200110, GNB_REG_ACC_FLAG_S3SAVE, StdHeader); + + + GnbSmuServiceRequestV7 ( + &DevObject, + SMC_MSG_LCLK_DPM_ENABLE, + 0, + GNB_REG_ACC_FLAG_S3SAVE + ); + + } + } else { + Status = AGESA_ERROR; + } + + GnbSmuServiceRequestV7 ( + &DevObject, + SMC_MSG_ENABLE_ALLCLK_MONITOR, + 0, + GNB_REG_ACC_FLAG_S3SAVE + ); + + } + IDS_HDT_CONSOLE (GNB_TRACE, "GnbLclkDpmInitKB Exit [0x%x]\n", Status); + return Status; +} + + +/*----------------------------------------------------------------------------------------*/ +/** + * PCIe Mid Post Init + * + * + * + * @param[in] StdHeader Standard configuration header + * @retval AGESA_STATUS + */ + +AGESA_STATUS +GnbMidInterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + AGESA_STATUS Status; + UINT32 Property; + AGESA_STATUS AgesaStatus; + GNB_HANDLE *GnbHandle; + PCI_ADDR GnbPciAddress; + + AgesaStatus = AGESA_SUCCESS; + IDS_HDT_CONSOLE (GNB_TRACE, "GnbMidInterfaceKB Enter\n"); + + Property = TABLE_PROPERTY_DEFAULT; + Property |= GfxLibIsControllerPresent (StdHeader) ? 0 : TABLE_PROPERTY_IGFX_DISABLED; + Property |= GnbBuildOptions.LclkDeepSleepEn ? TABLE_PROPERTY_LCLK_DEEP_SLEEP : 0; + Property |= GnbBuildOptions.CfgOrbClockGatingEnable ? 0x00000008ul : 0; + Property |= 0x00000010ul; + Property |= GnbBuildOptions.CfgIocSclkClockGatingEnable ? 0x00000020ul : 0; + + GnbHandle = GnbGetHandle (StdHeader); + while (GnbHandle != NULL) { + IDS_OPTION_HOOK (IDS_GNB_PROPERTY, &Property, StdHeader); + Status = GnbProcessTable ( + GnbHandle, + GnbMidInitTableKB, + Property, + GNB_TABLE_FLAGS_FORCE_S3_SAVE, + StdHeader + ); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + GnbHandle = GnbGetNextHandle (GnbHandle); + } + + GnbPciAddress = GnbGetHostPciAddress (GnbGetHandle (StdHeader)); + GnbLibPciIndirectWriteField ( + GnbPciAddress.AddressValue | D0F0xF8_ADDRESS, + D0F0xFC_x0F_ADDRESS, + D0F0xFC_x0F_GBIFExtIntrGrp_OFFSET, + D0F0xFC_x0F_GBIFExtIntrGrp_WIDTH, + 5, + AccessS3SaveWidth32, + StdHeader + ); + + GnbLibPciIndirectWriteField ( + GnbPciAddress.AddressValue | D0F0xF8_ADDRESS, + D0F0xFC_x0F_ADDRESS, + D0F0xFC_x0F_GBIFExtIntrSwz_OFFSET, + D0F0xFC_x0F_GBIFExtIntrSwz_WIDTH, + 0, + AccessS3SaveWidth32, + StdHeader + ); + + Status = GnbLclkDpmInitKB (StdHeader); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + + IDS_HDT_CONSOLE (GNB_TRACE, "GnbMidInterfaceKB Exit [0x%x]\n", AgesaStatus); + return AgesaStatus; +} diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbPostInitKB.c b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbPostInitKB.c new file mode 100644 index 0000000000..ce6eda2b09 --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbPostInitKB.c @@ -0,0 +1,120 @@ +/** + * @file + * + * GNB post initialization. + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 84150 $ @e \$Date: 2012-12-12 15:46:25 -0600 (Wed, 12 Dec 2012) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ +/*---------------------------------------------------------------------------------------- + * M O D U L E S U S E D + *---------------------------------------------------------------------------------------- + */ +#include "AGESA.h" +#include "Ids.h" +#include "amdlib.h" +#include "Gnb.h" +#include "GnbGfx.h" +#include "GnbGfxConfig.h" +#include "GnbGfxInitLibV1.h" +#include "GnbNbInitLibV1.h" +#include "GnbNbInitLibV5.h" +#include "GnbPcieConfig.h" +#include "GfxLibV3.h" +#include "Filecode.h" +#define FILECODE PROC_GNB_MODULES_GNBINITKB_GNBPOSTINITKB_FILECODE +/*---------------------------------------------------------------------------------------- + * D E F I N I T I O N S A N D M A C R O S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * T Y P E D E F S A N D S T R U C T U R E S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * P R O T O T Y P E S O F L O C A L F U N C T I O N S + *---------------------------------------------------------------------------------------- + */ + +AGESA_STATUS +GnbPostInterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ); + +/*----------------------------------------------------------------------------------------*/ +/** + * PCIe Early Post Init + * + * + * + * @param[in] StdHeader Standard configuration header + * @retval AGESA_STATUS + */ + +AGESA_STATUS +GnbPostInterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + AGESA_STATUS Status; + AGESA_STATUS AgesaStatus; + GNB_HANDLE *GnbHandle; + PCI_ADDR GnbPciAddress; + GFX_PLATFORM_CONFIG *Gfx; + + IDS_HDT_CONSOLE (GNB_TRACE, "GnbPostInterfaceKB Enter\n"); + AgesaStatus = AGESA_SUCCESS; + + Status = GfxLocateConfigData (StdHeader, &Gfx); + ASSERT (Status == AGESA_SUCCESS); + + GnbHandle = GnbGetHandle (StdHeader); + while (GnbHandle != NULL) { + GnbPciAddress = GnbGetHostPciAddress (GnbHandle); + Status = GnbSetTomV5 (GnbPciAddress, StdHeader); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + GnbHandle = GnbGetNextHandle (GnbHandle); + } + IDS_HDT_CONSOLE (GNB_TRACE, "GnbPostInterfaceKB Exit [0x%x]\n", AgesaStatus); + return AgesaStatus; +} + diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbRegisterAccKB.c b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbRegisterAccKB.c new file mode 100644 index 0000000000..499275bb00 --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbRegisterAccKB.c @@ -0,0 +1,585 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * Initialize PP/DPM fuse table. + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 84150 $ @e \$Date: 2012-12-12 15:46:25 -0600 (Wed, 12 Dec 2012) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ + +/*---------------------------------------------------------------------------------------- + * M O D U L E S U S E D + *---------------------------------------------------------------------------------------- + */ +#include "AGESA.h" +#include "amdlib.h" +#include "Ids.h" +#include "Gnb.h" +#include "GnbPcieConfig.h" +#include "GnbCommonLib.h" +#include "GnbRegisterAccKB.h" +#include "GnbRegistersKB.h" +#include "GnbSmuInitLibV7.h" +#include "Filecode.h" +#define FILECODE PROC_GNB_MODULES_GNBINITKB_GNBREGISTERACCKB_FILECODE +/*---------------------------------------------------------------------------------------- + * D E F I N I T I O N S A N D M A C R O S + *---------------------------------------------------------------------------------------- + */ +#define GNB_IGNORED_PARAM 0xFF +#define ORB_WRITE_ENABLE 0x100 +#define IOMMU_L1_WRITE_ENABLE 0x80000000ul +#define IOMMU_L2_WRITE_ENABLE 0x100 + + +/*---------------------------------------------------------------------------------------- + * T Y P E D E F S A N D S T R U C T U R E S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * P R O T O T Y P E S O F L O C A L F U N C T I O N S + *---------------------------------------------------------------------------------------- + */ + +VOID +GnbRegisterWriteKBDump ( + IN UINT8 RegisterSpaceType, + IN UINT32 Address, + IN VOID *Value + ); + + +/*----------------------------------------------------------------------------------------*/ +/* + * Routine to read all register spaces. + * + * + * + * @param[in] RegisterSpaceType Register space type + * @param[in] Address Register offset, but PortDevice + * @param[out] Value Return value + * @param[in] Flags Flags - BIT0 indicates S3 save/restore + * @param[in] StdHeader Standard configuration header + */ +AGESA_STATUS +GnbRegisterReadKB ( + IN GNB_HANDLE *GnbHandle, + IN UINT8 RegisterSpaceType, + IN UINT32 Address, + OUT VOID *Value, + IN UINT32 Flags, + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + ACCESS_WIDTH Width; + UINT32 TempValue; + UINT32 TempAddress; + PCI_ADDR GnbPciAddress; + + GnbPciAddress = GnbGetHostPciAddress (GnbHandle); + Width = (Flags == GNB_REG_ACC_FLAG_S3SAVE) ? AccessS3SaveWidth32 : AccessWidth32; + TempAddress = 0; + TempValue = 0; + + + switch (RegisterSpaceType) { + case 0x1: + GnbLibPciRead ( + GnbPciAddress.AddressValue | Address, + Width, + Value, + StdHeader + ); + break; + case 0x8: + GnbPciAddress.Address.Function = 2; + GnbLibPciRead ( + GnbPciAddress.AddressValue | Address, + Width, + Value, + StdHeader + ); + break; + case 0x6: ///@todo has to be DxFx + GnbLibPciRead ( + Address, + Width, + Value, + StdHeader + ); + break; + case TYPE_D18F0: + GnbLibPciRead ( + MAKE_SBDFO (0, 0, 0x18, 0, Address), + Width, + Value, + StdHeader + ); + break; + case TYPE_D18F1: + GnbLibPciRead ( + MAKE_SBDFO (0, 0, 0x18, 1, Address), + Width, + Value, + StdHeader + ); + break; + case TYPE_D18F2: + case TYPE_D18F2_dct0: + GnbLibPciRead ( + MAKE_SBDFO (0, 0, 0x18, 2, Address), + Width, + Value, + StdHeader + ); + break; + case TYPE_D18F3: + GnbLibPciRead ( + MAKE_SBDFO (0, 0, 0x18, 3, Address), + Width, + Value, + StdHeader + ); + break; + case TYPE_D18F4: + GnbLibPciRead ( + MAKE_SBDFO (0, 0, 0x18, 4, Address), + Width, + Value, + StdHeader + ); + break; + case TYPE_D18F5: + GnbLibPciRead ( + MAKE_SBDFO (0, 0, 0x18, 5, Address), + Width, + Value, + StdHeader + ); + break; + + case 0x2: + // Miscellaneous Index Data, access the registers D0F0x64_x[FF:00] + GnbLibPciIndirectRead ( + GnbPciAddress.AddressValue | D0F0x60_ADDRESS, + Address, + Width, + Value, + StdHeader + ); + break; + + case 0x3: + // Northbridge ORB Configuration Offset, access D0F0x98_x[FF:00] + GnbLibPciIndirectRead ( + GnbPciAddress.AddressValue | D0F0x94_ADDRESS, + Address, + Width, + Value, + StdHeader + ); + break; + + case 0x4: + { + UINT64 TempData; + GnbLibPciIndirectRead ( + GnbPciAddress.AddressValue | D0F0xB8_ADDRESS, + (Address & (~0x3ull)), + Width, + &TempData, + StdHeader + ); + if ((Address & 0x3) != 0) { + //Non aligned access allowed to fuse block + GnbLibPciIndirectRead ( + GnbPciAddress.AddressValue | D0F0xB8_ADDRESS, + (Address & (~0x3ull)) + 4, + Width, + ((UINT32 *) &TempData) + 1, + StdHeader + ); + } + * ((UINT32*) Value) = (UINT32) (TempData >> ((Address & 0x3) * 8)); + break; + } + case 0x22: + // D0F0xD0 Link Index Address, access D0F0xD4_x[0130_14BF:0109_0000] + GnbLibPciIndirectRead ( + GnbPciAddress.AddressValue | 0xD0, + Address, + Width, + Value, + StdHeader + ); + break; + + case 0x5: + // D0F0xE0 Link Index Address, access D0F0xE4_x[FFFF_FFFF:0000_0000] + GnbLibPciIndirectRead ( + GnbPciAddress.AddressValue | D0F0xE0_ADDRESS, + Address, + Width, + Value, + StdHeader + ); + break; + + case 0x9: + GnbPciAddress.Address.Function = 2; + GnbLibPciIndirectRead ( + GnbPciAddress.AddressValue | 0xF0, + Address, + Width, + Value, + StdHeader + ); + break; + + case 0xa: + GnbPciAddress.Address.Function = 2; + GnbLibPciIndirectRead ( + GnbPciAddress.AddressValue | 0xF8, + Address, + Width, + Value, + StdHeader + ); + break; + + case TYPE_MSR: + LibAmdMsrRead (Address, Value, StdHeader); + break; + + case 0x12: + ASSERT (Address < 0x40000); + // SRBM + GnbLibPciIndirectRead ( + MAKE_SBDFO (0, 0, 0, 0, 0xB8), + (0x80080000 | (Address & 0x3FFFF)), + Width, + Value, + StdHeader + ); + break; + + default: + ASSERT (FALSE); + break; + } + return AGESA_SUCCESS; +} + +/*----------------------------------------------------------------------------------------*/ +/* + * Routine to write all register spaces. + * + * + * @param[in] GnbHandle GnbHandle + * @param[in] RegisterSpaceType Register space type + * @param[in] Address Register offset, but PortDevice + * @param[out] Value The value to write + * @param[in] Flags Flags - BIT0 indicates S3 save/restore + * @param[in] StdHeader Standard configuration header + */ +AGESA_STATUS +GnbRegisterWriteKB ( + IN GNB_HANDLE *GnbHandle, + IN UINT8 RegisterSpaceType, + IN UINT32 Address, + IN VOID *Value, + IN UINT32 Flags, + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + + ACCESS_WIDTH Width; + UINT32 TempValue; + UINT32 TempAddress; + PCI_ADDR GnbPciAddress; + DEV_OBJECT DevObject; + + GnbPciAddress = GnbGetHostPciAddress (GnbHandle); + Width = (Flags == GNB_REG_ACC_FLAG_S3SAVE) ? AccessS3SaveWidth32 : AccessWidth32; + TempAddress = 0; + TempValue = 0; + + GNB_DEBUG_CODE ( + GnbRegisterWriteKBDump (RegisterSpaceType, Address, Value); + ); + + switch (RegisterSpaceType) { + case 0x1: + GnbLibPciWrite ( + GnbPciAddress.AddressValue | Address, + Width, + Value, + StdHeader + ); + break; + case 0x8: + GnbPciAddress.Address.Function = 2; + GnbLibPciWrite ( + GnbPciAddress.AddressValue | Address, + Width, + Value, + StdHeader + ); + break; + case 0x6: /// @todo needs to be DxFx + GnbLibPciWrite ( + Address, + Width, + Value, + StdHeader + ); + break; + case TYPE_D18F0: + GnbLibPciWrite ( + MAKE_SBDFO (0, 0, 0x18, 0, Address), + Width, + Value, + StdHeader + ); + break; + case TYPE_D18F1: + GnbLibPciWrite ( + MAKE_SBDFO (0, 0, 0x18, 1, Address), + Width, + Value, + StdHeader + ); + break; + case TYPE_D18F2: + case TYPE_D18F2_dct0: + GnbLibPciWrite ( + MAKE_SBDFO (0, 0, 0x18, 2, Address), + Width, + Value, + StdHeader + ); + break; + case TYPE_D18F3: + GnbLibPciWrite ( + MAKE_SBDFO (0, 0, 0x18, 3, Address), + Width, + Value, + StdHeader + ); + break; + case TYPE_D18F4: + GnbLibPciWrite ( + MAKE_SBDFO (0, 0, 0x18, 4, Address), + Width, + Value, + StdHeader + ); + break; + case TYPE_D18F5: + GnbLibPciWrite ( + MAKE_SBDFO (0, 0, 0x18, 5, Address), + Width, + Value, + StdHeader + ); + break; + + case 0x2: + // Miscellaneous Index Data, access the registers D0F0x64_x[FF:00] + GnbLibPciIndirectWrite ( + GnbPciAddress.AddressValue | D0F0x60_ADDRESS, + Address | IOC_WRITE_ENABLE, + Width, + Value, + StdHeader + ); + break; + + case 0x3: + // Northbridge ORB Configuration Offset, access D0F0x98_x[FF:00] + GnbLibPciIndirectWrite ( + GnbPciAddress.AddressValue | D0F0x94_ADDRESS, + Address | ORB_WRITE_ENABLE, + Width, + Value, + StdHeader + ); + break; + + case 0x4: + //SMU, access D0F0xBC_x[FFFFFFFF:00000000] + GnbLibPciIndirectWrite ( + GnbPciAddress.AddressValue | D0F0xB8_ADDRESS, + Address, + Width, + Value, + StdHeader + ); + break; + + case 0x22: + // D0F0xD0 Link Index Address, access D0F0xD4_x[0130_14BF:0109_0000] + GnbLibPciIndirectWrite ( + GnbPciAddress.AddressValue | 0xD0, + Address, + Width, + Value, + StdHeader + ); + break; + + case 0x5: + // D0F0xE0 Link Index Address, access D0F0xE4_x[FFFF_FFFF:0000_0000] + GnbLibPciIndirectWrite ( + GnbPciAddress.AddressValue | D0F0xE0_ADDRESS, + Address, + Width, + Value, + StdHeader + ); + break; + + case 0x9: + // IOMMU L2 Config Index, to access the registers D0F2xF4_x[FF:00]. + GnbPciAddress.Address.Function = 2; + GnbLibPciIndirectWrite ( + GnbPciAddress.AddressValue | 0xF0, + Address | IOMMU_L2_WRITE_ENABLE, + Width, + Value, + StdHeader + ); + break; + + case 0xa: + GnbPciAddress.Address.Function = 2; + GnbLibPciIndirectWrite ( + GnbPciAddress.AddressValue | 0xF8, + Address | IOMMU_L1_WRITE_ENABLE, + Width, + Value, + StdHeader + ); + break; + + case TYPE_MSR: + LibAmdMsrWrite (Address, Value, StdHeader); + break; + + case 0x12: + ASSERT (Address < 0x40000); + // SRBM + GnbLibPciIndirectWrite ( + MAKE_SBDFO (0, 0, 0, 0, 0xB8), + (0x80080000 | (Address & 0x3FFFF)), + Width, + Value, + StdHeader + ); + break; + + case TYPE_SMU_MSG: + DevObject.StdHeader = StdHeader; + DevObject.GnbHandle = GnbGetHandle (StdHeader); + DevObject.DevPciAddress.AddressValue = MAKE_SBDFO (0, 0, 0, 0, 0); + GnbSmuServiceRequestV7 (&DevObject, (UINT8) Address, *((UINT32 *)Value), Flags); + break; + + default: + ASSERT (FALSE); + break; + } + + return AGESA_SUCCESS; +} + +/*----------------------------------------------------------------------------------------*/ +/* + * Routine to dump all write register spaces. + * + * + * + * @param[in] RegisterSpaceType Register space type + * @param[in] Address Register offset + * @param[in] Value The value to write + */ +VOID +GnbRegisterWriteKBDump ( + IN UINT8 RegisterSpaceType, + IN UINT32 Address, + IN VOID *Value + ) +{ + IDS_HDT_CONSOLE (NB_MISC, " R WRITE Space %s Address 0x%04x, Value 0x%04x\n", + (RegisterSpaceType == 0x1) ? "0x1" : ( + (RegisterSpaceType == 0x2) ? "0x2" : ( + (RegisterSpaceType == 0x3) ? "0x3" : ( + (RegisterSpaceType == 0x4) ? "0x4" : ( + (RegisterSpaceType == 0x22) ? "0x22" : ( + (RegisterSpaceType == 0x5) ? "0x5" : ( + (RegisterSpaceType == 0x6) ? "0x6" : ( + (RegisterSpaceType == TYPE_D18F0) ? "TYPE_D18F0" : ( + (RegisterSpaceType == TYPE_D18F1) ? "TYPE_D18F1" : ( + (RegisterSpaceType == TYPE_D18F2) ? "TYPE_D18F2" : ( + (RegisterSpaceType == TYPE_D18F3) ? "TYPE_D18F3" : ( + (RegisterSpaceType == TYPE_D18F4) ? "TYPE_D18F4" : ( + (RegisterSpaceType == TYPE_D18F5) ? "TYPE_D18F5" : ( + (RegisterSpaceType == TYPE_MSR) ? "TYPE_MSR" : ( + (RegisterSpaceType == TYPE_D1F0) ? "TYPE_D1F0" : ( + (RegisterSpaceType == TYPE_D1F1) ? "TYPE_D1F1" : ( + (RegisterSpaceType == 0x12) ? "0x12" : ( + (RegisterSpaceType == TYPE_D18F2x9C_dct0) ? "TYPE_D18F2x9C_dct0" : ( + (RegisterSpaceType == TYPE_D18F2x9C_dct0_mp0) ? "TYPE_D18F2x9C_dct0_mp0" : ( + (RegisterSpaceType == TYPE_D18F2x9C_dct0_mp1) ? "TYPE_D18F2x9C_dct0_mp1" : ( + (RegisterSpaceType == TYPE_D18F2x9C_dct1) ? "TYPE_D18F2x9C_dct1" : ( + (RegisterSpaceType == TYPE_D18F2x9C_dct1_mp0) ? "TYPE_D18F2x9C_dct1_mp0" : ( + (RegisterSpaceType == TYPE_D18F2x9C_dct1_mp1) ? "TYPE_D18F2x9C_dct1_mp1" : ( + (RegisterSpaceType == TYPE_D18F2_dct0) ? "TYPE_D18F2_dct0" : ( + (RegisterSpaceType == TYPE_D18F2_dct0_mp0) ? "TYPE_D18F2_dct0_mp0" : ( + (RegisterSpaceType == TYPE_D18F2_dct0_mp1) ? "TYPE_D18F2_dct0_mp1" : ( + (RegisterSpaceType == TYPE_D18F2_dct1) ? "TYPE_D18F2_dct1" : ( + (RegisterSpaceType == TYPE_D18F2_dct1_mp0) ? "TYPE_D18F2_dct1_mp0" : ( + (RegisterSpaceType == TYPE_SMU_MSG) ? "TYPE_SMU_MSG" : ( + (RegisterSpaceType == TYPE_D18F2_dct1_mp1) ? "TYPE_D18F2_dct1_mp1" : "Invalid"))))))))))))))))))))))))))))), + Address, + *((UINT32*)Value) + ); +} diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbRegisterAccKB.h b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbRegisterAccKB.h new file mode 100644 index 0000000000..326c0b32f5 --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbRegisterAccKB.h @@ -0,0 +1,68 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * Various register access service procedures + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 84150 $ @e \$Date: 2012-12-12 15:46:25 -0600 (Wed, 12 Dec 2012) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ +#ifndef _GNBREGISTERACCKB_H_ +#define _GNBREGISTERACCKB_H_ + +AGESA_STATUS +GnbRegisterWriteKB ( + IN GNB_HANDLE *GnbHandle, + IN UINT8 RegisterSpaceType, + IN UINT32 Address, + IN VOID *Value, + IN UINT32 Flags, + IN AMD_CONFIG_PARAMS *StdHeader + ); + +AGESA_STATUS +GnbRegisterReadKB ( + IN GNB_HANDLE *GnbHandle, + IN UINT8 RegisterSpaceType, + IN UINT32 Address, + OUT VOID *Value, + IN UINT32 Flags, + IN AMD_CONFIG_PARAMS *StdHeader + ); + +#endif diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbSamuPatchKB.h b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbSamuPatchKB.h new file mode 100644 index 0000000000..bed59c0d32 --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbSamuPatchKB.h @@ -0,0 +1,2103 @@ +/** + * @file + * + * SAMU firmware + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 84150 $ @e \$Date: 2012-12-12 15:46:25 -0600 (Wed, 12 Dec 2012) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ + +#ifndef _GNBSAMUPATCHKB_H_ +#define _GNBSAMUPATCHKB_H_ + +UINT8 SamuPatchKB[] = { + 0x9d, + 0xaf, + 0x50, + 0x9, + 0x10, + 0x3, + 0xf6, + 0x5f, + 0x7b, + 0x29, + 0x2d, + 0xe0, + 0x33, + 0xbd, + 0x76, + 0x53, + 0x0, + 0x4, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x83, + 0x4f, + 0x17, + 0x8e, + 0x1f, + 0x7e, + 0x2, + 0xbb, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x3, + 0x0, + 0x0, + 0x2, + 0x0, + 0x0, + 0x0, + 0x4, + 0x0, + 0x2, + 0x0, + 0x0, + 0x0, + 0x0, + 0x80, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0xf7, + 0x11, + 0xbd, + 0x4f, + 0x87, + 0x69, + 0x32, + 0x50, + 0x1, + 0x9, + 0x10, + 0x0, + 0x1, + 0x0, + 0x0, + 0x0, + 0x8a, + 0x38, + 0x2f, + 0xed, + 0x4d, + 0x1c, + 0x95, + 0x9f, + 0xe2, + 0x0, + 0xc0, + 0x45, + 0x50, + 0xe2, + 0x8, + 0xd2, + 0x9a, + 0xe1, + 0xca, + 0x4d, + 0xd0, + 0xb3, + 0xf1, + 0x3f, + 0x43, + 0x6a, + 0x12, + 0x54, + 0xfb, + 0x99, + 0x99, + 0xf9, + 0x4e, + 0x63, + 0xae, + 0x61, + 0x75, + 0x6a, + 0x90, + 0xf6, + 0x43, + 0xab, + 0xf8, + 0xd4, + 0x69, + 0x4d, + 0xe1, + 0x54, + 0x8e, + 0x68, + 0x9f, + 0x7, + 0x39, + 0x67, + 0xf4, + 0xdc, + 0x25, + 0xcb, + 0x0, + 0x66, + 0x28, + 0x4b, + 0xe5, + 0xdc, + 0x62, + 0x5a, + 0xa6, + 0xd6, + 0x1e, + 0xcd, + 0x48, + 0x15, + 0xde, + 0x62, + 0x53, + 0x7a, + 0xf, + 0xdf, + 0x44, + 0x4e, + 0x95, + 0xa6, + 0x82, + 0xa1, + 0x47, + 0x11, + 0x50, + 0x5f, + 0x18, + 0x8c, + 0x94, + 0x13, + 0xb8, + 0x14, + 0x21, + 0x4c, + 0xba, + 0x7b, + 0x4f, + 0x5e, + 0xe2, + 0x9, + 0x74, + 0x7e, + 0x71, + 0x21, + 0x74, + 0xd2, + 0xb2, + 0xc3, + 0xa8, + 0xa6, + 0x41, + 0x83, + 0x30, + 0xaa, + 0xf3, + 0x88, + 0x7b, + 0x16, + 0xfc, + 0xe5, + 0xe9, + 0x6f, + 0x9a, + 0xdf, + 0x7b, + 0x86, + 0x91, + 0xf5, + 0xb6, + 0x4, + 0x9e, + 0x7a, + 0x5, + 0xea, + 0x18, + 0x2e, + 0x7, + 0xc6, + 0x9, + 0x10, + 0xc5, + 0x1e, + 0xf, + 0x51, + 0x84, + 0x27, + 0x80, + 0x8d, + 0xa3, + 0x0, + 0x2d, + 0x53, + 0x6a, + 0xaa, + 0xad, + 0x2e, + 0x1e, + 0x33, + 0x6a, + 0x3d, + 0x72, + 0x16, + 0x34, + 0x9f, + 0x5f, + 0x33, + 0x70, + 0xe2, + 0x85, + 0xb7, + 0xbe, + 0xdf, + 0x59, + 0xd0, + 0xbc, + 0x7b, + 0xc0, + 0x1f, + 0x8e, + 0xc4, + 0x25, + 0xb5, + 0xe3, + 0x88, + 0x60, + 0x20, + 0x73, + 0x44, + 0x17, + 0x2f, + 0x0, + 0x2b, + 0xa5, + 0xea, + 0x4d, + 0x9, + 0xa5, + 0x42, + 0x95, + 0x23, + 0xb9, + 0x1e, + 0x1, + 0xe8, + 0xf7, + 0x7c, + 0x9f, + 0xbe, + 0xb0, + 0x85, + 0xf4, + 0x18, + 0xa9, + 0xf2, + 0x87, + 0x84, + 0x73, + 0xc2, + 0xfe, + 0x9a, + 0x8c, + 0xbb, + 0x9d, + 0x36, + 0x8d, + 0x2e, + 0x94, + 0xc1, + 0x6c, + 0x5f, + 0xc4, + 0x3, + 0x77, + 0x60, + 0x64, + 0x70, + 0x65, + 0x45, + 0x8, + 0x89, + 0xf9, + 0x4f, + 0x76, + 0x25, + 0x79, + 0x1b, + 0x2a, + 0x46, + 0x4b, + 0xfb, + 0x1b, + 0xed, + 0x32, + 0x16, + 0x6d, + 0x3c, + 0x65, + 0xbb, + 0xc4, + 0xe7, + 0xdd, + 0xf2, + 0xd1, + 0x13, + 0x84, + 0x9a, + 0x5f, + 0x71, + 0x15, + 0x6d, + 0x46, + 0x3, + 0x14, + 0xbc, + 0x54, + 0x17, + 0x3a, + 0x12, + 0x3a, + 0x8, + 0xe6, + 0x9c, + 0xff, + 0xb3, + 0x13, + 0xfd, + 0x37, + 0x17, + 0xb6, + 0x79, + 0x6, + 0x56, + 0x9d, + 0xd1, + 0xb7, + 0x57, + 0x33, + 0x3a, + 0x85, + 0xbc, + 0xb2, + 0xd6, + 0x47, + 0x71, + 0x79, + 0xa1, + 0xf8, + 0xf4, + 0x97, + 0xc6, + 0x67, + 0x6e, + 0xe6, + 0xa7, + 0x7e, + 0xfe, + 0x81, + 0xb5, + 0x6a, + 0x97, + 0xd0, + 0x3e, + 0x4e, + 0x7c, + 0x20, + 0xac, + 0xb, + 0x28, + 0xde, + 0x5e, + 0x73, + 0x9c, + 0xb3, + 0x28, + 0xd6, + 0xa0, + 0xd, + 0x6e, + 0x41, + 0x2b, + 0x82, + 0xa8, + 0xb9, + 0x45, + 0x3d, + 0x5d, + 0xd7, + 0xa, + 0xa6, + 0x16, + 0xcd, + 0xfb, + 0x6a, + 0x63, + 0xab, + 0x50, + 0x4c, + 0x2, + 0xce, + 0x4b, + 0xbf, + 0xac, + 0x68, + 0x24, + 0x5b, + 0x56, + 0xc0, + 0x72, + 0xe6, + 0x63, + 0x0, + 0xff, + 0x71, + 0xbd, + 0x4a, + 0x0, + 0x8b, + 0xff, + 0xff, + 0x2b, + 0xe1, + 0x89, + 0xb0, + 0xd1, + 0x8c, + 0x15, + 0x74, + 0xe9, + 0xef, + 0x5b, + 0x88, + 0xe4, + 0x6e, + 0x94, + 0x52, + 0x66, + 0xcb, + 0xcf, + 0x77, + 0x7f, + 0xb, + 0xc0, + 0x88, + 0x99, + 0x9f, + 0xce, + 0xbe, + 0xf3, + 0xf0, + 0x9d, + 0x42, + 0xe, + 0x8f, + 0x63, + 0x7c, + 0x2, + 0x6f, + 0x7, + 0x2, + 0xb1, + 0x91, + 0xbe, + 0xdc, + 0x28, + 0xc8, + 0x1d, + 0x1c, + 0xfb, + 0xb, + 0xcf, + 0x96, + 0x73, + 0x56, + 0x70, + 0x10, + 0xdc, + 0x41, + 0xad, + 0x15, + 0x70, + 0xab, + 0x4d, + 0x81, + 0x7, + 0x1c, + 0x9a, + 0x31, + 0x1, + 0x2a, + 0xd3, + 0x9e, + 0x3d, + 0x3f, + 0x8c, + 0x88, + 0x38, + 0xc9, + 0xb5, + 0xbe, + 0xaa, + 0x3f, + 0x83, + 0x14, + 0xdc, + 0xc2, + 0x90, + 0x37, + 0x7, + 0xc5, + 0x49, + 0xf3, + 0x3a, + 0xe8, + 0x2d, + 0xc5, + 0xd8, + 0xa9, + 0x4, + 0x54, + 0x21, + 0x32, + 0x76, + 0xd2, + 0x13, + 0x42, + 0x58, + 0x9e, + 0xa7, + 0x36, + 0xfd, + 0xf3, + 0xd1, + 0x42, + 0x69, + 0xe1, + 0x58, + 0x9b, + 0xec, + 0xe9, + 0x4e, + 0x3e, + 0xdf, + 0x3b, + 0x9b, + 0x72, + 0x82, + 0xfc, + 0x7e, + 0xdf, + 0x74, + 0x14, + 0xa7, + 0x2a, + 0xbf, + 0x75, + 0xa5, + 0xb0, + 0xee, + 0x79, + 0xd0, + 0xc4, + 0x3e, + 0xbc, + 0xdc, + 0xc6, + 0xb, + 0xeb, + 0xf6, + 0x6e, + 0x95, + 0xda, + 0x9e, + 0x57, + 0xb5, + 0xc6, + 0xa8, + 0x8d, + 0x79, + 0xf8, + 0xbf, + 0xa9, + 0x79, + 0x96, + 0x2c, + 0x29, + 0x64, + 0x2c, + 0x32, + 0x94, + 0x89, + 0x17, + 0x30, + 0x1a, + 0x4e, + 0x7e, + 0x8d, + 0xfc, + 0x40, + 0xee, + 0x39, + 0x9e, + 0x13, + 0x56, + 0x25, + 0xe1, + 0xd3, + 0x3, + 0x95, + 0x6a, + 0x69, + 0x48, + 0x47, + 0xf8, + 0x5e, + 0x2f, + 0x9f, + 0xcd, + 0x1f, + 0xcb, + 0x35, + 0xbf, + 0x90, + 0x70, + 0x75, + 0xff, + 0x7d, + 0x4e, + 0xa8, + 0x0, + 0xed, + 0x3, + 0xee, + 0xce, + 0x83, + 0x2d, + 0xca, + 0x75, + 0xad, + 0x82, + 0x94, + 0x86, + 0xec, + 0x58, + 0x4, + 0x8f, + 0x6c, + 0x34, + 0x89, + 0x8, + 0xac, + 0x53, + 0x74, + 0x8c, + 0xf1, + 0x8a, + 0xf9, + 0x55, + 0x31, + 0xaf, + 0xb7, + 0x9, + 0xd8, + 0x66, + 0x5, + 0xa0, + 0xe2, + 0x84, + 0x8e, + 0x21, + 0x35, + 0xb0, + 0x66, + 0x87, + 0x40, + 0xd0, + 0xbd, + 0xf3, + 0x6e, + 0x57, + 0xf5, + 0x7e, + 0x3a, + 0xe4, + 0x6f, + 0x8d, + 0x8c, + 0xfb, + 0x45, + 0x36, + 0x53, + 0xd3, + 0xf7, + 0x32, + 0xd5, + 0x21, + 0xb, + 0x81, + 0xe0, + 0x7, + 0xc9, + 0x68, + 0xc4, + 0x93, + 0x59, + 0x7a, + 0xcb, + 0xad, + 0x65, + 0xb7, + 0x66, + 0x84, + 0x2f, + 0x3b, + 0x9f, + 0xe7, + 0x43, + 0x11, + 0x36, + 0xa5, + 0x36, + 0x77, + 0x32, + 0xbd, + 0x1d, + 0x7d, + 0x49, + 0x61, + 0x79, + 0x88, + 0x2d, + 0x8e, + 0x41, + 0xec, + 0x14, + 0x31, + 0xf9, + 0xaa, + 0x97, + 0x1a, + 0x39, + 0x6a, + 0xb3, + 0xe8, + 0xdb, + 0x57, + 0xd4, + 0x6d, + 0xed, + 0xa6, + 0x2a, + 0x3c, + 0xba, + 0x7, + 0x8a, + 0x22, + 0x5f, + 0xa7, + 0xc3, + 0xa1, + 0x3, + 0x86, + 0xa8, + 0xa, + 0x12, + 0x0, + 0x1f, + 0xd0, + 0x1a, + 0xc7, + 0x5d, + 0xdf, + 0x51, + 0xad, + 0x2e, + 0xf6, + 0x1e, + 0xb7, + 0xb2, + 0x1f, + 0x40, + 0x76, + 0x72, + 0xf0, + 0x6, + 0x4a, + 0x1f, + 0x69, + 0x3, + 0xc5, + 0x7f, + 0x93, + 0x5c, + 0x31, + 0x6e, + 0x8b, + 0x3a, + 0xc7, + 0x46, + 0xc5, + 0xe3, + 0x8b, + 0x9d, + 0xf4, + 0x79, + 0x6d, + 0x2e, + 0x7f, + 0x45, + 0x5c, + 0x9e, + 0x2d, + 0xec, + 0xe8, + 0x91, + 0xd0, + 0x37, + 0xc7, + 0xba, + 0x73, + 0x87, + 0x79, + 0x8a, +}; + +UINT32 SamuPatchKBHeader[] = { + 0x53414d55, + 0x410 +}; + +UINT8 SamuPatchKBUnf1[] = { + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0xe8, + 0x2, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x1, + 0x0, + 0x0, + 0x0, + 0x1, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x1, + 0x0, + 0x0, + 0x0, + 0xe8, + 0x2, + 0x0, + 0x0, + 0x2, + 0x0, + 0x0, + 0x0, + 0x4, + 0x0, + 0x2, + 0x0, + 0x0, + 0x0, + 0x0, + 0x80, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x98, + 0x0, + 0x0, + 0x0, + 0x34, + 0x3, + 0x80, + 0x1c, + 0x78, + 0xfc, + 0xff, + 0x9c, + 0x3b, + 0x84, + 0x0, + 0x0, + 0xf8, + 0x0, + 0xd0, + 0x5a, + 0x9b, + 0x2, + 0x0, + 0x0, + 0xe0, + 0x0, + 0x0, + 0x0, + 0x34, + 0x1, + 0x0, + 0x5a, + 0x37, + 0xff, + 0xff, + 0xff, + 0xe3, + 0x0, + 0x0, + 0x4, + 0x34, + 0x0, + 0x12, + 0x44, + 0x80, + 0x0, + 0x20, + 0x23, + 0x34, + 0x0, + 0x0, + 0x65, + 0x28, + 0x0, + 0x40, + 0x23, + 0x34, + 0x0, + 0x0, + 0x65, + 0x28, + 0x0, + 0x0, + 0x23, + 0x28, + 0x10, + 0x0, + 0x21, + 0x34, + 0x1, + 0x0, + 0x84, + 0x34, + 0x2, + 0x0, + 0x82, + 0x54, + 0xf8, + 0xff, + 0xff, + 0xe3, + 0x0, + 0x0, + 0xa0, + 0xc3, + 0x0, + 0x0, + 0x4, + 0x34, + 0x9, + 0x0, + 0x83, + 0x50, + 0x1, + 0x0, + 0x5, + 0x78, + 0x0, + 0x0, + 0xa5, + 0x38, + 0x8, + 0x5, + 0x22, + 0xa8, + 0x0, + 0x8, + 0x25, + 0xb4, + 0x10, + 0x0, + 0x42, + 0x34, + 0x1, + 0x0, + 0x84, + 0x34, + 0x2, + 0x0, + 0x83, + 0x50, + 0xfb, + 0xff, + 0xff, + 0xe3, + 0x0, + 0x0, + 0xa0, + 0xc3, + 0x0, + 0x0, + 0x4, + 0x34, + 0x9, + 0x0, + 0x83, + 0x50, + 0x1, + 0x0, + 0x5, + 0x78, + 0x0, + 0x0, + 0xa5, + 0x38, + 0x8, + 0x15, + 0x20, + 0xa8, + 0x0, + 0x8, + 0x25, + 0xb4, + 0x10, + 0x0, + 0x42, + 0x34, + 0x1, + 0x0, + 0x84, + 0x34, + 0x2, + 0x0, + 0x83, + 0x50, + 0xfb, + 0xff, + 0xff, + 0xe3, + 0x0, + 0x0, + 0xa0, + 0xc3, + 0x0, + 0x20, + 0x20, + 0xb8, + 0xb0, + 0x0, + 0xa0, + 0x90, + 0x0, + 0x0, + 0x1, + 0x34, + 0xb0, + 0x0, + 0x20, + 0xd0, + 0x3, + 0x0, + 0x81, + 0x7c, + 0x8, + 0x0, + 0x20, + 0x5c, + 0x0, + 0x12, + 0x58, + 0xbc, + 0xff, + 0x0, + 0x1, + 0x78, + 0xff, + 0xff, + 0x21, + 0x38, + 0x80, + 0x9, + 0xa1, + 0xa0, + 0x0, + 0x28, + 0x41, + 0xb8, + 0xf0, + 0x2, + 0x60, + 0xd0, + 0x18, + 0x0, + 0x0, + 0xe0, + 0x2, + 0x0, + 0x81, + 0x7c, + 0x8, + 0x0, + 0x20, + 0x5c, + 0x0, + 0x12, + 0x50, + 0xbc, + 0x0, + 0xff, + 0x1, + 0x78, + 0xff, + 0xff, + 0x21, + 0x38, + 0x80, + 0x9, + 0xa1, + 0xa0, + 0x0, + 0x28, + 0x41, + 0xb8, + 0xd0, + 0x2, + 0x60, + 0xd0, + 0xf, + 0x0, + 0x0, + 0xe0, + 0x1, + 0x0, + 0x81, + 0x7c, + 0x8, + 0x0, + 0x20, + 0x5c, + 0x0, + 0x12, + 0x48, + 0xbc, + 0xff, + 0xff, + 0x1, + 0x78, + 0xff, + 0x0, + 0x21, + 0x38, + 0x80, + 0x9, + 0xa1, + 0xa0, + 0x0, + 0x28, + 0x41, + 0xb8, + 0xb0, + 0x2, + 0x60, + 0xd0, + 0x6, + 0x0, + 0x0, + 0xe0, + 0x5, + 0x0, + 0x80, + 0x5c, + 0x0, + 0xff, + 0x1, + 0x34, + 0x80, + 0x29, + 0xa1, + 0xa0, + 0x0, + 0x28, + 0xa2, + 0xb8, + 0x90, + 0x2, + 0x60, + 0xd0, + 0xb0, + 0x0, + 0xa0, + 0xd0, + 0x0, + 0x0, + 0xa0, + 0xc3, + 0x0, + 0x10, + 0x20, + 0xb8, + 0x3, + 0x0, + 0x21, + 0x7c, + 0x4, + 0x0, + 0x20, + 0x5c, + 0x0, + 0x0, + 0x1, + 0x34, + 0xf0, + 0x2, + 0x20, + 0xd0, + 0x0, + 0x0, + 0xa0, + 0xc3, + 0x2, + 0x0, + 0x41, + 0x7c, + 0x4, + 0x0, + 0x20, + 0x5c, + 0x0, + 0x0, + 0x1, + 0x34, + 0xd0, + 0x2, + 0x20, + 0xd0, + 0x0, + 0x0, + 0xa0, + 0xc3, + 0x1, + 0x0, + 0x41, + 0x7c, + 0x4, + 0x0, + 0x20, + 0x5c, + 0x0, + 0x0, + 0x1, + 0x34, + 0xb0, + 0x2, + 0x20, + 0xd0, + 0x0, + 0x0, + 0xa0, + 0xc3, + 0x2, + 0x0, + 0x40, + 0x5c, + 0x90, + 0x2, + 0x40, + 0xd0, + 0x0, + 0x0, + 0xa0, + 0xc3, + 0x0, + 0x10, + 0x20, + 0xb8, + 0xb0, + 0x0, + 0x60, + 0x90, + 0x3, + 0x0, + 0x21, + 0x7c, + 0x6, + 0x0, + 0x20, + 0x5c, + 0xff, + 0x0, + 0x1, + 0x78, + 0xff, + 0xff, + 0x21, + 0x38, + 0x80, + 0x19, + 0x61, + 0xa0, + 0xb0, + 0x0, + 0x60, + 0xd0, + 0x0, + 0x0, + 0xa0, + 0xc3, + 0x2, + 0x0, + 0x41, + 0x7c, + 0x6, + 0x0, + 0x20, + 0x5c, + 0x0, + 0xff, + 0x1, + 0x78, + 0xff, + 0xff, + 0x21, + 0x38, + 0x80, + 0x19, + 0x61, + 0xa0, + 0xb0, + 0x0, + 0x60, + 0xd0, + 0x0, + 0x0, + 0xa0, + 0xc3, + 0x1, + 0x0, + 0x41, + 0x7c, + 0x6, + 0x0, + 0x20, + 0x5c, + 0xff, + 0xff, + 0x1, + 0x78, + 0xff, + 0x0, + 0x21, + 0x38, + 0x80, + 0x19, + 0x61, + 0xa0, + 0xb0, + 0x0, + 0x60, + 0xd0, + 0x0, + 0x0, + 0xa0, + 0xc3, + 0x4, + 0x0, + 0x40, + 0x5c, + 0x0, + 0xff, + 0x1, + 0x34, + 0x80, + 0x19, + 0x61, + 0xa0, + 0xb0, + 0x0, + 0x60, + 0xd0, + 0x0, + 0x0, + 0xa0, + 0xc3, + 0x0, + 0x8, + 0xa0, + 0xbb, + 0x0, + 0x0, + 0xa0, + 0xc3, + 0x0, + 0x10, + 0x20, + 0xb8, + 0xff, + 0xff, + 0x42, + 0x34, + 0xff, + 0xff, + 0x41, + 0x64, + 0xfe, + 0xff, + 0x20, + 0x44, + 0x0, + 0x0, + 0xa0, + 0xc3, + 0x2, + 0x0, + 0x1, + 0x78, + 0x0, + 0x20, + 0x21, + 0x38, + 0x41, + 0x0, + 0x2, + 0x34, + 0x3, + 0x0, + 0x41, + 0xcc, + 0x2, + 0x0, + 0x1, + 0x78, + 0x4, + 0x20, + 0x21, + 0x38, + 0x1, + 0x0, + 0x2, + 0x34, + 0x3, + 0x0, + 0x41, + 0xcc, + 0x2, + 0x0, + 0x1, + 0x78, + 0xd8, + 0x20, + 0x21, + 0x38, + 0x3, + 0x0, + 0x41, + 0xcc, + 0x2, + 0x0, + 0x1, + 0x78, + 0xd8, + 0x20, + 0x21, + 0x38, + 0x2, + 0x0, + 0x41, + 0xcc, + 0x2, + 0x0, + 0x1, + 0x78, + 0x74, + 0x20, + 0x21, + 0x38, + 0x3, + 0x0, + 0x41, + 0xcc, + 0x2, + 0x0, + 0x1, + 0x78, + 0x0, + 0x20, + 0x21, + 0x38, + 0x38, + 0x0, + 0x2, + 0x34, + 0x3, + 0x0, + 0x41, + 0xcc, + 0x2, + 0x0, + 0x1, + 0x78, + 0x4, + 0x20, + 0x21, + 0x38, + 0x0, + 0x0, + 0x2, + 0x34, + 0x3, + 0x0, + 0x41, + 0xcc, + 0x2, + 0x0, + 0x1, + 0x78, + 0x0, + 0x20, + 0x21, + 0x38, + 0x41, + 0x0, + 0x2, + 0x34, + 0x3, + 0x0, + 0x41, + 0xcc, + 0x2, + 0x0, + 0x1, + 0x78, + 0x4, + 0x20, + 0x21, + 0x38, + 0x0, + 0x0, + 0x2, + 0x34, + 0x3, + 0x0, + 0x41, + 0xcc, + 0x2, + 0x0, + 0x1, + 0x78, + 0x0, + 0x20, + 0x21, + 0x38, + 0x1, + 0x0, + 0x2, + 0x34, + 0x3, + 0x0, + 0x41, + 0xcc, + 0x2, + 0x0, + 0x1, + 0x78, + 0x4, + 0x20, + 0x21, + 0x38, + 0xff, + 0x1, + 0x2, + 0x34, + 0x3, + 0x0, + 0x41, + 0xcc, + 0x2, + 0x0, + 0x1, + 0x78, + 0x0, + 0x20, + 0x21, + 0x38, + 0x25, + 0x1, + 0x2, + 0x34, + 0x3, + 0x0, + 0x41, + 0xcc, + 0x2, + 0x0, + 0x1, + 0x78, + 0x4, + 0x20, + 0x21, + 0x38, + 0x1, + 0x0, + 0x2, + 0x34, + 0x3, + 0x0, + 0x41, + 0xcc, + 0x0, + 0x0, + 0x0, + 0xe0, +}; + +UINT32 SamuPatchKBHeaderUnf1[] = { + 0x53414d55, + 0x3e8 +}; +#endif diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbSmuFirmwareKB.h b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbSmuFirmwareKB.h new file mode 100644 index 0000000000..62736a3a20 --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbSmuFirmwareKB.h @@ -0,0 +1,32414 @@ +/** + * @file + * + * SMU firmware + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 87932 $ @e \$Date: 2013-02-13 13:53:55 -0600 (Wed, 13 Feb 2013) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ + +#ifndef _GNBSMUFIRMWAREKB_H_ +#define _GNBSMUFIRMWAREKB_H_ + +UINT32 FirmwareKBHeader [] = { + 0x554D535F, + 0x554D535F, + 0x0001F984, + 0x00002000, + 0x00010000, + 0xECE28940, + 0x0000424B, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, +}; + +UINT32 FirmwareKB[] = { + 0x63c00f17, + 0xb9cfd803, + 0x196410db, + 0x8c378d8b, + 0xa8f232ce, + 0x000c0d00, + 0x00000100, + 0x00000000, + 0x00020100, + 0x00019900, + 0x0001f954, + 0x000398d8, + 0x0003f900, + 0x0003f000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00038c00, + 0x00038fa8, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0xaa55aa55, + 0x98000000, + 0xd0000000, + 0x78010002, + 0x38210100, + 0xd0e10000, + 0xd1210000, + 0xe00000c4, + 0x34000000, + 0x379cff80, + 0x5b9d0074, + 0xf8000059, + 0x34010001, + 0xf8002e56, + 0xe000009a, + 0x34000000, + 0x34000000, + 0x379cff80, + 0x5b9d0074, + 0xf8000051, + 0x34010002, + 0xf8002e4e, + 0x2b980060, + 0x2b990064, + 0xe000006f, + 0x379cff80, + 0x5b9d0074, + 0xf8000049, + 0x34010003, + 0xf8002e46, + 0xe000008a, + 0x34000000, + 0x34000000, + 0x379cff80, + 0x5b9d0074, + 0xf8000041, + 0x34010004, + 0xf8002e3e, + 0x2b980060, + 0x2b990064, + 0xe000005f, + 0x379cff80, + 0x5b9d0074, + 0xf8000039, + 0x34010005, + 0xf8002e36, + 0x2b980060, + 0x2b990064, + 0xe0000057, + 0xe00000ab, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x379cff80, + 0x5b9d0078, + 0xf8000006, + 0xbb800800, + 0xf800008d, + 0xe0000049, + 0x34000000, + 0x34000000, + 0x5b810004, + 0x5b820008, + 0x5b83000c, + 0x5b840010, + 0x5b850014, + 0x5b860018, + 0x5b87001c, + 0x5b880020, + 0x5b890024, + 0x5b8a0028, + 0x5b8b002c, + 0x5b8c0030, + 0x5b8d0034, + 0x5b8e0038, + 0x5b8f003c, + 0x5b900040, + 0x5b910044, + 0x5b920048, + 0x5b93004c, + 0x5b940050, + 0x5b950054, + 0x5b960058, + 0x5b97005c, + 0x5b9a0068, + 0x5b9b006c, + 0x2b810078, + 0x5b810074, + 0x5b9e0078, + 0x5b9f007c, + 0xbb800800, + 0x34210080, + 0x5b810070, + 0x98210800, + 0xd0010000, + 0xc3a00000, + 0x5b810004, + 0x5b820008, + 0x5b83000c, + 0x5b840010, + 0x5b850014, + 0x5b860018, + 0x5b87001c, + 0x5b880020, + 0x5b890024, + 0x5b8a0028, + 0x5b8b002c, + 0x5b8c0030, + 0x5b8d0034, + 0x5b8e0038, + 0x5b8f003c, + 0x5b900040, + 0x5b910044, + 0x5b920048, + 0x5b93004c, + 0x5b940050, + 0x5b950054, + 0x5b960058, + 0x5b97005c, + 0x5b980060, + 0x5b990064, + 0x5b9a0068, + 0x5b9b006c, + 0x5b9e0078, + 0x5b9f007c, + 0x37810080, + 0x5b810070, + 0x78018000, + 0x38210394, + 0x583c0000, + 0xc3a00000, + 0x34010002, + 0xd0010000, + 0x2b810004, + 0x2b820008, + 0x2b83000c, + 0x2b840010, + 0x2b850014, + 0x2b860018, + 0x2b87001c, + 0x2b880020, + 0x2b890024, + 0x2b8a0028, + 0x2b8b002c, + 0x2b8c0030, + 0x2b8d0034, + 0x2b8e0038, + 0x2b8f003c, + 0x2b900040, + 0x2b910044, + 0x2b920048, + 0x2b93004c, + 0x2b940050, + 0x2b950054, + 0x2b960058, + 0x2b97005c, + 0x2b9a0068, + 0x2b9b006c, + 0x2b9d0074, + 0x2b9e0078, + 0x2b9f007c, + 0x2b9c0070, + 0x34000000, + 0xc3c00000, + 0x2b810004, + 0x2b820008, + 0x2b83000c, + 0x2b840010, + 0x2b850014, + 0x2b860018, + 0x2b87001c, + 0x2b880020, + 0x2b890024, + 0x2b8a0028, + 0x2b8b002c, + 0x2b8c0030, + 0x2b8d0034, + 0x2b8e0038, + 0x2b8f003c, + 0x2b900040, + 0x2b910044, + 0x2b920048, + 0x2b93004c, + 0x2b940050, + 0x2b950054, + 0x2b960058, + 0x2b97005c, + 0x2b980060, + 0x2b990064, + 0x2b9a0068, + 0x2b9b006c, + 0x2b9d0074, + 0x2b9e0078, + 0x2b9f007c, + 0x2b9c0070, + 0x34000000, + 0xc3e00000, + 0xe0000000, + 0xc3a00000, + 0x781c0003, + 0x3b9ceffc, + 0x781a0004, + 0x3b5a0da0, + 0x78010003, + 0x38218db0, + 0x78030003, + 0x38638e70, + 0x44230004, + 0x58200000, + 0x34210004, + 0xe3fffffd, + 0x98210800, + 0x98421000, + 0x98631800, + 0xf8000473, + 0xe0000027, + 0x379cff80, + 0x5b9d0078, + 0xfbffff63, + 0x78010003, + 0x382198d8, + 0x28230004, + 0x28220000, + 0x34630001, + 0x585c0000, + 0x58230004, + 0xf800008b, + 0xf80048d4, + 0x78010003, + 0x382198d8, + 0x28230004, + 0x28220000, + 0x3463ffff, + 0x28220000, + 0x58230004, + 0x285c0000, + 0xe3ffff97, + 0xd0000000, + 0x379cff80, + 0x5b9d0078, + 0xb81df000, + 0xfbffff4c, + 0x78010003, + 0x382198d8, + 0x28230004, + 0x28220000, + 0x34630001, + 0x585c0000, + 0x58230004, + 0xe3ffffea, + 0x379cfffc, + 0x5b9d0004, + 0xf80049d9, + 0xe0000000, + 0x99084000, + 0x39080001, + 0xac000007, + 0xe3fffffd, + 0x38080005, + 0xac000007, + 0xc3a00000, + 0x38080004, + 0xac000007, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x780cc020, + 0x780bc020, + 0x398c0080, + 0x396b0310, + 0x7801c020, + 0x38210134, + 0x34022000, + 0x34030001, + 0xf8001145, + 0x29830000, + 0x7801eeff, + 0x78021100, + 0x3821ffff, + 0x38420000, + 0xa0610800, + 0xa0621800, + 0x44600002, + 0x59810000, + 0x29610000, + 0x3402ffdf, + 0xa0221000, + 0x20210020, + 0x44200002, + 0x59620000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x78018000, + 0x38210008, + 0x34020001, + 0x58220000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0xe3ffffd2, + 0x379cfffc, + 0x5b9d0004, + 0x34020000, + 0x78010003, + 0x38218e94, + 0xf8004941, + 0xf8002804, + 0x7c210000, + 0x33010078, + 0x43010078, + 0x7c220000, + 0xe3fffff8, + 0x379cfffc, + 0x5b9d0004, + 0x78010003, + 0x34020000, + 0x38218ea0, + 0xf8004935, + 0xf80010bd, + 0xe3fffffb, + 0x379cfffc, + 0x5b9d0004, + 0x78010003, + 0x38218f30, + 0x34020000, + 0x58220024, + 0x58220020, + 0x78010003, + 0x34020000, + 0x38218e88, + 0xf8004928, + 0xf800382a, + 0xe3fffffb, + 0x379cfffc, + 0x5b9d0004, + 0x78010003, + 0x38218f58, + 0x34020000, + 0x58220024, + 0x58220020, + 0x78010003, + 0x34020000, + 0x38218e7c, + 0xf800491b, + 0xf800395a, + 0xe3fffffb, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x7803c020, + 0x38630080, + 0x28620000, + 0x78011100, + 0x38210000, + 0xb8411000, + 0x7804c020, + 0x58620000, + 0x38840310, + 0x28820000, + 0x7801c020, + 0x38210134, + 0x38420020, + 0x58820000, + 0x34022000, + 0x34030000, + 0xf80010d9, + 0x90405800, + 0x90200800, + 0xa02b0800, + 0x20210004, + 0x44200002, + 0xf8000686, + 0xd04b0000, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x7802e000, + 0x78010002, + 0x38423090, + 0x38210100, + 0x78050003, + 0x58410000, + 0x38a58e70, + 0x7804e000, + 0x38843094, + 0x34a5ffff, + 0x7806e000, + 0x78020002, + 0x58850000, + 0x38420000, + 0x78030003, + 0x38c63098, + 0x58c20000, + 0x3863f000, + 0x7801e000, + 0x3821309c, + 0x3463ffff, + 0x7802e000, + 0x58230000, + 0x384230a4, + 0x28410000, + 0x38210018, + 0x58410000, + 0xc3a00000, + 0xc3a00000, + 0x379cffac, + 0x5b8b003c, + 0x5b8c0038, + 0x5b8d0034, + 0x5b8e0030, + 0x5b8f002c, + 0x5b900028, + 0x5b910024, + 0x5b920020, + 0x5b93001c, + 0x5b940018, + 0x5b950014, + 0x5b960010, + 0x5b97000c, + 0x5b9b0008, + 0x5b9d0004, + 0x781dc010, + 0x3bbd0000, + 0x2ba54074, + 0x780100ff, + 0x38210000, + 0x00a80001, + 0x5b81004c, + 0x2ba54078, + 0x2b82004c, + 0x78017f00, + 0x2ba34078, + 0x38210000, + 0x3847ffff, + 0x00660001, + 0xb8271000, + 0x2ba3407c, + 0x3ca5001f, + 0x78048000, + 0x3c63001f, + 0x38840000, + 0xa0480800, + 0xa0641800, + 0xa0a42800, + 0xa0461000, + 0xb8250800, + 0xb8431000, + 0x00480018, + 0x00230008, + 0x00240010, + 0x00450008, + 0x00460010, + 0x00270018, + 0x781b0003, + 0x3b7b8c00, + 0x33630001, + 0x33680007, + 0x33610000, + 0x33640002, + 0x33670003, + 0x33650005, + 0x33660006, + 0x33620004, + 0x2b84004c, + 0x2ba240a0, + 0x7803ff00, + 0x38630000, + 0x3881ffff, + 0xb8610800, + 0x2ba540a4, + 0x5b830048, + 0xa0220800, + 0x00240018, + 0x00220008, + 0x00230010, + 0x33620009, + 0x3365000c, + 0x33610008, + 0x3363000a, + 0x3364000b, + 0x2ba340a4, + 0x2b86004c, + 0x78080003, + 0x00610008, + 0x38c2ffff, + 0x2ba340a8, + 0xa0411000, + 0x3908fa80, + 0x3c610018, + 0x2ba440a8, + 0x2b830048, + 0x5b880054, + 0x00840008, + 0xa0230800, + 0xb8411000, + 0x00410008, + 0x00450018, + 0x00430010, + 0x3361000e, + 0x3363000f, + 0x33650010, + 0x33640011, + 0x3362000d, + 0x2ba1407c, + 0x34060000, + 0x0f66001c, + 0x0021001c, + 0x0f66001e, + 0x20210001, + 0x33610012, + 0x2ba170c8, + 0x00210014, + 0x2021000f, + 0x33610013, + 0x2ba1407c, + 0x0022001d, + 0x2ba14080, + 0x3c210003, + 0x20210078, + 0xb8411000, + 0x33620014, + 0x2ba14080, + 0x00210004, + 0x2021007f, + 0x33610015, + 0x2ba14080, + 0x0021000b, + 0x20210007, + 0x33610016, + 0x2ba14080, + 0x0021000e, + 0x20210007, + 0x33610017, + 0x2ba14080, + 0x00210011, + 0x20210003, + 0x33610018, + 0x2ba14080, + 0x00210013, + 0x20210003, + 0x33610019, + 0x2ba1408c, + 0x00210015, + 0x202201ff, + 0x0f62001a, + 0x20410100, + 0x44260004, + 0x3401ff00, + 0xb8410800, + 0x0f61001a, + 0x2f62001c, + 0x20410100, + 0x44200004, + 0x3401ff00, + 0xb8410800, + 0x0f61001c, + 0x2f62001e, + 0x20410100, + 0x44200004, + 0x3401ff00, + 0xb8410800, + 0x0f61001e, + 0x34070000, + 0x33670026, + 0x33670027, + 0x2ba1408c, + 0x0f660034, + 0x0f660020, + 0x0022001e, + 0x0f660022, + 0x2ba14090, + 0x78160003, + 0x3ad6f000, + 0x3c210002, + 0x781700fc, + 0xb8220800, + 0x33610028, + 0x2ba24090, + 0x3af70000, + 0x3acd0fff, + 0x2ba14090, + 0x00420006, + 0x78083f00, + 0x00210012, + 0x204201ff, + 0x2021001f, + 0x33610029, + 0x2ba14090, + 0x0f620024, + 0x39080000, + 0x0021000f, + 0xbaed6800, + 0x20210007, + 0x3361002a, + 0x2ba14090, + 0xb90d6800, + 0x780c007c, + 0x00210017, + 0x3367002c, + 0x3367002d, + 0x3367002e, + 0x3367002f, + 0x33670030, + 0x33670031, + 0x3361002b, + 0x2ba340b8, + 0x398c0000, + 0x78040007, + 0x2ba140b4, + 0x00630008, + 0x3884c000, + 0x33670038, + 0x33670039, + 0x3367003a, + 0x3367003b, + 0x3367003c, + 0x3367003d, + 0x00210010, + 0x2ba240bc, + 0x0f630032, + 0x0f610036, + 0x0f62003e, + 0x2ba240bc, + 0x2b81004c, + 0x5b880044, + 0x00430018, + 0x3833ffff, + 0x2ba240c0, + 0x2b880048, + 0x38843fff, + 0x2ba140bc, + 0x3c420008, + 0x78050018, + 0x00210010, + 0xb8431000, + 0x33610042, + 0x2ba140c0, + 0x78030080, + 0x38630000, + 0x00210008, + 0x0f620040, + 0x33610043, + 0x2ba140b8, + 0x3ac20fff, + 0xb9826000, + 0x00210018, + 0xb840a800, + 0x33610044, + 0x2ba140c0, + 0x5b830040, + 0x38a50000, + 0x00210018, + 0x78060fe0, + 0x20210007, + 0x33610045, + 0x2ba140c0, + 0x38c60000, + 0x5b870050, + 0x00210010, + 0x7812001f, + 0x33610046, + 0x2ba140cc, + 0x3a52c000, + 0x3a523fff, + 0x00210015, + 0xb8d29000, + 0x33610047, + 0x2ba170d8, + 0xb9139800, + 0xba60a000, + 0x0022001f, + 0x2ba170dc, + 0x3c210001, + 0x33670049, + 0xb8220800, + 0x33610048, + 0x2ba140cc, + 0x0021001d, + 0x20210001, + 0x3361004a, + 0x2ba14090, + 0x0021001f, + 0x3361004b, + 0x2ba27080, + 0x0041000d, + 0x2ba27084, + 0xa0812000, + 0x3c410013, + 0xa0252800, + 0xa0260800, + 0xb8852000, + 0xb8812000, + 0x00830015, + 0x00810007, + 0x0082000e, + 0x2021007f, + 0x2042007f, + 0x2063007f, + 0x3361004d, + 0x3362004e, + 0x3363004f, + 0x3364004c, + 0x2ba17084, + 0x00210009, + 0x33670054, + 0x2021007f, + 0x33670055, + 0x33670056, + 0x33670057, + 0x33670058, + 0x33670059, + 0x3367005a, + 0x3367005b, + 0x3367005c, + 0x3367005d, + 0x3367005e, + 0x3367005f, + 0x33670060, + 0x33670061, + 0x33670062, + 0x33670063, + 0x33670051, + 0x33670052, + 0x33610050, + 0x2ba14094, + 0x2ba44094, + 0xa1a16800, + 0x01b10018, + 0x0085001e, + 0x01b00006, + 0x2ba44098, + 0x01ae000c, + 0x01af0012, + 0x2ba34098, + 0x3c840002, + 0x2210003f, + 0x0062001c, + 0x2081003c, + 0x2ba3409c, + 0xb8a12800, + 0x20810fc0, + 0x3c630004, + 0xb8a12800, + 0x20610030, + 0xb8411000, + 0x20610fc0, + 0xb8411000, + 0xa0960800, + 0xb8a12800, + 0xa0970800, + 0xb8a12800, + 0x2b810044, + 0xa0763000, + 0xb8461000, + 0xa0773000, + 0xa0812000, + 0xa0611800, + 0xb8461000, + 0xb8a42800, + 0xb8431000, + 0x00a30006, + 0x00a4000c, + 0x00a60012, + 0x00aa0018, + 0x00480006, + 0x0049000c, + 0x004b0012, + 0x2063003f, + 0x2084003f, + 0x00410018, + 0x21ce003f, + 0x21ef003f, + 0x2231003f, + 0x21ad003f, + 0x20c6003f, + 0x3363006a, + 0x3364006b, + 0x336d0064, + 0x33700065, + 0x336e0066, + 0x336f0067, + 0x33710068, + 0x3366006c, + 0x2108003f, + 0x2042003f, + 0x2021003f, + 0x214a003f, + 0x2129003f, + 0x216b003f, + 0x3368006f, + 0x33650069, + 0x336a006d, + 0x3362006e, + 0x33690070, + 0x336b0071, + 0x33610072, + 0x2ba1409c, + 0x0021001a, + 0x33610073, + 0x2ba140b8, + 0x33610081, + 0x2ba140b4, + 0x00210008, + 0x33670053, + 0x33610080, + 0x2ba26000, + 0x2b84004c, + 0x2b860048, + 0x00410018, + 0x2ba26004, + 0x3c420008, + 0x2043ff00, + 0xb8230800, + 0xa0441800, + 0xa0461000, + 0xb8230800, + 0xb8220800, + 0x00240018, + 0x00220008, + 0x00230010, + 0x33640077, + 0x33630076, + 0x33620075, + 0x33610074, + 0x2ba16008, + 0x2ba2600c, + 0xa2619800, + 0x02650018, + 0xa282a000, + 0x02860018, + 0x02610008, + 0x02620010, + 0x02830008, + 0x02840010, + 0x3362007a, + 0x3365007b, + 0x3363007d, + 0x3364007e, + 0x3366007f, + 0x33610079, + 0x33730078, + 0x3374007c, + 0x2ba16014, + 0x00210008, + 0x20210001, + 0x33610099, + 0x2ba16020, + 0x2b880044, + 0x2ba37044, + 0x00210003, + 0x00620019, + 0x202103ff, + 0x2ba37048, + 0x0f610082, + 0x2ba47048, + 0x3c630007, + 0x00850017, + 0x20610f80, + 0x2ba4704c, + 0xb8411000, + 0xa0760800, + 0xb8411000, + 0xa0770800, + 0x3c840009, + 0xb8411000, + 0xa0681800, + 0x20810e00, + 0xb8431000, + 0xb8a12800, + 0xa0962000, + 0x00410006, + 0x00470018, + 0x0043000c, + 0xb8a42800, + 0x2046003f, + 0x00a8000c, + 0x00a40006, + 0x00420012, + 0x2021003f, + 0x2063003f, + 0x2042003f, + 0x20e7003f, + 0x2084003f, + 0x2108003f, + 0x20a5003f, + 0x33610085, + 0x33670088, + 0x33650089, + 0x3368008b, + 0x33660084, + 0x33630086, + 0x33620087, + 0x3364008a, + 0x2ba3704c, + 0x2b840040, + 0x2b860044, + 0x00610009, + 0x2ba37050, + 0xa1816000, + 0x2ba27050, + 0x3c610017, + 0x00420007, + 0xa0241800, + 0xa0260800, + 0xb9836000, + 0xb9816000, + 0xa2a2a800, + 0x01850018, + 0x02a6000c, + 0x01810006, + 0x0182000c, + 0x01830012, + 0x02a40006, + 0x2021003f, + 0x2042003f, + 0x2063003f, + 0x20a5003f, + 0x2084003f, + 0x20c6003f, + 0x218c003f, + 0x22b5003f, + 0x3362008e, + 0x3363008f, + 0x33650090, + 0x33640092, + 0x33660093, + 0x336c008c, + 0x3361008d, + 0x33750091, + 0x2ba17060, + 0x00210001, + 0x3361009a, + 0x2ba1707c, + 0xa2419000, + 0x02410007, + 0x0242000e, + 0x02430015, + 0x2021007f, + 0x2042007f, + 0x2063007f, + 0x33610095, + 0x33620096, + 0x33630097, + 0x33720094, + 0x2ba1707c, + 0x0022001c, + 0x2ba17080, + 0x3c210004, + 0x20210070, + 0xb8411000, + 0x33620098, + 0x2ba240ac, + 0x00440018, + 0x2ba240b0, + 0x2ba340b0, + 0x3c420008, + 0x2ba170d0, + 0x00630008, + 0xb8441000, + 0x00210002, + 0x0f63009e, + 0x2021000f, + 0x3361009b, + 0x2ba34004, + 0x0f62009c, + 0x2b88004c, + 0x0061001d, + 0x2ba34008, + 0x3c630003, + 0x206200f8, + 0xb8220800, + 0x2062ff00, + 0xb8220800, + 0xa0681000, + 0xb8220800, + 0x2b820048, + 0xa0621800, + 0xb8230800, + 0x00240018, + 0x00220008, + 0x00230010, + 0x336200a1, + 0x336300a2, + 0x336400a3, + 0x336100a0, + 0x2ba1407c, + 0x00210014, + 0x336100a4, + 0x2ba140a8, + 0x00220010, + 0x2ba140ac, + 0x3c210010, + 0xa0281800, + 0xb8431000, + 0x2b830048, + 0xa0230800, + 0xb8411000, + 0x00440018, + 0x00410008, + 0x00430010, + 0x336400a8, + 0x336300a7, + 0x336200a5, + 0x336100a6, + 0x2ba140ac, + 0x00210010, + 0x336100a9, + 0x2ba17040, + 0x00210004, + 0x336100aa, + 0x2ba1408c, + 0x00210002, + 0x20210001, + 0x336100ab, + 0x2ba37050, + 0x00610019, + 0x2ba37054, + 0x2ba67054, + 0x3c630007, + 0x00c50017, + 0x20620f80, + 0x2ba67058, + 0xb8220800, + 0xa0762000, + 0x3cc20009, + 0xb8240800, + 0x2b860044, + 0x20440e00, + 0xa077b800, + 0xa0661800, + 0xb8a42800, + 0xa0561000, + 0xb8370800, + 0xb8230800, + 0xb8a22800, + 0x00270018, + 0x00a8000c, + 0x00220006, + 0x0023000c, + 0x00240012, + 0x00a60006, + 0x2042003f, + 0x2063003f, + 0x2084003f, + 0x2021003f, + 0x20e7003f, + 0x20c6003f, + 0x2108003f, + 0x20a5003f, + 0x336200ad, + 0x336300ae, + 0x336400af, + 0x336100ac, + 0x336700b0, + 0x336500b1, + 0x336600b2, + 0x336800b3, + 0x2ba140cc, + 0x0021000d, + 0x336100b4, + 0x2ba1408c, + 0x00210005, + 0x336100b5, + 0x2ba1408c, + 0x0021000d, + 0x336100b6, + 0x2ba140c8, + 0x0021000b, + 0x336100b7, + 0x2ba140c8, + 0x00210003, + 0x336100b8, + 0x2ba14070, + 0x00210011, + 0x336100b9, + 0x2ba140c8, + 0x0022001b, + 0x2ba140cc, + 0x3c210005, + 0xb8220800, + 0x336100ba, + 0x2ba140c0, + 0x0022001b, + 0x2ba140c4, + 0x3c210005, + 0xb8220800, + 0x336100bb, + 0x2ba140c8, + 0x00210013, + 0x336100bc, + 0x2ba140c4, + 0x00210003, + 0x336100bd, + 0x2ba14070, + 0x00220019, + 0x2ba14074, + 0x3c210007, + 0xb8220800, + 0x336100be, + 0x2ba140c4, + 0x0021000b, + 0x336100bf, + 0x2ba24088, + 0x00440019, + 0x2ba2408c, + 0x2ba3705c, + 0x3c420007, + 0x2ba17044, + 0x20420180, + 0xb8822000, + 0x00210010, + 0x00630005, + 0x20210007, + 0x336100c4, + 0x2ba140c4, + 0x0f6400c0, + 0x0f6300c2, + 0x00220013, + 0x2ba140c8, + 0x3c21000d, + 0xb8220800, + 0x0f6100c6, + 0x2b880050, + 0x3d020002, + 0xb45b0800, + 0x28230000, + 0x35080001, + 0x5b880050, + 0x2b810054, + 0xb4411000, + 0x75010031, + 0x58430000, + 0x4420fff6, + 0x2b8b003c, + 0x2b8c0038, + 0x2b8d0034, + 0x2b8e0030, + 0x2b8f002c, + 0x2b900028, + 0x2b910024, + 0x2b920020, + 0x2b93001c, + 0x2b940018, + 0x2b950014, + 0x2b960010, + 0x2b97000c, + 0x2b9b0008, + 0x2b9d0004, + 0x379c0054, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0xf8004681, + 0x780b0003, + 0x34040000, + 0x396beffc, + 0x78010003, + 0x3563fc00, + 0xb8802800, + 0xb8803000, + 0x34020003, + 0x38218ee0, + 0xf800464f, + 0x356bfbfc, + 0x78010003, + 0x78050002, + 0x3563ff00, + 0xb9602000, + 0x34020007, + 0x34060000, + 0x38218eb8, + 0x38a5052c, + 0x780cc00c, + 0xf8004644, + 0x398c0000, + 0x29820000, + 0x78010100, + 0x38210000, + 0xa0411000, + 0x00460018, + 0x356bfefc, + 0x5cc0000a, + 0x78010003, + 0x78050003, + 0x3563fc00, + 0xb9602000, + 0x38218f80, + 0x38a57214, + 0x34020006, + 0xf8004634, + 0x356bfbfc, + 0x78010003, + 0x78050002, + 0x3563fe00, + 0xb9602000, + 0x38a50608, + 0x34020004, + 0x34060000, + 0x38218f08, + 0xf800462a, + 0x356bfdfc, + 0x78010003, + 0x78050002, + 0x3563fe00, + 0xb9602000, + 0x38a50658, + 0x34020002, + 0x34060000, + 0x38218f30, + 0xf8004620, + 0x356bfdfc, + 0x78010003, + 0x78050002, + 0x34020001, + 0x3563fe00, + 0x38218f58, + 0xb9602000, + 0x38a5068c, + 0x34060000, + 0xf8004616, + 0x29830000, + 0x78020003, + 0x78010003, + 0x384298d8, + 0x38218ee0, + 0x58410000, + 0x20630002, + 0x5c60000a, + 0x78010002, + 0x382102fc, + 0xb7211800, + 0x28620000, + 0x7801ffef, + 0x3821ffff, + 0x38420010, + 0xa0411000, + 0x58620000, + 0x78038000, + 0x78018000, + 0x38630180, + 0x38210040, + 0x78028000, + 0x58610000, + 0x3842000c, + 0x28410000, + 0x78048000, + 0x38840100, + 0x34010004, + 0x58410000, + 0x28810000, + 0x7803bfff, + 0x3863ffff, + 0xa0230800, + 0x78028000, + 0x58810000, + 0x38420110, + 0x28410000, + 0xa0230800, + 0x58410000, + 0xf800467d, + 0xf8000334, + 0xf8001b4b, + 0x7803c020, + 0x38630000, + 0x28620000, + 0x7801fffe, + 0x3821ffff, + 0xa0411000, + 0x58620000, + 0xfbfffc9e, + 0x34010000, + 0xb8201000, + 0xb8201800, + 0xb8202800, + 0xb8203000, + 0xb8203800, + 0x34040037, + 0xf80046e0, + 0x34010000, + 0xb8202800, + 0xb8203000, + 0xb8203800, + 0xb8201000, + 0xb8201800, + 0x34040037, + 0xf8004719, + 0x78010003, + 0x3821f900, + 0x28230000, + 0x28220004, + 0x88431000, + 0x34010000, + 0x34030064, + 0x34420032, + 0x8c431000, + 0xf800467f, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x78018000, + 0x34030001, + 0x3821001c, + 0x78028000, + 0x58230000, + 0x38420024, + 0x58430000, + 0x78018000, + 0x3821003c, + 0x78028000, + 0x58230000, + 0x38420044, + 0x58430000, + 0x78018000, + 0x3821004c, + 0x78028000, + 0x58230000, + 0x38420054, + 0x58430000, + 0x78018000, + 0x3821005c, + 0x78028000, + 0x58230000, + 0x38420064, + 0x58430000, + 0x7801c210, + 0x38210004, + 0x34020003, + 0x58220000, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x78180003, + 0x3b188fa8, + 0xfbfffc3e, + 0x780b0003, + 0xb9601000, + 0x3842f800, + 0x34010000, + 0x58410000, + 0xd0010000, + 0xd0210000, + 0xfbffff3c, + 0xf800044f, + 0x7801c00c, + 0x38210000, + 0x28220000, + 0x78010100, + 0x38210000, + 0xa0411000, + 0x00420018, + 0x5c400002, + 0xf800571c, + 0x78010003, + 0x78020003, + 0x3821ec00, + 0x3842edfc, + 0xf8003130, + 0x34010004, + 0xd0210000, + 0x34010001, + 0xd0010000, + 0xfbffffc1, + 0x396bf800, + 0x34010001, + 0x59610000, + 0x34010000, + 0xfbfffbdc, + 0x34010000, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0xb8202000, + 0x6821001f, + 0x78030003, + 0x78068000, + 0x78078000, + 0x5c20000c, + 0x90002800, + 0x34010000, + 0xd0010000, + 0x386398d8, + 0x28620034, + 0x34010001, + 0xbc240800, + 0xb8411000, + 0x58620034, + 0xd0050000, + 0xe000000b, + 0x90002800, + 0x34010000, + 0xd0010000, + 0x386398d8, + 0x28620038, + 0x34010001, + 0xbc240800, + 0xb8411000, + 0x58620038, + 0xd0050000, + 0x90002800, + 0x34010000, + 0xd0010000, + 0x78020003, + 0x384298d8, + 0x28440000, + 0x28410034, + 0x38c68000, + 0x28830020, + 0x38e78004, + 0xa0230800, + 0x58c10000, + 0x28410038, + 0x28820024, + 0xa0220800, + 0x58e10000, + 0xd0050000, + 0xc3a00000, + 0xb8201000, + 0x6821001f, + 0x78030003, + 0x78068000, + 0x78078000, + 0x5c20000d, + 0x90002800, + 0x34010000, + 0xd0010000, + 0x34010001, + 0xbc220800, + 0x386398d8, + 0x28620034, + 0xa4200800, + 0xa0411000, + 0x58620034, + 0xd0050000, + 0xe000000c, + 0x90002800, + 0x34010000, + 0xd0010000, + 0x34010001, + 0xbc220800, + 0x386398d8, + 0x28620038, + 0xa4200800, + 0xa0411000, + 0x58620038, + 0xd0050000, + 0x90002800, + 0x34010000, + 0xd0010000, + 0x78020003, + 0x384298d8, + 0x28440000, + 0x28410034, + 0x38c68000, + 0x28830020, + 0x38e78004, + 0xa0230800, + 0x58c10000, + 0x28410038, + 0x28820024, + 0xa0220800, + 0x58e10000, + 0xd0050000, + 0xc3a00000, + 0x90002800, + 0x34010000, + 0xd0010000, + 0x78020003, + 0x384298d8, + 0x34030000, + 0x28440000, + 0x78018000, + 0x58430038, + 0x58430034, + 0x38218000, + 0x58230000, + 0x28420038, + 0x28830024, + 0x78018000, + 0x38218004, + 0xa0431000, + 0x58220000, + 0xd0050000, + 0xc3a00000, + 0x90001800, + 0x34020000, + 0xd0020000, + 0x28240000, + 0x78020003, + 0x384298d8, + 0x58440034, + 0x28210004, + 0x58410038, + 0xd0030000, + 0xc3a00000, + 0xb8202000, + 0x6821001f, + 0x78030003, + 0x78068000, + 0x78078000, + 0x5c20000d, + 0x90002800, + 0x34010000, + 0xd0010000, + 0x386398d8, + 0x28630000, + 0x34020001, + 0xbc441000, + 0x28610020, + 0xb8220800, + 0x58610020, + 0xd0050000, + 0xe000000c, + 0x90002800, + 0x34010000, + 0xd0010000, + 0x386398d8, + 0x28630000, + 0x34020001, + 0xbc441000, + 0x28610024, + 0xb8220800, + 0x58610024, + 0xd0050000, + 0x90002800, + 0x34010000, + 0xd0010000, + 0x78020003, + 0x384298d8, + 0x28440000, + 0x28410034, + 0x38c68000, + 0x28830020, + 0x38e78004, + 0xa0230800, + 0x58c10000, + 0x28410038, + 0x28820024, + 0xa0220800, + 0x58e10000, + 0xd0050000, + 0xc3a00000, + 0xb8201000, + 0x6821001f, + 0x78030003, + 0x78068000, + 0x78078000, + 0x5c20000e, + 0x90002800, + 0x34010000, + 0xd0010000, + 0x386398d8, + 0x28630000, + 0x34010001, + 0xbc220800, + 0x28620020, + 0xa4200800, + 0xa0411000, + 0x58620020, + 0xd0050000, + 0xe000000d, + 0x90002800, + 0x34010000, + 0xd0010000, + 0x386398d8, + 0x28630000, + 0x34010001, + 0xbc220800, + 0x28620024, + 0xa4200800, + 0xa0411000, + 0x58620024, + 0xd0050000, + 0x90002800, + 0x34010000, + 0xd0010000, + 0x78020003, + 0x384298d8, + 0x28440000, + 0x28410034, + 0x38c68000, + 0x28830020, + 0x38e78004, + 0xa0230800, + 0x58c10000, + 0x28410038, + 0x28820024, + 0xa0220800, + 0x58e10000, + 0xd0050000, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x78010003, + 0x38218ea0, + 0xf80043fa, + 0xf80043a6, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x7802c210, + 0x34040001, + 0x38420004, + 0x7801c210, + 0x58440000, + 0x38210000, + 0x28220000, + 0x34030000, + 0x78010001, + 0x3821fffe, + 0xa0411000, + 0x80441000, + 0x7801c210, + 0x5b02006c, + 0x3821003c, + 0x28220000, + 0x5b020070, + 0x33040074, + 0x78010003, + 0x33030075, + 0x38218e94, + 0xf80043de, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x78010003, + 0x38218e88, + 0xf80043d6, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x78010003, + 0x38218e7c, + 0xf80043ce, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfff0, + 0x5b8b0010, + 0x5b8c000c, + 0x5b8d0008, + 0x5b9d0004, + 0x78010003, + 0x3821f300, + 0x28220000, + 0x78010008, + 0x38210000, + 0xa0411000, + 0x004b0013, + 0x65610001, + 0x44200051, + 0xf80046b9, + 0xb8206000, + 0xf80046ce, + 0x01810011, + 0x34030000, + 0x20210001, + 0xe4230800, + 0xb8602000, + 0xb8606800, + 0x5c230006, + 0x78010003, + 0x38218de0, + 0x302b0012, + 0xb9606800, + 0xb9602000, + 0x21814000, + 0x4420000b, + 0x78010003, + 0x38218de0, + 0x78020003, + 0x302b0010, + 0x3842f320, + 0x28410000, + 0x38840002, + 0xb9601800, + 0x38210040, + 0x58410000, + 0x21812000, + 0x4420000d, + 0x78010003, + 0x38218de0, + 0x34020000, + 0x78030003, + 0x30220010, + 0x3863f320, + 0x28610000, + 0x3402ffbf, + 0x38840004, + 0xa0220800, + 0x58610000, + 0x34030000, + 0x78010003, + 0x3821f320, + 0x28210000, + 0x20210080, + 0x44200007, + 0x78020050, + 0x38420000, + 0x7801c020, + 0xb8821000, + 0x3821012c, + 0x58220000, + 0x44600004, + 0x78010003, + 0x38218eac, + 0xf8004385, + 0x45a0000f, + 0x78030003, + 0x38638de0, + 0x40610015, + 0x4420000b, + 0x40620010, + 0x34010000, + 0x30610012, + 0x306b0013, + 0x306b000f, + 0x30610015, + 0x44410004, + 0x78010003, + 0x38218eac, + 0xf8004376, + 0x34010001, + 0x3301007b, + 0x3c21001a, + 0x78028000, + 0x38428000, + 0x58410050, + 0x34010000, + 0x34022800, + 0xf80045d2, + 0x2b8b0010, + 0x2b8c000c, + 0x2b8d0008, + 0x2b9d0004, + 0x379c0010, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x78010003, + 0x3821f300, + 0x28220000, + 0x78010010, + 0x38210000, + 0xa0411000, + 0x004b0014, + 0x65610001, + 0x4420004f, + 0xf8004662, + 0xb8201800, + 0x00210011, + 0x34040000, + 0x20210001, + 0xe4240800, + 0xb8802800, + 0xb8806000, + 0x5c240006, + 0x78010003, + 0x38218de0, + 0x302b0012, + 0xb9606000, + 0xb9602800, + 0x20614000, + 0x4420000b, + 0x78010003, + 0x38218de0, + 0x78020003, + 0x302b0010, + 0x3842f320, + 0x28410000, + 0x38a50002, + 0xb9602000, + 0x38210040, + 0x58410000, + 0x20612000, + 0x4420000d, + 0x78010003, + 0x38218de0, + 0x34020000, + 0x78030003, + 0x30220010, + 0x3863f320, + 0x28610000, + 0x3402ffbf, + 0x38a50004, + 0xa0220800, + 0x58610000, + 0x34040000, + 0x78010003, + 0x3821f320, + 0x28210000, + 0x20210080, + 0x44200007, + 0x78020060, + 0x38420000, + 0x7801c020, + 0xb8a21000, + 0x3821012c, + 0x58220000, + 0x44800004, + 0x78010003, + 0x38218eac, + 0xf8004323, + 0x4580000f, + 0x78030003, + 0x38638de0, + 0x40610015, + 0x4420000b, + 0x40620010, + 0x34010000, + 0x30610012, + 0x306b0014, + 0x306b000f, + 0x30610015, + 0x44410004, + 0x78010003, + 0x38218eac, + 0xf8004314, + 0x34010001, + 0x78028000, + 0x3c240019, + 0x38428000, + 0x3301007b, + 0x58440050, + 0x34022800, + 0xf8004588, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x78030003, + 0x38638de0, + 0x40620016, + 0x34050001, + 0x34040000, + 0x3401003c, + 0x44440007, + 0x30640016, + 0x3065000f, + 0xfbfffe4f, + 0x78010003, + 0x38218eac, + 0xf80042f8, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x78018000, + 0x38210018, + 0x28220000, + 0x34030000, + 0x78018000, + 0x5b020000, + 0x38210068, + 0x28210000, + 0x34020001, + 0x5b010004, + 0x33020008, + 0x78010003, + 0x33030009, + 0x38218e94, + 0xf80042e4, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x78018000, + 0x38210020, + 0x28220000, + 0x34030000, + 0x78018000, + 0x5b02000c, + 0x3821006c, + 0x28210000, + 0x34020001, + 0x5b010010, + 0x33020014, + 0x78010003, + 0x33030015, + 0x38218e94, + 0xf80042d0, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x78018000, + 0x38210038, + 0x28220000, + 0x34030000, + 0x78018000, + 0x5b020018, + 0x38210070, + 0x28210000, + 0x34020001, + 0x5b01001c, + 0x33020020, + 0x78010003, + 0x33030021, + 0x38218e94, + 0xf80042bc, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x78018000, + 0x38210040, + 0x28220000, + 0x34030000, + 0x78018000, + 0x5b020024, + 0x38210074, + 0x28210000, + 0x34020001, + 0x5b010028, + 0x3302002c, + 0x78010003, + 0x3303002d, + 0x38218e94, + 0xf80042a8, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x78018000, + 0x38210048, + 0x28220000, + 0x34030000, + 0x78018000, + 0x5b020030, + 0x38210078, + 0x28210000, + 0x34020001, + 0x5b010034, + 0x33020038, + 0x78010003, + 0x33030039, + 0x38218e94, + 0xf8004294, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x78018000, + 0x38210050, + 0x28220000, + 0x34030000, + 0x78018000, + 0x5b02003c, + 0x3821007c, + 0x28210000, + 0x34020001, + 0x5b010040, + 0x33020044, + 0x78010003, + 0x33030045, + 0x38218e94, + 0xf8004280, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x78018000, + 0x38210058, + 0x28220000, + 0x34030000, + 0x78018000, + 0x5b020048, + 0x38210080, + 0x28210000, + 0x34020001, + 0x5b01004c, + 0x33020050, + 0x78010003, + 0x33030051, + 0x38218e94, + 0xf800426c, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x78018000, + 0x38210060, + 0x28220000, + 0x34030000, + 0x78018000, + 0x5b020054, + 0x38210084, + 0x28210000, + 0x34020001, + 0x5b010058, + 0x3302005c, + 0x78010003, + 0x3303005d, + 0x38218e94, + 0xf8004258, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x78018000, + 0x38210120, + 0x28220000, + 0x34030001, + 0x78018000, + 0x5b020060, + 0x38210140, + 0x28220000, + 0x78010003, + 0x5b020064, + 0x33030068, + 0x38218e94, + 0xf8004246, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfff0, + 0x5b8b0010, + 0x5b8c000c, + 0x5b8d0008, + 0x5b9d0004, + 0x78018000, + 0x38218000, + 0x28210058, + 0x5c20001c, + 0x780c8000, + 0xb9806800, + 0x39ad8000, + 0x29ab005c, + 0x78018000, + 0x38210430, + 0x582b0000, + 0x3d630002, + 0x78020003, + 0x384289cc, + 0x34010000, + 0xb4621800, + 0x3301007b, + 0x28610000, + 0xd8200000, + 0x4301007b, + 0x6963001f, + 0x5c200007, + 0x34010001, + 0xbc2b1000, + 0x5c600003, + 0x59a20050, + 0xe0000002, + 0x59a20054, + 0x398c8000, + 0x29810058, + 0xe3ffffe5, + 0x2b8b0010, + 0x2b8c000c, + 0x2b8d0008, + 0x2b9d0004, + 0x379c0010, + 0xc3a00000, + 0x379cfff0, + 0x5b8b0010, + 0x5b8c000c, + 0x5b8d0008, + 0x5b9d0004, + 0x780d0003, + 0xb9a01000, + 0x3842899c, + 0x10410000, + 0x340b0000, + 0x6421ffff, + 0x5c2b0014, + 0xb8406000, + 0xb9a00800, + 0xb56b1800, + 0x3821899c, + 0xb4611800, + 0x10610000, + 0x78028000, + 0x38428000, + 0xb5621000, + 0x30410010, + 0x10620001, + 0x358c0002, + 0x356b0001, + 0x7c420001, + 0x5c400002, + 0xfbfffd24, + 0x11810000, + 0x6421ffff, + 0x4420ffef, + 0x2b8b0010, + 0x2b8c000c, + 0x2b8d0008, + 0x2b9d0004, + 0x379c0010, + 0xc3a00000, + 0x379cfff0, + 0x5b8b0010, + 0x5b8c000c, + 0x5b8d0008, + 0x5b9d0004, + 0xb8206800, + 0x44200029, + 0x780b0003, + 0x34010190, + 0x502d0008, + 0x396bf900, + 0x29620004, + 0xb5a20800, + 0x3421ffff, + 0x8c220800, + 0xf80041c1, + 0xe000001f, + 0xf800435d, + 0xb9604800, + 0x3929f900, + 0x29250000, + 0x34080064, + 0xb8402000, + 0x89a52800, + 0xb8201800, + 0x34060000, + 0x34a50032, + 0x8ca82800, + 0xb4660800, + 0xb4451000, + 0xf4822800, + 0xb8406000, + 0xb4a12800, + 0xb8a05800, + 0x34010009, + 0x502d0007, + 0x29220004, + 0x35a1fffa, + 0x00430001, + 0xb4230800, + 0x8c220800, + 0xf80041a7, + 0xf8004344, + 0xb8201800, + 0x5563fffe, + 0x5d630002, + 0x5582fffc, + 0x2b8b0010, + 0x2b8c000c, + 0x2b8d0008, + 0x2b9d0004, + 0x379c0010, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x78020003, + 0x3842f900, + 0x28420000, + 0x88220800, + 0x34020064, + 0x34210032, + 0x8c220800, + 0xf8004340, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x206300ff, + 0x88431000, + 0x88231800, + 0x00420008, + 0x00630008, + 0xb4220800, + 0xc8230800, + 0xc3a00000, + 0x88432800, + 0x88230800, + 0xbc441000, + 0xc8451000, + 0xb4220800, + 0x80240800, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0xf800431b, + 0x78050003, + 0x38a58db0, + 0x58a20000, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfff0, + 0x5b8b0008, + 0x5b9d0004, + 0x780b0003, + 0x396b8db0, + 0x29610000, + 0x780241c6, + 0x38424e6d, + 0x3783000c, + 0xf8003931, + 0x2b810010, + 0x34213039, + 0x59610000, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0010, + 0xc3a00000, + 0x379cffec, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x202cffff, + 0x204bffff, + 0xb9800800, + 0x516c000c, + 0xfbffffe7, + 0x00220010, + 0x37830010, + 0xb56b0800, + 0x34210001, + 0x3c210010, + 0xf800391b, + 0x2b820010, + 0xc98b0800, + 0xb4220800, + 0x2021ffff, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c0014, + 0xc3a00000, + 0x202400ff, + 0x7c850000, + 0x5ca00017, + 0x7801c050, + 0x382100ac, + 0x28210000, + 0x7802c050, + 0x384200a4, + 0x2021007f, + 0x33010124, + 0x28410000, + 0xb8801800, + 0x2021007f, + 0x7802c050, + 0x33010123, + 0x3842009c, + 0x28410000, + 0x7802c050, + 0x2021007f, + 0x33010122, + 0x384200e4, + 0x28410000, + 0x2021007f, + 0x33010120, + 0xe0000003, + 0x43010124, + 0x2023007f, + 0x7801c050, + 0x382100ac, + 0x7802c050, + 0x58230000, + 0x384200b0, + 0x28410000, + 0x20210001, + 0x4420fffe, + 0xb8801800, + 0x44a00003, + 0x43010123, + 0x2023007f, + 0x7801c050, + 0x382100a4, + 0x7802c050, + 0x58230000, + 0x384200a8, + 0x28410000, + 0x20210001, + 0x4420fffe, + 0xb8801800, + 0x44a00003, + 0x43010122, + 0x2023007f, + 0x7801c050, + 0x3821009c, + 0x7802c050, + 0x58230000, + 0x384200a0, + 0x28410000, + 0x20210001, + 0x4420fffe, + 0xb8801800, + 0x44a00003, + 0x43010120, + 0x2023007f, + 0x7801c050, + 0x382100e4, + 0x7802c050, + 0x58230000, + 0x384200e8, + 0x28410000, + 0x20210001, + 0x4420fffe, + 0xc3a00000, + 0x208400ff, + 0x5041000e, + 0x40a20001, + 0x34010000, + 0x30a10000, + 0x5c410007, + 0x40a20002, + 0x30a40001, + 0x74410006, + 0x5c20001b, + 0x34410001, + 0xe000000d, + 0x3441ffff, + 0x30a10001, + 0xc3a00000, + 0x40a20000, + 0x5023000d, + 0x34010000, + 0x30a10001, + 0x5c410007, + 0x40a10002, + 0x30a40000, + 0x4420000e, + 0x3421ffff, + 0x30a10002, + 0xc3a00000, + 0x3441ffff, + 0x30a10000, + 0xc3a00000, + 0x44400003, + 0x3441ffff, + 0x30a10000, + 0x40a10001, + 0x44200003, + 0x3421ffff, + 0x30a10001, + 0xc3a00000, + 0x208400ff, + 0x5041000e, + 0x40a20001, + 0x34010000, + 0x30a10000, + 0x5c410005, + 0x34010002, + 0x30a10003, + 0x30a40001, + 0xc3a00000, + 0x3442ffff, + 0x34010001, + 0x30a10003, + 0x30a20001, + 0xc3a00000, + 0x50230005, + 0x34010000, + 0x30a10003, + 0x30a10001, + 0xc3a00000, + 0x40a10000, + 0x44200003, + 0x3421ffff, + 0x30a10000, + 0x40a10001, + 0x44200003, + 0x3421ffff, + 0x30a10001, + 0x34010001, + 0x30a10003, + 0xc3a00000, + 0xb8201800, + 0xb8400800, + 0x50430002, + 0xb8600800, + 0xc3a00000, + 0xb8201800, + 0xb8400800, + 0x4c430002, + 0xb8600800, + 0xc3a00000, + 0x08220019, + 0x34011838, + 0xc8220800, + 0xc3a00000, + 0x379cfff4, + 0x5b9d0004, + 0x2f020240, + 0x34040010, + 0x34030000, + 0x2f010242, + 0x2042ffff, + 0x2021ffff, + 0x54410002, + 0x34030001, + 0xb4630800, + 0xb4380800, + 0x2c210240, + 0x2f0202b2, + 0x2021ffff, + 0x2f0302b0, + 0x2042ffff, + 0x2063ffff, + 0xfbffff1b, + 0x0f0102b2, + 0x430102b5, + 0x3804fd71, + 0x37850008, + 0x33810008, + 0x430102b6, + 0x33810009, + 0x2f0102b2, + 0x2f0202ee, + 0x2021ffff, + 0x2f0302ee, + 0x2042ffff, + 0x2063ffff, + 0x88641800, + 0x430402b7, + 0x14630010, + 0x208400ff, + 0xfbffffaf, + 0x43810008, + 0x330102b5, + 0x43810009, + 0x330102b6, + 0x4381000b, + 0x330106e4, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x78010003, + 0x34060000, + 0x3821f818, + 0x58260000, + 0x78070003, + 0x38e7fdd0, + 0x78010003, + 0x58e60000, + 0x3821fdd4, + 0x58260000, + 0x78020003, + 0x3842fdcc, + 0x78010003, + 0x58460000, + 0x3821fdc8, + 0x78050003, + 0x78030001, + 0x58260000, + 0x38630501, + 0x38a5f820, + 0x78040003, + 0x78020101, + 0x58a30000, + 0x38420101, + 0x3884f824, + 0x78010003, + 0x58820000, + 0x3821f82c, + 0x58220000, + 0x78010003, + 0x58e60000, + 0x3821f808, + 0x58260000, + 0x78020003, + 0x3842f99c, + 0x78010003, + 0x58460000, + 0x3821f9e8, + 0x78030003, + 0x58260000, + 0x3863f9ec, + 0x78020003, + 0x58660000, + 0x3842f9f0, + 0x78040003, + 0x58460000, + 0x38848b20, + 0x78010003, + 0x28830000, + 0x3821fa04, + 0x3402ffff, + 0x58220000, + 0x34010008, + 0x586100c0, + 0x340103ff, + 0x586100a4, + 0x3401fc00, + 0x586100a8, + 0x34010003, + 0x586100ac, + 0x3401000a, + 0x586100b0, + 0x34010400, + 0x586100b4, + 0x34010007, + 0x586100b8, + 0x340100ff, + 0x7804c020, + 0x586100bc, + 0x586600a0, + 0x38840088, + 0x28810000, + 0x3402ffc7, + 0x7803c020, + 0xa0220800, + 0x38210028, + 0x58810000, + 0x38630024, + 0x7802c050, + 0x58660000, + 0x384200dc, + 0x7801c050, + 0x58460000, + 0x38210100, + 0x58260000, + 0xc3a00000, + 0x2b0206c4, + 0x78040003, + 0x3884f004, + 0x2b0106e0, + 0xc8411000, + 0x5b0206c8, + 0x2b0206c8, + 0x3c410003, + 0xb4220800, + 0xb4220800, + 0x5b0106c8, + 0x2b0206c8, + 0x34010000, + 0x4c22000d, + 0x430106e4, + 0x5c20000f, + 0x430106e7, + 0x5c20000d, + 0x430106e6, + 0x5c20000b, + 0x430106e5, + 0x5c200009, + 0x430106fe, + 0x5c200007, + 0x430106fb, + 0x5c200005, + 0x2b0106cc, + 0x2b0206c8, + 0xb4220800, + 0x5b0106cc, + 0x2b0106cc, + 0x28820008, + 0x4c220002, + 0xe0000004, + 0x2b0106cc, + 0x28820004, + 0x4c410002, + 0x5b0206cc, + 0x28830000, + 0x2b0106cc, + 0x78028000, + 0x28840014, + 0x94230800, + 0x38420418, + 0xb4240800, + 0x5b0106d0, + 0x2b0106d0, + 0x58410000, + 0xc3a00000, + 0x78050003, + 0x38a5f000, + 0x40a4004c, + 0xb8603000, + 0x78070003, + 0x3484ffff, + 0x58640000, + 0x40a3004c, + 0xb8204000, + 0x38e7f054, + 0x34040000, + 0x4c83000b, + 0x34e30004, + 0x28610000, + 0x3463001c, + 0x55010003, + 0x58c40000, + 0xe0000005, + 0x40a1004c, + 0x34840001, + 0x4c810002, + 0xe3fffff8, + 0x28c30000, + 0x44600007, + 0x3c610003, + 0xc8230800, + 0x3c210002, + 0xb4270800, + 0x28210004, + 0x5d010003, + 0x58430000, + 0xc3a00000, + 0x3461ffff, + 0x58410000, + 0xc3a00000, + 0x430206e8, + 0x78010003, + 0x3821f000, + 0x4025004c, + 0xb0401000, + 0x78040003, + 0x3884f054, + 0x34430001, + 0x4c650010, + 0x3c610003, + 0xc8230800, + 0x3c210002, + 0xb4242000, + 0x40810011, + 0x44200006, + 0x28820004, + 0x2b0106f4, + 0x54220003, + 0xb8600800, + 0xc3a00000, + 0x34630001, + 0x3484001c, + 0x4c650002, + 0xe3fffff6, + 0x430106e8, + 0xb0200800, + 0xc3a00000, + 0x430106e8, + 0x78020003, + 0x3842f054, + 0xb0200800, + 0x3423ffff, + 0x34010000, + 0x48230011, + 0x3c610003, + 0xc8230800, + 0x3c210002, + 0xb4222000, + 0x2b0206f4, + 0x28810004, + 0x50220002, + 0xe0000009, + 0x40810011, + 0x3484ffe4, + 0x44200003, + 0xb8600800, + 0xc3a00000, + 0x3463ffff, + 0x48230002, + 0xe3fffff5, + 0x430106e8, + 0xb0200800, + 0xc3a00000, + 0x430106e8, + 0x78020003, + 0x3842f054, + 0xb0200800, + 0x48200005, + 0x34010000, + 0xc3a00000, + 0xb8600800, + 0xc3a00000, + 0x430106e8, + 0xb0200800, + 0x3423ffff, + 0x3c610003, + 0xc8230800, + 0x3c210002, + 0xb4220800, + 0x34220012, + 0x40410000, + 0x3442ffe4, + 0x5c20fff4, + 0x3463ffff, + 0xe3fffffc, + 0x202100ff, + 0x3c220003, + 0x78030003, + 0xc8411000, + 0x3c420002, + 0x3863f054, + 0xb4431000, + 0x28420010, + 0x780100ff, + 0x3821ff00, + 0xa0411000, + 0x34010001, + 0x5c400002, + 0xb8400800, + 0xc3a00000, + 0x78010003, + 0x3821f000, + 0x4021004c, + 0x78040003, + 0x3884f054, + 0x34020000, + 0x5041000e, + 0xb8202800, + 0x3c410003, + 0x34430001, + 0xc8220800, + 0x3c210002, + 0xb4240800, + 0x40210011, + 0x44200003, + 0xb8400800, + 0xc3a00000, + 0x206200ff, + 0x50450002, + 0xe3fffff5, + 0x34010000, + 0xc3a00000, + 0x2b0206d0, + 0x78040003, + 0x3884f004, + 0x2883001c, + 0x2b0106d4, + 0x78058000, + 0xa0431000, + 0xb4220800, + 0x5b0106d4, + 0x2b0106d4, + 0x38a50418, + 0x34030000, + 0x58a10000, + 0x2b0106d4, + 0x2882001c, + 0x50410006, + 0x2b0106d4, + 0x34030001, + 0xc8220800, + 0x3421ffff, + 0x5b0106d4, + 0x2b0106d0, + 0x28820020, + 0x80220800, + 0xb4230800, + 0x5b0106d8, + 0x2b0106d8, + 0x58a10000, + 0x28820018, + 0x2b0106d8, + 0x50410002, + 0x5b0206d8, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x2f010728, + 0x78030002, + 0x34020000, + 0x38632ce4, + 0x4422000c, + 0x0f020728, + 0x2b020720, + 0x34010001, + 0x5c430008, + 0x2b020724, + 0xd8400000, + 0x2b020724, + 0x34010002, + 0xd8400000, + 0x2b010724, + 0x5b010720, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfff0, + 0x5b8b0010, + 0x5b8c000c, + 0x5b8d0008, + 0x5b9d0004, + 0x780c0003, + 0x202b00ff, + 0x398cf054, + 0x5d600046, + 0x78020003, + 0xb8406800, + 0x38428db6, + 0x2c410000, + 0x5c200036, + 0xfbffff67, + 0x430206e8, + 0xb0401000, + 0x5c220006, + 0x78010003, + 0x38218db4, + 0x34020007, + 0x30220000, + 0xe0000008, + 0xfbffff43, + 0x430206e8, + 0xb0401000, + 0x5c220004, + 0x78010003, + 0x38218db4, + 0x302b0000, + 0x78030003, + 0xb8600800, + 0x38218db4, + 0x40220000, + 0x7c410007, + 0x5c20000a, + 0x430106e8, + 0xb0200800, + 0x3c220003, + 0xc8411000, + 0x3c420002, + 0xb44c1000, + 0x40410013, + 0x330106eb, + 0xe000000a, + 0x5c400009, + 0x430106e8, + 0xb0200800, + 0x3c220003, + 0xc8411000, + 0x3c420002, + 0xb44c1000, + 0x40410014, + 0x330106ec, + 0x38638db4, + 0x40610000, + 0xb9a05800, + 0x396b8db6, + 0x5b0106d8, + 0x2f010728, + 0x2f02072a, + 0x2021ffff, + 0x2042ffff, + 0xfbfffd91, + 0x3421ffff, + 0x0d610000, + 0xe0000006, + 0x3421ffff, + 0x0c410000, + 0x430106e8, + 0xb0200800, + 0x5b0106d8, + 0x34010000, + 0x330106e6, + 0x330106e4, + 0x330106e5, + 0x330106fe, + 0xe0000007, + 0x7d610001, + 0x5c200005, + 0x78010003, + 0x38218db6, + 0x34020000, + 0x0c220000, + 0x2b8b0010, + 0x2b8c000c, + 0x2b8d0008, + 0x2b9d0004, + 0x379c0010, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x2f020728, + 0x34010001, + 0x44400007, + 0x2b020720, + 0x5b020724, + 0xfbffff9f, + 0x78010002, + 0x38212ce4, + 0x5b010720, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cffe8, + 0x5b8b0018, + 0x5b8c0014, + 0x5b8d0010, + 0x5b8e000c, + 0x5b8f0008, + 0x5b9d0004, + 0x43010736, + 0x78030003, + 0x78050003, + 0x202400ff, + 0x78028000, + 0x5c80000d, + 0x78010003, + 0x38218dc0, + 0x38638db8, + 0x58240000, + 0x58640000, + 0x3842014c, + 0x28420000, + 0x38a58dbc, + 0x34010001, + 0x58a20000, + 0x33010736, + 0xe0000036, + 0xb8606800, + 0x39ad8db8, + 0xb8407000, + 0x29a30000, + 0x39ce014c, + 0xb8a07800, + 0x39ef8dbc, + 0x29c20000, + 0x29e10000, + 0x34630001, + 0x59a30000, + 0x5c410003, + 0x646107d0, + 0x44200028, + 0x44600027, + 0x78020003, + 0x3842e800, + 0x8c431000, + 0x780c0003, + 0xb9805800, + 0x396b8dc0, + 0x29610000, + 0x430306fc, + 0x206300ff, + 0xfbfffd0e, + 0x78050003, + 0xb8a03000, + 0xb8201800, + 0x38c6f000, + 0x2cc10052, + 0x29c20000, + 0x3c240008, + 0x59e20000, + 0x34010000, + 0x59a10000, + 0x59630000, + 0x50830003, + 0x34010002, + 0xe000000e, + 0x54640006, + 0x2cc102f6, + 0x3c210008, + 0x54230003, + 0x34010001, + 0xe0000008, + 0x38a5f000, + 0x2ca102f6, + 0x398c8dc0, + 0x29820000, + 0x3c210008, + 0x50410003, + 0x34010000, + 0x330106fe, + 0x2b8b0018, + 0x2b8c0014, + 0x2b8d0010, + 0x2b8e000c, + 0x2b8f0008, + 0x2b9d0004, + 0x379c0018, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x202100ff, + 0x5c200003, + 0xfbfffe44, + 0xfbffff07, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x430106f8, + 0x7803c020, + 0x78040003, + 0x78020002, + 0x7805c020, + 0x38630008, + 0x38848b24, + 0x38423e94, + 0x38a50024, + 0x202100ff, + 0x5c20000a, + 0x330106f9, + 0x28610000, + 0x58820000, + 0x28620000, + 0x38420030, + 0x58620000, + 0x58610000, + 0x34010003, + 0x58a10000, + 0x34010000, + 0xc3a00000, + 0x202100ff, + 0x7802c020, + 0x44200008, + 0xb8400800, + 0x38210304, + 0x28220000, + 0x3403fffd, + 0xa0431000, + 0x58220000, + 0xc3a00000, + 0x38420304, + 0x28410000, + 0xb8401800, + 0x38210002, + 0x58410000, + 0x28610000, + 0x20218000, + 0x4420fffe, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x430100a9, + 0x780b0003, + 0x396bf054, + 0x7c210001, + 0x5c200002, + 0xf8001438, + 0x43010085, + 0x7c210001, + 0x5c200002, + 0xf8001395, + 0x430106e9, + 0x7806c020, + 0x38c60014, + 0x330106e8, + 0x430106e9, + 0x7804ffe0, + 0x7805001f, + 0xb0200800, + 0xb4210800, + 0xb4380800, + 0x34210708, + 0x2c220008, + 0x3884ffff, + 0x38a50000, + 0x34420001, + 0x0c220008, + 0x430206e9, + 0x7803c020, + 0x38630130, + 0xb0401000, + 0x3c410003, + 0xc8220800, + 0x3c210002, + 0xb42b0800, + 0x2c21000a, + 0x5b0106e0, + 0x28c20000, + 0x430106e9, + 0xa0441000, + 0xb0200800, + 0x3c210010, + 0xa0250800, + 0xb8411000, + 0x58c20000, + 0x28610000, + 0x3402fffd, + 0xa0220800, + 0x58610000, + 0x430106ea, + 0x202200ff, + 0x5c400030, + 0x430106ee, + 0x5c200013, + 0x33020760, + 0x78010003, + 0x330206ef, + 0x38218ba8, + 0x7805c020, + 0x30220019, + 0x30220000, + 0x38a50004, + 0x28a40000, + 0x78030003, + 0x78020002, + 0x3401ffef, + 0xa0812000, + 0x38638b24, + 0x38424a68, + 0x58620000, + 0x58a40000, + 0xe0000023, + 0x430106f0, + 0x78060003, + 0x44200007, + 0x78010002, + 0x38c68b24, + 0x38213dc8, + 0x58c10000, + 0x330206ef, + 0xe000001a, + 0x34010001, + 0x7802c020, + 0x330106ef, + 0x38420008, + 0x28450000, + 0x78030002, + 0x7804c020, + 0x28410000, + 0x38c68b24, + 0x38633e94, + 0x38210030, + 0x58410000, + 0x58450000, + 0x38840024, + 0x34010003, + 0x58c30000, + 0x58810000, + 0xe0000008, + 0x34030000, + 0x78020003, + 0x78010002, + 0x330306ea, + 0x38428b24, + 0x38213e94, + 0x58410000, + 0x34010000, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x7805c020, + 0x38a50304, + 0xb8203000, + 0x28a10000, + 0x3cc30001, + 0x3404fffd, + 0xa0240800, + 0x20630002, + 0xb8230800, + 0x58a10000, + 0x204200ff, + 0x44400006, + 0xb8a01000, + 0x28410000, + 0x20218000, + 0x0021000f, + 0x5c26fffd, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x430100a9, + 0x780c0003, + 0x398cf054, + 0x7c210001, + 0x5c200002, + 0xf80013b4, + 0x43010085, + 0x7c210001, + 0x5c200002, + 0xf8001311, + 0x430106f2, + 0x202300ff, + 0x5c60000e, + 0x430106e9, + 0xb0200800, + 0x3c220003, + 0xc8411000, + 0x3c420002, + 0xb44c1000, + 0x404b0010, + 0x7d610001, + 0x5c200005, + 0xb8600800, + 0xb8601000, + 0xfbffffd2, + 0x330b06f2, + 0x430106e9, + 0x7806c020, + 0x38c60014, + 0x330106e8, + 0x430106e9, + 0x7804ffe0, + 0x7805001f, + 0xb0200800, + 0xb4210800, + 0xb4380800, + 0x34210708, + 0x2c220008, + 0x3884ffff, + 0x38a50000, + 0x34420001, + 0x0c220008, + 0x430206e9, + 0x7803c020, + 0x38630130, + 0xb0401000, + 0x3c410003, + 0xc8220800, + 0x3c210002, + 0xb42c0800, + 0x2c21000a, + 0x5b0106e0, + 0x28c20000, + 0x430106e9, + 0xa0441000, + 0xb0200800, + 0x3c210010, + 0xa0250800, + 0xb8411000, + 0x58c20000, + 0x28610000, + 0x3402fffd, + 0xa0220800, + 0x58610000, + 0x430106ea, + 0x202200ff, + 0x5c400030, + 0x430106ee, + 0x5c200013, + 0x33020760, + 0x78010003, + 0x330206ef, + 0x38218ba8, + 0x7805c020, + 0x30220019, + 0x30220000, + 0x38a50004, + 0x28a40000, + 0x78030003, + 0x78020002, + 0x3401ffef, + 0xa0812000, + 0x38638b24, + 0x38424a68, + 0x58620000, + 0x58a40000, + 0xe0000023, + 0x430106f0, + 0x78060003, + 0x44200007, + 0x78010002, + 0x38c68b24, + 0x38213dc8, + 0x58c10000, + 0x330206ef, + 0xe000001a, + 0x34010001, + 0x7802c020, + 0x330106ef, + 0x38420008, + 0x28450000, + 0x78030002, + 0x7804c020, + 0x28410000, + 0x38c68b24, + 0x38633e94, + 0x38210030, + 0x58410000, + 0x58450000, + 0x38840024, + 0x34010003, + 0x58c30000, + 0x58810000, + 0xe0000008, + 0x34030000, + 0x78020003, + 0x78010002, + 0x330306ea, + 0x38428b24, + 0x38213e94, + 0x58410000, + 0x34010000, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x430206e9, + 0x78030003, + 0x3863f054, + 0xb0401000, + 0x3c410003, + 0xc8220800, + 0x3c210002, + 0xb4236000, + 0x4181000d, + 0x3301077f, + 0x4181000e, + 0x33010781, + 0x41810017, + 0x20260008, + 0x44c00011, + 0x7803c050, + 0x386301c8, + 0x28610000, + 0x3402ffc7, + 0x7804c050, + 0xa0220800, + 0x58610000, + 0x38840118, + 0x28810000, + 0x7802c050, + 0x384200cc, + 0x38210800, + 0x58810000, + 0x34010000, + 0x58410000, + 0xe0000015, + 0x20220002, + 0x780bc050, + 0x44400015, + 0x7805c050, + 0x38a501c8, + 0x28a30000, + 0x20210007, + 0x3c210003, + 0x3402ffc7, + 0xa0621800, + 0xb8611800, + 0x7804c050, + 0x58a30000, + 0x38840118, + 0x28810000, + 0x3402f7ff, + 0x396b00cc, + 0xa0220800, + 0x58810000, + 0x59660000, + 0x34010001, + 0x33010918, + 0xe0000016, + 0x33020918, + 0xf8002453, + 0x4181000f, + 0x396b00cc, + 0x7802c050, + 0x59610000, + 0x384200d0, + 0x28410000, + 0x4420ffff, + 0x7803c050, + 0x38630118, + 0x28610000, + 0x3402f7ff, + 0x7804c050, + 0xa0220800, + 0x58610000, + 0x388401c8, + 0x28810000, + 0x3402ffc7, + 0xa0220800, + 0x58810000, + 0x29820004, + 0x78010003, + 0x38218b88, + 0x58220000, + 0x41820016, + 0x7806c020, + 0x78057fff, + 0x44400014, + 0x7804c020, + 0x38840088, + 0x28810000, + 0x3c420003, + 0x3403ffc7, + 0xa0230800, + 0x20420038, + 0xb8220800, + 0xb8c01800, + 0x58810000, + 0x38630080, + 0x28620000, + 0x38a5ffff, + 0x78018000, + 0xa0451000, + 0x38210000, + 0xb8411000, + 0x58620000, + 0xe0000007, + 0xb8c01000, + 0x38420080, + 0x28410000, + 0x38a5ffff, + 0xa0250800, + 0x58410000, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cffe8, + 0x5b8b0018, + 0x5b8c0014, + 0x5b8d0010, + 0x5b8e000c, + 0x5b8f0008, + 0x5b9d0004, + 0x780b0003, + 0x396b8b88, + 0x29610000, + 0xf80011d1, + 0xb8206000, + 0x29610000, + 0xf800126a, + 0xb8206800, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x430106fa, + 0x44200004, + 0xd00b0000, + 0x34030000, + 0xe0000029, + 0xb98d0800, + 0x5c20000a, + 0x78020003, + 0x78010002, + 0x38428b24, + 0x382132b0, + 0x58410000, + 0xfbffff6d, + 0xd00b0000, + 0xfbfffee8, + 0xe000001d, + 0xd00b0000, + 0x658e0000, + 0x340f0000, + 0x5dcf0003, + 0xf80011e9, + 0x442f0002, + 0x340f0001, + 0x65ac0000, + 0x340b0000, + 0x5d8b0003, + 0xf8001282, + 0x442b0002, + 0x340b0001, + 0x65e10000, + 0x65620000, + 0x34030000, + 0xb8220800, + 0xe4230800, + 0x4423000b, + 0x5dc30002, + 0xf80011e6, + 0x5d800002, + 0xf8001283, + 0x78020003, + 0x78010002, + 0x38428b24, + 0x382137b0, + 0x58410000, + 0x34030001, + 0xb8600800, + 0x2b8b0018, + 0x2b8c0014, + 0x2b8d0010, + 0x2b8e000c, + 0x2b8f0008, + 0x2b9d0004, + 0x379c0018, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0xf80011f2, + 0xb8206000, + 0xf800128f, + 0xb8203000, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x430106fa, + 0x202100ff, + 0xb8202800, + 0xb8202000, + 0x44200003, + 0xd00b0000, + 0xe000000c, + 0x78030003, + 0x78020002, + 0x38638b24, + 0x384232b0, + 0x4d800002, + 0x34040001, + 0x4cc00002, + 0x34050001, + 0xb8850800, + 0x44200004, + 0xd00b0000, + 0x34010001, + 0xe0000005, + 0x58620000, + 0xfbffff23, + 0xd00b0000, + 0xfbfffe9e, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x430206e9, + 0x78030003, + 0x3863f054, + 0xb0401000, + 0x3c410003, + 0x430406f2, + 0xc8220800, + 0x3c210002, + 0x208400ff, + 0x7c820001, + 0xb4236000, + 0x5c400007, + 0x418b0010, + 0x5d600005, + 0xb8800800, + 0xb8801000, + 0xfbfffe72, + 0x330b06f2, + 0x41820016, + 0x7807c020, + 0x78057fff, + 0x78060003, + 0x44400014, + 0x7804c020, + 0x38840088, + 0x28810000, + 0x3c420003, + 0x3403ffc7, + 0xa0230800, + 0x20420038, + 0xb8220800, + 0xb8e01800, + 0x58810000, + 0x38630080, + 0x28620000, + 0x38a5ffff, + 0x78018000, + 0xa0451000, + 0x38210000, + 0xb8411000, + 0x58620000, + 0xe0000007, + 0xb8e01000, + 0x38420080, + 0x28410000, + 0x38a5ffff, + 0xa0250800, + 0x58410000, + 0x4181000d, + 0x38c68b88, + 0x3301077f, + 0x4181000e, + 0x33010781, + 0x41810017, + 0x29820004, + 0x58c20000, + 0x20260008, + 0x44c00011, + 0x7803c050, + 0x386301c8, + 0x28610000, + 0x3402ffc7, + 0x7804c050, + 0xa0220800, + 0x58610000, + 0x38840118, + 0x28810000, + 0x7802c050, + 0x384200cc, + 0x38210800, + 0x58810000, + 0x34010000, + 0x58410000, + 0xe0000015, + 0x20220002, + 0x780bc050, + 0x44400015, + 0x7805c050, + 0x38a501c8, + 0x28a30000, + 0x20210007, + 0x3c210003, + 0x3402ffc7, + 0xa0621800, + 0xb8611800, + 0x7804c050, + 0x58a30000, + 0x38840118, + 0x28810000, + 0x3402f7ff, + 0x396b00cc, + 0xa0220800, + 0x58810000, + 0x59660000, + 0x34010001, + 0x33010918, + 0xe0000016, + 0x33020918, + 0xf8002343, + 0x4181000f, + 0x396b00cc, + 0x7802c050, + 0x59610000, + 0x384200d0, + 0x28410000, + 0x4420ffff, + 0x7803c050, + 0x38630118, + 0x28610000, + 0x3402f7ff, + 0x7804c050, + 0xa0220800, + 0x58610000, + 0x388401c8, + 0x28810000, + 0x3402ffc7, + 0xa0220800, + 0x58810000, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cffe8, + 0x5b8b0018, + 0x5b8c0014, + 0x5b8d0010, + 0x5b8e000c, + 0x5b8f0008, + 0x5b9d0004, + 0x430206e9, + 0x78030003, + 0x3863f054, + 0xb0401000, + 0x3c410003, + 0xc8220800, + 0x3c210002, + 0xb4230800, + 0x282b0004, + 0xb9600800, + 0xf80010db, + 0xb8206000, + 0xb9600800, + 0xf8001174, + 0xb8206800, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x430106fa, + 0x44200004, + 0xd00b0000, + 0x34030000, + 0xe0000029, + 0xb98d0800, + 0x5c20000a, + 0x78020003, + 0x78010002, + 0x38428b24, + 0x382130a4, + 0x58410000, + 0xfbffff5c, + 0xd00b0000, + 0xfbfffd6f, + 0xe000001d, + 0xd00b0000, + 0x658e0000, + 0x340f0000, + 0x5dcf0003, + 0xf80010f3, + 0x442f0002, + 0x340f0001, + 0x65ac0000, + 0x340b0000, + 0x5d8b0003, + 0xf800118c, + 0x442b0002, + 0x340b0001, + 0x65e10000, + 0x65620000, + 0x34030000, + 0xb8220800, + 0xe4230800, + 0x4423000b, + 0x5dc30002, + 0xf80010f0, + 0x5d800002, + 0xf800118d, + 0x78020003, + 0x78010002, + 0x38428b24, + 0x382143c8, + 0x58410000, + 0x34030001, + 0xb8600800, + 0x2b8b0018, + 0x2b8c0014, + 0x2b8d0010, + 0x2b8e000c, + 0x2b8f0008, + 0x2b9d0004, + 0x379c0018, + 0xc3a00000, + 0x379cffec, + 0x5b8b0014, + 0x5b8c0010, + 0x5b8d000c, + 0x5b8e0008, + 0x5b9d0004, + 0x430106ea, + 0x780e0003, + 0x39cef054, + 0x5c200047, + 0x780d0003, + 0x78010002, + 0x38213b88, + 0x39ad8b24, + 0x59a10000, + 0x430106f0, + 0x44200004, + 0x430106f1, + 0x330106e9, + 0xe000003b, + 0x780c0003, + 0x398cf000, + 0x418b02f0, + 0x216100ff, + 0xfbfffbe4, + 0x4420000a, + 0x330b06e9, + 0x418102f3, + 0x7802c020, + 0x38420004, + 0x33010760, + 0x28410000, + 0x38210010, + 0x58410000, + 0xe000002c, + 0x430106ee, + 0x7804c020, + 0x202200ff, + 0x5c400010, + 0x330206ef, + 0x78010003, + 0x33020760, + 0x38218ba8, + 0x30220019, + 0x30220000, + 0x38840004, + 0x28830000, + 0x78010002, + 0x3402ffef, + 0xa0621800, + 0x38214a68, + 0x59a10000, + 0x58830000, + 0xe0000017, + 0x34010001, + 0x330106ef, + 0x418302f3, + 0x78010002, + 0x38213e94, + 0x59a10000, + 0x7802c020, + 0x33030760, + 0x38420008, + 0x28450000, + 0x7803c020, + 0x38630024, + 0x28410000, + 0x38840004, + 0x38210030, + 0x58410000, + 0x58450000, + 0x34010003, + 0x58610000, + 0x28810000, + 0x38210010, + 0x58810000, + 0x34010000, + 0xe000003c, + 0x34010001, + 0x330106ea, + 0x430306e9, + 0x34020000, + 0xb0601800, + 0x3c610003, + 0xc8230800, + 0x3c210002, + 0xb42e0800, + 0x28210000, + 0xf8001b18, + 0x34060000, + 0x330606ed, + 0x2f02073c, + 0x2f010748, + 0x5422002b, + 0x330606eb, + 0x330606ec, + 0x7802c020, + 0x330606ed, + 0x38420130, + 0x28410000, + 0x7805c020, + 0x38a50014, + 0x38210002, + 0x58410000, + 0x28a40000, + 0x7802fc1f, + 0x780303e0, + 0x430106e9, + 0x3842ffff, + 0x38630000, + 0xb0200800, + 0x3c210015, + 0xa0822000, + 0xa0230800, + 0xb8812000, + 0x58a40000, + 0x330606ea, + 0x430206e9, + 0xb0401000, + 0x3c410003, + 0xc8220800, + 0x3c210002, + 0xb42e0800, + 0x40210010, + 0x330106f2, + 0x430106f2, + 0x202100ff, + 0xfbfffcb5, + 0x430206e9, + 0x430106e8, + 0xb0401000, + 0xb0200800, + 0x48410003, + 0xfbffff2c, + 0xe0000002, + 0xfbfffe3b, + 0x34010001, + 0x2b8b0014, + 0x2b8c0010, + 0x2b8d000c, + 0x2b8e0008, + 0x2b9d0004, + 0x379c0014, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x430106f8, + 0x34050000, + 0x78040003, + 0x202300ff, + 0x78020002, + 0x7c610001, + 0x38848b24, + 0x38423000, + 0xb8a04000, + 0x5c250005, + 0x330306f9, + 0x330506f0, + 0x58820000, + 0xe0000020, + 0x430106f0, + 0x7803c020, + 0x78050003, + 0x78040002, + 0x7806c020, + 0x34070001, + 0x38630008, + 0x38a58b24, + 0x38843e94, + 0x38c60024, + 0x202200ff, + 0x34080000, + 0x44480009, + 0x430206f1, + 0x430106e8, + 0x204200ff, + 0xb0200800, + 0x4441000e, + 0xfbffff4e, + 0xb8204000, + 0xe000000b, + 0x330706ef, + 0x28610000, + 0xb8404000, + 0x58a40000, + 0x28620000, + 0x38420030, + 0x58620000, + 0x58610000, + 0x34010003, + 0x58c10000, + 0xb9000800, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x430106ff, + 0x780c0003, + 0x398cf054, + 0x44200002, + 0xfbfffbf4, + 0x430106f8, + 0x202400ff, + 0x7c810001, + 0x5c20000a, + 0x430306e8, + 0x78020003, + 0x78010002, + 0x330306e9, + 0x330406f9, + 0x38428b24, + 0x38213000, + 0x58410000, + 0xe0000007, + 0x430106ee, + 0x44200004, + 0x430106f0, + 0x64210001, + 0x44200004, + 0xfbffff22, + 0x34010000, + 0xe000012b, + 0x78010003, + 0x38218b88, + 0x28220000, + 0x2b0106f4, + 0x5041000c, + 0x430206e8, + 0xb0401000, + 0x3c410003, + 0xc8220800, + 0x3c210002, + 0xb42c0800, + 0x40210013, + 0x330106eb, + 0x34010007, + 0x5b0106d8, + 0xe0000032, + 0x430106fd, + 0x7c210001, + 0x5c20002c, + 0x34030000, + 0x330306fd, + 0x430206e8, + 0xb0401000, + 0x3c410003, + 0xc8220800, + 0x3c210002, + 0xb42c0800, + 0x402b0011, + 0x5d630025, + 0x330306e6, + 0x330306e4, + 0x330306e5, + 0x330306fe, + 0xfbfffaaf, + 0x430206e8, + 0xb0401000, + 0x4422000c, + 0x34010007, + 0x5b0106d8, + 0x430206e8, + 0xb0401000, + 0x3c410003, + 0xc8220800, + 0x3c210002, + 0xb42c0800, + 0x40210013, + 0x330106eb, + 0xe0000012, + 0xfbfffabb, + 0x430206e8, + 0xb0401000, + 0x4422000e, + 0x5b0b06d8, + 0x430106e8, + 0xb0200800, + 0x3c220003, + 0xc8411000, + 0x3c420002, + 0xb44c1000, + 0x40410014, + 0x330106ec, + 0xe0000004, + 0x2b020720, + 0x34010000, + 0xd8400000, + 0x430106ea, + 0x5c2000e6, + 0x430106e8, + 0x2b0206d8, + 0xb0200800, + 0x48220010, + 0x430106e6, + 0x64210002, + 0x5c20000d, + 0x430106e4, + 0x64210002, + 0x5c20000a, + 0x430106e5, + 0x64210002, + 0x5c200007, + 0x430106fe, + 0x64210002, + 0x5c200004, + 0x430106fb, + 0x202b00ff, + 0x45600065, + 0x430106e6, + 0x64210002, + 0x5c20000c, + 0x430106e4, + 0x64210002, + 0x5c200009, + 0x430106e5, + 0x64210002, + 0x5c200006, + 0x430106fe, + 0x64210002, + 0x5c200003, + 0x430106fb, + 0x44200028, + 0x430106e6, + 0x7c210002, + 0x5c200003, + 0x34010001, + 0x330106e6, + 0x430106e4, + 0x7c210002, + 0x5c200003, + 0x34010001, + 0x330106e4, + 0x430106e5, + 0x7c210002, + 0x5c200003, + 0x34010001, + 0x330106e5, + 0x430106fe, + 0x7c210002, + 0x5c200003, + 0x34010001, + 0x330106fe, + 0x430206e8, + 0xb0401000, + 0x3c410003, + 0xc8220800, + 0x3c210002, + 0xb42c0800, + 0x40210014, + 0x34210001, + 0x330106ec, + 0x430106fb, + 0x44200003, + 0xfbfffaa7, + 0xe0000002, + 0xfbfffa80, + 0x330106e9, + 0x430106e8, + 0xb0200800, + 0x5b0106d8, + 0xe0000006, + 0x430106ec, + 0x34210001, + 0x330106ec, + 0xfbfffa5d, + 0x330106e9, + 0x430206e8, + 0xb0401000, + 0x3c410003, + 0x430306ec, + 0xc8220800, + 0x3c210002, + 0x206300ff, + 0xb42c0800, + 0x40210014, + 0x50230074, + 0x340b0000, + 0x330b06ec, + 0x430206e8, + 0x430106e9, + 0xb0401000, + 0xb0200800, + 0x4441006d, + 0x34010001, + 0x7802c020, + 0x330106ea, + 0x38420130, + 0x28410000, + 0x7805c020, + 0x38a50014, + 0x38210002, + 0x58410000, + 0x28a40000, + 0x7802fc1f, + 0x780303e0, + 0x430106e9, + 0x3842ffff, + 0x38630000, + 0xb0200800, + 0x3c210015, + 0xa0822000, + 0xa0230800, + 0xb8812000, + 0x58a40000, + 0xfbfffe1a, + 0x5c2b0056, + 0x330b06ea, + 0xe0000054, + 0x430106e6, + 0x64210001, + 0x5c20004f, + 0x430106e4, + 0x64210001, + 0x5c20004c, + 0x430106e5, + 0x64210001, + 0x5c200049, + 0x430106fe, + 0x64210001, + 0x5c200046, + 0x430106e8, + 0x2b0206d8, + 0xb0200800, + 0x4c220042, + 0x430106eb, + 0x34210001, + 0x330106eb, + 0xfbfffa03, + 0x330106e9, + 0x330b06ed, + 0x430206e8, + 0xb0401000, + 0x3c410003, + 0x430306eb, + 0xc8220800, + 0x3c210002, + 0x206300ff, + 0xb42c0800, + 0x40210013, + 0x50230034, + 0x430206e8, + 0x430106e9, + 0xb0401000, + 0xb0200800, + 0x44410029, + 0x430306e9, + 0xb9601000, + 0xb0601800, + 0x3c610003, + 0xc8230800, + 0x3c210002, + 0xb42c0800, + 0x28210000, + 0xf80019a8, + 0x2f02073c, + 0x2f010748, + 0x5422001d, + 0x34010001, + 0x330106ea, + 0x330b06eb, + 0x330b06ec, + 0x7802c020, + 0x330b06ed, + 0x38420130, + 0x28410000, + 0x7805c020, + 0x38a50014, + 0x38210002, + 0x58410000, + 0x28a40000, + 0x7802fc1f, + 0x780303e0, + 0x430106e9, + 0x3842ffff, + 0x38630000, + 0xb0200800, + 0x3c210015, + 0xa0822000, + 0xa0230800, + 0xb8812000, + 0x58a40000, + 0xfbfffcde, + 0x5c200009, + 0x330106ea, + 0xe0000007, + 0x430106eb, + 0x3421ffff, + 0x330106eb, + 0xe0000003, + 0x430106e8, + 0x330106e9, + 0x430106e8, + 0x2b0206d8, + 0xb0200800, + 0x48410018, + 0x430106ed, + 0x34210001, + 0x330106ed, + 0x430206e8, + 0xb0401000, + 0x3c410003, + 0x430306ed, + 0xc8220800, + 0x3c210002, + 0x206300ff, + 0xb42c0800, + 0x40210015, + 0x5023000b, + 0x34010000, + 0x330106ed, + 0x430206e8, + 0xb0401000, + 0x3c410003, + 0xc8220800, + 0x3c210002, + 0xb42c0800, + 0x28210000, + 0x0f010748, + 0x430106ea, + 0x202100ff, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0xf8000eec, + 0xb8206000, + 0xf8000f89, + 0xb8203000, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x430106fa, + 0x202100ff, + 0xb8202800, + 0xb8202000, + 0x44200003, + 0xd00b0000, + 0xe000000c, + 0x78030003, + 0x78020002, + 0x38638b24, + 0x384230a4, + 0x4d800002, + 0x34040001, + 0x4cc00002, + 0x34050001, + 0xb8850800, + 0x44200004, + 0xd00b0000, + 0x34010001, + 0xe0000005, + 0x58620000, + 0xfbfffd02, + 0xd00b0000, + 0xfbfffb15, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x430106ef, + 0x7c210001, + 0x5c200009, + 0x430106e8, + 0xb0200800, + 0xb4210800, + 0xb4380800, + 0x342106f8, + 0x2c220008, + 0x34420001, + 0x0c220008, + 0xc3a00000, + 0x7804c020, + 0x38840130, + 0x28820000, + 0x202100ff, + 0x3c210005, + 0x3403fc1f, + 0xa0431000, + 0xb8411000, + 0x58820000, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x7805c020, + 0x38a50024, + 0x28a80000, + 0x7804c020, + 0x780b0003, + 0x34070000, + 0x7802c020, + 0x65010003, + 0x38840008, + 0x396bf900, + 0x3842002c, + 0x340300e0, + 0xb8e03000, + 0x44270015, + 0x58a70000, + 0x28420000, + 0x7801c020, + 0x38210028, + 0x44470004, + 0x28210000, + 0x08210064, + 0x8c223000, + 0x5b0606c4, + 0x28810000, + 0x28820000, + 0x38420030, + 0x58820000, + 0x58810000, + 0x58a80000, + 0x2b0206c4, + 0x29610018, + 0x3c420008, + 0xfbfff78d, + 0x59610018, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x78010003, + 0x3821f900, + 0x28210008, + 0x20220001, + 0x64410000, + 0x5c20001c, + 0x430106ef, + 0x5c20001b, + 0x430106f0, + 0x340b0001, + 0x5c200018, + 0x330b06ee, + 0xfbfffd7a, + 0x78010003, + 0x3821f000, + 0x402502f1, + 0x78030003, + 0x78040002, + 0x78010003, + 0x78020003, + 0x38218ba8, + 0x38638b24, + 0x3884e6e0, + 0x38422680, + 0x58620058, + 0x302b0016, + 0x30250000, + 0x5864002c, + 0x30250019, + 0x302b0024, + 0x302b000b, + 0x302b002f, + 0xe0000002, + 0x330206ee, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x430106ef, + 0x78070003, + 0x38e7f054, + 0x34060000, + 0x5c26004b, + 0x430106f0, + 0x5c260049, + 0x78020003, + 0x3842f000, + 0x4041004c, + 0xb8c02000, + 0x50c10020, + 0xb8405800, + 0x340a0001, + 0x3c830003, + 0x34890001, + 0xc8641000, + 0x3c420002, + 0x34050001, + 0xb4471000, + 0x40410011, + 0xb8404000, + 0xb8401800, + 0x44200007, + 0x2b010730, + 0xbd441000, + 0x80240800, + 0xa0250800, + 0x5c200002, + 0xb8c23000, + 0x2b010730, + 0x80240800, + 0x20210001, + 0x64210000, + 0x5c200002, + 0x30650011, + 0x41010011, + 0x44200002, + 0x33040734, + 0x4161004c, + 0x212400ff, + 0x50810002, + 0xe3ffffe4, + 0x5b06072c, + 0x2b020730, + 0x78010003, + 0x3821f900, + 0x2b03072c, + 0x340b0001, + 0xb8431000, + 0x30220024, + 0x330b06ee, + 0xfbfffd29, + 0x78010003, + 0x3821f000, + 0x402202f1, + 0x78050003, + 0x38a5f818, + 0x78010003, + 0x38218ba8, + 0x30220000, + 0x30220019, + 0x302b0016, + 0x302b0024, + 0x302b000b, + 0x302b002f, + 0x28a10000, + 0x78030003, + 0x78040002, + 0xb82b0800, + 0x58a10000, + 0x78020003, + 0x38638b24, + 0x3884e6e0, + 0x38422680, + 0x34010000, + 0x58620058, + 0x5864002c, + 0x5b010738, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x34010000, + 0x78030003, + 0x330106ee, + 0x3863f818, + 0x28610000, + 0x3402fffe, + 0xa0220800, + 0x58610000, + 0xc3a00000, + 0x2b2502c0, + 0x78040fff, + 0x7806f000, + 0x3884ffff, + 0x206300ff, + 0x38c60000, + 0x202700ff, + 0xa0442000, + 0x20a50100, + 0xb8604000, + 0x44a00002, + 0x44600013, + 0x44600005, + 0x2b2102c0, + 0x3402feff, + 0xa0220800, + 0x5b2102c0, + 0x2b2102c0, + 0x3402ff00, + 0x34080001, + 0xa0220800, + 0xb8270800, + 0x5b2102c0, + 0x2b2102c4, + 0xa0260800, + 0xb8240800, + 0x5b2102c4, + 0x2b2102c0, + 0x38210100, + 0x5b2102c0, + 0xb9000800, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x4304092c, + 0x34020000, + 0x3401005d, + 0x7c840001, + 0xb8401800, + 0x5c820006, + 0xfbffffd8, + 0x34020000, + 0x44220003, + 0x3302092b, + 0x3302092c, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x430106ef, + 0x78030003, + 0x3863f054, + 0x4420002f, + 0x780b0003, + 0xb9600800, + 0x3821f000, + 0x282102fc, + 0x4420002a, + 0x430106e6, + 0x5c20000a, + 0x430106e4, + 0x5c200008, + 0x430106e5, + 0x5c200006, + 0x430106fe, + 0x5c200004, + 0x43020734, + 0x204200ff, + 0xe0000003, + 0x430206e8, + 0xb0401000, + 0x3c410003, + 0xc8220800, + 0x3c210002, + 0xb4230800, + 0x28220004, + 0x2b010738, + 0x5c200003, + 0x5b020738, + 0xe0000005, + 0x2b010738, + 0x340300c0, + 0xfbfff6ab, + 0x5b010738, + 0x396bf000, + 0x296202fc, + 0x2b010738, + 0x5022000c, + 0x43010735, + 0x4420000a, + 0x340100ff, + 0x34020001, + 0x34030000, + 0xfbffffa1, + 0x44200005, + 0x34010000, + 0x33010735, + 0x34010001, + 0x3301092b, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0xfbffffb5, + 0xfbffffc4, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfff0, + 0x5b8b0010, + 0x5b8c000c, + 0x5b8d0008, + 0x5b9d0004, + 0x780dc020, + 0xb9a01000, + 0x38420130, + 0x28410000, + 0x340c0000, + 0x38210001, + 0x58410000, + 0xfbfffed3, + 0x78010003, + 0x38218ba8, + 0xb5815800, + 0x41630000, + 0x44600013, + 0x41620019, + 0x218100ff, + 0x3442ffff, + 0x31620019, + 0x204200ff, + 0x44400004, + 0x41620032, + 0x64420001, + 0x4440000a, + 0x31630019, + 0xfbfffeb9, + 0x3d810002, + 0x78020003, + 0x38428b24, + 0xb4220800, + 0x28210000, + 0xd8200000, + 0x31610032, + 0x358c0001, + 0x75810018, + 0x4420ffe7, + 0xfbfffea2, + 0xfbffffd1, + 0x43010830, + 0x44200011, + 0x43010831, + 0x7c210010, + 0x5c200003, + 0xf8003518, + 0xe000000c, + 0x43010831, + 0x4420000a, + 0x43010831, + 0x7c210001, + 0x5c200003, + 0xf800347f, + 0xe0000005, + 0x43010831, + 0x7c210002, + 0x5c200002, + 0xf800348a, + 0x3401001f, + 0xfbfffe99, + 0xb9a00800, + 0x38210130, + 0x28220000, + 0x3403fffe, + 0xa0431000, + 0x58220000, + 0x2b8b0010, + 0x2b8c000c, + 0x2b8d0008, + 0x2b9d0004, + 0x379c0010, + 0xc3a00000, + 0x34010000, + 0xc3a00000, + 0xb8202000, + 0x206300ff, + 0x90003000, + 0x34010000, + 0xd0010000, + 0xa4402800, + 0x44600004, + 0x28810000, + 0xb8220800, + 0xe0000003, + 0x28810000, + 0xa0250800, + 0x58810000, + 0xd0060000, + 0xc3a00000, + 0x379cfff0, + 0x5b8b0008, + 0x5b9d0004, + 0x43010813, + 0x202400ff, + 0x5c800019, + 0x43010814, + 0x7c210001, + 0x5c200016, + 0x78030003, + 0x78020002, + 0x78010003, + 0x38218ba8, + 0x38638b24, + 0x38424a68, + 0x30240006, + 0x3024001f, + 0x58620018, + 0x33040814, + 0x33040812, + 0x78030003, + 0x330407ae, + 0x3863fdd0, + 0x28620000, + 0x7801ff00, + 0x3821ffff, + 0xa0411000, + 0x58620000, + 0x330406e6, + 0xe0000045, + 0x34010001, + 0x7802c030, + 0x33010814, + 0x38420000, + 0x28410010, + 0x378b000c, + 0x28420014, + 0x202107ff, + 0x204207ff, + 0xfbfff6db, + 0x0f01080c, + 0x43010815, + 0xb9602800, + 0x3381000c, + 0x43010816, + 0x3381000d, + 0x430106e6, + 0x3381000f, + 0x2f01080c, + 0x2f020804, + 0x2021ffff, + 0x2f030806, + 0xdc401000, + 0x43040819, + 0xdc601800, + 0x208400ff, + 0xfbfff6ab, + 0x4382000c, + 0x78010003, + 0x3821f000, + 0x33020815, + 0x4382000d, + 0x33020816, + 0x402102f2, + 0x44200002, + 0x4381000f, + 0x330106e6, + 0x78010003, + 0x38218b20, + 0x28210000, + 0x402100d3, + 0x44200004, + 0x4382000f, + 0x330207ae, + 0xe0000002, + 0x330107ae, + 0x43010817, + 0xb9602800, + 0x3381000c, + 0x43010818, + 0x3381000d, + 0x430102bd, + 0x3381000e, + 0x2f01080e, + 0x2f020808, + 0x2021ffff, + 0x2f03080a, + 0xdc401000, + 0x43040819, + 0xdc601800, + 0x208400ff, + 0xfbfff663, + 0x4381000c, + 0x33010817, + 0x4382000d, + 0x33020818, + 0x4381000e, + 0x330102bd, + 0x34010000, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0010, + 0xc3a00000, + 0x34060000, + 0x78050003, + 0x330607ae, + 0x38a5fdd0, + 0x28a30000, + 0x7801ff00, + 0x3821ffff, + 0x43020812, + 0xa0611800, + 0x78040003, + 0x204200ff, + 0x3c420010, + 0x78010002, + 0xb8621800, + 0x58a30000, + 0x330606e6, + 0x38848b24, + 0x38214aac, + 0x58810018, + 0x34020001, + 0x78010003, + 0x33020813, + 0x38218b20, + 0x28220000, + 0x78040003, + 0x3884f820, + 0x2c4100d4, + 0x78030003, + 0x38638ba8, + 0x0f010804, + 0x2c4100d6, + 0x0f010806, + 0x2c4100d4, + 0x0f010808, + 0x2c4100d6, + 0x0f01080a, + 0x28810000, + 0x2021ff00, + 0x00210008, + 0x30610006, + 0x3061001f, + 0xc3a00000, + 0x34010000, + 0x33010813, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x2f0107f0, + 0x78030002, + 0x34020000, + 0x38634e00, + 0x44220009, + 0x0f0207f0, + 0x2b0207e8, + 0x34010001, + 0x5c430005, + 0x2b0207ec, + 0xd8400000, + 0x2b0107ec, + 0x5b0107e8, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x78010003, + 0x38218b20, + 0x430207b0, + 0x28230000, + 0xb0401000, + 0xb8400800, + 0x44400010, + 0xe0000003, + 0xb8400800, + 0xc3a00000, + 0x430107b0, + 0xb0200800, + 0x3422ffff, + 0x3c410002, + 0xb4220800, + 0x3c210002, + 0xb4231800, + 0x40610000, + 0x3463ffec, + 0x5c20fff5, + 0x3442ffff, + 0xe3fffffc, + 0xc3a00000, + 0x78010003, + 0x38218b20, + 0x28240000, + 0x430107b0, + 0x288300c4, + 0xb0200800, + 0x34220001, + 0x5043000e, + 0x3c410002, + 0xb8602800, + 0xb4220800, + 0x3c210002, + 0xb4241800, + 0x40610000, + 0x34630014, + 0x44200003, + 0xb8400800, + 0xc3a00000, + 0x34420001, + 0x50450002, + 0xe3fffff9, + 0x430107b0, + 0xb0200800, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x202b00ff, + 0x5d60002a, + 0x78020003, + 0xb8406000, + 0x38428dc5, + 0x40410000, + 0x5c20001f, + 0xfbffffc6, + 0x430207b0, + 0xb0401000, + 0x5c220006, + 0x78010003, + 0x38218dc4, + 0x34020007, + 0x30220000, + 0xe0000008, + 0xfbffffd4, + 0x430207b0, + 0xb0401000, + 0x5c220004, + 0x78010003, + 0x38218dc4, + 0x302b0000, + 0x2f0107f0, + 0xb9805800, + 0x396b8dc5, + 0x2f0207f2, + 0x2021ffff, + 0x2042ffff, + 0xfbfff568, + 0x78020003, + 0x38428dc4, + 0x40420000, + 0x3421ffff, + 0x31610000, + 0x5b0207a0, + 0xe000000d, + 0x3421ffff, + 0x30410000, + 0x430107b0, + 0xb0200800, + 0x5b0107a0, + 0xe0000007, + 0x7d610001, + 0x5c200005, + 0x78010003, + 0x38218dc5, + 0x34020000, + 0x30220000, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x2f0207f0, + 0x34010001, + 0x44400007, + 0x2b0207e8, + 0x5b0207ec, + 0xfbffffbf, + 0x78010002, + 0x38214e00, + 0x5b0107e8, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x28430000, + 0xb8402000, + 0x7806ff00, + 0x2842001c, + 0xb8202800, + 0x38c6ffff, + 0xc8621800, + 0x3c620003, + 0x34010000, + 0xb4431000, + 0xb4431000, + 0x58820004, + 0x4c220004, + 0x28810020, + 0xa0260800, + 0x5c200004, + 0x28810008, + 0xb4220800, + 0x58810008, + 0x28820008, + 0x28a10008, + 0x4c410002, + 0xe0000003, + 0x28a10004, + 0x4c220002, + 0x58810008, + 0x28a10000, + 0x28820008, + 0x28a30014, + 0x94411000, + 0xb4431000, + 0x5882000c, + 0xc3a00000, + 0x2846000c, + 0xb8202800, + 0xb8402000, + 0x2821001c, + 0x28420010, + 0x34070000, + 0xa0c10800, + 0xb4411000, + 0x58820010, + 0x28a3001c, + 0xc8430800, + 0x3421ffff, + 0x50620003, + 0x58810010, + 0x34070001, + 0x28a10020, + 0x80c10800, + 0xb4270800, + 0x58810014, + 0x28a20018, + 0x50410002, + 0x58820014, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x202100ff, + 0x780b0003, + 0x7c230001, + 0x396b8b20, + 0x3702078c, + 0x5c200009, + 0x29610000, + 0x342100a0, + 0xfbffffbd, + 0x29610000, + 0x3702078c, + 0x342100a0, + 0xfbffffda, + 0xe0000004, + 0x5c600003, + 0x34010000, + 0x5b010794, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x78010003, + 0x38218b20, + 0x430207b0, + 0x28230000, + 0xb0401000, + 0xb8400800, + 0x44400011, + 0xe0000003, + 0xb8400800, + 0xc3a00000, + 0x430107b0, + 0xb0200800, + 0x3422ffff, + 0x3c410002, + 0xb4220800, + 0x3c210002, + 0xb4230800, + 0x34230011, + 0x40610000, + 0x3463ffec, + 0x5c20fff4, + 0x3442ffff, + 0xe3fffffc, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x78010003, + 0x38218b20, + 0x282c0000, + 0x7802c050, + 0x384200d8, + 0x28410000, + 0x4420ffff, + 0x340b0000, + 0x7801c020, + 0xb9601800, + 0x38210130, + 0x330b07b2, + 0x34020004, + 0xfbfffe5b, + 0x430207b1, + 0x78030003, + 0x38638b88, + 0xb0401000, + 0x3c410002, + 0x7808c020, + 0xb4220800, + 0x3c210002, + 0x39080014, + 0xb42c0800, + 0x2821000c, + 0x7806e3ff, + 0x78071c00, + 0x58610004, + 0x430107b1, + 0x38c6ffff, + 0x38e70000, + 0x330107b0, + 0x430207b1, + 0x78050003, + 0x78040002, + 0xb0401000, + 0x3c410002, + 0x38a58b24, + 0xb4220800, + 0x3c210002, + 0x388456c0, + 0xb42c0800, + 0x40220010, + 0x5b0207a8, + 0x29030000, + 0xb9600800, + 0x430207b0, + 0xa0661800, + 0x3c42001a, + 0x58a40004, + 0xa0471000, + 0xb8621800, + 0x59030000, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x78010003, + 0x38218b20, + 0x28260000, + 0x7802c050, + 0x384200d8, + 0x28410000, + 0x4420ffff, + 0x430207b1, + 0x78030003, + 0x38638b88, + 0xb0401000, + 0x3c410002, + 0x7805c020, + 0xb4220800, + 0x3c210002, + 0x38a50014, + 0xb4260800, + 0x2821000c, + 0x78041c00, + 0x38840000, + 0x58610004, + 0x430107b1, + 0x7803e3ff, + 0x3863ffff, + 0x330107b0, + 0x430207b1, + 0xb0401000, + 0x3c410002, + 0xb4220800, + 0x3c210002, + 0xb4260800, + 0x40210010, + 0x5b0107a8, + 0x28a20000, + 0x430107b0, + 0xa0431000, + 0x3c21001a, + 0xa0240800, + 0xb8411000, + 0x58a20000, + 0x430107b2, + 0x202400ff, + 0x5c800027, + 0x430107b6, + 0x5c200010, + 0x7801c020, + 0x38210114, + 0x58240000, + 0x330407b7, + 0x78030003, + 0x78020002, + 0x78010003, + 0x33040761, + 0x38218ba8, + 0x38638b24, + 0x38424a68, + 0x58620004, + 0x3024001a, + 0x30240001, + 0xe0000021, + 0x430107b8, + 0x7803c020, + 0x78050003, + 0x44200009, + 0x78010002, + 0x38630114, + 0x38a58b24, + 0x38215e24, + 0x58a10004, + 0x58640000, + 0x330407b7, + 0xe0000015, + 0x34020001, + 0x38630114, + 0x58620000, + 0x78010002, + 0x330207b7, + 0x38a58b24, + 0x382156c0, + 0x58a10004, + 0xe000000c, + 0x34030000, + 0x7801c020, + 0x38210130, + 0x34020004, + 0x330307b2, + 0xfbfffdd6, + 0x78020003, + 0x78010002, + 0x38428b24, + 0x382156c0, + 0x58410004, + 0x34010000, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x202100ff, + 0x3c220002, + 0x78030003, + 0xb4411000, + 0x38638b20, + 0x28610000, + 0x3c420002, + 0xb4411000, + 0x40410011, + 0x5c200004, + 0x40410000, + 0xb8201000, + 0x44200002, + 0x34020001, + 0xb8400800, + 0xc3a00000, + 0x379cffe8, + 0x5b8b0018, + 0x5b8c0014, + 0x5b8d0010, + 0x5b8e000c, + 0x5b8f0008, + 0x5b9d0004, + 0x430107b2, + 0x5c200038, + 0x780d0003, + 0x78010002, + 0x38215380, + 0x39ad8b24, + 0x59a10004, + 0x430107b8, + 0x44200004, + 0x430107b9, + 0x330107b1, + 0xe0000028, + 0x780c0003, + 0x398c8b20, + 0x29810000, + 0x402b00ca, + 0x216100ff, + 0xfbffffd8, + 0x44200006, + 0x330b07b1, + 0x29810000, + 0x402100c9, + 0x33010761, + 0xe000001c, + 0x430107b6, + 0x7802c020, + 0x202300ff, + 0x5c60000d, + 0x38420114, + 0x58430000, + 0x330307b7, + 0x78020002, + 0x78010003, + 0x33030761, + 0x38218ba8, + 0x38424a68, + 0x59a20004, + 0x3023001a, + 0x30230001, + 0xe0000099, + 0x34010001, + 0x38420114, + 0x58410000, + 0x330107b7, + 0x29820000, + 0x78010002, + 0x382156c0, + 0x59a10004, + 0x404100c9, + 0x33010761, + 0xe000008e, + 0x34030001, + 0x7801c020, + 0x330307b2, + 0x38210130, + 0x34020004, + 0xfbfffd7d, + 0x430207b1, + 0x780e0003, + 0x39ce8b20, + 0xb0401000, + 0x3c410002, + 0x29c30000, + 0xb4220800, + 0x3c210002, + 0x34020001, + 0xb4230800, + 0x28210004, + 0x340b0000, + 0x780dc050, + 0x2021ffff, + 0xf8001524, + 0x330b07b5, + 0x330b07b3, + 0x330b07b4, + 0x7804c020, + 0x330b07b5, + 0x38840014, + 0x28830000, + 0x78011fff, + 0x3821ffff, + 0x430207b1, + 0xa0611800, + 0x7801c020, + 0x3c42001d, + 0x38210130, + 0xb8621800, + 0x58830000, + 0x34020004, + 0x330b07b2, + 0xb9601800, + 0xfbfffd5a, + 0x78020003, + 0x78010002, + 0x38428b24, + 0x382151b8, + 0x58410004, + 0x430207b1, + 0x29c70000, + 0x39ad00d4, + 0xb0401000, + 0x3c410002, + 0xb4220800, + 0x3c210002, + 0xb4270800, + 0x40210001, + 0x59a10000, + 0x430207b1, + 0xb0401000, + 0x3c410002, + 0xb4220800, + 0x3c210002, + 0xb4270800, + 0x40210012, + 0x20280008, + 0x450b0010, + 0x7803c050, + 0x386301c8, + 0x28610000, + 0x3402fe3f, + 0x7804c050, + 0xa0220800, + 0x58610000, + 0x38840118, + 0x28810000, + 0x34020001, + 0x38210002, + 0x58810000, + 0x59ab0000, + 0x33020919, + 0xe000003d, + 0x430107b1, + 0x780cc050, + 0x780fc050, + 0xb0200800, + 0x3c220002, + 0xb4411000, + 0x3c420002, + 0xb4471000, + 0x40410012, + 0x20210002, + 0x4420001b, + 0xb9802000, + 0x388401c8, + 0x28830000, + 0x3401fe3f, + 0xb9e02800, + 0x430207b1, + 0xa0611800, + 0x38a50118, + 0xb0401000, + 0x3c410002, + 0x34060001, + 0xb4220800, + 0x3c210002, + 0x3402fffd, + 0xb4270800, + 0x40210012, + 0x3c210006, + 0x202101c0, + 0xb8611800, + 0x58830000, + 0x28a10000, + 0xa0220800, + 0x58a10000, + 0x59a80000, + 0x33060919, + 0xe0000018, + 0x330b0919, + 0xf8001c2d, + 0x430207b1, + 0x29c30000, + 0xb9802800, + 0xb0401000, + 0x3c410002, + 0x38a501c8, + 0xb4220800, + 0x3c210002, + 0x3402fe3f, + 0xb4230800, + 0x40210001, + 0xb9e02000, + 0x38840118, + 0x59a10000, + 0x28a10000, + 0xa0220800, + 0x58a10000, + 0x28810000, + 0x3402fffd, + 0xa0220800, + 0x58810000, + 0xfbfffec8, + 0x34010000, + 0x2b8b0018, + 0x2b8c0014, + 0x2b8d0010, + 0x2b8e000c, + 0x2b8f0008, + 0x2b9d0004, + 0x379c0018, + 0xc3a00000, + 0x379cffe4, + 0x5b8b001c, + 0x5b8c0018, + 0x5b8d0014, + 0x5b8e0010, + 0x5b8f000c, + 0x5b900008, + 0x5b9d0004, + 0x780d0003, + 0xb9a00800, + 0x38218b20, + 0x282c0000, + 0xb9a07000, + 0x430107b6, + 0x44200004, + 0x430107b8, + 0x64210001, + 0x44200004, + 0xfbffff1e, + 0x34010000, + 0xe00001bc, + 0x430107c5, + 0x7c210001, + 0x5c200028, + 0x34010000, + 0x330107c5, + 0x430207b0, + 0xb0401000, + 0x3c410002, + 0xb4220800, + 0x3c210002, + 0xb42c0800, + 0x402b0000, + 0x5d60003e, + 0xfbfffd96, + 0x430207b0, + 0xb0401000, + 0x4422000c, + 0x34010007, + 0x5b0107a0, + 0x430207b0, + 0xb0401000, + 0x3c410002, + 0xb4220800, + 0x3c210002, + 0xb42c0800, + 0x4021000a, + 0x330107b3, + 0xe000002f, + 0xfbfffd70, + 0x430207b0, + 0xb0401000, + 0x4422002b, + 0x5b0b07a0, + 0x430107b0, + 0xb0200800, + 0x3c220002, + 0xb4411000, + 0x3c420002, + 0xb44c1000, + 0x4041000b, + 0x330107b4, + 0xe0000021, + 0x7805c020, + 0xb8a01000, + 0x38420114, + 0x7803c020, + 0x34010000, + 0x58410000, + 0x38630118, + 0x28640000, + 0x4c80ffff, + 0x780200ff, + 0x3842ffff, + 0x7801c020, + 0xa0821000, + 0x3821011c, + 0x28210000, + 0x08420064, + 0x38a50114, + 0x780b0003, + 0x8c411000, + 0x396bf900, + 0x340300e0, + 0x5b02078c, + 0x34010001, + 0x58a10000, + 0x2b02078c, + 0x29610020, + 0x3c420008, + 0xfbfff2d6, + 0x2b0207e8, + 0x59610020, + 0x34010000, + 0xd8400000, + 0x430107b2, + 0x202b00ff, + 0x5d60016e, + 0x430107b0, + 0x2b0207a0, + 0xb0200800, + 0x54220004, + 0x430107ae, + 0x64210002, + 0x442000a5, + 0x430107ae, + 0x7c210002, + 0x5c200015, + 0x34010001, + 0x330107ae, + 0x430307b0, + 0xb9c01000, + 0x38428b20, + 0xb0601800, + 0x3c610002, + 0x28420000, + 0xb4230800, + 0x3c210002, + 0xb4220800, + 0x4021000b, + 0x34210001, + 0x330107b4, + 0xfbfffdee, + 0x330107b1, + 0x430107b0, + 0xb0200800, + 0x5b0107a0, + 0xe0000006, + 0x430107b4, + 0x34210001, + 0x330107b4, + 0xfbfffd1e, + 0x330107b1, + 0x430207b0, + 0x780d0003, + 0x39ad8b20, + 0xb0401000, + 0x3c410002, + 0x29a30000, + 0xb4220800, + 0x3c210002, + 0x430207b4, + 0xb4230800, + 0x4021000b, + 0x204200ff, + 0x5022011f, + 0x34100000, + 0x331007b4, + 0x430207b0, + 0x430107b1, + 0xb0401000, + 0xb0200800, + 0x44410118, + 0x340f0001, + 0x7801c020, + 0x38210130, + 0x34020004, + 0xb9e01800, + 0x330f07b2, + 0xfbfffc4d, + 0x7805c020, + 0x38a50014, + 0x28a40000, + 0x78011fff, + 0x3821ffff, + 0x430207b1, + 0xa0812000, + 0x78030003, + 0x3c42001d, + 0x78010002, + 0xb8822000, + 0x382150c0, + 0x38638b24, + 0x58a40000, + 0x58610004, + 0x430207b1, + 0x29a60000, + 0x780cc050, + 0xb0401000, + 0x3c410002, + 0x398c00d4, + 0xb4220800, + 0x3c210002, + 0xb4260800, + 0x40210001, + 0x59810000, + 0x430207b1, + 0xb0401000, + 0x3c410002, + 0xb4220800, + 0x3c210002, + 0xb4260800, + 0x40210012, + 0x20270008, + 0x44f0000e, + 0x7803c050, + 0x386301c8, + 0x28610000, + 0x3402fe3f, + 0x7804c050, + 0xa0220800, + 0x58610000, + 0x38840118, + 0x28810000, + 0x38210002, + 0x58810000, + 0x59900000, + 0xe0000023, + 0x430107b1, + 0x780bc050, + 0x780ec050, + 0xb0200800, + 0x3c220002, + 0xb4411000, + 0x3c420002, + 0xb4461000, + 0x40410012, + 0x20210002, + 0x4420001a, + 0xb9602000, + 0x388401c8, + 0x28830000, + 0x3401fe3f, + 0xb9c02800, + 0x430207b1, + 0xa0611800, + 0x38a50118, + 0xb0401000, + 0x3c410002, + 0xb4220800, + 0x3c210002, + 0x3402fffd, + 0xb4260800, + 0x40210012, + 0x3c210006, + 0x202101c0, + 0xb8611800, + 0x58830000, + 0x28a10000, + 0xa0220800, + 0x58a10000, + 0x59870000, + 0x330f0919, + 0xe0000018, + 0x33100919, + 0xf8001b18, + 0x430207b1, + 0x29a30000, + 0xb9602800, + 0xb0401000, + 0x3c410002, + 0x38a501c8, + 0xb4220800, + 0x3c210002, + 0x3402fe3f, + 0xb4230800, + 0x40210001, + 0xb9c02000, + 0x38840118, + 0x59810000, + 0x28a10000, + 0xa0220800, + 0x58a10000, + 0x28810000, + 0x3402fffd, + 0xa0220800, + 0x58810000, + 0xfbfffd75, + 0xe00000a4, + 0x430107ae, + 0x7c210001, + 0x442000a1, + 0x430107b0, + 0x2b0207a0, + 0xb0200800, + 0x5022009d, + 0x430107b3, + 0xb9a07800, + 0x39ef8b20, + 0x34210001, + 0x330107b3, + 0xfbfffc9f, + 0x330107b1, + 0x330b07b5, + 0x430207b0, + 0x29e40000, + 0xb0401000, + 0x3c410002, + 0x430307b3, + 0xb4220800, + 0x3c210002, + 0x206300ff, + 0xb4240800, + 0x4021000a, + 0x5023008a, + 0x430207b0, + 0x430107b1, + 0xb0401000, + 0xb0200800, + 0x44410082, + 0x430307b1, + 0x34020001, + 0xb8406800, + 0xb0601800, + 0x3c610002, + 0x780cc050, + 0xb4230800, + 0x3c210002, + 0x398c00d4, + 0xb4240800, + 0x28210004, + 0x2021ffff, + 0xf800136a, + 0x7801c020, + 0x38210130, + 0x34020004, + 0xb9a01800, + 0x330d07b2, + 0xfbfffbae, + 0x330b07b3, + 0x330b07b4, + 0x7805c020, + 0x330b07b5, + 0x38a50014, + 0x28a40000, + 0x78011fff, + 0x3821ffff, + 0x430207b1, + 0xa0812000, + 0x78030003, + 0x3c42001d, + 0x78010002, + 0xb8822000, + 0x382151b8, + 0x38638b24, + 0x58a40000, + 0x58610004, + 0x430207b1, + 0x29e60000, + 0xb0401000, + 0x3c410002, + 0xb4220800, + 0x3c210002, + 0xb4260800, + 0x40210001, + 0x59810000, + 0x430207b1, + 0xb0401000, + 0x3c410002, + 0xb4220800, + 0x3c210002, + 0xb4260800, + 0x40210012, + 0x20270008, + 0x44e0000e, + 0x7803c050, + 0x386301c8, + 0x28610000, + 0x3402fe3f, + 0x7804c050, + 0xa0220800, + 0x58610000, + 0x38840118, + 0x28810000, + 0x38210002, + 0x58810000, + 0x598b0000, + 0xe0000023, + 0x430107b1, + 0x780bc050, + 0x780ec050, + 0xb0200800, + 0x3c220002, + 0xb4411000, + 0x3c420002, + 0xb4461000, + 0x40410012, + 0x20210002, + 0x4420001a, + 0xb9602000, + 0x388401c8, + 0x28830000, + 0x3401fe3f, + 0xb9c02800, + 0x430207b1, + 0xa0611800, + 0x38a50118, + 0xb0401000, + 0x3c410002, + 0xb4220800, + 0x3c210002, + 0x3402fffd, + 0xb4260800, + 0x40210012, + 0x3c210006, + 0x202101c0, + 0xb8611800, + 0x58830000, + 0x28a10000, + 0xa0220800, + 0x58a10000, + 0x59870000, + 0x330d0919, + 0xe0000018, + 0x33010919, + 0xf8001a78, + 0x430207b1, + 0x29e30000, + 0xb9602800, + 0xb0401000, + 0x3c410002, + 0x38a501c8, + 0xb4220800, + 0x3c210002, + 0x3402fe3f, + 0xb4230800, + 0x40210001, + 0xb9c02000, + 0x38840118, + 0x59810000, + 0x28a10000, + 0xa0220800, + 0x58a10000, + 0x28810000, + 0x3402fffd, + 0xa0220800, + 0x58810000, + 0xfbfffd13, + 0xe0000004, + 0x430107b3, + 0x3421ffff, + 0x330107b3, + 0x430107b0, + 0x2b0207a0, + 0xb0200800, + 0x5441001c, + 0x430107b5, + 0x78050003, + 0x38a58b20, + 0x34210001, + 0x330107b5, + 0x430207b0, + 0x28a40000, + 0xb0401000, + 0x3c410002, + 0x430307b5, + 0xb4220800, + 0x3c210002, + 0x206300ff, + 0xb4240800, + 0x40210003, + 0x5023000c, + 0x34010000, + 0x330107b5, + 0x430207b0, + 0x28a30000, + 0xb0401000, + 0x3c410002, + 0xb4220800, + 0x3c210002, + 0xb4230800, + 0x28210004, + 0x0f01074a, + 0x34010001, + 0x2b8b001c, + 0x2b8c0018, + 0x2b8d0014, + 0x2b8e0010, + 0x2b8f000c, + 0x2b900008, + 0x2b9d0004, + 0x379c001c, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x430107b8, + 0x7805c020, + 0x78040003, + 0x78020002, + 0x38a50114, + 0x34060001, + 0x38848b24, + 0x384256c0, + 0x202100ff, + 0x34030000, + 0x44230008, + 0x430207b9, + 0x430107b0, + 0x204200ff, + 0xb0200800, + 0x44410007, + 0xfbfffd45, + 0xe0000004, + 0x58a60000, + 0x330607b7, + 0x58820004, + 0xb8201800, + 0xb8600800, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x78010003, + 0x38218b20, + 0x28210000, + 0x402100c8, + 0x44200010, + 0x430107b7, + 0x5c20000f, + 0x430107b8, + 0x34020001, + 0x5c20000c, + 0x330207b6, + 0xfbfffd2e, + 0x78010003, + 0x3821f820, + 0x28220000, + 0x78010003, + 0x38218ba8, + 0x30220001, + 0x3022001a, + 0xe0000002, + 0x330107b6, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x430107b7, + 0x340b0000, + 0x5c2b002b, + 0x430107b8, + 0x5c2b0029, + 0x34010001, + 0x330107b6, + 0xfbfffd17, + 0x78010003, + 0x3821f820, + 0x28220000, + 0x78030003, + 0x3863f818, + 0x78010003, + 0x38218ba8, + 0x30220001, + 0x3022001a, + 0x28620000, + 0x78010003, + 0x38218b20, + 0x28210000, + 0x38420004, + 0x58620000, + 0x282300c4, + 0xb9601000, + 0x51630011, + 0xb8202800, + 0xb8602000, + 0x34060001, + 0x3c410002, + 0xbcc21800, + 0xb4220800, + 0x3c210002, + 0x34420001, + 0xb4250800, + 0x40210000, + 0xb9631800, + 0x204200ff, + 0x44200002, + 0x206b00ff, + 0x50440002, + 0xe3fffff4, + 0x78010003, + 0x3821f900, + 0x302b0026, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x34010000, + 0x78030003, + 0x330107b6, + 0x3863f818, + 0x28610000, + 0x3402fffb, + 0xa0220800, + 0x58610000, + 0xc3a00000, + 0x202400ff, + 0x340100ff, + 0x44800011, + 0x7802c050, + 0x384200d8, + 0x28410000, + 0x20210001, + 0x4420fffe, + 0x7801c050, + 0x382100d4, + 0x7803c050, + 0x58240000, + 0x386300d8, + 0x28610000, + 0x18210001, + 0x20220001, + 0x64410000, + 0x4420fffc, + 0xb8400800, + 0xc3a00000, + 0x7802e000, + 0x38423020, + 0x28420000, + 0x08420064, + 0x3c420008, + 0x8c411800, + 0x00610008, + 0x00620006, + 0x34240040, + 0x204200ff, + 0x34011fff, + 0x50230003, + 0x208200ff, + 0xe0000008, + 0xb4630800, + 0x3421e000, + 0x00240008, + 0x34010fff, + 0x50230003, + 0x34810040, + 0x202200ff, + 0x74410007, + 0x5c200002, + 0x34020008, + 0x204100ff, + 0xc3a00000, + 0x78020003, + 0x3842f000, + 0x4043004e, + 0x34040000, + 0x34020001, + 0xbc411000, + 0x48610002, + 0xe0000004, + 0x2b010094, + 0xa0220800, + 0x7c240000, + 0xb8800800, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x780c0003, + 0x4301008a, + 0xb9801000, + 0x3842f000, + 0x4042004e, + 0x34210001, + 0x202b00ff, + 0x5162000d, + 0xb9600800, + 0xfbffffe6, + 0xb9801800, + 0x3863f000, + 0x35620001, + 0x44200003, + 0xb9600800, + 0xe0000007, + 0x4061004e, + 0x204b00ff, + 0x51610002, + 0xe3fffff5, + 0x4301008a, + 0x202100ff, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x78010003, + 0x3821f000, + 0x4021004e, + 0x4302008a, + 0x3421ffff, + 0x202b00ff, + 0x204200ff, + 0x504b000c, + 0xb9600800, + 0xfbffffc8, + 0x3562ffff, + 0x44200003, + 0xb9600800, + 0xe0000008, + 0x4301008a, + 0x204b00ff, + 0x202100ff, + 0x502b0002, + 0xe3fffff6, + 0x4301008a, + 0x202100ff, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x4301008a, + 0x202100ff, + 0x342bffff, + 0x34010000, + 0x482b0008, + 0xb9600800, + 0xfbffffaf, + 0x44200003, + 0x216100ff, + 0xe0000005, + 0x356bffff, + 0xe3fffff9, + 0x4301008a, + 0x202100ff, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0xb8206000, + 0x4021000c, + 0x20260008, + 0x44c00011, + 0x7803c050, + 0x386301c8, + 0x28610000, + 0x34028fff, + 0x7804c050, + 0xa0220800, + 0x58610000, + 0x38840118, + 0x28810000, + 0x7802c050, + 0x384200a4, + 0x38210010, + 0x58810000, + 0x34010000, + 0x58410000, + 0xe0000015, + 0x20220002, + 0x780bc050, + 0x44400015, + 0x7805c050, + 0x38a501c8, + 0x28a30000, + 0x3c21000c, + 0x34028fff, + 0xa0621800, + 0x20217000, + 0xb8611800, + 0x7804c050, + 0x58a30000, + 0x38840118, + 0x28810000, + 0x3402ffef, + 0x396b00a4, + 0xa0220800, + 0x58810000, + 0x59660000, + 0x34010001, + 0x3301091b, + 0xe0000017, + 0x3302091b, + 0xf8001906, + 0x4181000a, + 0x396b00a4, + 0x7802c050, + 0x59610000, + 0x384200a8, + 0x28410000, + 0x20210001, + 0x4420fffe, + 0x7803c050, + 0x386301c8, + 0x28610000, + 0x34028fff, + 0x7804c050, + 0xa0220800, + 0x58610000, + 0x38840118, + 0x28810000, + 0x3402ffef, + 0xa0220800, + 0x58810000, + 0x4181000d, + 0x20260008, + 0x44c00011, + 0x7803c050, + 0x386301c8, + 0x28610000, + 0x3402f1ff, + 0x7804c050, + 0xa0220800, + 0x58610000, + 0x38840118, + 0x28810000, + 0x7802c050, + 0x3842009c, + 0x38210008, + 0x58810000, + 0x34010000, + 0x58410000, + 0xe0000015, + 0x20220002, + 0x780bc050, + 0x44400015, + 0x7805c050, + 0x38a501c8, + 0x28a30000, + 0x3c210009, + 0x3402f1ff, + 0xa0621800, + 0x20210e00, + 0xb8611800, + 0x7804c050, + 0x58a30000, + 0x38840118, + 0x28810000, + 0x3402fff7, + 0x396b009c, + 0xa0220800, + 0x58810000, + 0x59660000, + 0x34010001, + 0x3301091c, + 0xe0000017, + 0x3302091c, + 0xf80018c6, + 0x4181000b, + 0x396b009c, + 0x7802c050, + 0x59610000, + 0x384200a0, + 0x28410000, + 0x20210001, + 0x4420fffe, + 0x7803c050, + 0x386301c8, + 0x28610000, + 0x3402f1ff, + 0x7804c050, + 0xa0220800, + 0x58610000, + 0x38840118, + 0x28810000, + 0x3402fff7, + 0xa0220800, + 0x58810000, + 0x29820000, + 0x78010003, + 0x38218b88, + 0x58220008, + 0x298c0004, + 0x582c000c, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x2f02073c, + 0x78030003, + 0x3863f148, + 0x2f010754, + 0x34050000, + 0x54220025, + 0x4301008b, + 0x202100ff, + 0x3c210004, + 0xb4230800, + 0xfbffff64, + 0x4303008b, + 0x78020003, + 0x78010002, + 0x3303008a, + 0x38428b24, + 0x38216788, + 0x58410030, + 0x43020089, + 0x43010088, + 0x5c220009, + 0x4301008d, + 0x34030000, + 0x34020001, + 0x44230003, + 0x3303008d, + 0xe0000005, + 0x33020087, + 0xe0000003, + 0x43010088, + 0x33010089, + 0x7804e000, + 0x38843028, + 0x28830000, + 0x3402f1ff, + 0x34050001, + 0x4301008a, + 0xa0621800, + 0x3c210009, + 0x20210e00, + 0xb8611800, + 0x58830000, + 0xb8a00800, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x7805e000, + 0x38a53028, + 0x28a20000, + 0x202100ff, + 0x3c230006, + 0x3404fe3f, + 0xa0441000, + 0x206301c0, + 0xb8431000, + 0x58a20000, + 0x3301008b, + 0x34030001, + 0x3c210004, + 0x78020003, + 0x33030766, + 0x3842f148, + 0x33030766, + 0xb4220800, + 0x2c210008, + 0x34020006, + 0xf80010f5, + 0x78020003, + 0x78010002, + 0x38428b24, + 0x3821645c, + 0x58410030, + 0xfbffffb4, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x4301008c, + 0x340b0000, + 0x442b0016, + 0x330b008c, + 0x43010086, + 0x5c2b0013, + 0x4302008a, + 0x340c0001, + 0x2b010094, + 0xbd821000, + 0xa0220800, + 0x5c2b000d, + 0xfbfffec0, + 0xb8205800, + 0x4301008a, + 0x202100ff, + 0x5c2b0003, + 0xfbfffef6, + 0xb8205800, + 0x4301008a, + 0x202100ff, + 0x442b0003, + 0x330c008d, + 0xe0000049, + 0x4301008e, + 0x202c00ff, + 0x5d800025, + 0x43010086, + 0x202b00ff, + 0x65610002, + 0x5c200012, + 0x69610002, + 0x5c200004, + 0x65610001, + 0x5c200005, + 0xe0000043, + 0x65610004, + 0x5c200012, + 0xe0000040, + 0xfbfffea5, + 0x330c0086, + 0x4302008a, + 0x204200ff, + 0x5c410036, + 0x34010002, + 0x33010087, + 0xb9600800, + 0xe0000038, + 0xfbfffed7, + 0x330c0086, + 0x4302008a, + 0x204200ff, + 0x5c41002d, + 0x330b0087, + 0xe0000030, + 0xfbfffeb4, + 0x330c0086, + 0x4302008a, + 0x204200ff, + 0x5c410026, + 0x34010001, + 0x33010087, + 0xe0000029, + 0x2f01009c, + 0x5c200023, + 0x4301008e, + 0x7c210001, + 0x5c20000a, + 0xfbfffe88, + 0xb8205800, + 0x4301008a, + 0x202100ff, + 0x5c2b0011, + 0x34010002, + 0x3301008e, + 0xfbfffebc, + 0xe000000c, + 0x4301008e, + 0x7c210002, + 0x5c20000a, + 0xfbfffeb7, + 0xb8205800, + 0x4301008a, + 0x202100ff, + 0x5c2b0005, + 0x34010001, + 0x3301008e, + 0xfbfffe75, + 0xb8205800, + 0x2f010098, + 0x2f02009a, + 0x2021ffff, + 0x2042ffff, + 0xfbffef41, + 0x3421ffff, + 0x0f01009c, + 0xb9600800, + 0xfbffff7b, + 0xe0000005, + 0x2f01009c, + 0x3421ffff, + 0x0f01009c, + 0x34010001, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x2f010098, + 0x34020000, + 0x34030001, + 0x44220003, + 0x0f02009c, + 0x3303008e, + 0xc3a00000, + 0x34010000, + 0x3301008e, + 0x0f010098, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x43020088, + 0x43010089, + 0x4422006f, + 0x43010088, + 0x5c200068, + 0x430100a2, + 0x7804c050, + 0x7805c050, + 0x7806c050, + 0x5c200018, + 0x388401c8, + 0x28830000, + 0x34028fff, + 0x38a50118, + 0x4301009e, + 0xa0621800, + 0x3402ffef, + 0x3c21000c, + 0x38c600a4, + 0x20217000, + 0xb8611800, + 0x58830000, + 0x28a30000, + 0x430100a0, + 0xa0621800, + 0x3c210004, + 0x20210010, + 0xb8611800, + 0x58a30000, + 0x430100a2, + 0x202100ff, + 0x58c10000, + 0xe0000017, + 0x430100a2, + 0x38c600a4, + 0x388401c8, + 0x202100ff, + 0x58c10000, + 0x28830000, + 0x34028fff, + 0x38a50118, + 0x4301009e, + 0xa0621800, + 0x3402ffef, + 0x3c21000c, + 0x20217000, + 0xb8611800, + 0x58830000, + 0x28a30000, + 0x430100a0, + 0xa0621800, + 0x3c210004, + 0x20210010, + 0xb8611800, + 0x58a30000, + 0x430100a3, + 0x7804c050, + 0x7805c050, + 0x7806c050, + 0x5c200018, + 0x388401c8, + 0x28830000, + 0x3402f1ff, + 0x38a50118, + 0x4301009f, + 0xa0621800, + 0x3402fff7, + 0x3c210009, + 0x38c6009c, + 0x20210e00, + 0xb8611800, + 0x58830000, + 0x28a30000, + 0x430100a1, + 0xa0621800, + 0x3c210003, + 0x20210008, + 0xb8611800, + 0x58a30000, + 0x430100a3, + 0x202100ff, + 0x58c10000, + 0xe0000017, + 0x430100a3, + 0x38c6009c, + 0x388401c8, + 0x202100ff, + 0x58c10000, + 0x28830000, + 0x3402f1ff, + 0x38a50118, + 0x4301009f, + 0xa0621800, + 0x3402fff7, + 0x3c210009, + 0x20210e00, + 0xb8611800, + 0x58830000, + 0x28a30000, + 0x430100a1, + 0xa0621800, + 0x3c210003, + 0x20210008, + 0xb8611800, + 0x58a30000, + 0x34010000, + 0x33010089, + 0xe0000006, + 0x78010003, + 0x3821f000, + 0x402102e8, + 0xfbfffef4, + 0xe0000007, + 0x43010089, + 0x202100ff, + 0x44200003, + 0xfbffff0f, + 0xe0000002, + 0x33010766, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x78010003, + 0x3821f900, + 0x28210008, + 0x78060003, + 0x78070003, + 0x78050003, + 0x78040002, + 0x78030003, + 0x38c68ba8, + 0x38e7f000, + 0x38a58b24, + 0x38846788, + 0x34080001, + 0x34020000, + 0x38638b88, + 0x20210010, + 0x4422000c, + 0x40e702ec, + 0x58a40030, + 0x30c80025, + 0x30c7000c, + 0x33020086, + 0x33020766, + 0x33020089, + 0x5862000c, + 0x58620008, + 0x33080088, + 0xc3a00000, + 0x33010088, + 0xc3a00000, + 0x379cfff0, + 0x5b8b0010, + 0x5b8c000c, + 0x5b8d0008, + 0x5b8e0004, + 0x43010088, + 0x7804c050, + 0x7805c050, + 0x7803c050, + 0x7806c050, + 0x78090003, + 0x780c0003, + 0x780b0003, + 0x780a0002, + 0x78070003, + 0x78080003, + 0x780d0003, + 0x388400a4, + 0x38a5009c, + 0x386301c8, + 0x38c60118, + 0x39298ba8, + 0x398cf000, + 0x396b8b24, + 0x394a6788, + 0x340e0001, + 0x38e78b88, + 0x3908f818, + 0x39adf900, + 0x202200ff, + 0x5c400026, + 0x28810000, + 0x2021007f, + 0x330100a2, + 0x28a10000, + 0x2021007f, + 0x330100a3, + 0x28610000, + 0x20217000, + 0x0021000c, + 0x3301009e, + 0x28610000, + 0x20210e00, + 0x00210009, + 0x3301009f, + 0x28c10000, + 0x20210010, + 0x00210004, + 0x330100a0, + 0x28c10000, + 0x20210008, + 0x00210003, + 0x330100a1, + 0x418c02ec, + 0x312e0025, + 0x596a0030, + 0x312c000c, + 0x33020086, + 0x33020766, + 0x33020089, + 0x58e2000c, + 0x58e20008, + 0x330e0088, + 0x29010000, + 0x38210008, + 0x59010000, + 0x2b010094, + 0x31a10028, + 0x2b8b0010, + 0x2b8c000c, + 0x2b8d0008, + 0x2b8e0004, + 0x379c0010, + 0xc3a00000, + 0x34010000, + 0x78030003, + 0x33010088, + 0x3863f818, + 0x28610000, + 0x3402fff7, + 0xa0220800, + 0x58610000, + 0xc3a00000, + 0x78020003, + 0x3842f000, + 0x40430051, + 0x34040000, + 0x34020001, + 0xbc411000, + 0x48610002, + 0xe0000004, + 0x2b010108, + 0xa0220800, + 0x7c240000, + 0xb8800800, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x780c0003, + 0x430100f9, + 0xb9801000, + 0x3842f000, + 0x40420051, + 0x34210001, + 0x202b00ff, + 0x5162000d, + 0xb9600800, + 0xfbffffe6, + 0xb9801800, + 0x3863f000, + 0x35620001, + 0x44200003, + 0xb9600800, + 0xe0000007, + 0x40610051, + 0x204b00ff, + 0x51610002, + 0xe3fffff5, + 0x430100f9, + 0x202100ff, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x78010003, + 0x3821f000, + 0x40210051, + 0x430200f9, + 0x3421ffff, + 0x202b00ff, + 0x204200ff, + 0x504b000c, + 0xb9600800, + 0xfbffffc8, + 0x3562ffff, + 0x44200003, + 0xb9600800, + 0xe0000008, + 0x430100f9, + 0x204b00ff, + 0x202100ff, + 0x502b0002, + 0xe3fffff6, + 0x430100f9, + 0x202100ff, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x430100f9, + 0x202100ff, + 0x342bffff, + 0x34010000, + 0x482b0008, + 0xb9600800, + 0xfbffffaf, + 0x44200003, + 0x216100ff, + 0xe0000005, + 0x356bffff, + 0xe3fffff9, + 0x430100f9, + 0x202100ff, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x40230007, + 0xb8206000, + 0x20660008, + 0x44c00012, + 0x7803c050, + 0x386301c8, + 0x28620000, + 0x7801f8ff, + 0x3821ffff, + 0xa0411000, + 0x7804c050, + 0x58620000, + 0x38840118, + 0x28810000, + 0x7802c050, + 0x384200e4, + 0x38210400, + 0x58810000, + 0x34010000, + 0x58410000, + 0xe0000018, + 0x20610002, + 0x780bc050, + 0x44200018, + 0x7805c050, + 0x38a501c8, + 0x28a40000, + 0x3c630018, + 0x7801f8ff, + 0x78020700, + 0x3821ffff, + 0x38420000, + 0xa0621800, + 0xa0812000, + 0xb8832000, + 0x7803c050, + 0x58a40000, + 0x38630118, + 0x28610000, + 0x3402fbff, + 0x396b00e4, + 0xa0220800, + 0x58610000, + 0x59660000, + 0x34010001, + 0x33010921, + 0xe0000018, + 0x33010921, + 0xf800165d, + 0x41810006, + 0x396b00e4, + 0x7802c050, + 0x59610000, + 0x384200e8, + 0x28410000, + 0x20210001, + 0x4420fffe, + 0x7804c050, + 0x388401c8, + 0x28820000, + 0x7801f8ff, + 0x3821ffff, + 0xa0411000, + 0x7803c050, + 0x58820000, + 0x38630118, + 0x28610000, + 0x3402fbff, + 0xa0220800, + 0x58610000, + 0x298c0000, + 0x78010003, + 0x38218b88, + 0x582c0010, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x2f02073c, + 0x78030003, + 0x3863f288, + 0x2f01075a, + 0x34060000, + 0x5422002a, + 0x430200fa, + 0x204200ff, + 0x3c410001, + 0xb4220800, + 0x3c210002, + 0xb4230800, + 0xfbffff9f, + 0x430300fa, + 0x78020003, + 0x78010002, + 0x330300f9, + 0x38428b24, + 0x3821714c, + 0x5841003c, + 0x430200f8, + 0x430100f7, + 0x5c220009, + 0x430100fe, + 0x34030000, + 0x34020001, + 0x44230003, + 0x330300fe, + 0xe0000005, + 0x330200f6, + 0xe0000003, + 0x430100f7, + 0x330100f8, + 0x7805e000, + 0x38a53028, + 0x28a20000, + 0x7803c7ff, + 0x78043800, + 0x430100f9, + 0x3863ffff, + 0x38840000, + 0x3c21001b, + 0xa0431000, + 0xa0240800, + 0xb8411000, + 0x34060001, + 0x58a20000, + 0xb8c00800, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x7807e000, + 0x38e73028, + 0x28e50000, + 0x202100ff, + 0x3c260018, + 0x7802f8ff, + 0x78040700, + 0x38840000, + 0x3842ffff, + 0xa0c43000, + 0x3c230001, + 0xa0a22800, + 0xb8a62800, + 0x58e50000, + 0xb4611800, + 0x330100fa, + 0x3c630002, + 0x78020003, + 0x3842f288, + 0x34010001, + 0xb4621800, + 0x33010769, + 0x2c610004, + 0x34020009, + 0xf8000e84, + 0x78020003, + 0x78010002, + 0x38428b24, + 0x38216dfc, + 0x5841003c, + 0xfbffffab, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x430100fb, + 0x340b0000, + 0x442b0016, + 0x330b00fb, + 0x430100f5, + 0x5c2b0013, + 0x430200f9, + 0x340c0001, + 0x2b010108, + 0xbd821000, + 0xa0220800, + 0x5c2b000d, + 0xfbfffef4, + 0xb8205800, + 0x430100f9, + 0x202100ff, + 0x5c2b0003, + 0xfbffff2a, + 0xb8205800, + 0x430100f9, + 0x202100ff, + 0x442b0003, + 0x330c00fe, + 0xe0000049, + 0x430100ff, + 0x202c00ff, + 0x5d800025, + 0x430100f5, + 0x202b00ff, + 0x65610002, + 0x5c200012, + 0x69610002, + 0x5c200004, + 0x65610001, + 0x5c200005, + 0xe0000043, + 0x65610004, + 0x5c200012, + 0xe0000040, + 0xfbfffed9, + 0x330c00f5, + 0x430200f9, + 0x204200ff, + 0x5c410036, + 0x34010002, + 0x330100f6, + 0xb9600800, + 0xe0000038, + 0xfbffff0b, + 0x330c00f5, + 0x430200f9, + 0x204200ff, + 0x5c41002d, + 0x330b00f6, + 0xe0000030, + 0xfbfffee8, + 0x330c00f5, + 0x430200f9, + 0x204200ff, + 0x5c410026, + 0x34010001, + 0x330100f6, + 0xe0000029, + 0x2f0100fc, + 0x5c200023, + 0x430100ff, + 0x7c210001, + 0x5c20000a, + 0xfbfffebc, + 0xb8205800, + 0x430100f9, + 0x202100ff, + 0x5c2b0011, + 0x34010002, + 0x330100ff, + 0xfbfffef0, + 0xe000000c, + 0x430100ff, + 0x7c210002, + 0x5c20000a, + 0xfbfffeeb, + 0xb8205800, + 0x430100f9, + 0x202100ff, + 0x5c2b0005, + 0x34010001, + 0x330100ff, + 0xfbfffea9, + 0xb8205800, + 0x2f01010c, + 0x2f02010e, + 0x2021ffff, + 0x2042ffff, + 0xfbffecd0, + 0x3421ffff, + 0x0f0100fc, + 0xb9600800, + 0xfbffff77, + 0xe0000005, + 0x2f0100fc, + 0x3421ffff, + 0x0f0100fc, + 0x34010001, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x2f01010c, + 0x34020000, + 0x34030001, + 0x44220003, + 0x0f0200fc, + 0x330300ff, + 0xc3a00000, + 0x34010000, + 0x330100ff, + 0x0f01010c, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x430200f7, + 0x430100f8, + 0x44220041, + 0x430100f7, + 0x5c20003a, + 0x43010110, + 0x7803c050, + 0x7805f8ff, + 0x78060700, + 0x7804c050, + 0x7807c050, + 0x5c200019, + 0x386301c8, + 0x28620000, + 0x38a5ffff, + 0x38c60000, + 0x43010111, + 0xa0451000, + 0x38840118, + 0x3c210018, + 0x38e700e4, + 0xa0260800, + 0xb8411000, + 0x58620000, + 0x28830000, + 0x3402fbff, + 0x43010112, + 0xa0621800, + 0x3c21000a, + 0x20210400, + 0xb8611800, + 0x58830000, + 0x43010110, + 0x202100ff, + 0x58e10000, + 0xe0000018, + 0x43010110, + 0x38e700e4, + 0x386301c8, + 0x202100ff, + 0x58e10000, + 0x28620000, + 0x38a5ffff, + 0x38c60000, + 0x43010111, + 0xa0451000, + 0x38840118, + 0x3c210018, + 0xa0260800, + 0xb8411000, + 0x58620000, + 0x28830000, + 0x3402fbff, + 0x43010112, + 0xa0621800, + 0x3c21000a, + 0x20210400, + 0xb8611800, + 0x58830000, + 0x34010000, + 0x330100f8, + 0xe0000006, + 0x78010003, + 0x3821f000, + 0x402102eb, + 0xfbffff1e, + 0xe0000007, + 0x430100f8, + 0x202100ff, + 0x44200003, + 0xfbffff3d, + 0xe0000002, + 0x33010769, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x78010003, + 0x3821f900, + 0x28210008, + 0x78060003, + 0x78070003, + 0x78050003, + 0x78040002, + 0x78030003, + 0x38c68ba8, + 0x38e7f000, + 0x38a58b24, + 0x3884714c, + 0x34080001, + 0x34020000, + 0x38638b88, + 0x20210080, + 0x4422000b, + 0x40e702ef, + 0x58a4003c, + 0x30c80028, + 0x30c7000f, + 0x330200f5, + 0x33020769, + 0x58620010, + 0x330200f8, + 0x330800f7, + 0xc3a00000, + 0x330100f7, + 0xc3a00000, + 0x379cfff0, + 0x5b8b0010, + 0x5b8c000c, + 0x5b8d0008, + 0x5b8e0004, + 0x430100f7, + 0x7807c050, + 0x780ac050, + 0x78080700, + 0x780bc050, + 0x78040003, + 0x780d0003, + 0x78090003, + 0x78050002, + 0x78060003, + 0x78030003, + 0x780c0003, + 0x38e700e4, + 0x394a01c8, + 0x39080000, + 0x396b0118, + 0x38848ba8, + 0x39adf000, + 0x39298b24, + 0x38a5714c, + 0x340e0001, + 0x38c68b88, + 0x3863f818, + 0x398cf900, + 0x202200ff, + 0x5c40001a, + 0x28e10000, + 0x2021007f, + 0x33010110, + 0x29410000, + 0xa0280800, + 0x00210018, + 0x33010111, + 0x29610000, + 0x20210400, + 0x0021000a, + 0x33010112, + 0x41ad02ef, + 0x308e0028, + 0x5925003c, + 0x308d000f, + 0x330200f5, + 0x33020769, + 0x58c20010, + 0x330200f8, + 0x330e00f7, + 0x28610000, + 0x38210040, + 0x58610000, + 0x2b010108, + 0x31810029, + 0x2b8b0010, + 0x2b8c000c, + 0x2b8d0008, + 0x2b8e0004, + 0x379c0010, + 0xc3a00000, + 0x34010000, + 0x78030003, + 0x330100f7, + 0x3863f818, + 0x28610000, + 0x3402ffbf, + 0xa0220800, + 0x58610000, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x40230007, + 0xb8206000, + 0x20650008, + 0x44a00011, + 0x7803c050, + 0x386301c8, + 0x28610000, + 0x3402fff8, + 0x7804c050, + 0xa0220800, + 0x58610000, + 0x38840118, + 0x28810000, + 0x7802c050, + 0x384200ac, + 0x38210001, + 0x58810000, + 0x34010000, + 0x58410000, + 0xe0000014, + 0x20610002, + 0x780bc050, + 0x44200014, + 0x7804c050, + 0x388401c8, + 0x28810000, + 0x3402fff8, + 0x20630007, + 0xa0220800, + 0xb8230800, + 0x7803c050, + 0x58810000, + 0x38630118, + 0x28610000, + 0x3402fffe, + 0x396b00ac, + 0xa0220800, + 0x58610000, + 0x59650000, + 0x34010001, + 0x3301091a, + 0xe0000017, + 0x3301091a, + 0xf8001489, + 0x41810006, + 0x396b00ac, + 0x7802c050, + 0x59610000, + 0x384200b0, + 0x28410000, + 0x20210001, + 0x4420fffe, + 0x7803c050, + 0x38630118, + 0x28610000, + 0x3402fffe, + 0x7804c050, + 0xa0220800, + 0x58610000, + 0x388401c8, + 0x28810000, + 0x3402fff8, + 0xa0220800, + 0x58810000, + 0x298c0000, + 0x78010003, + 0x38218b88, + 0x582c0018, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x2f02073c, + 0x78030003, + 0x3863f1c8, + 0x2f010756, + 0x34040000, + 0x54220020, + 0x430200a8, + 0x204200ff, + 0x3c410001, + 0xb4220800, + 0x3c210002, + 0xb4230800, + 0xfbffffa5, + 0x430300a8, + 0x78020003, + 0x78010002, + 0x330300a7, + 0x38428b24, + 0x382179d0, + 0x58410034, + 0x430100a5, + 0x7805e000, + 0x38a53028, + 0x330100a6, + 0x28a40000, + 0x7802fffc, + 0x78030003, + 0x430100a7, + 0x38427fff, + 0x38638000, + 0x202100ff, + 0x3c21000f, + 0xa0822000, + 0xa0230800, + 0xb8812000, + 0x58a40000, + 0x34040001, + 0xb8800800, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x7806e000, + 0x38c63028, + 0x28c50000, + 0x202100ff, + 0x3c24000c, + 0x34028fff, + 0x20847000, + 0x3c230001, + 0xa0a22800, + 0xb8a42800, + 0x58c50000, + 0xb4611800, + 0x330100a8, + 0x3c630002, + 0x78020003, + 0x3842f1c8, + 0x34010001, + 0xb4621800, + 0x33010767, + 0x2c610004, + 0x34020007, + 0xf8000cbe, + 0x78020003, + 0x78010002, + 0x38428b24, + 0x38217548, + 0x58410034, + 0xfbffffb8, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x78080003, + 0xb9001000, + 0x3842f000, + 0x4042004f, + 0x34050000, + 0xb8203800, + 0xb8a02000, + 0x50a20015, + 0x34090001, + 0x2b0100bc, + 0xbd241000, + 0xb9003000, + 0x38c6f000, + 0x34830001, + 0xa0220800, + 0x44200002, + 0xb8802800, + 0x3ca10001, + 0x206400ff, + 0xb4250800, + 0x3c210002, + 0xb4260800, + 0x282101c8, + 0x54e10002, + 0xe0000004, + 0x40c1004f, + 0x50810002, + 0xe3ffffee, + 0xb8a00800, + 0xc3a00000, + 0x78020003, + 0x3842f000, + 0x4043004f, + 0x34040000, + 0x34020001, + 0xbc411000, + 0x48610002, + 0xe0000004, + 0x2b0100bc, + 0xa0220800, + 0x7c240000, + 0xb8800800, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x780c0003, + 0x430100a7, + 0xb9801000, + 0x3842f000, + 0x4042004f, + 0x34210001, + 0x202b00ff, + 0x5162000d, + 0xb9600800, + 0xfbffffe6, + 0xb9801800, + 0x3863f000, + 0x35620001, + 0x44200003, + 0xb9600800, + 0xe0000007, + 0x4061004f, + 0x204b00ff, + 0x51610002, + 0xe3fffff5, + 0x430100a7, + 0x202100ff, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x430100a7, + 0x202100ff, + 0x342bffff, + 0x34010000, + 0x482b0008, + 0xb9600800, + 0xfbffffcb, + 0x44200003, + 0x216100ff, + 0xe0000005, + 0x356bffff, + 0xe3fffff9, + 0x430100a7, + 0x202100ff, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x78020003, + 0x3842f000, + 0x4043004f, + 0x34040000, + 0xb8203800, + 0xb8802800, + 0x4c83000f, + 0xb8603000, + 0x344301c8, + 0x34080001, + 0x2b0100bc, + 0xbd051000, + 0x34a50001, + 0xa0220800, + 0x44200004, + 0x28640000, + 0x54e40002, + 0xe0000004, + 0x3463000c, + 0x4ca60002, + 0xe3fffff6, + 0xb8800800, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x430100aa, + 0x340b0000, + 0x442b0017, + 0x78010003, + 0x330b00aa, + 0x38218b88, + 0x28220018, + 0x2b0100b8, + 0x5c410011, + 0x430300a7, + 0x34010001, + 0x2b0200bc, + 0xbc230800, + 0xa0411000, + 0x5c4b000b, + 0xfbffffa3, + 0xb8205800, + 0x430100a7, + 0x202100ff, + 0x5c2b0003, + 0xfbffffbd, + 0xb8205800, + 0x430100a7, + 0x202100ff, + 0x5c2b002f, + 0x430100ab, + 0x5c20000c, + 0x78010003, + 0x38218b88, + 0x28220018, + 0x2b0100b8, + 0x4441002e, + 0x2b0100b8, + 0xfbffff66, + 0x430200a7, + 0x204200ff, + 0x44410029, + 0xe0000023, + 0x2f0100c4, + 0x5c200023, + 0x430100ab, + 0x7c210001, + 0x5c20000a, + 0xfbffff87, + 0xb8205800, + 0x430100a7, + 0x202100ff, + 0x5c2b0011, + 0x34010002, + 0x330100ab, + 0xfbffff9f, + 0xe000000c, + 0x430100ab, + 0x7c210002, + 0x5c20000a, + 0xfbffff9a, + 0xb8205800, + 0x430100a7, + 0x202100ff, + 0x5c2b0005, + 0x34010001, + 0x330100ab, + 0xfbffff74, + 0xb8205800, + 0x2f0100c0, + 0x2f0200c2, + 0x2021ffff, + 0x2042ffff, + 0xfbffeaae, + 0x3421ffff, + 0x0f0100c4, + 0xb9600800, + 0xfbffff1e, + 0xe0000005, + 0x2f0100c4, + 0x3421ffff, + 0x0f0100c4, + 0x34010001, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x2f0100c0, + 0x34020000, + 0x34030001, + 0x44220003, + 0x0f0200c4, + 0x330300ab, + 0xc3a00000, + 0x34010000, + 0x330100ab, + 0x0f0100c0, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x430200a5, + 0x430100a6, + 0x44220039, + 0x430100a5, + 0x5c200032, + 0x430100c8, + 0x7804c050, + 0x7805c050, + 0x7806c050, + 0x5c200016, + 0x388401c8, + 0x28830000, + 0x3402fff8, + 0x38a50118, + 0x430100c6, + 0xa0621800, + 0x3402fffe, + 0x20210007, + 0xb8611800, + 0x58830000, + 0x28a30000, + 0x38c600ac, + 0x430100c7, + 0xa0621800, + 0x20210001, + 0xb8611800, + 0x58a30000, + 0x430100c8, + 0x202100ff, + 0x58c10000, + 0xe0000015, + 0x430100c8, + 0x38c600ac, + 0x388401c8, + 0x202100ff, + 0x58c10000, + 0x28830000, + 0x3402fff8, + 0x38a50118, + 0x430100c6, + 0xa0621800, + 0x20210007, + 0xb8611800, + 0x58830000, + 0x28a10000, + 0x3403fffe, + 0x430200c7, + 0xa0230800, + 0x20420001, + 0xb8220800, + 0x58a10000, + 0x34010000, + 0x330100a6, + 0xe0000006, + 0x78010003, + 0x3821f000, + 0x402102e9, + 0xfbfffece, + 0xe0000007, + 0x430100a6, + 0x202100ff, + 0x44200003, + 0xfbffff60, + 0xe0000002, + 0x33010767, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x78010003, + 0x3821f900, + 0x28210008, + 0x78050003, + 0x78060003, + 0x78040003, + 0x78020002, + 0x78070003, + 0x38c6f000, + 0x38a58ba8, + 0x38848b24, + 0x384279d0, + 0x34030001, + 0x34080000, + 0x38e78b88, + 0x20210020, + 0x44280011, + 0x40c102ed, + 0x30a30026, + 0x58820034, + 0x30a1000d, + 0x33030767, + 0x330800a6, + 0x40c202e9, + 0xbc430800, + 0xb4220800, + 0x3c210002, + 0xb4260800, + 0x282101c8, + 0x5b0100b8, + 0x58e80018, + 0x330300a5, + 0xc3a00000, + 0x330100a5, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b8d0004, + 0x430100a5, + 0x7806c050, + 0x7809c050, + 0x780ac050, + 0x78020003, + 0x78040003, + 0x78070003, + 0x78050002, + 0x780b0003, + 0x78080003, + 0x780c0003, + 0x38c601c8, + 0x39290118, + 0x394a00ac, + 0x3884f000, + 0x38428ba8, + 0x38e78b24, + 0x38a579d0, + 0x340d0001, + 0x396b8b88, + 0x3908f818, + 0x398cf900, + 0x202300ff, + 0x5c60001d, + 0x28c10000, + 0x20210007, + 0x330100c6, + 0x29210000, + 0xa02d0800, + 0x330100c7, + 0x29410000, + 0x2021007f, + 0x330100c8, + 0x408102ed, + 0x304d0026, + 0x58e50034, + 0x3041000d, + 0x330300a6, + 0x408202e9, + 0xbc4d0800, + 0xb4220800, + 0x3c210002, + 0xb4240800, + 0x282101c8, + 0x5b0100b8, + 0x59630018, + 0x330d00a5, + 0x29010000, + 0x38210010, + 0x59010000, + 0x2b0100bc, + 0x3181002b, + 0x2b8b000c, + 0x2b8c0008, + 0x2b8d0004, + 0x379c000c, + 0xc3a00000, + 0x34010000, + 0x78030003, + 0x330100a5, + 0x3863f818, + 0x28610000, + 0x3402ffef, + 0xa0220800, + 0x58610000, + 0xc3a00000, + 0x430100d0, + 0x34020000, + 0x44220002, + 0x2b0200d8, + 0xb8400800, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0xfbfffff8, + 0xb8201000, + 0x430100a4, + 0x44200008, + 0x2b0100ac, + 0x50220002, + 0xb8400800, + 0x2b0300b0, + 0x50610002, + 0xb8201800, + 0xb8601000, + 0x43010084, + 0x44200005, + 0x2b010090, + 0x50220002, + 0xb8400800, + 0xb8201000, + 0x430100f4, + 0x44200005, + 0x2b010100, + 0x50220002, + 0xb8400800, + 0xb8201000, + 0xb8400800, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x430100a4, + 0x34020000, + 0x44220002, + 0x2b0200b8, + 0xb8400800, + 0xc3a00000, + 0x430100d0, + 0x34020000, + 0x44220002, + 0x2b0200e0, + 0xb8400800, + 0xc3a00000, + 0x430100f4, + 0x34020000, + 0x44220002, + 0x2b020104, + 0xb8400800, + 0xc3a00000, + 0x7801c020, + 0x3821029c, + 0x28210000, + 0x20210004, + 0x64210000, + 0xc3a00000, + 0x3801f6bc, + 0xb7210800, + 0x28210000, + 0x00210001, + 0x20210001, + 0xc3a00000, + 0x3c210008, + 0x20420003, + 0x20210300, + 0xb8411000, + 0x3801ef58, + 0xb7210800, + 0x58220000, + 0xc3a00000, + 0x7801c020, + 0x38210304, + 0x28210000, + 0x78020001, + 0x38420000, + 0xa0220800, + 0x00210010, + 0x7c210000, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x34010001, + 0xb8201000, + 0xfbffffeb, + 0x34010002, + 0x33010085, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x78020003, + 0x3842f900, + 0x2842000c, + 0xb8206000, + 0x34030000, + 0x204b0200, + 0x5d63000f, + 0xfbffffce, + 0xb8201800, + 0x5c200003, + 0x33010085, + 0xe000000a, + 0x2b010090, + 0xb9601800, + 0x542c0002, + 0xe0000006, + 0xfbffffcb, + 0x34030001, + 0x5c200003, + 0x33010085, + 0xb8201800, + 0xb8600800, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x78010003, + 0x3821f900, + 0x2821000c, + 0x34020000, + 0x20210100, + 0xb8205800, + 0x5c220007, + 0xfbffffb0, + 0x44200004, + 0xfbffffb4, + 0x44200002, + 0x340b0001, + 0xb9601000, + 0xb8400800, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x43010085, + 0x34020000, + 0x5c220005, + 0xfbffffb4, + 0xb8201000, + 0x44200002, + 0x34020001, + 0xb8400800, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x34010000, + 0x34020001, + 0xfbffffa0, + 0x34010001, + 0x33010085, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0xfbffff8c, + 0x34020002, + 0x44200003, + 0x34010000, + 0xfbffff94, + 0x34010000, + 0x33010085, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0xfbffff80, + 0x34020002, + 0x44200003, + 0x34010001, + 0xfbffff88, + 0x34010000, + 0x33010085, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0xfbffff74, + 0xb8201000, + 0x44200008, + 0xfbffff77, + 0xb8201000, + 0x44200005, + 0xfbffff82, + 0x64210000, + 0xc8010800, + 0x38220001, + 0xb8400800, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x7801c020, + 0x3821029c, + 0x28210000, + 0x20210002, + 0x64210000, + 0xc3a00000, + 0x78010002, + 0x38210004, + 0xb7210800, + 0x28210000, + 0x00210001, + 0x20210001, + 0xc3a00000, + 0x3c210008, + 0x78030002, + 0x20210300, + 0x20420003, + 0xb8411000, + 0x386315b4, + 0xb7230800, + 0x58220000, + 0xc3a00000, + 0x7801c020, + 0x38210304, + 0x28210000, + 0x78020002, + 0x38420000, + 0xa0220800, + 0x00210011, + 0x7c210000, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x34010001, + 0xb8201000, + 0xfbffffea, + 0x34010002, + 0x330100a9, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x78020003, + 0x3842f900, + 0x2843000c, + 0xb8206000, + 0x78020002, + 0x38420000, + 0xa0625800, + 0x34020000, + 0x5d62000f, + 0xfbffffca, + 0xb8201000, + 0x5c200003, + 0x330100a9, + 0xe000000a, + 0x2b0100ac, + 0xb9601000, + 0x542c0002, + 0xe0000006, + 0xfbffffc7, + 0x34020001, + 0x5c200003, + 0x330100a9, + 0xb8201000, + 0xb8400800, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x78010003, + 0x3821f900, + 0x2822000c, + 0x78010001, + 0x38210000, + 0xa0411000, + 0xb8405800, + 0x34010000, + 0x5c410007, + 0xfbffffaa, + 0x44200004, + 0xfbffffae, + 0x44200002, + 0x340b0001, + 0xb9600800, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x430100a9, + 0x34020000, + 0x5c220005, + 0xfbffffb1, + 0xb8201000, + 0x44200002, + 0x34020001, + 0xb8400800, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x34010000, + 0x34020001, + 0xfbffff9c, + 0x34010001, + 0x330100a9, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0xfbffff87, + 0x34020002, + 0x44200003, + 0x34010000, + 0xfbffff90, + 0x34010000, + 0x330100a9, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0xfbffff7b, + 0x34020002, + 0x44200003, + 0x34010001, + 0xfbffff84, + 0x34010000, + 0x330100a9, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0xfbffff6f, + 0xb8201000, + 0x44200008, + 0xfbffff72, + 0xb8201000, + 0x44200005, + 0xfbffff7f, + 0x64210000, + 0xc8010800, + 0x38220001, + 0xb8400800, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x78010003, + 0x78040003, + 0x34020003, + 0x38848e34, + 0x38218e30, + 0x7803c020, + 0x58820000, + 0x58220000, + 0x38630264, + 0x28610000, + 0xb8220800, + 0x58610000, + 0x28810000, + 0x28620000, + 0xa4200800, + 0xa0411000, + 0x58620000, + 0xc3a00000, + 0x78030003, + 0x3863f800, + 0x28620000, + 0x78010100, + 0x38210000, + 0xb4411000, + 0x58620000, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0xb8202000, + 0x78018000, + 0x38210428, + 0x78050003, + 0x74830184, + 0x58240000, + 0xb8406000, + 0x38a5fa04, + 0x5c60035c, + 0x3c810002, + 0x78020003, + 0x38427df4, + 0xb4220800, + 0x28210000, + 0xc0200000, + 0x34030000, + 0xe0000357, + 0x340300fe, + 0xe0000355, + 0x340300fe, + 0xe0000353, + 0x340300fe, + 0xe0000351, + 0x340300fe, + 0xe000034f, + 0x340300fe, + 0xe000034d, + 0x340300fe, + 0xe000034b, + 0x340300fe, + 0xe0000349, + 0x340300fe, + 0xe0000347, + 0x340300fe, + 0xe0000345, + 0x340300fe, + 0xe0000343, + 0x340300fe, + 0xe0000341, + 0x340300fe, + 0xe000033f, + 0x430106ee, + 0x340300ff, + 0x4420033c, + 0x34010000, + 0x78030003, + 0x330106f0, + 0x3863f818, + 0x28620000, + 0x7801fffb, + 0x3821ffff, + 0xa0411000, + 0x58620000, + 0x34030000, + 0xe0000331, + 0x340300fe, + 0xe000032f, + 0x340300fe, + 0xe000032d, + 0xf8001005, + 0x34030000, + 0xe000032a, + 0xf800101a, + 0x34030000, + 0xe0000327, + 0x78030003, + 0x38638c00, + 0x2ca20002, + 0x2c61003e, + 0x48220003, + 0x406100ab, + 0x5c20031f, + 0xf8000c7a, + 0xe000031d, + 0x78030003, + 0x38638c00, + 0x2ca20002, + 0x2c61003e, + 0x48220003, + 0x406100ab, + 0x5c200316, + 0xf8000bc0, + 0xe0000314, + 0x340300fe, + 0xe0000313, + 0x340300fe, + 0xe0000311, + 0x340300fe, + 0xe000030f, + 0x340300fe, + 0xe000030d, + 0x34010001, + 0xe0000002, + 0x34010000, + 0x33010114, + 0xe0000307, + 0x5b0c0118, + 0xe0000305, + 0x34010000, + 0xe0000002, + 0x34010001, + 0x33010079, + 0xe0000300, + 0xf8001dd7, + 0xe00002fe, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x34020001, + 0x3302082c, + 0x7801c201, + 0x33020774, + 0x3821c588, + 0xf800161a, + 0x38220003, + 0x7801c201, + 0x3821c588, + 0xf80015fc, + 0xf8001d74, + 0xd00b0000, + 0xe00002ee, + 0xf8001e3d, + 0xe00002ec, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x34020001, + 0x3302082c, + 0x7801c201, + 0x33020774, + 0x3821c588, + 0xf8001608, + 0x38220003, + 0x7801c201, + 0x3821c588, + 0xf80015ea, + 0xf8001df1, + 0xd00b0000, + 0xe00002dc, + 0xf8001d32, + 0xe00002da, + 0x90005800, + 0x34010000, + 0xd0010000, + 0xf8001cf1, + 0xd00b0000, + 0xe00002d4, + 0xf8001e65, + 0xe00002d2, + 0xf8001e54, + 0xe00002d0, + 0x90005800, + 0x34010000, + 0xd0010000, + 0xf8001e70, + 0xd00b0000, + 0xe00002ca, + 0x90005800, + 0x34010000, + 0xd0010000, + 0xf8001e69, + 0xd00b0000, + 0xe00002c4, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x34010001, + 0xf8001018, + 0xd00b0000, + 0xe00002bd, + 0x90005800, + 0x34010000, + 0xd0010000, + 0xf8001012, + 0xd00b0000, + 0x34030000, + 0xe00002b7, + 0x340300fe, + 0xe00002b5, + 0x340300fe, + 0xe00002b3, + 0x340300fe, + 0xe00002b1, + 0x340300fe, + 0xe00002af, + 0x340300fe, + 0xe00002ad, + 0x340300fe, + 0xe00002ab, + 0x340300fe, + 0xe00002a9, + 0x340300fe, + 0xe00002a7, + 0x340300fe, + 0xe00002a5, + 0x340300fe, + 0xe00002a3, + 0x340300fe, + 0xe00002a1, + 0x340300fe, + 0xe000029f, + 0x340300fe, + 0xe000029d, + 0x340300fe, + 0xe000029b, + 0x340300fe, + 0xe0000299, + 0x340300fe, + 0xe0000297, + 0x340300fe, + 0xe0000295, + 0x340300fe, + 0xe0000293, + 0x340300fe, + 0xe0000291, + 0x340300fe, + 0xe000028f, + 0x340300fe, + 0xe000028d, + 0x340300fe, + 0xe000028b, + 0x340300fe, + 0xe0000289, + 0x340300fe, + 0xe0000287, + 0x34010001, + 0xd0810000, + 0xe0000003, + 0x34010001, + 0xd0610000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0xe000027c, + 0x340300fe, + 0xe000027b, + 0x340300fe, + 0xe0000279, + 0x340300fe, + 0xe0000277, + 0x340300fe, + 0xe0000275, + 0x340300fe, + 0xe0000273, + 0x340300fe, + 0xe0000271, + 0x340300fe, + 0xe000026f, + 0x340300fe, + 0xe000026d, + 0x340300fe, + 0xe000026b, + 0x340300fe, + 0xe0000269, + 0x78018000, + 0x38210068, + 0x35820001, + 0x58220000, + 0xe0000263, + 0x7d810000, + 0x33010760, + 0xe0000260, + 0xfbffe739, + 0xfbffe9dc, + 0xfbfff202, + 0xfbfff81e, + 0xfbfffa8e, + 0xfbfffcae, + 0x34030001, + 0xe0000259, + 0xfbffe966, + 0xfbfff180, + 0xfbfff81e, + 0xfbfffa8e, + 0xfbfffcae, + 0x34030001, + 0xe0000252, + 0x34010001, + 0xd0810000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0xfbffef8e, + 0x34030000, + 0xe0000249, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x34010001, + 0xd0810000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0xfbffefab, + 0xd00b0000, + 0x34030000, + 0xe000023c, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x34010001, + 0xd0810000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0xfbffeff4, + 0xd00b0000, + 0x34030000, + 0xe000022f, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x34010001, + 0xd0810000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0xfbfff5b4, + 0xd00b0000, + 0x34030000, + 0xe0000222, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x34010001, + 0xd0810000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0xfbfff5c1, + 0xd00b0000, + 0x34030000, + 0xe0000215, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x34010001, + 0xd0810000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0xfbfff5e8, + 0xd00b0000, + 0x34030000, + 0xe0000208, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x78030003, + 0x38638b20, + 0x28610000, + 0x34070001, + 0x282200c4, + 0x3401ffff, + 0xbc220800, + 0xa4200800, + 0xa1810800, + 0x5c200004, + 0xd00b0000, + 0x340300ff, + 0xe00001f8, + 0x34040000, + 0x50820015, + 0xb8603000, + 0xb8802800, + 0x28c10000, + 0x81841000, + 0xb4a10800, + 0x40210000, + 0x20430001, + 0x44230007, + 0x34010001, + 0x330107c5, + 0x28c10000, + 0x34070000, + 0xb4a10800, + 0x30230000, + 0x28c10000, + 0x34840001, + 0x34a50014, + 0x282100c4, + 0x50810002, + 0xe3ffffef, + 0x78010003, + 0x3821f900, + 0x302c0026, + 0xd00b0000, + 0xb8e01800, + 0xe00001dc, + 0x78010003, + 0x38218b20, + 0x28210000, + 0x34050000, + 0xb8a02000, + 0x282200c4, + 0x50a2000a, + 0xb8401800, + 0xb8201000, + 0x40410000, + 0xbc240800, + 0x34420014, + 0xb8a12800, + 0x34840001, + 0x50830002, + 0xe3fffffa, + 0x78018000, + 0x38210068, + 0x58250000, + 0x34030001, + 0xe00001c7, + 0x01810010, + 0x0f0c07f0, + 0x0f0107f2, + 0x34030001, + 0xe00001c2, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x78030003, + 0x3863f000, + 0x4062004c, + 0x3401ffff, + 0x34070001, + 0xbc220800, + 0xa4200800, + 0xa1810800, + 0x5c200004, + 0xd00b0000, + 0x340300ff, + 0xe00001b3, + 0x5b0c072c, + 0x2b020730, + 0x34660060, + 0x34040000, + 0x2b01072c, + 0xb8412800, + 0x80a40800, + 0x40c20005, + 0x20230001, + 0x44430005, + 0x34010001, + 0x330106fd, + 0x30c30005, + 0x34070000, + 0x64610000, + 0x5c200002, + 0x33040734, + 0x34840001, + 0x74810007, + 0x34c6001c, + 0x4420fff2, + 0x78010003, + 0x3821f900, + 0x30250024, + 0xd00b0000, + 0xb8e01800, + 0xe0000198, + 0x2b02072c, + 0x78018000, + 0x38210068, + 0x58220000, + 0x34030001, + 0xe0000192, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x34010001, + 0x330106ff, + 0x34010000, + 0x33010736, + 0xd00b0000, + 0x34030001, + 0xe0000188, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x330106ff, + 0x33010736, + 0x330106fe, + 0xd00b0000, + 0x34030001, + 0xe000017f, + 0x01810010, + 0x0f0c0728, + 0x0f01072a, + 0x34030001, + 0xe000017a, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x34010001, + 0xd0810000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0xfbfff7b8, + 0xd00b0000, + 0x34030000, + 0xe000016d, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x34010001, + 0xd0810000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0xfbfff7c9, + 0xd00b0000, + 0x34030000, + 0xe0000160, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x34010001, + 0xd0810000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0xfbfff806, + 0xd00b0000, + 0x34030000, + 0xe0000153, + 0x78010003, + 0x3821f000, + 0x4022004e, + 0x340300ff, + 0x3401ffff, + 0xbc220800, + 0xa4200800, + 0xa1810800, + 0x4420014a, + 0x5b0c0094, + 0x43010088, + 0x34030001, + 0x44200146, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x34020001, + 0x78010003, + 0x3302008c, + 0x3821f900, + 0x302c0028, + 0xd00b0000, + 0x34030000, + 0xe000013b, + 0x2b020094, + 0x78018000, + 0x38210068, + 0x58220000, + 0x34030001, + 0xe0000135, + 0x01810010, + 0x0f0c0098, + 0x0f01009a, + 0x34030001, + 0xe0000130, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x34010001, + 0xd0810000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0xfbfff9b1, + 0xd00b0000, + 0x34030000, + 0xe0000123, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x34010001, + 0xd0810000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0xfbfff9c1, + 0xd00b0000, + 0x34030000, + 0xe0000116, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x34010001, + 0xd0810000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0xfbfff9f2, + 0xd00b0000, + 0x34030000, + 0xe0000109, + 0x78010003, + 0x3821f000, + 0x40220051, + 0x340300ff, + 0x3401ffff, + 0xbc220800, + 0xa4200800, + 0xa1810800, + 0x44200100, + 0x5b0c0108, + 0x430100f7, + 0x34030001, + 0x442000fc, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x34020001, + 0x78010003, + 0x330200fb, + 0x3821f900, + 0x302c0029, + 0xd00b0000, + 0x34030000, + 0xe00000f1, + 0x2b020108, + 0x78018000, + 0x38210068, + 0x58220000, + 0x34030001, + 0xe00000eb, + 0x01810010, + 0x0f0c010c, + 0x0f01010e, + 0x34030001, + 0xe00000e6, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x34010001, + 0xd0810000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0xfbfffb80, + 0xd00b0000, + 0x34030000, + 0xe00000d9, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x34010001, + 0xd0810000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0xfbfffb96, + 0xd00b0000, + 0x34030000, + 0xe00000cc, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x34010001, + 0xd0810000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0xfbfffbc6, + 0xd00b0000, + 0x34030000, + 0xe00000bf, + 0x78010003, + 0x3821f000, + 0x4022004f, + 0x340300ff, + 0x3401ffff, + 0xbc220800, + 0xa4200800, + 0xa1810800, + 0x442000b6, + 0x5b0c00bc, + 0x430100a5, + 0x34030001, + 0x442000b2, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x34020001, + 0x78010003, + 0x330200aa, + 0x3821f900, + 0x302c002b, + 0xd00b0000, + 0x34030000, + 0xe00000a7, + 0x2b0200bc, + 0x78018000, + 0x38210068, + 0x58220000, + 0x34030001, + 0xe00000a1, + 0x01810010, + 0x0f0c00c0, + 0x0f0100c2, + 0x34030001, + 0xe000009c, + 0x340300fe, + 0xe000009a, + 0x430106ee, + 0x340300ff, + 0x44200097, + 0x218100ff, + 0xfbffe75d, + 0x340300ff, + 0x44200093, + 0x34010001, + 0x330106f0, + 0x78040003, + 0x330c06f1, + 0x3884f818, + 0x28830000, + 0x7801fffb, + 0x3821ffff, + 0x78020004, + 0xa0611800, + 0x38420000, + 0xb8621800, + 0x58830000, + 0x34030000, + 0xe0000084, + 0x340300fe, + 0xe0000082, + 0x340300fe, + 0xe0000080, + 0x340300fe, + 0xe000007e, + 0x340300fe, + 0xe000007c, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x45800007, + 0x0f0c074e, + 0x34010001, + 0x33010763, + 0xd00b0000, + 0x34030000, + 0xe0000072, + 0x330c0763, + 0xd00b0000, + 0xe000006e, + 0x78019800, + 0x38210000, + 0x34020000, + 0x58410000, + 0xfbffe268, + 0x78018000, + 0x38218000, + 0x3402ffff, + 0x58220050, + 0x7803e000, + 0x58220054, + 0x386330a4, + 0x28610000, + 0x3402ffef, + 0xa0220800, + 0x58610000, + 0xe000005d, + 0x340300fe, + 0xe000005c, + 0x340300fe, + 0xe000005a, + 0x340300fe, + 0xe0000058, + 0x340300fe, + 0xe0000056, + 0x340300fe, + 0xe0000054, + 0x340300fe, + 0xe0000052, + 0x340300fe, + 0xe0000050, + 0x340300fe, + 0xe000004e, + 0x340300fe, + 0xe000004c, + 0x340300fe, + 0xe000004a, + 0xf8001875, + 0xe0000047, + 0xf80018d2, + 0xe0000045, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x43010789, + 0x5c200002, + 0xf8001553, + 0xd00b0000, + 0xe000003d, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x4301078a, + 0x7c210001, + 0x5c200002, + 0xf80015a6, + 0xd00b0000, + 0xe0000034, + 0x43010789, + 0x202200ff, + 0x7c410001, + 0x5c200030, + 0x33020785, + 0x34030000, + 0xe000002e, + 0x43010789, + 0x202200ff, + 0x7c410001, + 0x5c200029, + 0x33020787, + 0x34030000, + 0xe0000027, + 0x43010789, + 0x7c210001, + 0x5c200023, + 0x34010000, + 0x33010785, + 0x33010787, + 0xb8201800, + 0xe000001f, + 0xf8002212, + 0xe000001c, + 0xf800224c, + 0xe000001a, + 0xf800225a, + 0xe0000018, + 0xf800228d, + 0xe0000016, + 0xf800243d, + 0xe0000014, + 0xf8002445, + 0xe0000012, + 0x218100ff, + 0xf8000e2f, + 0xe000000f, + 0xf8000e4d, + 0xe000000d, + 0x218100ff, + 0xf8000e64, + 0xe000000a, + 0xf8000e82, + 0xe0000008, + 0xf80018ef, + 0xe0000006, + 0x34010001, + 0x33010735, + 0xe0000003, + 0x340300fe, + 0xe0000002, + 0x34030001, + 0xb8600800, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0xb8201800, + 0x64210142, + 0xb8402000, + 0x5c2000aa, + 0x74610142, + 0x5c20002d, + 0x64610124, + 0x5c200094, + 0x74610124, + 0x5c200014, + 0x64610052, + 0x5c200081, + 0x74610052, + 0x5c200006, + 0x64610041, + 0x5c200077, + 0x64610051, + 0x5c200077, + 0xe00000a8, + 0x64610102, + 0x5c20003b, + 0x74610102, + 0x5c200004, + 0x64610063, + 0x5c200093, + 0xe00000a1, + 0x64610104, + 0x5c200060, + 0xe000009e, + 0x6461012c, + 0x5c200048, + 0x7461012c, + 0x5c20000b, + 0x64610129, + 0x5c20003b, + 0x74610129, + 0x5c200004, + 0x64610125, + 0x5c20006a, + 0xe0000093, + 0x6461012a, + 0x5c200046, + 0xe0000090, + 0x6461012e, + 0x5c200047, + 0x3401012e, + 0x54230033, + 0x64610130, + 0x5c20003a, + 0xe0000089, + 0x74610153, + 0x5c200010, + 0x70610152, + 0x5c200066, + 0x64610145, + 0x5c20001c, + 0x74610145, + 0x5c200006, + 0x64610143, + 0x5c200074, + 0x64610144, + 0x5c200078, + 0xe000007c, + 0x3461feb2, + 0x74210001, + 0x5c200079, + 0xe000000d, + 0x74610157, + 0x5c200004, + 0x70610156, + 0x5c200020, + 0xe0000016, + 0x3401015a, + 0x54230071, + 0x3401015b, + 0x50230024, + 0x6461015c, + 0x5c200053, + 0xe000006c, + 0x430206ee, + 0x34040001, + 0x430106ef, + 0xe000004c, + 0x430206e8, + 0x78030003, + 0x3863f000, + 0xb0401000, + 0x3c410003, + 0xc8220800, + 0x3c210002, + 0xb4230800, + 0x40210065, + 0xe0000055, + 0x43020088, + 0x34040001, + 0x43010089, + 0xe000003e, + 0x4303008a, + 0x34020001, + 0xb8402000, + 0x2b010094, + 0xe0000012, + 0x430200f7, + 0x34040001, + 0x430100f8, + 0xe0000035, + 0x430300f9, + 0x34020001, + 0xb8402000, + 0x2b010108, + 0xe0000009, + 0x430200a5, + 0x34040001, + 0x430100a6, + 0xe000002c, + 0x430300a7, + 0x34020001, + 0xb8402000, + 0x2b0100bc, + 0xbc431000, + 0xa0220800, + 0x5c200042, + 0xe0000040, + 0x7801c020, + 0x38210014, + 0x28220000, + 0x7801001f, + 0x38210000, + 0xa0411000, + 0x00420010, + 0x208100ff, + 0x5c410037, + 0x430106ef, + 0xe0000033, + 0x430106ef, + 0xe0000029, + 0x430106ac, + 0x34040001, + 0x7c21000a, + 0xe000002e, + 0x430106ac, + 0x34040001, + 0x7c210004, + 0xe000002a, + 0x90001000, + 0x34010000, + 0xd0010000, + 0x2f01073c, + 0x2021ffff, + 0x54810004, + 0xd0020000, + 0x34040001, + 0xe0000023, + 0xd0020000, + 0xe0000020, + 0x430207b6, + 0x34040001, + 0x430107b7, + 0x4422001d, + 0xe000001b, + 0x430307b0, + 0x78020003, + 0x38428b20, + 0xb0601800, + 0x3c610002, + 0x28420000, + 0xb4230800, + 0x3c210002, + 0xb4220800, + 0x40210000, + 0xe0000007, + 0x43010825, + 0xe000000c, + 0x43010786, + 0xe0000002, + 0x43010788, + 0x202100ff, + 0x7c220001, + 0xb8202000, + 0x44400008, + 0xe0000006, + 0x43010788, + 0x5c200004, + 0x43010786, + 0x34040001, + 0x44200002, + 0x34040000, + 0xb8800800, + 0xc3a00000, + 0xb8201000, + 0x64210001, + 0x34030000, + 0x5c230007, + 0x3441ff80, + 0x74210007, + 0x340300fe, + 0x4440000c, + 0x5c20000b, + 0xe0000003, + 0x0f0300cc, + 0xe0000007, + 0x78010003, + 0x38218408, + 0xb4421000, + 0xb4411000, + 0x2c41ff00, + 0x0f0100cc, + 0x34030001, + 0xb8600800, + 0xc3a00000, + 0x34010000, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0xb8202000, + 0x34010001, + 0x64830011, + 0x33010084, + 0x5c600020, + 0x74810011, + 0x5c200006, + 0x64810001, + 0x5c200009, + 0x64810010, + 0x5c20000f, + 0xe0000030, + 0x64810012, + 0x5c200022, + 0x64810013, + 0x5c20002e, + 0xe000002b, + 0x5b020090, + 0x430106ef, + 0x340200ff, + 0x7c210001, + 0x5c20002d, + 0xfbfffa21, + 0x5b0106f4, + 0xe0000021, + 0x43010088, + 0x340200ff, + 0x44200027, + 0x90001000, + 0x34010000, + 0xd0010000, + 0x33010087, + 0x34010002, + 0x33010086, + 0xd0020000, + 0xe0000016, + 0x43010088, + 0x340200ff, + 0x4420001c, + 0x90001000, + 0x34010000, + 0xd0010000, + 0x33010087, + 0x34010001, + 0x33010086, + 0xd0020000, + 0xe000000b, + 0x43010088, + 0x340200ff, + 0x44200011, + 0x90001000, + 0x34010000, + 0xd0010000, + 0x33010087, + 0x34010004, + 0x33010086, + 0xd0020000, + 0x34020000, + 0xe0000008, + 0x340200fe, + 0xe0000006, + 0xf80026cf, + 0x78028000, + 0x38420074, + 0x58410000, + 0x34020001, + 0xb8400800, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0xb8201800, + 0x64210001, + 0x5c200006, + 0x44600013, + 0x3461fff0, + 0x74210002, + 0x5c200010, + 0xe0000007, + 0x78010003, + 0x38218b88, + 0x28210000, + 0x5441000b, + 0xb8601000, + 0xe000000a, + 0x43010088, + 0x340200ff, + 0x44200007, + 0x43010087, + 0x44200004, + 0x43010087, + 0x202200ff, + 0xe0000002, + 0x34020000, + 0xb8400800, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0xb8202000, + 0x34010001, + 0x64830011, + 0x330100a4, + 0xb8405800, + 0x5c60002d, + 0x74810011, + 0x5c20000b, + 0x64810002, + 0x5c20001b, + 0x74810002, + 0x5c200004, + 0x64810001, + 0x5c20000f, + 0xe0000059, + 0x64810004, + 0x5c200016, + 0xe0000056, + 0x64810015, + 0x5c20002a, + 0x74810015, + 0x5c200004, + 0x64810014, + 0x5c20001f, + 0xe000004f, + 0x64810017, + 0x5c200034, + 0xe000004c, + 0x5b0200ac, + 0x430106ef, + 0x340200ff, + 0x7c210001, + 0x5c200048, + 0xfbfff9b4, + 0x5b0106f4, + 0xe0000008, + 0x5b0200b0, + 0xe0000006, + 0xb8400800, + 0xfbfff882, + 0xb8201800, + 0x55610004, + 0x5b0b00b8, + 0x34020000, + 0xe000003c, + 0x78018000, + 0x38210078, + 0x58230000, + 0x340200ff, + 0xe0000037, + 0x78010003, + 0x38218b88, + 0x28220000, + 0xe0000004, + 0x78010003, + 0x38218b88, + 0x28220018, + 0x78018000, + 0x38210078, + 0x58220000, + 0xe0000029, + 0x78020003, + 0x3842f000, + 0x4041004c, + 0x34030000, + 0xb8602000, + 0x50610020, + 0xb8202800, + 0x40410065, + 0x34840001, + 0x7c210001, + 0x5c200004, + 0x28410058, + 0x50610002, + 0xb8201800, + 0x3442001c, + 0x50850016, + 0xe3fffff7, + 0x78020003, + 0x3842f000, + 0x4041004f, + 0x34030000, + 0xb8602000, + 0x5061000f, + 0xb8203000, + 0x344501c8, + 0x34070001, + 0x2b0100bc, + 0xbce41000, + 0x34840001, + 0xa0220800, + 0x44200004, + 0x28a10000, + 0x50610002, + 0xb8201800, + 0x34a5000c, + 0x50860002, + 0xe3fffff6, + 0x78018000, + 0x38210078, + 0x58230000, + 0x34020001, + 0xe0000002, + 0x340200fe, + 0xb8400800, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0xb8201800, + 0x64210002, + 0x5c20000f, + 0x74610002, + 0x5c200004, + 0x64610001, + 0x5c200005, + 0xe0000015, + 0x64610004, + 0x5c20000c, + 0xe0000012, + 0x78010003, + 0x38218b88, + 0x28210000, + 0xf4411000, + 0xc8621000, + 0xe000000d, + 0x78010003, + 0x38218b88, + 0x28210000, + 0xe0000004, + 0x78010003, + 0x38218b88, + 0x28210018, + 0xf4411000, + 0x34010001, + 0xc8221000, + 0xe0000002, + 0x34020000, + 0xb8400800, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x3423ffff, + 0xb8402000, + 0x74610006, + 0x340200fe, + 0x5c200048, + 0x3c610002, + 0x78020003, + 0x38428418, + 0xb4220800, + 0x28210000, + 0xc0200000, + 0x78018000, + 0x3821007c, + 0x34820001, + 0x58220000, + 0xe000003c, + 0x90005800, + 0x34010000, + 0xd0010000, + 0xf8001826, + 0x43010824, + 0x7c210001, + 0x5c200008, + 0x43010826, + 0x202200ff, + 0x7c410001, + 0x5c200004, + 0x34010000, + 0x33010826, + 0x3302082c, + 0x34010000, + 0x33010779, + 0xd00b0000, + 0xe000002a, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x43010824, + 0x202200ff, + 0x7c410001, + 0x5c20000d, + 0x43010826, + 0x5c20000b, + 0x33020826, + 0x3302082c, + 0x7801c201, + 0x33020774, + 0x3821c588, + 0xf8001127, + 0x38220003, + 0x7801c201, + 0x3821c588, + 0xf8001109, + 0x34010001, + 0x33010779, + 0x4301077b, + 0x5c200004, + 0xd00b0000, + 0x34020000, + 0xe0000011, + 0xd00b0000, + 0xe000000e, + 0x90005800, + 0x34010000, + 0xd0010000, + 0xf80017dd, + 0xd00b0000, + 0xe0000008, + 0x90005800, + 0x34010000, + 0xd0010000, + 0xf80017f2, + 0xd00b0000, + 0xe0000002, + 0xf80006ae, + 0x34020001, + 0xb8400800, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x64210006, + 0x4420000b, + 0x90001000, + 0x34010000, + 0xd0010000, + 0x4301077b, + 0x7c210001, + 0x5c200004, + 0xd0020000, + 0x34010001, + 0xc3a00000, + 0xd0020000, + 0x34010000, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0xb8202000, + 0x34010001, + 0x64830012, + 0x330100f4, + 0x5c600021, + 0x74810012, + 0x5c20000b, + 0x64810002, + 0x5c200017, + 0x74810002, + 0x5c200004, + 0x64810001, + 0x5c200011, + 0xe0000041, + 0x64810011, + 0x5c200012, + 0xe000003e, + 0x64810022, + 0x5c20001a, + 0x74810022, + 0x5c200004, + 0x64810014, + 0x5c20003a, + 0xe0000037, + 0x64810023, + 0x5c20001e, + 0x64810024, + 0x5c200027, + 0xe0000032, + 0x5b020100, + 0xe000002e, + 0x5b020104, + 0xe000002c, + 0x78010003, + 0x38218b88, + 0x28220000, + 0xe0000004, + 0x78010003, + 0x38218b88, + 0x28220010, + 0x78018000, + 0x38210084, + 0x58220000, + 0xe0000029, + 0x430100f7, + 0x340200ff, + 0x44200027, + 0x90001000, + 0x34010000, + 0xd0010000, + 0x330100f6, + 0x34010004, + 0x330100f5, + 0xd0020000, + 0xe0000016, + 0x430100f7, + 0x340200ff, + 0x4420001c, + 0x90001000, + 0x34010000, + 0xd0010000, + 0x330100f6, + 0x34010002, + 0x330100f5, + 0xd0020000, + 0xe000000b, + 0x430100f7, + 0x340200ff, + 0x44200011, + 0x90001000, + 0x34010000, + 0xd0010000, + 0x330100f6, + 0x34010001, + 0x330100f5, + 0xd0020000, + 0x34020000, + 0xe0000008, + 0x340200fe, + 0xe0000006, + 0xf800256a, + 0x78028000, + 0x38420084, + 0x58410000, + 0x34020001, + 0xb8400800, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0xb8201800, + 0x64210002, + 0x5c200010, + 0x74610002, + 0x5c200004, + 0x64610001, + 0x5c200006, + 0xe000001c, + 0x3461ffde, + 0x74210002, + 0x5c200019, + 0xe000000e, + 0x78010003, + 0x38218b88, + 0x28210000, + 0xf4411000, + 0xc8621000, + 0xe0000013, + 0x78010003, + 0x38218b88, + 0x28210010, + 0xf4411000, + 0x34010001, + 0xc8221000, + 0xe000000c, + 0x430100f7, + 0x340200ff, + 0x44200009, + 0x430100f6, + 0x202100ff, + 0xb8201000, + 0x44200005, + 0x430100f6, + 0x202200ff, + 0xe0000002, + 0x34020000, + 0xb8400800, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x3423ffff, + 0x78040003, + 0x74610059, + 0xb8406000, + 0x3884fa04, + 0x5c200195, + 0x3c610002, + 0x78020003, + 0x38428434, + 0xb4220800, + 0x28210000, + 0xc0200000, + 0xfbfff9d0, + 0xe000018f, + 0x90005800, + 0x34010000, + 0xd0010000, + 0xf8001e51, + 0xd00b0000, + 0xe0000189, + 0x90005800, + 0x34010000, + 0xd0010000, + 0xf8001e72, + 0xd00b0000, + 0xe0000183, + 0x78010003, + 0x38218c00, + 0x402100ab, + 0x5c20017f, + 0x34010001, + 0xe0000005, + 0x78010003, + 0x38218c00, + 0x402100ab, + 0x5c200179, + 0x3301069b, + 0xf80014ac, + 0xe0000176, + 0x78010003, + 0x38218c00, + 0x402100ab, + 0x5c200172, + 0xf8001415, + 0xe0000170, + 0x78030003, + 0x38638c00, + 0x2c820002, + 0x2c61003e, + 0x48220003, + 0x406100ab, + 0x5c200169, + 0x34010001, + 0xf8001326, + 0xe0000166, + 0x90005800, + 0x34010000, + 0xd0010000, + 0xf8001a93, + 0xd00b0000, + 0xe0000160, + 0x90005800, + 0x34010000, + 0xd0010000, + 0xf8001aaf, + 0xd00b0000, + 0xe000015a, + 0x35810068, + 0x3c210007, + 0x78020003, + 0x5b01081c, + 0x38428c00, + 0x40410029, + 0x2b02081c, + 0x3c210007, + 0xc8411000, + 0x5b020820, + 0xe000014f, + 0x78030003, + 0x38638c00, + 0x2c820002, + 0x2c61003e, + 0x4822001e, + 0x406100ab, + 0x5c200148, + 0xe000001b, + 0x78030003, + 0x38638c00, + 0x2c820002, + 0x2c61003e, + 0x48220003, + 0x406100ab, + 0x5c200140, + 0x43010158, + 0x7c210001, + 0x5c20013d, + 0x34010000, + 0x33010158, + 0xb8201800, + 0xe000013a, + 0x78030003, + 0x38638c00, + 0x2c820002, + 0x2c61003e, + 0x48220003, + 0x406100ab, + 0x5c200132, + 0x78010003, + 0x3821f9d8, + 0x28210000, + 0x20220004, + 0x44400005, + 0x43010158, + 0x5c20012b, + 0xf800167a, + 0xe0000129, + 0x43010158, + 0x7c210001, + 0x5c200126, + 0x33020158, + 0xb8401800, + 0xe0000124, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x5b0c0730, + 0x430106ee, + 0x34070003, + 0xb8e01800, + 0x4420011c, + 0x2b010730, + 0x78020003, + 0x3842f000, + 0x2b03072c, + 0x34450060, + 0x34040000, + 0xb8233000, + 0x80c40800, + 0x40a20005, + 0x20230001, + 0x44430005, + 0x34010001, + 0x330106fd, + 0x30a30005, + 0x34070000, + 0x64610000, + 0x5c200002, + 0x33040734, + 0x34840001, + 0x74810007, + 0x34a5001c, + 0x4420fff2, + 0x78010003, + 0x3821f900, + 0x30260024, + 0xd00b0000, + 0xe000006d, + 0x2b020730, + 0x7801c210, + 0x3821003c, + 0x58220000, + 0xe00000fb, + 0x34010001, + 0xd0810000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0xfbfff036, + 0xe00000c6, + 0x34010001, + 0xd0810000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0xfbfff048, + 0xe00000be, + 0x34010001, + 0xd0810000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0xfbfff074, + 0xe00000b6, + 0x430107b6, + 0x340300ff, + 0x442000e1, + 0x218100ff, + 0xfbffed4b, + 0x340300ff, + 0x442000dd, + 0x34010001, + 0x330107b8, + 0x78040003, + 0x330c07b9, + 0x3884f818, + 0x28830000, + 0x7801ffef, + 0x3821ffff, + 0x78020010, + 0xa0611800, + 0x38420000, + 0xb8621800, + 0x58830000, + 0xe00000a1, + 0x430107b6, + 0x340300ff, + 0x442000cc, + 0x34010000, + 0x78030003, + 0x330107b8, + 0x3863f818, + 0x28620000, + 0x7801ffef, + 0x3821ffff, + 0xa0411000, + 0x58620000, + 0xe0000094, + 0x78040003, + 0xb8800800, + 0x38218b20, + 0x28210000, + 0x34070003, + 0x340300ff, + 0x282200c4, + 0x3401ffff, + 0xbc220800, + 0xa4200800, + 0xa1810800, + 0x442000b6, + 0x90005800, + 0x34010000, + 0xd0010000, + 0xb8801000, + 0x38428b20, + 0x28410000, + 0x34040000, + 0x282100c4, + 0x50810015, + 0xb8403000, + 0xb8802800, + 0x28c10000, + 0x81841000, + 0xb4a10800, + 0x40210000, + 0x20430001, + 0x44230007, + 0x34010001, + 0x330107c5, + 0x28c10000, + 0x34070000, + 0xb4a10800, + 0x30230000, + 0x28c10000, + 0x34840001, + 0x34a50014, + 0x282100c4, + 0x50810002, + 0xe3ffffef, + 0x78010003, + 0x3821f900, + 0x302c0026, + 0xd00b0000, + 0xb8e01800, + 0xe0000093, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x34010001, + 0xd0810000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0xf80002f0, + 0xd00b0000, + 0xe0000086, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x34010001, + 0xd0810000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0xf8000305, + 0xd00b0000, + 0xe000007a, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x45800006, + 0x0f0c0750, + 0x34010001, + 0x33010764, + 0xd00b0000, + 0xe0000044, + 0x330c0764, + 0xd00b0000, + 0xe000006e, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x43010814, + 0x5c20000a, + 0x34010001, + 0xd0810000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0xfbffeb11, + 0xd00b0000, + 0xe0000033, + 0xd00b0000, + 0xe000005e, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x43010814, + 0x202200ff, + 0x7c410001, + 0x5c200009, + 0xd0820000, + 0x34000000, + 0x34000000, + 0x34000000, + 0x34000000, + 0xfbffeb2a, + 0xd00b0000, + 0xe0000022, + 0xd00b0000, + 0xe000004d, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x3401001e, + 0xfbffdd9d, + 0xd00b0000, + 0xe0000046, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x3401001e, + 0xfbffddc3, + 0xd00b0000, + 0xe000003f, + 0x78010003, + 0x38218c00, + 0x402100ab, + 0x5c20003b, + 0x34010001, + 0x33010174, + 0xf8002126, + 0xe0000037, + 0x78010003, + 0x38218c00, + 0x402100ab, + 0x5c200033, + 0xf8002157, + 0xe0000031, + 0xf8000a75, + 0xe000002f, + 0xf8000a8d, + 0x34030000, + 0xe000002d, + 0x90005800, + 0x34010000, + 0xd0010000, + 0xb9800800, + 0xf8001b46, + 0x5c200005, + 0x7801c210, + 0x3821003c, + 0x370201c4, + 0x58220000, + 0xd00b0000, + 0xe0000020, + 0x90005800, + 0x34010000, + 0xd0010000, + 0xf80019d2, + 0xd00b0000, + 0xe000001a, + 0x90005800, + 0x34010000, + 0xd0010000, + 0xf80019da, + 0xd00b0000, + 0xe0000014, + 0xf80032ac, + 0xe0000012, + 0xf8001be9, + 0x34010000, + 0xfbffe0cd, + 0xe000000e, + 0x7801c00c, + 0x38210000, + 0x28210000, + 0x20210002, + 0x5c200009, + 0x34010001, + 0xfbffe0c5, + 0xf8001c57, + 0xe0000005, + 0xf8001d07, + 0xe0000003, + 0x340300fe, + 0xe0000002, + 0x34030003, + 0xb8600800, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0xb8201800, + 0x74210028, + 0xb8402800, + 0x5c200017, + 0x70610026, + 0x34040003, + 0x5c200065, + 0x6461001c, + 0x5c200043, + 0x7461001c, + 0x5c20000b, + 0x64610009, + 0x5c20002c, + 0x74610009, + 0x5c200005, + 0x64610001, + 0x340400fe, + 0x5c20005a, + 0xe0000058, + 0x6461000e, + 0xe000000b, + 0x6461001d, + 0x5c200041, + 0x7461001f, + 0x5c200052, + 0xe000001f, + 0x74610039, + 0x5c200006, + 0x70610038, + 0x5c200043, + 0x6461002f, + 0x5c20000c, + 0xe000004a, + 0x6461004c, + 0x5c20001b, + 0x7461004c, + 0x5c200004, + 0x6461003a, + 0x5c200036, + 0xe0000043, + 0x64610058, + 0x5c200004, + 0xe0000040, + 0x43010159, + 0xe0000029, + 0x430206e8, + 0x78030003, + 0x3863f000, + 0xb0401000, + 0x3c410003, + 0x34040003, + 0xc8220800, + 0x3c210002, + 0xb4230800, + 0x40210065, + 0xe0000022, + 0x430207b6, + 0x34040003, + 0x430107b7, + 0x44220030, + 0xe000002e, + 0x430307b0, + 0x78020003, + 0x38428b20, + 0xb0601800, + 0x3c610002, + 0x28420000, + 0xb4230800, + 0x3c210002, + 0xb4220800, + 0x40210000, + 0x7c220001, + 0xb8202000, + 0x44400022, + 0xe0000020, + 0x7801c020, + 0x38210014, + 0x28220000, + 0x78011c00, + 0x38210000, + 0xa0411000, + 0x0042001a, + 0x20a100ff, + 0x5c410017, + 0x430107b7, + 0x34040003, + 0xe0000004, + 0x430107b7, + 0x34040003, + 0x7c210001, + 0x44200011, + 0xe000000f, + 0x2f01073c, + 0x2021ffff, + 0x5441000c, + 0xe0000008, + 0x90001800, + 0x34010000, + 0xd0010000, + 0x43020813, + 0x43010814, + 0x5c220004, + 0xd0030000, + 0x34040003, + 0xe0000003, + 0xd0030000, + 0x34040000, + 0xb8800800, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0xb8201800, + 0x6421016c, + 0x5c200022, + 0x7461016c, + 0x5c200007, + 0x64610001, + 0x5c200028, + 0x4460000b, + 0x64610125, + 0x5c20000e, + 0xe000003c, + 0x6461016e, + 0x5c20001d, + 0x3401016e, + 0x54230019, + 0x6461016f, + 0x5c20001c, + 0xe0000035, + 0x78018000, + 0x38210140, + 0x34420001, + 0x58220000, + 0xe0000032, + 0x90006000, + 0x34010000, + 0xd0010000, + 0x44400007, + 0x0f02075c, + 0x34010001, + 0x3301076a, + 0xd00c0000, + 0x34010000, + 0xe0000029, + 0x3302076a, + 0xd00c0000, + 0xe0000025, + 0x204100ff, + 0xf8000934, + 0xe0000022, + 0xf8000952, + 0xe0000020, + 0x204100ff, + 0xf8000969, + 0xe000001d, + 0xf8000987, + 0xe000001b, + 0x90006000, + 0x34010000, + 0xd0010000, + 0x4301092b, + 0x202b00ff, + 0x5d600007, + 0x3401005d, + 0xb9601000, + 0x34030001, + 0xfbffe8cf, + 0x330b092c, + 0xe000000b, + 0x34020000, + 0x3401005d, + 0xb8401800, + 0xfbffe8c9, + 0x44200004, + 0x34010000, + 0x3301092b, + 0xe0000002, + 0x34010001, + 0x3301092c, + 0xd00c0000, + 0xe0000003, + 0x340100fe, + 0xe0000002, + 0x34010001, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x64210125, + 0x34030000, + 0x4423000c, + 0x90001800, + 0x34010000, + 0xd0010000, + 0x2f01073c, + 0x2021ffff, + 0x54410004, + 0xd0030000, + 0x34030001, + 0xe0000003, + 0xd0030000, + 0x34030000, + 0xb8600800, + 0xc3a00000, + 0x34010000, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0xb8206000, + 0x3c210001, + 0x78030003, + 0xb42c0800, + 0x3c210002, + 0xb8601000, + 0x38428fa8, + 0xb4225800, + 0x90002000, + 0x34010000, + 0xd0010000, + 0x29650000, + 0x5ca00003, + 0xd0040000, + 0xe000003a, + 0x5d800007, + 0x38638fa8, + 0x40610015, + 0x7c210001, + 0x5c20000d, + 0xd0040000, + 0xe0000009, + 0x7d810001, + 0x5c200009, + 0x78010003, + 0x38218fa8, + 0x40210009, + 0x7c210001, + 0x5c200004, + 0xd0040000, + 0x3401ffff, + 0xe0000029, + 0x41610008, + 0x34020001, + 0x34030000, + 0x29660004, + 0x31620009, + 0x31630008, + 0xd0040000, + 0x3d820002, + 0x44200004, + 0x78010003, + 0x38217dcc, + 0xe0000003, + 0x78010003, + 0x38217da4, + 0xb4410800, + 0x28230000, + 0xb8c01000, + 0xb8a00800, + 0xd8600000, + 0xb8201800, + 0x3401ffff, + 0x44600013, + 0x78010003, + 0x3d820002, + 0x38217d7c, + 0xb4411000, + 0x28410000, + 0x34020000, + 0x59620000, + 0x58230000, + 0x7d810005, + 0x31620009, + 0x5c220007, + 0x78020003, + 0x38428e70, + 0x28410000, + 0x44200003, + 0xb8400800, + 0xf800210c, + 0x34010000, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x34010000, + 0xfbffffab, + 0xb8205800, + 0x34010001, + 0xfbffffa8, + 0xb9615800, + 0x34010002, + 0xfbffffa5, + 0xb9615800, + 0x34010003, + 0xfbffffa2, + 0xb9615800, + 0x34010004, + 0xfbffff9f, + 0xb9615800, + 0x34010005, + 0xfbffff9c, + 0xb9615800, + 0x34010007, + 0xfbffff99, + 0xb9615800, + 0x34010008, + 0xfbffff96, + 0xb9615800, + 0x34010009, + 0xfbffff93, + 0xb9610800, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x43030744, + 0x7801c020, + 0x38210134, + 0x206300ff, + 0x34020100, + 0xfbffe8e7, + 0x43020744, + 0x7803c020, + 0x38630134, + 0x43010745, + 0x44220006, + 0x28610000, + 0x18210080, + 0x58610000, + 0x43010744, + 0x33010745, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfff0, + 0x5b8b0010, + 0x5b8c000c, + 0x5b8d0008, + 0x5b9d0004, + 0x780dc020, + 0x39ad0090, + 0x29ab0000, + 0x340cfe01, + 0x43020744, + 0x396b0001, + 0xa16c5800, + 0xb4220800, + 0x202100ff, + 0x3c210001, + 0x2f020740, + 0xb9615800, + 0x01610001, + 0x2042ffff, + 0x202100ff, + 0x4c220006, + 0x2f010740, + 0xa16c5800, + 0x202100ff, + 0x3c210001, + 0xb9615800, + 0xfbffffd1, + 0x01620001, + 0x204200ff, + 0x34410001, + 0x202100ff, + 0x3c210001, + 0xa16c5800, + 0xb9615800, + 0x33020747, + 0x59ab0000, + 0x2b8b0010, + 0x2b8c000c, + 0x2b8d0008, + 0x2b9d0004, + 0x379c0010, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x780bc020, + 0xb9600800, + 0x38210094, + 0x28210000, + 0x20210001, + 0x5c20000a, + 0x78018000, + 0x38210054, + 0x28230000, + 0x78010003, + 0x38218e70, + 0xb8601000, + 0x5c60fff5, + 0xf80020cb, + 0xe3fffff3, + 0x7804c020, + 0x38840090, + 0x28830000, + 0x3402fe01, + 0x780bc020, + 0x00610001, + 0x3421ffff, + 0x202100ff, + 0x3c210001, + 0xa0621800, + 0xb8611800, + 0xb9601000, + 0x38420094, + 0x58830000, + 0x28410000, + 0x20210001, + 0x5c20000d, + 0x78018000, + 0x38210054, + 0x28230000, + 0x78010003, + 0x38218e70, + 0xb8601000, + 0x5c600002, + 0xf80020b1, + 0xb9600800, + 0x38210094, + 0x28210000, + 0xe3fffff3, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x34050000, + 0x78020003, + 0x202600ff, + 0x38428c00, + 0xb8a01800, + 0x34630001, + 0x404100a0, + 0x74640004, + 0x5c260003, + 0x404500a5, + 0xe0000003, + 0x34420001, + 0x4480fff9, + 0xb8a00800, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x34031838, + 0xc8611800, + 0x34010019, + 0x8c615800, + 0x204200ff, + 0x34030000, + 0x5c43000f, + 0x43010826, + 0x7802c020, + 0x3842029c, + 0x5c23000b, + 0x28410000, + 0x20210002, + 0x44230008, + 0x28420000, + 0x216100ff, + 0x20420004, + 0x44430004, + 0xfbffffdc, + 0x33010743, + 0xe0000002, + 0x33030743, + 0x43010743, + 0x202100ff, + 0xb5615800, + 0x216100ff, + 0xfbffff77, + 0xfbffffa0, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0xb8402000, + 0x4303076e, + 0xb4581000, + 0x34450758, + 0xb8205800, + 0x4460000f, + 0xb4841000, + 0xb4581000, + 0x34430740, + 0x40a20008, + 0x4440000a, + 0x0c610008, + 0x2f03073c, + 0x34020000, + 0x2063ffff, + 0x54230002, + 0xe0000004, + 0xfbffffc9, + 0x0f0b073c, + 0x0f0b073e, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x4301076e, + 0x34070000, + 0x5c270016, + 0x4301076f, + 0x7c210001, + 0x5c270013, + 0x78020003, + 0x78010002, + 0x38214a68, + 0x38428b24, + 0x58410040, + 0x37010758, + 0x3404000b, + 0x34020000, + 0x30220008, + 0x3484ffff, + 0x34210001, + 0x4c82fffc, + 0x78010003, + 0x38218ba8, + 0x30220010, + 0x30220029, + 0x3302076f, + 0xe000003c, + 0x34010000, + 0x0f01073e, + 0x43010765, + 0x37030740, + 0x37050758, + 0x202100ff, + 0xb8202000, + 0x44200004, + 0x2f010752, + 0x0f01073e, + 0xe0000010, + 0x40a10008, + 0x34840001, + 0x7486000b, + 0x34a50001, + 0x44200007, + 0x2c620008, + 0x34070001, + 0x2f01073e, + 0x50220003, + 0x2c610008, + 0x0f01073e, + 0x34630002, + 0x44c0fff4, + 0x7ce10000, + 0x44200022, + 0x2f02073e, + 0x2f01073c, + 0x44220007, + 0x2f01073e, + 0x34020000, + 0x2021ffff, + 0xfbffff87, + 0x2f01073e, + 0x0f01073c, + 0x4301082c, + 0x7c210001, + 0x5c200014, + 0x340b0000, + 0x330b082c, + 0x2f01073e, + 0xb9601000, + 0x2021ffff, + 0xfbffff7c, + 0x43010774, + 0x7c210001, + 0x5c2b000b, + 0x7801c201, + 0x330b0774, + 0x3821c588, + 0xf8000c80, + 0x3402fffc, + 0xa0221000, + 0x7801c201, + 0x3821c588, + 0x38420002, + 0xf8000c60, + 0x34010001, + 0x3301076f, + 0x34010000, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x202100ff, + 0x33010744, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x78020003, + 0x78010002, + 0x38428b24, + 0x3821a9b4, + 0x58410040, + 0x34020001, + 0x78010003, + 0x3302076e, + 0x3821f820, + 0x28230000, + 0x78020003, + 0x38428ba8, + 0x780100ff, + 0x38210000, + 0xa0611800, + 0x00630010, + 0x7801c201, + 0x30430010, + 0x30430029, + 0x3821c57c, + 0xf8000c59, + 0x202100ff, + 0x78020003, + 0x0f010740, + 0x3842f818, + 0x28410000, + 0x38212000, + 0x58410000, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x34010000, + 0x78030003, + 0x3301076e, + 0x3863f818, + 0x28610000, + 0x3402dfff, + 0xa0220800, + 0x58610000, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0xb8205800, + 0x7801c201, + 0x3821c574, + 0xf8000c3f, + 0x78040003, + 0xb8801000, + 0x38428acc, + 0x58410038, + 0x7d6b0000, + 0x78010003, + 0x78050003, + 0x5d600006, + 0x38218c00, + 0x4023000c, + 0xe0000005, + 0x40830008, + 0xe0000022, + 0x38218c00, + 0x40230011, + 0x38848acc, + 0x28810038, + 0x38a5fe14, + 0x34060000, + 0x0022000c, + 0x78040003, + 0x00210010, + 0x2042007f, + 0x20210080, + 0xb8221000, + 0x58a20000, + 0x38848c00, + 0x34c60001, + 0x408500a0, + 0x68c70004, + 0x5c450004, + 0x4560ffec, + 0x4083000d, + 0xe000000d, + 0x408100a5, + 0xb4a10800, + 0x5c410008, + 0x5d600003, + 0x40830008, + 0xe0000002, + 0x4083000d, + 0x408100a5, + 0xb4611800, + 0xe0000003, + 0x34840001, + 0x44e0ffee, + 0xb8600800, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x7801c040, + 0x38210c08, + 0x28210000, + 0x3402007f, + 0x202101ff, + 0x50410002, + 0xb8400800, + 0xc3a00000, + 0x34010000, + 0xc3a00000, + 0x34010000, + 0xc3a00000, + 0x88211000, + 0x082312bc, + 0x0042000f, + 0x0063000c, + 0x88410800, + 0x0021000f, + 0x08423377, + 0x08213698, + 0x0042000d, + 0x0021000e, + 0xc8220800, + 0xb4230800, + 0x3421daca, + 0xc3a00000, + 0x7801c020, + 0x3821029c, + 0x28210000, + 0x34031000, + 0x20240008, + 0x20220002, + 0x20210004, + 0x44400002, + 0x34030eec, + 0x44200002, + 0x3463ff26, + 0x44800002, + 0x3463ff59, + 0x43010779, + 0x5c200002, + 0x3463f8a8, + 0xb8600800, + 0xc3a00000, + 0xb8201000, + 0x88210800, + 0x084259f0, + 0x0021000f, + 0x0042000e, + 0x08213b06, + 0x0021000d, + 0xc8220800, + 0x342147c4, + 0xc3a00000, + 0x78010001, + 0x38213880, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x78010003, + 0x38218b88, + 0x282b0000, + 0xfbfffff7, + 0x096b0492, + 0x3c210007, + 0x780200fe, + 0xb5615800, + 0x3842f490, + 0xb5625800, + 0x01610012, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cffc8, + 0x5b8b0038, + 0x5b8c0034, + 0x5b8d0030, + 0x5b8e002c, + 0x5b8f0028, + 0x5b900024, + 0x5b910020, + 0x5b92001c, + 0x5b930018, + 0x5b940014, + 0x5b950010, + 0x5b96000c, + 0x5b970008, + 0x5b9d0004, + 0xb840a800, + 0xb820b000, + 0xb860b800, + 0xb8808000, + 0xb8a09000, + 0xb8c06800, + 0xfbffffd9, + 0x78030003, + 0x38638c00, + 0xb8209800, + 0x40620017, + 0x78010003, + 0x382185e0, + 0xb4411000, + 0x10410000, + 0x40630015, + 0x340b0000, + 0x3421000a, + 0x88618800, + 0x78020001, + 0x384286a0, + 0x3e230010, + 0xb6d50800, + 0x8c628800, + 0xb433a000, + 0x8a110800, + 0xb9606000, + 0x3652ffff, + 0x00210009, + 0xcae17800, + 0xb9e00800, + 0xfbffffb3, + 0x8a815800, + 0xb8207000, + 0xb9e00800, + 0xfbffff8f, + 0x0f010268, + 0x2f010268, + 0x29a30000, + 0x016b000f, + 0x2f02026c, + 0x2021ffff, + 0x6645ffff, + 0x2042ffff, + 0x88220800, + 0x2b020264, + 0x0021000c, + 0xc8621800, + 0x2021ffff, + 0x88611800, + 0x0064000c, + 0xb5645800, + 0x3d61000f, + 0x8c2f8000, + 0x458b0002, + 0x44a0ffe2, + 0x8aae0800, + 0x8a6e1000, + 0x8ace1800, + 0x0021000f, + 0x0042000f, + 0x0063000f, + 0x59a1001c, + 0x59ab0004, + 0x59af0008, + 0x59b0000c, + 0x59a40010, + 0x59a20014, + 0x59a30018, + 0x2b8b0038, + 0x2b8c0034, + 0x2b8d0030, + 0x2b8e002c, + 0x2b8f0028, + 0x2b900024, + 0x2b910020, + 0x2b92001c, + 0x2b930018, + 0x2b940014, + 0x2b950010, + 0x2b96000c, + 0x2b970008, + 0x2b9d0004, + 0x379c0038, + 0xc3a00000, + 0x34030000, + 0x34020007, + 0x58230000, + 0x3442ffff, + 0x34210004, + 0x4c40fffd, + 0xc3a00000, + 0x379cfff4, + 0x5b9d0004, + 0x7801c040, + 0x38210c28, + 0x28220000, + 0x78017fff, + 0x3821ffff, + 0xa0411000, + 0x7801c040, + 0x5b820008, + 0x38210c24, + 0x28220000, + 0x78010003, + 0x5b82000c, + 0x3821f900, + 0x28230000, + 0x2b0202ac, + 0x37810008, + 0x88431000, + 0x34030064, + 0x8c431000, + 0xf800166b, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cffc8, + 0x5b8b0018, + 0x5b8c0014, + 0x5b8d0010, + 0x5b8e000c, + 0x5b8f0008, + 0x5b9d0004, + 0x7802c020, + 0x3842029c, + 0x284c0000, + 0xb8207800, + 0x340b0000, + 0xfbffffdb, + 0x5b010264, + 0xfbffff2b, + 0xfbffff2c, + 0x0f01026a, + 0xfbffff3a, + 0x0f01026c, + 0xb9602800, + 0x21810004, + 0x5c2b000f, + 0x78010003, + 0x38218b88, + 0x2822000c, + 0x2b040274, + 0x28210008, + 0x2b030270, + 0x00420003, + 0x00210003, + 0x88621800, + 0x88812000, + 0x340130d4, + 0x8c611800, + 0x8c815800, + 0xb5635800, + 0x21810002, + 0x5c20000a, + 0x78010003, + 0x38218b88, + 0x28210018, + 0x2b020278, + 0x00210003, + 0x88411000, + 0x340130d4, + 0x8c411000, + 0xb5625800, + 0x21810008, + 0x5c20000a, + 0x78010003, + 0x38218b88, + 0x28210010, + 0x2b02027c, + 0x00210003, + 0x88411000, + 0x340130d4, + 0x8c411000, + 0xb5625800, + 0x21810001, + 0x5c20000a, + 0x78010003, + 0x38218b88, + 0x28210014, + 0x2b020284, + 0x00210003, + 0x88411000, + 0x340130d4, + 0x8c411000, + 0xb5625800, + 0x430107b0, + 0x78020003, + 0x38428b88, + 0xb0200800, + 0x3c210002, + 0x28420004, + 0xb4380800, + 0x2823028c, + 0x00420003, + 0xb8a06000, + 0x88621800, + 0x340130d4, + 0x8c611800, + 0x78020003, + 0x3842f000, + 0x284202f8, + 0x2b010288, + 0xb5635800, + 0xb5615800, + 0xb5625800, + 0x378e001c, + 0xb9c00800, + 0xfbffff85, + 0xb58c6800, + 0x78010003, + 0x5d800004, + 0x38218c00, + 0x2c21009c, + 0xe0000003, + 0x38218c00, + 0x2c21009e, + 0x5b81001c, + 0xb9800800, + 0xfbfffe91, + 0xfbffdd52, + 0x3c21000f, + 0x34020fa0, + 0x8c222800, + 0xb5b81800, + 0x34640240, + 0x34630248, + 0xb9c03000, + 0x0c650004, + 0xb9e00800, + 0xb9601000, + 0xb8a01800, + 0x44a00006, + 0x2c840004, + 0x430502b4, + 0x2084ffff, + 0x20a500ff, + 0xfbffff04, + 0x2b81002c, + 0xb5b81000, + 0x34430230, + 0x0c410230, + 0x2b810030, + 0x34440238, + 0x35850001, + 0x0c610004, + 0x2b810034, + 0x34430240, + 0x20ac00ff, + 0x0c410238, + 0x2f81003a, + 0x0c810004, + 0x2b810020, + 0x0c410240, + 0x2b810028, + 0x0c610004, + 0x2b810024, + 0x75830001, + 0x0c410248, + 0x4460ffcb, + 0x2b8b0018, + 0x2b8c0014, + 0x2b8d0010, + 0x2b8e000c, + 0x2b8f0008, + 0x2b9d0004, + 0x379c0038, + 0xc3a00000, + 0x379cfff4, + 0x5b9d0004, + 0x7801c040, + 0x38210c18, + 0x28220000, + 0x78017fff, + 0x3821ffff, + 0xa0411000, + 0x7801c040, + 0x5b820008, + 0x38210c0c, + 0x28220000, + 0x5b82000c, + 0x2b0202ac, + 0x37810008, + 0xf80015c1, + 0x00210008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x7801c040, + 0x38210c04, + 0x28210000, + 0x7803c040, + 0x78028000, + 0x20210001, + 0x64210000, + 0x38630c18, + 0x38420000, + 0x5c200008, + 0x28610000, + 0xa0220800, + 0x0021001f, + 0x7c210000, + 0x5c200003, + 0xfbffffdb, + 0xfbffff43, + 0x34010000, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x90002800, + 0x34010000, + 0xd0010000, + 0x78010003, + 0x38218ba8, + 0x34020000, + 0x78040003, + 0x30220005, + 0x3022001e, + 0x3884f818, + 0x28830000, + 0x7801ffff, + 0x38217fff, + 0xa0611800, + 0x78020003, + 0x38428b24, + 0x34010000, + 0x58410014, + 0x58830000, + 0xd0050000, + 0x7802c040, + 0x38420c04, + 0x28410000, + 0x3403fffe, + 0xa0230800, + 0x58410000, + 0xc3a00000, + 0x379cffe8, + 0x5b8b0018, + 0x5b8c0014, + 0x5b8d0010, + 0x5b8e000c, + 0x5b8f0008, + 0x5b9d0004, + 0x7801c040, + 0x34030000, + 0x38210d04, + 0x7802c040, + 0x58230000, + 0x38420d08, + 0x58430000, + 0xb8606800, + 0x780f0003, + 0x3dae0002, + 0xb9e00800, + 0x38217cec, + 0xb5c10800, + 0x40210001, + 0x340c0000, + 0x51810014, + 0xb9e05800, + 0x396b7cec, + 0xb5cb5800, + 0x41610002, + 0x41620000, + 0x3d840016, + 0x3c210001, + 0x3c420011, + 0x7803c040, + 0xb8220800, + 0xb8240800, + 0x38630d00, + 0x38210001, + 0x58610000, + 0x34010001, + 0xfbffdbd2, + 0x41610001, + 0x358c0001, + 0xe3ffffed, + 0x35ad0001, + 0x75a10007, + 0x4420ffe3, + 0x7801c040, + 0x34040000, + 0x38210d34, + 0x58240000, + 0x7802c040, + 0x38420d38, + 0x7801c040, + 0x58440000, + 0x38210d40, + 0x58240000, + 0x7802c040, + 0x38420d44, + 0x7801c040, + 0x58440000, + 0x38210d4c, + 0x58240000, + 0x7802c040, + 0x780d0003, + 0x38420d50, + 0xb9a00800, + 0x58440000, + 0x38217cec, + 0x4022008d, + 0x7803c040, + 0x38630d58, + 0x7801c040, + 0x58640000, + 0x38210d5c, + 0x58240000, + 0xb8806000, + 0x5082001d, + 0xb9a05800, + 0x396b7cec, + 0x4162008e, + 0x4161008c, + 0x3d840016, + 0x3c420001, + 0x3c210011, + 0x7803c040, + 0xb8411000, + 0xb8441000, + 0x38420001, + 0x38630d30, + 0x7801c040, + 0x58620000, + 0x38210d3c, + 0x58220000, + 0x7803c040, + 0x38630d48, + 0x7801c040, + 0x58620000, + 0x38210d54, + 0x58220000, + 0x34010001, + 0xfbffdb95, + 0x4161008d, + 0x358c0001, + 0x51810002, + 0xe3ffffe5, + 0x7801c040, + 0x34030000, + 0x38210d84, + 0x7802c040, + 0x58230000, + 0x38420d88, + 0x58430000, + 0xb8606800, + 0x780f0003, + 0x3dae0002, + 0xb9e00800, + 0x38217cec, + 0xb5c10800, + 0x40210021, + 0x340c0000, + 0x51810014, + 0xb9e05800, + 0x396b7cec, + 0xb5cb5800, + 0x41610022, + 0x41620020, + 0x3d840016, + 0x3c210001, + 0x3c420011, + 0x7803c040, + 0xb8220800, + 0xb8240800, + 0x38630d80, + 0x38210001, + 0x58610000, + 0x34010001, + 0xfbffdb71, + 0x41610021, + 0x358c0001, + 0xe3ffffed, + 0x35ad0001, + 0x75a1001a, + 0x4420ffe3, + 0x2b8b0018, + 0x2b8c0014, + 0x2b8d0010, + 0x2b8e000c, + 0x2b8f0008, + 0x2b9d0004, + 0x379c0018, + 0xc3a00000, + 0x379cffe8, + 0x5b8b0018, + 0x5b8c0014, + 0x5b8d0010, + 0x5b8e000c, + 0x5b8f0008, + 0x5b9d0004, + 0x780fc040, + 0xb9e02800, + 0x38a50c00, + 0x28a30000, + 0x7801ff00, + 0x38210000, + 0x7802000a, + 0xa0611800, + 0x38422710, + 0xb8621800, + 0x7804c040, + 0x58a30000, + 0x38840c14, + 0x28810000, + 0x780cffff, + 0xb9801000, + 0x38420000, + 0xa0220800, + 0x3821ffff, + 0x7802c040, + 0x38420c10, + 0x58810000, + 0x28410000, + 0x780bc040, + 0x780e00ff, + 0x3401ffff, + 0x58410000, + 0xb9601000, + 0x340d0000, + 0x38420000, + 0x34010118, + 0x584d0000, + 0x3421ffff, + 0x34420004, + 0x4c20fffd, + 0xfbffff40, + 0xb9602000, + 0x38840000, + 0x28820000, + 0x78010065, + 0x38210000, + 0x2042ffff, + 0xb8411000, + 0x7803c040, + 0x58820000, + 0x38630004, + 0x28610000, + 0xb9803000, + 0x38c60000, + 0xa0260800, + 0x38210005, + 0x58610000, + 0x28610000, + 0x78020019, + 0x38420000, + 0x2021ffff, + 0xb8220800, + 0x7805c040, + 0x58610000, + 0x38a50020, + 0x28a10000, + 0x78020007, + 0x38420000, + 0xa0260800, + 0x3821002d, + 0x58a10000, + 0x28a10000, + 0x7804c040, + 0x38840024, + 0x2021ffff, + 0xb8220800, + 0x58a10000, + 0x28820000, + 0x78010023, + 0x38210000, + 0x2042ffff, + 0xb8411000, + 0x7803c040, + 0x58820000, + 0x38630060, + 0x28620000, + 0x7801002d, + 0x38210000, + 0x2042ffff, + 0xb8411000, + 0x7807c040, + 0x58620000, + 0x38e70064, + 0x28e10000, + 0x7802c040, + 0x38420080, + 0xa0260800, + 0x38210009, + 0x58e10000, + 0x28410000, + 0x7804c040, + 0x38840084, + 0xa0260800, + 0x38210021, + 0x58410000, + 0x28820000, + 0x78010053, + 0x38210000, + 0x2042ffff, + 0xb8411000, + 0x7803c040, + 0x58820000, + 0x38630100, + 0x28610000, + 0x7804006f, + 0x38840000, + 0xa0260800, + 0x38210012, + 0x58610000, + 0x28610000, + 0x7802c040, + 0x38420108, + 0x2021ffff, + 0xb8240800, + 0x58610000, + 0x28410000, + 0x7803c040, + 0x386300a0, + 0xa0260800, + 0x38210041, + 0x58410000, + 0x28610000, + 0x7802c040, + 0x384200e0, + 0xa0260800, + 0x38210037, + 0x58610000, + 0x28410000, + 0x7803c040, + 0x386300e4, + 0xa0260800, + 0x38210009, + 0x58410000, + 0x28610000, + 0x7802c040, + 0x38420120, + 0xa0260800, + 0x38210008, + 0x58610000, + 0x28410000, + 0x7803c040, + 0x38630160, + 0xa0260800, + 0x38210014, + 0x58410000, + 0x28610000, + 0x7802c040, + 0x38420180, + 0xa0260800, + 0x38210012, + 0x58610000, + 0x28410000, + 0x7803c040, + 0x38630184, + 0xa0260800, + 0x38210004, + 0x58410000, + 0x28610000, + 0x7804c040, + 0x388400c0, + 0xa0260800, + 0x38210005, + 0x58610000, + 0x28820000, + 0x78010099, + 0x38210000, + 0x2042ffff, + 0xb8411000, + 0x7805c040, + 0x58820000, + 0x38a500c4, + 0x28a10000, + 0x7802002e, + 0x38420000, + 0xa0260800, + 0x382100b1, + 0x58a10000, + 0x28e10000, + 0x78030066, + 0x38630000, + 0x2021ffff, + 0xb8220800, + 0x58e10000, + 0x28a10000, + 0x7802c040, + 0x384200c8, + 0x2021ffff, + 0xb8230800, + 0x58a10000, + 0x28410000, + 0x7804c040, + 0x388400cc, + 0xa0260800, + 0x382100ec, + 0x58410000, + 0x28810000, + 0x7803001f, + 0x38630000, + 0xa0260800, + 0x3821002c, + 0x58810000, + 0x28810000, + 0x7802c040, + 0x384200d0, + 0x2021ffff, + 0xb8230800, + 0x58810000, + 0x28410000, + 0x7804c040, + 0x38840454, + 0xa0260800, + 0x38210003, + 0x58410000, + 0x28810000, + 0x78020024, + 0x38420000, + 0xa0260800, + 0x38210024, + 0x58810000, + 0x28810000, + 0x7803c040, + 0x38630464, + 0x2021ffff, + 0xb8220800, + 0x58810000, + 0x28610000, + 0x7802c040, + 0x38420c04, + 0xa0260800, + 0x38210001, + 0x58610000, + 0x28410000, + 0x38210001, + 0x58410000, + 0x90006000, + 0xd00d0000, + 0x780b0003, + 0x396b8c00, + 0x41610080, + 0x39ceffff, + 0xfbffdb4a, + 0x00210002, + 0x0f01022a, + 0x41610081, + 0xfbffdb46, + 0x78020003, + 0x3842f900, + 0x28480000, + 0x00210002, + 0x340a0003, + 0x34020064, + 0x8d024000, + 0x0f010228, + 0xb9e00800, + 0x38210c00, + 0x28240000, + 0x340b028f, + 0x78060003, + 0x2084ffff, + 0x28210000, + 0x38c68ba8, + 0x34090001, + 0xa02e0800, + 0x00210010, + 0x78070003, + 0x38e7f818, + 0x7805ffff, + 0x38a57fff, + 0x78030003, + 0x38638b24, + 0x8c882000, + 0x78020002, + 0x3842b2a4, + 0x88240800, + 0x5b0102ac, + 0x330a02b4, + 0x0f0b02b0, + 0x30c9001e, + 0x30c90005, + 0x28e10000, + 0x58620014, + 0xa0250800, + 0x38218000, + 0x58e10000, + 0xd00c0000, + 0x2b8b0018, + 0x2b8c0014, + 0x2b8d0010, + 0x2b8e000c, + 0x2b8f0008, + 0x2b9d0004, + 0x379c0018, + 0xc3a00000, + 0x379cfff8, + 0xb8202800, + 0x64a20003, + 0x64210001, + 0x78078000, + 0xb8220800, + 0x34020000, + 0x64210000, + 0x38e70338, + 0x5b820004, + 0x5c220016, + 0xbbe01800, + 0x3401fffc, + 0xa0611800, + 0xb8402000, + 0xb8204000, + 0x3c820002, + 0x34860001, + 0xb4471000, + 0x28410000, + 0xa0280800, + 0x58410000, + 0x44230005, + 0x20c400ff, + 0x74810003, + 0x4420fff7, + 0xe0000007, + 0x37810008, + 0xb4241000, + 0x34010001, + 0x3041fffc, + 0xe0000002, + 0xbbc01800, + 0x7ca10002, + 0x5c20000d, + 0x78018000, + 0x38210398, + 0x28220000, + 0x3403ff00, + 0xb8202000, + 0xa0431000, + 0x38420030, + 0x58220000, + 0x28810000, + 0x202100ff, + 0x5c20fffe, + 0xe0000087, + 0x7ca10004, + 0x5c20000d, + 0x78018000, + 0x38210398, + 0x28220000, + 0x3403ff00, + 0xb8202000, + 0xa0431000, + 0x38420040, + 0x58220000, + 0x28810000, + 0x202100ff, + 0x5c20fffe, + 0xe0000079, + 0x7ca10005, + 0x78038000, + 0x5c20000d, + 0xb8600800, + 0x38210398, + 0x28220000, + 0x3403ff00, + 0xb8202000, + 0xa0431000, + 0x38420020, + 0x58220000, + 0x28810000, + 0x202100ff, + 0x5c20fffe, + 0xe000006a, + 0xb8600800, + 0x38210398, + 0x28210000, + 0x20210100, + 0x00220008, + 0x44200017, + 0xd1020000, + 0xb8600800, + 0x38210398, + 0x28220000, + 0x3403ff00, + 0xb8202000, + 0xa0431000, + 0x38420006, + 0x58220000, + 0x28810000, + 0x202100ff, + 0x7c210006, + 0x4420fffd, + 0x28810000, + 0x20210100, + 0x00220008, + 0x7c410000, + 0x5c200052, + 0xd1020000, + 0x34010001, + 0xd0610000, + 0xe000004e, + 0x43810004, + 0x4420000f, + 0x28e10000, + 0xd2010000, + 0x38630398, + 0x28610000, + 0x3402ff00, + 0xb8602000, + 0xa0220800, + 0x38210001, + 0x58610000, + 0x28810000, + 0x202100ff, + 0x7c210001, + 0x4420fffd, + 0xe000003e, + 0x43810005, + 0x4420000f, + 0x28e10004, + 0xd2210000, + 0x38630398, + 0x28610000, + 0x3402ff00, + 0xb8602000, + 0xa0220800, + 0x38210002, + 0x58610000, + 0x28810000, + 0x202100ff, + 0x7c210002, + 0x4420fffd, + 0xe000002e, + 0x43810006, + 0x4420000f, + 0x28e10008, + 0xd2410000, + 0x38630398, + 0x28610000, + 0x3402ff00, + 0xb8602000, + 0xa0220800, + 0x38210003, + 0x58610000, + 0x28810000, + 0x202100ff, + 0x7c210003, + 0x4420fffd, + 0xe000001e, + 0x43810007, + 0x4420000f, + 0x28e1000c, + 0xd2610000, + 0x38630398, + 0x28610000, + 0x3402ff00, + 0xb8602000, + 0xa0220800, + 0x38210004, + 0x58610000, + 0x28810000, + 0x202100ff, + 0x7c210004, + 0x4420fffd, + 0xe000000e, + 0x34010001, + 0xd0610000, + 0x38630398, + 0x28610000, + 0x3402ff00, + 0xb8602000, + 0xa0220800, + 0x38210005, + 0x58610000, + 0x28810000, + 0x202100ff, + 0x7c210005, + 0x4420fffd, + 0x379c0008, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x430206f8, + 0x780c0003, + 0x398cf054, + 0x430106f9, + 0x340b0004, + 0x34030001, + 0x5c220087, + 0x430106ae, + 0x202200ff, + 0x64410006, + 0x5c200008, + 0x68410006, + 0x4420000b, + 0x64410008, + 0x5c200006, + 0x6441000a, + 0x5c200006, + 0xe0000006, + 0x340b0005, + 0xe0000004, + 0x340b0006, + 0xe0000002, + 0x340b0007, + 0x430206ae, + 0x430106ac, + 0x4422005d, + 0x430106ae, + 0x202200ff, + 0x64410006, + 0x5c200024, + 0x68410006, + 0x5c200004, + 0x64410004, + 0x5c200007, + 0xe0000054, + 0x64410008, + 0x5c20001d, + 0x6441000a, + 0x5c20001b, + 0xe000004f, + 0x7804c020, + 0x38840014, + 0x28810000, + 0x3403fff0, + 0x3562fffc, + 0xa0230800, + 0x2042000f, + 0xb8220800, + 0x58810000, + 0x34010001, + 0x33010765, + 0x370606b0, + 0x28c30004, + 0x78020003, + 0x78010002, + 0x3821c154, + 0x38428b24, + 0x0f030752, + 0x58410044, + 0x40c1000d, + 0x34030001, + 0x3301077f, + 0x40c1000e, + 0x33010781, + 0xe000004d, + 0x430106ac, + 0x7c210004, + 0x5c200033, + 0xfbffdb4c, + 0xb0200800, + 0x3c220003, + 0x7805c020, + 0xc8411000, + 0x3c420002, + 0x38a50014, + 0xb44c1000, + 0x28410000, + 0x3564fffc, + 0x2084000f, + 0x5b0106b4, + 0x4041000f, + 0x78060003, + 0x38c6f134, + 0x330106bc, + 0x28410004, + 0x7803c050, + 0x386300cc, + 0x5b0106b8, + 0x4041000d, + 0x7807c050, + 0x38e700d0, + 0x330106bd, + 0x4041000e, + 0x330106be, + 0x40410010, + 0x330106bf, + 0x40410016, + 0x330106c0, + 0x28a10000, + 0x3402fff0, + 0xa0220800, + 0xb8240800, + 0x58a10000, + 0x40c1000c, + 0x58610000, + 0x28e10000, + 0x4420ffff, + 0x34010001, + 0x33010765, + 0x28c30004, + 0x78020003, + 0x78010002, + 0x38428b24, + 0x3821c154, + 0x0f030752, + 0x58410044, + 0x34030001, + 0xe0000018, + 0x430206ae, + 0x78010003, + 0x38218ba8, + 0x330206ac, + 0x34020000, + 0x7804c020, + 0x3022002a, + 0x30220011, + 0x388400b0, + 0x28830000, + 0x78020003, + 0x78010002, + 0x38428b24, + 0x38214a68, + 0x58410044, + 0x430206ad, + 0x780100ff, + 0x3821ffff, + 0x3c420018, + 0xa0611800, + 0xb8621800, + 0x58830000, + 0x34030000, + 0xb8600800, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x7801c020, + 0x38210000, + 0x28210000, + 0x20210001, + 0x64210000, + 0x5c20005b, + 0x7804c020, + 0xb8800800, + 0x382100b0, + 0x28220000, + 0x780100ff, + 0x38210000, + 0xa0411000, + 0x00420010, + 0x330206ae, + 0x430106ae, + 0x202100ff, + 0x3422fffc, + 0x74410008, + 0x5c20004d, + 0x3c410002, + 0x78020003, + 0x3842859c, + 0xb4220800, + 0x28210000, + 0xc0200000, + 0x388400b0, + 0x28830000, + 0x780100ff, + 0x3821ffff, + 0x78020c00, + 0xa0611800, + 0x38420000, + 0xb8621800, + 0x58830000, + 0xe000003d, + 0x388400b0, + 0x28830000, + 0x780100ff, + 0x3821ffff, + 0x78020400, + 0xa0611800, + 0x38420000, + 0xb8621800, + 0x58830000, + 0x34010005, + 0xe0000021, + 0x388400b0, + 0x28830000, + 0x780100ff, + 0x3821ffff, + 0x78020600, + 0xa0611800, + 0x38420000, + 0xb8621800, + 0x58830000, + 0x34010007, + 0xe0000016, + 0x388400b0, + 0x28830000, + 0x780100ff, + 0x3821ffff, + 0x78020800, + 0xa0611800, + 0x38420000, + 0xb8621800, + 0x58830000, + 0x34010009, + 0xe000000b, + 0x388400b0, + 0x28830000, + 0x780100ff, + 0x3821ffff, + 0x78020a00, + 0xa0611800, + 0x38420000, + 0xb8621800, + 0x58830000, + 0x3401000b, + 0x330106ad, + 0x430106ee, + 0x44200003, + 0x34010001, + 0x330106f8, + 0x78010003, + 0x38218ba8, + 0x34040001, + 0x78030003, + 0x78020002, + 0x38638b24, + 0x3842bd64, + 0x3024002a, + 0x30240011, + 0x58620044, + 0x34010020, + 0xfbffd567, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfff0, + 0x5b8b0010, + 0x5b8c000c, + 0x5b8d0008, + 0x5b9d0004, + 0x430106ad, + 0x64210005, + 0x5c200023, + 0x780c0003, + 0x398cf134, + 0x2f01073c, + 0x29820004, + 0x2021ffff, + 0x5c22006e, + 0x43010746, + 0x5c20006c, + 0x7804c020, + 0x38840014, + 0x28830000, + 0x3402ff0f, + 0x78050003, + 0x28810000, + 0xa0621800, + 0x38a598d8, + 0x2021000f, + 0x3c210004, + 0xb8611800, + 0x58830000, + 0x28a10034, + 0x5b0106a4, + 0x28a10038, + 0x5b0106a8, + 0xfbffd59f, + 0x3401000e, + 0xfbffd541, + 0x34010012, + 0xfbffd53f, + 0x34010006, + 0xfbffd53d, + 0x3401000a, + 0xfbffd53b, + 0xe0000054, + 0x370c06b0, + 0x2f01073c, + 0x29820004, + 0x2021ffff, + 0x5c22004d, + 0x43010746, + 0x202b00ff, + 0x5d60004a, + 0xfbffda66, + 0x780dc020, + 0xb9a02800, + 0x330106e9, + 0x38a50014, + 0x28a40000, + 0x7802fc1f, + 0x780303e0, + 0x430106e9, + 0x3842ffff, + 0x38630000, + 0xb0200800, + 0x3c210015, + 0xa0822000, + 0xa0230800, + 0xb8812000, + 0x58a40000, + 0x330b0765, + 0x330b06f8, + 0x4182000c, + 0x7801c050, + 0x382100cc, + 0x7803c050, + 0x58220000, + 0x386300d0, + 0x28610000, + 0x4420ffff, + 0x29820008, + 0x78010003, + 0x38218b88, + 0x58220000, + 0x4181000f, + 0x330106f2, + 0x430106f2, + 0x202100ff, + 0xfbffdb6c, + 0x41830010, + 0x7804c020, + 0x38840088, + 0x28810000, + 0x3c630003, + 0x3402ffc7, + 0xa0220800, + 0x20630038, + 0xb8230800, + 0x58810000, + 0x430106e9, + 0xb9a02800, + 0x38a50014, + 0x330106e8, + 0x28a20000, + 0x7803ffe0, + 0x7804001f, + 0x430106e8, + 0x3863ffff, + 0x38840000, + 0xb0200800, + 0x3c210010, + 0xa0431000, + 0xa0240800, + 0xb8411000, + 0x58a20000, + 0x28a40000, + 0x3403ff0f, + 0x370106a4, + 0x28a20000, + 0xa0832000, + 0x2042000f, + 0x3c420004, + 0xb8822000, + 0x58a40000, + 0xfbffd55a, + 0xe0000003, + 0x34010001, + 0xe0000018, + 0x430206ae, + 0x78010003, + 0x38218ba8, + 0x330206ac, + 0x34020000, + 0x7804c020, + 0x3022002a, + 0x30220011, + 0x388400b0, + 0x28830000, + 0x78020003, + 0x78010002, + 0x38428b24, + 0x38214a68, + 0x58410044, + 0x430206ad, + 0x780100ff, + 0x3821ffff, + 0x3c420018, + 0xa0611800, + 0xb8621800, + 0x58830000, + 0x34010000, + 0x2b8b0010, + 0x2b8c000c, + 0x2b8d0008, + 0x2b9d0004, + 0x379c0010, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x3401000a, + 0x330106ae, + 0x430206ee, + 0x78070003, + 0x78060002, + 0x78040003, + 0x38848ba8, + 0x38e78b24, + 0x38c6bd64, + 0x34050001, + 0x34010020, + 0x44400002, + 0x330506f8, + 0x58e60044, + 0x3085002a, + 0x30850011, + 0xfbffd4b7, + 0x3401000a, + 0xfbfffe56, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x34010004, + 0x330106ae, + 0x430206ee, + 0x78070003, + 0x78060002, + 0x78040003, + 0x38848ba8, + 0x38e78b24, + 0x38c6bd64, + 0x34050001, + 0x34010020, + 0x44400002, + 0x330506f8, + 0x58e60044, + 0x3085002a, + 0x30850011, + 0xfbffd49f, + 0x34010004, + 0xfbfffe3e, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x7801c020, + 0x38210000, + 0x28210000, + 0x20210001, + 0x64210000, + 0x5c200049, + 0x7804c020, + 0x388400bc, + 0x28810000, + 0x780200ff, + 0x38420000, + 0xa0220800, + 0x00220010, + 0x64410006, + 0x5c200017, + 0x74410006, + 0x5c200004, + 0x64410004, + 0x5c200007, + 0xc3a00000, + 0x64410008, + 0x5c20001f, + 0x6441000a, + 0x5c200029, + 0xc3a00000, + 0x28820000, + 0x780300ff, + 0x3863ffff, + 0x78010400, + 0x38210000, + 0xa0431000, + 0xb8411000, + 0x58820000, + 0x28820000, + 0x78010500, + 0x38210000, + 0xe000000c, + 0x28820000, + 0x780300ff, + 0x3863ffff, + 0x78010600, + 0x38210000, + 0xa0431000, + 0xb8411000, + 0x58820000, + 0x28820000, + 0x78010700, + 0x38210000, + 0xa0431000, + 0xb8411000, + 0x58820000, + 0xc3a00000, + 0x28820000, + 0x780300ff, + 0x3863ffff, + 0x78010800, + 0x38210000, + 0xa0431000, + 0xb8411000, + 0x58820000, + 0x28820000, + 0x78010900, + 0x38210000, + 0xe3fffff1, + 0x28820000, + 0x780300ff, + 0x3863ffff, + 0x78010a00, + 0x38210000, + 0xa0431000, + 0xb8411000, + 0x58820000, + 0x28820000, + 0x78010b00, + 0x38210000, + 0xa0431000, + 0xb8411000, + 0x58820000, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x33010824, + 0x34030001, + 0xb8201000, + 0x33010825, + 0x5c200005, + 0x33030826, + 0x2f01073c, + 0x2021ffff, + 0xfbfff8b7, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x780bc050, + 0x396b0080, + 0x29620000, + 0x340c0014, + 0xb9800800, + 0x38420020, + 0x59620000, + 0xf8001a95, + 0x29620000, + 0xb9800800, + 0x38420001, + 0x59620000, + 0xf8001a90, + 0x34010000, + 0x33010926, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x43010927, + 0x5c20000b, + 0x7804c050, + 0x38840170, + 0x28830000, + 0x7801dfff, + 0x3821ffff, + 0x78022000, + 0xa0611800, + 0x38420000, + 0xb8621800, + 0x58830000, + 0x780cc050, + 0xb9800800, + 0x38210194, + 0x28210000, + 0x780b0080, + 0xb9601000, + 0x38420000, + 0xa0220800, + 0x00210017, + 0x202100ff, + 0x64210001, + 0x5c200007, + 0x34010014, + 0xf8001a6b, + 0xb9800800, + 0x38210194, + 0x28210000, + 0xe3fffff4, + 0x34010001, + 0x33010926, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x43010928, + 0x780cc050, + 0xb9805800, + 0x7c210001, + 0x396b0080, + 0x5c20002b, + 0x29620000, + 0x34010014, + 0x20420001, + 0x7c420001, + 0x5c40001d, + 0x43020927, + 0x7805c050, + 0x7804dfff, + 0x78032000, + 0x38a50170, + 0x3884ffff, + 0x38630000, + 0x5c400005, + 0x28a20000, + 0xa0441000, + 0xb8431000, + 0x58a20000, + 0x29620000, + 0x3403fffe, + 0xa0431000, + 0x59620000, + 0xf8001a40, + 0x29620000, + 0x34010014, + 0x38420040, + 0x59620000, + 0xf8001a3b, + 0x29620000, + 0x3403ffbf, + 0x34010014, + 0xa0431000, + 0x59620000, + 0xf8001a35, + 0xfbffffac, + 0xb9801000, + 0x38420080, + 0x28430000, + 0x3404ffdf, + 0x34010014, + 0xa0641800, + 0x58430000, + 0xf8001a2c, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x43010927, + 0x5c20000b, + 0x7804c050, + 0x38840170, + 0x28830000, + 0x7801dfff, + 0x3821ffff, + 0x78022000, + 0xa0611800, + 0x38420000, + 0xb8621800, + 0x58830000, + 0x7801c050, + 0x38210194, + 0x28220000, + 0x78010080, + 0x38210000, + 0xa0411000, + 0x00420017, + 0x7801c050, + 0x33020926, + 0x38210080, + 0x28220000, + 0x43010918, + 0x20420001, + 0x7c210001, + 0x5c20001c, + 0x43010919, + 0x7c210001, + 0x5c200019, + 0x4301091a, + 0x7c210001, + 0x5c200016, + 0x4301091b, + 0x7c210001, + 0x5c200013, + 0x4301091c, + 0x7c210001, + 0x5c200010, + 0x4301091d, + 0x7c210001, + 0x5c20000d, + 0x4301091e, + 0x7c210001, + 0x5c20000a, + 0x43010921, + 0x202300ff, + 0x7c610001, + 0x5c200006, + 0x7c410000, + 0x33030924, + 0x5c200005, + 0xfbffff50, + 0xe0000003, + 0x34010000, + 0x33010924, + 0x34010000, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x202100ff, + 0x90005000, + 0x34020000, + 0xd0020000, + 0x20220007, + 0x3c48000f, + 0x7804c050, + 0x7802c050, + 0x7803fffc, + 0xb8403000, + 0x388401c8, + 0x38637fff, + 0x34070001, + 0x38c60118, + 0x20210008, + 0x44200006, + 0x28c10000, + 0x38210020, + 0x58c10000, + 0x3307091e, + 0xe000000a, + 0x28810000, + 0x3402ffdf, + 0xa0230800, + 0xb8280800, + 0x58810000, + 0x28c10000, + 0xa0220800, + 0x58c10000, + 0x3307091e, + 0xd00a0000, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x3301091e, + 0xfbffff62, + 0x7803c050, + 0x38630118, + 0x28610000, + 0x3402ffdf, + 0x7804c050, + 0xa0220800, + 0x58610000, + 0x388401c8, + 0x28820000, + 0x7801fffc, + 0x38217fff, + 0xa0411000, + 0x58820000, + 0xd00b0000, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x202100ff, + 0x90005000, + 0x34020000, + 0xd0020000, + 0x20220007, + 0x3c480012, + 0x7804c050, + 0x7802c050, + 0x7803ffe3, + 0xb8403000, + 0x388401c8, + 0x3863ffff, + 0x34070001, + 0x38c60118, + 0x20210008, + 0x44200006, + 0x28c10000, + 0x38210040, + 0x58c10000, + 0x3307091d, + 0xe000000a, + 0x28810000, + 0x3402ffbf, + 0xa0230800, + 0xb8280800, + 0x58810000, + 0x28c10000, + 0xa0220800, + 0x58c10000, + 0x3307091d, + 0xd00a0000, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x3301091d, + 0xfbffff28, + 0x7804c050, + 0x388401c8, + 0x28820000, + 0x7801ffe3, + 0x3821ffff, + 0xa0411000, + 0x7803c050, + 0x58820000, + 0x38630118, + 0x28610000, + 0x3402ffbf, + 0xa0220800, + 0x58610000, + 0xd00b0000, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x90003000, + 0x34010000, + 0xd0010000, + 0x34020001, + 0x78010003, + 0x33020928, + 0x38218ba8, + 0x78050003, + 0x30220018, + 0x30220031, + 0x38a5f818, + 0x28a40000, + 0x7801ffbf, + 0x3821ffff, + 0xa0812000, + 0x78020040, + 0x38420000, + 0x78030003, + 0x78010002, + 0xb8822000, + 0x38638b24, + 0x3821c7d8, + 0x58610060, + 0x58a40000, + 0xd0060000, + 0xc3a00000, + 0x90003000, + 0x34010000, + 0xd0010000, + 0x34020000, + 0x78010003, + 0x33020928, + 0x38218ba8, + 0x78050003, + 0x30220031, + 0x30220018, + 0x38a5f818, + 0x28a40000, + 0x7801ffbf, + 0x3821ffff, + 0x78030003, + 0x78020002, + 0xa0812000, + 0x38638b24, + 0x38424a68, + 0x58620060, + 0x58a40000, + 0xd0060000, + 0xc3a00000, + 0x379cfff0, + 0x5b8b0010, + 0x5b8c000c, + 0x5b8d0008, + 0x5b9d0004, + 0xb8206800, + 0x340c0000, + 0x3d8b0002, + 0x78010003, + 0x382185c0, + 0xb5610800, + 0x28250000, + 0x340400d0, + 0x3406000f, + 0x34010000, + 0xb8201000, + 0xb8201800, + 0xf8002af9, + 0x34010000, + 0xb8201000, + 0xb8201800, + 0x340400d4, + 0x3405000f, + 0xf8002b2a, + 0x358c0001, + 0xb56d5800, + 0x75820006, + 0x59610000, + 0x4440ffeb, + 0x2b8b0010, + 0x2b8c000c, + 0x2b8d0008, + 0x2b9d0004, + 0x379c0010, + 0xc3a00000, + 0x379cfff0, + 0x5b8b0010, + 0x5b8c000c, + 0x5b8d0008, + 0x5b9d0004, + 0xb8206800, + 0x340c0000, + 0x3d8b0002, + 0x78010003, + 0x382185c0, + 0xb5610800, + 0x28250000, + 0x340400d0, + 0x3406000f, + 0x34010000, + 0xb8201000, + 0xb8201800, + 0xf8002ad6, + 0xb56d5800, + 0x29650000, + 0x34010000, + 0xb8201000, + 0xb8201800, + 0x340400d4, + 0x3406000f, + 0xf8002ace, + 0x358c0001, + 0x75810006, + 0x4420ffeb, + 0x2b8b0010, + 0x2b8c000c, + 0x2b8d0008, + 0x2b9d0004, + 0x379c0010, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x7801c000, + 0x38210000, + 0x28210010, + 0x00210017, + 0xf80018f7, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfff0, + 0x5b8b0010, + 0x5b8c000c, + 0x5b8d0008, + 0x5b9d0004, + 0x780de000, + 0x39ad302c, + 0x29a10000, + 0x780cc000, + 0x398c0000, + 0x38210002, + 0x59a10000, + 0x29810010, + 0x29820000, + 0x7801ffff, + 0x38217fff, + 0x298b0000, + 0xa1615800, + 0x598b0000, + 0xfbffffe3, + 0x396b8000, + 0x598b0000, + 0x29a10000, + 0x3402fffd, + 0xa0220800, + 0x59a10000, + 0x2b8b0010, + 0x2b8c000c, + 0x2b8d0008, + 0x2b9d0004, + 0x379c0010, + 0xc3a00000, + 0x379cfff0, + 0x5b8b0010, + 0x5b8c000c, + 0x5b8d0008, + 0x5b9d0004, + 0x780de000, + 0x39ad302c, + 0x29a10000, + 0x780cc000, + 0x398c0000, + 0x38210002, + 0x59a10000, + 0x29810010, + 0x298b0000, + 0x7801fffd, + 0x3821ffff, + 0xa1615800, + 0x598b0000, + 0xfbffffc4, + 0x78010002, + 0x38210000, + 0xb9615800, + 0x598b0000, + 0x29a10000, + 0x3402fffd, + 0xa0220800, + 0x59a10000, + 0x2b8b0010, + 0x2b8c000c, + 0x2b8d0008, + 0x2b9d0004, + 0x379c0010, + 0xc3a00000, + 0x379cffd4, + 0x5b8b002c, + 0x5b8c0028, + 0x5b8d0024, + 0x5b8e0020, + 0x5b8f001c, + 0x5b900018, + 0x5b910014, + 0x5b920010, + 0x5b93000c, + 0x5b940008, + 0x5b950004, + 0x780bc00c, + 0x396b0000, + 0x29680000, + 0x7801c000, + 0x38210000, + 0x28210004, + 0x780dc010, + 0x39ad0000, + 0x29a54068, + 0x7803000f, + 0x38638000, + 0x00a10011, + 0x78043ff0, + 0x29a5406c, + 0x38840000, + 0x20217c00, + 0x3ca2000f, + 0x78134000, + 0x29a54070, + 0xa0431800, + 0xa0441000, + 0xb8230800, + 0xb8220800, + 0x20a20078, + 0xb8220800, + 0x20a20080, + 0xb8220800, + 0x00a30009, + 0x20a20300, + 0xb8220800, + 0x3ca40012, + 0x20620002, + 0xb8220800, + 0x3a730000, + 0x20630004, + 0x78078000, + 0xa0931000, + 0xb8230800, + 0x38e70000, + 0x01060015, + 0xb8220800, + 0xa0872000, + 0x20c60001, + 0xb8240800, + 0x780e8008, + 0x39ce0000, + 0xb8260800, + 0x59c101d4, + 0x29a94068, + 0x780107e0, + 0x38210000, + 0x3d220008, + 0x780a0003, + 0x29a9406c, + 0xa0411000, + 0x394af800, + 0x0123000e, + 0x7805001c, + 0x29a94070, + 0x206107fe, + 0xb8411000, + 0x3d240012, + 0x3d21000d, + 0xa06a1800, + 0x38a50000, + 0x78090800, + 0xa0852000, + 0xb8431000, + 0x39290000, + 0xb8441000, + 0xa0290800, + 0xb8411000, + 0xb8461000, + 0x38018000, + 0x59c201d8, + 0xb5a10800, + 0x28230000, + 0x210f0001, + 0x78050007, + 0x3c620009, + 0x780101ff, + 0x29a34068, + 0x3821f000, + 0x38210e00, + 0xa0220800, + 0x00620012, + 0x78040008, + 0x2043001e, + 0xb8230800, + 0x204201e0, + 0xb8220800, + 0xb82f0800, + 0x59c101dc, + 0x29a34038, + 0x38a5fffe, + 0x38840000, + 0x0061000d, + 0x78021ff0, + 0x29a3403c, + 0xa0250800, + 0x38420000, + 0x3c630013, + 0x78112000, + 0xa0642000, + 0xa0621000, + 0xb8240800, + 0xb8220800, + 0x3a310000, + 0xa0711000, + 0xb8220800, + 0xa0731000, + 0xb8220800, + 0xa0671800, + 0xb8230800, + 0xb82f0800, + 0x59c10180, + 0x29a64000, + 0x78030200, + 0x38630000, + 0x3cc1000a, + 0x78140040, + 0x29a64004, + 0x20210400, + 0x3a940000, + 0x3cc20012, + 0x78120080, + 0x29a6403c, + 0xa0431000, + 0xb8220800, + 0x00c3000c, + 0x00c4000b, + 0x20620002, + 0xb8220800, + 0x20620004, + 0xb8220800, + 0x20620008, + 0xb8220800, + 0x20620010, + 0xb8220800, + 0x20620020, + 0xb8220800, + 0x20620040, + 0xb8220800, + 0x20620080, + 0xb8220800, + 0x20620100, + 0xb8220800, + 0x20630200, + 0x20820800, + 0xb8230800, + 0xb8220800, + 0x20821000, + 0x00c50004, + 0xb8220800, + 0x20822000, + 0x29a62170, + 0xb8220800, + 0x20844000, + 0xa0b41800, + 0xb8240800, + 0xb8230800, + 0x3a520000, + 0x78020100, + 0x38420000, + 0xa0b22000, + 0x3cc30010, + 0x78100400, + 0xa0a22800, + 0xb8240800, + 0x3a100000, + 0xb8250800, + 0xa0701800, + 0xb8230800, + 0xb82f0800, + 0x59c10184, + 0x5961001c, + 0x01010004, + 0x29c20184, + 0x0108000b, + 0x20210001, + 0x21150001, + 0x5c2000c9, + 0x29a12170, + 0x78081000, + 0x39080000, + 0x00210009, + 0x78046000, + 0x2021007e, + 0xb82f0800, + 0x59610018, + 0x29a34000, + 0x38840000, + 0x780500ff, + 0x00620015, + 0x38a50000, + 0x29a34004, + 0x20420600, + 0x7806ff00, + 0x3c61000b, + 0x38c60000, + 0x3c630014, + 0xa02a0800, + 0xb8411000, + 0xa0690800, + 0xb8411000, + 0xa0680800, + 0xa0641800, + 0xb8411000, + 0xb8431000, + 0xb84f1000, + 0x59620004, + 0x29a34004, + 0x78040003, + 0x3884ffc0, + 0x0061001d, + 0x3884003e, + 0x29a34008, + 0x7807e000, + 0x38e73030, + 0x3c630003, + 0x780a0001, + 0x206200f8, + 0xb8220800, + 0x2062ff00, + 0xa0652800, + 0xb8220800, + 0xa0661800, + 0xb8250800, + 0xb8230800, + 0x59610008, + 0x29a14008, + 0x78060001, + 0x38c60000, + 0x0022001c, + 0x394af000, + 0x29a1400c, + 0x2042000e, + 0x780c0001, + 0x3c210004, + 0x398cfffe, + 0x202107f0, + 0xb8411000, + 0xb84f1000, + 0x5962000c, + 0x29a1400c, + 0xb9301000, + 0xb9024000, + 0x00210006, + 0xba284000, + 0xa0812000, + 0xb88f2000, + 0x59640010, + 0x28e10000, + 0xba684000, + 0x38c5c000, + 0x29a24050, + 0x7809003e, + 0x39290000, + 0x00410017, + 0x00430016, + 0x00440015, + 0x206300e0, + 0x20210008, + 0x0042000f, + 0xb8230800, + 0x20840200, + 0xa0461000, + 0xb8240800, + 0xb8220800, + 0x59c152b0, + 0x59c1541c, + 0x29a44048, + 0x780bffff, + 0x396b0000, + 0x00810014, + 0x7807000f, + 0x29a4404c, + 0x20210ffe, + 0x78060030, + 0x3c82000c, + 0x3c830012, + 0xa04a1000, + 0x3c840014, + 0xb8220800, + 0xa0721800, + 0xb8230800, + 0xa0902000, + 0xb8240800, + 0x59c152f8, + 0x29a1404c, + 0x38e7fff0, + 0x38c60000, + 0x3c220006, + 0xb8c73000, + 0x00210006, + 0xa0511000, + 0xa02c0800, + 0xb8220800, + 0x59c152f0, + 0x29a1404c, + 0x780a00c0, + 0x394a0000, + 0x3c210002, + 0x78070f00, + 0xa1014000, + 0x59c852e8, + 0x29a2404c, + 0x38e70000, + 0x78080004, + 0x0041000f, + 0x39080000, + 0x29a24050, + 0xa0a12800, + 0x3c410011, + 0xa0294800, + 0xa0340800, + 0xb8a92800, + 0xb8a12800, + 0x59c552e0, + 0x29a24050, + 0x00450004, + 0x00410005, + 0x20a30020, + 0x2021000e, + 0x00440003, + 0xb8230800, + 0x00430002, + 0x20a50040, + 0x20840100, + 0xb8250800, + 0xb8240800, + 0x20630400, + 0xb8230800, + 0x20422000, + 0xb8220800, + 0x59c152d8, + 0x59c15388, + 0x29a24050, + 0x0044000b, + 0x0041000d, + 0x20830100, + 0x0042000a, + 0x2021003e, + 0xb8230800, + 0x20840600, + 0x20431000, + 0xb8240800, + 0xb8230800, + 0x20432000, + 0x2042c000, + 0xb8230800, + 0xb8220800, + 0x59c15384, + 0x29a14054, + 0x3c22000e, + 0x3c210008, + 0xa04b1000, + 0x20210300, + 0xb8220800, + 0xb82f0800, + 0x59c1538c, + 0x29a14048, + 0x00210004, + 0xa02c0800, + 0xb8350800, + 0x59c152a4, + 0x29a24034, + 0x0041000a, + 0x29a24038, + 0xa0c13000, + 0x3c410016, + 0xa02a5000, + 0xa0270800, + 0xb8ca3000, + 0xb8c13000, + 0xb8d53000, + 0x59c652a8, + 0x29a1400c, + 0x3c210007, + 0xa0280800, + 0xb82f0800, + 0x59c152ac, + 0x2b8b002c, + 0x2b8c0028, + 0x2b8d0024, + 0x2b8e0020, + 0x2b8f001c, + 0x2b900018, + 0x2b910014, + 0x2b920010, + 0x2b93000c, + 0x2b940008, + 0x2b950004, + 0x379c002c, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b8d0004, + 0x7801c00c, + 0x38210000, + 0x28280000, + 0x7806c010, + 0x38c60000, + 0x28c54034, + 0x7803000f, + 0x78010030, + 0x00a4000a, + 0x3863fff0, + 0x28c54038, + 0x38210000, + 0x780200c0, + 0x3ca50016, + 0xb8230800, + 0x38420000, + 0xa0a21000, + 0xa0240800, + 0x78030f00, + 0xb8220800, + 0x38630000, + 0x7804f000, + 0xa0a31800, + 0x38840000, + 0x0102000b, + 0xa0a42800, + 0xb8230800, + 0xb8250800, + 0x20420001, + 0x78078008, + 0x38e70000, + 0xb8220800, + 0x58e15564, + 0x28c14038, + 0x0103000c, + 0x780201e0, + 0x3c21000b, + 0x38420000, + 0x20630001, + 0xa0220800, + 0xb8230800, + 0x58e164b4, + 0x28c14068, + 0x01080015, + 0x780d000f, + 0x0021000c, + 0x21080001, + 0x2021007e, + 0xb8280800, + 0x58e15dfc, + 0x28c12170, + 0x39ad0000, + 0x78020003, + 0x3c210001, + 0x3842c00c, + 0x202107fe, + 0xb8230800, + 0x58e16460, + 0x28c14070, + 0xb4e21000, + 0x3804e3fc, + 0x3c21000d, + 0xb4e42000, + 0xa02d0800, + 0xb8280800, + 0x58410000, + 0x28c14070, + 0x78050001, + 0x78030300, + 0x00210009, + 0x38a50000, + 0x20210002, + 0xb8280800, + 0x58810000, + 0x28c14070, + 0x38630000, + 0x780a0003, + 0x3c220010, + 0x394a0800, + 0x3c210009, + 0xa0431000, + 0xa0250800, + 0xb8220800, + 0x38038900, + 0xb4e31800, + 0xb8280800, + 0x78024000, + 0x58610000, + 0xb4ea5000, + 0x38420000, + 0x59420000, + 0x28c14068, + 0x380598f4, + 0xb4e52800, + 0x00210003, + 0x7802001f, + 0xa02d0800, + 0xb8280800, + 0x58a10000, + 0x28c94068, + 0x38420000, + 0x780303e0, + 0x0121000b, + 0x38630000, + 0x28c9406c, + 0xa0220800, + 0x380c89bc, + 0x3d220015, + 0xb4ec6000, + 0x28c94070, + 0xa0431000, + 0xb8220800, + 0x0123000a, + 0x01240009, + 0x20620002, + 0xb8220800, + 0x20630004, + 0x0122000b, + 0xb8230800, + 0x20840010, + 0xb8240800, + 0x20420008, + 0xb8220800, + 0xb8280800, + 0x59810000, + 0x28c1406c, + 0x780303ff, + 0x38630000, + 0x3c210001, + 0x38028c1c, + 0xb4e23800, + 0xa0230800, + 0xb8280800, + 0x78024001, + 0x58e10000, + 0x38420000, + 0x59420000, + 0x28c14068, + 0x7809007f, + 0x780b0380, + 0x00210007, + 0x39290000, + 0xa02d0800, + 0xb8280800, + 0x58a10000, + 0x28cd406c, + 0x396b0000, + 0x7805e000, + 0x3da1000b, + 0x38a50000, + 0x28cd4070, + 0xa0230800, + 0x01a3000a, + 0x01a40009, + 0x20620002, + 0xb8220800, + 0x20630004, + 0x01a2000b, + 0xb8230800, + 0x20840010, + 0xb8240800, + 0x20420008, + 0xb8220800, + 0xb8280800, + 0x59810000, + 0x28c1406c, + 0x00220009, + 0x28c14070, + 0xa0491000, + 0x3c210017, + 0xa02b0800, + 0xb8411000, + 0xb8481000, + 0x58e20000, + 0x59450000, + 0x2b8b000c, + 0x2b8c0008, + 0x2b8d0004, + 0x379c000c, + 0xc3a00000, + 0x379cffec, + 0x5b8b0014, + 0x5b8c0010, + 0x5b8d000c, + 0x5b8e0008, + 0x5b9d0004, + 0x780cc000, + 0x398c0000, + 0x298d0014, + 0x7802c00c, + 0x38420000, + 0x29810010, + 0x7805c050, + 0x38a50118, + 0x298b0000, + 0x7801fff7, + 0x3821ffff, + 0x284e0000, + 0xa1615800, + 0x7803ffdf, + 0x28a10000, + 0x7802ffef, + 0x3842ffff, + 0x38210020, + 0x58a10000, + 0xa1625800, + 0x3863ffff, + 0x7801f7ff, + 0x28a40000, + 0xa1635800, + 0x3821ffff, + 0xa1615800, + 0x7802efff, + 0x3842ffff, + 0x7801fffe, + 0xa1625800, + 0x3821ffff, + 0x38840040, + 0xa1615800, + 0x58a40000, + 0x598b0000, + 0xfbfffd3d, + 0x78010008, + 0x38210000, + 0x78020010, + 0xb9615800, + 0x38420000, + 0xb9625800, + 0x78010020, + 0x38210000, + 0x78020800, + 0xb9615800, + 0x38420000, + 0xb9625800, + 0x01ad001e, + 0x78011000, + 0x38210000, + 0x78020001, + 0xb9615800, + 0x38420000, + 0x21ad0001, + 0x01ce0004, + 0xb9625800, + 0x65ad0000, + 0x598b0000, + 0x21ce0001, + 0x5da00003, + 0x5dc00002, + 0xfbffff04, + 0x2b8b0014, + 0x2b8c0010, + 0x2b8d000c, + 0x2b8e0008, + 0x2b9d0004, + 0x379c0014, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x780be000, + 0x396b302c, + 0x29610000, + 0x38210002, + 0x59610000, + 0x2b212f4c, + 0x38210001, + 0x5b212f4c, + 0x34010004, + 0x5b2120ac, + 0xf8000d84, + 0xfbffffa6, + 0xf8000dbf, + 0x2b212f4c, + 0x3402fffe, + 0xa0220800, + 0x5b212f4c, + 0x34010000, + 0x5b2120ac, + 0x29610000, + 0x3402fffd, + 0xa0220800, + 0x59610000, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cffec, + 0x5b8b0014, + 0x5b8c0010, + 0x5b8d000c, + 0x5b8e0008, + 0x5b9d0004, + 0x780cc000, + 0x398c0000, + 0x29820010, + 0x7806c050, + 0x38c60118, + 0x298b0000, + 0x7802c00c, + 0x38420000, + 0x284e0000, + 0x7803ffef, + 0x3863ffff, + 0x7802fff7, + 0x3842ffff, + 0x28c50000, + 0xa1625800, + 0x7804ffdf, + 0xa1635800, + 0x3884ffff, + 0x7802f7ff, + 0xa1645800, + 0x3842ffff, + 0x38a50020, + 0xa1625800, + 0x7803efff, + 0x58c50000, + 0x3863ffff, + 0x7802fffe, + 0x28c40000, + 0xa1635800, + 0x3842ffff, + 0xa1625800, + 0x3402ffdf, + 0x7803fffd, + 0xa1625800, + 0x38840040, + 0x3863ffff, + 0xa1635800, + 0x58c40000, + 0x598b0000, + 0x202d00ff, + 0xfbfffcce, + 0x396b0020, + 0x598b0000, + 0x45a00002, + 0xfbfffd15, + 0x78010008, + 0x38210000, + 0x78020010, + 0xb9615800, + 0x38420000, + 0xb9625800, + 0x78010020, + 0x38210000, + 0x78020800, + 0xb9615800, + 0x38420000, + 0x78031000, + 0xb9625800, + 0x38630000, + 0x78010001, + 0xb9635800, + 0x38210000, + 0x01c20004, + 0xb9615800, + 0x7da30000, + 0xa4401000, + 0x78010002, + 0xa0431000, + 0x38210000, + 0x396b8000, + 0xb9615800, + 0x64420000, + 0x598b0000, + 0x5c400002, + 0xfbfffe8e, + 0x2b8b0014, + 0x2b8c0010, + 0x2b8d000c, + 0x2b8e0008, + 0x2b9d0004, + 0x379c0014, + 0xc3a00000, + 0x379cffc8, + 0x5b8b0018, + 0x5b8c0014, + 0x5b8d0010, + 0x5b8e000c, + 0x5b8f0008, + 0x5b9d0004, + 0x780fe000, + 0xb9e01800, + 0x3863302c, + 0x28610000, + 0x7802c000, + 0x38420000, + 0x38210002, + 0x58610000, + 0x284d0010, + 0x7801c00c, + 0x38210000, + 0x282b0000, + 0x378e001c, + 0x01ad0001, + 0x284c0014, + 0x016b0006, + 0x21ad0001, + 0x2b212f4c, + 0x018c001e, + 0x216b0001, + 0x38210001, + 0x5b212f4c, + 0x34010004, + 0x5b2120ac, + 0xf8000cfc, + 0xb9c00800, + 0xfbfffc3d, + 0x21810001, + 0x64220000, + 0x5dab0005, + 0x5c400002, + 0x34010001, + 0xfbffff81, + 0xe0000002, + 0xfbffff15, + 0xf8000d2e, + 0xb9c00800, + 0xfbfffc55, + 0x2b212f4c, + 0x3402fffe, + 0xb9e01800, + 0xa0220800, + 0x5b212f4c, + 0x34010000, + 0x5b2120ac, + 0x3863302c, + 0x28610000, + 0x3402fffd, + 0xa0220800, + 0x58610000, + 0x2b8b0018, + 0x2b8c0014, + 0x2b8d0010, + 0x2b8e000c, + 0x2b8f0008, + 0x2b9d0004, + 0x379c0038, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x780be000, + 0xb9601800, + 0x3863302c, + 0x28610000, + 0x7802c000, + 0x38420000, + 0x38210002, + 0x58610000, + 0x28420014, + 0x34010001, + 0x0043001f, + 0x4c400002, + 0xe0000002, + 0xb8600800, + 0xfbffff56, + 0xb9600800, + 0x3821302c, + 0x28220000, + 0x3403fffd, + 0xa0431000, + 0x58220000, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x78058002, + 0x38a50000, + 0x58a10000, + 0x78030003, + 0x78040003, + 0x58a20004, + 0x38638dc8, + 0x38848dcc, + 0x58610000, + 0x58820000, + 0xc3a00000, + 0x78028002, + 0x38420000, + 0x28410020, + 0x20210001, + 0x64210000, + 0x4420fffd, + 0xc3a00000, + 0x78018002, + 0x38210000, + 0x28210020, + 0xc3a00000, + 0x78058002, + 0x38a50000, + 0x28a40008, + 0x78030800, + 0x38630001, + 0x58830000, + 0x34840004, + 0x58810000, + 0x34840004, + 0x58820000, + 0x34840004, + 0x58a40008, + 0xc3a00000, + 0x78088002, + 0xb9001800, + 0x38630000, + 0x28640008, + 0x00420002, + 0x34050000, + 0x50a20010, + 0x78070003, + 0x78060003, + 0x38e78dcc, + 0x38c68dc8, + 0xb8201800, + 0x28610000, + 0x34a50001, + 0x58810000, + 0x28e10000, + 0x34840004, + 0x34630004, + 0x50240002, + 0x28c40000, + 0x50a20002, + 0xe3fffff7, + 0x39080000, + 0x59040008, + 0xc3a00000, + 0x78038002, + 0x38630000, + 0x28640008, + 0x34050001, + 0x58850000, + 0x34840004, + 0x58810000, + 0x34840004, + 0x58820000, + 0x34840004, + 0x58640008, + 0xc3a00000, + 0x58220000, + 0xc3a00000, + 0x28220000, + 0x28230004, + 0x3c420002, + 0x7801c200, + 0x38210000, + 0xb4411000, + 0x58430000, + 0xc3a00000, + 0x2063ffff, + 0x20420007, + 0x20650f00, + 0x3c420008, + 0x2021001f, + 0x3c21000b, + 0x206300ff, + 0xb8621800, + 0xb8611800, + 0x3ca50008, + 0x7801c200, + 0xb8651800, + 0x38210000, + 0xb8611800, + 0x58640000, + 0xc3a00000, + 0x28210000, + 0xc3a00000, + 0x28230000, + 0x7802c200, + 0x38420000, + 0x3c630002, + 0xb4621800, + 0x28620000, + 0x58220004, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b8c0004, + 0xb8205800, + 0xb8405000, + 0xb8604800, + 0x208400ff, + 0x34010000, + 0x50230016, + 0x7807c200, + 0x38e70000, + 0xe4812000, + 0xb8e06000, + 0x3c230002, + 0x34280001, + 0xb46b1000, + 0x3c420002, + 0xb46a3000, + 0xb8400800, + 0xb44c1000, + 0xb4272800, + 0x5c800004, + 0x28c10000, + 0x58a10000, + 0xe0000003, + 0x28410000, + 0x58c10000, + 0xb9000800, + 0x51090002, + 0xe3fffff0, + 0x2b8b0008, + 0x2b8c0004, + 0x379c0008, + 0xc3a00000, + 0xb8403800, + 0xb8204000, + 0x206300ff, + 0x34020000, + 0x50470017, + 0x7805c200, + 0x38a50000, + 0xe4621800, + 0xb8a04800, + 0x3c410003, + 0x34460001, + 0xb4282000, + 0x5c600007, + 0x28810000, + 0x28820004, + 0x3c210002, + 0xb4250800, + 0x58220000, + 0xe0000006, + 0x28810000, + 0x3c210002, + 0xb4290800, + 0x28210000, + 0x58810004, + 0xb8c01000, + 0x50c70002, + 0xe3ffffef, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x7803c020, + 0x38630004, + 0x28620000, + 0x202c00ff, + 0x7801c201, + 0x3842000c, + 0x58620000, + 0x3821c574, + 0xfbffffac, + 0x780b0003, + 0x00230016, + 0xb9601000, + 0x38428acc, + 0x58410038, + 0x20630001, + 0x5c60000a, + 0x7801c201, + 0x3821c574, + 0xfbffffa2, + 0x00220016, + 0xb9601800, + 0x38638acc, + 0x58610038, + 0x20420001, + 0x4440fff8, + 0x78040003, + 0x38848acc, + 0x28820034, + 0x21810003, + 0x3403ff3f, + 0x3c210006, + 0xa0431000, + 0xb8411000, + 0x7801c201, + 0x58820034, + 0x3821c570, + 0xfbffff76, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x7803c020, + 0x38630004, + 0x28620000, + 0x202c00ff, + 0x3401fffb, + 0xa0411000, + 0x3401fff7, + 0xa0411000, + 0x7801c201, + 0x58620000, + 0x3821c574, + 0xfbffff7b, + 0x780b0003, + 0x00230015, + 0xb9601000, + 0x38428acc, + 0x58410038, + 0x20630002, + 0x4460000a, + 0x7801c201, + 0x3821c574, + 0xfbffff71, + 0x00220015, + 0xb9601800, + 0x38638acc, + 0x58610038, + 0x20420002, + 0x5c40fff8, + 0x78040003, + 0x38848acc, + 0x28820034, + 0x21810003, + 0x3403ffe7, + 0x3c210003, + 0xa0431000, + 0xb8411000, + 0x7801c201, + 0x58820034, + 0x3821c570, + 0xfbffff45, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cffe8, + 0x5b8b0018, + 0x5b8c0014, + 0x5b8d0010, + 0x5b8e000c, + 0x5b8f0008, + 0x5b9d0004, + 0x202d00ff, + 0x34030001, + 0x204c00ff, + 0x7801c020, + 0xb8601000, + 0x33030778, + 0x38210130, + 0xfbffdaad, + 0x780ec020, + 0xb9c00800, + 0x38210004, + 0x282f0000, + 0x780b0003, + 0x396b8acc, + 0x7801c201, + 0x3821c574, + 0xfbffff42, + 0x29640034, + 0x00230015, + 0x59610038, + 0x00810003, + 0x00820006, + 0x20630002, + 0x20210003, + 0x20450003, + 0x5c610007, + 0xb9800800, + 0x20820003, + 0x49a30009, + 0x49a20008, + 0xb9a00800, + 0xe000000a, + 0xb9a00800, + 0x20820003, + 0x48ac0007, + 0x49820006, + 0xb9800800, + 0xfbffffa3, + 0xb9a00800, + 0xfbffff73, + 0xe0000004, + 0xfbffff71, + 0xb9800800, + 0xfbffff9d, + 0x39ce0004, + 0x34040000, + 0x59cf0000, + 0x7801c020, + 0x38210130, + 0x34020001, + 0xb8801800, + 0x33040778, + 0xfbffda80, + 0x2b8b0018, + 0x2b8c0014, + 0x2b8d0010, + 0x2b8e000c, + 0x2b8f0008, + 0x2b9d0004, + 0x379c0018, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x780c0003, + 0xb9800800, + 0x38218b1c, + 0x43030779, + 0x28220000, + 0x206400ff, + 0x4301077a, + 0x40420005, + 0x202100ff, + 0x20230001, + 0x44400002, + 0x34030000, + 0xb9800800, + 0x38218b1c, + 0x28210000, + 0x40210006, + 0x5c200004, + 0x20810001, + 0xb8230800, + 0xe0000002, + 0x7c610000, + 0x4420002f, + 0xb9801000, + 0x38428b1c, + 0x28410000, + 0x40210007, + 0x3301077c, + 0x28410000, + 0x40210007, + 0x3301077d, + 0x4301077b, + 0x202b00ff, + 0x5d600010, + 0x28410000, + 0x40210004, + 0x4420000b, + 0x78030003, + 0x38638acc, + 0x2862003c, + 0x3404ffdf, + 0x7801c201, + 0xa0441000, + 0x5862003c, + 0x3821c588, + 0xfbfffecb, + 0x330b0782, + 0x34010001, + 0x3301077b, + 0x43010785, + 0x5c200049, + 0x43010787, + 0x202b00ff, + 0x5d600046, + 0x398c8b1c, + 0x29810000, + 0x40220001, + 0x40210000, + 0xfbffff7f, + 0x78020003, + 0x78010002, + 0x330b0784, + 0x38428b24, + 0x3821e2a4, + 0x58410028, + 0x330b0783, + 0x330b0786, + 0x330b0788, + 0xe0000037, + 0x43010785, + 0x5c20001e, + 0x43010787, + 0x202b00ff, + 0x5d60001b, + 0x4301077b, + 0x5c200009, + 0x398c8b1c, + 0x29810000, + 0x40220003, + 0x40210002, + 0xfbffff69, + 0x34010001, + 0x33010784, + 0xe0000007, + 0x398c8b1c, + 0x29810000, + 0x40220001, + 0x40210000, + 0xfbffff61, + 0x330b0784, + 0x78010003, + 0x78020002, + 0x38218b24, + 0x3842e2a4, + 0x58220028, + 0x34010000, + 0x33010783, + 0x33010786, + 0x33010788, + 0xe0000018, + 0x4301077c, + 0x44200016, + 0x4301077c, + 0x3421ffff, + 0x3301077c, + 0x4301077c, + 0x202b00ff, + 0x5d600010, + 0x398c8b1c, + 0x29810000, + 0x40210004, + 0x4420000b, + 0x78030003, + 0x38638acc, + 0x2862003c, + 0x7801c201, + 0x3821c588, + 0x38420020, + 0x5862003c, + 0xfbfffe81, + 0x34010001, + 0x33010782, + 0x330b077b, + 0x34010001, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x43010785, + 0x5c200004, + 0x43010787, + 0x202400ff, + 0x4480001e, + 0x43010785, + 0x78020003, + 0x780c0003, + 0x780b0002, + 0x4420000b, + 0x38428b1c, + 0x28410000, + 0x40220001, + 0x40210000, + 0xfbffff26, + 0x34010000, + 0x33010784, + 0x34010001, + 0x33010786, + 0xe0000009, + 0x38428b1c, + 0x28410000, + 0x40220003, + 0x40210002, + 0xfbffff1c, + 0x34010001, + 0x33010784, + 0x33010788, + 0x398c8b24, + 0x396be094, + 0x598b0028, + 0x34010005, + 0x33010783, + 0xe0000055, + 0x78060003, + 0xb8c00800, + 0x38218b1c, + 0x43030779, + 0x28220000, + 0x206500ff, + 0x4301077a, + 0x40420005, + 0x202100ff, + 0x20230001, + 0x44400002, + 0xb8801800, + 0xb8c00800, + 0x38218b1c, + 0x28210000, + 0x40210006, + 0x5c200005, + 0x20a10001, + 0xb8230800, + 0x5c200003, + 0xe0000022, + 0x44600021, + 0xb8c06000, + 0x398c8b1c, + 0x29810000, + 0x40210007, + 0x3301077c, + 0x29810000, + 0x40210007, + 0x3301077d, + 0x4301077b, + 0x202b00ff, + 0x5d600034, + 0x29810000, + 0x40210004, + 0x4420000b, + 0x78030003, + 0x38638acc, + 0x2862003c, + 0x3404ffdf, + 0x7801c201, + 0xa0441000, + 0x5862003c, + 0x3821c588, + 0xfbfffe25, + 0x330b0782, + 0x29810000, + 0x40220001, + 0x40210000, + 0xfbfffee1, + 0x34010001, + 0x3301077b, + 0x330b0784, + 0xe000001f, + 0x4301077c, + 0x4420001d, + 0x4301077c, + 0x3421ffff, + 0x3301077c, + 0x4301077c, + 0x202100ff, + 0x5c200017, + 0xb8c05800, + 0x3301077b, + 0x396b8b1c, + 0x29610000, + 0x40210004, + 0x4420000b, + 0x78030003, + 0x38638acc, + 0x2862003c, + 0x7801c201, + 0x3821c588, + 0x38420020, + 0x5862003c, + 0xfbfffe06, + 0x34010001, + 0x33010782, + 0x29610000, + 0x40220003, + 0x40210002, + 0xfbfffec1, + 0x34010001, + 0x33010784, + 0x34010000, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cffec, + 0x5b8b0014, + 0x5b8c0010, + 0x5b8d000c, + 0x5b8e0008, + 0x5b9d0004, + 0x78020003, + 0x3842f9d8, + 0x28420000, + 0x780d0003, + 0x7801c201, + 0x20420020, + 0x78070003, + 0x780e0003, + 0x78050003, + 0x7806c020, + 0x78040003, + 0x78030002, + 0x004c0005, + 0x39ad8b1c, + 0x340b0000, + 0x3821c570, + 0x39ce8acc, + 0x38e7f824, + 0x38a58ba8, + 0x38c60004, + 0x38848b24, + 0x3863e2a4, + 0x444b0039, + 0x330c0789, + 0x330c0779, + 0x330c077a, + 0x330c077f, + 0x29a20000, + 0x40420007, + 0x3302077c, + 0x29a20000, + 0x40420007, + 0x3302077d, + 0x330b0781, + 0x330b0785, + 0x330b0786, + 0x330b0787, + 0x330b0788, + 0x330c077b, + 0x330b0784, + 0x28e20000, + 0x58830028, + 0x30a2000a, + 0x30a20023, + 0x28c20000, + 0x00430004, + 0x38440014, + 0x3402fff7, + 0xa0822000, + 0x20630001, + 0x5c6b0002, + 0x58c40000, + 0xfbfffdd7, + 0x59c10034, + 0x7801c201, + 0x3821c588, + 0xfbfffdd3, + 0x29a30000, + 0x59c1003c, + 0x3402ffdf, + 0xa0222000, + 0x40630004, + 0x7801c201, + 0x3821c588, + 0xb8801000, + 0x44600004, + 0x59c4003c, + 0xfbfffdae, + 0x330b0782, + 0x29a10000, + 0x40220001, + 0x40210000, + 0xfbfffe6a, + 0x78020003, + 0x3842f818, + 0x28410000, + 0x38210400, + 0x58410000, + 0x330c078a, + 0x2b8b0014, + 0x2b8c0010, + 0x2b8d000c, + 0x2b8e0008, + 0x2b9d0004, + 0x379c0014, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x4301078a, + 0x780c0003, + 0x340b0000, + 0x398c8b1c, + 0x442b0026, + 0x330b0789, + 0x29820000, + 0x78040003, + 0x7801c201, + 0x40420004, + 0x38848acc, + 0x3821c588, + 0x444b0007, + 0x2882003c, + 0x3403ffdf, + 0xa0431000, + 0x5882003c, + 0xfbfffd86, + 0x330b0782, + 0x29810000, + 0x40220001, + 0x40210000, + 0xfbfffe42, + 0x34010001, + 0x3301077b, + 0x78010003, + 0x330b0784, + 0x38218ba8, + 0x78050003, + 0x302b000a, + 0x302b0023, + 0x38a5f818, + 0x28a40000, + 0x78030003, + 0x78020002, + 0x3401fbff, + 0xa0812000, + 0x38638b24, + 0x38424a68, + 0x58620028, + 0x58a40000, + 0x330b078a, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x7803c020, + 0x38630004, + 0x28620000, + 0x43010781, + 0x7c210001, + 0x5c200003, + 0x3842000c, + 0xe0000009, + 0x4301077f, + 0x5c200004, + 0x3401fffb, + 0xa0411000, + 0xe0000002, + 0x38420004, + 0x3401fff7, + 0xa0411000, + 0x58620000, + 0x34010000, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x780cc020, + 0xb9801800, + 0x38630130, + 0x28620000, + 0x7801c200, + 0x3821c5f4, + 0x38420010, + 0x58620000, + 0x780b0003, + 0xfbfffd62, + 0x396b8acc, + 0x59610018, + 0x7801c200, + 0x3821c5e0, + 0xfbfffd5d, + 0x29630018, + 0x59610008, + 0x34010000, + 0x78040003, + 0x5b010150, + 0x38848c00, + 0x0063001d, + 0x40820018, + 0xb4641800, + 0x78010003, + 0x40630000, + 0x382185dc, + 0xb4411000, + 0x10410000, + 0x08630019, + 0x34051838, + 0x3c210002, + 0xc8a32800, + 0xb4a12800, + 0x3ca2000f, + 0x34010fa0, + 0x8c412800, + 0x29630008, + 0x398c0130, + 0x780103ff, + 0x3821fff0, + 0xa0610800, + 0x3c210006, + 0x2063000f, + 0x1421000a, + 0x34630001, + 0x94230800, + 0x29620014, + 0x2c830082, + 0x20420fff, + 0xc8411000, + 0x88431000, + 0x3c42000e, + 0x8c451000, + 0x00420001, + 0x0f020148, + 0x2b01014c, + 0xb4220800, + 0x5b01014c, + 0x2f01014a, + 0x34210001, + 0x0f01014a, + 0x43010830, + 0x4420000b, + 0x43010831, + 0x14a20003, + 0x7c210010, + 0x5c200007, + 0x2b0108b8, + 0xb4220800, + 0x5b0108b8, + 0x2b010914, + 0x34210001, + 0x5b010914, + 0x29810000, + 0x3402ffef, + 0xa0220800, + 0x59810000, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x202100ff, + 0x7c210001, + 0x5c20002c, + 0x34040000, + 0xb4840800, + 0xb4380800, + 0x34030000, + 0x34840001, + 0x0c230128, + 0x74820007, + 0x0c230138, + 0x4443fff9, + 0x0f030148, + 0x0f03014a, + 0x7801c202, + 0x5b03014c, + 0x3821c450, + 0xfbfffd05, + 0x78020003, + 0x38428acc, + 0x58410014, + 0x78038000, + 0x38638000, + 0x34010010, + 0x58610054, + 0x34010001, + 0xf8001194, + 0x78010003, + 0x78030003, + 0x3821f830, + 0x3863f900, + 0x28220000, + 0x28630000, + 0x34010001, + 0x88431000, + 0x34030064, + 0x34420032, + 0x8c431000, + 0xf800119d, + 0x34010024, + 0xfbffcb6c, + 0x78020003, + 0x3842f818, + 0x28410000, + 0x38211000, + 0xe000000e, + 0x78018000, + 0x34020010, + 0x38218000, + 0x58220054, + 0x34010024, + 0xfbffcb8e, + 0x34010001, + 0xf8001184, + 0x78020003, + 0x3842f818, + 0x28410000, + 0x3403efff, + 0xa0230800, + 0x58410000, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0xc3a00000, + 0xc3a00000, + 0x379cffe4, + 0x5b8b001c, + 0x5b8c0018, + 0x5b8d0014, + 0x5b8e0010, + 0x5b8f000c, + 0x5b900008, + 0x5b9d0004, + 0x90006000, + 0x34010000, + 0xd0010000, + 0x7801c200, + 0x3821c5c4, + 0x780b0003, + 0x396b8acc, + 0xfbfffcc6, + 0x59610000, + 0xd00c0000, + 0x78100003, + 0xba001800, + 0x38638acc, + 0x40610000, + 0x44200082, + 0x2861000c, + 0x780f001f, + 0x780e0010, + 0x00240010, + 0x28630000, + 0xb9e00800, + 0x3821ffff, + 0xa0616000, + 0x7802fff0, + 0xb9c00800, + 0x38420000, + 0x38210000, + 0x208400ff, + 0xa1810800, + 0xb9821800, + 0x5c200002, + 0xb9801800, + 0xba005800, + 0x396b8acc, + 0x41650000, + 0x2b0102cc, + 0x780d0003, + 0x88851000, + 0xc8616000, + 0xb9a01800, + 0xc84c6000, + 0x6d810000, + 0x38638c00, + 0xc8010800, + 0xa1816000, + 0x3d8c0007, + 0x2c620082, + 0x8d850800, + 0x34040010, + 0x39ce0000, + 0x88220800, + 0x34210100, + 0x00210009, + 0x0f0102c4, + 0x2f0102c4, + 0x2f0206a0, + 0x2021ffff, + 0x2f0302b0, + 0x2042ffff, + 0x2063ffff, + 0xfbffce3f, + 0x0f0106a0, + 0x2b020198, + 0x7801c201, + 0x3821c40c, + 0x3162000d, + 0x2962000c, + 0xfbfffc70, + 0x78050003, + 0x38a5fa64, + 0x28a40000, + 0x7802fffe, + 0x38420001, + 0x2b030198, + 0x78010001, + 0x3821fffe, + 0x3c630001, + 0xa0822000, + 0x29660000, + 0xa0611800, + 0xb9e01000, + 0x3842ffff, + 0x7801fff0, + 0xa0c23000, + 0xb8832000, + 0x38210000, + 0x58a40000, + 0xa0ce1000, + 0xb8c11800, + 0x5c400002, + 0xb8c01800, + 0x2b01069c, + 0x7c210002, + 0x5c20001e, + 0x34010000, + 0x4c23001f, + 0x39ad8c00, + 0x41a30045, + 0x78010003, + 0x38218bf8, + 0xb4611800, + 0x40640000, + 0xba002800, + 0x38a58acc, + 0x28a20000, + 0xb9e01800, + 0x3863ffff, + 0xa0430800, + 0x88246000, + 0x7801ffe0, + 0x158c0007, + 0x38210000, + 0xa0411000, + 0xa1831800, + 0xb8431000, + 0x7801c200, + 0x3821c5c4, + 0x58a20000, + 0xfbfffc3d, + 0x34010001, + 0x5b01069c, + 0x5b0c02cc, + 0xe0000005, + 0x2b01069c, + 0x34210001, + 0x5b01069c, + 0x5b0302cc, + 0x2f010240, + 0x78030003, + 0x3863f9b0, + 0x2021ffff, + 0x00210008, + 0x78020003, + 0x08210083, + 0x3842f9b4, + 0x34210100, + 0x00210009, + 0x0f0102ca, + 0x2f0102c4, + 0x2021ffff, + 0x58610000, + 0x2f0102ca, + 0x2021ffff, + 0x58410000, + 0x34010000, + 0x2b8b001c, + 0x2b8c0018, + 0x2b8d0014, + 0x2b8e0010, + 0x2b8f000c, + 0x2b900008, + 0x2b9d0004, + 0x379c001c, + 0xc3a00000, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x78010003, + 0x38218c00, + 0x40220099, + 0xb8205800, + 0x5c400003, + 0x780b0003, + 0x396bfa80, + 0x7801c210, + 0x38210034, + 0x28220000, + 0x780c0003, + 0xb9801800, + 0x3863fa64, + 0x28610000, + 0x20420001, + 0x64420000, + 0x38210001, + 0x58610000, + 0x34060000, + 0x44460016, + 0x7801c200, + 0x3821c5f0, + 0xfbfffc18, + 0x00220001, + 0x00230003, + 0x00240005, + 0x20420001, + 0x20630001, + 0x00250007, + 0x64460000, + 0x64630000, + 0x20840001, + 0x64840000, + 0x20a50001, + 0xb4c33000, + 0x64a50000, + 0x78020003, + 0xb4c43000, + 0x38428acc, + 0x5841004c, + 0xb4c53000, + 0xb9802000, + 0x3884fa64, + 0x28820000, + 0x7801ffe1, + 0x3821ffff, + 0x3cc30011, + 0xa0411000, + 0xb8431000, + 0x58820000, + 0x2b02017c, + 0x3cc30004, + 0x2b010178, + 0xc8621000, + 0xb4220800, + 0x5b010178, + 0x2b020184, + 0x2b010180, + 0xc8621800, + 0xb4230800, + 0x5b010180, + 0x43010779, + 0x7c210001, + 0x5c200004, + 0x2b010188, + 0x34210100, + 0x5b010188, + 0x2b010188, + 0x2b02018c, + 0xc8220800, + 0x5b010188, + 0x2b020178, + 0x4301019c, + 0x3c420002, + 0x202100ff, + 0x8c411000, + 0x5b02017c, + 0x4301019f, + 0x2b02017c, + 0x202100ff, + 0x50410003, + 0x416100b5, + 0xe0000008, + 0x430101a0, + 0x2b02017c, + 0x202100ff, + 0x50410003, + 0x416100b6, + 0xe0000002, + 0x416100b4, + 0x5b010190, + 0x4301019d, + 0x2b020180, + 0x202100ff, + 0x8c411000, + 0x5b020184, + 0x430101a2, + 0x2b020184, + 0x202100ff, + 0x50220003, + 0x416100b4, + 0xe0000008, + 0x430101a1, + 0x2b020184, + 0x202100ff, + 0x50220003, + 0x416100b6, + 0xe0000002, + 0x416100b5, + 0x5b010194, + 0x2b020190, + 0x2b010194, + 0x50220003, + 0x2b010194, + 0xe0000002, + 0x2b010190, + 0x5b010198, + 0x2b020188, + 0x4301019e, + 0x3c420002, + 0x202100ff, + 0x8c411000, + 0x5b02018c, + 0x430101a3, + 0x2b02018c, + 0x202100ff, + 0x50410009, + 0x2f0101a4, + 0x2b020198, + 0x2021ffff, + 0x88411000, + 0x5b020198, + 0x2b010198, + 0x00210007, + 0x5b010198, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cffe0, + 0x5b8b0020, + 0x5b8c001c, + 0x5b8d0018, + 0x5b8e0014, + 0x5b8f0010, + 0x5b90000c, + 0x5b910008, + 0x5b9d0004, + 0x78020003, + 0x38428c00, + 0x40430099, + 0x202b00ff, + 0x5c600003, + 0x78020003, + 0x3842fa80, + 0x2c410032, + 0x780d0003, + 0x780c0003, + 0x3c210008, + 0x340203e8, + 0xf80022a1, + 0x0f0102ee, + 0x34010001, + 0x5b01069c, + 0x780e0003, + 0x78100003, + 0x780f8000, + 0x78110003, + 0x4560005c, + 0x7801c201, + 0x3821c2b4, + 0xfbfffb82, + 0x78020200, + 0x38420000, + 0xb8221000, + 0x7801c201, + 0x3821c2b4, + 0xfbfffb62, + 0x78010003, + 0x340b0000, + 0x3821f9b0, + 0x78020003, + 0x582b0004, + 0x582b0000, + 0x3842f998, + 0x584b0000, + 0x0f0b02c4, + 0x0f0b02c0, + 0x0f0b02ca, + 0x0f0b02c8, + 0x5b0b02cc, + 0x0f0b02c4, + 0x0f0b0300, + 0x0f0b02fc, + 0x0f0b0302, + 0x7801c201, + 0x0f0b02fe, + 0x3821c40c, + 0xfbfffb67, + 0xb9a01800, + 0x38638c00, + 0x406200b7, + 0x398c8acc, + 0x5981000c, + 0x3302019c, + 0x406100b8, + 0x78050003, + 0x38a5f82c, + 0x3301019d, + 0x406100b9, + 0xba003000, + 0x38c68ba8, + 0x3301019e, + 0x406100ba, + 0x78040002, + 0x3884e994, + 0x3301019f, + 0x406100bb, + 0x39ce8b24, + 0x39ef8000, + 0x330101a0, + 0x406200bc, + 0x34010002, + 0x330201a1, + 0x406200bd, + 0x330201a2, + 0x406200be, + 0x330201a3, + 0x2c6200c0, + 0x59c40024, + 0x0f0201a4, + 0x5b0b0178, + 0x5b0b017c, + 0x5b0b0180, + 0x5b0b0184, + 0x5b0b0188, + 0x5b0b018c, + 0x28a20000, + 0x30c20009, + 0x30c20022, + 0x34020100, + 0x59e20054, + 0xf8000fd3, + 0x78010003, + 0x3821f900, + 0x28220000, + 0x34030064, + 0x084200c8, + 0x34010002, + 0x34420032, + 0x8c431000, + 0xf8000fdf, + 0x34010028, + 0xfbffc9ae, + 0xba201000, + 0x3842f818, + 0x28410000, + 0x38210100, + 0x58410000, + 0xe0000028, + 0x39ad8c00, + 0x41ad00aa, + 0xb9801000, + 0x38428acc, + 0x304d000d, + 0x2842000c, + 0x7801c201, + 0x3821c40c, + 0xfbfffb07, + 0x78010002, + 0x38214a68, + 0x39ce8b24, + 0xba001000, + 0x38428ba8, + 0x59c10024, + 0x304b0009, + 0x304b0022, + 0x34010100, + 0x39ef8000, + 0x59e10054, + 0x34010028, + 0xfbffc9bf, + 0x34010002, + 0xf8000fb5, + 0xba202000, + 0x3884f818, + 0x28820000, + 0x3403feff, + 0x7801c201, + 0xa0431000, + 0x58820000, + 0x3821c2b4, + 0xfbfffb09, + 0x7802fdff, + 0x3842ffff, + 0xa0221000, + 0x7801c201, + 0x3821c2b4, + 0xfbfffae9, + 0x2b8b0020, + 0x2b8c001c, + 0x2b8d0018, + 0x2b8e0014, + 0x2b8f0010, + 0x2b90000c, + 0x2b910008, + 0x2b9d0004, + 0x379c0020, + 0xc3a00000, + 0x379cffec, + 0x5b8b0014, + 0x5b8c0010, + 0x5b8d000c, + 0x5b8e0008, + 0x5b9d0004, + 0x90007000, + 0x34010000, + 0xd0010000, + 0x2b0d007c, + 0x7da10001, + 0x5c20004c, + 0x340c0000, + 0x7801c201, + 0x5b0c007c, + 0x3821c45c, + 0x780b0003, + 0xfbfffae7, + 0x396b8acc, + 0x59610040, + 0xb8201800, + 0x43010698, + 0x3402fffc, + 0xa0621800, + 0x20210003, + 0xb8611800, + 0x59630040, + 0x43020699, + 0x3401ff7f, + 0xa0611800, + 0x20420001, + 0x3c420007, + 0x7801c201, + 0xb8621800, + 0xb8601000, + 0x59630040, + 0x3821c45c, + 0xfbfffab9, + 0x7801c201, + 0x3821c570, + 0xfbfffad0, + 0x59610034, + 0x4303069a, + 0xb8201000, + 0x3401f1ff, + 0x20630007, + 0x3c630009, + 0xa0411000, + 0xb8431000, + 0x7801c201, + 0x59620034, + 0x3821c570, + 0xfbfffaaa, + 0x78010003, + 0x3821f900, + 0x28230000, + 0x28220004, + 0x88431000, + 0xb9800800, + 0x34030064, + 0x34420032, + 0x8c431000, + 0xf8000f67, + 0x2b010080, + 0x20218000, + 0x442c0002, + 0xfbfff0ed, + 0x2b010080, + 0x20211000, + 0x44200003, + 0xb9a00800, + 0xfbfffd99, + 0x2b010080, + 0x20214000, + 0x44200002, + 0xf8000126, + 0x2b010080, + 0x20210100, + 0x44200003, + 0xb9a00800, + 0xfbffff06, + 0x2b010080, + 0x00210017, + 0x20210001, + 0x64210000, + 0x5c200002, + 0xf8000cb9, + 0xd00e0000, + 0x2b8b0014, + 0x2b8c0010, + 0x2b8d000c, + 0x2b8e0008, + 0x2b9d0004, + 0x379c0014, + 0xc3a00000, + 0x379cfff0, + 0x5b8b0010, + 0x5b8c000c, + 0x5b8d0008, + 0x5b9d0004, + 0x90006800, + 0x34010000, + 0xd0010000, + 0x2b0c007c, + 0x5d80004c, + 0x34020001, + 0x7801c201, + 0x5b02007c, + 0x3821c45c, + 0x780b0003, + 0xfbfffa8a, + 0x396b8acc, + 0x59610040, + 0x20210003, + 0x33010698, + 0x29620040, + 0x7801c201, + 0x3821c45c, + 0x00420007, + 0x20420001, + 0x33020699, + 0x29630040, + 0x3402fffc, + 0xa0621800, + 0x3402ff7f, + 0xa0621800, + 0xb8601000, + 0x59630040, + 0xfbfffa5e, + 0x7801c201, + 0x3821c570, + 0xfbfffa75, + 0x00220009, + 0x59610034, + 0x20420007, + 0x3302069a, + 0x29620034, + 0x3403f1ff, + 0x7801c201, + 0xa0431000, + 0x3821c570, + 0x59620034, + 0xfbfffa50, + 0x78010003, + 0x3821f818, + 0x28210000, + 0x5b010080, + 0x2b010080, + 0x00210017, + 0x20210001, + 0x64210000, + 0x5c200002, + 0xf8000cae, + 0x2b010080, + 0x20210100, + 0x44200003, + 0xb9800800, + 0xfbfffeb9, + 0x2b010080, + 0x20214000, + 0x44200002, + 0xf8000047, + 0x2b010080, + 0x20211000, + 0x44200003, + 0xb9800800, + 0xfbfffd3a, + 0x2b010080, + 0x20218000, + 0x44200002, + 0xfbffefd4, + 0x78010003, + 0x3821f900, + 0x28220000, + 0x34030064, + 0x08421388, + 0xb9800800, + 0x34420032, + 0x8c431000, + 0xf8000ef2, + 0xd00d0000, + 0x2b8b0010, + 0x2b8c000c, + 0x2b8d0008, + 0x2b9d0004, + 0x379c0010, + 0xc3a00000, + 0x78050003, + 0x34030000, + 0x38a5f910, + 0xb8602000, + 0xb4a40800, + 0x40210000, + 0x3422ffff, + 0x7441000c, + 0x5c200020, + 0x3c410002, + 0x78020003, + 0x384285e8, + 0xb4220800, + 0x28210000, + 0xc0200000, + 0x34630001, + 0xe0000018, + 0x34630002, + 0xe0000016, + 0x34630003, + 0xe0000014, + 0x34630004, + 0xe0000012, + 0x34630005, + 0xe0000010, + 0x34630006, + 0xe000000e, + 0x34630007, + 0xe000000c, + 0x34630008, + 0xe000000a, + 0x34630009, + 0xe0000008, + 0x3463000a, + 0xe0000006, + 0x3463000b, + 0xe0000004, + 0x3463000c, + 0xe0000002, + 0x3463000d, + 0x34840001, + 0x74810007, + 0x4420ffda, + 0x5b03011c, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x78040003, + 0x78030002, + 0x78020003, + 0x34010000, + 0x38428ba8, + 0x38848b24, + 0x38634a68, + 0x58830010, + 0x30410004, + 0x3041001d, + 0x330102b8, + 0xb8205800, + 0x33010159, + 0x7801c020, + 0xb9601800, + 0x330b06e5, + 0x38210134, + 0x34020020, + 0xfbffd55d, + 0x78010003, + 0x38218acc, + 0x7802c201, + 0x582b0020, + 0x3842c43c, + 0x78030003, + 0x584b0000, + 0x3863f818, + 0x28610000, + 0x3402bfff, + 0xa0220800, + 0x58610000, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cffec, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x90001800, + 0x34010000, + 0xd0010000, + 0x2f01014a, + 0x34040000, + 0x44240008, + 0x2f01014a, + 0x2b02014c, + 0x2021ffff, + 0x8c411000, + 0x0f02015c, + 0x5b04014c, + 0x0f04014a, + 0xd0030000, + 0x2f01015c, + 0x780b0003, + 0x396b8c00, + 0x2f02015a, + 0x41630044, + 0x34040008, + 0x2042ffff, + 0x2021ffff, + 0xfbffcb7e, + 0x0f01015a, + 0x2f020244, + 0x378c0010, + 0x34040008, + 0x2f010246, + 0x34030000, + 0x2042ffff, + 0x2021ffff, + 0x54410002, + 0x34030001, + 0xb4630800, + 0xb4380800, + 0x34210240, + 0x2c210004, + 0x0f010160, + 0x2f010160, + 0x41630044, + 0x2f02015e, + 0x2021ffff, + 0x2042ffff, + 0xfbffcb69, + 0x0f01015e, + 0x43010158, + 0xb9802800, + 0x5c200003, + 0xfbffffa6, + 0xe0000028, + 0x43010154, + 0x41640047, + 0x33810010, + 0x43010155, + 0x33810011, + 0x430102b8, + 0x33810012, + 0x2f01015a, + 0x2f020162, + 0x2021ffff, + 0x2f030166, + 0x2042ffff, + 0x2063ffff, + 0xfbffcbd6, + 0x43810010, + 0xb9802800, + 0x33010154, + 0x43810011, + 0x33010155, + 0x43810012, + 0x330102b8, + 0x43010156, + 0x41640047, + 0x33810010, + 0x43010157, + 0x33810011, + 0x2f01015e, + 0x2f020164, + 0x2021ffff, + 0x2f030168, + 0x2042ffff, + 0x2063ffff, + 0xfbffcbe8, + 0x43810010, + 0x33010156, + 0x43810011, + 0x33010157, + 0x43810013, + 0x330106e5, + 0x34010000, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c0014, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x7801c201, + 0x3821c43c, + 0x28230000, + 0x78020003, + 0x38428acc, + 0x38630001, + 0x78010003, + 0x58430020, + 0x3821f82c, + 0x28250000, + 0x78040003, + 0x78030002, + 0x780100ff, + 0x38210000, + 0xa0a12800, + 0x00a50010, + 0x78010003, + 0x38218ba8, + 0x3863f540, + 0x38848b24, + 0x780b0003, + 0x780c0003, + 0x58830010, + 0x30250004, + 0x3025001d, + 0x398c8c00, + 0x396bfa04, + 0x2d610002, + 0x2d83003e, + 0x34020064, + 0x50610002, + 0xb8600800, + 0x0f010162, + 0x2f010162, + 0x2021ffff, + 0x3c210008, + 0xf8002073, + 0x0f010162, + 0x2d610000, + 0x2d830040, + 0x34020064, + 0x50610002, + 0xb8600800, + 0x0f010164, + 0x2f010164, + 0x2021ffff, + 0x3c210008, + 0xf8002068, + 0x0f010164, + 0x2f010162, + 0x41820042, + 0x34040001, + 0x2021ffff, + 0x88220800, + 0x78030003, + 0x3863f818, + 0x14210008, + 0x0f010166, + 0x2f010164, + 0x41820043, + 0x2021ffff, + 0x88220800, + 0x14210008, + 0x0f010168, + 0x33040158, + 0x33040159, + 0x28610000, + 0x38214000, + 0x58610000, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x78040003, + 0x3884f000, + 0x408102f4, + 0x44200017, + 0x7801c050, + 0x382100b4, + 0x28210000, + 0x78020003, + 0x38428dd0, + 0x20217f00, + 0x00210008, + 0x34030001, + 0x58410000, + 0x330306fa, + 0x408302f5, + 0x28410000, + 0x54610002, + 0xc3a00000, + 0x2062007f, + 0x7801c050, + 0x382100cc, + 0x7803c050, + 0x58220000, + 0x386300d0, + 0x28610000, + 0x4420ffff, + 0xc3a00000, + 0x78010003, + 0x3821f000, + 0x402102f4, + 0x4420000e, + 0x78010003, + 0x38218dd0, + 0x28220000, + 0x7803c050, + 0x386300d0, + 0x7801c050, + 0x382100cc, + 0x2042007f, + 0x58220000, + 0x28610000, + 0x4420ffff, + 0x34010000, + 0x330106fa, + 0xc3a00000, + 0xc3a00000, + 0xc3a00000, + 0x7801c020, + 0x3821029c, + 0x28210000, + 0x20210008, + 0x44200037, + 0x43010112, + 0x5c200004, + 0x43010111, + 0x20210002, + 0x44200002, + 0x34010001, + 0x7806c050, + 0x33010921, + 0x38c601c8, + 0x28c40000, + 0x7802f8ff, + 0x78030700, + 0x43010111, + 0x3842ffff, + 0x38630000, + 0x3c210018, + 0xa0822000, + 0xa0230800, + 0xb8812000, + 0x7805c050, + 0x58c40000, + 0x38a50118, + 0x28a30000, + 0x3402fbff, + 0x7806c050, + 0x43010112, + 0xa0621800, + 0x38c600e4, + 0x3c21000a, + 0x78040002, + 0x20210400, + 0xb8611800, + 0x58a30000, + 0x28c30000, + 0x3401ff80, + 0x78050002, + 0x43020110, + 0xa0611800, + 0x38a520dc, + 0x2042007f, + 0xb8621800, + 0x58c30000, + 0xb7251000, + 0x340100ff, + 0x58410000, + 0x388420d0, + 0xb7241000, + 0x7803c020, + 0x34010002, + 0x58410000, + 0x3863029c, + 0x28610000, + 0x20210008, + 0x5c20fffe, + 0xc3a00000, + 0x7805c020, + 0x38a5029c, + 0x28a10000, + 0x20210008, + 0x5c200028, + 0x34020001, + 0x7801c050, + 0x33020921, + 0x382101c8, + 0x28220000, + 0x7804c050, + 0xb8801800, + 0x78010700, + 0x38210000, + 0xa0411000, + 0x00420018, + 0x7801c050, + 0x33020111, + 0x38210118, + 0x28210000, + 0x386300e4, + 0x78020002, + 0x20210400, + 0x0021000a, + 0x384220dc, + 0x33010112, + 0x28610000, + 0xb7221000, + 0x2021007f, + 0x33010110, + 0x340100ff, + 0x78030002, + 0x58410000, + 0x386320d0, + 0xb7231000, + 0x34010001, + 0x58410000, + 0xb8a01000, + 0x28410000, + 0x20210008, + 0x4420fffe, + 0x388400e4, + 0x34010000, + 0x58810000, + 0xc3a00000, + 0x7801c020, + 0x3821029c, + 0x28210000, + 0x20210004, + 0x4420004f, + 0x430100a0, + 0x5c200004, + 0x4301009e, + 0x20210002, + 0x44200002, + 0x34010001, + 0x3301091b, + 0x430100a1, + 0x5c200004, + 0x4301009f, + 0x20210002, + 0x44200002, + 0x34010001, + 0x3301091c, + 0x430200a2, + 0x7801c050, + 0x382100a4, + 0x204200ff, + 0x7805c050, + 0x58220000, + 0x38a501c8, + 0x28a30000, + 0x34028fff, + 0x7806c050, + 0x4301009e, + 0xa0621800, + 0x38c60118, + 0x3c21000c, + 0x3402ffef, + 0x20217000, + 0xb8611800, + 0x58a30000, + 0x28c30000, + 0x7804c050, + 0x3884009c, + 0x430100a0, + 0xa0621800, + 0x3802e3e0, + 0x3c210004, + 0xb7223800, + 0x20210010, + 0xb8611800, + 0x58c30000, + 0x430100a3, + 0x202100ff, + 0x58810000, + 0x28a30000, + 0x3401f1ff, + 0x4302009f, + 0xa0611800, + 0x3801e3e8, + 0x3c420009, + 0xb7212000, + 0x20420e00, + 0xb8621800, + 0x58a30000, + 0x28c30000, + 0x3402fff7, + 0x430100a1, + 0xa0621800, + 0x3c210003, + 0x20210008, + 0xb8611800, + 0x58c30000, + 0x340106ff, + 0x58e10000, + 0x28810000, + 0x64210010, + 0x4420fffe, + 0x3801e3ec, + 0xb7211000, + 0x28410000, + 0x64210010, + 0x4420fffe, + 0x3801e3f0, + 0xb7211000, + 0x34010000, + 0x58410000, + 0xc3a00000, + 0x7801c020, + 0x3821029c, + 0x28210000, + 0x20210004, + 0x5c200036, + 0x3801e3f0, + 0xb7211000, + 0x34010001, + 0x58410000, + 0x3301091b, + 0x7806c050, + 0x3301091c, + 0x38c600a4, + 0x28c10000, + 0x7803c050, + 0x386301c8, + 0x2021007f, + 0x330100a2, + 0x28610000, + 0x7804c050, + 0x38840118, + 0x20217000, + 0x0021000c, + 0x7805c050, + 0x3301009e, + 0x28810000, + 0x38a5009c, + 0x34070000, + 0x20210010, + 0x00210004, + 0x3802e3e0, + 0x330100a0, + 0x28a10000, + 0xb7224000, + 0x3802e3e8, + 0x2021007f, + 0x330100a3, + 0x28610000, + 0xb7221000, + 0x20210e00, + 0x00210009, + 0x3301009f, + 0x28810000, + 0x20210008, + 0x00210003, + 0x330100a1, + 0x58c70000, + 0x58a70000, + 0x340105ff, + 0x59010000, + 0x28410000, + 0x64210012, + 0x4420fffe, + 0x3801e3ec, + 0xb7211000, + 0x28410000, + 0x64210012, + 0x4420fffe, + 0xc3a00000, + 0x7801c020, + 0x3821029c, + 0x28210000, + 0x20210002, + 0x44200038, + 0x430100c7, + 0x5c200004, + 0x430100c6, + 0x20210002, + 0x44200002, + 0x34010001, + 0x3301091a, + 0x430200c8, + 0x7801c050, + 0x382100ac, + 0x204200ff, + 0x7804c050, + 0x58220000, + 0x388401c8, + 0x28830000, + 0x3401fff8, + 0x7805c050, + 0x430200c6, + 0xa0611800, + 0x38a50118, + 0x20420007, + 0xb8621800, + 0x58830000, + 0x28a30000, + 0x3401fffe, + 0x78040002, + 0x430200c7, + 0xa0611800, + 0x38841fe0, + 0x20420001, + 0xb8621800, + 0x58a30000, + 0x78060002, + 0xb7241000, + 0xb8c01800, + 0x340106ff, + 0x38631fe8, + 0x780400ff, + 0x58410000, + 0xb7231000, + 0x3884ffff, + 0x28410000, + 0xa0240800, + 0x64210010, + 0x4420fffd, + 0x78010002, + 0x38211ff0, + 0xb7211000, + 0x28410000, + 0x64210010, + 0x4420fffe, + 0x38c61fe8, + 0xb7261000, + 0x34010000, + 0x58410000, + 0xc3a00000, + 0x7801c020, + 0x3821029c, + 0x28210000, + 0x20210002, + 0x5c20002e, + 0x34010001, + 0x3301091a, + 0x7805c050, + 0xb8a00800, + 0x382100ac, + 0x28210000, + 0x7802c050, + 0x384201c8, + 0x2021007f, + 0x330100c8, + 0x28410000, + 0x78040002, + 0x38841fe8, + 0x20210007, + 0x7802c050, + 0x330100c6, + 0x38420118, + 0x28410000, + 0x78030002, + 0x38631fe0, + 0x20210001, + 0x330100c7, + 0x78020100, + 0x38420000, + 0xb7240800, + 0x58220000, + 0xb7231000, + 0x340105ff, + 0x780300ff, + 0x58410000, + 0xb7241000, + 0x3863ffff, + 0x28410000, + 0xa0230800, + 0x64210012, + 0x4420fffd, + 0x78010002, + 0x38211ff0, + 0xb7211000, + 0x28410000, + 0x64210012, + 0x4420fffe, + 0x38a500ac, + 0x34010000, + 0x58a10000, + 0xc3a00000, + 0x7801c020, + 0x3821029c, + 0x28210000, + 0x20214000, + 0x4420000a, + 0x3801d05c, + 0xb7211000, + 0x340106ff, + 0x58410000, + 0x3801d064, + 0xb7211000, + 0x28410000, + 0x64210010, + 0x4420fffe, + 0xc3a00000, + 0x7801c020, + 0x3821029c, + 0x28210000, + 0x20214000, + 0x5c20000a, + 0x3801d05c, + 0xb7211000, + 0x340105ff, + 0x58410000, + 0x3801d064, + 0xb7211000, + 0x28410000, + 0x64210012, + 0x4420fffe, + 0xc3a00000, + 0xc3a00000, + 0xc3a00000, + 0xc3a00000, + 0xc3a00000, + 0x34010000, + 0xc3a00000, + 0x34010000, + 0xc3a00000, + 0x34010000, + 0xc3a00000, + 0x379cffe8, + 0x5b8b0018, + 0x5b8c0014, + 0x5b8d0010, + 0x5b8e000c, + 0x5b8f0008, + 0x5b900004, + 0x204affff, + 0x2026ffff, + 0xb8606000, + 0xb8806800, + 0xb9400800, + 0x45400049, + 0x3545ffff, + 0xb4ca0800, + 0x3421ffff, + 0x14a3001f, + 0x00c80005, + 0x1422001f, + 0x0063001b, + 0x3d040002, + 0x0042001b, + 0xb48c2000, + 0xb4a32800, + 0x14a50005, + 0xb4220800, + 0x28870000, + 0x14210005, + 0x20abffff, + 0x202fffff, + 0x20c4001f, + 0x34050000, + 0x50ab0017, + 0x34010020, + 0xfc858000, + 0xc8247000, + 0x35010001, + 0x2028ffff, + 0x3d010002, + 0x3ca60002, + 0xb42c0800, + 0x28290000, + 0x80e41000, + 0x34a50001, + 0xbd2e0800, + 0xb4cd1800, + 0xb8221000, + 0x5e000003, + 0x58670000, + 0xe0000002, + 0x58620000, + 0xb9203800, + 0x20a5ffff, + 0x50ab0002, + 0xe3ffffee, + 0x7c810000, + 0x2149001f, + 0x450f000b, + 0xb8e01800, + 0x4420000c, + 0x3de10002, + 0xc8041800, + 0xb42c0800, + 0x28210000, + 0x80e41000, + 0xbc230800, + 0xb8221800, + 0xe0000004, + 0xb8e01800, + 0x44200002, + 0x80e41800, + 0x3ca60002, + 0x2122ffff, + 0x35650001, + 0x44400008, + 0x3401ffff, + 0xbc220800, + 0xa4200800, + 0xb4cd1000, + 0xa0610800, + 0x58410000, + 0xe0000003, + 0xb4cd0800, + 0x58230000, + 0x20a1ffff, + 0x2b8b0018, + 0x2b8c0014, + 0x2b8d0010, + 0x2b8e000c, + 0x2b8f0008, + 0x2b900004, + 0x379c0018, + 0xc3a00000, + 0x379cffe4, + 0x5b8b001c, + 0x5b8c0018, + 0x5b8d0014, + 0x5b8e0010, + 0x5b8f000c, + 0x5b900008, + 0x5b910004, + 0x2048ffff, + 0x2026ffff, + 0xb8606000, + 0xb8805800, + 0xb9000800, + 0x45000072, + 0xb4c88800, + 0x3624ffff, + 0x3503ffff, + 0x1482001f, + 0x1461001f, + 0x0042001b, + 0x0021001b, + 0xb4822000, + 0x14840005, + 0xb4611800, + 0x20c7001f, + 0x14630005, + 0x2085ffff, + 0x00c60005, + 0x7cf00000, + 0x206dffff, + 0x2104001f, + 0x340a0000, + 0x5e0a0024, + 0xb8e05000, + 0x50ed000d, + 0x3d410002, + 0x3cc20002, + 0xb42b0800, + 0x28210000, + 0xb44c1000, + 0x58410000, + 0x35410001, + 0x34c20001, + 0x202affff, + 0x2046ffff, + 0x514d0002, + 0xe3fffff5, + 0x3d420002, + 0x4480000e, + 0x3403ffff, + 0xbc641800, + 0xb44b0800, + 0x28240000, + 0x3ca50002, + 0xa4601000, + 0xb4ac2800, + 0x28a10000, + 0xa0822000, + 0xa0230800, + 0xb8240800, + 0x58a10000, + 0xe0000040, + 0xb44b1000, + 0x3cc10002, + 0x28420000, + 0xb42c0800, + 0x58220000, + 0xe000003a, + 0x29630000, + 0xb9401000, + 0x50c5001e, + 0x3401ffff, + 0xbc270800, + 0xa4207800, + 0x34010020, + 0xc8277000, + 0x3cc10002, + 0x804e1000, + 0xbc674800, + 0xb42c4000, + 0xb9221000, + 0x34c60001, + 0x35440001, + 0x5d400006, + 0x29010000, + 0xa02f0800, + 0xb8290800, + 0x59010000, + 0xe0000002, + 0x59020000, + 0x208affff, + 0x3d410002, + 0xb8601000, + 0x20c6ffff, + 0x34030000, + 0xb42b0800, + 0x554d0002, + 0x28230000, + 0x50c50002, + 0xe3ffffe9, + 0xc8070800, + 0x80410800, + 0xbc671800, + 0x2224001f, + 0x3402ffff, + 0xbc443000, + 0xb8614000, + 0x5c800002, + 0xb8803000, + 0x65410000, + 0xa0300800, + 0x64210000, + 0x5c200005, + 0xc8071000, + 0x3401ffff, + 0x80220800, + 0xb8c13000, + 0x3ca30002, + 0xa4c01000, + 0xb46c1800, + 0x28610000, + 0xa1021000, + 0xa0260800, + 0xb8220800, + 0x58610000, + 0x35a10001, + 0x2021ffff, + 0x2b8b001c, + 0x2b8c0018, + 0x2b8d0014, + 0x2b8e0010, + 0x2b8f000c, + 0x2b900008, + 0x2b910004, + 0x379c001c, + 0xc3a00000, + 0x2b2301cc, + 0x202500ff, + 0x34040000, + 0x20610001, + 0x5c250007, + 0x2b2301cc, + 0x34840001, + 0x20610001, + 0x5044fffc, + 0x34010001, + 0xc3a00000, + 0x34010000, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0xb8205800, + 0x340c0000, + 0xb9601000, + 0xb9800800, + 0xfbffffeb, + 0xb9601000, + 0xb9805800, + 0x442c0002, + 0x340c0001, + 0x7d830000, + 0x34010001, + 0x5c600003, + 0xfbffffe3, + 0x44200002, + 0x340b0001, + 0xb9600800, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x2b2301cc, + 0x202500ff, + 0x34040000, + 0x00610001, + 0x20210001, + 0x5c250007, + 0x2b2301cc, + 0x34840001, + 0x00610001, + 0x5044fffb, + 0x34010001, + 0xc3a00000, + 0x34010000, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0xb8201000, + 0x34010000, + 0xfbffffee, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0xb8201000, + 0x34010001, + 0xfbffffe6, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x780200ff, + 0x3842ffff, + 0x78030100, + 0xa0220800, + 0x38630000, + 0xb8230800, + 0x5b2101c0, + 0x34010258, + 0xfbffffbf, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cffe8, + 0x5b8b0018, + 0x5b8c0014, + 0x5b8d0010, + 0x5b8e000c, + 0x5b8f0008, + 0x5b9d0004, + 0x7c2f0000, + 0x780400ff, + 0x34010003, + 0xc82f0800, + 0x3884ffff, + 0x3445ffff, + 0x3c210018, + 0xa0441000, + 0x00a50005, + 0xb8220800, + 0x34040000, + 0x5b2101c0, + 0xb8607000, + 0x34ab0001, + 0xb8806000, + 0x4c8b0029, + 0x3d810002, + 0x3563ffff, + 0x5de00005, + 0x2b2201c4, + 0xb42e0800, + 0x58220000, + 0xe0000004, + 0xb42e0800, + 0x28210000, + 0x5b2101c8, + 0x5d830009, + 0x340b0000, + 0x5c8b0004, + 0x34010258, + 0xfbffff96, + 0x442b0002, + 0x340b0001, + 0xb9602000, + 0xe0000016, + 0x34010000, + 0x4c2c0009, + 0xb8206800, + 0x5c810005, + 0x34010001, + 0x34020258, + 0xfbffffa4, + 0x442d0002, + 0x340d0001, + 0xb9a02000, + 0x340d0000, + 0x5c8d0005, + 0xb8800800, + 0x34020258, + 0xfbffff9c, + 0x442d0002, + 0x340d0001, + 0xb9a02000, + 0x358c0001, + 0x4d8b0002, + 0xe3ffffd9, + 0xb8800800, + 0x2b8b0018, + 0x2b8c0014, + 0x2b8d0010, + 0x2b8e000c, + 0x2b8f0008, + 0x2b9d0004, + 0x379c0018, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0xb8401800, + 0xb8201000, + 0x34010001, + 0xfbffffb3, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0xb8401800, + 0xb8201000, + 0x34010000, + 0xfbffffaa, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfff8, + 0x5b9d0004, + 0x5b820008, + 0xb8201000, + 0x37830008, + 0x34010001, + 0xfbffffa0, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x780bc030, + 0x396b0000, + 0x29610000, + 0x780c0003, + 0x398cf99c, + 0x29620004, + 0x202107ff, + 0x204207ff, + 0xfbffc84b, + 0x0f01080e, + 0x29610008, + 0x2f02080e, + 0x202107ff, + 0x2042ffff, + 0xfbffc845, + 0x0f01080e, + 0x2961000c, + 0x2f02080e, + 0x202107ff, + 0x2042ffff, + 0xfbffc83f, + 0x0f01080e, + 0x2f01080e, + 0x2021ffff, + 0x3421fe78, + 0x2b02081c, + 0x3c230005, + 0x4843000c, + 0x29810000, + 0x78020003, + 0x38428c00, + 0x20210001, + 0x5c20000f, + 0x4041002a, + 0x330102b9, + 0x29810000, + 0x38210001, + 0x59810000, + 0xe0000009, + 0x2b010820, + 0x34040000, + 0x4c610006, + 0x29810000, + 0x3402fffe, + 0xa0220800, + 0x59810000, + 0x330402b9, + 0x34010000, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x78050003, + 0x38a58c00, + 0x40a1004b, + 0x78060003, + 0x78070003, + 0x78080003, + 0x78040003, + 0x78030003, + 0x38c6f82c, + 0x38e78ba8, + 0x3908f818, + 0x38848b24, + 0x3863056c, + 0x44200014, + 0x28c10000, + 0x40a2002b, + 0x58830050, + 0x00210008, + 0x34420068, + 0x30e10014, + 0x28c10000, + 0x3c420007, + 0x00210008, + 0x30e1002d, + 0x5b02081c, + 0x40a10029, + 0x2b02081c, + 0x3c210007, + 0xc8411000, + 0x5b020820, + 0x29010000, + 0x38210800, + 0x59010000, + 0xc3a00000, + 0x78040003, + 0x78030002, + 0x38634a68, + 0x78020003, + 0x38848b24, + 0x34010000, + 0x38428ba8, + 0x58830050, + 0x3041002d, + 0x30410014, + 0x78030003, + 0x330102b9, + 0x3863f818, + 0x28610000, + 0x3402f7ff, + 0xa0220800, + 0x58610000, + 0xc3a00000, + 0x379cffb0, + 0x5b8b0018, + 0x5b8c0014, + 0x5b8d0010, + 0x5b8e000c, + 0x5b8f0008, + 0x5b9d0004, + 0x780e0003, + 0x39cefa5c, + 0x29c10000, + 0x78030003, + 0x780c0003, + 0x00220001, + 0x780d0003, + 0x780b0003, + 0x396bfa58, + 0x3863fa4c, + 0x398cfa50, + 0x39adfa54, + 0x20420001, + 0x20210001, + 0x5c200002, + 0x44400032, + 0x28610000, + 0xf8001b4b, + 0x29c40000, + 0xb8207800, + 0x3781004c, + 0x20840001, + 0x7c840001, + 0x37820044, + 0x3783003c, + 0x5c80001e, + 0x29640000, + 0x34060000, + 0x00850010, + 0x2084ffff, + 0x48a40002, + 0x0d660002, + 0x298c0000, + 0x2d650002, + 0x34040000, + 0x5b8c004c, + 0x29ad0000, + 0x5b840044, + 0x5b850048, + 0x5b8d0050, + 0xf8000056, + 0x2d610002, + 0x3403000f, + 0x37870050, + 0x34210004, + 0x0d610002, + 0x2b820040, + 0x2b81003c, + 0x3784001c, + 0x2045001f, + 0xbc651800, + 0x20a6001c, + 0xb4e62800, + 0x58afffcc, + 0xf8000aac, + 0x29c50000, + 0xb9e02000, + 0x34010018, + 0x00a50001, + 0x34020003, + 0x20a50001, + 0x7ca50001, + 0x34030050, + 0x5ca00002, + 0xfbfff51b, + 0x34010000, + 0x2b8b0018, + 0x2b8c0014, + 0x2b8d0010, + 0x2b8e000c, + 0x2b8f0008, + 0x2b9d0004, + 0x379c0050, + 0xc3a00000, + 0x78040003, + 0x3884fa5c, + 0x40810001, + 0x78020003, + 0x38428ba8, + 0x30410017, + 0x40840001, + 0x78030003, + 0x78010003, + 0x38638b24, + 0x38210720, + 0x30440030, + 0x5861005c, + 0xc3a00000, + 0x78030003, + 0x78020002, + 0x78010003, + 0x38218ba8, + 0x34040000, + 0x38638b24, + 0x38424a68, + 0x5862005c, + 0x30240030, + 0x30240017, + 0xc3a00000, + 0x379cfff0, + 0x00280010, + 0x2046ffff, + 0x2021ffff, + 0x88263800, + 0x00420010, + 0x89063000, + 0x88220800, + 0x00e40010, + 0x20c5ffff, + 0xb4852000, + 0x2025ffff, + 0xb4852000, + 0x3c850010, + 0x00c60010, + 0x00840010, + 0x89024000, + 0x00210010, + 0xb4862000, + 0xb4812000, + 0x20e7ffff, + 0xb4a72800, + 0xb4882000, + 0x58640000, + 0x58650004, + 0x379c0010, + 0xc3a00000, + 0x28240004, + 0x28450004, + 0x28280000, + 0x2084ffff, + 0x20a5ffff, + 0xb4852000, + 0x2087ffff, + 0x58670004, + 0x28250004, + 0x28460004, + 0x00840010, + 0x00a50010, + 0x00c60010, + 0x28420000, + 0xb4a62800, + 0xb4852000, + 0x3c810010, + 0x00840010, + 0xb8e13800, + 0xb4882000, + 0xb4822000, + 0x58640000, + 0x58670004, + 0xc3a00000, + 0x28240004, + 0x28230000, + 0x34050000, + 0x3406001f, + 0x6c810000, + 0x3c630001, + 0x64210000, + 0x3ca50001, + 0x34c6ffff, + 0xb4611800, + 0xb4842000, + 0x54430003, + 0x34a50001, + 0xc8621800, + 0x4cc0fff6, + 0xb8a00800, + 0xc3a00000, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0xb8206000, + 0x34210001, + 0xf8001ad2, + 0x3c2b0008, + 0xb9800800, + 0xf8001acf, + 0xb9615800, + 0x2161ffff, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0xf8001aa1, + 0xb8202000, + 0x7801ff00, + 0x780200ff, + 0x38210000, + 0x38420000, + 0xa0810800, + 0xa0821000, + 0x00420008, + 0x2083ff00, + 0x00210018, + 0x3c630008, + 0xb8220800, + 0x3c840018, + 0xb8230800, + 0xb8240800, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cffec, + 0x5b8b0014, + 0x5b8c0010, + 0x5b8d000c, + 0x5b8e0008, + 0x5b9d0004, + 0xb8205800, + 0x34210004, + 0x780dff00, + 0x780e00ff, + 0xf8001a84, + 0x39ad0000, + 0x39ce0000, + 0xa02d2000, + 0xa02e1800, + 0x00630008, + 0x2022ff00, + 0x00840018, + 0x3c420008, + 0xb8832000, + 0x3c210018, + 0xb8822000, + 0xb8812000, + 0xb9600800, + 0xb8805800, + 0xf8001a75, + 0xa02d6800, + 0xa02e7000, + 0x01ce0008, + 0x2022ff00, + 0x01ad0018, + 0x3c420008, + 0xb9ae6800, + 0x3c210018, + 0xb9a26800, + 0xb9a16800, + 0x340c0000, + 0xb96c1800, + 0xb98d2000, + 0xb8600800, + 0xb8801000, + 0x2b8b0014, + 0x2b8c0010, + 0x2b8d000c, + 0x2b8e0008, + 0x2b9d0004, + 0x379c0014, + 0xc3a00000, + 0x379cffec, + 0x5b8b0014, + 0x5b8c0010, + 0x5b8d000c, + 0x5b8e0008, + 0x5b9d0004, + 0x780e0003, + 0xb9c06800, + 0xb8205800, + 0x39ad8e38, + 0x340c0007, + 0xb9600800, + 0xf8001a52, + 0x7802ff00, + 0x780300ff, + 0x38420000, + 0x38630000, + 0xa0221000, + 0xa0231800, + 0x2024ff00, + 0x00420018, + 0x00630008, + 0x3c840008, + 0xb8431000, + 0x3c210018, + 0xb8441000, + 0xb8411000, + 0x59a20000, + 0x356b0004, + 0x358cffff, + 0x35ad0004, + 0x4d80ffec, + 0xb9c03000, + 0x38c68e38, + 0x2cc50014, + 0x2cc20016, + 0x34010000, + 0x20a300ff, + 0x204400ff, + 0x3c630008, + 0x3c840008, + 0x00a50008, + 0x00420008, + 0xb8a32800, + 0xb8441000, + 0x0cc20016, + 0x0cc50014, + 0x2b8b0014, + 0x2b8c0010, + 0x2b8d000c, + 0x2b8e0008, + 0x2b9d0004, + 0x379c0014, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0xb8405800, + 0xf8001a24, + 0x7802ff00, + 0x780300ff, + 0x38420000, + 0x38630000, + 0xa0221000, + 0xa0231800, + 0x00630008, + 0x2024ff00, + 0x00420018, + 0x3c840008, + 0xb8431000, + 0x3c210018, + 0xb8441000, + 0xb8411000, + 0x59620000, + 0x2d610000, + 0x78040003, + 0x38848c00, + 0x2021ffff, + 0x202200ff, + 0x3c420008, + 0x00210008, + 0x3403ffff, + 0xb8220800, + 0x0d610000, + 0x2d610000, + 0x2021ff00, + 0x64211600, + 0x4420000d, + 0x2d610000, + 0x40820013, + 0x3403fffe, + 0x2021000f, + 0x5c220008, + 0x41610002, + 0x40820048, + 0x202100ff, + 0xe4220800, + 0xc8010800, + 0x20230003, + 0x3463fffd, + 0xb8600800, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cffe8, + 0x5b8b0018, + 0x5b8c0014, + 0x5b8d0010, + 0x5b8e000c, + 0x5b8f0008, + 0x5b9d0004, + 0xb8406800, + 0xb8607800, + 0xb8807000, + 0xb8205800, + 0x340c0000, + 0x518d0008, + 0xb9600800, + 0xb9c01000, + 0xfbffffbe, + 0xb56f5800, + 0x44200003, + 0x358c0001, + 0xe3fffff9, + 0xb9800800, + 0x55ac0002, + 0x3401ffff, + 0x2b8b0018, + 0x2b8c0014, + 0x2b8d0010, + 0x2b8e000c, + 0x2b8f0008, + 0x2b9d0004, + 0x379c0018, + 0xc3a00000, + 0x379cffe4, + 0x5b8b0014, + 0x5b8c0010, + 0x5b8d000c, + 0x5b8e0008, + 0x5b9d0004, + 0x78020003, + 0x38428e38, + 0x40420019, + 0xb8206000, + 0x370e01c4, + 0x34030068, + 0x37840018, + 0xfbffffd4, + 0x4c200003, + 0x3401ffff, + 0xe0000016, + 0x2f820018, + 0x08210068, + 0xb9c05800, + 0x0f0201c0, + 0x4382001a, + 0xb5810800, + 0x342c0004, + 0x330201c2, + 0x4382001b, + 0x340d0018, + 0x330201c3, + 0xb9800800, + 0xf80019b9, + 0x59610000, + 0x358c0004, + 0x35adffff, + 0x356b0004, + 0x4da0fffa, + 0x34010014, + 0x59c10010, + 0x34010000, + 0x2b8b0014, + 0x2b8c0010, + 0x2b8d000c, + 0x2b8e0008, + 0x2b9d0004, + 0x379c001c, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0xb8205800, + 0xfbffff47, + 0x3402ffff, + 0x4c200002, + 0xe0000008, + 0x5b0b01bc, + 0x2b0101bc, + 0x34210020, + 0xfbffffc8, + 0x6c210000, + 0x3c220001, + 0x3442fffe, + 0xb8400800, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x2b2201d0, + 0x3403ff80, + 0x340100d2, + 0xa0431000, + 0x3842040a, + 0x5b2201d0, + 0xfbfffd49, + 0x34020001, + 0x34010009, + 0xfbfffdae, + 0x34010002, + 0xb8201000, + 0xfbfffdab, + 0x34020000, + 0x34010009, + 0xfbfffda8, + 0x78020003, + 0x38428e58, + 0x34019f9f, + 0x7803000f, + 0x3863ffff, + 0x58410000, + 0x58430004, + 0x34010034, + 0xfbfffd8d, + 0x34020001, + 0x34010009, + 0xfbfffd9c, + 0x34020003, + 0x34010002, + 0xfbfffd99, + 0x34020050, + 0x34010009, + 0xfbfffd96, + 0x780b0003, + 0x396b8e60, + 0x34011000, + 0x340c0008, + 0x59610000, + 0xb9601000, + 0x596c0004, + 0x34010024, + 0xfbfffd7b, + 0x34020050, + 0x34010009, + 0xfbfffd8a, + 0x34011020, + 0x59610000, + 0x596c0004, + 0xb9601000, + 0x34010024, + 0xfbfffd72, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x2b2201d0, + 0x3403ff80, + 0x340100d2, + 0xa0431000, + 0x3842040a, + 0x5b2201d0, + 0xfbfffd0c, + 0x34020001, + 0x34010009, + 0xfbfffd71, + 0x34010002, + 0xb8201000, + 0xfbfffd6e, + 0x34020000, + 0x34010009, + 0xfbfffd6b, + 0x78020003, + 0x38428e58, + 0x34019f9f, + 0x7803000f, + 0x3863ffff, + 0x58410000, + 0x58430004, + 0x34010034, + 0xfbfffd50, + 0x34020001, + 0x34010009, + 0xfbfffd5f, + 0x34020003, + 0x34010002, + 0xfbfffd5c, + 0x34020050, + 0x34010009, + 0xfbfffd59, + 0x780b0003, + 0x396b8e60, + 0x34011000, + 0x340c0008, + 0x59610000, + 0xb9601000, + 0x596c0004, + 0x34010024, + 0xfbfffd3e, + 0x34020050, + 0x34010009, + 0xfbfffd4d, + 0x34010000, + 0x59610000, + 0x596c0004, + 0xb9601000, + 0x34010024, + 0xfbfffd35, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x2b2201d0, + 0x3403ff80, + 0x340100d2, + 0xa0431000, + 0x3842040a, + 0x5b2201d0, + 0xfbfffcd1, + 0x34020001, + 0x34010009, + 0xfbfffd36, + 0x34010002, + 0xb8201000, + 0xfbfffd33, + 0x34020000, + 0x34010009, + 0xfbfffd30, + 0x78020003, + 0x38428e58, + 0x3401ffff, + 0x7803000c, + 0x3863020f, + 0x58410000, + 0x58430004, + 0x34010034, + 0xfbfffd15, + 0x34020001, + 0x34010009, + 0xfbfffd24, + 0x34020003, + 0x34010002, + 0xfbfffd21, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x2b2101d0, + 0x3402ff80, + 0xa0220800, + 0x3402fbff, + 0xa0220800, + 0x5b2101d0, + 0xc3a00000, + 0x379cffec, + 0x5b8b0014, + 0x5b8c0010, + 0x5b8d000c, + 0x5b8e0008, + 0x5b9d0004, + 0x78010002, + 0x38210000, + 0x3884dfe0, + 0x78020004, + 0xb8812000, + 0x38420000, + 0xb8822000, + 0x78010008, + 0x38210000, + 0x78020010, + 0xb8812000, + 0x38420000, + 0xb8822000, + 0x78010100, + 0x38210000, + 0x78020200, + 0x38420000, + 0xb8812000, + 0x78030400, + 0x38630000, + 0xb8822000, + 0x78010800, + 0xb8832000, + 0x38210000, + 0xb8812000, + 0x5b240e60, + 0xfbffffb5, + 0x34020051, + 0x34010009, + 0x780e0003, + 0xfbfffcf2, + 0xb9c05800, + 0x396b8e60, + 0x3401008e, + 0x340c0008, + 0x59610000, + 0xb9601000, + 0x596c0004, + 0x34010024, + 0xfbfffcd7, + 0x34020051, + 0x34010009, + 0xfbfffce6, + 0x780d0100, + 0xb9a00800, + 0x382103ae, + 0x59610000, + 0xb9601000, + 0x596c0004, + 0x34010024, + 0xfbfffccc, + 0x34020001, + 0x34010009, + 0xfbfffcdb, + 0x34010002, + 0xb8201000, + 0xfbfffcd8, + 0x34020000, + 0x34010009, + 0xfbfffcd5, + 0x7801c00c, + 0x38210000, + 0x28210000, + 0x78020003, + 0x78030008, + 0x20210002, + 0x44200005, + 0x7801a0f8, + 0x38428e58, + 0x38211405, + 0xe0000004, + 0x7801a0f8, + 0x38428e58, + 0x38217465, + 0x58410000, + 0x78020003, + 0x38630001, + 0x38428e58, + 0x58430004, + 0x34010034, + 0xfbfffcae, + 0x34020001, + 0x34010009, + 0xfbfffcbd, + 0x34020003, + 0x34010002, + 0xfbfffcba, + 0x34020050, + 0x34010009, + 0xfbfffcb7, + 0xb9c05800, + 0x396b8e60, + 0x3401008e, + 0x340c0008, + 0x59610000, + 0xb9601000, + 0x596c0004, + 0x34010024, + 0xfbfffc9c, + 0x34020050, + 0x34010009, + 0xfbfffcab, + 0x39ad03ae, + 0x596d0000, + 0x596c0004, + 0xb9601000, + 0x34010024, + 0xfbfffc93, + 0x2b8b0014, + 0x2b8c0010, + 0x2b8d000c, + 0x2b8e0008, + 0x2b9d0004, + 0x379c0014, + 0xc3a00000, + 0x379cffe4, + 0x5b8b001c, + 0x5b8c0018, + 0x5b8d0014, + 0x5b8e0010, + 0x5b8f000c, + 0x5b900008, + 0x5b9d0004, + 0xfbffff54, + 0x34020001, + 0x34010009, + 0xfbfffc92, + 0x34010002, + 0xb8201000, + 0xfbfffc8f, + 0x34020000, + 0x34010009, + 0xfbfffc8c, + 0x78020003, + 0x7801a0f8, + 0x38428e58, + 0x38217465, + 0x78030008, + 0x38630001, + 0x58410000, + 0x58430004, + 0x34010034, + 0xfbfffc70, + 0x34020001, + 0x34010009, + 0xfbfffc7f, + 0x34020003, + 0x34010002, + 0xfbfffc7c, + 0x34020050, + 0x34010009, + 0x780b0003, + 0x780e0100, + 0x396b8e60, + 0x340c0008, + 0xfbfffc75, + 0x39ce02ae, + 0xb9601000, + 0x596e0000, + 0x596c0004, + 0x34010024, + 0xfbfffc5d, + 0x34020050, + 0x34010009, + 0x780d0100, + 0xfbfffc6b, + 0x39ad00ae, + 0xb9601000, + 0x596d0000, + 0x596c0004, + 0x34010024, + 0xfbfffc53, + 0x34020050, + 0x34010009, + 0xfbfffc62, + 0x341000ae, + 0xb9601000, + 0x59700000, + 0x596c0004, + 0x34010024, + 0xfbfffc4a, + 0x34020050, + 0x34010009, + 0xfbfffc59, + 0x340f0000, + 0xb9601000, + 0x596f0000, + 0x596c0004, + 0x34010024, + 0xfbfffc41, + 0x34020051, + 0x34010009, + 0xfbfffc50, + 0xb9601000, + 0x596e0000, + 0x596c0004, + 0x34010024, + 0xfbfffc39, + 0x34020051, + 0x34010009, + 0xfbfffc48, + 0xb9601000, + 0x596d0000, + 0x596c0004, + 0x34010024, + 0xfbfffc31, + 0x34020051, + 0x34010009, + 0xfbfffc40, + 0xb9601000, + 0x59700000, + 0x596c0004, + 0x34010024, + 0xfbfffc29, + 0x34020051, + 0x34010009, + 0xfbfffc38, + 0x596c0004, + 0x596f0000, + 0xb9601000, + 0x34010024, + 0xfbfffc21, + 0x5b2f0e60, + 0x2b8b001c, + 0x2b8c0018, + 0x2b8d0014, + 0x2b8e0010, + 0x2b8f000c, + 0x2b900008, + 0x2b9d0004, + 0x379c001c, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x78020003, + 0x3842f81c, + 0x28420000, + 0x780bc050, + 0x780c0130, + 0x2042ff00, + 0x00420008, + 0x396b00b4, + 0x34010064, + 0x398c8060, + 0x34030003, + 0x50620002, + 0xe0000012, + 0x296b0000, + 0xfbffd2d5, + 0xfbffd2c0, + 0xb9800800, + 0x34020001, + 0xf8000628, + 0xb9800800, + 0x34020001, + 0xf8000643, + 0xb9800800, + 0x34020004, + 0xf8000639, + 0x216b007f, + 0xb9600800, + 0x34020007, + 0x504b0002, + 0xfbffd2b2, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x78010003, + 0x3821f81c, + 0x28210000, + 0x780bc210, + 0x396b0008, + 0x29620000, + 0x202100ff, + 0x08210064, + 0x38420002, + 0x59620000, + 0xf80006bf, + 0x29610000, + 0x3402fffd, + 0xa0220800, + 0x59610000, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cffec, + 0x5b8b0014, + 0x5b8c0010, + 0x5b8d000c, + 0x5b8e0008, + 0x5b9d0004, + 0x78010140, + 0x38210011, + 0xf80005f4, + 0x3824000f, + 0x78010140, + 0xb8801000, + 0x38210011, + 0xf80005ea, + 0x78010130, + 0x38218062, + 0xf80005ec, + 0x3402f7ff, + 0xa0222000, + 0x78010130, + 0xb8801000, + 0x38218062, + 0xf80005e1, + 0x78010130, + 0x38210002, + 0xf80005e3, + 0x3402fff3, + 0xa0222000, + 0x78010130, + 0xb8801000, + 0x38210002, + 0xf80005d8, + 0x78010130, + 0x38218063, + 0xf80005da, + 0x780effff, + 0xb9c01000, + 0x38427fff, + 0xa0220800, + 0x780dfffe, + 0x38248000, + 0xb9a01000, + 0x3842ffff, + 0x78010001, + 0xa0821000, + 0x38210000, + 0xb8412000, + 0x780cffef, + 0xb9801000, + 0x3842ffff, + 0x78010010, + 0xa0821000, + 0x38210000, + 0x780bfeff, + 0xb8412000, + 0xb9601800, + 0x3863ffff, + 0x78020100, + 0xa0831800, + 0x38420000, + 0x78010130, + 0xb8621000, + 0x38218063, + 0xf80005b8, + 0x78010130, + 0x38218062, + 0xf80005ba, + 0x38240001, + 0x78010130, + 0xb8801000, + 0x38218062, + 0xf80005b0, + 0x78010130, + 0x38218060, + 0xf80005b2, + 0x38240001, + 0x78010130, + 0xb8801000, + 0x38218060, + 0xf80005a8, + 0x78010003, + 0x3821f900, + 0x28210000, + 0x34020064, + 0x0821000b, + 0x34210032, + 0x8c220800, + 0xf800065f, + 0x78010110, + 0x38210010, + 0xf80005a2, + 0x38240001, + 0x78010110, + 0x38210010, + 0xb8801000, + 0xf8000598, + 0x78010110, + 0x38210010, + 0xf800059a, + 0x20210001, + 0x4420fffc, + 0x78010130, + 0x38218060, + 0xf8000595, + 0x20240001, + 0x64810000, + 0x4420fffb, + 0x78010130, + 0x38218062, + 0xf800058f, + 0x3402fffe, + 0xa0222000, + 0x78010130, + 0x38820800, + 0x38218062, + 0xf8000584, + 0x78010130, + 0x38218063, + 0xf8000586, + 0x39ce7fff, + 0xa02e2000, + 0x39adffff, + 0xa08d2000, + 0x398cffff, + 0xa08c2000, + 0x396bffff, + 0x78010130, + 0xa08b1000, + 0x38218063, + 0xf8000576, + 0x78010120, + 0x38214460, + 0xf8000578, + 0x20210300, + 0x5c20fffc, + 0x2b8b0014, + 0x2b8c0010, + 0x2b8d000c, + 0x2b8e0008, + 0x2b9d0004, + 0x379c0014, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0xb8202800, + 0x34010000, + 0xb8405800, + 0xb8201000, + 0xb8201800, + 0x340400b0, + 0x3406000f, + 0xf80017e5, + 0x34010000, + 0xb9602800, + 0xb8201000, + 0xb8201800, + 0x340400b4, + 0x3406000f, + 0xf80017de, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x340b0001, + 0x3d620011, + 0x34010000, + 0x3842e807, + 0xfbffffe3, + 0x34010003, + 0x34020010, + 0xfbffffe0, + 0x34010007, + 0x340200ff, + 0xfbffffdd, + 0xb9601000, + 0x34010008, + 0xfbffffda, + 0x7801c201, + 0x7802003c, + 0x3821c51c, + 0x38420000, + 0xfbfff101, + 0x34020058, + 0x5b02083c, + 0x34010ace, + 0x5b01084c, + 0x0f020852, + 0x34040000, + 0x3304085c, + 0x7803c020, + 0x3304085d, + 0x38630130, + 0x28620000, + 0x7801fffe, + 0x3821ffff, + 0xa0411000, + 0x58620000, + 0x330b0830, + 0x78030003, + 0x33040831, + 0x3863f900, + 0x2861003c, + 0x78048000, + 0x38848000, + 0x3c21000a, + 0x5b010834, + 0x34010000, + 0x5b010838, + 0x2862002c, + 0x34010008, + 0x5b020844, + 0x28620030, + 0x5b020840, + 0x34020100, + 0x58820050, + 0xfbffbf77, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x34010008, + 0xfbffbf9c, + 0x34010000, + 0x33010830, + 0x2b010838, + 0x3403ffff, + 0x37040848, + 0x5b010858, + 0x2b010844, + 0x2b020840, + 0xf800065f, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x340b0001, + 0x3d620011, + 0x34010000, + 0x3842e807, + 0xfbffff97, + 0x34010003, + 0x34020010, + 0xfbffff94, + 0x34010007, + 0x340200ff, + 0xfbffff91, + 0xb9601000, + 0x34010008, + 0xfbffff8e, + 0x7801c201, + 0x7802003c, + 0x3821c51c, + 0x38420000, + 0xfbfff0b5, + 0x34020018, + 0x5b02083c, + 0x34010ace, + 0x5b01084c, + 0x0f020852, + 0x330b085c, + 0x7803c020, + 0x330b085d, + 0x38630130, + 0x28620000, + 0x7801fffe, + 0x3821ffff, + 0xa0411000, + 0x58620000, + 0x330b0830, + 0x78020003, + 0x330b0831, + 0x3842f900, + 0x2841003c, + 0x3c21000a, + 0x5b010834, + 0x34010000, + 0x5b010838, + 0x2841002c, + 0x5b010844, + 0x28410030, + 0x5b010840, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x34010000, + 0x33010830, + 0x2b010838, + 0x3403ffff, + 0x37040848, + 0x5b010858, + 0x2b010844, + 0x2b020840, + 0xf800061c, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cffe8, + 0x5b8b0018, + 0x5b8c0014, + 0x5b8d0010, + 0x5b8e000c, + 0x5b8f0008, + 0x5b9d0004, + 0x2b03083c, + 0xb8207800, + 0xb8407000, + 0x2b010838, + 0x340b0000, + 0x88611800, + 0x2b010834, + 0x54230002, + 0xe0000026, + 0x2b01083c, + 0x2b030838, + 0x2b020840, + 0x88230800, + 0x2b0d0844, + 0x3c210002, + 0x2b030840, + 0xb4411000, + 0x344c0020, + 0x51830003, + 0x2b010844, + 0x342d0001, + 0x516e000a, + 0x3d620005, + 0xb9a00800, + 0xb5e22000, + 0xb5821000, + 0x3403ffff, + 0xf80005f6, + 0x35610001, + 0x202b00ff, + 0xe3fffff7, + 0x2b010838, + 0x34210001, + 0x5b010838, + 0x2b020838, + 0x2b010834, + 0x5422000a, + 0x34010000, + 0x5b010854, + 0x2b010838, + 0x3403ffff, + 0x37040848, + 0x5b010858, + 0x2b010844, + 0x2b020840, + 0xf80005e4, + 0x2b8b0018, + 0x2b8c0014, + 0x2b8d0010, + 0x2b8e000c, + 0x2b8f0008, + 0x2b9d0004, + 0x379c0018, + 0xc3a00000, + 0x90002000, + 0x34010000, + 0xd0010000, + 0x7803c020, + 0x38630130, + 0x28620000, + 0x78010001, + 0x38210000, + 0x98411000, + 0x58620000, + 0xd0040000, + 0xc3a00000, + 0x2f020240, + 0x7808c030, + 0x34070000, + 0x2f050230, + 0x2042ffff, + 0x58220000, + 0x2f060234, + 0x39080000, + 0x20a5ffff, + 0x2f040238, + 0x20c6ffff, + 0x58250004, + 0x2f030244, + 0x2084ffff, + 0x58260008, + 0x2f020248, + 0x2063ffff, + 0x5824000c, + 0x2042ffff, + 0x58220028, + 0x58270020, + 0x58230024, + 0x58270010, + 0x58270014, + 0x58270018, + 0x5827001c, + 0x35020010, + 0x28420000, + 0x35080014, + 0x29020000, + 0x204207ff, + 0x3442fe28, + 0x3c42000d, + 0x5822005c, + 0xc3a00000, + 0x379cff98, + 0x5b8b0008, + 0x5b9d0004, + 0x378b000c, + 0xb9600800, + 0xfbffffd8, + 0x2b02083c, + 0xb9600800, + 0x00420003, + 0xfbffff8b, + 0xfbffffc7, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0068, + 0xc3a00000, + 0xc3a00000, + 0x379cff4c, + 0x5b9d0004, + 0x2b02083c, + 0x37810008, + 0x00420003, + 0xfbffff7f, + 0xfbffffbb, + 0x2b9d0004, + 0x379c00b4, + 0xc3a00000, + 0xb8203000, + 0x34050000, + 0x50a3000c, + 0x3c810002, + 0xb4260800, + 0x34210004, + 0x28460000, + 0x34840001, + 0x34a50001, + 0x58260000, + 0x34210004, + 0x34420004, + 0x50a30002, + 0xe3fffff9, + 0xb8800800, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x7802c040, + 0xb8205800, + 0x38420e10, + 0x34030024, + 0x34040000, + 0xfbffffe8, + 0xb8202000, + 0x7802c040, + 0xb9600800, + 0x38420ed0, + 0x34030002, + 0xfbffffe2, + 0xb8202000, + 0x7802c040, + 0xb9600800, + 0x38420eec, + 0x34030004, + 0xfbffffdc, + 0xb8202000, + 0x7802c040, + 0xb9600800, + 0x38421760, + 0x34030006, + 0xfbffffd6, + 0xb8202000, + 0x7802c040, + 0xb9600800, + 0x38421e34, + 0x34030002, + 0xfbffffd0, + 0xb8202000, + 0x7802c040, + 0xb9600800, + 0x38421e50, + 0x34030002, + 0xfbffffca, + 0xb8202000, + 0x7802c040, + 0xb9600800, + 0x38421e80, + 0x34030002, + 0xfbffffc4, + 0xb8202000, + 0x7802c040, + 0xb9600800, + 0x38421ef0, + 0x34030003, + 0xfbffffbe, + 0xb8202000, + 0x7802c040, + 0xb9600800, + 0x38422ef0, + 0x34030003, + 0xfbffffb8, + 0xb8202000, + 0x7802c040, + 0xb9600800, + 0x38423400, + 0x34030008, + 0xfbffffb2, + 0xb8202000, + 0x7802c040, + 0xb9600800, + 0x3842381c, + 0x34030002, + 0xfbffffac, + 0xb8202000, + 0x7802c040, + 0xb9600800, + 0x38423a3c, + 0x3403000c, + 0xfbffffa6, + 0x7801c030, + 0x38210000, + 0x34220010, + 0x28420000, + 0x34210014, + 0x28210000, + 0x202107ff, + 0x3421fe28, + 0x3c21000d, + 0x59610000, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cfe98, + 0x5b8b0008, + 0x5b9d0004, + 0x378b000c, + 0xb9600800, + 0xfbffffa2, + 0x2b02083c, + 0xb9600800, + 0x00420003, + 0xfbffff08, + 0xfbffff44, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0168, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x2f01080c, + 0x2b020868, + 0x2021ffff, + 0xfbffc211, + 0x5b010868, + 0x2f01080c, + 0x2b02086c, + 0x2021ffff, + 0xb4411000, + 0x5b02086c, + 0x2f01080e, + 0x2b020870, + 0x2021ffff, + 0xfbffc207, + 0x5b010870, + 0x2f01080e, + 0x2b020874, + 0x2021ffff, + 0xb4411000, + 0x5b020874, + 0x2f0102ee, + 0x2b020884, + 0x2021ffff, + 0xb4411000, + 0x5b020884, + 0x2b010888, + 0x2f0202b2, + 0x2042ffff, + 0xfbffc1f8, + 0x5b010888, + 0x2f0102b2, + 0x2b02088c, + 0x2021ffff, + 0xb4411000, + 0x5b02088c, + 0x2b010890, + 0x2b020198, + 0xb4220800, + 0x5b010890, + 0x2b010894, + 0x2f0206a0, + 0x2042ffff, + 0xfbffc1ea, + 0x5b010894, + 0x2f0102c4, + 0x2b020898, + 0x2021ffff, + 0xb4411000, + 0x5b020898, + 0x2b01089c, + 0x2f02015e, + 0x2042ffff, + 0xfbffc1e0, + 0x5b01089c, + 0x2f01015e, + 0x2b0208a0, + 0x2021ffff, + 0xb4411000, + 0x5b0208a0, + 0x2b0108a4, + 0x2f02015a, + 0x2042ffff, + 0xfbffc1d6, + 0x5b0108a4, + 0x2f02015a, + 0x78040003, + 0x3884fa64, + 0x2b0108a8, + 0x2042ffff, + 0x7803001e, + 0xb4220800, + 0x5b0108a8, + 0x2f02024c, + 0x38630000, + 0x2b0108ac, + 0x2042ffff, + 0xb4220800, + 0x5b0108ac, + 0x2f010248, + 0x2b0208b0, + 0x2021ffff, + 0xb4411000, + 0x5b0208b0, + 0x2b0108bc, + 0x5b0108bc, + 0x2b0108c0, + 0x5b0108c0, + 0x2b0108c4, + 0x5b0108c4, + 0x2b0108c8, + 0x5b0108c8, + 0x430106e8, + 0xb0200800, + 0xb4210800, + 0xb4380800, + 0x342108c8, + 0x2c220004, + 0x34420001, + 0x0c220004, + 0x4301008a, + 0x202100ff, + 0xb4210800, + 0xb4380800, + 0x342108d8, + 0x2c220004, + 0x34420001, + 0x0c220004, + 0x43010779, + 0x2b0208ec, + 0x18210001, + 0x202100ff, + 0xb4411000, + 0x5b0208ec, + 0x2b0108f0, + 0x5b0108f0, + 0x2b0108f4, + 0x5b0108f4, + 0x2b0108f8, + 0x5b0108f8, + 0x430102bf, + 0x2b0208fc, + 0x202100ff, + 0x3c210008, + 0xb4411000, + 0x5b0208fc, + 0x2b010900, + 0x2b02018c, + 0xb4220800, + 0x5b010900, + 0x28810000, + 0x2b020904, + 0xa0230800, + 0x00210011, + 0xb4411000, + 0x5b020904, + 0x2f01016e, + 0x2b020908, + 0x2021ffff, + 0xfbffc18a, + 0x5b010908, + 0x2f01016e, + 0x2b02090c, + 0x2021ffff, + 0xb4411000, + 0x5b02090c, + 0x2b010910, + 0x34210001, + 0x5b010910, + 0x2b020910, + 0x3801ffff, + 0x5c410003, + 0x34010001, + 0x33010832, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x34030000, + 0x37010868, + 0x3402002b, + 0x58230000, + 0x3442ffff, + 0x34210004, + 0x4c40fffd, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0xfbfffff6, + 0x34010010, + 0x33010831, + 0x34010001, + 0x33010830, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x2b010910, + 0x442000c1, + 0x2f010804, + 0x78080003, + 0x3908fe00, + 0xdc200800, + 0x3421fe78, + 0x3c210005, + 0x78020003, + 0x59010000, + 0x2b010868, + 0x38428c00, + 0x2c430082, + 0x3421fe78, + 0x3c210005, + 0x34040000, + 0x59010004, + 0x2b01086c, + 0x2b020910, + 0x8c220800, + 0x3421fe78, + 0x3c210005, + 0x59010008, + 0x2b01081c, + 0x59010030, + 0x2b010870, + 0x3421fe78, + 0x3c210005, + 0x59010034, + 0x2b010874, + 0x2b020910, + 0x8c220800, + 0x3421fe78, + 0x3c210005, + 0x59010038, + 0x2b010884, + 0x2b020910, + 0x8c220800, + 0x59010024, + 0x2b010888, + 0x59010028, + 0x2b01088c, + 0x2b020910, + 0x8c220800, + 0x5901002c, + 0x2b010890, + 0x88230800, + 0x2b020910, + 0x00210002, + 0x8c220800, + 0x59010050, + 0x2b010894, + 0x59010054, + 0x2b020898, + 0x2b010910, + 0x8c411000, + 0x2f010164, + 0x59020058, + 0x2021ffff, + 0x5901008c, + 0x2b01089c, + 0x59010090, + 0x2b0108a0, + 0x2b020910, + 0x8c220800, + 0x59010094, + 0x2b0108ac, + 0x2b020910, + 0x8c220800, + 0x59010098, + 0x2b0208b0, + 0x2b010910, + 0x8c411000, + 0x2f010162, + 0x5902009c, + 0x2021ffff, + 0x590100b0, + 0x2b0108a4, + 0x590100b4, + 0x2b0108a8, + 0x2b020910, + 0x8c220800, + 0x590400bc, + 0x590100b8, + 0x2b010914, + 0x44240006, + 0x2b0108b8, + 0x2b020914, + 0x8c220800, + 0x3c210003, + 0x590100c0, + 0x781d0003, + 0x59040134, + 0x5904013c, + 0x59040140, + 0xb8804800, + 0x3bbdf000, + 0xb5291000, + 0xb4581000, + 0x344108c8, + 0x2c230004, + 0x3d260002, + 0x3d250004, + 0x2063ffff, + 0x2b040910, + 0x08636400, + 0x3d210003, + 0xb4c83000, + 0x8c641800, + 0xc8290800, + 0x3c210002, + 0x344208d8, + 0xb43d0800, + 0x2c420004, + 0xb4bd2800, + 0x2042ffff, + 0x08426400, + 0x35240001, + 0x58c300d4, + 0x208900ff, + 0x28240058, + 0x75270007, + 0x29010134, + 0x88641800, + 0xb4230800, + 0x59010134, + 0x2b010910, + 0x8c411000, + 0x58c20114, + 0x28a10148, + 0x2903013c, + 0x29040140, + 0x88411000, + 0xb4625000, + 0x590a013c, + 0x28c10114, + 0x28a2014c, + 0x88220800, + 0xb4811800, + 0x59030140, + 0x44e0ffd5, + 0x29020134, + 0x34016400, + 0x8c611800, + 0x34040000, + 0x59040144, + 0x59040148, + 0x8c411000, + 0x59030140, + 0x8d410800, + 0x59020134, + 0x5901013c, + 0x2b0108f0, + 0x2b020910, + 0x8c220800, + 0x5901014c, + 0x2b0108f4, + 0x2b020910, + 0x8c220800, + 0x59010150, + 0x2b0108f8, + 0x2b020910, + 0x8c220800, + 0x59010154, + 0x2b0108ec, + 0x2b020910, + 0x08216400, + 0x5904015c, + 0x8c220800, + 0x59040160, + 0x59010158, + 0x2b010900, + 0x2b020910, + 0x8c220800, + 0x59010164, + 0x2b010904, + 0x2b020910, + 0x8c220800, + 0x5904016c, + 0x59010168, + 0x2b0208fc, + 0x2b010910, + 0x8c411000, + 0x2f010170, + 0x59020170, + 0x2021ffff, + 0x59010174, + 0x2b010908, + 0x59010178, + 0x2b01090c, + 0x2b020910, + 0x8c220800, + 0x5901017c, + 0xfbffff2b, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x2f020240, + 0x34030000, + 0x2f010242, + 0x2042ffff, + 0x2021ffff, + 0x54410002, + 0x34030001, + 0x2f0202c4, + 0xb4630800, + 0xb4380800, + 0x2c210240, + 0x780c0003, + 0x398c8c00, + 0xb4411000, + 0x0f02016c, + 0x2f01016c, + 0x418300bf, + 0x34040008, + 0x2f02016e, + 0x2021ffff, + 0x2042ffff, + 0xfbffbfc1, + 0x0f01016e, + 0x2f02016e, + 0x2f010170, + 0x50220013, + 0x43010174, + 0x7c210001, + 0x5c200009, + 0x2d810032, + 0x2f0b02ee, + 0x340203e8, + 0x3c210008, + 0x216bffff, + 0xf800151a, + 0x5d610004, + 0xe0000006, + 0x430102bc, + 0x5c200004, + 0x418100c4, + 0x330102bc, + 0xe000000f, + 0x2d810036, + 0xe0000009, + 0x2f02016e, + 0x2f010172, + 0x2042ffff, + 0x2021ffff, + 0x50410008, + 0x34010000, + 0x330102bc, + 0x2d810032, + 0x3c210008, + 0x340203e8, + 0xf8001506, + 0x0f0102ee, + 0xfbffc071, + 0x34010000, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x90005800, + 0x34010000, + 0xd0010000, + 0x78040003, + 0x38848c00, + 0x2c830082, + 0x2c8100c6, + 0x340203e8, + 0x88230800, + 0x14210002, + 0x3803fd71, + 0x0f010170, + 0x2f010170, + 0x2021ffff, + 0x88230800, + 0x14210010, + 0x0f010172, + 0x2c810032, + 0x3c210008, + 0xf80014e7, + 0x78020003, + 0x0f0102ee, + 0x3842f824, + 0x28420000, + 0x780100ff, + 0x38210000, + 0xa0411000, + 0x00420010, + 0x78010003, + 0x38218ba8, + 0x78050003, + 0x30220015, + 0x3022002e, + 0x38a5f818, + 0x28a40000, + 0x7801ff7f, + 0x3821ffff, + 0xa0812000, + 0x78020080, + 0x38420000, + 0x78030003, + 0x78010003, + 0xb8822000, + 0x38638b24, + 0x38212438, + 0x58610054, + 0x58a40000, + 0xd00b0000, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x90003000, + 0x34010000, + 0xd0010000, + 0x34020000, + 0x330202bc, + 0x78010003, + 0x330206e4, + 0x38218ba8, + 0x78050003, + 0x3022002e, + 0x30220015, + 0x38a5f818, + 0x28a40000, + 0x7801ff7f, + 0x3821ffff, + 0x78030003, + 0x78020002, + 0xa0812000, + 0x38638b24, + 0x38424a68, + 0x58620054, + 0x58a40000, + 0xd0060000, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x430202b8, + 0x78050003, + 0x7801c201, + 0x38a58acc, + 0x3821c43c, + 0x204200ff, + 0x340b0000, + 0x51620003, + 0x430202b8, + 0x204b00ff, + 0x430202bc, + 0x204200ff, + 0x51620003, + 0x430202bc, + 0x204b00ff, + 0x430202b9, + 0x204200ff, + 0x51620003, + 0x430202b9, + 0x204b00ff, + 0x430202bf, + 0x21640007, + 0x204200ff, + 0x444b0009, + 0x28a20020, + 0x3c840001, + 0x3403fff1, + 0xa0431000, + 0xb8441000, + 0x38420001, + 0x58a20020, + 0xfbffed5e, + 0x34010000, + 0x330b02bf, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0xb8203000, + 0x44600021, + 0x20610003, + 0x5c200005, + 0x20c10003, + 0x5c200003, + 0x20410003, + 0x4420000e, + 0x3463ffff, + 0x6461ffff, + 0xb8402800, + 0xb8c02000, + 0x5c200016, + 0x40a10000, + 0x3463ffff, + 0x6462ffff, + 0x30810000, + 0x34a50001, + 0x34840001, + 0x4440fffa, + 0xe000000e, + 0x00630002, + 0xb8402800, + 0x3463ffff, + 0x6461ffff, + 0xb8c02000, + 0x5c200008, + 0x28a10000, + 0x3463ffff, + 0x6462ffff, + 0x58810000, + 0x34a50004, + 0x34840004, + 0x4440fffa, + 0xb8c00800, + 0xc3a00000, + 0x78030003, + 0xb8201000, + 0x3863861c, + 0x34040000, + 0x2021000f, + 0x5c240003, + 0x00420004, + 0x34040004, + 0x2041000f, + 0xb4230800, + 0x40210000, + 0xb4810800, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x780b0003, + 0x396b98d8, + 0x29610008, + 0x5c200019, + 0x2961000c, + 0xfbffffeb, + 0x3c220002, + 0x74210007, + 0xb44b1000, + 0x5c200013, + 0x28430014, + 0x78048000, + 0x78068000, + 0x78058000, + 0x38848000, + 0x38c68004, + 0x38a50420, + 0x4460000b, + 0x28620020, + 0x29610034, + 0x59630000, + 0xa0220800, + 0x58810000, + 0x29610038, + 0x28620024, + 0xa0220800, + 0x58c10000, + 0x58a30000, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x90001800, + 0x34010000, + 0xd0010000, + 0x78020003, + 0x384298d8, + 0x28410008, + 0x34210001, + 0x58410008, + 0xd0030000, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x90002000, + 0x34010000, + 0xd0010000, + 0x78050003, + 0xb8a01800, + 0x386398d8, + 0x28610008, + 0x3422ffff, + 0x44200002, + 0x58620008, + 0xd0040000, + 0xb8a01000, + 0x384298d8, + 0x28410008, + 0x5c200004, + 0x28410004, + 0x5c200002, + 0xfbffb6f6, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b8d0004, + 0x780c0003, + 0xb9805800, + 0x396b98d8, + 0x34080000, + 0x340d0001, + 0x35690014, + 0xbda82800, + 0x75020007, + 0x29610010, + 0x35080001, + 0x750a0007, + 0xa0250800, + 0x44200019, + 0x5c400018, + 0x29240000, + 0x44800016, + 0x2881000c, + 0xb9803000, + 0x38c698d8, + 0x3423ffff, + 0xa4a03800, + 0x5883000c, + 0x5c60000f, + 0x28c10010, + 0x28820010, + 0xa0270800, + 0x58c10010, + 0x44400005, + 0x28410000, + 0x58830010, + 0xa0270800, + 0x58410000, + 0x28c1000c, + 0xb8250800, + 0x58c1000c, + 0x34010001, + 0x5881001c, + 0x35290004, + 0x4540ffe0, + 0x2b8b000c, + 0x2b8c0008, + 0x2b8d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x78050003, + 0xb8a02000, + 0x388498d8, + 0x28820004, + 0xb8201800, + 0x3401ffff, + 0x5c400018, + 0xb8400800, + 0x44600016, + 0x28810000, + 0x5823000c, + 0x90003800, + 0xd0020000, + 0x38a598d8, + 0x28a60000, + 0x28a30010, + 0x34020001, + 0x28c10008, + 0x28a4000c, + 0xbc410800, + 0xb8611800, + 0x58a30010, + 0x28c10008, + 0xbc411000, + 0xa4401000, + 0xa0822000, + 0x58a4000c, + 0xd0070000, + 0xfbffb6a4, + 0x34010000, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0xb8205800, + 0x90006000, + 0x34010000, + 0xd0010000, + 0x29610000, + 0xfbffff53, + 0x34020001, + 0xbc412800, + 0x78030003, + 0x3c220002, + 0x386398d8, + 0x74210007, + 0xa4a02000, + 0xb4431000, + 0x5c200016, + 0x29610000, + 0x28420014, + 0x34060000, + 0xa0240800, + 0x59610000, + 0x28610010, + 0xa0240800, + 0x58610010, + 0x44460006, + 0x5846001c, + 0x2861000c, + 0x58460010, + 0xb8250800, + 0x5861000c, + 0xd00c0000, + 0x78010003, + 0x382198d8, + 0x28210004, + 0x5c20000c, + 0xfbffb679, + 0xe000000a, + 0x29610004, + 0x29620008, + 0x34230001, + 0x54410004, + 0xd00c0000, + 0x3401fffb, + 0xe0000004, + 0x59630004, + 0xd00c0000, + 0x34010000, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x780b0003, + 0xb9601800, + 0x386398d8, + 0x28640004, + 0xb8202800, + 0xb8404000, + 0x3401ffff, + 0x5c800027, + 0x90003000, + 0xd0040000, + 0x28a10004, + 0xb9602000, + 0x388498d8, + 0x34070001, + 0x3422ffff, + 0x44200005, + 0x58a20004, + 0xd0060000, + 0x34010000, + 0xe000001b, + 0x28830000, + 0x28a20000, + 0x28610008, + 0x58650010, + 0xbce10800, + 0xb8411000, + 0x58a20000, + 0x28610008, + 0x2882000c, + 0xbce10800, + 0xa4200800, + 0xa0411000, + 0x5882000c, + 0x45000007, + 0x28620008, + 0x5868000c, + 0x28810010, + 0xbce21000, + 0xb8220800, + 0x58810010, + 0xd0060000, + 0xfbffb63c, + 0x396b98d8, + 0x29610000, + 0x2821001c, + 0x7c210000, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0xb8202000, + 0x90001000, + 0x34010000, + 0xd0010000, + 0x28810004, + 0x3423ffff, + 0x44200005, + 0x58830004, + 0xd0020000, + 0x34010000, + 0xc3a00000, + 0xd0020000, + 0x34010001, + 0xc3a00000, + 0xb8202000, + 0x90001800, + 0x34010000, + 0xd0010000, + 0x28810008, + 0x50220004, + 0xd0030000, + 0x3401fffb, + 0xc3a00000, + 0x58820004, + 0xd0030000, + 0x34010000, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x78010003, + 0x382198d8, + 0x28220000, + 0x28410018, + 0x28420014, + 0xd8400000, + 0x90002800, + 0x34010000, + 0xd0010000, + 0x78020003, + 0x384298d8, + 0x28410000, + 0x2843000c, + 0x28240008, + 0x34010001, + 0xbc240800, + 0xa4200800, + 0xa0611800, + 0x5843000c, + 0xd0050000, + 0xfbffb602, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b8d0004, + 0x3c470002, + 0xb8404800, + 0x34020001, + 0x780b0003, + 0x396b98d8, + 0xbc496000, + 0xb4eb3800, + 0x28e20014, + 0x340dffff, + 0x3408fffd, + 0x5c400014, + 0x780a0002, + 0x3488ff78, + 0x58250014, + 0x58260018, + 0x58230004, + 0x58290008, + 0x394a04f4, + 0x44800005, + 0x58280000, + 0x59040070, + 0x590a0078, + 0x59020074, + 0x582d0024, + 0x582d0020, + 0x58e10014, + 0x2961000c, + 0xb8404000, + 0xb82c0800, + 0x5961000c, + 0xb9000800, + 0x2b8b000c, + 0x2b8c0008, + 0x2b8d0004, + 0x379c000c, + 0xc3a00000, + 0x78198008, + 0x3b390000, + 0xc3a00000, + 0x78038008, + 0x38630000, + 0x586100a0, + 0x586200a4, + 0xc3a00000, + 0x78028008, + 0x38420000, + 0x584100a0, + 0x284100a4, + 0xc3a00000, + 0x78038008, + 0x38630000, + 0x586100a0, + 0x286100a4, + 0xb8220800, + 0x586100a4, + 0xc3a00000, + 0x78038008, + 0x38630000, + 0x586100a0, + 0x286100a4, + 0xa0220800, + 0x586100a4, + 0xc3a00000, + 0x78048008, + 0x38840000, + 0x588100a0, + 0x288100a4, + 0xa4601800, + 0xa0230800, + 0xb8220800, + 0x588100a4, + 0xc3a00000, + 0x78038008, + 0x38630000, + 0x586100a0, + 0x286100a4, + 0xa0410800, + 0x5c22fffe, + 0xc3a00000, + 0x78038008, + 0x38630000, + 0x586100a0, + 0x286100a4, + 0xa0410800, + 0x4422fffe, + 0xc3a00000, + 0x78048008, + 0x38840000, + 0x3803ca00, + 0xb4831800, + 0x58610000, + 0x3801ca04, + 0xb4812000, + 0x58820000, + 0xc3a00000, + 0x78038008, + 0x38630000, + 0x3802ca00, + 0xb4621000, + 0x58410000, + 0x3801ca04, + 0xb4611800, + 0x28610000, + 0xc3a00000, + 0x78048008, + 0x38840000, + 0x3803ca00, + 0xb4831800, + 0x58610000, + 0x3801ca04, + 0xb4812000, + 0x28810000, + 0xb8220800, + 0x58810000, + 0xc3a00000, + 0x78048008, + 0x38840000, + 0x3803ca00, + 0xb4831800, + 0x58610000, + 0x3801ca04, + 0xb4812000, + 0x28810000, + 0xa0220800, + 0x58810000, + 0xc3a00000, + 0x78058008, + 0x38a50000, + 0x3804ca00, + 0xb4a42000, + 0x58810000, + 0x3801ca04, + 0xb4a12800, + 0x28a10000, + 0xa4601800, + 0xa0230800, + 0xb8220800, + 0x58a10000, + 0xc3a00000, + 0x78058001, + 0x34030001, + 0x38a50800, + 0x78048001, + 0x30a30002, + 0x38840824, + 0x78028001, + 0x30830002, + 0x38420848, + 0x30430002, + 0x58a3000c, + 0x5883000c, + 0x5843000c, + 0x30a30005, + 0x30830005, + 0x30430005, + 0xc3a00000, + 0x3c220003, + 0x78038001, + 0xb4411000, + 0x3c420002, + 0x38630800, + 0xb4431000, + 0x34030001, + 0x30430002, + 0x5843000c, + 0x30430005, + 0xc3a00000, + 0x3c220003, + 0x78038001, + 0xb4411000, + 0x3c420002, + 0x38630800, + 0xb4431000, + 0x34010000, + 0x30410000, + 0x5841000c, + 0xc3a00000, + 0xb8201800, + 0x78048001, + 0x64210001, + 0x38840800, + 0x5c20000a, + 0x64650002, + 0x4460000c, + 0x78048001, + 0x64610007, + 0x38840848, + 0x5ca00008, + 0x78048001, + 0x5c200005, + 0xc3a00000, + 0x78048001, + 0x38840824, + 0xe0000002, + 0x388408fc, + 0x58820010, + 0x34010001, + 0x30810001, + 0x30810000, + 0xc3a00000, + 0x90001800, + 0x34010000, + 0xd0010000, + 0x7801c020, + 0x382100c8, + 0x28220000, + 0x7801c020, + 0x382100cc, + 0x28210000, + 0xd0030000, + 0x00420004, + 0x3c21001c, + 0xb8220800, + 0xc3a00000, + 0x90001000, + 0x34010000, + 0xd0010000, + 0x7801c020, + 0x382100c8, + 0x28240000, + 0x7801c020, + 0x382100cc, + 0x28230000, + 0xd0020000, + 0x34010000, + 0xb8242000, + 0xb8611800, + 0xb8600800, + 0xb8801000, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0xb8205800, + 0x44200010, + 0xfbffffea, + 0xb8402000, + 0xb44b1000, + 0xb8201800, + 0x34050000, + 0xf4823800, + 0xb4650800, + 0xb4e13800, + 0xb8e05800, + 0xb8406000, + 0xfbffffe0, + 0xb8201800, + 0x5563fffe, + 0x5d630002, + 0x5582fffc, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x780a8002, + 0x394a8000, + 0x29480000, + 0x3c21000a, + 0x3409c3ff, + 0x20213c00, + 0xa1094000, + 0xb9014000, + 0x59480000, + 0x29410000, + 0x3c42000e, + 0x3408bfff, + 0x20424000, + 0xa0280800, + 0xb8220800, + 0x59410000, + 0x29420000, + 0x3c63000f, + 0x7801ffff, + 0x38217fff, + 0xa0411000, + 0x20638000, + 0xb8431000, + 0x59420000, + 0x29430000, + 0x3c840010, + 0x7801ff00, + 0x780200ff, + 0x3821ffff, + 0x38420000, + 0xa0611800, + 0xa0822000, + 0xb8641800, + 0x59430000, + 0x29430000, + 0x3ca5001a, + 0x7801e3ff, + 0x78021c00, + 0x3821ffff, + 0x38420000, + 0xa0611800, + 0xa0a22800, + 0xb8651800, + 0x59430000, + 0x29430000, + 0x3cc60018, + 0x7801fcff, + 0x78020300, + 0x3821ffff, + 0x38420000, + 0xa0611800, + 0xa0c23000, + 0xb8661800, + 0x59430000, + 0x29430000, + 0x3ce7001d, + 0x7801dfff, + 0x78022000, + 0x3821ffff, + 0x38420000, + 0xa0611800, + 0xa0e23800, + 0xb8671800, + 0x59430000, + 0xc3a00000, + 0x780a8002, + 0x394a8048, + 0x29480000, + 0x3409fff0, + 0x2021000f, + 0xa1094000, + 0xb9014000, + 0x59480000, + 0x29410000, + 0x3c420004, + 0x3408ffef, + 0x20420010, + 0xa0280800, + 0xb8220800, + 0x59410000, + 0x29410000, + 0x3c630005, + 0x3402ffdf, + 0xa0220800, + 0x20630020, + 0xb8230800, + 0x59410000, + 0x29420000, + 0x3c840008, + 0x7801ffff, + 0x382100ff, + 0xa0411000, + 0x2084ff00, + 0xb8441000, + 0x59420000, + 0x29430000, + 0x3ca50010, + 0x7801fff8, + 0x78020007, + 0x3821ffff, + 0x38420000, + 0xa0611800, + 0xa0a22800, + 0xb8651800, + 0x59430000, + 0x29410000, + 0x3cc60006, + 0x3402ff3f, + 0xa0220800, + 0x20c600c0, + 0xb8260800, + 0x59410000, + 0x29430000, + 0x3ce70013, + 0x7801fff7, + 0x78020008, + 0x3821ffff, + 0x38420000, + 0xa0611800, + 0xa0e23800, + 0xb8671800, + 0x59430000, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b8c0004, + 0x780a0003, + 0xb9402800, + 0x38a58dd4, + 0x28a60000, + 0x78080003, + 0x39088dae, + 0x34c60001, + 0x20c6ffff, + 0x41070000, + 0x58a60000, + 0xb8204800, + 0xb8402800, + 0xb8605800, + 0xb8806000, + 0x5ce00007, + 0x78028002, + 0x38428000, + 0x28410030, + 0x20210001, + 0x4420fffe, + 0xe0000003, + 0x34010000, + 0x31010000, + 0xb9400800, + 0x38218dd4, + 0x78028002, + 0x38428000, + 0x28240000, + 0x28430000, + 0x00a50005, + 0x3401fc00, + 0xa0611800, + 0x208403ff, + 0x3d26001b, + 0xb8641800, + 0x01210005, + 0x58430000, + 0xb8a62800, + 0x58450004, + 0x20210007, + 0x58410008, + 0x584b000c, + 0xb8402800, + 0x34040000, + 0x3c820002, + 0xb44c0800, + 0x28230000, + 0x34840001, + 0xb4451000, + 0x68810007, + 0x58430010, + 0x4420fff9, + 0x394a8dd4, + 0x29410000, + 0x2b8b0008, + 0x2b8c0004, + 0x379c0008, + 0xc3a00000, + 0x78020003, + 0x78040003, + 0x38428de0, + 0x38848e28, + 0x34030001, + 0x3043000f, + 0x58810000, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0xb8206000, + 0xb8405800, + 0x7801c201, + 0x3821c530, + 0x34020026, + 0xfbffea21, + 0x7801c201, + 0xb9601000, + 0x3821c534, + 0xfbffea1d, + 0x7801c201, + 0x3821c538, + 0xb9801000, + 0xfbffea19, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x78038008, + 0x38630000, + 0x28650194, + 0x34040125, + 0x38a60001, + 0x58660194, + 0x58640190, + 0x58610198, + 0x38a10005, + 0x58610194, + 0x58660194, + 0x58620198, + 0x38a50003, + 0x58650194, + 0x58660194, + 0xc3a00000, + 0x78060003, + 0x38c6f320, + 0x28c60000, + 0x7807c020, + 0x38e7012c, + 0x20c60080, + 0x00ca0007, + 0x208400ff, + 0xb8a14800, + 0xb8404000, + 0x44c0000f, + 0x78010002, + 0x38210000, + 0xb8a31800, + 0x78020001, + 0xb8611800, + 0xb8a80800, + 0x38420000, + 0x58e90000, + 0xb8220800, + 0x51440002, + 0x58e10000, + 0x34010002, + 0x50240002, + 0x58e30000, + 0xc3a00000, + 0x379cfff0, + 0x5b8b0010, + 0x5b8c000c, + 0x5b8d0008, + 0x5b9d0004, + 0x3422ffff, + 0x340c0000, + 0x74410004, + 0xb9801800, + 0x340d0001, + 0xb9802000, + 0xb9805800, + 0x5c2c0022, + 0x3c410002, + 0x78020003, + 0x3842862c, + 0xb4220800, + 0x28210000, + 0xc0200000, + 0x78010003, + 0x3821f334, + 0x28220000, + 0x780b0002, + 0x396b0000, + 0x78018000, + 0x38210000, + 0xa0411000, + 0x34030001, + 0x4c400012, + 0xe0000004, + 0x780b0001, + 0x34030001, + 0x396b0000, + 0xb8602000, + 0xe000000c, + 0x780b0100, + 0x396b0000, + 0x340c0002, + 0xe0000008, + 0x780b0008, + 0x396b0000, + 0xe0000003, + 0x780b0004, + 0x396b0000, + 0x340d0000, + 0x340c0001, + 0x78010003, + 0x3821f330, + 0x28220000, + 0x64630000, + 0xb9625800, + 0x582b0000, + 0x5c600006, + 0x78020003, + 0x3842f320, + 0x28410000, + 0x38210010, + 0x58410000, + 0x64810000, + 0x5c200009, + 0x78020003, + 0x38428de0, + 0x34030001, + 0x78010003, + 0x3043000d, + 0x38218eac, + 0xfbfffd18, + 0x340d0000, + 0x45800005, + 0x78010003, + 0x3821f300, + 0x28220000, + 0x58220000, + 0x01610010, + 0x34020000, + 0x78050090, + 0x38a50000, + 0xb8401800, + 0x34040001, + 0xfbffff97, + 0xb9a00800, + 0x2b8b0010, + 0x2b8c000c, + 0x2b8d0008, + 0x2b9d0004, + 0x379c0010, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x7801c201, + 0x34020065, + 0x3821c530, + 0xfbffe98d, + 0x7801c201, + 0x3821c534, + 0xfbffe9a4, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x78038008, + 0x38630000, + 0x28610194, + 0x3402ffc0, + 0xa0220800, + 0x38210001, + 0x58610194, + 0x34010124, + 0x58610190, + 0x28610198, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x78030003, + 0x38638acc, + 0x28620048, + 0x78010001, + 0x38210000, + 0xb8411000, + 0x38420001, + 0x7801c201, + 0x58620048, + 0x3821c50c, + 0xfbffe96f, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x34060000, + 0x78070003, + 0x202900ff, + 0x204800ff, + 0x38e7f000, + 0xb8c02800, + 0x340a00ff, + 0xb5051000, + 0x204200ff, + 0x2041001f, + 0x00210004, + 0x2043000c, + 0x34210001, + 0xb5210800, + 0x3c210004, + 0x20420003, + 0xb8270800, + 0xb4230800, + 0xc8451000, + 0x28240000, + 0x3ca30003, + 0x3c420003, + 0x34a10001, + 0x80822000, + 0xbd431800, + 0x202500ff, + 0xa0832000, + 0x74a10003, + 0xb8c43000, + 0x4420ffea, + 0xb8c00800, + 0xc3a00000, + 0x28240004, + 0x28450004, + 0x28280000, + 0x2084ffff, + 0x20a5ffff, + 0xb4852000, + 0x2087ffff, + 0x58670004, + 0x28250004, + 0x28460004, + 0x00840010, + 0x00a50010, + 0x00c60010, + 0x28420000, + 0xb4a62800, + 0xb4852000, + 0x3c810010, + 0x00840010, + 0xb8e13800, + 0xb4882000, + 0xb4822000, + 0x58640000, + 0x58670004, + 0xc3a00000, + 0x34060000, + 0x204700ff, + 0x202300ff, + 0xb8c02000, + 0xbce42800, + 0x34820004, + 0x20610001, + 0x204400ff, + 0x00630001, + 0x64210000, + 0x7482001f, + 0x5c200002, + 0xb8c53000, + 0x4440fff7, + 0xb8c00800, + 0xc3a00000, + 0x00660002, + 0x34080000, + 0x20630003, + 0x3cc40002, + 0x3c630003, + 0xb8205000, + 0xb4812000, + 0xb9003800, + 0x28850000, + 0x80a32800, + 0x20a100ff, + 0xbc272800, + 0x34630008, + 0x34e70008, + 0x74e9001f, + 0x7c610020, + 0xb9054000, + 0x5c200007, + 0x34c60001, + 0x34840004, + 0x34030000, + 0x5cc20003, + 0xb8603000, + 0xb9402000, + 0x4520fff0, + 0xb9000800, + 0xc3a00000, + 0x379cffe8, + 0x5b8b0018, + 0x5b8c0014, + 0x5b8d0010, + 0x5b8e000c, + 0x5b8f0008, + 0x5b9d0004, + 0x78060003, + 0x38c68dd8, + 0x28c70000, + 0x780c8002, + 0x398c8000, + 0x34e70001, + 0x20e5ffff, + 0x58c50000, + 0x004e0005, + 0x29850000, + 0xb8205800, + 0x3d62001b, + 0x016d0005, + 0x3401fc00, + 0xa0a12800, + 0x20e703ff, + 0x016b0008, + 0xb8a72800, + 0x208400ff, + 0x34010000, + 0xb8607800, + 0xb9c27000, + 0x59850000, + 0xb8803800, + 0x216b00ff, + 0xb8201000, + 0xb8201800, + 0x34040037, + 0xb8202800, + 0xb8203000, + 0x3d6b0003, + 0xfbfffdf8, + 0x21ad0007, + 0x598e0004, + 0xb9ab6800, + 0x598d0008, + 0x598f000c, + 0x2b8b0018, + 0x2b8c0014, + 0x2b8d0010, + 0x2b8e000c, + 0x2b8f0008, + 0x2b9d0004, + 0x379c0018, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b8c0004, + 0x20640003, + 0x780a8002, + 0xb8406000, + 0x3c840003, + 0x00630002, + 0xb8205800, + 0x394a8000, + 0x34020000, + 0x3c610002, + 0x34080000, + 0xb42b3000, + 0xb9003800, + 0x28c50000, + 0x80a42800, + 0x20a100ff, + 0xbc272800, + 0x34840008, + 0x34e70008, + 0x74e9001f, + 0x7c810020, + 0xb9054000, + 0x5c200007, + 0x34630001, + 0x34c60004, + 0x34040000, + 0x5c6c0003, + 0xb8801800, + 0xb9603000, + 0x4520fff0, + 0x34420001, + 0x59480010, + 0x74410007, + 0x354a0004, + 0x4420ffe7, + 0x2b8b0008, + 0x2b8c0004, + 0x379c0008, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b8d0004, + 0x20a500ff, + 0x00a60001, + 0xb8406000, + 0x208400ff, + 0x20a50001, + 0x206200ff, + 0x3c840002, + 0x7ca80001, + 0x202d00ff, + 0x20c60001, + 0x340b0000, + 0x7807c210, + 0x7809c210, + 0x21830004, + 0x780ac210, + 0x5ccb0004, + 0x38e70008, + 0x58eb0000, + 0xe0000007, + 0x38e70008, + 0x34010002, + 0x58e10000, + 0x34050001, + 0x5d000002, + 0xb8a05800, + 0xbc431800, + 0x3401fff8, + 0x3ca20001, + 0xa1810800, + 0xb8220800, + 0x206200ff, + 0xb8242000, + 0x39290014, + 0x3c420008, + 0x59240000, + 0x394a0018, + 0xb9a22000, + 0xb9600800, + 0x59440000, + 0x2b8b000c, + 0x2b8c0008, + 0x2b8d0004, + 0x379c000c, + 0xc3a00000, + 0x379cffe4, + 0x5b8b001c, + 0x5b8c0018, + 0x5b8d0014, + 0x5b8e0010, + 0x5b8f000c, + 0x5b900008, + 0x5b9d0004, + 0x7803c210, + 0x7810c210, + 0x3863001c, + 0xba002000, + 0x58610000, + 0x38840008, + 0x28810000, + 0x780f0003, + 0xb9e01800, + 0x38210001, + 0x58810000, + 0x3863f334, + 0x28630000, + 0x78017f00, + 0x38210000, + 0xa0611800, + 0x006d0018, + 0x204e00ff, + 0x65ab0000, + 0x340c0000, + 0xe58d1800, + 0x3d840010, + 0x65620000, + 0x7801007f, + 0x38210000, + 0xa0431000, + 0xa0812000, + 0xb9e03800, + 0xba003000, + 0x7805ff80, + 0x64420000, + 0x7d610000, + 0x38e7f334, + 0x38c60008, + 0x38a5ffff, + 0x358c0001, + 0x5c200005, + 0x28e10000, + 0xa0250800, + 0xb8240800, + 0x58e10000, + 0x28c10000, + 0x20210010, + 0x5c200011, + 0x28c10000, + 0x3402fffe, + 0xa0220800, + 0x58c10000, + 0x5dc00005, + 0x28c10000, + 0x3402fffd, + 0xa0220800, + 0x58c10000, + 0x78010003, + 0x3821f320, + 0x28220000, + 0x3403ffef, + 0xa0431000, + 0x58220000, + 0xe0000006, + 0x5c40ffd8, + 0x340b0001, + 0xb9600800, + 0xfbfffe4b, + 0x5c20ffd4, + 0x2b8b001c, + 0x2b8c0018, + 0x2b8d0014, + 0x2b8e0010, + 0x2b8f000c, + 0x2b900008, + 0x2b9d0004, + 0x379c001c, + 0xc3a00000, + 0x379cffe0, + 0x5b8b0020, + 0x5b8c001c, + 0x5b8d0018, + 0x5b8e0014, + 0x5b8f0010, + 0x5b90000c, + 0x5b910008, + 0x5b9d0004, + 0x78060003, + 0x38c68de0, + 0x40c4000c, + 0xb8202800, + 0xb8404000, + 0x206f00ff, + 0xb8800800, + 0x44800062, + 0xb5e60800, + 0x4027001c, + 0x5ce0000e, + 0x3de10002, + 0x20a2ffff, + 0xb4261800, + 0x28610040, + 0x44410002, + 0x34070001, + 0x28620038, + 0x3401f000, + 0xa1010800, + 0x44220003, + 0x38e70001, + 0xe0000002, + 0x20e700ff, + 0x3401f000, + 0xa1010800, + 0x78110003, + 0xba204000, + 0x20a5ffff, + 0x39088de0, + 0x3df00002, + 0x00260018, + 0x3ca30008, + 0x29040030, + 0xb6081000, + 0x58410038, + 0xb8c33000, + 0x58450040, + 0x54860005, + 0x29010034, + 0x54c10003, + 0x34010000, + 0xe000003f, + 0x44e00038, + 0xba206000, + 0x398c8de0, + 0xb60c0800, + 0x282b0038, + 0x282d0040, + 0x29820020, + 0x016b000c, + 0x3de10003, + 0x3d6b000c, + 0x202e00ff, + 0x34010000, + 0xb44e1000, + 0x3403000f, + 0xb8202000, + 0xb8202800, + 0xfbffff3a, + 0x396b0067, + 0xb9600800, + 0x34020000, + 0xfbffff66, + 0x29820020, + 0x35c10004, + 0x202e00ff, + 0x34010000, + 0xb44e1000, + 0x3403000f, + 0xb8202000, + 0xb8202800, + 0xfbffff2d, + 0x21ad00ff, + 0xb9a00800, + 0x34020000, + 0xfbffff59, + 0x78018008, + 0x38210000, + 0x34020001, + 0x5822147c, + 0x58221478, + 0xb8201000, + 0x2841147c, + 0x20210001, + 0x64210000, + 0x5c20fffd, + 0x3a318de0, + 0xb6111000, + 0x28410038, + 0x28430040, + 0x780500e0, + 0x38a50000, + 0x00220010, + 0x2063ffff, + 0x2021ffff, + 0xb82f0800, + 0x34040003, + 0xfbfffdbb, + 0x78010003, + 0x38218de0, + 0xb5e10800, + 0x34020000, + 0x3022001c, + 0x34010001, + 0x2b8b0020, + 0x2b8c001c, + 0x2b8d0018, + 0x2b8e0014, + 0x2b8f0010, + 0x2b90000c, + 0x2b910008, + 0x2b9d0004, + 0x379c0020, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x206300ff, + 0x7c650000, + 0xb8403000, + 0x202700ff, + 0x34040002, + 0x5087000e, + 0x5ca00006, + 0x78010003, + 0x3821f320, + 0x28210000, + 0x20210080, + 0x44200028, + 0x00c20010, + 0x78050080, + 0x38a50000, + 0x20c1ffff, + 0x34030000, + 0xfbfffd95, + 0xe0000021, + 0x44a00020, + 0x34040000, + 0xb8802800, + 0x34a10001, + 0x202500ff, + 0x3c620001, + 0x20610008, + 0x74a80003, + 0x3c840008, + 0x204300ff, + 0x44200002, + 0x388400ff, + 0x4500fff7, + 0x3cec0002, + 0x78010003, + 0x3821f324, + 0xb5816000, + 0x298b0000, + 0xa4800800, + 0xa0c43000, + 0xa1615800, + 0x3ce10014, + 0x78050020, + 0xb9665800, + 0x38a50000, + 0xb4252800, + 0x01620010, + 0x2161ffff, + 0x34030000, + 0x34040002, + 0xfbfffd75, + 0x598b0000, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x202b00ff, + 0x3d610014, + 0x780500a0, + 0x204cffff, + 0x38a50000, + 0x34020000, + 0xb4252800, + 0xb9800800, + 0xb8401800, + 0x34040001, + 0xfbfffd60, + 0x3d6b0002, + 0x78010003, + 0x3821f330, + 0xb5615800, + 0x29620000, + 0x7801ffff, + 0x38210000, + 0xa0411000, + 0xb84c1000, + 0x59620000, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x34230003, + 0x34040000, + 0x3406fffc, + 0x34050003, + 0xa0660800, + 0x28220000, + 0x3c840008, + 0x34a5ffff, + 0x20610003, + 0x3c210003, + 0x3463ffff, + 0x80411000, + 0x204200ff, + 0xb8822000, + 0x4ca0fff6, + 0xb8800800, + 0xc3a00000, + 0xb8403000, + 0x206500ff, + 0xb8202000, + 0x340afffc, + 0x340900ff, + 0x34070003, + 0x20810003, + 0x3c210003, + 0x20c200ff, + 0xbd211800, + 0xbc411000, + 0xa08a4000, + 0x20a10001, + 0x00c60008, + 0x00a50001, + 0x64210000, + 0xa4601800, + 0x34840001, + 0x34e7ffff, + 0x5c200005, + 0x29010000, + 0xa0230800, + 0xb8220800, + 0x59010000, + 0x4ce0ffee, + 0xc3a00000, + 0x7803c210, + 0x38630008, + 0x28620000, + 0x202100ff, + 0x38420001, + 0x58620000, + 0x5c200005, + 0x28610000, + 0x3402fffd, + 0xa0220800, + 0x58610000, + 0xc3a00000, + 0x202100ff, + 0x3c210004, + 0x78020003, + 0x3842f00c, + 0xb8220800, + 0x28230000, + 0x78020100, + 0x78040400, + 0x78010200, + 0x38210000, + 0xa0610800, + 0x38420000, + 0x38840000, + 0xa0621000, + 0x00210019, + 0xa0641800, + 0x0063001a, + 0x00420018, + 0x64260001, + 0x64420001, + 0x7c610001, + 0x78040003, + 0x34050000, + 0x5c250004, + 0x38848de0, + 0x30830018, + 0xe0000003, + 0x38848de0, + 0x30850018, + 0xa0c20800, + 0x34030000, + 0xe4230800, + 0x34020001, + 0x78040003, + 0x5c230004, + 0x38848de0, + 0x30830017, + 0xc3a00000, + 0x38848de0, + 0x30820017, + 0xc3a00000, + 0x379cff8c, + 0x5b8b003c, + 0x5b8c0038, + 0x5b8d0034, + 0x5b8e0030, + 0x5b8f002c, + 0x5b900028, + 0x5b910024, + 0x5b920020, + 0x5b93001c, + 0x5b940018, + 0x5b950014, + 0x5b960010, + 0x5b97000c, + 0x5b9b0008, + 0x5b9d0004, + 0x78100003, + 0xba000800, + 0x38218de0, + 0x40210001, + 0x5b81004c, + 0x2b82004c, + 0x78010003, + 0x3821f004, + 0x3c5b0004, + 0xbb610800, + 0x28230000, + 0x78020003, + 0x5b820040, + 0xb8400800, + 0x3821f008, + 0xbb610800, + 0x28350000, + 0x78020003, + 0x3842f00c, + 0x78010100, + 0xbb621000, + 0x38210000, + 0x284b0000, + 0xa2a10800, + 0x00210018, + 0x22a200ff, + 0x7c210001, + 0x5b820070, + 0x5b830074, + 0x5c200014, + 0x20630003, + 0x34010002, + 0xf0230800, + 0x78020003, + 0xc8010800, + 0xa0611800, + 0x3c630002, + 0x3842f324, + 0xb4621000, + 0x28410000, + 0x22a22000, + 0x5b810074, + 0x44400007, + 0x78010003, + 0x3821f330, + 0xb4610800, + 0x28210000, + 0x2021ffff, + 0x5b810070, + 0x78010400, + 0x38210000, + 0xa1610800, + 0x0021001a, + 0x7c210001, + 0x5c200010, + 0x78010003, + 0x3821f30c, + 0x28220000, + 0x37830058, + 0x78010fff, + 0x3821ffff, + 0xa0411000, + 0x3c420002, + 0x34010000, + 0x5b82006c, + 0x5b810068, + 0x37810070, + 0x37820068, + 0xfbfffd54, + 0xe0000005, + 0x2b810074, + 0x2b820070, + 0x5b81005c, + 0x5b820058, + 0x78010200, + 0x38210000, + 0xa1610800, + 0x00210019, + 0x78020003, + 0x64370001, + 0x38420000, + 0xa1621000, + 0x22a10f00, + 0x00330008, + 0x7806000c, + 0x00420010, + 0xba003800, + 0x38c60000, + 0xa1663000, + 0x38e78de0, + 0x204200ff, + 0x34010000, + 0x78030800, + 0x78050030, + 0x00cd0010, + 0x5b820048, + 0x38630000, + 0x40e80019, + 0x780400c0, + 0x38a50000, + 0x5b810060, + 0xa1631800, + 0xa1652800, + 0x2b810048, + 0x38840000, + 0xa1642000, + 0x0063001b, + 0x40e60002, + 0x00a50014, + 0x00840016, + 0x65120000, + 0x66f40000, + 0x21a200fc, + 0xb8416800, + 0x20a500ff, + 0x64760001, + 0x5b860064, + 0x208b00ff, + 0x5b850044, + 0xba608800, + 0xba540800, + 0x5c200003, + 0x7ec10000, + 0x4420000d, + 0x78030003, + 0x3863f30c, + 0x28620000, + 0x78011fff, + 0x3821ffff, + 0xa0411000, + 0x58620000, + 0x2b82005c, + 0x2b810058, + 0x5b820054, + 0x5b810050, + 0xe000002d, + 0x75a1000c, + 0x5c200027, + 0x78010003, + 0x3da20002, + 0x38218640, + 0xb4411000, + 0x28410000, + 0x78030003, + 0x78041fff, + 0xc0200000, + 0x2b810064, + 0x3863f30c, + 0x7802c000, + 0x3c210002, + 0x3884ffff, + 0x5b810064, + 0x28610000, + 0x38420000, + 0xe0000009, + 0x2b810064, + 0x3863f30c, + 0x78026000, + 0x3c210005, + 0x3884ffff, + 0x5b810064, + 0x28610000, + 0x38420000, + 0xa0240800, + 0xb8220800, + 0x58610000, + 0xe000000a, + 0xb8600800, + 0x3821f30c, + 0x28220000, + 0x3884ffff, + 0x34030000, + 0xa0441000, + 0x58220000, + 0x5b830060, + 0x5b830064, + 0x37810058, + 0x37820060, + 0x37830050, + 0xfbfffce5, + 0x65610003, + 0x7eee0000, + 0x2b820054, + 0xa02e0800, + 0x64210000, + 0x204c001f, + 0x5c200003, + 0x340b0000, + 0xe0000008, + 0x7d610003, + 0x5c200006, + 0x2b81004c, + 0xb9801000, + 0xfbfffcb7, + 0xb8207800, + 0xe0000006, + 0x3d620002, + 0x78010003, + 0x3821f324, + 0xb4411000, + 0x284f0000, + 0x22a11000, + 0x7c350000, + 0x75a1000c, + 0x5c200101, + 0x3da10002, + 0x78020003, + 0x38428674, + 0xb4220800, + 0x28210000, + 0xc0200000, + 0x2b810054, + 0x3402fffc, + 0x7803c200, + 0xa0220800, + 0x38630000, + 0xb8230800, + 0xb9e01000, + 0xfbffe609, + 0xe0000018, + 0x2b810054, + 0x78028008, + 0x38420000, + 0x00210002, + 0x78040003, + 0x3c210002, + 0x78030003, + 0xb4220800, + 0x582f0000, + 0x3a108de0, + 0x34010001, + 0x38845250, + 0x38638e28, + 0x3201000f, + 0xe0000087, + 0x78020003, + 0x3842f340, + 0x2b810054, + 0xba601800, + 0x202101ff, + 0xb4220800, + 0xb9e01000, + 0xfbfffeaf, + 0x78030003, + 0x78020003, + 0x38635250, + 0xe0000010, + 0x78020003, + 0x3842f540, + 0xe3fffff4, + 0x2b820054, + 0x2b850048, + 0x2b810050, + 0xba601800, + 0x34040000, + 0xfbfffd39, + 0xb8201000, + 0xb9e00800, + 0xfbfffd66, + 0x78030003, + 0x78020003, + 0x38634fc8, + 0x3a108de0, + 0x38428e28, + 0x34010001, + 0x3201000f, + 0x58430000, + 0xe00000c2, + 0x66c10000, + 0xa1c10800, + 0x64210000, + 0x5c200016, + 0x5e400015, + 0xba406800, + 0xba401000, + 0x34410001, + 0xb9b16800, + 0x202200ff, + 0x3e310004, + 0x74410007, + 0x4420fffb, + 0x2b830054, + 0x2b8c0064, + 0x780b8002, + 0x2063001f, + 0x396b8058, + 0x340e0040, + 0xb5831800, + 0xb9600800, + 0xb9c01000, + 0xfbfffc9e, + 0xb8207800, + 0xe000002d, + 0x65610003, + 0xa2810800, + 0x64210000, + 0x5c20001b, + 0x2b820040, + 0x340e0008, + 0x3842f008, + 0xbb620800, + 0x28210000, + 0x780200ff, + 0x38420000, + 0xa0220800, + 0x00210010, + 0xba601000, + 0x202100ff, + 0xfbfffc7c, + 0xb8206800, + 0x2b81004c, + 0xb9801800, + 0x340c0000, + 0x34220001, + 0x3c420004, + 0x78010003, + 0x3821f000, + 0xb8415800, + 0xb9600800, + 0xb9c01000, + 0xfbfffc80, + 0xb8207800, + 0xe000000f, + 0xbe6c6800, + 0x3401001c, + 0x502c0004, + 0xc80c0800, + 0x82610800, + 0xb9a16800, + 0x21820003, + 0x3d630002, + 0x78010003, + 0x3821f324, + 0xc8021000, + 0xb4615800, + 0x204c0003, + 0x340e0001, + 0x2b810050, + 0x2b820054, + 0x34030001, + 0xfbfffd66, + 0x4420000b, + 0xba000800, + 0x38218de0, + 0x28220028, + 0x2821002c, + 0x5b810050, + 0x2b810054, + 0x20210fff, + 0xb4411000, + 0x34421000, + 0x5b820054, + 0x2b810050, + 0x2b820054, + 0xbaa02000, + 0xb9a01800, + 0xfbfffc77, + 0xb9600800, + 0xb9c01000, + 0xb9801800, + 0xfbfffca7, + 0x78020003, + 0x78040003, + 0x78030003, + 0x38428de0, + 0x34010001, + 0x38845314, + 0x38638e28, + 0x3041000f, + 0x58640000, + 0xe000005b, + 0x78010003, + 0x3821f000, + 0xbb610800, + 0x28220000, + 0x34060000, + 0x7801001f, + 0x3821ffff, + 0xa0413800, + 0x5e86001a, + 0x2b850054, + 0xe6c60800, + 0x78038008, + 0x78020003, + 0x78040003, + 0x5c260008, + 0x38630000, + 0x38420198, + 0x3401fffc, + 0xb4621000, + 0xa0a10800, + 0x58410000, + 0xe0000005, + 0x38630000, + 0x38420198, + 0xb4620800, + 0x58250000, + 0x2b810050, + 0x78028008, + 0x38420000, + 0x3884019c, + 0xb4441000, + 0x2021ffff, + 0x58410000, + 0xe000001b, + 0x78038008, + 0x78020003, + 0x38630000, + 0x38420190, + 0x78010003, + 0xb4621000, + 0x38210194, + 0x584f0000, + 0xb4610800, + 0x58370000, + 0x2b810054, + 0x78020003, + 0x3404fffc, + 0x38420198, + 0xa0240800, + 0xb4621000, + 0x58410000, + 0x78010003, + 0x3821019c, + 0xb4611800, + 0x2b810050, + 0x78064000, + 0xa0e43800, + 0x2021ffff, + 0x58610000, + 0x38c60000, + 0x3ea10018, + 0x78058008, + 0x78020003, + 0x38a50000, + 0x3842018c, + 0xb8c13000, + 0xb4a21000, + 0xa1d61800, + 0x58460000, + 0x64630000, + 0x78060003, + 0x78020003, + 0x78040003, + 0x5c600008, + 0x78012000, + 0x384203a0, + 0x38210000, + 0xb4a21000, + 0xb8e10800, + 0x58410000, + 0xe0000004, + 0x384203a0, + 0xb4a20800, + 0x58270000, + 0x38845530, + 0x3a108de0, + 0x38c68e28, + 0x34010001, + 0x3201000f, + 0x58c40000, + 0x2b810044, + 0xb9e01000, + 0xba601800, + 0xfbfffd66, + 0x2b81004c, + 0xfbfffdf5, + 0x78010003, + 0x38218eac, + 0xfbfff87f, + 0x2b8b003c, + 0x2b8c0038, + 0x2b8d0034, + 0x2b8e0030, + 0x2b8f002c, + 0x2b900028, + 0x2b910024, + 0x2b920020, + 0x2b93001c, + 0x2b940018, + 0x2b950014, + 0x2b960010, + 0x2b97000c, + 0x2b9b0008, + 0x2b9d0004, + 0x379c0074, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x00240008, + 0xb8206000, + 0x78060003, + 0x780100ff, + 0x38c68ddc, + 0x3821ffff, + 0x28c50000, + 0x3c840018, + 0xa0e13800, + 0x7801ffff, + 0xb8e43800, + 0x38210000, + 0xa0e13800, + 0x34a50001, + 0x20a5ffff, + 0x780100ff, + 0xb8e53800, + 0x38210000, + 0xb8e13800, + 0x780b8002, + 0x58c50000, + 0x396b8000, + 0x340100ff, + 0x59610050, + 0x00420008, + 0x3d8c0018, + 0x59670044, + 0x206300ff, + 0x34010000, + 0xb9826000, + 0xb8603800, + 0xb8201000, + 0xb8201800, + 0x34040037, + 0xb8202800, + 0xb8203000, + 0xfbfffa2b, + 0x596c004c, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cffc4, + 0x5b8b0024, + 0x5b8c0020, + 0x5b8d001c, + 0x5b8e0018, + 0x5b8f0014, + 0x5b900010, + 0x5b91000c, + 0x5b920008, + 0x5b9d0004, + 0x78110003, + 0xba200800, + 0x38218de0, + 0x40320001, + 0x78020003, + 0x3842f008, + 0x3e430004, + 0x78010003, + 0x3821f004, + 0xb8610800, + 0x28240000, + 0xb8621000, + 0x284c0000, + 0x78010100, + 0x38210000, + 0x78020003, + 0x3842f00c, + 0xb8621800, + 0xa1810800, + 0x286b0000, + 0x00210018, + 0x218200ff, + 0x7c210001, + 0x5b820038, + 0x5b84003c, + 0x5c200014, + 0x20830003, + 0x34010002, + 0xf0230800, + 0x78020003, + 0xc8010800, + 0xa0611800, + 0x3c630002, + 0x3842f324, + 0xb4621000, + 0x28410000, + 0x21822000, + 0x5b81003c, + 0x44400007, + 0x78010003, + 0x3821f330, + 0xb4610800, + 0x28210000, + 0x2021ffff, + 0x5b810038, + 0x78010400, + 0x38210000, + 0xa1610800, + 0x0021001a, + 0x7c210001, + 0x5c200010, + 0x78010003, + 0x3821f304, + 0x28220000, + 0x37830028, + 0x78010fff, + 0x3821ffff, + 0xa0411000, + 0x3c420002, + 0x34010000, + 0x5b820034, + 0x5b810030, + 0x37810038, + 0x37820030, + 0xfbfffb38, + 0xe0000005, + 0x2b81003c, + 0x2b830038, + 0x5b81002c, + 0x5b830028, + 0x78020200, + 0x7803000c, + 0x38420000, + 0x38630000, + 0xa1621000, + 0x00420019, + 0xa1631800, + 0x00630012, + 0x78010003, + 0x644f0001, + 0x38210000, + 0x206300ff, + 0xa1610800, + 0x00210010, + 0x7c620002, + 0x78040030, + 0x38840000, + 0x202600ff, + 0xa1642000, + 0x3c630002, + 0x00840014, + 0x21851000, + 0xa1e21000, + 0x21810f00, + 0xb8661800, + 0x002e0008, + 0x7cb00000, + 0x64420000, + 0x206300ff, + 0x208d00ff, + 0x5c400004, + 0x3a318de0, + 0x34010000, + 0x32210019, + 0x7461000c, + 0x5c20007e, + 0x3c610002, + 0x78020003, + 0x384286a8, + 0xb4220800, + 0x28210000, + 0x780b0003, + 0x780c0003, + 0xc0200000, + 0x2b81002c, + 0x3402fffc, + 0x7803c200, + 0xa0220800, + 0x38630000, + 0xb8230800, + 0xfbffe465, + 0xe0000019, + 0x2b82002c, + 0x78048008, + 0x38840000, + 0x00420002, + 0xb9a00800, + 0x3c420002, + 0xb9c01800, + 0xb4441000, + 0x28420000, + 0x396b8de0, + 0x398c8e28, + 0xfbfffc91, + 0x78010003, + 0x382159c8, + 0x34020001, + 0x3162000f, + 0x59810000, + 0xe000005c, + 0x78020003, + 0x3842f340, + 0x2b81002c, + 0x202101ff, + 0xb4220800, + 0xfbfffcdf, + 0xb8201000, + 0xb9a00800, + 0xb9c01800, + 0xfbfffc81, + 0x78020003, + 0x384259c8, + 0xe000000d, + 0x78020003, + 0x3842f540, + 0xe3fffff3, + 0x2b82002c, + 0x2b810028, + 0xb9c01800, + 0xb8c02800, + 0x34040001, + 0xfbfffb77, + 0xfbfffcf9, + 0x78020003, + 0x38425074, + 0x396b8de0, + 0x398c8e28, + 0x34010001, + 0x3161000f, + 0x59820000, + 0xe000003d, + 0x2b82002c, + 0x2b810028, + 0x396b8de0, + 0x31620000, + 0x34030000, + 0xfbfffbea, + 0x44200008, + 0x2961002c, + 0x29620028, + 0x5b810028, + 0x2b81002c, + 0x20210fff, + 0xb4411000, + 0x5b82002c, + 0x2b810028, + 0x2b82002c, + 0xba001800, + 0xfbffff0b, + 0x78010003, + 0x78020003, + 0x382157e4, + 0x38428e28, + 0x34040001, + 0x65e30000, + 0x58410000, + 0x3164000f, + 0x5c600022, + 0x31640019, + 0xe0000020, + 0x65e10000, + 0x5c20000e, + 0x2b83002c, + 0x78028008, + 0x78010003, + 0x38420000, + 0x38210190, + 0xb4410800, + 0x58230000, + 0x78010003, + 0x38210194, + 0xb4411000, + 0x2b810028, + 0x2021ffff, + 0x58410000, + 0x78028008, + 0x78010003, + 0x3821018c, + 0x38420000, + 0x3e06000c, + 0xb4411000, + 0x78050003, + 0x78030003, + 0x78040003, + 0x58460000, + 0x38a55484, + 0x38638de0, + 0x38848e28, + 0x34010001, + 0x3061000f, + 0x58850000, + 0xba400800, + 0xfbfffcbf, + 0x78010003, + 0x38218eac, + 0xfbfff749, + 0x2b8b0024, + 0x2b8c0020, + 0x2b8d001c, + 0x2b8e0018, + 0x2b8f0014, + 0x2b900010, + 0x2b91000c, + 0x2b920008, + 0x2b9d0004, + 0x379c003c, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x284b0000, + 0xb8403800, + 0x202100ff, + 0x3c210004, + 0x78020003, + 0x3842f000, + 0xb8220800, + 0x282c0000, + 0x7804f000, + 0x38840000, + 0xa1840800, + 0x0021001c, + 0x28e30000, + 0x78060fff, + 0x34020001, + 0x38c6ffff, + 0xbc411000, + 0xa1665800, + 0xb5625800, + 0xa0641800, + 0xa1662000, + 0xb8641800, + 0x3d610002, + 0x0162000e, + 0x58e30000, + 0x780500d0, + 0xa1866000, + 0x2021fffc, + 0x2042ffff, + 0x38a50000, + 0x34030000, + 0x34040002, + 0xfbfff9a5, + 0xf16c0800, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x780b0003, + 0x396b8de0, + 0x41630018, + 0x78020003, + 0x3842f304, + 0x202100ff, + 0x4460000a, + 0xfbffffcb, + 0x78020003, + 0x3842f320, + 0x34030000, + 0x44230004, + 0x28410000, + 0x38210004, + 0x58410000, + 0x31630018, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x780b0003, + 0x396b8de0, + 0x41630018, + 0x78020003, + 0x3842f30c, + 0x202100ff, + 0x4460000a, + 0xfbffffb4, + 0x78020003, + 0x3842f320, + 0x34030000, + 0x44230004, + 0x28410000, + 0x38210008, + 0x58410000, + 0x31630018, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x780b0003, + 0x396b8de0, + 0x41630013, + 0x34010000, + 0x34020002, + 0x44610004, + 0xfbfff940, + 0x34010000, + 0x31610013, + 0x41630014, + 0x34010000, + 0x34020002, + 0x44610004, + 0xfbfff950, + 0x34010000, + 0x31610014, + 0x41610017, + 0x78050003, + 0x78040003, + 0x38a56938, + 0x34060001, + 0x388440b4, + 0x78020003, + 0x44200005, + 0x38428e28, + 0x3166000f, + 0x58450000, + 0xe0000004, + 0x38428e28, + 0x3166000f, + 0x58440000, + 0x78010003, + 0x38218eac, + 0xfbfff6c0, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x78020003, + 0x3842f30c, + 0x28430000, + 0x78040003, + 0x38848de0, + 0x7802e000, + 0x38420000, + 0xa0621800, + 0x0063001d, + 0x40820002, + 0x34060001, + 0xbcc31800, + 0xb4461000, + 0x34050000, + 0x204200ff, + 0x202100ff, + 0x206300ff, + 0x54620005, + 0x30850002, + 0x30860017, + 0xfbffffaa, + 0xe0000002, + 0x30820002, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x780b0003, + 0x396b8de0, + 0x41610001, + 0xfbffffde, + 0x41630013, + 0x34010000, + 0x34020002, + 0x44610004, + 0xfbfff8f9, + 0x34010000, + 0x31610013, + 0x41630014, + 0x34010000, + 0x34020002, + 0x44610004, + 0xfbfff909, + 0x34010000, + 0x31610014, + 0x41610017, + 0x78050003, + 0x78040003, + 0x38a56938, + 0x34060001, + 0x388440b4, + 0x78020003, + 0x44200005, + 0x38428e28, + 0x3166000f, + 0x58450000, + 0xe0000004, + 0x38428e28, + 0x3166000f, + 0x58440000, + 0x78010003, + 0x38218eac, + 0xfbfff679, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cffe4, + 0x5b8b001c, + 0x5b8c0018, + 0x5b8d0014, + 0x5b8e0010, + 0x5b8f000c, + 0x5b900008, + 0x5b9d0004, + 0x780f0003, + 0xb9e00800, + 0x3821f334, + 0x28220000, + 0x78100003, + 0x340c0000, + 0x78017f00, + 0x38210000, + 0xa0411000, + 0xba000800, + 0x38218de0, + 0x004d0018, + 0x402e0001, + 0x65ab0000, + 0xb9c00800, + 0xfbffff4b, + 0xe58d1800, + 0x3d840010, + 0x65620000, + 0x7801007f, + 0x38210000, + 0xa0431000, + 0xa0812000, + 0x7806c210, + 0xb9e03800, + 0x7805ff80, + 0x64420000, + 0x7d610000, + 0x38e7f334, + 0x38c60008, + 0x38a5ffff, + 0x358c0001, + 0x5c200005, + 0x28e10000, + 0xa0250800, + 0xb8240800, + 0x58e10000, + 0x28c10000, + 0x20210008, + 0x4420003a, + 0x3dc30004, + 0x78010003, + 0x3821f00c, + 0xb8610800, + 0x28210000, + 0x78020003, + 0x3842f008, + 0xb8621800, + 0x28630000, + 0x78020030, + 0x38420000, + 0x7804c210, + 0xa0220800, + 0x3884000c, + 0x28820000, + 0x00210014, + 0x20630f00, + 0x00630008, + 0x202100ff, + 0xfbfffb13, + 0x78030003, + 0x3863f320, + 0x28610000, + 0x3402ffef, + 0xba005800, + 0xa0220800, + 0x396b8de0, + 0x58610000, + 0x41610013, + 0x44200006, + 0x34010000, + 0x34020002, + 0xfbfff889, + 0x34010000, + 0x31610013, + 0x41610014, + 0x44200006, + 0x34010000, + 0x34020002, + 0xfbfff899, + 0x34010000, + 0x31610014, + 0x41610017, + 0x78020003, + 0x78030003, + 0x38426938, + 0x5c200003, + 0x78020003, + 0x384240b4, + 0x34010001, + 0x3161000f, + 0x38638e28, + 0x78010003, + 0x58620000, + 0x38218eac, + 0xfbfff60d, + 0xe0000006, + 0x5c40ffaf, + 0x340b0001, + 0xb9600800, + 0xfbfff8ae, + 0x5c20ffab, + 0x2b8b001c, + 0x2b8c0018, + 0x2b8d0014, + 0x2b8e0010, + 0x2b8f000c, + 0x2b900008, + 0x2b9d0004, + 0x379c001c, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x780b0003, + 0x396b8de0, + 0x41610001, + 0xfbffff3c, + 0x78040003, + 0x3884f320, + 0x28820000, + 0x3403ffef, + 0x34010000, + 0xa0431000, + 0x58820000, + 0x41630013, + 0x34020002, + 0x44610004, + 0xfbfff851, + 0x34010000, + 0x31610013, + 0x41630014, + 0x34010000, + 0x34020002, + 0x44610004, + 0xfbfff861, + 0x34010000, + 0x31610014, + 0x41610017, + 0x78050003, + 0x78040003, + 0x38a56938, + 0x34060001, + 0x388440b4, + 0x78020003, + 0x44200005, + 0x38428e28, + 0x3166000f, + 0x58450000, + 0xe0000004, + 0x38428e28, + 0x3166000f, + 0x58440000, + 0x78010003, + 0x38218eac, + 0xfbfff5d1, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cffec, + 0x5b8b0014, + 0x5b8c0010, + 0x5b8d000c, + 0x5b8e0008, + 0x5b9d0004, + 0x780e0003, + 0xb9c00800, + 0x3821f334, + 0x28220000, + 0x340c0000, + 0x78017f00, + 0x38210000, + 0xa0411000, + 0x004d0018, + 0xe5ac5800, + 0xe58d1800, + 0x3d840010, + 0x65620000, + 0x7801007f, + 0x38210000, + 0xa0431000, + 0xa0812000, + 0x78068002, + 0xb9c03800, + 0x7805ff80, + 0x64420000, + 0x7d610000, + 0x38c68000, + 0x38e7f334, + 0x38a5ffff, + 0x358c0001, + 0x5c200005, + 0x28e10000, + 0xa0250800, + 0xb8240800, + 0x58e10000, + 0x28c10030, + 0x20210001, + 0x64210000, + 0x5c200028, + 0x780b0003, + 0x396b8de0, + 0x41610001, + 0xfbfffee5, + 0x78020003, + 0x3842f320, + 0x28410000, + 0x3403ffef, + 0xa0230800, + 0x58410000, + 0x41610013, + 0x44200006, + 0x34010000, + 0x34020002, + 0xfbfff7fa, + 0x34010000, + 0x31610013, + 0x41610014, + 0x44200006, + 0x34010000, + 0x34020002, + 0xfbfff80a, + 0x34010000, + 0x31610014, + 0x41610017, + 0x78020003, + 0x78030003, + 0x38426938, + 0x5c200003, + 0x78020003, + 0x384240b4, + 0x34010001, + 0x3161000f, + 0x38638e28, + 0x78010003, + 0x58620000, + 0x38218eac, + 0xfbfff57e, + 0xe0000006, + 0x5c40ffc0, + 0x340b0001, + 0xb9600800, + 0xfbfff81f, + 0x5c20ffbc, + 0x2b8b0014, + 0x2b8c0010, + 0x2b8d000c, + 0x2b8e0008, + 0x2b9d0004, + 0x379c0014, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x780b0003, + 0x396b8de0, + 0x41610001, + 0xfbfffe58, + 0x41630013, + 0x34010000, + 0x34020002, + 0x44610004, + 0xfbfff7ca, + 0x34010000, + 0x31610013, + 0x41630014, + 0x34010000, + 0x34020002, + 0x44610004, + 0xfbfff7da, + 0x34010000, + 0x31610014, + 0x41610017, + 0x78050003, + 0x78040003, + 0x38a56938, + 0x34060001, + 0x388440b4, + 0x78020003, + 0x44200005, + 0x38428e28, + 0x3166000f, + 0x58450000, + 0xe0000004, + 0x38428e28, + 0x3166000f, + 0x58440000, + 0x78010003, + 0x38218eac, + 0xfbfff54a, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cffe0, + 0x5b8b0020, + 0x5b8c001c, + 0x5b8d0018, + 0x5b8e0014, + 0x5b8f0010, + 0x5b90000c, + 0x5b910008, + 0x5b9d0004, + 0x780e0003, + 0xb9c00800, + 0x38218de0, + 0x40210001, + 0x78100003, + 0x340d0000, + 0xfbfffe7b, + 0xba000800, + 0x3821f334, + 0x28220000, + 0xb9c08800, + 0x78017f00, + 0x38210000, + 0xa0411000, + 0x004f0018, + 0xe5ed6000, + 0x3da20010, + 0x7803007f, + 0x38630000, + 0xa0433000, + 0x78053ffe, + 0xba004000, + 0x781d0003, + 0x7804ff80, + 0x7803c001, + 0xb8a03800, + 0x7d820000, + 0x3908f334, + 0x3bbdf740, + 0x3884ffff, + 0x34010002, + 0x3863c001, + 0x38e73ffe, + 0x5c400005, + 0x29020000, + 0xa0441000, + 0xb8461000, + 0x59020000, + 0x2bab0000, + 0x5d630049, + 0x78048008, + 0x78090003, + 0x38840000, + 0x38a53ffe, + 0x3929018c, + 0x780a4000, + 0x78080003, + 0x5ba50000, + 0xb4894800, + 0x394a0000, + 0x39080190, + 0x78070003, + 0x592a0000, + 0xb4884000, + 0x38e70194, + 0x78060003, + 0x591d0000, + 0x340c0000, + 0xb4873800, + 0x38c60198, + 0x78030003, + 0x58ec0000, + 0xb4863000, + 0x34010230, + 0x3863019c, + 0x78020003, + 0x58c10000, + 0xb4831800, + 0x384203a0, + 0x78054800, + 0x586c0000, + 0xb4822000, + 0x38a50004, + 0x58850000, + 0x592a0000, + 0x590b0000, + 0x58ec0000, + 0x34010234, + 0x58c10000, + 0x586c0000, + 0x78030003, + 0x58850000, + 0x3863f320, + 0x28610000, + 0x3402ffef, + 0xba205800, + 0xa0220800, + 0x58610000, + 0x396b8de0, + 0x41610013, + 0x442c0005, + 0xb9800800, + 0x34020002, + 0xfbfff744, + 0x316c0013, + 0x41610014, + 0x44200005, + 0xb9800800, + 0x34020002, + 0xfbfff755, + 0x316c0014, + 0x41610017, + 0x78020003, + 0x78030003, + 0x38426938, + 0x5c200003, + 0x78020003, + 0x384240b4, + 0x34010001, + 0x38638e28, + 0x3161000f, + 0xe000001c, + 0x45670020, + 0xfbfff771, + 0xb8205800, + 0x5c20001d, + 0xb9c06000, + 0x398c8de0, + 0x41820013, + 0x44400004, + 0x34020002, + 0xfbfff728, + 0x318b0013, + 0x41810014, + 0x44200005, + 0xb9600800, + 0x34020002, + 0xfbfff739, + 0x318b0014, + 0x41810017, + 0x78020003, + 0x78030003, + 0x38426938, + 0x5c200003, + 0x78020003, + 0x384240b4, + 0x34010001, + 0x38638e28, + 0x3181000f, + 0x78010003, + 0x58620000, + 0x38218eac, + 0xfbfff4ae, + 0xe000000b, + 0xe5af1000, + 0x65810000, + 0x35ad0001, + 0xa0220800, + 0x64210000, + 0x5c20ff7b, + 0x340c0001, + 0xb9800800, + 0xfbfff74a, + 0x5c20ff77, + 0x2b8b0020, + 0x2b8c001c, + 0x2b8d0018, + 0x2b8e0014, + 0x2b8f0010, + 0x2b90000c, + 0x2b910008, + 0x2b9d0004, + 0x379c0020, + 0xc3a00000, + 0x379cffe8, + 0x5b8b0018, + 0x5b8c0014, + 0x5b8d0010, + 0x5b8e000c, + 0x5b8f0008, + 0x5b9d0004, + 0x780f0003, + 0xb9e00800, + 0x38218de0, + 0x40210001, + 0x780e0003, + 0x340c0000, + 0xfbfffd79, + 0xb9c00800, + 0x3821f334, + 0x28220000, + 0x78017f00, + 0x38210000, + 0xa0411000, + 0x004d0018, + 0xe5ac5800, + 0xe58d1800, + 0x3d840010, + 0x65620000, + 0x7801007f, + 0x38210000, + 0xa0431000, + 0xa0812000, + 0x78068002, + 0xb9c03800, + 0x7805ff80, + 0x64420000, + 0x7d610000, + 0x38c68000, + 0x38e7f334, + 0x38a5ffff, + 0x358c0001, + 0x5c200005, + 0x28e10000, + 0xa0250800, + 0xb8240800, + 0x58e10000, + 0x28c10050, + 0x202100ff, + 0x7c2100ff, + 0x5c20003e, + 0xb9e05800, + 0x396b8de0, + 0x41630000, + 0x78018002, + 0x34020040, + 0x38218058, + 0xfbfff7cf, + 0x41640001, + 0xb8201000, + 0x78010003, + 0x3c840004, + 0x3821f00c, + 0xb8810800, + 0x28210000, + 0x78030003, + 0x3863f008, + 0xb8832000, + 0x28830000, + 0x78040030, + 0x38840000, + 0xa0240800, + 0x00210014, + 0x20630f00, + 0x00630008, + 0x202100ff, + 0xfbfff932, + 0x78020003, + 0x3842f320, + 0x28410000, + 0x3403ffef, + 0xa0230800, + 0x58410000, + 0x41610013, + 0x44200006, + 0x34010000, + 0x34020002, + 0xfbfff6aa, + 0x34010000, + 0x31610013, + 0x41610014, + 0x44200006, + 0x34010000, + 0x34020002, + 0xfbfff6ba, + 0x34010000, + 0x31610014, + 0x41610017, + 0x78020003, + 0x78030003, + 0x38426938, + 0x5c200003, + 0x78020003, + 0x384240b4, + 0x34010001, + 0x3161000f, + 0x38638e28, + 0x78010003, + 0x58620000, + 0x38218eac, + 0xfbfff42e, + 0xe0000006, + 0x5c40ffaa, + 0x340b0001, + 0xb9600800, + 0xfbfff6cf, + 0x5c20ffa6, + 0x2b8b0018, + 0x2b8c0014, + 0x2b8d0010, + 0x2b8e000c, + 0x2b8f0008, + 0x2b9d0004, + 0x379c0018, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x780b0003, + 0x396b8de0, + 0x41610001, + 0xfbfffd07, + 0x78040003, + 0x3884f320, + 0x28820000, + 0x3403ffef, + 0x34010000, + 0xa0431000, + 0x58820000, + 0x41630013, + 0x34020002, + 0x44610004, + 0xfbfff673, + 0x34010000, + 0x31610013, + 0x41630014, + 0x34010000, + 0x34020002, + 0x44610004, + 0xfbfff683, + 0x34010000, + 0x31610014, + 0x41610017, + 0x78050003, + 0x78040003, + 0x38a56938, + 0x34060001, + 0x388440b4, + 0x78020003, + 0x44200005, + 0x38428e28, + 0x3166000f, + 0x58450000, + 0xe0000004, + 0x38428e28, + 0x3166000f, + 0x58440000, + 0x78010003, + 0x38218eac, + 0xfbfff3f3, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x202400ff, + 0x34070000, + 0x7481000f, + 0xb8403000, + 0xb8602800, + 0xb8e04000, + 0xb8e05000, + 0x5c270055, + 0x3c810002, + 0x78020003, + 0x384286dc, + 0xb4220800, + 0x28210000, + 0xc0200000, + 0xb8c03800, + 0xe000005b, + 0xa0c33800, + 0xe000004a, + 0xa0c30800, + 0xe0000006, + 0xb8c33800, + 0xe0000046, + 0x98c33800, + 0xe0000044, + 0xb8c30800, + 0xa4203800, + 0xe0000040, + 0x206500ff, + 0x34a2ffff, + 0xbcc21000, + 0x78018000, + 0x38210000, + 0xa0411000, + 0x0042001f, + 0xbcc53800, + 0x204800ff, + 0xe0000037, + 0x206500ff, + 0x34a1ffff, + 0x80c10800, + 0x80c53800, + 0x20280001, + 0xe0000031, + 0x206500ff, + 0xc8051000, + 0x80c21000, + 0xbcc53800, + 0xe0000005, + 0x206500ff, + 0xc8051000, + 0xbcc21000, + 0x80c53800, + 0x78018000, + 0xb8e23800, + 0x38210000, + 0xa0e10800, + 0x0021001f, + 0x202800ff, + 0xe0000021, + 0x0063001c, + 0x00c2001c, + 0x78010fff, + 0xb4431000, + 0x3821ffff, + 0xa0a11800, + 0x7c44000f, + 0x7449000f, + 0xa0c10800, + 0xb4230800, + 0xb4c53800, + 0x34020000, + 0x5c820005, + 0x0023001c, + 0x7c610001, + 0x5c220002, + 0xb8601000, + 0xb9220800, + 0x4420000e, + 0xe000000c, + 0x8cc30800, + 0x34020001, + 0xc4c33800, + 0x50410009, + 0xb8404000, + 0xe0000007, + 0xc8c33800, + 0x50c30005, + 0xe0000003, + 0xc8663800, + 0x50660002, + 0x34080001, + 0x5ce00002, + 0x340a0001, + 0x78030003, + 0x3863f320, + 0x28610000, + 0x3402fffe, + 0x3d040001, + 0xa0220800, + 0xb82a0800, + 0x58610000, + 0x28610000, + 0x3402fffd, + 0xa0220800, + 0xb8240800, + 0x58610000, + 0xb8e00800, + 0xc3a00000, + 0x379cffe0, + 0x5b8b0020, + 0x5b8c001c, + 0x5b8d0018, + 0x5b8e0014, + 0x5b8f0010, + 0x5b90000c, + 0x5b910008, + 0x5b9d0004, + 0x780e0003, + 0xb9c00800, + 0x38218de0, + 0x40240001, + 0x78030003, + 0x3863f000, + 0x3c840004, + 0x78010003, + 0x3821f00c, + 0xb8810800, + 0x28290000, + 0xb8831800, + 0x78020003, + 0x28250000, + 0x38420000, + 0x0126000d, + 0x286a0000, + 0x78010003, + 0x3821f004, + 0xb8810800, + 0x282c0000, + 0xa0a22800, + 0x00a50010, + 0x78010003, + 0x3821f008, + 0xb8812000, + 0x288b0000, + 0x0122000c, + 0x20a500ff, + 0x00a80001, + 0x20420001, + 0x01210004, + 0x01230008, + 0x0124000f, + 0x0127000e, + 0x7c420001, + 0x202f000f, + 0x2070000f, + 0x21080001, + 0x20840001, + 0x20c60001, + 0x20e70001, + 0x213d000f, + 0x20b10001, + 0x5c400012, + 0x214a0003, + 0x7d410003, + 0x7c820001, + 0xc8010800, + 0xa1415000, + 0x3d430002, + 0x5c400007, + 0x78010003, + 0x3821f330, + 0xb4610800, + 0x28210000, + 0x202affff, + 0xe0000005, + 0x78010003, + 0x3821f324, + 0xb4610800, + 0x282a0000, + 0x7cc10001, + 0x5c200012, + 0x218c0003, + 0x7d810003, + 0x7c820001, + 0xc8010800, + 0xa1816000, + 0x3d830002, + 0x5c400007, + 0x78010003, + 0x3821f330, + 0xb4610800, + 0x28210000, + 0x202cffff, + 0xe0000005, + 0x78010003, + 0x3821f324, + 0xb4610800, + 0x282c0000, + 0x7ce10001, + 0x5c200012, + 0x216b0003, + 0x7d610003, + 0x7c820001, + 0xc8010800, + 0xa1615800, + 0x3d630002, + 0x5c400007, + 0x78010003, + 0x3821f330, + 0xb4610800, + 0x28210000, + 0x202bffff, + 0xe0000005, + 0x78010003, + 0x3821f324, + 0xb4610800, + 0x282b0000, + 0x780100c0, + 0x38210000, + 0xa1210800, + 0x78020030, + 0x00210016, + 0x38420000, + 0xa1221000, + 0x202300ff, + 0x00420014, + 0x7c610003, + 0x204d00ff, + 0x5c200006, + 0x78010003, + 0x3821f320, + 0x28210000, + 0x202200ff, + 0xe000000e, + 0x65010000, + 0x3c620002, + 0x5c200007, + 0x78010003, + 0x3821f330, + 0xb4410800, + 0x28210000, + 0x2022ffff, + 0xe0000005, + 0x78010003, + 0x3821f324, + 0xb4410800, + 0x28220000, + 0xb9401800, + 0xbba00800, + 0xfbffff07, + 0xb8201000, + 0xb9801800, + 0xb9e00800, + 0xfbffff03, + 0xb8201000, + 0xba000800, + 0xb9601800, + 0xfbfffeff, + 0xb8201000, + 0x7da10003, + 0x5c20000a, + 0x78030003, + 0x3863f320, + 0x28610000, + 0x204400ff, + 0x3402ff00, + 0xa0220800, + 0xb8240800, + 0x58610000, + 0xe0000009, + 0x66210000, + 0x5c200004, + 0xb9a00800, + 0xfbfff7fb, + 0xe0000004, + 0xb9a00800, + 0x3403000f, + 0xfbfff7bb, + 0x78020003, + 0x78030003, + 0x38426938, + 0x38638e28, + 0x34040001, + 0x39ce8de0, + 0x78010003, + 0x31c4000f, + 0x58620000, + 0x38218eac, + 0xfbfff2ce, + 0x2b8b0020, + 0x2b8c001c, + 0x2b8d0018, + 0x2b8e0014, + 0x2b8f0010, + 0x2b90000c, + 0x2b910008, + 0x2b9d0004, + 0x379c0020, + 0xc3a00000, + 0x379cffd4, + 0x5b8b002c, + 0x5b8c0028, + 0x5b8d0024, + 0x5b8e0020, + 0x5b8f001c, + 0x5b900018, + 0x5b910014, + 0x5b920010, + 0x5b93000c, + 0x5b940008, + 0x5b9d0004, + 0x78110003, + 0xba208000, + 0x3a108de0, + 0x42130001, + 0x78010003, + 0x3821f008, + 0x3e6f0004, + 0x78140003, + 0xb9e10800, + 0x28230000, + 0xba806800, + 0x39adf320, + 0x29a10000, + 0x006c0010, + 0x34020000, + 0x78050070, + 0x202b00ff, + 0x2072ffff, + 0xb9600800, + 0x38a50000, + 0xb8401800, + 0x34040001, + 0xfbfff52d, + 0x218effff, + 0x21810300, + 0x4420000e, + 0x7801c201, + 0x34020065, + 0x3821c530, + 0xfbffdf29, + 0x7801c201, + 0x3821c534, + 0xfbffdf40, + 0x00220008, + 0x00210004, + 0x20420100, + 0xb9625800, + 0x20210200, + 0xb9615800, + 0x21810c00, + 0x44200011, + 0x78038008, + 0x38630000, + 0x28610194, + 0x3402ffc0, + 0xa0220800, + 0x38210001, + 0x58610194, + 0x34010124, + 0x58610190, + 0x28620198, + 0x00410006, + 0x00420002, + 0x20210400, + 0xb9615800, + 0x20420800, + 0xb9625800, + 0xa24e1000, + 0xa16e0800, + 0x4422000a, + 0x78020003, + 0x78030003, + 0x38426938, + 0x38638e28, + 0x34040001, + 0x78010003, + 0x3204000f, + 0x58620000, + 0xe0000058, + 0x78010003, + 0x3821f004, + 0xb9e12000, + 0x288b0000, + 0x21634000, + 0x44600005, + 0x34020001, + 0x78010003, + 0x3202000d, + 0xe000004e, + 0x21610800, + 0x44200006, + 0x29a10000, + 0x34020001, + 0x32020010, + 0x38210040, + 0x59a10000, + 0x21610400, + 0x44200006, + 0x29a10000, + 0x3402ffbf, + 0x32030010, + 0xa0220800, + 0x59a10000, + 0x21610200, + 0x44200015, + 0x28810000, + 0x202100ff, + 0x5c200003, + 0x3401001f, + 0xe0000003, + 0x3421ffff, + 0x202100ff, + 0x34230034, + 0x3a318de0, + 0xba802000, + 0x32230001, + 0x3884f320, + 0x28820000, + 0x206300ff, + 0x7801ff00, + 0x3821ffff, + 0x3c630010, + 0xa0411000, + 0xb8431000, + 0x58820000, + 0x21610100, + 0x44200007, + 0x78020003, + 0x38428de0, + 0x34030001, + 0x78010003, + 0x3043000e, + 0xe0000022, + 0x21611000, + 0x4420000a, + 0x78010003, + 0x3821f000, + 0xb9e10800, + 0x28230000, + 0x78021fff, + 0x3842ffff, + 0x0061001d, + 0xa0621000, + 0xfbfff497, + 0x21612000, + 0x4420000b, + 0x3e620004, + 0x78010003, + 0x3821f000, + 0xb8411000, + 0x28430000, + 0x78021fff, + 0x3842ffff, + 0x0061001d, + 0xa0621000, + 0xfbfff4a2, + 0x78050003, + 0x78020003, + 0x78030003, + 0x38a56938, + 0x38428de0, + 0x38638e28, + 0x34040001, + 0x78010003, + 0x3044000f, + 0x58650000, + 0x38218eac, + 0xfbfff21a, + 0x2b8b002c, + 0x2b8c0028, + 0x2b8d0024, + 0x2b8e0020, + 0x2b8f001c, + 0x2b900018, + 0x2b910014, + 0x2b920010, + 0x2b93000c, + 0x2b940008, + 0x2b9d0004, + 0x379c002c, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x78080003, + 0xb9000800, + 0x38218de0, + 0x40220001, + 0x78050003, + 0x78030030, + 0x3c470004, + 0x78010003, + 0x3821f00c, + 0xb8e10800, + 0x28240000, + 0x78020003, + 0x38420000, + 0x780100c0, + 0x38210000, + 0xa0821000, + 0xa0810800, + 0x00210016, + 0x00420010, + 0x38630000, + 0x38a5f004, + 0x204200ff, + 0xa0832000, + 0x202600ff, + 0xb8e52800, + 0x00410001, + 0x00840014, + 0x28a50000, + 0x7cc30003, + 0x208400ff, + 0x20210001, + 0x20420001, + 0x5c600005, + 0x78010003, + 0x3821f000, + 0xb8e10800, + 0xe000000d, + 0x64210000, + 0x3cc30002, + 0x5c200007, + 0x78010003, + 0x3821f330, + 0xb4610800, + 0x28210000, + 0x2023ffff, + 0xe0000005, + 0x78010003, + 0x3821f324, + 0xb4610800, + 0x28230000, + 0x7c810003, + 0x5c200005, + 0x78010003, + 0x3821f000, + 0xb8e10800, + 0xe000000d, + 0x64410000, + 0x3c840002, + 0x5c200007, + 0x78010003, + 0x3821f330, + 0xb4810800, + 0x28210000, + 0x2021ffff, + 0xe0000005, + 0x78010003, + 0x3821f324, + 0xb4810800, + 0x28210000, + 0xa0250800, + 0xa0651800, + 0xe4612000, + 0x34050000, + 0x50230002, + 0x34050001, + 0x78030003, + 0x3863f320, + 0x28610000, + 0x3402fffe, + 0x3ca50001, + 0xa0220800, + 0xb8240800, + 0x58610000, + 0x28610000, + 0x3402fffd, + 0x78040003, + 0xa0220800, + 0xb8250800, + 0x58610000, + 0x78020003, + 0x38846938, + 0x39088de0, + 0x38428e28, + 0x34030001, + 0x78010003, + 0x3103000f, + 0x58440000, + 0x38218eac, + 0xfbfff1a8, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x202100ff, + 0x3c210004, + 0x78020003, + 0x3842f008, + 0xb8221000, + 0x28450000, + 0x7804f000, + 0x38840000, + 0x78020200, + 0x38420000, + 0xa0a21000, + 0x78030003, + 0xa0a42800, + 0x3863f00c, + 0x00a5001c, + 0xb8233000, + 0x00420019, + 0x20a30003, + 0x34010002, + 0x78070003, + 0x7c420001, + 0xf0230800, + 0x38e7f324, + 0x5c40000a, + 0xc8010800, + 0xa0611800, + 0x3c610002, + 0xb4270800, + 0x28210000, + 0x00220004, + 0x2025000f, + 0x204bffff, + 0xe0000003, + 0x28c10000, + 0x202bffff, + 0xbd655800, + 0x78020003, + 0x34030001, + 0x38428de0, + 0x3043001a, + 0x584b0004, + 0x34010007, + 0xfbfff2c3, + 0x34010007, + 0xfbfff2b6, + 0xb9601000, + 0x34010007, + 0xfbfff2c8, + 0x34010001, + 0x3c21001c, + 0x78028000, + 0x38428000, + 0x58410054, + 0x3401003c, + 0xfbffac92, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x78010003, + 0x34030000, + 0x38218de0, + 0x58230004, + 0x3023001a, + 0x3401003c, + 0xfbffacb2, + 0x34010007, + 0xfbfff2a8, + 0x34010001, + 0x3c21001c, + 0x78028000, + 0x38428000, + 0x58410054, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x202200ff, + 0x34010001, + 0x78040003, + 0x78060003, + 0xbc221800, + 0x3884f320, + 0x38c68de0, + 0x34050000, + 0x3409001f, + 0x3408ffdf, + 0x34a50001, + 0x34410001, + 0x68a7001f, + 0x3c630001, + 0x202200ff, + 0x51220007, + 0x28810000, + 0x34020000, + 0x34030001, + 0xa0280800, + 0x38210020, + 0x58810000, + 0x28c10008, + 0xa0230800, + 0x44200003, + 0xb8400800, + 0xc3a00000, + 0x44e0ffef, + 0x34010020, + 0xc3a00000, + 0x379cffec, + 0x5b8b0014, + 0x5b8c0010, + 0x5b8d000c, + 0x5b8e0008, + 0x5b9d0004, + 0x780d0003, + 0xb9a02800, + 0x38a58de0, + 0x40a80001, + 0x78010003, + 0x3821f00c, + 0x3d030004, + 0x78027000, + 0xb8613000, + 0x28c10000, + 0x38420000, + 0xb9a03800, + 0xa0220800, + 0x0024001c, + 0x44800020, + 0x64810002, + 0x5c20000e, + 0x68810002, + 0x5c200004, + 0x64810001, + 0x5c200005, + 0xe0000013, + 0x64810004, + 0x5c20000c, + 0xe0000010, + 0x78020003, + 0x78010003, + 0x38428e28, + 0x38216214, + 0xe000000a, + 0x78020003, + 0x78010003, + 0x38428e28, + 0x38215c3c, + 0xe0000005, + 0x78020003, + 0x78010003, + 0x38428e28, + 0x38215f38, + 0x58410000, + 0xb8e01000, + 0x38428de0, + 0x34030001, + 0x78010003, + 0x3043000f, + 0xe00000b6, + 0x40a10010, + 0x44200009, + 0x78010003, + 0x3821f300, + 0x28220000, + 0x78010002, + 0x38210000, + 0xa0411000, + 0x00420011, + 0x5c40000c, + 0x78030003, + 0x30a40010, + 0x3863f320, + 0x28610000, + 0x3402ffbf, + 0x34040001, + 0xa0220800, + 0x58610000, + 0x30a4000f, + 0x30a40011, + 0xe00000a3, + 0x78010003, + 0x3821f008, + 0xb8610800, + 0x28240000, + 0x78030400, + 0x38630000, + 0x28c50000, + 0x78010c00, + 0x38210000, + 0x28c20000, + 0xa0812000, + 0x78010100, + 0x38210000, + 0x0084001a, + 0xa0431000, + 0xa0a12800, + 0x0042001a, + 0x00810001, + 0x00ae0018, + 0x7c420001, + 0x20290001, + 0x5c400044, + 0x78010003, + 0x78020003, + 0x5dc0001e, + 0xb8403800, + 0x38e7f31c, + 0x28e20000, + 0xb8202800, + 0x38a5f320, + 0x7806ff00, + 0x38c60000, + 0x28a10000, + 0xa0461000, + 0x00420018, + 0x20210004, + 0x5c200002, + 0x44480033, + 0x28a10000, + 0x3402fffb, + 0x78030003, + 0xa0220800, + 0x58a10000, + 0x3863f304, + 0x28620000, + 0x7801f000, + 0x38210000, + 0xa0411000, + 0x58620000, + 0x28e30000, + 0x780100ff, + 0x3d020018, + 0x3821ffff, + 0xe000001e, + 0xb8403800, + 0x38e7f31c, + 0x28e20000, + 0xb8202800, + 0x780600ff, + 0x38c60000, + 0x38a5f320, + 0xa0461000, + 0x28a10000, + 0x00420010, + 0x20210008, + 0x204200ff, + 0x5c200002, + 0x44480015, + 0x28a10000, + 0x3402fff7, + 0x78030003, + 0xa0220800, + 0x58a10000, + 0x3863f30c, + 0x28620000, + 0x7801f000, + 0x38210000, + 0xa0411000, + 0x58620000, + 0x28e30000, + 0x7801ff00, + 0x3d020010, + 0x3821ffff, + 0xa0611800, + 0xa0461000, + 0xb8621800, + 0x58e30000, + 0xe0000002, + 0x20890001, + 0xb9a01800, + 0x34020000, + 0x38638de0, + 0x7d210001, + 0x30620017, + 0xb8406000, + 0x5c22000e, + 0x90005800, + 0xd0020000, + 0xb9000800, + 0xfbfffee5, + 0xb9a00800, + 0x38218de0, + 0x34030000, + 0x34020001, + 0x30230014, + 0x30220016, + 0x30230013, + 0xd00b0000, + 0xe000001e, + 0x3062001a, + 0x58620004, + 0x3401003c, + 0xfbffabd0, + 0x34010007, + 0xfbfff1c6, + 0x34010001, + 0x3c21001c, + 0x78028000, + 0x38428000, + 0x58410054, + 0x90005800, + 0xd00c0000, + 0xb9a01000, + 0x38428de0, + 0x40430012, + 0x44600006, + 0x34010000, + 0x30410015, + 0x30410012, + 0x340c0001, + 0xe0000004, + 0x34010001, + 0x30410015, + 0xb8606000, + 0xd00b0000, + 0x34010000, + 0x39ad8de0, + 0x31a10012, + 0x78040003, + 0xb8801000, + 0x38428de0, + 0x34010000, + 0x30410011, + 0x7dc30001, + 0x65850000, + 0x78020003, + 0x5c610005, + 0x78010003, + 0x38428e28, + 0x382140b4, + 0xe0000004, + 0x78010003, + 0x38428e28, + 0x3821494c, + 0x58410000, + 0x5ca00007, + 0x38848de0, + 0x34020001, + 0x78010003, + 0x3082000f, + 0x38218eac, + 0xfbfff04b, + 0x2b8b0014, + 0x2b8c0010, + 0x2b8d000c, + 0x2b8e0008, + 0x2b9d0004, + 0x379c0014, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x780b0003, + 0x396b8de0, + 0x416c0001, + 0x3581ffcc, + 0x202100ff, + 0xfbfffee7, + 0x78060003, + 0x38c6f320, + 0x34210034, + 0x202c00ff, + 0x28c40000, + 0x3d830010, + 0x7802ff00, + 0x780100ff, + 0x3842ffff, + 0x38210000, + 0xa0611800, + 0xa0822000, + 0xb8832000, + 0x34020000, + 0x58c40000, + 0x78050010, + 0x38a50000, + 0xb9800800, + 0xb8401800, + 0x34040001, + 0xfbfff2b1, + 0x316c0001, + 0xfbfffeee, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cffcc, + 0x5b8b0034, + 0x5b8c0030, + 0x5b8d002c, + 0x5b8e0028, + 0x5b8f0024, + 0x5b900020, + 0x5b91001c, + 0x5b920018, + 0x5b930014, + 0x5b940010, + 0x5b95000c, + 0x5b960008, + 0x5b970004, + 0x340a0000, + 0x202100ff, + 0x78140003, + 0x78138000, + 0x78127000, + 0x78110200, + 0x78100100, + 0x780f00c0, + 0x780e000c, + 0x780d0003, + 0xe42ab800, + 0xb9406000, + 0x205600ff, + 0x3a94f34c, + 0x3a730000, + 0x3a520000, + 0x3a310000, + 0x3a100000, + 0x39ef0000, + 0x39ce0000, + 0x39adf348, + 0x34070001, + 0xb9404000, + 0x3d050004, + 0x34150000, + 0xb4b41800, + 0x28660000, + 0xb4ad2800, + 0x28610000, + 0xa0d33000, + 0x00c6001f, + 0x28620000, + 0xa0320800, + 0x002b001c, + 0xa0511000, + 0x28610000, + 0x00420019, + 0x20c600ff, + 0x28640000, + 0xa0300800, + 0x00210018, + 0x28630000, + 0x64290001, + 0x7c420001, + 0x28a10000, + 0xa08f2000, + 0xa06e1800, + 0x20210f00, + 0x00840016, + 0x00630012, + 0xa1221000, + 0x00250008, + 0xe4551000, + 0x208100ff, + 0x206300ff, + 0x5c550007, + 0x64210003, + 0xe5751000, + 0xa0220800, + 0xe4350800, + 0x5c350002, + 0x34150001, + 0x7ec10000, + 0x34040000, + 0xa1210800, + 0xe4240800, + 0x5c240007, + 0xe4a41000, + 0x64610002, + 0xa0220800, + 0xe4240800, + 0x5c240002, + 0x34040001, + 0x64610002, + 0x7cc20001, + 0xa2e11800, + 0x5c400013, + 0x66a10000, + 0x5c200008, + 0x35080002, + 0x3401001f, + 0x4c280002, + 0xe000000e, + 0xb9475000, + 0x3ce70003, + 0xe000000b, + 0x64810000, + 0x5c200002, + 0x398c0002, + 0x64610000, + 0x5c200004, + 0x3ce70001, + 0x398c0001, + 0xe0000003, + 0xb9475000, + 0x3ce70001, + 0x35080001, + 0x6901001f, + 0x4420ffb5, + 0x78010003, + 0x38218de0, + 0x78020003, + 0x582a0008, + 0x3842f318, + 0x28410000, + 0xb9800800, + 0x584a0000, + 0x2b8b0034, + 0x2b8c0030, + 0x2b8d002c, + 0x2b8e0028, + 0x2b8f0024, + 0x2b900020, + 0x2b91001c, + 0x2b920018, + 0x2b930014, + 0x2b940010, + 0x2b95000c, + 0x2b960008, + 0x2b970004, + 0x379c0034, + 0xc3a00000, + 0x379cfff0, + 0x5b8b0010, + 0x5b8c000c, + 0x5b8d0008, + 0x5b9d0004, + 0x90006800, + 0x34010000, + 0xd0010000, + 0x78010003, + 0x3821f300, + 0x28250000, + 0x78040002, + 0x78020004, + 0x28270000, + 0x38840000, + 0x38420000, + 0x28260000, + 0xa0e43800, + 0x78030001, + 0xa0c23000, + 0x38630000, + 0x00c60012, + 0x00e70011, + 0xa0a32800, + 0x34080001, + 0x20cb00ff, + 0x00a50010, + 0x20e700ff, + 0x78030003, + 0x78010003, + 0xfd686000, + 0xfce83000, + 0x38638de0, + 0x38218eac, + 0x20a500ff, + 0x78040003, + 0x78020003, + 0x5ca00003, + 0x3068000d, + 0xe000001b, + 0xb8802800, + 0x78010003, + 0x38a5f320, + 0x34030000, + 0x38218eac, + 0x5cc30008, + 0x38428de0, + 0x30470010, + 0x28a20000, + 0x38420040, + 0x58a20000, + 0xfbffef62, + 0xe0000007, + 0x38428de0, + 0x30430010, + 0x28a10000, + 0x3402ffbf, + 0xa0220800, + 0x58a10000, + 0x78020003, + 0x78010003, + 0x38428de0, + 0x5d800005, + 0x304b001b, + 0x304b000e, + 0x38218eac, + 0xfbffef53, + 0xd00d0000, + 0x2b8b0010, + 0x2b8c000c, + 0x2b8d0008, + 0x2b9d0004, + 0x379c0010, + 0xc3a00000, + 0x379cffe8, + 0x5b8b0018, + 0x5b8c0014, + 0x5b8d0010, + 0x5b8e000c, + 0x5b8f0008, + 0x5b9d0004, + 0x3401003c, + 0xfbffaa97, + 0x34010007, + 0xfbfff08d, + 0x340d0001, + 0x3da1001c, + 0x780b8000, + 0x396b8000, + 0x780c0003, + 0x59610054, + 0x340e0000, + 0x398c8de0, + 0x3401001a, + 0x598e0004, + 0x318e001a, + 0xfbffaa89, + 0x3da2001a, + 0x34010019, + 0x59620050, + 0xfbffaa85, + 0x3da10019, + 0x78040003, + 0x59610050, + 0x3884f334, + 0x28820000, + 0x7801ff80, + 0x3821ffff, + 0xa0411000, + 0x78030003, + 0x58820000, + 0x3863f330, + 0x28610000, + 0x780bc210, + 0x780f0003, + 0x2021ffff, + 0x58610000, + 0x396b0008, + 0xb9e00800, + 0x596e0000, + 0x3821f300, + 0x28210000, + 0x20210004, + 0xfc2e0800, + 0xe42e1000, + 0x3181000c, + 0x5c4e003a, + 0x7802fe00, + 0xb9a02000, + 0x38420810, + 0x3403000f, + 0xb9a02800, + 0x340100fd, + 0xfbfff2f4, + 0xb9c00800, + 0xfbfff475, + 0x7804c210, + 0xb9601000, + 0x3884000c, + 0x28410000, + 0x20210008, + 0x4420fffe, + 0x28840000, + 0x3401fff0, + 0xa0812000, + 0x78050003, + 0x78080003, + 0x3908f33c, + 0x29020000, + 0x7801ffff, + 0x38210000, + 0xa0411000, + 0x00420010, + 0x38a58de0, + 0x78010003, + 0x58a20030, + 0x3821f314, + 0x28270000, + 0x78068008, + 0x38c60000, + 0x28c1153c, + 0x3c43000c, + 0xb4872000, + 0xc8230800, + 0x3c21000c, + 0x3ce70009, + 0xb4812000, + 0x58a40020, + 0x29010000, + 0x34030001, + 0x202100ff, + 0xb4411000, + 0x3442ffff, + 0x58a20034, + 0x28c1155c, + 0x3c21000c, + 0xb4270800, + 0x58a10028, + 0x28c1155c, + 0x00210014, + 0x30a3001d, + 0x58a1002c, + 0x30a3001c, + 0xe0000003, + 0x3181001d, + 0x3181001c, + 0x7802fe00, + 0x3403000f, + 0x34040000, + 0x34050001, + 0x38420094, + 0x340100fd, + 0xfbfff2b9, + 0x34010007, + 0x34020000, + 0xfbfff2e6, + 0x34040001, + 0x7802fe00, + 0x38420098, + 0x3403000f, + 0xb8802800, + 0x340100fd, + 0xfbfff2af, + 0x34010000, + 0xfbfff430, + 0x7803c210, + 0x7802c210, + 0x38630008, + 0x3842000c, + 0x28610000, + 0x20210008, + 0x4420fffe, + 0x28420000, + 0x0042000f, + 0x78018000, + 0x382100a4, + 0x28210000, + 0x20420001, + 0x780d0003, + 0x20210001, + 0xfbfffe9c, + 0xb9e01800, + 0x3863f300, + 0x28620000, + 0xb8205800, + 0x7801ffff, + 0x38217fff, + 0xa0411000, + 0x58620000, + 0x28610000, + 0x3402bfff, + 0xb9a02000, + 0xa0220800, + 0x58610000, + 0x3884f320, + 0x28810000, + 0x3402ff80, + 0x21630002, + 0xa0220800, + 0x58810000, + 0x44600005, + 0x34010003, + 0xfbfff149, + 0xb8201000, + 0x44200055, + 0x21610001, + 0x64210000, + 0x5c200005, + 0x34010004, + 0xfbfff142, + 0xb8201000, + 0x4420004e, + 0x34010020, + 0xfbfffd45, + 0xb8206000, + 0x7c210020, + 0x5c200005, + 0x34010005, + 0xfbfff139, + 0xb8201000, + 0x44200045, + 0x78020003, + 0x7801c001, + 0x3842f740, + 0x3821c001, + 0x358c0034, + 0x780e0003, + 0x39ce8de0, + 0x58410000, + 0x218300ff, + 0xb9a02000, + 0x31c30001, + 0x3884f320, + 0x28820000, + 0x7801ff00, + 0x3821ffff, + 0x3c630010, + 0xa0411000, + 0xb8431000, + 0x78030003, + 0x58820000, + 0x38638acc, + 0x28620048, + 0x7801fffe, + 0x3821ffff, + 0xa0411000, + 0x38420001, + 0x7801c201, + 0x58620048, + 0x3821c50c, + 0xfbffdb02, + 0x3401001a, + 0xfbffa998, + 0x340d0001, + 0x3da1001a, + 0x780b8000, + 0x396b8000, + 0x59610050, + 0x34010019, + 0xfbffa991, + 0x3da10019, + 0x34040000, + 0x59610050, + 0x78030003, + 0x31cc0001, + 0x31c4000f, + 0x31c40012, + 0x31c40013, + 0x31c40014, + 0x31c40015, + 0x31c40016, + 0x31c40017, + 0x31c40018, + 0x31c40019, + 0x3863f31c, + 0x28610000, + 0x2021ffff, + 0x58610000, + 0x41c1001b, + 0x44240008, + 0xb9e01800, + 0x3863f300, + 0x28620000, + 0x7801fffb, + 0x3821ffff, + 0xa0411000, + 0x58620000, + 0x31c4001b, + 0xb9a01000, + 0xb8400800, + 0x2b8b0018, + 0x2b8c0014, + 0x2b8d0010, + 0x2b8e000c, + 0x2b8f0008, + 0x2b9d0004, + 0x379c0018, + 0xc3a00000, + 0x379cfff4, + 0x5b8b000c, + 0x5b8c0008, + 0x5b9d0004, + 0x3401003c, + 0xfbffa992, + 0x340c0001, + 0x3d81001c, + 0x780b8000, + 0x396b8000, + 0x59610054, + 0x34010007, + 0xfbffef83, + 0x3401001a, + 0xfbffa989, + 0x3d82001a, + 0x34010019, + 0x59620050, + 0xfbffa985, + 0x3d810019, + 0x7803c210, + 0x59610050, + 0x34020000, + 0x38630008, + 0x78010003, + 0x58620000, + 0x38218de0, + 0x78050003, + 0x302c0011, + 0x3022000c, + 0x3022000f, + 0x3022001b, + 0x30220010, + 0x38a5f320, + 0x28a30000, + 0x3404ffbf, + 0xa0641800, + 0x58a30000, + 0x3022000d, + 0x30220012, + 0x30220013, + 0x30220014, + 0x30220015, + 0x30220016, + 0x30220017, + 0x30220018, + 0x30220019, + 0x3022000e, + 0x3022001a, + 0x58220004, + 0x2b8b000c, + 0x2b8c0008, + 0x2b9d0004, + 0x379c000c, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0x78010003, + 0x34020000, + 0x38218eac, + 0xfbffee3d, + 0x90002000, + 0x34010000, + 0xd0010000, + 0x780b0003, + 0xb9601000, + 0x38428de0, + 0x4043000d, + 0x3041000d, + 0xd0040000, + 0x44600003, + 0xfbffffb8, + 0xe3fffff1, + 0x90002000, + 0xd0030000, + 0xb9601000, + 0x38428de0, + 0x4043000e, + 0x34010000, + 0x3041000e, + 0xd0040000, + 0x4460000f, + 0xfbfffea5, + 0x78030003, + 0x78020003, + 0x396b8de0, + 0x38638e28, + 0x38426570, + 0x34040001, + 0x4420ffe0, + 0x78010003, + 0x58620000, + 0x3164000f, + 0x38218eac, + 0xfbffede4, + 0xe3ffffda, + 0x90002000, + 0xd0030000, + 0xb9600800, + 0x38218de0, + 0x4023000f, + 0x34020000, + 0x3022000f, + 0xd0040000, + 0x78010003, + 0x38218e28, + 0x396b8de0, + 0x4462ffce, + 0x28210000, + 0x3162000f, + 0xd8200000, + 0xe3ffffca, + 0x78050003, + 0x78020003, + 0xb8a00800, + 0x3842f4ff, + 0x3821f300, + 0x34070000, + 0x58270000, + 0x34210001, + 0x54220002, + 0xe3fffffd, + 0x78048008, + 0x78020003, + 0x38840000, + 0x3842ffff, + 0x78030003, + 0x7801c001, + 0x5882202c, + 0x3863f740, + 0x3821c001, + 0x58610000, + 0x38a5f300, + 0x28a10000, + 0x3402f00f, + 0x3404cfff, + 0xa0220800, + 0x38210090, + 0x58a10000, + 0x28a20000, + 0x78010003, + 0x38218de0, + 0x38420008, + 0x58a20000, + 0x28a20000, + 0x34030000, + 0x34060001, + 0xa0441000, + 0x38421000, + 0x58a20000, + 0x3027000d, + 0x30260011, + 0x3023001a, + 0x3027000c, + 0x3023000e, + 0x3023000f, + 0x3023001b, + 0x30230010, + 0x30230012, + 0x30230013, + 0x30230014, + 0x30230015, + 0x30230016, + 0x30230017, + 0x30230018, + 0x30230019, + 0x58270004, + 0xc3a00000, + 0x7801c210, + 0x38210008, + 0x28220000, + 0x38420001, + 0x58220000, + 0x28210000, + 0xc3a00000, + 0x7802c210, + 0x38420008, + 0x28410000, + 0x00210004, + 0x20210001, + 0x7c210001, + 0x4420fffc, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x20230004, + 0x00210003, + 0x64630000, + 0x3c210003, + 0x20c60007, + 0xb8c13000, + 0x3401fffb, + 0xc8031800, + 0xa0c13000, + 0x2063001f, + 0x3401ff00, + 0x3463fff0, + 0x7804ffff, + 0xa0e13800, + 0x388400ff, + 0x206300ff, + 0x3c630008, + 0x3401fffd, + 0xa0e43800, + 0x7805c210, + 0xa0c13000, + 0x38a50014, + 0x7804c210, + 0x58a60000, + 0xb8e33800, + 0x38840018, + 0x7801c210, + 0x58870000, + 0x3821001c, + 0x58220000, + 0xfbffffd1, + 0xfbffffd7, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x20220004, + 0x00210003, + 0x64420000, + 0x3c210003, + 0x20a50007, + 0xb8a12800, + 0xc8021000, + 0x3401ff00, + 0x2042001f, + 0xa0c13000, + 0x3442fff0, + 0x3401fffd, + 0x204200ff, + 0x7804ffff, + 0x38a50004, + 0xa0a12800, + 0x3c420008, + 0x388400ff, + 0x7803c210, + 0xa0c43000, + 0x38630014, + 0x7801c210, + 0x58650000, + 0xb8c23000, + 0x38210018, + 0x58260000, + 0xfbffffb0, + 0xfbffffb6, + 0x7801c210, + 0x3821000c, + 0x28210000, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfff8, + 0x5b8b0008, + 0x5b9d0004, + 0xb8205800, + 0x00210003, + 0x20a50007, + 0x3c210003, + 0x21620007, + 0xb8a12800, + 0x34030001, + 0xbc621800, + 0x3401ff00, + 0xa0c13000, + 0x3401fffd, + 0x206300ff, + 0x7804ffff, + 0x38a50004, + 0xa0a12800, + 0x3c630008, + 0x388400ff, + 0x7802c210, + 0xa0c43000, + 0x38420014, + 0x7801c210, + 0x58450000, + 0xb8c33000, + 0x38210018, + 0x58260000, + 0xfbffff8c, + 0xfbffff92, + 0x7801c210, + 0x3821000c, + 0x28210000, + 0x216b0003, + 0x3d6b0003, + 0x802b0800, + 0x202100ff, + 0x2b8b0008, + 0x2b9d0004, + 0x379c0008, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x20430004, + 0x00420003, + 0x64630000, + 0x3c420003, + 0x20a50007, + 0xb8a22800, + 0x3402ff00, + 0xc8031800, + 0xa0c23000, + 0x202100ff, + 0x2063001f, + 0xb8c13000, + 0x3463fff0, + 0x3401fffd, + 0x206300ff, + 0x7804ffff, + 0x38a50004, + 0xa0a12800, + 0x3c630008, + 0x388400ff, + 0x7802c210, + 0xa0c43000, + 0x38420014, + 0x7801c210, + 0x58450000, + 0xb8c33000, + 0x38210018, + 0x58260000, + 0xfbffff61, + 0xfbffff67, + 0x7801c210, + 0x3821000c, + 0x28210000, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x379cfffc, + 0x5b9d0004, + 0x20440004, + 0x00420003, + 0x64840000, + 0x3c420003, + 0x20c60007, + 0xb8c23000, + 0x3402ff00, + 0xc8042000, + 0xa0e23800, + 0x202100ff, + 0x2084001f, + 0x3402fffb, + 0xb8e13800, + 0x3484fff0, + 0xa0c23000, + 0x208400ff, + 0x7805ffff, + 0x7801c210, + 0x3c840008, + 0x38a500ff, + 0x38c60002, + 0x38210014, + 0x58260000, + 0xa0e53800, + 0x7802c210, + 0xb8e43800, + 0x38420018, + 0x7801c210, + 0x58470000, + 0x3821001c, + 0x58230000, + 0xfbffff38, + 0xfbffff3e, + 0x2b9d0004, + 0x379c0004, + 0xc3a00000, + 0x7801c210, + 0x38210008, + 0x34020000, + 0x58220000, + 0xc3a00000, + 0x7803c210, + 0x38630008, + 0x28620000, + 0x38420002, + 0x00410007, + 0x58620000, + 0x20210001, + 0x5c200004, + 0x28620000, + 0x00410007, + 0xe3fffffc, + 0xc3a00000, + 0x7803c210, + 0x38630008, + 0x28620000, + 0x3401fffd, + 0xa0411000, + 0x00410007, + 0x58620000, + 0x20210001, + 0x7c210001, + 0x5c200004, + 0x28620000, + 0x00410007, + 0xe3fffffb, + 0xc3a00000, + 0x379cfff0, + 0x3c42000b, + 0x3c210010, + 0x3c630008, + 0xb8220800, + 0x20870004, + 0xb8230800, + 0x34e70008, + 0x208400f8, + 0x7802fe00, + 0x38420002, + 0xb8240800, + 0xbcc73000, + 0xb8220800, + 0x5b810010, + 0x38c600fd, + 0x5b86000c, + 0x5b850008, + 0x2b820010, + 0x7801c210, + 0x38210014, + 0x58220000, + 0x2b82000c, + 0x7801c210, + 0x38210018, + 0x58220000, + 0x2b830008, + 0x7801c210, + 0x3821001c, + 0x7802c210, + 0x58230000, + 0x38420008, + 0x28410000, + 0xb8401800, + 0x5b810004, + 0x43810007, + 0x38210001, + 0x33810007, + 0x2b810004, + 0x58410000, + 0x28610000, + 0x5b810004, + 0x43810007, + 0x00210004, + 0x20210001, + 0x7c210001, + 0x4420fffa, + 0x43810007, + 0x3402fffe, + 0xa0220800, + 0x33810007, + 0x2b810004, + 0x58610000, + 0x379c0010, + 0xc3a00000, + 0x379cfff4, + 0x3c42000b, + 0x3c210010, + 0x3c630008, + 0xb8220800, + 0x20860004, + 0xb8230800, + 0x208400f8, + 0x34c60008, + 0x7802fe00, + 0xb8240800, + 0x38420004, + 0xbca62800, + 0xb8220800, + 0x5b81000c, + 0x38a500fd, + 0x5b850008, + 0x2b82000c, + 0x7801c210, + 0x38210014, + 0x58220000, + 0x2b830008, + 0x7801c210, + 0x38210018, + 0x7802c210, + 0x58230000, + 0x38420008, + 0x28410000, + 0xb8402000, + 0x5b810004, + 0x43810007, + 0x38210001, + 0x33810007, + 0x2b810004, + 0x58410000, + 0x28810000, + 0x5b810004, + 0x43810007, + 0x00210003, + 0x20210001, + 0x4420fffb, + 0x43810007, + 0x3402fffe, + 0x7803c210, + 0xa0220800, + 0x33810007, + 0x2b810004, + 0x3863000c, + 0x58810000, + 0x28610000, + 0x379c000c, + 0xc3a00000, + 0x379cfff0, + 0x5b8b0010, + 0x5b8c000c, + 0x5b8d0008, + 0x5b9d0004, + 0xb8205800, + 0xb8406000, + 0x340d0000, + 0x5c4d000a, + 0x90000800, + 0x34020001, + 0x20210001, + 0xf8000031, + 0xd0010000, + 0x90e00800, + 0x342100a0, + 0xbba0f000, + 0xc0200000, + 0xb96c0800, + 0x7421000f, + 0x5c200010, + 0xb9600800, + 0x34020004, + 0x780b0003, + 0xf8000025, + 0x396b871c, + 0xb42b0800, + 0xb42c0800, + 0x40220000, + 0xb8400800, + 0x2b8b0010, + 0x2b8c000c, + 0x2b8d0008, + 0x2b9d0004, + 0x379c0010, + 0xc3a00000, + 0x4d600003, + 0xc80b5800, + 0x340d0001, + 0x4d800003, + 0x65ad0000, + 0xc80c6000, + 0x90c00800, + 0x20230002, + 0x8d6c1000, + 0x4460000b, + 0x65a10000, + 0x5c20ffee, + 0xc8021000, + 0xb8400800, + 0x2b8b0010, + 0x2b8c000c, + 0x2b8d0008, + 0x2b9d0004, + 0x379c0010, + 0xc3a00000, + 0xb9801000, + 0xb9600800, + 0xf800007b, + 0xb8201000, + 0xe3fffff2, + 0x2042001f, + 0x78030003, + 0x3863881c, + 0xb4421000, + 0xb4421000, + 0xb4621800, + 0x28630000, + 0xc0600000, + 0xb4210800, + 0xb4210800, + 0xb4210800, + 0xb4210800, + 0xb4210800, + 0xb4210800, + 0xb4210800, + 0xb4210800, + 0xb4210800, + 0xb4210800, + 0xb4210800, + 0xb4210800, + 0xb4210800, + 0xb4210800, + 0xb4210800, + 0xb4210800, + 0xb4210800, + 0xb4210800, + 0xb4210800, + 0xb4210800, + 0xb4210800, + 0xb4210800, + 0xb4210800, + 0xb4210800, + 0xb4210800, + 0xb4210800, + 0xb4210800, + 0xb4210800, + 0xb4210800, + 0xb4210800, + 0xb4210800, + 0xc3a00000, + 0x2042001f, + 0x78030003, + 0x3863889c, + 0xb4421000, + 0xb4421000, + 0xb4621800, + 0x28630000, + 0xc0600000, + 0x00210001, + 0x00210001, + 0x00210001, + 0x00210001, + 0x00210001, + 0x00210001, + 0x00210001, + 0x00210001, + 0x00210001, + 0x00210001, + 0x00210001, + 0x00210001, + 0x00210001, + 0x00210001, + 0x00210001, + 0x00210001, + 0x00210001, + 0x00210001, + 0x00210001, + 0x00210001, + 0x00210001, + 0x00210001, + 0x00210001, + 0x00210001, + 0x00210001, + 0x00210001, + 0x00210001, + 0x00210001, + 0x00210001, + 0x00210001, + 0x00210001, + 0xc3a00000, + 0x2042001f, + 0x78030003, + 0x3863891c, + 0xb4421000, + 0xb4421000, + 0xb4621800, + 0x28630000, + 0xc0600000, + 0x14210001, + 0x14210001, + 0x14210001, + 0x14210001, + 0x14210001, + 0x14210001, + 0x14210001, + 0x14210001, + 0x14210001, + 0x14210001, + 0x14210001, + 0x14210001, + 0x14210001, + 0x14210001, + 0x14210001, + 0x14210001, + 0x14210001, + 0x14210001, + 0x14210001, + 0x14210001, + 0x14210001, + 0x14210001, + 0x14210001, + 0x14210001, + 0x14210001, + 0x14210001, + 0x14210001, + 0x14210001, + 0x14210001, + 0x14210001, + 0x14210001, + 0xc3a00000, + 0x379cffe4, + 0x5b8b001c, + 0x5b8c0018, + 0x5b8d0014, + 0x5b8e0010, + 0x5b8f000c, + 0x5b900008, + 0x5b9d0004, + 0x340f0000, + 0xb8206800, + 0xb8405800, + 0xb8608000, + 0x340c0001, + 0xb9e07000, + 0xe000000a, + 0x49cb001c, + 0xb9600800, + 0x34020001, + 0xfbffff76, + 0xb8205800, + 0xb9800800, + 0x34020001, + 0xfbffff72, + 0xb8206000, + 0xf16d0800, + 0x7d830000, + 0x34020001, + 0xc8410800, + 0xa0230800, + 0x64210000, + 0x4420fff1, + 0x4580000d, + 0xb9800800, + 0x34020001, + 0x556d0003, + 0xc9ab6800, + 0xb9ec7800, + 0xfbffff8b, + 0xb8206000, + 0xb9600800, + 0x34020001, + 0xfbffff87, + 0xb8205800, + 0x5d80fff5, + 0xb9a00800, + 0x5e000002, + 0xb9e00800, + 0x2b8b001c, + 0x2b8c0018, + 0x2b8d0014, + 0x2b8e0010, + 0x2b8f000c, + 0x2b900008, + 0x2b9d0004, + 0x379c001c, + 0xc3a00000, + 0x00040100, + 0x01040100, + 0x02050100, + 0x03040200, + 0x04010100, + 0x05050200, + 0x06060100, + 0x07090200, + 0x00040100, + 0x01040100, + 0x02050100, + 0x03040200, + 0x04010100, + 0x05050200, + 0x06060100, + 0x07090100, + 0x08040100, + 0x09020100, + 0x0a030100, + 0x0b060100, + 0x0c080100, + 0x0d010100, + 0x0e020100, + 0x0f030100, + 0x10010100, + 0x11040100, + 0x12030100, + 0x13010100, + 0x14080100, + 0x15050100, + 0x16010100, + 0x17010100, + 0x18040100, + 0x1b060100, + 0x1c010100, + 0x00040100, + 0x8000001c, + 0x80000024, + 0x8000003c, + 0x80000044, + 0x8000004c, + 0x80000054, + 0x8000005c, + 0x80000064, + 0x80000124, + 0xc2100004, + 0x00029070, + 0x00029070, + 0x000293b8, + 0x000294e0, + 0x00029704, + 0x000298d0, + 0x0002a4e4, + 0x00029a74, + 0x0002a4a4, + 0x0002a1a8, + 0x000282ac, + 0x000282ac, + 0x00029364, + 0x000293c0, + 0x00029544, + 0x00029780, + 0x0002a4e4, + 0x00029908, + 0x0002a35c, + 0x00029b0c, + 0x000282f8, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x00028300, + 0x00028308, + 0x00028310, + 0x00028318, + 0x00028320, + 0x00028328, + 0x0002904c, + 0x0002904c, + 0x00028330, + 0x00028338, + 0x00028340, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x00028348, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x00028350, + 0x00028358, + 0x00028360, + 0x00028398, + 0x000283a0, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x000283a8, + 0x000283b4, + 0x000283c0, + 0x000283e4, + 0x00028408, + 0x00028410, + 0x00028418, + 0x00028420, + 0x00028428, + 0x00028430, + 0x0002904c, + 0x0002904c, + 0x00028444, + 0x0002844c, + 0x0002904c, + 0x00028458, + 0x00028460, + 0x00028548, + 0x00028564, + 0x00028580, + 0x00028588, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x00028590, + 0x00028598, + 0x000285a0, + 0x000285a8, + 0x000285b0, + 0x000285b8, + 0x000285c0, + 0x000285c8, + 0x000285d0, + 0x000285d8, + 0x000285e0, + 0x000285e8, + 0x000285f0, + 0x000285f8, + 0x00028600, + 0x00028608, + 0x00028610, + 0x00028618, + 0x00028620, + 0x00028628, + 0x00028630, + 0x00028638, + 0x00028640, + 0x0002864c, + 0x00028668, + 0x00028670, + 0x00028678, + 0x00028680, + 0x00028688, + 0x0002904c, + 0x0002904c, + 0x00028690, + 0x00028698, + 0x000286a0, + 0x000286a8, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x000286b0, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x000286b8, + 0x000286cc, + 0x00028714, + 0x00028dec, + 0x00028df4, + 0x00028e4c, + 0x00028e54, + 0x00028e5c, + 0x00028e64, + 0x0002904c, + 0x0002904c, + 0x00028ea0, + 0x0002904c, + 0x0002904c, + 0x000284a0, + 0x000284a8, + 0x00028ee4, + 0x00028eec, + 0x00028ef4, + 0x00028efc, + 0x00028f04, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x00028f0c, + 0x00028f14, + 0x00028f1c, + 0x00028f24, + 0x00028f2c, + 0x00028f34, + 0x00028f3c, + 0x0002904c, + 0x0002904c, + 0x000287a0, + 0x00028e6c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x00028a74, + 0x00028cc4, + 0x0002904c, + 0x00028b9c, + 0x00028b10, + 0x00028d60, + 0x0002904c, + 0x00028c38, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002843c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x000284e8, + 0x000284f0, + 0x00028508, + 0x00028510, + 0x0002904c, + 0x00028518, + 0x00028530, + 0x00028f44, + 0x00028f64, + 0x00028f88, + 0x00028fa4, + 0x00028fc0, + 0x00028954, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x00029054, + 0x00029054, + 0x00028738, + 0x0002876c, + 0x0002904c, + 0x0002904c, + 0x000287d4, + 0x00028808, + 0x00028aa8, + 0x00028adc, + 0x00028bd0, + 0x00028c04, + 0x0002904c, + 0x0002904c, + 0x00028cf8, + 0x00028d2c, + 0x0002883c, + 0x00028a14, + 0x00028a3c, + 0x0002904c, + 0x0002904c, + 0x000288ec, + 0x000289fc, + 0x00028b70, + 0x00028c98, + 0x0002904c, + 0x00028dc0, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x00029010, + 0x0002901c, + 0x00029024, + 0x00029030, + 0x00029000, + 0x00029008, + 0x00028a60, + 0x0002904c, + 0x00028940, + 0x00028b88, + 0x00028cb0, + 0x0002904c, + 0x00028dd8, + 0x0002904c, + 0x000286d8, + 0x000286f8, + 0x00029038, + 0x00028fe0, + 0x00028fe8, + 0x00028ff0, + 0x00028ff8, + 0x0002904c, + 0x0002904c, + 0x0002904c, + 0x00029040, + 0x00800092, + 0x00a300b6, + 0x00c800da, + 0x00ec0100, + 0x00029884, + 0x0002989c, + 0x000297b8, + 0x000298b8, + 0x000297cc, + 0x00029814, + 0x000298b4, + 0x00029b4c, + 0x0002a184, + 0x0002a184, + 0x0002a184, + 0x0002a184, + 0x0002a184, + 0x0002a184, + 0x0002a184, + 0x00029da4, + 0x0002a184, + 0x0002a184, + 0x00029bd0, + 0x0002a184, + 0x00029cac, + 0x0002a184, + 0x0002a184, + 0x0002a184, + 0x0002a184, + 0x0002a184, + 0x0002a184, + 0x0002a184, + 0x0002a18c, + 0x0002a184, + 0x0002a184, + 0x00029b54, + 0x00029bb8, + 0x00029b6c, + 0x00029e04, + 0x00029e58, + 0x00029dc4, + 0x00029de4, + 0x0002a184, + 0x0002a184, + 0x0002a184, + 0x0002a184, + 0x0002a140, + 0x0002a18c, + 0x0002a18c, + 0x0002a18c, + 0x0002a18c, + 0x0002a184, + 0x0002a184, + 0x0002a184, + 0x0002a184, + 0x0002a184, + 0x00029c54, + 0x00029c74, + 0x00029b84, + 0x00029b9c, + 0x0002a184, + 0x0002a184, + 0x0002a184, + 0x0002a184, + 0x0002a184, + 0x0002a184, + 0x00029fd8, + 0x0002a018, + 0x00029fa8, + 0x00029f48, + 0x00029f78, + 0x0002a184, + 0x0002a184, + 0x0002a184, + 0x0002a184, + 0x0002a184, + 0x0002a184, + 0x0002a18c, + 0x0002a05c, + 0x0002a078, + 0x00029bf8, + 0x00029c10, + 0x0002a184, + 0x0002a184, + 0x0002a110, + 0x0002a128, + 0x00029e8c, + 0x0002a184, + 0x0002a184, + 0x0002a184, + 0x0002a0e0, + 0x0002a094, + 0x0002a0b4, + 0x0002a0cc, + 0x0002a0d4, + 0x0002a148, + 0x0002a158, + 0x0002a17c, + 0x00029d04, + 0x00029d90, + 0x00029c28, + 0x0002c058, + 0x0002c148, + 0x0002c084, + 0x0002c148, + 0x0002c0b0, + 0x0002c148, + 0x0002c0dc, + 0x0002c148, + 0x0002c030, + 0x013014ab, + 0x013014b6, + 0x013014ac, + 0x013014be, + 0x010914e2, + 0x010914e1, + 0x01091507, + 0x00e70019, + 0xf6fcfe00, + 0x02040608, + 0x0002f430, + 0x0002f438, + 0x0002f440, + 0x0002f448, + 0x0002f450, + 0x0002f458, + 0x0002f460, + 0x0002f468, + 0x0002f470, + 0x0002f478, + 0x0002f480, + 0x0002f488, + 0x0002f490, + 0xff000100, + 0x02000100, + 0x03000100, + 0x02000100, + 0x00033528, + 0x00033554, + 0x00033568, + 0x00033578, + 0x00033584, + 0x0003433c, + 0x0003433c, + 0x0003433c, + 0x0003433c, + 0x0003433c, + 0x0003433c, + 0x0003433c, + 0x0003433c, + 0x00034360, + 0x00034360, + 0x00034360, + 0x00034360, + 0x00034390, + 0x00034440, + 0x00034464, + 0x000344a0, + 0x000344d0, + 0x000344dc, + 0x000344dc, + 0x000344dc, + 0x000344dc, + 0x00034524, + 0x00034524, + 0x00034524, + 0x00034524, + 0x000346c0, + 0x00034b3c, + 0x00034b5c, + 0x00034ba4, + 0x00034bd8, + 0x00034be4, + 0x00034be4, + 0x00034be4, + 0x00034be4, + 0x00034c20, + 0x00034c20, + 0x00034c20, + 0x00034c20, + 0x00034c94, + 0x00035ac4, + 0x00035ac4, + 0x00035acc, + 0x00035ad4, + 0x00035adc, + 0x00035ae4, + 0x00035aec, + 0x00035ac4, + 0x00035af8, + 0x00035b20, + 0x00035b38, + 0x00035b4c, + 0x00035b78, + 0x00035bc8, + 0x00035be0, + 0x00035bec, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00010000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00020100, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00030101, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00040201, + 0x01000000, + 0x00000000, + 0x00000000, + 0x00050201, + 0x01010000, + 0x00000000, + 0x00000000, + 0x00060302, + 0x01010100, + 0x00000000, + 0x00000000, + 0x00070302, + 0x01010101, + 0x00000000, + 0x00000000, + 0x00080402, + 0x02010101, + 0x01000000, + 0x00000000, + 0x00090403, + 0x02010101, + 0x01010000, + 0x00000000, + 0x000a0503, + 0x02020101, + 0x01010100, + 0x00000000, + 0x000b0503, + 0x02020101, + 0x01010101, + 0x00000000, + 0x000c0604, + 0x03020201, + 0x01010101, + 0x01000000, + 0x000d0604, + 0x03020201, + 0x01010101, + 0x01010000, + 0x000e0704, + 0x03020202, + 0x01010101, + 0x01010100, + 0x000f0705, + 0x03030202, + 0x01010101, + 0x01010101, + 0x00037ac8, + 0x00037ac4, + 0x00037ac0, + 0x00037abc, + 0x00037ab8, + 0x00037ab4, + 0x00037ab0, + 0x00037aac, + 0x00037aa8, + 0x00037aa4, + 0x00037aa0, + 0x00037a9c, + 0x00037a98, + 0x00037a94, + 0x00037a90, + 0x00037a8c, + 0x00037a88, + 0x00037a84, + 0x00037a80, + 0x00037a7c, + 0x00037a78, + 0x00037a74, + 0x00037a70, + 0x00037a6c, + 0x00037a68, + 0x00037a64, + 0x00037a60, + 0x00037a5c, + 0x00037a58, + 0x00037a54, + 0x00037a50, + 0x00037a4c, + 0x00037b68, + 0x00037b64, + 0x00037b60, + 0x00037b5c, + 0x00037b58, + 0x00037b54, + 0x00037b50, + 0x00037b4c, + 0x00037b48, + 0x00037b44, + 0x00037b40, + 0x00037b3c, + 0x00037b38, + 0x00037b34, + 0x00037b30, + 0x00037b2c, + 0x00037b28, + 0x00037b24, + 0x00037b20, + 0x00037b1c, + 0x00037b18, + 0x00037b14, + 0x00037b10, + 0x00037b0c, + 0x00037b08, + 0x00037b04, + 0x00037b00, + 0x00037afc, + 0x00037af8, + 0x00037af4, + 0x00037af0, + 0x00037aec, + 0x00037c08, + 0x00037c04, + 0x00037c00, + 0x00037bfc, + 0x00037bf8, + 0x00037bf4, + 0x00037bf0, + 0x00037bec, + 0x00037be8, + 0x00037be4, + 0x00037be0, + 0x00037bdc, + 0x00037bd8, + 0x00037bd4, + 0x00037bd0, + 0x00037bcc, + 0x00037bc8, + 0x00037bc4, + 0x00037bc0, + 0x00037bbc, + 0x00037bb8, + 0x00037bb4, + 0x00037bb0, + 0x00037bac, + 0x00037ba8, + 0x00037ba4, + 0x00037ba0, + 0x00037b9c, + 0x00037b98, + 0x00037b94, + 0x00037b90, + 0x00037b8c, + 0x24002800, + 0x3c002001, + 0x12010e01, + 0x13011101, + 0x0c010b01, + 0x17010601, + 0x07012201, + 0x23012601, + 0x27012a01, + 0x2b010800, + 0x2e010a01, + 0xff000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00021e74, + 0x00021ec4, + 0x00031e20, + 0x00000000, + 0x00021a70, + 0x0002daf0, + 0x0002cd24, + 0x00000000, + 0x0002c47c, + 0x00000000, + 0x00000000, + 0x0002cca4, + 0x0002bfc0, + 0x0002d9ec, + 0x00000000, + 0x00000000, + 0x00000000, + 0x0002d814, + 0x00000000, + 0x00021cac, + 0x00021b1c, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00021a4c, + 0x00000000, + 0x00021f14, + 0x00021f64, + 0x00021adc, + 0x00000000, + 0x00021fb4, + 0x00022004, + 0x00021afc, + 0x00000000, + 0x00022054, + 0x000220a4, + 0x00000000, + 0x00000000, + 0x000220f4, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00021e2c, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x0003f9e8, + 0x0003fd00, + 0x00024a68, + 0x00024a68, + 0x00024a68, + 0x00024a68, + 0x00024a68, + 0x00024a68, + 0x00024a68, + 0x00024a68, + 0x00024a68, + 0x00024a68, + 0x00024a68, + 0x00024a68, + 0x00024a68, + 0x00024a68, + 0x00024a68, + 0x00024a68, + 0x00024a68, + 0x00024a68, + 0x00024a68, + 0x00024a68, + 0x00024a68, + 0x00024a68, + 0x00024a68, + 0x00024a68, + 0x00024a68, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x80402010, + 0x08040200, + 0x58606870, + 0x78808890, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000bb8, + 0x0bb8cccc, + 0x80000001, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x000003ff, + 0x322d2823, + 0x1e19140f, + 0x342f2a25, + 0x201b1611, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x322d2823, + 0x1e19140f, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000100, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000001, + 0x00000000, + 0x00000000, + 0x00000001, + 0x00000000, + 0x00000000, + 0x00000001, + 0x00000000, + 0x00000000, + 0x00000001, + 0x00000000, + 0x00000000, + 0x00000001, + 0x00000000, + 0x00000000, + 0x00000001, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0xffffffff, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0xffffffff, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0xffffffff, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0xffffffff, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x26000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000064, + 0x028e0000, + 0x01000005, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x04000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000050, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0xe6000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00022fdc, + 0x00022fdc, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00010101, + 0x00000101, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000050, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00025000, + 0x00025000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000101, + 0x01010100, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x01000100, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x000003ff, + 0xfffffc00, + 0x00000003, + 0x0000000a, + 0x00000400, + 0x00000007, + 0x000000ff, + 0x00000008, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x08000000, + 0x00080000, + 0x00000190, + 0x00002710, + 0x00000050, + 0x0001011f, + 0x00010100, + 0x00000300, + 0x00000000, + 0x00000320, + 0x00004e20, + 0x00000050, + 0x0001001e, + 0x00010100, + 0x00000400, + 0x00000000, + 0x000004b0, + 0x00007530, + 0x00000050, + 0x0001001d, + 0x00010100, + 0x00000500, + 0x00000000, + 0x00000640, + 0x00009c40, + 0x00000050, + 0x0000001c, + 0x00010100, + 0x00000500, + 0x00000000, + 0x000007d0, + 0x0000c350, + 0x00000050, + 0x0000001b, + 0x01010100, + 0x00000500, + 0x00000000, + 0x00000960, + 0x0000ea60, + 0x00000050, + 0x0000001a, + 0x01010100, + 0x00000500, + 0x00000000, + 0x00000af0, + 0x00011170, + 0x00000050, + 0x00000019, + 0x01010100, + 0x00000500, + 0x00000000, + 0x00000c80, + 0x00013880, + 0x00000050, + 0x00000018, + 0x01010100, + 0x00000500, + 0x00000000, + 0x00000000, + 0x00000140, + 0x00000064, + 0x40010000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00002710, + 0x0e103000, + 0x00000000, + 0x00004e20, + 0x0e742d00, + 0x00000000, + 0x00007530, + 0x0ed82a00, + 0x00000000, + 0x00009c40, + 0x0f3c2700, + 0x00000000, + 0x0000c350, + 0x0fa02400, + 0x00000000, + 0x0000ea60, + 0x10042100, + 0x00000000, + 0x00011170, + 0x10681e00, + 0x00000000, + 0x00013880, + 0x10cc1b00, + 0x00000000, + 0x00000000, + 0x00000001, + 0x00000000, + 0x00600000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00002710, + 0x000003e8, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + 0x00000000, + SMU_FIRMWARE_PADS_1K + SMU_FIRMWARE_PADS_1K + SMU_FIRMWARE_PADS_1K + SMU_FIRMWARE_PADS_1K + SMU_FIRMWARE_PADS_1K + SMU_FIRMWARE_PADS_1K + SMU_FIRMWARE_PADS_1K + SMU_FIRMWARE_PADS_1K +}; +#endif diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbTablesKB.c b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbTablesKB.c new file mode 100644 index 0000000000..5c1fef2c20 --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbTablesKB.c @@ -0,0 +1,499 @@ +/** + * @file + * + * GNB init tables + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 86714 $ @e \$Date: 2013-01-24 17:51:46 -0600 (Thu, 24 Jan 2013) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ +/*---------------------------------------------------------------------------------------- + * M O D U L E S U S E D + *---------------------------------------------------------------------------------------- + */ +#include "AGESA.h" +#include "Gnb.h" +#include "GnbPcie.h" +#include "GnbCommonLib.h" +#include "GnbTable.h" +#include "GnbRegistersKB.h" +/*---------------------------------------------------------------------------------------- + * D E F I N I T I O N S A N D M A C R O S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * T Y P E D E F S A N D S T R U C T U R E S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * P R O T O T Y P E S O F L O C A L F U N C T I O N S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * T A B L E S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * P R O T O T Y P E S O F L O C A L F U N C T I O N S + *---------------------------------------------------------------------------------------- + */ + +GNB_TABLE ROMDATA GnbEarlierInitTableBeforeSmuKB [] = { + GNB_ENTRY_RMW ( + D0F0x98_x07_TYPE, + D0F0x98_x07_ADDRESS, + D0F0x98_x07_SMUCsrIsocEn_MASK, + (1 << D0F0x98_x07_SMUCsrIsocEn_OFFSET) + ), + GNB_ENTRY_RMW ( + D0F0x98_x1E_TYPE, + D0F0x98_x1E_ADDRESS, + D0F0x98_x1E_HiPriEn_MASK, + (1 << D0F0x98_x1E_HiPriEn_OFFSET) + ), + GNB_ENTRY_TERMINATE +}; + +GNB_TABLE ROMDATA GnbEarlyInitTableKB [] = { + // Set SVI2 + GNB_ENTRY_PROPERTY_RMW ( + TABLE_PROPERTY_SVI2, + 0x4, + 0x3F9D8, + 0x20000000, + (1 << 29) + ), + GNB_ENTRY_WR ( + D0F0x04_TYPE, + D0F0x04_ADDRESS, + (0x1 << D0F0x04_MemAccessEn_WIDTH) + ), + GNB_ENTRY_RMW ( + D0F0x64_x16_TYPE, + D0F0x64_x16_ADDRESS, + D0F0x64_x16_AerUrMsgEn_MASK, + 0x0 << D0F0x64_x16_AerUrMsgEn_OFFSET + ), + GNB_ENTRY_RMW ( + D0F0x98_x07_TYPE, + D0F0x98_x07_ADDRESS, + D0F0x98_x07_IocBwOptEn_MASK | D0F0x98_x07_DropZeroMaskWrEn_MASK, + (1 << D0F0x98_x07_IocBwOptEn_OFFSET) | (1 << D0F0x98_x07_DropZeroMaskWrEn_OFFSET) + ), + + GNB_ENTRY_RMW ( + D0F0x98_x0C_TYPE, + D0F0x98_x0C_ADDRESS, + D0F0x98_x0C_GcmWrrLenA_MASK | D0F0x98_x0C_GcmWrrLenB_MASK, + (0x8 << D0F0x98_x0C_GcmWrrLenA_OFFSET) | (0x8 << D0F0x98_x0C_GcmWrrLenB_OFFSET) + ), + + // Enable voltage controller + GNB_ENTRY_WR ( + SMU_MSG_TYPE, + SMC_MSG_VOLTAGE_CNTL_ENABLE, + 0 + ), +//--------------------------------------------------------------------------- + GNB_ENTRY_COPY ( + 0x9, + 0x49, + 0, + 32, + D0F0x64_x1F_TYPE, + D0F0x64_x1F_ADDRESS, + 0, + 32 + ), + // Enable VPC + // CSR_GNB_1.SviTrimValueVdd = Vdd Trim + GNB_ENTRY_COPY ( + 0x4, + 0x3F9F4, + 16, 8, + D18F5x12C_TYPE, + D18F5x12C_ADDRESS, + D18F5x12C_CoreLoadLineTrim_OFFSET, D18F5x12C_CoreLoadLineTrim_WIDTH + ), + // CSR_GNB_1.SviTrimValueVddNB = VddNB Trim + GNB_ENTRY_COPY ( + 0x4, + 0x3F9F4, + 24, 8, + D18F5x188_TYPE, + D18F5x188_ADDRESS, + D18F5x188_NbLoadLineTrim_OFFSET, D18F5x188_NbLoadLineTrim_WIDTH + ), + // CSR_GNB_3.SviLoadLineOffsetVdd = Vdd Offset + + GNB_ENTRY_COPY ( + 0x4, + 0x3F9F8, + 0, 8, + D18F5x12C_TYPE, + D18F5x12C_ADDRESS, + D18F5x12C_CoreOffsetTrim_OFFSET, D18F5x12C_CoreOffsetTrim_WIDTH + ), + // CSR_GNB_3.SviLoadLineOffsetVddNB = VddNB Offset + GNB_ENTRY_COPY ( + 0x4, + 0x3F9F8, + 8, 8, + D18F5x188_TYPE, + D18F5x188_ADDRESS, + D18F5x188_NbOffsetTrim_OFFSET, D18F5x188_NbOffsetTrim_WIDTH + ), + + // Set SRBM time out + GNB_ENTRY_RMW ( + 0x12, + 0xE40, + 0x1FFF, + (0x1FFF << 0) + ), + GNB_ENTRY_TERMINATE +}; + +GNB_TABLE ROMDATA GnbEnvInitTableKB [] = { + //--------------------------------------------------------------------------- + + // SMU Enable Thermal Controller + GNB_ENTRY_WR ( + SMU_MSG_TYPE, + 56, + 0 + ), + // Enable VPC + GNB_ENTRY_PROPERTY_RMW ( + 0x00040000ul, + 0x4, + 0x3F9D8, + 0x1, + (1 << 0) + ), + // Enable LHTC + GNB_ENTRY_PROPERTY_WR ( + TABLE_PROPERTY_LHTC, + SMU_MSG_TYPE, + 70, + 0 + ), + GNB_ENTRY_PROPERTY_WR ( + 0x00040000ul, + SMU_MSG_TYPE, + SMC_MSG_CONFIG_VPC_ACCUMULATOR, + 0 + ), + + // PM_CONFIG.f.enable_tdc_limit = 1; + GNB_ENTRY_PROPERTY_RMW ( + 0x00040000ul, + 0x4, + 0x3F9D8, + 0x4, + (1 << 2) + ), + GNB_ENTRY_PROPERTY_WR ( + 0x00040000ul, + SMU_MSG_TYPE, + 46, + 0 + ), + + // Enable Package Power Limit + GNB_ENTRY_PROPERTY_WR ( + 0x00080000ul, + SMU_MSG_TYPE, + SMC_MSG_ENABLE_PKGPWRLIMIT, + 0 + ), + + // Enable BAPM + // PM_CONFIG.f.enable_bapm = 1; + GNB_ENTRY_PROPERTY_RMW ( + TABLE_PROPERTY_BAPM, + 0x4, + 0x3F9D8, + 0x2, + (1 << 1) + ), + GNB_ENTRY_PROPERTY_WR ( + TABLE_PROPERTY_BAPM, + SMU_MSG_TYPE, + 48, + 0 + ), +//--------------------------------------------------------------------------- +// ORB Init + GNB_ENTRY_RMW ( + D0F0x98_x07_TYPE, + D0F0x98_x07_ADDRESS, + D0F0x98_x07_IocBwOptEn_MASK | D0F0x98_x07_DropZeroMaskWrEn_MASK, + (0x1 << D0F0x98_x07_IocBwOptEn_OFFSET) | (0x1 << D0F0x98_x07_DropZeroMaskWrEn_OFFSET) + ), + GNB_ENTRY_RMW ( + D0F0x98_x07_TYPE, + D0F0x98_x07_ADDRESS, + D0F0x98_x07_IommuBwOptEn_MASK | D0F0x98_x07_IommuIsocPassPWMode_MASK | D0F0x98_x07_DmaReqRespPassPWMode_MASK, + (0x1 << D0F0x98_x07_IommuBwOptEn_OFFSET) | (0x1 << D0F0x98_x07_IommuIsocPassPWMode_OFFSET) | (0 << D0F0x98_x07_DmaReqRespPassPWMode_OFFSET) + ), + GNB_ENTRY_RMW ( + D0F0x98_x08_TYPE, + D0F0x98_x08_ADDRESS, + D0F0x98_x08_NpWrrLenC_MASK, + 0x1 << D0F0x98_x08_NpWrrLenC_OFFSET + ), + GNB_ENTRY_RMW ( + D0F0x98_x28_TYPE, + D0F0x98_x28_ADDRESS, + D0F0x98_x28_ForceCoherentIntr_MASK, + 0x1 << D0F0x98_x28_ForceCoherentIntr_OFFSET + ), + GNB_ENTRY_RMW ( + D0F0x98_x2C_TYPE, + D0F0x98_x2C_ADDRESS, + D0F0x98_x2C_SBDmaActiveMask_MASK | D0F0x98_x2C_CgttLclkOverride_MASK, + (1 << D0F0x98_x2C_SBDmaActiveMask_OFFSET) | (1 << D0F0x98_x2C_CgttLclkOverride_OFFSET) + ), + // Enable gBIF UID Clumping [BIT 23:21 = 011b] + GNB_ENTRY_RMW ( + D0F0x98_x3A_TYPE, + D0F0x98_x3A_ADDRESS, + 0x00E00000, + 0x00600000 + ), + GNB_ENTRY_RMW ( + D18F0x110_TYPE, + D18F0x110_ADDRESS, + 0x00E00000, + 0x00600000 + ), + //NB P-state Configuration for Runtime + GNB_ENTRY_RMW ( + 0x4, + 0x3F9E8, + 0xFF | 0xFF00 | + 0xFF0000 | 0xFF000000, + (3 << 0) | (0 << 8) | + (2 << 16) | (1 << 24) + ), + // Programming a conservative watermark for NBP states + GNB_ENTRY_RMW ( + 0x12, + 0x6cd8, + 0x10 | + 0x100 | + 0xffff0000, + (1 << 4) | + (1 << 8) | + (0x7FFF << 16) + ), + + GNB_ENTRY_RMW ( + 0x12, + 0x6cc8, + 0x3 | + 0x30000, + (0x3 << 0) | + (0x3 << 16) + ), + + GNB_ENTRY_RMW ( + 0x12, + 0x6cd4, + 0xffff0000, + (0x7FFF << 16) + ), + + GNB_ENTRY_RMW ( + 0x12, + 0x6cd4, + 0x1, + (1 << 0) + ), + + GNB_ENTRY_RMW ( + 0x12, + 0x6cd8, + 0x1, + (1 << 0) + ), + + GNB_ENTRY_TERMINATE +}; + +GNB_TABLE ROMDATA GnbMidInitTableKB [] = { +//--------------------------------------------------------------------------- +// ORB clock gating + GNB_ENTRY_PROPERTY_RMW ( + 0x00000008ul, + D0F0x98_x49_TYPE, + D0F0x98_x49_ADDRESS, + D0F0x98_x49_SoftOverrideClk6_MASK | D0F0x98_x49_SoftOverrideClk5_MASK | D0F0x98_x49_SoftOverrideClk4_MASK | D0F0x98_x49_SoftOverrideClk3_MASK | D0F0x98_x49_SoftOverrideClk2_MASK | D0F0x98_x49_SoftOverrideClk1_MASK | D0F0x98_x49_SoftOverrideClk0_MASK, + 0x0 + ), + GNB_ENTRY_PROPERTY_RMW ( + 0x00000008ul, + D0F0x98_x4A_TYPE, + D0F0x98_x4A_ADDRESS, + D0F0x98_x4A_SoftOverrideClk6_MASK | D0F0x98_x4A_SoftOverrideClk5_MASK | D0F0x98_x4A_SoftOverrideClk4_MASK | D0F0x98_x4A_SoftOverrideClk3_MASK | D0F0x98_x4A_SoftOverrideClk2_MASK | D0F0x98_x4A_SoftOverrideClk1_MASK | D0F0x98_x4A_SoftOverrideClk0_MASK, + 0x0 + ), + GNB_ENTRY_PROPERTY_RMW ( + 0x00000008ul, + D0F0x98_x2C_TYPE, + D0F0x98_x2C_ADDRESS, + D0F0x98_x2C_CgttLclkOverride_MASK, + 0x0 + ), +//--------------------------------------------------------------------------- +// IOC clock gating + GNB_ENTRY_PROPERTY_RMW ( + 0x00000010ul, + D0F0x64_x22_TYPE, + D0F0x64_x22_ADDRESS, + 0x4000000 | 0x8000000 | 0x10000000 | 0x20000000 | 0x40000000, + 0x0 + ), + GNB_ENTRY_PROPERTY_RMW ( + 0x00000010ul, + D0F0x64_x23_TYPE, + D0F0x64_x23_ADDRESS, + 0x4000000 | 0x8000000 | 0x10000000 | 0x20000000 | 0x40000000, + 0x0 + ), + GNB_ENTRY_PROPERTY_RMW ( + 0x00000010ul, + D0F0x64_x46_TYPE, + D0F0x64_x46_ADDRESS, + 0x10000, + 0x0 + ), + //--------------------------------------------------------------------------- + GNB_ENTRY_RMW ( + 0x4, + 0xc0200110, + 0x18 | 0x1 | + 0x2 | 0x200 | + 0x400, + (0x3 << 3) | + (0 << 0) | + (0x0 << 1) | + (0x1 << 9) | + (0x1 << 10) + ), +//--------------------------------------------------------------------------- + GNB_ENTRY_PROPERTY_RMW ( + TABLE_PROPERTY_LCLK_DEEP_SLEEP, + 0x4, + 0xc0200310, + 0x20 | + 0x40 | + 0x80 | + 0x100 | + 0x200 | + 0x400 | + 0x800 | + 0x1000 | + 0x2000 | + 0x4000 | + 0x8000 | + 0x10000 | + 0x20000 | + 0x40000 | + 0x80000 | + 0x100000 | + 0x1 | + 0x2 | + 0x4, + ( 1 << 5) | + ( 0 << 6) | + ( 0 << 7) | + ( 0 << 8) | + ( 0 << 9) | + ( 1 << 10) | + ( 1 << 11) | + ( 1 << 12) | + ( 1 << 13) | + ( 1 << 14) | + ( 1 << 15) | + ( 1 << 16) | + ( 1 << 17) | + ( 1 << 18) | + ( 1 << 19) | + ( 1 << 20) | + ( 1 << 0) | + ( 1 << 1) | + ( 1 << 2) + ), + GNB_ENTRY_PROPERTY_RMW ( + TABLE_PROPERTY_LCLK_DEEP_SLEEP, + 0x4, + 0xc020008c, + 0x7 | + 0x8 | + 0xfff0, + ( 5 << 0) | + ( 0 << 3) | + ( 0xF << 4) + ), + GNB_ENTRY_PROPERTY_RMW ( + TABLE_PROPERTY_IGFX_DISABLED, + 0x4, + 0xc0200310, + 0x200000, + 0x0 + ), +// Reset : 0, Enable : 1 + GNB_ENTRY_PROPERTY_RMW ( + TABLE_PROPERTY_LCLK_DEEP_SLEEP, + 0x4, + 0xc020008c, + 0x80000000, + (0x1 << 31) + ), +//--------------------------------------------------------------------------- + GNB_ENTRY_TERMINATE +}; diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbUraKB.c b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbUraKB.c new file mode 100644 index 0000000000..c5eb8a1dc0 --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbUraKB.c @@ -0,0 +1,260 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * Initialize PP/DPM fuse table. + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 84150 $ @e \$Date: 2012-12-12 15:46:25 -0600 (Wed, 12 Dec 2012) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ + +/*---------------------------------------------------------------------------------------- + * M O D U L E S U S E D + *---------------------------------------------------------------------------------------- + */ +#include "AGESA.h" +#include "amdlib.h" +#include "Ids.h" +#include "Gnb.h" +#include "GnbPcieConfig.h" +#include "GnbCommonLib.h" +#include "GnbUra.h" +#include "GnbUraToken.h" +#include "GnbRegisterAccKB.h" +#include "GnbRegistersKB.h" +#include "Filecode.h" +#define FILECODE PROC_GNB_MODULES_GNBINITKB_GNBURAKB_FILECODE + +/*---------------------------------------------------------------------------------------- + * D E F I N I T I O N S A N D M A C R O S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * T Y P E D E F S A N D S T R U C T U R E S + *---------------------------------------------------------------------------------------- + */ + +/*---------------------------------------------------------------------------------------- + * P R O T O T Y P E S O F L O C A L F U N C T I O N S + *---------------------------------------------------------------------------------------- + */ +VOID +GnbUraGetKB ( + IN DEV_OBJECT *Device, + IN URA_TOKEN_INFO *UraTokenInfo, + IN OUT VOID *Value + ); + +VOID +GnbUraSetKB ( + IN DEV_OBJECT *Device, + IN URA_TOKEN_INFO *UraTokenInfo, + IN OUT VOID *Value + ); + +VOID +GnbUraStreamSetKB ( + IN DEV_OBJECT *Device, + IN URA_TOKEN_INFO *UraTokenInfo, + IN OUT URA_TUPLE *UraTuple, + IN UINT32 CombinedCount + ); + +/*----------------------------------------------------------------------------------------*/ +/** + * Gnb Unified Register Access method + * + * + * @param[in] Device Pointer to Device object + * @param[in] UraTokenInfo Pointer to URA_TOKEN_INFO structure + * @param[in, out] Value Pointer to Context + */ +VOID +GnbUraGetKB ( + IN DEV_OBJECT *Device, + IN URA_TOKEN_INFO *UraTokenInfo, + IN OUT VOID *Value + ) +{ + ACCESS_WIDTH Width; + UINT32 RegValue; + UINT32 FieldMask; + UINT32 TargetAddress; + + RegValue = 0; + Width = (UraTokenInfo->Flags == GNB_URA_FLAG_S3SAVE) ? AccessS3SaveWidth32 : AccessWidth32; + switch (UraTokenInfo->MethodType) { + case TYPE_GNB_INDIRECT_ACCESS: + TargetAddress = Device->DevPciAddress.AddressValue | UraTokenInfo->RegDomainType; + GnbLibPciIndirectRead ( TargetAddress, UraTokenInfo->RegAddress, Width, &RegValue, Device->StdHeader); + IDS_HDT_CONSOLE (NB_MISC, " Ura GET: RegDomainType = 0x%x IndirectAddress = 0x%08x, Value = 0x%08x\n", UraTokenInfo->RegDomainType, UraTokenInfo->RegAddress, RegValue); + break; + + case TYPE_GNB_PROTOCOL_ACCESS: + TargetAddress = UraTokenInfo->RegDomainType; + GnbRegisterReadKB (Device->GnbHandle, (UINT8)TargetAddress, UraTokenInfo->RegAddress, &RegValue, UraTokenInfo->Flags, Device->StdHeader); + IDS_HDT_CONSOLE (NB_MISC, " Ura GET: RegDomainType = %d, Address = 0x%08x, Value = 0x%08x\n", TargetAddress, UraTokenInfo->RegAddress, RegValue); + break; + + default: + ASSERT (FALSE); + return; + } + + if (UraTokenInfo->WholeRegAccess == TRUE) { + *(UINT32 *)Value = RegValue; + } else { + RegValue = RegValue >> UraTokenInfo->BfOffset; + FieldMask = (((UINT32)1 << UraTokenInfo->BfWidth) - 1); + *(UINT32 *)Value = RegValue & FieldMask; + } + +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Gnb Unified Register Access method + * + * + * @param[in] Device Pointer to Device object + * @param[in] UraTokenInfo Pointer to URA_TOKEN_INFO structure + * @param[in, out] Value Pointer to Context + */ +VOID +GnbUraSetKB ( + IN DEV_OBJECT *Device, + IN URA_TOKEN_INFO *UraTokenInfo, + IN OUT VOID *Value + ) +{ + ACCESS_WIDTH Width; + UINT32 RegValue; + UINT32 TargetValue; + UINT32 FieldMask; + UINT32 TempValue; + + Width = (UraTokenInfo->Flags == GNB_URA_FLAG_S3SAVE) ? AccessS3SaveWidth32 : AccessWidth32; + FieldMask = 0; + TempValue = *(UINT32 *)Value; + + switch (UraTokenInfo->MethodType) { + case TYPE_GNB_INDIRECT_ACCESS: + if (UraTokenInfo->WholeRegAccess == TRUE) { + TargetValue = TempValue; + } else { + GnbLibPciIndirectRead ( Device->DevPciAddress.AddressValue | UraTokenInfo->RegDomainType, UraTokenInfo->RegAddress, Width, &RegValue, Device->StdHeader); + FieldMask = (((UINT32)1 << UraTokenInfo->BfWidth) - 1); + TargetValue = RegValue & (~(FieldMask << UraTokenInfo->BfOffset)); + TargetValue |= (TempValue & FieldMask) << UraTokenInfo->BfOffset; + } + GnbLibPciIndirectWrite ( Device->DevPciAddress.AddressValue | UraTokenInfo->RegDomainType, UraTokenInfo->RegAddress, Width, &TargetValue, Device->StdHeader); + IDS_HDT_CONSOLE (NB_MISC, " Ura SET: RegDomainType = 0x%x IndirectAddress = 0x%08x, Value = 0x%08x\n", UraTokenInfo->RegDomainType, UraTokenInfo->RegAddress, TargetValue); + break; + + case TYPE_GNB_PROTOCOL_ACCESS: + if (UraTokenInfo->WholeRegAccess == TRUE) { + TargetValue = TempValue; + } else { + GnbRegisterReadKB (Device->GnbHandle, UraTokenInfo->RegDomainType, UraTokenInfo->RegAddress, &RegValue, UraTokenInfo->Flags, Device->StdHeader); + FieldMask = (((UINT32)1 << UraTokenInfo->BfWidth) - 1); + TargetValue = RegValue & (~(FieldMask << UraTokenInfo->BfOffset)); + TargetValue |= (TempValue & FieldMask) << UraTokenInfo->BfOffset; + } + GnbRegisterWriteKB (Device->GnbHandle, UraTokenInfo->RegDomainType, UraTokenInfo->RegAddress, &TargetValue, UraTokenInfo->Flags, Device->StdHeader); + IDS_HDT_CONSOLE (NB_MISC, " Ura SET: RegDomainType = %d, Address = 0x%08x, Value = 0x%08x\n", UraTokenInfo->RegDomainType, UraTokenInfo->RegAddress, TargetValue); + break; + + default: + ASSERT (FALSE); + break; + } + +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Gnb Unified Register Access method + * + * + * @param[in] Device Pointer to device object + * @param[in] UraTokenInfo Pointer to URA_TOKEN_INFO structure + * @param[in, out] UraTuple Pointer to structure URA_TUPLE + * @param[in] CombinedCount Token count + */ +VOID +GnbUraStreamSetKB ( + IN DEV_OBJECT *Device, + IN URA_TOKEN_INFO *UraTokenInfo, + IN OUT URA_TUPLE *UraTuple, + IN UINT32 CombinedCount + ) +{ + ACCESS_WIDTH Width; + UINT32 RegValue; + UINT32 Index; + UINT32 StreamSetAddress; + UINT32 StepLength; + UINT32 TargetAddress; + + Width = (UraTokenInfo->Flags == GNB_URA_FLAG_S3SAVE) ? AccessS3SaveWidth32 : AccessWidth32; + StreamSetAddress = UraTokenInfo->RegAddress; + StepLength = UraTuple->StepLength; + for (Index = 0; Index < CombinedCount; Index++) { + RegValue = *(((UINT32 *) ((UINTN)UraTuple->Value)) + Index); + switch (UraTokenInfo->MethodType) { + case TYPE_GNB_INDIRECT_ACCESS: + TargetAddress = Device->DevPciAddress.AddressValue | UraTokenInfo->RegDomainType; + //IDS_HDT_CONSOLE (NB_MISC, "0x%08x:0x%08x, \n", StreamSetAddress, RegValue); + GnbLibPciIndirectWrite (TargetAddress, StreamSetAddress, Width, &RegValue, Device->StdHeader); + break; + + case TYPE_GNB_PROTOCOL_ACCESS: + TargetAddress = UraTokenInfo->RegDomainType; + GnbRegisterWriteKB (Device->GnbHandle, (UINT8)TargetAddress, StreamSetAddress, &RegValue, UraTokenInfo->Flags, Device->StdHeader); + break; + + default: + ASSERT (FALSE); + return; + } + StreamSetAddress += StepLength; + } +} + diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbUraTokenMapKB.c b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbUraTokenMapKB.c new file mode 100644 index 0000000000..2d75fcee51 --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/GnbUraTokenMapKB.c @@ -0,0 +1,122 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * AGESA gnb file + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 84150 $ @e \$Date: 2012-12-12 15:46:25 -0600 (Wed, 12 Dec 2012) $ + * + */ +/* + ****************************************************************************** + * + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. + ****************************************************************************** + */ +/*---------------------------------------------------------------------------------------- + * M O D U L E S U S E D + *---------------------------------------------------------------------------------------- + */ +#include "AGESA.h" +#include "amdlib.h" +#include "Ids.h" +#include "Gnb.h" +#include "GnbUra.h" +#include "GnbUraToken.h" +#include "GnbRegistersKB.h" +#include "Filecode.h" +#define FILECODE PROC_GNB_MODULES_GNBINITKB_GNBURATOKENMAPKB_FILECODE + +/*---------------------------------------------------------------------------------------- + * D E F I N I T I O N S A N D M A C R O S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * T Y P E D E F S A N D S T R U C T U R E S + *---------------------------------------------------------------------------------------- + */ + +VOID +GnbUraLocateRegTblKB ( + IN DEV_OBJECT *Device, + IN OUT UINT32 *UraTableAddress + ); +/*---------------------------------------------------------------------------------------- + * P R O T O T Y P E S O F L O C A L F U N C T I O N S + *---------------------------------------------------------------------------------------- + */ + +REG_FIELD_TABLE_STRUCT UraTableKB = { + {0xC2100000, 0x4, 0}, + {0, 1, FIELD_OFFSET(RxSmuIntReq ,BfxSmuIntToggle)}, + {1, 16, FIELD_OFFSET(RxSmuIntReq ,BfxSmuServiceIndex)}, + {0xC2100004, 0x4, 0}, + {0, 1, FIELD_OFFSET(RxSmuIntSts ,BfxSmuIntAck)}, + {1, 1, FIELD_OFFSET(RxSmuIntSts ,BfxSmuIntDone)}, + {0xE0003088, 0x4, 0}, + {0, 1, FIELD_OFFSET(RxSmuAuthSts ,BfxSmuAuthDone)}, + {1, 1, FIELD_OFFSET(RxSmuAuthSts ,BfxSmuAuthPass)}, + {0xE00030A4, 0x4, 0}, + {16, 1, FIELD_OFFSET(RxSmuFwAuth ,BfxSmuProtectedMode)}, + {0xC0000004, 0x4, 0}, + {7, 1, FIELD_OFFSET(REG_FIELD_TABLE_STRUCT_fld11 ,BfxSmuBootSeqDone)}, + {0x3F800, 0x4, 0}, + {0, 1, FIELD_OFFSET(RxSmuFwFlags ,BfxSmuInterruptsEnabled)}, + {0x80000000, 0x4, 0}, + {0, 1, FIELD_OFFSET(RxSmuResetCntl ,BfxSmuRstReg)}, + {0x80000004, 0x4, 0}, + {0, 1, FIELD_OFFSET(RxSmuClkCntl ,BfxSmuCkDisable)}, + {0x80008000, 0x4, 0}, + {D0F0xBC_x20000_ADDRESS, D0F0xBC_x20000_TYPE, 0}, + {D0F0xBC_x0_ADDRESS, D0F0xBC_x0_TYPE, 0}, + {D0F0xBC_xC210003C_ADDRESS, D0F0xBC_xC210003C_TYPE, 0}, + +}; + +/*----------------------------------------------------------------------------------------*/ +/** + * Gnb Unified Register Access method to locate register table. + * + * + * @param[in] Device Standard configuration header + * @param[in, out] UraTableAddress Ura register table address + */ +VOID +GnbUraLocateRegTblKB ( + IN DEV_OBJECT *Device, + IN OUT UINT32 *UraTableAddress + ) +{ + *UraTableAddress = (UINT32)((UINTN)(&UraTableKB)); + return; +} + + diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PcieComplexDataKB.c b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PcieComplexDataKB.c new file mode 100644 index 0000000000..5fd3cca0eb --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PcieComplexDataKB.c @@ -0,0 +1,447 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * Family specific PCIe configuration data + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 84150 $ @e \$Date: 2012-12-12 15:46:25 -0600 (Wed, 12 Dec 2012) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ + +/*---------------------------------------------------------------------------------------- + * M O D U L E S U S E D + *---------------------------------------------------------------------------------------- + */ +#include "AGESA.h" +#include "Ids.h" +#include "amdlib.h" +#include "Gnb.h" +#include "GnbPcie.h" +#include "GnbPcieFamServices.h" +#include "PcieComplexDataKB.h" +#include "Filecode.h" +#define FILECODE PROC_GNB_MODULES_GNBINITKB_PCIECOMPLEXDATAKB_FILECODE +/*---------------------------------------------------------------------------------------- + * D E F I N I T I O N S A N D M A C R O S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * T Y P E D E F S A N D S T R U C T U R E S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * P R O T O T Y P E S O F L O C A L F U N C T I O N S + *---------------------------------------------------------------------------------------- + */ +AGESA_STATUS +PcieGetComplexDataLengthKB ( + IN UINT8 SocketId, + OUT UINTN *Length, + IN AMD_CONFIG_PARAMS *StdHeader + ); + +AGESA_STATUS +PcieBuildComplexConfigurationKB ( + IN UINT8 SocketId, + OUT VOID *Buffer, + IN AMD_CONFIG_PARAMS *StdHeader + ); + +UINT32 +PcieGetNativePhyLaneBitmapKB ( + IN UINT32 PhyLaneBitmap, + IN PCIe_ENGINE_CONFIG *Engine + ); +// +// Complex configuration +// + +KB_COMPLEX_CONFIG ComplexDataKB = { + //Silicon + { + { + DESCRIPTOR_SILICON | DESCRIPTOR_TERMINATE_LIST | DESCRIPTOR_TERMINATE_GNB | DESCRIPTOR_TERMINATE_TOPOLOGY, + 0, + 0, + offsetof (KB_COMPLEX_CONFIG, GppWrapper) - offsetof (KB_COMPLEX_CONFIG, Silicon) + }, + 0, + 0xFF, + 0xFF + }, + //Gpp Wrapper + { + { + DESCRIPTOR_PCIE_WRAPPER, + offsetof (KB_COMPLEX_CONFIG, GppWrapper) - offsetof (KB_COMPLEX_CONFIG, Silicon), + offsetof (KB_COMPLEX_CONFIG, DdiWrapper) - offsetof (KB_COMPLEX_CONFIG, GppWrapper), + offsetof (KB_COMPLEX_CONFIG, PortPBR4) - offsetof (KB_COMPLEX_CONFIG, GppWrapper) + }, + GPP_WRAP_ID, + GPP_NUMBER_OF_PIFs, + GPP_START_PHY_LANE, + GPP_END_PHY_LANE, + GPP_CORE_ID, + GPP_CORE_ID, + GPP_END_PHY_LANE - GPP_START_PHY_LANE + 1, + { + 1, + 1, + 1, + 1, + 1, + 1, + 1 + }, + }, + //Virtual DDI Wrapper + { + { + DESCRIPTOR_DDI_WRAPPER | DESCRIPTOR_VIRTUAL | DESCRIPTOR_TERMINATE_LIST | DESCRIPTOR_TERMINATE_GNB | DESCRIPTOR_TERMINATE_TOPOLOGY, + offsetof (KB_COMPLEX_CONFIG, DdiWrapper) - offsetof (KB_COMPLEX_CONFIG, Silicon), + 0, + offsetof (KB_COMPLEX_CONFIG, Ddi1) - offsetof (KB_COMPLEX_CONFIG, DdiWrapper) + }, + DDI_WRAP_ID, + 0, + DDI_START_PHY_LANE, + DDI_END_PHY_LANE, + -1, + 0, + 0, + { + 1, + 1, + 1, + 1, + 1, + 0, + 1 + }, + }, +//------------------------------ GPP WRAPPER START------------------------------------- + //Port PBR4 + { + { + DESCRIPTOR_PCIE_ENGINE, + offsetof (KB_COMPLEX_CONFIG, PortPBR4) - offsetof (KB_COMPLEX_CONFIG, GppWrapper), + offsetof (KB_COMPLEX_CONFIG, PortPBR3) - offsetof (KB_COMPLEX_CONFIG, PortPBR4), + 0 + }, + { PciePortEngine, GPP_START_PHY_LANE, GPP_END_PHY_LANE }, + 0, //Initialization Status + 0xFF, //Scratch + { + { + {0}, + 7, + 7, + PBR4_NATIVE_PCI_DEV, + PBR4_NATIVE_PCI_FUN, + PBR4_CORE_ID, + PBR4_PORT_ID, + {(UINT32)PBR4_PCI_ADDRESS}, + LinkStateResetExit, + PBR4, + PBR4_UNIT_ID, + PBR4_NUM_UNIT_IDs + }, + }, + }, + //Port PBR3 + { + { + DESCRIPTOR_PCIE_ENGINE, + offsetof (KB_COMPLEX_CONFIG, PortPBR3) - offsetof (KB_COMPLEX_CONFIG, GppWrapper), + offsetof (KB_COMPLEX_CONFIG, PortPBR2) - offsetof (KB_COMPLEX_CONFIG, PortPBR3), + 0 + }, + { PciePortEngine, GPP_START_PHY_LANE, GPP_END_PHY_LANE }, + 0, //Initialization Status + 0xFF, //Scratch + { + { + {0}, + 6, + 6, + PBR3_NATIVE_PCI_DEV, + PBR3_NATIVE_PCI_FUN, + PBR3_CORE_ID, + PBR3_PORT_ID, + {(UINT32)PBR3_PCI_ADDRESS}, + LinkStateResetExit, + PBR3, + PBR3_UNIT_ID, + PBR3_NUM_UNIT_IDs + }, + }, + }, + //Port PBR2 + { + { + DESCRIPTOR_PCIE_ENGINE, + offsetof (KB_COMPLEX_CONFIG, PortPBR2) - offsetof (KB_COMPLEX_CONFIG, GppWrapper), + offsetof (KB_COMPLEX_CONFIG, PortPBR1) - offsetof (KB_COMPLEX_CONFIG, PortPBR2), + 0 + }, + { PciePortEngine, GPP_START_PHY_LANE, GPP_END_PHY_LANE}, + 0, //Initialization Status + 0xFF, //Scratch + { + { + {0}, + 5, + 5, + PBR2_NATIVE_PCI_DEV, + PBR2_NATIVE_PCI_FUN, + PBR2_CORE_ID, + PBR2_PORT_ID, + {(UINT32)PBR2_PCI_ADDRESS}, + LinkStateResetExit, + PBR2, + PBR2_UNIT_ID, + PBR2_NUM_UNIT_IDs + }, + }, + }, + //Port PBR1 + { + { + DESCRIPTOR_PCIE_ENGINE, + offsetof (KB_COMPLEX_CONFIG, PortPBR1) - offsetof (KB_COMPLEX_CONFIG, GppWrapper), + offsetof (KB_COMPLEX_CONFIG, PortPBR0) - offsetof (KB_COMPLEX_CONFIG, PortPBR1), + 0 + }, + { PciePortEngine, GPP_START_PHY_LANE, GPP_END_PHY_LANE }, + 0, //Initialization Status + 0xFF, //Scratch + { + { + {0}, + 4, + 4, + PBR1_NATIVE_PCI_DEV, + PBR1_NATIVE_PCI_FUN, + PBR1_CORE_ID, + PBR1_PORT_ID, + {(UINT32)PBR1_PCI_ADDRESS}, + LinkStateResetExit, + PBR1, + PBR1_UNIT_ID, + PBR1_NUM_UNIT_IDs + }, + }, + }, + //Port PBR0 + { + { + DESCRIPTOR_PCIE_ENGINE | DESCRIPTOR_TERMINATE_LIST, + offsetof (KB_COMPLEX_CONFIG, PortPBR0) - offsetof (KB_COMPLEX_CONFIG, GppWrapper), + offsetof (KB_COMPLEX_CONFIG, Ddi1) - offsetof (KB_COMPLEX_CONFIG, PortPBR0), + 0 + }, + { PciePortEngine, GPP_START_PHY_LANE, GPP_END_PHY_LANE }, + 0, //Initialization Status + 0xFF, //Scratch + { + { + {0}, + 0, + 3, + PBR0_NATIVE_PCI_DEV, + PBR0_NATIVE_PCI_FUN, + PBR0_CORE_ID, + PBR0_PORT_ID, + {(UINT32)PBR0_PCI_ADDRESS}, + LinkStateResetExit, + PBR0, + PBR0_UNIT_ID, + PBR0_NUM_UNIT_IDs + }, + }, + }, +//------------------------------ GPP WRAPPER END ------------------------------------- +//------------------------------ DDI WRAPPER START---------------------------------- + //Ddi1 + { + { + DESCRIPTOR_DDI_ENGINE | DESCRIPTOR_VIRTUAL, + offsetof (KB_COMPLEX_CONFIG, Ddi1) - offsetof (KB_COMPLEX_CONFIG, DdiWrapper), + offsetof (KB_COMPLEX_CONFIG, Ddi2) - offsetof (KB_COMPLEX_CONFIG, Ddi1), + 0 + }, + {PcieDdiEngine}, + 0, //Initialization Status + 0xFF //Scratch + }, + //Ddi2 + { + { + DESCRIPTOR_DDI_ENGINE | DESCRIPTOR_VIRTUAL, + offsetof (KB_COMPLEX_CONFIG, Ddi2) - offsetof (KB_COMPLEX_CONFIG, DdiWrapper), + offsetof (KB_COMPLEX_CONFIG, Vga) - offsetof (KB_COMPLEX_CONFIG, Ddi2), + 0 + }, + {PcieDdiEngine}, + 0, //Initialization Status + 0xFF //Scratch + }, + //Vga + { + { + DESCRIPTOR_DDI_ENGINE | DESCRIPTOR_VIRTUAL | DESCRIPTOR_TERMINATE_LIST | DESCRIPTOR_TERMINATE_GNB | DESCRIPTOR_TERMINATE_TOPOLOGY, + offsetof (KB_COMPLEX_CONFIG, Vga) - offsetof (KB_COMPLEX_CONFIG, DdiWrapper), + 0, + 0 + }, + {PcieDdiEngine}, + 0, //Initialization Status + 0xFF //Scratch + }, + { + {0, 0, 0, 0, 0} + } +}; + +// +// PCIe lane allocation GPP +// +UINT8 ROMDATA GppPortLaneConfigurationTableKB [] = { + UNUSED_LANE_ID, UNUSED_LANE_ID, UNUSED_LANE_ID, UNUSED_LANE_ID, UNUSED_LANE_ID, UNUSED_LANE_ID, 4, 7, 0, 3, + UNUSED_LANE_ID, UNUSED_LANE_ID, UNUSED_LANE_ID, UNUSED_LANE_ID, 6, 7, 4, 5, 0, 3, + UNUSED_LANE_ID, UNUSED_LANE_ID, 7, 7, 6, 6, 4, 5, 0, 3, + 7, 7, 6, 6, 5, 5, 4, 4, 0, 3 +}; + +// +// DDI lane allocation DDI +// +UINT8 ROMDATA DdiLaneConfigurationTableKB [] = { + 0, 3, 4, 7, 8, 11 +}; + +// +// PCIe lane allocation desfriptors +// +PCIe_LANE_ALLOC_DESCRIPTOR ROMDATA PcieLaneAllocConfigurationKB[] = { + { + 0, + GPP_WRAP_ID, + PciePortEngine, + NUMBER_OF_GPP_PORTS, + sizeof (GppPortLaneConfigurationTableKB) / (NUMBER_OF_GPP_PORTS * 2), + &GppPortLaneConfigurationTableKB[0] + }, + { + DESCRIPTOR_TERMINATE_LIST, + DDI_WRAP_ID, + PcieDdiEngine, + NUMBER_OF_DDI_DDIS, + sizeof (DdiLaneConfigurationTableKB) / (NUMBER_OF_DDI_DDIS * 2), + &DdiLaneConfigurationTableKB[0] + } +}; + + +/*----------------------------------------------------------------------------------------*/ +/** + * Get length of data block for complex + * + * + * + * @param[in] SocketId Socket ID. + * @param[out] Length Length of configuration info block + * @param[out] StdHeader Standard configuration header + * @retval AGESA_SUCCESS Configuration data length is correct + */ +AGESA_STATUS +PcieGetComplexDataLengthKB ( + IN UINT8 SocketId, + OUT UINTN *Length, + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + *Length = sizeof (KB_COMPLEX_CONFIG); + return AGESA_SUCCESS; +} + + +/*----------------------------------------------------------------------------------------*/ +/** + * Build configuration + * + * + * + * @param[in] SocketId Socket ID. + * @param[out] Buffer Pointer to buffer to build internal complex data structure + * @param[out] StdHeader Standard configuration header. + * @retval AGESA_SUCCESS Configuration data build successfully + */ +AGESA_STATUS +PcieBuildComplexConfigurationKB ( + IN UINT8 SocketId, + OUT VOID *Buffer, + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + LibAmdMemCopy (Buffer, &ComplexDataKB, sizeof (KB_COMPLEX_CONFIG), StdHeader); + return AGESA_SUCCESS; +} + +/*----------------------------------------------------------------------------------------*/ +/** + * get native PHY lane bitmap + * + * + * @param[in] PhyLaneBitmap Package PHY lane bitmap + * @param[in] Engine Standard configuration header. + * @retval Native PHY lane bitmap + */ +UINT32 +PcieGetNativePhyLaneBitmapKB ( + IN UINT32 PhyLaneBitmap, + IN PCIe_ENGINE_CONFIG *Engine + ) +{ + + return PhyLaneBitmap; +} diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PcieComplexDataKB.h b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PcieComplexDataKB.h new file mode 100644 index 0000000000..6663031ec4 --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PcieComplexDataKB.h @@ -0,0 +1,157 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * Family specific PCIe definitions + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 84150 $ @e \$Date: 2012-12-12 15:46:25 -0600 (Wed, 12 Dec 2012) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ +#ifndef _PCIECOMPLEXDATAKB_H_ +#define _PCIECOMPLEXDATAKB_H_ + +#define MAX_NUM_PHYs 2 +#define MAX_NUM_LANE_PER_PHY 8 + +#define NUMBER_OF_GPP_PORTS 5 +#define NUMBER_OF_DDI_DDIS 3 + +#define NON_INITIALIZED_PCI_ADDRESS 0 + +#define GPP_WRAP_ID 0 +#define GPP_START_PHY_LANE 0 +#define GPP_END_PHY_LANE 7 +#define GPP_CORE_ID 0 +#define GPP_NUMBER_OF_PIFs 1 + +#define DDI_WRAP_ID 3 +#define DDI_START_PHY_LANE 8 +#define DDI_END_PHY_LANE 19 +#define DDI_NUMBER_OF_PIFs 1 + +// PBR0 +#define PBR0 0 +#define PBR0_NATIVE_PCI_DEV 2 +#define PBR0_NATIVE_PCI_FUN 1 +#define PBR0_CORE_ID GPP_CORE_ID +#define PBR0_PORT_ID 0 +#define PBR0_PCI_ADDRESS NON_INITIALIZED_PCI_ADDRESS +#define PBR0_UNIT_ID 0x4 +#define PBR0_NUM_UNIT_IDs 0x1 + +// PBR1 +#define PBR1 1 +#define PBR1_NATIVE_PCI_DEV 2 +#define PBR1_NATIVE_PCI_FUN 2 +#define PBR1_CORE_ID GPP_CORE_ID +#define PBR1_PORT_ID 1 +#define PBR1_PCI_ADDRESS NON_INITIALIZED_PCI_ADDRESS +#define PBR1_UNIT_ID 0x5 +#define PBR1_NUM_UNIT_IDs 0x1 + +// PBR2 +#define PBR2 2 +#define PBR2_NATIVE_PCI_DEV 2 +#define PBR2_NATIVE_PCI_FUN 3 +#define PBR2_CORE_ID GPP_CORE_ID +#define PBR2_PORT_ID 2 +#define PBR2_PCI_ADDRESS NON_INITIALIZED_PCI_ADDRESS +#define PBR2_UNIT_ID 0x6 +#define PBR2_NUM_UNIT_IDs 0x1 + +// PBR3 +#define PBR3 3 +#define PBR3_NATIVE_PCI_DEV 2 +#define PBR3_NATIVE_PCI_FUN 4 +#define PBR3_CORE_ID GPP_CORE_ID +#define PBR3_PORT_ID 3 +#define PBR3_PCI_ADDRESS NON_INITIALIZED_PCI_ADDRESS +#define PBR3_UNIT_ID 0x7 +#define PBR3_NUM_UNIT_IDs 0x1 + +// PBR4 +#define PBR4 4 +#define PBR4_NATIVE_PCI_DEV 2 +#define PBR4_NATIVE_PCI_FUN 5 +#define PBR4_CORE_ID GPP_CORE_ID +#define PBR4_PORT_ID 4 +#define PBR4_PCI_ADDRESS NON_INITIALIZED_PCI_ADDRESS +#define PBR4_UNIT_ID 0x8 +#define PBR4_NUM_UNIT_IDs 0x1 + +#define MaxDevNum 4 +#define MaxDevFunc 5 + +#define GPP_CORE_x4x4 ((4ull << 8) | (4ull << 0)) +#define GPP_CORE_x4x2x2 ((2ull << 16) | (2ull << 8) | (4ull << 0)) +#define GPP_CORE_x4x2x1x1 ((1ull << 24) | (1ull << 16) | (2ull << 8) | (4ull << 0)) +#define GPP_CORE_x4x1x1x1x1 ((1ull << 32) | (1ull << 24) | (1ull << 16) | (1ull << 8) | (4ull << 0)) + +///Family specific silicon configuration +typedef struct { + UINT8 PortDevMap [5]; ///< Device number that has beed allocated already +} KB_PCIe_SILICON_CONFIG; + + +/// Complex Configuration for silicon module +typedef struct { + PCIe_SILICON_CONFIG Silicon; ///< Silicon + + PCIe_WRAPPER_CONFIG GppWrapper; ///< GPP Wrapper + PCIe_WRAPPER_CONFIG DdiWrapper; ///< DDI Wrapper + + // GPP + PCIe_ENGINE_CONFIG PortPBR4; ///< Port PBR6 + PCIe_ENGINE_CONFIG PortPBR3; ///< Port PBR5 + PCIe_ENGINE_CONFIG PortPBR2; ///< Port PBR4 + PCIe_ENGINE_CONFIG PortPBR1; ///< Port PBR3 + PCIe_ENGINE_CONFIG PortPBR0; ///< Port PBR2 + + // DDI + PCIe_ENGINE_CONFIG Ddi1; ///< Ddi1 + PCIe_ENGINE_CONFIG Ddi2; ///< Ddi2 + PCIe_ENGINE_CONFIG Vga; ///< Vga + KB_PCIe_SILICON_CONFIG FmSilicon; ///< Fm silicon config +} KB_COMPLEX_CONFIG; + + +VOID +PcieSetPortPciAddressMapKB ( + IN PCIe_SILICON_CONFIG *Silicon + ); +#endif diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PcieConfigKB.c b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PcieConfigKB.c new file mode 100644 index 0000000000..bc87ddef3d --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PcieConfigKB.c @@ -0,0 +1,626 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * Family specific PCIe wrapper configuration services + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 84150 $ @e \$Date: 2012-12-12 15:46:25 -0600 (Wed, 12 Dec 2012) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ + +/*---------------------------------------------------------------------------------------- + * M O D U L E S U S E D + *---------------------------------------------------------------------------------------- + */ +#include "AGESA.h" +#include "Ids.h" +#include "amdlib.h" +#include "Gnb.h" +#include "GnbPcie.h" +#include "GnbPcieFamServices.h" +#include "GnbCommonLib.h" +#include "GnbPcieConfig.h" +#include "GnbPcieInitLibV1.h" +#include "GnbRegistersKB.h" +#include "GnbRegisterAccKB.h" +#include "PcieComplexDataKB.h" +#include "Filecode.h" +#define FILECODE PROC_GNB_MODULES_GNBINITKB_PCIECONFIGKB_FILECODE +/*---------------------------------------------------------------------------------------- + * D E F I N I T I O N S A N D M A C R O S + *---------------------------------------------------------------------------------------- + */ +#define DEVFUNC(d, f) ((((UINT8) d) << 3) | ((UINT8) f)) + +extern PCIe_LANE_ALLOC_DESCRIPTOR ROMDATA PcieLaneAllocConfigurationKB[]; + +/*---------------------------------------------------------------------------------------- + * T Y P E D E F S A N D S T R U C T U R E S + *---------------------------------------------------------------------------------------- + */ +CONST CHAR8* +PcieDebugGetCoreConfigurationStringKB ( + IN PCIe_WRAPPER_CONFIG *Wrapper, + IN UINT8 ConfigurationValue + ); + +CONST CHAR8* +PcieDebugGetHostRegAddressSpaceStringKB ( + IN PCIe_SILICON_CONFIG *Silicon, + IN UINT16 AddressFrame + ); + +BOOLEAN +PcieCheckPortPcieLaneCanBeMuxedKB ( + IN PCIe_PORT_DESCRIPTOR *PortDescriptor, + IN PCIe_ENGINE_CONFIG *Engine + ); + +AGESA_STATUS +PcieMapPortPciAddressKB ( + IN PCIe_ENGINE_CONFIG *Engine + ); + +/*---------------------------------------------------------------------------------------- + * P R O T O T Y P E S O F L O C A L F U N C T I O N S + *---------------------------------------------------------------------------------------- + */ +CONST CHAR8* +PcieDebugGetWrapperNameStringKB ( + IN PCIe_WRAPPER_CONFIG *Wrapper + ); + +AGESA_STATUS +PcieConfigureEnginesLaneAllocationKB ( + IN PCIe_WRAPPER_CONFIG *Wrapper, + IN PCIE_ENGINE_TYPE EngineType, + IN UINT8 ConfigurationId + ); + +AGESA_STATUS +PcieGetCoreConfigurationValueKB ( + IN PCIe_WRAPPER_CONFIG *Wrapper, + IN UINT8 CoreId, + IN UINT64 ConfigurationSignature, + IN UINT8 *ConfigurationValue + ); + +BOOLEAN +PcieCheckPortPciDeviceMappingKB ( + IN PCIe_PORT_DESCRIPTOR *PortDescriptor, + IN PCIe_ENGINE_CONFIG *Engine + ); + +AGESA_STATUS +PcieGetSbConfigInfoKB ( + IN UINT8 SocketId, + OUT PCIe_PORT_DESCRIPTOR *SbPort, + IN AMD_CONFIG_PARAMS *StdHeader + ); + +// +// Default port dev map +// +UINT8 ROMDATA DefaultPortDevMap [] = { + DEVFUNC (2, 1), + DEVFUNC (2, 2), + DEVFUNC (2, 3), + DEVFUNC (2, 4), + DEVFUNC (2, 5) +}; + +// +// Default apic config +// +APIC_DEVICE_INFO ROMDATA DefaultIoapicConfig [] = { + {0, 0, 0x18}, + {1, 0, 0x19}, + {2, 0, 0x1A}, + {3, 0, 0x1B}, + {4, 0, 0x18} +}; + + +/*----------------------------------------------------------------------------------------*/ +/** + * Configure engine list to support lane allocation according to configuration ID. + * + * + * + * @param[in] Wrapper Pointer to wrapper config descriptor + * @param[in] PcieLaneConfig Lane configuration descriptor + * @param[in] ConfigurationId Configuration ID + * @retval AGESA_SUCCESS Configuration successfully applied + * @retval AGESA_ERROR Requested configuration not supported + */ +STATIC AGESA_STATUS +PcieConfigurePcieEnginesLaneAllocation ( + IN PCIe_WRAPPER_CONFIG *Wrapper, + IN PCIe_LANE_ALLOC_DESCRIPTOR *PcieLaneConfig, + IN UINT8 ConfigurationId + ) +{ + UINT8 CoreLaneIndex; + PCIe_ENGINE_CONFIG *EnginesList; + + if (ConfigurationId >= PcieLaneConfig->NumberOfConfigurations) { + return AGESA_ERROR; + } + EnginesList = PcieConfigGetChildEngine (Wrapper); + CoreLaneIndex = ConfigurationId * PcieLaneConfig->NumberOfEngines * 2; + + while (EnginesList != NULL) { + if (PcieLibIsPcieEngine (EnginesList)) { + PcieConfigResetDescriptorFlags (EnginesList, DESCRIPTOR_ALLOCATED); + EnginesList->Type.Port.StartCoreLane = PcieLaneConfig->ConfigTable[CoreLaneIndex++]; + EnginesList->Type.Port.EndCoreLane = PcieLaneConfig->ConfigTable[CoreLaneIndex++]; + } + EnginesList = PcieLibGetNextDescriptor (EnginesList); + } + return AGESA_SUCCESS; +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Configure engine list to support lane allocation according to configuration ID. + * + * + * + * @param[in] Wrapper Pointer to wrapper config descriptor + * @param[in] DdiLaneConfig Lane configuration descriptor + * @param[in] ConfigurationId Configuration ID + * @retval AGESA_SUCCESS Configuration successfully applied + * @retval AGESA_ERROR Requested configuration not supported + */ +STATIC AGESA_STATUS +PcieConfigureDdiEnginesLaneAllocation ( + IN PCIe_WRAPPER_CONFIG *Wrapper, + IN PCIe_LANE_ALLOC_DESCRIPTOR *DdiLaneConfig, + IN UINT8 ConfigurationId + ) +{ + UINTN LaneIndex; + PCIe_ENGINE_CONFIG *EnginesList; + if (ConfigurationId >= DdiLaneConfig->NumberOfConfigurations) { + return AGESA_ERROR; + } + LaneIndex = ConfigurationId * DdiLaneConfig->NumberOfEngines * 2; + EnginesList = PcieConfigGetChildEngine (Wrapper); + while (EnginesList != NULL) { + if (PcieLibIsDdiEngine (EnginesList)) { + PcieConfigResetDescriptorFlags (EnginesList, DESCRIPTOR_ALLOCATED); + EnginesList->EngineData.StartLane = DdiLaneConfig->ConfigTable[LaneIndex++] + Wrapper->StartPhyLane; + EnginesList->EngineData.EndLane = DdiLaneConfig->ConfigTable[LaneIndex++] + Wrapper->StartPhyLane; + } + EnginesList = PcieLibGetNextDescriptor (EnginesList); + } + return AGESA_SUCCESS; +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Configure engine list to support lane allocation according to configuration ID. + * + * + * + * @param[in] Wrapper Pointer to wrapper config descriptor + * @param[in] EngineType Engine Type + * @param[in] ConfigurationId Configuration ID + * @retval AGESA_SUCCESS Configuration successfully applied + * @retval AGESA_ERROR Requested configuration not supported + */ +AGESA_STATUS +PcieConfigureEnginesLaneAllocationKB ( + IN PCIe_WRAPPER_CONFIG *Wrapper, + IN PCIE_ENGINE_TYPE EngineType, + IN UINT8 ConfigurationId + ) +{ + AGESA_STATUS Status; + PCIe_LANE_ALLOC_DESCRIPTOR *LaneConfigDescriptor; + + Status = AGESA_ERROR; + LaneConfigDescriptor = PcieLaneAllocConfigurationKB; + while (LaneConfigDescriptor != NULL) { + if (LaneConfigDescriptor->WrapId == Wrapper->WrapId && LaneConfigDescriptor->EngineType == EngineType) { + switch (EngineType) { + case PciePortEngine: + Status = PcieConfigurePcieEnginesLaneAllocation (Wrapper, LaneConfigDescriptor, ConfigurationId); + break; + case PcieDdiEngine: + Status = PcieConfigureDdiEnginesLaneAllocation (Wrapper, LaneConfigDescriptor, ConfigurationId); + break; + default: + ASSERT (FALSE); + } + break; + } + LaneConfigDescriptor = PcieConfigGetNextDataDescriptor (LaneConfigDescriptor); + } + return Status; +} + + + +/*----------------------------------------------------------------------------------------*/ +/** + * Get core configuration value + * + * + * + * @param[in] Wrapper Pointer to internal configuration data area + * @param[in] CoreId Core ID + * @param[in] ConfigurationSignature Configuration signature + * @param[out] ConfigurationValue Configuration value (for core configuration) + * @retval AGESA_SUCCESS Configuration successfully applied + * @retval AGESA_ERROR Core configuration value can not be determined + */ +AGESA_STATUS +PcieGetCoreConfigurationValueKB ( + IN PCIe_WRAPPER_CONFIG *Wrapper, + IN UINT8 CoreId, + IN UINT64 ConfigurationSignature, + IN UINT8 *ConfigurationValue + ) +{ + AGESA_STATUS Status; + Status = AGESA_SUCCESS; + switch (ConfigurationSignature) { + case GPP_CORE_x4x1x1x1x1: + *ConfigurationValue = 0x4; + break; + case GPP_CORE_x4x2x1x1: + *ConfigurationValue = 0x3; + break; + case GPP_CORE_x4x2x2: + *ConfigurationValue = 0x2; + break; + case GPP_CORE_x4x4: + *ConfigurationValue = 0x1; + break; + default: + IDS_HDT_CONSOLE (PCIE_MISC, "ERROR!!![%s Wrapper] Unknown core config signature 0x%08x%08x\n", + PcieDebugGetWrapperNameStringKB (Wrapper), + ((UINT32 *) &ConfigurationSignature)[1], + ((UINT32 *) &ConfigurationSignature)[0] + ); + ASSERT (FALSE); + Status = AGESA_ERROR; + } + return Status; +} + + +/*----------------------------------------------------------------------------------------*/ +/** + * Check if engine can be remapped to Device/function number requested by user + * defined engine descriptor + * + * Function only called if requested device/function does not much native device/function + * + * @param[in] PortDescriptor Pointer to user defined engine descriptor + * @param[in] Engine Pointer engine configuration + * @retval TRUE Descriptor can be mapped to engine + * @retval FALSE Descriptor can NOT be mapped to engine + */ + +BOOLEAN +PcieCheckPortPciDeviceMappingKB ( + IN PCIe_PORT_DESCRIPTOR *PortDescriptor, + IN PCIe_ENGINE_CONFIG *Engine + ) +{ + UINT8 DevFunc; + UINT8 Index; + DevFunc = DEVFUNC (PortDescriptor->Port.DeviceNumber, PortDescriptor->Port.FunctionNumber); + if (DevFunc == 0) { + return TRUE; + } + for (Index = 0; Index < (sizeof (DefaultPortDevMap) / sizeof (DefaultPortDevMap[0])); Index++) { + if (DefaultPortDevMap[Index] == DevFunc) { + return TRUE; + } + } + return FALSE; +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Get core configuration string + * + * Debug function for logging configuration + * + * @param[in] Wrapper Pointer to internal configuration data area + * @param[in] ConfigurationValue Configuration value + * @retval Configuration string + */ + +CONST CHAR8* +PcieDebugGetCoreConfigurationStringKB ( + IN PCIe_WRAPPER_CONFIG *Wrapper, + IN UINT8 ConfigurationValue + ) +{ + switch (ConfigurationValue) { + case 0x4: + return "4:1:1:1:1"; + case 0x3: + return "4:2:1:1"; + case 0x2: + return "4:2:2"; + case 0x1: + return "4:4"; + default: + break; + } + return " !!! Something Wrong !!!"; +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Get wrapper name + * + * Debug function for logging wrapper name + * + * @param[in] Wrapper Pointer to internal configuration data area + * @retval Wrapper Name string + */ + +CONST CHAR8* +PcieDebugGetWrapperNameStringKB ( + IN PCIe_WRAPPER_CONFIG *Wrapper + ) +{ + switch (Wrapper->WrapId) { + case GPP_WRAP_ID: + return "GPP"; + case DDI_WRAP_ID: + return "Virtual DDI"; + default: + break; + } + return " !!! Something Wrong !!!"; +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Get register address name + * + * Debug function for logging register trace + * + * @param[in] Silicon Silicon config descriptor + * @param[in] AddressFrame Address Frame + * @retval Register address name + */ +CONST CHAR8* +PcieDebugGetHostRegAddressSpaceStringKB ( + IN PCIe_SILICON_CONFIG *Silicon, + IN UINT16 AddressFrame + ) +{ + switch (AddressFrame) { + case 0x130: + return "GPP WRAP"; + case 0x110: + return "GPP PIF0"; + case 0x120: + return "GPP PHY0"; + case 0x140: + return "GPP CORE"; + default: + break; + } + return " !!! Something Wrong !!!"; +} + + +/*----------------------------------------------------------------------------------------*/ +/** + * Check if the lane can be muxed by link width requested by user + * defined engine descriptor + * + * Check Engine StartCoreLane could be aligned by user requested link width(x1, x2, x4, x8, x16). + * Check Engine StartCoreLane could be aligned by user requested link width x2. + * + * @param[in] PortDescriptor Pointer to user defined engine descriptor + * @param[in] Engine Pointer engine configuration + * @retval TRUE Lane can be muxed + * @retval FALSE Lane can NOT be muxed + */ + +BOOLEAN +PcieCheckPortPcieLaneCanBeMuxedKB ( + IN PCIe_PORT_DESCRIPTOR *PortDescriptor, + IN PCIe_ENGINE_CONFIG *Engine + ) +{ + UINT16 DescriptorHiLane; + UINT16 DescriptorLoLane; + UINT16 DescriptorNumberOfLanes; + PCIe_WRAPPER_CONFIG *Wrapper; + UINT16 NormalizedLoPhyLane; + BOOLEAN Result; + + Result = FALSE; + Wrapper = PcieConfigGetParentWrapper (Engine); + DescriptorLoLane = MIN (PortDescriptor->EngineData.StartLane, PortDescriptor->EngineData.EndLane); + DescriptorHiLane = MAX (PortDescriptor->EngineData.StartLane, PortDescriptor->EngineData.EndLane); + DescriptorNumberOfLanes = DescriptorHiLane - DescriptorLoLane + 1; + + NormalizedLoPhyLane = DescriptorLoLane - Wrapper->StartPhyLane; + + if (NormalizedLoPhyLane == Engine->Type.Port.StartCoreLane) { + Result = TRUE; + } else { + if (NormalizedLoPhyLane == 0) { + Result = TRUE; + } else { + if ((NormalizedLoPhyLane % DescriptorNumberOfLanes) == 0) { + Result = TRUE; + } + } + } + return Result; +} + + +/*----------------------------------------------------------------------------------------*/ +/** + * Map engine to specific PCI device address + * + * + * + * @param[in] Engine Pointer to engine configuration + * @retval AGESA_ERROR Fail to map PCI device address + * @retval AGESA_SUCCESS Successfully allocate PCI address + */ + +AGESA_STATUS +PcieMapPortPciAddressKB ( + IN PCIe_ENGINE_CONFIG *Engine + ) +{ + AGESA_STATUS Status; + KB_COMPLEX_CONFIG *ComplexConfig; + PCIe_COMPLEX_CONFIG *Complex; + PCIe_PLATFORM_CONFIG *Pcie; + UINT8 DevFunc; + UINT8 Index; + Status = AGESA_SUCCESS; + IDS_HDT_CONSOLE (GNB_TRACE, "PcieMapPortPciAddressKB Enter\n"); + Complex = (PCIe_COMPLEX_CONFIG *) PcieConfigGetParent (DESCRIPTOR_COMPLEX, &Engine->Header); + Pcie = (PCIe_PLATFORM_CONFIG *) PcieConfigGetParent (DESCRIPTOR_PLATFORM, &Complex->Header); + if (Engine->Type.Port.PortData.DeviceNumber == 0 && Engine->Type.Port.PortData.FunctionNumber == 0) { + Engine->Type.Port.PortData.DeviceNumber = Engine->Type.Port.NativeDevNumber; + Engine->Type.Port.PortData.FunctionNumber = Engine->Type.Port.NativeFunNumber; + } + ComplexConfig = (KB_COMPLEX_CONFIG *) PcieConfigGetParentSilicon (Engine); + IDS_OPTION_HOOK (IDS_GNB_PCIE_PORT_REMAP, &Engine->Type.Port, GnbLibGetHeader (Pcie)); + DevFunc = (Engine->Type.Port.PortData.DeviceNumber << 3) | Engine->Type.Port.PortData.FunctionNumber; + for (Index = 0; Index < sizeof (ComplexConfig->FmSilicon.PortDevMap); ++Index) { + if (ComplexConfig->FmSilicon.PortDevMap[Index] == DevFunc) { + Status = AGESA_ERROR; + break; + } + } + if (Status == AGESA_SUCCESS) { + ComplexConfig->FmSilicon.PortDevMap[Engine->Type.Port.PcieBridgeId] = DevFunc; + } + for (Index = 0; Index < sizeof (DefaultPortDevMap); ++Index) { + if (DevFunc == DefaultPortDevMap[Index]) { + Engine->Type.Port.LogicalBridgeId = Index; + // Get the configuration from the table or from "auto settings" + if (Engine->Type.Port.PortData.ApicDeviceInfo.GroupMap == 0x00) { + // If Group is 0, use "Auto" settings + Engine->Type.Port.PortData.ApicDeviceInfo = DefaultIoapicConfig[Index]; + } + break; + } + } + IDS_HDT_CONSOLE (GNB_TRACE, "PcieMapPortPciAddressKB Exit [0x%x]\n", Status); + return Status; +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Map engine to specific PCI device address + * + * + * @param[in] Silicon Silicon config descriptor + */ + +VOID +PcieSetPortPciAddressMapKB ( + IN PCIe_SILICON_CONFIG *Silicon + ) +{ + UINT8 Index; + UINT8 DevFuncIndex; + UINT8 PortDevMap [sizeof (DefaultPortDevMap)]; + PCIe_PLATFORM_CONFIG *Pcie; + D0F0x64_x30_STRUCT D0F0x64_x30; + + Pcie = (PCIe_PLATFORM_CONFIG *) PcieConfigGetParent (DESCRIPTOR_PLATFORM, &Silicon->Header); + LibAmdMemCopy (&PortDevMap[0], &DefaultPortDevMap[0], sizeof (DefaultPortDevMap), GnbLibGetHeader (Pcie)); + for (Index = 0; Index < sizeof (((KB_COMPLEX_CONFIG *) Silicon)->FmSilicon.PortDevMap); ++Index) { + if (((KB_COMPLEX_CONFIG *) Silicon)->FmSilicon.PortDevMap[Index] != 0) { + for (DevFuncIndex = 0; DevFuncIndex < sizeof (((KB_COMPLEX_CONFIG *) Silicon)->FmSilicon.PortDevMap); ++DevFuncIndex) { + if (PortDevMap[DevFuncIndex] == ((KB_COMPLEX_CONFIG *) Silicon)->FmSilicon.PortDevMap[Index]) { + PortDevMap[DevFuncIndex] = 0; + break; + } + } + } + } + for (Index = 0; Index < sizeof (((KB_COMPLEX_CONFIG *) Silicon)->FmSilicon.PortDevMap); ++Index) { + if (((KB_COMPLEX_CONFIG *) Silicon)->FmSilicon.PortDevMap[Index] == 0) { + for (DevFuncIndex = 0; DevFuncIndex < sizeof (((KB_COMPLEX_CONFIG *) Silicon)->FmSilicon.PortDevMap); ++DevFuncIndex) { + if (PortDevMap[DevFuncIndex] != 0) { + ((KB_COMPLEX_CONFIG *) Silicon)->FmSilicon.PortDevMap[Index] = PortDevMap[DevFuncIndex]; + PortDevMap[DevFuncIndex] = 0; + break; + } + } + } + GnbRegisterReadKB ((GNB_HANDLE *) Silicon, D0F0x64_x30_TYPE, D0F0x64_x30_ADDRESS + Index, &D0F0x64_x30.Value, 0, GnbLibGetHeader (Pcie)); + D0F0x64_x30.Field.DevFnMap = ((KB_COMPLEX_CONFIG *) Silicon)->FmSilicon.PortDevMap[Index]; + GnbRegisterWriteKB ((GNB_HANDLE *) Silicon, D0F0x64_x30_TYPE, D0F0x64_x30_ADDRESS + Index, &D0F0x64_x30.Value, 0, GnbLibGetHeader (Pcie)); + } +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Build default SB configuration descriptor + * + * + * @param[in] SocketId Socket Id + * @param[out] SbPort Pointer to SB configuration descriptor + * @param[in] StdHeader Standard configuration header. + * @retval AGESA_SUCCESS Configuration data build successfully + */ +AGESA_STATUS +PcieGetSbConfigInfoKB ( + IN UINT8 SocketId, + OUT PCIe_PORT_DESCRIPTOR *SbPort, + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + return AGESA_UNSUPPORTED; +} + + diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PcieEarlyInitKB.c b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PcieEarlyInitKB.c new file mode 100644 index 0000000000..2199796fd8 --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PcieEarlyInitKB.c @@ -0,0 +1,938 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * PCIe early post initialization. + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 87701 $ @e \$Date: 2013-02-07 12:58:51 -0600 (Thu, 07 Feb 2013) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ +/*---------------------------------------------------------------------------------------- + * M O D U L E S U S E D + *---------------------------------------------------------------------------------------- + */ +#include "AGESA.h" +#include "amdlib.h" +#include "Ids.h" +#include "Gnb.h" +#include "GnbPcie.h" +#include "GnbUra.h" +#include "GnbCommonLib.h" +#include "GnbPcieConfig.h" +#include "GnbPcieTrainingV2.h" +#include "GnbPcieInitLibV1.h" +#include "GnbPcieInitLibV4.h" +#include "GnbPcieInitLibV5.h" +#include "PcieLibKB.h" +#include "PcieComplexDataKB.h" +#include "GnbRegistersKB.h" +#include "GnbRegisterAccKB.h" +#include "OptionGnb.h" +#include "GnbSmuInitLibV7.h" +#include "Filecode.h" +#define FILECODE PROC_GNB_MODULES_GNBINITKB_PCIEEARLYINITKB_FILECODE +/*---------------------------------------------------------------------------------------- + * D E F I N I T I O N S A N D M A C R O S + *---------------------------------------------------------------------------------------- + */ + +extern GNB_BUILD_OPTIONS GnbBuildOptions; +extern BUILD_OPT_CFG UserOptions; +extern CONST PCIE_HOST_REGISTER_TABLE_HEADER ROMDATA PcieInitEarlyTableKB; +extern CONST PCIE_HOST_REGISTER_TABLE_HEADER ROMDATA CoreInitTableKB; +extern CONST PCIE_PORT_REGISTER_TABLE_HEADER ROMDATA PortInitEarlyTableKB; + +/*---------------------------------------------------------------------------------------- + * T Y P E D E F S A N D S T R U C T U R E S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * P R O T O T Y P E S O F L O C A L F U N C T I O N S + *---------------------------------------------------------------------------------------- + */ +AGESA_STATUS +PcieEarlyInterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ); + +/*----------------------------------------------------------------------------------------*/ +/** + * Set port device/function mapping + * + * + * + * @param[in] Descriptor Silicon descriptor + * @param[in] Buffer Pointer to buffer + * @param[in] Pcie Pointer to global PCIe configuration + */ +STATIC AGESA_STATUS +PciePortMapInitCallbackKB ( + IN PCIe_DESCRIPTOR_HEADER *Descriptor, + IN OUT VOID *Buffer, + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + PcieSetPortPciAddressMapKB ((PCIe_SILICON_CONFIG *) Descriptor); + return AGESA_SUCCESS; +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Static init for various registers. + * + * + * + * @param[in] Pcie Pointer to global PCIe configuration + */ +VOID +STATIC +PcieEarlyStaticInitKB ( + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + UINTN Index; + + for (Index = 0; Index < PcieInitEarlyTableKB.Length; Index++) { + GnbLibPciIndirectRMW ( + MAKE_SBDFO (0,0,0,0, D0F0xE0_ADDRESS), + PcieInitEarlyTableKB.Table[Index].Reg, + AccessS3SaveWidth32, + (UINT32)~PcieInitEarlyTableKB.Table[Index].Mask, + PcieInitEarlyTableKB.Table[Index].Data, + GnbLibGetHeader (Pcie) + ); + } +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Init core registers. + * + * + * @param[in] Wrapper Pointer to wrapper configuration descriptor + * @param[in] Pcie Pointer to global PCIe configuration + */ +VOID +STATIC +PcieEarlyCoreInitKB ( + IN PCIe_WRAPPER_CONFIG *Wrapper, + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + UINT8 CoreId; + UINTN Index; + if (PcieLibIsPcieWrapper (Wrapper)) { + IDS_HDT_CONSOLE (GNB_TRACE, "PcieEarlyCoreInitKB Enter\n"); + for (CoreId = Wrapper->StartPcieCoreId; CoreId <= Wrapper->EndPcieCoreId; CoreId++) { + for (Index = 0; Index < CoreInitTableKB.Length; Index++) { + UINT32 Value; + Value = PcieRegisterRead ( + Wrapper, + CORE_SPACE (CoreId, CoreInitTableKB.Table[Index].Reg), + Pcie + ); + Value &= (~CoreInitTableKB.Table[Index].Mask); + Value |= CoreInitTableKB.Table[Index].Data; + PcieRegisterWrite ( + Wrapper, + CORE_SPACE (CoreId, CoreInitTableKB.Table[Index].Reg), + Value, + FALSE, + Pcie + ); + } + } + IDS_HDT_CONSOLE (GNB_TRACE, "PcieEarlyCoreInitKB Exit\n"); + } +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Set Pcie Phy Isolation + * + * + * @param[in] Wrapper Pointer to wrapper configuration descriptor + * @param[in] Pcie Pointer to PCIe configuration data area + */ +VOID +STATIC +PciePhyIsolationKB ( + IN PCIe_WRAPPER_CONFIG *Wrapper, + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + UINT32 ActiveLaneBitmap; + UINT32 PhyRxIsoDis; + D0F0xE4_WRAP_8013_STRUCT D0F0xE4_WRAP_8013; + UINT32 D0F0xE4_WRAP_8021; + UINT32 D0F0xE4_WRAP_8022; + UINT32 D0F0xE4_WRAP_8025; + UINT32 D0F0xE4_WRAP_8026; + + IDS_HDT_CONSOLE (GNB_TRACE, "PciePhyIsolationKB Enter\n"); + + // Apply lane mux + D0F0xE4_WRAP_8021 = 0x07060504; + D0F0xE4_WRAP_8022 = 0x03020100; + D0F0xE4_WRAP_8025 = 0x07060504; + D0F0xE4_WRAP_8026 = 0x03020100; + + PcieRegisterWrite ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, D0F0xE4_WRAP_8021_ADDRESS), + D0F0xE4_WRAP_8021, + FALSE, + Pcie + ); + PcieRegisterWrite ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, D0F0xE4_WRAP_8022_ADDRESS), + D0F0xE4_WRAP_8022, + FALSE, + Pcie + ); + PcieRegisterWrite ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, D0F0xE4_WRAP_8025_ADDRESS), + D0F0xE4_WRAP_8025, + FALSE, + Pcie + ); + PcieRegisterWrite ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, D0F0xE4_WRAP_8026_ADDRESS), + D0F0xE4_WRAP_8026, + FALSE, + Pcie + ); + + PhyRxIsoDis = GnbBuildOptions.CfgPciePhyIsolationEnable ? 0 : 3; + ActiveLaneBitmap = PcieUtilGetWrapperLaneBitMap (LANE_TYPE_PCIE_PHY_NATIVE_ALLOC_ACTIVE, 0, Wrapper); + if ((ActiveLaneBitmap & 0xF0) != 0) { + PhyRxIsoDis = 3; + } + + IDS_OPTION_HOOK (IDS_GNB_PCIE_PHY_ISOLATION, &PhyRxIsoDis, GnbLibGetHeader (Pcie)); + + D0F0xE4_WRAP_8013.Value = PcieRegisterRead ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, D0F0xE4_WRAP_8013_ADDRESS), + Pcie + ); + D0F0xE4_WRAP_8013.Field.PhyRxIsoDis = 3; + PcieRegisterWrite ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, D0F0xE4_WRAP_8013_ADDRESS), + D0F0xE4_WRAP_8013.Value, + FALSE, + Pcie + ); + + IDS_HDT_CONSOLE (GNB_TRACE, "PciePhyIsolationKB Exit\n"); +} + +UINT8 LaneMuxSelectorArrayKB[] = { 7, 6, 5, 4, 3, 2, 1, 0 }; + +/*----------------------------------------------------------------------------------------*/ +/** + * Locate mux array index + * + * + * + * @param[in, out] LaneMuxSelectorArrayPtr Pointer to mux selector array + * @param[in] LaneMuxValue The value that match to array + * @retval Index Index successfully mapped + */ +STATIC UINT8 +PcieTopologyLocateMuxIndexKB ( + IN OUT UINT8 *LaneMuxSelectorArrayPtr, + IN UINT8 LaneMuxValue + ) +{ + UINT8 Index; + for (Index = 0; Index < sizeof (LaneMuxSelectorArrayKB); Index++ ) { + if (LaneMuxSelectorArrayPtr [Index] == LaneMuxValue) { + return Index; + } + } + return 0; +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Apply lane mux + * + * + * + * @param[in] Wrapper Pointer to wrapper config descriptor + * @param[in] Pcie Pointer to global PCIe configuration + */ + +STATIC VOID +PcieTopologyApplyLaneMuxKB ( + IN PCIe_WRAPPER_CONFIG *Wrapper, + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + PCIe_ENGINE_CONFIG *EngineList; + UINT32 Index; + UINT8 RxLaneMuxSelectorArray [sizeof (LaneMuxSelectorArrayKB)]; + UINT8 TxLaneMuxSelectorArray [sizeof (LaneMuxSelectorArrayKB)]; + + IDS_HDT_CONSOLE (GNB_TRACE, "PcieTopologyApplyLaneMuxKB Enter\n"); + if (PcieLibIsPcieWrapper (Wrapper)) { + LibAmdMemCopy ( + &TxLaneMuxSelectorArray[0], + &LaneMuxSelectorArrayKB[0], + sizeof (LaneMuxSelectorArrayKB), + GnbLibGetHeader (Pcie) + ); + LibAmdMemCopy ( + &RxLaneMuxSelectorArray[0], + &LaneMuxSelectorArrayKB[0], + sizeof (LaneMuxSelectorArrayKB), + GnbLibGetHeader (Pcie) + ); + EngineList = PcieConfigGetChildEngine (Wrapper); + while (EngineList != NULL) { + if (PcieLibIsPcieEngine (EngineList) && PcieLibIsEngineAllocated (EngineList)) { + UINT32 CoreLaneBitmap; + UINT32 PifLaneBitmap; + UINT8 CurrentCoreLane; + UINT8 CurrentPifLane; + + CoreLaneBitmap = PcieUtilGetEngineLaneBitMap (LANE_TYPE_PCIE_CORE_ALLOC, 0, EngineList); + PifLaneBitmap = PcieUtilGetEngineLaneBitMap (LANE_TYPE_PCIE_PHY_NATIVE, 0, EngineList); + + while (CoreLaneBitmap != 0) { + CurrentCoreLane = LibAmdBitScanForward (CoreLaneBitmap); + CurrentPifLane = LibAmdBitScanForward (PifLaneBitmap); + + if (TxLaneMuxSelectorArray[CurrentPifLane] != CurrentCoreLane) { + TxLaneMuxSelectorArray[PcieTopologyLocateMuxIndexKB (TxLaneMuxSelectorArray, CurrentCoreLane)] = TxLaneMuxSelectorArray[CurrentPifLane]; + TxLaneMuxSelectorArray[CurrentPifLane] = CurrentCoreLane; + } + + if (RxLaneMuxSelectorArray[CurrentCoreLane] != CurrentPifLane) { + RxLaneMuxSelectorArray[PcieTopologyLocateMuxIndexKB (RxLaneMuxSelectorArray, CurrentPifLane)] = RxLaneMuxSelectorArray[CurrentCoreLane]; + RxLaneMuxSelectorArray[CurrentCoreLane] = CurrentPifLane; + } + + CoreLaneBitmap &= (~ (1 << CurrentCoreLane)); + PifLaneBitmap &= (~ (1 << CurrentPifLane)); + } + } + EngineList = PcieLibGetNextDescriptor (EngineList); + } + for (Index = 0; Index < 2; ++Index) { + PcieRegisterWrite ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, D0F0xE4_WRAP_8021_ADDRESS + Index), + ((UINT32 *) TxLaneMuxSelectorArray) [Index], + FALSE, + Pcie + ); + PcieRegisterWrite ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, D0F0xE4_WRAP_8025_ADDRESS + Index), + ((UINT32 *) RxLaneMuxSelectorArray) [Index], + FALSE, + Pcie + ); + } + } + IDS_HDT_CONSOLE (GNB_TRACE, "PcieTopologyApplyLaneMuxKB Exit\n"); +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Execute/clean up reconfiguration + * + * + * @param[in] Wrapper Pointer to wrapper config descriptor + * @param[in] Pcie Pointer to global PCIe configuration + */ +STATIC VOID +PcieTopologyExecuteReconfigKB ( + IN PCIe_WRAPPER_CONFIG *Wrapper, + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + D0F0xE4_WRAP_8062_STRUCT D0F0xE4_WRAP_8062; + PCIe_SILICON_CONFIG *Silicon; + DEV_OBJECT DevObject; + + if (PcieLibIsPcieWrapper (Wrapper)) { + IDS_HDT_CONSOLE (GNB_TRACE, "PcieTopologyExecuteReconfigKB Enter\n"); + + D0F0xE4_WRAP_8062.Value = PcieRegisterRead ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, D0F0xE4_WRAP_8062_ADDRESS), + Pcie + ); + D0F0xE4_WRAP_8062.Field.ReconfigureEn = 0x1; + D0F0xE4_WRAP_8062.Field.ResetPeriod = 0x2; + PcieRegisterWrite ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, D0F0xE4_WRAP_8062_ADDRESS), + D0F0xE4_WRAP_8062.Value, + FALSE, + Pcie + ); + + Silicon = PcieConfigGetParentSilicon (Wrapper); + + GnbLibPciIndirectRMW ( + Silicon->Address.AddressValue | D0F0xB8_ADDRESS, + 0x3f81c, + AccessWidth32, + (UINT32) ~0xff00, + Wrapper->WrapId << 8, + GnbLibGetHeader (Pcie) + ); + + DevObject.StdHeader = GnbLibGetHeader (Pcie); + DevObject.GnbHandle = GnbGetHandle (GnbLibGetHeader (Pcie)); + DevObject.DevPciAddress.AddressValue = Silicon->Address.AddressValue; + GnbSmuServiceRequestV7 ( + &DevObject, + 25, //SMC_MSG_RECONFIGURE, + 0, + 0 + ); + + D0F0xE4_WRAP_8062.Field.ConfigXferMode = 0x1; + D0F0xE4_WRAP_8062.Field.ReconfigureEn = 0x0; + PcieRegisterWrite ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, D0F0xE4_WRAP_8062_ADDRESS), + D0F0xE4_WRAP_8062.Value, + FALSE, + Pcie + ); + + IDS_HDT_CONSOLE (GNB_TRACE, "PcieTopologyExecuteReconfigKB Exit\n"); + } +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Apply Misc settings for given wrapper + * + * + * + * @param[in] Wrapper Pointer to Wrapper config descriptor + * @param[in] Pcie Pointer to PICe configuration data area + */ +STATIC VOID +PcieMiscInitKB ( + IN PCIe_WRAPPER_CONFIG *Wrapper, + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + D0F0xE4_WRAP_8011_STRUCT D0F0xE4_WRAP_8011; + GnbRegistersKB4915_STRUCT GnbRegistersKB4915; + GnbRegistersKB4940_STRUCT GnbRegistersKB4940; + GnbRegistersKB4965_STRUCT GnbRegistersKB4965; + GnbRegistersKB4990_STRUCT GnbRegistersKB4990; + GnbRegistersKB5015_STRUCT GnbRegistersKB5015; + + IDS_HDT_CONSOLE (GNB_TRACE, "PcieMiscInitKB Enter\n"); + D0F0xE4_WRAP_8011.Value = PcieRegisterRead ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, D0F0xE4_WRAP_8011_ADDRESS), + Pcie + ); + + D0F0xE4_WRAP_8011.Field.Bitfield_23_23 = 0; + + PcieRegisterWrite ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, D0F0xE4_WRAP_8011_ADDRESS), + D0F0xE4_WRAP_8011.Value, + TRUE, + Pcie + ); + + GnbRegistersKB4915.Value = PcieRegisterRead ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, 0x805), + Pcie + ); + + GnbRegistersKB4940.Value = PcieRegisterRead ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, 0x905), + Pcie + ); + + GnbRegistersKB4965.Value = PcieRegisterRead ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, 0x0A05), + Pcie + ); + GnbRegistersKB4990.Value = PcieRegisterRead ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, 0x0B05), + Pcie + ); + + GnbRegistersKB5015.Value = PcieRegisterRead ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, 0x0C05), + Pcie + ); + + GnbRegistersKB4915.Field.bit_31_24 = 0x40; + GnbRegistersKB4940.Field.bit_31_24 = 0x40; + GnbRegistersKB4965.Field.bit_31_24 = 0x40; + GnbRegistersKB4990.Field.bit_31_24 = 0x40; + GnbRegistersKB5015.Field.bit_31_24 = 0x40; + + PcieRegisterWrite ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, 0x805), + GnbRegistersKB4915.Value, + TRUE, + Pcie + ); + + PcieRegisterWrite ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, 0x905), + GnbRegistersKB4940.Value, + TRUE, + Pcie + ); + PcieRegisterWrite ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, 0x0A05), + GnbRegistersKB4965.Value, + TRUE, + Pcie + ); + PcieRegisterWrite ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, 0x0B05), + GnbRegistersKB4990.Value, + TRUE, + Pcie + ); + PcieRegisterWrite ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, 0x0C05), + GnbRegistersKB5015.Value, + TRUE, + Pcie + ); + IDS_HDT_CONSOLE (GNB_TRACE, "PcieMiscInitKB Exit\n"); +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Switch to PCIe Native Gen1 PLL. + * + * + * @param[in] Pcie Pointer to global PCIe configuration + */ +AGESA_STATUS +STATIC +PcieNativeGen1PLLSwitchKB ( + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + PCIE_LINK_SPEED_CAP GlobalSpeedCap; + UINT32 ParamValue; + + IDS_HDT_CONSOLE (GNB_TRACE, "PcieNativeGen1PLLSwitchKB Enter\n"); + + GlobalSpeedCap = PcieUtilGlobalGenCapability ( + PCIE_PORT_GEN_CAP_MAX | PCIE_GLOBAL_GEN_CAP_TRAINED_PORTS | PCIE_GLOBAL_GEN_CAP_HOTPLUG_PORTS, + Pcie + ); + + ParamValue = 0; + if (GlobalSpeedCap == PcieGen1) { + GnbRegisterWriteKB (GnbGetHandle (GnbLibGetHeader (Pcie)), TYPE_SMU_MSG, 87, &ParamValue, 0, GnbLibGetHeader (Pcie)); + } + + IDS_HDT_CONSOLE (GNB_TRACE, "PcieNativeGen1PLLSwitchKB Exit\n"); + return AGESA_SUCCESS; +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Per wrapper Pcie Init prior training. + * + * + * @param[in] Wrapper Pointer to wrapper configuration descriptor + * @param[in] Buffer Pointer buffer + * @param[in] Pcie Pointer to global PCIe configuration + */ +AGESA_STATUS +STATIC +PcieEarlyInitCallbackKB ( + IN PCIe_WRAPPER_CONFIG *Wrapper, + IN OUT VOID *Buffer, + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + AGESA_STATUS Status; + BOOLEAN CoreConfigChanged; + BOOLEAN PllConfigChanged; + IDS_HDT_CONSOLE (GNB_TRACE, "PcieEarlyInitCallbackKB Enter\n"); + CoreConfigChanged = FALSE; + PllConfigChanged = FALSE; + IDS_OPTION_HOOK (IDS_BEFORE_RECONFIGURATION, Pcie, GnbLibGetHeader (Pcie)); + PcieTopologyPrepareForReconfig (Wrapper, Pcie); + Status = PcieTopologySetCoreConfig (Wrapper, &CoreConfigChanged, Pcie); + ASSERT (Status == AGESA_SUCCESS); + PciePhyIsolationKB (Wrapper, Pcie); + PcieTopologyApplyLaneMuxKB (Wrapper, Pcie); + PciePifSetRxDetectPowerMode (Wrapper, Pcie); + PciePifSetLs2ExitTimeV5 (Wrapper, Pcie); + PciePifApplyGanging (Wrapper, Pcie); + PcieTopologySelectMasterPllKB (Wrapper, &PllConfigChanged, Pcie); + PcieMiscInitKB (Wrapper, Pcie); + PcieTopologyExecuteReconfigKB (Wrapper, Pcie); + PcieTopologyCleanUpReconfig (Wrapper, Pcie); + PcieTopologySetLinkReversalV4 (Wrapper, Pcie); + PciePifPllConfigureKB (Wrapper, Pcie); + PcieTopologyLaneControlV5 ( + DisableLanes, + PcieUtilGetWrapperLaneBitMap (LANE_TYPE_CORE_ALL, LANE_TYPE_PCIE_CORE_ALLOC, Wrapper), + Wrapper, + Pcie + ); + + PciePollPifForCompeletion (Wrapper, Pcie); + PcieEarlyCoreInitKB (Wrapper, Pcie); + PcieSetSsidV4 (UserOptions.CfgGnbPcieSSID, Wrapper, Pcie); + IDS_HDT_CONSOLE (GNB_TRACE, "PcieEarlyInitCallbackKB Exit [%x]\n", Status); + return Status; +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Pcie Init + * + * + * + * @param[in] Pcie Pointer to global PCIe configuration + * @retval AGESA_SUCCESS Topology successfully mapped + * @retval AGESA_ERROR Topology can not be mapped + */ + +AGESA_STATUS +STATIC +PcieEarlyInitKB ( + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + AGESA_STATUS Status; + AGESA_STATUS AgesaStatus; + BOOLEAN NativeGen1PLL; + + IDS_HDT_CONSOLE (GNB_TRACE, "PcieEarlyInitKB Enter\n"); + AgesaStatus = AGESA_SUCCESS; + NativeGen1PLL = GnbBuildOptions.CfgNativeGen1PLL; + + Status = PcieConfigRunProcForAllDescriptors (DESCRIPTOR_SILICON, 0, DESCRIPTOR_TERMINATE_TOPOLOGY, PciePortMapInitCallbackKB, NULL, Pcie); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + + IDS_OPTION_HOOK (IDS_GNB_PMM_NATIVEGEN1PLL, &NativeGen1PLL, GnbLibGetHeader (Pcie)); + + if (NativeGen1PLL == TRUE) { + Status = PcieNativeGen1PLLSwitchKB (Pcie); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + } + + Status = PcieConfigRunProcForAllWrappers (DESCRIPTOR_ALL_WRAPPERS, PcieEarlyInitCallbackKB, NULL, Pcie); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + PcieEarlyStaticInitKB (Pcie); + IDS_HDT_CONSOLE (GNB_TRACE, "PcieEarlyInitKB Exit [%x]\n", AgesaStatus); + return AgesaStatus; +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Set misc slot capability + * + * + * + * @param[in] Engine Pointer to engine config descriptor + * @param[in] Pcie Pointer to global PCIe configuration + * + */ +VOID +STATIC +PcieLinkSetSlotCapKB ( + IN PCIe_ENGINE_CONFIG *Engine, + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + UINT32 IntPin; + PCIe_WRAPPER_CONFIG *Wrapper; + + GnbLibPciRMW ( + Engine->Type.Port.Address.AddressValue | DxF0x58_ADDRESS, + AccessWidth32, + 0xffffffff, + 1 << DxF0x58_SlotImplemented_OFFSET, + GnbLibGetHeader (Pcie) + ); + + if (Engine->Type.Port.Address.Address.Function < 5) { + IntPin = Engine->Type.Port.Address.Address.Function; + } else { + IntPin = Engine->Type.Port.Address.Address.Function - 4; + } + + GnbLibPciRMW ( + Engine->Type.Port.Address.AddressValue | DxF0x3C_ADDRESS, + AccessWidth32, + 0xffffffff, + IntPin << DxF0x3C_IntPin_OFFSET, + GnbLibGetHeader (Pcie) + ); + + // Set MaxPayload straps for port + if (Engine->EngineData.StartLane == Engine->EngineData.EndLane) { + IDS_HDT_CONSOLE (GNB_TRACE, "Set MaxPayload strap for StartLane = %d and EndLane = %d\n", Engine->EngineData.StartLane, Engine->EngineData.EndLane); + Wrapper = PcieConfigGetParentWrapper (Engine); + PcieRegisterRMW ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, 0x804 + (Engine->Type.Port.PortId) * 0x100), + 0xe, + MAX_PAYLOAD_256 << 1, + FALSE, + Pcie + ); + } +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Callback to init various features on all active ports + * + * + * + * + * @param[in] Engine Pointer to engine config descriptor + * @param[in, out] Buffer Not used + * @param[in] Pcie Pointer to global PCIe configuration + * + */ + +VOID +STATIC +PcieEarlyPortInitCallbackKB ( + IN PCIe_ENGINE_CONFIG *Engine, + IN OUT VOID *Buffer, + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + IDS_HDT_CONSOLE (GNB_TRACE, "PcieEarlyPortInitCallbackKB Enter\n"); + ASSERT (Engine->EngineData.EngineType == PciePortEngine); + PciePortProgramRegisterTable (PortInitEarlyTableKB.Table, PortInitEarlyTableKB.Length, Engine, FALSE, Pcie); + PcieSetLinkSpeedCapV4 (PcieGen1, Engine, Pcie); + PcieSetLinkWidthCap (Engine, Pcie); + PcieCompletionTimeout (Engine, Pcie); + PcieLinkSetSlotCapKB (Engine, Pcie); + PcieLinkInitHotplugV5 (Engine, Pcie); + PciePhyChannelCharacteristicV5 (Engine, Pcie); + if (Engine->Type.Port.PortData.PortPresent == PortDisabled || + (Engine->Type.Port.PortData.EndpointStatus == EndpointNotPresent && + Engine->Type.Port.PortData.LinkHotplug != HotplugEnhanced && + Engine->Type.Port.PortData.LinkHotplug != HotplugServer)) { + ASSERT (!PcieConfigIsSbPcieEngine (Engine)); + // + // Pass endpoint status in scratch + // + PciePortRegisterRMW ( + Engine, + 0x1, + 0x1, + 0x1, + FALSE, + Pcie + ); + PcieTrainingSetPortState (Engine, LinkStateDeviceNotPresent, FALSE, Pcie); + } + if (PcieConfigIsSbPcieEngine (Engine)) { + PcieTrainingSetPortState (Engine, LinkStateTrainingSuccess, FALSE, Pcie); + } + if (Engine->Type.Port.PortData.MiscControls.LinkComplianceMode == 0x1) { + PcieTrainingSetPortState (Engine, LinkStateTrainingCompleted, FALSE, Pcie); + } + IDS_HDT_CONSOLE (GNB_TRACE, "PcieEarlyPortInitCallbackKB Exit\n"); +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Callback to init various features on all active ports + * + * + * + * + * @param[in] Engine Pointer to engine config descriptor + * @param[in, out] Buffer Not used + * @param[in] Pcie Pointer to global PCIe configuration + * + */ +VOID +STATIC +DdiEarlyPortInitCallbackKB ( + IN PCIe_ENGINE_CONFIG *Engine, + IN OUT VOID *Buffer, + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + UINT32 GMMx6464; + UINT32 GMMx5C6C; + UINT32 GMMx5C90; + + IDS_HDT_CONSOLE (GNB_TRACE, "DdiEarlyPortInitCallbackKB Enter\n"); + if ((Engine->Type.Ddi.DdiData.ConnectorType == ConnectorTypeEDP) || + (Engine->Type.Ddi.DdiData.ConnectorType == ConnectorTypeDpToLvds) || + (Engine->Type.Ddi.DdiData.ConnectorType == ConnectorTypeEDPToLvds) || + (Engine->Type.Ddi.DdiData.ConnectorType == ConnectorTypeEDPToLvdsSwInit)) { + + IDS_HDT_CONSOLE (GNB_TRACE, "Found eDP/LVDS Connector\n"); + + GnbRegisterReadKB (GnbGetHandle (GnbLibGetHeader (Pcie)), 0x12, 0x6464, &GMMx6464, 0, GnbLibGetHeader (Pcie)); + GnbRegisterReadKB (GnbGetHandle (GnbLibGetHeader (Pcie)), 0x12, 0x5c90, &GMMx5C90, 0, GnbLibGetHeader (Pcie)); + GnbRegisterReadKB (GnbGetHandle (GnbLibGetHeader (Pcie)), 0x12, 0x5c6c, &GMMx5C6C, 0, GnbLibGetHeader (Pcie)); + GMMx6464 |= 1; + GMMx6464 |= 1 << 4; + GMMx6464 |= 1 << 25; + GMMx5C90 &= ~0x3f00; GMMx5C90 |= 1 << 8; + GMMx5C6C &= ~0x1800; GMMx5C6C |= 1 << 13; + GnbRegisterWriteKB (GnbGetHandle (GnbLibGetHeader (Pcie)), 0x12, 0x6464, &GMMx6464, 0, GnbLibGetHeader (Pcie)); + GnbRegisterWriteKB (GnbGetHandle (GnbLibGetHeader (Pcie)), 0x12, 0x5c90, &GMMx5C90, 0, GnbLibGetHeader (Pcie)); + GnbRegisterWriteKB (GnbGetHandle (GnbLibGetHeader (Pcie)), 0x12, 0x5c6c, &GMMx5C6C, 0, GnbLibGetHeader (Pcie)); + } + + IDS_HDT_CONSOLE (GNB_TRACE, "DdiEarlyPortInitCallbackKB Exit\n"); +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Master procedure to init various features on all active ports + * + * + * @param[in] Pcie Pointer to global PCIe configuration + * @retval AGESA_STATUS + * + */ +AGESA_STATUS +STATIC +PcieEarlyPortInitKB ( + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + AGESA_STATUS Status; + Status = AGESA_SUCCESS; + // Leave all device in Presence Detect Presence state for distributed training will be completed at PciePortPostEarlyInit + if (Pcie->TrainingAlgorithm == PcieTrainingDistributed) { + Pcie->TrainingExitState = LinkStateResetExit; + } + + PcieConfigRunProcForAllEngines ( + DESCRIPTOR_ALLOCATED | DESCRIPTOR_PCIE_ENGINE, + PcieEarlyPortInitCallbackKB, + NULL, + Pcie + ); + + PcieConfigRunProcForAllEngines ( + DESCRIPTOR_ALLOCATED | DESCRIPTOR_DDI_ENGINE | DESCRIPTOR_VIRTUAL, + DdiEarlyPortInitCallbackKB, + NULL, + Pcie + ); + + return Status; +} + +/*----------------------------------------------------------------------------------------*/ +/** + * PCIe Early Post Init + * + * + * + * @param[in] StdHeader Standard configuration header + * @retval AGESA_STATUS + */ + +AGESA_STATUS +PcieEarlyInterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + AGESA_STATUS Status; + AGESA_STATUS AgesaStatus; + PCIe_PLATFORM_CONFIG *Pcie; + AgesaStatus = AGESA_SUCCESS; + IDS_HDT_CONSOLE (GNB_TRACE, "PcieEarlyInterfaceKB Enter\n"); + Status = PcieLocateConfigurationData (StdHeader, &Pcie); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + if (Status == AGESA_SUCCESS) { + PciePortsVisibilityControlV5 (UnhidePorts, Pcie); + + Status = PcieEarlyInitKB (Pcie); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + ASSERT (Status == AGESA_SUCCESS); + + Status = PcieEarlyPortInitKB (Pcie); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + ASSERT (Status == AGESA_SUCCESS); + + Status = PcieTraining (Pcie); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + ASSERT (Status == AGESA_SUCCESS); + + IDS_OPTION_CALLOUT (IDS_CALLOUT_GNB_PCIE_PHY_CONFIG, Pcie, StdHeader); + PciePortsVisibilityControlV5 (HidePorts, Pcie); + } + IDS_HDT_CONSOLE (GNB_TRACE, "PcieEarlyInterfaceKB Exit [0x%x]\n", AgesaStatus); + return AgesaStatus; +} + diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PcieEnvInitKB.c b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PcieEnvInitKB.c new file mode 100644 index 0000000000..9656f26d9e --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PcieEnvInitKB.c @@ -0,0 +1,94 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * PCIe env post initialization. + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 84150 $ @e \$Date: 2012-12-12 15:46:25 -0600 (Wed, 12 Dec 2012) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ +/*---------------------------------------------------------------------------------------- + * M O D U L E S U S E D + *---------------------------------------------------------------------------------------- + */ +#include "AGESA.h" +#include "Ids.h" +#include "Gnb.h" +#include "GnbPcie.h" +#include "S3SaveState.h" +#include "Filecode.h" +#define FILECODE PROC_GNB_MODULES_GNBINITKB_PCIEENVINITKB_FILECODE +/*---------------------------------------------------------------------------------------- + * D E F I N I T I O N S A N D M A C R O S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * T Y P E D E F S A N D S T R U C T U R E S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * P R O T O T Y P E S O F L O C A L F U N C T I O N S + *---------------------------------------------------------------------------------------- + */ +AGESA_STATUS +PcieEnvInterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ); + +/*----------------------------------------------------------------------------------------*/ +/** + * PCIe Env Init + * + * + * + * @param[in] StdHeader Standard configuration header + * @retval AGESA_STATUS + */ +AGESA_STATUS +PcieEnvInterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + S3_SAVE_DISPATCH (StdHeader, PcieLateRestoreKBS3Script_ID, 0, NULL); + return AGESA_SUCCESS; +} + diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PcieLibKB.c b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PcieLibKB.c new file mode 100644 index 0000000000..61b07250a6 --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PcieLibKB.c @@ -0,0 +1,463 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * KB specific PCIe services + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 87645 $ @e \$Date: 2013-02-06 13:08:17 -0600 (Wed, 06 Feb 2013) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ +/*---------------------------------------------------------------------------------------- + * M O D U L E S U S E D + *---------------------------------------------------------------------------------------- + */ +#include "AGESA.h" +#include "Ids.h" +#include "heapManager.h" +#include "Gnb.h" +#include "GnbPcie.h" +#include "GnbSbLib.h" +#include "GnbCommonLib.h" +#include "GnbPcieInitLibV1.h" +#include "GnbPcieInitLibV5.h" +#include "GnbPcieConfig.h" +#include "GnbPcieTrainingV2.h" +#include "GnbNbInitLibV4.h" +#include "GnbNbInitLibV1.h" +#include "GnbNbInitLibV5.h" +#include "PcieComplexDataKB.h" +#include "PcieLibKB.h" +#include "GnbRegistersKB.h" +#include "GnbRegisterAccKB.h" +#include "GnbF1Table.h" +#include "Filecode.h" +#define FILECODE PROC_GNB_MODULES_GNBINITKB_PCIELIBKB_FILECODE +/*---------------------------------------------------------------------------------------- + * D E F I N I T I O N S A N D M A C R O S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * T Y P E D E F S A N D S T R U C T U R E S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * P R O T O T Y P E S O F L O C A L F U N C T I O N S + *---------------------------------------------------------------------------------------- + */ +PCIE_LINK_SPEED_CAP +PcieGetLinkSpeedCapKB ( + IN UINT32 Flags, + IN PCIe_ENGINE_CONFIG *Engine + ); + +UINT32 +GnbTimeStampKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ); + +UINT8 +PcieMaxPayloadKB ( + IN PCIe_ENGINE_CONFIG *Engine + ); +/*----------------------------------------------------------------------------------------*/ +/** + * PLL powerdown + * + * + * @param[in] Wrapper Pointer to Wrapper config descriptor + * @param[in] Pcie Pointer to PICe configuration data area + */ + +VOID +PciePifPllConfigureKB ( + IN PCIe_WRAPPER_CONFIG *Wrapper, + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + D0F0xE4_PIF_0012_STRUCT D0F0xE4_PIF_0012; + + IDS_HDT_CONSOLE (GNB_TRACE, "PciePifPllConfigureKB Enter\n"); + D0F0xE4_PIF_0012.Value = PcieRegisterRead ( + Wrapper, + PIF_SPACE (Wrapper->WrapId, 0, D0F0xE4_PIF_0012_ADDRESS), + Pcie + ); + + D0F0xE4_PIF_0012.Field.PllRampUpTime = 0x0; + + if (Wrapper->Features.PowerOffUnusedPlls != 0) { + D0F0xE4_PIF_0012.Field.PllPowerStateInOff = PifPowerStateOff; + D0F0xE4_PIF_0012.Field.PllPowerStateInTxs2 = PifPowerStateOff; + } else { + D0F0xE4_PIF_0012.Field.PllPowerStateInOff = PifPowerStateL0; + D0F0xE4_PIF_0012.Field.PllPowerStateInTxs2 = PifPowerStateL0; + } + + if (Wrapper->Features.PllOffInL1 != 0) { + D0F0xE4_PIF_0012.Field.TxPowerStateInTxs2 = PifPowerStateLS2; + D0F0xE4_PIF_0012.Field.RxPowerStateInRxs2 = PifPowerStateLS2; + } else { + D0F0xE4_PIF_0012.Field.TxPowerStateInTxs2 = PifPowerStateL0; + D0F0xE4_PIF_0012.Field.RxPowerStateInRxs2 = PifPowerStateL0; + } + + PcieRegisterWrite ( + Wrapper, + PIF_SPACE (Wrapper->WrapId, 0, D0F0xE4_PIF_0012_ADDRESS), + D0F0xE4_PIF_0012.Value, + TRUE, + Pcie + ); + PcieRegisterWrite ( + Wrapper, + PIF_SPACE (Wrapper->WrapId, 0, D0F0xE4_PIF_0012_ADDRESS + 1), + D0F0xE4_PIF_0012.Value, + TRUE, + Pcie + ); + IDS_HDT_CONSOLE (GNB_TRACE, "PciePifPllConfigureKB Exit\n"); +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Power down unused lanes and plls + * + * + * @param[in] Wrapper Pointer to wrapper config descriptor + * @param[in] Pcie Pointer to global PCIe configuration + */ + +VOID +PciePwrPowerDownUnusedLanesKB ( + IN PCIe_WRAPPER_CONFIG *Wrapper, + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + UINT32 UnusedLanes; + IDS_HDT_CONSOLE (GNB_TRACE, "PciePwrPowerDownUnusedLanesKB Enter\n"); + if (Wrapper->Features.PowerOffUnusedLanes != 0) { + UnusedLanes = PcieUtilGetWrapperLaneBitMap (LANE_TYPE_CORE_ALL, LANE_TYPE_PCIE_CORE_ALLOC_ACTIVE, Wrapper); + PcieTopologyLaneControlV5 ( + DisableLanes, + UnusedLanes, + Wrapper, + Pcie + ); + } + IDS_HDT_CONSOLE (GNB_TRACE, "PciePwrPowerDownUnusedLanesKB Exit\n"); +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Request boot up voltage + * + * + * + * @param[in] LinkCap Global GEN capability + * @param[in] Pcie Pointer to PCIe configuration data area + */ +VOID +PcieSetVoltageKB ( + IN PCIE_LINK_SPEED_CAP LinkCap, + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + UINT8 TargetVid; + UINT8 MinVidIndex; + UINT8 PP_FUSE_ARRAY_V2_fld32[5]; + UINT8 Index; + PP_F1_ARRAY_V2 *PpF1Array; + UINT32 Millivolt; + UINT32 D0F0xBC_xC0104007; + UINT32 D0F0xBC_xC0104008; + UINT32 D0F0xBC_xC010407C; + UINT32 D0F0xBC_xC0107064; + + IDS_HDT_CONSOLE (GNB_TRACE, "PcieSetVoltageKB Enter\n"); + PpF1Array = GnbLocateHeapBuffer (AMD_PP_F1_TABLE_HANDLE, GnbLibGetHeader (Pcie)); + if (PpF1Array == NULL) { + GnbRegisterReadKB (GnbGetHandle (GnbLibGetHeader (Pcie)), 0x4, 0xC0104007, &D0F0xBC_xC0104007, 0, GnbLibGetHeader (Pcie)); + GnbRegisterReadKB (GnbGetHandle (GnbLibGetHeader (Pcie)), 0x4, 0xC0104008, &D0F0xBC_xC0104008, 0, GnbLibGetHeader (Pcie)); + GnbRegisterReadKB (GnbGetHandle (GnbLibGetHeader (Pcie)), 0x4, 0xC010407C, &D0F0xBC_xC010407C, 0, GnbLibGetHeader (Pcie)); + GnbRegisterReadKB (GnbGetHandle (GnbLibGetHeader (Pcie)), 0x4, 0xC0107064, &D0F0xBC_xC0107064, 0, GnbLibGetHeader (Pcie)); + PP_FUSE_ARRAY_V2_fld32[0] = (UINT8) ((D0F0xBC_xC0104007 >> 5) & 0xFF); + PP_FUSE_ARRAY_V2_fld32[1] = (UINT8) ((D0F0xBC_xC0104008 >> 5) & 0xFF); + PP_FUSE_ARRAY_V2_fld32[2] = (UINT8) ((D0F0xBC_xC0104008 >> 13) & 0xFF); + PP_FUSE_ARRAY_V2_fld32[3] = (UINT8) ((D0F0xBC_xC0104008 >> 21) & 0xFF); + PP_FUSE_ARRAY_V2_fld32[4] = (UINT8) ((D0F0xBC_xC010407C >> 20) & 0xFF); + Index = (UINT8) ((D0F0xBC_xC0107064 >> 11) & 7); + } else { + PP_FUSE_ARRAY_V2_fld32[0] = PpF1Array->PP_FUSE_ARRAY_V2_fld32[0]; + PP_FUSE_ARRAY_V2_fld32[1] = PpF1Array->PP_FUSE_ARRAY_V2_fld32[1]; + PP_FUSE_ARRAY_V2_fld32[2] = PpF1Array->PP_FUSE_ARRAY_V2_fld32[2]; + PP_FUSE_ARRAY_V2_fld32[3] = PpF1Array->PP_FUSE_ARRAY_V2_fld32[3]; + PP_FUSE_ARRAY_V2_fld32[4] = PpF1Array->PP_FUSE_ARRAY_V2_fld32[4]; + Index = PpF1Array->PcieGen2Vid; + } + if (LinkCap > PcieGen1) { + ASSERT (PP_FUSE_ARRAY_V2_fld32[Index] != 0); + TargetVid = PP_FUSE_ARRAY_V2_fld32[Index]; + } else { + + MinVidIndex = 0; + for (Index = 0; Index < 5; Index++) { + if (PP_FUSE_ARRAY_V2_fld32[Index] > PP_FUSE_ARRAY_V2_fld32[MinVidIndex]) { + MinVidIndex = (UINT8) Index; + } + } + ASSERT (PP_FUSE_ARRAY_V2_fld32[MinVidIndex] != 0); + TargetVid = PP_FUSE_ARRAY_V2_fld32[MinVidIndex]; + } + + IDS_HDT_CONSOLE (PCIE_MISC, " Set Voltage for Gen %d, Vid code %d\n", LinkCap, TargetVid); + Millivolt = GnbTranslateVidCodeToMillivoltV5 (TargetVid, GnbLibGetHeader (Pcie)) * 4 / 100; + GnbRegisterWriteKB (GnbGetHandle (GnbLibGetHeader (Pcie)), TYPE_SMU_MSG, SMC_MSG_VDDNB_REQUEST, &Millivolt, 0, GnbLibGetHeader (Pcie)); + IDS_HDT_CONSOLE (GNB_TRACE, "PcieSetVoltageKB Exit\n"); +} + +/*----------------------------------------------------------------------------------------*/ +/** + * PLL power up latency + * + * + * @param[in] Wrapper Pointer to Wrapper config descriptor + * @param[in] Pcie Pointer to PICe configuration data area + * @retval Pll wake up latency in us + */ +UINT8 +PciePifGetPllPowerUpLatencyKB ( + IN PCIe_WRAPPER_CONFIG *Wrapper, + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + return 35; +} + + +/*----------------------------------------------------------------------------------------*/ +/** + * Get max link speed capability supported by this port + * + * + * + * @param[in] Flags See Flags PCIE_PORT_GEN_CAP_BOOT / PCIE_PORT_GEN_CAP_MAX + * @param[in] Engine Pointer to engine config descriptor + * @retval PcieGen1/PcieGen2 Max supported link gen capability + */ +PCIE_LINK_SPEED_CAP +PcieGetLinkSpeedCapKB ( + IN UINT32 Flags, + IN PCIe_ENGINE_CONFIG *Engine + ) +{ + PCIE_LINK_SPEED_CAP LinkSpeedCapability; + PCIe_WRAPPER_CONFIG *Wrapper; + PCIe_PLATFORM_CONFIG *Pcie; + + Wrapper = PcieConfigGetParentWrapper (Engine); + Pcie = PcieConfigGetPlatform (Wrapper); + + LinkSpeedCapability = PcieGen2; + + if (Engine->Type.Port.PortData.LinkSpeedCapability == PcieGenMaxSupported) { + Engine->Type.Port.PortData.LinkSpeedCapability = (UINT8) LinkSpeedCapability; + } + if (Pcie->PsppPolicy == PsppPowerSaving) { + LinkSpeedCapability = PcieGen1; + } + if (Engine->Type.Port.PortData.LinkSpeedCapability < LinkSpeedCapability) { + LinkSpeedCapability = Engine->Type.Port.PortData.LinkSpeedCapability; + } + if ((Flags & PCIE_PORT_GEN_CAP_BOOT) != 0) { + + if (( Pcie->PsppPolicy == PsppBalanceLow || + Engine->Type.Port.PortData.MiscControls.LinkSafeMode == PcieGen1) + && !PcieConfigIsSbPcieEngine (Engine)) { + + LinkSpeedCapability = PcieGen1; + } + } + return LinkSpeedCapability; +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Family specific time stamp function + * + * + * @param[in] StdHeader Standard configuration header + * @retval Count + */ +UINT32 +GnbTimeStampKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + UINT32 TimeStamp; + + TimeStamp = 0; + + GnbLibPciIndirectRead ( + MAKE_SBDFO (0, 0, 0, 0, 0xE0), + 0x13080F0, + AccessWidth32, + &TimeStamp, + StdHeader + ); + + IDS_HDT_CONSOLE (GNB_TRACE, "GnbTsKb: %08x\n", TimeStamp); + return TimeStamp; + +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Limit MaxPayload to 256 for x1 ports + * + * + * + * @param[in] Engine Pointer to engine config descriptor + * @retval MaxPayload MaxPayloadSupport + */ +UINT8 +PcieMaxPayloadKB ( + IN PCIe_ENGINE_CONFIG *Engine + ) +{ + UINT8 MaxPayload; + + MaxPayload = MAX_PAYLOAD_512; + if (Engine->EngineData.StartLane == Engine->EngineData.EndLane) { + MaxPayload = MAX_PAYLOAD_256; + } + IDS_HDT_CONSOLE (GNB_TRACE, "PcieMaxPayloadKB Exit with MaxPayload = %d for StartLane = %d and EndLane = %d\n", MaxPayload, Engine->EngineData.StartLane, Engine->EngineData.EndLane); + return MaxPayload; +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Select master PLL + * + * + * + * @param[in] Wrapper Pointer to wrapper config descriptor + * @param[out] ConfigChanged Pointer to boolean indicator that configuration was changed + * @param[in] Pcie Pointer to global PCIe configuration + */ + +VOID +PcieTopologySelectMasterPllKB ( + IN PCIe_WRAPPER_CONFIG *Wrapper, + OUT BOOLEAN *ConfigChanged, + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + PCIe_ENGINE_CONFIG *EngineList; + UINT16 MasterLane; + UINT16 MasterHotplugLane; + UINT16 EngineMasterLane; + D0F0xE4_WRAP_8013_STRUCT D0F0xE4_WRAP_8013; + D0F0xE4_WRAP_8013_STRUCT D0F0xE4_WRAP_8013_BASE; + IDS_HDT_CONSOLE (GNB_TRACE, "PcieTopologySelectMasterPll Enter\n"); + MasterLane = 0xFFFF; + MasterHotplugLane = 0xFFFF; + EngineList = PcieConfigGetChildEngine (Wrapper); + while (EngineList != NULL) { + if (PcieConfigIsEngineAllocated (EngineList) && EngineList->Type.Port.PortData.PortPresent != PortDisabled && PcieConfigIsPcieEngine (EngineList)) { + EngineMasterLane = PcieConfigGetPcieEngineMasterLane (EngineList); + if (EngineList->Type.Port.PortData.LinkHotplug != HotplugDisabled) { + MasterHotplugLane = (EngineMasterLane < MasterHotplugLane) ? EngineMasterLane : MasterHotplugLane; + } else { + MasterLane = (EngineMasterLane < MasterLane) ? EngineMasterLane : MasterLane; + if (PcieConfigIsSbPcieEngine (EngineList)) { + break; + } + } + } + EngineList = PcieLibGetNextDescriptor (EngineList); + } + + if (MasterLane == 0xffff) { + if (MasterHotplugLane != 0xffff) { + MasterLane = MasterHotplugLane; + } else { + MasterLane = 0x0; + } + } + + D0F0xE4_WRAP_8013.Value = PcieRegisterRead ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, D0F0xE4_WRAP_8013_ADDRESS), + Pcie + ); + D0F0xE4_WRAP_8013_BASE.Value = D0F0xE4_WRAP_8013.Value; + + if (MasterLane <= 3 ) { + Wrapper->MasterPll = GNB_PCIE_MASTERPLL_A; + } else { + Wrapper->MasterPll = GNB_PCIE_MASTERPLL_B; + } + + IDS_OPTION_HOOK (IDS_GNB_PCIE_MASTERPLL_SELECTION, &(Wrapper->MasterPll), GnbLibGetHeader (Pcie)); + + if (Wrapper->MasterPll == GNB_PCIE_MASTERPLL_A) { + D0F0xE4_WRAP_8013.Field.MasterPciePllA = 0x1; + D0F0xE4_WRAP_8013.Field.MasterPciePllB = 0x0; + } else { + D0F0xE4_WRAP_8013.Field.MasterPciePllA = 0x0; + D0F0xE4_WRAP_8013.Field.MasterPciePllB = 0x1; + } + + if (ConfigChanged != NULL) { + *ConfigChanged = (D0F0xE4_WRAP_8013.Value == D0F0xE4_WRAP_8013_BASE.Value) ? FALSE : TRUE; + } + PcieRegisterWrite ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, D0F0xE4_WRAP_8013_ADDRESS), + D0F0xE4_WRAP_8013.Value, + FALSE, + Pcie + ); + + IDS_HDT_CONSOLE (GNB_TRACE, "PcieTopologySelectMasterPll Exit\n"); +} + diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PcieLibKB.h b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PcieLibKB.h new file mode 100644 index 0000000000..0434b7886e --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PcieLibKB.h @@ -0,0 +1,80 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * KB specific PCIe configuration data services + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 84519 $ @e \$Date: 2012-12-17 11:20:40 -0600 (Mon, 17 Dec 2012) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ + +#ifndef _PCIELIBKB_H_ +#define _PCIELIBKB_H_ + +VOID +PciePifPllConfigureKB ( + IN PCIe_WRAPPER_CONFIG *Wrapper, + IN PCIe_PLATFORM_CONFIG *Pcie + ); + +VOID +PciePwrPowerDownUnusedLanesKB ( + IN PCIe_WRAPPER_CONFIG *Wrapper, + IN PCIe_PLATFORM_CONFIG *Pcie + ); + +VOID +PcieSetVoltageKB ( + IN PCIE_LINK_SPEED_CAP LinkCap, + IN PCIe_PLATFORM_CONFIG *Pcie + ); + +UINT8 +PciePifGetPllPowerUpLatencyKB ( + IN PCIe_WRAPPER_CONFIG *Wrapper, + IN PCIe_PLATFORM_CONFIG *Pcie + ); + +VOID +PcieTopologySelectMasterPllKB ( + IN PCIe_WRAPPER_CONFIG *Wrapper, + OUT BOOLEAN *ConfigChanged, + IN PCIe_PLATFORM_CONFIG *Pcie + ); + +#endif diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PcieMidInitKB.c b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PcieMidInitKB.c new file mode 100644 index 0000000000..ef076477ea --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PcieMidInitKB.c @@ -0,0 +1,392 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * PCIe mid post initialization. + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 88079 $ @e \$Date: 2013-02-15 15:28:53 -0600 (Fri, 15 Feb 2013) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ +/*---------------------------------------------------------------------------------------- + * M O D U L E S U S E D + *---------------------------------------------------------------------------------------- + */ +#include "AGESA.h" +#include "amdlib.h" +#include "Ids.h" +#include "Gnb.h" +#include "GnbPcie.h" +#include "GnbPcieConfig.h" +#include "GnbPcieInitLibV1.h" +#include "GnbPcieInitLibV4.h" +#include "GnbPcieInitLibV5.h" +#include "GnbFamServices.h" +#include "PcieLibKB.h" +#include "PciePortServicesV4.h" +#include "GnbRegistersKB.h" +#include "Filecode.h" + +#define FILECODE PROC_GNB_MODULES_GNBINITKB_PCIEMIDINITKB_FILECODE +/*---------------------------------------------------------------------------------------- + * D E F I N I T I O N S A N D M A C R O S + *---------------------------------------------------------------------------------------- + */ + +extern CONST PCIE_PORT_REGISTER_TABLE_HEADER ROMDATA PortInitMidTableKB; + +/*---------------------------------------------------------------------------------------- + * T Y P E D E F S A N D S T R U C T U R E S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * P R O T O T Y P E S O F L O C A L F U N C T I O N S + *---------------------------------------------------------------------------------------- + */ +AGESA_STATUS +PcieMidInterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ); + + + +/*----------------------------------------------------------------------------------------*/ +/** + * Callback to init various features on all active ports + * + * + * + * + * @param[in] Engine Pointer to engine config descriptor + * @param[in, out] Buffer Not used + * @param[in] Pcie Pointer to global PCIe configuration + * + */ + +VOID +STATIC +PcieMidPortInitCallbackKB ( + IN PCIe_ENGINE_CONFIG *Engine, + IN OUT VOID *Buffer, + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + PciePortProgramRegisterTable (PortInitMidTableKB.Table, PortInitMidTableKB.Length, Engine, TRUE, Pcie); + if (PcieConfigCheckPortStatus (Engine, INIT_STATUS_PCIE_TRAINING_SUCCESS) || Engine->Type.Port.PortData.LinkHotplug != HotplugDisabled) { + PcieEnableSlotPowerLimitV5 (Engine, Pcie); + } + // If StartLane == 4/7 and EndLane == 7/4, this is GFX port + if (!(((Engine->EngineData.StartLane == 4) && (Engine->EngineData.EndLane == 7)) || + ((Engine->EngineData.StartLane == 7) && (Engine->EngineData.EndLane == 4)))) { + // For GPP ports only set STRAP_MED_yTSx_COUNT=2 + PciePortRegisterRMW ( + Engine, + 0xC0, + 0x30, + 0x2 << 4, + TRUE, + Pcie + ); + } + PcieEnableAspm (Engine, Pcie); +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Master procedure to init various features on all active ports + * + * + * + * + * @param[in] Pcie Pointer to global PCIe configuration + * @retval AGESA_STATUS + * + */ + +AGESA_STATUS +STATIC +PcieMidPortInitKB ( + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + AGESA_STATUS Status; + PCIE_LINK_SPEED_CAP GlobalSpeedCap; + Status = AGESA_SUCCESS; + + PcieConfigRunProcForAllEngines ( + DESCRIPTOR_ALLOCATED | DESCRIPTOR_PCIE_ENGINE, + PcieMidPortInitCallbackKB, + NULL, + Pcie + ); + + GlobalSpeedCap = PcieUtilGlobalGenCapability ( + PCIE_PORT_GEN_CAP_BOOT | PCIE_GLOBAL_GEN_CAP_TRAINED_PORTS | PCIE_GLOBAL_GEN_CAP_HOTPLUG_PORTS, + Pcie + ); + + + PcieSetVoltageKB (GlobalSpeedCap, Pcie); + return Status; +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Clock gating + * + * + * + * @param[in] Wrapper Pointer to wrapper config descriptor + * @param[in] Pcie Pointer to global PCIe configuration + */ + +STATIC VOID +PciePwrClockGatingKB ( + IN PCIe_WRAPPER_CONFIG *Wrapper, + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + D0F0xE4_WRAP_8011_STRUCT D0F0xE4_WRAP_8011; + D0F0xE4_WRAP_8012_STRUCT D0F0xE4_WRAP_8012; + D0F0xE4_WRAP_8014_STRUCT D0F0xE4_WRAP_8014; + D0F0xE4_WRAP_8015_STRUCT D0F0xE4_WRAP_8015; + D0F0xE4_WRAP_8016_STRUCT D0F0xE4_WRAP_8016; + UINT8 CoreId; + + IDS_HDT_CONSOLE (GNB_TRACE, "PciePwrClockGatingKB Enter\n"); + D0F0xE4_WRAP_8014.Value = PcieRegisterRead ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, D0F0xE4_WRAP_8014_ADDRESS), + Pcie + ); + D0F0xE4_WRAP_8015.Value = PcieRegisterRead ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, D0F0xE4_WRAP_8015_ADDRESS), + Pcie + ); + + D0F0xE4_WRAP_8012.Value = PcieRegisterRead ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, D0F0xE4_WRAP_8012_ADDRESS), + Pcie + ); + + D0F0xE4_WRAP_8011.Value = PcieRegisterRead ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, D0F0xE4_WRAP_8011_ADDRESS), + Pcie + ); + + if (Wrapper->Features.ClkGating == 0x1) { + D0F0xE4_WRAP_8011.Field.TxclkPermGateLatency = 0; + D0F0xE4_WRAP_8011.Field.Reserved_16_16 = 0x1; + D0F0xE4_WRAP_8011.Field.TxclkPermGateEven = 0x1; + D0F0xE4_WRAP_8011.Field.TxclkPermStop = 0; + D0F0xE4_WRAP_8011.Field.TxclkDynGateEnable = 0x1; + D0F0xE4_WRAP_8011.Field.TxclkDynGateLatency = 0; + D0F0xE4_WRAP_8011.Field.TxclkRegsGateEnable = 0x1; + D0F0xE4_WRAP_8011.Field.TxclkRegsGateLatency = 0; + D0F0xE4_WRAP_8011.Field.TxclkLcntGateEnable = 0x1; + + D0F0xE4_WRAP_8012.Field.Pif1xIdleResumeLatency = 0x7; + D0F0xE4_WRAP_8012.Field.Pif1xIdleGateEnable = 0x1; + D0F0xE4_WRAP_8012.Field.Pif1xIdleGateLatency = 0; + + D0F0xE4_WRAP_8014.Field.TxclkPermGateEnable = 0x1; + D0F0xE4_WRAP_8014.Field.TxclkPrbsGateEnable = 0x1; + D0F0xE4_WRAP_8014.Field.PcieGatePifA1xEnable = 0x1; + D0F0xE4_WRAP_8014.Field.PcieGatePifB1xEnable = 0x1; + + } + + if (Wrapper->Features.TxclkGatingPllPowerDown == 0x1) { + D0F0xE4_WRAP_8014.Field.TxclkPermGateOnlyWhenPllPwrDn = 0x1; + } + + PcieRegisterWrite ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, D0F0xE4_WRAP_8014_ADDRESS), + D0F0xE4_WRAP_8014.Value, + TRUE, + Pcie + ); + PcieRegisterWrite ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, D0F0xE4_WRAP_8015_ADDRESS), + D0F0xE4_WRAP_8015.Value, + TRUE, + Pcie + ); + PcieRegisterWrite ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, D0F0xE4_WRAP_8012_ADDRESS), + D0F0xE4_WRAP_8012.Value, + TRUE, + Pcie + ); + PcieRegisterWrite ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, D0F0xE4_WRAP_8011_ADDRESS), + D0F0xE4_WRAP_8011.Value, + TRUE, + Pcie + ); + + for (CoreId = Wrapper->StartPcieCoreId; CoreId <= Wrapper->EndPcieCoreId; CoreId++) { + PcieRegisterWriteField ( + Wrapper, + CORE_SPACE (CoreId, D0F0xE4_CORE_0011_ADDRESS), + D0F0xE4_CORE_0011_DynClkLatency_OFFSET, + D0F0xE4_CORE_0011_DynClkLatency_WIDTH, + 0xf, + TRUE, + Pcie + ); + } + + if (Wrapper->Features.LclkGating == 0x1) { + D0F0xE4_WRAP_8016.Value = PcieRegisterRead ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, D0F0xE4_WRAP_8016_ADDRESS), + Pcie + ); + D0F0xE4_WRAP_8016.Field.LclkDynGateEnable = 0x1; + D0F0xE4_WRAP_8016.Field.LclkGateFree = 0x1; + D0F0xE4_WRAP_8016.Field.LclkDynGateLatency = 0x3F; + PcieRegisterWrite ( + Wrapper, + WRAP_SPACE (Wrapper->WrapId, D0F0xE4_WRAP_8016_ADDRESS), + D0F0xE4_WRAP_8016.Value, + TRUE, + Pcie + ); + } + + IDS_HDT_CONSOLE (GNB_TRACE, "PciePwrClockGatingKB Exit\n"); +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Per wrapper Pcie Late Init. + * + * + * @param[in] Wrapper Pointer to wrapper configuration descriptor + * @param[in] Buffer Pointer buffer + * @param[in] Pcie Pointer to global PCIe configuration + */ +AGESA_STATUS +STATIC +PcieMidInitCallbackKB ( + IN PCIe_WRAPPER_CONFIG *Wrapper, + IN OUT VOID *Buffer, + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + PciePwrPowerDownUnusedLanesKB (Wrapper, Pcie); + PciePwrClockGatingKB (Wrapper, Pcie); + PcieLockRegisters (Wrapper, Pcie); + return AGESA_SUCCESS; +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Pcie Late Init + * + * Late PCIe initialization + * + * @param[in] Pcie Pointer to global PCIe configuration + * @retval AGESA_SUCCESS Topology successfully mapped + * @retval AGESA_ERROR Topology can not be mapped + */ + +AGESA_STATUS +STATIC +PcieMidInitKB ( + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + AGESA_STATUS AgesaStatus; + AGESA_STATUS Status; + IDS_HDT_CONSOLE (GNB_TRACE, "PcieMidInitKB Enter\n"); + AgesaStatus = AGESA_SUCCESS; + + Status = PcieConfigRunProcForAllWrappers (DESCRIPTOR_ALL_WRAPPERS, PcieMidInitCallbackKB, NULL, Pcie); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + + IDS_HDT_CONSOLE (GNB_TRACE, "PcieMidInitKB Exit [0x%x]\n", AgesaStatus); + return AgesaStatus; +} + +/*----------------------------------------------------------------------------------------*/ +/** + * PCIe Mid Init + * + * + * + * @param[in] StdHeader Standard configuration header + * @retval AGESA_STATUS + */ +AGESA_STATUS +PcieMidInterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + AGESA_STATUS AgesaStatus; + AGESA_STATUS Status; + PCIe_PLATFORM_CONFIG *Pcie; + IDS_HDT_CONSOLE (GNB_TRACE, "PcieMidInterfaceKB Enter\n"); + AgesaStatus = AGESA_SUCCESS; + Status = PcieLocateConfigurationData (StdHeader, &Pcie); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + if (Status == AGESA_SUCCESS) { + PciePortsVisibilityControlV5 (UnhidePorts, Pcie); + + Status = PcieMidPortInitKB (Pcie); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + ASSERT (Status == AGESA_SUCCESS); + + Status = PcieMidInitKB (Pcie); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + ASSERT (Status == AGESA_SUCCESS); + + PciePortsVisibilityControlV5 (HidePorts, Pcie); + } + IDS_HDT_CONSOLE (GNB_TRACE, "PcieMidInterfaceKB Exit [0x%x]\n", AgesaStatus); + return AgesaStatus; +} diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PciePostInitKB.c b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PciePostInitKB.c new file mode 100644 index 0000000000..77fb825982 --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PciePostInitKB.c @@ -0,0 +1,470 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * PCIe post initialization. + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 84150 $ @e \$Date: 2012-12-12 15:46:25 -0600 (Wed, 12 Dec 2012) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ +/*---------------------------------------------------------------------------------------- + * M O D U L E S U S E D + *---------------------------------------------------------------------------------------- + */ +#include "AGESA.h" +#include "amdlib.h" +#include "Ids.h" +#include "Gnb.h" +#include "GnbPcie.h" +#include "GnbPcieFamServices.h" +#include "GnbPcieConfig.h" +#include "GnbPcieTrainingV2.h" +#include "GnbPcieInitLibV1.h" +#include "GnbPcieInitLibV4.h" +#include "GnbPcieInitLibV5.h" +#include "PcieLibKB.h" +#include "GnbRegistersKB.h" +#include "Filecode.h" +#define FILECODE PROC_GNB_MODULES_GNBINITKB_PCIEPOSTINITKB_FILECODE +/*---------------------------------------------------------------------------------------- + * D E F I N I T I O N S A N D M A C R O S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * T Y P E D E F S A N D S T R U C T U R E S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * P R O T O T Y P E S O F L O C A L F U N C T I O N S + *---------------------------------------------------------------------------------------- + */ +AGESA_STATUS +PciePostEarlyInterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ); + +AGESA_STATUS +PciePostInterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ); + +VOID +PcieLateRestoreInitKBS3Script ( + IN AMD_CONFIG_PARAMS *StdHeader, + IN UINT16 ContextLength, + IN VOID* Context + ); + +/*----------------------------------------------------------------------------------------*/ +/** + * Callback to init various features on all ports + * + * + * + * + * @param[in] Engine Pointer to engine config descriptor + * @param[in, out] Buffer Not used + * @param[in] Pcie Pointer to global PCIe configuration + * + */ + +VOID +STATIC +PciePostPortInitCallbackKB ( + IN PCIe_ENGINE_CONFIG *Engine, + IN OUT VOID *Buffer, + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + PCIE_LINK_SPEED_CAP LinkSpeedCapability; + ASSERT (Engine->EngineData.EngineType == PciePortEngine); + if (Engine->Type.Port.PortData.MiscControls.LinkSafeMode == PcieGen1) { + PcieLinkSafeMode (Engine, Pcie); + } + LinkSpeedCapability = PcieFmGetLinkSpeedCap (PCIE_PORT_GEN_CAP_BOOT, Engine); + PcieSetLinkSpeedCapV4 (LinkSpeedCapability, Engine, Pcie); + if (PcieConfigCheckPortStatus (Engine, INIT_STATUS_PCIE_TRAINING_SUCCESS) && (LinkSpeedCapability > PcieGen1) && !PcieConfigIsSbPcieEngine (Engine)) { + PcieTrainingSetPortState (Engine, LinkStateRetrain, FALSE, Pcie); + PcieConfigUpdatePortStatus (Engine, 0, INIT_STATUS_PCIE_TRAINING_SUCCESS); + } + if (Engine->Type.Port.PortData.MiscControls.LinkComplianceMode == 0x1) { + PcieForceCompliance (Engine, Pcie); + PcieTrainingSetPortState (Engine, LinkStateResetExit, FALSE, Pcie); + } +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Callback to init various features on all ports + * + * + * + * + * @param[in] Engine Pointer to engine config descriptor + * @param[in, out] Buffer Not used + * @param[in] Pcie Pointer to global PCIe configuration + * + */ + +VOID +STATIC +PciePostS3PortInitCallbackKB ( + IN PCIe_ENGINE_CONFIG *Engine, + IN OUT VOID *Buffer, + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + PCIE_LINK_SPEED_CAP LinkSpeedCapability; + PCIE_LINK_TRAINING_STATE State; + + ASSERT (Engine->EngineData.EngineType == PciePortEngine); + + LinkSpeedCapability = PcieFmGetLinkSpeedCap (PCIE_PORT_GEN_CAP_BOOT, Engine); + PcieSetLinkSpeedCapV4 (LinkSpeedCapability, Engine, Pcie); + + if (Engine->Type.Port.PortData.MiscControls.LinkSafeMode == PcieGen1) { + PcieLinkSafeMode (Engine, Pcie); + } + + if (!PcieConfigIsSbPcieEngine (Engine)) { + // + // General Port + // + State = LinkStateDeviceNotPresent; + if (Engine->Type.Port.PortData.LinkHotplug == HotplugDisabled || Engine->Type.Port.PortData.LinkHotplug == HotplugInboard) { + // + // Non hotplug device: we only check status from previous boot + // + if (PcieConfigCheckPortStatus (Engine, INIT_STATUS_PCIE_TRAINING_SUCCESS)) { + State = LinkStateResetExit; + } + } else { + UINT32 PcieScratch; + // + // Get endpoint staus from scratch + // + PcieScratch = PciePortRegisterRead (Engine, 0x1, Pcie); + // + // Hotplug device: we check ep status if reported + // + if ((PcieScratch & 0x1) == 0) { + State = LinkStateResetExit; + } + } + // + // For compliance we always leave link in enabled state + // + if (Engine->Type.Port.PortData.MiscControls.LinkComplianceMode) { + State = LinkStateResetExit; + } + PcieConfigUpdatePortStatus (Engine, 0, INIT_STATUS_PCIE_TRAINING_SUCCESS); + } else { + // + // SB port + // + State = LinkStateTrainingSuccess; + } + PcieTrainingSetPortState (Engine, State, FALSE, Pcie); +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Master procedure to init various features on all active ports + * + * + * + * + * @param[in] Pcie Pointer to global PCIe configuration + * @retval AGESA_STATUS + * + */ + +AGESA_STATUS +STATIC +PciePostEarlyPortInitKB ( + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + AGESA_STATUS Status; + Status = AGESA_SUCCESS; + // Distributed Training started at PciePortInit complete it now to get access to PCIe devices + if (Pcie->TrainingAlgorithm == PcieTrainingDistributed) { + Pcie->TrainingExitState = LinkStateTrainingCompleted; + } + return Status; +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Master procedure to init various features on all active ports + * + * + * + * + * @param[in] Pcie Pointer to global PCIe configuration + * @retval AGESA_STATUS + * + */ + +AGESA_STATUS +STATIC +PciePostPortInitKB ( + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + AGESA_STATUS Status; + Status = AGESA_SUCCESS; + PcieConfigRunProcForAllEngines ( + DESCRIPTOR_ALLOCATED | DESCRIPTOR_PCIE_ENGINE, + PciePostPortInitCallbackKB, + NULL, + Pcie + ); + return Status; +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Master procedure to init various features on all active ports + * + * + * + * + * @param[in] Pcie Pointer to global PCIe configuration + * @retval AGESA_STATUS + * + */ + +AGESA_STATUS +STATIC +PciePostS3PortInitKB ( + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + AGESA_STATUS Status; + Status = AGESA_SUCCESS; + PcieConfigRunProcForAllEngines ( + DESCRIPTOR_ALLOCATED | DESCRIPTOR_PCIE_ENGINE, + PciePostS3PortInitCallbackKB, + NULL, + Pcie + ); + return Status; +} + +/*----------------------------------------------------------------------------------------*/ +/** + * Pcie Init + * + * + * + * @param[in] Pcie Pointer to global PCIe configuration + * @retval AGESA_SUCCESS Topology successfully mapped + * @retval AGESA_ERROR Topology can not be mapped + */ + +AGESA_STATUS +STATIC +PciePostInitKB ( + IN PCIe_PLATFORM_CONFIG *Pcie + ) +{ + PCIE_LINK_SPEED_CAP GlobalSpeedCap; + + GlobalSpeedCap = PcieUtilGlobalGenCapability ( + PCIE_PORT_GEN_CAP_BOOT | PCIE_GLOBAL_GEN_CAP_TRAINED_PORTS | PCIE_GLOBAL_GEN_CAP_HOTPLUG_PORTS, + Pcie + ); + + + PcieSetVoltageKB (GlobalSpeedCap, Pcie); + return AGESA_SUCCESS; +} + +/*----------------------------------------------------------------------------------------*/ +/** + * PCIe Post Init + * + * + * + * @param[in] StdHeader Standard configuration header + * @retval AGESA_STATUS + */ +AGESA_STATUS +PciePostEarlyInterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + AGESA_STATUS AgesaStatus; + AGESA_STATUS Status; + PCIe_PLATFORM_CONFIG *Pcie; + IDS_HDT_CONSOLE (GNB_TRACE, "PciePostEarlyInterfaceKB Enter\n"); + AgesaStatus = AGESA_SUCCESS; + Status = PcieLocateConfigurationData (StdHeader, &Pcie); + IDS_OPTION_HOOK (IDS_BEFORE_GPP_TRAINING, Pcie, StdHeader); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + if (Status == AGESA_SUCCESS) { + PciePortsVisibilityControlV5 (UnhidePorts, Pcie); + + Status = PciePostEarlyPortInitKB (Pcie); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + ASSERT (Status == AGESA_SUCCESS); + + Status = PcieTraining (Pcie); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + ASSERT (Status == AGESA_SUCCESS); + + PciePortsVisibilityControlV5 (HidePorts, Pcie); + } + IDS_HDT_CONSOLE (GNB_TRACE, "PciePostEarlyInterfaceKB Exit [0x%x]\n", AgesaStatus); + return AgesaStatus; +} + +/*----------------------------------------------------------------------------------------*/ +/** + * PCIe Post Init + * + * + * + * @param[in] StdHeader Standard configuration header + * @retval AGESA_STATUS + */ +AGESA_STATUS +PciePostInterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + AGESA_STATUS AgesaStatus; + AGESA_STATUS Status; + PCIe_PLATFORM_CONFIG *Pcie; + IDS_HDT_CONSOLE (GNB_TRACE, "PciePostInterfaceKB Enter\n"); + AgesaStatus = AGESA_SUCCESS; + Status = PcieLocateConfigurationData (StdHeader, &Pcie); + IDS_OPTION_HOOK (IDS_BEFORE_GEN2_INIT, Pcie, StdHeader); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + if (Status == AGESA_SUCCESS) { + PciePortsVisibilityControlV5 (UnhidePorts, Pcie); + + Status = PciePostInitKB (Pcie); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + ASSERT (Status == AGESA_SUCCESS); + + Status = PciePostPortInitKB (Pcie); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + ASSERT (Status == AGESA_SUCCESS); + + Status = PcieTraining (Pcie); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + ASSERT (Status == AGESA_SUCCESS); + + PciePortsVisibilityControlV5 (HidePorts, Pcie); + } + IDS_HDT_CONSOLE (GNB_TRACE, "PciePostInterfaceKB Exit [0x%x]\n", AgesaStatus); + return AgesaStatus; +} + + +/*----------------------------------------------------------------------------------------*/ +/** + * PCIe Post Init + * + * + * + * @param[in] StdHeader Standard configuration header + * @retval AGESA_STATUS + */ +STATIC AGESA_STATUS +PciePostS3InterfaceKB ( + IN AMD_CONFIG_PARAMS *StdHeader + ) +{ + AGESA_STATUS AgesaStatus; + AGESA_STATUS Status; + PCIe_PLATFORM_CONFIG *Pcie; + IDS_HDT_CONSOLE (GNB_TRACE, "PciePostS3InterfaceKB Enter\n"); + AgesaStatus = AGESA_SUCCESS; + Status = PcieLocateConfigurationData (StdHeader, &Pcie); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + if (Status == AGESA_SUCCESS) { + PciePortsVisibilityControlV5 (UnhidePorts, Pcie); + + Status = PciePostInitKB (Pcie); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + ASSERT (Status == AGESA_SUCCESS); + + if (Pcie->TrainingAlgorithm == PcieTrainingDistributed) { + Status = PciePostS3PortInitKB (Pcie); + } else { + Status = PciePostPortInitKB (Pcie); + } + AGESA_STATUS_UPDATE (Status, AgesaStatus); + ASSERT (Status == AGESA_SUCCESS); + + Status = PcieTraining (Pcie); + AGESA_STATUS_UPDATE (Status, AgesaStatus); + ASSERT (Status == AGESA_SUCCESS); + + PciePortsVisibilityControlV5 (HidePorts, Pcie); + } + IDS_HDT_CONSOLE (GNB_TRACE, "PciePostS3InterfaceKB Exit [0x%x]\n", AgesaStatus); + return AgesaStatus; +} + +/*----------------------------------------------------------------------------------------*/ +/** + * PCIe S3 restore + * + * + * + * @param[in] StdHeader Standard configuration header + * @param[in] ContextLength Context Length (not used) + * @param[in] Context Context pointer (not used) + */ +VOID +PcieLateRestoreInitKBS3Script ( + IN AMD_CONFIG_PARAMS *StdHeader, + IN UINT16 ContextLength, + IN VOID* Context + ) +{ + PciePostS3InterfaceKB (StdHeader); +} diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PcieTablesKB.c b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PcieTablesKB.c new file mode 100644 index 0000000000..10f882808a --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/PcieTablesKB.c @@ -0,0 +1,225 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * PCIe init tables. + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 85361 $ @e \$Date: 2013-01-07 11:15:28 -0600 (Mon, 07 Jan 2013) $ + * + */ +/* +***************************************************************************** +* + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. +* *************************************************************************** +* +*/ +/*---------------------------------------------------------------------------------------- + * M O D U L E S U S E D + *---------------------------------------------------------------------------------------- + */ +#include "AGESA.h" +#include "Gnb.h" +#include "GnbPcie.h" +#include "GnbRegistersKB.h" + +/*---------------------------------------------------------------------------------------- + * D E F I N I T I O N S A N D M A C R O S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * T Y P E D E F S A N D S T R U C T U R E S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * P R O T O T Y P E S O F L O C A L F U N C T I O N S + *---------------------------------------------------------------------------------------- + */ + + +/*---------------------------------------------------------------------------------------- + * T A B L E S + *---------------------------------------------------------------------------------------- + */ + +STATIC PCIE_HOST_REGISTER_ENTRY PcieInitEarlyTable ROMDATA[] = { + { + PHY_SPACE (0, 0, D0F0xE4_PHY_4440_ADDRESS), + D0F0xE4_PHY_4440_PllDbgRoIPFDResetCntrl_MASK, + 0x2 << D0F0xE4_PHY_4440_PllDbgRoIPFDResetCntrl_OFFSET + }, + { + PHY_SPACE (0, 0, D0F0xE4_PHY_4450_ADDRESS), + D0F0xE4_PHY_4450_PllCfgROVTOIBiasCntrlOvrdVal0_MASK | + D0F0xE4_PHY_4450_PllCfgROBWCntrlOvrdVal0_MASK, + (0x0 << D0F0xE4_PHY_4450_PllCfgROVTOIBiasCntrlOvrdVal0_OFFSET) | (0x90 << D0F0xE4_PHY_4450_PllCfgROBWCntrlOvrdVal0_OFFSET) + }, + { + PHY_SPACE (0, 0, D0F0xE4_PHY_0004_ADDRESS), + D0F0xE4_PHY_0004_CfgIdleDetTh_MASK, + 0x0 << D0F0xE4_PHY_0004_CfgIdleDetTh_OFFSET + } + }; + +CONST PCIE_HOST_REGISTER_TABLE_HEADER ROMDATA PcieInitEarlyTableKB = { + &PcieInitEarlyTable[0], + sizeof (PcieInitEarlyTable) / sizeof (PCIE_HOST_REGISTER_ENTRY) +}; + +STATIC PCIE_HOST_REGISTER_ENTRY ROMDATA CoreInitTable [] = { + { + D0F0xE4_CORE_0020_ADDRESS, + D0F0xE4_CORE_0020_CiRcOrderingDis_MASK | + D0F0xE4_CORE_0020_CiSlvOrderingDis_MASK, + (0x1 << D0F0xE4_CORE_0020_CiRcOrderingDis_OFFSET) + }, + { + D0F0xE4_CORE_0010_ADDRESS, + D0F0xE4_CORE_0010_RxUmiAdjPayloadSize_MASK, + (0x4 << D0F0xE4_CORE_0010_RxUmiAdjPayloadSize_OFFSET) + }, + { + D0F0xE4_CORE_001C_ADDRESS, + D0F0xE4_CORE_001C_TxArbRoundRobinEn_MASK | + D0F0xE4_CORE_001C_TxArbSlvLimit_MASK | + D0F0xE4_CORE_001C_TxArbMstLimit_MASK, + (0x1 << D0F0xE4_CORE_001C_TxArbRoundRobinEn_OFFSET) | + (0x4 << D0F0xE4_CORE_001C_TxArbSlvLimit_OFFSET) | + (0x4 << D0F0xE4_CORE_001C_TxArbMstLimit_OFFSET) + }, + { + D0F0xE4_CORE_0040_ADDRESS, + D0F0xE4_CORE_0040_PElecIdleMode_MASK, + (0x1 << D0F0xE4_CORE_0040_PElecIdleMode_OFFSET) + }, + { + D0F0xE4_CORE_0002_ADDRESS, + D0F0xE4_CORE_0002_HwDebug_0_MASK, + (0x1 << D0F0xE4_CORE_0002_HwDebug_0_OFFSET) + }, + { + D0F0xE4_CORE_00C1_ADDRESS, + D0F0xE4_CORE_00C1_StrapLinkBwNotificationCapEn_MASK | + D0F0xE4_CORE_00C1_StrapGen2Compliance_MASK, + (0x1 << D0F0xE4_CORE_00C1_StrapLinkBwNotificationCapEn_OFFSET) | + (0x1 << D0F0xE4_CORE_00C1_StrapGen2Compliance_OFFSET) + }, + { + D0F0xE4_CORE_00B0_ADDRESS, + D0F0xE4_CORE_00B0_StrapF0MsiEn_MASK | + D0F0xE4_CORE_00B0_StrapF0AerEn_MASK, + (0x1 << D0F0xE4_CORE_00B0_StrapF0MsiEn_OFFSET) | (0x0 << D0F0xE4_CORE_00B0_StrapF0AerEn_OFFSET) + } +}; + +CONST PCIE_HOST_REGISTER_TABLE_HEADER ROMDATA CoreInitTableKB = { + &CoreInitTable[0], + sizeof (CoreInitTable) / sizeof (PCIE_HOST_REGISTER_ENTRY) +}; + + +STATIC PCIE_PORT_REGISTER_ENTRY ROMDATA PortInitEarlyTable [] = { + { + DxFxxE4_x70_ADDRESS, + DxFxxE4_x70_RxRcbCplTimeoutMode_MASK, + (0x1 << DxFxxE4_x70_RxRcbCplTimeoutMode_OFFSET) + }, + { + DxFxxE4_xA0_ADDRESS, + DxFxxE4_xA0_Lc16xClearTxPipe_MASK | DxFxxE4_xA0_LcL1ImmediateAck_MASK | DxFxxE4_xA0_LcL0sInactivity_MASK, + (0x1 << DxFxxE4_xA0_Lc16xClearTxPipe_OFFSET) | + (0x1 << DxFxxE4_xA0_LcL1ImmediateAck_OFFSET) | + (0x6 << DxFxxE4_xA0_LcL0sInactivity_OFFSET) + }, + { + DxFxxE4_xA1_ADDRESS, + DxFxxE4_xA1_LcDontGotoL0sifL1Armed_MASK, + (0x1 << DxFxxE4_xA1_LcDontGotoL0sifL1Armed_OFFSET) + }, + { + DxFxxE4_xA2_ADDRESS, + DxFxxE4_xA2_LcRenegotiateEn_MASK | DxFxxE4_xA2_LcUpconfigureSupport_MASK, + (0x1 << DxFxxE4_xA2_LcRenegotiateEn_OFFSET) | + (0x1 << DxFxxE4_xA2_LcUpconfigureSupport_OFFSET) + }, + { + DxFxxE4_xA3_ADDRESS, + DxFxxE4_xA3_LcXmitFtsBeforeRecovery_MASK, + (0x1 << DxFxxE4_xA3_LcXmitFtsBeforeRecovery_OFFSET) + }, + { + DxFxxE4_xB1_ADDRESS, + DxFxxE4_xB1_LcElecIdleMode_MASK | + DxFxxE4_xB1_LcDeassertRxEnInL0s_MASK | + DxFxxE4_xB1_LcBlockElIdleinL0_MASK, + (0x1 << DxFxxE4_xB1_LcElecIdleMode_OFFSET) | + (0x1 << DxFxxE4_xB1_LcDeassertRxEnInL0s_OFFSET) | + (0x1 << DxFxxE4_xB1_LcBlockElIdleinL0_OFFSET) + }, + { + 0xC0, + 0x70000, + (0x1 << 16) + } +}; + +CONST PCIE_PORT_REGISTER_TABLE_HEADER ROMDATA PortInitEarlyTableKB = { + &PortInitEarlyTable[0], + sizeof (PortInitEarlyTable) / sizeof (PCIE_PORT_REGISTER_ENTRY) +}; + + +STATIC PCIE_PORT_REGISTER_ENTRY ROMDATA PortInitMidTable [] = { + { + DxFxxE4_xA2_ADDRESS, + DxFxxE4_xA2_LcDynLanesPwrState_MASK, + (0x3 << DxFxxE4_xA2_LcDynLanesPwrState_OFFSET) + }, + { + DxFxxE4_x6A_ADDRESS, + DxFxxE4_x6A_ErrReportingDis_MASK, + (0x1 << DxFxxE4_x6A_ErrReportingDis_OFFSET) + }, +// { +// 0xC0, +// DxFxxE4_xC0_StrapAutoRcSpeedNegotiationDis_MASK, +// (0x1 << DxFxxE4_xC0_StrapAutoRcSpeedNegotiationDis_OFFSET) +// } +}; + +CONST PCIE_PORT_REGISTER_TABLE_HEADER ROMDATA PortInitMidTableKB = { + &PortInitMidTable[0], + sizeof (PortInitMidTable) / sizeof (PCIE_PORT_REGISTER_ENTRY) +}; diff --git a/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/excel925.h b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/excel925.h new file mode 100644 index 0000000000..1d9fc9fe5c --- /dev/null +++ b/src/vendorcode/amd/agesa/f16kb/Proc/GNB/Modules/GnbInitKB/excel925.h @@ -0,0 +1,113 @@ +/* $NoKeywords:$ */ +/** + * @file + * + * SCS Binary + * + * + * + * @xrefitem bom "File Content Label" "Release Content" + * @e project: AGESA + * @e sub-project: GNB + * @e \$Revision: 85201 $ @e \$Date: 2013-01-03 14:13:50 -0600 (Thu, 03 Jan 2013) $ + * + */ +/***************************************************************************** + * + * Copyright (c) 2008 - 2013, Advanced Micro Devices, Inc. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * 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. + * * Neither the name of Advanced Micro Devices, Inc. nor the names of + * its contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 ADVANCED MICRO DEVICES, INC. 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. + * + ***************************************************************************/ +#ifndef _EXCEL925_H_ +#define _EXCEL925_H_ + +UINT8 excel925[] = { + 0x21, 0x53, 0x43, 0x53, 0x4B, 0x41, 0x42, 0x49, 0x4E, 0x49, 0x20, 0x20, 0x56, 0x30, 0x2E, 0x30, + 0x2E, 0x30, 0x2E, 0x31, 0x1 , 0x00, 0x00, 0x4 , 0x00, 0x3 , 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x16, 0x2 , 0x1 , 0xA5, 0xF7, 0x2D, 0x83, 0x4E, 0xC3, 0xC3, 0x40, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xF0, 0x3F, 0x2 , 0x1 , 0x80, 0x00, 0xCA, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xB8, 0x59, 0x00, 0x00, 0x92, 0x00, 0x96, 0xB8, 0x00, 0xC3, 0x00, 0xB5, 0x54, 0xB4, 0x8B, 0x62, + 0xB5, 0x00, 0xC4, 0xC1, 0x00, 0xA6, 0x55, 0x00, 0x00, 0xC7, 0x00, 0x38, 0x3C, 0x71, 0x4C, 0xB0, + 0x00, 0x00, 0xB7, 0xC4, 0x00, 0xB5, 0x86, 0xA4, 0x00, 0xC4, 0x00, 0x9B, 0xCB, 0x9D, 0x85, 0xC2, + 0xFF, 0x86, 0xD4, 0xC0, 0x00, 0x00, 0xB0, 0xBD, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x3 , 0x1 , 0xC7, 0x50, 0x7A, 0x3F, + 0x4A, 0xBE, 0x9E, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x3F, 0x2 , 0x1 , 0x80, 0x00, + 0x00, 0x91, 0x00, 0x70, 0x00, 0x00, 0x98, 0x98, 0x9F, 0x9F, 0x00, 0x00, 0x43, 0x43, 0x43, 0x43, + 0x97, 0x00, 0xB4, 0x00, 0x00, 0x00, 0xAE, 0x00, 0x00, 0x00, 0x9E, 0x93, 0x00, 0x00, 0x00, 0x77, + 0x00, 0x00, 0xA5, 0xA5, 0x00, 0x00, 0x00, 0x00, 0xA2, 0xA2, 0xA2, 0xA2, 0x00, 0x90, 0xDA, 0x96, + 0x8D, 0x8D, 0x8D, 0x8D, 0x90, 0x00, 0xFF, 0x00, 0xE6, 0x00, 0xDA, 0x4E, 0x00, 0x89, 0x89, 0x00, + 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x89, 0x99, 0xA9, 0x91, 0x98, 0xC9, 0x00, 0x00, + 0x00, 0x16, 0x4 , 0x1 , 0xCC, 0xBF, 0x86, 0xAD, 0x43, 0x3A, 0x9D, 0x40, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xF0, 0x3F, 0x2 , 0x1 , 0x80, 0x00, 0x4E, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB2, 0xB2, + 0x7E, 0x7E, 0x00, 0x00, 0x97, 0x97, 0x97, 0x97, 0xA0, 0x00, 0xBE, 0x00, 0x00, 0x00, 0xBA, 0x00, + 0x00, 0x00, 0x9D, 0x57, 0x00, 0x00, 0x00, 0x84, 0x00, 0x00, 0xA8, 0xA8, 0x00, 0x00, 0x4 , 0x4 , + 0xAB, 0xAB, 0xAB, 0xAB, 0x00, 0x00, 0xDE, 0x00, 0x75, 0x75, 0x75, 0x75, 0x64, 0x91, 0xFF, 0x00, + 0xE0, 0xE4, 0x95, 0x00, 0x00, 0x80, 0x80, 0xE9, 0xD8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x95, 0xA5, 0xB5, 0xDE, 0x00, 0xB9, 0xCF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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 // _EXCEL925_H_ |