1 //*****************************************************************************
2 //
3 //! @file am_hal_ble_patch_b0.c
4 //!
5 //! @brief This is a Binary Patch for the BLE Core.
6 //!
7 //! @addtogroup BLE3patch BLE_Patch - BLE Patch
8 //! @ingroup apollo3_hal
9 //! @{
10 //
11 //*****************************************************************************
12 
13 //*****************************************************************************
14 //
15 // Copyright (c) 2024, Ambiq Micro, Inc.
16 // All rights reserved.
17 //
18 // Redistribution and use in source and binary forms, with or without
19 // modification, are permitted provided that the following conditions are met:
20 //
21 // 1. Redistributions of source code must retain the above copyright notice,
22 // this list of conditions and the following disclaimer.
23 //
24 // 2. Redistributions in binary form must reproduce the above copyright
25 // notice, this list of conditions and the following disclaimer in the
26 // documentation and/or other materials provided with the distribution.
27 //
28 // 3. Neither the name of the copyright holder nor the names of its
29 // contributors may be used to endorse or promote products derived from this
30 // software without specific prior written permission.
31 //
32 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
33 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
34 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
35 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
36 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
37 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
38 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
39 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
40 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
41 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
42 // POSSIBILITY OF SUCH DAMAGE.
43 //
44 // This is part of revision release_sdk_3_2_0-dd5f40c14b of the AmbiqSuite Development Package.
45 //
46 //*****************************************************************************
47 
48 #include "am_mcu_apollo.h"
49 
50 
51 //*****************************************************************************
52 //
53 //! BLE LL local supported feature flags.
54 //!     Bit position | Link Layer Feature
55 //!     - 0            | LE Encryption
56 //!     - 1            | Connection Parameters Request Procedure
57 //!     - 2            | Extended Reject Indication
58 //!     - 3            | Slave-initiated Features Exchange
59 //!     - 4            | LE Ping
60 //!     - 5            | LE Data Packet Length Extension
61 //!     - 6            | LL Privacy
62 //!     - 7            | Extended Scanner Filter Policies
63 //!
64 //! Specified 4.6 Feature Support, Link Layer Specification, Core V4.2.
65 //
66 //*****************************************************************************
67 #ifndef AM_HAL_BLE_LOCAL_FEATURE
68 #define AM_HAL_BLE_LOCAL_FEATURE    0x21
69 #endif
70 
71 
72 
73 //*****************************************************************************
74 //
75 //! Patches included in this file.
76 //
77 //*****************************************************************************
78 am_hal_ble_patch_t am_ble_buffer_patch_b0;
79 am_hal_ble_patch_t am_ble_performance_patch_b0;
80 am_hal_ble_patch_t am_ble_nvds_patch_b0;
81 
82 //*****************************************************************************
83 //
84 //! Patch application order.
85 //
86 //*****************************************************************************
87 am_hal_ble_patch_t *am_hal_ble_default_patch_array_b0[] =
88 {
89     //! FTCODE patches (type 0xAA)
90 
91     //! RAMCODE patches (type 0xBB)
92     &am_ble_performance_patch_b0,
93 
94     //! Standard patches (type 0xCC)
95     &am_ble_buffer_patch_b0,
96 
97     //! nvds param (type 0xDD)
98     &am_ble_nvds_patch_b0,
99 };
100 
101 #define AM_HAL_BLE_NUM_DEFAULT_PATCHES_B0                                        \
102     (sizeof(am_hal_ble_default_patch_array_b0) /                                 \
103      sizeof(am_hal_ble_default_patch_array_b0[0]))
104 
105 am_hal_ble_patch_t **am_hal_ble_default_patches_b0 = am_hal_ble_default_patch_array_b0;
106 const uint32_t am_hal_ble_num_default_patches_b0 = AM_HAL_BLE_NUM_DEFAULT_PATCHES_B0;
107 
108 //*****************************************************************************
109 //
110 // Patch Name:   RAMCODE PATCH v0.6    for Apollo3 B0
111 
112 // Reduce duration from TX to TX
113 // Optimized 32K XO frequency calculation
114 // Optimized AGC Table
115 // Fixed Channelmap indication rejected issue
116 // Fixed 800M Spur
117 // Fixed feature issue
118 // Fixed disconnect issue  //long time large data transfer
119 // Date:        2019-10-25
120 //*****************************************************************************
121 //*****************************************************************************
122 // Fixed Sweyntooth security issues
123 // Fixed channel number less than 2 during channel map update
124 // Added protection for certain tx buffer list operation
125 // Disabled interrupt during AES operation
126 // Fixed interrupt nested disable/restore issues
127 // Date:        2020-04-27
128 //*****************************************************************************
129 //*****************************************************************************
130 // Improved instant past issue  0x28
131 // Improved disconnet response timout issue 0x22
132 // Date:        2020-08-23
133 //*****************************************************************************
134 //*****************************************************************************
135 // Fixed RD_REM_FEATURE issue when controller is busy
136 // Improved RD_RSSI
137 // Date:        2020-09-01
138 //*****************************************************************************
139 //*****************************************************************************
140 // Improved the hci send data(slave->host) process.
141 // Date:        2020-10-20
142 //*****************************************************************************
143 //*****************************************************************************
144 // Improved DHKey generation procedure.
145 // Improved connection parameter request procedure.
146 // Date:        2020-12-14
147 //*****************************************************************************
148 //*****************************************************************************
149 // Optimize process for LLCP packet with invalid length.
150 // Optimize process when receiving invalid parameter of LL_LEN_RSP.
151 // Date:        2021-01-07
152 //*****************************************************************************
153 //*****************************************************************************
154 // Fixed        No GATT response message during pairing issue
155 // Date:        2021-05-30
156 //*****************************************************************************
157 //*****************************************************************************
158 // Fixed        master mode connection issue
159 // Date:        2021-07-19
160 //*****************************************************************************
161 //*****************************************************************************
162 // Fixed        No response to LL_ENC_REQ issue
163 // Date:        2021-08-10
164 //*****************************************************************************
165 
166 //*****************************************************************************
167 //   Optimize process when receiving invalid parameter of LL_LEN_REQ.
168 // Date:        2021-09-13
169 //*****************************************************************************
170 
171 //*****************************************************************************
172 //   Fixed  RF sync error issue on some channels when doing DTM test
173 // Date:        2021-09-14
174 //*****************************************************************************
175 
176 //*****************************************************************************
177 //   Fixed Carrier-Frequency-deviation issue during DTM testing at -20 Celsius.
178 // Date:        2021-10-26
179 //*****************************************************************************
180 
181 //*****************************************************************************
182 // Fix the ACL throughput drop issue when retransmission happens.
183 // Program more ACL packets when TX buffer and time are available in the process
184 // of connection event to avoid the limitation of maximum 4 TX ACL packets in
185 // each connection event and improve the throughput rate.
186 // Date:        2024-05-24
187 //*****************************************************************************
188 
189 am_hal_ble_buffer(0x1ac4)am_ble_performance_patch_data_b0 =
190 {
191     .bytes =
192     {
193         0x00,0x11,0xc0,0x1a,0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x01,0xc5,0x01,
194         0x39,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
195         0x00,0x00,0x00,0x00,0x01,0x01,0x85,0x36,0x02,0x00,0x00,0x00,0x00,0x10,0x00,0x78,
196         0x00,0x10,0x00,0x06,0x1f,0xb5,0x00,0x24,0x00,0x99,0x14,0x29,0x36,0xd0,0x0f,0xdc,
197         0x32,0xd2,0x08,0x00,0x78,0x44,0x00,0x79,0x00,0x18,0x87,0x44,0x32,0x2f,0x2f,0x2f,
198         0x2f,0x2f,0x2f,0x2f,0x37,0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,0x2f,0x3e,0x2f,0x41,0x2f,
199         0x21,0x29,0x4c,0xd0,0x0c,0xdc,0x15,0x39,0x09,0x29,0x1d,0xd2,0x08,0x00,0x78,0x44,
200         0x00,0x79,0x00,0x18,0x87,0x44,0x1a,0x1a,0x2f,0x1a,0x32,0x35,0x1a,0x3b,0x41,0x00,
201         0x5e,0x29,0x40,0xd0,0x08,0xdc,0x4c,0x29,0x48,0xd0,0x5b,0x29,0x40,0xd0,0x5c,0x29,
202         0x4d,0xd0,0x5d,0x29,0x08,0xd1,0x45,0xe0,0x6c,0x29,0x4c,0xd0,0x79,0x29,0x59,0xd0,
203         0x7a,0x29,0x66,0xd0,0x7b,0x29,0x01,0xd0,0x00,0x24,0xe4,0x43,0x20,0x46,0x04,0xb0,
204         0x10,0xbd,0x01,0x98,0xc0,0xb2,0x00,0xf0,0x1f,0xf9,0xf7,0xe7,0x06,0x9b,0x03,0x9a,
205         0x02,0x99,0x01,0x98,0x01,0xf0,0x7c,0xfc,0xf0,0xe7,0x00,0xf0,0x85,0xf8,0xed,0xe7,
206         0x01,0xf0,0xca,0xfb,0xea,0xe7,0x00,0xf0,0x4d,0xfb,0xe7,0xe7,0x00,0xf0,0xa4,0xfb,
207         0xe4,0xe7,0x01,0x98,0xc0,0xb2,0x00,0xf0,0xdd,0xf9,0x04,0x46,0xde,0xe7,0x01,0x98,
208         0xc0,0xb2,0x01,0xf0,0x7d,0xfb,0x04,0x46,0xd8,0xe7,0x00,0xf0,0x6f,0xfa,0x01,0xf0,
209         0x31,0xfb,0x04,0x46,0xd2,0xe7,0x01,0x98,0x01,0xf0,0x08,0xf8,0x04,0x46,0xcd,0xe7,
210         0x02,0x98,0xc1,0xb2,0x01,0x98,0x01,0xf0,0x73,0xf8,0xc7,0xe7,0x01,0x98,0x00,0xf0,
211         0x2b,0xfe,0xc3,0xe7,0x01,0x98,0x00,0xf0,0xdf,0xfe,0x04,0x46,0xbe,0xe7,0x01,0x98,
212         0x01,0xf0,0x46,0xf9,0xba,0xe7,0x03,0x98,0x00,0x28,0x01,0xd0,0x01,0x22,0x00,0xe0,
213         0x00,0x22,0x02,0x98,0x06,0x9b,0x81,0xb2,0x01,0x98,0x80,0xb2,0x00,0xf0,0x24,0xfc,
214         0x04,0x46,0xab,0xe7,0x03,0x98,0x00,0x28,0x01,0xd0,0x01,0x22,0x00,0xe0,0x00,0x22,
215         0x02,0x98,0x06,0x9b,0x81,0xb2,0x01,0x98,0x80,0xb2,0x00,0xf0,0x95,0xfc,0x04,0x46,
216         0x9c,0xe7,0x03,0x98,0x00,0x28,0x01,0xd0,0x01,0x22,0x00,0xe0,0x00,0x22,0x02,0x98,
217         0x06,0x9b,0x81,0xb2,0x01,0x98,0x80,0xb2,0x00,0xf0,0x24,0xfd,0x04,0x46,0x8d,0xe7,
218         0x03,0xb4,0x01,0x48,0x01,0x90,0x01,0xbd,0x01,0x01,0x00,0x00,0x03,0xb4,0x01,0x48,
219         0x01,0x90,0x01,0xbd,0x79,0x01,0x00,0x00,0x03,0xb4,0x01,0x48,0x01,0x90,0x01,0xbd,
220         0x2d,0x01,0x00,0x00,0x03,0xb4,0x01,0x48,0x01,0x90,0x01,0xbd,0x85,0x3c,0x00,0x00,
221         0x03,0xb4,0x01,0x48,0x01,0x90,0x01,0xbd,0x1d,0x11,0x01,0x00,0x03,0xb4,0x01,0x48,
222         0x01,0x90,0x01,0xbd,0x55,0x01,0x00,0x00,0xf0,0xb4,0x00,0x20,0x43,0x27,0x3f,0x06,
223         0x79,0x68,0xff,0x24,0x01,0x34,0x21,0x43,0x79,0x60,0x79,0x68,0x22,0x03,0x11,0x43,
224         0x79,0x60,0xa3,0x21,0xc9,0x05,0x0a,0x68,0x52,0x08,0x52,0x00,0x0a,0x60,0x34,0x49,
225         0x09,0x69,0xcd,0xb2,0x33,0x49,0x09,0x78,0xc9,0x07,0xc9,0x0f,0x0a,0x05,0x0b,0x02,
226         0x00,0x2d,0x06,0xd0,0x30,0x49,0x31,0x4e,0x09,0x88,0xb1,0x42,0x0d,0xd3,0x04,0x20,
227         0x19,0xe0,0x78,0x68,0x01,0x21,0x09,0x05,0x88,0x43,0x10,0x43,0x78,0x60,0x78,0x68,
228         0xa0,0x43,0x18,0x43,0x78,0x60,0xf0,0xbc,0x70,0x47,0x29,0x4e,0xb1,0x42,0x01,0xd3,
229         0x03,0x20,0x08,0xe0,0x27,0x4e,0xb1,0x42,0x01,0xd3,0x02,0x20,0x03,0xe0,0x26,0x4e,
230         0xb1,0x42,0x00,0xd3,0x01,0x20,0x25,0x4e,0x31,0x18,0x20,0x31,0x09,0x7e,0xa9,0x42,
231         0x09,0xda,0x00,0x28,0x01,0xdd,0x40,0x1e,0x40,0xb2,0x31,0x18,0x09,0x7a,0x40,0x00,
232         0x80,0x19,0x00,0x8b,0x0b,0xe0,0x04,0x28,0x04,0xda,0x31,0x5c,0xa9,0x42,0x01,0xdb,
233         0x40,0x1c,0x40,0xb2,0x31,0x18,0x09,0x7a,0x40,0x00,0x80,0x19,0x00,0x8b,0x18,0x4d,
234         0x29,0x62,0xa3,0x25,0xed,0x05,0x29,0x68,0x49,0x08,0x49,0x00,0x29,0x60,0x15,0x4e,
235         0x31,0x6b,0xff,0x24,0x01,0x34,0x0c,0x43,0x34,0x63,0xa8,0x62,0xff,0x24,0x01,0x34,
236         0xa1,0x43,0x31,0x63,0x08,0x49,0x08,0x80,0x78,0x68,0x21,0x03,0x88,0x43,0x10,0x43,
237         0x78,0x60,0x78,0x68,0x09,0x13,0x88,0x43,0x18,0x43,0x78,0x60,0xf0,0xbc,0x70,0x47,
238         0x80,0x00,0x80,0x45,0x3a,0x68,0x00,0x20,0x50,0x68,0x00,0x20,0xf6,0x3f,0x00,0x00,
239         0xf6,0x38,0x00,0x00,0xf6,0x2d,0x00,0x00,0xf6,0x09,0x00,0x00,0x50,0x6e,0x00,0x20,
240         0x80,0x04,0xc0,0x50,0x40,0x00,0x80,0x45,0xf0,0xb4,0x43,0x21,0x09,0x06,0x4a,0x68,
241         0x01,0x20,0x80,0x04,0x02,0x43,0x4a,0x60,0xc4,0x23,0x87,0x22,0xd2,0x05,0x13,0x60,
242         0x3e,0x23,0xd3,0x60,0x4d,0x4b,0x53,0x61,0x4a,0x68,0x82,0x43,0x4c,0x48,0x00,0x78,
243         0xc0,0x07,0xc0,0x0f,0x83,0x04,0x1a,0x43,0x4a,0x60,0x8b,0x23,0x49,0x4a,0xdb,0x05,
244         0x5a,0x63,0x49,0x4c,0x02,0x22,0xe2,0x60,0x05,0x22,0xca,0x60,0xda,0x63,0x01,0x22,
245         0x22,0x61,0x62,0x62,0xa2,0x63,0x45,0x4c,0x22,0x60,0x45,0x4d,0x65,0x61,0xdc,0x6a,
246         0x14,0x43,0xdc,0x62,0x4a,0x68,0x01,0x24,0x24,0x04,0x22,0x43,0x4a,0x60,0x4a,0x68,
247         0xa5,0x10,0x2a,0x43,0x4a,0x60,0x40,0x4a,0x3e,0x4b,0x53,0x61,0x93,0x68,0x3f,0x26,
248         0xb6,0x05,0x33,0x43,0x93,0x60,0x00,0x23,0xd3,0x60,0x3c,0x4b,0x93,0x61,0x3c,0x4b,
249         0x1b,0x78,0x3c,0x2b,0x01,0xd1,0x06,0x23,0xd3,0x63,0x3a,0x4e,0x33,0x68,0x1e,0x27,
250         0xbb,0x43,0x33,0x60,0x93,0x6a,0xfe,0x03,0xb3,0x43,0x01,0x26,0xb6,0x04,0x9b,0x19,
251         0x93,0x62,0x35,0x4b,0xf0,0x22,0x5a,0x60,0x4a,0x68,0x03,0x04,0xa2,0x43,0x1a,0x43,
252         0x4a,0x60,0x4a,0x68,0x83,0x03,0xaa,0x43,0x1a,0x43,0x4a,0x60,0x4a,0x68,0x74,0x11,
253         0x22,0x43,0x4a,0x60,0x29,0x22,0x52,0x06,0x13,0x6a,0x1b,0x09,0x1b,0x01,0x08,0x33,
254         0x13,0x62,0x2a,0x4b,0xd3,0x60,0x4a,0x68,0x43,0x03,0xa2,0x43,0x1a,0x43,0x4a,0x60,
255         0x4a,0x68,0xe5,0x01,0x2a,0x43,0x4a,0x60,0x28,0x24,0xa3,0x23,0xdb,0x05,0x1c,0x60,
256         0x23,0x4a,0x12,0x88,0x9a,0x62,0x23,0x4b,0x9a,0x62,0x4a,0x68,0x00,0x05,0xaa,0x43,
257         0x02,0x43,0x4a,0x60,0x20,0x48,0xe6,0x23,0x03,0x70,0x04,0x72,0x1f,0x49,0x01,0x83,
258         0x1f,0x49,0xe0,0x24,0x0c,0x76,0xd4,0x22,0x42,0x70,0x3c,0x22,0x42,0x72,0x1d,0x4a,
259         0x42,0x83,0x4b,0x76,0xc8,0x22,0x82,0x70,0x46,0x25,0x85,0x72,0x1a,0x4d,0x85,0x83,
260         0x8b,0x76,0xc2,0x70,0x50,0x22,0xc2,0x72,0x18,0x4a,0xc2,0x83,0xcc,0x76,0x5a,0x22,
261         0x02,0x73,0x17,0x4a,0x02,0x84,0x0c,0x77,0xf0,0xbc,0x70,0x47,0xff,0x7f,0x00,0x00,
262         0x3a,0x68,0x00,0x20,0x49,0x02,0x00,0x00,0x40,0x00,0x80,0x45,0x80,0x00,0x80,0x45,
263         0x1e,0x02,0x00,0x00,0x03,0x00,0x3c,0x00,0x00,0x00,0x40,0x52,0x08,0x00,0x0f,0x00,
264         0x41,0x68,0x00,0x20,0x00,0x00,0xc0,0x51,0x40,0x00,0x40,0x52,0xcc,0x34,0x63,0x02,
265         0x50,0x68,0x00,0x20,0xc0,0x7e,0x00,0x20,0x50,0x6e,0x00,0x20,0xf6,0x07,0x00,0x00,
266         0x70,0x6e,0x00,0x20,0xf6,0x09,0x00,0x00,0xf6,0x2d,0x00,0x00,0xf6,0x38,0x00,0x00,
267         0xf6,0x3f,0x00,0x00,0xf8,0xb5,0x3f,0x48,0x00,0x68,0x00,0x28,0x78,0xd1,0x43,0x20,
268         0x00,0x06,0x41,0x68,0x01,0x22,0xd2,0x03,0x11,0x43,0x41,0x60,0x3a,0x4f,0x3d,0x68,
269         0x01,0x26,0x03,0x20,0x00,0x06,0x28,0x43,0x38,0x60,0x00,0x24,0x37,0x49,0x1e,0x20,
270         0x88,0x47,0x36,0x49,0x01,0x20,0x88,0x47,0x78,0x68,0xc0,0x07,0xc0,0x0f,0x21,0x46,
271         0x33,0x4a,0x64,0x1c,0x91,0x42,0x01,0xd8,0x00,0x28,0xf2,0xd0,0x2e,0x48,0x80,0x68,
272         0x30,0x49,0x08,0x60,0x00,0x24,0x00,0x27,0x00,0x2e,0x11,0xd0,0x2e,0x4a,0x39,0x46,
273         0x00,0x23,0x82,0x1a,0x99,0x41,0x14,0xda,0x64,0x1c,0x23,0x46,0x2a,0x4e,0x43,0x43,
274         0x3a,0x46,0x00,0x21,0xf3,0x1a,0x91,0x41,0xc3,0x1a,0x8a,0x41,0xf4,0xdb,0x08,0xe0,
275         0x26,0x49,0x88,0x42,0x05,0xd2,0x64,0x1c,0x22,0x46,0x42,0x43,0x8a,0x1a,0x82,0x42,
276         0xf9,0xd8,0x23,0x4f,0x21,0x46,0x38,0x46,0xff,0xf7,0x2a,0xfe,0x06,0x46,0x30,0x46,
277         0x60,0x43,0x38,0x1a,0x00,0x03,0x21,0x46,0xff,0xf7,0x22,0xfe,0x07,0x46,0x7d,0x20,
278         0x19,0x21,0x00,0x02,0x89,0x01,0x84,0x42,0x05,0xd9,0x20,0x1a,0x00,0x04,0xff,0xf7,
279         0x17,0xfe,0x01,0x46,0x04,0xe0,0x00,0x1b,0x00,0x04,0xff,0xf7,0x11,0xfe,0x01,0x46,
280         0x14,0x48,0x06,0x63,0x47,0x63,0x81,0x63,0x01,0x20,0x00,0x06,0x85,0x43,0x40,0x00,
281         0x05,0x43,0x09,0x48,0x05,0x60,0x43,0x20,0x00,0x06,0x41,0x68,0x01,0x22,0xd2,0x03,
282         0x91,0x43,0x0d,0x4a,0x12,0x78,0xd2,0x07,0x12,0x0c,0x11,0x43,0x41,0x60,0x20,0x46,
283         0xf8,0xbd,0x00,0x00,0x60,0x68,0x00,0x20,0x00,0x00,0x40,0x44,0xe5,0x3e,0x00,0x00,
284         0x10,0x27,0x00,0x00,0x64,0x68,0x00,0x20,0x00,0x20,0xbc,0xbe,0x00,0xd0,0x12,0x13,
285         0x00,0x90,0xd0,0x03,0xc0,0x7e,0x00,0x20,0x3a,0x68,0x00,0x20,0xc0,0x00,0xe6,0x30,
286         0x80,0xb2,0x00,0x29,0x01,0xd0,0x20,0x30,0x80,0xb2,0x70,0x47,0x51,0x48,0x80,0x47,
287         0x51,0x48,0x80,0x47,0x51,0x48,0x80,0x47,0x51,0x48,0x52,0x49,0x00,0x68,0x88,0x47,
288         0x01,0x20,0xff,0xf7,0x57,0xff,0x50,0x49,0x08,0x60,0x50,0x48,0x80,0x47,0x50,0x48,
289         0x80,0x47,0x50,0x48,0x80,0x47,0x00,0x20,0xc0,0x26,0x4f,0x4c,0xff,0x27,0x01,0x46,
290         0x40,0x1c,0x49,0xb2,0x00,0x29,0x10,0xda,0x0a,0x07,0x12,0x0f,0x08,0x3a,0x92,0x08,
291         0x92,0x00,0x12,0x19,0xd5,0x69,0x89,0x07,0xc9,0x0e,0x3b,0x46,0x8b,0x40,0x9d,0x43,
292         0x33,0x46,0x8b,0x40,0x1d,0x43,0xd5,0x61,0x0d,0xe0,0x8b,0x08,0x43,0x4a,0x9b,0x00,
293         0x9a,0x18,0x13,0x68,0x89,0x07,0xc9,0x0e,0x3d,0x46,0x8d,0x40,0xab,0x43,0x35,0x46,
294         0x8d,0x40,0x2b,0x43,0x13,0x60,0x1e,0x28,0xd9,0xd9,0x3d,0x49,0x08,0x68,0x00,0x0a,
295         0x00,0x02,0x08,0x60,0x08,0x68,0xff,0x23,0x1b,0x02,0x98,0x43,0x08,0x60,0x0a,0x1d,
296         0x10,0x68,0x00,0x02,0x00,0x0a,0x10,0x60,0x08,0x68,0x1d,0x02,0x01,0x26,0xa8,0x43,
297         0xf6,0x05,0x30,0x43,0x08,0x60,0x08,0x1f,0x01,0x68,0x09,0x02,0x09,0x0a,0xc7,0x06,
298         0x39,0x43,0x01,0x60,0x10,0x68,0x00,0x27,0x01,0x0a,0x09,0x02,0x80,0x20,0x01,0x43,
299         0x11,0x60,0x10,0x68,0x71,0x12,0x98,0x43,0x08,0x43,0x10,0x60,0x10,0x68,0xa8,0x43,
300         0x30,0x43,0x10,0x60,0x00,0x20,0x80,0xf3,0x10,0x88,0x26,0x4e,0x26,0x48,0x80,0x47,
301         0x26,0x48,0x80,0x47,0x26,0x48,0x80,0x47,0x00,0x28,0xf7,0xd0,0x25,0x4d,0xa8,0x47,
302         0x00,0x28,0xf3,0xdb,0xb0,0x47,0x00,0x28,0xf0,0xd1,0x23,0x48,0x80,0x47,0xa8,0x47,
303         0x00,0x28,0xeb,0xdb,0xb0,0x47,0x00,0x28,0xe8,0xd1,0xef,0xf3,0x10,0x80,0xc5,0xb2,
304         0x01,0x20,0x80,0xf3,0x10,0x88,0x1d,0x48,0x80,0x47,0x00,0x28,0x0e,0xd0,0x1c,0x48,
305         0x01,0x68,0x00,0x29,0x05,0xd0,0x07,0x60,0x00,0xf0,0x34,0xf8,0x00,0xf0,0x8c,0xf8,
306         0x04,0xe0,0x20,0x69,0xfb,0x21,0x08,0x40,0x20,0x61,0x30,0xbf,0x85,0xf3,0x10,0x88,
307         0xcc,0xe7,0x00,0x00,0x6d,0x95,0x00,0x00,0x19,0x5f,0x01,0x00,0x6d,0x4f,0x01,0x00,
308         0x20,0x68,0x00,0x20,0xa5,0x58,0x01,0x00,0x58,0x68,0x00,0x20,0x55,0x4f,0x01,0x00,
309         0x65,0x50,0x01,0x00,0x49,0x4f,0x01,0x00,0x00,0xed,0x00,0xe0,0x00,0xe4,0x00,0xe0,
310         0x0c,0xe4,0x00,0xe0,0x51,0x3a,0x00,0x00,0x79,0x5a,0x01,0x00,0x89,0x39,0x00,0x00,
311         0x59,0x3f,0x00,0x00,0x1d,0x61,0x00,0x00,0x75,0x3a,0x00,0x00,0x8d,0x5a,0x01,0x00,
312         0x70,0x68,0x00,0x20,0xf8,0xb5,0x00,0x24,0x24,0x48,0x80,0x47,0x43,0x25,0x2d,0x06,
313         0x01,0x21,0x68,0x68,0x89,0x04,0x08,0x43,0x68,0x60,0x8b,0x26,0xf6,0x05,0x30,0x68,
314         0x08,0x21,0x88,0x43,0x30,0x60,0x1e,0x48,0x80,0x47,0x06,0x20,0xe8,0x60,0x1d,0x4d,
315         0x01,0x20,0xa8,0x47,0xa1,0x20,0xc0,0x05,0x01,0x6b,0x02,0x22,0x91,0x43,0x11,0x43,
316         0x01,0x63,0x01,0x21,0x02,0x6b,0x8a,0x43,0x0a,0x43,0x02,0x63,0x01,0x6b,0x04,0x27,
317         0xb9,0x43,0x39,0x43,0x01,0x63,0x14,0x48,0x41,0x68,0x89,0x00,0x0a,0xd5,0x01,0x20,
318         0xa8,0x47,0x20,0x46,0x64,0x1c,0xe4,0xb2,0x19,0x28,0x03,0xd8,0x0e,0x48,0x40,0x68,
319         0x80,0x00,0xf4,0xd4,0x0d,0x4c,0x0f,0x20,0x60,0x60,0x01,0x20,0xa8,0x47,0x07,0x20,
320         0x60,0x60,0x04,0x20,0xa8,0x47,0x06,0x20,0x60,0x60,0x09,0x48,0x30,0x60,0x09,0x48,
321         0x01,0x69,0x39,0x43,0x01,0x61,0x30,0xbf,0xf8,0xbd,0x00,0x00,0x75,0x3a,0x00,0x00,
322         0x85,0xa3,0x00,0x00,0xe5,0x3e,0x00,0x00,0x80,0x00,0x80,0x45,0x40,0x00,0x80,0x45,
323         0x26,0x03,0x00,0x00,0x00,0xed,0x00,0xe0,0x70,0xb5,0x48,0x4d,0x0f,0x20,0x68,0x60,
324         0x8b,0x20,0xc0,0x05,0x01,0x68,0x46,0x4a,0x11,0x40,0x01,0x60,0x01,0x68,0x08,0x22,
325         0x11,0x43,0x01,0x60,0x28,0x6a,0x04,0x21,0x08,0x43,0x28,0x62,0x41,0x48,0x80,0x47,
326         0x05,0x20,0x43,0x24,0x24,0x06,0xe0,0x60,0x3f,0x4e,0x01,0x20,0xb0,0x47,0x3f,0x48,
327         0x80,0x47,0x3f,0x48,0x80,0x47,0x3f,0x48,0x80,0x47,0x68,0x68,0x0d,0x28,0x03,0xd0,
328         0x20,0x20,0xb0,0x47,0x0d,0x20,0x68,0x60,0x3b,0x48,0x80,0x47,0x60,0x68,0x01,0x23,
329         0x1b,0x04,0x18,0x43,0x60,0x60,0x60,0x68,0x9a,0x10,0x10,0x43,0x60,0x60,0x38,0x48,
330         0x36,0x49,0x41,0x61,0x81,0x68,0x3f,0x25,0xad,0x05,0x29,0x43,0x81,0x60,0x00,0x21,
331         0xc1,0x60,0x34,0x49,0x81,0x61,0x34,0x49,0x09,0x78,0x3c,0x29,0x01,0xd1,0x06,0x21,
332         0xc1,0x63,0x32,0x4d,0x29,0x68,0x1e,0x26,0xb1,0x43,0x29,0x60,0x81,0x6a,0xf5,0x03,
333         0xa9,0x43,0x01,0x25,0xad,0x04,0x49,0x19,0x81,0x62,0x2d,0x49,0xf0,0x20,0x48,0x60,
334         0x61,0x68,0x2c,0x48,0x99,0x43,0x00,0x78,0xc0,0x07,0xc0,0x0f,0x03,0x04,0x19,0x43,
335         0x61,0x60,0x61,0x68,0x91,0x43,0x82,0x03,0x11,0x43,0x61,0x60,0x61,0x68,0x6a,0x11,
336         0x11,0x43,0x61,0x60,0x29,0x21,0x24,0x4b,0x49,0x06,0xcb,0x60,0x0b,0x6a,0x1b,0x09,
337         0x1b,0x01,0x08,0x33,0x0b,0x62,0x0b,0x68,0xd5,0x10,0x2b,0x43,0x0b,0x60,0x1f,0x4b,
338         0x1b,0x78,0x5b,0x00,0x5b,0x1c,0x4b,0x61,0x61,0x68,0x91,0x43,0x42,0x03,0x11,0x43,
339         0x61,0x60,0x62,0x68,0xa9,0x02,0x0a,0x43,0x62,0x60,0x28,0x23,0xa3,0x22,0xd2,0x05,
340         0x13,0x60,0x17,0x4b,0x1b,0x88,0x93,0x62,0x62,0x68,0x00,0x05,0x8a,0x43,0x02,0x43,
341         0x62,0x60,0x14,0x49,0x01,0x20,0x88,0x47,0x70,0xbd,0x00,0x00,0x40,0x00,0x80,0x45,
342         0xfd,0xfd,0xff,0xff,0x75,0x3a,0x00,0x00,0xe5,0x3e,0x00,0x00,0x65,0x50,0x01,0x00,
343         0x29,0x48,0x01,0x00,0xc5,0x64,0x01,0x00,0x69,0x48,0x01,0x00,0x03,0x00,0x3c,0x00,
344         0x00,0x00,0x40,0x52,0x08,0x00,0x0f,0x00,0x41,0x68,0x00,0x20,0x00,0x00,0xc0,0x51,
345         0x40,0x00,0x40,0x52,0x3a,0x68,0x00,0x20,0xcc,0x34,0x63,0x04,0x74,0x68,0x00,0x20,
346         0x50,0x68,0x00,0x20,0xa1,0x59,0x01,0x00,0xff,0xb5,0x81,0xb0,0x0d,0x46,0x00,0x26,
347         0x35,0x49,0x28,0x46,0x88,0x47,0x00,0x90,0x01,0x98,0x87,0x00,0x33,0x48,0xc4,0x59,
348         0x20,0x46,0xa0,0x30,0x41,0x79,0x09,0x07,0x07,0xd5,0x00,0x79,0x07,0x28,0x04,0xd0,
349         0x2f,0x4a,0x3d,0x21,0x01,0x98,0x90,0x47,0x52,0xe0,0x2e,0x49,0x01,0x98,0x88,0x47,
350         0x04,0x28,0x4d,0xd1,0x68,0x46,0x01,0x78,0x02,0x20,0x88,0x43,0x08,0xd0,0x00,0x20,
351         0x00,0x28,0x07,0xd0,0xa4,0x20,0x00,0x5d,0x07,0x28,0x03,0xd0,0x02,0x26,0x3f,0xe0,
352         0x01,0x20,0xf5,0xe7,0x28,0x46,0x02,0x22,0x11,0x43,0x00,0x91,0x22,0x4e,0xb0,0x47,
353         0x28,0x46,0x04,0x23,0x6a,0x46,0x11,0x78,0x19,0x43,0x00,0x91,0xb0,0x47,0x08,0x20,
354         0xa4,0x21,0x08,0x55,0x04,0x98,0x80,0x1e,0x18,0x4e,0xf1,0x59,0x88,0x60,0xff,0x20,
355         0x1a,0x4a,0x29,0x46,0x03,0x30,0x90,0x47,0xef,0xf3,0x10,0x80,0xc1,0xb2,0x01,0x20,
356         0x80,0xf3,0x10,0x88,0xf0,0x59,0x0c,0x23,0xa0,0x30,0x42,0x79,0x1a,0x43,0x42,0x71,
357         0x20,0x69,0x28,0x30,0x60,0x30,0x00,0x7e,0x81,0xf3,0x10,0x88,0x00,0x28,0x05,0xd0,
358         0x40,0x34,0xa0,0x8b,0x04,0x21,0x08,0x43,0xa0,0x83,0x08,0xe0,0xff,0x20,0x07,0x30,
359         0x0b,0x4c,0x00,0x23,0x2a,0x46,0x29,0x46,0xa0,0x47,0x0a,0x49,0x88,0x47,0x01,0x26,
360         0x30,0x46,0x05,0xb0,0xf0,0xbd,0x00,0x00,0x0d,0x9f,0x00,0x00,0x64,0x69,0x00,0x20,
361         0x25,0xc4,0x00,0x00,0x1d,0x0a,0x01,0x00,0x31,0x9f,0x00,0x00,0x89,0xa1,0x00,0x00,
362         0xf5,0x9d,0x00,0x00,0x31,0x9e,0x00,0x00,0xff,0xb5,0x81,0xb0,0x1d,0x46,0x00,0x20,
363         0x00,0x90,0x01,0x98,0x42,0x49,0x80,0x00,0x0e,0x58,0x01,0x23,0x34,0x46,0x40,0x34,
364         0xe2,0x7c,0x1a,0x43,0xe2,0x74,0x08,0x58,0xa0,0x30,0x40,0x79,0x00,0x07,0x03,0xd5,
365         0x3c,0x4a,0x3d,0x21,0x01,0x98,0x90,0x47,0x6a,0x88,0x1b,0x2a,0x0a,0xd3,0xeb,0x88,
366         0x1b,0x2b,0x07,0xd3,0xa9,0x88,0xff,0x27,0x49,0x37,0xb9,0x42,0x02,0xd3,0x28,0x89,
367         0xb8,0x42,0x05,0xd2,0x34,0x4b,0x29,0x78,0x20,0x22,0x01,0x98,0x98,0x47,0x5b,0xe0,
368         0xa5,0x88,0x9d,0x42,0x00,0xd2,0x2b,0x46,0x9b,0xb2,0xa5,0x89,0x85,0x42,0x00,0xd2,
369         0x28,0x46,0x80,0xb2,0x65,0x88,0x95,0x42,0x00,0xd2,0x2a,0x46,0x92,0xb2,0x65,0x89,
370         0x8d,0x42,0x00,0xd2,0x29,0x46,0x89,0xb2,0x25,0x89,0x9d,0x42,0x08,0xd1,0x25,0x8a,
371         0x85,0x42,0x05,0xd1,0xe5,0x88,0x95,0x42,0x02,0xd1,0xe5,0x89,0x8d,0x42,0x12,0xd0,
372         0xef,0xf3,0x10,0x85,0xed,0xb2,0x01,0x27,0x87,0xf3,0x10,0x88,0x23,0x81,0x20,0x82,
373         0xe2,0x80,0xe1,0x81,0x1d,0x4b,0x30,0x69,0x98,0x47,0x85,0xf3,0x10,0x88,0xe0,0x7c,
374         0xfd,0x21,0x08,0x40,0xe0,0x74,0x1a,0x49,0x01,0x98,0x88,0x47,0xe0,0x7c,0x40,0x08,
375         0x40,0x00,0xe0,0x74,0x17,0x49,0x40,0x22,0x09,0x7f,0x11,0x40,0x00,0xd0,0x01,0x21,
376         0x00,0x29,0x19,0xd0,0x80,0x07,0x17,0xd4,0x0c,0x23,0x14,0x4d,0x3e,0x22,0x12,0x48,
377         0x01,0x99,0xa8,0x47,0x07,0x21,0x01,0x70,0x01,0x99,0x41,0x80,0x21,0x89,0x01,0x81,
378         0x21,0x8a,0x41,0x81,0xe1,0x88,0x81,0x80,0xe1,0x89,0xc1,0x80,0x0c,0x49,0x88,0x47,
379         0xe0,0x7c,0x02,0x21,0x08,0x43,0xe0,0x74,0x00,0x98,0x05,0xb0,0xf0,0xbd,0x00,0x00,
380         0x64,0x69,0x00,0x20,0x25,0xc4,0x00,0x00,0x3d,0xbb,0x00,0x00,0x95,0x26,0x01,0x00,
381         0xe5,0xb7,0x00,0x00,0xb8,0x68,0x00,0x20,0x04,0x08,0x00,0x00,0xf5,0x9d,0x00,0x00,
382         0xb5,0x8f,0x00,0x00,0xff,0xb5,0x85,0xb0,0x0c,0x46,0x1d,0x46,0x00,0x20,0x04,0x90,
383         0x59,0x49,0x20,0x46,0x88,0x47,0x03,0x90,0x05,0x98,0x81,0x00,0x57,0x48,0x46,0x58,
384         0xa5,0x20,0x80,0x5d,0x00,0x07,0x04,0xd5,0x55,0x4a,0x3d,0x21,0x05,0x98,0x90,0x47,
385         0x9f,0xe0,0xff,0x20,0x53,0x4a,0x21,0x46,0x03,0x30,0x90,0x47,0x68,0x46,0x02,0x7b,
386         0x01,0x20,0x90,0x43,0x08,0xd0,0x00,0x20,0x00,0x28,0x7d,0xd0,0x30,0x46,0xa0,0x30,
387         0xc1,0x78,0x04,0x29,0x02,0xd0,0x87,0xe0,0x01,0x20,0xf5,0xe7,0x69,0x88,0x1b,0x29,
388         0x72,0xd3,0xe9,0x88,0x1b,0x29,0x7f,0xd3,0xab,0x88,0xff,0x21,0x49,0x31,0x8b,0x42,
389         0x7a,0xd3,0x2b,0x89,0x8b,0x42,0x77,0xd3,0x00,0x21,0xc1,0x70,0x51,0x08,0x49,0x00,
390         0x03,0x91,0x41,0x4a,0x20,0x46,0x90,0x47,0x34,0x46,0x40,0x34,0xa0,0x88,0xe9,0x88,
391         0x88,0x42,0x00,0xd3,0x08,0x46,0x80,0xb2,0x02,0x90,0xa0,0x89,0x29,0x89,0x88,0x42,
392         0x00,0xd3,0x08,0x46,0x80,0xb2,0x01,0x90,0x60,0x88,0x69,0x88,0x88,0x42,0x00,0xd3,
393         0x08,0x46,0x87,0xb2,0x60,0x89,0xa9,0x88,0x88,0x42,0x00,0xd3,0x08,0x46,0x85,0xb2,
394         0x32,0x4b,0x30,0x69,0x29,0x46,0x01,0x9a,0x98,0x47,0x21,0x89,0x02,0x98,0x81,0x42,
395         0x09,0xd1,0x21,0x8a,0x01,0x98,0x81,0x42,0x05,0xd1,0xe0,0x88,0xb8,0x42,0x02,0xd1,
396         0xe0,0x89,0xa8,0x42,0x1a,0xd0,0x67,0x80,0x65,0x81,0xef,0xf3,0x10,0x80,0xc0,0xb2,
397         0x00,0x90,0x01,0x20,0x80,0xf3,0x10,0x88,0x02,0x98,0x20,0x81,0x01,0x98,0x20,0x82,
398         0xe7,0x80,0xe5,0x81,0x22,0x4b,0x3a,0x46,0x29,0x46,0x30,0x69,0x98,0x47,0x00,0x98,
399         0x80,0xf3,0x10,0x88,0xe0,0x7c,0xfd,0x21,0x08,0x40,0xe0,0x74,0x1d,0x48,0x40,0x21,
400         0x00,0x7f,0x08,0x40,0x00,0xd0,0x01,0x20,0x00,0x28,0x22,0xd0,0xe0,0x7c,0x80,0x07,
401         0x1f,0xd4,0x0c,0x23,0x19,0x4d,0x3e,0x22,0x17,0x48,0x05,0x99,0xa8,0x47,0x07,0x21,
402         0x01,0x70,0x05,0x99,0x41,0x80,0x00,0xe0,0x0e,0xe0,0x21,0x89,0x01,0x81,0x21,0x8a,
403         0x41,0x81,0xe1,0x88,0x81,0x80,0xe1,0x89,0xc1,0x80,0x11,0x49,0x88,0x47,0xe0,0x7c,
404         0x02,0x21,0x08,0x43,0xe0,0x74,0x04,0xe0,0x0e,0x4b,0x29,0x78,0x20,0x22,0x05,0x98,
405         0x98,0x47,0x04,0x98,0x09,0xb0,0xf0,0xbd,0x0d,0x9f,0x00,0x00,0x64,0x69,0x00,0x20,
406         0x25,0xc4,0x00,0x00,0x89,0xa1,0x00,0x00,0x31,0x9f,0x00,0x00,0x71,0x25,0x01,0x00,
407         0x95,0x26,0x01,0x00,0xb8,0x68,0x00,0x20,0x04,0x08,0x00,0x00,0xf5,0x9d,0x00,0x00,
408         0xb5,0x8f,0x00,0x00,0x3d,0xbb,0x00,0x00,0xf8,0xb5,0x04,0x46,0x00,0x2c,0x18,0xd0,
409         0x26,0x46,0x28,0x36,0x20,0x7a,0x07,0x07,0x3f,0x0f,0x47,0x49,0x20,0x46,0x88,0x47,
410         0x00,0x28,0x01,0xd0,0x45,0x49,0x88,0x47,0x35,0x46,0x80,0x35,0xe8,0x78,0x00,0x28,
411         0x1e,0xd1,0xa8,0x79,0xc0,0x06,0x05,0xd5,0x00,0x22,0x41,0x4b,0x01,0x21,0x20,0x46,
412         0x98,0x47,0xf8,0xbd,0x3f,0x48,0x80,0x47,0x3f,0x48,0xc0,0x6a,0x20,0x30,0x40,0x78,
413         0x00,0x28,0x01,0xd0,0x04,0x20,0x00,0xe0,0x05,0x20,0x05,0x28,0x08,0xd1,0x21,0x89,
414         0x70,0x6e,0x40,0x1a,0x00,0xb2,0x00,0x28,0x00,0xdc,0x01,0x20,0x37,0x49,0x08,0x85,
415         0xe8,0x78,0x01,0x28,0x1f,0xd1,0xa8,0x79,0xc0,0x06,0x05,0xd5,0x00,0x22,0x30,0x4b,
416         0x01,0x21,0x20,0x46,0x98,0x47,0xf8,0xbd,0x21,0x89,0x70,0x6e,0x40,0x1a,0x00,0xb2,
417         0x00,0x28,0x00,0xdc,0x01,0x20,0x2d,0x49,0x08,0x85,0x01,0x22,0xd2,0x03,0x02,0x43,
418         0x4a,0x84,0x60,0x68,0x00,0x28,0x06,0xd0,0x29,0x49,0x20,0x46,0x88,0x47,0x40,0x08,
419         0x40,0x1e,0x26,0x49,0xc8,0x84,0x00,0x20,0x26,0x49,0xba,0x00,0x57,0x18,0x38,0x80,
420         0x21,0x46,0xe8,0x78,0x68,0x31,0x00,0x91,0x04,0x28,0x01,0xd0,0x03,0x28,0x0a,0xd1,
421         0x00,0x98,0x21,0x49,0x80,0x8f,0x88,0x47,0x28,0x88,0x61,0x7e,0x40,0x1a,0x1f,0x49,
422         0x48,0x43,0x1f,0x49,0xc8,0x63,0x00,0x98,0x81,0x8f,0x02,0x8d,0x5a,0x23,0x59,0x43,
423         0x1c,0x4b,0xc9,0x18,0x0a,0x83,0x39,0x88,0x30,0x22,0x91,0x43,0x39,0x80,0x02,0x21,
424         0x3a,0x88,0x12,0x09,0x12,0x01,0x0a,0x43,0x3a,0x80,0xc0,0x8f,0x78,0x80,0x30,0x46,
425         0x00,0xf0,0x9e,0xfa,0x15,0x4a,0x21,0x46,0x13,0x48,0x90,0x47,0xe8,0x78,0x01,0x28,
426         0x01,0xd0,0x00,0x28,0xaf,0xd1,0x12,0x4c,0x60,0x79,0x00,0x28,0xab,0xd0,0x11,0x48,
427         0x80,0x47,0x00,0x20,0x60,0x71,0xf8,0xbd,0xa9,0xee,0x00,0x00,0xf1,0x9a,0x00,0x00,
428         0x49,0xeb,0x00,0x00,0xdd,0x40,0x01,0x00,0x78,0x68,0x00,0x20,0xe8,0x41,0x80,0x50,
429         0x81,0xea,0x00,0x00,0x00,0x40,0x80,0x50,0x69,0x26,0x01,0x00,0x71,0x02,0x00,0x00,
430         0xc0,0x7e,0x00,0x20,0xc0,0x40,0x80,0x50,0x74,0x69,0x00,0x20,0xa7,0x3c,0x00,0x00,
431         0xd4,0x69,0x00,0x20,0x25,0x28,0x01,0x00,0xf0,0xb5,0x91,0xb0,0x04,0x46,0x7d,0x49,
432         0x06,0xa8,0x88,0x47,0x7c,0x20,0x00,0x5b,0x05,0x90,0x00,0x25,0x00,0x21,0x04,0x91,
433         0x5a,0x21,0x48,0x43,0x78,0x49,0x40,0x18,0x40,0x8a,0x03,0x90,0x01,0x20,0x80,0xf3,
434         0x10,0x88,0x60,0x6c,0x00,0x21,0x81,0xf3,0x10,0x88,0x26,0x46,0x60,0x36,0x00,0x28,
435         0x7a,0xd0,0x21,0x46,0x44,0x31,0x10,0x91,0x28,0x39,0x0f,0x91,0x03,0x99,0x89,0x05,
436         0xc9,0x0f,0x0e,0x91,0x21,0x46,0x80,0x31,0x0d,0x91,0x81,0x88,0xca,0x00,0x6b,0x49,
437         0x51,0x18,0x89,0x8e,0xc9,0x0b,0x00,0x29,0x66,0xd0,0x01,0x21,0x81,0xf3,0x10,0x88,
438         0x00,0x68,0x02,0x90,0x66,0x49,0x10,0x98,0x88,0x47,0x07,0x46,0xe0,0x69,0x00,0x28,
439         0x03,0xd0,0x00,0x20,0x00,0x28,0x02,0xd0,0x08,0xe0,0x01,0x20,0xfa,0xe7,0x60,0x49,
440         0x0f,0x98,0x88,0x47,0x00,0x28,0x01,0xd0,0x5e,0x49,0x88,0x47,0x00,0x20,0x80,0xf3,
441         0x10,0x88,0xb8,0x88,0x59,0x49,0xc0,0x00,0x40,0x18,0x82,0x8e,0xd2,0x0b,0xd2,0x03,
442         0x82,0x86,0xb8,0x88,0x04,0x28,0x1e,0xd2,0x30,0x7e,0x40,0x1e,0x30,0x76,0x01,0x20,
443         0x80,0xf3,0x10,0x88,0x20,0x6b,0x00,0x28,0x13,0xd0,0x00,0x20,0x00,0x28,0x05,0xd0,
444         0x0d,0x98,0xfb,0x21,0x80,0x79,0x08,0x40,0x0d,0x99,0x88,0x71,0x4d,0x49,0x38,0x46,
445         0x88,0x47,0x00,0x20,0x80,0xf3,0x10,0x88,0x4b,0x4a,0x39,0x7b,0x05,0x98,0x90,0x47,
446         0x1f,0xe0,0x01,0x20,0xea,0xe7,0x06,0x28,0x19,0xd9,0xc0,0x00,0x40,0x18,0xc0,0x8e,
447         0x00,0x0a,0x01,0x90,0x45,0x49,0x38,0x46,0x88,0x47,0x00,0x28,0x04,0xd0,0x01,0x98,
448         0x00,0x28,0x01,0xd0,0x6d,0x1c,0xed,0xb2,0x0e,0x99,0x01,0x98,0xff,0xf7,0xe6,0xfa,
449         0x01,0x46,0x3f,0x48,0xc2,0x6b,0x51,0x1a,0xc1,0x63,0x02,0xe0,0x04,0xe0,0x6d,0x1c,
450         0xed,0xb2,0x02,0x98,0x00,0x28,0x90,0xd1,0x05,0x98,0x04,0x28,0x0e,0xd0,0x00,0x2d,
451         0x0c,0xd0,0x01,0x20,0x80,0xf3,0x10,0x88,0x30,0x7e,0x40,0x1b,0x30,0x76,0x00,0x20,
452         0x80,0xf3,0x10,0x88,0x33,0x4a,0x29,0x46,0x05,0x98,0x90,0x47,0x01,0x20,0x80,0xf3,
453         0x10,0x88,0x31,0x48,0x2a,0x4e,0x0c,0x90,0xb0,0x47,0x04,0x46,0x00,0x20,0x80,0xf3,
454         0x10,0x88,0x20,0x00,0x42,0xd0,0x03,0x98,0x2c,0x4f,0xc0,0x05,0xc0,0x0f,0x0b,0x90,
455         0xe0,0x88,0x05,0x99,0x88,0x42,0x1b,0xd1,0x04,0x28,0x0f,0xd0,0xa1,0x7a,0x00,0x91,
456         0xe3,0x7a,0x22,0x7b,0x21,0x89,0xb8,0x47,0xa0,0x7a,0x0b,0x99,0xff,0xf7,0xa6,0xfa,
457         0x01,0x46,0x1f,0x48,0xc2,0x6b,0x51,0x1a,0xc1,0x63,0x05,0xe0,0x20,0x4b,0x21,0x79,
458         0x20,0x89,0x2a,0x46,0x98,0x47,0x04,0x90,0x16,0x49,0x20,0x46,0x88,0x47,0x03,0xe0,
459         0x1c,0x4a,0x21,0x46,0x06,0xa8,0x90,0x47,0x01,0x20,0x80,0xf3,0x10,0x88,0x0c,0x98,
460         0xb0,0x47,0x04,0x46,0x20,0x00,0x0c,0xd1,0x06,0x98,0x00,0x28,0x03,0xd0,0x00,0x20,
461         0x00,0x28,0x02,0xd0,0x05,0xe0,0x01,0x20,0xfa,0xe7,0x13,0x4a,0x06,0xa9,0x0c,0x98,
462         0x90,0x47,0x00,0x20,0x80,0xf3,0x10,0x88,0x00,0x2c,0xc1,0xd1,0x04,0x98,0x11,0xb0,
463         0xf0,0xbd,0x00,0x00,0xf5,0x3b,0x00,0x00,0x80,0x40,0x80,0x50,0x00,0x43,0x80,0x50,
464         0x85,0x3c,0x00,0x00,0xf1,0x9a,0x00,0x00,0x59,0xc0,0x00,0x00,0xdd,0x5c,0x00,0x00,
465         0xc0,0x7e,0x00,0x20,0x55,0xbf,0x00,0x00,0xb0,0x69,0x00,0x20,0x79,0xbf,0x00,0x00,
466         0xbd,0x35,0x01,0x00,0xa7,0x3c,0x00,0x00,0x4f,0x3c,0x00,0x00,0xf8,0xb5,0x06,0x46,
467         0x00,0x21,0x31,0x4a,0x10,0x20,0x90,0x47,0x04,0x46,0x00,0x25,0x00,0x2c,0x54,0xd0,
468         0x35,0x46,0x28,0x88,0x2d,0x4f,0x80,0x00,0x38,0x58,0x06,0x69,0x28,0x36,0x30,0x46,
469         0x08,0x30,0xa9,0x68,0xe1,0x60,0x29,0x88,0xe1,0x80,0xa9,0x88,0x21,0x81,0xa9,0x78,
470         0xa1,0x72,0x2f,0x21,0xa1,0x80,0x01,0x21,0x81,0xf3,0x10,0x88,0x24,0x4a,0x21,0x46,
471         0x90,0x47,0x00,0x20,0x80,0xf3,0x10,0x88,0x01,0x25,0xe0,0x88,0x5a,0x21,0x48,0x43,
472         0x20,0x49,0x40,0x18,0x42,0x8a,0x12,0x0b,0x02,0x2a,0x05,0xd3,0x42,0x8a,0x12,0x05,
473         0x12,0x0d,0x2b,0x03,0x1a,0x43,0x42,0x82,0xe0,0x88,0x82,0x00,0xba,0x58,0x12,0x69,
474         0x28,0x32,0x00,0x92,0x5a,0x22,0x50,0x43,0x40,0x18,0x44,0x8a,0x00,0x9a,0x80,0x32,
475         0x90,0x78,0x00,0x28,0x19,0xd0,0xa0,0x05,0xc1,0x0f,0x72,0x20,0x80,0x5b,0xff,0xf7,
476         0x0d,0xfa,0x07,0x46,0xe0,0x05,0xc1,0x0f,0x00,0x20,0xff,0xf7,0x07,0xfa,0x60,0x36,
477         0x31,0x7e,0x38,0x18,0x49,0x1c,0x48,0x43,0x0b,0x49,0x40,0x18,0x0b,0x49,0xc9,0x6b,
478         0x88,0x42,0x02,0xd2,0x00,0x98,0x00,0xf0,0xf3,0xf8,0x00,0x2d,0x01,0xd0,0x01,0x20,
479         0xf8,0xbd,0x00,0x20,0xf8,0xbd,0x00,0x00,0x75,0x9c,0x00,0x00,0x64,0x69,0x00,0x20,
480         0xa7,0x3c,0x00,0x00,0x80,0x40,0x80,0x50,0x71,0x02,0x00,0x00,0xc0,0x7e,0x00,0x20,
481         0xf3,0xb5,0x85,0xb0,0x65,0x4a,0x04,0x92,0x16,0x78,0x4a,0x1e,0xd2,0xb2,0x06,0x92,
482         0x00,0x29,0x72,0xd0,0x01,0x46,0x40,0x31,0x03,0x91,0x61,0x49,0x05,0x46,0x80,0x35,
483         0x02,0x91,0xa8,0x79,0xc0,0x06,0x69,0xd4,0x01,0x21,0x5e,0x4a,0x10,0x20,0x90,0x47,
484         0x04,0x46,0x0c,0x20,0x5c,0x4f,0x70,0x43,0xc0,0x19,0x01,0x8e,0x26,0x71,0x03,0x9a,
485         0x92,0x8f,0xe2,0x80,0xc2,0x8d,0x22,0x81,0x23,0x46,0x0b,0x33,0x9c,0x46,0x5b,0x1c,
486         0x22,0x46,0x9e,0x46,0x40,0x8e,0xc3,0x0b,0x53,0x73,0x82,0x04,0x92,0x0e,0x63,0x46,
487         0x1a,0x70,0x73,0x46,0x18,0x70,0x00,0x20,0x60,0x71,0xa8,0x79,0xc2,0x07,0x05,0xd0,
488         0x22,0x7a,0x52,0x06,0x02,0xd4,0x40,0x08,0x40,0x00,0xa8,0x71,0xe0,0x88,0x04,0x28,
489         0x6f,0xd0,0x08,0x0a,0xa0,0x72,0xa8,0x79,0x82,0x07,0x0f,0xd5,0x22,0x7a,0xd2,0x07,
490         0x0c,0xd1,0xfd,0x22,0x10,0x40,0xa8,0x71,0xe0,0x88,0xff,0x23,0x82,0x00,0x43,0x48,
491         0x80,0x58,0x40,0x30,0x82,0x8b,0x01,0x33,0x1a,0x43,0x82,0x83,0x22,0x89,0xff,0x20,
492         0x40,0x30,0x02,0x40,0x45,0xd1,0xa0,0x7a,0x00,0x28,0x42,0xd0,0x89,0x07,0x89,0x0f,
493         0x01,0x91,0xe1,0x88,0x39,0x4a,0x8b,0x00,0xd2,0x58,0xa0,0x32,0x52,0x79,0x92,0x07,
494         0x01,0xd5,0x00,0x1f,0xa0,0x72,0x01,0x98,0x01,0x28,0x1f,0xd0,0x02,0x28,0x1d,0xd0,
495         0x03,0x28,0x0c,0xd0,0x20,0x79,0x0c,0x21,0x48,0x43,0xc0,0x19,0x81,0x8d,0x49,0x04,
496         0x49,0x0c,0x81,0x85,0x01,0x20,0x60,0x71,0x33,0xe0,0x4a,0xe0,0x36,0xe0,0x2c,0x4a,
497         0xa1,0x7a,0x20,0x46,0x90,0x47,0x20,0x79,0x0c,0x21,0x48,0x43,0xc0,0x19,0x81,0x8d,
498         0x49,0x04,0x49,0x0c,0x81,0x85,0x01,0x20,0x60,0x71,0x22,0xe0,0x08,0x02,0x40,0x1c,
499         0x81,0xb2,0x08,0x23,0x23,0x4f,0x0a,0x46,0x58,0x01,0xb8,0x47,0xe1,0x88,0x01,0x80,
500         0xa1,0x7a,0x81,0x80,0x01,0x99,0x81,0x70,0x21,0x79,0x81,0x71,0x1e,0x49,0x88,0x47,
501         0x0f,0xe0,0x00,0x2a,0x03,0xd0,0xa8,0x79,0x01,0x21,0x08,0x43,0xa8,0x71,0x20,0x79,
502         0x0c,0x21,0x48,0x43,0xc0,0x19,0x81,0x8d,0x49,0x04,0x49,0x0c,0x81,0x85,0x01,0x20,
503         0x60,0x71,0x16,0x4a,0x21,0x46,0x02,0x98,0x90,0x47,0x08,0xe0,0x0c,0x20,0x31,0x46,
504         0x41,0x43,0x0d,0x48,0x08,0x18,0x81,0x8d,0x49,0x04,0x49,0x0c,0x81,0x85,0x76,0x1c,
505         0x76,0x07,0x76,0x0f,0x06,0x98,0x41,0x1e,0xc9,0xb2,0x06,0x91,0x00,0x28,0x00,0xd0,
506         0x47,0xe7,0x04,0x98,0x06,0x70,0x07,0xb0,0xf0,0xbd,0x00,0x00,0x5c,0x6c,0x00,0x20,
507         0xb0,0x69,0x00,0x20,0x75,0x9c,0x00,0x00,0x80,0x44,0x80,0x50,0x64,0x69,0x00,0x20,
508         0xad,0x14,0x01,0x00,0xf5,0x9d,0x00,0x00,0x31,0x9e,0x00,0x00,0xa7,0x3c,0x00,0x00,
509         0xf1,0xb5,0x92,0xb0,0x12,0x98,0x40,0x30,0x11,0x90,0x80,0x8f,0x0e,0x90,0x12,0x98,
510         0x08,0x30,0x0d,0x90,0x12,0x98,0x30,0x30,0x0c,0x90,0x12,0x98,0x44,0x30,0x0b,0x90,
511         0x00,0x20,0x0a,0x90,0x01,0x25,0x0c,0x98,0x04,0x68,0x00,0x2c,0x03,0xd0,0x00,0x20,
512         0x00,0x28,0x02,0xd0,0x8a,0xe0,0x01,0x20,0xfa,0xe7,0x0e,0x98,0xc1,0x00,0xcc,0x48,
513         0x08,0x18,0x10,0x90,0x80,0x8e,0xc0,0x0b,0x00,0x28,0x7f,0xd0,0x0e,0x98,0xc9,0x49,
514         0x80,0x00,0x0f,0x90,0x08,0x58,0xa0,0x30,0x46,0x79,0x01,0x20,0x71,0x07,0x15,0xd5,
515         0x00,0x2c,0x13,0xd0,0xc4,0x4f,0xb0,0x06,0x03,0xd5,0x20,0x7b,0xb8,0x47,0x00,0x20,
516         0x04,0xe0,0x20,0x7b,0xb8,0x47,0x00,0x28,0x03,0xd0,0x01,0x20,0x00,0x28,0x02,0xd0,
517         0x04,0xe0,0x00,0x20,0xfa,0xe7,0x24,0x68,0x00,0x2c,0xec,0xd1,0x00,0x28,0x5d,0xd0,
518         0xba,0x4b,0x00,0x22,0x21,0x46,0x0c,0x98,0x98,0x47,0xa7,0x68,0xb8,0x4a,0x09,0xa9,
519         0x38,0x46,0x90,0x47,0x00,0x28,0x51,0xd1,0xa0,0x88,0x39,0x46,0xb0,0x4e,0xc0,0x00,
520         0x80,0x19,0x00,0x8f,0x08,0xaa,0x12,0x79,0xb2,0x4b,0xc0,0x18,0xfe,0xf7,0x8e,0xfe,
521         0xb1,0x49,0xa0,0x68,0x88,0x47,0xab,0x49,0x0f,0x98,0x08,0x58,0xa0,0x30,0x40,0x79,
522         0xc0,0x07,0x03,0xd0,0x08,0xa9,0x08,0x79,0x00,0x1d,0x09,0x90,0x08,0xa8,0x01,0x79,
523         0x10,0x98,0xc2,0x8e,0x09,0x02,0xd2,0xb2,0x0a,0x43,0xc2,0x86,0x03,0x21,0x10,0x98,
524         0xc2,0x8e,0x8a,0x43,0x0a,0x43,0xc2,0x86,0x11,0x98,0x80,0x8f,0x00,0x21,0xc0,0x00,
525         0x80,0x19,0x81,0x86,0x0b,0x98,0x00,0x68,0x00,0x28,0x03,0xd0,0x00,0x20,0x00,0x28,
526         0x02,0xd0,0x10,0xe0,0x01,0x20,0xfa,0xe7,0x0b,0x98,0xa1,0x88,0x40,0x68,0xca,0x00,
527         0xcd,0x21,0x80,0x88,0x89,0x00,0x51,0x18,0xc0,0x00,0x80,0x19,0x82,0x8e,0xd2,0x0b,
528         0xd2,0x03,0x0a,0x43,0x82,0x86,0x95,0x4a,0x21,0x46,0x0b,0x98,0x90,0x47,0x12,0x98,
529         0x60,0x30,0x01,0x7e,0x49,0x1c,0x00,0xe0,0x00,0xe0,0x01,0x76,0x11,0x98,0x80,0x8f,
530         0x04,0x28,0x08,0xd2,0x0e,0x99,0x8a,0x00,0x86,0x49,0x89,0x58,0xa0,0x31,0x49,0x79,
531         0x49,0x07,0x00,0xd5,0x00,0x25,0x0d,0x99,0x09,0x68,0x00,0x29,0x1f,0xd0,0x00,0x21,
532         0x2a,0x46,0x8a,0x43,0x76,0xd0,0x04,0x28,0x75,0xd2,0x86,0x49,0x84,0x48,0x88,0x47,
533         0x09,0x90,0x00,0x20,0x08,0x90,0x11,0x98,0x80,0x8f,0x81,0x00,0x79,0x48,0x40,0x58,
534         0xa0,0x30,0x40,0x79,0xc0,0x07,0xc0,0x0f,0x07,0x90,0x0d,0x98,0x06,0x68,0x00,0x2e,
535         0x09,0xd0,0x0d,0x99,0x30,0x68,0x08,0x60,0x00,0x28,0x02,0xd0,0x03,0xe0,0x01,0x21,
536         0xde,0xe7,0x0d,0x99,0x48,0x60,0x00,0x2e,0x7e,0xd0,0x00,0x20,0x06,0x90,0x12,0x98,
537         0x03,0x90,0x09,0x98,0x07,0x9b,0x04,0x90,0x05,0x93,0x08,0x25,0x75,0x5f,0x00,0x27,
538         0x00,0x20,0x02,0x90,0x01,0x20,0x01,0x90,0x11,0x9a,0x51,0x8e,0xcc,0xb2,0x28,0x46,
539         0x09,0x30,0x80,0xb2,0x05,0x9b,0x00,0x2b,0x01,0xd0,0x00,0x1d,0x80,0xb2,0xc0,0x00,
540         0x08,0x30,0x83,0xb2,0x10,0x8e,0x98,0x42,0x05,0xd2,0x50,0x38,0x40,0x05,0x04,0x0e,
541         0xa1,0x42,0x00,0xd2,0xcc,0xb2,0xa5,0x42,0x01,0xdd,0x64,0x08,0x64,0x00,0x21,0x46,
542         0x68,0x1e,0xfe,0xf7,0xe9,0xfd,0x40,0x1c,0xc0,0xb2,0x04,0x99,0x88,0x42,0x01,0xd9,
543         0x00,0x25,0x2f,0xe0,0x06,0x90,0x5a,0x48,0xfe,0xf7,0xe4,0xfd,0x01,0x46,0x01,0x98,
544         0x00,0x28,0x0f,0xd0,0x00,0x20,0x01,0x90,0xb0,0x7a,0x80,0x07,0x80,0x0f,0x01,0x28,
545         0x06,0xd0,0x02,0x20,0x88,0x72,0xf0,0x68,0xc7,0x88,0x80,0x88,0x02,0x90,0x05,0xe0,
546         0x01,0x20,0xf7,0xe7,0x01,0x20,0x88,0x72,0x38,0x19,0x87,0xb2,0xa5,0x42,0x03,0xdd,
547         0xcc,0x72,0x02,0xe0,0x57,0xe0,0x4d,0xe0,0xcd,0x72,0x02,0x98,0xc8,0x80,0x0f,0x81,
548         0x28,0x1b,0x05,0xb2,0x00,0x2d,0x23,0xdc,0x01,0x22,0x05,0x9b,0x03,0x98,0xfe,0xf7,
549         0xbf,0xfd,0x01,0x25,0x00,0x2d,0x21,0xd0,0x68,0x46,0x00,0x7e,0x08,0x99,0x09,0x18,
550         0xc9,0xb2,0x08,0x91,0x09,0x99,0x08,0x1a,0x80,0xb2,0x09,0x90,0x12,0x98,0xc0,0x69,
551         0x00,0x28,0x1d,0xd0,0x12,0x98,0x00,0x6a,0x06,0x60,0x12,0x98,0x06,0x62,0x00,0x20,
552         0x30,0x60,0x08,0x98,0x0a,0x28,0x00,0xe0,0x28,0xe0,0x14,0xd9,0x00,0x25,0x25,0xe0,
553         0x00,0x22,0x05,0x9b,0x03,0x98,0xfe,0xf7,0x9b,0xfd,0xac,0xe7,0x0d,0x98,0x00,0x68,
554         0x00,0x28,0x01,0xd1,0x0d,0x99,0x4e,0x60,0x30,0x60,0x0d,0x98,0x06,0x60,0x15,0xe0,
555         0x12,0x98,0xc6,0x61,0xe1,0xe7,0x0d,0x98,0x06,0x68,0x00,0x2e,0x06,0xd0,0x0d,0x99,
556         0x30,0x68,0x08,0x60,0x00,0x28,0x01,0xd1,0x0d,0x99,0x48,0x60,0x00,0x2e,0x00,0xd0,
557         0x5b,0xe7,0x03,0xe0,0x24,0x4a,0x0d,0x99,0x0b,0x98,0x90,0x47,0x00,0x2d,0x02,0xd0,
558         0x22,0x49,0x0d,0x98,0x88,0x47,0x0b,0x98,0x00,0x68,0x00,0x28,0x03,0xd0,0x00,0x21,
559         0x00,0x29,0x02,0xd0,0x1b,0xe0,0x01,0x21,0xfa,0xe7,0x00,0x28,0x0a,0xd0,0x10,0x4a,
560         0x81,0x88,0xc9,0x00,0x89,0x18,0x89,0x8e,0xc9,0x0b,0x00,0x29,0x05,0xd0,0x00,0x68,
561         0x00,0x28,0xf5,0xd1,0x00,0x28,0x08,0xd0,0x09,0xe0,0x81,0x88,0xca,0x00,0xcd,0x21,
562         0x89,0x00,0x51,0x18,0x89,0xb2,0x0a,0x91,0xf4,0xe7,0x00,0x20,0x0a,0x90,0x0a,0x99,
563         0x0e,0x98,0x5a,0x22,0x50,0x43,0x0e,0x4a,0x80,0x18,0x81,0x84,0x13,0xb0,0xf0,0xbd,
564         0x00,0x43,0x80,0x50,0x64,0x69,0x00,0x20,0x99,0xb7,0x00,0x00,0x57,0x3b,0x00,0x00,
565         0x85,0x14,0x01,0x00,0x00,0x40,0x80,0x50,0xf1,0x9a,0x00,0x00,0xa7,0x3c,0x00,0x00,
566         0xdc,0x69,0x00,0x20,0xfb,0x3c,0x00,0x00,0x4f,0x3c,0x00,0x00,0xf5,0x3b,0x00,0x00,
567         0x80,0x40,0x80,0x50,0x10,0xb5,0x19,0x48,0x80,0x7a,0xc0,0x07,0x01,0xd0,0x00,0x20,
568         0x10,0xbd,0x17,0x48,0x80,0x47,0x05,0x20,0x00,0x07,0xc0,0x69,0x15,0x49,0x00,0x05,
569         0x04,0xd0,0x08,0x78,0x01,0x28,0x15,0xd0,0x02,0x28,0x13,0xd0,0x08,0x78,0x00,0x28,
570         0x08,0xd0,0x01,0x28,0x06,0xd0,0x02,0x28,0x04,0xd0,0x0f,0x48,0x80,0x47,0x0f,0x49,
571         0x32,0x20,0x88,0x47,0x0e,0x48,0x41,0x68,0x0d,0x29,0x08,0xd0,0x40,0x68,0x0e,0x28,
572         0x05,0xd0,0x06,0xe0,0x0b,0x49,0x04,0x20,0x88,0x47,0x01,0x20,0x10,0xbd,0x0a,0x48,
573         0x80,0x47,0x0a,0x49,0x04,0x20,0x88,0x47,0x00,0x20,0x10,0xbd,0x0c,0x6e,0x00,0x20,
574         0x51,0x9a,0x00,0x00,0x18,0x10,0x00,0x20,0x69,0x61,0x01,0x00,0xe5,0x3e,0x00,0x00,
575         0x40,0x00,0x80,0x45,0xa1,0x59,0x01,0x00,0xd3,0x60,0x01,0x00,0x59,0x59,0x01,0x00,
576         0x41,0xb2,0x15,0x48,0x00,0x88,0x15,0x4a,0x90,0x42,0x01,0xd1,0x41,0x20,0x1e,0xe0,
577         0x13,0x4a,0x90,0x42,0x01,0xd1,0x3c,0x20,0x19,0xe0,0x12,0x4a,0x90,0x42,0x01,0xd1,
578         0x37,0x20,0x14,0xe0,0x10,0x4a,0x90,0x42,0x01,0xd1,0x32,0x20,0x0f,0xe0,0x0f,0x4a,
579         0x90,0x42,0x01,0xd1,0x2d,0x20,0x0a,0xe0,0x0d,0x4a,0x90,0x42,0x01,0xd1,0x37,0x20,
580         0x05,0xe0,0x0c,0x4a,0x90,0x42,0x01,0xd1,0x2f,0x20,0x00,0xe0,0x28,0x20,0x40,0x42,
581         0x40,0x18,0x40,0xb2,0x70,0x47,0x00,0x00,0x50,0x68,0x00,0x20,0xf6,0x3f,0x00,0x00,
582         0xf6,0x38,0x00,0x00,0xf6,0x2d,0x00,0x00,0xf6,0x09,0x00,0x00,0xf6,0x07,0x00,0x00,
583         0xf6,0x20,0x00,0x00,0x96,0x20,0x00,0x00,0x70,0xb5,0x42,0x48,0x41,0x68,0x0d,0x29,
584         0x06,0xd0,0x0d,0x21,0x41,0x60,0x40,0x49,0x01,0x20,0x88,0x47,0x3f,0x48,0x80,0x47,
585         0x43,0x24,0x24,0x06,0x60,0x68,0x01,0x22,0x52,0x03,0x10,0x43,0x60,0x60,0x29,0x20,
586         0x3b,0x49,0x40,0x06,0xc1,0x60,0x01,0x6a,0x09,0x09,0x09,0x01,0x08,0x31,0x01,0x62,
587         0x01,0x68,0xd3,0x10,0x19,0x43,0x01,0x60,0x36,0x49,0x09,0x78,0x49,0x00,0x49,0x1c,
588         0x41,0x61,0x61,0x68,0x34,0x4e,0x91,0x43,0x30,0x78,0xc0,0x07,0xc0,0x0f,0x42,0x03,
589         0x11,0x43,0x61,0x60,0x31,0x49,0x09,0x78,0x3c,0x29,0x0b,0xd1,0x62,0x68,0x99,0x01,
590         0x0a,0x43,0x62,0x60,0x2e,0x4b,0x06,0x22,0xda,0x63,0x62,0x68,0x8a,0x43,0x01,0x04,
591         0x0a,0x43,0x62,0x60,0x61,0x68,0x01,0x22,0x12,0x05,0x11,0x43,0x61,0x60,0x28,0x25,
592         0xa3,0x21,0xc9,0x05,0x0d,0x60,0x27,0x4b,0x1b,0x88,0x8b,0x62,0x61,0x68,0x00,0x05,
593         0x91,0x43,0x01,0x43,0x61,0x60,0xfe,0xf7,0x61,0xfc,0x80,0x02,0x80,0x0a,0x29,0x07,
594         0x01,0x43,0x21,0x48,0x81,0x62,0x60,0x68,0xff,0x21,0x01,0x31,0x08,0x43,0x60,0x60,
595         0x1e,0x48,0x1f,0x4a,0x00,0x78,0xc3,0x07,0xdb,0x0f,0x53,0x61,0xc0,0x06,0xc0,0x0f,
596         0x90,0x61,0x1c,0x48,0x1c,0x4a,0x00,0x88,0x90,0x42,0x01,0xd0,0x1b,0x4a,0x50,0x62,
597         0x1b,0x48,0x02,0x78,0x1b,0x48,0x00,0x2a,0x01,0xd0,0x01,0x22,0x82,0x60,0x1a,0x4a,
598         0x12,0x78,0x00,0x2a,0x05,0xd0,0x45,0x62,0x18,0x4b,0x26,0x22,0x1a,0x61,0x02,0x22,
599         0xc2,0x62,0x60,0x68,0x88,0x43,0x31,0x78,0xc9,0x07,0xc9,0x0d,0x08,0x43,0x60,0x60,
600         0x70,0xbd,0x00,0x00,0x40,0x00,0x80,0x45,0xe5,0x3e,0x00,0x00,0xd3,0x60,0x01,0x00,
601         0xcc,0x34,0x63,0x04,0x74,0x68,0x00,0x20,0x3a,0x68,0x00,0x20,0x41,0x68,0x00,0x20,
602         0x00,0x00,0x40,0x52,0x50,0x68,0x00,0x20,0x00,0x01,0x80,0x50,0x35,0x68,0x00,0x20,
603         0x40,0x04,0xc0,0x50,0x52,0x68,0x00,0x20,0xff,0x0f,0x00,0x00,0x80,0x04,0xc0,0x50,
604         0x39,0x68,0x00,0x20,0x00,0x04,0xc0,0x50,0x36,0x68,0x00,0x20,0xc0,0x04,0xc0,0x50,
605         0xff,0xb5,0xff,0xb0,0x82,0xb0,0x05,0x46,0x0c,0x46,0x00,0x27,0x2d,0x49,0x02,0x20,
606         0x88,0x47,0x2d,0x48,0x80,0x47,0x2d,0x48,0x80,0x47,0x2d,0x48,0x80,0x47,0x2d,0x48,
607         0x2d,0x4b,0x00,0x78,0x2d,0x4e,0x00,0x28,0x02,0xd0,0x01,0x28,0x08,0xd0,0x1e,0xe0,
608         0x64,0x1e,0xa7,0xb2,0x28,0x78,0xb0,0x61,0x39,0x46,0x68,0x1c,0x98,0x47,0x16,0xe0,
609         0x69,0x46,0x0c,0x70,0x20,0x0a,0x48,0x70,0x00,0x22,0x68,0x46,0x00,0x2c,0x06,0xd9,
610         0xa9,0x5c,0x87,0x18,0xb9,0x70,0x52,0x1c,0x92,0xb2,0xa2,0x42,0xf8,0xd3,0x64,0x1c,
611         0xa7,0xb2,0x69,0x46,0x09,0x78,0xb1,0x61,0x39,0x46,0x40,0x1c,0x98,0x47,0x78,0x07,
612         0x40,0x0f,0xf1,0x68,0x09,0x07,0x09,0x0f,0x81,0x42,0xfa,0xd3,0x18,0x49,0x0a,0x20,
613         0x88,0x47,0x18,0x48,0x80,0x47,0x18,0x48,0x81,0x68,0x89,0x07,0xfc,0xd5,0x70,0x68,
614         0x80,0x07,0xfc,0xd5,0x08,0x20,0x70,0x60,0x00,0x20,0xb0,0x61,0x13,0x48,0x80,0x47,
615         0x13,0x48,0x80,0x47,0x83,0x9a,0x00,0x21,0x84,0x98,0x90,0x47,0x11,0x48,0x00,0x78,
616         0x00,0x28,0x03,0xd1,0x12,0x4a,0x10,0x49,0x10,0x48,0x90,0x47,0x7f,0xb0,0x06,0xb0,
617         0xf0,0xbd,0x00,0x00,0xa1,0x59,0x01,0x00,0xbd,0x60,0x01,0x00,0xe9,0x5f,0x00,0x00,
618         0xad,0x2d,0x00,0x00,0x3e,0x68,0x00,0x20,0x09,0x43,0x00,0x00,0x00,0x00,0xc0,0x52,
619         0xe5,0x3e,0x00,0x00,0x09,0x62,0x01,0x00,0xc0,0x02,0x00,0x50,0x9d,0x2d,0x00,0x00,
620         0xf5,0x61,0x01,0x00,0x01,0x10,0x00,0x20,0xff,0x03,0x00,0x00,0x18,0x10,0x00,0x20,
621         0x85,0x42,0x00,0x00
622     }
623 };
624 
625 am_hal_ble_patch_t am_ble_performance_patch_b0 =
626 {
627     .ui32Type = 0xBB,
628     .ui32Length = 0x1ac4,
629     .ui32CRC = 0xd4b1,
630     .pui32Data = am_ble_performance_patch_data_b0.words,
631 };
632 
633 
634 //*****************************************************************************
635 
636 
637 
638 //*****************************************************************************
639 //
640 // Patch Name:  Function PATCH v0.4    for Apollo3 B0
641 //
642 // Reduce duration from TX to TX
643 // Optimized 32K XO frequency calculation
644 // Optimized AGC Table
645 // Fixed Channelmap indication rejected issue
646 // Fixed 800M Spur
647 // Fixed feature issue
648 // Fixed disconnect issue  //long time large data transfer
649 // Date:        2019-10-25
650 //*****************************************************************************
651 //*****************************************************************************
652 // Fixed Sweyntooth security issues
653 // Fixed channel number less than 2 during channel map update
654 // Added protection for certain tx buffer list operation
655 // Disabled interrupt during AES operation
656 // Fixed interrupt nested disable/restore issues
657 // Date:        2020-04-27
658 //*****************************************************************************
659 //*****************************************************************************
660 // Improved instant past issue  0x28
661 // Improved disconnet response timout issue 0x22
662 // Date:        2020-08-23
663 //*****************************************************************************
664 //*****************************************************************************
665 // Fixed RD_REM_FEATURE issue when controller is busy
666 // Improved RD_RSSI
667 // Date:        2020-09-01
668 //*****************************************************************************
669 
670 //*****************************************************************************
671 // Fixed can't enter sleep when no RF task (stop advertising)
672 // Date:        2020-12-03
673 //*****************************************************************************
674 
675 //*****************************************************************************
676 // Improved DHKey generation procedure.
677 // Improved connection parameter request procedure.
678 // Date:        2020-12-14
679 //*****************************************************************************
680 
681 //*****************************************************************************
682 // Optimize process for LLCP packet with invalid length.
683 // Optimize process when receiving invalid parameter of LL_LEN_RSP.
684 // Date:        2021-01-07
685 //*****************************************************************************
686 //*****************************************************************************
687 // Fixed        No GATT response message during pairing issue
688 // Date:        2021-05-30
689 //*****************************************************************************
690 
691 //*****************************************************************************
692 // Fixed        master mode connection issue
693 // Date:        2021-07-19
694 //*****************************************************************************
695 //*****************************************************************************
696 // Fixed        No response to LL_ENC_REQ issue
697 // Date:        2021-08-10
698 //*****************************************************************************
699 
700 //*****************************************************************************
701 //   Optimize process when receiving invalid parameter of LL_LEN_REQ.
702 // Date:        2021-09-13
703 //*****************************************************************************
704 
705 //*****************************************************************************
706 //   Fixed Carrier-Frequency-deviation issue during DTM testing at -20 Celsius.
707 // Date:        2021-10-26
708 //*****************************************************************************
709 
710 //*****************************************************************************
711 // Fix the ACL throughput drop issue when retransmission happens.
712 // Program more ACL packets when TX buffer and time are available in the process
713 // of connection event to avoid the limitation of maximum 4 TX ACL packets in
714 // each connection event and improve the throughput rate.
715 // Date:        2024-05-24
716 //*****************************************************************************
717 
718 const am_hal_ble_buffer(0x0750)am_ble_buffer_patch_data_b0 =
719 {
720     .bytes =
721     {
722         0x00,0x22,0x50,0x07,0xff,0x3f,0x00,0x00,0x84,0xfd,0x08,0x00,0x73,0x05,0x09,0x00,
723         0x75,0x0d,0x09,0x00,0x17,0x13,0x09,0x00,0xa9,0x1d,0x09,0x00,0x18,0x23,0x09,0x00,
724         0x2d,0x2b,0x09,0x00,0xc5,0x34,0x09,0x00,0xf4,0x3a,0x09,0x00,0xff,0x41,0x09,0x00,
725         0x64,0x4b,0x09,0x00,0xf9,0x51,0x09,0x00,0xee,0x59,0x09,0x00,0x54,0x64,0x09,0x00,
726         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
727         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
728         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
729         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x21,0x20,0xec,0xf7,
730         0xf9,0xfc,0x00,0x28,0x0a,0xd0,0x00,0x20,0x00,0x90,0x03,0x46,0x02,0x46,0x01,0x46,
731         0x24,0x68,0x21,0x20,0x35,0x34,0xa0,0x47,0x00,0xbf,0x38,0xbd,0xef,0xf7,0xfb,0xfe,
732         0x0f,0x49,0x00,0x28,0x02,0xd0,0x08,0x78,0x01,0x28,0x12,0xd0,0x08,0x78,0x02,0x28,
733         0x0f,0xd0,0x00,0x28,0x06,0xd0,0x01,0x28,0x04,0xd0,0x00,0xf0,0x0c,0x6e,0x00,0x20,
734         0x00,0x00,0x00,0x04,0x1c,0x6e,0x00,0x20,0x00,0x49,0x08,0x47,0x41,0x4b,0x00,0x20,
735         0x23,0x4e,0xca,0x7c,0x75,0x68,0xc9,0x6a,0x00,0x2a,0x1d,0xd0,0x7d,0x22,0x12,0x02,
736         0x91,0x42,0x02,0xd3,0x8a,0x1a,0x01,0x20,0x00,0xe0,0x52,0x1a,0x00,0x28,0x05,0xd0,
737         0x20,0x46,0x50,0x43,0xea,0xf7,0x02,0xfa,0x20,0x1a,0x04,0xe0,0xea,0xf7,0xde,0xf9,
738         0x00,0x19,0x01,0x02,0xc2,0x00,0x69,0x18,0x12,0x18,0x89,0x18,0x4a,0x0a,0x53,0x02,
739         0xc9,0x1a,0x71,0x60,0x1e,0x21,0x48,0x43,0x80,0x18,0x70,0xbd,0x2c,0x68,0x00,0x20,
740         0x0c,0x6e,0x00,0x20,0x00,0x49,0x08,0x47,0x71,0x4b,0x00,0x20,0xc1,0x7c,0xc0,0x6a,
741         0x00,0x29,0x15,0xd0,0x7d,0x21,0x09,0x02,0x88,0x42,0x02,0xd3,0x02,0xd5,0x04,0x20,
742         0x60,0x70,0x34,0xe0,0x28,0x69,0x06,0xf0,0xb5,0xf8,0x00,0x28,0x02,0xd0,0x02,0x20,
743         0x60,0x70,0x2c,0xe0,0x03,0x98,0x04,0xf0,0x1f,0xfa,0x04,0x28,0x07,0xd1,0x68,0x46,
744         0x01,0x79,0x02,0x20,0x88,0x43,0x05,0xd0,0x00,0x20,0x00,0x28,0x04,0xd0,0x00,0xbf,
745         0x00,0x20,0x1c,0xe0,0x01,0x20,0xf8,0xe7,0xf0,0x88,0x00,0x90,
746         AM_HAL_BLE_LOCAL_FEATURE,//0x21,
747         0x00,0x00,0x00,
748         0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,0xff,0xff,
749         0xff,0x03,0x00,0x00,0xff,0x00,0x3c,0x1f,0x00,0x00,0x00,0x00,0x01,0x20,0x00,0x00,
750         0x8d,0x84,0x00,0x00,0x02,0x20,0x00,0x00,0xcd,0x7d,0x00,0x00,0x03,0x20,0x00,0x00,
751         0xd1,0x7e,0x00,0x00,0x05,0x20,0x00,0x00,0xfd,0x84,0x00,0x00,0x28,0x69,0x28,0x30,
752         0x40,0x30,0x01,0x8d,0x00,0x98,0x40,0x1a,0x2a,0x49,0x80,0xb2,0x00,0xbf,0x00,0xbf,
753         0x28,0x46,0x05,0x22,0x71,0x1c,0x63,0x30,0xf3,0xf7,0xac,0xfd,0x28,0x69,0x00,0x99,
754         0x01,0xf0,0xdf,0xfb,0x01,0x20,0x60,0x70,0x01,0xe0,0x03,0x20,0x60,0x70,0x00,0x2f,
755         0x39,0xd1,0x60,0x78,0x06,0x28,0x36,0xd2,0x01,0x00,0x79,0x44,0x00,0xbf,0x00,0xbf,
756         0x31,0x89,0x56,0x22,0x51,0x53,0x31,0x46,0x01,0xf0,0x3e,0xfe,0x01,0x20,0x60,0x70,
757         0x01,0xe0,0x03,0x20,0x60,0x70,0x00,0x2f,0x67,0xd1,0x60,0x78,0x06,0x28,0x64,0xd2,
758         0x01,0x00,0x79,0x44,0x09,0x79,0x49,0x18,0x8f,0x44,0x5f,0x18,0x0c,0x02,0x07,0x12,
759         0x28,0x21,0x05,0x98,0xff,0xf7,0x54,0xfc,0x57,0xe0,0x3d,0x21,0x78,0x68,0x00,0x20,
760         0xac,0x6d,0x00,0x20,0x40,0x00,0x80,0x50,0x17,0x20,0x00,0x00,0x01,0x08,0x00,0x00,
761         0x7e,0x40,0x80,0x50,0xd8,0x68,0x00,0x20,0x00,0x49,0x08,0x47,0xd1,0x4b,0x00,0x20,
762         0x11,0x43,0xc3,0x78,0x82,0x78,0x1b,0x02,0x1a,0x43,0x12,0x04,0x0a,0x43,0x1a,0x4c,
763         0x62,0x60,0x42,0x79,0x01,0x79,0x12,0x02,0x11,0x43,0xc3,0x79,0x13,0x2e,0x1b,0xd0,
764         0xa1,0x21,0x0e,0x55,0x02,0x22,0x69,0x46,0x0a,0x72,0x4e,0x72,0x0f,0x21,0x08,0x43,
765         0x01,0x90,0x01,0x46,0x38,0x46,0xfe,0xf7,0x09,0xf9,0x69,0x46,0x0a,0x7a,0xe8,0xb2,
766         0x02,0xa9,0xff,0xf7,0x55,0xff,0x40,0x34,0xff,0x20,0xa2,0x8a,0x39,0x46,0x03,0x30,
767         0x00,0xbf,0x00,0xbf,0x03,0xb0,0xf0,0xbd,0x16,0x22,0xa1,0x21,0x20,0x88,0x80,0x00,
768         0x38,0x58,0x40,0x30,0x00,0x7f,0xc0,0x07,0x05,0xd0,0x00,0x25,0x2f,0xe0,0x20,0x88,
769         0x08,0xf0,0x22,0xfd,0x2b,0xe0,0x68,0x46,0x01,0x7a,0x01,0x20,0x88,0x43,0x03,0xd0,
770         0x00,0x20,0x00,0x28,0x08,0xd1,0x01,0xe0,0x01,0x20,0xfa,0xe7,0x04,0x20,0x88,0x43,
771         0x04,0xd0,0x00,0x20,0x00,0x28,0x03,0xd0,0x3a,0x25,0x18,0xe0,0x11,0x43,0x81,0x83,
772         0x0f,0x21,0x30,0x46,0xfc,0xf7,0x12,0xfb,0x28,0x46,0x03,0xf0,0x85,0xf8,0x04,0x28,
773         0x03,0xd1,0x61,0x78,0x28,0x46,0xfe,0xf7,0x83,0xfd,0x00,0x20,0x70,0xbd,0x00,0x00,
774         0x64,0x69,0x00,0x20,0x30,0xb4,0x02,0x4c,0xa4,0x46,0x30,0xbc,0x60,0x47,0x00,0x00,
775         0x79,0x4c,0x00,0x20,0xe9,0xfa,0x01,0x46,0x00,0x90,0x03,0x98,0x20,0x88,0x68,0x80,
776         0x28,0x46,0x01,0xf0,0xb5,0xf8,0x00,0x20,0xf8,0xbd,0x00,0x00,0x15,0x20,0x00,0x00,
777         0x01,0x08,0x00,0x00,0x64,0x69,0x00,0x20,0xf0,0xb5,0x83,0xb0,0x18,0x46,0x00,0x24,
778         0x18,0x4d,0xe9,0x7a,0x00,0x29,0x00,0xd0,0x00,0x24,0x21,0x46,0x0a,0xf0,0x42,0xfe,
779         0x00,0x2c,0x24,0xd1,0x01,0x26,0x01,0x96,0x13,0x4c,0x02,0xaa,0xf9,0xfd,0x04,0x46,
780         0x03,0xe0,0x30,0x46,0x0b,0xf0,0x5c,0xfe,0x04,0x46,0x21,0x46,0x38,0x46,0x0a,0xf0,
781         0xa3,0xff,0x00,0x20,0xf8,0xbd,0x00,0x00,0x2e,0x20,0x00,0x00,0xd9,0xdf,0xff,0xff,
782         0xf8,0x68,0x00,0x20,0x10,0xb5,0x82,0xb0,0x0a,0x46,0x1c,0x46,0x00,0x21,0x0d,0x48,
783         0xc3,0x7a,0x00,0x2b,0x00,0xd0,0x00,0xbf,0x00,0x21,0x0c,0xd1,0xee,0xf7,0x3a,0xfe,
784         0xa0,0x78,0x16,0x28,0x02,0xd3,0x19,0x20,0x20,0x70,0x13,0xe0,0x0c,0x21,0x0c,0x4a,
785         0x48,0x43,0x11,0x5c,0xb1,0x42,0x02,0xd0,0x19,0x20,0x20,0x70,0x0a,0xe0,0x00,0x21,
786         0x21,0x70,0x6d,0x1c,0x80,0x18,0x76,0x1e,0xad,0xb2,0x83,0x68,0xf1,0xb2,0xa2,0x1c,
787         0x28,0x46,0x98,0x47,0x20,0x46,0x70,0xbd,0x80,0x44,0x80,0x50,0x08,0x4a,0x11,0x6b,
788         0x52,0x6b,0x08,0x4b,0x98,0x42,0x01,0xd9,0x00,0x20,0x70,0x47,0x41,0x43,0x42,0x43,
789         0x89,0x09,0x90,0x0c,0x08,0x18,0x04,0x49,0x88,0x42,0xf6,0xd9,0x00,0x20,0x70,0x47,
790         0xc0,0x7e,0x00,0x20,0x80,0x84,0x1e,0x00,0x00,0x87,0x93,0x03,0x10,0xb4,0x13,0x49,
791         0x89,0x6b,0x13,0x4a,0x90,0x42,0x02,0xd9,0x10,0xbc,0x00,0x20,0x70,0x47,0x11,0x4a,
792         0x7d,0x24,0x13,0x68,0x14,0x22,0x24,0x02,0x42,0x43,0xa3,0x42,0x03,0xd9,0x41,0x43,
793         0x08,0x0c,0x10,0x18,0x02,0xe0,0x41,0x43,0x08,0x0c,0x10,0x1a,0x0a,0x49,0x88,0x42,
794         0x02,0xd9,0x00,0x20,0x10,0xbc,0x70,0x47,0x00,0x28,0x00,0xd0,0x40,0x1e,0xa3,0x42,
795         0xf8,0xd2,0x00,0x28,0xf6,0xd0,0x10,0xbc,0x40,0x1e,0x70,0x47,0xc0,0x7e,0x00,0x20,
796         0xa0,0x86,0x01,0x00,0x58,0x68,0x00,0x20,0x80,0x84,0x1e,0x00,0xf0,0xb4,0xef,0xf3,
797         0x10,0x81,0xcc,0xb2,0x01,0x21,0x81,0xf3,0x10,0x88,0x42,0x78,0x01,0x78,0x12,0x02,
798         0x11,0x43,0xc3,0x78,0x82,0x78,0x1b,0x02,0x1a,0x43,0x12,0x04,0x0a,0x43,0x1d,0x4d,
799         0x6a,0x60,0x42,0x79,0x01,0x79,0x12,0x02,0x11,0x43,0xc3,0x79,0x82,0x79,0x1b,0x02,
800         0x1a,0x43,0x12,0x04,0x0a,0x43,0xaa,0x60,0x42,0x7a,0x01,0x7a,0x12,0x02,0x11,0x43,
801         0xc3,0x7a,0x82,0x7a,0x1b,0x02,0x1a,0x43,0x12,0x04,0x0a,0x43,0xea,0x60,0x42,0x7b,
802         0x01,0x7b,0x12,0x02,0x11,0x43,0xc3,0x7b,0x82,0x7b,0x1b,0x02,0x1a,0x43,0x12,0x04,
803         0x0a,0x43,0x2a,0x61,0x10,0x30,0x10,0x23,0x0b,0x4a,0x00,0x21,0x46,0x5c,0x56,0x54,
804         0x49,0x1c,0x89,0xb2,0x99,0x42,0xf9,0xd3,0x6e,0x20,0x68,0x61,0x01,0x20,0x28,0x60,
805         0x06,0x48,0x01,0x21,0x01,0x74,0x84,0xf3,0x10,0x88,0xf0,0xbc,0x04,0x49,0x10,0x20,
806         0x08,0x47,0x00,0x00,0xc0,0x00,0x80,0x50,0x6e,0x40,0x80,0x50,0xd8,0x68,0x00,0x20,
807         0xa1,0x59,0x01,0x00,0xff,0xb5,0x85,0xb0,0x0e,0x46,0x1f,0x46,0x00,0x20,0x02,0x90,
808         0x74,0x49,0x30,0x46,0x88,0x47,0x01,0x46,0x01,0x90,0x05,0x98,0x72,0x4a,0x80,0x00,
809         0x04,0x90,0x14,0x58,0x25,0x46,0xa0,0x35,0x6b,0x79,0x18,0x07,0x07,0xd5,0xe8,0x78,
810         0x0d,0x28,0x04,0xd0,0x6d,0x4a,0x3d,0x21,0x05,0x98,0x90,0x47,0xce,0xe0,0x01,0x20,
811         0x88,0x43,0x0d,0xd0,0x00,0x20,0x00,0x28,0x74,0xd0,0xe8,0x78,0x68,0x4a,0x03,0x92,
812         0x05,0x28,0x70,0xd0,0x06,0xdc,0x01,0x28,0x1b,0xd0,0x04,0x28,0x6a,0xd1,0x74,0xe0,
813         0x01,0x20,0xf0,0xe7,0x07,0x28,0x2d,0xd0,0x0d,0x28,0x63,0xd1,0xd8,0x06,0x61,0xd4,
814         0x00,0x24,0x6c,0x71,0x1a,0x22,0x5f,0x4b,0x00,0x21,0x05,0x98,0x98,0x47,0x68,0x46,
815         0x01,0x79,0x49,0x08,0x49,0x00,0x01,0x91,0x5b,0x4a,0x30,0x46,0x90,0x47,0xec,0x70,
816         0xa4,0xe0,0x78,0x78,0x0e,0x28,0x4d,0xd1,0xff,0x20,0x58,0x4a,0x31,0x46,0x03,0x30,
817         0x90,0x47,0x22,0x46,0x69,0x32,0x56,0x4b,0x1a,0x20,0x05,0x99,0x98,0x47,0x68,0x46,
818         0x01,0x79,0x49,0x08,0x49,0x00,0x01,0x91,0x4f,0x4a,0x30,0x46,0x90,0x47,0x00,0x20,
819         0xe8,0x70,0x8b,0xe0,0x78,0x78,0x0f,0x28,0x34,0xd1,0xff,0x20,0x4b,0x4a,0x31,0x46,
820         0x03,0x30,0x90,0x47,0x20,0x46,0x60,0x30,0x41,0x7a,0xfd,0x22,0x11,0x40,0x41,0x72,
821         0x48,0x49,0x05,0x98,0x88,0x47,0x03,0x28,0x26,0xd0,0x20,0x46,0x40,0x30,0x01,0x46,
822         0x80,0x8b,0x42,0x06,0x10,0xd5,0x40,0x22,0x90,0x43,0x88,0x83,0x03,0x98,0x04,0x21,
823         0x00,0x7f,0x08,0x40,0x00,0xd0,0x01,0x20,0x00,0x28,0x05,0xd0,0x22,0x69,0x28,0x32,
824         0x3d,0x4b,0x1a,0x20,0x05,0x99,0x98,0x47,0x3c,0x4a,0x00,0x21,0x05,0x98,0x90,0x47,
825         0x68,0x46,0x01,0x79,0x49,0x08,0x49,0x00,0x01,0x91,0x33,0x4a,0x30,0x46,0x90,0x47,
826         0x00,0x20,0xe8,0x70,0x52,0xe0,0x41,0xe0,0x2b,0x49,0x04,0x98,0x08,0x58,0x00,0x68,
827         0x02,0x21,0x01,0x70,0x32,0x49,0x88,0x47,0x48,0xe0,0x78,0x78,0x14,0x28,0x45,0xd1,
828         0xff,0x20,0x2a,0x4a,0x31,0x46,0x03,0x30,0x90,0x47,0x01,0x20,0x40,0x34,0xa0,0x74,
829         0x03,0x98,0x40,0x21,0x00,0x7f,0x08,0x40,0x00,0xd0,0x01,0x20,0x00,0x28,0x1a,0xd0,
830         0xe0,0x7c,0x80,0x07,0x17,0xd4,0x0c,0x23,0x27,0x4f,0x3e,0x22,0x25,0x48,0x05,0x99,
831         0xb8,0x47,0x07,0x21,0x01,0x70,0x05,0x99,0x41,0x80,0x21,0x89,0x01,0x81,0x21,0x8a,
832         0x41,0x81,0xe1,0x88,0x81,0x80,0xe1,0x89,0xc1,0x80,0x20,0x49,0x88,0x47,0xe0,0x7c,
833         0x02,0x21,0x08,0x43,0xe0,0x74,0x68,0x46,0x01,0x79,0x49,0x08,0x49,0x00,0x01,0x91,
834         0x11,0x4a,0x30,0x46,0x90,0x47,0x00,0x20,0xe8,0x70,0x0f,0xe0,0x78,0x78,0x12,0x28,
835         0x0c,0xd1,0x49,0x08,0x49,0x00,0x01,0x91,0x0b,0x4a,0x30,0x46,0x90,0x47,0x00,0x20,
836         0xe8,0x70,0xff,0x20,0x09,0x4a,0x31,0x46,0x03,0x30,0x90,0x47,0x02,0x98,0x09,0xb0,
837         0xf0,0xbd,0x00,0x00,0x0d,0x9f,0x00,0x00,0x64,0x69,0x00,0x20,0x25,0xc4,0x00,0x00,
838         0xb8,0x68,0x00,0x20,0x05,0xa8,0x00,0x00,0x31,0x9f,0x00,0x00,0x89,0xa1,0x00,0x00,
839         0x1d,0xb0,0x00,0x00,0x1d,0x0a,0x01,0x00,0x09,0xab,0x00,0x00,0x05,0xc4,0x00,0x00,
840         0x31,0x9e,0x00,0x00,0x04,0x08,0x00,0x00,0xf5,0x9d,0x00,0x00,0xb5,0x8f,0x00,0x00
841     }
842 };
843 
844 am_hal_ble_patch_t am_ble_buffer_patch_b0 =
845 {
846     .ui32Type = 0xCC,
847     .ui32Length = 0x0750,
848     .ui32CRC = 0x7ce6,
849     .pui32Data = am_ble_buffer_patch_data_b0.words,
850 };
851 
852 
853 //*****************************************************************************
854 //
855 // Patch Name:  Function PATCH v0.4    for Apollo3 B0
856 // Reduce duration from TX to TX
857 // Optimized 32K XO frequency calculation
858 // Optimized AGC Table
859 // Fixed Channelmap indication rejected issue
860 // Fixed 800M Spur
861 // Fixed feature issue
862 // Date:        2019-05-15
863 //*****************************************************************************
864 //*****************************************************************************
865 // Added one parameter for changing channel reassess duration
866 // Date:        2020-09-12
867 //*****************************************************************************
868 
869 
870 am_hal_ble_buffer(0x00c7) am_ble_buffer_nvds_data_b0 =
871 {
872     .bytes =
873     {
874         0x4e,0x56,0x44,0x53, //NVDS_MAGIC_NUMBER
875         0x01,0x06,0x06,0xef,0xbb,0x23,0x88,0x77,0x66, //bluetooth address
876         0x02,0x06,0x0a,0x4e,0x5a,0x38,0x38,0x30,0x31,0x56,0x31,0x41,0x00, //device name
877         0x03,0x06,0x01,0x00, //system clock frequency, 00=32MHz  01=24MHz  others=16MHz
878         0x07,0x06,0x02,0x00,0x00, //32K clock drift, 0x01f4 = 500 ppm
879         0x0c,0x06,0x02,0x96,0x00, //sleep clock accuracy in ppm, default 0x0096 = 150 ppm
880         0x08,0x06,0x01,0x00, //01 for BQB qualification, 00 for normal usage
881         0x09,0x06,0x01,0x02, //clock source selection, 00 = internal RC32KHz, 02= use Apollo3 MCU 32.768KHz
882         0x0a,0x06,0x04,0x00,0x00,0x00,0x00, //0x00000000 = auto detect and low frequency clock calibration
883         0x0b,0x06,0x01,0x96, //rx_ifs  0x96 = 150us
884         0x23,0x06,0x01,0x95, //tx_ifs  0x95 = 149us
885         0x0d,0x06,0x02,0xe8,0x3, //duration allowed for XO32M stabilization from external wakeup
886         0x0e,0x06,0x02,0xe8,0x3, //duration allowed for XO32M stabilization from internal wakeup signal
887         0x0f,0x06,0x02,0x2c,0x01, //duration allowed for radio to leave low power mode
888         0x10,0x06,0x04,0x00,0xc2,0x01,0x00, //set UART_BAUDRATE
889         0x11,0x06,0x01,0x01, //sleep algorithm enabled
890         // 0x11,0x06,0x01,0x00, //sleep algorithm disabled
891         0x12,0x06,0x01,0x01, //external wake-up support
892         0x13,0x06,0x02,0x90,0x02, //duration of sleep and wake-up algorithm
893         0x14,0x06,0x02,0xAC,0x09, // Ambiq's Company Identifier
894         0x15,0x06,0x01,0x09, //BLE major version, support BLE 5.0
895         0x16,0x06,0x01,0x03, //BLE minor version
896         0x17,0x06,0x01,0x29, //BLE SW version build
897         0x18,0x06,0x02,0xdc,0x05, //advertising interval (undirect)
898         0x19,0x06,0x02,0xe2,0x04, //advertising interval (direct)
899         0x20,0x06,0x01,0x01, //agc switch on
900         0x21,0x06,0x01,0x02, //EA programming latency,set '2' with master mode
901         0x22,0x06,0x01,0x00, //EA asap latency
902         0x24,0x06,0x04,0x5C,0x09,0x6A,0x09, //radio TRX timing
903         0x25,0x06,0x01,0x11, //modem polarity setting
904         0x26,0x06,0x01,0x00, //modem sync setting
905         0x27,0x06,0x01,0x02, //BLE reset delay
906         0x2d,0x06,0x01,0x00, //2 byte mode switch, 01 to enable
907         0x28,0x06,0x02,0xf6,0x2d, //initial agc gain setting
908         0x29,0x06,0x01,0x0f, //initial Tx output power, 0x0f is +4dBm
909         0x35,0x06,0x01,0x08, //maximum Tx ouput power setting
910         0x37,0x06,0x01,0x00, //RC32K calibration control, 0xAA to enable
911         0x05,0x06,0x02,0x34,0x00, //no use
912         0x04,0x06,0x01,0x20, //internal dvdd voltage level control if using 0.9V from MCU side
913         0x2e,0x06,0x01,0x00, //instant indication,set "0" to disbale instant reject
914         0x40,0x06,0x02,0x10,0x27, //set channel reassess time duration  0x2710 means set to 10s
915         0x00,0x00,0x00,0x00     //dummy
916     }
917 };
918 
919 am_hal_ble_patch_t am_ble_nvds_patch_b0 =
920 {
921     .ui32Type = 0xDD,
922     .ui32Length = 0x00c7,
923     .ui32CRC = 0x112b,
924     .pui32Data = am_ble_buffer_nvds_data_b0.words,
925 };
926 
927 //*****************************************************************************
928 //
929 // End Doxygen group.
930 //! @}
931 //
932 //*****************************************************************************
933