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