• R/O
  • SSH
  • HTTPS

peframework: Commit


Commit MetaInfo

Revision26 (tree)
Time2019-02-11 23:30:05
Authorquiret

Log Message

- removed straw new/delete operator calls inside of PEFramework and redirected them into the new memory module
- removed the .filters file because it turned annoying due to MSVC bugs
- added basic unit tests

Change Summary

Incremental Difference

--- library/include/peloader.h (revision 25)
+++ library/include/peloader.h (revision 26)
@@ -1607,7 +1607,7 @@
16071607 // dynamically allocated.
16081608 for ( PEResourceItem *item : this->namedChildren )
16091609 {
1610- delete item;
1610+ eir::static_del_struct <PEResourceItem, PEGlobalStaticAllocator> ( nullptr, item );
16111611 }
16121612
16131613 this->namedChildren.Clear();
@@ -1614,7 +1614,7 @@
16141614
16151615 for ( PEResourceItem *item : this->idChildren )
16161616 {
1617- delete item;
1617+ eir::static_del_struct <PEResourceItem, PEGlobalStaticAllocator> ( nullptr, item );
16181618 }
16191619
16201620 this->idChildren.Clear();
--- library/src/peloader.cpp (revision 25)
+++ library/src/peloader.cpp (revision 26)
@@ -29,10 +29,12 @@
2929 chars |= PEL_IMAGE_FILE_EXECUTABLE_IMAGE;
3030 }
3131
32+#ifdef _PEFRAMEWORK_ENABLE_DEPRECATED_FEATURES
3233 if ( this->HasLinenumberInfo() == false )
3334 {
3435 chars |= PEL_IMAGE_FILE_LINE_NUMS_STRIPPED;
3536 }
37+#endif //_PEFRAMEWORK_ENABLE_DEPRECATED_FEATURES
3638
3739 if ( !this->pe_finfo.hasLocalSymbols )
3840 {
@@ -745,7 +747,7 @@
745747
746748 item->ownerImage = nullptr;
747749
748- delete item;
750+ eir::static_del_struct <PESection, PEGlobalStaticAllocator> ( nullptr, item );
749751
750752 LIST_FOREACH_END
751753
@@ -792,7 +794,7 @@
792794 }
793795
794796 // We need to move the section into memory we control.
795- PESection *ourSect = new PESection( std::move( theSection ) );
797+ PESection *ourSect = eir::static_new_struct <PESection, PEGlobalStaticAllocator> ( nullptr, std::move( theSection ) );
796798
797799 // Since we did find some space lets register the new section candidate.
798800 ourSect->virtualAddr = allocInfo.slice.GetSliceStartPoint();
@@ -834,7 +836,7 @@
834836 }
835837
836838 // Now put the section into our space.
837- PESection *ourSect = new PESection( std::move( theSection ) );
839+ PESection *ourSect = eir::static_new_struct <PESection, PEGlobalStaticAllocator> ( nullptr, std::move( theSection ) );
838840
839841 ourSect->virtualAddr = std::move( alignSectOffset );
840842 ourSect->virtualSize = std::move( alignSectSize );
--- library/src/peloader.read.cpp (revision 25)
+++ library/src/peloader.read.cpp (revision 26)
@@ -1143,7 +1143,7 @@
11431143 subDirData
11441144 );
11451145
1146- return new PEResourceDir( std::move( subDir ) );
1146+ return eir::static_new_struct <PEResourceDir, PEGlobalStaticAllocator> ( nullptr, std::move( subDir ) );
11471147 }
11481148 else
11491149 {
@@ -1175,7 +1175,7 @@
11751175 resItem.codePage = itemData.CodePage;
11761176 resItem.reserved = itemData.Reserved;
11771177
1178- return new PEResourceInfo( std::move( resItem ) );
1178+ return eir::static_new_struct <PEResourceInfo, PEGlobalStaticAllocator> ( nullptr, std::move( resItem ) );
11791179 }
11801180 };
11811181
@@ -1220,7 +1220,7 @@
12201220 }
12211221 catch( ... )
12221222 {
1223- delete resItem;
1223+ eir::static_del_struct <PEResourceItem, PEGlobalStaticAllocator> ( nullptr, resItem );
12241224
12251225 throw;
12261226 }
@@ -1251,7 +1251,7 @@
12511251 }
12521252 catch( ... )
12531253 {
1254- delete resItem;
1254+ eir::static_del_struct <PEResourceItem, PEGlobalStaticAllocator> ( nullptr, resItem );
12551255
12561256 throw;
12571257 }
--- library/src/peloader.write.cpp (revision 25)
+++ library/src/peloader.write.cpp (revision 26)
@@ -117,7 +117,7 @@
117117 {
118118 item_allocInfo *childItem = node->GetValue();
119119
120- delete childItem;
120+ eir::static_del_struct <item_allocInfo, PEGlobalStaticAllocator> ( nullptr, childItem );
121121 }
122122
123123 this->children.Clear();
@@ -696,7 +696,7 @@
696696 childAlloc.name_off = 0;
697697
698698 // Create a memory copy of it.
699- item_allocInfo *memChildAlloc = new item_allocInfo( std::move( childAlloc ) );
699+ item_allocInfo *memChildAlloc = eir::static_new_struct <item_allocInfo, PEGlobalStaticAllocator> ( nullptr, std::move( childAlloc ) );
700700
701701 assert( memChildAlloc != nullptr );
702702
@@ -707,7 +707,7 @@
707707 }
708708 catch( ... )
709709 {
710- delete memChildAlloc;
710+ eir::static_del_struct <item_allocInfo, PEGlobalStaticAllocator> ( nullptr, memChildAlloc );
711711
712712 throw;
713713 }
@@ -724,7 +724,7 @@
724724 childAlloc.name_off = 0;
725725
726726 // Create a memory item.
727- item_allocInfo *memChildAlloc = new item_allocInfo( std::move( childAlloc ) );
727+ item_allocInfo *memChildAlloc = eir::static_new_struct <item_allocInfo, PEGlobalStaticAllocator> ( nullptr, std::move( childAlloc ) );
728728
729729 assert( memChildAlloc != nullptr );
730730
@@ -734,7 +734,7 @@
734734 }
735735 catch( ... )
736736 {
737- delete memChildAlloc;
737+ eir::static_del_struct <item_allocInfo, PEGlobalStaticAllocator> ( nullptr, memChildAlloc );
738738
739739 throw;
740740 }
@@ -1749,8 +1749,14 @@
17491749
17501750 LIST_FOREACH_BEGIN( PESection, this->sections.sectionList.root, sectionNode )
17511751
1752+ // The Windows binary writer uses a weird logic for determining an optimized virtual size for sections.
1753+ // At first glance it seems to remove any zero-bytes at the end of the stream. But if you examine the
1754+ // "write.exe" inside of our unit test deserialization samples you see that the third section header
1755+ // does not follow that rule. Thus I decided to write CLEAN virtual sizes, neglecting what the Windows
1756+ // PE writer does.
1757+
17521758 // Allocate this section.
1753- const std::uint32_t allocVirtualSize = ALIGN_SIZE( item->GetVirtualSize(), sectionAlignment );
1759+ const std::uint32_t allocVirtualSize = item->GetVirtualSize();
17541760 const std::uint32_t rawDataSize = (std::uint32_t)item->stream.Size();
17551761
17561762 std::uint32_t sectOffset = allocMan.AllocateAny( rawDataSize, this->peOptHeader.fileAlignment );
@@ -2029,7 +2035,7 @@
20292035 #pragma pack(1)
20302036 struct
20312037 {
2032- std::uint16_t Magic;
2038+ endian::little_endian <std::uint16_t> Magic;
20332039 PEStructures::IMAGE_OPTIONAL_HEADER64 optHeader;
20342040 decltype( peDataDirs ) dataDirs;
20352041 } headerData;
@@ -2125,6 +2131,6 @@
21252131 }
21262132
21272133 peStream->Seek( 0 );
2128- peStream->Write( &dos_header,sizeof( dos_header ) );
2134+ peStream->Write( &dos_header, sizeof( dos_header ) );
21292135 peStream->Write( this->dos_data.progData.GetData(), this->dos_data.progData.GetCount() );
21302136 }
\ No newline at end of file
--- unittest/src/main.cpp (revision 25)
+++ unittest/src/main.cpp (revision 26)
@@ -1,6 +1,14 @@
11 #include <peframework.h>
22
3+extern void PEFILE_BASIC_TESTS( void );
4+extern void PEFILE_DESERIALIZE_TESTS( void );
5+extern void PEFILE_SERIALIZE_TESTS( void );
6+
37 int main( int argc, char *argv[] )
48 {
9+ PEFILE_BASIC_TESTS();
10+ PEFILE_DESERIALIZE_TESTS();
11+ PEFILE_SERIALIZE_TESTS();
12+
513 return 0;
614 }
\ No newline at end of file
--- unittest/src/pefile_basic.cpp (nonexistent)
+++ unittest/src/pefile_basic.cpp (revision 26)
@@ -0,0 +1,151 @@
1+#include <peframework.h>
2+
3+#include <sdk/NumericFormat.h>
4+
5+void PEFILE_BASIC_TESTS( void )
6+{
7+ printf( "testing PEFile construction..." );
8+ {
9+ PEFile image;
10+
11+ assert( image.HasRelocationInfo() == false );
12+ assert( image.HasLinenumberInfo() == false );
13+ assert( image.HasDebugInfo() == false );
14+ assert( image.IsDynamicLinkLibrary() == false );
15+
16+ assert( image.GetSectionCount() == 0 );
17+
18+ // By default we create PE32 images.
19+ assert( image.isExtendedFormat == false );
20+ }
21+ printf( "ok.\n" );
22+
23+ printf( "testing PEFile add section..." );
24+ {
25+ PEFile image;
26+ {
27+ PEFile::PESection section;
28+ section.shortName = ".meow";
29+ section.stream.WriteUInt32( 0x12345678 );
30+ section.Finalize();
31+
32+ image.AddSection( std::move( section ) );
33+
34+ assert( image.GetSectionCount() == 1 );
35+ }
36+ for ( auto iter = image.GetSectionIterator(); !iter.IsEnd(); iter.Increment() )
37+ {
38+ PEFile::PESection *theSect = iter.Resolve();
39+
40+ assert( theSect->shortName == ".meow" );
41+ assert( theSect->stream.Size() == 4 );
42+
43+ theSect->stream.Seek( 0 );
44+ assert( theSect->stream.ReadUInt32_EX() == 0x12345678 );
45+ }
46+ }
47+ printf( "ok.\n" );
48+
49+ printf( "testing PEFile add empty section..." );
50+ {
51+ PEFile image;
52+
53+ PEFile::PESection section;
54+ section.Finalize();
55+
56+ image.AddSection( std::move( section ) );
57+
58+ // Empty sections are actually invalid inside PE images.
59+ assert( image.GetSectionCount() == 0 );
60+ }
61+ printf( "ok.\n" );
62+
63+ printf( "testing PEFile place section..." );
64+ {
65+ PEFile image;
66+
67+ PEFile::PESection section;
68+ section.shortName = ".placed";
69+ section.stream.WriteUInt32( 0x12345678 );
70+ section.Finalize();
71+ section.SetPlacementInfo( 0x6000, section.GetVirtualSize() );
72+
73+ image.PlaceSection( std::move( section ) );
74+
75+ assert( image.GetSectionCount() == 1 );
76+ }
77+ printf( "ok.\n" );
78+
79+ printf( "testing PEFile add many sections..." );
80+ {
81+ PEFile image;
82+
83+ static constexpr size_t NUM_ADD_SECT = 10;
84+
85+ for ( size_t n = 0; n < NUM_ADD_SECT; n++ )
86+ {
87+ PEFile::PESection section;
88+ section.shortName += ".sect";
89+ section.shortName += eir::to_string <char, PEGlobalStaticAllocator> ( n );
90+ section.stream.WriteUInt8( (uint8_t)n );
91+ section.Finalize();
92+
93+ image.AddSection( std::move( section ) );
94+ }
95+
96+ assert( image.GetSectionCount() == NUM_ADD_SECT );
97+
98+ size_t n = 0;
99+
100+ for ( auto iter = image.GetSectionIterator(); !iter.IsEnd(); iter.Increment(), n++ )
101+ {
102+ PEFile::PESection *theSect = iter.Resolve();
103+
104+ auto expShortName = ( peString <char> ( ".sect" ) + eir::to_string <char, PEGlobalStaticAllocator> ( n ) );
105+
106+ assert( theSect->shortName == expShortName );
107+ }
108+ }
109+ printf( "ok.\n" );
110+
111+ printf( "testing PEFile fetch RVA into section..." );
112+ {
113+ PEFile image;
114+
115+ // First add some sections.
116+ {
117+ static const char test_data[] = "hello this is a nice pe file section content pls read it";
118+
119+ PEFile::PESection theSection;
120+ theSection.shortName = "test";
121+ theSection.stream.Write( test_data, sizeof(test_data) );
122+ theSection.Finalize();
123+ theSection.SetPlacementInfo( 0x10000, theSection.GetVirtualSize() );
124+
125+ image.PlaceSection( std::move( theSection ) );
126+
127+ PEFile::PESection otherSection;
128+ otherSection.shortName = "zonk";
129+ otherSection.stream.WriteUInt32( 0xcafebabe );
130+ otherSection.Finalize();
131+
132+ image.AddSection( std::move( otherSection ) );
133+ }
134+
135+ // Now query by the RVA.
136+ {
137+ PEFile::PESection *theSect = image.FindSectionByRVA( 0x10000 );
138+
139+ assert( theSect != nullptr );
140+ assert( theSect->shortName == "test" );
141+
142+ // Also inside the section should work.
143+ assert( image.FindSectionByRVA( 0x10001 ) == theSect );
144+ assert( image.FindSectionByRVA( 0x10010 ) == theSect );
145+
146+ // Query RVA offsets.
147+ assert( theSect->ResolveRVA( 0x10 ) == 0x10010 );
148+ }
149+ }
150+ printf( "ok.\n" );
151+}
\ No newline at end of file
--- unittest/src/pefile_deserialize.cpp (nonexistent)
+++ unittest/src/pefile_deserialize.cpp (revision 26)
@@ -0,0 +1,990 @@
1+#include <peframework.h>
2+
3+#include "utils.hxx"
4+
5+// "write.exe" from Windows 10, 1809
6+static const unsigned char _write_exe_sample[] =
7+{
8+ 0x4D, 0x5A, 0x90, 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00,
9+ 0xFF, 0xFF, 0x00, 0x00, 0xB8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
10+ 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
11+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
12+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
13+ 0xF0, 0x00, 0x00, 0x00, 0x0E, 0x1F, 0xBA, 0x0E, 0x00, 0xB4, 0x09, 0xCD,
14+ 0x21, 0xB8, 0x01, 0x4C, 0xCD, 0x21, 0x54, 0x68, 0x69, 0x73, 0x20, 0x70,
15+ 0x72, 0x6F, 0x67, 0x72, 0x61, 0x6D, 0x20, 0x63, 0x61, 0x6E, 0x6E, 0x6F,
16+ 0x74, 0x20, 0x62, 0x65, 0x20, 0x72, 0x75, 0x6E, 0x20, 0x69, 0x6E, 0x20,
17+ 0x44, 0x4F, 0x53, 0x20, 0x6D, 0x6F, 0x64, 0x65, 0x2E, 0x0D, 0x0D, 0x0A,
18+ 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x21, 0x54, 0x6F, 0xB1,
19+ 0x65, 0x35, 0x01, 0xE2, 0x65, 0x35, 0x01, 0xE2, 0x65, 0x35, 0x01, 0xE2,
20+ 0x00, 0x53, 0x04, 0xE3, 0x64, 0x35, 0x01, 0xE2, 0x00, 0x53, 0x02, 0xE3,
21+ 0x67, 0x35, 0x01, 0xE2, 0x00, 0x53, 0x05, 0xE3, 0x74, 0x35, 0x01, 0xE2,
22+ 0x65, 0x35, 0x00, 0xE2, 0x46, 0x35, 0x01, 0xE2, 0x00, 0x53, 0x00, 0xE3,
23+ 0x62, 0x35, 0x01, 0xE2, 0x00, 0x53, 0x09, 0xE3, 0x64, 0x35, 0x01, 0xE2,
24+ 0x00, 0x53, 0xFE, 0xE2, 0x64, 0x35, 0x01, 0xE2, 0x00, 0x53, 0x03, 0xE3,
25+ 0x64, 0x35, 0x01, 0xE2, 0x52, 0x69, 0x63, 0x68, 0x65, 0x35, 0x01, 0xE2,
26+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
27+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
28+ 0x50, 0x45, 0x00, 0x00, 0x64, 0x86, 0x06, 0x00, 0xEF, 0xF0, 0x0F, 0x92,
29+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0, 0x00, 0x22, 0x00,
30+ 0x0B, 0x02, 0x0E, 0x0D, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00,
31+ 0x00, 0x00, 0x00, 0x00, 0x20, 0x14, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
32+ 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00,
33+ 0x00, 0x02, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00,
34+ 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00,
35+ 0x00, 0x04, 0x00, 0x00, 0x81, 0x6D, 0x00, 0x00, 0x02, 0x00, 0x60, 0xC1,
36+ 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00,
37+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,
38+ 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
39+ 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
40+ 0xDC, 0x25, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00,
41+ 0xB0, 0x0D, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0xCC, 0x00, 0x00, 0x00,
42+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00,
43+ 0x20, 0x00, 0x00, 0x00, 0xB0, 0x22, 0x00, 0x00, 0x54, 0x00, 0x00, 0x00,
44+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
45+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
46+ 0x10, 0x20, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
47+ 0x00, 0x00, 0x00, 0x00, 0x18, 0x21, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00,
48+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
49+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
50+ 0x2E, 0x74, 0x65, 0x78, 0x74, 0x00, 0x00, 0x00, 0xD0, 0x09, 0x00, 0x00,
51+ 0x00, 0x10, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
52+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
53+ 0x20, 0x00, 0x00, 0x60, 0x2E, 0x72, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00,
54+ 0x94, 0x09, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00,
55+ 0x00, 0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
56+ 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x2E, 0x64, 0x61, 0x74,
57+ 0x61, 0x00, 0x00, 0x00, 0xF8, 0x05, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00,
58+ 0x00, 0x02, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
59+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0xC0,
60+ 0x2E, 0x70, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00, 0xCC, 0x00, 0x00, 0x00,
61+ 0x00, 0x40, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x1A, 0x00, 0x00,
62+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
63+ 0x40, 0x00, 0x00, 0x40, 0x2E, 0x72, 0x73, 0x72, 0x63, 0x00, 0x00, 0x00,
64+ 0xB0, 0x0D, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x0E, 0x00, 0x00,
65+ 0x00, 0x1C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
66+ 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x40, 0x2E, 0x72, 0x65, 0x6C,
67+ 0x6F, 0x63, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00,
68+ 0x00, 0x02, 0x00, 0x00, 0x00, 0x2A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
69+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x42,
70+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
71+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
72+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
73+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
74+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
75+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
76+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
77+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
78+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
79+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
80+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
81+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
82+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
83+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
84+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
85+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
86+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
87+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
88+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
89+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
90+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
91+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
92+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
93+ 0x00, 0x00, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
94+ 0x40, 0x53, 0x48, 0x81, 0xEC, 0xA0, 0x00, 0x00, 0x00, 0x45, 0x33, 0xC9,
95+ 0x49, 0x8B, 0xD8, 0x45, 0x33, 0xC0, 0x33, 0xC9, 0x41, 0x8D, 0x51, 0x01,
96+ 0xFF, 0x15, 0x0A, 0x11, 0x00, 0x00, 0x83, 0x64, 0x24, 0x6C, 0x00, 0x48,
97+ 0x8D, 0x4C, 0x24, 0x30, 0xFF, 0x15, 0xF2, 0x10, 0x00, 0x00, 0xF6, 0x44,
98+ 0x24, 0x6C, 0x01, 0x4C, 0x8D, 0x05, 0x4E, 0x12, 0x00, 0x00, 0x0F, 0xB7,
99+ 0x44, 0x24, 0x70, 0xB9, 0x0A, 0x00, 0x00, 0x00, 0x0F, 0x45, 0xC8, 0x4C,
100+ 0x8B, 0xCB, 0x89, 0x4C, 0x24, 0x28, 0x33, 0xD2, 0x48, 0x83, 0x64, 0x24,
101+ 0x20, 0x00, 0x33, 0xC9, 0xFF, 0x15, 0x3A, 0x11, 0x00, 0x00, 0x33, 0xC0,
102+ 0x48, 0x81, 0xC4, 0xA0, 0x00, 0x00, 0x00, 0x5B, 0xC3, 0xCC, 0xCC, 0xCC,
103+ 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
104+ 0x48, 0x83, 0xEC, 0x28, 0xB8, 0x4D, 0x5A, 0x00, 0x00, 0x66, 0x39, 0x05,
105+ 0x70, 0xEF, 0xFF, 0xFF, 0x74, 0x04, 0x33, 0xC0, 0xEB, 0x53, 0x48, 0x63,
106+ 0x0D, 0x9F, 0xEF, 0xFF, 0xFF, 0x48, 0x8D, 0x05, 0x5C, 0xEF, 0xFF, 0xFF,
107+ 0x48, 0x03, 0xC8, 0x81, 0x39, 0x50, 0x45, 0x00, 0x00, 0x75, 0xE3, 0xB8,
108+ 0x0B, 0x01, 0x00, 0x00, 0x66, 0x39, 0x41, 0x18, 0x74, 0x1E, 0xB8, 0x0B,
109+ 0x02, 0x00, 0x00, 0x66, 0x39, 0x41, 0x18, 0x75, 0xCD, 0x33, 0xC0, 0x83,
110+ 0xB9, 0x84, 0x00, 0x00, 0x00, 0x0E, 0x76, 0x19, 0x39, 0x81, 0xF8, 0x00,
111+ 0x00, 0x00, 0xEB, 0x0E, 0x33, 0xC0, 0x83, 0x79, 0x74, 0x0E, 0x76, 0x09,
112+ 0x39, 0x81, 0xE8, 0x00, 0x00, 0x00, 0x0F, 0x95, 0xC0, 0xB9, 0x02, 0x00,
113+ 0x00, 0x00, 0x89, 0x05, 0x4C, 0x1F, 0x00, 0x00, 0xE8, 0x4F, 0x04, 0x00,
114+ 0x00, 0x8B, 0xC8, 0xFF, 0x15, 0xFF, 0x10, 0x00, 0x00, 0x48, 0x8B, 0x0D,
115+ 0xB8, 0x10, 0x00, 0x00, 0x48, 0x83, 0xC8, 0xFF, 0x48, 0x89, 0x05, 0xBD,
116+ 0x24, 0x00, 0x00, 0x48, 0x89, 0x05, 0xBE, 0x24, 0x00, 0x00, 0x8B, 0x05,
117+ 0x34, 0x1F, 0x00, 0x00, 0x89, 0x01, 0x48, 0x8B, 0x0D, 0x87, 0x10, 0x00,
118+ 0x00, 0x8B, 0x05, 0x19, 0x1F, 0x00, 0x00, 0x89, 0x01, 0xE8, 0x6A, 0x04,
119+ 0x00, 0x00, 0x83, 0x3D, 0xC3, 0x1E, 0x00, 0x00, 0x00, 0x75, 0x0D, 0x48,
120+ 0x8D, 0x0D, 0x5A, 0x04, 0x00, 0x00, 0xFF, 0x15, 0x94, 0x10, 0x00, 0x00,
121+ 0x33, 0xC0, 0x48, 0x83, 0xC4, 0x28, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
122+ 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x83, 0xEC, 0x38,
123+ 0x8B, 0x05, 0xE6, 0x1E, 0x00, 0x00, 0x4C, 0x8D, 0x05, 0xC7, 0x1E, 0x00,
124+ 0x00, 0x44, 0x8B, 0x0D, 0xD4, 0x1E, 0x00, 0x00, 0x48, 0x8D, 0x15, 0xB1,
125+ 0x1E, 0x00, 0x00, 0x89, 0x05, 0xBF, 0x1E, 0x00, 0x00, 0x48, 0x8D, 0x0D,
126+ 0x9C, 0x1E, 0x00, 0x00, 0x48, 0x8D, 0x05, 0xB1, 0x1E, 0x00, 0x00, 0x48,
127+ 0x89, 0x44, 0x24, 0x20, 0xFF, 0x15, 0x6A, 0x10, 0x00, 0x00, 0x89, 0x05,
128+ 0x88, 0x1E, 0x00, 0x00, 0x48, 0x83, 0xC4, 0x38, 0xC3, 0xCC, 0xCC, 0xCC,
129+ 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x8B, 0xC4, 0x48, 0x89, 0x58, 0x08, 0x48,
130+ 0x89, 0x70, 0x10, 0x48, 0x89, 0x78, 0x18, 0x4C, 0x89, 0x70, 0x20, 0x41,
131+ 0x57, 0x48, 0x81, 0xEC, 0xB0, 0x00, 0x00, 0x00, 0x45, 0x33, 0xF6, 0x44,
132+ 0x89, 0x74, 0x24, 0x20, 0x48, 0x8D, 0x48, 0x88, 0xFF, 0x15, 0x4A, 0x0F,
133+ 0x00, 0x00, 0x90, 0x65, 0x48, 0x8B, 0x04, 0x25, 0x30, 0x00, 0x00, 0x00,
134+ 0x48, 0x8B, 0x58, 0x08, 0x41, 0x8B, 0xF6, 0x33, 0xC0, 0xF0, 0x48, 0x0F,
135+ 0xB1, 0x1D, 0xE6, 0x23, 0x00, 0x00, 0x74, 0x1B, 0x48, 0x3B, 0xC3, 0x75,
136+ 0x09, 0xBB, 0x01, 0x00, 0x00, 0x00, 0x8B, 0xF3, 0xEB, 0x12, 0xB9, 0xE8,
137+ 0x03, 0x00, 0x00, 0xFF, 0x15, 0x7B, 0x0F, 0x00, 0x00, 0xEB, 0xD8, 0xBB,
138+ 0x01, 0x00, 0x00, 0x00, 0x8B, 0x05, 0xC6, 0x23, 0x00, 0x00, 0x3B, 0xC3,
139+ 0x75, 0x0E, 0xBF, 0x1F, 0x00, 0x00, 0x00, 0x8B, 0xCF, 0xE8, 0x61, 0x03,
140+ 0x00, 0x00, 0xEB, 0x6C, 0x8B, 0x05, 0xAE, 0x23, 0x00, 0x00, 0x85, 0xC0,
141+ 0x75, 0x57, 0x89, 0x1D, 0xA4, 0x23, 0x00, 0x00, 0x4C, 0x8D, 0x3D, 0x1D,
142+ 0x10, 0x00, 0x00, 0x48, 0x8D, 0x3D, 0xFE, 0x0F, 0x00, 0x00, 0x48, 0x89,
143+ 0x7C, 0x24, 0x30, 0x41, 0x8B, 0xC6, 0x89, 0x44, 0x24, 0x24, 0x49, 0x3B,
144+ 0xFF, 0x73, 0x24, 0x85, 0xC0, 0x75, 0x24, 0x4C, 0x39, 0x37, 0x74, 0x10,
145+ 0x48, 0x8B, 0x07, 0x48, 0x8B, 0x0D, 0xBA, 0x0F, 0x00, 0x00, 0xFF, 0xD1,
146+ 0x89, 0x44, 0x24, 0x24, 0x48, 0x83, 0xC7, 0x08, 0x48, 0x89, 0x7C, 0x24,
147+ 0x30, 0xEB, 0xD7, 0x85, 0xC0, 0x74, 0x10, 0xB8, 0xFF, 0x00, 0x00, 0x00,
148+ 0xE9, 0x61, 0x01, 0x00, 0x00, 0x89, 0x1D, 0x89, 0x1D, 0x00, 0x00, 0xBF,
149+ 0x1F, 0x00, 0x00, 0x00, 0x8B, 0x05, 0x42, 0x23, 0x00, 0x00, 0x3B, 0xC3,
150+ 0x75, 0x1D, 0x48, 0x8D, 0x15, 0x97, 0x0F, 0x00, 0x00, 0x48, 0x8D, 0x0D,
151+ 0x80, 0x0F, 0x00, 0x00, 0xE8, 0xB2, 0x04, 0x00, 0x00, 0xC7, 0x05, 0x21,
152+ 0x23, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x85, 0xF6, 0x75, 0x0A, 0x49,
153+ 0x8B, 0xC6, 0x48, 0x87, 0x05, 0x0B, 0x23, 0x00, 0x00, 0x4C, 0x39, 0x35,
154+ 0x14, 0x23, 0x00, 0x00, 0x74, 0x2A, 0x48, 0x8D, 0x0D, 0x0B, 0x23, 0x00,
155+ 0x00, 0xE8, 0x16, 0x03, 0x00, 0x00, 0x85, 0xC0, 0x74, 0x1A, 0x45, 0x33,
156+ 0xC0, 0x41, 0x8D, 0x50, 0x02, 0x33, 0xC9, 0x48, 0x8B, 0x05, 0xF2, 0x22,
157+ 0x00, 0x00, 0x4C, 0x8B, 0x0D, 0x2B, 0x0F, 0x00, 0x00, 0x41, 0xFF, 0xD1,
158+ 0x48, 0x8B, 0x05, 0xB9, 0x0E, 0x00, 0x00, 0x48, 0x8B, 0x08, 0x48, 0x85,
159+ 0xC9, 0x75, 0x0A, 0xB8, 0xFF, 0x00, 0x00, 0x00, 0xE9, 0xD5, 0x00, 0x00,
160+ 0x00, 0x48, 0x89, 0x4C, 0x24, 0x28, 0x8B, 0x54, 0x24, 0x20, 0x0F, 0xB7,
161+ 0x01, 0x66, 0x83, 0xF8, 0x20, 0x77, 0x74, 0x66, 0x85, 0xC0, 0x74, 0x04,
162+ 0x85, 0xD2, 0x75, 0x6B, 0x66, 0x2B, 0xC3, 0x66, 0x3B, 0xC7, 0x77, 0x0E,
163+ 0x48, 0x83, 0xC1, 0x02, 0x48, 0x89, 0x4C, 0x24, 0x28, 0x0F, 0xB7, 0x01,
164+ 0xEB, 0xEA, 0x84, 0x5C, 0x24, 0x7C, 0x0F, 0xB7, 0x84, 0x24, 0x80, 0x00,
165+ 0x00, 0x00, 0x41, 0xB9, 0x0A, 0x00, 0x00, 0x00, 0x44, 0x0F, 0x45, 0xC8,
166+ 0x4C, 0x8B, 0xC1, 0x33, 0xD2, 0x48, 0x8D, 0x0D, 0x8C, 0xEC, 0xFF, 0xFF,
167+ 0xE8, 0x8F, 0xFC, 0xFF, 0xFF, 0x89, 0x05, 0xA1, 0x1C, 0x00, 0x00, 0x44,
168+ 0x39, 0x35, 0xBA, 0x1C, 0x00, 0x00, 0x75, 0x08, 0x8B, 0xC8, 0xFF, 0x15,
169+ 0x68, 0x0E, 0x00, 0x00, 0x44, 0x39, 0x35, 0x8D, 0x1C, 0x00, 0x00, 0x75,
170+ 0x0C, 0xFF, 0x15, 0x49, 0x0E, 0x00, 0x00, 0x8B, 0x05, 0x7B, 0x1C, 0x00,
171+ 0x00, 0xEB, 0x4F, 0x66, 0x83, 0xF8, 0x22, 0x75, 0x0E, 0x41, 0x8B, 0xC6,
172+ 0x85, 0xD2, 0x0F, 0x94, 0xC0, 0x8B, 0xD0, 0x89, 0x44, 0x24, 0x20, 0x48,
173+ 0x83, 0xC1, 0x02, 0x48, 0x89, 0x4C, 0x24, 0x28, 0xE9, 0x61, 0xFF, 0xFF,
174+ 0xFF, 0x89, 0x05, 0x51, 0x1C, 0x00, 0x00, 0x83, 0x3D, 0x6A, 0x1C, 0x00,
175+ 0x00, 0x00, 0x75, 0x09, 0x8B, 0xC8, 0xFF, 0x15, 0x10, 0x0E, 0x00, 0x00,
176+ 0xCC, 0x83, 0x3D, 0x3C, 0x1C, 0x00, 0x00, 0x00, 0x75, 0x0C, 0xFF, 0x15,
177+ 0xF8, 0x0D, 0x00, 0x00, 0x8B, 0x05, 0x2A, 0x1C, 0x00, 0x00, 0x4C, 0x8D,
178+ 0x9C, 0x24, 0xB0, 0x00, 0x00, 0x00, 0x49, 0x8B, 0x5B, 0x10, 0x49, 0x8B,
179+ 0x73, 0x18, 0x49, 0x8B, 0x7B, 0x20, 0x4D, 0x8B, 0x73, 0x28, 0x49, 0x8B,
180+ 0xE3, 0x41, 0x5F, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
181+ 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x83, 0xEC, 0x28, 0xE8, 0x6B, 0x02, 0x00,
182+ 0x00, 0x48, 0x83, 0xC4, 0x28, 0xE9, 0x7E, 0xFD, 0xFF, 0xFF, 0xCC, 0xCC,
183+ 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
184+ 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x66, 0x66, 0x0F, 0x1F, 0x84, 0x00,
185+ 0x00, 0x00, 0x00, 0x00, 0x48, 0x3B, 0x0D, 0xB1, 0x1B, 0x00, 0x00, 0x75,
186+ 0x10, 0x48, 0xC1, 0xC1, 0x10, 0x66, 0xF7, 0xC1, 0xFF, 0xFF, 0x75, 0x01,
187+ 0xC3, 0x48, 0xC1, 0xC9, 0x10, 0xE9, 0x72, 0x03, 0x00, 0x00, 0xCC, 0xCC,
188+ 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
189+ 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x83, 0xEC, 0x28, 0x48, 0x8B, 0x01, 0x81,
190+ 0x38, 0x63, 0x73, 0x6D, 0xE0, 0x75, 0x23, 0x83, 0x78, 0x18, 0x04, 0x75,
191+ 0x1D, 0x8B, 0x48, 0x20, 0x8D, 0x81, 0xE0, 0xFA, 0x6C, 0xE6, 0x83, 0xF8,
192+ 0x02, 0x76, 0x08, 0x81, 0xF9, 0x00, 0x40, 0x99, 0x01, 0x75, 0x07, 0xFF,
193+ 0x15, 0x07, 0x0D, 0x00, 0x00, 0xCC, 0x33, 0xC0, 0x48, 0x83, 0xC4, 0x28,
194+ 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x83, 0xEC, 0x28,
195+ 0x48, 0x8D, 0x0D, 0xB5, 0xFF, 0xFF, 0xFF, 0xFF, 0x15, 0x67, 0x0C, 0x00,
196+ 0x00, 0x33, 0xC0, 0x48, 0x83, 0xC4, 0x28, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC,
197+ 0xCC, 0xCC, 0xFF, 0x25, 0x34, 0x0D, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC,
198+ 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x83, 0xEC, 0x18, 0x33, 0xD2, 0x48, 0x8D,
199+ 0x41, 0xFF, 0x48, 0x83, 0xF8, 0xFD, 0x77, 0x3C, 0xB8, 0x4D, 0x5A, 0x00,
200+ 0x00, 0x66, 0x39, 0x01, 0x75, 0x2A, 0x39, 0x51, 0x3C, 0x7C, 0x25, 0x81,
201+ 0x79, 0x3C, 0x00, 0x00, 0x00, 0x10, 0x73, 0x1C, 0x48, 0x63, 0x41, 0x3C,
202+ 0x48, 0x03, 0xC1, 0x48, 0x89, 0x04, 0x24, 0x81, 0x38, 0x50, 0x45, 0x00,
203+ 0x00, 0x48, 0x0F, 0x45, 0xC2, 0x48, 0x8B, 0xD0, 0x48, 0x89, 0x04, 0x24,
204+ 0xEB, 0x06, 0x33, 0xD2, 0x48, 0x89, 0x14, 0x24, 0x48, 0x8B, 0xC2, 0x48,
205+ 0x83, 0xC4, 0x18, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
206+ 0x40, 0x53, 0x48, 0x83, 0xEC, 0x20, 0x8B, 0xD9, 0x33, 0xC9, 0xFF, 0x15,
207+ 0x30, 0x0C, 0x00, 0x00, 0x48, 0x85, 0xC0, 0x74, 0x28, 0x48, 0x8B, 0xC8,
208+ 0xE8, 0x87, 0xFF, 0xFF, 0xFF, 0x48, 0x85, 0xC0, 0x74, 0x1B, 0xB9, 0x02,
209+ 0x00, 0x00, 0x00, 0x66, 0x39, 0x48, 0x5C, 0x75, 0x04, 0x8B, 0xC1, 0xEB,
210+ 0x0E, 0x66, 0x83, 0x78, 0x5C, 0x03, 0xB8, 0x01, 0x00, 0x00, 0x00, 0x74,
211+ 0x02, 0x8B, 0xC3, 0x48, 0x83, 0xC4, 0x20, 0x5B, 0xC3, 0xCC, 0xCC, 0xCC,
212+ 0xCC, 0xCC, 0xCC, 0xFF, 0x25, 0x77, 0x0C, 0x00, 0x00, 0xCC, 0xCC, 0xCC,
213+ 0xCC, 0xCC, 0xCC, 0xCC, 0x33, 0xC0, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
214+ 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x4C, 0x63, 0x41, 0x3C,
215+ 0x45, 0x33, 0xC9, 0x4C, 0x03, 0xC1, 0x4C, 0x8B, 0xD2, 0x41, 0x0F, 0xB7,
216+ 0x40, 0x14, 0x45, 0x0F, 0xB7, 0x58, 0x06, 0x48, 0x83, 0xC0, 0x18, 0x49,
217+ 0x03, 0xC0, 0x45, 0x85, 0xDB, 0x74, 0x1E, 0x8B, 0x50, 0x0C, 0x4C, 0x3B,
218+ 0xD2, 0x72, 0x0A, 0x8B, 0x48, 0x08, 0x03, 0xCA, 0x4C, 0x3B, 0xD1, 0x72,
219+ 0x0E, 0x41, 0xFF, 0xC1, 0x48, 0x83, 0xC0, 0x28, 0x45, 0x3B, 0xCB, 0x72,
220+ 0xE2, 0x33, 0xC0, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
221+ 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24, 0x08, 0x57, 0x48, 0x83,
222+ 0xEC, 0x20, 0x48, 0x8B, 0xD9, 0x48, 0x8D, 0x3D, 0xEC, 0xE9, 0xFF, 0xFF,
223+ 0x48, 0x8B, 0xCF, 0xE8, 0x44, 0x00, 0x00, 0x00, 0x85, 0xC0, 0x74, 0x22,
224+ 0x48, 0x2B, 0xDF, 0x48, 0x8B, 0xD3, 0x48, 0x8B, 0xCF, 0xE8, 0x82, 0xFF,
225+ 0xFF, 0xFF, 0x48, 0x85, 0xC0, 0x74, 0x0F, 0x8B, 0x40, 0x24, 0xC1, 0xE8,
226+ 0x1F, 0xF7, 0xD0, 0x83, 0xE0, 0x01, 0xEB, 0x02, 0x33, 0xC0, 0x48, 0x8B,
227+ 0x5C, 0x24, 0x30, 0x48, 0x83, 0xC4, 0x20, 0x5F, 0xC3, 0xCC, 0xCC, 0xCC,
228+ 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
229+ 0xCC, 0xCC, 0xCC, 0xCC, 0xB8, 0x4D, 0x5A, 0x00, 0x00, 0x66, 0x39, 0x01,
230+ 0x75, 0x20, 0x48, 0x63, 0x41, 0x3C, 0x48, 0x03, 0xC1, 0x81, 0x38, 0x50,
231+ 0x45, 0x00, 0x00, 0x75, 0x11, 0xB9, 0x0B, 0x02, 0x00, 0x00, 0x66, 0x39,
232+ 0x48, 0x18, 0x75, 0x06, 0xB8, 0x01, 0x00, 0x00, 0x00, 0xC3, 0x33, 0xC0,
233+ 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x89, 0x5C, 0x24,
234+ 0x20, 0x55, 0x48, 0x8B, 0xEC, 0x48, 0x83, 0xEC, 0x20, 0x33, 0xC0, 0x48,
235+ 0xBB, 0x32, 0xA2, 0xDF, 0x2D, 0x99, 0x2B, 0x00, 0x00, 0x48, 0x89, 0x45,
236+ 0x18, 0x48, 0x8B, 0x05, 0x50, 0x19, 0x00, 0x00, 0x48, 0x3B, 0xC3, 0x0F,
237+ 0x85, 0x93, 0x00, 0x00, 0x00, 0x48, 0x8D, 0x4D, 0x18, 0xFF, 0x15, 0x9D,
238+ 0x0A, 0x00, 0x00, 0x48, 0x8B, 0x45, 0x18, 0x48, 0x89, 0x45, 0x10, 0xFF,
239+ 0x15, 0x9F, 0x0A, 0x00, 0x00, 0x8B, 0xC0, 0x48, 0x31, 0x45, 0x10, 0xFF,
240+ 0x15, 0x8B, 0x0A, 0x00, 0x00, 0x8B, 0xC0, 0x48, 0x31, 0x45, 0x10, 0xFF,
241+ 0x15, 0x6F, 0x0A, 0x00, 0x00, 0x8B, 0xC0, 0x48, 0xC1, 0xE0, 0x18, 0x48,
242+ 0x31, 0x45, 0x10, 0xFF, 0x15, 0x5F, 0x0A, 0x00, 0x00, 0x8B, 0xC0, 0x48,
243+ 0x8D, 0x4D, 0x10, 0x48, 0x33, 0x45, 0x10, 0x48, 0x33, 0xC1, 0x48, 0x8D,
244+ 0x4D, 0x20, 0x48, 0x89, 0x45, 0x10, 0xFF, 0x15, 0x64, 0x0A, 0x00, 0x00,
245+ 0x8B, 0x45, 0x20, 0x48, 0xB9, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00,
246+ 0x00, 0x48, 0xC1, 0xE0, 0x20, 0x48, 0x33, 0x45, 0x20, 0x48, 0x33, 0x45,
247+ 0x10, 0x48, 0x23, 0xC1, 0x48, 0x8B, 0xC8, 0x48, 0x3B, 0xC3, 0x75, 0x0D,
248+ 0x48, 0xB8, 0x33, 0xA2, 0xDF, 0x2D, 0x99, 0x2B, 0x00, 0x00, 0x48, 0x8B,
249+ 0xC8, 0x48, 0x89, 0x0D, 0xB4, 0x18, 0x00, 0x00, 0x48, 0x8B, 0x5C, 0x24,
250+ 0x48, 0x48, 0xF7, 0xD0, 0x48, 0x89, 0x05, 0xAD, 0x18, 0x00, 0x00, 0x48,
251+ 0x83, 0xC4, 0x20, 0x5D, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xFF,
252+ 0x25, 0x63, 0x0A, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xFF,
253+ 0x25, 0x4F, 0x0A, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
254+ 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xC2, 0x00, 0x00, 0xCC,
255+ 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x40, 0x53, 0x48, 0x83,
256+ 0xEC, 0x20, 0x48, 0x8B, 0xD9, 0x33, 0xC9, 0xFF, 0x15, 0x8B, 0x09, 0x00,
257+ 0x00, 0x48, 0x8B, 0xCB, 0xFF, 0x15, 0x8A, 0x09, 0x00, 0x00, 0xFF, 0x15,
258+ 0x64, 0x09, 0x00, 0x00, 0x48, 0x8B, 0xC8, 0xBA, 0x09, 0x04, 0x00, 0xC0,
259+ 0x48, 0x83, 0xC4, 0x20, 0x5B, 0x48, 0xFF, 0x25, 0x48, 0x09, 0x00, 0x00,
260+ 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
261+ 0xCC, 0xCC, 0xCC, 0xCC, 0x48, 0x89, 0x4C, 0x24, 0x08, 0x48, 0x81, 0xEC,
262+ 0x88, 0x00, 0x00, 0x00, 0x48, 0x8D, 0x0D, 0x0D, 0x19, 0x00, 0x00, 0xFF,
263+ 0x15, 0x5F, 0x09, 0x00, 0x00, 0x48, 0x8B, 0x05, 0xF8, 0x19, 0x00, 0x00,
264+ 0x48, 0x89, 0x44, 0x24, 0x48, 0x45, 0x33, 0xC0, 0x48, 0x8D, 0x54, 0x24,
265+ 0x50, 0x48, 0x8B, 0x4C, 0x24, 0x48, 0xFF, 0x15, 0x38, 0x09, 0x00, 0x00,
266+ 0x48, 0x89, 0x44, 0x24, 0x40, 0x48, 0x83, 0x7C, 0x24, 0x40, 0x00, 0x74,
267+ 0x42, 0x48, 0xC7, 0x44, 0x24, 0x38, 0x00, 0x00, 0x00, 0x00, 0x48, 0x8D,
268+ 0x44, 0x24, 0x58, 0x48, 0x89, 0x44, 0x24, 0x30, 0x48, 0x8D, 0x44, 0x24,
269+ 0x60, 0x48, 0x89, 0x44, 0x24, 0x28, 0x48, 0x8D, 0x05, 0xB7, 0x18, 0x00,
270+ 0x00, 0x48, 0x89, 0x44, 0x24, 0x20, 0x4C, 0x8B, 0x4C, 0x24, 0x40, 0x4C,
271+ 0x8B, 0x44, 0x24, 0x48, 0x48, 0x8B, 0x54, 0x24, 0x50, 0x33, 0xC9, 0xFF,
272+ 0x15, 0xE3, 0x08, 0x00, 0x00, 0xEB, 0x23, 0x48, 0x8B, 0x05, 0x2A, 0x19,
273+ 0x00, 0x00, 0x48, 0x8B, 0x00, 0x48, 0x89, 0x05, 0x80, 0x19, 0x00, 0x00,
274+ 0x48, 0x8B, 0x05, 0x19, 0x19, 0x00, 0x00, 0x48, 0x83, 0xC0, 0x08, 0x48,
275+ 0x89, 0x05, 0x0E, 0x19, 0x00, 0x00, 0x48, 0x8B, 0x05, 0x67, 0x19, 0x00,
276+ 0x00, 0x48, 0x89, 0x05, 0xD8, 0x17, 0x00, 0x00, 0x48, 0x8B, 0x84, 0x24,
277+ 0x90, 0x00, 0x00, 0x00, 0x48, 0x89, 0x05, 0xD9, 0x18, 0x00, 0x00, 0xC7,
278+ 0x05, 0xAF, 0x17, 0x00, 0x00, 0x09, 0x04, 0x00, 0xC0, 0xC7, 0x05, 0xA9,
279+ 0x17, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC7, 0x05, 0xB3, 0x17, 0x00,
280+ 0x00, 0x03, 0x00, 0x00, 0x00, 0xB8, 0x08, 0x00, 0x00, 0x00, 0x48, 0x6B,
281+ 0xC0, 0x00, 0x48, 0x8D, 0x0D, 0xAB, 0x17, 0x00, 0x00, 0x48, 0xC7, 0x04,
282+ 0x01, 0x02, 0x00, 0x00, 0x00, 0xB8, 0x08, 0x00, 0x00, 0x00, 0x48, 0x6B,
283+ 0xC0, 0x01, 0x48, 0x8D, 0x0D, 0x93, 0x17, 0x00, 0x00, 0x48, 0x8B, 0x15,
284+ 0x14, 0x17, 0x00, 0x00, 0x48, 0x89, 0x14, 0x01, 0xB8, 0x08, 0x00, 0x00,
285+ 0x00, 0x48, 0x6B, 0xC0, 0x02, 0x48, 0x8D, 0x0D, 0x78, 0x17, 0x00, 0x00,
286+ 0x48, 0x8B, 0x15, 0x01, 0x17, 0x00, 0x00, 0x48, 0x89, 0x14, 0x01, 0xB8,
287+ 0x08, 0x00, 0x00, 0x00, 0x48, 0x6B, 0xC0, 0x00, 0x48, 0x8B, 0x0D, 0xE5,
288+ 0x16, 0x00, 0x00, 0x48, 0x89, 0x4C, 0x04, 0x68, 0xB8, 0x08, 0x00, 0x00,
289+ 0x00, 0x48, 0x6B, 0xC0, 0x01, 0x48, 0x8B, 0x0D, 0xD8, 0x16, 0x00, 0x00,
290+ 0x48, 0x89, 0x4C, 0x04, 0x68, 0x48, 0x8D, 0x0D, 0xBC, 0x06, 0x00, 0x00,
291+ 0xE8, 0x53, 0xFE, 0xFF, 0xFF, 0x48, 0x81, 0xC4, 0x88, 0x00, 0x00, 0x00,
292+ 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
293+ 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x66, 0x66,
294+ 0x0F, 0x1F, 0x84, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xE0, 0xCC, 0xCC,
295+ 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
296+ 0x40, 0x55, 0x48, 0x83, 0xEC, 0x20, 0x48, 0x8B, 0xEA, 0x48, 0x8B, 0x01,
297+ 0x48, 0x8B, 0xD1, 0x8B, 0x08, 0xE8, 0x48, 0xFB, 0xFF, 0xFF, 0x90, 0x48,
298+ 0x83, 0xC4, 0x20, 0x5D, 0xC3, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
299+ 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC,
300+ 0x40, 0x55, 0x48, 0x83, 0xEC, 0x20, 0x48, 0x8B, 0xEA, 0x48, 0x8B, 0x01,
301+ 0x33, 0xC9, 0x81, 0x38, 0x05, 0x00, 0x00, 0xC0, 0x0F, 0x94, 0xC1, 0x8B,
302+ 0xC1, 0x48, 0x83, 0xC4, 0x20, 0x5D, 0xC3, 0xCC, 0x00, 0x00, 0x00, 0x00,
303+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
304+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
305+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
306+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x30, 0x00, 0x40,
307+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x31, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00,
308+ 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
309+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
310+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
311+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
312+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
313+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
314+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
315+ 0x00, 0x00, 0x00, 0x00, 0x08, 0x30, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00,
316+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
317+ 0x00, 0x00, 0x00, 0x00, 0x28, 0x22, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00,
318+ 0x30, 0x22, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00, 0x70, 0x22, 0x00, 0x40,
319+ 0x01, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
320+ 0x00, 0x75, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
321+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
322+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
323+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
324+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
325+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
326+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
327+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
328+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
329+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
330+ 0x80, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x29, 0x00, 0x00,
331+ 0x00, 0x00, 0x00, 0x00, 0x5C, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
332+ 0x6E, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6C, 0x28, 0x00, 0x00,
333+ 0x00, 0x00, 0x00, 0x00, 0x50, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
334+ 0x3C, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x22, 0x29, 0x00, 0x00,
335+ 0x00, 0x00, 0x00, 0x00, 0x0E, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
336+ 0xFE, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE4, 0x28, 0x00, 0x00,
337+ 0x00, 0x00, 0x00, 0x00, 0xCE, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
338+ 0xB8, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x9E, 0x28, 0x00, 0x00,
339+ 0x00, 0x00, 0x00, 0x00, 0x8A, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
340+ 0x64, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
341+ 0x00, 0x00, 0x00, 0x00, 0x40, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
342+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x38, 0x28, 0x00, 0x00,
343+ 0x00, 0x00, 0x00, 0x00, 0x44, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
344+ 0x2E, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x24, 0x28, 0x00, 0x00,
345+ 0x00, 0x00, 0x00, 0x00, 0x0C, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
346+ 0x00, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEC, 0x27, 0x00, 0x00,
347+ 0x00, 0x00, 0x00, 0x00, 0xE2, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
348+ 0xDA, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xD2, 0x27, 0x00, 0x00,
349+ 0x00, 0x00, 0x00, 0x00, 0xC0, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
350+ 0xAE, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x27, 0x00, 0x00,
351+ 0x00, 0x00, 0x00, 0x00, 0x92, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
352+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x90, 0x17, 0x00, 0x40,
353+ 0x01, 0x00, 0x00, 0x00, 0x70, 0x19, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00,
354+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x11, 0x00, 0x40,
355+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
356+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0x40,
357+ 0x01, 0x00, 0x00, 0x00, 0xC0, 0x14, 0x00, 0x40, 0x01, 0x00, 0x00, 0x00,
358+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0x00,
359+ 0x60, 0x11, 0x00, 0x00, 0x20, 0x14, 0x00, 0x00, 0x80, 0x14, 0x00, 0x00,
360+ 0xC0, 0x14, 0x00, 0x00, 0xA0, 0x15, 0x00, 0x00, 0x90, 0x17, 0x00, 0x00,
361+ 0xE0, 0x17, 0x00, 0x00, 0x77, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x64, 0x00,
362+ 0x70, 0x00, 0x61, 0x00, 0x64, 0x00, 0x2E, 0x00, 0x65, 0x00, 0x78, 0x00,
363+ 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
364+ 0x00, 0x00, 0x00, 0x00, 0xEF, 0xF0, 0x0F, 0x92, 0x00, 0x00, 0x00, 0x00,
365+ 0x02, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, 0x04, 0x23, 0x00, 0x00,
366+ 0x04, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xEF, 0xF0, 0x0F, 0x92,
367+ 0x00, 0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0xF0, 0x01, 0x00, 0x00,
368+ 0x28, 0x23, 0x00, 0x00, 0x28, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
369+ 0xEF, 0xF0, 0x0F, 0x92, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
370+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
371+ 0x52, 0x53, 0x44, 0x53, 0x8F, 0x0A, 0x7E, 0x73, 0x38, 0x9A, 0x1F, 0x82,
372+ 0xDE, 0x9C, 0xDC, 0x48, 0x4D, 0xCE, 0xD4, 0x03, 0x01, 0x00, 0x00, 0x00,
373+ 0x77, 0x72, 0x69, 0x74, 0x65, 0x2E, 0x70, 0x64, 0x62, 0x00, 0x00, 0x00,
374+ 0x47, 0x43, 0x54, 0x4C, 0x00, 0x10, 0x00, 0x00, 0x60, 0x09, 0x00, 0x00,
375+ 0x2E, 0x74, 0x65, 0x78, 0x74, 0x24, 0x6D, 0x6E, 0x00, 0x00, 0x00, 0x00,
376+ 0x60, 0x19, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x2E, 0x74, 0x65, 0x78,
377+ 0x74, 0x24, 0x6D, 0x6E, 0x24, 0x30, 0x30, 0x00, 0x80, 0x19, 0x00, 0x00,
378+ 0x50, 0x00, 0x00, 0x00, 0x2E, 0x74, 0x65, 0x78, 0x74, 0x24, 0x78, 0x00,
379+ 0x00, 0x20, 0x00, 0x00, 0x18, 0x01, 0x00, 0x00, 0x2E, 0x72, 0x64, 0x61,
380+ 0x74, 0x61, 0x24, 0x62, 0x72, 0x63, 0x00, 0x00, 0x18, 0x21, 0x00, 0x00,
381+ 0x10, 0x01, 0x00, 0x00, 0x2E, 0x69, 0x64, 0x61, 0x74, 0x61, 0x24, 0x35,
382+ 0x00, 0x00, 0x00, 0x00, 0x28, 0x22, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
383+ 0x2E, 0x30, 0x30, 0x63, 0x66, 0x67, 0x00, 0x00, 0x38, 0x22, 0x00, 0x00,
384+ 0x08, 0x00, 0x00, 0x00, 0x2E, 0x43, 0x52, 0x54, 0x24, 0x58, 0x43, 0x41,
385+ 0x00, 0x00, 0x00, 0x00, 0x40, 0x22, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
386+ 0x2E, 0x43, 0x52, 0x54, 0x24, 0x58, 0x43, 0x41, 0x41, 0x00, 0x00, 0x00,
387+ 0x48, 0x22, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x2E, 0x43, 0x52, 0x54,
388+ 0x24, 0x58, 0x43, 0x5A, 0x00, 0x00, 0x00, 0x00, 0x50, 0x22, 0x00, 0x00,
389+ 0x08, 0x00, 0x00, 0x00, 0x2E, 0x43, 0x52, 0x54, 0x24, 0x58, 0x49, 0x41,
390+ 0x00, 0x00, 0x00, 0x00, 0x58, 0x22, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00,
391+ 0x2E, 0x43, 0x52, 0x54, 0x24, 0x58, 0x49, 0x41, 0x41, 0x00, 0x00, 0x00,
392+ 0x60, 0x22, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x2E, 0x43, 0x52, 0x54,
393+ 0x24, 0x58, 0x49, 0x59, 0x00, 0x00, 0x00, 0x00, 0x68, 0x22, 0x00, 0x00,
394+ 0x08, 0x00, 0x00, 0x00, 0x2E, 0x43, 0x52, 0x54, 0x24, 0x58, 0x49, 0x5A,
395+ 0x00, 0x00, 0x00, 0x00, 0x70, 0x22, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00,
396+ 0x2E, 0x67, 0x66, 0x69, 0x64, 0x73, 0x00, 0x00, 0x90, 0x22, 0x00, 0x00,
397+ 0x74, 0x00, 0x00, 0x00, 0x2E, 0x72, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00,
398+ 0x04, 0x23, 0x00, 0x00, 0x14, 0x02, 0x00, 0x00, 0x2E, 0x72, 0x64, 0x61,
399+ 0x74, 0x61, 0x24, 0x7A, 0x7A, 0x7A, 0x64, 0x62, 0x67, 0x00, 0x00, 0x00,
400+ 0x18, 0x25, 0x00, 0x00, 0xC4, 0x00, 0x00, 0x00, 0x2E, 0x78, 0x64, 0x61,
401+ 0x74, 0x61, 0x00, 0x00, 0xDC, 0x25, 0x00, 0x00, 0x3C, 0x00, 0x00, 0x00,
402+ 0x2E, 0x69, 0x64, 0x61, 0x74, 0x61, 0x24, 0x32, 0x00, 0x00, 0x00, 0x00,
403+ 0x18, 0x26, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x2E, 0x69, 0x64, 0x61,
404+ 0x74, 0x61, 0x24, 0x33, 0x00, 0x00, 0x00, 0x00, 0x30, 0x26, 0x00, 0x00,
405+ 0x10, 0x01, 0x00, 0x00, 0x2E, 0x69, 0x64, 0x61, 0x74, 0x61, 0x24, 0x34,
406+ 0x00, 0x00, 0x00, 0x00, 0x40, 0x27, 0x00, 0x00, 0x54, 0x02, 0x00, 0x00,
407+ 0x2E, 0x69, 0x64, 0x61, 0x74, 0x61, 0x24, 0x36, 0x00, 0x00, 0x00, 0x00,
408+ 0x00, 0x30, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x2E, 0x64, 0x61, 0x74,
409+ 0x61, 0x00, 0x00, 0x00, 0x20, 0x30, 0x00, 0x00, 0xD8, 0x05, 0x00, 0x00,
410+ 0x2E, 0x62, 0x73, 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00,
411+ 0xCC, 0x00, 0x00, 0x00, 0x2E, 0x70, 0x64, 0x61, 0x74, 0x61, 0x00, 0x00,
412+ 0x00, 0x50, 0x00, 0x00, 0x60, 0x01, 0x00, 0x00, 0x2E, 0x72, 0x73, 0x72,
413+ 0x63, 0x24, 0x30, 0x31, 0x00, 0x00, 0x00, 0x00, 0x60, 0x51, 0x00, 0x00,
414+ 0x50, 0x0C, 0x00, 0x00, 0x2E, 0x72, 0x73, 0x72, 0x63, 0x24, 0x30, 0x32,
415+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x09, 0x03, 0x00, 0x09, 0x01, 0x14, 0x00,
416+ 0x02, 0x30, 0x00, 0x00, 0x01, 0x04, 0x01, 0x00, 0x04, 0x42, 0x00, 0x00,
417+ 0x01, 0x04, 0x01, 0x00, 0x04, 0x62, 0x00, 0x00, 0x09, 0x1C, 0x0B, 0x00,
418+ 0x1C, 0xE4, 0x1B, 0x00, 0x1C, 0x74, 0x1A, 0x00, 0x1C, 0x64, 0x19, 0x00,
419+ 0x1C, 0x34, 0x18, 0x00, 0x1C, 0x01, 0x16, 0x00, 0x15, 0xF0, 0x00, 0x00,
420+ 0x7B, 0x17, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xDF, 0x11, 0x00, 0x00,
421+ 0xC9, 0x13, 0x00, 0x00, 0x80, 0x19, 0x00, 0x00, 0xC9, 0x13, 0x00, 0x00,
422+ 0x01, 0x06, 0x02, 0x00, 0x06, 0x32, 0x02, 0x50, 0x01, 0x00, 0x00, 0x00,
423+ 0x09, 0x04, 0x01, 0x00, 0x04, 0x22, 0x00, 0x00, 0x7B, 0x17, 0x00, 0x00,
424+ 0x01, 0x00, 0x00, 0x00, 0xFC, 0x14, 0x00, 0x00, 0x32, 0x15, 0x00, 0x00,
425+ 0x01, 0x00, 0x00, 0x00, 0x32, 0x15, 0x00, 0x00, 0x01, 0x06, 0x02, 0x00,
426+ 0x06, 0x32, 0x02, 0x30, 0x09, 0x0A, 0x04, 0x00, 0x0A, 0x34, 0x06, 0x00,
427+ 0x0A, 0x32, 0x06, 0x70, 0x7B, 0x17, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00,
428+ 0x0D, 0x16, 0x00, 0x00, 0x40, 0x16, 0x00, 0x00, 0xB0, 0x19, 0x00, 0x00,
429+ 0x40, 0x16, 0x00, 0x00, 0x01, 0x0D, 0x04, 0x00, 0x0D, 0x34, 0x09, 0x00,
430+ 0x0D, 0x32, 0x06, 0x50, 0x01, 0x0C, 0x02, 0x00, 0x0C, 0x01, 0x11, 0x00,
431+ 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0xB8, 0x26, 0x00, 0x00,
432+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x27, 0x00, 0x00,
433+ 0xA0, 0x21, 0x00, 0x00, 0x30, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
434+ 0x00, 0x00, 0x00, 0x00, 0x84, 0x27, 0x00, 0x00, 0x18, 0x21, 0x00, 0x00,
435+ 0xC8, 0x26, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
436+ 0x58, 0x28, 0x00, 0x00, 0xB0, 0x21, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
437+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
438+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x29, 0x00, 0x00,
439+ 0x00, 0x00, 0x00, 0x00, 0x6C, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
440+ 0x5C, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6E, 0x27, 0x00, 0x00,
441+ 0x00, 0x00, 0x00, 0x00, 0x6C, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
442+ 0x50, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x29, 0x00, 0x00,
443+ 0x00, 0x00, 0x00, 0x00, 0x22, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
444+ 0x0E, 0x29, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x28, 0x00, 0x00,
445+ 0x00, 0x00, 0x00, 0x00, 0xE4, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
446+ 0xCE, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xB8, 0x28, 0x00, 0x00,
447+ 0x00, 0x00, 0x00, 0x00, 0x9E, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
448+ 0x8A, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x64, 0x28, 0x00, 0x00,
449+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
450+ 0x40, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
451+ 0x00, 0x00, 0x00, 0x00, 0x38, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
452+ 0x44, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x2E, 0x28, 0x00, 0x00,
453+ 0x00, 0x00, 0x00, 0x00, 0x24, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
454+ 0x0C, 0x28, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00,
455+ 0x00, 0x00, 0x00, 0x00, 0xEC, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
456+ 0xE2, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDA, 0x27, 0x00, 0x00,
457+ 0x00, 0x00, 0x00, 0x00, 0xD2, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
458+ 0xC0, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xAE, 0x27, 0x00, 0x00,
459+ 0x00, 0x00, 0x00, 0x00, 0xA0, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
460+ 0x92, 0x27, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
461+ 0x00, 0x00, 0x00, 0x00, 0xB6, 0x01, 0x53, 0x68, 0x65, 0x6C, 0x6C, 0x45,
462+ 0x78, 0x65, 0x63, 0x75, 0x74, 0x65, 0x57, 0x00, 0x53, 0x48, 0x45, 0x4C,
463+ 0x4C, 0x33, 0x32, 0x2E, 0x64, 0x6C, 0x6C, 0x00, 0xD7, 0x02, 0x47, 0x65,
464+ 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x75, 0x70, 0x49, 0x6E, 0x66, 0x6F,
465+ 0x57, 0x00, 0x56, 0x03, 0x48, 0x65, 0x61, 0x70, 0x53, 0x65, 0x74, 0x49,
466+ 0x6E, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x00, 0x00,
467+ 0x4B, 0x45, 0x52, 0x4E, 0x45, 0x4C, 0x33, 0x32, 0x2E, 0x64, 0x6C, 0x6C,
468+ 0x00, 0x00, 0x55, 0x00, 0x5F, 0x58, 0x63, 0x70, 0x74, 0x46, 0x69, 0x6C,
469+ 0x74, 0x65, 0x72, 0x00, 0xAE, 0x00, 0x5F, 0x61, 0x6D, 0x73, 0x67, 0x5F,
470+ 0x65, 0x78, 0x69, 0x74, 0x00, 0x00, 0x9D, 0x00, 0x5F, 0x5F, 0x77, 0x67,
471+ 0x65, 0x74, 0x6D, 0x61, 0x69, 0x6E, 0x61, 0x72, 0x67, 0x73, 0x00, 0x00,
472+ 0x8E, 0x00, 0x5F, 0x5F, 0x73, 0x65, 0x74, 0x5F, 0x61, 0x70, 0x70, 0x5F,
473+ 0x74, 0x79, 0x70, 0x65, 0x00, 0x00, 0x32, 0x04, 0x65, 0x78, 0x69, 0x74,
474+ 0x00, 0x00, 0x0E, 0x01, 0x5F, 0x65, 0x78, 0x69, 0x74, 0x00, 0xC1, 0x00,
475+ 0x5F, 0x63, 0x65, 0x78, 0x69, 0x74, 0x00, 0x00, 0x90, 0x00, 0x5F, 0x5F,
476+ 0x73, 0x65, 0x74, 0x75, 0x73, 0x65, 0x72, 0x6D, 0x61, 0x74, 0x68, 0x65,
477+ 0x72, 0x72, 0x00, 0x00, 0x7D, 0x01, 0x5F, 0x69, 0x6E, 0x69, 0x74, 0x74,
478+ 0x65, 0x72, 0x6D, 0x00, 0x57, 0x00, 0x5F, 0x5F, 0x43, 0x5F, 0x73, 0x70,
479+ 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x5F, 0x68, 0x61, 0x6E, 0x64, 0x6C,
480+ 0x65, 0x72, 0x00, 0x00, 0x82, 0x03, 0x5F, 0x77, 0x63, 0x6D, 0x64, 0x6C,
481+ 0x6E, 0x00, 0x27, 0x01, 0x5F, 0x66, 0x6D, 0x6F, 0x64, 0x65, 0x00, 0x00,
482+ 0xD2, 0x00, 0x5F, 0x63, 0x6F, 0x6D, 0x6D, 0x6F, 0x64, 0x65, 0x00, 0x00,
483+ 0x2F, 0x00, 0x3F, 0x74, 0x65, 0x72, 0x6D, 0x69, 0x6E, 0x61, 0x74, 0x65,
484+ 0x40, 0x40, 0x59, 0x41, 0x58, 0x58, 0x5A, 0x00, 0x6D, 0x73, 0x76, 0x63,
485+ 0x72, 0x74, 0x2E, 0x64, 0x6C, 0x6C, 0x00, 0x00, 0x8B, 0x05, 0x53, 0x6C,
486+ 0x65, 0x65, 0x70, 0x00, 0x7B, 0x05, 0x53, 0x65, 0x74, 0x55, 0x6E, 0x68,
487+ 0x61, 0x6E, 0x64, 0x6C, 0x65, 0x64, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74,
488+ 0x69, 0x6F, 0x6E, 0x46, 0x69, 0x6C, 0x74, 0x65, 0x72, 0x00, 0x7E, 0x02,
489+ 0x47, 0x65, 0x74, 0x4D, 0x6F, 0x64, 0x75, 0x6C, 0x65, 0x48, 0x61, 0x6E,
490+ 0x64, 0x6C, 0x65, 0x57, 0x00, 0x00, 0x50, 0x04, 0x51, 0x75, 0x65, 0x72,
491+ 0x79, 0x50, 0x65, 0x72, 0x66, 0x6F, 0x72, 0x6D, 0x61, 0x6E, 0x63, 0x65,
492+ 0x43, 0x6F, 0x75, 0x6E, 0x74, 0x65, 0x72, 0x00, 0x1E, 0x02, 0x47, 0x65,
493+ 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6E, 0x74, 0x50, 0x72, 0x6F, 0x63,
494+ 0x65, 0x73, 0x73, 0x49, 0x64, 0x00, 0x22, 0x02, 0x47, 0x65, 0x74, 0x43,
495+ 0x75, 0x72, 0x72, 0x65, 0x6E, 0x74, 0x54, 0x68, 0x72, 0x65, 0x61, 0x64,
496+ 0x49, 0x64, 0x00, 0x00, 0xF0, 0x02, 0x47, 0x65, 0x74, 0x53, 0x79, 0x73,
497+ 0x74, 0x65, 0x6D, 0x54, 0x69, 0x6D, 0x65, 0x41, 0x73, 0x46, 0x69, 0x6C,
498+ 0x65, 0x54, 0x69, 0x6D, 0x65, 0x00, 0x0E, 0x03, 0x47, 0x65, 0x74, 0x54,
499+ 0x69, 0x63, 0x6B, 0x43, 0x6F, 0x75, 0x6E, 0x74, 0x00, 0x00, 0xD3, 0x04,
500+ 0x52, 0x74, 0x6C, 0x43, 0x61, 0x70, 0x74, 0x75, 0x72, 0x65, 0x43, 0x6F,
501+ 0x6E, 0x74, 0x65, 0x78, 0x74, 0x00, 0xDA, 0x04, 0x52, 0x74, 0x6C, 0x4C,
502+ 0x6F, 0x6F, 0x6B, 0x75, 0x70, 0x46, 0x75, 0x6E, 0x63, 0x74, 0x69, 0x6F,
503+ 0x6E, 0x45, 0x6E, 0x74, 0x72, 0x79, 0x00, 0x00, 0xE1, 0x04, 0x52, 0x74,
504+ 0x6C, 0x56, 0x69, 0x72, 0x74, 0x75, 0x61, 0x6C, 0x55, 0x6E, 0x77, 0x69,
505+ 0x6E, 0x64, 0x00, 0x00, 0xBC, 0x05, 0x55, 0x6E, 0x68, 0x61, 0x6E, 0x64,
506+ 0x6C, 0x65, 0x64, 0x45, 0x78, 0x63, 0x65, 0x70, 0x74, 0x69, 0x6F, 0x6E,
507+ 0x46, 0x69, 0x6C, 0x74, 0x65, 0x72, 0x00, 0x00, 0x1D, 0x02, 0x47, 0x65,
508+ 0x74, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6E, 0x74, 0x50, 0x72, 0x6F, 0x63,
509+ 0x65, 0x73, 0x73, 0x00, 0x9A, 0x05, 0x54, 0x65, 0x72, 0x6D, 0x69, 0x6E,
510+ 0x61, 0x74, 0x65, 0x50, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x00, 0x00,
511+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
512+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
513+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
514+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
515+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
516+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
517+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
518+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
519+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
520+ 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x32, 0xA2, 0xDF, 0x2D,
521+ 0x99, 0x2B, 0x00, 0x00, 0xCD, 0x5D, 0x20, 0xD2, 0x66, 0xD4, 0xFF, 0xFF,
522+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
523+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
524+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
525+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
526+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
527+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
528+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
529+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
530+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
531+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
532+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
533+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
534+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
535+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
536+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
537+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
538+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
539+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
540+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
541+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
542+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
543+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
544+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
545+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
546+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
547+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
548+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
549+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
550+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
551+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
552+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
553+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
554+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
555+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
556+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
557+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
558+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
559+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
560+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
561+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
562+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x10, 0x00, 0x00,
563+ 0x71, 0x10, 0x00, 0x00, 0x18, 0x25, 0x00, 0x00, 0x80, 0x10, 0x00, 0x00,
564+ 0x53, 0x11, 0x00, 0x00, 0x24, 0x25, 0x00, 0x00, 0x60, 0x11, 0x00, 0x00,
565+ 0xA9, 0x11, 0x00, 0x00, 0x2C, 0x25, 0x00, 0x00, 0xB0, 0x11, 0x00, 0x00,
566+ 0x14, 0x14, 0x00, 0x00, 0x34, 0x25, 0x00, 0x00, 0x20, 0x14, 0x00, 0x00,
567+ 0x32, 0x14, 0x00, 0x00, 0x24, 0x25, 0x00, 0x00, 0x50, 0x14, 0x00, 0x00,
568+ 0x6E, 0x14, 0x00, 0x00, 0x70, 0x25, 0x00, 0x00, 0x80, 0x14, 0x00, 0x00,
569+ 0xB9, 0x14, 0x00, 0x00, 0x24, 0x25, 0x00, 0x00, 0xC0, 0x14, 0x00, 0x00,
570+ 0xD8, 0x14, 0x00, 0x00, 0x24, 0x25, 0x00, 0x00, 0xEC, 0x14, 0x00, 0x00,
571+ 0x40, 0x15, 0x00, 0x00, 0x74, 0x25, 0x00, 0x00, 0x48, 0x15, 0x00, 0x00,
572+ 0x8D, 0x15, 0x00, 0x00, 0x94, 0x25, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00,
573+ 0x4D, 0x16, 0x00, 0x00, 0x9C, 0x25, 0x00, 0x00, 0x94, 0x16, 0x00, 0x00,
574+ 0x69, 0x17, 0x00, 0x00, 0xC0, 0x25, 0x00, 0x00, 0x9C, 0x17, 0x00, 0x00,
575+ 0xD0, 0x17, 0x00, 0x00, 0x94, 0x25, 0x00, 0x00, 0xE0, 0x17, 0x00, 0x00,
576+ 0x51, 0x19, 0x00, 0x00, 0xCC, 0x25, 0x00, 0x00, 0x70, 0x19, 0x00, 0x00,
577+ 0x72, 0x19, 0x00, 0x00, 0xD8, 0x25, 0x00, 0x00, 0x80, 0x19, 0x00, 0x00,
578+ 0x9E, 0x19, 0x00, 0x00, 0x68, 0x25, 0x00, 0x00, 0xB0, 0x19, 0x00, 0x00,
579+ 0xD0, 0x19, 0x00, 0x00, 0x68, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
580+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
581+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
582+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
583+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
584+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
585+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
586+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
587+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
588+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
589+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
590+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
591+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
592+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
593+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
594+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
595+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
596+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
597+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
598+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
599+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
600+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
601+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
602+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
603+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
604+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
605+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
606+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x03, 0x00, 0x00, 0x00,
607+ 0x30, 0x00, 0x00, 0x80, 0x0E, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x80,
608+ 0x10, 0x00, 0x00, 0x00, 0x68, 0x00, 0x00, 0x80, 0x18, 0x00, 0x00, 0x00,
609+ 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
610+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x01, 0x00, 0x00, 0x00,
611+ 0x98, 0x00, 0x00, 0x80, 0x02, 0x00, 0x00, 0x00, 0xB0, 0x00, 0x00, 0x80,
612+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
613+ 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC8, 0x00, 0x00, 0x80,
614+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
615+ 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0xE0, 0x00, 0x00, 0x80,
616+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
617+ 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0xF8, 0x00, 0x00, 0x80,
618+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
619+ 0x00, 0x00, 0x01, 0x00, 0x09, 0x04, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00,
620+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
621+ 0x00, 0x00, 0x01, 0x00, 0x09, 0x04, 0x00, 0x00, 0x20, 0x01, 0x00, 0x00,
622+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
623+ 0x00, 0x00, 0x01, 0x00, 0x09, 0x04, 0x00, 0x00, 0x30, 0x01, 0x00, 0x00,
624+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
625+ 0x00, 0x00, 0x01, 0x00, 0x09, 0x04, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00,
626+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
627+ 0x00, 0x00, 0x01, 0x00, 0x09, 0x04, 0x00, 0x00, 0x50, 0x01, 0x00, 0x00,
628+ 0xF8, 0x55, 0x00, 0x00, 0xF0, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
629+ 0x00, 0x00, 0x00, 0x00, 0xE8, 0x58, 0x00, 0x00, 0x30, 0x01, 0x00, 0x00,
630+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x5A, 0x00, 0x00,
631+ 0x22, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
632+ 0x40, 0x5A, 0x00, 0x00, 0x70, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
633+ 0x00, 0x00, 0x00, 0x00, 0x60, 0x51, 0x00, 0x00, 0x92, 0x04, 0x00, 0x00,
634+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3C, 0x3F, 0x78, 0x6D,
635+ 0x6C, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x3D, 0x22, 0x31,
636+ 0x2E, 0x30, 0x22, 0x20, 0x65, 0x6E, 0x63, 0x6F, 0x64, 0x69, 0x6E, 0x67,
637+ 0x3D, 0x22, 0x55, 0x54, 0x46, 0x2D, 0x38, 0x22, 0x20, 0x73, 0x74, 0x61,
638+ 0x6E, 0x64, 0x61, 0x6C, 0x6F, 0x6E, 0x65, 0x3D, 0x22, 0x79, 0x65, 0x73,
639+ 0x22, 0x3F, 0x3E, 0x0D, 0x0A, 0x3C, 0x21, 0x2D, 0x2D, 0x20, 0x43, 0x6F,
640+ 0x70, 0x79, 0x72, 0x69, 0x67, 0x68, 0x74, 0x20, 0x28, 0x63, 0x29, 0x20,
641+ 0x4D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x20, 0x43, 0x6F,
642+ 0x72, 0x70, 0x6F, 0x72, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x20, 0x2D, 0x2D,
643+ 0x3E, 0x0D, 0x0A, 0x3C, 0x61, 0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x79,
644+ 0x20, 0x78, 0x6D, 0x6C, 0x6E, 0x73, 0x3D, 0x22, 0x75, 0x72, 0x6E, 0x3A,
645+ 0x73, 0x63, 0x68, 0x65, 0x6D, 0x61, 0x73, 0x2D, 0x6D, 0x69, 0x63, 0x72,
646+ 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x2D, 0x63, 0x6F, 0x6D, 0x3A, 0x61, 0x73,
647+ 0x6D, 0x2E, 0x76, 0x31, 0x22, 0x20, 0x6D, 0x61, 0x6E, 0x69, 0x66, 0x65,
648+ 0x73, 0x74, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x3D, 0x22, 0x31,
649+ 0x2E, 0x30, 0x22, 0x3E, 0x0D, 0x0A, 0x3C, 0x61, 0x73, 0x73, 0x65, 0x6D,
650+ 0x62, 0x6C, 0x79, 0x49, 0x64, 0x65, 0x6E, 0x74, 0x69, 0x74, 0x79, 0x0D,
651+ 0x0A, 0x20, 0x20, 0x20, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D, 0x22, 0x4D,
652+ 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x2E, 0x57, 0x69, 0x6E,
653+ 0x64, 0x6F, 0x77, 0x73, 0x2E, 0x53, 0x68, 0x65, 0x6C, 0x6C, 0x2E, 0x77,
654+ 0x72, 0x69, 0x74, 0x65, 0x22, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x70,
655+ 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x6F, 0x72, 0x41, 0x72, 0x63, 0x68,
656+ 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72, 0x65, 0x3D, 0x22, 0x61, 0x6D,
657+ 0x64, 0x36, 0x34, 0x22, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x76, 0x65,
658+ 0x72, 0x73, 0x69, 0x6F, 0x6E, 0x3D, 0x22, 0x35, 0x2E, 0x31, 0x2E, 0x30,
659+ 0x2E, 0x30, 0x22, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x74, 0x79, 0x70,
660+ 0x65, 0x3D, 0x22, 0x77, 0x69, 0x6E, 0x33, 0x32, 0x22, 0x2F, 0x3E, 0x0D,
661+ 0x0A, 0x3C, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6F,
662+ 0x6E, 0x3E, 0x57, 0x69, 0x6E, 0x64, 0x6F, 0x77, 0x73, 0x20, 0x53, 0x68,
663+ 0x65, 0x6C, 0x6C, 0x3C, 0x2F, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
664+ 0x74, 0x69, 0x6F, 0x6E, 0x3E, 0x0D, 0x0A, 0x3C, 0x64, 0x65, 0x70, 0x65,
665+ 0x6E, 0x64, 0x65, 0x6E, 0x63, 0x79, 0x3E, 0x0D, 0x0A, 0x20, 0x20, 0x20,
666+ 0x20, 0x3C, 0x64, 0x65, 0x70, 0x65, 0x6E, 0x64, 0x65, 0x6E, 0x74, 0x41,
667+ 0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x79, 0x3E, 0x0D, 0x0A, 0x20, 0x20,
668+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3C, 0x61, 0x73, 0x73, 0x65, 0x6D,
669+ 0x62, 0x6C, 0x79, 0x49, 0x64, 0x65, 0x6E, 0x74, 0x69, 0x74, 0x79, 0x0D,
670+ 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
671+ 0x20, 0x74, 0x79, 0x70, 0x65, 0x3D, 0x22, 0x77, 0x69, 0x6E, 0x33, 0x32,
672+ 0x22, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
673+ 0x20, 0x20, 0x20, 0x6E, 0x61, 0x6D, 0x65, 0x3D, 0x22, 0x4D, 0x69, 0x63,
674+ 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x2E, 0x57, 0x69, 0x6E, 0x64, 0x6F,
675+ 0x77, 0x73, 0x2E, 0x43, 0x6F, 0x6D, 0x6D, 0x6F, 0x6E, 0x2D, 0x43, 0x6F,
676+ 0x6E, 0x74, 0x72, 0x6F, 0x6C, 0x73, 0x22, 0x0D, 0x0A, 0x20, 0x20, 0x20,
677+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x76, 0x65, 0x72,
678+ 0x73, 0x69, 0x6F, 0x6E, 0x3D, 0x22, 0x36, 0x2E, 0x30, 0x2E, 0x30, 0x2E,
679+ 0x30, 0x22, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
680+ 0x20, 0x20, 0x20, 0x20, 0x70, 0x72, 0x6F, 0x63, 0x65, 0x73, 0x73, 0x6F,
681+ 0x72, 0x41, 0x72, 0x63, 0x68, 0x69, 0x74, 0x65, 0x63, 0x74, 0x75, 0x72,
682+ 0x65, 0x3D, 0x22, 0x2A, 0x22, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
683+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x75, 0x62, 0x6C, 0x69,
684+ 0x63, 0x4B, 0x65, 0x79, 0x54, 0x6F, 0x6B, 0x65, 0x6E, 0x3D, 0x22, 0x36,
685+ 0x35, 0x39, 0x35, 0x62, 0x36, 0x34, 0x31, 0x34, 0x34, 0x63, 0x63, 0x66,
686+ 0x31, 0x64, 0x66, 0x22, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
687+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6C, 0x61, 0x6E, 0x67, 0x75, 0x61,
688+ 0x67, 0x65, 0x3D, 0x22, 0x2A, 0x22, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20,
689+ 0x20, 0x20, 0x20, 0x20, 0x2F, 0x3E, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20,
690+ 0x3C, 0x2F, 0x64, 0x65, 0x70, 0x65, 0x6E, 0x64, 0x65, 0x6E, 0x74, 0x41,
691+ 0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x79, 0x3E, 0x0D, 0x0A, 0x3C, 0x2F,
692+ 0x64, 0x65, 0x70, 0x65, 0x6E, 0x64, 0x65, 0x6E, 0x63, 0x79, 0x3E, 0x0D,
693+ 0x0A, 0x3C, 0x74, 0x72, 0x75, 0x73, 0x74, 0x49, 0x6E, 0x66, 0x6F, 0x20,
694+ 0x78, 0x6D, 0x6C, 0x6E, 0x73, 0x3D, 0x22, 0x75, 0x72, 0x6E, 0x3A, 0x73,
695+ 0x63, 0x68, 0x65, 0x6D, 0x61, 0x73, 0x2D, 0x6D, 0x69, 0x63, 0x72, 0x6F,
696+ 0x73, 0x6F, 0x66, 0x74, 0x2D, 0x63, 0x6F, 0x6D, 0x3A, 0x61, 0x73, 0x6D,
697+ 0x2E, 0x76, 0x33, 0x22, 0x3E, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x3C,
698+ 0x73, 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x3E, 0x0D, 0x0A, 0x20,
699+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3C, 0x72, 0x65, 0x71, 0x75,
700+ 0x65, 0x73, 0x74, 0x65, 0x64, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6C, 0x65,
701+ 0x67, 0x65, 0x73, 0x3E, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
702+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3C, 0x72, 0x65, 0x71, 0x75, 0x65,
703+ 0x73, 0x74, 0x65, 0x64, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, 0x69, 0x6F,
704+ 0x6E, 0x4C, 0x65, 0x76, 0x65, 0x6C, 0x20, 0x6C, 0x65, 0x76, 0x65, 0x6C,
705+ 0x3D, 0x22, 0x61, 0x73, 0x49, 0x6E, 0x76, 0x6F, 0x6B, 0x65, 0x72, 0x22,
706+ 0x20, 0x75, 0x69, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x3D, 0x22, 0x66,
707+ 0x61, 0x6C, 0x73, 0x65, 0x22, 0x2F, 0x3E, 0x0D, 0x0A, 0x20, 0x20, 0x20,
708+ 0x20, 0x20, 0x20, 0x20, 0x20, 0x3C, 0x2F, 0x72, 0x65, 0x71, 0x75, 0x65,
709+ 0x73, 0x74, 0x65, 0x64, 0x50, 0x72, 0x69, 0x76, 0x69, 0x6C, 0x65, 0x67,
710+ 0x65, 0x73, 0x3E, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x3C, 0x2F, 0x73,
711+ 0x65, 0x63, 0x75, 0x72, 0x69, 0x74, 0x79, 0x3E, 0x0D, 0x0A, 0x3C, 0x2F,
712+ 0x74, 0x72, 0x75, 0x73, 0x74, 0x49, 0x6E, 0x66, 0x6F, 0x3E, 0x0D, 0x0A,
713+ 0x3C, 0x61, 0x70, 0x70, 0x6C, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E,
714+ 0x20, 0x78, 0x6D, 0x6C, 0x6E, 0x73, 0x3D, 0x22, 0x75, 0x72, 0x6E, 0x3A,
715+ 0x73, 0x63, 0x68, 0x65, 0x6D, 0x61, 0x73, 0x2D, 0x6D, 0x69, 0x63, 0x72,
716+ 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x2D, 0x63, 0x6F, 0x6D, 0x3A, 0x61, 0x73,
717+ 0x6D, 0x2E, 0x76, 0x33, 0x22, 0x3E, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20,
718+ 0x3C, 0x77, 0x69, 0x6E, 0x64, 0x6F, 0x77, 0x73, 0x53, 0x65, 0x74, 0x74,
719+ 0x69, 0x6E, 0x67, 0x73, 0x3E, 0x0D, 0x0A, 0x20, 0x20, 0x20, 0x20, 0x20,
720+ 0x20, 0x20, 0x20, 0x3C, 0x64, 0x70, 0x69, 0x41, 0x77, 0x61, 0x72, 0x65,
721+ 0x20, 0x20, 0x78, 0x6D, 0x6C, 0x6E, 0x73, 0x3D, 0x22, 0x68, 0x74, 0x74,
722+ 0x70, 0x3A, 0x2F, 0x2F, 0x73, 0x63, 0x68, 0x65, 0x6D, 0x61, 0x73, 0x2E,
723+ 0x6D, 0x69, 0x63, 0x72, 0x6F, 0x73, 0x6F, 0x66, 0x74, 0x2E, 0x63, 0x6F,
724+ 0x6D, 0x2F, 0x53, 0x4D, 0x49, 0x2F, 0x32, 0x30, 0x30, 0x35, 0x2F, 0x57,
725+ 0x69, 0x6E, 0x64, 0x6F, 0x77, 0x73, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6E,
726+ 0x67, 0x73, 0x22, 0x3E, 0x74, 0x72, 0x75, 0x65, 0x3C, 0x2F, 0x64, 0x70,
727+ 0x69, 0x41, 0x77, 0x61, 0x72, 0x65, 0x3E, 0x0D, 0x0A, 0x20, 0x20, 0x20,
728+ 0x20, 0x3C, 0x2F, 0x77, 0x69, 0x6E, 0x64, 0x6F, 0x77, 0x73, 0x53, 0x65,
729+ 0x74, 0x74, 0x69, 0x6E, 0x67, 0x73, 0x3E, 0x0D, 0x0A, 0x3C, 0x2F, 0x61,
730+ 0x70, 0x70, 0x6C, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6F, 0x6E, 0x3E, 0x0D,
731+ 0x0A, 0x3C, 0x2F, 0x61, 0x73, 0x73, 0x65, 0x6D, 0x62, 0x6C, 0x79, 0x3E,
732+ 0x0D, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00,
733+ 0x20, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00,
734+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
735+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
736+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00,
737+ 0x00, 0x80, 0x80, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00,
738+ 0x80, 0x80, 0x00, 0x00, 0xC0, 0xC0, 0xC0, 0x00, 0x80, 0x80, 0x80, 0x00,
739+ 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00,
740+ 0xFF, 0x00, 0x00, 0x00, 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00,
741+ 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
742+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x77, 0x77,
743+ 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x07, 0x00, 0x00, 0x00,
744+ 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
745+ 0x70, 0x70, 0x00, 0x00, 0x08, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
746+ 0x77, 0x77, 0x77, 0x77, 0x70, 0x70, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF,
747+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x70, 0x70, 0x00, 0x00,
748+ 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
749+ 0x70, 0x70, 0x00, 0x00, 0x08, 0x77, 0x77, 0x77, 0x77, 0x70, 0x07, 0x77,
750+ 0x77, 0x77, 0x77, 0x77, 0x70, 0x70, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF,
751+ 0xFF, 0xFF, 0x30, 0x0F, 0xFF, 0xFF, 0xFF, 0xFF, 0x70, 0x70, 0x00, 0x00,
752+ 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0xF0, 0x08, 0xFF, 0xFF, 0xFF,
753+ 0x70, 0x70, 0x00, 0x00, 0x08, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x3B,
754+ 0xF8, 0x00, 0x00, 0x07, 0x70, 0x70, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF,
755+ 0xFF, 0xFF, 0xFF, 0xF3, 0xFB, 0xF7, 0x33, 0x30, 0x70, 0x70, 0x00, 0x00,
756+ 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xBF, 0x73, 0x33,
757+ 0x00, 0x70, 0x00, 0x00, 0x08, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
758+ 0x73, 0xBB, 0xF7, 0x33, 0x34, 0x00, 0x00, 0x00, 0x08, 0xFF, 0xFF, 0xFF,
759+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x3F, 0xBB, 0x73, 0x30, 0x00, 0x00, 0x00,
760+ 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0xFB, 0xF7,
761+ 0x00, 0x00, 0x00, 0x00, 0x08, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
762+ 0x77, 0x77, 0x3F, 0xB0, 0x00, 0x00, 0x40, 0x00, 0x08, 0xFF, 0xFF, 0xFF,
763+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x00, 0x00, 0x04, 0x44, 0x00,
764+ 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x0F,
765+ 0x00, 0x4C, 0xC4, 0x40, 0x08, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
766+ 0x77, 0x77, 0x77, 0x00, 0xF4, 0xC4, 0xCC, 0x40, 0x08, 0xFF, 0xFF, 0xFF,
767+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xF0, 0x0C, 0xCC, 0x4C, 0xC0,
768+ 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
769+ 0x4C, 0xBC, 0xC4, 0xC0, 0x08, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
770+ 0x77, 0x77, 0x77, 0x77, 0x4C, 0xCF, 0xCC, 0x40, 0x08, 0xFF, 0xFF, 0xFF,
771+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x74, 0xCC, 0xFC, 0xC0,
772+ 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
773+ 0x70, 0x4C, 0xCB, 0xC0, 0x08, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77, 0x77,
774+ 0x77, 0x77, 0x77, 0x77, 0x70, 0x74, 0xCC, 0xF0, 0x08, 0xFF, 0xFF, 0xFF,
775+ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x70, 0x70, 0x4C, 0xC0,
776+ 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
777+ 0x70, 0x70, 0x04, 0xC0, 0x08, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
778+ 0xFF, 0xFF, 0xFF, 0xFF, 0x70, 0x70, 0x00, 0x40, 0x08, 0xF0, 0xFF, 0x0F,
779+ 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x80, 0x70, 0x00, 0x00,
780+ 0x08, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF, 0x0F, 0xF0, 0xFF,
781+ 0x80, 0x70, 0x00, 0x00, 0x00, 0x8F, 0x88, 0xF8, 0x8F, 0x88, 0xF8, 0x8F,
782+ 0x88, 0xF8, 0x8F, 0x88, 0xF8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
783+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
784+ 0xE0, 0x00, 0x00, 0x3F, 0xC0, 0x00, 0x00, 0x1F, 0x80, 0x00, 0x00, 0x0F,
785+ 0x80, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x0F,
786+ 0x80, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x0F,
787+ 0x80, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x0F,
788+ 0x80, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x07,
789+ 0x80, 0x00, 0x00, 0x03, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x01,
790+ 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x01,
791+ 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x01,
792+ 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x09,
793+ 0x80, 0x00, 0x00, 0x0D, 0x80, 0x00, 0x00, 0x0F, 0x80, 0x00, 0x00, 0x0F,
794+ 0xC0, 0x00, 0x00, 0x1F, 0xE4, 0x92, 0x49, 0x7F, 0x00, 0x00, 0x00, 0x00,
795+ 0x00, 0x00, 0x00, 0x00, 0x28, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00,
796+ 0x20, 0x00, 0x00, 0x00, 0x01, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
797+ 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
798+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
799+ 0x00, 0x00, 0x80, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x80, 0x00,
800+ 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x80, 0x00, 0x80, 0x80, 0x00, 0x00,
801+ 0xC0, 0xC0, 0xC0, 0x00, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0xFF, 0x00,
802+ 0x00, 0xFF, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0x00, 0x00, 0x00,
803+ 0xFF, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0x00,
804+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x87, 0x77, 0x77, 0x77,
805+ 0x77, 0x77, 0x00, 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0x00,
806+ 0x8F, 0xFF, 0xFF, 0x00, 0xFF, 0xF7, 0x00, 0x00, 0x87, 0x77, 0x77, 0x73,
807+ 0x00, 0x00, 0x00, 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0x3B, 0xF3, 0x00, 0x00,
808+ 0x8F, 0xFF, 0xFF, 0xFF, 0xF3, 0xBF, 0x38, 0x00, 0x87, 0x77, 0x77, 0x77,
809+ 0x77, 0x3B, 0x30, 0x00, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF3, 0x00, 0x04,
810+ 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0xC4, 0x87, 0x77, 0x77, 0x77,
811+ 0x77, 0x77, 0x04, 0xFC, 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x04, 0xCF,
812+ 0x8F, 0xFF, 0xFF, 0xFF, 0xFF, 0xF7, 0x00, 0x4C, 0x8F, 0x0F, 0x0F, 0x0F,
813+ 0x0F, 0x0F, 0x00, 0x04, 0x00, 0xF8, 0xF8, 0xF8, 0xF8, 0xF0, 0x00, 0x00,
814+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x0F, 0x00, 0x00,
815+ 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00,
816+ 0x00, 0x07, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00,
817+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
818+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00,
819+ 0x00, 0x06, 0x00, 0x00, 0x80, 0x0F, 0x00, 0x00, 0xD5, 0x5F, 0x00, 0x00,
820+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00,
821+ 0x02, 0x00, 0x20, 0x20, 0x10, 0x00, 0x01, 0x00, 0x04, 0x00, 0xF0, 0x02,
822+ 0x00, 0x00, 0x01, 0x00, 0x10, 0x10, 0x10, 0x00, 0x01, 0x00, 0x04, 0x00,
823+ 0x30, 0x01, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
824+ 0x60, 0x03, 0x34, 0x00, 0x00, 0x00, 0x56, 0x00, 0x53, 0x00, 0x5F, 0x00,
825+ 0x56, 0x00, 0x45, 0x00, 0x52, 0x00, 0x53, 0x00, 0x49, 0x00, 0x4F, 0x00,
826+ 0x4E, 0x00, 0x5F, 0x00, 0x49, 0x00, 0x4E, 0x00, 0x46, 0x00, 0x4F, 0x00,
827+ 0x00, 0x00, 0x00, 0x00, 0xBD, 0x04, 0xEF, 0xFE, 0x00, 0x00, 0x01, 0x00,
828+ 0x00, 0x00, 0x0A, 0x00, 0x01, 0x00, 0x63, 0x45, 0x00, 0x00, 0x0A, 0x00,
829+ 0x01, 0x00, 0x63, 0x45, 0x3F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
830+ 0x04, 0x00, 0x04, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
831+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xBE, 0x02, 0x00, 0x00,
832+ 0x01, 0x00, 0x53, 0x00, 0x74, 0x00, 0x72, 0x00, 0x69, 0x00, 0x6E, 0x00,
833+ 0x67, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x49, 0x00,
834+ 0x6E, 0x00, 0x66, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x9A, 0x02, 0x00, 0x00,
835+ 0x01, 0x00, 0x30, 0x00, 0x34, 0x00, 0x30, 0x00, 0x39, 0x00, 0x30, 0x00,
836+ 0x34, 0x00, 0x42, 0x00, 0x30, 0x00, 0x00, 0x00, 0x4C, 0x00, 0x16, 0x00,
837+ 0x01, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x6D, 0x00, 0x70, 0x00, 0x61, 0x00,
838+ 0x6E, 0x00, 0x79, 0x00, 0x4E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00,
839+ 0x00, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x69, 0x00, 0x63, 0x00, 0x72, 0x00,
840+ 0x6F, 0x00, 0x73, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x74, 0x00, 0x20, 0x00,
841+ 0x43, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x70, 0x00, 0x6F, 0x00, 0x72, 0x00,
842+ 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00,
843+ 0x44, 0x00, 0x0E, 0x00, 0x01, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00,
844+ 0x65, 0x00, 0x44, 0x00, 0x65, 0x00, 0x73, 0x00, 0x63, 0x00, 0x72, 0x00,
845+ 0x69, 0x00, 0x70, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00,
846+ 0x00, 0x00, 0x00, 0x00, 0x57, 0x00, 0x69, 0x00, 0x6E, 0x00, 0x64, 0x00,
847+ 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0x20, 0x00, 0x57, 0x00, 0x72, 0x00,
848+ 0x69, 0x00, 0x74, 0x00, 0x65, 0x00, 0x00, 0x00, 0x68, 0x00, 0x24, 0x00,
849+ 0x01, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00, 0x56, 0x00,
850+ 0x65, 0x00, 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00,
851+ 0x00, 0x00, 0x00, 0x00, 0x31, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00,
852+ 0x2E, 0x00, 0x31, 0x00, 0x37, 0x00, 0x37, 0x00, 0x36, 0x00, 0x33, 0x00,
853+ 0x2E, 0x00, 0x31, 0x00, 0x20, 0x00, 0x28, 0x00, 0x57, 0x00, 0x69, 0x00,
854+ 0x6E, 0x00, 0x42, 0x00, 0x75, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x64, 0x00,
855+ 0x2E, 0x00, 0x31, 0x00, 0x36, 0x00, 0x30, 0x00, 0x31, 0x00, 0x30, 0x00,
856+ 0x31, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x38, 0x00, 0x30, 0x00, 0x30, 0x00,
857+ 0x29, 0x00, 0x00, 0x00, 0x2C, 0x00, 0x06, 0x00, 0x01, 0x00, 0x49, 0x00,
858+ 0x6E, 0x00, 0x74, 0x00, 0x65, 0x00, 0x72, 0x00, 0x6E, 0x00, 0x61, 0x00,
859+ 0x6C, 0x00, 0x4E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00,
860+ 0x77, 0x00, 0x72, 0x00, 0x69, 0x00, 0x74, 0x00, 0x65, 0x00, 0x00, 0x00,
861+ 0x80, 0x00, 0x2E, 0x00, 0x01, 0x00, 0x4C, 0x00, 0x65, 0x00, 0x67, 0x00,
862+ 0x61, 0x00, 0x6C, 0x00, 0x43, 0x00, 0x6F, 0x00, 0x70, 0x00, 0x79, 0x00,
863+ 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x68, 0x00, 0x74, 0x00, 0x00, 0x00,
864+ 0xA9, 0x00, 0x20, 0x00, 0x4D, 0x00, 0x69, 0x00, 0x63, 0x00, 0x72, 0x00,
865+ 0x6F, 0x00, 0x73, 0x00, 0x6F, 0x00, 0x66, 0x00, 0x74, 0x00, 0x20, 0x00,
866+ 0x43, 0x00, 0x6F, 0x00, 0x72, 0x00, 0x70, 0x00, 0x6F, 0x00, 0x72, 0x00,
867+ 0x61, 0x00, 0x74, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x2E, 0x00,
868+ 0x20, 0x00, 0x41, 0x00, 0x6C, 0x00, 0x6C, 0x00, 0x20, 0x00, 0x72, 0x00,
869+ 0x69, 0x00, 0x67, 0x00, 0x68, 0x00, 0x74, 0x00, 0x73, 0x00, 0x20, 0x00,
870+ 0x72, 0x00, 0x65, 0x00, 0x73, 0x00, 0x65, 0x00, 0x72, 0x00, 0x76, 0x00,
871+ 0x65, 0x00, 0x64, 0x00, 0x2E, 0x00, 0x00, 0x00, 0x34, 0x00, 0x06, 0x00,
872+ 0x01, 0x00, 0x4F, 0x00, 0x72, 0x00, 0x69, 0x00, 0x67, 0x00, 0x69, 0x00,
873+ 0x6E, 0x00, 0x61, 0x00, 0x6C, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00,
874+ 0x65, 0x00, 0x6E, 0x00, 0x61, 0x00, 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00,
875+ 0x77, 0x00, 0x72, 0x00, 0x69, 0x00, 0x74, 0x00, 0x65, 0x00, 0x00, 0x00,
876+ 0x6A, 0x00, 0x25, 0x00, 0x01, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00,
877+ 0x64, 0x00, 0x75, 0x00, 0x63, 0x00, 0x74, 0x00, 0x4E, 0x00, 0x61, 0x00,
878+ 0x6D, 0x00, 0x65, 0x00, 0x00, 0x00, 0x00, 0x00, 0x4D, 0x00, 0x69, 0x00,
879+ 0x63, 0x00, 0x72, 0x00, 0x6F, 0x00, 0x73, 0x00, 0x6F, 0x00, 0x66, 0x00,
880+ 0x74, 0x00, 0xAE, 0x00, 0x20, 0x00, 0x57, 0x00, 0x69, 0x00, 0x6E, 0x00,
881+ 0x64, 0x00, 0x6F, 0x00, 0x77, 0x00, 0x73, 0x00, 0xAE, 0x00, 0x20, 0x00,
882+ 0x4F, 0x00, 0x70, 0x00, 0x65, 0x00, 0x72, 0x00, 0x61, 0x00, 0x74, 0x00,
883+ 0x69, 0x00, 0x6E, 0x00, 0x67, 0x00, 0x20, 0x00, 0x53, 0x00, 0x79, 0x00,
884+ 0x73, 0x00, 0x74, 0x00, 0x65, 0x00, 0x6D, 0x00, 0x00, 0x00, 0x00, 0x00,
885+ 0x3E, 0x00, 0x0D, 0x00, 0x01, 0x00, 0x50, 0x00, 0x72, 0x00, 0x6F, 0x00,
886+ 0x64, 0x00, 0x75, 0x00, 0x63, 0x00, 0x74, 0x00, 0x56, 0x00, 0x65, 0x00,
887+ 0x72, 0x00, 0x73, 0x00, 0x69, 0x00, 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00,
888+ 0x31, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x30, 0x00, 0x2E, 0x00, 0x31, 0x00,
889+ 0x37, 0x00, 0x37, 0x00, 0x36, 0x00, 0x33, 0x00, 0x2E, 0x00, 0x31, 0x00,
890+ 0x00, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, 0x00, 0x01, 0x00, 0x56, 0x00,
891+ 0x61, 0x00, 0x72, 0x00, 0x46, 0x00, 0x69, 0x00, 0x6C, 0x00, 0x65, 0x00,
892+ 0x49, 0x00, 0x6E, 0x00, 0x66, 0x00, 0x6F, 0x00, 0x00, 0x00, 0x00, 0x00,
893+ 0x24, 0x00, 0x04, 0x00, 0x00, 0x00, 0x54, 0x00, 0x72, 0x00, 0x61, 0x00,
894+ 0x6E, 0x00, 0x73, 0x00, 0x6C, 0x00, 0x61, 0x00, 0x74, 0x00, 0x69, 0x00,
895+ 0x6F, 0x00, 0x6E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x04, 0xB0, 0x04,
896+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
897+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
898+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
899+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
900+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
901+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
902+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
903+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
904+ 0x00, 0x20, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0xA0, 0x08, 0xA0,
905+ 0x68, 0xA0, 0x80, 0xA0, 0x88, 0xA0, 0x90, 0xA0, 0x28, 0xA2, 0x30, 0xA2,
906+ 0x40, 0xA2, 0x58, 0xA2, 0x60, 0xA2, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
907+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
908+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
909+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
910+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
911+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
912+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
913+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
914+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
915+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
916+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
917+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
918+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
919+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
920+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
921+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
922+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
923+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
924+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
925+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
926+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
927+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
928+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
929+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
930+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
931+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
932+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
933+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
934+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
935+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
936+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
937+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
938+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
939+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
940+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
941+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
942+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
943+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
944+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
945+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
946+ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
947+};
948+
949+void PEFILE_DESERIALIZE_TESTS( void )
950+{
951+ printf( "testing PEFile deserialize 'write.exe'..." );
952+ {
953+ PEFile image;
954+ {
955+ PEStreamConstMem memStream( _write_exe_sample, sizeof(_write_exe_sample) );
956+
957+ image.LoadFromDisk( &memStream );
958+ }
959+
960+ // TODO: check properties.
961+ assert( image.IsDynamicLinkLibrary() == false );
962+ }
963+ printf( "ok.\n" );
964+
965+ printf( "testing PEFile semi-idempotence processing 'write.exe'..." );
966+ {
967+ PEFile image;
968+
969+ // First load the image.
970+ {
971+ PEStreamConstMem memStream( _write_exe_sample, sizeof(_write_exe_sample) );
972+
973+ image.LoadFromDisk( &memStream );
974+ }
975+
976+ // Next write the image to another buffer.
977+ PEStreamDynMem outStream;
978+
979+ image.WriteToStream( &outStream );
980+
981+ // Check that it got written properly.
982+ assert( outStream.Size() == sizeof(_write_exe_sample) );
983+
984+ // We do not compare for equal memory because the Windows PE file writer is a historical
985+ // application that writes certain optimized-for-itself constructs that do not pass the
986+ // test-of-time.
987+ // But this also means that we do have a _true/complete_ idempotence test.
988+ }
989+ printf( "ok.\n" );
990+}
\ No newline at end of file
--- unittest/src/pefile_serialize.cpp (nonexistent)
+++ unittest/src/pefile_serialize.cpp (revision 26)
@@ -0,0 +1,6 @@
1+#include <peframework.h>
2+
3+void PEFILE_SERIALIZE_TESTS( void )
4+{
5+
6+}
\ No newline at end of file
--- unittest/src/utils.hxx (nonexistent)
+++ unittest/src/utils.hxx (revision 26)
@@ -0,0 +1,100 @@
1+#ifndef _PEFRAMEWORK_UNITTEST_UTILITIES_
2+#define _PEFRAMEWORK_UNITTEST_UTILITIES_
3+
4+#include <peframework.h>
5+
6+#include <sdk/MemoryUtils.stream.h>
7+
8+#include <assert.h>
9+
10+// We want the ability to read PEFile from naked memory.
11+struct PEStreamConstMem final : public PEStream
12+{
13+ inline PEStreamConstMem( const void *memptr, size_t memSize ) : stream( memptr, memSize, allocMan )
14+ {
15+ return;
16+ }
17+
18+ size_t Read( void *buf, size_t readCount ) override
19+ {
20+ return stream.Read( buf, readCount );
21+ }
22+
23+ bool Write( const void *buf, size_t writeCount ) override
24+ {
25+ return ( stream.Write( buf, writeCount ) == writeCount );
26+ }
27+
28+ bool Seek( pe_file_ptr_t ptr ) override
29+ {
30+ stream.Seek( ptr );
31+ return true;
32+ }
33+
34+ pe_file_ptr_t Tell( void ) const override
35+ {
36+ return stream.Tell();
37+ }
38+
39+private:
40+ nullBufAllocMan <pe_file_ptr_t> allocMan;
41+ memoryBufferStream <pe_file_ptr_t, decltype(allocMan), true, false> stream;
42+};
43+
44+// Writing a PEFile to available memory buffer.
45+struct PEStreamDynMem final : public PEStream
46+{
47+ inline PEStreamDynMem( void ) : stream( nullptr, 0, allocMan )
48+ {
49+ return;
50+ }
51+
52+ size_t Read( void *buf, size_t readCount ) override
53+ {
54+ return stream.Read( buf, readCount );
55+ }
56+
57+ bool Write( const void *buf, size_t writeCount ) override
58+ {
59+ return ( stream.Write( buf, writeCount ) == writeCount );
60+ }
61+
62+ bool Seek( pe_file_ptr_t ptr ) override
63+ {
64+ stream.Seek( ptr );
65+ return true;
66+ }
67+
68+ pe_file_ptr_t Tell( void ) const override
69+ {
70+ return stream.Tell();
71+ }
72+
73+ const void* Data( void ) const
74+ {
75+ return stream.Data();
76+ }
77+
78+ size_t Size( void ) const
79+ {
80+ return (size_t)stream.Size();
81+ }
82+
83+private:
84+ BasicMemStream::basicMemStreamAllocMan <pe_file_ptr_t> allocMan;
85+ BasicMemStream::basicMemoryBufferStream <pe_file_ptr_t> stream;
86+};
87+
88+// Comparing two same-size memory blocks.
89+static void compare_memory( const void *srcMem, const void *dstMem, size_t memSize )
90+{
91+ for ( size_t n = 0; n < memSize; n++ )
92+ {
93+ unsigned char srcByte = *( (unsigned char*)srcMem + n );
94+ unsigned char dstByte = *( (unsigned char*)dstMem + n );
95+
96+ assert( srcByte == dstByte );
97+ }
98+}
99+
100+#endif //_PEFRAMEWORK_UNITTEST_UTILITIES_
\ No newline at end of file
Show on old repository browser