git-svn-id: http://svn.purei.org/purei/trunk@187 b36208d7-6611-0410-8bec-b1987f11c4a2
This commit is contained in:
jpd002 2007-12-08 03:52:30 +00:00
parent ea88aa0b2e
commit 4e08199687
11 changed files with 2041 additions and 421 deletions

View File

@ -197,88 +197,7 @@
<key>Notifications</key>
<array/>
<key>OpenEditors</key>
<array>
<dict>
<key>Content</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>7E898ABA0D08CAB60077F9ED</string>
<key>PBXProjectModuleLabel</key>
<string>stricmp.h</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>7E898ABB0D08CAB60077F9ED</string>
<key>PBXProjectModuleLabel</key>
<string>stricmp.h</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
<string>7E947B090D09F7F900A2AE15</string>
<key>history</key>
<array>
<string>7E947AEB0D09F6E100A2AE15</string>
</array>
</dict>
<key>SplitCount</key>
<string>1</string>
</dict>
<key>StatusBarVisibility</key>
<true/>
</dict>
<key>Geometry</key>
<dict>
<key>Frame</key>
<string>{{0, 20}, {1129, 580}}</string>
<key>PBXModuleWindowStatusBarHidden2</key>
<false/>
<key>RubberWindowFrame</key>
<string>15 152 1129 621 0 0 1280 778 </string>
</dict>
</dict>
<dict>
<key>Content</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>7E898AC00D08CAB60077F9ED</string>
<key>PBXProjectModuleLabel</key>
<string>ISO9660.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>7E898AC10D08CAB60077F9ED</string>
<key>PBXProjectModuleLabel</key>
<string>ISO9660.cpp</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
<string>7E947B0A0D09F7F900A2AE15</string>
<key>history</key>
<array>
<string>7E947AED0D09F6E100A2AE15</string>
</array>
</dict>
<key>SplitCount</key>
<string>1</string>
</dict>
<key>StatusBarVisibility</key>
<true/>
</dict>
<key>Geometry</key>
<dict>
<key>Frame</key>
<string>{{0, 20}, {1129, 580}}</string>
<key>PBXModuleWindowStatusBarHidden2</key>
<false/>
<key>RubberWindowFrame</key>
<string>15 152 1129 621 0 0 1280 778 </string>
</dict>
</dict>
</array>
<array/>
<key>PerspectiveWidths</key>
<array>
<integer>-1</integer>
@ -349,7 +268,6 @@
<array>
<string>29B97314FDCFA39411CA2CEA</string>
<string>080E96DDFE201D6D7F000001</string>
<string>29B97315FDCFA39411CA2CEA</string>
<string>29B97317FDCFA39411CA2CEA</string>
<string>1C37FBAC04509CD000000102</string>
<string>7E947AF50D09F77200A2AE15</string>
@ -358,7 +276,7 @@
<key>PBXSmartGroupTreeModuleOutlineStateSelectionKey</key>
<array>
<array>
<integer>11</integer>
<integer>7</integer>
<integer>0</integer>
</array>
</array>
@ -393,12 +311,14 @@
<key>Dock</key>
<array>
<dict>
<key>BecomeActive</key>
<true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
<string>1CE0B20306471E060097A5F4</string>
<key>PBXProjectModuleLabel</key>
<string></string>
<string>PS2OS.cpp</string>
<key>PBXSplitModuleInNavigatorKey</key>
<dict>
<key>Split0</key>
@ -406,7 +326,69 @@
<key>PBXProjectModuleGUID</key>
<string>1CE0B20406471E060097A5F4</string>
<key>PBXProjectModuleLabel</key>
<string></string>
<string>PS2OS.cpp</string>
<key>_historyCapacity</key>
<integer>0</integer>
<key>bookmark</key>
<string>7E947C250D0A45E200A2AE15</string>
<key>history</key>
<array>
<string>7E947B390D0A073C00A2AE15</string>
<string>7E947B3A0D0A073C00A2AE15</string>
<string>7E947B3C0D0A073C00A2AE15</string>
<string>7E947B590D0A07F700A2AE15</string>
<string>7E947B760D0A0B7600A2AE15</string>
<string>7E947B8F0D0A0CAA00A2AE15</string>
<string>7E947B900D0A0CAA00A2AE15</string>
<string>7E947BC70D0A121B00A2AE15</string>
<string>7E947BF30D0A42C300A2AE15</string>
<string>7E947C140D0A451800A2AE15</string>
<string>7E947C150D0A451800A2AE15</string>
</array>
<key>prevStack</key>
<array>
<string>7E947B230D09F99800A2AE15</string>
<string>7E947B240D09F99800A2AE15</string>
<string>7E947B250D09F99800A2AE15</string>
<string>7E947B3E0D0A073C00A2AE15</string>
<string>7E947B3F0D0A073C00A2AE15</string>
<string>7E947B400D0A073C00A2AE15</string>
<string>7E947B410D0A073C00A2AE15</string>
<string>7E947B420D0A073C00A2AE15</string>
<string>7E947B430D0A073C00A2AE15</string>
<string>7E947B440D0A073C00A2AE15</string>
<string>7E947B450D0A073C00A2AE15</string>
<string>7E947B460D0A073C00A2AE15</string>
<string>7E947B470D0A073C00A2AE15</string>
<string>7E947B5B0D0A07F700A2AE15</string>
<string>7E947B5C0D0A07F700A2AE15</string>
<string>7E947B5D0D0A07F700A2AE15</string>
<string>7E947B5E0D0A07F700A2AE15</string>
<string>7E947B660D0A080400A2AE15</string>
<string>7E947B670D0A080400A2AE15</string>
<string>7E947B780D0A0B7600A2AE15</string>
<string>7E947B790D0A0B7600A2AE15</string>
<string>7E947B7A0D0A0B7600A2AE15</string>
<string>7E947B950D0A0CAA00A2AE15</string>
<string>7E947B960D0A0CAA00A2AE15</string>
<string>7E947B970D0A0CAA00A2AE15</string>
<string>7E947B980D0A0CAA00A2AE15</string>
<string>7E947B990D0A0CAA00A2AE15</string>
<string>7E947B9A0D0A0CAA00A2AE15</string>
<string>7E947B9B0D0A0CAA00A2AE15</string>
<string>7E947B9D0D0A0CAA00A2AE15</string>
<string>7E947BB40D0A11A000A2AE15</string>
<string>7E947BBF0D0A11E600A2AE15</string>
<string>7E947BC90D0A121B00A2AE15</string>
<string>7E947BCA0D0A121B00A2AE15</string>
<string>7E947BF50D0A42C300A2AE15</string>
<string>7E947BF60D0A42C300A2AE15</string>
<string>7E947BF70D0A42C300A2AE15</string>
<string>7E947C160D0A451800A2AE15</string>
<string>7E947C170D0A451800A2AE15</string>
<string>7E947C180D0A451800A2AE15</string>
<string>7E947C190D0A451800A2AE15</string>
</array>
</dict>
<key>SplitCount</key>
<string>1</string>
@ -417,18 +399,16 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 0}, {1072, 0}}</string>
<string>{{0, 0}, {1072, 459}}</string>
<key>RubberWindowFrame</key>
<string>0 147 1280 631 0 0 1280 778 </string>
</dict>
<key>Module</key>
<string>PBXNavigatorGroup</string>
<key>Proportion</key>
<string>0pt</string>
<string>459pt</string>
</dict>
<dict>
<key>BecomeActive</key>
<true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
@ -439,14 +419,14 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 5}, {1072, 585}}</string>
<string>{{0, 464}, {1072, 126}}</string>
<key>RubberWindowFrame</key>
<string>0 147 1280 631 0 0 1280 778 </string>
</dict>
<key>Module</key>
<string>XCDetailModule</string>
<key>Proportion</key>
<string>585pt</string>
<string>126pt</string>
</dict>
</array>
<key>Proportion</key>
@ -604,11 +584,9 @@
<string>7E947B120D09F7F900A2AE15</string>
<string>7E947B130D09F7F900A2AE15</string>
<string>7E947B140D09F7F900A2AE15</string>
<string>1C78EAAD065D492600B07095</string>
<string>1CD10A99069EF8BA00B06720</string>
<string>7E8986E20D08A40C0077F9ED</string>
<string>7E898AC00D08CAB60077F9ED</string>
<string>7E898ABA0D08CAB60077F9ED</string>
<string>1C78EAAD065D492600B07095</string>
<string>/Users/jpd001/Projects/Purei/Purei.xcodeproj</string>
</array>
<key>WindowString</key>
@ -633,7 +611,7 @@
<key>PBXProjectModuleGUID</key>
<string>1CD0528F0623707200166675</string>
<key>PBXProjectModuleLabel</key>
<string>&lt;No Editor&gt;</string>
<string></string>
<key>StatusBarVisibility</key>
<true/>
</dict>
@ -650,6 +628,8 @@
<string>283pt</string>
</dict>
<dict>
<key>BecomeActive</key>
<true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
@ -783,10 +763,10 @@
<key>Frame</key>
<string>{{503, 0}, {600, 266}}</string>
<key>RubberWindowFrame</key>
<string>226 115 1103 546 0 0 1280 778 </string>
<string>114 174 1103 546 0 0 1280 778 </string>
</dict>
<key>RubberWindowFrame</key>
<string>226 115 1103 546 0 0 1280 778 </string>
<string>114 174 1103 546 0 0 1280 778 </string>
</dict>
<key>Module</key>
<string>PBXDebugSessionModule</string>
@ -820,7 +800,7 @@
<key>ToolbarConfiguration</key>
<string>xcode.toolbar.config.debugV3</string>
<key>WindowString</key>
<string>226 115 1103 546 0 0 1280 778 </string>
<string>114 174 1103 546 0 0 1280 778 </string>
<key>WindowToolGUID</key>
<string>1CD10A99069EF8BA00B06720</string>
<key>WindowToolIsVisible</key>
@ -942,6 +922,8 @@
<key>Dock</key>
<array>
<dict>
<key>BecomeActive</key>
<true/>
<key>ContentConfiguration</key>
<dict>
<key>PBXProjectModuleGUID</key>
@ -952,18 +934,18 @@
<key>GeometryConfiguration</key>
<dict>
<key>Frame</key>
<string>{{0, 0}, {650, 209}}</string>
<string>{{0, 0}, {724, 246}}</string>
<key>RubberWindowFrame</key>
<string>21 505 650 250 0 0 1280 778 </string>
<string>21 468 724 287 0 0 1280 778 </string>
</dict>
<key>Module</key>
<string>PBXDebugCLIModule</string>
<key>Proportion</key>
<string>209pt</string>
<string>246pt</string>
</dict>
</array>
<key>Proportion</key>
<string>209pt</string>
<string>246pt</string>
</dict>
</array>
<key>Name</key>
@ -983,11 +965,11 @@
<key>ToolbarConfiguration</key>
<string>xcode.toolbar.config.consoleV3</string>
<key>WindowString</key>
<string>21 505 650 250 0 0 1280 778 </string>
<string>21 468 724 287 0 0 1280 778 </string>
<key>WindowToolGUID</key>
<string>1C78EAAD065D492600B07095</string>
<key>WindowToolIsVisible</key>
<false/>
<true/>
</dict>
<dict>
<key>Identifier</key>

File diff suppressed because it is too large Load Diff

View File

