~sircmpwn/ctools

ref: cc69324393fda9bcbc73d30d1bda022263f012a8 ctools/test/harness.sh -rw-r--r-- 13.2 KiB
cc693243 — Gabor Koszegi Correct tee SIGINT test 1 year, 11 months ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
set -eu

export PATH="$BUILDDIR/..:$PATH"
TMPDIR=${TMPDIR:-/tmp}
TMPDIR=$TMPDIR/ctools-$tool-testfiles
mkdir -p "$TMPDIR"

cleanup() {
	rm -rf "$TMPDIR"
}

trap cleanup EXIT

npass=0
nfail=0

runtests() {
	max=0
	for t in $@
	do
		if [ ${#t} -gt $max ]
		then
			max=${#t}
		fi
	done
	for t in $@
	do
		printf "%-${max}s " "$t"
		if "$t"
		then
			printf 'OK\n'
			npass=$((npass+1))
		else
			printf 'FAIL\n'
			nfail=$((nfail+1))
		fi
	done
	printf 'Passed: %d tests\n' $npass
	printf 'Failed: %d tests\n' $nfail
	if [ $nfail -ne 0 ]
	then
		exit 1
	fi
}

_ddash_tool=
_ddash_args=
# Pass the reference command line and this tests it with and without --
should_handle_ddash() {
	if [ $# -ne 0 ]
	then
		_ddash_tool="$1"
		shift
		_ddash_args="$@"
	else
		( $_ddash_tool $_ddash_args && $_ddash_tool -- $_ddash_args ) \
			>/dev/null 2>&1
	fi
}

largefile() {
	# Outputs a file which is probably larger than BUFSIZ
	cat <<-EOF
	0000000 6688 c239 90bf f43d 7474 e0ee 9662 076b
	0000010 c9ee 874a c582 52f2 9644 af59 965a 59cb
	0000020 cf50 5f94 3996 e2c3 9775 a50d cef9 4db9
	0000030 cab6 180a beeb 32a1 fad9 2ddc 1dd7 cd32
	0000040 7e03 b85c 7ad1 987a 22ee 5121 7877 00b4
	0000050 085b afa0 d933 8d31 3bd7 9fae 2f93 e326
	0000060 152c bf1a 9a27 21fb 7005 5aca e4b3 7965
	0000070 d5aa c6b7 05de 1f27 f715 5154 e702 8685
	0000080 6f2a be30 2b51 8140 ed14 f5c9 e6a5 c997
	0000090 f2fb 3d96 5b7e 9343 2c61 55b9 32e7 4e6f
	00000a0 7560 85c3 547d ee96 7bec c5b6 500b beb9
	00000b0 399f 208d 9317 d24c d001 33c8 598f c8be
	00000c0 9588 6b08 1c14 44df b204 b09a 5cf2 4388
	00000d0 3c24 3741 c42b 8928 e7dc 454b 7804 4a13
	00000e0 44c5 150f 7dd0 74aa fbcf daaa 5359 c0a2
	00000f0 6824 17df 265a 0bc2 9724 4a23 84a1 cad7
	0000100 7b5c 99a3 a6dd 551b 0021 2c29 7393 fb8b
	0000110 d91a 4715 b0dd ed66 8d15 d413 dd12 39b8
	0000120 d901 1ff6 b9ab c272 6a88 a450 5392 bfe8
	0000130 0206 d4a0 d436 c580 bf82 8a7e c0cb 6bf7
	0000140 d07b b79f e133 8f60 95de a40b 96f6 6e29
	0000150 6ca9 57c3 5bf0 9564 5ece 1020 fe11 0ba2
	0000160 dfe2 e0c8 ff79 9624 fc7b c0b7 7b4e bba5
	0000170 8986 5eea b91b 43c6 1faf 3cc7 6175 c61a
	0000180 4943 142c 7802 282e dde2 db5d 30d0 8bee
	0000190 e38a 005a b4d8 4870 2255 2f74 57f9 0cff
	00001a0 2e7a 4105 e858 afc1 505c cb85 53bf ff65
	00001b0 7fc5 a7ac 5925 e00c 9181 72ba 6615 66b8
	00001c0 798b 3b2c 831c 15c9 14a0 6fcd 3383 e323
	00001d0 6ed7 598b 5981 2d59 368a 90d6 0f69 5d8b
	00001e0 1c9c 2c1a a2ab 4f48 36ba 1802 6eba d640
	00001f0 4ac8 3a07 d04b 9bff 64b3 e1fc 9e27 5796
	0000200 50e9 6701 1503 d4ea 6665 aff7 d436 d185
	0000210 6135 7a18 3c54 51df 99c3 9234 834e 5ebe
	0000220 b291 117f 1734 7d83 9f32 98ef 5d6b 67cb
	0000230 3f06 e41c 2497 09b6 6e0c 9ff8 7ae8 af74
	0000240 9d0c 0063 7085 1ae1 7c12 f912 b089 9048
	0000250 43e4 366f 1e53 e203 debd 01a6 cad5 3db8
	0000260 2062 2cec 4597 aa8b 5b95 b1d7 180d d1a0
	0000270 e68a b6dd c086 99a1 db7b fb8a 22d1 819b
	0000280 30ee cb93 f985 b87c abbf fd42 3307 63c0
	0000290 1b3c c3d1 f371 1b61 885b 070b 6a24 affb
	00002a0 35ed 5224 38f8 12f9 bd50 55c9 3ea5 7f15
	00002b0 fc0b ffe2 8ddf 8a4d b85c 5c25 8c2d 747d
	00002c0 7ddf 21a7 b81d 2e27 d185 f9eb 76de 73d6
	00002d0 fa6f fe5f 6711 966b 78da 4ba9 dcd2 c452
	00002e0 31e4 9dd0 9f08 895b f832 699f ce10 ec34
	00002f0 bb4f 6972 577b 4f0a 88f0 c7a2 8f6f c9ef
	0000300 af99 94ed be60 5bae 10b2 95f8 0098 80f1
	0000310 ab75 ce60 311d 5465 ae30 462f a5c9 3e3b
	0000320 c15b 4d99 74e5 46bb f501 1ecc 3ffa 070a
	0000330 ce0f 9822 2656 ef1c e44b 626f 3293 e858
	0000340 62f2 3964 b06b 0a30 6065 4acd b0fa 23bd
	0000350 4725 53f2 645c 9a36 ac17 2614 eba2 394c
	0000360 b0ca 8d6c d14c bb8d 9399 0850 e00a 11d7
	0000370 30dc 18c5 a777 470e 803a 0293 978a 71d6
	0000380 a70e 23cf bd77 13db 5848 a318 01d6 d952
	0000390 0ca4 6c80 7618 58bd 7c29 1c68 0ac4 c926
	00003a0 9804 ac2d b0bb b8ac aef0 69ca 9570 ec50
	00003b0 3f8b 3acf b565 a13d 45d5 e5ed 43b3 cf36
	00003c0 c171 aafb d62d 5070 1ee6 6a4b 262e 85c6
	00003d0 3ae6 f1fa d0ce 4a06 ee42 2882 5fe1 8656
	00003e0 3ec3 5424 15af 8b63 e928 b079 6e39 697e
	00003f0 119a 4d35 457d 80a4 32e8 cfc2 05b6 0c42
	0000400 2cf0 216a 2546 4fce 2352 bcc1 1b62 1385
	0000410 c074 d91e 8df3 3d08 ac28 1721 364d 3cb8
	0000420 4270 0a8a a8ef 559d 8e58 8036 c34f 0f1d
	0000430 d518 8c31 abb3 c248 e6f3 fd0a 1a41 67b4
	0000440 8772 260b 9e5c 0979 db52 cefb 5179 d700
	0000450 7b27 bbc0 1b7d edac 39eb a89b e653 f30f
	0000460 a319 3978 013c 329f 85bd d1fa 2480 fab9
	0000470 b3f0 9df9 f575 e9e9 88a3 2da8 2b76 5236
	0000480 d418 a0bd 4cd3 c1d6 baf0 9c48 ec8a 7fbf
	0000490 304d 477b 2265 fb00 3c20 48b0 e699 d12c
	00004a0 2b45 b759 5cd1 44a7 efd0 859b 4865 de94
	00004b0 24ec 0f6c 4775 ad49 795a cf09 7150 c987
	00004c0 f355 8256 e602 030e ddb6 6860 90e1 714d
	00004d0 3fd3 5cdc 08c8 7d04 a944 39f7 6922 2be9
	00004e0 a88f 45e6 7b19 af22 d648 b138 345b 96f9
	00004f0 8fea 1456 e00d 53d8 144a f45d 2fb7 5c19
	0000500 d4cf 6e3d ee0a 91c9 3604 c475 cb07 2cf1
	0000510 afc9 9031 bc9f 643f 66d1 0540 1284 d88b
	0000520 8d47 802b fd1a aacb bdad 5c7b 24b5 62d5
	0000530 4b05 9cbd 8682 138e 4082 051c 15a5 d199
	0000540 4562 e35b c817 2b72 0a94 b090 49db 5413
	0000550 fc57 ae62 5503 bcc3 951d 1236 bdaa d850
	0000560 5afd 5fe6 ed0e 98b2 b65e 2f2d b707 1a86
	0000570 e3de 8163 77fe 3e57 108d 7a94 6fff cd43
	0000580 c636 1a5e cd46 31bd 0f9d ee17 2d6d f4ea
	0000590 6ff1 d0cf 6382 abbf cef2 6fc0 ce15 1498
	00005a0 edee 2a9d efca 7731 f8a9 d489 8a4e fe9f
	00005b0 d678 f751 4e4e 893c 4321 852f 4b7d 85e5
	00005c0 42ab 34f4 7f43 2a9b 1ecf 7edb 61d7 e2e9
	00005d0 882d 9233 0a24 4a87 2441 0d40 72b8 8c74
	00005e0 aa4c 54a9 efc4 f64d a271 39c4 5ae4 990e
	00005f0 8e98 36ae 05e9 5704 3b0f e7ed 89f8 9a97
	0000600 c1bd 229c b8c9 1e8b 165d f977 19a7 38d4
	0000610 2d6e 75f4 6cf1 59b1 b31a aefe c21d eb22
	0000620 4cd0 3aa8 0aea 7f23 b5a2 4bde 74bb 78f6
	0000630 bf58 63f3 1016 b9e1 b0fd 9bd5 1a67 9160
	0000640 33a9 9249 71d8 a82a 1ccd 1cac ec0e e4c4
	0000650 ee26 e247 c8f3 9ec2 d1cd 5d91 708d 3731
	0000660 162e 31fb 0ecf e774 5977 dc25 154b 5765
	0000670 c2a3 a63e bcc0 ce45 56fc 20c3 6884 6173
	0000680 3513 7c0b c74a b336 dcf8 fb8f bd45 0147
	0000690 90b1 b42e e90b a54a c7e6 bb1a f5fd ed3d
	00006a0 8fe4 5863 23aa 7aa7 7ba1 851f f540 edca
	00006b0 f805 a2a8 b368 f936 1a7c 801e 2d3d 6b18
	00006c0 a024 2fad 6b12 3792 440c a1fe 9d17 39f7
	00006d0 4cb1 fcd1 d857 ad41 43b6 e9c9 56da 34e7
	00006e0 3d4c 9ce5 645a 5169 1469 4245 c070 9827
	00006f0 5dc6 8c35 b4fe c599 8b8b bbd2 9566 0f94
	0000700 f22b 9762 982e f1b0 f818 4d79 8a43 e953
	0000710 0ecf 63cf 5979 c78c f778 a4a1 a18d eb4c
	0000720 86c8 f02c 342e 7a11 f61d 819d 1eaf 92c2
	0000730 8c17 18b8 53d1 a2e2 15c6 be12 5e01 ccc8
	0000740 302b 41e1 de11 1aa2 7a48 0331 6736 479d
	0000750 da35 fd52 07d3 66d1 c6cc 668e 5c28 d8d4
	0000760 13b9 c313 4b15 7fc7 90c1 48cd e792 94ca
	0000770 0dfa dfe9 4fbf 0ca9 85f9 d2ef 06a9 2995
	0000780 9eda 8bf0 a806 1c20 7b0c df47 c7b7 49df
	0000790 a602 9101 0b13 d457 6b87 e7ee 44c1 24cd
	00007a0 f32c f7cc 6a2a 11ad 0bc9 859e 1fbf 77d4
	00007b0 f017 c384 5dcb 952c ca91 fa73 95be ba85
	00007c0 9022 702a 80e1 f38c 14b3 d49f d410 0e79
	00007d0 69b5 ce88 ece7 5cb9 bb1b d360 8175 9d12
	00007e0 4f9e 5c24 12ee 8efb 6a06 7c0b 1cc2 78fa
	00007f0 0f43 5e1e 8be8 2fd1 4364 e861 0bd7 d912
	0000800 3a2c 7233 700e 8e3d 76d8 3a7b 28fa 3e98
	0000810 416f 479c eaa3 0c84 09c4 fe78 a830 01ac
	0000820 6358 11ae 433e 03e4 d1af 44bf 38e5 d792
	0000830 ed0e 2404 6c74 6b5a 701b 3bfb 2fb5 0295
	0000840 4f0c 1e32 c509 eca7 f76c f3f9 75a8 caa7
	0000850 3b46 b62e 70c5 c790 5717 4521 db1a b741
	0000860 3335 45b0 604b d0d7 92dd f38f 852f f7fa
	0000870 722c 7a4b 3042 f00e 0a7d cd4c 8c5a 4358
	0000880 3103 ca82 a2ab 6aa5 10cf 7ddd 21ec 03e9
	0000890 fe4b 313e 7c88 604f bd33 e456 33b0 6c4d
	00008a0 bb66 42b1 698c 2796 7e18 652f 8a2a 1be2
	00008b0 f319 4283 68ca 7ea9 539e d1a3 1aaf 347d
	00008c0 fa18 59cd 0bc1 79ad 4fec c217 e955 36db
	00008d0 8b9b c520 d285 2d79 42bc 4dd9 9fcc 2684
	00008e0 4b90 a70f a205 5aa2 6e6a 8e7c 31f5 88df
	00008f0 fa43 0b12 d79c e51d 6cf5 0fa8 7f61 c84c
	0000900 a28f 7735 5ae7 5e8a 9731 05f6 9202 6415
	0000910 7089 8964 4e31 13bc bcd4 aa7b 1251 dc45
	0000920 0ade e629 3a11 6379 aaf7 d86a 2ac2 5289
	0000930 f7e4 ebd0 add0 028e 5ef1 db9a 1026 3539
	0000940 c8e0 8c8c 1d1b cbb8 b28b 9644 7f37 2505
	0000950 bca9 0323 8eab 07e1 1331 4482 de61 ed6e
	0000960 774a dece 9d43 7797 fec8 03f5 ffe5 b420
	0000970 44db 446d 326a 68ba fe3e 4077 b307 93a9
	0000980 3243 2cc0 7412 ac55 5464 0240 4f3e bb5c
	0000990 6de5 00cc ffe0 f734 e204 9f8f ff8f 4143
	00009a0 7d98 d23b d29a e1fd 7c07 bbaa a5a5 ef21
	00009b0 df37 5ddc 7203 fdbf e0f0 fdeb 68ee 8f56
	00009c0 88e2 e4bd 7ba3 eb69 6c6c 8e8b b86d 5394
	00009d0 f36f e2da 6ab2 3adf 36de 0779 6fd3 f3fc
	00009e0 ea0f d607 5b56 c638 447b 7a20 24e0 abda
	00009f0 0a90 c321 ddde 5031 1e0d 66b5 c38d 95d6
	0000a00 7f5d d863 2a46 3271 47ef 1209 0c53 ac74
	0000a10 6869 6ad8 9517 2783 631e fdcb d759 9292
	0000a20 c2ed 88d3 8d26 5563 dabc d423 6ebb a461
	0000a30 4553 4b7d 9222 80d5 6698 4251 f0f4 6645
	0000a40 ec55 93da c048 377c 5b23 f0d6 34fb 3a67
	0000a50 1ac3 2dce eb90 0de8 b68d 3a23 47c7 f685
	0000a60 af6f 2418 2548 cb28 06cd 0666 e886 f1da
	0000a70 3cd9 dbc2 31b0 bdd3 7bf1 dca6 0cc8 722c
	0000a80 df72 803d 0400 9dd1 562a 0fb3 cd46 3734
	0000a90 662f 7806 b059 f0cf f572 c8aa ed8e a10b
	0000aa0 aed6 72b4 133d 243d 9c09 8e8c f77c 5daa
	0000ab0 7fd9 cac8 472c 085f fe5e db01 8c20 7861
	0000ac0 fdc5 2157 4380 94bd 3acc 661a 26a9 e8e1
	0000ad0 4ffa af1c 60fc 7f19 b184 a62e d718 f9ce
	0000ae0 2ead 6daa 23e5 4e5d 569f 7436 b325 aefa
	0000af0 545a 0d4d 5214 a9fb d3ff ac00 e74f 6613
	0000b00 208e ff1a 105d 06a9 7e59 7ed3 3bcc 869d
	0000b10 ea37 4752 43de cfa2 1e75 4796 6b1c 7de3
	0000b20 744f a93f 82c8 5b50 749d 8b12 5c9b b7a7
	0000b30 925f 2e1b e33b f73c 87d3 b962 877c f360
	0000b40 0726 761a f447 8f75 02e6 7228 9aa1 a75f
	0000b50 bacc f237 ccd6 84e3 b09a 9b0c a7e0 7016
	0000b60 55e3 e2dc 8a90 be1d 92b5 6948 ac83 4648
	0000b70 06ca adcc b798 b6e5 208e dc29 0f38 8315
	0000b80 bca8 e856 7752 5244 6991 27b8 a357 2bcf
	0000b90 ba1a 0591 a70f 962f 0b84 b10c bd9c 9cd3
	0000ba0 4e3c 1e72 accd 051e 7fbb 6c43 0a3c b99d
	0000bb0 4610 9b21 5300 2b89 f5bf 5f5a 99f5 56d9
	0000bc0 1db2 bf26 be19 03e2 0914 77a1 e365 ec31
	0000bd0 9d91 1944 72f3 5575 7c77 1ed9 0f7a 2850
	0000be0 e844 a42d ba75 fd32 d73b e6dc 4aed 6a06
	0000bf0 82bd 1014 0f55 3025 58ee 17cf f1c9 c941
	0000c00 b542 4266 b818 136c a794 7032 a57a 7209
	0000c10 be3c 9b4d bd96 4001 5c72 6648 fd27 6144
	0000c20 f47d 9a5f 4d79 d907 12fd 8e66 3014 a749
	0000c30 8666 c1da b8b9 82b3 f7bb e063 f9ee 3c72
	0000c40 0410 c7be 0868 0e06 be84 e8e5 8b25 4da9
	0000c50 06a6 acf5 75f0 2b7a f6b2 bff3 2602 b16e
	0000c60 70a3 6849 b649 dd06 fc6f 9e84 3093 972e
	0000c70 4f1f 38ae 8758 67c2 8647 6155 0186 aa1e
	0000c80 82db 826d 0e46 6c13 e601 4ceb c965 c885
	0000c90 97b8 de68 3d0b d8c9 4e0e cce3 33f6 545a
	0000ca0 e328 9b63 789a 2e60 48cb 5752 5a4b 91f2
	0000cb0 9195 4560 c3c4 4a8e ca1b 530d 5849 409e
	0000cc0 26fb dc3e 21f0 673a 33ae 6784 fd75 e1d2
	0000cd0 6afc 89a6 acbe c7a2 e441 bfbf fae0 e56d
	0000ce0 2ad8 5077 6d8c 9449 3ac3 9ae9 0ef9 85f8
	0000cf0 f1a6 1483 1d57 9079 a1ff cba7 30d6 e7ee
	0000d00 dc6b 59c2 814e 4657 aea3 1030 f005 bc02
	0000d10 ea07 33e0 f19f 2994 23ab 0df0 debc 857a
	0000d20 cbd7 f38b 2fa3 bc9e b151 6225 77c7 a3e2
	0000d30 7a44 b421 9252 ce43 858e 0399 94a7 3a22
	0000d40 38a1 0c4d fb83 1951 2051 6c52 d9b6 c0b3
	0000d50 6085 63c3 0cb8 c76e 322e 054f 1e3f d7e3
	0000d60 d279 bc55 c2f8 0e85 ae91 0213 e89e b73b
	0000d70 78c9 11c8 f2fc 75d3 bada 6110 7a1b 34e2
	0000d80 7b98 e44e 4628 7fdb ce28 b302 c757 17c7
	0000d90 0168 c711 c135 eff6 7316 a17f 95b9 09ae
	0000da0 0109 34a3 279f 21ae 79ab 815c c6cf b4cd
	0000db0 e40a 481d bd3c ae8e 83a5 2881 e931 c709
	0000dc0 fdb8 a025 19f0 d07f 30ec 2eac 6f60 34e9
	0000dd0 732a 0613 6898 94a2 91fd e49c b6eb d856
	0000de0 0269 bfc7 d291 dd57 034d 7051 1d60 e677
	0000df0 d061 7e03 c088 abee 073c 7b12 93ea 471f
	0000e00 60de 41a2 0162 5dc2 8ea9 cb06 3518 9d4b
	0000e10 5e61 3c3a 0477 829f 8fd2 bb14 0eb4 2192
	0000e20 9137 ff5e edcd f275 9acd a034 d5be 9880
	0000e30 fbc9 41a6 715f 0d60 8314 fff9 4c49 282a
	0000e40 b213 66cc 921e 89b6 405f aaed 35f1 96df
	0000e50 2f7a 630a 7fdd 1c07 2f58 2134 08f7 9249
	0000e60 4616 c3e8 bc9c 8993 25e7 5a3b 76eb 9f97
	0000e70 7f7c 5aa5 d047 b8d9 8ccc f4e5 0387 3c01
	0000e80 4ec2 8f96 a1fa 1d3a afbf 9f9c 8f56 1bd0
	0000e90 f7ce f3bc cdfd 2916 3fa0 a821 8e1e 4769
	0000ea0 090f 0d20 4a86 9a02 4e9f d35e 3d9f 75ab
	0000eb0 7b05 c0d0 ee18 bed1 584a 8afd fd46 4312
	0000ec0 fa49 a22b 32f8 0f56 26d4 41be 515b 621c
	0000ed0 0299 6858 176b 0cc8 859b 791f 3550 a258
	0000ee0 bc19 3e15 9767 e043 d56e 6fef 09d5 8f96
	0000ef0 1711 8120 207a c395 3265 ec9e bb10 b8c7
	0000f00 3858 7280 5b1a 47b9 1d96 83db 7b08 2977
	0000f10 2b1c f114 8ffd 60b7 31ac ba5f 74a2 6ca8
	0000f20 42bb fdbc 74be f8ce 0c70 1106 38d1 52ea
	0000f30 80b7 651e ff06 38ed 6b2c d7e9 adc2 5593
	0000f40 7f26 422e ca0b 9dde cddc 354d 127b 943d
	0000f50 56d0 36e5 fb71 d96a cb5b ddc3 7ae2 cd92
	0000f60 b367 24e0 fc57 39dd 57ee d593 4916 f01e
	0000f70 fe73 3ffe 25b4 87e2 0478 84d4 a971 80ea
	0000f80 6b94 1b43 2c43 f879 7a5a 7228 f090 62b7
	0000f90 875f ab40 1d97 6123 8c7d 6e2c a8c3 f185
	0000fa0 d424 8780 a15d 3c13 4c7b 148e 6cf6 a802
	0000fb0 9e50 e60c 37f4 cc93 f47e e2a1 a478 4eab
	0000fc0 fa43 aefa 7d23 34ca 1c5f 72b1 d08e 4756
	0000fd0 8867 c6e8 0fb5 3320 a543 034d 1b44 5e75
	0000fe0 8061 e1d9 8108 6331 5e78 16a7 42d2 c74b
	0000ff0 2fa8 2566 c92c c784 3484 6e50 7467 8dcf
	EOF
}