Resync patch with contrib.
[dragonfly.git] / sys / bus / usb / kue_fw.h
blobafd1f8ada27ba781b66af4676eeb84292979324c
1 /*
2 * Copyright (c) 1997, 1998, 1999, 2000
3 * Bill Paul <wpaul@ee.columbia.edu>. All rights reserved.
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 * 3. All advertising materials mentioning features or use of this software
14 * must display the following acknowledgement:
15 * This product includes software developed by Bill Paul.
16 * 4. Neither the name of the author nor the names of any co-contributors
17 * may be used to endorse or promote products derived from this software
18 * without specific prior written permission.
20 * THIS SOFTWARE IS PROVIDED BY Bill Paul AND CONTRIBUTORS ``AS IS'' AND
21 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 * ARE DISCLAIMED. IN NO EVENT SHALL Bill Paul OR THE VOICES IN HIS HEAD
24 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
30 * THE POSSIBILITY OF SUCH DAMAGE.
32 * $FreeBSD: src/sys/dev/usb/kue_fw.h,v 1.2 2000/04/03 20:58:23 n_hibma Exp $
33 * $DragonFly: src/sys/bus/usb/kue_fw.h,v 1.4 2007/06/28 06:32:31 hasso Exp $
37 * This file contains the firmware needed to make the KLSI chip work,
38 * along with a few constants related to the QT Engine microcontroller
39 * embedded in the KLSI part.
41 * Firmware is loaded using the vendor-specific 'send scan data'
42 * command (0xFF). The basic operation is that we must load the
43 * firmware, then issue some trigger commands to fix it up and start
44 * it running. There are three transfers: load the binary code,
45 * load the 'fixup' (data segment?), then issue a command to
46 * start the code firmware running. The data itself is prefixed by
47 * a 16-bit signature word, a 16-bit length value, a type byte
48 * and an interrupt (command) byte. The code segment is of type
49 * 0x02 (replacement interrupt vector data) and the fixup segment
50 * is of type 0x03 (replacement interrupt fixup data). The interrupt
51 * code is 0x64 (load new code). The length word is the total length
52 * of the segment minus 7. I precomputed the values and stuck them
53 * into the appropriate locations within the segments to save some
54 * work in the driver.
57 /* QT controller data block types. */
58 /* Write data into specific memory location. */
59 #define KUE_QTBTYPE_WRITE_DATA 0x00
60 /* Write data into interrupt vector location */
61 #define KUE_QTBTYPE_WRITE_INTVEC 0x01
62 /* Replace interrupt vector with this data */
63 #define KUE_QTBTYPE_REPL_INTVEC 0x02
64 /* Fixup interrupt vector code with this data */
65 #define KUE_QTBTYPE_FIXUP_INTVEC 0x03
66 /* Force jump to location */
67 #define KUE_QTBTYPE_JUMP 0x04
68 /* Force call to location */
69 #define KUE_QTBTYPE_CALL 0x05
70 /* Force interrupt call */
71 #define KUE_QTBTYPE_CALLINTR 0x06
73 * Cause data to be written using the specified QT engine
74 * interrupt, from starting location in memory for a specified
75 * number of bytes.
77 #define KUE_QTBTYPE_WRITE_WITH_INTR 0x07
78 /* Cause data from stream to be written using specified QT interrupt. */
79 #define KUE_QTBTYPE_WRITE_STR_WITH_INTR 0x08
80 /* Cause data to be written to config locations. */
81 /* Addresses assume 0xc000 offset. */
82 #define KUE_QTBTYPE_WRITE_CONFIG 0x09
84 #define KUE_QTINTR_LOAD_CODE 0x64
85 #define KUE_QTINTR_TRIGGER_CODE 0x3B
86 #define KUE_QTINTR_LOAD_CODE_HIGH 0x9C
88 /* Firmware code segment */
89 static unsigned char kue_code_seg[] =
91 /******************************************/
92 /* NOTE: B6/C3 is data header signature */
93 /* 0xAA/0xBB is data length = total */
94 /* bytes - 7, 0xCC is type, 0xDD is */
95 /* interrupt to use. */
96 /******************************************/
97 0xB6, 0xC3, 0xf7, 0x0e, 0x02, 0x64,
98 0x9f, 0xcf, 0xbc, 0x08, 0xe7, 0x57, 0x00, 0x00,
99 0x9a, 0x08, 0x97, 0xc1, 0xe7, 0x67, 0xff, 0x1f,
100 0x28, 0xc0, 0xe7, 0x87, 0x00, 0x04, 0x24, 0xc0,
101 0xe7, 0x67, 0xff, 0xf9, 0x22, 0xc0, 0x97, 0xcf,
102 0xe7, 0x09, 0xa2, 0xc0, 0x94, 0x08, 0xd7, 0x09,
103 0x00, 0xc0, 0xe7, 0x59, 0xba, 0x08, 0x94, 0x08,
104 0x03, 0xc1, 0xe7, 0x67, 0xff, 0xf7, 0x24, 0xc0,
105 0xe7, 0x05, 0x00, 0xc0, 0xa7, 0xcf, 0x92, 0x08,
106 0xe7, 0x57, 0x00, 0x00, 0x8e, 0x08, 0xa7, 0xa1,
107 0x8e, 0x08, 0x97, 0xcf, 0xe7, 0x57, 0x00, 0x00,
108 0xf2, 0x09, 0x0a, 0xc0, 0xe7, 0x57, 0x00, 0x00,
109 0xa4, 0xc0, 0xa7, 0xc0, 0x56, 0x08, 0x9f, 0xaf,
110 0x70, 0x09, 0xe7, 0x07, 0x00, 0x00, 0xf2, 0x09,
111 0xe7, 0x57, 0xff, 0xff, 0x90, 0x08, 0x9f, 0xa0,
112 0x40, 0x00, 0xe7, 0x59, 0x90, 0x08, 0x94, 0x08,
113 0x9f, 0xa0, 0x40, 0x00, 0xc8, 0x09, 0xa2, 0x08,
114 0x08, 0x62, 0x9f, 0xa1, 0x14, 0x0a, 0xe7, 0x57,
115 0x00, 0x00, 0x52, 0x08, 0xa7, 0xc0, 0x56, 0x08,
116 0x9f, 0xaf, 0x04, 0x00, 0xe7, 0x57, 0x00, 0x00,
117 0x8e, 0x08, 0xa7, 0xc1, 0x56, 0x08, 0xc0, 0x09,
118 0xa8, 0x08, 0x00, 0x60, 0x05, 0xc4, 0xc0, 0x59,
119 0x94, 0x08, 0x02, 0xc0, 0x9f, 0xaf, 0xee, 0x00,
120 0xe7, 0x59, 0xae, 0x08, 0x94, 0x08, 0x02, 0xc1,
121 0x9f, 0xaf, 0xf6, 0x00, 0x9f, 0xaf, 0x9e, 0x03,
122 0xef, 0x57, 0x00, 0x00, 0xf0, 0x09, 0x9f, 0xa1,
123 0xde, 0x01, 0xe7, 0x57, 0x00, 0x00, 0x78, 0x08,
124 0x9f, 0xa0, 0xe4, 0x03, 0x9f, 0xaf, 0x2c, 0x04,
125 0xa7, 0xcf, 0x56, 0x08, 0x48, 0x02, 0xe7, 0x09,
126 0x94, 0x08, 0xa8, 0x08, 0xc8, 0x37, 0x04, 0x00,
127 0x9f, 0xaf, 0x68, 0x04, 0x97, 0xcf, 0xe7, 0x57,
128 0x00, 0x00, 0xa6, 0x08, 0x97, 0xc0, 0xd7, 0x09,
129 0x00, 0xc0, 0xc1, 0xdf, 0xc8, 0x09, 0x9c, 0x08,
130 0x08, 0x62, 0x1d, 0xc0, 0x27, 0x04, 0x9c, 0x08,
131 0x10, 0x94, 0xf0, 0x07, 0xee, 0x09, 0x02, 0x00,
132 0xc1, 0x07, 0x01, 0x00, 0x70, 0x00, 0x04, 0x00,
133 0xf0, 0x07, 0x44, 0x01, 0x06, 0x00, 0x50, 0xaf,
134 0xe7, 0x09, 0x94, 0x08, 0xae, 0x08, 0xe7, 0x17,
135 0x14, 0x00, 0xae, 0x08, 0xe7, 0x67, 0xff, 0x07,
136 0xae, 0x08, 0xe7, 0x07, 0xff, 0xff, 0xa8, 0x08,
137 0xe7, 0x07, 0x00, 0x00, 0xa6, 0x08, 0xe7, 0x05,
138 0x00, 0xc0, 0x97, 0xcf, 0xd7, 0x09, 0x00, 0xc0,
139 0xc1, 0xdf, 0x48, 0x02, 0xd0, 0x09, 0x9c, 0x08,
140 0x27, 0x02, 0x9c, 0x08, 0xe7, 0x09, 0x20, 0xc0,
141 0xee, 0x09, 0xe7, 0xd0, 0xee, 0x09, 0xe7, 0x05,
142 0x00, 0xc0, 0x97, 0xcf, 0x48, 0x02, 0xc8, 0x37,
143 0x04, 0x00, 0x00, 0x0c, 0x0c, 0x00, 0x00, 0x60,
144 0x21, 0xc0, 0xc0, 0x37, 0x3e, 0x00, 0x23, 0xc9,
145 0xc0, 0x57, 0xb4, 0x05, 0x1b, 0xc8, 0xc0, 0x17,
146 0x3f, 0x00, 0xc0, 0x67, 0xc0, 0xff, 0x30, 0x00,
147 0x08, 0x00, 0xf0, 0x07, 0x00, 0x00, 0x04, 0x00,
148 0x00, 0x02, 0xc0, 0x17, 0x4c, 0x00, 0x30, 0x00,
149 0x06, 0x00, 0xf0, 0x07, 0xbe, 0x01, 0x0a, 0x00,
150 0x48, 0x02, 0xc1, 0x07, 0x02, 0x00, 0xd7, 0x09,
151 0x00, 0xc0, 0xc1, 0xdf, 0x51, 0xaf, 0xe7, 0x05,
152 0x00, 0xc0, 0x97, 0xcf, 0x9f, 0xaf, 0x68, 0x04,
153 0x9f, 0xaf, 0xe4, 0x03, 0x97, 0xcf, 0x9f, 0xaf,
154 0xe4, 0x03, 0xc9, 0x37, 0x04, 0x00, 0xc1, 0xdf,
155 0xc8, 0x09, 0x70, 0x08, 0x50, 0x02, 0x67, 0x02,
156 0x70, 0x08, 0xd1, 0x07, 0x00, 0x00, 0xc0, 0xdf,
157 0x9f, 0xaf, 0xde, 0x01, 0x97, 0xcf, 0xe7, 0x57,
158 0x00, 0x00, 0xaa, 0x08, 0x97, 0xc1, 0xe7, 0x57,
159 0x01, 0x00, 0x7a, 0x08, 0x97, 0xc0, 0xc8, 0x09,
160 0x6e, 0x08, 0x08, 0x62, 0x97, 0xc0, 0x00, 0x02,
161 0xc0, 0x17, 0x0e, 0x00, 0x27, 0x00, 0x34, 0x01,
162 0x27, 0x0c, 0x0c, 0x00, 0x36, 0x01, 0xef, 0x57,
163 0x00, 0x00, 0xf0, 0x09, 0x9f, 0xc0, 0xbe, 0x02,
164 0xe7, 0x57, 0x00, 0x00, 0xb0, 0x08, 0x97, 0xc1,
165 0xe7, 0x07, 0x09, 0x00, 0x12, 0xc0, 0xe7, 0x77,
166 0x00, 0x08, 0x20, 0xc0, 0x9f, 0xc1, 0xb6, 0x02,
167 0xe7, 0x57, 0x09, 0x00, 0x12, 0xc0, 0x77, 0xc9,
168 0xd7, 0x09, 0x00, 0xc0, 0xc1, 0xdf, 0xe7, 0x77,
169 0x00, 0x08, 0x20, 0xc0, 0x2f, 0xc1, 0xe7, 0x07,
170 0x00, 0x00, 0x42, 0xc0, 0xe7, 0x07, 0x05, 0x00,
171 0x90, 0xc0, 0xc8, 0x07, 0x0a, 0x00, 0xe7, 0x77,
172 0x04, 0x00, 0x20, 0xc0, 0x09, 0xc1, 0x08, 0xda,
173 0x7a, 0xc1, 0xe7, 0x07, 0x00, 0x01, 0x42, 0xc0,
174 0xe7, 0x07, 0x04, 0x00, 0x90, 0xc0, 0x1a, 0xcf,
175 0xe7, 0x07, 0x01, 0x00, 0x7a, 0x08, 0x00, 0xd8,
176 0x27, 0x50, 0x34, 0x01, 0x17, 0xc1, 0xe7, 0x77,
177 0x02, 0x00, 0x20, 0xc0, 0x79, 0xc1, 0x27, 0x50,
178 0x34, 0x01, 0x10, 0xc1, 0xe7, 0x77, 0x02, 0x00,
179 0x20, 0xc0, 0x79, 0xc0, 0x9f, 0xaf, 0xd8, 0x02,
180 0xe7, 0x05, 0x00, 0xc0, 0x00, 0x60, 0x9f, 0xc0,
181 0xde, 0x01, 0x97, 0xcf, 0xe7, 0x07, 0x01, 0x00,
182 0xb8, 0x08, 0x06, 0xcf, 0xe7, 0x07, 0x30, 0x0e,
183 0x02, 0x00, 0xe7, 0x07, 0x50, 0xc3, 0x12, 0xc0,
184 0xe7, 0x05, 0x00, 0xc0, 0x97, 0xcf, 0xe7, 0x07,
185 0x01, 0x00, 0xb8, 0x08, 0x97, 0xcf, 0xe7, 0x07,
186 0x50, 0xc3, 0x12, 0xc0, 0xe7, 0x07, 0x30, 0x0e,
187 0x02, 0x00, 0xe7, 0x07, 0x01, 0x00, 0x7a, 0x08,
188 0xe7, 0x07, 0x05, 0x00, 0x90, 0xc0, 0x97, 0xcf,
189 0xe7, 0x07, 0x00, 0x01, 0x42, 0xc0, 0xe7, 0x07,
190 0x04, 0x00, 0x90, 0xc0, 0xe7, 0x07, 0x00, 0x00,
191 0x7a, 0x08, 0xe7, 0x57, 0x0f, 0x00, 0xb2, 0x08,
192 0x13, 0xc1, 0x9f, 0xaf, 0x2e, 0x08, 0xca, 0x09,
193 0xac, 0x08, 0xf2, 0x17, 0x01, 0x00, 0x5c, 0x00,
194 0xf2, 0x27, 0x00, 0x00, 0x5e, 0x00, 0xe7, 0x07,
195 0x00, 0x00, 0xb2, 0x08, 0xe7, 0x07, 0x01, 0x00,
196 0xb4, 0x08, 0xc0, 0x07, 0xff, 0xff, 0x97, 0xcf,
197 0x9f, 0xaf, 0x4c, 0x03, 0xc0, 0x69, 0xb4, 0x08,
198 0x57, 0x00, 0x9f, 0xde, 0x33, 0x00, 0xc1, 0x05,
199 0x27, 0xd8, 0xb2, 0x08, 0x27, 0xd2, 0xb4, 0x08,
200 0xe7, 0x87, 0x01, 0x00, 0xb4, 0x08, 0xe7, 0x67,
201 0xff, 0x03, 0xb4, 0x08, 0x00, 0x60, 0x97, 0xc0,
202 0xe7, 0x07, 0x01, 0x00, 0xb0, 0x08, 0x27, 0x00,
203 0x12, 0xc0, 0x97, 0xcf, 0xc0, 0x09, 0xb6, 0x08,
204 0x00, 0xd2, 0x02, 0xc3, 0xc0, 0x97, 0x05, 0x80,
205 0x27, 0x00, 0xb6, 0x08, 0xc0, 0x99, 0x82, 0x08,
206 0xc0, 0x99, 0xa2, 0xc0, 0x97, 0xcf, 0xe7, 0x07,
207 0x00, 0x00, 0xb0, 0x08, 0xc0, 0xdf, 0x97, 0xcf,
208 0xc8, 0x09, 0x72, 0x08, 0x08, 0x62, 0x02, 0xc0,
209 0x10, 0x64, 0x07, 0xc1, 0xe7, 0x07, 0x00, 0x00,
210 0x64, 0x08, 0xe7, 0x07, 0xc8, 0x05, 0x24, 0x00,
211 0x97, 0xcf, 0x27, 0x04, 0x72, 0x08, 0xc8, 0x17,
212 0x0e, 0x00, 0x27, 0x02, 0x64, 0x08, 0xe7, 0x07,
213 0xd6, 0x05, 0x24, 0x00, 0x97, 0xcf, 0xd7, 0x09,
214 0x00, 0xc0, 0xc1, 0xdf, 0xe7, 0x57, 0x00, 0x00,
215 0x62, 0x08, 0x13, 0xc1, 0x9f, 0xaf, 0x70, 0x03,
216 0xe7, 0x57, 0x00, 0x00, 0x64, 0x08, 0x13, 0xc0,
217 0xe7, 0x09, 0x64, 0x08, 0x30, 0x01, 0xe7, 0x07,
218 0xf2, 0x05, 0x32, 0x01, 0xe7, 0x07, 0x10, 0x00,
219 0x96, 0xc0, 0xe7, 0x09, 0x64, 0x08, 0x62, 0x08,
220 0x04, 0xcf, 0xe7, 0x57, 0x00, 0x00, 0x64, 0x08,
221 0x02, 0xc1, 0x9f, 0xaf, 0x70, 0x03, 0xe7, 0x05,
222 0x00, 0xc0, 0x97, 0xcf, 0xd7, 0x09, 0x00, 0xc0,
223 0xc1, 0xdf, 0xc8, 0x09, 0x72, 0x08, 0x27, 0x02,
224 0x78, 0x08, 0x08, 0x62, 0x03, 0xc1, 0xe7, 0x05,
225 0x00, 0xc0, 0x97, 0xcf, 0x27, 0x04, 0x72, 0x08,
226 0xe7, 0x05, 0x00, 0xc0, 0xf0, 0x07, 0x40, 0x00,
227 0x08, 0x00, 0xf0, 0x07, 0x00, 0x00, 0x04, 0x00,
228 0x00, 0x02, 0xc0, 0x17, 0x0c, 0x00, 0x30, 0x00,
229 0x06, 0x00, 0xf0, 0x07, 0x64, 0x01, 0x0a, 0x00,
230 0xc8, 0x17, 0x04, 0x00, 0xc1, 0x07, 0x02, 0x00,
231 0x51, 0xaf, 0x97, 0xcf, 0xe7, 0x57, 0x00, 0x00,
232 0x6a, 0x08, 0x97, 0xc0, 0xc1, 0xdf, 0xc8, 0x09,
233 0x6a, 0x08, 0x27, 0x04, 0x6a, 0x08, 0x27, 0x52,
234 0x6c, 0x08, 0x03, 0xc1, 0xe7, 0x07, 0x6a, 0x08,
235 0x6c, 0x08, 0xc0, 0xdf, 0x17, 0x02, 0xc8, 0x17,
236 0x0e, 0x00, 0x9f, 0xaf, 0x16, 0x05, 0xc8, 0x05,
237 0x00, 0x60, 0x03, 0xc0, 0x9f, 0xaf, 0x80, 0x04,
238 0x97, 0xcf, 0x9f, 0xaf, 0x68, 0x04, 0x97, 0xcf,
239 0xd7, 0x09, 0x00, 0xc0, 0xc1, 0xdf, 0x08, 0x62,
240 0x1c, 0xc0, 0xd0, 0x09, 0x72, 0x08, 0x27, 0x02,
241 0x72, 0x08, 0xe7, 0x05, 0x00, 0xc0, 0x97, 0xcf,
242 0x97, 0x02, 0xca, 0x09, 0xac, 0x08, 0xf2, 0x17,
243 0x01, 0x00, 0x04, 0x00, 0xf2, 0x27, 0x00, 0x00,
244 0x06, 0x00, 0xca, 0x17, 0x2c, 0x00, 0xf8, 0x77,
245 0x01, 0x00, 0x0e, 0x00, 0x06, 0xc0, 0xca, 0xd9,
246 0xf8, 0x57, 0xff, 0x00, 0x0e, 0x00, 0x01, 0xc1,
247 0xca, 0xd9, 0x22, 0x1c, 0x0c, 0x00, 0xe2, 0x27,
248 0x00, 0x00, 0xe2, 0x17, 0x01, 0x00, 0xe2, 0x27,
249 0x00, 0x00, 0xca, 0x05, 0x00, 0x0c, 0x0c, 0x00,
250 0xc0, 0x17, 0x41, 0x00, 0xc0, 0x67, 0xc0, 0xff,
251 0x30, 0x00, 0x08, 0x00, 0x00, 0x02, 0xc0, 0x17,
252 0x0c, 0x00, 0x30, 0x00, 0x06, 0x00, 0xf0, 0x07,
253 0xdc, 0x00, 0x0a, 0x00, 0xf0, 0x07, 0x00, 0x00,
254 0x04, 0x00, 0x00, 0x0c, 0x08, 0x00, 0x40, 0xd1,
255 0x01, 0x00, 0xc0, 0x19, 0xa6, 0x08, 0xc0, 0x59,
256 0x98, 0x08, 0x04, 0xc9, 0x49, 0xaf, 0x9f, 0xaf,
257 0xee, 0x00, 0x4a, 0xaf, 0x67, 0x10, 0xa6, 0x08,
258 0xc8, 0x17, 0x04, 0x00, 0xc1, 0x07, 0x01, 0x00,
259 0xd7, 0x09, 0x00, 0xc0, 0xc1, 0xdf, 0x50, 0xaf,
260 0xe7, 0x05, 0x00, 0xc0, 0x97, 0xcf, 0xc0, 0x07,
261 0x01, 0x00, 0xc1, 0x09, 0x7c, 0x08, 0xc1, 0x77,
262 0x01, 0x00, 0x97, 0xc1, 0xd8, 0x77, 0x01, 0x00,
263 0x12, 0xc0, 0xc9, 0x07, 0x4c, 0x08, 0x9f, 0xaf,
264 0x64, 0x05, 0x04, 0xc1, 0xc1, 0x77, 0x08, 0x00,
265 0x13, 0xc0, 0x97, 0xcf, 0xc1, 0x77, 0x02, 0x00,
266 0x97, 0xc1, 0xc1, 0x77, 0x10, 0x00, 0x0c, 0xc0,
267 0x9f, 0xaf, 0x86, 0x05, 0x97, 0xcf, 0xc1, 0x77,
268 0x04, 0x00, 0x06, 0xc0, 0xc9, 0x07, 0x7e, 0x08,
269 0x9f, 0xaf, 0x64, 0x05, 0x97, 0xc0, 0x00, 0xcf,
270 0x00, 0x90, 0x97, 0xcf, 0x50, 0x54, 0x97, 0xc1,
271 0x70, 0x5c, 0x02, 0x00, 0x02, 0x00, 0x97, 0xc1,
272 0x70, 0x5c, 0x04, 0x00, 0x04, 0x00, 0x97, 0xcf,
273 0xc0, 0x00, 0x60, 0x00, 0x30, 0x00, 0x18, 0x00,
274 0x0c, 0x00, 0x06, 0x00, 0x00, 0x00, 0xcb, 0x09,
275 0x88, 0x08, 0xcc, 0x09, 0x8a, 0x08, 0x0b, 0x53,
276 0x11, 0xc0, 0xc9, 0x02, 0xca, 0x07, 0x78, 0x05,
277 0x9f, 0xaf, 0x64, 0x05, 0x97, 0xc0, 0x0a, 0xc8,
278 0x82, 0x08, 0x0a, 0xcf, 0x82, 0x08, 0x9f, 0xaf,
279 0x64, 0x05, 0x97, 0xc0, 0x05, 0xc2, 0x89, 0x30,
280 0x82, 0x60, 0x78, 0xc1, 0x00, 0x90, 0x97, 0xcf,
281 0x89, 0x10, 0x09, 0x53, 0x79, 0xc2, 0x89, 0x30,
282 0x82, 0x08, 0x7a, 0xcf, 0xc0, 0xdf, 0x97, 0xcf,
283 0xe7, 0x09, 0x96, 0xc0, 0x66, 0x08, 0xe7, 0x09,
284 0x98, 0xc0, 0x68, 0x08, 0x0f, 0xcf, 0xe7, 0x09,
285 0x96, 0xc0, 0x66, 0x08, 0xe7, 0x09, 0x98, 0xc0,
286 0x68, 0x08, 0xe7, 0x09, 0x64, 0x08, 0x30, 0x01,
287 0xe7, 0x07, 0xf2, 0x05, 0x32, 0x01, 0xe7, 0x07,
288 0x10, 0x00, 0x96, 0xc0, 0xd7, 0x09, 0x00, 0xc0,
289 0x17, 0x02, 0xc8, 0x09, 0x62, 0x08, 0xc8, 0x37,
290 0x0e, 0x00, 0xe7, 0x57, 0x04, 0x00, 0x68, 0x08,
291 0x3d, 0xc0, 0xe7, 0x87, 0x00, 0x08, 0x24, 0xc0,
292 0xe7, 0x09, 0x94, 0x08, 0xba, 0x08, 0xe7, 0x17,
293 0x64, 0x00, 0xba, 0x08, 0xe7, 0x67, 0xff, 0x07,
294 0xba, 0x08, 0xe7, 0x77, 0x2a, 0x00, 0x66, 0x08,
295 0x30, 0xc0, 0x97, 0x02, 0xca, 0x09, 0xac, 0x08,
296 0xe7, 0x77, 0x20, 0x00, 0x66, 0x08, 0x0e, 0xc0,
297 0xf2, 0x17, 0x01, 0x00, 0x10, 0x00, 0xf2, 0x27,
298 0x00, 0x00, 0x12, 0x00, 0xe7, 0x77, 0x0a, 0x00,
299 0x66, 0x08, 0xca, 0x05, 0x1e, 0xc0, 0x97, 0x02,
300 0xca, 0x09, 0xac, 0x08, 0xf2, 0x17, 0x01, 0x00,
301 0x0c, 0x00, 0xf2, 0x27, 0x00, 0x00, 0x0e, 0x00,
302 0xe7, 0x77, 0x02, 0x00, 0x66, 0x08, 0x07, 0xc0,
303 0xf2, 0x17, 0x01, 0x00, 0x44, 0x00, 0xf2, 0x27,
304 0x00, 0x00, 0x46, 0x00, 0x06, 0xcf, 0xf2, 0x17,
305 0x01, 0x00, 0x60, 0x00, 0xf2, 0x27, 0x00, 0x00,
306 0x62, 0x00, 0xca, 0x05, 0x9f, 0xaf, 0x68, 0x04,
307 0x0f, 0xcf, 0x57, 0x02, 0x09, 0x02, 0xf1, 0x09,
308 0x68, 0x08, 0x0c, 0x00, 0xf1, 0xda, 0x0c, 0x00,
309 0xc8, 0x09, 0x6c, 0x08, 0x50, 0x02, 0x67, 0x02,
310 0x6c, 0x08, 0xd1, 0x07, 0x00, 0x00, 0xc9, 0x05,
311 0xe7, 0x09, 0x64, 0x08, 0x62, 0x08, 0xe7, 0x57,
312 0x00, 0x00, 0x62, 0x08, 0x02, 0xc0, 0x9f, 0xaf,
313 0x70, 0x03, 0xc8, 0x05, 0xe7, 0x05, 0x00, 0xc0,
314 0xc0, 0xdf, 0x97, 0xcf, 0xd7, 0x09, 0x00, 0xc0,
315 0x17, 0x00, 0x17, 0x02, 0x97, 0x02, 0xc0, 0x09,
316 0x92, 0xc0, 0xe7, 0x87, 0x00, 0x08, 0x24, 0xc0,
317 0xe7, 0x09, 0x94, 0x08, 0xba, 0x08, 0xe7, 0x17,
318 0x64, 0x00, 0xba, 0x08, 0xe7, 0x67, 0xff, 0x07,
319 0xba, 0x08, 0xe7, 0x07, 0x04, 0x00, 0x90, 0xc0,
320 0xca, 0x09, 0xac, 0x08, 0xe7, 0x07, 0x00, 0x00,
321 0x7a, 0x08, 0xe7, 0x07, 0x66, 0x03, 0x02, 0x00,
322 0xc0, 0x77, 0x02, 0x00, 0x10, 0xc0, 0xef, 0x57,
323 0x00, 0x00, 0xf0, 0x09, 0x04, 0xc0, 0x9f, 0xaf,
324 0xd8, 0x02, 0x9f, 0xcf, 0x12, 0x08, 0xf2, 0x17,
325 0x01, 0x00, 0x50, 0x00, 0xf2, 0x27, 0x00, 0x00,
326 0x52, 0x00, 0x9f, 0xcf, 0x12, 0x08, 0xef, 0x57,
327 0x00, 0x00, 0xf0, 0x09, 0x08, 0xc0, 0xe7, 0x57,
328 0x00, 0x00, 0xb8, 0x08, 0xe7, 0x07, 0x00, 0x00,
329 0xb8, 0x08, 0x0a, 0xc0, 0x03, 0xcf, 0xc0, 0x77,
330 0x10, 0x00, 0x06, 0xc0, 0xf2, 0x17, 0x01, 0x00,
331 0x58, 0x00, 0xf2, 0x27, 0x00, 0x00, 0x5a, 0x00,
332 0xc0, 0x77, 0x80, 0x00, 0x06, 0xc0, 0xf2, 0x17,
333 0x01, 0x00, 0x70, 0x00, 0xf2, 0x27, 0x00, 0x00,
334 0x72, 0x00, 0xc0, 0x77, 0x08, 0x00, 0x1d, 0xc1,
335 0xf2, 0x17, 0x01, 0x00, 0x08, 0x00, 0xf2, 0x27,
336 0x00, 0x00, 0x0a, 0x00, 0xc0, 0x77, 0x00, 0x02,
337 0x06, 0xc0, 0xf2, 0x17, 0x01, 0x00, 0x64, 0x00,
338 0xf2, 0x27, 0x00, 0x00, 0x66, 0x00, 0xc0, 0x77,
339 0x40, 0x00, 0x06, 0xc0, 0xf2, 0x17, 0x01, 0x00,
340 0x5c, 0x00, 0xf2, 0x27, 0x00, 0x00, 0x5e, 0x00,
341 0xc0, 0x77, 0x01, 0x00, 0x01, 0xc0, 0x37, 0xcf,
342 0x36, 0xcf, 0xf2, 0x17, 0x01, 0x00, 0x00, 0x00,
343 0xf2, 0x27, 0x00, 0x00, 0x02, 0x00, 0xef, 0x57,
344 0x00, 0x00, 0xf0, 0x09, 0x18, 0xc0, 0xe7, 0x57,
345 0x01, 0x00, 0xb2, 0x08, 0x0e, 0xc2, 0x07, 0xc8,
346 0xf2, 0x17, 0x01, 0x00, 0x50, 0x00, 0xf2, 0x27,
347 0x00, 0x00, 0x52, 0x00, 0x06, 0xcf, 0xf2, 0x17,
348 0x01, 0x00, 0x54, 0x00, 0xf2, 0x27, 0x00, 0x00,
349 0x56, 0x00, 0xe7, 0x07, 0x00, 0x00, 0xb2, 0x08,
350 0xe7, 0x07, 0x01, 0x00, 0xb4, 0x08, 0xc8, 0x09,
351 0x34, 0x01, 0xca, 0x17, 0x14, 0x00, 0xd8, 0x77,
352 0x01, 0x00, 0x05, 0xc0, 0xca, 0xd9, 0xd8, 0x57,
353 0xff, 0x00, 0x01, 0xc0, 0xca, 0xd9, 0xe2, 0x19,
354 0x94, 0xc0, 0xe2, 0x27, 0x00, 0x00, 0xe2, 0x17,
355 0x01, 0x00, 0xe2, 0x27, 0x00, 0x00, 0x9f, 0xaf,
356 0x2e, 0x08, 0x9f, 0xaf, 0xde, 0x01, 0xe7, 0x57,
357 0x00, 0x00, 0xaa, 0x08, 0x9f, 0xa1, 0xf0, 0x0b,
358 0xca, 0x05, 0xc8, 0x05, 0xc0, 0x05, 0xe7, 0x05,
359 0x00, 0xc0, 0xc0, 0xdf, 0x97, 0xcf, 0xc8, 0x09,
360 0x6e, 0x08, 0x08, 0x62, 0x97, 0xc0, 0x27, 0x04,
361 0x6e, 0x08, 0x27, 0x52, 0x70, 0x08, 0x03, 0xc1,
362 0xe7, 0x07, 0x6e, 0x08, 0x70, 0x08, 0x9f, 0xaf,
363 0x68, 0x04, 0x97, 0xcf, 0xff, 0xff, 0xff, 0xff,
364 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
365 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
366 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
367 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
368 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
369 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
370 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
371 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
372 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
373 0x3f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
374 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
375 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
376 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x33, 0xcc,
377 0x00, 0x00, 0x00, 0x00, 0xe7, 0x57, 0x00, 0x80,
378 0xb2, 0x00, 0x06, 0xc2, 0xe7, 0x07, 0x52, 0x0e,
379 0x12, 0x00, 0xe7, 0x07, 0x98, 0x0e, 0xb2, 0x00,
380 0xe7, 0x07, 0xa4, 0x09, 0xf2, 0x02, 0xc8, 0x09,
381 0xb4, 0x00, 0xf8, 0x07, 0x02, 0x00, 0x0d, 0x00,
382 0xd7, 0x09, 0x0e, 0xc0, 0xe7, 0x07, 0x00, 0x00,
383 0x0e, 0xc0, 0xc8, 0x09, 0xdc, 0x00, 0xf0, 0x07,
384 0xff, 0xff, 0x09, 0x00, 0xf0, 0x07, 0xfb, 0x13,
385 0x0b, 0x00, 0xe7, 0x09, 0xc0, 0x00, 0x58, 0x08,
386 0xe7, 0x09, 0xbe, 0x00, 0x54, 0x08, 0xe7, 0x09,
387 0x10, 0x00, 0x92, 0x08, 0xc8, 0x07, 0xb4, 0x09,
388 0x9f, 0xaf, 0x8c, 0x09, 0x9f, 0xaf, 0xe2, 0x0b,
389 0xc0, 0x07, 0x80, 0x01, 0x44, 0xaf, 0x27, 0x00,
390 0x88, 0x08, 0x27, 0x00, 0x8a, 0x08, 0x27, 0x00,
391 0x8c, 0x08, 0xc0, 0x07, 0x74, 0x00, 0x44, 0xaf,
392 0x27, 0x00, 0xac, 0x08, 0x08, 0x00, 0x00, 0x90,
393 0xc1, 0x07, 0x1d, 0x00, 0x20, 0x00, 0x20, 0x00,
394 0x01, 0xda, 0x7c, 0xc1, 0x9f, 0xaf, 0x8a, 0x0b,
395 0xc0, 0x07, 0x4c, 0x00, 0x48, 0xaf, 0x27, 0x00,
396 0x56, 0x08, 0x9f, 0xaf, 0x72, 0x0c, 0xe7, 0x07,
397 0x00, 0x80, 0x96, 0x08, 0xef, 0x57, 0x00, 0x00,
398 0xf0, 0x09, 0x03, 0xc0, 0xe7, 0x07, 0x01, 0x00,
399 0x1c, 0xc0, 0xe7, 0x05, 0x0e, 0xc0, 0x97, 0xcf,
400 0x49, 0xaf, 0xe7, 0x87, 0x43, 0x00, 0x0e, 0xc0,
401 0xe7, 0x07, 0xff, 0xff, 0x94, 0x08, 0x9f, 0xaf,
402 0x8a, 0x0c, 0xc0, 0x07, 0x01, 0x00, 0x60, 0xaf,
403 0x4a, 0xaf, 0x97, 0xcf, 0x00, 0x08, 0x09, 0x08,
404 0x11, 0x08, 0x00, 0xda, 0x7c, 0xc1, 0x97, 0xcf,
405 0x67, 0x04, 0xcc, 0x02, 0xc0, 0xdf, 0x51, 0x94,
406 0xb1, 0xaf, 0x06, 0x00, 0xc1, 0xdf, 0xc9, 0x09,
407 0xcc, 0x02, 0x49, 0x62, 0x75, 0xc1, 0xc0, 0xdf,
408 0xa7, 0xcf, 0xd6, 0x02, 0x0e, 0x00, 0x24, 0x00,
409 0xd6, 0x05, 0x22, 0x00, 0xc4, 0x06, 0xd0, 0x00,
410 0xf0, 0x0b, 0xaa, 0x00, 0x0e, 0x0a, 0xbe, 0x00,
411 0x2c, 0x0c, 0x10, 0x00, 0x20, 0x00, 0x04, 0x00,
412 0xc4, 0x05, 0x02, 0x00, 0x66, 0x03, 0x06, 0x00,
413 0x00, 0x00, 0x24, 0xc0, 0x04, 0x04, 0x28, 0xc0,
414 0xfe, 0xfb, 0x1e, 0xc0, 0x00, 0x04, 0x22, 0xc0,
415 0xff, 0xf0, 0xc0, 0x00, 0x60, 0x0b, 0x00, 0x00,
416 0x00, 0x00, 0xff, 0xff, 0x34, 0x0a, 0x3e, 0x0a,
417 0x9e, 0x0a, 0xa8, 0x0a, 0xce, 0x0a, 0xd2, 0x0a,
418 0xd6, 0x0a, 0x00, 0x0b, 0x10, 0x0b, 0x1e, 0x0b,
419 0x20, 0x0b, 0x28, 0x0b, 0x28, 0x0b, 0x27, 0x02,
420 0xa2, 0x08, 0x97, 0xcf, 0xe7, 0x07, 0x00, 0x00,
421 0xa2, 0x08, 0x0a, 0x0e, 0x01, 0x00, 0xca, 0x57,
422 0x0e, 0x00, 0x9f, 0xc3, 0x2a, 0x0b, 0xca, 0x37,
423 0x00, 0x00, 0x9f, 0xc2, 0x2a, 0x0b, 0x0a, 0xd2,
424 0xb2, 0xcf, 0xf4, 0x09, 0xc8, 0x09, 0xde, 0x00,
425 0x07, 0x06, 0x9f, 0xcf, 0x3c, 0x0b, 0xf0, 0x57,
426 0x80, 0x01, 0x06, 0x00, 0x9f, 0xc8, 0x2a, 0x0b,
427 0x27, 0x0c, 0x02, 0x00, 0x86, 0x08, 0xc0, 0x09,
428 0x88, 0x08, 0x27, 0x00, 0x8a, 0x08, 0xe7, 0x07,
429 0x00, 0x00, 0x84, 0x08, 0x27, 0x00, 0x5c, 0x08,
430 0x00, 0x1c, 0x06, 0x00, 0x27, 0x00, 0x8c, 0x08,
431 0x41, 0x90, 0x67, 0x50, 0x86, 0x08, 0x0d, 0xc0,
432 0x67, 0x00, 0x5a, 0x08, 0x27, 0x0c, 0x06, 0x00,
433 0x5e, 0x08, 0xe7, 0x07, 0x8a, 0x0a, 0x60, 0x08,
434 0xc8, 0x07, 0x5a, 0x08, 0x41, 0x90, 0x51, 0xaf,
435 0x97, 0xcf, 0x9f, 0xaf, 0xac, 0x0e, 0xe7, 0x09,
436 0x8c, 0x08, 0x8a, 0x08, 0xe7, 0x09, 0x86, 0x08,
437 0x84, 0x08, 0x59, 0xaf, 0x97, 0xcf, 0x27, 0x0c,
438 0x02, 0x00, 0x7c, 0x08, 0x59, 0xaf, 0x97, 0xcf,
439 0x09, 0x0c, 0x02, 0x00, 0x09, 0xda, 0x49, 0xd2,
440 0xc9, 0x19, 0xac, 0x08, 0xc8, 0x07, 0x5a, 0x08,
441 0xe0, 0x07, 0x00, 0x00, 0x60, 0x02, 0xe0, 0x07,
442 0x04, 0x00, 0xd0, 0x07, 0x9a, 0x0a, 0x48, 0xdb,
443 0x41, 0x90, 0x50, 0xaf, 0x97, 0xcf, 0x59, 0xaf,
444 0x97, 0xcf, 0x59, 0xaf, 0x97, 0xcf, 0xf0, 0x57,
445 0x06, 0x00, 0x06, 0x00, 0x26, 0xc1, 0xe7, 0x07,
446 0x7e, 0x08, 0x5c, 0x08, 0x41, 0x90, 0x67, 0x00,
447 0x5a, 0x08, 0x27, 0x0c, 0x06, 0x00, 0x5e, 0x08,
448 0xe7, 0x07, 0x5c, 0x0b, 0x60, 0x08, 0xc8, 0x07,
449 0x5a, 0x08, 0x41, 0x90, 0x51, 0xaf, 0x97, 0xcf,
450 0x07, 0x0c, 0x06, 0x00, 0xc7, 0x57, 0x06, 0x00,
451 0x10, 0xc1, 0xc8, 0x07, 0x7e, 0x08, 0x16, 0xcf,
452 0x00, 0x0c, 0x02, 0x00, 0x00, 0xda, 0x40, 0xd1,
453 0x27, 0x00, 0x98, 0x08, 0x1f, 0xcf, 0x1e, 0xcf,
454 0x27, 0x0c, 0x02, 0x00, 0xa4, 0x08, 0x1a, 0xcf,
455 0x00, 0xcf, 0x27, 0x02, 0x20, 0x01, 0xe7, 0x07,
456 0x08, 0x00, 0x22, 0x01, 0xe7, 0x07, 0x13, 0x00,
457 0xb0, 0xc0, 0x97, 0xcf, 0x41, 0x90, 0x67, 0x00,
458 0x5a, 0x08, 0xe7, 0x01, 0x5e, 0x08, 0x27, 0x02,
459 0x5c, 0x08, 0xe7, 0x07, 0x5c, 0x0b, 0x60, 0x08,
460 0xc8, 0x07, 0x5a, 0x08, 0xc1, 0x07, 0x00, 0x80,
461 0x50, 0xaf, 0x97, 0xcf, 0x59, 0xaf, 0x97, 0xcf,
462 0x00, 0x60, 0x05, 0xc0, 0xe7, 0x07, 0x00, 0x00,
463 0x9a, 0x08, 0xa7, 0xcf, 0x58, 0x08, 0x9f, 0xaf,
464 0xe2, 0x0b, 0xe7, 0x07, 0x01, 0x00, 0x9a, 0x08,
465 0x49, 0xaf, 0xd7, 0x09, 0x00, 0xc0, 0x07, 0xaf,
466 0xe7, 0x05, 0x00, 0xc0, 0x4a, 0xaf, 0xa7, 0xcf,
467 0x58, 0x08, 0xc0, 0x07, 0x40, 0x00, 0x44, 0xaf,
468 0x27, 0x00, 0xa0, 0x08, 0x08, 0x00, 0xc0, 0x07,
469 0x20, 0x00, 0x20, 0x94, 0x00, 0xda, 0x7d, 0xc1,
470 0xc0, 0x07, 0xfe, 0x7f, 0x44, 0xaf, 0x40, 0x00,
471 0x41, 0x90, 0xc0, 0x37, 0x08, 0x00, 0xdf, 0xde,
472 0x50, 0x06, 0xc0, 0x57, 0x10, 0x00, 0x02, 0xc2,
473 0xc0, 0x07, 0x10, 0x00, 0x27, 0x00, 0x76, 0x08,
474 0x41, 0x90, 0x9f, 0xde, 0x40, 0x06, 0x44, 0xaf,
475 0x27, 0x00, 0x74, 0x08, 0xc0, 0x09, 0x76, 0x08,
476 0x41, 0x90, 0x00, 0xd2, 0x00, 0xd8, 0x9f, 0xde,
477 0x08, 0x00, 0x44, 0xaf, 0x27, 0x00, 0x9e, 0x08,
478 0x97, 0xcf, 0xe7, 0x87, 0x00, 0x84, 0x28, 0xc0,
479 0xe7, 0x67, 0xff, 0xf3, 0x24, 0xc0, 0x97, 0xcf,
480 0xe7, 0x87, 0x01, 0x00, 0xaa, 0x08, 0xe7, 0x57,
481 0x00, 0x00, 0x7a, 0x08, 0x97, 0xc1, 0x9f, 0xaf,
482 0xe2, 0x0b, 0xe7, 0x87, 0x00, 0x06, 0x22, 0xc0,
483 0xe7, 0x07, 0x00, 0x00, 0x90, 0xc0, 0xe7, 0x67,
484 0xfe, 0xff, 0x3e, 0xc0, 0xe7, 0x07, 0x2e, 0x00,
485 0x0a, 0xc0, 0xe7, 0x87, 0x01, 0x00, 0x3e, 0xc0,
486 0xe7, 0x07, 0xff, 0xff, 0x94, 0x08, 0x9f, 0xaf,
487 0xf0, 0x0c, 0x97, 0xcf, 0x17, 0x00, 0xa7, 0xaf,
488 0x54, 0x08, 0xc0, 0x05, 0x27, 0x00, 0x52, 0x08,
489 0xe7, 0x87, 0x01, 0x00, 0xaa, 0x08, 0x9f, 0xaf,
490 0xe2, 0x0b, 0xe7, 0x07, 0x0c, 0x00, 0x40, 0xc0,
491 0x9f, 0xaf, 0xf0, 0x0c, 0xe7, 0x07, 0x00, 0x00,
492 0x78, 0x08, 0x00, 0x90, 0xe7, 0x09, 0x88, 0x08,
493 0x8a, 0x08, 0x27, 0x00, 0x84, 0x08, 0x27, 0x00,
494 0x7c, 0x08, 0x9f, 0xaf, 0x8a, 0x0c, 0xe7, 0x07,
495 0x00, 0x00, 0xb2, 0x02, 0xe7, 0x07, 0x00, 0x00,
496 0xb4, 0x02, 0xc0, 0x07, 0x06, 0x00, 0xc8, 0x09,
497 0xde, 0x00, 0xc8, 0x17, 0x03, 0x00, 0xc9, 0x07,
498 0x7e, 0x08, 0x29, 0x0a, 0x00, 0xda, 0x7d, 0xc1,
499 0x97, 0xcf, 0xd7, 0x09, 0x00, 0xc0, 0xc1, 0xdf,
500 0x00, 0x90, 0x27, 0x00, 0x6a, 0x08, 0xe7, 0x07,
501 0x6a, 0x08, 0x6c, 0x08, 0x27, 0x00, 0x6e, 0x08,
502 0xe7, 0x07, 0x6e, 0x08, 0x70, 0x08, 0x27, 0x00,
503 0x78, 0x08, 0x27, 0x00, 0x62, 0x08, 0x27, 0x00,
504 0x64, 0x08, 0xc8, 0x09, 0x74, 0x08, 0xc1, 0x09,
505 0x76, 0x08, 0xc9, 0x07, 0x72, 0x08, 0x11, 0x02,
506 0x09, 0x02, 0xc8, 0x17, 0x40, 0x06, 0x01, 0xda,
507 0x7a, 0xc1, 0x51, 0x94, 0xc8, 0x09, 0x9e, 0x08,
508 0xc9, 0x07, 0x9c, 0x08, 0xc1, 0x09, 0x76, 0x08,
509 0x01, 0xd2, 0x01, 0xd8, 0x11, 0x02, 0x09, 0x02,
510 0xc8, 0x17, 0x08, 0x00, 0x01, 0xda, 0x7a, 0xc1,
511 0x51, 0x94, 0xe7, 0x05, 0x00, 0xc0, 0x97, 0xcf,
512 0xe7, 0x57, 0x00, 0x00, 0x52, 0x08, 0x97, 0xc0,
513 0x9f, 0xaf, 0x04, 0x00, 0xe7, 0x09, 0x94, 0x08,
514 0x90, 0x08, 0xe7, 0x57, 0xff, 0xff, 0x90, 0x08,
515 0x04, 0xc1, 0xe7, 0x07, 0xf0, 0x0c, 0x8e, 0x08,
516 0x97, 0xcf, 0xe7, 0x17, 0x32, 0x00, 0x90, 0x08,
517 0xe7, 0x67, 0xff, 0x07, 0x90, 0x08, 0xe7, 0x07,
518 0x26, 0x0d, 0x8e, 0x08, 0x97, 0xcf, 0xd7, 0x09,
519 0x00, 0xc0, 0xc1, 0xdf, 0xe7, 0x57, 0x00, 0x00,
520 0x96, 0x08, 0x23, 0xc0, 0xe7, 0x07, 0x00, 0x80,
521 0x80, 0xc0, 0xe7, 0x07, 0x04, 0x00, 0x90, 0xc0,
522 0xe7, 0x07, 0x00, 0x00, 0x80, 0xc0, 0xe7, 0x07,
523 0x00, 0x80, 0x80, 0xc0, 0xc0, 0x07, 0x00, 0x00,
524 0xc0, 0x07, 0x00, 0x00, 0xc0, 0x07, 0x00, 0x00,
525 0xe7, 0x07, 0x00, 0x00, 0x80, 0xc0, 0xe7, 0x07,
526 0x00, 0x80, 0x80, 0xc0, 0xe7, 0x07, 0x00, 0x80,
527 0x40, 0xc0, 0xc0, 0x07, 0x00, 0x00, 0xe7, 0x07,
528 0x00, 0x00, 0x40, 0xc0, 0xe7, 0x07, 0x00, 0x00,
529 0x80, 0xc0, 0xef, 0x57, 0x00, 0x00, 0xf1, 0x09,
530 0x9f, 0xa0, 0xc0, 0x0d, 0xe7, 0x07, 0x04, 0x00,
531 0x90, 0xc0, 0xe7, 0x07, 0x00, 0x02, 0x40, 0xc0,
532 0xe7, 0x07, 0x0c, 0x02, 0x40, 0xc0, 0xe7, 0x07,
533 0x00, 0x00, 0x96, 0x08, 0xe7, 0x07, 0x00, 0x00,
534 0x8e, 0x08, 0xe7, 0x07, 0x00, 0x00, 0xaa, 0x08,
535 0xd7, 0x09, 0x00, 0xc0, 0xc1, 0xdf, 0x9f, 0xaf,
536 0x9e, 0x03, 0xe7, 0x05, 0x00, 0xc0, 0x9f, 0xaf,
537 0xde, 0x01, 0xe7, 0x05, 0x00, 0xc0, 0x97, 0xcf,
538 0x9f, 0xaf, 0xde, 0x0d, 0xef, 0x77, 0x00, 0x00,
539 0xf1, 0x09, 0x97, 0xc1, 0x9f, 0xaf, 0xde, 0x0d,
540 0xef, 0x77, 0x00, 0x00, 0xf1, 0x09, 0x97, 0xc1,
541 0xef, 0x07, 0x01, 0x00, 0xf1, 0x09, 0xe7, 0x87,
542 0x00, 0x08, 0x1e, 0xc0, 0xe7, 0x87, 0x00, 0x08,
543 0x22, 0xc0, 0xe7, 0x67, 0xff, 0xf7, 0x22, 0xc0,
544 0xe7, 0x77, 0x00, 0x08, 0x20, 0xc0, 0x11, 0xc0,
545 0xe7, 0x67, 0xff, 0xf7, 0x1e, 0xc0, 0xe7, 0x87,
546 0x00, 0x08, 0x22, 0xc0, 0xe7, 0x67, 0xff, 0xf7,
547 0x22, 0xc0, 0xe7, 0x77, 0x00, 0x08, 0x20, 0xc0,
548 0x04, 0xc1, 0xe7, 0x87, 0x00, 0x08, 0x22, 0xc0,
549 0x97, 0xcf, 0xe7, 0x07, 0x01, 0x01, 0xf0, 0x09,
550 0xef, 0x57, 0x18, 0x00, 0xfe, 0xff, 0x97, 0xc2,
551 0xef, 0x07, 0x00, 0x00, 0xf0, 0x09, 0x97, 0xcf,
552 0xd7, 0x09, 0x00, 0xc0, 0x17, 0x00, 0x17, 0x02,
553 0x97, 0x02, 0xe7, 0x57, 0x00, 0x00, 0x7a, 0x08,
554 0x06, 0xc0, 0xc0, 0x09, 0x92, 0xc0, 0xc0, 0x77,
555 0x09, 0x02, 0x9f, 0xc1, 0xea, 0x06, 0x9f, 0xcf,
556 0x20, 0x08, 0xd7, 0x09, 0x0e, 0xc0, 0xe7, 0x07,
557 0x00, 0x00, 0x0e, 0xc0, 0x9f, 0xaf, 0x66, 0x0e,
558 0xe7, 0x05, 0x0e, 0xc0, 0x97, 0xcf, 0xd7, 0x09,
559 0x00, 0xc0, 0x17, 0x02, 0xc8, 0x09, 0xb0, 0xc0,
560 0xe7, 0x67, 0xfe, 0x7f, 0xb0, 0xc0, 0xc8, 0x77,
561 0x00, 0x20, 0x9f, 0xc1, 0x64, 0xeb, 0xe7, 0x57,
562 0x00, 0x00, 0xc8, 0x02, 0x9f, 0xc1, 0x80, 0xeb,
563 0xc8, 0x99, 0xca, 0x02, 0xc8, 0x67, 0x04, 0x00,
564 0x9f, 0xc1, 0x96, 0xeb, 0x9f, 0xcf, 0x4c, 0xeb,
565 0xe7, 0x07, 0x00, 0x00, 0xa6, 0xc0, 0xe7, 0x09,
566 0xb0, 0xc0, 0xc8, 0x02, 0xe7, 0x07, 0x03, 0x00,
567 0xb0, 0xc0, 0x97, 0xcf, 0xc0, 0x09, 0x86, 0x08,
568 0xc0, 0x37, 0x01, 0x00, 0x97, 0xc9, 0xc9, 0x09,
569 0x88, 0x08, 0x02, 0x00, 0x41, 0x90, 0x48, 0x02,
570 0xc9, 0x17, 0x06, 0x00, 0x9f, 0xaf, 0x64, 0x05,
571 0x9f, 0xa2, 0xd6, 0x0e, 0x02, 0xda, 0x77, 0xc1,
572 0x41, 0x60, 0x71, 0xc1, 0x97, 0xcf, 0x17, 0x02,
573 0x57, 0x02, 0x43, 0x04, 0x21, 0x04, 0xe0, 0x00,
574 0x43, 0x04, 0x21, 0x04, 0xe0, 0x00, 0x43, 0x04,
575 0x21, 0x04, 0xe0, 0x00, 0xc1, 0x07, 0x01, 0x00,
576 0xc9, 0x05, 0xc8, 0x05, 0x97, 0xcf,
577 0, 0
580 /* Firmware fixup (data?) segment */
581 static unsigned char kue_fix_seg[] =
583 /******************************************/
584 /* NOTE: B6/C3 is data header signature */
585 /* 0xAA/0xBB is data length = total */
586 /* bytes - 7, 0xCC is type, 0xDD is */
587 /* interrupt to use. */
588 /******************************************/
589 0xB6, 0xC3, 0xc9, 0x02, 0x03, 0x64,
590 0x02, 0x00, 0x08, 0x00, 0x24, 0x00, 0x2e, 0x00,
591 0x2c, 0x00, 0x3e, 0x00, 0x44, 0x00, 0x48, 0x00,
592 0x50, 0x00, 0x5c, 0x00, 0x60, 0x00, 0x66, 0x00,
593 0x6c, 0x00, 0x70, 0x00, 0x76, 0x00, 0x74, 0x00,
594 0x7a, 0x00, 0x7e, 0x00, 0x84, 0x00, 0x8a, 0x00,
595 0x8e, 0x00, 0x92, 0x00, 0x98, 0x00, 0x9c, 0x00,
596 0xa0, 0x00, 0xa8, 0x00, 0xae, 0x00, 0xb4, 0x00,
597 0xb2, 0x00, 0xba, 0x00, 0xbe, 0x00, 0xc4, 0x00,
598 0xc8, 0x00, 0xce, 0x00, 0xd2, 0x00, 0xd6, 0x00,
599 0xda, 0x00, 0xe2, 0x00, 0xe0, 0x00, 0xea, 0x00,
600 0xf2, 0x00, 0xfe, 0x00, 0x06, 0x01, 0x0c, 0x01,
601 0x1a, 0x01, 0x24, 0x01, 0x22, 0x01, 0x2a, 0x01,
602 0x30, 0x01, 0x36, 0x01, 0x3c, 0x01, 0x4e, 0x01,
603 0x52, 0x01, 0x58, 0x01, 0x5c, 0x01, 0x9c, 0x01,
604 0xb6, 0x01, 0xba, 0x01, 0xc0, 0x01, 0xca, 0x01,
605 0xd0, 0x01, 0xda, 0x01, 0xe2, 0x01, 0xea, 0x01,
606 0xf0, 0x01, 0x0a, 0x02, 0x0e, 0x02, 0x14, 0x02,
607 0x26, 0x02, 0x6c, 0x02, 0x8e, 0x02, 0x98, 0x02,
608 0xa0, 0x02, 0xa6, 0x02, 0xba, 0x02, 0xc6, 0x02,
609 0xce, 0x02, 0xe8, 0x02, 0xee, 0x02, 0xf4, 0x02,
610 0xf8, 0x02, 0x0a, 0x03, 0x10, 0x03, 0x1a, 0x03,
611 0x1e, 0x03, 0x2a, 0x03, 0x2e, 0x03, 0x34, 0x03,
612 0x3a, 0x03, 0x44, 0x03, 0x4e, 0x03, 0x5a, 0x03,
613 0x5e, 0x03, 0x6a, 0x03, 0x72, 0x03, 0x80, 0x03,
614 0x84, 0x03, 0x8c, 0x03, 0x94, 0x03, 0x98, 0x03,
615 0xa8, 0x03, 0xae, 0x03, 0xb4, 0x03, 0xba, 0x03,
616 0xce, 0x03, 0xcc, 0x03, 0xd6, 0x03, 0xdc, 0x03,
617 0xec, 0x03, 0xf0, 0x03, 0xfe, 0x03, 0x1c, 0x04,
618 0x30, 0x04, 0x38, 0x04, 0x3c, 0x04, 0x40, 0x04,
619 0x48, 0x04, 0x46, 0x04, 0x54, 0x04, 0x5e, 0x04,
620 0x64, 0x04, 0x74, 0x04, 0x78, 0x04, 0x84, 0x04,
621 0xd8, 0x04, 0xec, 0x04, 0xf0, 0x04, 0xf8, 0x04,
622 0xfe, 0x04, 0x1c, 0x05, 0x2c, 0x05, 0x30, 0x05,
623 0x4a, 0x05, 0x56, 0x05, 0x5a, 0x05, 0x88, 0x05,
624 0x8c, 0x05, 0x96, 0x05, 0x9a, 0x05, 0xa8, 0x05,
625 0xcc, 0x05, 0xd2, 0x05, 0xda, 0x05, 0xe0, 0x05,
626 0xe4, 0x05, 0xfc, 0x05, 0x06, 0x06, 0x14, 0x06,
627 0x12, 0x06, 0x1a, 0x06, 0x20, 0x06, 0x26, 0x06,
628 0x2e, 0x06, 0x34, 0x06, 0x48, 0x06, 0x52, 0x06,
629 0x64, 0x06, 0x86, 0x06, 0x90, 0x06, 0x9a, 0x06,
630 0xa0, 0x06, 0xac, 0x06, 0xaa, 0x06, 0xb2, 0x06,
631 0xb8, 0x06, 0xdc, 0x06, 0xda, 0x06, 0xe2, 0x06,
632 0xe8, 0x06, 0xf2, 0x06, 0xf8, 0x06, 0xfc, 0x06,
633 0x0a, 0x07, 0x10, 0x07, 0x14, 0x07, 0x24, 0x07,
634 0x2a, 0x07, 0x32, 0x07, 0x38, 0x07, 0xb2, 0x07,
635 0xba, 0x07, 0xde, 0x07, 0xe4, 0x07, 0x10, 0x08,
636 0x14, 0x08, 0x1a, 0x08, 0x1e, 0x08, 0x30, 0x08,
637 0x38, 0x08, 0x3c, 0x08, 0x44, 0x08, 0x42, 0x08,
638 0x48, 0x08, 0xc6, 0x08, 0xcc, 0x08, 0xd2, 0x08,
639 0xfe, 0x08, 0x04, 0x09, 0x0a, 0x09, 0x0e, 0x09,
640 0x12, 0x09, 0x16, 0x09, 0x20, 0x09, 0x24, 0x09,
641 0x28, 0x09, 0x32, 0x09, 0x46, 0x09, 0x4a, 0x09,
642 0x50, 0x09, 0x54, 0x09, 0x5a, 0x09, 0x60, 0x09,
643 0x7c, 0x09, 0x80, 0x09, 0xb8, 0x09, 0xbc, 0x09,
644 0xc0, 0x09, 0xc4, 0x09, 0xc8, 0x09, 0xcc, 0x09,
645 0xd0, 0x09, 0xd4, 0x09, 0xec, 0x09, 0xf4, 0x09,
646 0xf6, 0x09, 0xf8, 0x09, 0xfa, 0x09, 0xfc, 0x09,
647 0xfe, 0x09, 0x00, 0x0a, 0x02, 0x0a, 0x04, 0x0a,
648 0x06, 0x0a, 0x08, 0x0a, 0x0a, 0x0a, 0x0c, 0x0a,
649 0x10, 0x0a, 0x18, 0x0a, 0x24, 0x0a, 0x2c, 0x0a,
650 0x32, 0x0a, 0x3c, 0x0a, 0x46, 0x0a, 0x4c, 0x0a,
651 0x50, 0x0a, 0x54, 0x0a, 0x5a, 0x0a, 0x5e, 0x0a,
652 0x66, 0x0a, 0x6c, 0x0a, 0x72, 0x0a, 0x78, 0x0a,
653 0x7e, 0x0a, 0x7c, 0x0a, 0x82, 0x0a, 0x8c, 0x0a,
654 0x92, 0x0a, 0x90, 0x0a, 0x98, 0x0a, 0x96, 0x0a,
655 0xa2, 0x0a, 0xb2, 0x0a, 0xb6, 0x0a, 0xc4, 0x0a,
656 0xe2, 0x0a, 0xe0, 0x0a, 0xe8, 0x0a, 0xee, 0x0a,
657 0xf4, 0x0a, 0xf2, 0x0a, 0xf8, 0x0a, 0x0c, 0x0b,
658 0x1a, 0x0b, 0x24, 0x0b, 0x40, 0x0b, 0x44, 0x0b,
659 0x48, 0x0b, 0x4e, 0x0b, 0x4c, 0x0b, 0x52, 0x0b,
660 0x68, 0x0b, 0x6c, 0x0b, 0x70, 0x0b, 0x76, 0x0b,
661 0x88, 0x0b, 0x92, 0x0b, 0xbe, 0x0b, 0xca, 0x0b,
662 0xce, 0x0b, 0xde, 0x0b, 0xf4, 0x0b, 0xfa, 0x0b,
663 0x00, 0x0c, 0x24, 0x0c, 0x28, 0x0c, 0x30, 0x0c,
664 0x36, 0x0c, 0x3c, 0x0c, 0x40, 0x0c, 0x4a, 0x0c,
665 0x50, 0x0c, 0x58, 0x0c, 0x56, 0x0c, 0x5c, 0x0c,
666 0x60, 0x0c, 0x64, 0x0c, 0x80, 0x0c, 0x94, 0x0c,
667 0x9a, 0x0c, 0x98, 0x0c, 0x9e, 0x0c, 0xa4, 0x0c,
668 0xa2, 0x0c, 0xa8, 0x0c, 0xac, 0x0c, 0xb0, 0x0c,
669 0xb4, 0x0c, 0xb8, 0x0c, 0xbc, 0x0c, 0xce, 0x0c,
670 0xd2, 0x0c, 0xd6, 0x0c, 0xf4, 0x0c, 0xfa, 0x0c,
671 0x00, 0x0d, 0xfe, 0x0c, 0x06, 0x0d, 0x0e, 0x0d,
672 0x0c, 0x0d, 0x16, 0x0d, 0x1c, 0x0d, 0x22, 0x0d,
673 0x20, 0x0d, 0x30, 0x0d, 0x7e, 0x0d, 0x82, 0x0d,
674 0x9a, 0x0d, 0xa0, 0x0d, 0xa6, 0x0d, 0xb0, 0x0d,
675 0xb8, 0x0d, 0xc2, 0x0d, 0xc8, 0x0d, 0xce, 0x0d,
676 0xd4, 0x0d, 0xdc, 0x0d, 0x1e, 0x0e, 0x2c, 0x0e,
677 0x3e, 0x0e, 0x4c, 0x0e, 0x50, 0x0e, 0x5e, 0x0e,
678 0xae, 0x0e, 0xb8, 0x0e, 0xc6, 0x0e, 0xca, 0x0e,
679 0, 0
682 /* Fixup command. */
683 #define KUE_TRIGCMD_OFFSET 5
684 static unsigned char kue_trig_seg[] = {
685 0xb6, 0xc3, 0x01, 0x00, 0x06, 0x64, 0x00, 0x00