Chameleon

Chameleon Commit Details

Date:2017-03-24 20:29:32 (3 years 2 months ago)
Author:ErmaC
Commit:2860
Parents: 2859
Message:Merge greyLogo mode
Changes:
M/trunk/i386/boot2/graphics.c
M/trunk/i386/boot2/boot.c
M/trunk/i386/boot2/gui.c
M/trunk/i386/boot2/graphics.h
M/trunk/i386/boot2/appleClut8.h
M/trunk/i386/libsaio/fake_efi.c
M/trunk/i386/libsaio/disk.c
M/trunk/i386/boot2/boot.h
M/trunk/CHANGES
M/trunk/i386/boot2/gui.h
M/trunk/i386/boot2/appleboot.h
M/trunk/i386/boot2/options.c

File differences

trunk/i386/libsaio/disk.c
22272227
22282228
22292229
2230
2231
2232
2233
2230
2231
22342232
22352233
22362234
22372235
2238
2239
2240
2236
22412237
22422238
22432239
22442240
22452241
2246
2247
2248
2242
22492243
22502244
22512245
......
22552249
22562250
22572251
2258
2259
2260
2252
22612253
22622254
22632255
......
22692261
22702262
22712263
2272
2273
2274
2275
2276
2264
2265
22772266
22782267
22792268
......
22892278
22902279
22912280
2292
2293
2294
2281
22952282
22962283
22972284
22982285
22992286
2300
2301
2302
2287
23032288
23042289
23052290
val = XMLDecode(raw);
}
/*
* Traverse gDISKBVmap to get references for
* individual bvr chains of each drive.
*/
// Traverse gDISKBVmap to get references for
// individual bvr chains of each drive.
for (map = gDiskBVMap; map; map = map->next)
{
for (bvr = map->bvr; bvr; bvr = bvr->next)
{
/*
* Save the last bvr.
*/
// Save the last bvr.
if (newBVR)
{
prevBVR = newBVR;
}
/*
* Allocate and copy the matched bvr entry into a new one.
*/
// Allocate and copy the matched bvr entry into a new one.
newBVR = (BVRef) malloc(sizeof(*newBVR));
if (!newBVR)
{
bcopy(bvr, newBVR, sizeof(*newBVR));
/*
* Adjust the new bvr's fields.
*/
// Adjust the new bvr's fields.
newBVR->next = NULL;
newBVR->filtered = true;
newBVR->visible = true;
}
/*
* Looking for "Hide Partition" entries in 'hd(x,y)|uuid|"label" hd(m,n)|uuid|"label"' format,
* to be able to hide foreign partitions from the boot menu.
*
*/
// Looking for "Hide Partition" entries in 'hd(x,y)|uuid|"label" hd(m,n)|uuid|"label"' format,
// to be able to hide foreign partitions from the boot menu.
if ( (newBVR->flags & kBVFlagForeignBoot) )
{
char *start, *next = val;
while ( next && *next );
}
/*
* Use the first bvr entry as the starting chain pointer.
*/
// Use the first bvr entry as the starting chain pointer.
if (!chain)
{
chain = newBVR;
}
/*
* Update the previous bvr's link pointer to use the new memory area.
*/
// Update the previous bvr's link pointer to use the new memory area.
if (prevBVR)
{
prevBVR->next = newBVR;
trunk/i386/libsaio/fake_efi.c
611611
612612
613613
614
615
616
617
618
619
620
621
622614
623615
624616
DT__AddProperty(efiPlatformNode,DEV_PATH_SUP, sizeof(DEVICE_PATHS_SUPPORTED), (EFI_UINT8 *) &DEVICE_PATHS_SUPPORTED);
// Bungo
/* Export system-id. Can be disabled with SystemId=No in com.apple.Boot.plist
if ((ret=getSystemID()))
{
DT__AddProperty(efiPlatformNode, SYSTEM_ID_PROP, UUID_LEN, (EFI_UINT32 *) ret);
}
*/
DT__AddProperty(efiPlatformNode, SYSTEM_ID_PROP, UUID_LEN, (EFI_UINT32 *)Platform.UUID);
// Export SystemSerialNumber if present
trunk/i386/boot2/graphics.c
410410
411411
412412
413
413
414414
415415
416416
417417
418418
419
420
421
422
423
424
419
420
425421
426422
427423
428424
429425
430
431
432
426
433427
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469428
470429
471430
......
473432
474433
475434
476
435
477436
478
479
480
481
482
483
484
485
486
437
438
439
487440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
488457
489458
490459
......
512481
513482
514483
515
516
517
518
484
485
486
519487
520
521
522
523
524
525
526
527
488
489
528490
529
530
531
532
533
534
535
491
492
493
494
536495
537
538
539
540
541
542
543
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
544513
545514
546515
......
741710
742711
743712
744
713
745714
746715
747716
......
759728
760729
761730
762
731
763732
764
765
766733
767
768
769
734
735
736
770737
771
738
772739
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
740
741
742
743
788744
745
746
747
748
749
750
789751
790
752
791753
792754
793755
794
795756
796757
797758
......
805766
806767
807768
808
809
810
811
812
769
813770
814
815
816
771
772
817773
818
819
774
775
820776
821
822
777
778
823779
780
781
824782
825783
826
827
828
829
830
831
832
784
833785
834786
835787
......
850802
851803
852804
853
805
854806
855807
856808
......
940892
941893
942894
943
944
895
896
897
898
899
900
901
902
903
904
945905
946906
947907
......
11751135
11761136
11771137
1178
1138
11791139
11801140
1181
11821141
11831142
11841143
11851144
11861145
11871146
1188
1189
1190
1191
1192
1193
1194
1195
1196
1147
1148
11971149
11981150
11991151
12001152
12011153
1202
1203
1204
1205
1206
1207
1154
1155
12081156
12091157
12101158
12111159
1212
1213
12141160
12151161
12161162
static int setVESAGraphicsMode( unsigned short width, unsigned short height, unsigned char bitsPerPixel, unsigned short refreshRate )
{
VBEModeInfoBlock minfo;
unsigned short mode;
unsigned short mode = 280; // Default to 1024 * 768 * 32 (1920 * 1200 * 32 would be 330)
unsigned short vesaVersion;
int err = errFuncNotSupported;
do {
mode = getVESAModeWithProperties( width, height, bitsPerPixel,
maColorModeBit |
maModeIsSupportedBit |
maGraphicsModeBit |
maLinearFrameBufferAvailBit,
0,
&minfo, &vesaVersion );
maColorModeBit | maModeIsSupportedBit | maGraphicsModeBit | maLinearFrameBufferAvailBit,
0, &minfo, &vesaVersion );
if ( mode == modeEndOfList )
{
break;
}
//
// FIXME : generateCRTCTiming() causes crash.
//
// Set the mode with default refresh rate.
// if ( (vesaVersion >> 8) >= 3 && refreshRate >= 60 &&
// (gBootMode & kBootModeSafe) == 0 )
// {
// VBECRTCInfoBlock timing;
//
// // Generate CRTC timing for given refresh rate.
//
// generateCRTCTiming( minfo.XResolution, minfo.YResolution,
// refreshRate, kCRTCParamRefreshRate,
// &timing );
//
// // Find the actual pixel clock supported by the hardware.
//
// getVBEPixelClock( mode, &timing.PixelClock );
//
// // Re-compute CRTC timing based on actual pixel clock.
//
// generateCRTCTiming( minfo.XResolution, minfo.YResolution,
// timing.PixelClock, kCRTCParamPixelClock,
// &timing );
//
// // Set the video mode and use specified CRTC timing.
//
// err = setVBEMode( mode | kLinearFrameBufferBit |
// kCustomRefreshRateBit, &timing );
// }
// else
// {
// // Set the mode with default refresh rate.
//
// err = setVBEMode( mode | kLinearFrameBufferBit, NULL );
// }
// Set the mode with default refresh rate.
err = setVBEMode(mode | kLinearFrameBufferBit, NULL);
if (err != errSuccess)
break;
}
// Set 8-bit color palette.
// Is this required for buggy Video BIOS implementations? If so for which adapter?
if ( minfo.BitsPerPixel == 8 )
{
VBEPalette palette;
setupPalette( &palette, appleClut8 );
if ((err = setVBEPalette(palette)) != errSuccess)
{
break;
}
}
if ( minfo.BitsPerPixel == 8 )
{
VBEPalette palette;
// A switch is needed for the two clut way...
if ( ( MacOSVerCurrent >= MacOSVer2Int("10.10") ) && ( FlagBlackOption ) ) // Yosemite and Up!
{
setupPalette( &palette, AppleLogoBlackClut );
}
else
{
setupPalette( &palette, AppleLogoClut );
}
if ((err = setVBEPalette(palette)) != errSuccess)
{
break;
}
}
// Is this required for buggy Video BIOS implementations?
// On which adapter?
int convertImage( unsigned short width, unsigned short height, const unsigned char *imageData, unsigned char **newImageData )
{
int cnt;
unsigned char *img = 0;
unsigned short *img16;
unsigned long *img32;
int index = 0;
int size = (width * height); // 16384
int depth = VIDEO(depth);
switch ( VIDEO(depth) ) {
case 16 :
img16 = malloc(width * height * 2);
if ( !img16 ) break;
for (cnt = 0; cnt < (width * height); cnt++)
img16[cnt] = lookUpCLUTIndex(imageData[cnt], 16);
img = (unsigned char *)img16;
break;
unsigned char *img = 0;
unsigned long *img32;
case 32 :
img32 = malloc(width * height * 4);
if ( !img32 ) break;
for (cnt = 0; cnt < (width * height); cnt++)
img32[cnt] = lookUpCLUTIndex(imageData[cnt], 32);
img = (unsigned char *)img32;
break;
switch (depth)
{
case 32:
img32 = malloc(size * 4);
default :
img = malloc(width * height);
bcopy(imageData, img, width * height);
break;
}
*newImageData = img;
return 0;
if (!img32)
{
break;
}
for (; index < size; index++)
{
img32[index] = lookUpCLUTIndex(imageData[index]);
}
img = (unsigned char *)img32;
break;
}
*newImageData = img;
return 0;
}
//==============================================================================
}
//==============================================================================
// ProgressBar
void drawCheckerBoard()
{
uint32_t *vram = (uint32_t *) VIDEO(baseAddr);
//==========================================================================
// LookUpCLUTIndex
unsigned long lookUpCLUTIndex( unsigned char index, unsigned char depth )
unsigned long lookUpCLUTIndex( unsigned char index )
{
long result;
long colorIndex = (index * 3);
long red = appleClut8[ colorIndex ];
long green = appleClut8[ colorIndex++ ];
long blue = appleClut8[ colorIndex++ ];
long red;
long green;
long blue;
switch (depth)
if ( ( MacOSVerCurrent >= MacOSVer2Int("10.10") ) && ( FlagBlackOption ) ) // Yosemite and Up!
{
case 16 :
result = ((red & 0xF8) << 7) |
((green & 0xF8) << 2) |
((blue & 0xF8) >> 3);
result |= (result << 16);
break;
case 32 :
result = (red << 16) | (green << 8) | blue;
break;
default :
result = index | (index << 8);
result |= (result << 16);
break;
// BlackMode
red = AppleLogoBlackClut[ colorIndex ];
green = AppleLogoBlackClut[ colorIndex++ ];
blue = AppleLogoBlackClut[ colorIndex++ ];
}
else
{
red = AppleLogoClut[ colorIndex ];
green = AppleLogoClut[ colorIndex++ ];
blue = AppleLogoClut[ colorIndex++ ];
}
return result;
return (red << 16) | (green << 8) | blue;
}
//==========================================================================
// drawColorRectangle
void *stosl(void *dst, long val, long len)
{
//==============================================================================
void drawColorRectangle( unsigned short x,
unsigned short y,
unsigned short width,
unsigned short height,
unsigned char colorIndex )
void setBackgroundColor( uint32_t color )
{
longpixelBytes;
longcolor = lookUpCLUTIndex( colorIndex, VIDEO(depth) );
char*vram;
longpixelBytes = VIDEO(depth) / 8;
char*vram = (char *) VIDEO(baseAddr) + VIDEO(rowBytes) + pixelBytes;
pixelBytes = VIDEO(depth) / 8;
vram = (char *) VIDEO(baseAddr) + VIDEO(rowBytes) * y + pixelBytes * x;
int width = VIDEO(width);
int height = VIDEO(height);
width = MIN(width, VIDEO(width) - x);
height = MIN(height, VIDEO(height) - y);
int rem = ( pixelBytes * width ) % 4;
int length = pixelBytes * width / 4;
bcopy( &color, vram, rem );
while ( height-- )
{
int rem = ( pixelBytes * width ) % 4;
if ( rem )
{
bcopy( &color, vram, rem );
}
stosl( vram + rem, color, pixelBytes * width / 4 );
stosl( vram + rem, color, length );
vram += VIDEO(rowBytes);
}
}
while ( height-- )
{
bcopy( data, vram, drawWidth * pixelBytes );
bcopy( data, vram, width * pixelBytes );
vram += VIDEO(rowBytes);
data += width * pixelBytes;
}
screen = (uint8_t *) VIDEO (baseAddr);
rowBytes = VIDEO (rowBytes);
// Set the screen to 75% grey.
drawColorRectangle(0, 0, VIDEO(width), VIDEO(height), 0x01 /* color index */);
if ( ( MacOSVerCurrent >= MacOSVer2Int("10.10") ) && ( FlagBlackOption ) ) // Yosemite and Up!
{
// BlackMode
setBackgroundColor(0xff000000);
}
else
{
// Set the screen to 75% grey.
setBackgroundColor(0xffbfbfbf);
}
}
pixelShift = VIDEO (depth) >> 4;
//
// Set the video mode to VGA_TEXT_MODE or GRAPHICS_MODE.
void setVideoMode( int mode, int drawgraphics)
void setVideoMode( int mode )
{
unsigned long params[4];
int count;
int err = errSuccess;
if ( mode == GRAPHICS_MODE )
{
if ( (err = initGraphicsMode()) == errSuccess )
{
if (gVerboseMode)
{
// Tell the kernel to use text mode on a linear frame buffer display
bootArgs->Video.v_display = FB_TEXT_MODE;
}
else
{
bootArgs->Video.v_display = GRAPHICS_MODE;
}
// Tell the kernel to use text mode on a linear frame buffer display
bootArgs->Video.v_display = (gVerboseMode) ? /* 2 */ FB_TEXT_MODE : /* 1 */ GRAPHICS_MODE;
}
}
if ( (mode == VGA_TEXT_MODE) || (err != errSuccess) )
{
count = getNumberArrayFromProperty(kTextModeKey, params, 2);
if ( count < 2 )
{
params[0] = 80; // Default text mode is 80x25.
params[1] = 25;
}
params[0] = 80; // Default text mode is 80x25.
params[1] = 25;
setVESATextMode(params[0], params[1], 4);
bootArgs->Video.v_display = VGA_TEXT_MODE;
}
currentIndicator = 0;
}
//==============================================================================
trunk/i386/boot2/graphics.h
2020
2121
2222
23
23
2424
25
25
2626
2727
2828
int loadPngImage(const char *filename, uint16_t *width, uint16_t *height, uint8_t **imageData);
unsigned long lookUpCLUTIndex( unsigned char index, unsigned char depth );
unsigned long lookUpCLUTIndex( unsigned char index );
void drawColorRectangle( unsigned short x, unsigned short y, unsigned short width, unsigned short height, unsigned char colorIndex );
void setBackgroundColor( uint32_t color );
void drawDataRectangle( unsigned short x, unsigned short y, unsigned short width, unsigned short height, unsigned char * data );
int convertImage( unsigned short width, unsigned short height, const unsigned char *imageData, unsigned char **newImageData );
trunk/i386/boot2/boot.c
233233
234234
235235
236
236
237237
238238
239239
......
10571057
10581058
10591059
1060
1060
10611061
10621062
10631063
// verbose mode.
if (gVerboseMode)
{
setVideoMode(GRAPHICS_MODE, 0);
setVideoMode( GRAPHICS_MODE );
}
else
{
// if we are already in graphics-mode,
if (getVideoMode() == GRAPHICS_MODE)
{
setVideoMode(VGA_TEXT_MODE, 0); // switch back to text mode.
setVideoMode( VGA_TEXT_MODE ); // switch back to text mode.
}
}
trunk/i386/boot2/boot.h
206206
207207
208208
209
210209
211210
212211
......
263262
264263
265264
266
265
267266
268267
269268
270
271
272
273
274
275
276
269
277270
278271
279272
/* Bungo: added this key */
#define kPrivateData"PrivateData"/* smbios_decode.c */
/*
* Flags to the booter or kernel
*/
* graphics.c
*/
extern void printVBEModeInfo();
extern void setVideoMode(int mode, int drawgraphics);
extern void setVideoMode(int mode);
extern int getVideoMode();
extern void spinActivityIndicator();
extern void clearActivityIndicator();
extern void drawColorRectangle(
unsigned short x,
unsigned short y,
unsigned short width,
unsigned short height,
unsigned char colorIndex
);
extern void setBackgroundColor( uint32_t color );
extern void drawDataRectangle(
unsigned short x,
unsigned short y,
trunk/i386/boot2/gui.c
10371037
10381038
10391039
1040
1040
10411041
10421042
10431043
......
24172417
24182418
24192419
2420
2420
24212421
24222422
24232423
......
24262426
24272427
24282428
2429
2430
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
24312439
24322440
24332441
......
24402448
24412449
24422450
2443
2444
2445
2446
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
24472465
2448
2449
2450
2466
2467
2468
2469
2470
2471
2472
2473
24512474
2452
2453
2454
2455
2456
2457
2458
2459
2460
2475
2476
2477
24612478
2479
24622480
24632481
2464
// lets copy the screen into the back buffer
memcpy( gui.backbuffer->pixels, gui.screen.pixmap->pixels, gui.backbuffer->width * gui.backbuffer->height * 4 );
setVideoMode( GRAPHICS_MODE, 0 );
setVideoMode( GRAPHICS_MODE );
gui.initialised = true;
return 0;
// Set graphics mode if the booter was in text mode or the screen resolution has changed.
if (bootArgs->Video.v_display == VGA_TEXT_MODE || (screen_params[0] != oldScreenWidth && screen_params[1] != oldScreenHeight) )
{
setVideoMode(GRAPHICS_MODE, 0);
setVideoMode(GRAPHICS_MODE );
}
if (getValueForKey("-checkers", &dummyVal, &length, &bootInfo->chameleonConfig))
}
else
{
// Fill the background to 75% grey (same as BootX).
drawColorRectangle(0, 0, screen_params[0], screen_params[1], 0x01);
if ( ( MacOSVerCurrent >= MacOSVer2Int("10.10") ) && ( FlagBlackOption ) ) // Yosemite and Up!
{
// BlackMode
setBackgroundColor(0xff030000);
}
else
{
// Fill the background to 75% grey (same as BootX).
setBackgroundColor(0xffbfbfbf);
}
}
if ((bootImageData) && (usePngImage))
}
else
{
uint8_t *appleBootPict;
bootImageData = NULL;
bootImageWidth = kAppleBootWidth;
bootImageHeight = kAppleBootHeight;
// Standard size (Width 84 Height 103)
// TODO HiDPI size (Width 168 Height 206)
// So still need to probe and assign HiDPIOption properly
chooseLogoMode();
}
}
// ====================================================================
void chooseLogoMode()
{
int logoWith= HiDPIOption ? (APPLE_LOGO_WIDTH * 2) : APPLE_LOGO_WIDTH;
int logoHeight= HiDPIOption ? (APPLE_LOGO_HEIGHT * 2) : APPLE_LOGO_HEIGHT;
int logoX= HiDPIOption ? APPLE_LOGO_2X_X : APPLE_LOGO_X;
int logoY= HiDPIOption ? APPLE_LOGO_2X_Y : APPLE_LOGO_Y;
int logoSize= ( logoWith * logoHeight );
// Prepare the data for the default Apple boot image.
appleBootPict = (uint8_t *) decodeRLE(gAppleBootPictRLE, kAppleBootRLEBlocks, bootImageWidth * bootImageHeight);
if (appleBootPict)
void *dst = malloc(logoSize);
void *logoData = ( FlagBlackOption ? (void *)AppleLogoBlackPacked : (void *)AppleLogoPacked );
uint32_t src_size = ( FlagBlackOption ? sizeof(AppleLogoBlackPacked) : sizeof(AppleLogoPacked) );
if (dst)
{
if (lzvn_decode(dst, logoSize, logoData, src_size) == logoSize)
{
convertImage(bootImageWidth, bootImageHeight, appleBootPict, &bootImageData);
if (bootImageData)
{
x = (screen_params[0] - MIN(kAppleBootWidth, screen_params[0])) / 2;
y = (screen_params[1] - MIN(kAppleBootHeight, screen_params[1])) / 2;
drawDataRectangle(x, y, kAppleBootWidth, kAppleBootHeight, bootImageData);
free(bootImageData);
}
free(appleBootPict);
uint8_t *bootImageData = NULL;
convertImage(logoWith, logoHeight, dst, &bootImageData);
drawDataRectangle(logoX, logoY, logoWith, logoHeight, bootImageData);
}
free(dst);
}
}
// ====================================================================
trunk/i386/boot2/appleClut8.h
2525
2626
2727
28
28
29
30
31
2932
30
31
32
33
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
3453
35
36
37
38
3954
40
41
42
43
55
56
57
4458
45
46
47
48
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
4985
50
51
52
53
86
87
88
89
90
91
92
93
94
95
5496
55
56
57
58
97
98
99
59100
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
101
102
103
104
105
106
109107
110108
111109
#ifndef __BOOT2_APPLECLUT8_H
#define __BOOT2_APPLECLUT8_H
static const unsigned char appleClut8[ 256 * 3 ] =
//
// CLUT (Color LookUp Table) for grey Apple logo.
//
static UInt8 AppleLogoClut[ 304 ] =
{
0xff,0xff,0xff, 0xbf,0xbf,0xbf, 0xbe,0xbe,0xbe, 0xbd,0xbd,0xbd,
0xbc,0xbc,0xbc, 0xff,0xff,0x00, 0xba,0xba,0xba, 0xb9,0xb9,0xb9,
0xb8,0xb8,0xb8, 0xb7,0xb7,0xb7, 0xb6,0xb6,0xb6, 0xb5,0xb5,0xb5,
0xb4,0xb4,0xb4, 0xb3,0xb3,0xb3, 0xb2,0xb2,0xb2, 0x00,0x00,0x00,
0xBF, 0xBF, 0xBF, 0xB3, 0xB3, 0xB3, 0xA6, 0xA6, 0xA6, 0xB2, 0xB2, 0xB2, 0xA0, 0xA0, 0xA0, 0x83,
0x83, 0x83, 0x67, 0x67, 0x67, 0x61, 0x61, 0x61, 0x90, 0x90, 0x90, 0xB9, 0xB9, 0xB9, 0x8F, 0x8F,
0x8F, 0x64, 0x64, 0x64, 0x66, 0x66, 0x66, 0x68, 0x68, 0x68, 0x97, 0x97, 0x97, 0x95, 0x95, 0x95,
0x65, 0x65, 0x65, 0x6A, 0x6A, 0x6A, 0x6C, 0x6C, 0x6C, 0x6D, 0x6D, 0x6D, 0x73, 0x73, 0x73, 0x6B,
0x6B, 0x6B, 0x6E, 0x6E, 0x6E, 0x70, 0x70, 0x70, 0x6F, 0x6F, 0x6F, 0x98, 0x98, 0x98, 0xA1, 0xA1,
0xA1, 0x9B, 0x9B, 0x9B, 0x69, 0x69, 0x69, 0x76, 0x76, 0x76, 0xC2, 0xC2, 0xC2, 0xAD, 0xAD, 0xAD,
0x8B, 0x8B, 0x8B, 0x7E, 0x7E, 0x7E, 0xC3, 0xC3, 0xC3, 0xAA, 0xAA, 0xAA, 0x87, 0x87, 0x87, 0x85,
0x85, 0x85, 0xC8, 0xC8, 0xC8, 0xBD, 0xBD, 0xBD, 0x8C, 0x8C, 0x8C, 0x72, 0x72, 0x72, 0xCB, 0xCB,
0xCB, 0x7F, 0x7F, 0x7F, 0xCA, 0xCA, 0xCA, 0xA4, 0xA4, 0xA4, 0xCC, 0xCC, 0xCC, 0xC0, 0xC0, 0xC0,
0x94, 0x94, 0x94, 0xB5, 0xB5, 0xB5, 0xCE, 0xCE, 0xCE, 0x74, 0x74, 0x74, 0xCF, 0xCF, 0xCF, 0xC6,
0xC6, 0xC6, 0x8E, 0x8E, 0x8E, 0xAE, 0xAE, 0xAE, 0xBE, 0xBE, 0xBE, 0xBB, 0xBB, 0xBB, 0xD0, 0xD0,
0xD0, 0xD5, 0xD5, 0xD5, 0x78, 0x78, 0x78, 0x7D, 0x7D, 0x7D, 0xC5, 0xC5, 0xC5, 0x9A, 0x9A, 0x9A,
0x63, 0x63, 0x63, 0x62, 0x62, 0x62, 0x89, 0x89, 0x89, 0x84, 0x84, 0x84, 0x79, 0x79, 0x79, 0x93,
0x93, 0x93, 0xCD, 0xCD, 0xCD, 0xA7, 0xA7, 0xA7, 0x7B, 0x7B, 0x7B, 0xC9, 0xC9, 0xC9, 0x82, 0x82,
0x82, 0x77, 0x77, 0x77, 0xC1, 0xC1, 0xC1, 0xA3, 0xA3, 0xA3, 0x9C, 0x9C, 0x9C, 0xAC, 0xAC, 0xAC,
0xA5, 0xA5, 0xA5, 0x71, 0x71, 0x71, 0xB7, 0xB7, 0xB7, 0x91, 0x91, 0x91, 0xA9, 0xA9, 0xA9, 0xAF,
0xAF, 0xAF, 0xAB, 0xAB, 0xAB, 0xC7, 0xC7, 0xC7, 0x86, 0x86, 0x86, 0x88, 0x88, 0x88, 0xA8, 0xA8,
0xA8, 0xBC, 0xBC, 0xBC, 0x80, 0x80, 0x80, 0xD1, 0xD1, 0xD1, 0xD7, 0xD7, 0xD7, 0x8D, 0x8D, 0x8D,
0x7A, 0x7A, 0x7A, 0xD4, 0xD4, 0xD4, 0x81, 0x81, 0x81, 0xD2, 0xD2, 0xD2, 0x00, 0x00, 0x00, 0x00
};
0xb1,0xb1,0xb1, 0xb0,0xb0,0xb0, 0xaf,0xaf,0xaf, 0xae,0xae,0xae,
0xad,0xad,0xad, 0xac,0xac,0xac, 0xab,0xab,0xab, 0xaa,0xaa,0xaa,
0xff,0x00,0xff, 0xa9,0xa9,0xa9, 0xa8,0xa8,0xa8, 0xa7,0xa7,0xa7,
0xa6,0xa6,0xa6, 0xa5,0xa5,0xa5, 0xa4,0xa4,0xa4, 0xa3,0xa3,0xa3,
0xa2,0xa2,0xa2, 0xa1,0xa1,0xa1, 0xa0,0xa0,0xa0, 0xff,0x00,0x00,
0x9f,0x9f,0x9f, 0x9e,0x9e,0x9e, 0x9d,0x9d,0x9d, 0x9c,0x9c,0x9c,
0x9b,0x9b,0x9b, 0x9a,0x9a,0x9a, 0xcc,0xcc,0xff, 0xcc,0xcc,0xcc,
0x99,0x99,0x99, 0x98,0x98,0x98, 0x97,0x97,0x97, 0x96,0x96,0x96,
//
// CLUT (Color LookUp Table) for grey HiDPI Apple logo.
//
0x95,0x95,0x95, 0x94,0x94,0x94, 0x93,0x93,0x93, 0x92,0x92,0x92,
0x91,0x91,0x91, 0x90,0x90,0x90, 0x8f,0x8f,0x8f, 0x8e,0x8e,0x8e,
0x8d,0x8d,0x8d, 0x8c,0x8c,0x8c, 0x8b,0x8b,0x8b, 0x8a,0x8a,0x8a,
0x89,0x89,0x89, 0x88,0x88,0x88, 0x86,0x86,0x86, 0x85,0x85,0x85,
static UInt8 AppleLogo2XClut[ 354 ] =
{
0xBF, 0xBF, 0xBF, 0xAD, 0xAD, 0xAD, 0xA6, 0xA6, 0xA6, 0x9A, 0x9A, 0x9A, 0xA1, 0xA1, 0xA1, 0x89,
0x89, 0x89, 0x77, 0x77, 0x77, 0x60, 0x60, 0x60, 0x5F, 0x5F, 0x5F, 0x5E, 0x5E, 0x5E, 0x76, 0x76,
0x76, 0x83, 0x83, 0x83, 0x66, 0x66, 0x66, 0x61, 0x61, 0x61, 0x62, 0x62, 0x62, 0x63, 0x63, 0x63,
0xB9, 0xB9, 0xB9, 0x8F, 0x8F, 0x8F, 0x6C, 0x6C, 0x6C, 0x64, 0x64, 0x64, 0x65, 0x65, 0x65, 0xB3,
0xB3, 0xB3, 0x67, 0x67, 0x67, 0x68, 0x68, 0x68, 0x69, 0x69, 0x69, 0x6A, 0x6A, 0x6A, 0x6B, 0x6B,
0x6B, 0x9B, 0x9B, 0x9B, 0x6D, 0x6D, 0x6D, 0x6E, 0x6E, 0x6E, 0x73, 0x73, 0x73, 0x78, 0x78, 0x78,
0x6F, 0x6F, 0x6F, 0x81, 0x81, 0x81, 0x70, 0x70, 0x70, 0x80, 0x80, 0x80, 0x84, 0x84, 0x84, 0x99,
0x99, 0x99, 0xA4, 0xA4, 0xA4, 0xAF, 0xAF, 0xAF, 0xC5, 0xC5, 0xC5, 0x82, 0x82, 0x82, 0xC3, 0xC3,
0xC3, 0xC0, 0xC0, 0xC0, 0x79, 0x79, 0x79, 0xBE, 0xBE, 0xBE, 0x90, 0x90, 0x90, 0xC6, 0xC6, 0xC6,
0xA7, 0xA7, 0xA7, 0xA3, 0xA3, 0xA3, 0xC2, 0xC2, 0xC2, 0x85, 0x85, 0x85, 0xB5, 0xB5, 0xB5, 0xC1,
0xC1, 0xC1, 0xC9, 0xC9, 0xC9, 0x9C, 0x9C, 0x9C, 0xB6, 0xB6, 0xB6, 0x8B, 0x8B, 0x8B, 0xCB, 0xCB,
0xCB, 0x9E, 0x9E, 0x9E, 0xA8, 0xA8, 0xA8, 0x7E, 0x7E, 0x7E, 0xCF, 0xCF, 0xCF, 0xC7, 0xC7, 0xC7,
0xCC, 0xCC, 0xCC, 0x93, 0x93, 0x93, 0x7F, 0x7F, 0x7F, 0xCA, 0xCA, 0xCA, 0xAE, 0xAE, 0xAE, 0xCD,
0xCD, 0xCD, 0x97, 0x97, 0x97, 0x8D, 0x8D, 0x8D, 0x7D, 0x7D, 0x7D, 0x94, 0x94, 0x94, 0xD3, 0xD3,
0xD3, 0xD1, 0xD1, 0xD1, 0xD5, 0xD5, 0xD5, 0xD2, 0xD2, 0xD2, 0xCE, 0xCE, 0xCE, 0x8E, 0x8E, 0x8E,
0xC8, 0xC8, 0xC8, 0xBA, 0xBA, 0xBA, 0xBB, 0xBB, 0xBB, 0xD7, 0xD7, 0xD7, 0xD4, 0xD4, 0xD4, 0xD0,
0xD0, 0xD0, 0x72, 0x72, 0x72, 0x71, 0x71, 0x71, 0x95, 0x95, 0x95, 0x8A, 0x8A, 0x8A, 0x74, 0x74,
0x74, 0xB2, 0xB2, 0xB2, 0xC4, 0xC4, 0xC4, 0x91, 0x91, 0x91, 0xAC, 0xAC, 0xAC, 0x9F, 0x9F, 0x9F,
0xB8, 0xB8, 0xB8, 0xB7, 0xB7, 0xB7, 0xA2, 0xA2, 0xA2, 0xA9, 0xA9, 0xA9, 0x8C, 0x8C, 0x8C, 0x7C,
0x7C, 0x7C, 0x88, 0x88, 0x88, 0xB1, 0xB1, 0xB1, 0x87, 0x87, 0x87, 0xAA, 0xAA, 0xAA, 0x96, 0x96,
0x96, 0x92, 0x92, 0x92, 0x86, 0x86, 0x86, 0x98, 0x98, 0x98, 0xB4, 0xB4, 0xB4, 0x7B, 0x7B, 0x7B,
0x7A, 0x7A, 0x7A, 0xBD, 0xBD, 0xBD, 0x75, 0x75, 0x75, 0xBC, 0xBC, 0xBC, 0xD6, 0xD6, 0xD6, 0xA0,
0xA0, 0xA0
};
0x84,0x84,0x84, 0x83,0x83,0x83, 0x82,0x82,0x82, 0x81,0x81,0x81,
0x80,0x80,0x80, 0x7f,0x7f,0x7f, 0x7e,0x7e,0x7e, 0x7d,0x7d,0x7d,
0x7c,0x7c,0x7c, 0x7b,0x7b,0x7b, 0x7a,0x7a,0x7a, 0x79,0x79,0x79,
0x78,0x78,0x78, 0x76,0x76,0x76, 0x75,0x75,0x75, 0x74,0x74,0x74,
//
// CLUT (Color LookUp Table) for white Apple logo.
//
static UInt8 AppleLogoBlackClut[ 64 ] =
{
0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x40, 0x40, 0x40, 0x50, 0x50, 0x50, 0x9F, 0x9F, 0x9F, 0xEF,
0xEF, 0xEF, 0xFF, 0xFF, 0xFF, 0x80, 0x80, 0x80, 0x10, 0x10, 0x10, 0x70, 0x70, 0x70, 0xCF, 0xCF,
0xCF, 0x60, 0x60, 0x60, 0xDF, 0xDF, 0xDF, 0x30, 0x30, 0x30, 0x8F, 0x8F, 0x8F, 0xBF, 0xBF, 0xBF,
0xAF, 0xAF, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
0x73,0x73,0x73, 0x72,0x72,0x72, 0x71,0x71,0x71, 0x70,0x70,0x70,
0x6f,0x6f,0x6f, 0x6e,0x6e,0x6e, 0x6d,0x6d,0x6d, 0x6c,0x6c,0x6c,
0x6b,0x6b,0x6b, 0x6a,0x6a,0x6a, 0x69,0x69,0x69, 0x68,0x68,0x68,
0x67,0x67,0x67, 0x66,0x66,0x66, 0x64,0x64,0x64, 0x63,0x63,0x63,
//
// CLUT (Color LookUp Table) for white HiDPI Apple logo.
//
0x62,0x62,0x62, 0x61,0x61,0x61, 0x60,0x60,0x60, 0x5f,0x5f,0x5f,
0x5e,0x5e,0x5e, 0x5d,0x5d,0x5d, 0x5c,0x5c,0x5c, 0x5b,0x5b,0x5b,
0x5a,0x5a,0x5a, 0x59,0x59,0x59, 0x58,0x58,0x58, 0x57,0x57,0x57,
0x56,0x56,0x56, 0x54,0x54,0x54, 0x53,0x53,0x53, 0x52,0x52,0x52,
0x51,0x51,0x51, 0x50,0x50,0x50, 0x4f,0x4f,0x4f, 0x4e,0x4e,0x4e,
0x4d,0x4d,0x4d, 0x4c,0x4c,0x4c, 0x4b,0x4b,0x4b, 0x4a,0x4a,0x4a,
0x49,0x49,0x49, 0x48,0x48,0x48, 0x47,0x47,0x47, 0x46,0x46,0x46,
0x45,0x45,0x45, 0x43,0x43,0x43, 0x42,0x42,0x42, 0x41,0x41,0x41,
0x40,0x40,0x40, 0x3f,0x3f,0x3f, 0x3e,0x3e,0x3e, 0x3d,0x3d,0x3d,
0x3c,0x3c,0x3c, 0x3b,0x3b,0x3b, 0x3a,0x3a,0x3a, 0x39,0x39,0x39,
0x38,0x38,0x38, 0x37,0x37,0x37, 0x36,0x36,0x36, 0x35,0x35,0x35,
0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65,
0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65,
0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65,
0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65,
0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65,
0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65,
0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65,
0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65,
0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65,
0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65,
0x00,0xff,0xff, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65,
0x65,0x65,0x65, 0x00,0xff,0x00, 0x65,0x65,0x65, 0x65,0x65,0x65,
0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65,
0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65,
0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65,
0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65,
0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65,
0x65,0x65,0x65, 0x65,0x65,0x65, 0x00,0x00,0xff, 0x65,0x65,0x65,
0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65,
0xd0,0x00,0x00, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65,
0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65,
0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x00,0xbb,0x00,
0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65,
0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65,
0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65,
0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65,
0x65,0x65,0x65, 0x65,0x65,0x65, 0x65,0x65,0x65, 0xbb,0xbb,0xbb,
0x65,0x65,0x65, 0x88,0x88,0x88, 0x77,0x77,0x77, 0x55,0x55,0x55,
0x44,0x44,0x44, 0x22,0x22,0x22, 0x65,0x65,0x65, 0x00,0x00,0x00
static UInt8 AppleLogoBlack2XClut[ 64 ] =
{
0x00, 0x00, 0x00, 0x30, 0x30, 0x30, 0x40, 0x40, 0x40, 0x60, 0x60, 0x60, 0x50, 0x50, 0x50, 0x8F,
0x8F, 0x8F, 0xBF, 0xBF, 0xBF, 0xFF, 0xFF, 0xFF, 0x9F, 0x9F, 0x9F, 0xEF, 0xEF, 0xEF, 0x10, 0x10,
0x10, 0x80, 0x80, 0x80, 0xDF, 0xDF, 0xDF, 0x20, 0x20, 0x20, 0xCF, 0xCF, 0xCF, 0x70, 0x70, 0x70,
0xAF, 0xAF, 0xAF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
#endif /* !__BOOT2_APPLECLUT8_H */
trunk/i386/boot2/gui.h
3333
3434
3535
36
37
38
39
40
41
42
43
44
3645
3746
3847
......
161170
162171
163172
173
174
164175
#define MENU_SHOW_VIDEO_INFO5
#define MENU_SHOW_HELP6
#define APPLE_LOGO_WIDTH 84
#define APPLE_LOGO_HEIGHT 103
#define APPLE_LOGO_X ((VIDEO(width) - APPLE_LOGO_WIDTH) / 2)
#define APPLE_LOGO_Y ((VIDEO(height) - APPLE_LOGO_HEIGHT) / 2)
#define APPLE_LOGO_2X_X ((VIDEO(width) - (APPLE_LOGO_WIDTH * 2)) / 2)
#define APPLE_LOGO_2X_Y ((VIDEO(height) - (APPLE_LOGO_HEIGHT * 2)) / 2)
// ====================================================================
enum {
void drawStr(char *ch, font_t *font, pixmap_t *blendInto, position_t p);
void drawStrCenteredAt(char *ch, font_t *font, pixmap_t *blendInto, position_t p);
void chooseLogoMode();
#endif /* !__BOOT2_GUI_H */
trunk/i386/boot2/appleboot.h
3636
3737
3838
39
40
41
42
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
43132
44
133
134
135
136
137
45138
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
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
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
161353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
#define kAppleBootFPS(0)
#define kAppleBootRLEBlocks (686)
// The original data was 16K in size (128x128) and would make the booter
// cross a 64K segment boundary. boot0 cannot load more than 127 sectors
// without changes. To eliminate that complexity, the data was run length
// encoded to save space. The reduced size is 1372 bytes.
//
// LZVN packed data for grey Apple logo.
//
static UInt8 AppleLogoPacked[ 1392 ] =
{
0x68, 0x01, 0x00, 0xF0, 0xFF, 0xF0, 0xB7, 0xE4, 0x01, 0x02, 0x03, 0x00, 0xFA, 0xF0, 0x33, 0xE7,
0x04, 0x05, 0x06, 0x07, 0x07, 0x08, 0x00, 0xFA, 0xF0, 0x30, 0xEA, 0x09, 0x0A, 0x06, 0x0B, 0x0C,
0x0D, 0x0D, 0x06, 0x0E, 0x00, 0xFA, 0xF0, 0x2F, 0xE9, 0x0F, 0x06, 0x10, 0x0D, 0x11, 0x12, 0x13,
0x13, 0x11, 0x38, 0x54, 0xF0, 0x2F, 0xEC, 0x01, 0x14, 0x0B, 0x0D, 0x15, 0x13, 0x16, 0x17, 0x17,
0x18, 0x15, 0x19, 0xFA, 0xF0, 0x2D, 0xE8, 0x1A, 0x0D, 0x06, 0x11, 0x13, 0x18, 0x17, 0x17, 0xF4,
0x39, 0xA4, 0xF0, 0x2D, 0xE5, 0x1B, 0x0B, 0x0D, 0x12, 0x16, 0x08, 0x52, 0x00, 0x54, 0x9E, 0x11,
0x09, 0xF0, 0x2F, 0xC8, 0xA5, 0x1B, 0x0B, 0x1C, 0xF2, 0x00, 0x01, 0xC8, 0xA5, 0x16, 0x1D, 0x1E,
0xF0, 0x2F, 0xE6, 0x00, 0x1F, 0x0B, 0x11, 0x13, 0x17, 0x28, 0x01, 0x69, 0xA3, 0x13, 0xF0, 0x2D,
0xC8, 0x53, 0x09, 0x18, 0x1C, 0xF6, 0x98, 0xFB, 0x18, 0x15, 0xF0, 0x2F, 0x98, 0xF9, 0x20, 0x06,
0xF3, 0x00, 0xFB, 0x9E, 0x21, 0x22, 0xF0, 0x2D, 0xC8, 0x53, 0x01, 0x10, 0x15, 0xF6, 0xCE, 0x17,
0x13, 0x23, 0xF0, 0x2F, 0x98, 0xFA, 0x00, 0x24, 0xF5, 0xE4, 0x17, 0x16, 0x25, 0x26, 0xFA, 0xF0,
0x29, 0xCE, 0x01, 0x0C, 0x12, 0xF6, 0xCE, 0x18, 0x12, 0x27, 0xF0, 0x2F, 0x98, 0xA7, 0x00, 0x28,
0xF6, 0x99, 0x4E, 0x13, 0x04, 0xF0, 0x2E, 0x9E, 0x00, 0x29, 0xF5, 0xCE, 0x16, 0x25, 0x2A, 0xF0,
0x30, 0x9A, 0x48, 0x01, 0x06, 0xF5, 0x9E, 0x2B, 0x2C, 0xF0, 0x2E, 0xE4, 0x00, 0x2D, 0x1C, 0x16,
0xF8, 0xE4, 0x16, 0x2B, 0x2E, 0x2F, 0xFA, 0xF0, 0x29, 0x04, 0xE2, 0x68, 0xFB, 0x11, 0x98, 0x53,
0x16, 0x30, 0xF0, 0x31, 0x99, 0x4F, 0x00, 0x0E, 0xF1, 0xE4, 0x18, 0x14, 0x31, 0x32, 0x38, 0x53,
0xF0, 0x2D, 0x90, 0x54, 0x00, 0x19, 0xE6, 0x18, 0x33, 0x1A, 0x34, 0x35, 0x00, 0x38, 0x01, 0xF0,
0x2E, 0xE9, 0x0E, 0x11, 0x13, 0x16, 0x33, 0x36, 0x37, 0x34, 0x2A, 0x38, 0xA5, 0xF0, 0x2E, 0x00,
0x01, 0xE7, 0x38, 0x39, 0x39, 0x3A, 0x3B, 0x34, 0x26, 0x38, 0x52, 0xF0, 0x20, 0xE4, 0x02, 0x36,
0x05, 0x3C, 0x00, 0x01, 0xE4, 0x3D, 0x36, 0x02, 0x00, 0xF8, 0xC8, 0x50, 0x1E, 0x3E, 0x3E, 0xF4,
0xE5, 0x09, 0x3F, 0x05, 0x3C, 0x07, 0x10, 0x01, 0xE5, 0x3C, 0x05, 0x30, 0x1F, 0x00, 0xFA, 0xF0,
0x0A, 0xE7, 0x3F, 0x21, 0x07, 0x40, 0x0B, 0x0C, 0x06, 0xF3, 0xE7, 0x0C, 0x0B, 0x40, 0x06, 0x05,
0x04, 0x00, 0xFA, 0xF3, 0xE4, 0x09, 0x3F, 0x29, 0x41, 0x00, 0x1E, 0x80, 0x01, 0x0D, 0x1C, 0x48,
0x22, 0x0D, 0xE4, 0x13, 0x42, 0x01, 0x00, 0x38, 0x01, 0xF0, 0x04, 0x0F, 0x68, 0x07, 0xE6, 0x06,
0x1C, 0x11, 0x15, 0x12, 0x13, 0x00, 0x01, 0xE7, 0x12, 0x15, 0x11, 0x0D, 0x0C, 0x0B, 0x06, 0x38,
0x35, 0xF1, 0xC8, 0x1F, 0x02, 0x43, 0x41, 0x00, 0x1E, 0x40, 0x01, 0x16, 0x10, 0x22, 0xE4, 0x06,
0x10, 0x41, 0x43, 0x38, 0x56, 0xF0, 0x03, 0x5F, 0x68, 0x07, 0x1A, 0x62, 0x8C, 0x16, 0xEA, 0x18,
0x16, 0x13, 0x12, 0x11, 0x0D, 0x10, 0x40, 0x14, 0x3F, 0x08, 0x36, 0xE7, 0x1F, 0x42, 0x13, 0x0B,
0x0C, 0x1C, 0x15, 0x30, 0x1E, 0x08, 0x01, 0x00, 0x22, 0xE6, 0x15, 0x1C, 0x0C, 0x41, 0x0A, 0x00,
0x38, 0x01, 0xFE, 0x8F, 0x68, 0x07, 0x09, 0x21, 0x38, 0x32, 0xF1, 0x08, 0x01, 0x00, 0x35, 0x80,
0xE3, 0x11, 0x06, 0xC8, 0x70, 0x44, 0x06, 0x40, 0xF1, 0x38, 0x1F, 0xF5, 0x00, 0x57, 0xE5, 0x13,
0x12, 0x1C, 0x10, 0x14, 0x39, 0x58, 0xFD, 0xE4, 0x1F, 0x13, 0x0C, 0x11, 0x38, 0x33, 0xF8, 0x18,
0x8C, 0xC8, 0xF3, 0x11, 0x1C, 0x0D, 0x33, 0xA0, 0x38, 0x01, 0xF3, 0xE5, 0x18, 0x13, 0x11, 0x06,
0x0D, 0x38, 0x55, 0xFB, 0xE4, 0x1F, 0x1C, 0x06, 0x15, 0x38, 0x34, 0xFC, 0x10, 0x57, 0x68, 0xF4,
0x13, 0xF5, 0x38, 0x01, 0xF5, 0xE4, 0x16, 0x12, 0x0D, 0x1C, 0x38, 0x55, 0xF9, 0xE4, 0x1F, 0x1C,
0x0D, 0x12, 0x38, 0x35, 0xF0, 0x00, 0x38, 0x01, 0xF0, 0x06, 0x98, 0x55, 0x18, 0x13, 0xFD, 0xE4,
0x01, 0x1C, 0x0D, 0x13, 0x38, 0x53, 0xF0, 0x20, 0x10, 0x55, 0x9E, 0x33, 0x09, 0xF9, 0x68, 0x53,
0x33, 0xF0, 0x26, 0x00, 0xFF, 0xC8, 0x53, 0x11, 0x29, 0x31, 0xFA, 0xCE, 0x08, 0x06, 0x12, 0xF0,
0x2A, 0xE5, 0x17, 0x13, 0x45, 0x46, 0x1E, 0xFA, 0xF3, 0xE4, 0x01, 0x10, 0x11, 0x16, 0xFA, 0xF0,
0x25, 0x6D, 0x03, 0x47, 0xF8, 0xAA, 0x05, 0x1B, 0x48, 0x38, 0x01, 0xF0, 0x1A, 0xE4, 0x13, 0x37,
0x49, 0x00, 0xFA, 0xF4, 0x68, 0xFA, 0x47, 0xF0, 0x28, 0xB3, 0xBE, 0x1F, 0x13, 0x37, 0x68, 0xFA,
0x4A, 0xF0, 0x27, 0x98, 0x53, 0x16, 0x30, 0xFB, 0xCE, 0x01, 0x06, 0x12, 0xF0, 0x29, 0xCE, 0x18,
0x2B, 0x32, 0xFC, 0x99, 0x4E, 0x00, 0x19, 0xF0, 0x29, 0xC8, 0x01, 0x13, 0x38, 0x00, 0xFD, 0x99,
0x4E, 0x4B, 0x15, 0xF0, 0x27, 0xB3, 0x57, 0x22, 0x16, 0x45, 0x98, 0xA7, 0x09, 0x06, 0xF0, 0x27,
0xCE, 0x18, 0x12, 0x4C, 0xFE, 0x99, 0xA2, 0x4D, 0x1C, 0xF0, 0x27, 0xB4, 0x14, 0x2E, 0x16, 0x45,
0x3F, 0x0F, 0x08, 0x38, 0x01, 0xF0, 0x1B, 0xCE, 0x12, 0x37, 0x00, 0xFE, 0x69, 0x4F, 0x2B, 0xF0,
0x25, 0xB4, 0xC5, 0x1F, 0x18, 0x11, 0x69, 0x4F, 0x48, 0xF0, 0x25, 0xC8, 0x01, 0x13, 0x25, 0x00,
0xFF, 0x39, 0xA3, 0xF0, 0x24, 0xC8, 0x01, 0x13, 0x4E, 0x00, 0xFF, 0x3A, 0x9E, 0xF0, 0x24, 0xAC,
0x8D, 0x38, 0x12, 0x69, 0xF7, 0x01, 0xF0, 0x25, 0xA4, 0x8F, 0x38, 0x6B, 0xED, 0x23, 0xF0, 0x25,
0xE4, 0x18, 0x11, 0x4F, 0x00, 0x38, 0x01, 0xF8, 0x68, 0x54, 0x4F, 0xF0, 0x7B, 0x6E, 0x3F, 0xF0,
0x3A, 0x9E, 0x15, 0x0E, 0xFD, 0x6E, 0x3E, 0xF0, 0x26, 0x6A, 0xA0, 0x12, 0xFD, 0x38, 0x54, 0xF0,
0x23, 0xCE, 0x17, 0x13, 0x33, 0xF0, 0x00, 0x6E, 0x1C, 0xF0, 0x26, 0x9E, 0x0D, 0x01, 0xFD, 0x6A,
0xF4, 0x43, 0xF0, 0x25, 0x9A, 0xF5, 0x16, 0x11, 0xFE, 0x68, 0x54, 0x4A, 0xF0, 0x25, 0xCE, 0x18,
0x15, 0x29, 0xFF, 0x6E, 0x4E, 0xF0, 0x25, 0x00, 0xFD, 0x3B, 0xF2, 0xF9, 0x6F, 0x89, 0x07, 0x50,
0xF0, 0x26, 0xE4, 0x18, 0x11, 0x51, 0x00, 0x38, 0x01, 0xF7, 0x6D, 0x94, 0x31, 0xF0, 0x26, 0x00,
0xA9, 0x6E, 0x08, 0xF9, 0x99, 0xF9, 0x22, 0x17, 0xF0, 0x27, 0x01, 0x52, 0x9E, 0x10, 0x1F, 0xFB,
0x39, 0xF9, 0xF0, 0x24, 0x00, 0xA9, 0xCE, 0x11, 0x17, 0x09, 0xFC, 0x68, 0x54, 0x4D, 0xF0, 0x27,
0xA4, 0xF1, 0x29, 0x99, 0x51, 0x52, 0x15, 0xF0, 0x28, 0x03, 0xA1, 0x68, 0x55, 0x06, 0xF8, 0x99,
0x51, 0x22, 0x4B, 0xF0, 0x28, 0x10, 0x55, 0x69, 0x54, 0x16, 0xF7, 0x68, 0xFD, 0x53, 0xF0, 0x27,
0x08, 0x55, 0xCE, 0x0D, 0x0B, 0x0A, 0xF9, 0x6F, 0x84, 0x09, 0x1F, 0xF0, 0x26, 0x08, 0x01, 0x07,
0xD0, 0x0C, 0x9D, 0x4B, 0x10, 0x13, 0xF6, 0x98, 0xFD, 0x35, 0x51, 0xF0, 0x2A, 0x08, 0x55, 0xE4,
0x15, 0x06, 0x0B, 0x3D, 0xFA, 0xF1, 0x68, 0xFD, 0x19, 0xF0, 0x29, 0x19, 0x00, 0xA2, 0xC5, 0x3B,
0x69, 0xFA, 0x2F, 0xF0, 0x28, 0x10, 0x01, 0xB2, 0x29, 0x4B, 0x16, 0x11, 0x98, 0xFD, 0x1E, 0x25,
0xF0, 0x2C, 0x00, 0x54, 0xAA, 0x3A, 0x26, 0x20, 0x68, 0xFD, 0x54, 0xF0, 0x2C, 0xC8, 0x01, 0x12,
0x55, 0x00, 0xF8, 0x98, 0xA9, 0x26, 0x3C, 0xF0, 0x2C, 0xB3, 0x38, 0x26, 0x16, 0x3C, 0x68, 0xA9,
0x56, 0xF0, 0x2A, 0xC8, 0x01, 0x13, 0x56, 0x00, 0xFA, 0x38, 0xA9, 0xF0, 0x28, 0xB3, 0xF6, 0x31,
0x16, 0x3C, 0x38, 0xA9, 0xF0, 0x27, 0x38, 0xA7, 0xF7, 0x38, 0xA9, 0xF0, 0x28, 0x38, 0xA7, 0xF9,
0x07, 0x2B, 0x0C, 0x38, 0xA9, 0xF0, 0x24, 0xAC, 0x81, 0x27, 0x13, 0x9E, 0x3E, 0x28, 0xF0, 0x26,
0xB4, 0xD2, 0x4D, 0x16, 0x25, 0x9B, 0x4D, 0x49, 0x29, 0xF0, 0x24, 0xB4, 0xE7, 0x56, 0x18, 0x14,
0x98, 0xFE, 0x2F, 0x01, 0xF0, 0x24, 0xB4, 0x44, 0x33, 0x13, 0x02, 0x08, 0x01, 0x98, 0xFE, 0x35,
0x45, 0xF0, 0x22, 0xB3, 0xAD, 0x3D, 0x16, 0x25, 0x30, 0x01, 0x98, 0xFE, 0x57, 0x44, 0xF0, 0x20,
0xB5, 0x37, 0x58, 0x18, 0x14, 0x9F, 0x15, 0x11, 0x2F, 0x2F, 0xF0, 0x20, 0xB6, 0xC0, 0x51, 0x13,
0x01, 0x99, 0x53, 0x22, 0x37, 0xF0, 0x1E, 0xB6, 0xA2, 0x55, 0x13, 0x3F, 0x99, 0x53, 0x26, 0x30,
0xF0, 0x1C, 0xE4, 0x16, 0x25, 0x2E, 0x00, 0x38, 0x01, 0xF0, 0x03, 0x98, 0x55, 0x32, 0x58, 0xF0,
0x1A, 0x3F, 0x5A, 0x17, 0xF0, 0x09, 0x98, 0x55, 0x2C, 0x2B, 0xFF, 0x50, 0x01, 0x18, 0x6E, 0x17,
0xFA, 0xB7, 0x1F, 0x5C, 0x18, 0x14, 0x98, 0xAA, 0x2F, 0x2E, 0xFB, 0xEB, 0x18, 0x16, 0x59, 0x1B,
0x5A, 0x5B, 0x5B, 0x5B, 0x55, 0x1A, 0x59, 0xA3, 0xD2, 0x4E, 0x9F, 0x10, 0x16, 0x18, 0x5C, 0xF0,
0x0E, 0xC9, 0xA9, 0x2F, 0x5D, 0x3F, 0xF8, 0x00, 0x51, 0xED, 0x55, 0x3A, 0x5D, 0x2E, 0x49, 0x3E,
0x3E, 0x3E, 0x26, 0x2A, 0x5D, 0x5E, 0x55, 0x38, 0x57, 0xF4, 0xCA, 0xED, 0x16, 0x5F, 0x2E, 0xF0,
0x03, 0x38, 0x01, 0xF5, 0xC8, 0xAB, 0x2E, 0x31, 0x60, 0xF3, 0xE6, 0x18, 0x16, 0x33, 0x30, 0x49,
0x5D, 0x38, 0x8A, 0xF2, 0xE5, 0x26, 0x5D, 0x49, 0x3F, 0x33, 0x20, 0x57, 0xE5, 0x18, 0x16, 0x60,
0x31, 0x34, 0x38, 0xA6, 0xF0, 0x09, 0x10, 0x01, 0xED, 0x35, 0x61, 0x37, 0x36, 0x33, 0x13, 0x16,
0x13, 0x62, 0x30, 0x31, 0x3B, 0x32, 0x38, 0x88, 0xF6, 0xED, 0x1E, 0x2E, 0x3B, 0x31, 0x3F, 0x59,
0x33, 0x13, 0x13, 0x59, 0x30, 0x31, 0x61, 0x3A, 0x45, 0xF0, 0x03, 0x38, 0x01, 0xF5, 0xE8, 0x26,
0x34, 0x3B, 0x5E, 0x5E, 0x5E, 0x63, 0x32, 0x38, 0x34, 0xFC, 0xC0, 0x1F, 0x35, 0x2E, 0x5D, 0x98,
0x52, 0x5D, 0x32, 0xF0, 0x16, 0x38, 0x01, 0xF0, 0xFF, 0xF0, 0x0F, 0xE1, 0x00, 0x06, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
const unsigned char gAppleBootPictRLE[] =
//
// LZVN packed data for grey HiDPI Apple logo.
//
static UInt8 AppleLogo2XPacked[ 3416 ] =
{
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0x50, 0x01, 0x01, 0x02, 0x01, 0x17,
0x01, 0x34, 0x01, 0x47, 0x03, 0x50, 0x01, 0x13, 0x76, 0x01, 0x01, 0x03,
0x01, 0x20, 0x01, 0x40, 0x06, 0x50, 0x01, 0x13, 0x75, 0x01, 0x01, 0x1a,
0x01, 0x42, 0x07, 0x50, 0x01, 0xfa, 0x01, 0x0a, 0x73, 0x01, 0x01, 0x07,
0x01, 0x34, 0x09, 0x50, 0x01, 0x43, 0x01, 0x02, 0x72, 0x01, 0x01, 0x0e,
0x01, 0x43, 0x0a, 0x50, 0x01, 0x36, 0x72, 0x01, 0x01, 0x14, 0x01, 0x4a,
0x0b, 0x50, 0x01, 0x20, 0x71, 0x01, 0x01, 0x12, 0x01, 0x4b, 0x0b, 0x50,
0x01, 0x4d, 0x01, 0x0b, 0x70, 0x01, 0x01, 0x0b, 0x01, 0x48, 0x0c, 0x50,
0x01, 0xf9, 0x70, 0x01, 0x01, 0x03, 0x01, 0x3e, 0x0d, 0x50, 0x01, 0x1f,
0x70, 0x01, 0x01, 0x2f, 0x0d, 0x50, 0x01, 0x48, 0x01, 0x06, 0x6f, 0x01,
0x01, 0x15, 0x01, 0x4f, 0x0d, 0x50, 0x01, 0x27, 0x6f, 0x01, 0x01, 0x02,
0x01, 0x3f, 0x0d, 0x50, 0x01, 0x45, 0x01, 0xf7, 0x6f, 0x01, 0x01, 0x1d,
0x0e, 0x50, 0x01, 0x19, 0x6f, 0x01, 0x01, 0x02, 0x01, 0x40, 0x0d, 0x50,
0x01, 0x2f, 0x70, 0x01, 0x01, 0x15, 0x0d, 0x50, 0x01, 0x3b, 0x01, 0x03,
0x70, 0x01, 0x01, 0x34, 0x0c, 0x50, 0x01, 0x3f, 0x01, 0x07, 0x70, 0x01,
0x01, 0xf7, 0x01, 0x47, 0x0b, 0x50, 0x01, 0xf9, 0x01, 0x07, 0x71, 0x01,
0x01, 0x14, 0x0b, 0x50, 0x01, 0x36, 0x01, 0xf7, 0x72, 0x01, 0x01, 0x24,
0x09, 0x50, 0x01, 0x4d, 0x01, 0x28, 0x74, 0x01, 0x01, 0x33, 0x08, 0x50,
0x01, 0x3f, 0x01, 0x14, 0x75, 0x01, 0x01, 0x3a, 0x06, 0x50, 0x01, 0x41,
0x01, 0x1f, 0x01, 0x02, 0x76, 0x01, 0x01, 0x3a, 0x03, 0x50, 0x01, 0x48,
0x01, 0x35, 0x01, 0x17, 0x01, 0x02, 0x78, 0x01, 0x01, 0x15, 0x01, 0x33,
0x01, 0x27, 0x01, 0x15, 0x01, 0xf7, 0x67, 0x01, 0x01, 0x02, 0x01, 0x08,
0x01, 0x0e, 0x01, 0x13, 0x01, 0x14, 0x01, 0x12, 0x01, 0x0d, 0x01, 0x06,
0x01, 0x02, 0x1c, 0x01, 0x01, 0x04, 0x01, 0x0b, 0x01, 0x12, 0x01, 0x17,
0x01, 0x19, 0x01, 0x15, 0x01, 0x11, 0x01, 0x08, 0x01, 0x02, 0x4e, 0x01,
0x01, 0x02, 0x01, 0x11, 0x01, 0x26, 0x01, 0x39, 0x01, 0x44, 0x01, 0x4c,
0x01, 0x4f, 0x02, 0x50, 0x01, 0x4f, 0x01, 0x4d, 0x01, 0x4a, 0x01, 0x3f,
0x01, 0x31, 0x01, 0x19, 0x01, 0xf7, 0x15, 0x01, 0x01, 0x0b, 0x01, 0x1c,
0x01, 0x2e, 0x01, 0xf9, 0x01, 0x46, 0x01, 0x4d, 0x04, 0x50, 0x01, 0x4f,
0x01, 0x4b, 0x01, 0x42, 0x01, 0x34, 0x01, 0x1f, 0x01, 0x0a, 0x49, 0x01,
0x01, 0xf7, 0x01, 0x21, 0x01, 0x3f, 0x01, 0x4f, 0x0d, 0x50, 0x01, 0x47,
0x01, 0x2d, 0x01, 0x0d, 0x10, 0x01, 0x01, 0x0d, 0x01, 0x25, 0x01, 0x3d,
0x01, 0xfa, 0x0e, 0x50, 0x01, 0x4c, 0x01, 0x37, 0x01, 0x15, 0x45, 0x01,
0x01, 0x04, 0x01, 0x25, 0x01, 0x45, 0x12, 0x50, 0x01, 0x4d, 0x01, 0x39,
0x01, 0x19, 0x01, 0x02, 0x0a, 0x01, 0x01, 0x09, 0x01, 0x21, 0x01, 0xf9,
0x01, 0x4d, 0x14, 0x50, 0x01, 0xf9, 0x01, 0x15, 0x42, 0x01, 0x01, 0x17,
0x01, 0x42, 0x17, 0x50, 0x01, 0x42, 0x01, 0x27, 0x01, 0x0e, 0x01, 0x02,
0x03, 0x01, 0x01, 0x02, 0x01, 0x0b, 0x01, 0x1f, 0x01, 0x38, 0x01, 0x4b,
0x19, 0x50, 0x01, 0x33, 0x01, 0x06, 0x3e, 0x01, 0x01, 0x03, 0x01, 0x2e,
0x1b, 0x50, 0x01, 0x4d, 0x01, 0x43, 0x01, 0x3a, 0x01, 0x37, 0x01, 0x3a,
0x01, 0x42, 0x01, 0x4d, 0x1d, 0x50, 0x01, 0x42, 0x01, 0x0e, 0x3c, 0x01,
0x01, 0x0a, 0x01, 0xf9, 0x41, 0x50, 0x01, 0x48, 0x01, 0x13, 0x3a, 0x01,
0x01, 0x0d, 0x01, 0x45, 0x43, 0x50, 0x01, 0x4b, 0x01, 0x12, 0x38, 0x01,
0x01, 0x10, 0x01, 0x48, 0x45, 0x50, 0x01, 0x48, 0x01, 0x0b, 0x36, 0x01,
0x01, 0x0c, 0x01, 0x48, 0x47, 0x50, 0x01, 0x3d, 0x01, 0x03, 0x34, 0x01,
0x01, 0x07, 0x01, 0x42, 0x49, 0x50, 0x01, 0x21, 0x34, 0x01, 0x01, 0x37,
0x49, 0x50, 0x01, 0x42, 0x01, 0x12, 0x33, 0x01, 0x01, 0x22, 0x49, 0x50,
0x01, 0x34, 0x01, 0xf7, 0x33, 0x01, 0x01, 0x0b, 0x01, 0x4b, 0x48, 0x50,
0x01, 0x2c, 0x35, 0x01, 0x01, 0x36, 0x48, 0x50, 0x01, 0x29, 0x35, 0x01,
0x01, 0x11, 0x01, 0x4f, 0x47, 0x50, 0x01, 0x2e, 0x36, 0x01, 0x01, 0x36,
0x47, 0x50, 0x01, 0x3a, 0x01, 0x02, 0x35, 0x01, 0x01, 0x0b, 0x01, 0xfa,
0x46, 0x50, 0x01, 0x46, 0x01, 0x08, 0x36, 0x01, 0x01, 0x26, 0x46, 0x50,
0x01, 0x4e, 0x01, 0x15, 0x36, 0x01, 0x01, 0x02, 0x01, 0x40, 0x46, 0x50,
0x01, 0x31, 0x37, 0x01, 0x01, 0x0e, 0x01, 0x4e, 0x45, 0x50, 0x01, 0x49,
0x01, 0x08, 0x37, 0x01, 0x01, 0x25, 0x46, 0x50, 0x01, 0x29, 0x38, 0x01,
0x01, 0x39, 0x45, 0x50, 0x01, 0x4c, 0x01, 0x0a, 0x37, 0x01, 0x01, 0xf7,
0x01, 0x47, 0x45, 0x50, 0x01, 0x3a, 0x38, 0x01, 0x01, 0x10, 0x01, 0x4f,
0x45, 0x50, 0x01, 0x22, 0x38, 0x01, 0x01, 0x1d, 0x46, 0x50, 0x01, 0x12,
0x38, 0x01, 0x01, 0x29, 0x45, 0x50, 0x01, 0x4b, 0x01, 0x07, 0x38, 0x01,
0x01, 0x36, 0x45, 0x50, 0x01, 0x42, 0x01, 0x02, 0x38, 0x01, 0x01, 0xf9,
0x45, 0x50, 0x01, 0x3e, 0x39, 0x01, 0x01, 0x42, 0x45, 0x50, 0x01, 0x3c,
0x39, 0x01, 0x01, 0x46, 0x45, 0x50, 0x01, 0x3b, 0x39, 0x01, 0x01, 0x48,
0x45, 0x50, 0x01, 0xf9, 0x39, 0x01, 0x01, 0x48, 0x45, 0x50, 0x01, 0x3f,
0x01, 0x02, 0x38, 0x01, 0x01, 0x46, 0x45, 0x50, 0x01, 0x48, 0x01, 0xf7,
0x38, 0x01, 0x01, 0x43, 0x45, 0x50, 0x01, 0x4e, 0x01, 0x0e, 0x38, 0x01,
0x01, 0x3f, 0x46, 0x50, 0x01, 0x1c, 0x38, 0x01, 0x01, 0x3a, 0x46, 0x50,
0x01, 0x33, 0x38, 0x01, 0x01, 0x34, 0x46, 0x50, 0x01, 0x46, 0x01, 0x04,
0x37, 0x01, 0x01, 0x2c, 0x47, 0x50, 0x01, 0x19, 0x37, 0x01, 0x01, 0x1f,
0x47, 0x50, 0x01, 0x3a, 0x37, 0x01, 0x01, 0x15, 0x47, 0x50, 0x01, 0x4e,
0x01, 0x11, 0x36, 0x01, 0x01, 0x0a, 0x01, 0xfa, 0x47, 0x50, 0x01, 0x37,
0x36, 0x01, 0x01, 0x02, 0x01, 0x42, 0x47, 0x50, 0x01, 0x4f, 0x01, 0x15,
0x36, 0x01, 0x01, 0x37, 0x48, 0x50, 0x01, 0x42, 0x01, 0x04, 0x35, 0x01,
0x01, 0x25, 0x49, 0x50, 0x01, 0x2c, 0x35, 0x01, 0x01, 0x13, 0x49, 0x50,
0x01, 0x4e, 0x01, 0x15, 0x34, 0x01, 0x01, 0xf7, 0x01, 0x47, 0x49, 0x50,
0x01, 0x48, 0x01, 0x0b, 0x34, 0x01, 0x01, 0x37, 0x4a, 0x50, 0x01, 0x44,
0x01, 0x0a, 0x33, 0x01, 0x01, 0x1f, 0x4b, 0x50, 0x01, 0x44, 0x01, 0x0d,
0x32, 0x01, 0x01, 0x0a, 0x01, 0xfa, 0x4b, 0x50, 0x01, 0x48, 0x01, 0x17,
0x32, 0x01, 0x01, 0x3a, 0x4c, 0x50, 0x01, 0x4f, 0x01, 0x2c, 0x01, 0x04,
0x30, 0x01, 0x01, 0x1f, 0x4e, 0x50, 0x01, 0x41, 0x01, 0x19, 0x2f, 0x01,
0x01, 0x07, 0x01, 0x4a, 0x4e, 0x50, 0x01, 0x44, 0x30, 0x01, 0x01, 0x33,
0x4e, 0x50, 0x01, 0x36, 0x30, 0x01, 0x01, 0x14, 0x4e, 0x50, 0x01, 0x1f,
0x30, 0x01, 0x01, 0x02, 0x01, 0x3f, 0x4c, 0x50, 0x01, 0x4d, 0x01, 0x0b,
0x31, 0x01, 0x01, 0x1e, 0x4c, 0x50, 0x01, 0x3c, 0x32, 0x01, 0x01, 0x04,
0x01, 0x44, 0x4b, 0x50, 0x01, 0x20, 0x33, 0x01, 0x01, 0x20, 0x4a, 0x50,
0x01, 0x4a, 0x01, 0x07, 0x33, 0x01, 0x01, 0x04, 0x01, 0x43, 0x49, 0x50,
0x01, 0x30, 0x35, 0x01, 0x01, 0x1c, 0x48, 0x50, 0x01, 0x4d, 0x01, 0x0e,
0x35, 0x01, 0x01, 0x02, 0x01, 0x3e, 0x47, 0x50, 0x01, 0x36, 0x37, 0x01,
0x01, 0x14, 0x01, 0x4f, 0x45, 0x50, 0x01, 0x4d, 0x01, 0x0e, 0x38, 0x01,
0x01, 0x32, 0x45, 0x50, 0x01, 0x33, 0x39, 0x01, 0x01, 0x07, 0x01, 0x47,
0x43, 0x50, 0x01, 0x4b, 0x01, 0x0b, 0x3a, 0x01, 0x01, 0x1c, 0x43, 0x50,
0x01, 0x26, 0x3c, 0x01, 0x01, 0x37, 0x41, 0x50, 0x01, 0x41, 0x01, 0x04,
0x3c, 0x01, 0x01, 0x08, 0x01, 0x48, 0x3f, 0x50, 0x01, 0x4e, 0x01, 0x13,
0x3e, 0x01, 0x01, 0x19, 0x3f, 0x50, 0x01, 0x2d, 0x40, 0x01, 0x01, 0x2e,
0x3d, 0x50, 0x01, 0x3f, 0x01, 0x03, 0x40, 0x01, 0x01, 0x03, 0x01, 0xf9,
0x3b, 0x50, 0x01, 0x4a, 0x01, 0x0d, 0x42, 0x01, 0x01, 0x09, 0x01, 0x46,
0x39, 0x50, 0x01, 0x4e, 0x01, 0x19, 0x44, 0x01, 0x01, 0x11, 0x01, 0x4b,
0x38, 0x50, 0x01, 0x25, 0x46, 0x01, 0x01, 0x17, 0x01, 0x4d, 0x36, 0x50,
0x01, 0x2e, 0x48, 0x01, 0x01, 0x1b, 0x01, 0x4d, 0x34, 0x50, 0x01, 0x31,
0x4a, 0x01, 0x01, 0x17, 0x01, 0x4a, 0x14, 0x50, 0x01, 0x4d, 0x01, 0x44,
0x01, 0x3b, 0x01, 0x34, 0x01, 0x2e, 0x01, 0x2c, 0x01, 0x2e, 0x01, 0x35,
0x01, 0x3e, 0x01, 0x4a, 0x14, 0x50, 0x01, 0x2e, 0x4c, 0x01, 0x01, 0x0e,
0x01, 0x41, 0x10, 0x50, 0x01, 0x4a, 0x01, 0x37, 0x01, 0x1f, 0x01, 0x0c,
0x01, 0x03, 0x07, 0x01, 0x01, 0x06, 0x01, 0x15, 0x01, 0x2d, 0x01, 0x41,
0x0f, 0x50, 0x01, 0x4a, 0x01, 0x1f, 0x4e, 0x01, 0x01, 0xf7, 0x01, 0x2e,
0x01, 0xfa, 0x0b, 0x50, 0x01, 0x4f, 0x01, 0xf9, 0x01, 0x1e, 0x01, 0x07,
0x0e, 0x01, 0x01, 0x02, 0x01, 0x14, 0x01, 0x31, 0x01, 0x48, 0x0b, 0x50,
0x01, 0x37, 0x01, 0x0c, 0x51, 0x01, 0x01, 0x0d, 0x01, 0x2f, 0x01, 0x45,
0x01, 0x4f, 0x05, 0x50, 0x01, 0x4f, 0x01, 0x43, 0x01, 0x2e, 0x01, 0x11,
0x14, 0x01, 0x01, 0x07, 0x01, 0x1f, 0x01, 0x3c, 0x01, 0x4c, 0x04, 0x50,
0x01, 0x4f, 0x01, 0x46, 0x01, 0x33, 0x01, 0x13, 0x55, 0x01, 0x01, 0x04,
0x01, 0x12, 0x01, 0x1f, 0x01, 0x26, 0x01, 0x28, 0x01, 0x26, 0x01, 0x1e,
0x01, 0x10, 0x01, 0x02, 0x19, 0x01, 0x01, 0x09, 0x01, 0x16, 0x01, 0x1e,
0x01, 0x1f, 0x01, 0x1c, 0x01, 0x11, 0x01, 0x04, 0xff, 0x01, 0xff, 0x01,
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0xff, 0x01,
0xff, 0x01, 0xb3, 0x01
0x68, 0x01, 0x00, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0,
0xFF, 0xF0, 0x2D, 0xE5, 0x01, 0x02, 0x03, 0x03, 0x00, 0xFA, 0xF0, 0x85, 0xE9, 0x04, 0x05, 0x06,
0x07, 0x07, 0x08, 0x09, 0x0A, 0x00, 0xFA, 0xF0, 0x82, 0xEC, 0x04, 0x0B, 0x0C, 0x0D, 0x0D, 0x0E,
0x0F, 0x0E, 0x0E, 0x0D, 0x0C, 0x00, 0xFA, 0xF0, 0x7F, 0xC0, 0xA4, 0x10, 0x11, 0x12, 0xE9, 0x13,
0x14, 0x0C, 0x0C, 0x0C, 0x14, 0x13, 0x0D, 0x00, 0x38, 0x01, 0xF0, 0x7D, 0xE4, 0x15, 0x0B, 0x0D,
0x0D, 0x00, 0xA5, 0xE9, 0x16, 0x16, 0x17, 0x18, 0x18, 0x18, 0x16, 0x0C, 0x13, 0xFA, 0xF0, 0x7B,
0x01, 0x4C, 0x88, 0xA5, 0x0D, 0x0E, 0xE9, 0x18, 0x19, 0x19, 0x1A, 0x12, 0x12, 0x1A, 0x19, 0x16,
0x38, 0xA8, 0xF0, 0x7C, 0x88, 0xA6, 0x1B, 0x16, 0x48, 0xA5, 0x17, 0xE8, 0x1C, 0x1C, 0x1D, 0x1C,
0x1C, 0x1A, 0x18, 0x1E, 0xFA, 0xF0, 0x78, 0xE5, 0x00, 0x15, 0x1F, 0x0D, 0x0F, 0x08, 0xA6, 0x10,
0xA5, 0x40, 0x01, 0x20, 0xE5, 0x1C, 0x12, 0x19, 0x21, 0x00, 0xFA, 0xF0, 0x77, 0xE4, 0x04, 0x16,
0x0F, 0x13, 0x18, 0xA6, 0x00, 0xA5, 0x48, 0x01, 0x22, 0xE5, 0x1D, 0x12, 0x19, 0x23, 0x00, 0xFA,
0xF0, 0x76, 0x81, 0xF3, 0x24, 0x0D, 0x38, 0xA6, 0xF2, 0x10, 0xA8, 0x6E, 0x25, 0xF0, 0x77, 0xE4,
0x10, 0x1E, 0x0E, 0x13, 0x03, 0x3E, 0x08, 0xA6, 0x68, 0x01, 0x22, 0xE6, 0x20, 0x1D, 0x12, 0x18,
0x26, 0x00, 0xFA, 0xF0, 0x73, 0xC9, 0x4D, 0x10, 0x1E, 0x0F, 0xC8, 0xA7, 0x1C, 0x1C, 0x20, 0xF6,
0x83, 0x48, 0x22, 0x20, 0x68, 0xA7, 0x27, 0xF0, 0x75, 0xE5, 0x01, 0x16, 0x0F, 0x14, 0x17, 0x39,
0x4D, 0xF4, 0x18, 0xA8, 0x9E, 0x17, 0x28, 0xF0, 0x76, 0xE4, 0x10, 0x1C, 0x13, 0x0C, 0x08, 0xA7,
0x6E, 0x20, 0xF5, 0x00, 0xA8, 0xC8, 0xA7, 0x19, 0x29, 0x2A, 0xF0, 0x78, 0xE5, 0x1E, 0x13, 0x0C,
0x18, 0x19, 0x39, 0x4D, 0xF5, 0x0B, 0x47, 0xE4, 0x1C, 0x19, 0x04, 0x2B, 0xFA, 0xF0, 0x71, 0x40,
0xA7, 0x2C, 0x6E, 0x1A, 0xFA, 0x0B, 0x47, 0x6E, 0x2D, 0xF0, 0x73, 0x98, 0xA7, 0x2E, 0x0F, 0xFF,
0x0A, 0x9F, 0x9E, 0x0A, 0x2F, 0xF0, 0x74, 0x4B, 0x43, 0x30, 0x38, 0xA7, 0xF9, 0x09, 0xF7, 0x9E,
0x31, 0x32, 0xF0, 0x73, 0xE4, 0x10, 0x17, 0x14, 0x16, 0x38, 0xA7, 0xFB, 0x09, 0xF7, 0x3A, 0x9E,
0xF0, 0x71, 0xCB, 0xEA, 0x33, 0x13, 0x16, 0x68, 0x01, 0x22, 0xF9, 0x01, 0xF7, 0x6E, 0x2E, 0xF0,
0x72, 0xE5, 0x30, 0x0F, 0x16, 0x18, 0x1A, 0x38, 0xA7, 0xFA, 0x09, 0xF7, 0x9E, 0x34, 0x35, 0xF0,
0x73, 0xC3, 0x44, 0x1E, 0x14, 0x17, 0x68, 0x01, 0x22, 0xFA, 0x01, 0x4F, 0x9E, 0x24, 0x36, 0xF0,
0x73, 0x9A, 0x9D, 0x37, 0x13, 0xF0, 0x00, 0x11, 0x4F, 0x6D, 0xE5, 0x38, 0xF0, 0x72, 0x99, 0xF6,
0x1D, 0x0C, 0xF0, 0x01, 0x01, 0x4F, 0x9E, 0x39, 0x3A, 0xF0, 0x79, 0x6E, 0x22, 0xFE, 0x6E, 0x2A,
0xF0, 0x73, 0xCE, 0x16, 0x18, 0x12, 0xF0, 0x04, 0x6A, 0x9E, 0x3B, 0xF0, 0x72, 0x69, 0x4F, 0x3C,
0xF0, 0x00, 0x05, 0x3C, 0xCE, 0x3D, 0x3E, 0x32, 0xF0, 0x76, 0x69, 0x4F, 0x0C, 0xFF, 0x01, 0xF6,
0x99, 0x4F, 0x2D, 0x3F, 0xF0, 0x73, 0x6E, 0x10, 0xF0, 0x01, 0xE5, 0x1C, 0x1A, 0x02, 0x40, 0x00,
0xFA, 0xF0, 0x6F, 0x9B, 0xED, 0x37, 0x14, 0xF0, 0x00, 0x07, 0x68, 0x0E, 0xCE, 0x41, 0x3E, 0x2A,
0xF0, 0x76, 0x69, 0x4F, 0x23, 0xFE, 0x02, 0x9D, 0x9F, 0x29, 0x09, 0x42, 0x43, 0xF0, 0x75, 0xE4,
0x00, 0x19, 0x17, 0x19, 0x39, 0x4F, 0xF9, 0xE5, 0x20, 0x1D, 0x1C, 0x42, 0x40, 0x3B, 0xEC, 0xF0,
0x70, 0xC9, 0xF7, 0x00, 0x00, 0x44, 0xF0, 0x01, 0x08, 0xA7, 0x9F, 0xC7, 0x0B, 0x45, 0x3A, 0xF0,
0x76, 0x47, 0x29, 0x09, 0x46, 0x39, 0xF7, 0xF7, 0x10, 0xA7, 0x6E, 0x40, 0xF0, 0x74, 0xC9, 0xF7,
0x00, 0x47, 0x16, 0xFE, 0x38, 0xA7, 0xF0, 0x79, 0xC9, 0xF7, 0x00, 0x48, 0x17, 0xFD, 0x03, 0xEA,
0x68, 0xA7, 0x49, 0xF0, 0x78, 0x9A, 0x9F, 0x00, 0x1F, 0xFA, 0x01, 0x4D, 0xE4, 0x1E, 0x30, 0x4A,
0x3A, 0x38, 0xA7, 0xF0, 0x75, 0xCA, 0x9F, 0x00, 0x0C, 0x18, 0xF9, 0x49, 0xF4, 0x20, 0xC8, 0xA7,
0x35, 0x4B, 0x36, 0xF0, 0x7C, 0x6B, 0x47, 0x00, 0xF5, 0x51, 0x4D, 0x20, 0xCE, 0x4C, 0x3E, 0x2F,
0xF0, 0x7B, 0x10, 0xA8, 0x35, 0xE6, 0x08, 0xA6, 0xE6, 0x12, 0x03, 0x3E, 0x4D, 0x3A, 0x2A, 0xFA,
0xF0, 0x77, 0x19, 0x50, 0x60, 0xA5, 0x20, 0xE6, 0x1C, 0x1E, 0x03, 0x36, 0x4A, 0x4E, 0x39, 0x4D,
0xF0, 0x79, 0x12, 0xA0, 0x07, 0x1A, 0x0D, 0x00, 0x01, 0xE9, 0x1C, 0x1C, 0x1C, 0x4F, 0x44, 0x3E,
0x4A, 0x3E, 0x50, 0x3A, 0x9A, 0xF0, 0x77, 0x18, 0x01, 0x57, 0x49, 0x14, 0x2C, 0xE9, 0x1C, 0x23,
0x49, 0x44, 0x3E, 0x4C, 0x4D, 0x4E, 0x50, 0x3F, 0x5C, 0x0E, 0xF0, 0x70, 0x38, 0x01, 0xF5, 0x86,
0x51, 0x52, 0xE8, 0x36, 0x53, 0x4C, 0x54, 0x4D, 0x3E, 0x43, 0x28, 0x39, 0x4C, 0xF0, 0x7D, 0x08,
0x01, 0xE9, 0x36, 0x55, 0x4B, 0x4B, 0x4B, 0x55, 0x3E, 0x40, 0x36, 0x38, 0xA5, 0xF0, 0x63, 0xE4,
0x01, 0x30, 0x04, 0x4F, 0x08, 0x01, 0xE4, 0x30, 0x02, 0x10, 0x00, 0xFA, 0xFD, 0x46, 0x2A, 0x39,
0xEE, 0xFB, 0xE6, 0x01, 0x03, 0x11, 0x06, 0x06, 0x07, 0x18, 0x01, 0xE7, 0x1F, 0x06, 0x06, 0x11,
0x49, 0x30, 0x00, 0xFA, 0xF0, 0x3A, 0xE6, 0x30, 0x4F, 0x48, 0x12, 0x07, 0x0D, 0xF9, 0xE6, 0x07,
0x12, 0x48, 0x49, 0x01, 0x00, 0xFA, 0xF0, 0x0E, 0xE4, 0x15, 0x49, 0x48, 0x0C, 0x00, 0x35, 0xC8,
0x01, 0x0E, 0x0E, 0x0F, 0xF3, 0x88, 0x44, 0x0E, 0x0E, 0xE4, 0x56, 0x0B, 0x03, 0x10, 0xFA, 0xF0,
0x0F, 0x38, 0x01, 0xF0, 0x09, 0x00, 0x67, 0x00, 0xA3, 0x00, 0x65, 0x68, 0x01, 0x13, 0xF1, 0x00,
0x6B, 0xE6, 0x0D, 0x0D, 0x0C, 0x0B, 0x04, 0x00, 0x38, 0x01, 0xF0, 0x08, 0xC8, 0x3D, 0x01, 0x05,
0x56, 0xE6, 0x13, 0x13, 0x14, 0x14, 0x0C, 0x16, 0x20, 0x01, 0xC8, 0x44, 0x0C, 0x14, 0x14, 0xF2,
0xE5, 0x07, 0x57, 0x49, 0x15, 0x00, 0x38, 0x01, 0xF0, 0x2C, 0x98, 0x67, 0x03, 0x06, 0xF1, 0x08,
0x61, 0x58, 0x01, 0x17, 0x00, 0x0A, 0x08, 0x69, 0x40, 0xAB, 0x0E, 0x39, 0xBF, 0xF0, 0x04, 0xCF,
0xDB, 0x1C, 0x15, 0x58, 0x12, 0x27, 0xDC, 0x1C, 0x68, 0x01, 0x19, 0xF1, 0xC8, 0xAE, 0x18, 0x18,
0x17, 0x80, 0xEF, 0x13, 0x13, 0x68, 0xEE, 0x48, 0xF0, 0x0C, 0x38, 0x01, 0xF0, 0x05, 0xC7, 0x9D,
0x1C, 0x10, 0x11, 0x0C, 0x88, 0x67, 0x13, 0x0C, 0x08, 0x60, 0x58, 0x01, 0x1A, 0x08, 0x6A, 0x48,
0xAC, 0x17, 0x00, 0xAB, 0x99, 0x12, 0x12, 0x11, 0xF0, 0x03, 0xB1, 0x02, 0x76, 0x03, 0x3D, 0x08,
0x3B, 0x84, 0xB3, 0x12, 0x12, 0x08, 0x01, 0xC8, 0x44, 0x12, 0x12, 0x12, 0xF4, 0x48, 0xAB, 0x0C,
0xCE, 0x12, 0x1B, 0x00, 0xF0, 0x29, 0xC0, 0x68, 0x10, 0x11, 0x16, 0x58, 0x67, 0x0C, 0x30, 0x66,
0x10, 0x01, 0x00, 0x6A, 0x00, 0x68, 0x10, 0xAB, 0xC9, 0x12, 0x0D, 0x0D, 0x3D, 0xF0, 0x00, 0xB8,
0x03, 0x76, 0x01, 0x05, 0x0C, 0x27, 0xDB, 0x1C, 0x57, 0x01, 0x06, 0x1C, 0x28, 0x01, 0x10, 0x44,
0x88, 0xAB, 0x1A, 0x1A, 0x08, 0x43, 0x38, 0xAA, 0xF0, 0x23, 0xB1, 0xA0, 0x77, 0x58, 0x16, 0x10,
0x67, 0x97, 0xA0, 0x1C, 0x1D, 0x1D, 0x18, 0x01, 0x10, 0x6A, 0x38, 0xAB, 0xF1, 0x9B, 0x56, 0x0C,
0x05, 0xF8, 0xCA, 0x2D, 0x10, 0x1B, 0x56, 0x68, 0xA5, 0x0C, 0x18, 0x3C, 0x68, 0x01, 0x22, 0xF1,
0x18, 0x44, 0x56, 0x1C, 0x0F, 0xEA, 0x1E, 0xE4, 0x0F, 0x0D, 0x1F, 0x01, 0xFA, 0xF0, 0x1D, 0x9F,
0x42, 0x1D, 0x01, 0x56, 0x68, 0x67, 0x19, 0x68, 0x01, 0x22, 0xF5, 0x08, 0x69, 0x00, 0x68, 0x00,
0xAB, 0x09, 0xBD, 0x02, 0x00, 0x98, 0x6A, 0x56, 0x11, 0xF2, 0x99, 0xF0, 0x10, 0x1B, 0xF1, 0x58,
0xE3, 0x17, 0xA9, 0xDB, 0x70, 0x1D, 0x38, 0x01, 0xF4, 0x18, 0xAC, 0x28, 0xAA, 0x9E, 0x05, 0x00,
0xF0, 0x1E, 0xB1, 0x09, 0x75, 0x11, 0x0D, 0x68, 0x67, 0x1C, 0xF0, 0x00, 0x1F, 0x6E, 0x08, 0x69,
0xBD, 0x12, 0xE9, 0x0E, 0x0D, 0x16, 0x1F, 0x11, 0x11, 0x11, 0x24, 0x56, 0x22, 0x95, 0x30, 0xA5,
0x68, 0x01, 0x22, 0xF0, 0x03, 0x18, 0x43, 0x10, 0xAA, 0x99, 0x53, 0x0E, 0x56, 0xF0, 0x1C, 0xE5,
0x15, 0x56, 0x0E, 0x13, 0x0C, 0xA3, 0x08, 0x75, 0x38, 0x01, 0xFB, 0x30, 0xAB, 0x1C, 0x02, 0x4D,
0x24, 0x0F, 0x44, 0x81, 0x13, 0x09, 0xF0, 0x38, 0xA5, 0xF0, 0x07, 0x18, 0x01, 0x09, 0x55, 0x08,
0xAA, 0xCA, 0xA6, 0x14, 0x0F, 0x16, 0xF0, 0x1C, 0x81, 0xF3, 0x30, 0x16, 0x1F, 0x42, 0x1D, 0x38,
0x69, 0xF0, 0x08, 0x21, 0xBD, 0x14, 0x02, 0x8D, 0x24, 0x16, 0x0C, 0x2A, 0x95, 0x38, 0x3D, 0xF0,
0x09, 0x10, 0x01, 0x50, 0x41, 0x20, 0xE6, 0x17, 0x0C, 0x13, 0x0D, 0x11, 0x00, 0x38, 0x01, 0xF0,
0x12, 0x8F, 0xF4, 0x1B, 0x1B, 0x0D, 0x68, 0x69, 0x1A, 0xF0, 0x11, 0x21, 0x55, 0x0C, 0x6B, 0x10,
0x01, 0x39, 0xF0, 0xF0, 0x09, 0x38, 0x01, 0xF5, 0x59, 0x53, 0x20, 0xE4, 0x13, 0x0E, 0x24, 0x00,
0xFA, 0xF0, 0x10, 0xAB, 0x3F, 0x7A, 0x24, 0x38, 0x01, 0xF0, 0x07, 0x10, 0xAB, 0x15, 0x1A, 0x00,
0xA4, 0x3B, 0x3A, 0xF0, 0x00, 0x38, 0x01, 0xF0, 0x00, 0x00, 0x40, 0x0F, 0x3B, 0x22, 0x38, 0xA9,
0xF0, 0x11, 0x10, 0xA7, 0x68, 0xA6, 0x1A, 0xF0, 0x15, 0x10, 0x01, 0x0B, 0xBE, 0x10, 0x01, 0x68,
0xA5, 0x20, 0xF0, 0x19, 0x08, 0x01, 0x11, 0x53, 0x02, 0xA5, 0x38, 0xA9, 0xF0, 0x0E, 0x5F, 0x36,
0x1F, 0x24, 0x68, 0x6C, 0x1D, 0xF0, 0x1C, 0x38, 0x01, 0xF0, 0x24, 0x68, 0xA9, 0x20, 0xF0, 0x14,
0x48, 0xA7, 0x59, 0x6E, 0x12, 0xF0, 0x5C, 0x18, 0xA9, 0xCB, 0xF6, 0x17, 0x14, 0x0F, 0xF0, 0x10,
0x58, 0xA7, 0x1B, 0x38, 0xA6, 0xF0, 0x5A, 0x29, 0x52, 0x9D, 0x48, 0x13, 0x0E, 0xF0, 0x0C, 0x98,
0xA7, 0x30, 0x0E, 0xF0, 0x66, 0x28, 0xA9, 0x9E, 0x1C, 0x10, 0xF0, 0x09, 0xC8, 0xA7, 0x10, 0x17,
0x13, 0xF0, 0x69, 0x17, 0xC6, 0x17, 0xE4, 0x17, 0x14, 0x0E, 0x58, 0xFA, 0xF0, 0x05, 0x68, 0xA7,
0x2C, 0xF0, 0x68, 0x01, 0x51, 0xE5, 0x1A, 0x18, 0x5A, 0x5B, 0x00, 0x38, 0x01, 0xF0, 0x04, 0xB5,
0x05, 0x75, 0x2E, 0x13, 0x38, 0x01, 0xF0, 0x4F, 0x05, 0x46, 0xBE, 0x43, 0x3D, 0x39, 0x4E, 0x45,
0xCD, 0x38, 0x01, 0x0F, 0x14, 0x68, 0x01, 0x22, 0xF0, 0x63, 0x02, 0xA0, 0xBF, 0xA8, 0x47, 0x02,
0x4A, 0x40, 0x09, 0xF6, 0x3C, 0x91, 0xF0, 0x5C, 0x20, 0x01, 0x05, 0xEB, 0xBF, 0x79, 0x4F, 0x1E,
0x52, 0x4D, 0x4A, 0x9D, 0x37, 0x38, 0xA7, 0xF0, 0x66, 0xAF, 0x7A, 0x4F, 0x35, 0xCA, 0x9D, 0x10,
0x18, 0x0C, 0xF0, 0x6A, 0x00, 0xA7, 0xE4, 0x56, 0x2B, 0x4E, 0x5C, 0xFA, 0xF0, 0x05, 0x0B, 0x45,
0x6A, 0x9D, 0x19, 0xF0, 0x64, 0x18, 0xA7, 0x6E, 0x2A, 0xF0, 0x08, 0x9D, 0x3A, 0x10, 0x18, 0xF0,
0x6B, 0x38, 0xA7, 0xF0, 0x0A, 0xE4, 0x00, 0x5D, 0x14, 0x17, 0x39, 0xF6, 0xF0, 0x64, 0x38, 0xA7,
0xF0, 0x0C, 0x9B, 0x45, 0x10, 0x19, 0xF0, 0x68, 0x04, 0x91, 0x68, 0xA7, 0x5E, 0xF0, 0x0B, 0x99,
0x4F, 0x00, 0x37, 0xF0, 0x68, 0x00, 0xA7, 0x6F, 0xA7, 0x1D, 0x25, 0xF0, 0x0D, 0x69, 0x4F, 0x5A,
0xF0, 0x65, 0x03, 0x44, 0x9F, 0x22, 0x17, 0x42, 0x4B, 0xF0, 0x0E, 0xB4, 0x02, 0x75, 0x01, 0x13,
0x38, 0x01, 0xF0, 0x4E, 0x07, 0x2E, 0x07, 0xC8, 0x01, 0x2D, 0x50, 0x00, 0xF0, 0x0F, 0x4F, 0xF9,
0x19, 0x39, 0x39, 0x4F, 0xF0, 0x60, 0xCF, 0x44, 0x20, 0x1C, 0x12, 0x5F, 0xF0, 0x12, 0x6D, 0x3C,
0x22, 0xF0, 0x64, 0x01, 0xF6, 0x6A, 0x9D, 0x1F, 0xF0, 0x0D, 0x9B, 0x46, 0x00, 0x44, 0xF0, 0x67,
0x07, 0xCC, 0x09, 0x6F, 0x3A, 0x22, 0x60, 0xF0, 0x0E, 0x4B, 0x46, 0x39, 0x6E, 0x22, 0xF0, 0x5F,
0x07, 0xEC, 0x20, 0x69, 0xF6, 0x33, 0xF0, 0x0E, 0xCB, 0x46, 0x00, 0x0A, 0x16, 0xF0, 0x67, 0x07,
0xC3, 0x0B, 0xAF, 0x5A, 0x1F, 0x61, 0x10, 0x01, 0x69, 0xF7, 0x10, 0xF0, 0x64, 0x01, 0x4F, 0x9E,
0x3D, 0x3A, 0xF0, 0x10, 0x99, 0xF7, 0x62, 0x0C, 0xF0, 0x66, 0xE4, 0x1C, 0x19, 0x63, 0x2A, 0xFA,
0xF0, 0x0C, 0x6B, 0xEE, 0x64, 0xF0, 0x63, 0x01, 0x4F, 0x6A, 0x9E, 0x22, 0xF0, 0x0F, 0x99, 0xF7,
0x00, 0x65, 0xF0, 0x66, 0x07, 0x63, 0x2B, 0x6E, 0x28, 0xF0, 0x0F, 0x6F, 0x21, 0x0B, 0x14, 0xF0,
0x63, 0x03, 0x46, 0x6F, 0xBC, 0x1B, 0x44, 0xF0, 0x0F, 0x6A, 0x9F, 0x44, 0xF0, 0x63, 0x09, 0xF7,
0x6E, 0x36, 0xF0, 0x0F, 0x6A, 0x9F, 0x31, 0xF0, 0x64, 0xE4, 0x1C, 0x1A, 0x05, 0x5C, 0xFA, 0xF0,
0x0D, 0x6D, 0x3E, 0x41, 0xF0, 0x63, 0x3F, 0x48, 0x31, 0xF0, 0x12, 0x6B, 0x47, 0x66, 0xF0, 0x63,
0x07, 0x37, 0x35, 0x6E, 0x67, 0xF0, 0x10, 0x68, 0xA8, 0x3D, 0xF0, 0x62, 0x01, 0xF7, 0x6F, 0x9A,
0x21, 0x18, 0xF0, 0x11, 0x6F, 0xD4, 0x09, 0x1F, 0xF0, 0x62, 0x00, 0xA8, 0x9E, 0x0A, 0x2A, 0xF0,
0x12, 0x3B, 0xEF, 0xF0, 0x62, 0x07, 0x8F, 0x34, 0x6E, 0x2B, 0xF0, 0x10, 0x3F, 0x2D, 0x09, 0xF0,
0x61, 0x03, 0x47, 0x98, 0x01, 0x68, 0x00, 0xF0, 0x12, 0x3C, 0x97, 0xF0, 0x61, 0x3F, 0x7E, 0x38,
0xF0, 0x12, 0x68, 0xA8, 0x3C, 0xF0, 0x66, 0x6E, 0x46, 0xF0, 0x10, 0x6D, 0x3F, 0x63, 0xF0, 0x64,
0x98, 0xA8, 0x12, 0x18, 0xF0, 0x13, 0x6E, 0x69, 0xF0, 0x62, 0x46, 0x20, 0x6E, 0x6A, 0xF0, 0x10,
0x6E, 0x5E, 0xF0, 0x63, 0x6E, 0x1C, 0xF0, 0xBC, 0x3F, 0x8F, 0x06, 0xF0, 0x62, 0xCE, 0x12, 0x18,
0x5D, 0xF0, 0x14, 0x38, 0xA8, 0xF0, 0x62, 0x02, 0xA0, 0x68, 0xA8, 0x3D, 0xF0, 0x8B, 0x0B, 0xF0,
0x6E, 0x42, 0xF0, 0x10, 0x6C, 0x98, 0x5E, 0xF0, 0x65, 0x9E, 0x19, 0x0C, 0xF0, 0x12, 0x68, 0xA8,
0x2A, 0xF0, 0x64, 0xE4, 0x1C, 0x19, 0x16, 0x10, 0xFA, 0xF0, 0x0D, 0x6E, 0x32, 0xF0, 0x67, 0x6E,
0x3C, 0xF0, 0x0F, 0x6E, 0x2B, 0xF0, 0x63, 0x46, 0x20, 0x6E, 0x6B, 0xF0, 0x0F, 0x9F, 0x1F, 0x0D,
0x00, 0x5A, 0xF0, 0x67, 0x9E, 0x17, 0x65, 0xF0, 0x11, 0x98, 0xA8, 0x00, 0x21, 0xF0, 0x66, 0xCE,
0x12, 0x18, 0x14, 0xF0, 0x14, 0x6E, 0x23, 0xF0, 0x62, 0x0B, 0xF1, 0x9E, 0x16, 0x62, 0xF0, 0x11,
0x6F, 0x5E, 0x12, 0x25, 0xF0, 0x63, 0x0B, 0x49, 0x6E, 0x6C, 0xF0, 0x0F, 0x98, 0xA8, 0x6D, 0x18,
0xF0, 0x64, 0x0A, 0xA1, 0x6E, 0x19, 0xF0, 0x0F, 0x6F, 0xB7, 0x11, 0x27, 0xF0, 0x63, 0x0F, 0x3A,
0x07, 0x9E, 0x0C, 0x37, 0xF0, 0x10, 0x6F, 0x39, 0x07, 0x6E, 0xF0, 0x63, 0x11, 0xF9, 0x6E, 0x6F,
0xF0, 0x0E, 0x68, 0xA8, 0x5C, 0xF0, 0x64, 0x09, 0xF9, 0x6D, 0xEB, 0x14, 0xF0, 0x0E, 0xC8, 0xA8,
0x32, 0x6F, 0x19, 0xF0, 0x67, 0x0B, 0xF2, 0x6E, 0x70, 0xF0, 0x0D, 0x9C, 0x99, 0x2B, 0x66, 0xF0,
0x65, 0x01, 0x51, 0xCE, 0x19, 0x17, 0x13, 0xF0, 0x12, 0x6C, 0x99, 0x03, 0xF0, 0x63, 0x15, 0xEB,
0x69, 0x51, 0x0C, 0xF0, 0x0E, 0x6F, 0x8D, 0x1B, 0x67, 0xF0, 0x64, 0x13, 0x4A, 0x9E, 0x13, 0x6A,
0xF0, 0x0E, 0x6B, 0x49, 0x35, 0xF0, 0x64, 0x09, 0x51, 0xE4, 0x19, 0x16, 0x18, 0x10, 0xFA, 0xF0,
0x09, 0x9B, 0x49, 0x2A, 0x0A, 0xF0, 0x65, 0x23, 0xF3, 0x6E, 0x2C, 0xF0, 0x0B, 0x9B, 0x49, 0x2B,
0x4F, 0xF0, 0x66, 0x1B, 0xF3, 0x39, 0xFA, 0xF0, 0x0B, 0x6B, 0x49, 0x02, 0xF0, 0x64, 0x11, 0x51,
0xE4, 0x18, 0x0C, 0x0F, 0x30, 0xFA, 0xF0, 0x08, 0x6B, 0x49, 0x61, 0xF0, 0x65, 0x13, 0x4B, 0xE4,
0x17, 0x14, 0x17, 0x01, 0xFA, 0xF0, 0x07, 0x9B, 0x49, 0x2F, 0x20, 0xF0, 0x66, 0x09, 0xFA, 0x0B,
0xF4, 0x6B, 0x4C, 0x17, 0xF0, 0x09, 0x9B, 0x49, 0x32, 0x11, 0xF0, 0x67, 0x23, 0xF4, 0x98, 0xA9,
0x13, 0x1E, 0xF0, 0x0B, 0x6B, 0x49, 0x02, 0xF0, 0x65, 0x22, 0xA3, 0x00, 0xA9, 0x6E, 0x15, 0xF0,
0x07, 0x9F, 0xF7, 0x29, 0x71, 0x18, 0xF0, 0x68, 0x0A, 0xA3, 0x08, 0xA9, 0x6A, 0xA4, 0x16, 0xF0,
0x07, 0xC8, 0xA8, 0x28, 0x65, 0x1A, 0xF0, 0x6B, 0x60, 0xA9, 0x20, 0x6E, 0x04, 0xF0, 0x05, 0x99,
0xF9, 0x35, 0x1B, 0xF0, 0x6A, 0x28, 0xA9, 0x9E, 0x0E, 0x59, 0xF0, 0x07, 0x6D, 0x42, 0x60, 0xF0,
0x66, 0x08, 0x01, 0x08, 0xA9, 0x0F, 0x40, 0x2F, 0x3A, 0xA5, 0xF0, 0x03, 0x99, 0xF9, 0x3F, 0x0A,
0xF0, 0x6A, 0x10, 0xA9, 0x46, 0x12, 0xCE, 0x13, 0x16, 0x58, 0xF0, 0x06, 0xC8, 0xA8, 0x2A, 0x58,
0x19, 0xF0, 0x6D, 0x18, 0xA9, 0x41, 0xFC, 0x17, 0x9E, 0x1E, 0x30, 0xF0, 0x03, 0x69, 0xF9, 0x10,
0xF0, 0x6A, 0x08, 0xAA, 0x4A, 0xA5, 0x1C, 0x47, 0x87, 0x36, 0x14, 0x38, 0xAA, 0xFE, 0x69, 0xF9,
0x50, 0xF0, 0x6B, 0x2A, 0xA5, 0x09, 0x53, 0xCE, 0x0D, 0x0A, 0x5E, 0xF0, 0x01, 0xC8, 0xA8, 0x2A,
0x37, 0x19, 0xF0, 0x70, 0x11, 0xFC, 0x19, 0x53, 0x3D, 0x4B, 0xFD, 0x69, 0xF9, 0x2B, 0xF0, 0x6D,
0x29, 0x53, 0xE4, 0x16, 0x13, 0x18, 0x00, 0x38, 0x01, 0xFC, 0x99, 0xF9, 0x3F, 0x0B, 0xF0, 0x6F,
0x20, 0xA9, 0xE4, 0x18, 0x16, 0x41, 0x2B, 0xFA, 0xFC, 0x9D, 0xEB, 0x32, 0x63, 0xF0, 0x6B, 0x28,
0x01, 0x17, 0x3F, 0x09, 0xA5, 0x52, 0x22, 0x9F, 0x85, 0x0A, 0x3A, 0x22, 0xF0, 0x68, 0x38, 0x01,
0xF1, 0x00, 0xA8, 0x9E, 0x72, 0x50, 0xF0, 0x02, 0xC9, 0xF9, 0x28, 0x46, 0x19, 0xF0, 0x73, 0x08,
0xA8, 0x9E, 0x31, 0x2A, 0xF0, 0x02, 0x6B, 0x4A, 0x2B, 0xF0, 0x73, 0xB6, 0x38, 0x86, 0x12, 0x19,
0x9B, 0x4A, 0x50, 0x59, 0xF0, 0x71, 0x3F, 0x87, 0x51, 0xF0, 0x05, 0x9B, 0x4A, 0x32, 0x34, 0xF0,
0x71, 0x01, 0xF7, 0xAE, 0x39, 0x86, 0x34, 0x99, 0x51, 0x43, 0x48, 0xF0, 0x6F, 0x01, 0x4F, 0xAE,
0x92, 0x98, 0x48, 0x6C, 0x9B, 0x2A, 0xF0, 0x6E, 0xAF, 0xAA, 0xA5, 0x1D, 0x9C, 0x9B, 0x40, 0x0A,
0xF0, 0x6D, 0x07, 0xD4, 0x0D, 0xAF, 0xA8, 0xA5, 0x0A, 0x9C, 0x9B, 0x28, 0x69, 0xF0, 0x6D, 0x07,
0x69, 0x14, 0xAF, 0xA9, 0xA5, 0x69, 0x99, 0x51, 0x40, 0x06, 0xF0, 0x6B, 0x04, 0x95, 0xAF, 0xE6,
0xAA, 0x06, 0x69, 0x51, 0x2F, 0xF0, 0x6A, 0x09, 0x4F, 0xA7, 0x2F, 0x9B, 0x39, 0x51, 0xF0, 0x67,
0x39, 0x4F, 0xF0, 0x0B, 0x01, 0x51, 0x6B, 0xF3, 0x67, 0xF0, 0x67, 0x39, 0x4F, 0xF0, 0x0C, 0x01,
0x51, 0x6F, 0x72, 0x10, 0x24, 0xF0, 0x65, 0x39, 0x4F, 0xF0, 0x0D, 0x03, 0xF3, 0x69, 0x51, 0x61,
0xF0, 0x65, 0x05, 0x3C, 0x69, 0x4F, 0x67, 0xF0, 0x0C, 0x07, 0xDF, 0x09, 0x6F, 0x95, 0x06, 0x5D,
0xF0, 0x63, 0x05, 0x3C, 0x69, 0x4F, 0x24, 0xF0, 0x0D, 0x07, 0x95, 0x06, 0x9F, 0x6D, 0x3A, 0x36,
0x57, 0xF0, 0x64, 0x01, 0x4F, 0x6F, 0xA6, 0x2E, 0x2A, 0xF0, 0x10, 0x9E, 0x36, 0x26, 0xF0, 0x63,
0x07, 0xDA, 0x07, 0xC8, 0x01, 0x6D, 0x43, 0x00, 0xF0, 0x13, 0xCC, 0x9C, 0x2B, 0x4E, 0x33, 0xF0,
0x63, 0x0B, 0x45, 0x6F, 0xC3, 0x56, 0x36, 0xF0, 0x12, 0x9B, 0x4B, 0x2F, 0x2D, 0xF0, 0x61, 0x01,
0x4F, 0x9E, 0x5B, 0x50, 0xF0, 0x12, 0x0B, 0x4B, 0x6E, 0x5F, 0xF0, 0x5D, 0x03, 0x45, 0x6F, 0x31,
0x52, 0x39, 0xF0, 0x15, 0xC9, 0xFA, 0x2A, 0x3E, 0x3D, 0xF0, 0x5F, 0x07, 0x66, 0x0E, 0x9F, 0xE4,
0x61, 0x57, 0x43, 0xF0, 0x18, 0xC9, 0xFA, 0x3F, 0x28, 0x57, 0xF0, 0x5E, 0x09, 0xF6, 0x3F, 0x1C,
0x56, 0xF0, 0x16, 0x99, 0xFA, 0x3A, 0x5E, 0xF0, 0x5B, 0x01, 0xF6, 0x9E, 0x25, 0x45, 0xF0, 0x16,
0x08, 0x01, 0xCF, 0x3F, 0x07, 0x32, 0x4E, 0x39, 0xF0, 0x5B, 0x01, 0xF6, 0x9E, 0x1F, 0x36, 0xF0,
0x18, 0x08, 0x01, 0xCD, 0xEE, 0x2F, 0x43, 0x1F, 0xF0, 0x5A, 0x07, 0xAC, 0x11, 0x6B, 0xEC, 0x00,
0xF0, 0x14, 0x28, 0x01, 0x9F, 0xAB, 0x41, 0x36, 0x60, 0xF0, 0x57, 0x02, 0x9D, 0x6F, 0x1D, 0x56,
0x5F, 0xF0, 0x1D, 0xC9, 0xFA, 0x2B, 0x40, 0x5F, 0xF0, 0x57, 0x05, 0xE2, 0x6F, 0xAF, 0x5A, 0x33,
0xF0, 0x1F, 0x9F, 0x97, 0x06, 0x2A, 0x3E, 0xF0, 0x54, 0x0C, 0x93, 0x6F, 0xA5, 0x5C, 0x3A, 0xF0,
0x20, 0x9F, 0x91, 0x08, 0x3F, 0x3A, 0xF0, 0x53, 0x02, 0x9D, 0x9E, 0x10, 0x43, 0xF0, 0x1D, 0x18,
0x01, 0x9A, 0xA3, 0x43, 0x2B, 0xF0, 0x51, 0x04, 0x93, 0x9F, 0x2C, 0x54, 0x5F, 0x45, 0xF0, 0x24,
0x9D, 0x46, 0x2B, 0x45, 0xF0, 0x50, 0x02, 0x9D, 0xCE, 0x39, 0x55, 0x5C, 0xF0, 0x21, 0x18, 0x01,
0xCB, 0x4C, 0x2A, 0x3E, 0x25, 0xF0, 0x4F, 0x02, 0x9D, 0x9F, 0x42, 0x5F, 0x42, 0x3A, 0xF0, 0x28,
0xCB, 0x4C, 0x2F, 0x4B, 0x41, 0xF0, 0x4D, 0x0B, 0x44, 0x6F, 0x4C, 0x5D, 0x2F, 0xF0, 0x28, 0xCB,
0x4C, 0x50, 0x3A, 0x42, 0xF0, 0x4B, 0x17, 0x37, 0x44, 0x3F, 0x57, 0x5B, 0xF0, 0x28, 0x98, 0xA9,
0x36, 0x40, 0xF0, 0x19, 0x48, 0x01, 0x20, 0x6E, 0x22, 0xF0, 0x12, 0x03, 0xEB, 0x9F, 0xDF, 0x61,
0x2B, 0x45, 0xF0, 0x2C, 0xC8, 0xA9, 0x2B, 0x3A, 0x45, 0xF0, 0x13, 0x67, 0x70, 0x4D, 0x20, 0x17,
0x17, 0x4E, 0x3F, 0x75, 0x4D, 0xF0, 0x0E, 0x01, 0x4E, 0x6F, 0x90, 0x43, 0x1A, 0xF0, 0x0D, 0x38,
0x01, 0xF0, 0x07, 0x98, 0xA9, 0x2B, 0x40, 0xF0, 0x0D, 0x5F, 0xBF, 0x4E, 0x20, 0xE4, 0x70, 0x68,
0x49, 0x04, 0x18, 0x01, 0x9F, 0xC6, 0x4E, 0x68, 0x21, 0xF0, 0x0F, 0x09, 0xF5, 0x6F, 0x37, 0x61,
0x52, 0xF0, 0x2F, 0x00, 0xA9, 0x9B, 0xF6, 0x64, 0x1C, 0xF0, 0x07, 0x17, 0xB9, 0x50, 0xE8, 0x68,
0x04, 0x73, 0x55, 0x74, 0x4C, 0x54, 0x4A, 0x18, 0x01, 0xE6, 0x4C, 0x4C, 0x53, 0x2A, 0x3C, 0x4F,
0x3F, 0x16, 0x50, 0xF0, 0x06, 0x08, 0xA7, 0xCE, 0x35, 0x3E, 0x28, 0xF0, 0x31, 0x09, 0xFB, 0x9F,
0x29, 0x4E, 0x4A, 0x03, 0xF0, 0x04, 0x11, 0x4A, 0xEC, 0x68, 0x27, 0x3E, 0x4C, 0x4A, 0x4B, 0x3E,
0x45, 0x3A, 0x36, 0x50, 0x3F, 0x08, 0x01, 0xE9, 0x50, 0x43, 0x40, 0x3E, 0x4B, 0x4D, 0x4C, 0x74,
0x34, 0x08, 0xAB, 0x39, 0x55, 0xFF, 0x0C, 0x91, 0x9D, 0x39, 0x4E, 0x4E, 0xF0, 0x26, 0x38, 0x01,
0xF4, 0xE5, 0x2B, 0x36, 0x4D, 0x34, 0x56, 0x38, 0xA9, 0xFC, 0x09, 0x4B, 0xE9, 0x1E, 0x04, 0x36,
0x4C, 0x4D, 0x3E, 0x3A, 0x3F, 0x2A, 0x3B, 0xB5, 0xF3, 0xEA, 0x2B, 0x2A, 0x2F, 0x43, 0x3E, 0x4D,
0x4C, 0x3E, 0x04, 0x2C, 0x39, 0x55, 0xFD, 0x00, 0xA6, 0xE5, 0x12, 0x75, 0x54, 0x45, 0x2A, 0xFA,
0xF0, 0x2E, 0x08, 0x01, 0xE5, 0x50, 0x55, 0x50, 0x6C, 0x1C, 0x38, 0xAA, 0xF7, 0x21, 0x4B, 0xE5,
0x4C, 0x4A, 0x3E, 0x3A, 0x2F, 0x3C, 0x59, 0xFB, 0xE8, 0x2B, 0x5C, 0x43, 0x3E, 0x4A, 0x4C, 0x44,
0x68, 0x39, 0x55, 0xF9, 0x08, 0x3B, 0xE4, 0x6C, 0x32, 0x4D, 0x3A, 0x3F, 0x5A, 0x5B, 0xF0, 0x35,
0xE5, 0x28, 0x4E, 0x54, 0x52, 0x2C, 0x38, 0x6F, 0xF2, 0x1B, 0x3A, 0xE7, 0x1E, 0x49, 0x32, 0x4C,
0x4D, 0x45, 0x3F, 0x3C, 0x57, 0xF0, 0x01, 0xE8, 0x35, 0x3F, 0x45, 0x4D, 0x4C, 0x36, 0x03, 0x1E,
0x1B, 0x56, 0x10, 0x3F, 0x08, 0x3B, 0x00, 0x3C, 0xE4, 0x2C, 0x44, 0x4C, 0x3E, 0x3F, 0xC8, 0x65,
0xF0, 0x38, 0xE6, 0x35, 0x43, 0x4B, 0x4C, 0x34, 0x47, 0x17, 0x30, 0x53, 0x10, 0x01, 0x48, 0xA5,
0x1C, 0xE5, 0x34, 0x74, 0x54, 0x55, 0x3A, 0x3F, 0x22, 0x5B, 0xF0, 0x07, 0xE7, 0x28, 0x3A, 0x3E,
0x4A, 0x74, 0x34, 0x49, 0x00, 0xE7, 0x18, 0x3E, 0x50, 0x3C, 0x1C, 0xCF, 0x9A, 0x5E, 0x73, 0x4C,
0x4B, 0xF0, 0x42, 0xE8, 0x5C, 0x40, 0x4B, 0x4C, 0x36, 0x44, 0x49, 0x68, 0x00, 0xAC, 0xEB, 0x1C,
0x2C, 0x68, 0x49, 0x3C, 0x2A, 0x74, 0x54, 0x4B, 0x4E, 0x36, 0x38, 0x6B, 0xF0, 0x0B, 0xEB, 0x32,
0x50, 0x45, 0x4B, 0x54, 0x4C, 0x36, 0x34, 0x04, 0x49, 0x68, 0x08, 0x01, 0x50, 0x3C, 0x04, 0x6B,
0xE8, 0x40, 0xF0, 0x30, 0x38, 0x01, 0xF7, 0x02, 0x6E, 0xE7, 0x4D, 0x54, 0x4C, 0x74, 0x53, 0x53,
0x53, 0x04, 0x81, 0xE5, 0x4D, 0x55, 0x45, 0x36, 0x5C, 0x39, 0x4B, 0xF0, 0x06, 0x38, 0x01, 0xE8,
0x5C, 0x36, 0x40, 0x3E, 0x4D, 0x4A, 0x54, 0x4C, 0xF4, 0x48, 0x3C, 0x4A, 0x39, 0x4C, 0xF0, 0x3B,
0x28, 0x01, 0xE7, 0x35, 0x28, 0x36, 0x40, 0x4E, 0x3E, 0x3E, 0x0C, 0x81, 0x6F, 0xEC, 0x06, 0x2F,
0xF0, 0x19, 0xE5, 0x35, 0x5C, 0x3F, 0x36, 0x3A, 0x00, 0x01, 0xCF, 0x28, 0x07, 0x43, 0x50, 0x2F,
0xF0, 0x2E, 0x38, 0x01, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xD3, 0xE1, 0x00,
0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
//
// LZVN packed data for white Apple logo (blackmode).
//
static UInt8 AppleLogoBlackPacked[ 912 ] =
{
0x68, 0x01, 0x00, 0xF0, 0xFF, 0xF0, 0xB7, 0xE4, 0x01, 0x02, 0x01, 0x00, 0xFA, 0xF0, 0x33, 0xE7,
0x03, 0x04, 0x05, 0x06, 0x06, 0x07, 0x00, 0xFA, 0xF0, 0x30, 0xE4, 0x08, 0x07, 0x05, 0x06, 0xF4,
0x38, 0x54, 0xF0, 0x31, 0x58, 0x52, 0x09, 0x38, 0x54, 0xF0, 0x31, 0xC8, 0x01, 0x01, 0x0A, 0x06,
0xF4, 0x38, 0x54, 0xF0, 0x2E, 0x68, 0xA5, 0x03, 0x00, 0x01, 0x68, 0xA5, 0x02, 0xF0, 0x2D, 0xC8,
0x01, 0x00, 0x0B, 0x06, 0xF7, 0x39, 0xF8, 0xF0, 0x2C, 0x38, 0x53, 0xF3, 0x6E, 0x0C, 0xF0, 0x2D,
0x6E, 0x0D, 0xF4, 0x9E, 0x06, 0x0E, 0xF0, 0x2E, 0x9E, 0x08, 0x0C, 0xF6, 0x9E, 0x06, 0x0D, 0xF0,
0x2D, 0x9E, 0x00, 0x0E, 0xF7, 0x6E, 0x0A, 0xF0, 0x2C, 0x6E, 0x01, 0xF5, 0x9E, 0x06, 0x0B, 0xF0,
0x2D, 0x9E, 0x00, 0x04, 0xF7, 0x6E, 0x0F, 0xF0, 0x2C, 0x38, 0xA7, 0xF5, 0x39, 0x4E, 0xF0, 0x39,
0x3B, 0x44, 0xF0, 0x2C, 0x39, 0xF5, 0xF3, 0x38, 0xFA, 0xF0, 0x2B, 0x38, 0xFB, 0xF4, 0xCE, 0x0A,
0x08, 0x00, 0xF0, 0x30, 0x6E, 0x03, 0xF3, 0x38, 0x53, 0xF0, 0x2D, 0x9E, 0x00, 0x07, 0xF4, 0x6E,
0x04, 0xF0, 0x2F, 0x38, 0x54, 0xC8, 0x01, 0x05, 0x03, 0x00, 0xF0, 0x34, 0x20, 0x54, 0x98, 0xA5,
0x05, 0x07, 0xF0, 0x32, 0x20, 0x54, 0xC8, 0x52, 0x05, 0x10, 0x0B, 0xF0, 0x37, 0x01, 0xF8, 0x98,
0x50, 0x02, 0x02, 0xF0, 0x28, 0xE4, 0x02, 0x07, 0x04, 0x0F, 0x00, 0x01, 0x9D, 0xCB, 0x10, 0x07,
0xFF, 0xE4, 0x08, 0x0B, 0x04, 0x0F, 0x11, 0x09, 0xE4, 0x06, 0x0F, 0x04, 0x09, 0x3B, 0x50, 0xF0,
0x0C, 0xC8, 0x01, 0x0B, 0x10, 0x06, 0xF6, 0x99, 0x93, 0x05, 0x04, 0xF9, 0xB1, 0x47, 0x1A, 0x08,
0x0B, 0x10, 0x01, 0x9D, 0xF0, 0x0C, 0x0E, 0xF0, 0x0A, 0x2F, 0x68, 0x07, 0x38, 0x01, 0xF1, 0x68,
0x35, 0x05, 0xF3, 0x6C, 0x49, 0x02, 0xF6, 0x20, 0x01, 0x68, 0x56, 0x04, 0xF0, 0x05, 0x68, 0x52,
0x03, 0xF9, 0x10, 0x01, 0x88, 0x36, 0x0A, 0x0B, 0x9D, 0x95, 0x0D, 0x0E, 0xF8, 0x38, 0x01, 0xF1,
0x3B, 0xFF, 0xF0, 0x00, 0x68, 0xF6, 0x08, 0xF4, 0x38, 0x01, 0xF5, 0x98, 0x6F, 0x0C, 0x0F, 0xF0,
0x00, 0x20, 0x01, 0x69, 0x58, 0x0A, 0xFF, 0x68, 0x87, 0x0D, 0xF0, 0x01, 0x38, 0x01, 0xF0, 0x09,
0x68, 0x55, 0x05, 0xFD, 0x68, 0x89, 0x0D, 0xF0, 0x05, 0x38, 0x01, 0xF0, 0x07, 0x38, 0x55, 0xFA,
0x38, 0x53, 0xF0, 0x25, 0x38, 0x55, 0xFA, 0x68, 0x53, 0x01, 0xF0, 0x28, 0x3C, 0xAF, 0xF9, 0x3A,
0x76, 0xF5, 0x38, 0x01, 0xF0, 0x1A, 0x6A, 0x53, 0x0C, 0xF7, 0x3C, 0xCB, 0xF1, 0x38, 0x01, 0xF0,
0x1E, 0x3D, 0x03, 0xF6, 0xA3, 0x04, 0x1B, 0x38, 0x01, 0xF0, 0x1A, 0x9E, 0x09, 0x00, 0xF9, 0x23,
0xC0, 0x38, 0x01, 0xF0, 0x21, 0xA3, 0xBE, 0x1F, 0x98, 0x01, 0x02, 0x06, 0xF0, 0x2A, 0x38, 0x53,
0xF7, 0x9E, 0x00, 0x10, 0xF0, 0x2A, 0x6E, 0x04, 0xF9, 0x39, 0x4E, 0xF0, 0x27, 0xA4, 0xF0, 0x24,
0x98, 0x01, 0x09, 0x06, 0xF0, 0x29, 0x3B, 0x43, 0xF9, 0x3A, 0x9C, 0xF0, 0x26, 0x38, 0xFA, 0xF8,
0x9E, 0x00, 0x08, 0xF0, 0x29, 0xA4, 0x15, 0x2E, 0xA2, 0x3D, 0x20, 0x38, 0x01, 0xF0, 0x1A, 0x38,
0xA7, 0xF9, 0x3B, 0x44, 0xF0, 0x27, 0xA4, 0xC5, 0x1F, 0x3A, 0xF1, 0xF0, 0x26, 0x68, 0x01, 0x00,
0xFB, 0x39, 0xA3, 0xF0, 0x25, 0xA4, 0x92, 0x27, 0x68, 0x01, 0x06, 0xF0, 0x26, 0xA4, 0x32, 0x1A,
0x68, 0x01, 0x06, 0xF0, 0x26, 0x38, 0x54, 0xFA, 0x3B, 0x46, 0xF0, 0x26, 0xA4, 0x61, 0x21, 0x3C,
0x41, 0xF0, 0x26, 0x38, 0x54, 0xF0, 0x8E, 0x6E, 0x09, 0xF0, 0x3B, 0x39, 0xF8, 0xF0, 0x3A, 0x6E,
0x10, 0xFB, 0x38, 0x54, 0xF0, 0x26, 0x6E, 0x0C, 0xF0, 0x3B, 0x3C, 0x97, 0xFA, 0x3B, 0xF0, 0xF0,
0x27, 0x39, 0xA5, 0xFA, 0x38, 0x54, 0xF0, 0x26, 0x38, 0xFD, 0xFA, 0x6E, 0x07, 0xF0, 0x28, 0x6E,
0x0B, 0xFA, 0xA2, 0x9A, 0x43, 0x38, 0x01, 0xF0, 0x1A, 0x38, 0xA9, 0xF9, 0xA2, 0x9F, 0x43, 0x38,
0x01, 0xF0, 0x1A, 0x3A, 0xA3, 0xF9, 0x3F, 0xD3, 0x09, 0xF0, 0x28, 0xA3, 0xE7, 0x1C, 0x3F, 0xDA,
0x08, 0xF0, 0x28, 0xAB, 0xF2, 0x34, 0x0C, 0x3F, 0xE0, 0x07, 0xF0, 0x27, 0xA4, 0xF0, 0x29, 0x6E,
0x0D, 0xF0, 0x2A, 0x38, 0x55, 0xF8, 0x6E, 0x0C, 0xF0, 0x2B, 0x69, 0x54, 0x0C, 0xF7, 0xA4, 0x2A,
0x35, 0x38, 0x01, 0xF0, 0x17, 0x39, 0xFE, 0xF4, 0x3F, 0x36, 0x08, 0xF0, 0x26, 0x20, 0x01, 0x6A,
0xFD, 0x0C, 0xF5, 0x3A, 0x4E, 0xF0, 0x28, 0x18, 0x01, 0x3C, 0xF8, 0xF2, 0xA2, 0xA7, 0x47, 0x38,
0x01, 0xF0, 0x20, 0x3C, 0x4F, 0xF2, 0x3F, 0xD0, 0x0B, 0xF0, 0x29, 0x10, 0x01, 0x3C, 0xF7, 0xF3,
0x3A, 0xF7, 0xF0, 0x28, 0x08, 0x01, 0x3D, 0xF3, 0xF4, 0x3C, 0x48, 0xF0, 0x27, 0x10, 0x01, 0xA3,
0x38, 0x26, 0x3A, 0xA3, 0xF0, 0x2B, 0x6E, 0x00, 0xF6, 0x38, 0xA9, 0xF0, 0x2A, 0x3D, 0x48, 0xF7,
0x38, 0xA9, 0xF0, 0x28, 0x3D, 0x47, 0xF8, 0x38, 0xA9, 0xF0, 0x28, 0x3D, 0xEF, 0xF9, 0x38, 0xA9,
0xF0, 0x26, 0x3D, 0xEE, 0xF9, 0x3F, 0x90, 0x08, 0xF0, 0x27, 0x6E, 0x03, 0xFC, 0x6E, 0x10, 0xF0,
0x25, 0xA4, 0x4F, 0x54, 0x6B, 0xF6, 0x08, 0xF0, 0x24, 0xAC, 0xE9, 0x20, 0x05, 0x3C, 0x9F, 0xF0,
0x25, 0xA4, 0xE5, 0x20, 0x10, 0x01, 0x3D, 0x48, 0xF0, 0x20, 0xA5, 0x37, 0x58, 0x69, 0xFC, 0x08,
0xF0, 0x20, 0xAB, 0x92, 0x1B, 0x05, 0x38, 0x01, 0x3F, 0x9A, 0x06, 0xF0, 0x1E, 0x39, 0xF4, 0xFB,
0x28, 0x01, 0x3A, 0xFA, 0xF0, 0x1C, 0xA7, 0x3C, 0x65, 0x39, 0x53, 0xF0, 0x1A, 0xA7, 0x6A, 0x5D,
0x3D, 0x4A, 0xF0, 0x18, 0xA7, 0x1F, 0x5C, 0x6F, 0x2B, 0x0E, 0x08, 0xF0, 0x18, 0x68, 0x53, 0x05,
0xF0, 0x09, 0x00, 0x55, 0x38, 0xAA, 0xF9, 0xE8, 0x0F, 0x0E, 0x09, 0x02, 0x02, 0x02, 0x0B, 0x07,
0x38, 0x1B, 0xF9, 0x6A, 0xED, 0x0A, 0xFF, 0x38, 0x01, 0xF5, 0xA3, 0xC8, 0x1B, 0xAA, 0x69, 0x5A,
0x0F, 0x68, 0x57, 0x0B, 0xF7, 0x68, 0xA6, 0x10, 0xF0, 0x0B, 0x10, 0x01, 0x6A, 0xA8, 0x03, 0xF2,
0xAB, 0x16, 0x56, 0x05, 0x9B, 0xC4, 0x01, 0x0E, 0xF4, 0x6A, 0x45, 0x0C, 0xF0, 0x05, 0x38, 0x01,
0xF5, 0x88, 0x39, 0x0B, 0x10, 0x98, 0x34, 0x0A, 0x04, 0xF0, 0x00, 0x8F, 0x62, 0x15, 0x03, 0x0E,
0x98, 0x52, 0x0F, 0x04, 0xF0, 0x16, 0x38, 0x01, 0xF0, 0xFF, 0xF0, 0x63, 0xE1, 0x00, 0x06, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
//
// LZVN packed data for white HiDPI Apple logo.
//
static UInt8 AppleLogoBlack2XPacked[ 1984 ] =
{
0x68, 0x01, 0x00, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0,
0xFF, 0xF0, 0x2D, 0xE5, 0x01, 0x02, 0x03, 0x03, 0x00, 0xFA, 0xF0, 0x85, 0xE4, 0x04, 0x05, 0x06,
0x07, 0xF3, 0x9E, 0x06, 0x00, 0xF0, 0x86, 0xE4, 0x04, 0x08, 0x09, 0x07, 0xF6, 0x9E, 0x09, 0x00,
0xF0, 0x83, 0xE4, 0x0A, 0x0B, 0x0C, 0x07, 0xFA, 0x6E, 0x00, 0xF0, 0x7F, 0xCE, 0x0D, 0x08, 0x07,
0xF9, 0x6E, 0x00, 0xF0, 0x7D, 0xCE, 0x0A, 0x0B, 0x07, 0xFB, 0x6E, 0x00, 0xF0, 0x7C, 0x6A, 0x97,
0x03, 0x30, 0x01, 0x9E, 0x0C, 0x00, 0xF0, 0x7C, 0x98, 0x9C, 0x0D, 0x06, 0x38, 0x01, 0xF2, 0x3B,
0xF0, 0xF0, 0x79, 0x69, 0x4D, 0x04, 0xF9, 0x38, 0xA8, 0xF0, 0x7B, 0x3B, 0x40, 0xF5, 0x20, 0x01,
0x9E, 0x0B, 0x00, 0xF0, 0x78, 0xCE, 0x0A, 0x0E, 0x07, 0xF0, 0x01, 0x3F, 0x90, 0x06, 0xF0, 0x75,
0x38, 0xA7, 0xFE, 0x9E, 0x07, 0x02, 0xF0, 0x77, 0x9E, 0x01, 0x09, 0xF0, 0x01, 0x3C, 0x97, 0xF0,
0x74, 0xAA, 0x05, 0x1A, 0x0A, 0x38, 0x01, 0xF3, 0x3B, 0x47, 0xF0, 0x73, 0x39, 0xF5, 0xFF, 0xCE,
0x07, 0x07, 0x0F, 0xF0, 0x77, 0x9E, 0x00, 0x06, 0xF0, 0x02, 0xCE, 0x07, 0x07, 0x0D, 0xF0, 0x76,
0x9E, 0x00, 0x0B, 0xF0, 0x02, 0x3F, 0x8E, 0x06, 0xF0, 0x74, 0x98, 0x01, 0x02, 0x07, 0xF0, 0x04,
0x39, 0xF7, 0xF0, 0x71, 0x6B, 0xEB, 0x0A, 0xF0, 0x01, 0x39, 0xF7, 0xF0, 0x74, 0xA4, 0x1F, 0x1A,
0x18, 0x01, 0x9E, 0x08, 0x00, 0xF0, 0x73, 0x39, 0xF6, 0xF0, 0x02, 0x3D, 0xE5, 0xF0, 0x72, 0x3C,
0x93, 0xF0, 0x00, 0x3D, 0x3D, 0xF0, 0x73, 0x98, 0x01, 0x03, 0x07, 0xF0, 0x05, 0x39, 0x4F, 0xF0,
0x71, 0x6E, 0x0C, 0xF0, 0x03, 0x6E, 0x10, 0xF0, 0x8F, 0x6E, 0x0D, 0xF0, 0x8E, 0x6E, 0x0B, 0xF0,
0x72, 0x3B, 0xED, 0xF0, 0x02, 0x9E, 0x0E, 0x00, 0xF0, 0x74, 0x3D, 0x3C, 0xF0, 0x02, 0x6E, 0x01,
0xF0, 0x72, 0x6E, 0x0A, 0xF0, 0x03, 0x3F, 0x29, 0x09, 0xF0, 0x72, 0x3B, 0x46, 0xF0, 0x01, 0x3F,
0x8A, 0x06, 0xF0, 0x71, 0xCE, 0x00, 0x00, 0x10, 0xF0, 0x05, 0x9E, 0x0E, 0x0A, 0xF0, 0x74, 0xCE,
0x00, 0x00, 0x09, 0xF0, 0x04, 0x38, 0xA7, 0xF0, 0x74, 0x6E, 0x01, 0xF0, 0x8E, 0x9E, 0x00, 0x0F,
0xF0, 0x90, 0x9E, 0x00, 0x05, 0xF0, 0x90, 0xA5, 0x5C, 0x34, 0x68, 0xA7, 0x08, 0xF0, 0x78, 0xA4,
0x4E, 0x27, 0x6D, 0x38, 0x09, 0xF0, 0x74, 0x20, 0x01, 0x6E, 0x07, 0xFA, 0x6F, 0x86, 0x06, 0x0E,
0xF0, 0x73, 0x30, 0x01, 0x6E, 0x07, 0xF8, 0x39, 0x4D, 0xF0, 0x7A, 0x38, 0xA8, 0xF9, 0x6A, 0x9A,
0x05, 0xF0, 0x79, 0x18, 0x01, 0x6E, 0x07, 0xF4, 0x9F, 0x53, 0x10, 0x09, 0x05, 0xF0, 0x76, 0x38,
0x01, 0xF3, 0x6E, 0x07, 0xF2, 0x99, 0x4C, 0x10, 0x03, 0xF0, 0x81, 0x08, 0x01, 0x23, 0xF0, 0x98,
0xA5, 0x0E, 0x08, 0xF0, 0x86, 0x17, 0x16, 0x1C, 0x00, 0x01, 0x39, 0xEE, 0xF0, 0x7F, 0x38, 0x01,
0xF0, 0x76, 0xE4, 0x01, 0x02, 0x04, 0x0B, 0xF4, 0x99, 0xD6, 0x02, 0x02, 0xF0, 0x1C, 0xE4, 0x01,
0x03, 0x0B, 0x06, 0x2F, 0xAE, 0x06, 0xE5, 0x06, 0x06, 0x06, 0x0B, 0x0F, 0x3F, 0x22, 0x0F, 0xF0,
0x3C, 0xBA, 0x86, 0x36, 0x02, 0x0B, 0x10, 0xCD, 0xC0, 0x0C, 0x10, 0x0F, 0xF0, 0x16, 0xBC, 0xC1,
0x27, 0x0D, 0x0F, 0x10, 0x3A, 0xC6, 0xF0, 0x36, 0xB4, 0xFB, 0x2B, 0x0D, 0x0F, 0xE4, 0x09, 0x08,
0x04, 0x00, 0x38, 0x01, 0xF0, 0x08, 0xB6, 0x81, 0x44, 0x01, 0x05, 0x9A, 0xCE, 0x0E, 0x0F, 0xF0,
0x32, 0xAE, 0xCC, 0x55, 0x03, 0x00, 0xAB, 0x39, 0xBF, 0xF0, 0x04, 0xB6, 0x9D, 0x3C, 0x0D, 0x0F,
0x18, 0x01, 0x68, 0xEE, 0x10, 0xF0, 0x0C, 0x38, 0x01, 0xF0, 0x05, 0xB6, 0x8D, 0x50, 0x0A, 0x0B,
0x10, 0x01, 0x99, 0x12, 0x0C, 0x0B, 0xF0, 0x03, 0xAD, 0x1B, 0x32, 0x03, 0x38, 0x01, 0xF3, 0xCE,
0x0C, 0x03, 0x00, 0xF0, 0x29, 0x38, 0xA6, 0xF0, 0x09, 0x10, 0x01, 0x39, 0x12, 0xFB, 0x98, 0x3D,
0x01, 0x05, 0xF0, 0x10, 0x10, 0x01, 0x38, 0xAA, 0xF0, 0x23, 0x68, 0x69, 0x0F, 0xF0, 0x12, 0x9B,
0x56, 0x09, 0x05, 0xF8, 0x9A, 0x95, 0x0A, 0x03, 0xF0, 0x06, 0x38, 0x01, 0xFA, 0x6F, 0x57, 0x09,
0x06, 0xF0, 0x20, 0x68, 0x6A, 0x01, 0xF0, 0x17, 0x9E, 0x0E, 0x0B, 0xF2, 0x69, 0xF0, 0x0A, 0xF0,
0x10, 0x38, 0x01, 0xF4, 0x9E, 0x05, 0x00, 0xF0, 0x1E, 0xA6, 0x28, 0x60, 0x38, 0x01, 0xFF, 0x85,
0x5D, 0x09, 0x06, 0x69, 0x4A, 0x08, 0xF0, 0x18, 0x30, 0x01, 0x3F, 0xAA, 0x0A, 0xF0, 0x19, 0x68,
0x6D, 0x0D, 0xF0, 0x21, 0x38, 0x01, 0xF0, 0x22, 0x6A, 0xA6, 0x09, 0xF0, 0x18, 0x6B, 0x03, 0x02,
0xF0, 0x13, 0x38, 0x01, 0xF0, 0x33, 0x3F, 0xD1, 0x13, 0xF0, 0x14, 0xA6, 0x0E, 0x53, 0x38, 0x01,
0xF0, 0x44, 0x3F, 0xDD, 0x11, 0xF0, 0x12, 0xA6, 0xCD, 0x4D, 0x38, 0x01, 0xF0, 0x47, 0x38, 0xA9,
0xF0, 0x10, 0x38, 0xA7, 0xF0, 0x63, 0x38, 0xA9, 0xF0, 0x10, 0x38, 0xA7, 0xF0, 0x65, 0x38, 0xA9,
0xF0, 0x0E, 0xA5, 0x48, 0x43, 0x38, 0x01, 0xF0, 0x52, 0x3B, 0xF6, 0xF0, 0x0A, 0x3B, 0x43, 0xF0,
0x61, 0x38, 0x01, 0x3D, 0x48, 0xF0, 0x08, 0xA6, 0x2E, 0x6D, 0x38, 0x01, 0xF0, 0x4F, 0xAF, 0x5D,
0x2A, 0x0C, 0x6D, 0x38, 0x0A, 0xF0, 0x60, 0x38, 0x01, 0xF5, 0xA7, 0x75, 0x42, 0xA6, 0xAD, 0x29,
0x38, 0x01, 0xF0, 0x50, 0xAF, 0x4D, 0x32, 0x0C, 0x3F, 0xD4, 0x07, 0xF0, 0x1A, 0x38, 0x01, 0xF0,
0x38, 0x69, 0xF6, 0x10, 0xF0, 0x08, 0xA5, 0x36, 0x58, 0x38, 0x01, 0xF0, 0x53, 0xA7, 0x47, 0x4A,
0x39, 0xF6, 0xF0, 0x6A, 0xAF, 0x1F, 0x3A, 0x09, 0x3C, 0x93, 0xF0, 0x6A, 0x6E, 0x09, 0xF0, 0x0A,
0x3B, 0xEC, 0xF0, 0x6A, 0x38, 0xA7, 0xF0, 0x09, 0x3B, 0x45, 0xF0, 0x6A, 0x38, 0xA7, 0xF0, 0x0A,
0x39, 0x4F, 0xF0, 0x69, 0x38, 0xA7, 0xF0, 0x0A, 0x39, 0x4F, 0xF0, 0x69, 0x38, 0xA7, 0xF0, 0x0B,
0x39, 0x4F, 0xF0, 0x69, 0x3F, 0x75, 0x0C, 0xF0, 0x0B, 0x3B, 0xED, 0xF0, 0x68, 0x3F, 0x6F, 0x0E,
0xF0, 0x0C, 0x3F, 0xB8, 0x0D, 0xF0, 0x5B, 0x38, 0x01, 0xF2, 0x3F, 0x44, 0x20, 0xF0, 0x0C, 0x3F,
0x8B, 0x06, 0xF0, 0x68, 0x3A, 0x9D, 0xF0, 0x0A, 0x3F, 0x1E, 0x0B, 0xF0, 0x69, 0x3F, 0x69, 0x0E,
0xF0, 0x0D, 0xA7, 0x5B, 0x4D, 0x38, 0x01, 0xF0, 0x44, 0x3F, 0xC5, 0x28, 0xF0, 0x0D, 0x39, 0xF7,
0xF0, 0x67, 0x3F, 0x5D, 0x16, 0xF0, 0x0D, 0x39, 0xF7, 0xF0, 0x66, 0x3F, 0xCE, 0x26, 0xF0, 0x0E,
0x3B, 0xEE, 0xF0, 0x66, 0x39, 0x4F, 0xF0, 0x0D, 0x6E, 0x0A, 0xF0, 0x67, 0x6E, 0x0E, 0xF0, 0x0F,
0x6E, 0x04, 0xF0, 0x67, 0x6E, 0x03, 0xF0, 0x0E, 0x3A, 0x9F, 0xF0, 0x66, 0x3F, 0xE0, 0x35, 0xF0,
0x0F, 0x3F, 0xC9, 0x0B, 0xF0, 0x65, 0x3F, 0x53, 0x12, 0xF0, 0x0F, 0x68, 0x01, 0x07, 0xF0, 0x66,
0x3F, 0xF0, 0x18, 0xF0, 0x0E, 0x3D, 0x3E, 0xF0, 0x65, 0x39, 0xF7, 0xF0, 0x0F, 0x3B, 0x47, 0xF0,
0x65, 0x3F, 0xBC, 0x2A, 0xF0, 0x0F, 0x3F, 0x23, 0x0B, 0xF0, 0x65, 0x3F, 0x9A, 0x21, 0xF0, 0x0F,
0x3F, 0x4A, 0x14, 0xF0, 0x65, 0x3D, 0xE5, 0xF0, 0x0D, 0x3B, 0xEF, 0xF0, 0x67, 0x6E, 0x00, 0xF0,
0x10, 0x6E, 0x0E, 0xF0, 0x65, 0x3F, 0xF0, 0x31, 0xF0, 0x10, 0x68, 0x01, 0x07, 0xF0, 0x65, 0x3F,
0x52, 0x2F, 0xF0, 0x10, 0x68, 0x01, 0x07, 0xF0, 0x65, 0x3B, 0xEF, 0xF0, 0x0F, 0x38, 0xA8, 0xF0,
0x65, 0x6E, 0x0B, 0xF0, 0x10, 0x6E, 0x02, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0x81, 0x6E,
0x05, 0xF0, 0x8F, 0x6E, 0x06, 0xF0, 0xFF, 0xF0, 0x28, 0x3F, 0x88, 0x08, 0xF0, 0x10, 0x68, 0x01,
0x07, 0xF0, 0x66, 0x3F, 0xBC, 0x26, 0xF0, 0x0F, 0x68, 0x01, 0x07, 0xF0, 0x66, 0x3F, 0x80, 0x0A,
0xF0, 0x0F, 0x6E, 0x07, 0xF0, 0x66, 0x3C, 0x99, 0xF0, 0x0F, 0x6E, 0x0C, 0xF0, 0x66, 0x3B, 0x49,
0xF0, 0x0F, 0x6E, 0x06, 0xF0, 0x8F, 0x38, 0xA8, 0xF0, 0x66, 0x6E, 0x04, 0xF0, 0x0F, 0x6E, 0x0B,
0xF0, 0x67, 0x6E, 0x08, 0xF0, 0x8F, 0x6E, 0x09, 0xF0, 0x0F, 0x3D, 0xE9, 0xF0, 0x66, 0x3F, 0xB0,
0x13, 0xF0, 0x0E, 0x3F, 0xF6, 0x16, 0xF0, 0x67, 0x3B, 0xF2, 0xF0, 0x0E, 0x68, 0x01, 0x07, 0xF0,
0x68, 0x3D, 0xEB, 0xF0, 0x0D, 0x3F, 0xE5, 0x1A, 0xF0, 0x67, 0x39, 0x51, 0xF0, 0x0D, 0x6E, 0x10,
0xF0, 0x8F, 0x3F, 0x2C, 0x1E, 0xF0, 0x68, 0x39, 0x51, 0xF0, 0x0C, 0x3B, 0xF1, 0xF0, 0x67, 0x3F,
0xB5, 0x13, 0xF0, 0x0D, 0x3F, 0xF0, 0x18, 0xF0, 0x66, 0x0D, 0x44, 0x6E, 0x0A, 0xF0, 0x0C, 0x3F,
0x37, 0x1C, 0xF0, 0x66, 0x39, 0xFA, 0xF0, 0x0E, 0x3F, 0x4C, 0x29, 0xF0, 0x67, 0x39, 0xFA, 0xF0,
0x0D, 0x3F, 0xA6, 0x28, 0xF0, 0x6B, 0x3B, 0xF4, 0xF0, 0x09, 0x3F, 0x7F, 0x1F, 0xF0, 0x68, 0x0A,
0xA3, 0x6E, 0x01, 0xF0, 0x0A, 0x3F, 0xA8, 0x28, 0xF0, 0x6B, 0x3B, 0x4C, 0xF0, 0x09, 0x3A, 0xA1,
0xF0, 0x6A, 0x3F, 0x87, 0x3C, 0xF0, 0x0A, 0x3A, 0xA1, 0xF0, 0x6B, 0x00, 0xA9, 0x6E, 0x0D, 0xF0,
0x07, 0x9E, 0x0D, 0x07, 0xF0, 0x70, 0x3A, 0xA4, 0xF0, 0x07, 0x3F, 0x8B, 0x08, 0xF0, 0x67, 0x20,
0x01, 0xAF, 0x14, 0x32, 0x09, 0x3F, 0xE3, 0x07, 0xF0, 0x68, 0x28, 0x01, 0xA6, 0x63, 0x4C, 0x3C,
0x9A, 0xF0, 0x6B, 0x18, 0x01, 0x3A, 0xA5, 0xF0, 0x04, 0x3F, 0x3B, 0x07, 0xF0, 0x69, 0x28, 0x01,
0xA6, 0x92, 0xF7, 0x3F, 0xE0, 0x2F, 0xF0, 0x69, 0x38, 0x01, 0xAD, 0x73, 0x1A, 0x0E, 0x39, 0xF9,
0xF0, 0x71, 0x08, 0x01, 0x68, 0xAA, 0x06, 0xF0, 0x01, 0x39, 0xF9, 0xF0, 0x71, 0x10, 0x01, 0xA5,
0xC5, 0xDC, 0x3B, 0xF2, 0xF0, 0x70, 0x20, 0x01, 0x38, 0xA8, 0xFD, 0x6E, 0x0D, 0xF0, 0x77, 0xA5,
0xFA, 0x41, 0x3F, 0x67, 0x12, 0xF0, 0x66, 0x38, 0x01, 0xF5, 0x3D, 0x48, 0xFF, 0x3F, 0xE4, 0x07,
0xF0, 0x6D, 0x28, 0x01, 0xA5, 0x0B, 0x1D, 0x3F, 0xDD, 0x09, 0xF0, 0x6B, 0x28, 0x01, 0xA6, 0x5C,
0x7E, 0x3D, 0x43, 0xF0, 0x73, 0x3D, 0xEC, 0xF0, 0x01, 0x3B, 0x4A, 0xF0, 0x73, 0xA6, 0x2D, 0x2A,
0x3F, 0x18, 0x11, 0xF0, 0x68, 0x30, 0x01, 0xA6, 0x52, 0x54, 0x3F, 0x70, 0x10, 0xF0, 0x69, 0x28,
0x01, 0xA6, 0x57, 0x37, 0x3F, 0x86, 0x0A, 0xF0, 0x6E, 0xA7, 0xA9, 0xA5, 0x3C, 0x9B, 0xF0, 0x6F,
0x98, 0x01, 0x03, 0x00, 0xF0, 0x08, 0x3F, 0xE5, 0x07, 0xF0, 0x6D, 0xA7, 0xB2, 0x90, 0x39, 0x51,
0xF0, 0x6D, 0x39, 0x4F, 0xF0, 0x06, 0x39, 0x51, 0xF0, 0x6D, 0x3F, 0x7B, 0x25, 0xF0, 0x09, 0x39,
0x51, 0xF0, 0x6B, 0x39, 0x4F, 0xF0, 0x08, 0x39, 0x51, 0xF0, 0x6B, 0x3F, 0xCA, 0x26, 0xF0, 0x0B,
0x3F, 0x54, 0x2D, 0xF0, 0x66, 0x3F, 0xA7, 0x19, 0xF0, 0x0F, 0x3F, 0xDF, 0x09, 0xF0, 0x67, 0x39,
0x4F, 0xF0, 0x0B, 0x3F, 0x95, 0x06, 0xF0, 0x69, 0x3F, 0xEF, 0x1C, 0xF0, 0x0E, 0x6E, 0x08, 0xF0,
0x66, 0x3F, 0xF5, 0x1A, 0xF0, 0x0E, 0x3F, 0x83, 0x36, 0xF0, 0x66, 0x3F, 0x98, 0x47, 0xF0, 0x10,
0x3F, 0x25, 0x51, 0xFE, 0x38, 0x01, 0xF0, 0x4B, 0x3F, 0xCF, 0x24, 0xF0, 0x0F, 0x3B, 0x4B, 0xF0,
0x64, 0x6F, 0xF8, 0x18, 0x0C, 0xF0, 0x0D, 0x20, 0x01, 0x3F, 0x74, 0x10, 0xF0, 0x61, 0x3B, 0x45,
0xF0, 0x0E, 0x18, 0x01, 0x3F, 0xCC, 0x0F, 0xF0, 0x5F, 0x3F, 0x08, 0x5A, 0xF0, 0x16, 0x3F, 0x89,
0x0A, 0xF0, 0x5D, 0x69, 0xF6, 0x09, 0xF0, 0x14, 0x08, 0x01, 0x6B, 0xF4, 0x0D, 0xF0, 0x5E, 0x39,
0xF6, 0xF0, 0x14, 0x08, 0x01, 0x3F, 0x90, 0x08, 0xF0, 0x5B, 0x3B, 0xEC, 0xF0, 0x12, 0x28, 0x01,
0x3F, 0xD4, 0x0D, 0xF0, 0x59, 0x69, 0xF6, 0x0C, 0xF0, 0x18, 0x08, 0x01, 0x6F, 0x39, 0x09, 0x0A,
0xF0, 0x5A, 0xA7, 0x11, 0x61, 0x38, 0x01, 0xFC, 0x3F, 0xE8, 0x07, 0xF0, 0x57, 0x3F, 0xC0, 0x26,
0xF0, 0x0F, 0x38, 0x01, 0xF5, 0x3C, 0x9D, 0xF0, 0x55, 0x3F, 0xD8, 0x07, 0xF0, 0x0F, 0x38, 0x01,
0xF7, 0x3F, 0x97, 0x06, 0xF0, 0x53, 0x6A, 0x9D, 0x09, 0xF0, 0x1C, 0x18, 0x01, 0x3F, 0x91, 0x08,
0xF0, 0x53, 0x3F, 0x2E, 0x1E, 0xF0, 0x09, 0x38, 0x01, 0xFF, 0x3F, 0x40, 0x07, 0xF0, 0x51, 0x3A,
0x9D, 0xF0, 0x1E, 0x18, 0x01, 0x3D, 0x46, 0xF0, 0x4F, 0x3F, 0x38, 0x61, 0xF0, 0x26, 0x3F, 0x6B,
0x14, 0xF0, 0x4D, 0x3F, 0xB0, 0x5A, 0xF0, 0x28, 0x3F, 0xDD, 0x0B, 0xF0, 0x4B, 0x6F, 0x1C, 0x0B,
0x09, 0xF0, 0x12, 0x38, 0x01, 0xFE, 0x6F, 0x92, 0x08, 0x0A, 0xF0, 0x4B, 0x6D, 0xE1, 0x09, 0xF0,
0x1E, 0x38, 0x01, 0xF4, 0x38, 0xA9, 0xF0, 0x49, 0x38, 0xA7, 0xF0, 0x2A, 0x38, 0xA9, 0xF0, 0x49,
0x3F, 0xAF, 0x0F, 0xF0, 0x0C, 0x38, 0x01, 0xF0, 0x08, 0x38, 0xA9, 0xF0, 0x10, 0xE4, 0x0C, 0x06,
0x08, 0x0B, 0x18, 0x01, 0x68, 0x34, 0x06, 0xF0, 0x11, 0x6D, 0x39, 0x09, 0xF0, 0x24, 0x38, 0x01,
0xF4, 0x6F, 0x3C, 0x09, 0x0A, 0xF0, 0x0C, 0x9F, 0x5D, 0x57, 0x06, 0x0B, 0xF9, 0x98, 0x37, 0x01,
0x0F, 0xF0, 0x0E, 0x69, 0xF5, 0x09, 0xF0, 0x2E, 0x20, 0x01, 0x3C, 0x9F, 0xF0, 0x06, 0x6F, 0x11,
0x57, 0x06, 0xFF, 0x68, 0xAB, 0x04, 0xF0, 0x08, 0x3F, 0x41, 0x5F, 0xF0, 0x36, 0xAE, 0x0C, 0x1D,
0x04, 0x9C, 0x57, 0x09, 0x0B, 0xF0, 0x05, 0x3F, 0x21, 0x74, 0xF4, 0x38, 0x01, 0xF6, 0x3F, 0x86,
0x06, 0xF0, 0x24, 0x38, 0x01, 0xFA, 0xAD, 0x55, 0x22, 0x0D, 0x6B, 0x07, 0x06, 0xF0, 0x09, 0x68,
0x3B, 0x03, 0xF0, 0x01, 0x39, 0xF4, 0xF0, 0x33, 0x28, 0x01, 0x69, 0x19, 0x02, 0xFB, 0x98, 0x6B,
0x09, 0x08, 0xF0, 0x0F, 0x6F, 0xAB, 0x56, 0x0D, 0xFC, 0x6B, 0xE8, 0x0C, 0xF0, 0x30, 0x38, 0x01,
0xF7, 0x3A, 0x6E, 0xF5, 0x3F, 0x3F, 0x59, 0xF0, 0x0C, 0x20, 0x01, 0x98, 0xE7, 0x04, 0x08, 0xF7,
0x3F, 0xD0, 0x58, 0xF0, 0x06, 0x38, 0x01, 0xF0, 0x25, 0xC9, 0xC5, 0x0D, 0x03, 0x08, 0xF1, 0x04,
0x81, 0x69, 0xB5, 0x0F, 0xF0, 0x19, 0xE5, 0x0D, 0x04, 0x0B, 0x08, 0x06, 0x08, 0x01, 0x99, 0xF1,
0x0B, 0x0F, 0xF0, 0x3F, 0x38, 0x01, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF, 0xF0, 0xFF,
0xF0, 0xFF, 0xF1, 0xE2, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
trunk/i386/boot2/options.c
813813
814814
815815
816
816
817817
818818
819819
......
11311131
11321132
11331133
1134
1134
11351135
11361136
11371137
......
11601160
11611161
11621162
1163
1163
11641164
11651165
11661166
// ensure we're in graphics mode if gui is setup
if (firstRun && gui.initialised && bootArgs->Video.v_display == VGA_TEXT_MODE)
{
setVideoMode(GRAPHICS_MODE, 0);
setVideoMode( GRAPHICS_MODE );
}
// Clear command line boot arguments
{
if (bootArgs->Video.v_display != VGA_TEXT_MODE)
{
setVideoMode(VGA_TEXT_MODE, 0);
setVideoMode( VGA_TEXT_MODE );
setCursorPosition(0, 0, 0);
clearScreenRows(0, kScreenLastRow);
else
{
gui.redraw = true;
setVideoMode(GRAPHICS_MODE, 0);
setVideoMode( GRAPHICS_MODE );
updateVRAM();
updateGraphicBootPrompt();
}
trunk/CHANGES
11
22
3
34
45
56
- Micky1979 : Added support for Sierra
- Zenith432 : HDA bus scans and codecs enumeration.
- Pike R. Alpha : Add support for (LZVN) grey logo.
- Slice : Added NvidiaSingle
- cparm : Rock - Paper - Scissors algo
- Bronya : Improve support for AMD CPU.

Archive Download the corresponding diff file

Revision: 2860