@ -86,6 +86,8 @@
7E947AC00D09F49A00A2AE15 /* icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 7E947ABC0D09F49A00A2AE15 /* icon.icns */; };
7E947AC10D09F49A00A2AE15 /* main.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7E947ABD0D09F49A00A2AE15 /* main.mm */; };
7E947B010D09F79B00A2AE15 /* Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 7E947B000D09F79B00A2AE15 /* Info.plist */; };
7E947B190D09F95600A2AE15 /* Globals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E947B180D09F95600A2AE15 /* Globals.cpp */; };
7E947B300D0A063200A2AE15 /* ApplicationDelegate.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7E947B2F0D0A063200A2AE15 /* ApplicationDelegate.mm */; };
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
/* End PBXBuildFile section */
@ -250,6 +252,10 @@
7E947ABD0D09F49A00A2AE15 /* main.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = main.mm; path = Source/macosxui/main.mm; sourceTree = "<group>"; };
7E947AC40D09F52B00A2AE15 /* Purei_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Purei_Prefix.pch; path = Source/macosxui/Purei_Prefix.pch; sourceTree = "<group>"; };
7E947B000D09F79B00A2AE15 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Source/macosxui/Info.plist; sourceTree = "<group>"; };
7E947B160D09F8F100A2AE15 /* Globals.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Globals.h; path = Source/macosxui/Globals.h; sourceTree = "<group>"; };
7E947B180D09F95600A2AE15 /* Globals.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Globals.cpp; path = Source/macosxui/Globals.cpp; sourceTree = "<group>"; };
7E947B2E0D0A063200A2AE15 /* ApplicationDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ApplicationDelegate.h; path = Source/macosxui/ApplicationDelegate.h; sourceTree = "<group>"; };
7E947B2F0D0A063200A2AE15 /* ApplicationDelegate.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = ApplicationDelegate.mm; path = Source/macosxui/ApplicationDelegate.mm; sourceTree = "<group>"; };
8D1107320486CEB800E47090 /* Purei.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Purei.app; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
@ -274,6 +280,10 @@
isa = PBXGroup;
children = (
7E947ABD0D09F49A00A2AE15 /* main.mm */,
7E947B160D09F8F100A2AE15 /* Globals.h */,
7E947B180D09F95600A2AE15 /* Globals.cpp */,
7E947B2E0D0A063200A2AE15 /* ApplicationDelegate.h */,
7E947B2F0D0A063200A2AE15 /* ApplicationDelegate.mm */,
);
name = Classes;
sourceTree = "<group>";
@ -651,6 +661,8 @@
7E898A9C0D08C9880077F9ED /* PathTableRecord.cpp in Sources */,
7E898A9D0D08C9880077F9ED /* VolumeDescriptor.cpp in Sources */,
7E947AC10D09F49A00A2AE15 /* main.mm in Sources */,
7E947B190D09F95600A2AE15 /* Globals.cpp in Sources */,
7E947B300D0A063200A2AE15 /* ApplicationDelegate.mm in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};

View File

@ -440,7 +440,7 @@ void CPS2VM::CDROM0_Mount(const char* sPath)
CConfig::GetInstance()->SetPreferenceString("ps2.cdrom0.path", sPath);
#else
throw runtime_error("Not implemented.");
// throw runtime_error("Not implemented.");
#endif
}

View File

@ -0,0 +1,11 @@
#import <Cocoa/Cocoa.h>
@interface CApplicationDelegate : NSObject
{
}
-(void)applicationDidFinishLaunching : (NSNotification*)notification;
-(void)BootElf : (id)sender;
@end

View File

@ -0,0 +1,35 @@
#import "ApplicationDelegate.h"
#import "Globals.h"
using namespace std;
@implementation CApplicationDelegate
-(void)applicationDidFinishLaunching : (NSNotification*)notification
{
g_virtualMachine->Initialize();
}
-(void)BootElf : (id)sender
{
NSOpenPanel* openPanel = [NSOpenPanel openPanel];
NSArray* fileTypes = [NSArray arrayWithObject:@"elf"];
if([openPanel runModalForTypes:fileTypes] != NSOKButton)
{
return;
}
NSString* fileName = [openPanel filename];
g_virtualMachine->Reset();
try
{
CPS2OS* os = g_virtualMachine->m_os;
os->BootFromFile([fileName fileSystemRepresentation]);
}
catch(const exception& excep)
{
NSString* errorMessage = [[NSString alloc] initWithCString:excep.what()];
NSRunCriticalAlertPanel(@"Load ELF error:", errorMessage, NULL, NULL, NULL);
}
}
@end

View File

@ -8,13 +8,12 @@
<string key="IBDocument.HIToolboxVersion">343.00</string>
<object class="NSMutableArray" key="IBDocument.EditedObjectIDs">
<bool key="EncodedWithXMLCoder">YES</bool>
<integer value="372"/>
<integer value="384"/>
<integer value="379"/>
</object>
<object class="NSArray" key="IBDocument.PluginDependencies">
<bool key="EncodedWithXMLCoder">YES</bool>
<string id="617114957">com.apple.InterfaceBuilderKit</string>
<string id="335538201">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string id="39919137">com.apple.InterfaceBuilder.CocoaPlugin</string>
</object>
<object class="NSMutableArray" key="IBDocument.RootObjects" id="1048">
<bool key="EncodedWithXMLCoder">YES</bool>
@ -37,12 +36,12 @@
<string key="NSKeyEquiv" id="1003"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<object class="NSCustomResource" key="NSOnImage" id="577525617">
<string key="NSClassName" id="869695870">NSImage</string>
<object class="NSCustomResource" key="NSOnImage" id="1530028">
<string key="NSClassName" id="343964064">NSImage</string>
<string key="NSResourceName">NSMenuCheckmark</string>
</object>
<object class="NSCustomResource" key="NSMixedImage" id="802592445">
<reference key="NSClassName" ref="869695870"/>
<object class="NSCustomResource" key="NSMixedImage" id="5777548">
<reference key="NSClassName" ref="343964064"/>
<string key="NSResourceName">NSMenuMixedState</string>
</object>
<string key="NSAction">submenuAction:</string>
@ -55,8 +54,8 @@
<string type="base64-UTF8" key="NSTitle">QWJvdXQg44OX44Os44Kk77yBA</string>
<reference key="NSKeyEquiv" ref="1003"/>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="577525617"/>
<reference key="NSMixedImage" ref="802592445"/>
<reference key="NSOnImage" ref="1530028"/>
<reference key="NSMixedImage" ref="5777548"/>
</object>
<object class="NSMenuItem" id="304266470">
<reference key="NSMenu" ref="110575045"/>
@ -66,8 +65,8 @@
<reference key="NSKeyEquiv" ref="1003"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="577525617"/>
<reference key="NSMixedImage" ref="802592445"/>
<reference key="NSOnImage" ref="1530028"/>
<reference key="NSMixedImage" ref="5777548"/>
</object>
<object class="NSMenuItem" id="609285721">
<reference key="NSMenu" ref="110575045"/>
@ -75,8 +74,8 @@
<string key="NSKeyEquiv">,</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="577525617"/>
<reference key="NSMixedImage" ref="802592445"/>
<reference key="NSOnImage" ref="1530028"/>
<reference key="NSMixedImage" ref="5777548"/>
</object>
<object class="NSMenuItem" id="481834944">
<reference key="NSMenu" ref="110575045"/>
@ -86,8 +85,8 @@
<reference key="NSKeyEquiv" ref="1003"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="577525617"/>
<reference key="NSMixedImage" ref="802592445"/>
<reference key="NSOnImage" ref="1530028"/>
<reference key="NSMixedImage" ref="5777548"/>
</object>
<object class="NSMenuItem" id="1046388886">
<reference key="NSMenu" ref="110575045"/>
@ -95,8 +94,8 @@
<reference key="NSKeyEquiv" ref="1003"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="577525617"/>
<reference key="NSMixedImage" ref="802592445"/>
<reference key="NSOnImage" ref="1530028"/>
<reference key="NSMixedImage" ref="5777548"/>
<string key="NSAction">submenuAction:</string>
<object class="NSMenu" key="NSSubmenu" id="752062318">
<reference key="NSTitle" ref="487627014"/>
@ -114,8 +113,8 @@
<reference key="NSKeyEquiv" ref="1003"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="577525617"/>
<reference key="NSMixedImage" ref="802592445"/>
<reference key="NSOnImage" ref="1530028"/>
<reference key="NSMixedImage" ref="5777548"/>
</object>
<object class="NSMenuItem" id="755159360">
<reference key="NSMenu" ref="110575045"/>
@ -123,8 +122,8 @@
<string key="NSKeyEquiv" id="712247123">h</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="577525617"/>
<reference key="NSMixedImage" ref="802592445"/>
<reference key="NSOnImage" ref="1530028"/>
<reference key="NSMixedImage" ref="5777548"/>
</object>
<object class="NSMenuItem" id="342932134">
<reference key="NSMenu" ref="110575045"/>
@ -132,8 +131,8 @@
<reference key="NSKeyEquiv" ref="712247123"/>
<int key="NSKeyEquivModMask">1572864</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="577525617"/>
<reference key="NSMixedImage" ref="802592445"/>
<reference key="NSOnImage" ref="1530028"/>
<reference key="NSMixedImage" ref="5777548"/>
</object>
<object class="NSMenuItem" id="908899353">
<reference key="NSMenu" ref="110575045"/>
@ -141,8 +140,8 @@
<reference key="NSKeyEquiv" ref="1003"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="577525617"/>
<reference key="NSMixedImage" ref="802592445"/>
<reference key="NSOnImage" ref="1530028"/>
<reference key="NSMixedImage" ref="5777548"/>
</object>
<object class="NSMenuItem" id="1056857174">
<reference key="NSMenu" ref="110575045"/>
@ -152,8 +151,8 @@
<reference key="NSKeyEquiv" ref="1003"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="577525617"/>
<reference key="NSMixedImage" ref="802592445"/>
<reference key="NSOnImage" ref="1530028"/>
<reference key="NSMixedImage" ref="5777548"/>
</object>
<object class="NSMenuItem" id="632727374">
<reference key="NSMenu" ref="110575045"/>
@ -161,8 +160,8 @@
<string key="NSKeyEquiv">q</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="577525617"/>
<reference key="NSMixedImage" ref="802592445"/>
<reference key="NSOnImage" ref="1530028"/>
<reference key="NSMixedImage" ref="5777548"/>
</object>
</object>
<string key="NSName">_NSAppleMenu</string>
@ -170,15 +169,15 @@
</object>
<object class="NSMenuItem" id="379814623">
<reference key="NSMenu" ref="649796088"/>
<string key="NSTitle">File</string>
<string key="NSTitle" id="240401069">File</string>
<reference key="NSKeyEquiv" ref="1003"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="577525617"/>
<reference key="NSMixedImage" ref="802592445"/>
<reference key="NSOnImage" ref="1530028"/>
<reference key="NSMixedImage" ref="5777548"/>
<string key="NSAction">submenuAction:</string>
<object class="NSMenu" key="NSSubmenu" id="953788473">
<string key="NSTitle">File</string>
<reference key="NSTitle" ref="240401069"/>
<object class="NSMutableArray" key="NSMenuItems">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMenuItem" id="851239681">
@ -187,8 +186,8 @@
<reference key="NSKeyEquiv" ref="1003"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="577525617"/>
<reference key="NSMixedImage" ref="802592445"/>
<reference key="NSOnImage" ref="1530028"/>
<reference key="NSMixedImage" ref="5777548"/>
</object>
<object class="NSMenuItem" id="684325854">
<reference key="NSMenu" ref="953788473"/>
@ -196,23 +195,23 @@
<string key="NSKeyEquiv">o</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="577525617"/>
<reference key="NSMixedImage" ref="802592445"/>
<reference key="NSOnImage" ref="1530028"/>
<reference key="NSMixedImage" ref="5777548"/>
</object>
</object>
</object>
</object>
<object class="NSMenuItem" id="825812306">
<reference key="NSMenu" ref="649796088"/>
<string key="NSTitle">Virtual Machine</string>
<string key="NSTitle" id="525380479">Virtual Machine</string>
<reference key="NSKeyEquiv" ref="1003"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="577525617"/>
<reference key="NSMixedImage" ref="802592445"/>
<reference key="NSOnImage" ref="1530028"/>
<reference key="NSMixedImage" ref="5777548"/>
<string key="NSAction">submenuAction:</string>
<object class="NSMenu" key="NSSubmenu" id="710696803">
<string key="NSTitle">Virtual Machine</string>
<reference key="NSTitle" ref="525380479"/>
<object class="NSMutableArray" key="NSMenuItems">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSMenuItem" id="742951109">
@ -221,8 +220,8 @@
<string key="NSKeyEquiv">r</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="577525617"/>
<reference key="NSMixedImage" ref="802592445"/>
<reference key="NSOnImage" ref="1530028"/>
<reference key="NSMixedImage" ref="5777548"/>
</object>
<object class="NSMenuItem" id="91057911">
<reference key="NSMenu" ref="710696803"/>
@ -230,8 +229,8 @@
<reference key="NSKeyEquiv" ref="1003"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="577525617"/>
<reference key="NSMixedImage" ref="802592445"/>
<reference key="NSOnImage" ref="1530028"/>
<reference key="NSMixedImage" ref="5777548"/>
</object>
<object class="NSMenuItem" id="398772487">
<reference key="NSMenu" ref="710696803"/>
@ -239,8 +238,8 @@
<reference key="NSKeyEquiv" ref="1003"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="577525617"/>
<reference key="NSMixedImage" ref="802592445"/>
<reference key="NSOnImage" ref="1530028"/>
<reference key="NSMixedImage" ref="5777548"/>
</object>
<object class="NSMenuItem" id="911908214">
<reference key="NSMenu" ref="710696803"/>
@ -250,8 +249,8 @@
<reference key="NSKeyEquiv" ref="1003"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="577525617"/>
<reference key="NSMixedImage" ref="802592445"/>
<reference key="NSOnImage" ref="1530028"/>
<reference key="NSMixedImage" ref="5777548"/>
</object>
<object class="NSMenuItem" id="672616159">
<reference key="NSMenu" ref="710696803"/>
@ -259,8 +258,8 @@
<reference key="NSKeyEquiv" ref="1003"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="577525617"/>
<reference key="NSMixedImage" ref="802592445"/>
<reference key="NSOnImage" ref="1530028"/>
<reference key="NSMixedImage" ref="5777548"/>
</object>
<object class="NSMenuItem" id="205969556">
<reference key="NSMenu" ref="710696803"/>
@ -268,8 +267,8 @@
<string key="NSKeyEquiv">s</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="577525617"/>
<reference key="NSMixedImage" ref="802592445"/>
<reference key="NSOnImage" ref="1530028"/>
<reference key="NSMixedImage" ref="5777548"/>
</object>
<object class="NSMenuItem" id="939444702">
<reference key="NSMenu" ref="710696803"/>
@ -277,8 +276,8 @@
<string key="NSKeyEquiv">l</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="577525617"/>
<reference key="NSMixedImage" ref="802592445"/>
<reference key="NSOnImage" ref="1530028"/>
<reference key="NSMixedImage" ref="5777548"/>
</object>
</object>
</object>
@ -289,8 +288,8 @@
<reference key="NSKeyEquiv" ref="1003"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="577525617"/>
<reference key="NSMixedImage" ref="802592445"/>
<reference key="NSOnImage" ref="1530028"/>
<reference key="NSMixedImage" ref="5777548"/>
<string key="NSAction">submenuAction:</string>
<object class="NSMenu" key="NSSubmenu" id="835318025">
<reference key="NSTitle" ref="15506412"/>
@ -302,8 +301,8 @@
<string key="NSKeyEquiv">m</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="577525617"/>
<reference key="NSMixedImage" ref="802592445"/>
<reference key="NSOnImage" ref="1530028"/>
<reference key="NSMixedImage" ref="5777548"/>
</object>
<object class="NSMenuItem" id="575023229">
<reference key="NSMenu" ref="835318025"/>
@ -311,8 +310,8 @@
<reference key="NSKeyEquiv" ref="1003"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="577525617"/>
<reference key="NSMixedImage" ref="802592445"/>
<reference key="NSOnImage" ref="1530028"/>
<reference key="NSMixedImage" ref="5777548"/>
</object>
<object class="NSMenuItem" id="299356726">
<reference key="NSMenu" ref="835318025"/>
@ -322,8 +321,8 @@
<reference key="NSKeyEquiv" ref="1003"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="577525617"/>
<reference key="NSMixedImage" ref="802592445"/>
<reference key="NSOnImage" ref="1530028"/>
<reference key="NSMixedImage" ref="5777548"/>
</object>
<object class="NSMenuItem" id="625202149">
<reference key="NSMenu" ref="835318025"/>
@ -331,8 +330,8 @@
<reference key="NSKeyEquiv" ref="1003"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="577525617"/>
<reference key="NSMixedImage" ref="802592445"/>
<reference key="NSOnImage" ref="1530028"/>
<reference key="NSMixedImage" ref="5777548"/>
</object>
</object>
<string key="NSName">_NSWindowsMenu</string>
@ -344,8 +343,8 @@
<reference key="NSKeyEquiv" ref="1003"/>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="577525617"/>
<reference key="NSMixedImage" ref="802592445"/>
<reference key="NSOnImage" ref="1530028"/>
<reference key="NSMixedImage" ref="5777548"/>
<string key="NSAction">submenuAction:</string>
<object class="NSMenu" key="NSSubmenu" id="374024848">
<reference key="NSTitle" ref="519223894"/>
@ -357,8 +356,8 @@
<string key="NSKeyEquiv">?</string>
<int key="NSKeyEquivModMask">1048576</int>
<int key="NSMnemonicLoc">2147483647</int>
<reference key="NSOnImage" ref="577525617"/>
<reference key="NSMixedImage" ref="802592445"/>
<reference key="NSOnImage" ref="1530028"/>
<reference key="NSMixedImage" ref="5777548"/>
</object>
</object>
</object>
@ -375,7 +374,7 @@
<string key="NSWindowClass">NSWindow</string>
<nil key="NSViewClass"/>
<object class="NSView" key="NSWindowView" id="439893737">
<reference key="NSNextResponder"/>
<nil key="NSNextResponder"/>
<int key="NSvFlags">256</int>
<object class="NSMutableArray" key="NSSubviews">
<bool key="EncodedWithXMLCoder">YES</bool>
@ -385,7 +384,6 @@
<object class="NSPSMatrix" key="NSDrawMatrix"/>
<string key="NSFrame">{{-5, 0}, {485, 360}}</string>
<reference key="NSSuperview" ref="439893737"/>
<reference key="NSWindow"/>
<object class="NSOpenGLPixelFormat" key="NSPixelFormat">
<object class="NSMutableData" key="NSPixelAttributes">
<bytes key="NS.bytes">AAAAAA</bytes>
@ -394,11 +392,12 @@
</object>
</object>
<string key="NSFrameSize">{480, 360}</string>
<reference key="NSSuperview"/>
<reference key="NSWindow"/>
</object>
<string key="NSScreenRect">{{0, 0}, {1280, 778}}</string>
</object>
<object class="NSCustomObject" id="522682909">
<string key="NSClassName">CApplicationDelegate</string>
</object>
</object>
<object class="IBObjectContainer" key="IBDocument.Objects">
<object class="NSMutableArray" key="connectionRecords">
@ -475,6 +474,22 @@
</object>
<int key="connectionID">370</int>
</object>
<object class="IBConnectionRecord">
<object class="IBOutletConnection" key="connection">
<string key="label">delegate</string>
<reference key="source" ref="1050"/>
<reference key="destination" ref="522682909"/>
</object>
<int key="connectionID">395</int>
</object>
<object class="IBConnectionRecord">
<object class="IBActionConnection" key="connection">
<string key="label" id="1039625235">BootElf:</string>
<reference key="source" ref="522682909"/>
<reference key="destination" ref="684325854"/>
</object>
<int key="connectionID">396</int>
</object>
</object>
<object class="IBMutableOrderedSet" key="objectRecords">
<object class="NSArray" key="orderedObjects">
@ -790,6 +805,11 @@
<reference key="object" ref="939444702"/>
<reference key="parent" ref="710696803"/>
</object>
<object class="IBObjectRecord">
<int key="objectID">394</int>
<reference key="object" ref="522682909"/>
<reference key="parent" ref="1049"/>
</object>
</object>
</object>
<object class="NSMutableDictionary" key="flattenedProperties">
@ -862,6 +882,7 @@
<string>389.IBPluginDependency</string>
<string>390.IBPluginDependency</string>
<string>391.IBPluginDependency</string>
<string>394.IBPluginDependency</string>
<string>5.IBPluginDependency</string>
<string>5.ImportedFromIB2</string>
<string>56.IBPluginDependency</string>
@ -878,84 +899,85 @@
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
<reference ref="335538201"/>
<reference ref="39919137"/>
<reference ref="617114957"/>
<reference ref="617114957"/>
<reference ref="335538201"/>
<reference ref="39919137"/>
<integer value="1" id="9"/>
<reference ref="335538201"/>
<reference ref="39919137"/>
<reference ref="9"/>
<string>{{596, 852}, {216, 23}}</string>
<reference ref="335538201"/>
<reference ref="39919137"/>
<reference ref="9"/>
<reference ref="335538201"/>
<reference ref="39919137"/>
<reference ref="9"/>
<reference ref="335538201"/>
<reference ref="39919137"/>
<reference ref="9"/>
<string>{{497, 465}, {64, 6}}</string>
<reference ref="335538201"/>
<reference ref="39919137"/>
<reference ref="9"/>
<reference ref="335538201"/>
<reference ref="39919137"/>
<reference ref="9"/>
<reference ref="335538201"/>
<reference ref="39919137"/>
<reference ref="9"/>
<reference ref="335538201"/>
<reference ref="39919137"/>
<reference ref="9"/>
<reference ref="335538201"/>
<reference ref="39919137"/>
<reference ref="9"/>
<reference ref="335538201"/>
<reference ref="39919137"/>
<reference ref="9"/>
<reference ref="335538201"/>
<reference ref="39919137"/>
<reference ref="9"/>
<reference ref="335538201"/>
<reference ref="39919137"/>
<reference ref="9"/>
<reference ref="335538201"/>
<reference ref="39919137"/>
<reference ref="9"/>
<reference ref="335538201"/>
<reference ref="39919137"/>
<reference ref="9"/>
<reference ref="335538201"/>
<reference ref="39919137"/>
<reference ref="9"/>
<reference ref="335538201"/>
<reference ref="39919137"/>
<reference ref="9"/>
<reference ref="335538201"/>
<reference ref="39919137"/>
<reference ref="9"/>
<string>{{560, 458}, {197, 73}}</string>
<reference ref="335538201"/>
<reference ref="39919137"/>
<reference ref="9"/>
<string>{74, 862}</string>
<string>{{250, 531}, {442, 20}}</string>
<reference ref="335538201"/>
<string>{{202, 155}, {480, 360}}</string>
<string>{{164, 241}, {442, 20}}</string>
<reference ref="39919137"/>
<string id="123546809">{{202, 155}, {480, 360}}</string>
<reference ref="9"/>
<string>{{202, 155}, {480, 360}}</string>
<reference ref="335538201"/>
<reference ref="335538201"/>
<string id="655106573">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{394, 488}, {167, 43}}</string>
<reference ref="655106573"/>
<reference ref="655106573"/>
<reference ref="123546809"/>
<reference ref="39919137"/>
<reference ref="39919137"/>
<reference ref="39919137"/>
<string>{{308, 198}, {167, 43}}</string>
<reference ref="39919137"/>
<reference ref="39919137"/>
<reference ref="39919137"/>
<reference ref="39919137"/>
<string>{{421, 375}, {234, 133}}</string>
<reference ref="39919137"/>
<reference ref="39919137"/>
<reference ref="39919137"/>
<reference ref="39919137"/>
<reference ref="39919137"/>
<reference ref="39919137"/>
<reference ref="39919137"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string id="647775486">com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>{{436, 398}, {234, 133}}</string>
<reference ref="647775486"/>
<reference ref="647775486"/>
<reference ref="647775486"/>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<string>com.apple.InterfaceBuilder.CocoaPlugin</string>
<reference ref="335538201"/>
<reference ref="39919137"/>
<reference ref="9"/>
<reference ref="335538201"/>
<reference ref="39919137"/>
<reference ref="9"/>
<reference ref="335538201"/>
<reference ref="39919137"/>
<reference ref="9"/>
<string>{{262, 348}, {195, 183}}</string>
<reference ref="335538201"/>
<reference ref="39919137"/>
<reference ref="9"/>
<reference ref="335538201"/>
<reference ref="39919137"/>
<reference ref="9"/>
<reference ref="335538201"/>
<reference ref="39919137"/>
<reference ref="9"/>
</object>
</object>
@ -979,175 +1001,201 @@
</object>
</object>
<nil key="sourceID"/>
<int key="maxID">391</int>
<int key="maxID">396</int>
</object>
<object class="IBClassDescriber" key="IBDocument.Classes">
<object class="NSMutableArray" key="referencedPartialClassDescriptions">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="IBPartialClassDescription">
<string key="className">CApplicationDelegate</string>
<string key="superclassName">NSObject</string>
<object class="NSMutableDictionary" key="actions">
<reference key="NS.key.0" ref="1039625235"/>
<string key="NS.object.0">id</string>
</object>
<object class="NSMutableDictionary" key="outlets">
<bool key="EncodedWithXMLCoder">YES</bool>
<object class="NSArray" key="dict.sortedKeys">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
<object class="NSMutableArray" key="dict.values">
<bool key="EncodedWithXMLCoder">YES</bool>
</object>
</object>
<object class="IBClassDescriptionSource" key="sourceIdentifier">
<string key="majorKey">IBProjectSource</string>
<string key="minorKey">Source/macosxui/ApplicationDelegate.h</string>
</object>
</object>
</object>
</object>
<int key="IBDocument.localizationMode">0</int>
<string key="IBDocument.LastKnownRelativeProjectPath">../../Purei.xcodeproj</string>
<string key="IBDocument.LastKnownRelativeProjectPath">../../../../Purei.xcodeproj</string>
<int key="IBDocument.defaultPropertyAccessControl">3</int>
<object class="NSMutableData" key="IBDocument.RunnableNib">
<bytes key="NS.bytes">YnBsaXN0MDDUAAEAAgADAAQABQAGAAkAClgkdmVyc2lvblQkdG9wWSRhcmNoaXZlclgkb2JqZWN0cxIA
AYag0QAHAAhdSUIub2JqZWN0ZGF0YYABXxAPTlNLZXllZEFyY2hpdmVyrxEBAAALAAwAMQA1ADYAPAA9
AEIAVgBXAFgAWQALAGYAagB2AHgAewB8AIAAhACIAIsAkACUAAsAlQCXAJgAmwCfAKsAswDBAMgAyQDK
AM8A0ADRANQA2ADZANwA3QDhAOUA7gDzAPQA9QD5AQEBAgEDAQQBCAEPARABEQEVARwBHQEeAR8BIwEq
ASsBLAEwATcBOAE5AToBPgFFAUYBRwFLAVIBVgFXAVgBWQGFAYwBkAGRAZIBkwGXAZkBmgGhAawBrQG0
AbUBtgG9Ab4ByQHOAc8B2AHOAdkB5wHwAfkCAgHOAgMCCAILAgwCFQIeAh8CKAHOAikCKAItAjICOQI6
AkECQgJDAkwCUwJUAlUCXQJmAc4CZgJnAnECeAJ5AnoCgQKCAokCigKLAc4ClAKVApgCmgLGAvMDIAMh
AyIDIwMkAyUDJgMnAygDKQMqAysDLAMtAy4DLwMwAzEDMgMzAzQDNQM2AzcDOAM5AzoDOwM8Az0DPgM/
A0ADQQNCA0MDRANFA0YDRwNIA0kDSgNNA1ADhgO8A70DvgO/A8ADwQPCA8MDxAPFA8YDxwPIA8kDygPL
A8wDzQPOA88D0APRA9ID0wPUA9UD1gPXA9gD2QPaA9sD3APdA94D3wPgA+ED4gPjA+QD5QPmA+cD6APp
A+oD6wPsA+0D7gPvA/ID9QP4VSRudWxs3xASAA0ADgAPABAAEQASABMAFAAVABYAFwAYABkAGgAbABwA
HQAeAB8AIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwVk5TUm9vdFYkY2xhc3NdTlNPYmpl
Y3RzS2V5c18QD05TQ2xhc3Nlc1ZhbHVlc18QGU5TQWNjZXNzaWJpbGl0eU9pZHNWYWx1ZXNdTlNDb25u
ZWN0aW9uc1tOU05hbWVzS2V5c1tOU0ZyYW1ld29ya11OU0NsYXNzZXNLZXlzWk5TT2lkc0tleXNdTlNO
YW1lc1ZhbHVlc18QGU5TQWNjZXNzaWJpbGl0eUNvbm5lY3RvcnNdTlNGb250TWFuYWdlcl8QEE5TVmlz
aWJsZVdpbmRvd3NfEA9OU09iamVjdHNWYWx1ZXNfEBdOU0FjY2Vzc2liaWxpdHlPaWRzS2V5c1lOU05l
eHRPaWRcTlNPaWRzVmFsdWVzgAKA/4BTgMaA/oAegJmABYDFgMeAmoD8gACABoCYgP0RAYmAyNIADgAy
ADMANFtOU0NsYXNzTmFtZYAEgANdTlNBcHBsaWNhdGlvbtIANwA4ADkAOlgkY2xhc3Nlc1okY2xhc3Nu
YW1logA6ADteTlNDdXN0b21PYmplY3RYTlNPYmplY3RfEBBJQkNvY29hRnJhbWV3b3Jr0gAOAD4APwBA
Wk5TLm9iamVjdHOAHaEAQYAH2gBDAA4ARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUACtc
TlNXaW5kb3dWaWV3XE5TU2NyZWVuUmVjdF1OU1dpbmRvd1RpdGxlWU5TV1RGbGFnc11OU1dpbmRvd0Ns
YXNzXE5TV2luZG93UmVjdF8QD05TV2luZG93QmFja2luZ18QEU5TV2luZG93U3R5bGVNYXNrW05TVmll
d0NsYXNzgAuAHIAbgAkSdAAAAIAKgAgQAhAHgABfEBh7ezQxOSwgMjQ3fSwgezQ4MCwgMzYwfX1vEBQw
1zDsMKT/AQAgAC0AIABPAHUAdABwAHUAdAAgAFcAaQBuAGQAbwB3WE5TV2luZG931wBaAA4AWwBcAF0A
WABeAF8AYABhAGIAYwBfAGVfEA9OU05leHRSZXNwb25kZXJaTlNTdWJ2aWV3c1hOU3ZGbGFnc1tOU0Zy
YW1lU2l6ZVtOU1N1cGVydmlld4AMgBqADREBAIAYgAyAGdIADgA+AGcAaIAXoQBpgA7YAFoADgBrAGwA
XABYAF4AbQBMAG8AcABxAHIAXwBMAHVXTlNGcmFtZV1OU1BpeGVsRm9ybWF0XE5TRHJhd01hdHJpeIAL
gBaAEYASEQUSgAyAC4AP0QAOAHeAENIANwA4AHkAeqIAegA7Wk5TUFNNYXRyaXhfEBV7ey01LCAwfSwg
ezQ4NSwgMzYwfX3SAA4AfQB+AH9fEBFOU1BpeGVsQXR0cmlidXRlc4AVgBPSAA4AgQCCAINXTlMuZGF0
YYAURAAAAADSADcAOACFAIajAIYAhwA7XU5TTXV0YWJsZURhdGFWTlNEYXRh0gA3ADgAiQCKogCKADtf
EBNOU09wZW5HTFBpeGVsRm9ybWF00gA3ADgAjACNpACNAI4AjwA7XE5TT3BlbkdMVmlld1ZOU1ZpZXdb
TlNSZXNwb25kZXLSADcAOACRAJKjAJIAkwA7Xk5TTXV0YWJsZUFycmF5V05TQXJyYXlaezQ4MCwgMzYw
fdIANwA4AJYAjqMAjgCPADtfEBV7ezAsIDB9LCB7MTI4MCwgNzc4fX3SADcAOACZAJqiAJoAO18QEE5T
V2luZG93VGVtcGxhdGXSADcAOACcAJ2jAJ0AngA7XE5TTXV0YWJsZVNldFVOU1NldNIADgA+AGcAoYAX
qQCiAKMApAClAKYApwCoAKkAqoAfgC2AMoA3gDuAQIBEgEmATdQADgCsAK0ArgCvAB8AsQCyXU5TRGVz
dGluYXRpb25YTlNTb3VyY2VXTlNMYWJlbIAsgAKAIIAr1wAOALQAtQC2ALcAuAC5ALoAuwC8AL0AvgC/
AMBXTlNUaXRsZVpOU0tleUVxdWl2XU5TTW5lbW9uaWNMb2NZTlNPbkltYWdlXE5TTWl4ZWRJbWFnZVZO
U01lbnWAKoAigCMSf////4AkgCiAIdQADgC0AMIAwwDEAMUAxgDHVk5TTmFtZVtOU01lbnVJdGVtc4Ba
gGiAdYBqagBBAGIAbwB1AHQAIDDXMOwwpP8BUNMADgAyAMsAzADNAM5eTlNSZXNvdXJjZU5hbWWAJ4Al
gCZXTlNJbWFnZV8QD05TTWVudUNoZWNrbWFya9IANwA4ANIA06IA0wA7XxAQTlNDdXN0b21SZXNvdXJj
ZdMADgAyAMsAzADNANeAJ4AlgClfEBBOU01lbnVNaXhlZFN0YXRl0gA3ADgA2gDbogDbADtaTlNNZW51
SXRlbV8QHW9yZGVyRnJvbnRTdGFuZGFyZEFib3V0UGFuZWw60gA3ADgA3gDfowDfAOAAO18QFU5TTmli
Q29udHJvbENvbm5lY3Rvcl5OU05pYkNvbm5lY3RvctMADgCtAK4ArwDjAOSALIAugDHYAA4AtADmALUA
tgC3ALgAuQC6AOgA6QC8AL0AvgC/AO1fEBFOU0tleUVxdWl2TW9kTWFza4AqgDASABAAAIAjgCSAKIAv
1AAOALQAwgDDAMQA8ADxAPKAWoBbgF6AXF8QEkJyaW5nIEFsbCB0byBGcm9udF8QD2FycmFuZ2VJbkZy
b250OtMADgCtAK4ArwD3APiALIAzgDbYAA4AtADmALUAtgC3ALgAuQC6APsA/AD9AL0AvgC/AMCAKoA0
EgAYAACANYAkgCiAIVtIaWRlIE90aGVyc1FoXxAWaGlkZU90aGVyQXBwbGljYXRpb25zOtMADgCtAK4A
rwEGAQeALIA4gDrYAA4AtADmALUAtgC3ALgAuQC6AQoA6QC8AL0AvgC/AMCAKoA5gCOAJIAogCFYU2hv
dyBBbGxfEBZ1bmhpZGVBbGxBcHBsaWNhdGlvbnM60wAOAK0ArgCvARMBFIAsgDyAP9gADgC0AOYAtQC2
ALcAuAC5ALoBFwDpARgAvQC+AL8AwIAqgD2APoAkgCiAIWkAUQB1AGkAdAAgMNcw7DCk/wFRcVp0ZXJt
aW5hdGU60wAOAK0ArgCvASEBIoAsgEGAQ9gADgC0AOYAtQC2ALcAuAC5ALoBJQDpALwAvQC+AL8A7YAq
gEKAI4AkgCiAL1Rab29tXHBlcmZvcm1ab29tOtMADgCtAK4ArwEuAS+ALIBFgEjYAA4AtADmALUAtgC3
ALgAuQC6ATIA6QEzAL0AvgC/AO2AKoBGgEeAJIAogC9YTWluaW1pemVRbV8QE3BlcmZvcm1NaW5pYXR1
cml6ZTrTAA4ArQCuAK8BPAE9gCyASoBM2AAOALQA5gC1ALYAtwC4ALkAugFAAOkA/QC9AL4AvwDAgCqA
S4A1gCSAKIAhaQBIAGkAZABlACAw1zDsMKT/AVVoaWRlOtMADgCtAK4ArwFJAUqALIBOgFLYAA4AtADm
ALUAtgC3ALgAuQC6AU0A6QFOAL0AvgC/AVGAKoBQgFGAJIAogE/TAA4AtADDAMQBVAFVgFqAWIBZXxAT
TmV3QXBwbGljYXRpb24gSGVscFE/WXNob3dIZWxwOtIADgA+AVoBW4CXrxApAVwAaQE8AUkBUQDtAWIB
YwFkAWUBZgCxAWgBLgFqAWsBbAFtAW4ATADAAXEBIQFzAXQBdQF2AOMBeAETAXoBewF8AEEBfgF/AYAA
9wEGAYMBhIBUgA6ASoBOgE+AL4BdgF+AYoBkgGeAIIBsgEWAdIB2gIGAfoCCgAuAIYBlgEGAcIBrgG2A
fIAugJOAPIBVgIaAjoAHgJaAc4B5gDOAOICLgJDYAA4AtADmALUAtgC3ALgAuQC6AYcA6QGIAL0AvgC/
AXqAKoBWgFeAJIAogFXTAA4AtADDAMQBjgGPgFqAiYCKWlNhdmUgU3RhdGVRc1RIZWxw0gAOAD4AZwGV
gBehAUmATtIANwA4AZgAuaIAuQA7VldpbmRvd9IADgA+AGcBnIAXpAEuASEBYgDjgEWAQYBdgC7aAA4A
tADmAaIAtQGjALYAtwC4ALkAugC8AOkBpgC8AaYAvQC+AL8A7V1OU0lzU2VwYXJhdG9yXE5TSXNEaXNh
YmxlZIAqgCMJgCMJgCSAKIAvXl9OU1dpbmRvd3NNZW512AAOALQA5gC1ALYAtwC4ALkAugGvAOkBsAC9
AL4AvwDAgCqAYIBhgCSAKIAhbABQAHIAZQBmAGUAcgBlAG4AYwBlAHMgJlEs2AAOALQA5gC1ALYAtwC4
ALkAugG4AOkAvAC9AL4AvwF6gCqAY4AjgCSAKIBVXxAVUGF1c2UgV2hlbiBGb2N1cyBMb3N02gAOAb8A
tADmALUAtgC3ALgAuQHAALoA7QDwAOkAvAC9AL4AvwFxAchZTlNTdWJtZW51WE5TQWN0aW9ugCqAL4Bb
gCOAJIAogGWAZtQADgC0AMIAwwDEAcsBzAHNgFqAhICVgIVec3VibWVudUFjdGlvbjraAA4BvwC0AOYA
tQC2ALcAuAC5AcAAugDAAMUA6QC8AL0AvgC/AXEB14AqgCGAaIAjgCSAKIBlgGleTmV3QXBwbGljYXRp
b27SAA4APgBnAduAF6sAsQF0AWMBaAF1AX8BPAD3AQYBagETgCCAa4BfgGyAbYBzgEqAM4A4gHSAPNoA
DgC0AOYBogC1AaMAtgC3ALgAuQC6ALwA6QGmALwBpgC9AL4AvwDAgCqAIwmAIwmAJIAogCHaAA4AtADm
AaIAtQGjALYAtwC4ALkAugC8AOkBpgC8AaYAvQC+AL8AwIAqgCMJgCMJgCSAKIAh2gAOAb8AtADmALUA
tgC3ALgAuQHAALoBcwH8AOkAvAC9AL4AvwDAAgGAKoBwgG6AI4AkgCiAIYBvWFNlcnZpY2Vz1AAOALQA
wgDDAMQB/AIGAgeAWoBugHKAcdIADgA+AGcCCoAXoF8QD19OU1NlcnZpY2VzTWVuddoADgC0AOYBogC1
AaMAtgC3ALgAuQC6ALwA6QGmALwBpgC9AL4AvwDAgCqAIwmAIwmAJIAogCHaAA4AtADmAaIAtQGjALYA
twC4ALkAugC8AOkBpgC8AaYAvQC+AL8AwIAqgCMJgCMJgCSAKIAhXF9OU0FwcGxlTWVuddoADgG/ALQA
5gC1ALYAtwC4ALkBwAC6AYACIgDpALwAvQC+AL8BcQIngCqAeYB3gCOAJIAogGWAeFRGaWxl0wAOALQA
wwDEAisCLIBagHqAe9IADgA+AGcCL4AXogF2AW2AfIB+2AAOALQA5gC1ALYAtwC4ALkAugI0AOkAvAC9
AL4AvwGAgCqAfYAjgCSAKIB5W0Jvb3QgY2Ryb20w2AAOALQA5gC1ALYAtwC4ALkAugI8AOkCPQC9AL4A
vwGAgCqAf4CAgCSAKIB5XExvYWQgLkVMRi4uLlFv2gAOALQA5gGiALUBowC2ALcAuAC5ALoAvADpAaYA
vAGmAL0AvgC/AXqAKoAjCYAjCYAkgCiAVdgADgC0AOYAtQC2ALcAuAC5ALoCTgDpALwAvQC+AL8BeoAq
gIOAI4AkgCiAVVpTdGF0ZSBTbG90WUFNYWluTWVuddIADgA+AGcCV4AXpQFmAWsBewFlAXiAZ4B2gIaA
ZICT2gAOAb8AtADmALUAtgC3ALgAuQHAALoBegJgAOkAvAC9AL4AvwFxAmWAKoBVgIeAI4AkgCiAZYCI
XxAPVmlydHVhbCBNYWNoaW5l0gAOAD4AZwJpgBenAYMBfAFkAWwBbgFcAYSAi4COgGKAgYCCgFSAkNgA
DgC0AOYAtQC2ALcAuAC5ALoCcwDpAnQAvQC+AL8BeoAqgIyAjYAkgCiAVV5QYXVzZSAvIFJlc3VtZVFy
2AAOALQA5gC1ALYAtwC4ALkAugJ8AOkAvAC9AL4AvwF6gCqAj4AjgCSAKIBVVVJlc2V02AAOALQA5gC1
ALYAtwC4ALkAugKEAOkChQC9AL4AvwF6gCqAkYCSgCSAKIBVWkxvYWQgU3RhdGVRbNoADgG/ALQA5gC1
ALYAtwC4ALkBwAC6AVEBVADpALwAvQC+AL8BcQKTgCqAT4BYgCOAJIAogGWAlFtfTlNNYWluTWVuddIA
DgAyADMANIAEgAPSADcAOAKZAJOiAJMAO9IADgA+AVoCnICXrxApAXoATADAAVEBeAFlAO0AwAF6AXEB
cQDAAMAA7QDAAXEBegGAAXoAQQFmAB8A7QF1AMAAwAGAAO0BcQDAAXsBcQF6AB8AHwDAAWsAwADAAXoB
eoBVgAuAIYBPgJOAZIAvgCGAVYBlgGWAIYAhgC+AIYBlgFWAeYBVgAeAZ4ACgC+AbYAhgCGAeYAvgGWA
IYCGgGWAVYACgAKAIYB2gCGAIYBVgFXSAA4APgFaAsiAl68QKgFcAGkBPAFJAVEA7QFiAWMBZAFlAWYB
awBMAS4AsQFoAWoBbQFsAW4AwAEhAXEBcwF0AXUBdgDjAXgBEwF6AEEBewF8AX4BfwGAAPcBBgGDAYQA
H4BUgA6ASoBOgE+AL4BdgF+AYoBkgGeAdoALgEWAIIBsgHSAfoCBgIKAIYBBgGWAcIBrgG2AfIAugJOA
PIBVgAeAhoCOgJaAc4B5gDOAOICLgJCAAtIADgA+AVoC9YCXrxAqAvYC9wL4AvkC+gL7AvwC/QL+Av8D
AAMBAwIDAwMEAwUDBgMHAwgDCQMKAwsDDAMNAw4DDwMQAxEDEgMTAxQDFQMWAxcDGAMZAxoDGwMcAx0D
HgMfgJuAnICdgJ6An4CggKGAooCjgKSApYCmgKeAqICpgKqAq4CsgK2AroCvgLCAsYCygLOAtIC1gLaA
t4C4gLmAuoC7gLyAvYC+gL+AwIDBgMKAw4DEXxAWTWVudSBJdGVtIChTYXZlIFN0YXRlKVtPcGVuR0wg
Vmlld28QFQBNAGUAbgB1ACAASQB0AGUAbQAgACgASABpAGQAZQAgMNcw7DCk/wEAKV8QH01lbnUgSXRl
bSAoTmV3QXBwbGljYXRpb24gSGVscClRMl1NZW51IChXaW5kb3cpWVNlcGFyYXRvclMxMjFfECFNZW51
IEl0ZW0gKFBhdXNlIFdoZW4gRm9jdXMgTG9zdClfEBJNZW51IEl0ZW0gKFdpbmRvdylfEBpNZW51IEl0
ZW0gKE5ld0FwcGxpY2F0aW9uKV8QEE1lbnUgSXRlbSAoRmlsZSlcQ29udGVudCBWaWV3XxAUTWVudSBJ
dGVtIChNaW5pbWl6ZSlvEBYATQBlAG4AdQAgAEkAdABlAG0AIAAoAEEAYgBvAHUAdAAgMNcw7DCk/wEA
KVtTZXBhcmF0b3ItMVtTZXBhcmF0b3ItMl8QGE1lbnUgSXRlbSAoTG9hZCAuRUxGLi4uKVtTZXBhcmF0
b3ItNV8QFk1lbnUgSXRlbSAoU3RhdGUgU2xvdClfEBVNZW51IChOZXdBcHBsaWNhdGlvbilfEBBNZW51
IEl0ZW0gKFpvb20pWE1haW5NZW51XxAPTWVudSAoU2VydmljZXMpW1NlcGFyYXRvci0zXxAUTWVudSBJ
dGVtIChTZXJ2aWNlcylfEBdNZW51IEl0ZW0gKEJvb3QgY2Ryb20wKV8QHk1lbnUgSXRlbSAoQnJpbmcg
QWxsIHRvIEZyb250KVExVDExMTFfEBZNZW51IChWaXJ0dWFsIE1hY2hpbmUpbxAdAFcAaQBuAGQAbwB3
ACAAKDDXMOwwpP8BACAALQAgAE8AdQB0AHAAdQB0ACAAVwBpAG4AZABvAHcAKV8QG01lbnUgSXRlbSAo
VmlydHVhbCBNYWNoaW5lKV8QEU1lbnUgSXRlbSAoUmVzZXQpW0FwcGxpY2F0aW9uW1NlcGFyYXRvci00
W01lbnUgKEZpbGUpXxAXTWVudSBJdGVtIChIaWRlIE90aGVycylfEBRNZW51IEl0ZW0gKFNob3cgQWxs
KV8QGk1lbnUgSXRlbSAoUGF1c2UgLyBSZXN1bWUpXxAWTWVudSBJdGVtIChMb2FkIFN0YXRlKVxGaWxl
J3MgT3duZXLSAA4APgFaA0yAl6DSAA4APgFaA0+Al6DSAA4APgFaA1KAl68QMwBpAO0BZAFrAWYAsQFq
AWwBbQFxAXMBdQF4AKQAqgCiAYABgwCmAQYApwAfAVwBPAFJAVEAowFiAWMBZQFoAEwBLgCpAW4AwAEh
AXQBdgDjARMAqAF6AXsBfABBAX4BfwD3AYQApYAOgC+AYoB2gGeAIIB0gIGAfoBlgHCAbYCTgDKATYAf
gHmAi4A7gDiAQIACgFSASoBOgE+ALYBdgF+AZIBsgAuARYBJgIKAIYBBgGuAfIAugDyARIBVgIaAjoAH
gJaAc4AzgJCAN9IADgA+AVoDiICXrxAzA4kDigOLA4wDjQOOA48DkAORA5IDkwOUA5UDlgOXA5gDmQOa
A5sDnAOdA54DnwOgA6EDogOjA6QDpQOmA6cDqAOpA6oDqwOsA60DrgOvA7ADsQOyA7MDtAO1A7YDtwO4
A7kDugO7gMmAyoDLgMyAzYDOgM+A0IDRgNKA04DUgNWA1oDXgNiA2YDagNuA3IDdgN6A34DggOGA4oDj
gOSA5YDmgOeA6IDpgOqA64DsgO2A7oDvgPCA8YDygPOA9ID1gPaA94D4gPmA+oD7EQF3EBgRAYMQUxA4
EDoQlREBhBEBfRAdEIIQgxBnEQFwEQFoEI4RAXsRAYERAXEQlhDwEQGIEQGGEIYQbxBqECcQXBCBEBMQ
jxEBdBAXEQFvEQGFEDkQ7xDsEQF8EAUQiBAlEQGAEQF/EQGCEQFzE//////////9EJAQkREBhxEBctIA
DgA+AGcD8YAXoNIADgA+AVoD9ICXoNIADgA+AVoD94CXoNIANwA4A/kD+qID+gA7Xk5TSUJPYmplY3RE
YXRhAAgAGQAiACcAMQA6AD8ARABSAFQAZgJqAnACuwLCAskC1wLpAwUDEwMfAysDOQNEA1IDbgN8A48D
oQO7A8UD0gPUA9YD2APaA9wD3gPgA+ID5APmA+gD6gPsA+4D8APyA/UD9wQABAwEDgQQBB4EJwQwBDsE
QARPBFgEawR0BH8EgQSEBIYErwS8BMkE1wThBO8E/AUOBSIFLgUwBTIFNAU2BTsFPQU/BUEFQwVFBWAF
iwWUBbEFwwXOBdcF4wXvBfEF8wX1BfgF+gX8Bf4GBwYJBgwGDgYvBjcGRQZSBlQGVgZYBloGXQZfBmEG
YwZoBmoGcwZ4BoMGmwakBrgGuga8BsUGzQbPBtQG3QbkBvIG+QcCBwcHHQcmBy8HPAdDB08HWAdfB24H
dgeBB4oHkQepB7IHtwfKB9MH2gfnB+0H9gf4CAsIDQgPCBEIEwgVCBcIGQgbCB0ILgg8CEUITQhPCFEI
UwhVCHIIegiFCJMInQiqCLEIswi1CLcIvAi+CMAIwgjTCNoI5gjoCOoI7AjuCQMJBAkRCSAJIgkkCSYJ
LglACUkJTglhCW4JcAlyCXQJhwmQCZUJoAnACckJ0AnoCfcKBAoGCggKCgorCj8KQQpDCkgKSgpMCk4K
UAphCmMKZQpnCmkKfgqQCp0KnwqhCqMKxArGCsgKzQrPCtEK0wrVCuEK4wr8CwkLCwsNCw8LMAsyCzQL
Ngs4CzoLPAtFC14LawttC28LcQuSC5QLlguYC5oLnAueC7ELswu+C8sLzQvPC9EL8gv0C/YL+Av6C/wL
/gwDDBAMHQwfDCEMIwxEDEYMSAxKDEwMTgxQDFkMWwxxDH4MgAyCDIQMpQynDKkMqwytDK8MsQzEDMoM
1wzZDNsM3Qz+DQANAg0EDQYNCA0KDRcNGQ0bDR0NMw01DT8NSA1KDZ8NoQ2jDaUNpw2pDasNrQ2vDbEN
sw21DbcNuQ27Db0Nvw3BDcMNxQ3HDckNyw3NDc8N0Q3TDdUN1w3ZDdsN3Q3fDeEN4w3lDecN6Q3rDe0N
7w3xDhIOFA4WDhgOGg4cDh4OKw4tDi8OMQ48Dj4OQw5MDk4OUQ5TDlwOYQ5oDnEOcw58Dn4OgA6CDoQO
rQ67DsgOyg7MDs0Ozw7QDtIO1A7WDuUPBg8IDwoPDA8ODxAPEg8rDy0PTg9QD1IPVA9WD1gPWg9yD5sP
pQ+uD7APsg+0D7YPuA+6D7wPvg/PD9EP0w/VD9cP5hAPEBEQExAVEBcQGRAbEB0QHxAuEDcQORBQEFIQ
VBBWEFgQWhBcEF4QYBBiEGQQZhCPEJEQkxCUEJYQlxCZEJsQnRDGEMgQyhDLEM0QzhDQENIQ1BD9EP8R
AREDEQURBxEJEQsRDREWEScRKRErES0RLxE4EToROxFNEXYReBF6EXsRfRF+EYARghGEEa0RrxGxEbIR
tBG1EbcRuRG7EcgR8RHzEfUR9xH5EfsR/RH/EgESBhITEhUSFxIZEiISJBIpEisSLRJOElASUhJUElYS
WBJaEmYShxKJEosSjRKPEpESkxKgEqISyxLNEs8S0BLSEtMS1RLXEtkS+hL8Ev4TABMCEwQTBhMRExsT
JBMmEzETMxM1EzcTORM7E2QTZhNoE2oTbBNuE3ATchN0E4YTjxORE6ATohOkE6YTqBOqE6wTrhPPE9ET
0xPVE9cT2RPbE+oT7BQNFA8UERQTFBUUFxQZFB8UQBRCFEQURhRIFEoUTBRXFFkUghSEFIYUiBSKFIwU
jhSQFJIUnhSnFKkUqxS0FLkUwhTEFRkVGxUdFR8VIRUjFSUVJxUpFSsVLRUvFTEVMxU1FTcVORU7FT0V
PxVBFUMVRRVHFUkVSxVNFU8VURVTFVUVVxVZFVsVXRVfFWEVYxVlFWcVaRVrFXQVdhXNFc8V0RXTFdUV
1xXZFdsV3RXfFeEV4xXlFecV6RXrFe0V7xXxFfMV9RX3FfkV+xX9Ff8WARYDFgUWBxYJFgsWDRYPFhEW
ExYVFhcWGRYbFh0WHxYhFioWLBaDFoUWhxaJFosWjRaPFpEWkxaVFpcWmRabFp0WnxahFqMWpRanFqkW
qxatFq8WsRazFrUWtxa5FrsWvRa/FsEWwxbFFscWyRbLFs0WzxbRFtMW1RbXFvAW/BcpF0sXTRdbF2UX
aReNF6IXvxfSF98X9hglGDEYPRhYGGQYfRiVGKgYsRjDGM8Y5hkAGSEZIxkoGUEZfhmcGbAZvBnIGdQZ
7hoFGiIaOxpIGlEaUxpUGl0aXxpgGmkaaxrUGtYa2BraGtwa3hrgGuIa5BrmGuga6hrsGu4a8BryGvQa
9hr4Gvoa/Br+GwAbAhsEGwYbCBsKGwwbDhsQGxIbFBsWGxgbGhscGx4bIBsiGyQbJhsoGyobLBsuGzAb
Mhs0GzYbOBs6G0MbRRuuG7Abshu0G7YbuBu6G7wbvhvAG8IbxBvGG8gbyhvMG84b0BvSG9Qb1hvYG9ob
3BveG+Ab4hvkG+Yb6BvqG+wb7hvwG/Ib9Bv2G/gb+hv8G/4cABwCHAQcBhwIHAocDBwOHBAcEhwUHBcc
GRwcHB4cIBwiHCQcJxwqHCwcLhwwHDIcNRw4HDocPRxAHEMcRRxHHEocTRxPHFEcUxxVHFccWRxbHF0c
YBxiHGUcaBxqHGwcbhxxHHMcdRx3HHocfRyAHIMcjByOHJAckxyWHJ8coRyiHKscrRyuHLccuRy6HMMc
yAAAAAAAAAICAAAAAAAAA/sAAAAAAAAAAAAAAAAAABzXA</bytes>
AYag0QAHAAhdSUIub2JqZWN0ZGF0YYABXxAPTlNLZXllZEFyY2hpdmVyrxEBBwALAAwAMQA1ADYAPAA9
AEIAVgBXAFgAWQBjAGcAcwB1AHgAeQB9AIEAhQCIAI0AkQCSAJQAlQCYAJwAqgCwAMAAxwDIAMkAzgDP
ANAA0wDXANgA2wDcAOAA5ADrAO8A8ADxAPIA+AD7AP4A/wEAAQMBCAEPARABEQESARYBHQEiASMBJAEo
ATABMQEyATYBPQE+AT8BQwFKAUsBTAFNAVIBWQFdAV4BXwFgAWQBawFsAW0BcQF4AXkBegF7AagBrwGz
AbQBvwHEAcUBxgHQAdcB2AHZAeAB4QHsAfMB9AH7AfwB/QIEAgUCBgIIAhEBxQISAhcCGgIbAiQBxQIl
AiwCNQI2AjcCOwI8AkoCUwJaAlsCXAJlAm4CdwJ4AnkCgQHFAooCkwHFApQCmQKgAqEBxQKqAqsCrQLa
AwgDNgM3AzgDOQM6AzsDPAM9Az4DPwNAA0EDQgNDA0QDRQNGA0cDSANJA0oDSwNMA00DTgNPA1ADUQNS
A1MDVANVA1YDVwNYA1kDWgNbA1wDXQNeA18DYANhA2QDZwOgA9kD2gPbA9wD3QPeA98D4APhA+ID4wPk
A+UD5gPnA+gD6QPqA+sD7APtA+4D7wPwA/ED8gPzA/QD9QP2A/cD+AP5A/oD+wP8A/0D/gP/BAAEAQQC
BAMEBAQFBAYEBwQIBAkECgQLBAwEDQQOBA8EEgQVBBhVJG51bGzfEBIADQAOAA8AEAARABIAEwAUABUA
FgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADBWTlNSb290
ViRjbGFzc11OU09iamVjdHNLZXlzXxAPTlNDbGFzc2VzVmFsdWVzXxAZTlNBY2Nlc3NpYmlsaXR5T2lk
c1ZhbHVlc11OU0Nvbm5lY3Rpb25zW05TTmFtZXNLZXlzW05TRnJhbWV3b3JrXU5TQ2xhc3Nlc0tleXNa
TlNPaWRzS2V5c11OU05hbWVzVmFsdWVzXxAZTlNBY2Nlc3NpYmlsaXR5Q29ubmVjdG9yc11OU0ZvbnRN
YW5hZ2VyXxAQTlNWaXNpYmxlV2luZG93c18QD05TT2JqZWN0c1ZhbHVlc18QF05TQWNjZXNzaWJpbGl0
eU9pZHNLZXlzWU5TTmV4dE9pZFxOU09pZHNWYWx1ZXOAAoEBBoBdgMqBAQWAHICcgAWAyYDLgJ2BAQOA
AIAGgJuBAQQRAY6AzNIADgAyADMANFtOU0NsYXNzTmFtZYAEgANdTlNBcHBsaWNhdGlvbtIANwA4ADkA
OlgkY2xhc3Nlc1okY2xhc3NuYW1logA6ADteTlNDdXN0b21PYmplY3RYTlNPYmplY3RfEBBJQkNvY29h
RnJhbWV3b3Jr0gAOAD4APwBAWk5TLm9iamVjdHOAG6EAQYAH2gBDAA4ARABFAEYARwBIAEkASgBLAEwA
TQBOAE8AUABRAFIAUwBUACtcTlNXaW5kb3dWaWV3XE5TU2NyZWVuUmVjdF1OU1dpbmRvd1RpdGxlWU5T
V1RGbGFnc11OU1dpbmRvd0NsYXNzXE5TV2luZG93UmVjdF8QD05TV2luZG93QmFja2luZ18QEU5TV2lu
ZG93U3R5bGVNYXNrW05TVmlld0NsYXNzgAuAGoAZgAkSdAAAAIAKgAgQAhAHgABfEBh7ezQxOSwgMjQ3
fSwgezQ4MCwgMzYwfX1vEBQw1zDsMKT/AQAgAC0AIABPAHUAdABwAHUAdAAgAFcAaQBuAGQAbwB3WE5T
V2luZG931QBaAA4AWwBcAF0AKwBfAGAAYQBiXxAPTlNOZXh0UmVzcG9uZGVyWk5TU3Vidmlld3NYTlN2
RmxhZ3NbTlNGcmFtZVNpemWAAIAYgAwRAQCAF9IADgA+AGQAZYAWoQBmgA3XAFoADgBoAGkAXABqAGsA
TABtAG4AbwBwAEwAcldOU0ZyYW1lXU5TUGl4ZWxGb3JtYXRbTlNTdXBlcnZpZXdcTlNEcmF3TWF0cml4
gAuAFYAQgBERBRKAC4AO0QAOAHSAD9IANwA4AHYAd6IAdwA7Wk5TUFNNYXRyaXhfEBV7ey01LCAwfSwg
ezQ4NSwgMzYwfX3SAA4AegB7AHxfEBFOU1BpeGVsQXR0cmlidXRlc4AUgBLSAA4AfgB/AIBXTlMuZGF0
YYATRAAAAADSADcAOACCAIOjAIMAhAA7XU5TTXV0YWJsZURhdGFWTlNEYXRh0gA3ADgAhgCHogCHADtf
EBNOU09wZW5HTFBpeGVsRm9ybWF00gA3ADgAiQCKpACKAIsAjAA7XE5TT3BlbkdMVmlld1ZOU1ZpZXdb
TlNSZXNwb25kZXLSADcAOACOAI+jAI8AkAA7Xk5TTXV0YWJsZUFycmF5V05TQXJyYXlaezQ4MCwgMzYw
fdIANwA4AJMAi6MAiwCMADtfEBV7ezAsIDB9LCB7MTI4MCwgNzc4fX3SADcAOACWAJeiAJcAO18QEE5T
V2luZG93VGVtcGxhdGXSADcAOACZAJqjAJoAmwA7XE5TTXV0YWJsZVNldFVOU1NldNIADgA+AGQAnoAW
qwCfAKAAoQCiAKMApAClAKYApwCoAKmAHYArgDGAN4A8gEGARYBJgE6AVIBY0wAOAKsArACtAK4Ar1hO
U1NvdXJjZVdOU0xhYmVsgCqAHoAp2AAOALEAsgCzALQAtQC2ALcAuAC5ALoAuwC8AL0AvgC/V05TVGl0
bGVfEBFOU0tleUVxdWl2TW9kTWFza1pOU0tleUVxdWl2XU5TTW5lbW9uaWNMb2NZTlNPbkltYWdlXE5T
TWl4ZWRJbWFnZVZOU01lbnWAKIAgEgAQAACAIRJ/////gCKAJoAf1AAOALEAwQDCAMMAxADFAMZWTlNO
YW1lW05TTWVudUl0ZW1zgHSAg4CMgIRpAEgAaQBkAGUAIDDXMOwwpP8BUWjTAA4AMgDKAMsAzADNXk5T
UmVzb3VyY2VOYW1lgCWAI4AkV05TSW1hZ2VfEA9OU01lbnVDaGVja21hcmvSADcAOADRANKiANIAO18Q
EE5TQ3VzdG9tUmVzb3VyY2XTAA4AMgDKAMsAzADWgCWAI4AnXxAQTlNNZW51TWl4ZWRTdGF0ZdIANwA4
ANkA2qIA2gA7Wk5TTWVudUl0ZW1VaGlkZTrSADcAOADdAN6jAN4A3wA7XxAVTlNOaWJDb250cm9sQ29u
bmVjdG9yXk5TTmliQ29ubmVjdG9y0wAOAKsArACtAOIA44AqgCyAMNgADgCxALIAswC0ALUAtgC3ALgA
5gC6AOcAvAC9AL4A6oAogC6AL4AigCaALdMADgCxAMIAwwDtAO6AdICBgIJfEBNOZXdBcHBsaWNhdGlv
biBIZWxwUT9Zc2hvd0hlbHA61AAOAPMAqwCsAPQA9QD2APddTlNEZXN0aW5hdGlvboA2gDOAMoA10gAO
ADIAMwA0gASAA9IADgAyADMA/YAEgDRfEBRDQXBwbGljYXRpb25EZWxlZ2F0ZVhkZWxlZ2F0ZdIANwA4
AQEBAqMBAgDfADtfEBROU05pYk91dGxldENvbm5lY3RvctQADgDzAKsArACtAB8BBgEHgCqAAoA4gDvX
AA4AsQCzALQAtQC2ALcAuAEKAQsAvAC9AL4Av4AogDmAOoAigCaAH2oAQQBiAG8AdQB0ACAw1zDsMKT/
AVBfEB1vcmRlckZyb250U3RhbmRhcmRBYm91dFBhbmVsOtMADgCrAKwArQEUARWAKoA9gEDYAA4AsQCy
ALMAtAC1ALYAtwC4ARgAugELALwAvQC+ARyAKIA/gDqAIoAmgD7UAA4AsQDBAMIAwwEfASABIYB0gHyA
gIB+VFpvb21ccGVyZm9ybVpvb2060wAOAKsArACtASYBJ4AqgEKARNgADgCxALIAswC0ALUAtgC3ALgB
KgErALsAvAC9AL4Av4AogEMSABgAAIAhgCKAJoAfW0hpZGUgT3RoZXJzXxAWaGlkZU90aGVyQXBwbGlj
YXRpb25zOtMADgCrAKwArQE0ATWAKoBGgEjYAA4AsQCyALMAtAC1ALYAtwC4ATgAugELALwAvQC+ARyA
KIBHgDqAIoAmgD5fEBJCcmluZyBBbGwgdG8gRnJvbnRfEA9hcnJhbmdlSW5Gcm9udDrTAA4AqwCsAK0B
QQFCgCqASoBN2AAOALEAsgCzALQAtQC2ALcAuAFFALoBRgC8AL0AvgEcgCiAS4BMgCKAJoA+WE1pbmlt
aXplUW1fEBNwZXJmb3JtTWluaWF0dXJpemU61AAOAPMAqwCsAK0A9QFQAVGAKoAzgE+AU9gADgCxALIA
swC0ALUAtgC3ALgBVAC6AVUAvAC9AL4BWIAogFGAUoAigCaAUNMADgCxAMIAwwFbAVyAdICSgJRcTG9h
ZCAuRUxGLi4uUW9YQm9vdEVsZjrTAA4AqwCsAK0BYgFjgCqAVYBX2AAOALEAsgCzALQAtQC2ALcAuAFm
ALoBCwC8AL0AvgC/gCiAVoA6gCKAJoAfWFNob3cgQWxsXxAWdW5oaWRlQWxsQXBwbGljYXRpb25zOtMA
DgCrAKwArQFvAXCAKoBZgFzYAA4AsQCyALMAtAC1ALYAtwC4AXMAugF0ALwAvQC+AL+AKIBagFuAIoAm
gB9pAFEAdQBpAHQAIDDXMOwwpP8BUXFadGVybWluYXRlOtIADgA+AXwBfYCarxAqAX4BfwFvAYEBggGD
AYQBYgDqAUEAvwGJAK4BiwEmAY0BWAGPAZABkQGSAPYBlABMAPUBHAGYAGYBmgGbAZwAQQEGATQBoAGh
AVABFAGkAaUBpgDigF6AYYBZgHWAe4BpgG6AVYAtgEqAH4BigB6Al4BCgIuAUICJgJWAZoBsgDKAkYAL
gDOAPoCPgA2AhYB4gF+AB4A4gEaAa4CKgE+APYBxgIaAf4As2AAOALEAsgCzALQAtQC2ALcAuAGqALoB
CwC8AL0AvgGcgCiAYIA6gCKAJoBf0wAOALEAwgDDAbEBsoB0gGOAZVVSZXNldNoADgG1ALEAsgCzALQA
tQC2ALcBtgC4AZwBsQC6AQsAvAC9AL4BiQG+WU5TU3VibWVudVhOU0FjdGlvboAogF+AY4A6gCKAJoBi
gGTUAA4AsQDBAMIAwwHBAcIBw4B0gI2AmYCOXxAPVmlydHVhbCBNYWNoaW5lXnN1Ym1lbnVBY3Rpb246
0gAOAD4AZAHIgBanAZEBfgGDAaABkgGEAaSAZoBegGmAa4BsgG6AcdgADgCxALIAswC0ALUAtgC3ALgB
0gC6AdMAvAC9AL4BnIAogGeAaIAigCaAX15QYXVzZSAvIFJlc3VtZVFy2AAOALEAsgCzALQAtQC2ALcA
uAHbALoBCwC8AL0AvgGcgCiAaoA6gCKAJoBfXxAVUGF1c2UgV2hlbiBGb2N1cyBMb3N02gAOALEAsgHi
ALMB4wC0ALUAtgC3ALgBCwC6AeYBCwHmALwAvQC+AZxdTlNJc1NlcGFyYXRvclxOU0lzRGlzYWJsZWSA
KIA6CYA6CYAigCaAX9gADgCxALIAswC0ALUAtgC3ALgB7gC6AQsAvAC9AL4BnIAogG2AOoAigCaAX1pT
dGF0ZSBTbG902AAOALEAsgCzALQAtQC2ALcAuAH2ALoB9wC8AL0AvgGcgCiAb4BwgCKAJoBfWlNhdmUg
U3RhdGVRc9gADgCxALIAswC0ALUAtgC3ALgB/wC6AgAAvAC9AL4BnIAogHKAc4AigCaAX1pMb2FkIFN0
YXRlUWzSADcAOAIHALeiALcAO9oADgG1ALEAsgCzALQAtQC2ALcBtgC4AZsCCwC6AQsAvAC9AL4AvwIQ
gCiAeIB2gDqAIoAmgB+Ad1hTZXJ2aWNlc9QADgCxAMEAwgDDAgsCFQIWgHSAdoB6gHnSAA4APgBkAhmA
FqBfEA9fTlNTZXJ2aWNlc01lbnXaAA4BtQCxALIAswC0ALUAtgC3AbYAuAEcAR8AugELALwAvQC+AYkC
I4AogD6AfIA6gCKAJoBigH1WV2luZG930gAOAD4AZAIngBakAUEBFAGmATSASoA9gH+ARtoADgCxALIB
4gCzAeMAtAC1ALYAtwC4AQsAugHmAQsB5gC8AL0AvgEcgCiAOgmAOgmAIoAmgD5eX05TV2luZG93c01l
bnVUSGVscNIADgA+AGQCOYAWoQDigCxeTmV3QXBwbGljYXRpb27SAA4APgBkAj6AFqsBBgGaAaUBjwGB
AaEArgEmAWIBjQFvgDiAhYCGgImAdYCKgB6AQoBVgIuAWdoADgCxALIB4gCzAeMAtAC1ALYAtwC4AQsA
ugHmAQsB5gC8AL0AvgC/gCiAOgmAOgmAIoAmgB/YAA4AsQCyALMAtAC1ALYAtwC4AlUAugJWALwAvQC+
AL+AKICHgIiAIoAmgB9sAFAAcgBlAGYAZQByAGUAbgBjAGUAcyAmUSzaAA4AsQCyAeIAswHjALQAtQC2
ALcAuAELALoB5gELAeYAvAC9AL4Av4AogDoJgDoJgCKAJoAf2gAOALEAsgHiALMB4wC0ALUAtgC3ALgB
CwC6AeYBCwHmALwAvQC+AL+AKIA6CYA6CYAigCaAH9oADgCxALIB4gCzAeMAtAC1ALYAtwC4AQsAugHm
AQsB5gC8AL0AvgC/gCiAOgmAOgmAIoAmgB9cX05TQXBwbGVNZW51WUFNYWluTWVuddIADgA+AGQCe4AW
pQGYAZQBfwGCAYuAj4CRgGGAe4CX2gAOAbUAsQCyALMAtAC1ALYAtwG2ALgAvwDEALoBCwC8AL0AvgGJ
AomAKIAfgIOAOoAigCaAYoCQ2gAOAbUAsQCyALMAtAC1ALYAtwG2ALgBWAFbALoBCwC8AL0AvgGJApKA
KIBQgJKAOoAigCaAYoCTVEZpbGXSAA4APgBkApaAFqIBkAFQgJWAT9gADgCxALIAswC0ALUAtgC3ALgC
mwC6AQsAvAC9AL4BWIAogJaAOoAigCaAUFtCb290IGNkcm9tMNoADgG1ALEAsgCzALQAtQC2ALcBtgC4
AOoA7QC6AQsAvAC9AL4BiQKpgCiALYCBgDqAIoAmgGKAmFtfTlNNYWluTWVuddIANwA4AqwAkKIAkAA7
0gAOAD4BfAKvgJqvECoBnAGJAL8AvwGJAZwBnAC/AYsBHAGYAB8AvwGJAL8AvwGUAL8BWAGcAZwAHwGJ
AEEAHwGCAYkATAC/AYEBfwAfAL8BHAGcAL8BWAEcAZwAvwEcAOqAX4BigB+AH4BigF+AX4AfgJeAPoCP
gAKAH4BigB+AH4CRgB+AUIBfgF+AAoBigAeAAoB7gGKAC4AfgHWAYYACgB+APoBfgB+AUIA+gF+AH4A+
gC3SAA4APgF8AtyAmq8QKwF+AX8BbwGBAYIBgwGEAWIA6gFBAYsBiQBMAVgAvwGRAZIBkACuASYBjQD2
APUBlAGPAZgBHABmAZoBmwGcAEEBNAEGAaABUAGhARQBpADiAaYAHwGlgF6AYYBZgHWAe4BpgG6AVYAt
gEqAl4BigAuAUIAfgGaAbICVgB6AQoCLgDKAM4CRgImAj4A+gA2AhYB4gF+AB4BGgDiAa4BPgIqAPYBx
gCyAf4ACgIbSAA4APgF8AwqAmq8QKwMLAwwDDQMOAw8DEAMRAxIDEwMUAxUDFgMXAxgDGQMaAxsDHAMd
Ax4DHwMgAyEDIgMjAyQDJQMmAycDKAMpAyoDKwMsAy0DLgMvAzADMQMyAzMDNAM1gJ6An4CggKGAooCj
gKSApYCmgKeAqICpgKqAq4CsgK2AroCvgLCAsYCygLOAtIC1gLaAt4C4gLmAuoC7gLyAvYC+gL+AwIDB
gMKAw4DEgMWAxoDHgMhfEBFNZW51IEl0ZW0gKFJlc2V0KV8QG01lbnUgSXRlbSAoVmlydHVhbCBNYWNo
aW5lKVQxMTExXxAUTWVudSBJdGVtIChTZXJ2aWNlcylfEBJNZW51IEl0ZW0gKFdpbmRvdylfECFNZW51
IEl0ZW0gKFBhdXNlIFdoZW4gRm9jdXMgTG9zdClfEBZNZW51IEl0ZW0gKFNhdmUgU3RhdGUpXxAUTWVu
dSBJdGVtIChTaG93IEFsbClRMl8QFE1lbnUgSXRlbSAoTWluaW1pemUpUTFYTWFpbk1lbnVcQ29udGVu
dCBWaWV3W01lbnUgKEZpbGUpXxAVTWVudSAoTmV3QXBwbGljYXRpb24pXxAaTWVudSBJdGVtIChQYXVz
ZSAvIFJlc3VtZSlfEBZNZW51IEl0ZW0gKFN0YXRlIFNsb3QpXxAXTWVudSBJdGVtIChCb290IGNkcm9t
MClvEBUATQBlAG4AdQAgAEkAdABlAG0AIAAoAEgAaQBkAGUAIDDXMOwwpP8BAClfEBdNZW51IEl0ZW0g
KEhpZGUgT3RoZXJzKVtTZXBhcmF0b3ItMltBcHBsaWNhdGlvbl8QFEFwcGxpY2F0aW9uIERlbGVnYXRl
XxAQTWVudSBJdGVtIChGaWxlKVtTZXBhcmF0b3ItM18QGk1lbnUgSXRlbSAoTmV3QXBwbGljYXRpb24p
XU1lbnUgKFdpbmRvdylbT3BlbkdMIFZpZXdbU2VwYXJhdG9yLTRfEA9NZW51IChTZXJ2aWNlcylfEBZN
ZW51IChWaXJ0dWFsIE1hY2hpbmUpbxAdAFcAaQBuAGQAbwB3ACAAKDDXMOwwpP8BACAALQAgAE8AdQB0
AHAAdQB0ACAAVwBpAG4AZABvAHcAKV8QHk1lbnUgSXRlbSAoQnJpbmcgQWxsIHRvIEZyb250KW8QFgBN
AGUAbgB1ACAASQB0AGUAbQAgACgAQQBiAG8AdQB0ACAw1zDsMKT/AQApWVNlcGFyYXRvcl8QGE1lbnUg
SXRlbSAoTG9hZCAuRUxGLi4uKVtTZXBhcmF0b3ItNV8QEE1lbnUgSXRlbSAoWm9vbSlfEBZNZW51IEl0
ZW0gKExvYWQgU3RhdGUpXxAfTWVudSBJdGVtIChOZXdBcHBsaWNhdGlvbiBIZWxwKVtTZXBhcmF0b3It
MVxGaWxlJ3MgT3duZXJTMTIx0gAOAD4BfANjgJqg0gAOAD4BfANmgJqg0gAOAD4BfANpgJqvEDYBfgGB
AYIBhAC/AYkBiwFYASYBjQGSAKAAowGUAPUAnwGYAZwAQQCnAKgBUACpAaQA4gGmAB8ApQF/AW8BgwCm
AWIA6gFBAK4BkAGRAEwAoQGPAPYApAEcAGYBmgGbAQYBNACiAaABoQEUAaWAXoB1gHuAboAfgGKAl4BQ
gEKAi4BsgCuAPICRgDOAHYCPgF+AB4BOgFSAT4BYgHGALIB/gAKARYBhgFmAaYBJgFWALYBKgB6AlYBm
gAuAMYCJgDKAQYA+gA2AhYB4gDiARoA3gGuAioA9gIbSAA4APgF8A6KAmq8QNgOjA6QDpQOmA6cDqAOp
A6oDqwOsA60DrgOvA7ADsQOyA7MDtAO1A7YDtwO4A7kDugO7A7wDvQO+A78DwAPBA8IDwwPEA8UDxgPH
A8gDyQPKA8sDzAPNA84DzwPQA9ED0gPTA9QD1QPWA9cD2IDNgM6Az4DQgNGA0oDTgNSA1YDWgNeA2IDZ
gNqA24DcgN2A3oDfgOCA4YDigOOA5IDlgOaA54DogOmA6oDrgOyA7YDugO+A8IDxgPKA84D0gPWA9oD3
gPiA+YD6gPuA/ID9gP6A/4EBAIEBAYEBAhEBghCDEBMRAYYQORAdEGcRAXsQkRCVEQGFEQFoEPAQUxEB
ihEBbxA4EQGAEQFzEQGMEQFyEQF9EQFxEQGHEG8QXBEBjRAnEQF/EIgRAYMQJRCWEGoQFxCGEQF8EQGB
EQF0EQGLEI8T//////////0RAXAQGBEBdxDsEIIQOhAFEI4RAYQQkBDvEIHSAA4APgBkBBGAFqDSAA4A
PgF8BBSAmqDSAA4APgF8BBeAmqDSADcAOAQZBBqiBBoAO15OU0lCT2JqZWN0RGF0YQAIABkAIgAnADEA
OgA/AEQAUgBUAGYCeAJ+AskC0ALXAuUC9wMTAyEDLQM5A0cDUgNgA3wDigOdA68DyQPTA+AD4gPlA+cD
6QPsA+4D8APyA/QD9gP4A/sD/QP/BAEEBAQHBAkEEgQeBCAEIgQwBDkEQgRNBFIEYQRqBH0EhgSRBJME
lgSYBMEEzgTbBOkE8wUBBQ4FIAU0BUAFQgVEBUYFSAVNBU8FUQVTBVUFVwVyBZ0FpgW7Bc0F2AXhBe0F
7wXxBfMF9gX4BgEGAwYGBggGJQYtBjsGRwZUBlYGWAZaBlwGXwZhBmMGaAZqBnMGeAaDBpsGpAa4BroG
vAbFBs0GzwbUBt0G5AbyBvkHAgcHBx0HJgcvBzwHQwdPB1gHXwduB3YHgQeKB5EHqQeyB7cHygfTB9oH
5wftB/YH+AgPCBEIEwgVCBcIGQgbCB0IHwghCCMIJQgyCDsIQwhFCEcISQhqCHIIhgiRCJ8IqQi2CL0I
vwjBCMYIyAjNCM8I0QjTCOQI6wj3CPkI+wj9CP8JEgkUCSEJMAkyCTQJNgk+CVAJWQleCXEJfgmACYIJ
hAmXCaAJpQmwCbYJvwnGCd4J7Qn6CfwJ/goACiEKIwolCicKKQorCi0KOgo8Cj4KQApWClgKYgpzCoEK
gwqFCocKiQqSCpQKlgqfCqEKowq6CsMKzArTCuoK+wr9Cv8LAQsDCyALIgskCyYLKAsqCywLQQtCC2IL
bwtxC3MLdQuWC5gLmgucC54LoAuiC7MLtQu3C7kLuwvAC80L2gvcC94L4AwBDAMMBQwKDAwMDgwQDBIM
Hgw3DEQMRgxIDEoMawxtDG8McQxzDHUMdwyMDJ4MqwytDK8MsQzSDNQM1gzYDNoM3AzeDOcM6Qz/DRAN
Eg0UDRYNGA05DTsNPQ0/DUENQw1FDVINVA1WDVgNZQ1nDXANfQ1/DYENgw2kDaYNqA2qDawNrg2wDbkN
0g3fDeEN4w3lDgYOCA4KDgwODg4QDhIOJQ4nDjIOOw49DpQOlg6YDpoOnA6eDqAOog6kDqYOqA6qDqwO
rg6wDrIOtA62DrgOug68Dr4OwA7CDsQOxg7IDsoOzA7ODtAO0g7UDtYO2A7aDtwO3g7gDuIO5A7mDugP
CQ8LDw0PDw8RDxMPFQ8iDyQPJg8oDy4PVw9hD2oPbA9uD3APcg90D3YPeA96D4sPjQ+PD5EPkw+lD7QP
vQ+/D84P0A/SD9QP1g/YD9oP3A/9D/8QARADEAUQBxAJEBgQGhA7ED0QPxBBEEMQRRBHEF8QiBCWEKMQ
pRCnEKgQqhCrEK0QrxCxENIQ1BDWENgQ2hDcEN4Q6REKEQwRDhEQERIRFBEWESERIxFEEUYRSBFKEUwR
ThFQEVsRXRFmEWsRlBGWEZgRmhGcEZ4RoBGiEaQRrRG+EcARwhHEEcYRzxHREdIR5BINEg8SERITEhUS
FxIZEhsSHRIkEi0SLxI4EjoSPBI+EkASaRJrEm0SbhJwEnEScxJ1EncShhKLEpQSlhKZEpsSqhKzErUS
zBLOEtAS0hLUEtYS2BLaEtwS3hLgEuITCxMNEw8TEBMSExMTFRMXExkTOhM8Ez4TQBNCE0QTRhNfE2ET
ihOME44TjxORE5ITlBOWE5gTwRPDE8UTxhPIE8kTyxPNE88T+BP6E/wT/RP/FAAUAhQEFAYUExQdFCYU
KBQzFDUUNxQ5FDsUPRRmFGgUahRsFG4UcBRyFHQUdhSfFKEUoxSlFKcUqRSrFK0UrxS0FL0UvxTEFMYU
yBTpFOsU7RTvFPEU8xT1FQEVKhUsFS4VMBUyFTQVNhU4FToVRhVPFVQVXRVfFbYVuBW6FbwVvhXAFcIV
xBXGFcgVyhXMFc4V0BXSFdQV1hXYFdoV3BXeFeAV4hXkFeYV6BXqFewV7hXwFfIV9BX2FfgV+hX8Ff4W
ABYCFgQWBhYIFgoWExYVFm4WcBZyFnQWdhZ4FnoWfBZ+FoAWghaEFoYWiBaKFowWjhaQFpIWlBaWFpgW
mhacFp4WoBaiFqQWphaoFqoWrBauFrAWsha0FrYWuBa6FrwWvhbAFsIWxBbNFs8XKBcqFywXLhcwFzIX
NBc2FzgXOhc8Fz4XQBdCF0QXRhdIF0oXTBdOF1AXUhdUF1YXWBdaF1wXXhdgF2IXZBdmF2gXahdsF24X
cBdyF3QXdhd4F3oXfBd+F5IXsBe1F8wX4RgFGB4YNRg3GE4YUBhZGGYYchiKGKcYwBjaGQcZIRktGTkZ
UBljGW8ZjBmaGaYZshnEGd0aGho7GmoadBqPGpsarhrHGuka9RsCGwYbDxsRGxIbGxsdGx4bJxspG5gb
mhucG54boBuiG6QbphuoG6obrBuuG7Abshu0G7YbuBu6G7wbvhvAG8IbxBvGG8gbyhvMG84b0BvSG9Qb
1hvYG9ob3BveG+Ab4hvkG+Yb6BvqG+wb7hvwG/Ib9Bv2G/gb+hv8G/4cABwCHAQcDRwPHH4cgByCHIQc
hhyIHIocjByOHJAckhyUHJYcmByaHJwcnhygHKIcpBymHKgcqhysHK4csByyHLQcthy4HLocvBy+HMAc
whzEHMYcyBzKHMwczhzQHNIc1BzWHNgc2hzcHN4c4BziHOQc5xzqHO0c8BzyHPQc9xz5HPsc/R0AHQId
BB0HHQodDB0OHREdFB0WHRkdHB0fHSIdJR0oHSsdLR0vHTIdNB03HTkdPB0+HUAdQh1EHUYdSR1MHU8d
Uh1UHV0dYB1iHWUdZx1pHWsdbR1vHXIddB12HXgdgR2DHYQdjR2PHZAdmR2bHZwdpR2qAAAAAAAAAgIA
AAAAAAAEGwAAAAAAAAAAAAAAAAAAHbk</bytes>
</object>
</data>
</archive>

View File

@ -0,0 +1,3 @@
#include "Globals.h"
CPS2VM* g_virtualMachine = NULL;

View File

@ -0,0 +1,8 @@
#ifndef _GLOBALS_H_
#define _GLOBALS_H_
#include "../PS2VM.h"
extern CPS2VM* g_virtualMachine;
#endif

View File

@ -1,9 +1,8 @@
#import <Cocoa/Cocoa.h>
#import "../PS2VM.h"
#import "Globals.h"
int main(int argc, char *argv[])
{
// CPS2VM* virtualMachine = new CPS2VM();
// virtualMachine->Initialize();
g_virtualMachine = new CPS2VM();
return NSApplicationMain(argc, (const char **) argv);
}