candle 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE.txt +20 -0
- data/README.md +4 -0
- data/VERSION +1 -0
- data/bin/candle +21 -0
- data/lib/candle.rb +68 -0
- data/lib/candle/command.rb +27 -0
- data/lib/candle/generators/actions.rb +183 -0
- data/lib/candle/generators/blank.rb +127 -0
- data/lib/candle/generators/cli.rb +55 -0
- data/lib/candle/generators/help.rb +47 -0
- data/lib/candle/generators/jam.rb +80 -0
- data/lib/candle/generators/lua/scripts/AppDelegate.lua +36 -0
- data/lib/candle/generators/lua/scripts/tests/init.lua +6 -0
- data/lib/candle/generators/lua/scripts/tests/someTest.lua +12 -0
- data/lib/candle/generators/lua/wax/ProtocolLoader.h +12 -0
- data/lib/candle/generators/lua/wax/bin/hammer +157 -0
- data/lib/candle/generators/lua/wax/bin/update-xibs +131 -0
- data/lib/candle/generators/lua/wax/bin/waxsim +0 -0
- data/lib/candle/generators/lua/wax/lib/build-scripts/compile-stdlib.sh +14 -0
- data/lib/candle/generators/lua/wax/lib/build-scripts/copy-scripts.sh +58 -0
- data/lib/candle/generators/lua/wax/lib/build-scripts/luac.lua +80 -0
- data/lib/candle/generators/lua/wax/lib/extensions/CGAffine/wax_CGTransform.h +12 -0
- data/lib/candle/generators/lua/wax/lib/extensions/CGAffine/wax_CGTransform.m +85 -0
- data/lib/candle/generators/lua/wax/lib/extensions/CGContext/wax_CGContext.h +12 -0
- data/lib/candle/generators/lua/wax/lib/extensions/CGContext/wax_CGContext.m +251 -0
- data/lib/candle/generators/lua/wax/lib/extensions/HTTP/wax_http.h +14 -0
- data/lib/candle/generators/lua/wax/lib/extensions/HTTP/wax_http.m +240 -0
- data/lib/candle/generators/lua/wax/lib/extensions/HTTP/wax_http_connection.h +54 -0
- data/lib/candle/generators/lua/wax/lib/extensions/HTTP/wax_http_connection.m +304 -0
- data/lib/candle/generators/lua/wax/lib/extensions/filesystem/wax_filesystem.h +9 -0
- data/lib/candle/generators/lua/wax/lib/extensions/filesystem/wax_filesystem.m +273 -0
- data/lib/candle/generators/lua/wax/lib/extensions/json/Rakefile +10 -0
- data/lib/candle/generators/lua/wax/lib/extensions/json/wax_json.c +304 -0
- data/lib/candle/generators/lua/wax/lib/extensions/json/wax_json.h +11 -0
- data/lib/candle/generators/lua/wax/lib/extensions/json/yajl-1.0.9.tar.gz +0 -0
- data/lib/candle/generators/lua/wax/lib/extensions/json/yajl/api/yajl_common.h +85 -0
- data/lib/candle/generators/lua/wax/lib/extensions/json/yajl/api/yajl_gen.h +159 -0
- data/lib/candle/generators/lua/wax/lib/extensions/json/yajl/api/yajl_parse.h +193 -0
- data/lib/candle/generators/lua/wax/lib/extensions/json/yajl/yajl.c +159 -0
- data/lib/candle/generators/lua/wax/lib/extensions/json/yajl/yajl_alloc.c +65 -0
- data/lib/candle/generators/lua/wax/lib/extensions/json/yajl/yajl_alloc.h +50 -0
- data/lib/candle/generators/lua/wax/lib/extensions/json/yajl/yajl_buf.c +119 -0
- data/lib/candle/generators/lua/wax/lib/extensions/json/yajl/yajl_buf.h +73 -0
- data/lib/candle/generators/lua/wax/lib/extensions/json/yajl/yajl_bytestack.h +85 -0
- data/lib/candle/generators/lua/wax/lib/extensions/json/yajl/yajl_common.h +85 -0
- data/lib/candle/generators/lua/wax/lib/extensions/json/yajl/yajl_encode.c +188 -0
- data/lib/candle/generators/lua/wax/lib/extensions/json/yajl/yajl_encode.h +50 -0
- data/lib/candle/generators/lua/wax/lib/extensions/json/yajl/yajl_gen.c +322 -0
- data/lib/candle/generators/lua/wax/lib/extensions/json/yajl/yajl_gen.h +159 -0
- data/lib/candle/generators/lua/wax/lib/extensions/json/yajl/yajl_lex.c +737 -0
- data/lib/candle/generators/lua/wax/lib/extensions/json/yajl/yajl_lex.h +133 -0
- data/lib/candle/generators/lua/wax/lib/extensions/json/yajl/yajl_parse.h +193 -0
- data/lib/candle/generators/lua/wax/lib/extensions/json/yajl/yajl_parser.c +448 -0
- data/lib/candle/generators/lua/wax/lib/extensions/json/yajl/yajl_parser.h +82 -0
- data/lib/candle/generators/lua/wax/lib/lua/lapi.c +1087 -0
- data/lib/candle/generators/lua/wax/lib/lua/lapi.h +16 -0
- data/lib/candle/generators/lua/wax/lib/lua/lauxlib.c +652 -0
- data/lib/candle/generators/lua/wax/lib/lua/lauxlib.h +174 -0
- data/lib/candle/generators/lua/wax/lib/lua/lbaselib.c +653 -0
- data/lib/candle/generators/lua/wax/lib/lua/lcode.c +839 -0
- data/lib/candle/generators/lua/wax/lib/lua/lcode.h +76 -0
- data/lib/candle/generators/lua/wax/lib/lua/ldblib.c +397 -0
- data/lib/candle/generators/lua/wax/lib/lua/ldebug.c +638 -0
- data/lib/candle/generators/lua/wax/lib/lua/ldebug.h +33 -0
- data/lib/candle/generators/lua/wax/lib/lua/ldo.c +518 -0
- data/lib/candle/generators/lua/wax/lib/lua/ldo.h +57 -0
- data/lib/candle/generators/lua/wax/lib/lua/ldump.c +164 -0
- data/lib/candle/generators/lua/wax/lib/lua/lfunc.c +174 -0
- data/lib/candle/generators/lua/wax/lib/lua/lfunc.h +34 -0
- data/lib/candle/generators/lua/wax/lib/lua/lgc.c +711 -0
- data/lib/candle/generators/lua/wax/lib/lua/lgc.h +110 -0
- data/lib/candle/generators/lua/wax/lib/lua/linit.c +38 -0
- data/lib/candle/generators/lua/wax/lib/lua/liolib.c +553 -0
- data/lib/candle/generators/lua/wax/lib/lua/llex.c +461 -0
- data/lib/candle/generators/lua/wax/lib/lua/llex.h +81 -0
- data/lib/candle/generators/lua/wax/lib/lua/llimits.h +128 -0
- data/lib/candle/generators/lua/wax/lib/lua/lmathlib.c +263 -0
- data/lib/candle/generators/lua/wax/lib/lua/lmem.c +86 -0
- data/lib/candle/generators/lua/wax/lib/lua/lmem.h +49 -0
- data/lib/candle/generators/lua/wax/lib/lua/loadlib.c +666 -0
- data/lib/candle/generators/lua/wax/lib/lua/lobject.c +214 -0
- data/lib/candle/generators/lua/wax/lib/lua/lobject.h +381 -0
- data/lib/candle/generators/lua/wax/lib/lua/lopcodes.c +102 -0
- data/lib/candle/generators/lua/wax/lib/lua/lopcodes.h +268 -0
- data/lib/candle/generators/lua/wax/lib/lua/loslib.c +243 -0
- data/lib/candle/generators/lua/wax/lib/lua/lparser.c +1339 -0
- data/lib/candle/generators/lua/wax/lib/lua/lparser.h +82 -0
- data/lib/candle/generators/lua/wax/lib/lua/lstate.c +214 -0
- data/lib/candle/generators/lua/wax/lib/lua/lstate.h +169 -0
- data/lib/candle/generators/lua/wax/lib/lua/lstring.c +111 -0
- data/lib/candle/generators/lua/wax/lib/lua/lstring.h +31 -0
- data/lib/candle/generators/lua/wax/lib/lua/lstrlib.c +869 -0
- data/lib/candle/generators/lua/wax/lib/lua/ltable.c +588 -0
- data/lib/candle/generators/lua/wax/lib/lua/ltable.h +40 -0
- data/lib/candle/generators/lua/wax/lib/lua/ltablib.c +287 -0
- data/lib/candle/generators/lua/wax/lib/lua/ltm.c +75 -0
- data/lib/candle/generators/lua/wax/lib/lua/ltm.h +54 -0
- data/lib/candle/generators/lua/wax/lib/lua/lua.h +388 -0
- data/lib/candle/generators/lua/wax/lib/lua/luaconf.h +753 -0
- data/lib/candle/generators/lua/wax/lib/lua/lualib.h +53 -0
- data/lib/candle/generators/lua/wax/lib/lua/lundump.c +227 -0
- data/lib/candle/generators/lua/wax/lib/lua/lundump.h +36 -0
- data/lib/candle/generators/lua/wax/lib/lua/lvm.c +763 -0
- data/lib/candle/generators/lua/wax/lib/lua/lvm.h +36 -0
- data/lib/candle/generators/lua/wax/lib/lua/lzio.c +82 -0
- data/lib/candle/generators/lua/wax/lib/lua/lzio.h +67 -0
- data/lib/candle/generators/lua/wax/lib/lua/print.c +227 -0
- data/lib/candle/generators/lua/wax/lib/project.rake +159 -0
- data/lib/candle/generators/lua/wax/lib/stdlib/enums.lua +396 -0
- data/lib/candle/generators/lua/wax/lib/stdlib/ext/http.lua +43 -0
- data/lib/candle/generators/lua/wax/lib/stdlib/ext/init.lua +4 -0
- data/lib/candle/generators/lua/wax/lib/stdlib/ext/number.lua +21 -0
- data/lib/candle/generators/lua/wax/lib/stdlib/ext/string.lua +97 -0
- data/lib/candle/generators/lua/wax/lib/stdlib/ext/table.lua +165 -0
- data/lib/candle/generators/lua/wax/lib/stdlib/helpers/WaxServer.lua +49 -0
- data/lib/candle/generators/lua/wax/lib/stdlib/helpers/autoload.lua +10 -0
- data/lib/candle/generators/lua/wax/lib/stdlib/helpers/base64.lua +64 -0
- data/lib/candle/generators/lua/wax/lib/stdlib/helpers/bit.lua +274 -0
- data/lib/candle/generators/lua/wax/lib/stdlib/helpers/cache.lua +73 -0
- data/lib/candle/generators/lua/wax/lib/stdlib/helpers/callback.lua +22 -0
- data/lib/candle/generators/lua/wax/lib/stdlib/helpers/frame.lua +76 -0
- data/lib/candle/generators/lua/wax/lib/stdlib/helpers/init.lua +78 -0
- data/lib/candle/generators/lua/wax/lib/stdlib/helpers/pickView.lua +54 -0
- data/lib/candle/generators/lua/wax/lib/stdlib/helpers/time.lua +102 -0
- data/lib/candle/generators/lua/wax/lib/stdlib/init.lua +18 -0
- data/lib/candle/generators/lua/wax/lib/stdlib/luaspec/init.lua +2 -0
- data/lib/candle/generators/lua/wax/lib/stdlib/luaspec/luamock.lua +84 -0
- data/lib/candle/generators/lua/wax/lib/stdlib/luaspec/luaspec.lua +377 -0
- data/lib/candle/generators/lua/wax/lib/stdlib/repl.lua +9 -0
- data/lib/candle/generators/lua/wax/lib/stdlib/structs.lua +11 -0
- data/lib/candle/generators/lua/wax/lib/stdlib/waxClass.lua +42 -0
- data/lib/candle/generators/lua/wax/lib/wax.h +16 -0
- data/lib/candle/generators/lua/wax/lib/wax.m +260 -0
- data/lib/candle/generators/lua/wax/lib/wax_class.h +18 -0
- data/lib/candle/generators/lua/wax/lib/wax_class.m +190 -0
- data/lib/candle/generators/lua/wax/lib/wax_gc.h +20 -0
- data/lib/candle/generators/lua/wax/lib/wax_gc.m +56 -0
- data/lib/candle/generators/lua/wax/lib/wax_helpers.h +102 -0
- data/lib/candle/generators/lua/wax/lib/wax_helpers.m +870 -0
- data/lib/candle/generators/lua/wax/lib/wax_instance.h +34 -0
- data/lib/candle/generators/lua/wax/lib/wax_instance.m +810 -0
- data/lib/candle/generators/lua/wax/lib/wax_server.h +47 -0
- data/lib/candle/generators/lua/wax/lib/wax_server.m +252 -0
- data/lib/candle/generators/lua/wax/lib/wax_stdlib.h +3 -0
- data/lib/candle/generators/lua/wax/lib/wax_struct.h +26 -0
- data/lib/candle/generators/lua/wax/lib/wax_struct.m +335 -0
- data/lib/candle/generators/templates/blank/WaxApplication.xcodeproj/project.pbxproj +836 -0
- data/lib/candle/generators/templates/blank/WaxApplication.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- data/lib/candle/generators/templates/blank/WaxApplication.xcodeproj/project.xcworkspace/xcuserdata/eiffel.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- data/lib/candle/generators/templates/blank/WaxApplication.xcodeproj/xcuserdata/eiffel.xcuserdatad/xcschemes/WaxApplication.xcscheme +86 -0
- data/lib/candle/generators/templates/blank/WaxApplication.xcodeproj/xcuserdata/eiffel.xcuserdatad/xcschemes/xcschememanagement.plist +22 -0
- data/lib/candle/generators/templates/blank/WaxApplication/Default-568h@2x.png +0 -0
- data/lib/candle/generators/templates/blank/WaxApplication/Default.png +0 -0
- data/lib/candle/generators/templates/blank/WaxApplication/Default@2x.png +0 -0
- data/lib/candle/generators/templates/blank/WaxApplication/ProtocolLoader.h +12 -0
- data/lib/candle/generators/templates/blank/WaxApplication/WaxApplication-Info.plist.tt +38 -0
- data/lib/candle/generators/templates/blank/WaxApplication/WaxApplication-Prefix.pch.tt +14 -0
- data/lib/candle/generators/templates/blank/WaxApplication/en.lproj/InfoPlist.strings +2 -0
- data/lib/candle/generators/templates/blank/WaxApplication/main.m.tt +20 -0
- data/lib/candle/tasks.rb +22 -0
- data/lib/candle/utility.rb +30 -0
- data/lib/candle/version.rb +9 -0
- data/lib/candle/view.rb +48 -0
- metadata +582 -0
@@ -0,0 +1,47 @@
|
|
1
|
+
#import <Foundation/Foundation.h>
|
2
|
+
|
3
|
+
@class wax_server;
|
4
|
+
|
5
|
+
NSString * const TCPServerErrorDomain;
|
6
|
+
|
7
|
+
typedef enum {
|
8
|
+
kTCPServerCouldNotBindToIPv4Address = 1,
|
9
|
+
kTCPServerCouldNotBindToIPv6Address = 2,
|
10
|
+
kTCPServerNoSocketsAvailable = 3,
|
11
|
+
} TCPServerErrorCode;
|
12
|
+
|
13
|
+
|
14
|
+
@protocol WaxServerDelegate
|
15
|
+
|
16
|
+
@optional
|
17
|
+
- (void)connected;
|
18
|
+
- (void)disconnected;
|
19
|
+
- (void)dataReceived:(NSData *)data;
|
20
|
+
|
21
|
+
@end
|
22
|
+
|
23
|
+
|
24
|
+
@interface wax_server : NSObject <NSStreamDelegate, NSNetServiceDelegate> {
|
25
|
+
CFSocketRef _ipv4socket;
|
26
|
+
id<WaxServerDelegate> _delegate;
|
27
|
+
|
28
|
+
NSNetService *_netService;
|
29
|
+
NSInputStream *_inStream;
|
30
|
+
NSOutputStream *_outStream;
|
31
|
+
}
|
32
|
+
|
33
|
+
@property(nonatomic, assign) id<WaxServerDelegate> delegate;
|
34
|
+
|
35
|
+
- (NSError *)startOnPort:(NSUInteger)port;
|
36
|
+
- (BOOL)stop;
|
37
|
+
- (BOOL)enableBonjourOnPort:(NSUInteger)port;
|
38
|
+
- (void)disableBonjour;
|
39
|
+
|
40
|
+
- (BOOL)send:(NSString *)output;
|
41
|
+
- (void)receive:(NSData *)output;
|
42
|
+
|
43
|
+
@end
|
44
|
+
|
45
|
+
// This is needed because the runtime doesn't automatically load protocols
|
46
|
+
@interface HACK_WAX_DELEGATE_IMPLEMENTOR <WaxServerDelegate> {}
|
47
|
+
@end
|
@@ -0,0 +1,252 @@
|
|
1
|
+
#include <sys/socket.h>
|
2
|
+
#include <netinet/in.h>
|
3
|
+
#include <unistd.h>
|
4
|
+
#include <CFNetwork/CFSocketStream.h>
|
5
|
+
|
6
|
+
#import "wax_server.h"
|
7
|
+
#import "wax.h"
|
8
|
+
#import "lauxlib.h"
|
9
|
+
|
10
|
+
static id gInstance;
|
11
|
+
|
12
|
+
static void TCPServerAcceptCallBack(CFSocketRef socket, CFSocketCallBackType type, CFDataRef address, const void *data, void *info);
|
13
|
+
|
14
|
+
@implementation wax_server
|
15
|
+
|
16
|
+
@synthesize delegate=_delegate;
|
17
|
+
|
18
|
+
+ (id)instance {
|
19
|
+
return gInstance;
|
20
|
+
}
|
21
|
+
|
22
|
+
- (void)dealloc {
|
23
|
+
[self stop]; // releases _netService and in/out streams
|
24
|
+
gInstance = nil;
|
25
|
+
[super dealloc];
|
26
|
+
}
|
27
|
+
|
28
|
+
- (id)init {
|
29
|
+
self = [super self];
|
30
|
+
if (gInstance) [NSException raise:@"Wax Error" format:@"Wax server has already been created"];
|
31
|
+
|
32
|
+
gInstance = self;
|
33
|
+
|
34
|
+
return self;
|
35
|
+
}
|
36
|
+
|
37
|
+
|
38
|
+
- (NSError *)startOnPort:(NSUInteger)port {
|
39
|
+
NSError *error = nil;
|
40
|
+
CFSocketContext socketCtxt = {0, self, NULL, NULL, NULL};
|
41
|
+
_ipv4socket = CFSocketCreate(kCFAllocatorDefault, PF_INET, SOCK_STREAM, IPPROTO_TCP, kCFSocketAcceptCallBack, (CFSocketCallBack)&TCPServerAcceptCallBack, &socketCtxt);
|
42
|
+
|
43
|
+
if (_ipv4socket == NULL) {
|
44
|
+
error = [[NSError alloc] initWithDomain:@"Wax Error" code:kTCPServerNoSocketsAvailable userInfo:nil];
|
45
|
+
_ipv4socket = NULL;
|
46
|
+
return NO;
|
47
|
+
}
|
48
|
+
|
49
|
+
int yes = 1;
|
50
|
+
setsockopt(CFSocketGetNative(_ipv4socket), SOL_SOCKET, SO_REUSEADDR, (void *)&yes, sizeof(yes));
|
51
|
+
|
52
|
+
// set up the IPv4 endpoint; use port 0, so the kernel will choose an arbitrary port for us, which will be advertised using Bonjour
|
53
|
+
struct sockaddr_in addr4;
|
54
|
+
memset(&addr4, 0, sizeof(addr4));
|
55
|
+
addr4.sin_len = sizeof(addr4);
|
56
|
+
addr4.sin_family = AF_INET;
|
57
|
+
//addr4.sin_port = 0;
|
58
|
+
addr4.sin_port = htons(port);
|
59
|
+
addr4.sin_addr.s_addr = htonl(INADDR_ANY);
|
60
|
+
NSData *address4 = [NSData dataWithBytes:&addr4 length:sizeof(addr4)];
|
61
|
+
|
62
|
+
if (kCFSocketSuccess != CFSocketSetAddress(_ipv4socket, (CFDataRef)address4)) {
|
63
|
+
error = [[NSError alloc] initWithDomain:@"Wax Error" code:kTCPServerCouldNotBindToIPv4Address userInfo:nil];
|
64
|
+
if (_ipv4socket) CFRelease(_ipv4socket);
|
65
|
+
_ipv4socket = NULL;
|
66
|
+
return NO;
|
67
|
+
}
|
68
|
+
|
69
|
+
// now that the binding was successful, we get the port number
|
70
|
+
// -- we will need it for the NSNetService
|
71
|
+
NSData *addr = [(NSData *)CFSocketCopyAddress(_ipv4socket) autorelease];
|
72
|
+
memcpy(&addr4, [addr bytes], [addr length]);
|
73
|
+
|
74
|
+
// set up the run loop sources for the sockets
|
75
|
+
CFRunLoopRef cfrl = CFRunLoopGetCurrent();
|
76
|
+
CFRunLoopSourceRef source4 = CFSocketCreateRunLoopSource(kCFAllocatorDefault, _ipv4socket, 0);
|
77
|
+
CFRunLoopAddSource(cfrl, source4, kCFRunLoopCommonModes);
|
78
|
+
CFRelease(source4);
|
79
|
+
|
80
|
+
[self enableBonjourOnPort:port];
|
81
|
+
|
82
|
+
return error;
|
83
|
+
}
|
84
|
+
|
85
|
+
- (BOOL)stop {
|
86
|
+
if (_delegate) [_delegate disconnected];
|
87
|
+
|
88
|
+
[self disableBonjour];
|
89
|
+
|
90
|
+
[_inStream removeFromRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes];
|
91
|
+
[_inStream release];
|
92
|
+
_inStream = nil;
|
93
|
+
[_outStream removeFromRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes];
|
94
|
+
[_outStream release];
|
95
|
+
_outStream = nil;
|
96
|
+
|
97
|
+
if (_ipv4socket) {
|
98
|
+
CFSocketInvalidate(_ipv4socket);
|
99
|
+
CFRelease(_ipv4socket);
|
100
|
+
_ipv4socket = NULL;
|
101
|
+
}
|
102
|
+
|
103
|
+
return YES;
|
104
|
+
}
|
105
|
+
|
106
|
+
- (BOOL)send:(NSString *)output {
|
107
|
+
if (!_outStream) return NO;
|
108
|
+
|
109
|
+
NSInteger length = [_outStream write:(uint8_t *)[output UTF8String] maxLength:[output lengthOfBytesUsingEncoding:NSUTF8StringEncoding]];
|
110
|
+
return length > 0;
|
111
|
+
}
|
112
|
+
|
113
|
+
- (void)receive:(NSData *)data {
|
114
|
+
// CTRL-D? Then exit!
|
115
|
+
if (data.length == 1 && ((uint8_t *)[data bytes])[0] == 4) {
|
116
|
+
uint8_t outputString[] = "Connection Closed";
|
117
|
+
[_outStream write:outputString maxLength:NSUIntegerMax];
|
118
|
+
NSUInteger port = [_netService port];
|
119
|
+
[self stop];
|
120
|
+
[self startOnPort:port];
|
121
|
+
|
122
|
+
return;
|
123
|
+
}
|
124
|
+
else if (data.length == 0) { // Who cares!
|
125
|
+
return;
|
126
|
+
}
|
127
|
+
|
128
|
+
if (_delegate) [_delegate dataReceived:(NSData *)data];
|
129
|
+
}
|
130
|
+
|
131
|
+
- (BOOL)enableBonjourOnPort:(NSUInteger)port {
|
132
|
+
NSString *domain = @""; // Will use default Bonjour registration doamins, typically just ".local"
|
133
|
+
NSString *name = @""; // Will use default Bonjour name, e.g. the name assigned to the device in iTunes
|
134
|
+
NSString *protocol = [NSString stringWithFormat:@"_%@._tcp.", @"luadebug"];
|
135
|
+
|
136
|
+
// First stop existing services
|
137
|
+
[self disableBonjour];
|
138
|
+
|
139
|
+
_netService = [[NSNetService alloc] initWithDomain:domain type:protocol name:name port:port];
|
140
|
+
if (_netService == nil) return NO;
|
141
|
+
|
142
|
+
[_netService scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes];
|
143
|
+
[_netService publish];
|
144
|
+
[_netService setDelegate:self];
|
145
|
+
|
146
|
+
return YES;
|
147
|
+
}
|
148
|
+
|
149
|
+
- (void)disableBonjour {
|
150
|
+
if (_netService) {
|
151
|
+
[_netService stop];
|
152
|
+
[_netService removeFromRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes];
|
153
|
+
[_netService release];
|
154
|
+
_netService = nil;
|
155
|
+
}
|
156
|
+
}
|
157
|
+
|
158
|
+
- (void)handleNewConnectionFromAddress:(NSData *)addr inputStream:(NSInputStream *)inStream outputStream:(NSOutputStream *)outStream {
|
159
|
+
if (_inStream || _outStream) {
|
160
|
+
[NSException raise:@"Debug Server Error" format:@"Woah, a new connection came in. I have no idea what to do in this situation."];
|
161
|
+
return;
|
162
|
+
}
|
163
|
+
|
164
|
+
_inStream = [inStream retain];
|
165
|
+
_inStream.delegate = self;
|
166
|
+
[_inStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
|
167
|
+
[_inStream open];
|
168
|
+
|
169
|
+
_outStream = [outStream retain];
|
170
|
+
_outStream.delegate = self;
|
171
|
+
[_outStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
|
172
|
+
[_outStream open];
|
173
|
+
|
174
|
+
if (_delegate) [_delegate connected];
|
175
|
+
}
|
176
|
+
|
177
|
+
- (void)netServiceDidPublish:(NSNetService *)sender {
|
178
|
+
NSLog(@"Server started on host: %@.local port: %d", [sender name], [sender port]);
|
179
|
+
}
|
180
|
+
|
181
|
+
- (void)netService:(NSNetService *)sender didNotPublish:(NSDictionary *)errorDict {
|
182
|
+
NSLog(@"Bonjour error: %@", errorDict);
|
183
|
+
}
|
184
|
+
|
185
|
+
- (void)netServiceDidStop:(NSNetService *)sender {
|
186
|
+
NSLog(@"Server Stopped");
|
187
|
+
[self send:@"Server Stopped"];
|
188
|
+
}
|
189
|
+
|
190
|
+
- (NSString*)description {
|
191
|
+
return [NSString stringWithFormat:@"<%@ = 0x%08X | port %d | netService = %@>", [self class], (long)self, [_netService port] , _netService];
|
192
|
+
}
|
193
|
+
|
194
|
+
// Stream Delegate
|
195
|
+
// ---------------
|
196
|
+
- (void)stream:(NSStream *)stream handleEvent:(NSStreamEvent)streamEvent {
|
197
|
+
if (stream != _inStream) return;
|
198
|
+
|
199
|
+
switch (streamEvent) {
|
200
|
+
case NSStreamEventHasBytesAvailable: {
|
201
|
+
uint8_t bytes[1024];
|
202
|
+
int length = 0;
|
203
|
+
NSMutableData *data = [NSMutableData data];
|
204
|
+
while ([_inStream hasBytesAvailable]) {
|
205
|
+
length = [_inStream read:bytes maxLength:sizeof(bytes)];
|
206
|
+
[data appendBytes:bytes length:length];
|
207
|
+
}
|
208
|
+
|
209
|
+
[self receive:data];
|
210
|
+
|
211
|
+
break;
|
212
|
+
}
|
213
|
+
|
214
|
+
case NSStreamEventErrorOccurred:
|
215
|
+
NSLog(@"Error: Stream error encountered!");
|
216
|
+
break;
|
217
|
+
}
|
218
|
+
}
|
219
|
+
|
220
|
+
@end
|
221
|
+
|
222
|
+
// Called by CFSocket when a new connection comes in. Gathers data and calls method on TCPServer.
|
223
|
+
static void TCPServerAcceptCallBack(CFSocketRef socket, CFSocketCallBackType type, CFDataRef address, const void *data, void *info) {
|
224
|
+
wax_server *server = (wax_server *)info;
|
225
|
+
if (kCFSocketAcceptCallBack == type) {
|
226
|
+
// For an AcceptCallBack, the data parameter is a pointer to a CFSocketNativeHandle
|
227
|
+
CFSocketNativeHandle nativeSocketHandle = *(CFSocketNativeHandle *)data;
|
228
|
+
uint8_t name[SOCK_MAXADDRLEN];
|
229
|
+
socklen_t namelen = sizeof(name);
|
230
|
+
NSData *peer = nil;
|
231
|
+
if (0 == getpeername(nativeSocketHandle, (struct sockaddr *)name, &namelen)) {
|
232
|
+
peer = [NSData dataWithBytes:name length:namelen];
|
233
|
+
}
|
234
|
+
CFReadStreamRef readStream = NULL;
|
235
|
+
CFWriteStreamRef writeStream = NULL;
|
236
|
+
CFStreamCreatePairWithSocket(kCFAllocatorDefault, nativeSocketHandle, &readStream, &writeStream);
|
237
|
+
if (readStream && writeStream) {
|
238
|
+
CFReadStreamSetProperty(readStream, kCFStreamPropertyShouldCloseNativeSocket, kCFBooleanTrue);
|
239
|
+
CFWriteStreamSetProperty(writeStream, kCFStreamPropertyShouldCloseNativeSocket, kCFBooleanTrue);
|
240
|
+
[server handleNewConnectionFromAddress:peer inputStream:(NSInputStream *)readStream outputStream:(NSOutputStream *)writeStream];
|
241
|
+
}
|
242
|
+
else {
|
243
|
+
// on any failure, need to destroy the CFSocketNativeHandle since we are not going to use it any more
|
244
|
+
close(nativeSocketHandle);
|
245
|
+
}
|
246
|
+
if (readStream) CFRelease(readStream);
|
247
|
+
if (writeStream) CFRelease(writeStream);
|
248
|
+
}
|
249
|
+
}
|
250
|
+
|
251
|
+
@implementation HACK_WAX_DELEGATE_IMPLEMENTOR
|
252
|
+
@end
|
@@ -0,0 +1,3 @@
|
|
1
|
+
// DO NOT MODIFY
|
2
|
+
// This is auto generated, it contains a compiled version of the wax stdlib
|
3
|
+
#define WAX_STDLIB {27,76,117,97,81,0,1,4,4,4,8,0,8,0,0,0,61,40,108,117,97,99,41,0,0,0,0,0,0,0,0,0,0,0,2,2,50,0,0,0,5,0,0,0,6,64,64,0,100,0,0,0,9,64,0,-127,100,64,0,0,9,64,-128,-127,100,-128,0,0,9,64,0,-126,100,-64,0,0,9,64,-128,-126,100,0,1,0,9,64,0,-125,100,64,1,0,9,64,-128,-125,100,-128,1,0,9,64,0,-124,100,-64,1,0,9,64,-128,-124,100,0,2,0,9,64,0,-123,100,64,2,0,9,64,-128,-123,100,-128,2,0,9,64,0,-122,100,-64,2,0,9,64,-128,-122,100,0,3,0,9,64,0,-121,100,64,3,0,9,64,-128,-121,100,-128,3,0,9,64,0,-120,100,-64,3,0,9,64,-128,-120,100,0,4,0,9,64,0,-119,100,64,4,0,9,64,-128,-119,100,-128,4,0,9,64,0,-118,100,-64,4,0,9,64,-128,-118,100,0,5,0,9,64,0,-117,100,64,5,0,9,64,-128,-117,1,0,6,0,100,-128,5,0,92,64,-128,0,30,0,-128,0,25,0,0,0,4,8,0,0,0,112,97,99,107,97,103,101,0,4,8,0,0,0,112,114,101,108,111,97,100,0,4,10,0,0,0,119,97,120,46,101,110,117,109,115,0,4,13,0,0,0,119,97,120,46,101,120,116,46,104,116,116,112,0,4,8,0,0,0,119,97,120,46,101,120,116,0,4,15,0,0,0,119,97,120,46,101,120,116,46,110,117,109,98,101,114,0,4,15,0,0,0,119,97,120,46,101,120,116,46,115,116,114,105,110,103,0,4,14,0,0,0,119,97,120,46,101,120,116,46,116,97,98,108,101,0,4,22,0,0,0,119,97,120,46,104,101,108,112,101,114,115,46,87,97,120,83,101,114,118,101,114,0,4,21,0,0,0,119,97,120,46,104,101,108,112,101,114,115,46,97,117,116,111,108,111,97,100,0,4,19,0,0,0,119,97,120,46,104,101,108,112,101,114,115,46,98,97,115,101,54,52,0,4,16,0,0,0,119,97,120,46,104,101,108,112,101,114,115,46,98,105,116,0,4,18,0,0,0,119,97,120,46,104,101,108,112,101,114,115,46,99,97,99,104,101,0,4,21,0,0,0,119,97,120,46,104,101,108,112,101,114,115,46,99,97,108,108,98,97,99,107,0,4,18,0,0,0,119,97,120,46,104,101,108,112,101,114,115,46,102,114,97,109,101,0,4,12,0,0,0,119,97,120,46,104,101,108,112,101,114,115,0,4,17,0,0,0,119,97,120,46,104,101,108,112,101,114,115,46,116,105,109,101,0,4,9,0,0,0,119,97,120,46,105,110,105,116,0,4,12,0,0,0,119,97,120,46,108,117,97,115,112,101,99,0,4,20,0,0,0,119,97,120,46,108,117,97,115,112,101,99,46,108,117,97,109,111,99,107,0,4,20,0,0,0,119,97,120,46,108,117,97,115,112,101,99,46,108,117,97,115,112,101,99,0,4,9,0,0,0,119,97,120,46,114,101,112,108,0,4,12,0,0,0,119,97,120,46,115,116,114,117,99,116,115,0,4,13,0,0,0,119,97,120,46,119,97,120,67,108,97,115,115,0,0,23,0,0,0,69,0,0,0,64,47,85,115,101,114,115,47,99,111,114,101,121,47,99,111,100,101,47,109,105,110,101,47,119,97,120,47,116,111,111,108,115,47,70,114,97,109,101,119,111,114,107,47,119,97,120,47,108,105,98,47,115,116,100,108,105,98,47,101,110,117,109,115,46,108,117,97,0,0,0,0,0,0,0,0,0,0,0,2,3,-81,2,0,0,1,64,0,0,7,0,0,0,1,-64,0,0,7,-128,0,0,1,64,1,0,7,0,1,0,1,-64,1,0,7,-128,1,0,1,64,2,0,7,0,2,0,1,-64,2,0,7,-128,2,0,1,64,3,0,7,0,3,0,1,-64,3,0,7,-128,3,0,1,64,4,0,7,0,4,0,1,-64,4,0,7,-128,4,0,1,64,5,0,7,0,5,0,1,-64,5,0,7,-128,5,0,1,64,6,0,7,0,6,0,1,64,0,0,7,-128,6,0,1,-64,0,0,7,-64,6,0,1,64,1,0,7,0,7,0,1,64,0,0,7,64,7,0,1,-64,0,0,7,-128,7,0,1,64,1,0,7,-64,7,0,1,-64,1,0,7,0,8,0,1,64,2,0,7,64,8,0,1,-64,2,0,7,-128,8,0,1,64,0,0,7,-64,8,0,1,-64,0,0,7,0,9,0,1,64,1,0,7,64,9,0,1,-64,1,0,7,-128,9,0,1,64,2,0,7,-64,9,0,1,-64,2,0,7,0,10,0,1,64,0,0,7,64,10,0,1,-64,0,0,7,-128,10,0,1,64,1,0,7,-64,10,0,1,64,0,0,7,0,11,0,1,-64,0,0,7,64,11,0,1,64,1,0,7,-128,11,0,1,-64,1,0,7,-64,11,0,1,64,0,0,7,0,12,0,1,-64,0,0,7,64,12,0,1,64,1,0,7,-128,12,0,1,-64,1,0,7,-64,12,0,1,64,0,0,7,0,13,0,1,-64,0,0,7,64,13,0,1,64,1,0,7,-128,13,0,1,64,0,0,7,-64,13,0,1,-64,0,0,7,0,14,0,1,64,0,0,7,64,14,0,1,-64,0,0,7,-128,14,0,1,64,1,0,7,-64,14,0,1,64,2,0,7,0,15,0,1,-128,15,0,7,64,15,0,1,0,16,0,7,-64,15,0,1,-64,0,0,7,64,16,0,1,64,1,0,7,-128,16,0,1,-64,1,0,7,-64,16,0,1,64,2,0,7,0,17,0,1,-64,2,0,7,64,17,0,1,64,3,0,7,-128,17,0,1,-64,3,0,7,-64,17,0,1,64,4,0,7,0,18,0,1,-64,4,0,7,64,18,0,1,64,5,0,7,-128,18,0,1,-64,5,0,7,-64,18,0,1,64,6,0,7,0,19,0,1,-128,19,0,7,64,19,0,1,0,20,0,7,-64,19,0,1,-128,20,0,7,64,20,0,1,0,21,0,7,-64,20,0,1,-128,21,0,7,64,21,0,1,0,22,0,7,-64,21,0,1,-128,22,0,7,64,22,0,1,0,23,0,7,-64,22,0,1,-128,23,0,7,64,23,0,1,0,24,0,7,-64,23,0,1,-128,24,0,7,64,24,0,1,64,0,0,7,-64,24,0,1,-64,0,0,7,0,25,0,1,64,1,0,7,64,25,0,1,64,0,0,7,-64,8,0,1,-64,0,0,7,0,9,0,1,64,1,0,7,64,9,0,1,-64,1,0,7,-128,9,0,1,64,2,0,7,-64,9,0,1,-64,2,0,7,0,10,0,1,64,0,0,7,-128,25,0,1,-64,0,0,7,-64,25,0,1,64,1,0,7,0,26,0,1,64,0,0,7,64,26,0,1,-64,0,0,7,-128,26,0,1,64,1,0,7,-64,26,0,1,-64,1,0,7,0,27,0,1,64,2,0,7,64,27,0,1,-64,2,0,7,-128,27,0,1,64,3,0,7,-64,27,0,1,-64,3,0,7,0,28,0,5,-128,26,0,7,64,28,0,1,64,0,0,7,-128,28,0,1,-64,0,0,7,-64,28,0,1,64,1,0,7,0,29,0,1,-64,1,0,7,64,29,0,1,64,2,0,7,-128,29,0,1,-64,2,0,7,-64,29,0,1,64,3,0,7,0,30,0,1,-64,3,0,7,64,30,0,1,64,4,0,7,-128,30,0,1,-64,4,0,7,-64,30,0,1,64,5,0,7,0,31,0,5,-128,31,0,6,-64,95,0,65,64,1,0,-127,64,0,0,28,-128,-128,1,7,64,31,0,5,-128,31,0,6,-64,95,0,65,64,1,0,-127,-64,0,0,28,-128,-128,1,7,0,32,0,5,-128,31,0,6,-64,95,0,65,64,1,0,-127,64,1,0,28,-128,-128,1,7,64,32,0,5,-128,31,0,6,-64,95,0,65,64,1,0,-127,-64,1,0,28,-128,-128,1,7,-128,32,0,5,-128,31,0,6,-64,95,0,65,64,1,0,-127,64,2,0,28,-128,-128,1,7,-64,32,0,5,-128,31,0,6,-64,95,0,65,64,1,0,-127,-64,2,0,28,-128,-128,1,7,0,33,0,5,-128,31,0,6,-64,95,0,65,64,1,0,-127,64,3,0,28,-128,-128,1,7,64,33,0,5,-128,31,0,6,-64,95,0,65,64,1,0,-127,-64,3,0,28,-128,-128,1,7,-128,33,0,5,-128,31,0,6,-64,95,0,65,64,1,0,-127,64,4,0,28,-128,-128,1,7,-64,33,0,5,-128,31,0,6,-64,95,0,65,64,1,0,-127,64,6,0,28,-128,-128,1,7,0,34,0,5,-128,31,0,6,-64,95,0,65,64,1,0,-127,-128,34,0,28,-128,-128,1,7,64,34,0,5,-128,31,0,6,-64,95,0,65,64,1,0,-127,0,35,0,28,-128,-128,1,7,-64,34,0,5,-128,31,0,6,-64,95,0,65,64,1,0,-127,-128,35,0,28,-128,-128,1,7,64,35,0,5,-128,31,0,6,-64,95,0,65,64,1,0,-127,0,36,0,28,-128,-128,1,7,-64,35,0,1,-128,36,0,7,64,36,0,1,0,37,0,7,-64,36,0,1,-128,37,0,7,64,37,0,1,0,38,0,7,-64,37,0,1,-128,38,0,7,64,38,0,1,64,0,0,7,-64,38,0,1,-64,0,0,7,0,39,0,1,64,1,0,7,64,39,0,1,64,0,0,7,-128,39,0,1,-64,0,0,7,-64,39,0,1,64,1,0,7,0,40,0,1,-64,1,0,7,64,40,0,1,64,0,0,7,-128,40,0,1,-64,0,0,7,-64,40,0,1,64,1,0,7,0,41,0,1,-64,1,0,7,64,41,0,1,64,2,0,7,-128,41,0,1,-64,2,0,7,-64,41,0,1,64,3,0,7,0,42,0,1,-64,3,0,7,64,42,0,1,64,4,0,7,-128,42,0,1,-64,4,0,7,-64,42,0,1,64,5,0,7,0,43,0,1,-64,5,0,7,64,43,0,1,64,6,0,7,-128,43,0,1,-128,19,0,7,-64,43,0,1,0,20,0,7,0,44,0,1,-128,20,0,7,64,44,0,1,-128,34,0,7,-128,44,0,1,0,35,0,7,-64,44,0,1,-128,35,0,7,0,45,0,1,0,36,0,7,64,45,0,1,-64,45,0,7,-128,45,0,1,0,21,0,7,0,46,0,1,-128,46,0,7,64,46,0,1,64,0,0,7,-64,46,0,1,-64,0,0,7,0,47,0,1,64,1,0,7,64,47,0,1,-64,1,0,7,-128,47,0,1,64,0,0,7,-64,47,0,1,-64,0,0,7,0,48,0,1,64,1,0,7,64,48,0,1,-64,1,0,7,-128,48,0,1,64,0,0,7,-64,48,0,1,-64,0,0,7,0,49,0,1,64,0,0,7,64,49,0,1,-64,0,0,7,-128,49,0,1,64,1,0,7,-64,49,0,1,-64,1,0,7,0,50,0,1,64,0,0,7,64,50,0,1,-64,0,0,7,-128,50,0,1,64,1,0,7,-64,50,0,1,64,0,0,7,0,51,0,1,-64,0,0,7,64,51,0,1,-64,0,0,7,-128,51,0,1,64,1,0,7,-64,51,0,1,64,0,0,7,0,52,0,1,-64,0,0,7,64,52,0,1,64,2,0,7,-128,52,0,5,64,52,0,7,-64,52,0,1,64,1,0,7,0,53,0,1,-64,1,0,7,64,53,0,1,-64,2,0,7,-128,53,0,1,64,0,0,7,-64,53,0,1,-64,0,0,7,0,54,0,1,64,1,0,7,64,54,0,1,64,0,0,7,-128,54,0,5,-128,31,0,6,-64,95,0,65,64,1,0,-127,64,0,0,28,-128,-128,1,7,-64,54,0,5,-128,31,0,6,-64,95,0,65,64,1,0,-127,-64,0,0,28,-128,-128,1,7,0,55,0,5,-128,31,0,6,-64,95,0,65,64,1,0,-127,64,1,0,28,-128,-128,1,7,64,55,0,1,64,0,0,7,-128,55,0,1,-64,0,0,7,-64,55,0,1,64,1,0,7,0,56,0,1,64,0,0,7,64,56,0,1,-64,0,0,7,-128,56,0,1,64,1,0,7,-64,56,0,1,-64,1,0,7,0,57,0,1,64,2,0,7,64,57,0,1,-64,2,0,7,-128,57,0,1,64,3,0,7,-64,57,0,5,-128,56,0,7,0,58,0,5,-64,56,0,7,64,58,0,5,64,57,0,7,-128,58,0,5,0,57,0,7,-64,58,0,1,64,0,0,7,0,59,0,1,-64,0,0,7,64,59,0,1,64,1,0,7,-128,59,0,1,-64,1,0,7,-64,59,0,1,64,0,0,7,0,60,0,1,-64,0,0,7,64,60,0,1,64,1,0,7,-128,60,0,1,-64,1,0,7,-64,60,0,1,64,2,0,7,0,61,0,1,-64,2,0,7,64,61,0,1,64,3,0,7,-128,61,0,1,64,0,0,7,-64,61,0,1,-64,0,0,7,0,62,0,1,64,1,0,7,64,62,0,1,-64,1,0,7,-128,62,0,1,64,2,0,7,-64,62,0,1,64,0,0,7,0,63,0,5,-128,31,0,6,-64,95,0,65,64,1,0,-127,64,0,0,28,-128,-128,1,7,64,63,0,5,-128,31,0,6,-64,95,0,65,64,1,0,-127,-64,0,0,28,-128,-128,1,7,-128,63,0,5,-128,31,0,6,-64,95,0,65,64,1,0,-127,64,1,0,28,-128,-128,1,7,-64,63,0,5,-128,31,0,6,-64,95,0,65,64,1,0,-127,-64,1,0,28,-128,-128,1,7,0,64,0,5,-128,31,0,6,-64,95,0,65,64,1,0,-127,64,2,0,28,-128,-128,1,7,64,64,0,5,-128,31,0,6,-64,95,0,65,64,1,0,-127,-64,2,0,28,-128,-128,1,7,-128,64,0,1,64,0,0,7,-64,64,0,1,-64,0,0,7,0,65,0,1,64,1,0,7,64,65,0,1,-64,1,0,7,-128,65,0,1,64,2,0,7,-64,65,0,1,-64,2,0,7,0,66,0,1,64,0,0,7,64,66,0,1,-64,0,0,7,-128,66,0,1,64,1,0,7,-64,66,0,1,64,0,0,7,0,67,0,1,-64,0,0,7,64,67,0,1,64,1,0,7,-128,67,0,1,-64,1,0,7,-64,67,0,1,64,0,0,7,0,68,0,1,-64,0,0,7,64,68,0,1,64,1,0,7,-128,68,0,1,-64,1,0,7,-64,68,0,1,64,2,0,7,0,69,0,1,64,0,0,7,64,69,0,1,-64,0,0,7,-128,69,0,1,64,1,0,7,-64,69,0,1,64,0,0,7,0,70,0,1,-64,0,0,7,64,70,0,1,64,1,0,7,-128,70,0,1,-64,1,0,7,-64,70,0,1,64,0,0,7,0,71,0,1,-64,0,0,7,64,71,0,1,64,1,0,7,-128,71,0,1,-64,1,0,7,-64,71,0,1,64,2,0,7,0,72,0,1,64,0,0,7,64,72,0,1,-64,0,0,7,-128,72,0,1,64,1,0,7,-64,72,0,1,64,0,0,7,0,73,0,1,-64,0,0,7,64,73,0,1,64,0,0,7,-128,73,0,1,-64,0,0,7,-64,73,0,1,64,1,0,7,0,74,0,1,-128,74,0,7,64,74,0,1,64,0,0,7,-64,74,0,1,-64,0,0,7,0,75,0,1,64,0,0,7,64,75,0,1,-64,0,0,7,-128,75,0,1,64,1,0,7,-64,75,0,1,64,0,0,7,0,76,0,1,-64,0,0,7,64,76,0,1,64,1,0,7,-128,76,0,1,-64,1,0,7,-64,76,0,5,-128,31,0,6,-64,95,0,65,64,1,0,-127,64,0,0,28,-128,-128,1,7,0,77,0,5,-128,31,0,6,-64,95,0,65,64,1,0,-127,-64,0,0,28,-128,-128,1,7,64,77,0,5,-128,31,0,6,-64,95,0,65,64,1,0,-127,64,1,0,28,-128,-128,1,7,-128,77,0,5,-128,31,0,6,-64,95,0,65,64,1,0,-127,-64,1,0,28,-128,-128,1,7,-64,77,0,1,64,0,0,7,0,70,0,1,-64,0,0,7,64,70,0,1,64,1,0,7,-128,70,0,1,-64,1,0,7,-64,70,0,1,64,0,0,7,0,78,0,1,-64,0,0,7,64,78,0,1,64,1,0,7,-128,78,0,1,-64,1,0,7,-64,78,0,1,64,0,0,7,0,79,0,1,-64,0,0,7,64,79,0,1,64,1,0,7,-128,79,0,30,0,-128,0,63,1,0,0,4,29,0,0,0,85,73,86,105,101,119,67,111,110,116,101,110,116,77,111,100,101,83,99,97,108,101,84,111,70,105,108,108,0,3,0,0,0,0,0,0,0,0,4,32,0,0,0,85,73,86,105,101,119,67,111,110,116,101,110,116,77,111,100,101,83,99,97,108,101,65,115,112,101,99,116,70,105,116,0,3,0,0,0,0,0,0,-16,63,4,33,0,0,0,85,73,86,105,101,119,67,111,110,116,101,110,116,77,111,100,101,83,99,97,108,101,65,115,112,101,99,116,70,105,108,108,0,3,0,0,0,0,0,0,0,64,4,24,0,0,0,85,73,86,105,101,119,67,111,110,116,101,110,116,77,111,100,101,82,101,100,114,97,119,0,3,0,0,0,0,0,0,8,64,4,24,0,0,0,85,73,86,105,101,119,67,111,110,116,101,110,116,77,111,100,101,67,101,110,116,101,114,0,3,0,0,0,0,0,0,16,64,4,21,0,0,0,85,73,86,105,101,119,67,111,110,116,101,110,116,77,111,100,101,84,111,112,0,3,0,0,0,0,0,0,20,64,4,24,0,0,0,85,73,86,105,101,119,67,111,110,116,101,110,116,77,111,100,101,66,111,116,116,111,109,0,3,0,0,0,0,0,0,24,64,4,22,0,0,0,85,73,86,105,101,119,67,111,110,116,101,110,116,77,111,100,101,76,101,102,116,0,3,0,0,0,0,0,0,28,64,4,23,0,0,0,85,73,86,105,101,119,67,111,110,116,101,110,116,77,111,100,101,82,105,103,104,116,0,3,0,0,0,0,0,0,32,64,4,25,0,0,0,85,73,86,105,101,119,67,111,110,116,101,110,116,77,111,100,101,84,111,112,76,101,102,116,0,3,0,0,0,0,0,0,34,64,4,26,0,0,0,85,73,86,105,101,119,67,111,110,116,101,110,116,77,111,100,101,84,111,112,82,105,103,104,116,0,3,0,0,0,0,0,0,36,64,4,28,0,0,0,85,73,86,105,101,119,67,111,110,116,101,110,116,77,111,100,101,66,111,116,116,111,109,76,101,102,116,0,3,0,0,0,0,0,0,38,64,4,29,0,0,0,85,73,86,105,101,119,67,111,110,116,101,110,116,77,111,100,101,66,111,116,116,111,109,82,105,103,104,116,0,3,0,0,0,0,0,0,40,64,4,26,0,0,0,85,73,66,97,114,66,117,116,116,111,110,73,116,101,109,83,116,121,108,101,80,108,97,105,110,0,4,29,0,0,0,85,73,66,97,114,66,117,116,116,111,110,73,116,101,109,83,116,121,108,101,66,111,114,100,101,114,101,100,0,4,25,0,0,0,85,73,66,97,114,66,117,116,116,111,110,73,116,101,109,83,116,121,108,101,68,111,110,101,0,4,19,0,0,0,85,73,66,117,116,116,111,110,84,121,112,101,67,117,115,116,111,109,0,4,24,0,0,0,85,73,66,117,116,116,111,110,84,121,112,101,82,111,117,110,100,101,100,82,101,99,116,0,4,29,0,0,0,85,73,66,117,116,116,111,110,84,121,112,101,68,101,116,97,105,108,68,105,115,99,108,111,115,117,114,101,0,4,22,0,0,0,85,73,66,117,116,116,111,110,84,121,112,101,73,110,102,111,76,105,103,104,116,0,4,21,0,0,0,85,73,66,117,116,116,111,110,84,121,112,101,73,110,102,111,68,97,114,107,0,4,23,0,0,0,85,73,66,117,116,116,111,110,84,121,112,101,67,111,110,116,97,99,116,65,100,100,0,4,24,0,0,0,85,73,76,105,110,101,66,114,101,97,107,77,111,100,101,87,111,114,100,87,114,97,112,0,4,29,0,0,0,85,73,76,105,110,101,66,114,101,97,107,77,111,100,101,67,104,97,114,97,99,116,101,114,87,114,97,112,0,4,20,0,0,0,85,73,76,105,110,101,66,114,101,97,107,77,111,100,101,67,108,105,112,0,4,30,0,0,0,85,73,76,105,110,101,66,114,101,97,107,77,111,100,101,72,101,97,100,84,114,117,110,99,97,116,105,111,110,0,4,30,0,0,0,85,73,76,105,110,101,66,114,101,97,107,77,111,100,101,84,97,105,108,84,114,117,110,99,97,116,105,111,110,0,4,32,0,0,0,85,73,76,105,110,101,66,114,101,97,107,77,111,100,101,77,105,100,100,108,101,84,114,117,110,99,97,116,105,111,110,0,4,34,0,0,0,85,73,84,97,98,108,101,86,105,101,119,67,101,108,108,83,101,108,101,99,116,105,111,110,83,116,121,108,101,78,111,110,101,0,4,34,0,0,0,85,73,84,97,98,108,101,86,105,101,119,67,101,108,108,83,101,108,101,99,116,105,111,110,83,116,121,108,101,66,108,117,101,0,4,34,0,0,0,85,73,84,97,98,108,101,86,105,101,119,67,101,108,108,83,101,108,101,99,116,105,111,110,83,116,121,108,101,71,114,97,121,0,4,28,0,0,0,85,73,84,97,98,108,101,86,105,101,119,67,101,108,108,83,116,121,108,101,68,101,102,97,117,108,116,0,4,27,0,0,0,85,73,84,97,98,108,101,86,105,101,119,67,101,108,108,83,116,121,108,101,86,97,108,117,101,49,0,4,27,0,0,0,85,73,84,97,98,108,101,86,105,101,119,67,101,108,108,83,116,121,108,101,86,97,108,117,101,50,0,4,29,0,0,0,85,73,84,97,98,108,101,86,105,101,119,67,101,108,108,83,116,121,108,101,83,117,98,116,105,116,108,101,0,4,29,0,0,0,85,73,84,97,98,108,101,86,105,101,119,67,101,108,108,65,99,99,101,115,115,111,114,121,78,111,110,101,0,4,44,0,0,0,85,73,84,97,98,108,101,86,105,101,119,67,101,108,108,65,99,99,101,115,115,111,114,121,68,105,115,99,108,111,115,117,114,101,73,110,100,105,99,97,116,111,114,0,4,47,0,0,0,85,73,84,97,98,108,101,86,105,101,119,67,101,108,108,65,99,99,101,115,115,111,114,121,68,101,116,97,105,108,68,105,115,99,108,111,115,117,114,101,66,117,116,116,111,110,0,4,34,0,0,0,85,73,84,97,98,108,101,86,105,101,119,67,101,108,108,65,99,99,101,115,115,111,114,121,67,104,101,99,107,109,97,114,107,0,4,39,0,0,0,85,73,65,99,116,105,118,105,116,121,73,110,100,105,99,97,116,111,114,86,105,101,119,83,116,121,108,101,87,104,105,116,101,76,97,114,103,101,0,4,34,0,0,0,85,73,65,99,116,105,118,105,116,121,73,110,100,105,99,97,116,111,114,86,105,101,119,83,116,121,108,101,87,104,105,116,101,0,4,33,0,0,0,85,73,65,99,116,105,118,105,116,121,73,110,100,105,99,97,116,111,114,86,105,101,119,83,116,121,108,101,71,114,97,121,0,4,22,0,0,0,85,73,84,97,98,108,101,86,105,101,119,83,116,121,108,101,80,108,97,105,110,0,4,24,0,0,0,85,73,84,97,98,108,101,86,105,101,119,83,116,121,108,101,71,114,111,117,112,101,100,0,4,21,0,0,0,85,73,67,111,110,116,114,111,108,83,116,97,116,101,78,111,114,109,97,108,0,4,26,0,0,0,85,73,67,111,110,116,114,111,108,83,116,97,116,101,72,105,103,104,108,105,103,104,116,101,100,0,4,23,0,0,0,85,73,67,111,110,116,114,111,108,83,116,97,116,101,68,105,115,97,98,108,101,100,0,4,23,0,0,0,85,73,67,111,110,116,114,111,108,83,116,97,116,101,83,101,108,101,99,116,101,100,0,4,26,0,0,0,85,73,67,111,110,116,114,111,108,83,116,97,116,101,65,112,112,108,105,99,97,116,105,111,110,0,3,0,0,0,0,0,-32,111,65,4,23,0,0,0,85,73,67,111,110,116,114,111,108,83,116,97,116,101,82,101,115,101,114,118,101,100,0,3,0,0,0,0,0,-32,-17,65,4,22,0,0,0,78,83,65,83,67,73,73,83,116,114,105,110,103,69,110,99,111,100,105,110,103,0,4,25,0,0,0,78,83,78,69,88,84,83,84,69,80,83,116,114,105,110,103,69,110,99,111,100,105,110,103,0,4,28,0,0,0,78,83,74,97,112,97,110,101,115,101,69,85,67,83,116,114,105,110,103,69,110,99,111,100,105,110,103,0,4,21,0,0,0,78,83,85,84,70,56,83,116,114,105,110,103,69,110,99,111,100,105,110,103,0,4,26,0,0,0,78,83,73,83,79,76,97,116,105,110,49,83,116,114,105,110,103,69,110,99,111,100,105,110,103,0,4,23,0,0,0,78,83,83,121,109,98,111,108,83,116,114,105,110,103,69,110,99,111,100,105,110,103,0,4,30,0,0,0,78,83,78,111,110,76,111,115,115,121,65,83,67,73,73,83,116,114,105,110,103,69,110,99,111,100,105,110,103,0,4,25,0,0,0,78,83,83,104,105,102,116,74,73,83,83,116,114,105,110,103,69,110,99,111,100,105,110,103,0,4,26,0,0,0,78,83,73,83,79,76,97,116,105,110,50,83,116,114,105,110,103,69,110,99,111,100,105,110,103,0,4,24,0,0,0,78,83,85,110,105,99,111,100,101,83,116,114,105,110,103,69,110,99,111,100,105,110,103,0,4,30,0,0,0,78,83,87,105,110,100,111,119,115,67,80,49,50,53,49,83,116,114,105,110,103,69,110,99,111,100,105,110,103,0,4,30,0,0,0,78,83,87,105,110,100,111,119,115,67,80,49,50,53,50,83,116,114,105,110,103,69,110,99,111,100,105,110,103,0,4,30,0,0,0,78,83,87,105,110,100,111,119,115,67,80,49,50,53,51,83,116,114,105,110,103,69,110,99,111,100,105,110,103,0,3,0,0,0,0,0,0,42,64,4,30,0,0,0,78,83,87,105,110,100,111,119,115,67,80,49,50,53,52,83,116,114,105,110,103,69,110,99,111,100,105,110,103,0,3,0,0,0,0,0,0,44,64,4,30,0,0,0,78,83,87,105,110,100,111,119,115,67,80,49,50,53,48,83,116,114,105,110,103,69,110,99,111,100,105,110,103,0,3,0,0,0,0,0,0,46,64,4,26,0,0,0,78,83,73,83,79,50,48,50,50,74,80,83,116,114,105,110,103,69,110,99,111,100,105,110,103,0,3,0,0,0,0,0,0,53,64,4,27,0,0,0,78,83,77,97,99,79,83,82,111,109,97,110,83,116,114,105,110,103,69,110,99,111,100,105,110,103,0,3,0,0,0,0,0,0,62,64,4,31,0,0,0,78,83,85,84,70,49,54,66,105,103,69,110,100,105,97,110,83,116,114,105,110,103,69,110,99,111,100,105,110,103,0,3,0,0,0,32,0,0,-30,65,4,34,0,0,0,78,83,85,84,70,49,54,76,105,116,116,108,101,69,110,100,105,97,110,83,116,114,105,110,103,69,110,99,111,100,105,110,103,0,3,0,0,0,32,0,-128,-30,65,4,22,0,0,0,78,83,85,84,70,51,50,83,116,114,105,110,103,69,110,99,111,100,105,110,103,0,3,0,0,0,32,0,-128,-31,65,4,31,0,0,0,78,83,85,84,70,51,50,66,105,103,69,110,100,105,97,110,83,116,114,105,110,103,69,110,99,111,100,105,110,103,0,3,0,0,0,32,0,0,-29,65,4,34,0,0,0,78,83,85,84,70,51,50,76,105,116,116,108,101,69,110,100,105,97,110,83,116,114,105,110,103,69,110,99,111,100,105,110,103,0,3,0,0,0,32,0,-128,-29,65,4,28,0,0,0,78,83,80,114,111,112,114,105,101,116,97,114,121,83,116,114,105,110,103,69,110,99,111,100,105,110,103,0,3,0,0,0,0,0,0,-16,64,4,20,0,0,0,85,73,84,101,120,116,65,108,105,103,110,109,101,110,116,76,101,102,116,0,4,22,0,0,0,85,73,84,101,120,116,65,108,105,103,110,109,101,110,116,67,101,110,116,101,114,0,4,21,0,0,0,85,73,84,101,120,116,65,108,105,103,110,109,101,110,116,82,105,103,104,116,0,4,36,0,0,0,85,73,77,111,100,97,108,84,114,97,110,115,105,116,105,111,110,83,116,121,108,101,67,111,118,101,114,86,101,114,116,105,99,97,108,0,4,37,0,0,0,85,73,77,111,100,97,108,84,114,97,110,115,105,116,105,111,110,83,116,121,108,101,70,108,105,112,72,111,114,105,122,111,110,116,97,108,0,4,36,0,0,0,85,73,77,111,100,97,108,84,114,97,110,115,105,116,105,111,110,83,116,121,108,101,67,114,111,115,115,68,105,115,115,111,108,118,101,0,4,22,0,0,0,85,73,75,101,121,98,111,97,114,100,84,121,112,101,68,101,102,97,117,108,116,0,4,27,0,0,0,85,73,75,101,121,98,111,97,114,100,84,121,112,101,65,83,67,73,73,67,97,112,97,98,108,101,0,4,36,0,0,0,85,73,75,101,121,98,111,97,114,100,84,121,112,101,78,117,109,98,101,114,115,65,110,100,80,117,110,99,116,117,97,116,105,111,110,0,4,18,0,0,0,85,73,75,101,121,98,111,97,114,100,84,121,112,101,85,82,76,0,4,24,0,0,0,85,73,75,101,121,98,111,97,114,100,84,121,112,101,78,117,109,98,101,114,80,97,100,0,4,23,0,0,0,85,73,75,101,121,98,111,97,114,100,84,121,112,101,80,104,111,110,101,80,97,100,0,4,27,0,0,0,85,73,75,101,121,98,111,97,114,100,84,121,112,101,78,97,109,101,80,104,111,110,101,80,97,100,0,4,27,0,0,0,85,73,75,101,121,98,111,97,114,100,84,121,112,101,69,109,97,105,108,65,100,100,114,101,115,115,0,4,23,0,0,0,85,73,75,101,121,98,111,97,114,100,84,121,112,101,65,108,112,104,97,98,101,116,0,4,19,0,0,0,85,73,82,101,116,117,114,110,75,101,121,68,101,102,97,117,108,116,0,4,14,0,0,0,85,73,82,101,116,117,114,110,75,101,121,71,111,0,4,18,0,0,0,85,73,82,101,116,117,114,110,75,101,121,71,111,111,103,108,101,0,4,16,0,0,0,85,73,82,101,116,117,114,110,75,101,121,74,111,105,110,0,4,16,0,0,0,85,73,82,101,116,117,114,110,75,101,121,78,101,120,116,0,4,17,0,0,0,85,73,82,101,116,117,114,110,75,101,121,82,111,117,116,101,0,4,18,0,0,0,85,73,82,101,116,117,114,110,75,101,121,83,101,97,114,99,104,0,4,16,0,0,0,85,73,82,101,116,117,114,110,75,101,121,83,101,110,100,0,4,17,0,0,0,85,73,82,101,116,117,114,110,75,101,121,89,97,104,111,111,0,4,16,0,0,0,85,73,82,101,116,117,114,110,75,101,121,68,111,110,101,0,4,25,0,0,0,85,73,82,101,116,117,114,110,75,101,121,69,109,101,114,103,101,110,99,121,67,97,108,108,0,4,24,0,0,0,85,73,67,111,110,116,114,111,108,69,118,101,110,116,84,111,117,99,104,68,111,119,110,0,4,5,0,0,0,109,97,116,104,0,4,4,0,0,0,112,111,119,0,4,30,0,0,0,85,73,67,111,110,116,114,111,108,69,118,101,110,116,84,111,117,99,104,68,111,119,110,82,101,112,101,97,116,0,4,30,0,0,0,85,73,67,111,110,116,114,111,108,69,118,101,110,116,84,111,117,99,104,68,114,97,103,73,110,115,105,100,101,0,4,31,0,0,0,85,73,67,111,110,116,114,111,108,69,118,101,110,116,84,111,117,99,104,68,114,97,103,79,117,116,115,105,100,101,0,4,29,0,0,0,85,73,67,111,110,116,114,111,108,69,118,101,110,116,84,111,117,99,104,68,114,97,103,69,110,116,101,114,0,4,28,0,0,0,85,73,67,111,110,116,114,111,108,69,118,101,110,116,84,111,117,99,104,68,114,97,103,69,120,105,116,0,4,28,0,0,0,85,73,67,111,110,116,114,111,108,69,118,101,110,116,84,111,117,99,104,85,112,73,110,115,105,100,101,0,4,29,0,0,0,85,73,67,111,110,116,114,111,108,69,118,101,110,116,84,111,117,99,104,85,112,79,117,116,115,105,100,101,0,4,26,0,0,0,85,73,67,111,110,116,114,111,108,69,118,101,110,116,84,111,117,99,104,67,97,110,99,101,108,0,4,27,0,0,0,85,73,67,111,110,116,114,111,108,69,118,101,110,116,86,97,108,117,101,67,104,97,110,103,101,100,0,4,30,0,0,0,85,73,67,111,110,116,114,111,108,69,118,101,110,116,69,100,105,116,105,110,103,68,105,100,66,101,103,105,110,0,3,0,0,0,0,0,0,48,64,4,29,0,0,0,85,73,67,111,110,116,114,111,108,69,118,101,110,116,69,100,105,116,105,110,103,67,104,97,110,103,101,100,0,3,0,0,0,0,0,0,49,64,4,28,0,0,0,85,73,67,111,110,116,114,111,108,69,118,101,110,116,69,100,105,116,105,110,103,68,105,100,69,110,100,0,3,0,0,0,0,0,0,50,64,4,34,0,0,0,85,73,67,111,110,116,114,111,108,69,118,101,110,116,69,100,105,116,105,110,103,68,105,100,69,110,100,79,110,69,120,105,116,0,3,0,0,0,0,0,0,51,64,4,29,0,0,0,85,73,67,111,110,116,114,111,108,69,118,101,110,116,65,108,108,84,111,117,99,104,69,118,101,110,116,115,0,3,0,0,0,0,0,-2,-81,64,4,31,0,0,0,85,73,67,111,110,116,114,111,108,69,118,101,110,116,65,108,108,69,100,105,116,105,110,103,69,118,101,110,116,115,0,3,0,0,0,0,0,0,46,65,4,34,0,0,0,85,73,67,111,110,116,114,111,108,69,118,101,110,116,65,112,112,108,105,99,97,116,105,111,110,82,101,115,101,114,118,101,100,0,3,0,0,0,0,0,0,-82,65,4,29,0,0,0,85,73,67,111,110,116,114,111,108,69,118,101,110,116,83,121,115,116,101,109,82,101,115,101,114,118,101,100,0,3,0,0,0,0,0,0,-18,65,4,24,0,0,0,85,73,67,111,110,116,114,111,108,69,118,101,110,116,65,108,108,69,118,101,110,116,115,0,3,0,0,-32,-1,-1,-1,-17,65,4,32,0,0,0,85,73,84,97,98,108,101,86,105,101,119,67,101,108,108,69,100,105,116,105,110,103,83,116,121,108,101,78,111,110,101,0,4,34,0,0,0,85,73,84,97,98,108,101,86,105,101,119,67,101,108,108,69,100,105,116,105,110,103,83,116,121,108,101,68,101,108,101,116,101,0,4,34,0,0,0,85,73,84,97,98,108,101,86,105,101,119,67,101,108,108,69,100,105,116,105,110,103,83,116,121,108,101,73,110,115,101,114,116,0,4,29,0,0,0,77,70,77,97,105,108,67,111,109,112,111,115,101,82,101,115,117,108,116,67,97,110,99,101,108,108,101,100,0,4,25,0,0,0,77,70,77,97,105,108,67,111,109,112,111,115,101,82,101,115,117,108,116,83,97,118,101,100,0,4,24,0,0,0,77,70,77,97,105,108,67,111,109,112,111,115,101,82,101,115,117,108,116,83,101,110,116,0,4,26,0,0,0,77,70,77,97,105,108,67,111,109,112,111,115,101,82,101,115,117,108,116,70,97,105,108,101,100,0,4,26,0,0,0,85,73,66,97,114,66,117,116,116,111,110,83,121,115,116,101,109,73,116,101,109,68,111,110,101,0,4,28,0,0,0,85,73,66,97,114,66,117,116,116,111,110,83,121,115,116,101,109,73,116,101,109,67,97,110,99,101,108,0,4,26,0,0,0,85,73,66,97,114,66,117,116,116,111,110,83,121,115,116,101,109,73,116,101,109,69,100,105,116,0,4,26,0,0,0,85,73,66,97,114,66,117,116,116,111,110,83,121,115,116,101,109,73,116,101,109,83,97,118,101,0,4,25,0,0,0,85,73,66,97,114,66,117,116,116,111,110,83,121,115,116,101,109,73,116,101,109,65,100,100,0,4,35,0,0,0,85,73,66,97,114,66,117,116,116,111,110,83,121,115,116,101,109,73,116,101,109,70,108,101,120,105,98,108,101,83,112,97,99,101,0,4,32,0,0,0,85,73,66,97,114,66,117,116,116,111,110,83,121,115,116,101,109,73,116,101,109,70,105,120,101,100,83,112,97,99,101,0,4,29,0,0,0,85,73,66,97,114,66,117,116,116,111,110,83,121,115,116,101,109,73,116,101,109,67,111,109,112,111,115,101,0,4,27,0,0,0,85,73,66,97,114,66,117,116,116,111,110,83,121,115,116,101,109,73,116,101,109,82,101,112,108,121,0,4,28,0,0,0,85,73,66,97,114,66,117,116,116,111,110,83,121,115,116,101,109,73,116,101,109,65,99,116,105,111,110,0,4,30,0,0,0,85,73,66,97,114,66,117,116,116,111,110,83,121,115,116,101,109,73,116,101,109,79,114,103,97,110,105,122,101,0,4,31,0,0,0,85,73,66,97,114,66,117,116,116,111,110,83,121,115,116,101,109,73,116,101,109,66,111,111,107,109,97,114,107,115,0,4,28,0,0,0,85,73,66,97,114,66,117,116,116,111,110,83,121,115,116,101,109,73,116,101,109,83,101,97,114,99,104,0,4,29,0,0,0,85,73,66,97,114,66,117,116,116,111,110,83,121,115,116,101,109,73,116,101,109,82,101,102,114,101,115,104,0,4,26,0,0,0,85,73,66,97,114,66,117,116,116,111,110,83,121,115,116,101,109,73,116,101,109,83,116,111,112,0,4,28,0,0,0,85,73,66,97,114,66,117,116,116,111,110,83,121,115,116,101,109,73,116,101,109,67,97,109,101,114,97,0,4,27,0,0,0,85,73,66,97,114,66,117,116,116,111,110,83,121,115,116,101,109,73,116,101,109,84,114,97,115,104,0,4,26,0,0,0,85,73,66,97,114,66,117,116,116,111,110,83,121,115,116,101,109,73,116,101,109,80,108,97,121,0,4,27,0,0,0,85,73,66,97,114,66,117,116,116,111,110,83,121,115,116,101,109,73,116,101,109,80,97,117,115,101,0,4,28,0,0,0,85,73,66,97,114,66,117,116,116,111,110,83,121,115,116,101,109,73,116,101,109,82,101,119,105,110,100,0,4,33,0,0,0,85,73,66,97,114,66,117,116,116,111,110,83,121,115,116,101,109,73,116,101,109,70,97,115,116,70,111,114,119,97,114,100,0,3,0,0,0,0,0,0,52,64,4,26,0,0,0,85,73,66,97,114,66,117,116,116,111,110,83,121,115,116,101,109,73,116,101,109,85,110,100,111,0,4,26,0,0,0,85,73,66,97,114,66,117,116,116,111,110,83,121,115,116,101,109,73,116,101,109,82,101,100,111,0,3,0,0,0,0,0,0,54,64,4,22,0,0,0,85,73,84,101,120,116,66,111,114,100,101,114,83,116,121,108,101,78,111,110,101,0,4,22,0,0,0,85,73,84,101,120,116,66,111,114,100,101,114,83,116,121,108,101,76,105,110,101,0,4,23,0,0,0,85,73,84,101,120,116,66,111,114,100,101,114,83,116,121,108,101,66,101,122,101,108,0,4,29,0,0,0,85,73,84,101,120,116,66,111,114,100,101,114,83,116,121,108,101,82,111,117,110,100,101,100,82,101,99,116,0,4,30,0,0,0,85,73,84,97,98,108,101,86,105,101,119,83,99,114,111,108,108,80,111,115,105,116,105,111,110,78,111,110,101,0,4,29,0,0,0,85,73,84,97,98,108,101,86,105,101,119,83,99,114,111,108,108,80,111,115,105,116,105,111,110,84,111,112,0,4,32,0,0,0,85,73,84,97,98,108,101,86,105,101,119,83,99,114,111,108,108,80,111,115,105,116,105,111,110,77,105,100,100,108,101,0,4,32,0,0,0,85,73,84,97,98,108,101,86,105,101,119,83,99,114,111,108,108,80,111,115,105,116,105,111,110,66,111,116,116,111,109,0,4,28,0,0,0,85,73,75,101,121,98,111,97,114,100,65,112,112,101,97,114,97,110,99,101,68,101,102,97,117,108,116,0,4,26,0,0,0,85,73,75,101,121,98,111,97,114,100,65,112,112,101,97,114,97,110,99,101,65,108,101,114,116,0,4,25,0,0,0,85,73,84,101,120,116,70,105,101,108,100,86,105,101,119,77,111,100,101,78,101,118,101,114,0,4,32,0,0,0,85,73,84,101,120,116,70,105,101,108,100,86,105,101,119,77,111,100,101,87,104,105,108,101,69,100,105,116,105,110,103,0,4,33,0,0,0,85,73,84,101,120,116,70,105,101,108,100,86,105,101,119,77,111,100,101,85,110,108,101,115,115,69,100,105,116,105,110,103,0,4,26,0,0,0,85,73,84,101,120,116,70,105,101,108,100,86,105,101,119,77,111,100,101,65,108,119,97,121,115,0,4,32,0,0,0,85,73,84,101,120,116,65,117,116,111,99,111,114,114,101,99,116,105,111,110,84,121,112,101,68,101,102,97,117,108,116,0,4,27,0,0,0,85,73,84,101,120,116,65,117,116,111,99,111,114,114,101,99,116,105,111,110,84,121,112,101,78,111,0,4,28,0,0,0,85,73,84,101,120,116,65,117,116,111,99,111,114,114,101,99,116,105,111,110,84,121,112,101,89,101,115,0,4,18,0,0,0,85,73,66,97,114,83,116,121,108,101,68,101,102,97,117,108,116,0,4,16,0,0,0,85,73,66,97,114,83,116,121,108,101,66,108,97,99,107,0,4,22,0,0,0,85,73,66,97,114,83,116,121,108,101,66,108,97,99,107,79,112,97,113,117,101,0,4,27,0,0,0,85,73,66,97,114,83,116,121,108,101,66,108,97,99,107,84,114,97,110,115,108,117,99,101,110,116,0,4,35,0,0,0,78,83,85,82,76,82,101,113,117,101,115,116,85,115,101,80,114,111,116,111,99,111,108,67,97,99,104,101,80,111,108,105,99,121,0,4,41,0,0,0,78,83,85,82,76,82,101,113,117,101,115,116,82,101,108,111,97,100,73,103,110,111,114,105,110,103,76,111,99,97,108,67,97,99,104,101,68,97,116,97,0,4,50,0,0,0,78,83,85,82,76,82,101,113,117,101,115,116,82,101,108,111,97,100,73,103,110,111,114,105,110,103,76,111,99,97,108,65,110,100,82,101,109,111,116,101,67,97,99,104,101,68,97,116,97,0,4,36,0,0,0,78,83,85,82,76,82,101,113,117,101,115,116,82,101,108,111,97,100,73,103,110,111,114,105,110,103,67,97,99,104,101,68,97,116,97,0,4,36,0,0,0,78,83,85,82,76,82,101,113,117,101,115,116,82,101,116,117,114,110,67,97,99,104,101,68,97,116,97,69,108,115,101,76,111,97,100,0,4,36,0,0,0,78,83,85,82,76,82,101,113,117,101,115,116,82,101,116,117,114,110,67,97,99,104,101,68,97,116,97,68,111,110,116,76,111,97,100,0,4,40,0,0,0,78,83,85,82,76,82,101,113,117,101,115,116,82,101,108,111,97,100,82,101,118,97,108,105,100,97,116,105,110,103,67,97,99,104,101,68,97,116,97,0,4,29,0,0,0,85,73,83,101,103,109,101,110,116,101,100,67,111,110,116,114,111,108,83,116,121,108,101,80,108,97,105,110,0,4,32,0,0,0,85,73,83,101,103,109,101,110,116,101,100,67,111,110,116,114,111,108,83,116,121,108,101,66,111,114,100,101,114,101,100,0,4,27,0,0,0,85,73,83,101,103,109,101,110,116,101,100,67,111,110,116,114,111,108,83,116,121,108,101,66,97,114,0,4,29,0,0,0,85,73,82,101,109,111,116,101,78,111,116,105,102,105,99,97,116,105,111,110,84,121,112,101,78,111,110,101,0,4,30,0,0,0,85,73,82,101,109,111,116,101,78,111,116,105,102,105,99,97,116,105,111,110,84,121,112,101,66,97,100,103,101,0,4,30,0,0,0,85,73,82,101,109,111,116,101,78,111,116,105,102,105,99,97,116,105,111,110,84,121,112,101,83,111,117,110,100,0,4,30,0,0,0,85,73,82,101,109,111,116,101,78,111,116,105,102,105,99,97,116,105,111,110,84,121,112,101,65,108,101,114,116,0,4,31,0,0,0,78,83,85,82,76,67,114,101,100,101,110,116,105,97,108,80,101,114,115,105,115,116,101,110,99,101,78,111,110,101,0,4,37,0,0,0,78,83,85,82,76,67,114,101,100,101,110,116,105,97,108,80,101,114,115,105,115,116,101,110,99,101,70,111,114,83,101,115,115,105,111,110,0,4,36,0,0,0,78,83,85,82,76,67,114,101,100,101,110,116,105,97,108,80,101,114,115,105,115,116,101,110,99,101,80,101,114,109,97,110,101,110,116,0,4,27,0,0,0,85,73,68,101,118,105,99,101,79,114,105,101,110,116,97,116,105,111,110,85,110,107,110,111,119,110,0,4,28,0,0,0,85,73,68,101,118,105,99,101,79,114,105,101,110,116,97,116,105,111,110,80,111,114,116,114,97,105,116,0,4,38,0,0,0,85,73,68,101,118,105,99,101,79,114,105,101,110,116,97,116,105,111,110,80,111,114,116,114,97,105,116,85,112,115,105,100,101,68,111,119,110,0,4,33,0,0,0,85,73,68,101,118,105,99,101,79,114,105,101,110,116,97,116,105,111,110,76,97,110,100,115,99,97,112,101,76,101,102,116,0,4,34,0,0,0,85,73,68,101,118,105,99,101,79,114,105,101,110,116,97,116,105,111,110,76,97,110,100,115,99,97,112,101,82,105,103,104,116,0,4,26,0,0,0,85,73,68,101,118,105,99,101,79,114,105,101,110,116,97,116,105,111,110,70,97,99,101,85,112,0,4,28,0,0,0,85,73,68,101,118,105,99,101,79,114,105,101,110,116,97,116,105,111,110,70,97,99,101,68,111,119,110,0,4,31,0,0,0,85,73,73,110,116,101,114,102,97,99,101,79,114,105,101,110,116,97,116,105,111,110,80,111,114,116,114,97,105,116,0,4,41,0,0,0,85,73,73,110,116,101,114,102,97,99,101,79,114,105,101,110,116,97,116,105,111,110,80,111,114,116,114,97,105,116,85,112,115,105,100,101,68,111,119,110,0,4,36,0,0,0,85,73,73,110,116,101,114,102,97,99,101,79,114,105,101,110,116,97,116,105,111,110,76,97,110,100,115,99,97,112,101,76,101,102,116,0,4,37,0,0,0,85,73,73,110,116,101,114,102,97,99,101,79,114,105,101,110,116,97,116,105,111,110,76,97,110,100,115,99,97,112,101,82,105,103,104,116,0,4,30,0,0,0,85,73,86,105,101,119,65,110,105,109,97,116,105,111,110,67,117,114,118,101,69,97,115,101,73,110,79,117,116,0,4,27,0,0,0,85,73,86,105,101,119,65,110,105,109,97,116,105,111,110,67,117,114,118,101,69,97,115,101,73,110,0,4,28,0,0,0,85,73,86,105,101,119,65,110,105,109,97,116,105,111,110,67,117,114,118,101,69,97,115,101,79,117,116,0,4,27,0,0,0,85,73,86,105,101,119,65,110,105,109,97,116,105,111,110,67,117,114,118,101,76,105,110,101,97,114,0,4,28,0,0,0,85,73,84,97,98,108,101,86,105,101,119,82,111,119,65,110,105,109,97,116,105,111,110,70,97,100,101,0,4,29,0,0,0,85,73,84,97,98,108,101,86,105,101,119,82,111,119,65,110,105,109,97,116,105,111,110,82,105,103,104,116,0,4,28,0,0,0,85,73,84,97,98,108,101,86,105,101,119,82,111,119,65,110,105,109,97,116,105,111,110,76,101,102,116,0,4,27,0,0,0,85,73,84,97,98,108,101,86,105,101,119,82,111,119,65,110,105,109,97,116,105,111,110,84,111,112,0,4,30,0,0,0,85,73,84,97,98,108,101,86,105,101,119,82,111,119,65,110,105,109,97,116,105,111,110,66,111,116,116,111,109,0,4,28,0,0,0,85,73,84,97,98,108,101,86,105,101,119,82,111,119,65,110,105,109,97,116,105,111,110,78,111,110,101,0,4,30,0,0,0,85,73,84,97,98,108,101,86,105,101,119,82,111,119,65,110,105,109,97,116,105,111,110,77,105,100,100,108,101,0,4,30,0,0,0,85,73,86,105,101,119,65,110,105,109,97,116,105,111,110,84,114,97,110,115,105,116,105,111,110,78,111,110,101,0,4,38,0,0,0,85,73,86,105,101,119,65,110,105,109,97,116,105,111,110,84,114,97,110,115,105,116,105,111,110,70,108,105,112,70,114,111,109,76,101,102,116,0,4,39,0,0,0,85,73,86,105,101,119,65,110,105,109,97,116,105,111,110,84,114,97,110,115,105,116,105,111,110,70,108,105,112,70,114,111,109,82,105,103,104,116,0,4,32,0,0,0,85,73,86,105,101,119,65,110,105,109,97,116,105,111,110,84,114,97,110,115,105,116,105,111,110,67,117,114,108,85,112,0,4,34,0,0,0,85,73,86,105,101,119,65,110,105,109,97,116,105,111,110,84,114,97,110,115,105,116,105,111,110,67,117,114,108,68,111,119,110,0,4,23,0,0,0,85,73,86,105,101,119,65,117,116,111,114,101,115,105,122,105,110,103,78,111,110,101,0,4,37,0,0,0,85,73,86,105,101,119,65,117,116,111,114,101,115,105,122,105,110,103,70,108,101,120,105,98,108,101,76,101,102,116,77,97,114,103,105,110,0,4,32,0,0,0,85,73,86,105,101,119,65,117,116,111,114,101,115,105,122,105,110,103,70,108,101,120,105,98,108,101,87,105,100,116,104,0,4,38,0,0,0,85,73,86,105,101,119,65,117,116,111,114,101,115,105,122,105,110,103,70,108,101,120,105,98,108,101,82,105,103,104,116,77,97,114,103,105,110,0,4,36,0,0,0,85,73,86,105,101,119,65,117,116,111,114,101,115,105,122,105,110,103,70,108,101,120,105,98,108,101,84,111,112,77,97,114,103,105,110,0,4,33,0,0,0,85,73,86,105,101,119,65,117,116,111,114,101,115,105,122,105,110,103,70,108,101,120,105,98,108,101,72,101,105,103,104,116,0,4,39,0,0,0,85,73,86,105,101,119,65,117,116,111,114,101,115,105,122,105,110,103,70,108,101,120,105,98,108,101,66,111,116,116,111,109,77,97,114,103,105,110,0,4,35,0,0,0,85,73,87,101,98,86,105,101,119,78,97,118,105,103,97,116,105,111,110,84,121,112,101,76,105,110,107,67,108,105,99,107,101,100,0,4,37,0,0,0,85,73,87,101,98,86,105,101,119,78,97,118,105,103,97,116,105,111,110,84,121,112,101,70,111,114,109,83,117,98,109,105,116,116,101,100,0,4,35,0,0,0,85,73,87,101,98,86,105,101,119,78,97,118,105,103,97,116,105,111,110,84,121,112,101,66,97,99,107,70,111,114,119,97,114,100,0,4,30,0,0,0,85,73,87,101,98,86,105,101,119,78,97,118,105,103,97,116,105,111,110,84,121,112,101,82,101,108,111,97,100,0,4,39,0,0,0,85,73,87,101,98,86,105,101,119,78,97,118,105,103,97,116,105,111,110,84,121,112,101,70,111,114,109,82,101,115,117,98,109,105,116,116,101,100,0,4,29,0,0,0,85,73,87,101,98,86,105,101,119,78,97,118,105,103,97,116,105,111,110,84,121,112,101,79,116,104,101,114,0,4,31,0,0,0,78,83,72,84,84,80,67,111,111,107,105,101,65,99,99,101,112,116,80,111,108,105,99,121,65,108,119,97,121,115,0,4,30,0,0,0,78,83,72,84,84,80,67,111,111,107,105,101,65,99,99,101,112,116,80,111,108,105,99,121,78,101,118,101,114,0,4,51,0,0,0,78,83,72,84,84,80,67,111,111,107,105,101,65,99,99,101,112,116,80,111,108,105,99,121,79,110,108,121,70,114,111,109,77,97,105,110,68,111,99,117,109,101,110,116,68,111,109,97,105,110,0,4,36,0,0,0,83,75,80,97,121,109,101,110,116,84,114,97,110,115,97,99,116,105,111,110,83,116,97,116,101,80,117,114,99,104,97,115,105,110,103,0,4,35,0,0,0,83,75,80,97,121,109,101,110,116,84,114,97,110,115,97,99,116,105,111,110,83,116,97,116,101,80,117,114,99,104,97,115,101,100,0,4,32,0,0,0,83,75,80,97,121,109,101,110,116,84,114,97,110,115,97,99,116,105,111,110,83,116,97,116,101,70,97,105,108,101,100,0,4,34,0,0,0,83,75,80,97,121,109,101,110,116,84,114,97,110,115,97,99,116,105,111,110,83,116,97,116,101,82,101,115,116,111,114,101,100,0,4,15,0,0,0,83,75,69,114,114,111,114,85,110,107,110,111,119,110,0,4,21,0,0,0,83,75,69,114,114,111,114,67,108,105,101,110,116,73,110,118,97,108,105,100,0,4,24,0,0,0,83,75,69,114,114,111,114,80,97,121,109,101,110,116,67,97,110,99,101,108,108,101,100,0,4,22,0,0,0,83,75,69,114,114,111,114,80,97,121,109,101,110,116,73,110,118,97,108,105,100,0,4,25,0,0,0,83,75,69,114,114,111,114,80,97,121,109,101,110,116,78,111,116,65,108,108,111,119,101,100,0,4,24,0,0,0,85,73,83,116,97,116,117,115,66,97,114,83,116,121,108,101,68,101,102,97,117,108,116,0,4,33,0,0,0,85,73,83,116,97,116,117,115,66,97,114,83,116,121,108,101,66,108,97,99,107,84,114,97,110,115,108,117,99,101,110,116,0,4,28,0,0,0,85,73,83,116,97,116,117,115,66,97,114,83,116,121,108,101,66,108,97,99,107,79,112,97,113,117,101,0,4,42,0,0,0,85,73,67,111,110,116,114,111,108,67,111,110,116,101,110,116,72,111,114,105,122,111,110,116,97,108,65,108,105,103,110,109,101,110,116,67,101,110,116,101,114,0,4,40,0,0,0,85,73,67,111,110,116,114,111,108,67,111,110,116,101,110,116,72,111,114,105,122,111,110,116,97,108,65,108,105,103,110,109,101,110,116,76,101,102,116,0,4,41,0,0,0,85,73,67,111,110,116,114,111,108,67,111,110,116,101,110,116,72,111,114,105,122,111,110,116,97,108,65,108,105,103,110,109,101,110,116,82,105,103,104,116,0,4,40,0,0,0,85,73,67,111,110,116,114,111,108,67,111,110,116,101,110,116,72,111,114,105,122,111,110,116,97,108,65,108,105,103,110,109,101,110,116,70,105,108,108,0,4,21,0,0,0,71,75,80,101,101,114,83,116,97,116,101,65,118,97,105,108,97,98,108,101,0,4,23,0,0,0,71,75,80,101,101,114,83,116,97,116,101,85,110,97,118,97,105,108,97,98,108,101,0,4,21,0,0,0,71,75,80,101,101,114,83,116,97,116,101,67,111,110,110,101,99,116,101,100,0,4,24,0,0,0,71,75,80,101,101,114,83,116,97,116,101,68,105,115,99,111,110,110,101,99,116,101,100,0,4,22,0,0,0,71,75,80,101,101,114,83,116,97,116,101,67,111,110,110,101,99,116,105,110,103,0,4,20,0,0,0,71,75,83,101,115,115,105,111,110,77,111,100,101,83,101,114,118,101,114,0,4,20,0,0,0,71,75,83,101,115,115,105,111,110,77,111,100,101,67,108,105,101,110,116,0,4,18,0,0,0,71,75,83,101,115,115,105,111,110,77,111,100,101,80,101,101,114,0,4,19,0,0,0,71,75,83,101,110,100,68,97,116,97,82,101,108,105,97,98,108,101,0,4,21,0,0,0,71,75,83,101,110,100,68,97,116,97,85,110,114,101,108,105,97,98,108,101,0,4,46,0,0,0,85,73,73,109,97,103,101,80,105,99,107,101,114,67,111,110,116,114,111,108,108,101,114,83,111,117,114,99,101,84,121,112,101,80,104,111,116,111,76,105,98,114,97,114,121,0,4,40,0,0,0,85,73,73,109,97,103,101,80,105,99,107,101,114,67,111,110,116,114,111,108,108,101,114,83,111,117,114,99,101,84,121,112,101,67,97,109,101,114,97,0,4,50,0,0,0,85,73,73,109,97,103,101,80,105,99,107,101,114,67,111,110,116,114,111,108,108,101,114,83,111,117,114,99,101,84,121,112,101,83,97,118,101,100,80,104,111,116,111,115,65,108,98,117,109,0,4,19,0,0,0,78,83,79,114,100,101,114,101,100,65,115,99,101,110,100,105,110,103,0,3,0,0,0,0,0,0,-16,-65,4,14,0,0,0,78,83,79,114,100,101,114,101,100,83,97,109,101,0,4,20,0,0,0,78,83,79,114,100,101,114,101,100,68,101,115,99,101,110,100,105,110,103,0,4,34,0,0,0,85,73,84,97,98,108,101,86,105,101,119,67,101,108,108,83,101,112,97,114,97,116,111,114,83,116,121,108,101,78,111,110,101,0,4,40,0,0,0,85,73,84,97,98,108,101,86,105,101,119,67,101,108,108,83,101,112,97,114,97,116,111,114,83,116,121,108,101,83,105,110,103,108,101,76,105,110,101,0,4,46,0,0,0,85,73,84,97,98,108,101,86,105,101,119,67,101,108,108,83,101,112,97,114,97,116,111,114,83,116,121,108,101,83,105,110,103,108,101,76,105,110,101,69,116,99,104,101,100,0,4,36,0,0,0,107,67,76,65,117,116,104,111,114,105,122,97,116,105,111,110,83,116,97,116,117,115,78,111,116,68,101,116,101,114,109,105,110,101,100,0,4,33,0,0,0,107,67,76,65,117,116,104,111,114,105,122,97,116,105,111,110,83,116,97,116,117,115,82,101,115,116,114,105,99,116,101,100,0,4,29,0,0,0,107,67,76,65,117,116,104,111,114,105,122,97,116,105,111,110,83,116,97,116,117,115,68,101,110,105,101,100,0,4,33,0,0,0,107,67,76,65,117,116,104,111,114,105,122,97,116,105,111,110,83,116,97,116,117,115,65,117,116,104,111,114,105,122,101,100,0,4,39,0,0,0,85,73,83,119,105,112,101,71,101,115,116,117,114,101,82,101,99,111,103,110,105,122,101,114,68,105,114,101,99,116,105,111,110,82,105,103,104,116,0,4,38,0,0,0,85,73,83,119,105,112,101,71,101,115,116,117,114,101,82,101,99,111,103,110,105,122,101,114,68,105,114,101,99,116,105,111,110,76,101,102,116,0,4,36,0,0,0,85,73,83,119,105,112,101,71,101,115,116,117,114,101,82,101,99,111,103,110,105,122,101,114,68,105,114,101,99,116,105,111,110,85,112,0,4,38,0,0,0,85,73,83,119,105,112,101,71,101,115,116,117,114,101,82,101,99,111,103,110,105,122,101,114,68,105,114,101,99,116,105,111,110,68,111,119,110,0,4,40,0,0,0,85,73,67,111,110,116,114,111,108,67,111,110,116,101,110,116,86,101,114,116,105,99,97,108,65,108,105,103,110,109,101,110,116,67,101,110,116,101,114,0,4,37,0,0,0,85,73,67,111,110,116,114,111,108,67,111,110,116,101,110,116,86,101,114,116,105,99,97,108,65,108,105,103,110,109,101,110,116,84,111,112,0,4,40,0,0,0,85,73,67,111,110,116,114,111,108,67,111,110,116,101,110,116,86,101,114,116,105,99,97,108,65,108,105,103,110,109,101,110,116,66,111,116,116,111,109,0,4,38,0,0,0,85,73,67,111,110,116,114,111,108,67,111,110,116,101,110,116,86,101,114,116,105,99,97,108,65,108,105,103,110,109,101,110,116,70,105,108,108,0,4,19,0,0,0,85,73,69,118,101,110,116,84,121,112,101,84,111,117,99,104,101,115,0,4,18,0,0,0,85,73,69,118,101,110,116,84,121,112,101,77,111,116,105,111,110,0,4,25,0,0,0,85,73,69,118,101,110,116,84,121,112,101,82,101,109,111,116,101,67,111,110,116,114,111,108,0,0,0,0,0,-81,2,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,22,0,0,0,22,0,0,0,23,0,0,0,23,0,0,0,24,0,0,0,24,0,0,0,25,0,0,0,25,0,0,0,26,0,0,0,26,0,0,0,27,0,0,0,27,0,0,0,29,0,0,0,29,0,0,0,30,0,0,0,30,0,0,0,31,0,0,0,31,0,0,0,32,0,0,0,32,0,0,0,33,0,0,0,33,0,0,0,34,0,0,0,34,0,0,0,37,0,0,0,37,0,0,0,38,0,0,0,38,0,0,0,39,0,0,0,39,0,0,0,42,0,0,0,42,0,0,0,43,0,0,0,43,0,0,0,44,0,0,0,44,0,0,0,45,0,0,0,45,0,0,0,48,0,0,0,48,0,0,0,49,0,0,0,49,0,0,0,50,0,0,0,50,0,0,0,51,0,0,0,51,0,0,0,54,0,0,0,54,0,0,0,55,0,0,0,55,0,0,0,56,0,0,0,56,0,0,0,59,0,0,0,59,0,0,0,60,0,0,0,60,0,0,0,63,0,0,0,63,0,0,0,64,0,0,0,64,0,0,0,65,0,0,0,65,0,0,0,66,0,0,0,66,0,0,0,67,0,0,0,67,0,0,0,68,0,0,0,68,0,0,0,71,0,0,0,71,0,0,0,72,0,0,0,72,0,0,0,73,0,0,0,73,0,0,0,74,0,0,0,74,0,0,0,75,0,0,0,75,0,0,0,76,0,0,0,76,0,0,0,77,0,0,0,77,0,0,0,78,0,0,0,78,0,0,0,79,0,0,0,79,0,0,0,80,0,0,0,80,0,0,0,81,0,0,0,81,0,0,0,82,0,0,0,82,0,0,0,83,0,0,0,83,0,0,0,84,0,0,0,84,0,0,0,85,0,0,0,85,0,0,0,86,0,0,0,86,0,0,0,87,0,0,0,87,0,0,0,88,0,0,0,88,0,0,0,89,0,0,0,89,0,0,0,90,0,0,0,90,0,0,0,91,0,0,0,91,0,0,0,92,0,0,0,92,0,0,0,93,0,0,0,93,0,0,0,96,0,0,0,96,0,0,0,97,0,0,0,97,0,0,0,98,0,0,0,98,0,0,0,101,0,0,0,101,0,0,0,102,0,0,0,102,0,0,0,103,0,0,0,103,0,0,0,104,0,0,0,104,0,0,0,105,0,0,0,105,0,0,0,106,0,0,0,106,0,0,0,109,0,0,0,109,0,0,0,110,0,0,0,110,0,0,0,111,0,0,0,111,0,0,0,114,0,0,0,114,0,0,0,115,0,0,0,115,0,0,0,116,0,0,0,116,0,0,0,117,0,0,0,117,0,0,0,118,0,0,0,118,0,0,0,119,0,0,0,119,0,0,0,120,0,0,0,120,0,0,0,121,0,0,0,121,0,0,0,122,0,0,0,122,0,0,0,125,0,0,0,125,0,0,0,126,0,0,0,126,0,0,0,127,0,0,0,127,0,0,0,-128,0,0,0,-128,0,0,0,-127,0,0,0,-127,0,0,0,-126,0,0,0,-126,0,0,0,-125,0,0,0,-125,0,0,0,-124,0,0,0,-124,0,0,0,-123,0,0,0,-123,0,0,0,-122,0,0,0,-122,0,0,0,-121,0,0,0,-121,0,0,0,-118,0,0,0,-118,0,0,0,-118,0,0,0,-118,0,0,0,-118,0,0,0,-118,0,0,0,-117,0,0,0,-117,0,0,0,-117,0,0,0,-117,0,0,0,-117,0,0,0,-117,0,0,0,-116,0,0,0,-116,0,0,0,-116,0,0,0,-116,0,0,0,-116,0,0,0,-116,0,0,0,-115,0,0,0,-115,0,0,0,-115,0,0,0,-115,0,0,0,-115,0,0,0,-115,0,0,0,-114,0,0,0,-114,0,0,0,-114,0,0,0,-114,0,0,0,-114,0,0,0,-114,0,0,0,-113,0,0,0,-113,0,0,0,-113,0,0,0,-113,0,0,0,-113,0,0,0,-113,0,0,0,-112,0,0,0,-112,0,0,0,-112,0,0,0,-112,0,0,0,-112,0,0,0,-112,0,0,0,-111,0,0,0,-111,0,0,0,-111,0,0,0,-111,0,0,0,-111,0,0,0,-111,0,0,0,-110,0,0,0,-110,0,0,0,-110,0,0,0,-110,0,0,0,-110,0,0,0,-110,0,0,0,-109,0,0,0,-109,0,0,0,-109,0,0,0,-109,0,0,0,-109,0,0,0,-109,0,0,0,-108,0,0,0,-108,0,0,0,-108,0,0,0,-108,0,0,0,-108,0,0,0,-108,0,0,0,-107,0,0,0,-107,0,0,0,-107,0,0,0,-107,0,0,0,-107,0,0,0,-107,0,0,0,-106,0,0,0,-106,0,0,0,-106,0,0,0,-106,0,0,0,-106,0,0,0,-106,0,0,0,-105,0,0,0,-105,0,0,0,-105,0,0,0,-105,0,0,0,-105,0,0,0,-105,0,0,0,-104,0,0,0,-104,0,0,0,-103,0,0,0,-103,0,0,0,-102,0,0,0,-102,0,0,0,-101,0,0,0,-101,0,0,0,-100,0,0,0,-100,0,0,0,-97,0,0,0,-97,0,0,0,-96,0,0,0,-96,0,0,0,-95,0,0,0,-95,0,0,0,-92,0,0,0,-92,0,0,0,-91,0,0,0,-91,0,0,0,-90,0,0,0,-90,0,0,0,-89,0,0,0,-89,0,0,0,-86,0,0,0,-86,0,0,0,-85,0,0,0,-85,0,0,0,-84,0,0,0,-84,0,0,0,-83,0,0,0,-83,0,0,0,-82,0,0,0,-82,0,0,0,-81,0,0,0,-81,0,0,0,-80,0,0,0,-80,0,0,0,-79,0,0,0,-79,0,0,0,-78,0,0,0,-78,0,0,0,-77,0,0,0,-77,0,0,0,-76,0,0,0,-76,0,0,0,-75,0,0,0,-75,0,0,0,-74,0,0,0,-74,0,0,0,-73,0,0,0,-73,0,0,0,-72,0,0,0,-72,0,0,0,-71,0,0,0,-71,0,0,0,-70,0,0,0,-70,0,0,0,-69,0,0,0,-69,0,0,0,-68,0,0,0,-68,0,0,0,-67,0,0,0,-67,0,0,0,-66,0,0,0,-66,0,0,0,-65,0,0,0,-65,0,0,0,-64,0,0,0,-64,0,0,0,-61,0,0,0,-61,0,0,0,-60,0,0,0,-60,0,0,0,-59,0,0,0,-59,0,0,0,-58,0,0,0,-58,0,0,0,-54,0,0,0,-54,0,0,0,-53,0,0,0,-53,0,0,0,-52,0,0,0,-52,0,0,0,-51,0,0,0,-51,0,0,0,-48,0,0,0,-48,0,0,0,-47,0,0,0,-47,0,0,0,-44,0,0,0,-44,0,0,0,-43,0,0,0,-43,0,0,0,-42,0,0,0,-42,0,0,0,-41,0,0,0,-41,0,0,0,-38,0,0,0,-38,0,0,0,-37,0,0,0,-37,0,0,0,-36,0,0,0,-36,0,0,0,-33,0,0,0,-33,0,0,0,-32,0,0,0,-32,0,0,0,-31,0,0,0,-31,0,0,0,-30,0,0,0,-30,0,0,0,-26,0,0,0,-26,0,0,0,-25,0,0,0,-25,0,0,0,-24,0,0,0,-24,0,0,0,-23,0,0,0,-23,0,0,0,-22,0,0,0,-22,0,0,0,-21,0,0,0,-21,0,0,0,-20,0,0,0,-20,0,0,0,-17,0,0,0,-17,0,0,0,-16,0,0,0,-16,0,0,0,-15,0,0,0,-15,0,0,0,-12,0,0,0,-12,0,0,0,-11,0,0,0,-11,0,0,0,-11,0,0,0,-11,0,0,0,-11,0,0,0,-11,0,0,0,-10,0,0,0,-10,0,0,0,-10,0,0,0,-10,0,0,0,-10,0,0,0,-10,0,0,0,-9,0,0,0,-9,0,0,0,-9,0,0,0,-9,0,0,0,-9,0,0,0,-9,0,0,0,-6,0,0,0,-6,0,0,0,-5,0,0,0,-5,0,0,0,-4,0,0,0,-4,0,0,0,-1,0,0,0,-1,0,0,0,0,1,0,0,0,1,0,0,1,1,0,0,1,1,0,0,2,1,0,0,2,1,0,0,3,1,0,0,3,1,0,0,4,1,0,0,4,1,0,0,5,1,0,0,5,1,0,0,8,1,0,0,8,1,0,0,9,1,0,0,9,1,0,0,10,1,0,0,10,1,0,0,11,1,0,0,11,1,0,0,14,1,0,0,14,1,0,0,15,1,0,0,15,1,0,0,16,1,0,0,16,1,0,0,17,1,0,0,17,1,0,0,20,1,0,0,20,1,0,0,21,1,0,0,21,1,0,0,22,1,0,0,22,1,0,0,23,1,0,0,23,1,0,0,24,1,0,0,24,1,0,0,25,1,0,0,25,1,0,0,26,1,0,0,26,1,0,0,29,1,0,0,29,1,0,0,30,1,0,0,30,1,0,0,31,1,0,0,31,1,0,0,32,1,0,0,32,1,0,0,33,1,0,0,33,1,0,0,36,1,0,0,36,1,0,0,37,1,0,0,37,1,0,0,37,1,0,0,37,1,0,0,37,1,0,0,37,1,0,0,38,1,0,0,38,1,0,0,38,1,0,0,38,1,0,0,38,1,0,0,38,1,0,0,39,1,0,0,39,1,0,0,39,1,0,0,39,1,0,0,39,1,0,0,39,1,0,0,40,1,0,0,40,1,0,0,40,1,0,0,40,1,0,0,40,1,0,0,40,1,0,0,41,1,0,0,41,1,0,0,41,1,0,0,41,1,0,0,41,1,0,0,41,1,0,0,42,1,0,0,42,1,0,0,42,1,0,0,42,1,0,0,42,1,0,0,42,1,0,0,45,1,0,0,45,1,0,0,46,1,0,0,46,1,0,0,47,1,0,0,47,1,0,0,48,1,0,0,48,1,0,0,49,1,0,0,49,1,0,0,50,1,0,0,50,1,0,0,53,1,0,0,53,1,0,0,54,1,0,0,54,1,0,0,55,1,0,0,55,1,0,0,59,1,0,0,59,1,0,0,60,1,0,0,60,1,0,0,61,1,0,0,61,1,0,0,62,1,0,0,62,1,0,0,65,1,0,0,65,1,0,0,66,1,0,0,66,1,0,0,67,1,0,0,67,1,0,0,68,1,0,0,68,1,0,0,69,1,0,0,69,1,0,0,72,1,0,0,72,1,0,0,73,1,0,0,73,1,0,0,74,1,0,0,74,1,0,0,77,1,0,0,77,1,0,0,78,1,0,0,78,1,0,0,79,1,0,0,79,1,0,0,80,1,0,0,80,1,0,0,83,1,0,0,83,1,0,0,84,1,0,0,84,1,0,0,85,1,0,0,85,1,0,0,86,1,0,0,86,1,0,0,87,1,0,0,87,1,0,0,90,1,0,0,90,1,0,0,91,1,0,0,91,1,0,0,92,1,0,0,92,1,0,0,95,1,0,0,95,1,0,0,96,1,0,0,96,1,0,0,99,1,0,0,99,1,0,0,100,1,0,0,100,1,0,0,101,1,0,0,101,1,0,0,104,1,0,0,104,1,0,0,105,1,0,0,105,1,0,0,106,1,0,0,106,1,0,0,109,1,0,0,109,1,0,0,110,1,0,0,110,1,0,0,111,1,0,0,111,1,0,0,114,1,0,0,114,1,0,0,115,1,0,0,115,1,0,0,116,1,0,0,116,1,0,0,117,1,0,0,117,1,0,0,120,1,0,0,120,1,0,0,120,1,0,0,120,1,0,0,120,1,0,0,120,1,0,0,121,1,0,0,121,1,0,0,121,1,0,0,121,1,0,0,121,1,0,0,121,1,0,0,122,1,0,0,122,1,0,0,122,1,0,0,122,1,0,0,122,1,0,0,122,1,0,0,123,1,0,0,123,1,0,0,123,1,0,0,123,1,0,0,123,1,0,0,123,1,0,0,126,1,0,0,126,1,0,0,127,1,0,0,127,1,0,0,-128,1,0,0,-128,1,0,0,-127,1,0,0,-127,1,0,0,-124,1,0,0,-124,1,0,0,-123,1,0,0,-123,1,0,0,-122,1,0,0,-122,1,0,0,-121,1,0,0,-121,1,0,0,-118,1,0,0,-118,1,0,0,-117,1,0,0,-117,1,0,0,-116,1,0,0,-116,1,0,0,-116,1,0,0,0,0,0,0,0,0,0,0,72,0,0,0,64,47,85,115,101,114,115,47,99,111,114,101,121,47,99,111,100,101,47,109,105,110,101,47,119,97,120,47,116,111,111,108,115,47,70,114,97,109,101,119,111,114,107,47,119,97,120,47,108,105,98,47,115,116,100,108,105,98,47,101,120,116,47,104,116,116,112,46,108,117,97,0,0,0,0,0,0,0,0,0,0,0,2,2,26,0,0,0,5,0,0,0,6,64,64,0,26,64,0,0,22,0,0,-128,30,0,-128,0,5,0,0,0,6,64,64,0,100,0,0,0,9,64,0,-127,5,0,0,0,6,64,64,0,100,64,0,0,9,64,-128,-127,5,0,0,0,6,64,64,0,100,-128,0,0,9,64,0,-126,5,0,0,0,6,64,64,0,100,-64,0,0,9,64,-128,-126,5,0,0,0,6,64,64,0,100,0,1,0,9,64,0,-125,30,0,-128,0,7,0,0,0,4,4,0,0,0,119,97,120,0,4,5,0,0,0,104,116,116,112,0,4,5,0,0,0,112,111,115,116,0,4,4,0,0,0,103,101,116,0,4,7,0,0,0,100,101,108,101,116,101,0,4,4,0,0,0,112,117,116,0,4,13,0,0,0,101,115,99,97,112,101,80,97,114,97,109,115,0,5,0,0,0,0,0,0,0,3,0,0,0,6,0,0,0,0,1,0,3,8,0,0,0,9,64,64,-128,69,-128,0,0,70,-64,-64,0,70,0,-63,0,-128,0,0,0,93,0,0,1,94,0,0,0,30,0,-128,0,5,0,0,0,4,7,0,0,0,109,101,116,104,111,100,0,4,5,0,0,0,80,79,83,84,0,4,4,0,0,0,119,97,120,0,4,5,0,0,0,104,116,116,112,0,4,8,0,0,0,114,101,113,117,101,115,116,0,0,0,0,0,8,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,1,0,0,0,8,0,0,0,111,112,116,105,111,110,115,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,11,0,0,0,0,1,0,3,8,0,0,0,9,64,64,-128,69,-128,0,0,70,-64,-64,0,70,0,-63,0,-128,0,0,0,93,0,0,1,94,0,0,0,30,0,-128,0,5,0,0,0,4,7,0,0,0,109,101,116,104,111,100,0,4,4,0,0,0,71,69,84,0,4,4,0,0,0,119,97,120,0,4,5,0,0,0,104,116,116,112,0,4,8,0,0,0,114,101,113,117,101,115,116,0,0,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,1,0,0,0,8,0,0,0,111,112,116,105,111,110,115,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,16,0,0,0,0,1,0,3,8,0,0,0,9,64,64,-128,69,-128,0,0,70,-64,-64,0,70,0,-63,0,-128,0,0,0,93,0,0,1,94,0,0,0,30,0,-128,0,5,0,0,0,4,7,0,0,0,109,101,116,104,111,100,0,4,7,0,0,0,68,69,76,69,84,69,0,4,4,0,0,0,119,97,120,0,4,5,0,0,0,104,116,116,112,0,4,8,0,0,0,114,101,113,117,101,115,116,0,0,0,0,0,8,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,1,0,0,0,8,0,0,0,111,112,116,105,111,110,115,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,21,0,0,0,0,1,0,3,8,0,0,0,9,64,64,-128,69,-128,0,0,70,-64,-64,0,70,0,-63,0,-128,0,0,0,93,0,0,1,94,0,0,0,30,0,-128,0,5,0,0,0,4,7,0,0,0,109,101,116,104,111,100,0,4,4,0,0,0,80,85,84,0,4,4,0,0,0,119,97,120,0,4,5,0,0,0,104,116,116,112,0,4,8,0,0,0,114,101,113,117,101,115,116,0,0,0,0,0,8,0,0,0,19,0,0,0,20,0,0,0,20,0,0,0,20,0,0,0,20,0,0,0,20,0,0,0,20,0,0,0,21,0,0,0,1,0,0,0,8,0,0,0,111,112,116,105,111,110,115,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,23,0,0,0,43,0,0,0,0,2,0,6,23,0,0,0,26,64,0,0,22,64,0,-128,-125,0,0,1,-98,0,0,1,-123,0,0,0,-64,0,0,0,-100,-128,0,1,23,64,64,1,22,0,0,-128,30,0,0,1,-123,-128,0,0,-122,-64,64,1,-64,0,0,0,36,1,0,0,0,0,-128,0,-100,-128,-128,1,-59,-128,0,0,-58,0,-63,1,0,1,0,1,65,65,1,0,-35,0,-128,1,-34,0,0,0,30,0,-128,0,6,0,0,0,4,5,0,0,0,116,121,112,101,0,4,7,0,0,0,115,116,114,105,110,103,0,4,6,0,0,0,116,97,98,108,101,0,4,4,0,0,0,109,97,112,0,4,7,0,0,0,99,111,110,99,97,116,0,4,2,0,0,0,38,0,1,0,0,0,0,0,0,0,27,0,0,0,40,0,0,0,1,2,0,6,46,0,0,0,-123,0,0,0,-64,0,0,0,-100,-128,0,1,23,64,64,1,22,-64,1,-128,-123,-128,0,0,-122,-64,64,1,-122,0,65,1,-64,0,0,0,0,1,-128,0,-99,0,-128,1,-98,0,0,0,22,-64,7,-128,-123,64,1,0,-122,-128,65,1,-59,-64,1,0,0,1,0,0,-36,0,0,1,-100,-128,0,0,0,0,0,1,-124,0,0,0,-102,0,0,0,22,0,4,-128,-123,0,0,0,-64,0,-128,0,-100,-128,0,1,23,0,66,1,22,64,1,-128,-127,64,2,0,-117,-128,66,1,4,1,0,0,-100,-128,-128,1,64,0,0,1,22,64,1,-128,-127,-64,2,0,-117,-128,66,1,4,1,0,0,64,1,-128,0,-100,-128,0,2,64,0,0,1,-128,0,-128,0,-63,0,3,0,0,1,0,0,-107,0,1,1,-98,0,0,1,30,0,-128,0,13,0,0,0,4,5,0,0,0,116,121,112,101,0,4,6,0,0,0,116,97,98,108,101,0,4,4,0,0,0,119,97,120,0,4,5,0,0,0,104,116,116,112,0,4,13,0,0,0,101,115,99,97,112,101,80,97,114,97,109,115,0,4,7,0,0,0,115,116,114,105,110,103,0,4,7,0,0,0,101,115,99,97,112,101,0,4,9,0,0,0,116,111,115,116,114,105,110,103,0,4,7,0,0,0,110,117,109,98,101,114,0,4,5,0,0,0,37,115,91,93,0,4,7,0,0,0,102,111,114,109,97,116,0,4,7,0,0,0,37,115,91,37,115,93,0,4,2,0,0,0,61,0,0,0,0,0,46,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,33,0,0,0,33,0,0,0,33,0,0,0,33,0,0,0,33,0,0,0,33,0,0,0,35,0,0,0,35,0,0,0,35,0,0,0,35,0,0,0,35,0,0,0,35,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,40,0,0,0,2,0,0,0,6,0,0,0,118,97,108,117,101,0,0,0,0,0,45,0,0,0,4,0,0,0,107,101,121,0,0,0,0,0,45,0,0,0,1,0,0,0,7,0,0,0,112,114,101,102,105,120,0,23,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,25,0,0,0,25,0,0,0,25,0,0,0,25,0,0,0,25,0,0,0,25,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,40,0,0,0,40,0,0,0,27,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,43,0,0,0,3,0,0,0,7,0,0,0,112,97,114,97,109,115,0,0,0,0,0,22,0,0,0,7,0,0,0,112,114,101,102,105,120,0,0,0,0,0,22,0,0,0,7,0,0,0,112,97,114,97,109,115,0,16,0,0,0,22,0,0,0,0,0,0,0,26,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,3,0,0,0,8,0,0,0,8,0,0,0,11,0,0,0,8,0,0,0,13,0,0,0,13,0,0,0,16,0,0,0,13,0,0,0,18,0,0,0,18,0,0,0,21,0,0,0,18,0,0,0,23,0,0,0,23,0,0,0,43,0,0,0,23,0,0,0,43,0,0,0,0,0,0,0,0,0,0,0,72,0,0,0,64,47,85,115,101,114,115,47,99,111,114,101,121,47,99,111,100,101,47,109,105,110,101,47,119,97,120,47,116,111,111,108,115,47,70,114,97,109,101,119,111,114,107,47,119,97,120,47,108,105,98,47,115,116,100,108,105,98,47,101,120,116,47,105,110,105,116,46,108,117,97,0,0,0,0,0,0,0,0,0,0,0,2,2,13,0,0,0,5,0,0,0,65,64,0,0,28,64,0,1,5,0,0,0,65,-128,0,0,28,64,0,1,5,0,0,0,65,-64,0,0,28,64,0,1,5,0,0,0,65,0,1,0,28,64,0,1,30,0,-128,0,5,0,0,0,4,8,0,0,0,114,101,113,117,105,114,101,0,4,14,0,0,0,119,97,120,46,101,120,116,46,116,97,98,108,101,0,4,15,0,0,0,119,97,120,46,101,120,116,46,115,116,114,105,110,103,0,4,15,0,0,0,119,97,120,46,101,120,116,46,110,117,109,98,101,114,0,4,13,0,0,0,119,97,120,46,101,120,116,46,104,116,116,112,0,0,0,0,0,13,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,74,0,0,0,64,47,85,115,101,114,115,47,99,111,114,101,121,47,99,111,100,101,47,109,105,110,101,47,119,97,120,47,116,111,111,108,115,47,70,114,97,109,101,119,111,114,107,47,119,97,120,47,108,105,98,47,115,116,100,108,105,98,47,101,120,116,47,110,117,109,98,101,114,46,108,117,97,0,0,0,0,0,0,0,0,0,0,0,2,13,27,0,0,0,10,0,0,0,7,0,0,0,10,0,0,6,65,64,0,0,-127,-128,0,0,-63,-64,0,0,1,1,1,0,65,65,1,0,-127,-127,1,0,-63,-63,1,0,1,2,2,0,65,66,2,0,-127,-126,2,0,-63,-62,2,0,1,3,3,0,34,64,0,6,69,0,0,0,-92,0,0,0,0,0,0,0,73,-128,-128,-122,69,0,0,0,-92,64,0,0,73,-128,0,-121,69,0,0,0,-92,-128,0,0,73,-128,-128,-121,30,0,-128,0,16,0,0,0,4,7,0,0,0,110,117,109,98,101,114,0,4,8,0,0,0,74,97,110,117,97,114,121,0,4,9,0,0,0,70,101,98,114,117,97,114,121,0,4,6,0,0,0,77,97,114,99,104,0,4,6,0,0,0,65,112,114,105,108,0,4,4,0,0,0,77,97,121,0,4,5,0,0,0,74,117,110,101,0,4,5,0,0,0,74,117,108,121,0,4,7,0,0,0,65,117,103,117,115,116,0,4,10,0,0,0,83,101,112,116,101,109,98,101,114,0,4,8,0,0,0,79,99,116,111,98,101,114,0,4,9,0,0,0,78,111,118,101,109,98,101,114,0,4,9,0,0,0,68,101,99,101,109,98,101,114,0,4,8,0,0,0,116,111,77,111,110,116,104,0,4,11,0,0,0,116,111,99,117,114,114,101,110,99,121,0,4,14,0,0,0,99,111,109,109,97,83,101,112,101,114,97,116,101,0,3,0,0,0,0,0,0,0,4,0,0,0,7,0,0,0,1,1,0,3,8,0,0,0,69,0,0,0,-128,0,0,0,92,-128,0,1,0,0,-128,0,68,0,0,0,70,0,-128,0,94,0,0,1,30,0,-128,0,1,0,0,0,4,9,0,0,0,116,111,110,117,109,98,101,114,0,0,0,0,0,8,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,1,0,0,0,2,0,0,0,110,0,0,0,0,0,7,0,0,0,1,0,0,0,14,0,0,0,110,117,109,98,101,114,84,111,77,111,110,116,104,0,0,0,0,0,9,0,0,0,11,0,0,0,0,1,0,4,8,0,0,0,65,0,0,0,-123,64,0,0,-122,-128,64,1,-64,0,0,0,-100,-128,0,1,85,-128,-128,0,94,0,0,1,30,0,-128,0,3,0,0,0,4,2,0,0,0,36,0,4,7,0,0,0,110,117,109,98,101,114,0,4,14,0,0,0,99,111,109,109,97,83,101,112,101,114,97,116,101,0,0,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,1,0,0,0,2,0,0,0,110,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,13,0,0,0,21,0,0,0,0,1,0,6,18,0,0,0,69,0,0,0,-128,0,0,0,92,-128,0,1,-123,-128,0,0,-122,-64,64,1,-64,0,-128,0,1,1,1,0,65,65,1,0,-100,-64,0,2,-57,64,0,0,64,0,0,1,-123,64,0,0,23,-128,65,1,22,0,-3,127,22,0,0,-128,22,-128,-4,127,94,0,0,1,30,0,-128,0,7,0,0,0,4,9,0,0,0,116,111,115,116,114,105,110,103,0,4,2,0,0,0,107,0,4,7,0,0,0,115,116,114,105,110,103,0,4,5,0,0,0,103,115,117,98,0,4,17,0,0,0,94,40,45,63,37,100,43,41,40,37,100,37,100,37,100,41,0,4,6,0,0,0,37,49,44,37,50,0,3,0,0,0,0,0,0,0,0,0,0,0,0,18,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,20,0,0,0,21,0,0,0,2,0,0,0,2,0,0,0,110,0,0,0,0,0,17,0,0,0,10,0,0,0,102,111,114,109,97,116,116,101,100,0,3,0,0,0,17,0,0,0,0,0,0,0,27,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,7,0,0,0,4,0,0,0,9,0,0,0,11,0,0,0,9,0,0,0,13,0,0,0,21,0,0,0,13,0,0,0,21,0,0,0,1,0,0,0,14,0,0,0,110,117,109,98,101,114,84,111,77,111,110,116,104,0,16,0,0,0,26,0,0,0,0,0,0,0,74,0,0,0,64,47,85,115,101,114,115,47,99,111,114,101,121,47,99,111,100,101,47,109,105,110,101,47,119,97,120,47,116,111,111,108,115,47,70,114,97,109,101,119,111,114,107,47,119,97,120,47,108,105,98,47,115,116,100,108,105,98,47,101,120,116,47,115,116,114,105,110,103,46,108,117,97,0,0,0,0,0,0,0,0,0,0,0,2,2,22,0,0,0,5,0,0,0,100,0,0,0,9,64,-128,-128,5,0,0,0,100,64,0,0,9,64,0,-127,5,0,0,0,100,-128,0,0,9,64,-128,-127,5,0,0,0,100,-64,0,0,9,64,0,-126,5,0,0,0,100,0,1,0,9,64,-128,-126,5,0,0,0,100,64,1,0,9,64,0,-125,5,0,0,0,100,-128,1,0,9,64,-128,-125,30,0,-128,0,8,0,0,0,4,7,0,0,0,115,116,114,105,110,103,0,4,9,0,0,0,117,110,101,115,99,97,112,101,0,4,6,0,0,0,115,112,108,105,116,0,4,6,0,0,0,115,116,114,105,112,0,4,10,0,0,0,99,97,109,101,108,67,97,115,101,0,4,7,0,0,0,101,115,99,97,112,101,0,4,15,0,0,0,100,101,99,111,100,101,69,110,116,105,116,105,101,115,0,4,16,0,0,0,99,97,115,101,73,110,115,101,110,115,105,116,105,118,101,0,7,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,0,1,0,5,16,0,0,0,69,0,0,0,70,64,-64,0,-128,0,0,0,-63,-128,0,0,1,-63,0,0,92,-128,0,2,0,0,-128,0,69,0,0,0,70,64,-64,0,-128,0,0,0,-63,0,1,0,36,1,0,0,92,-128,0,2,0,0,-128,0,30,0,0,1,30,0,-128,0,5,0,0,0,4,7,0,0,0,115,116,114,105,110,103,0,4,5,0,0,0,103,115,117,98,0,4,2,0,0,0,43,0,4,2,0,0,0,32,0,4,9,0,0,0,37,37,40,37,120,37,120,41,0,1,0,0,0,0,0,0,0,3,0,0,0,5,0,0,0,0,1,0,5,9,0,0,0,69,0,0,0,70,64,-64,0,-123,-128,0,0,-64,0,0,0,1,-63,0,0,-100,0,-128,1,93,0,0,0,94,0,0,0,30,0,-128,0,4,0,0,0,4,7,0,0,0,115,116,114,105,110,103,0,4,5,0,0,0,99,104,97,114,0,4,9,0,0,0,116,111,110,117,109,98,101,114,0,3,0,0,0,0,0,0,48,64,0,0,0,0,9,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,1,0,0,0,4,0,0,0,104,101,120,0,0,0,0,0,8,0,0,0,0,0,0,0,16,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,5,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,4,0,0,0,117,114,108,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,17,0,0,0,0,2,0,10,21,0,0,0,-118,0,0,0,-59,0,0,0,-58,64,-64,1,0,1,0,0,65,-127,0,0,-101,65,-128,0,22,0,0,-128,-127,-63,0,0,-63,1,1,0,85,-63,-127,2,-36,0,-127,1,22,0,1,-128,-59,65,1,0,-58,-127,-63,3,0,2,0,1,64,2,0,3,-36,65,-128,1,-31,64,0,0,22,0,-2,127,-98,0,0,1,30,0,-128,0,7,0,0,0,4,7,0,0,0,115,116,114,105,110,103,0,4,7,0,0,0,103,109,97,116,99,104,0,4,4,0,0,0,40,91,94,0,4,2,0,0,0,32,0,4,4,0,0,0,93,43,41,0,4,6,0,0,0,116,97,98,108,101,0,4,7,0,0,0,105,110,115,101,114,116,0,0,0,0,0,21,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,12,0,0,0,13,0,0,0,16,0,0,0,17,0,0,0,7,0,0,0,2,0,0,0,115,0,0,0,0,0,20,0,0,0,4,0,0,0,115,101,112,0,0,0,0,0,20,0,0,0,2,0,0,0,116,0,1,0,0,0,20,0,0,0,16,0,0,0,40,102,111,114,32,103,101,110,101,114,97,116,111,114,41,0,11,0,0,0,19,0,0,0,12,0,0,0,40,102,111,114,32,115,116,97,116,101,41,0,11,0,0,0,19,0,0,0,14,0,0,0,40,102,111,114,32,99,111,110,116,114,111,108,41,0,11,0,0,0,19,0,0,0,2,0,0,0,111,0,12,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,19,0,0,0,24,0,0,0,0,2,0,6,19,0,0,0,90,64,0,0,22,0,0,-128,65,0,0,0,-117,64,64,0,1,-127,0,0,64,1,-128,0,21,65,1,2,65,-63,0,0,-100,-128,0,2,0,0,0,1,-117,64,64,0,0,1,-128,0,65,1,1,0,21,65,1,2,65,-63,0,0,-100,-128,0,2,0,0,0,1,30,0,0,1,30,0,-128,0,5,0,0,0,4,4,0,0,0,37,115,43,0,4,5,0,0,0,103,115,117,98,0,4,2,0,0,0,94,0,4,1,0,0,0,0,4,2,0,0,0,36,0,0,0,0,0,19,0,0,0,20,0,0,0,20,0,0,0,20,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,2,0,0,0,2,0,0,0,115,0,0,0,0,0,18,0,0,0,8,0,0,0,112,97,116,116,101,114,110,0,0,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,26,0,0,0,34,0,0,0,0,1,0,13,27,0,0,0,75,0,64,0,-63,64,0,0,92,-128,-128,1,-123,-128,0,0,-122,-64,64,1,-64,0,-128,0,1,1,1,0,-100,-128,-128,1,-59,64,1,0,0,1,-128,0,-36,0,1,1,22,-128,2,-128,0,2,0,1,75,-126,-63,3,-63,2,1,0,1,3,1,0,92,-126,0,2,75,-62,-63,4,92,-126,0,1,-117,-126,-63,3,1,3,2,0,-100,-126,-128,1,-107,-128,2,4,-31,-128,0,0,22,-128,-4,127,-98,0,0,1,30,0,-128,0,9,0,0,0,4,6,0,0,0,115,112,108,105,116,0,4,3,0,0,0,95,45,0,4,6,0,0,0,116,97,98,108,101,0,4,7,0,0,0,114,101,109,111,118,101,0,3,0,0,0,0,0,0,-16,63,4,7,0,0,0,105,112,97,105,114,115,0,4,4,0,0,0,115,117,98,0,4,6,0,0,0,117,112,112,101,114,0,3,0,0,0,0,0,0,0,64,0,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,29,0,0,0,30,0,0,0,33,0,0,0,34,0,0,0,8,0,0,0,2,0,0,0,115,0,0,0,0,0,26,0,0,0,11,0,0,0,115,112,108,105,116,84,97,98,108,101,0,3,0,0,0,26,0,0,0,7,0,0,0,114,101,115,117,108,116,0,8,0,0,0,26,0,0,0,16,0,0,0,40,102,111,114,32,103,101,110,101,114,97,116,111,114,41,0,11,0,0,0,25,0,0,0,12,0,0,0,40,102,111,114,32,115,116,97,116,101,41,0,11,0,0,0,25,0,0,0,14,0,0,0,40,102,111,114,32,99,111,110,116,114,111,108,41,0,11,0,0,0,25,0,0,0,2,0,0,0,105,0,12,0,0,0,23,0,0,0,6,0,0,0,99,104,117,110,107,0,12,0,0,0,23,0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,44,0,0,0,0,1,0,5,16,0,0,0,69,0,0,0,70,64,-64,0,-128,0,0,0,-63,-128,0,0,36,1,0,0,92,-128,0,2,0,0,-128,0,69,0,0,0,70,64,-64,0,-128,0,0,0,-63,-64,0,0,1,1,1,0,92,-128,0,2,0,0,-128,0,30,0,0,1,30,0,-128,0,5,0,0,0,4,7,0,0,0,115,116,114,105,110,103,0,4,5,0,0,0,103,115,117,98,0,4,51,0,0,0,40,91,33,37,42,39,37,40,37,41,59,58,64,38,61,37,43,37,36,44,47,37,63,35,37,91,37,93,60,62,126,37,46,34,123,125,124,92,37,45,96,95,37,94,37,37,37,99,93,41,0,4,2,0,0,0,32,0,4,2,0,0,0,43,0,1,0,0,0,0,0,0,0,38,0,0,0,40,0,0,0,0,1,0,5,10,0,0,0,69,0,0,0,70,64,-64,0,-127,-128,0,0,-59,0,0,0,-58,-64,-64,1,0,1,0,0,-36,0,0,1,93,0,0,0,94,0,0,0,30,0,-128,0,4,0,0,0,4,7,0,0,0,115,116,114,105,110,103,0,4,7,0,0,0,102,111,114,109,97,116,0,4,7,0,0,0,37,37,37,48,50,88,0,4,5,0,0,0,98,121,116,101,0,0,0,0,0,10,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,40,0,0,0,1,0,0,0,2,0,0,0,99,0,0,0,0,0,9,0,0,0,0,0,0,0,16,0,0,0,37,0,0,0,37,0,0,0,37,0,0,0,37,0,0,0,40,0,0,0,37,0,0,0,40,0,0,0,41,0,0,0,41,0,0,0,41,0,0,0,41,0,0,0,41,0,0,0,41,0,0,0,41,0,0,0,43,0,0,0,44,0,0,0,1,0,0,0,2,0,0,0,115,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,46,0,0,0,90,0,0,0,0,1,0,6,47,0,0,0,74,-128,6,0,73,64,64,-128,73,-64,64,-127,73,64,65,-126,73,-64,65,-125,73,64,66,-124,73,-64,66,-123,73,64,67,-122,73,-64,67,-121,73,64,68,-120,73,-64,68,-119,73,64,69,-118,73,-64,69,-117,73,64,70,-116,73,-64,70,-115,73,64,71,-114,73,-64,71,-113,73,64,72,-112,73,-64,72,-111,73,64,73,-110,73,-64,73,-109,73,64,74,-108,73,-64,74,-107,73,64,75,-106,73,-64,75,-105,73,64,76,-104,73,-64,76,-103,73,64,77,-102,73,-64,77,-101,73,64,78,-100,73,-64,78,-99,73,64,79,-98,73,-64,79,-97,73,64,80,-96,73,-64,80,-95,73,64,81,-94,73,-64,81,-93,73,64,82,-92,73,-64,82,-91,-123,0,19,0,-122,64,83,1,-64,0,0,0,1,-127,19,0,64,1,-128,0,-99,0,0,2,-98,0,0,0,30,0,-128,0,79,0,0,0,4,4,0,0,0,97,109,112,0,4,2,0,0,0,38,0,4,3,0,0,0,108,116,0,4,2,0,0,0,60,0,4,3,0,0,0,103,116,0,4,2,0,0,0,62,0,4,5,0,0,0,113,117,111,116,0,4,2,0,0,0,34,0,4,5,0,0,0,97,112,111,115,0,4,2,0,0,0,39,0,4,5,0,0,0,110,98,115,112,0,4,2,0,0,0,32,0,4,6,0,0,0,105,101,120,99,108,0,4,3,0,0,0,-62,-95,0,4,5,0,0,0,99,101,110,116,0,4,3,0,0,0,-62,-94,0,4,6,0,0,0,112,111,117,110,100,0,4,3,0,0,0,-62,-93,0,4,7,0,0,0,99,117,114,114,101,110,0,4,3,0,0,0,-62,-92,0,4,4,0,0,0,121,101,110,0,4,3,0,0,0,-62,-91,0,4,7,0,0,0,98,114,118,98,97,114,0,4,3,0,0,0,-62,-90,0,4,5,0,0,0,115,101,99,116,0,4,3,0,0,0,-62,-89,0,4,4,0,0,0,117,109,108,0,4,3,0,0,0,-62,-88,0,4,5,0,0,0,99,111,112,121,0,4,3,0,0,0,-62,-87,0,4,5,0,0,0,111,114,100,102,0,4,3,0,0,0,-62,-86,0,4,6,0,0,0,108,97,113,117,111,0,4,3,0,0,0,-62,-85,0,4,4,0,0,0,115,104,121,0,4,3,0,0,0,-62,-83,0,4,4,0,0,0,114,101,103,0,4,3,0,0,0,-62,-82,0,4,5,0,0,0,109,97,99,114,0,4,3,0,0,0,-62,-81,0,4,4,0,0,0,100,101,103,0,4,3,0,0,0,-62,-80,0,4,7,0,0,0,112,108,117,115,109,110,0,4,3,0,0,0,-62,-79,0,4,5,0,0,0,115,117,112,50,0,4,3,0,0,0,-62,-78,0,4,5,0,0,0,115,117,112,51,0,4,3,0,0,0,-62,-77,0,4,6,0,0,0,97,99,117,116,101,0,4,3,0,0,0,-62,-76,0,4,6,0,0,0,109,105,99,114,111,0,4,3,0,0,0,-62,-75,0,4,5,0,0,0,112,97,114,97,0,4,3,0,0,0,-62,-74,0,4,7,0,0,0,109,105,100,100,111,116,0,4,3,0,0,0,-62,-73,0,4,6,0,0,0,99,101,100,105,108,0,4,3,0,0,0,-62,-72,0,4,5,0,0,0,115,117,112,49,0,4,3,0,0,0,-62,-71,0,4,5,0,0,0,111,114,100,109,0,4,3,0,0,0,-62,-70,0,4,6,0,0,0,114,97,113,117,111,0,4,3,0,0,0,-62,-69,0,4,7,0,0,0,102,114,97,99,49,52,0,4,3,0,0,0,-62,-68,0,4,7,0,0,0,102,114,97,99,49,50,0,4,3,0,0,0,-62,-67,0,4,7,0,0,0,102,114,97,99,51,52,0,4,3,0,0,0,-62,-66,0,4,7,0,0,0,105,113,117,101,115,116,0,4,3,0,0,0,-62,-65,0,4,6,0,0,0,116,105,109,101,115,0,4,3,0,0,0,-61,-105,0,4,7,0,0,0,100,105,118,105,100,101,0,4,3,0,0,0,-61,-73,0,4,7,0,0,0,115,116,114,105,110,103,0,4,5,0,0,0,103,115,117,98,0,4,8,0,0,0,38,40,37,119,43,41,59,0,0,0,0,0,47,0,0,0,47,0,0,0,48,0,0,0,49,0,0,0,50,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,58,0,0,0,59,0,0,0,60,0,0,0,61,0,0,0,62,0,0,0,63,0,0,0,64,0,0,0,66,0,0,0,67,0,0,0,68,0,0,0,69,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,73,0,0,0,74,0,0,0,75,0,0,0,76,0,0,0,77,0,0,0,78,0,0,0,79,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,86,0,0,0,89,0,0,0,89,0,0,0,89,0,0,0,89,0,0,0,89,0,0,0,89,0,0,0,89,0,0,0,90,0,0,0,2,0,0,0,2,0,0,0,115,0,0,0,0,0,46,0,0,0,9,0,0,0,101,110,116,105,116,105,101,115,0,39,0,0,0,46,0,0,0,0,0,0,0,0,0,0,0,92,0,0,0,97,0,0,0,0,1,0,5,9,0,0,0,69,0,0,0,70,64,-64,0,-128,0,0,0,-63,-128,0,0,36,1,0,0,92,-128,0,2,0,0,-128,0,30,0,0,1,30,0,-128,0,3,0,0,0,4,7,0,0,0,115,116,114,105,110,103,0,4,5,0,0,0,103,115,117,98,0,4,3,0,0,0,37,97,0,1,0,0,0,0,0,0,0,93,0,0,0,95,0,0,0,0,1,0,6,14,0,0,0,69,0,0,0,70,64,-64,0,-127,-128,0,0,-59,0,0,0,-58,-64,-64,1,0,1,0,0,-36,-128,0,1,5,1,0,0,6,1,65,2,64,1,0,0,28,1,0,1,93,0,0,0,94,0,0,0,30,0,-128,0,5,0,0,0,4,7,0,0,0,115,116,114,105,110,103,0,4,7,0,0,0,102,111,114,109,97,116,0,4,7,0,0,0,91,37,115,37,115,93,0,4,6,0,0,0,108,111,119,101,114,0,4,6,0,0,0,117,112,112,101,114,0,0,0,0,0,14,0,0,0,94,0,0,0,94,0,0,0,94,0,0,0,94,0,0,0,94,0,0,0,94,0,0,0,94,0,0,0,94,0,0,0,94,0,0,0,94,0,0,0,94,0,0,0,94,0,0,0,94,0,0,0,95,0,0,0,1,0,0,0,2,0,0,0,99,0,0,0,0,0,13,0,0,0,0,0,0,0,9,0,0,0,93,0,0,0,93,0,0,0,93,0,0,0,93,0,0,0,95,0,0,0,93,0,0,0,95,0,0,0,96,0,0,0,97,0,0,0,1,0,0,0,2,0,0,0,115,0,0,0,0,0,8,0,0,0,0,0,0,0,22,0,0,0,1,0,0,0,8,0,0,0,1,0,0,0,10,0,0,0,17,0,0,0,10,0,0,0,19,0,0,0,24,0,0,0,19,0,0,0,26,0,0,0,34,0,0,0,26,0,0,0,36,0,0,0,44,0,0,0,36,0,0,0,46,0,0,0,90,0,0,0,46,0,0,0,92,0,0,0,97,0,0,0,92,0,0,0,97,0,0,0,0,0,0,0,0,0,0,0,73,0,0,0,64,47,85,115,101,114,115,47,99,111,114,101,121,47,99,111,100,101,47,109,105,110,101,47,119,97,120,47,116,111,111,108,115,47,70,114,97,109,101,119,111,114,107,47,119,97,120,47,108,105,98,47,115,116,100,108,105,98,47,101,120,116,47,116,97,98,108,101,46,108,117,97,0,0,0,0,0,0,0,0,0,0,0,2,2,49,0,0,0,5,0,0,0,100,0,0,0,9,64,-128,-128,5,0,0,0,100,64,0,0,9,64,0,-127,5,0,0,0,100,-128,0,0,9,64,-128,-127,5,0,0,0,100,-64,0,0,9,64,0,-126,5,0,0,0,100,0,1,0,9,64,-128,-126,5,0,0,0,100,64,1,0,9,64,0,-125,5,0,0,0,100,-128,1,0,9,64,-128,-125,5,0,0,0,100,-64,1,0,9,64,0,-124,5,0,0,0,100,0,2,0,9,64,-128,-124,5,0,0,0,100,64,2,0,9,64,0,-123,5,0,0,0,100,-128,2,0,9,64,-128,-123,5,0,0,0,100,-64,2,0,9,64,0,-122,5,0,0,0,100,0,3,0,9,64,-128,-122,5,0,0,0,100,64,3,0,9,64,0,-121,5,0,0,0,100,-128,3,0,9,64,-128,-121,5,0,0,0,100,-64,3,0,9,64,0,-120,30,0,-128,0,17,0,0,0,4,6,0,0,0,116,97,98,108,101,0,4,6,0,0,0,99,108,111,110,101,0,4,6,0,0,0,109,101,114,103,101,0,4,5,0,0,0,107,101,121,115,0,4,7,0,0,0,117,110,105,113,117,101,0,4,7,0,0,0,118,97,108,117,101,115,0,4,5,0,0,0,108,97,115,116,0,4,7,0,0,0,97,112,112,101,110,100,0,4,8,0,0,0,105,110,100,101,120,79,102,0,4,9,0,0,0,105,110,99,108,117,100,101,115,0,4,12,0,0,0,114,101,109,111,118,101,86,97,108,117,101,0,4,5,0,0,0,101,97,99,104,0,4,5,0,0,0,102,105,110,100,0,4,7,0,0,0,102,105,108,116,101,114,0,4,4,0,0,0,109,97,112,0,4,8,0,0,0,103,114,111,117,112,66,121,0,4,9,0,0,0,116,111,115,116,114,105,110,103,0,16,0,0,0,0,0,0,0,1,0,0,0,17,0,0,0,0,2,0,10,29,0,0,0,-118,0,0,0,90,64,0,0,22,64,1,-128,-59,0,0,0,0,1,0,1,69,65,0,0,-128,1,0,0,92,1,0,1,-36,64,0,0,-59,-128,0,0,0,1,0,0,-36,0,1,1,22,-64,2,-128,5,-62,0,0,64,2,-128,3,28,-126,0,1,23,0,65,4,22,64,1,-128,5,2,1,0,6,66,65,4,64,2,-128,3,28,-126,0,1,-119,0,2,3,22,0,0,-128,-119,-64,1,3,-31,-128,0,0,22,64,-4,127,-98,0,0,1,30,0,-128,0,6,0,0,0,4,13,0,0,0,115,101,116,109,101,116,97,116,97,98,108,101,0,4,13,0,0,0,103,101,116,109,101,116,97,116,97,98,108,101,0,4,6,0,0,0,112,97,105,114,115,0,4,5,0,0,0,116,121,112,101,0,4,6,0,0,0,116,97,98,108,101,0,4,6,0,0,0,99,108,111,110,101,0,0,0,0,0,29,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,8,0,0,0,13,0,0,0,16,0,0,0,17,0,0,0,8,0,0,0,2,0,0,0,116,0,0,0,0,0,28,0,0,0,7,0,0,0,110,111,109,101,116,97,0,0,0,0,0,28,0,0,0,2,0,0,0,117,0,1,0,0,0,28,0,0,0,16,0,0,0,40,102,111,114,32,103,101,110,101,114,97,116,111,114,41,0,12,0,0,0,27,0,0,0,12,0,0,0,40,102,111,114,32,115,116,97,116,101,41,0,12,0,0,0,27,0,0,0,14,0,0,0,40,102,111,114,32,99,111,110,116,114,111,108,41,0,12,0,0,0,27,0,0,0,2,0,0,0,105,0,13,0,0,0,25,0,0,0,2,0,0,0,118,0,13,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,19,0,0,0,27,0,0,0,0,2,0,9,13,0,0,0,-123,0,0,0,-122,64,64,1,-64,0,0,0,-100,-128,0,1,-59,-128,0,0,0,1,-128,0,-36,0,1,1,22,0,0,-128,-119,-64,1,3,-31,-128,0,0,22,0,-1,127,-98,0,0,1,30,0,-128,0,3,0,0,0,4,6,0,0,0,116,97,98,108,101,0,4,6,0,0,0,99,108,111,110,101,0,4,6,0,0,0,112,97,105,114,115,0,0,0,0,0,13,0,0,0,20,0,0,0,20,0,0,0,20,0,0,0,20,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,23,0,0,0,22,0,0,0,23,0,0,0,26,0,0,0,27,0,0,0,8,0,0,0,2,0,0,0,116,0,0,0,0,0,12,0,0,0,2,0,0,0,117,0,0,0,0,0,12,0,0,0,2,0,0,0,114,0,4,0,0,0,12,0,0,0,16,0,0,0,40,102,111,114,32,103,101,110,101,114,97,116,111,114,41,0,7,0,0,0,11,0,0,0,12,0,0,0,40,102,111,114,32,115,116,97,116,101,41,0,7,0,0,0,11,0,0,0,14,0,0,0,40,102,111,114,32,99,111,110,116,114,111,108,41,0,7,0,0,0,11,0,0,0,2,0,0,0,105,0,8,0,0,0,9,0,0,0,2,0,0,0,118,0,8,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,29,0,0,0,33,0,0,0,0,1,0,10,14,0,0,0,74,0,0,0,-123,0,0,0,-64,0,0,0,-100,0,1,1,22,0,1,-128,-59,65,0,0,-58,-127,-64,3,0,2,-128,0,64,2,-128,2,-36,65,-128,1,-95,-128,0,0,22,0,-2,127,94,0,0,1,30,0,-128,0,3,0,0,0,4,6,0,0,0,112,97,105,114,115,0,4,6,0,0,0,116,97,98,108,101,0,4,7,0,0,0,105,110,115,101,114,116,0,0,0,0,0,14,0,0,0,30,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,7,0,0,0,2,0,0,0,116,0,0,0,0,0,13,0,0,0,5,0,0,0,107,101,121,115,0,1,0,0,0,13,0,0,0,16,0,0,0,40,102,111,114,32,103,101,110,101,114,97,116,111,114,41,0,4,0,0,0,12,0,0,0,12,0,0,0,40,102,111,114,32,115,116,97,116,101,41,0,4,0,0,0,12,0,0,0,14,0,0,0,40,102,111,114,32,99,111,110,116,114,111,108,41,0,4,0,0,0,12,0,0,0,2,0,0,0,107,0,5,0,0,0,10,0,0,0,2,0,0,0,118,0,5,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,35,0,0,0,42,0,0,0,0,1,0,10,21,0,0,0,74,0,0,0,-123,0,0,0,-64,0,0,0,-100,0,1,1,22,-64,2,-128,-59,65,0,0,-58,-127,-64,3,0,2,-128,0,64,2,0,3,-36,-127,-128,1,-38,65,0,0,22,0,1,-128,-59,65,0,0,-58,-63,-64,3,0,2,-128,0,64,2,0,3,-36,65,-128,1,-95,-128,0,0,22,64,-4,127,94,0,0,1,30,0,-128,0,4,0,0,0,4,7,0,0,0,105,112,97,105,114,115,0,4,6,0,0,0,116,97,98,108,101,0,4,9,0,0,0,105,110,99,108,117,100,101,115,0,4,7,0,0,0,105,110,115,101,114,116,0,0,0,0,0,21,0,0,0,36,0,0,0,37,0,0,0,37,0,0,0,37,0,0,0,37,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,37,0,0,0,38,0,0,0,41,0,0,0,42,0,0,0,7,0,0,0,2,0,0,0,116,0,0,0,0,0,20,0,0,0,5,0,0,0,115,101,101,110,0,1,0,0,0,20,0,0,0,16,0,0,0,40,102,111,114,32,103,101,110,101,114,97,116,111,114,41,0,4,0,0,0,19,0,0,0,12,0,0,0,40,102,111,114,32,115,116,97,116,101,41,0,4,0,0,0,19,0,0,0,14,0,0,0,40,102,111,114,32,99,111,110,116,114,111,108,41,0,4,0,0,0,19,0,0,0,2,0,0,0,105,0,5,0,0,0,17,0,0,0,2,0,0,0,118,0,5,0,0,0,17,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,48,0,0,0,0,1,0,10,14,0,0,0,74,0,0,0,-123,0,0,0,-64,0,0,0,-100,0,1,1,22,0,1,-128,-59,65,0,0,-58,-127,-64,3,0,2,-128,0,64,2,0,3,-36,65,-128,1,-95,-128,0,0,22,0,-2,127,94,0,0,1,30,0,-128,0,3,0,0,0,4,6,0,0,0,112,97,105,114,115,0,4,6,0,0,0,116,97,98,108,101,0,4,7,0,0,0,105,110,115,101,114,116,0,0,0,0,0,14,0,0,0,45,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,47,0,0,0,48,0,0,0,7,0,0,0,2,0,0,0,116,0,0,0,0,0,13,0,0,0,7,0,0,0,118,97,108,117,101,115,0,1,0,0,0,13,0,0,0,16,0,0,0,40,102,111,114,32,103,101,110,101,114,97,116,111,114,41,0,4,0,0,0,12,0,0,0,12,0,0,0,40,102,111,114,32,115,116,97,116,101,41,0,4,0,0,0,12,0,0,0,14,0,0,0,40,102,111,114,32,99,111,110,116,114,111,108,41,0,4,0,0,0,12,0,0,0,2,0,0,0,107,0,5,0,0,0,10,0,0,0,2,0,0,0,118,0,5,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,50,0,0,0,52,0,0,0,0,1,0,2,4,0,0,0,84,0,0,0,70,64,0,0,94,0,0,1,30,0,-128,0,0,0,0,0,0,0,0,0,4,0,0,0,51,0,0,0,51,0,0,0,51,0,0,0,52,0,0,0,1,0,0,0,2,0,0,0,116,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,54,0,0,0,60,0,0,0,0,2,0,10,13,0,0,0,-123,0,0,0,-64,0,-128,0,-100,0,1,1,22,0,1,-128,-59,65,0,0,-58,-127,-64,3,0,2,0,0,64,2,0,3,-36,65,-128,1,-95,-128,0,0,22,0,-2,127,30,0,0,1,30,0,-128,0,3,0,0,0,4,7,0,0,0,105,112,97,105,114,115,0,4,6,0,0,0,116,97,98,108,101,0,4,7,0,0,0,105,110,115,101,114,116,0,0,0,0,0,13,0,0,0,55,0,0,0,55,0,0,0,55,0,0,0,55,0,0,0,56,0,0,0,56,0,0,0,56,0,0,0,56,0,0,0,56,0,0,0,55,0,0,0,56,0,0,0,59,0,0,0,60,0,0,0,7,0,0,0,2,0,0,0,116,0,0,0,0,0,12,0,0,0,11,0,0,0,109,111,114,101,86,97,108,117,101,115,0,0,0,0,0,12,0,0,0,16,0,0,0,40,102,111,114,32,103,101,110,101,114,97,116,111,114,41,0,3,0,0,0,11,0,0,0,12,0,0,0,40,102,111,114,32,115,116,97,116,101,41,0,3,0,0,0,11,0,0,0,14,0,0,0,40,102,111,114,32,99,111,110,116,114,111,108,41,0,3,0,0,0,11,0,0,0,2,0,0,0,105,0,4,0,0,0,9,0,0,0,2,0,0,0,118,0,4,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,62,0,0,0,72,0,0,0,0,2,0,9,24,0,0,0,-123,0,0,0,-64,0,0,0,-100,0,1,1,22,-128,3,-128,-59,65,0,0,0,2,-128,0,-36,-127,0,1,23,-128,-64,3,22,-128,1,-128,-64,1,-128,0,0,2,0,3,-36,-127,0,1,-38,1,0,0,22,0,1,-128,94,1,0,1,22,-128,0,-128,23,64,0,3,22,0,0,-128,94,1,0,1,-95,-128,0,0,22,-128,-5,127,-125,0,0,1,-98,0,0,1,30,0,-128,0,3,0,0,0,4,6,0,0,0,112,97,105,114,115,0,4,5,0,0,0,116,121,112,101,0,4,9,0,0,0,102,117,110,99,116,105,111,110,0,0,0,0,0,24,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,67,0,0,0,67,0,0,0,67,0,0,0,63,0,0,0,68,0,0,0,71,0,0,0,71,0,0,0,72,0,0,0,7,0,0,0,2,0,0,0,116,0,0,0,0,0,23,0,0,0,6,0,0,0,118,97,108,117,101,0,0,0,0,0,23,0,0,0,16,0,0,0,40,102,111,114,32,103,101,110,101,114,97,116,111,114,41,0,3,0,0,0,21,0,0,0,12,0,0,0,40,102,111,114,32,115,116,97,116,101,41,0,3,0,0,0,21,0,0,0,14,0,0,0,40,102,111,114,32,99,111,110,116,114,111,108,41,0,3,0,0,0,21,0,0,0,2,0,0,0,107,0,4,0,0,0,19,0,0,0,2,0,0,0,118,0,4,0,0,0,19,0,0,0,0,0,0,0,0,0,0,0,74,0,0,0,76,0,0,0,0,2,0,5,7,0,0,0,-123,0,0,0,-122,64,64,1,-64,0,0,0,0,1,-128,0,-99,0,-128,1,-98,0,0,0,30,0,-128,0,2,0,0,0,4,6,0,0,0,116,97,98,108,101,0,4,8,0,0,0,105,110,100,101,120,79,102,0,0,0,0,0,7,0,0,0,75,0,0,0,75,0,0,0,75,0,0,0,75,0,0,0,75,0,0,0,75,0,0,0,76,0,0,0,2,0,0,0,2,0,0,0,116,0,0,0,0,0,6,0,0,0,6,0,0,0,118,97,108,117,101,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,78,0,0,0,82,0,0,0,0,2,0,6,14,0,0,0,-123,0,0,0,-122,64,64,1,-64,0,0,0,0,1,-128,0,-100,-128,-128,1,-102,0,0,0,22,0,1,-128,-59,0,0,0,-58,-128,-64,1,0,1,0,0,64,1,0,1,-36,64,-128,1,30,0,0,1,30,0,-128,0,3,0,0,0,4,6,0,0,0,116,97,98,108,101,0,4,8,0,0,0,105,110,100,101,120,79,102,0,4,7,0,0,0,114,101,109,111,118,101,0,0,0,0,0,14,0,0,0,79,0,0,0,79,0,0,0,79,0,0,0,79,0,0,0,79,0,0,0,80,0,0,0,80,0,0,0,80,0,0,0,80,0,0,0,80,0,0,0,80,0,0,0,80,0,0,0,81,0,0,0,82,0,0,0,3,0,0,0,2,0,0,0,116,0,0,0,0,0,13,0,0,0,6,0,0,0,118,97,108,117,101,0,0,0,0,0,13,0,0,0,6,0,0,0,105,110,100,101,120,0,5,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,84,0,0,0,88,0,0,0,0,2,0,10,11,0,0,0,-123,0,0,0,-64,0,0,0,-100,0,1,1,22,-64,0,-128,-64,1,-128,0,0,2,0,3,64,2,-128,2,-36,65,-128,1,-95,-128,0,0,22,64,-2,127,30,0,-128,0,1,0,0,0,4,6,0,0,0,112,97,105,114,115,0,0,0,0,0,11,0,0,0,85,0,0,0,85,0,0,0,85,0,0,0,85,0,0,0,86,0,0,0,86,0,0,0,86,0,0,0,86,0,0,0,85,0,0,0,86,0,0,0,88,0,0,0,7,0,0,0,2,0,0,0,116,0,0,0,0,0,10,0,0,0,5,0,0,0,102,117,110,99,0,0,0,0,0,10,0,0,0,16,0,0,0,40,102,111,114,32,103,101,110,101,114,97,116,111,114,41,0,3,0,0,0,10,0,0,0,12,0,0,0,40,102,111,114,32,115,116,97,116,101,41,0,3,0,0,0,10,0,0,0,14,0,0,0,40,102,111,114,32,99,111,110,116,114,111,108,41,0,3,0,0,0,10,0,0,0,2,0,0,0,107,0,4,0,0,0,8,0,0,0,2,0,0,0,118,0,4,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,96,0,0,0,0,2,0,9,17,0,0,0,-123,0,0,0,-64,0,0,0,-100,0,1,1,22,-64,1,-128,-64,1,-128,0,0,2,0,3,-36,-127,0,1,-38,1,0,0,22,-128,0,-128,-64,1,0,3,0,2,-128,2,-34,1,-128,1,-95,-128,0,0,22,64,-3,127,-125,0,0,1,-98,0,0,1,30,0,-128,0,1,0,0,0,4,6,0,0,0,112,97,105,114,115,0,0,0,0,0,17,0,0,0,91,0,0,0,91,0,0,0,91,0,0,0,91,0,0,0,92,0,0,0,92,0,0,0,92,0,0,0,92,0,0,0,92,0,0,0,92,0,0,0,92,0,0,0,92,0,0,0,91,0,0,0,92,0,0,0,95,0,0,0,95,0,0,0,96,0,0,0,7,0,0,0,2,0,0,0,116,0,0,0,0,0,16,0,0,0,5,0,0,0,102,117,110,99,0,0,0,0,0,16,0,0,0,16,0,0,0,40,102,111,114,32,103,101,110,101,114,97,116,111,114,41,0,3,0,0,0,14,0,0,0,12,0,0,0,40,102,111,114,32,115,116,97,116,101,41,0,3,0,0,0,14,0,0,0,14,0,0,0,40,102,111,114,32,99,111,110,116,114,111,108,41,0,3,0,0,0,14,0,0,0,2,0,0,0,107,0,4,0,0,0,12,0,0,0,2,0,0,0,118,0,4,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,98,0,0,0,105,0,0,0,0,2,0,11,19,0,0,0,-118,0,0,0,-59,0,0,0,0,1,0,0,-36,0,1,1,22,64,2,-128,0,2,-128,0,64,2,-128,3,28,-126,0,1,26,2,0,0,22,0,1,-128,5,66,0,0,6,-126,64,4,64,2,0,1,-128,2,-128,3,28,66,-128,1,-31,-128,0,0,22,-64,-4,127,-98,0,0,1,30,0,-128,0,3,0,0,0,4,6,0,0,0,112,97,105,114,115,0,4,6,0,0,0,116,97,98,108,101,0,4,7,0,0,0,105,110,115,101,114,116,0,0,0,0,0,19,0,0,0,99,0,0,0,100,0,0,0,100,0,0,0,100,0,0,0,100,0,0,0,101,0,0,0,101,0,0,0,101,0,0,0,101,0,0,0,101,0,0,0,101,0,0,0,101,0,0,0,101,0,0,0,101,0,0,0,101,0,0,0,100,0,0,0,101,0,0,0,104,0,0,0,105,0,0,0,8,0,0,0,2,0,0,0,116,0,0,0,0,0,18,0,0,0,5,0,0,0,102,117,110,99,0,0,0,0,0,18,0,0,0,8,0,0,0,109,97,116,99,104,101,115,0,1,0,0,0,18,0,0,0,16,0,0,0,40,102,111,114,32,103,101,110,101,114,97,116,111,114,41,0,4,0,0,0,17,0,0,0,12,0,0,0,40,102,111,114,32,115,116,97,116,101,41,0,4,0,0,0,17,0,0,0,14,0,0,0,40,102,111,114,32,99,111,110,116,114,111,108,41,0,4,0,0,0,17,0,0,0,2,0,0,0,107,0,5,0,0,0,15,0,0,0,2,0,0,0,118,0,5,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,107,0,0,0,114,0,0,0,0,2,0,13,17,0,0,0,-118,0,0,0,-59,0,0,0,0,1,0,0,-36,0,1,1,22,-64,1,-128,5,66,0,0,6,-126,64,4,64,2,0,1,-128,2,-128,0,-64,2,-128,3,0,3,0,3,-100,2,-128,1,28,66,0,0,-31,-128,0,0,22,64,-3,127,-98,0,0,1,30,0,-128,0,3,0,0,0,4,6,0,0,0,112,97,105,114,115,0,4,6,0,0,0,116,97,98,108,101,0,4,7,0,0,0,105,110,115,101,114,116,0,0,0,0,0,17,0,0,0,108,0,0,0,109,0,0,0,109,0,0,0,109,0,0,0,109,0,0,0,110,0,0,0,110,0,0,0,110,0,0,0,110,0,0,0,110,0,0,0,110,0,0,0,110,0,0,0,110,0,0,0,109,0,0,0,110,0,0,0,113,0,0,0,114,0,0,0,8,0,0,0,2,0,0,0,116,0,0,0,0,0,16,0,0,0,5,0,0,0,102,117,110,99,0,0,0,0,0,16,0,0,0,7,0,0,0,109,97,112,112,101,100,0,1,0,0,0,16,0,0,0,16,0,0,0,40,102,111,114,32,103,101,110,101,114,97,116,111,114,41,0,4,0,0,0,15,0,0,0,12,0,0,0,40,102,111,114,32,115,116,97,116,101,41,0,4,0,0,0,15,0,0,0,14,0,0,0,40,102,111,114,32,99,111,110,116,114,111,108,41,0,4,0,0,0,15,0,0,0,2,0,0,0,107,0,5,0,0,0,13,0,0,0,2,0,0,0,118,0,5,0,0,0,13,0,0,0,0,0,0,0,0,0,0,0,116,0,0,0,125,0,0,0,0,2,0,12,22,0,0,0,-118,0,0,0,-59,0,0,0,0,1,0,0,-36,0,1,1,22,0,3,-128,0,2,-128,0,64,2,-128,3,28,-126,0,1,70,2,2,1,90,66,0,0,22,64,0,-128,74,2,0,0,-119,64,2,4,69,66,0,0,70,-126,-64,4,-122,2,2,1,-64,2,-128,3,92,66,-128,1,-31,-128,0,0,22,0,-4,127,-98,0,0,1,30,0,-128,0,3,0,0,0,4,6,0,0,0,112,97,105,114,115,0,4,6,0,0,0,116,97,98,108,101,0,4,7,0,0,0,105,110,115,101,114,116,0,0,0,0,0,22,0,0,0,117,0,0,0,118,0,0,0,118,0,0,0,118,0,0,0,118,0,0,0,119,0,0,0,119,0,0,0,119,0,0,0,120,0,0,0,120,0,0,0,120,0,0,0,120,0,0,0,120,0,0,0,121,0,0,0,121,0,0,0,121,0,0,0,121,0,0,0,121,0,0,0,118,0,0,0,121,0,0,0,124,0,0,0,125,0,0,0,9,0,0,0,2,0,0,0,116,0,0,0,0,0,21,0,0,0,5,0,0,0,102,117,110,99,0,0,0,0,0,21,0,0,0,8,0,0,0,103,114,111,117,112,101,100,0,1,0,0,0,21,0,0,0,16,0,0,0,40,102,111,114,32,103,101,110,101,114,97,116,111,114,41,0,4,0,0,0,20,0,0,0,12,0,0,0,40,102,111,114,32,115,116,97,116,101,41,0,4,0,0,0,20,0,0,0,14,0,0,0,40,102,111,114,32,99,111,110,116,114,111,108,41,0,4,0,0,0,20,0,0,0,2,0,0,0,107,0,5,0,0,0,18,0,0,0,2,0,0,0,118,0,5,0,0,0,18,0,0,0,9,0,0,0,103,114,111,117,112,75,101,121,0,8,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,127,0,0,0,-91,0,0,0,0,5,0,21,-125,0,0,0,-102,64,0,0,22,0,0,-128,-127,0,0,0,-38,64,0,0,22,0,0,-128,-63,64,0,0,26,65,0,0,22,64,0,-128,74,1,0,0,0,1,-128,2,65,-127,0,0,-118,1,0,0,-59,-63,0,0,0,2,0,0,-36,-127,0,1,23,0,-63,3,22,-64,21,-128,-59,65,1,0,0,2,0,2,-36,1,1,1,22,-64,0,-128,23,-64,2,0,22,64,0,-128,1,-125,1,0,30,3,0,1,-31,-127,0,0,22,64,-2,127,-59,1,1,0,-58,-63,-63,3,0,2,0,2,64,2,0,0,-36,65,-128,1,-59,1,1,0,-58,-63,-63,3,0,2,0,3,65,2,2,0,-36,65,-128,1,-59,65,2,0,0,2,0,0,-36,1,1,1,22,-128,11,-128,27,67,-128,0,22,0,0,-128,1,-125,2,0,91,67,-128,0,22,0,0,-128,65,-125,2,0,21,67,3,6,69,3,1,0,70,-61,-63,6,-128,3,0,3,-64,3,0,6,5,-60,2,0,64,4,0,5,28,-124,0,1,65,4,3,0,-43,67,-124,7,92,67,-128,1,69,3,1,0,70,-61,-63,6,-128,3,0,3,23,0,-128,5,22,-128,0,-128,-63,67,3,0,-38,67,0,0,22,-64,1,-128,-59,3,1,0,-58,-61,-62,7,0,4,-128,5,64,4,0,6,-128,4,0,1,-64,4,-128,1,0,5,0,2,-36,-125,0,3,92,67,-128,1,76,-127,-61,2,24,64,1,1,22,64,2,-128,69,3,1,0,70,-61,-63,6,-128,3,0,3,-37,67,0,6,22,0,0,-128,-63,-61,3,0,1,4,4,0,-43,3,-124,7,92,67,-128,1,22,64,0,-128,-31,-127,0,0,22,-128,-13,127,-59,1,1,0,-58,-63,-63,3,0,2,0,3,90,0,0,0,22,-128,1,-128,91,66,-128,0,22,0,0,-128,65,-62,3,0,-127,66,4,0,85,-126,-126,4,90,66,0,0,22,0,0,-128,65,-126,4,0,-36,65,-128,1,22,-64,4,-128,-59,-63,0,0,0,2,0,0,-36,-127,0,1,23,-64,-60,3,22,64,1,-128,-59,-63,4,0,-58,1,-59,3,1,66,5,0,64,2,0,0,-36,-127,-128,1,0,0,-128,3,-59,1,1,0,-58,-63,-63,3,0,2,0,3,69,-62,2,0,-128,2,0,0,92,-126,0,1,-127,-126,5,0,85,-126,-126,4,-36,65,-128,1,-59,1,1,0,-58,-63,-59,3,0,2,0,3,-35,1,0,1,-34,1,0,0,30,0,-128,0,24,0,0,0,3,0,0,0,0,0,64,-113,64,3,0,0,0,0,0,0,28,64,3,0,0,0,0,0,0,0,0,4,5,0,0,0,116,121,112,101,0,4,6,0,0,0,116,97,98,108,101,0,4,7,0,0,0,105,112,97,105,114,115,0,4,9,0,0,0,60,115,101,108,102,62,44,10,0,4,7,0,0,0,105,110,115,101,114,116,0,4,3,0,0,0,123,10,0,4,6,0,0,0,112,97,105,114,115,0,4,2,0,0,0,32,0,4,9,0,0,0,116,111,115,116,114,105,110,103,0,4,4,0,0,0,32,61,32,0,4,8,0,0,0,60,115,101,108,102,62,44,0,3,0,0,0,0,0,0,-16,63,4,1,0,0,0,0,4,5,0,0,0,46,46,46,10,0,4,4,0,0,0,125,44,10,0,4,2,0,0,0,125,0,4,7,0,0,0,115,116,114,105,110,103,0,4,7,0,0,0,102,111,114,109,97,116,0,4,3,0,0,0,37,113,0,4,3,0,0,0,44,10,0,4,7,0,0,0,99,111,110,99,97,116,0,0,0,0,0,-125,0,0,0,-128,0,0,0,-128,0,0,0,-128,0,0,0,-127,0,0,0,-127,0,0,0,-127,0,0,0,-126,0,0,0,-126,0,0,0,-126,0,0,0,-126,0,0,0,-125,0,0,0,-123,0,0,0,-122,0,0,0,-122,0,0,0,-122,0,0,0,-122,0,0,0,-122,0,0,0,-120,0,0,0,-120,0,0,0,-120,0,0,0,-120,0,0,0,-119,0,0,0,-119,0,0,0,-118,0,0,0,-118,0,0,0,-120,0,0,0,-117,0,0,0,-115,0,0,0,-115,0,0,0,-115,0,0,0,-115,0,0,0,-115,0,0,0,-113,0,0,0,-113,0,0,0,-113,0,0,0,-113,0,0,0,-113,0,0,0,-112,0,0,0,-112,0,0,0,-112,0,0,0,-112,0,0,0,-111,0,0,0,-111,0,0,0,-111,0,0,0,-111,0,0,0,-111,0,0,0,-111,0,0,0,-111,0,0,0,-110,0,0,0,-110,0,0,0,-110,0,0,0,-110,0,0,0,-110,0,0,0,-110,0,0,0,-110,0,0,0,-110,0,0,0,-110,0,0,0,-110,0,0,0,-109,0,0,0,-109,0,0,0,-109,0,0,0,-108,0,0,0,-108,0,0,0,-108,0,0,0,-108,0,0,0,-108,0,0,0,-108,0,0,0,-108,0,0,0,-108,0,0,0,-108,0,0,0,-108,0,0,0,-108,0,0,0,-108,0,0,0,-108,0,0,0,-109,0,0,0,-105,0,0,0,-104,0,0,0,-104,0,0,0,-103,0,0,0,-103,0,0,0,-103,0,0,0,-103,0,0,0,-103,0,0,0,-103,0,0,0,-103,0,0,0,-103,0,0,0,-103,0,0,0,-102,0,0,0,-112,0,0,0,-101,0,0,0,-98,0,0,0,-98,0,0,0,-98,0,0,0,-98,0,0,0,-98,0,0,0,-98,0,0,0,-98,0,0,0,-98,0,0,0,-98,0,0,0,-98,0,0,0,-98,0,0,0,-98,0,0,0,-98,0,0,0,-98,0,0,0,-98,0,0,0,-96,0,0,0,-96,0,0,0,-96,0,0,0,-96,0,0,0,-96,0,0,0,-96,0,0,0,-96,0,0,0,-96,0,0,0,-96,0,0,0,-96,0,0,0,-96,0,0,0,-95,0,0,0,-95,0,0,0,-95,0,0,0,-95,0,0,0,-95,0,0,0,-95,0,0,0,-95,0,0,0,-95,0,0,0,-95,0,0,0,-92,0,0,0,-92,0,0,0,-92,0,0,0,-92,0,0,0,-92,0,0,0,-91,0,0,0,18,0,0,0,4,0,0,0,116,98,108,0,0,0,0,0,-126,0,0,0,7,0,0,0,105,110,100,101,110,116,0,0,0,0,0,-126,0,0,0,6,0,0,0,108,105,109,105,116,0,0,0,0,0,-126,0,0,0,6,0,0,0,100,101,112,116,104,0,0,0,0,0,-126,0,0,0,7,0,0,0,106,115,116,97,99,107,0,0,0,0,0,-126,0,0,0,2,0,0,0,105,0,11,0,0,0,-126,0,0,0,7,0,0,0,111,117,116,112,117,116,0,12,0,0,0,-126,0,0,0,16,0,0,0,40,102,111,114,32,103,101,110,101,114,97,116,111,114,41,0,20,0,0,0,27,0,0,0,12,0,0,0,40,102,111,114,32,115,116,97,116,101,41,0,20,0,0,0,27,0,0,0,14,0,0,0,40,102,111,114,32,99,111,110,116,114,111,108,41,0,20,0,0,0,27,0,0,0,2,0,0,0,105,0,21,0,0,0,25,0,0,0,2,0,0,0,116,0,21,0,0,0,25,0,0,0,16,0,0,0,40,102,111,114,32,103,101,110,101,114,97,116,111,114,41,0,40,0,0,0,90,0,0,0,12,0,0,0,40,102,111,114,32,115,116,97,116,101,41,0,40,0,0,0,90,0,0,0,14,0,0,0,40,102,111,114,32,99,111,110,116,114,111,108,41,0,40,0,0,0,90,0,0,0,4,0,0,0,107,101,121,0,41,0,0,0,88,0,0,0,6,0,0,0,118,97,108,117,101,0,41,0,0,0,88,0,0,0,12,0,0,0,105,110,110,101,114,73,110,100,101,110,116,0,48,0,0,0,88,0,0,0,0,0,0,0,49,0,0,0,1,0,0,0,17,0,0,0,1,0,0,0,19,0,0,0,27,0,0,0,19,0,0,0,29,0,0,0,33,0,0,0,29,0,0,0,35,0,0,0,42,0,0,0,35,0,0,0,44,0,0,0,48,0,0,0,44,0,0,0,50,0,0,0,52,0,0,0,50,0,0,0,54,0,0,0,60,0,0,0,54,0,0,0,62,0,0,0,72,0,0,0,62,0,0,0,74,0,0,0,76,0,0,0,74,0,0,0,78,0,0,0,82,0,0,0,78,0,0,0,84,0,0,0,88,0,0,0,84,0,0,0,90,0,0,0,96,0,0,0,90,0,0,0,98,0,0,0,105,0,0,0,98,0,0,0,107,0,0,0,114,0,0,0,107,0,0,0,116,0,0,0,125,0,0,0,116,0,0,0,127,0,0,0,-91,0,0,0,127,0,0,0,-91,0,0,0,0,0,0,0,0,0,0,0,81,0,0,0,64,47,85,115,101,114,115,47,99,111,114,101,121,47,99,111,100,101,47,109,105,110,101,47,119,97,120,47,116,111,111,108,115,47,70,114,97,109,101,119,111,114,107,47,119,97,120,47,108,105,98,47,115,116,100,108,105,98,47,104,101,108,112,101,114,115,47,87,97,120,83,101,114,118,101,114,46,108,117,97,0,0,0,0,0,0,0,0,0,0,0,2,3,16,0,0,0,5,0,0,0,74,0,-128,0,-127,64,0,0,98,64,-128,0,28,64,0,1,36,0,0,0,7,-128,0,0,36,64,0,0,7,-64,0,0,36,-128,0,0,7,0,1,0,36,-64,0,0,7,64,1,0,36,0,1,0,7,-128,1,0,30,0,-128,0,7,0,0,0,4,9,0,0,0,119,97,120,67,108,97,115,115,0,4,10,0,0,0,87,97,120,83,101,114,118,101,114,0,4,6,0,0,0,115,116,97,114,116,0,4,11,0,0,0,115,104,111,119,80,114,111,109,112,116,0,4,10,0,0,0,99,111,110,110,101,99,116,101,100,0,4,13,0,0,0,100,105,115,99,111,110,110,101,99,116,101,100,0,4,13,0,0,0,100,97,116,97,82,101,99,101,105,118,101,100,0,5,0,0,0,0,0,0,0,6,0,0,0,26,0,0,0,0,1,0,6,39,0,0,0,69,64,0,0,70,-128,-64,0,70,-64,-64,0,75,0,-63,0,92,-128,0,1,9,64,0,-128,70,0,64,0,90,0,0,0,22,-64,0,-128,70,0,64,0,75,64,-63,0,-63,-128,1,0,92,-128,-128,1,90,0,0,0,22,-128,2,-128,-123,-64,1,0,-63,0,2,0,90,0,0,0,22,-64,0,-128,11,65,-62,0,28,-127,0,1,26,65,0,0,22,0,0,-128,1,-127,2,0,-100,64,-128,1,94,0,0,1,-122,0,64,0,-117,-64,66,1,0,1,0,0,-100,64,-128,1,-123,0,3,0,-59,64,3,0,36,1,0,0,0,0,0,1,0,0,0,0,-55,0,1,-122,-61,0,-128,1,-34,0,0,1,30,0,-128,0,14,0,0,0,4,7,0,0,0,115,101,114,118,101,114,0,4,4,0,0,0,119,97,120,0,4,6,0,0,0,99,108,97,115,115,0,4,11,0,0,0,119,97,120,95,115,101,114,118,101,114,0,4,5,0,0,0,105,110,105,116,0,4,12,0,0,0,115,116,97,114,116,79,110,80,111,114,116,0,3,0,0,0,0,0,-108,-63,64,4,5,0,0,0,112,117,116,115,0,4,27,0,0,0,70,97,105,108,101,100,32,99,114,101,97,116,105,110,103,32,115,101,114,118,101,114,58,32,37,115,0,4,12,0,0,0,100,101,115,99,114,105,112,116,105,111,110,0,4,19,0,0,0,83,101,114,118,101,114,32,78,111,116,32,67,114,101,97,116,101,100,0,4,12,0,0,0,115,101,116,68,101,108,101,103,97,116,101,0,4,6,0,0,0,112,114,105,110,116,0,4,3,0,0,0,95,71,0,1,0,0,0,0,0,0,0,19,0,0,0,23,0,0,0,2,0,3,7,22,0,0,0,68,0,0,0,-91,0,0,0,92,64,0,0,69,0,0,0,70,64,-64,0,-118,0,0,0,-27,0,0,0,-94,64,0,0,-28,0,0,0,92,-128,-128,1,-124,0,-128,0,-122,-128,64,1,-117,-64,64,1,5,1,0,0,6,1,65,2,64,1,-128,0,-127,65,1,0,28,-127,-128,1,65,-127,1,0,21,65,1,2,-100,64,-128,1,30,0,-128,0,7,0,0,0,4,6,0,0,0,116,97,98,108,101,0,4,4,0,0,0,109,97,112,0,4,7,0,0,0,115,101,114,118,101,114,0,4,5,0,0,0,115,101,110,100,0,4,7,0,0,0,99,111,110,99,97,116,0,4,2,0,0,0,9,0,4,2,0,0,0,10,0,1,0,0,0,0,0,0,0,21,0,0,0,21,0,0,0,0,1,0,3,5,0,0,0,69,0,0,0,-128,0,0,0,93,0,0,1,94,0,0,0,30,0,-128,0,1,0,0,0,4,9,0,0,0,116,111,115,116,114,105,110,103,0,0,0,0,0,5,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,1,0,0,0,2,0,0,0,111,0,0,0,0,0,4,0,0,0,0,0,0,0,22,0,0,0,20,0,0,0,20,0,0,0,20,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,23,0,0,0,2,0,0,0,4,0,0,0,97,114,103,0,0,0,0,0,21,0,0,0,8,0,0,0,111,98,106,101,99,116,115,0,10,0,0,0,21,0,0,0,2,0,0,0,12,0,0,0,102,111,114,109,101,114,80,114,105,110,116,0,5,0,0,0,115,101,108,102,0,39,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,18,0,0,0,19,0,0,0,23,0,0,0,23,0,0,0,23,0,0,0,23,0,0,0,25,0,0,0,25,0,0,0,26,0,0,0,3,0,0,0,5,0,0,0,115,101,108,102,0,0,0,0,0,38,0,0,0,4,0,0,0,101,114,114,0,13,0,0,0,38,0,0,0,12,0,0,0,102,111,114,109,101,114,80,114,105,110,116,0,31,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,30,0,0,0,0,1,0,4,5,0,0,0,70,0,64,0,75,64,-64,0,-63,-128,0,0,92,64,-128,1,30,0,-128,0,3,0,0,0,4,7,0,0,0,115,101,114,118,101,114,0,4,5,0,0,0,115,101,110,100,0,4,3,0,0,0,62,32,0,0,0,0,0,5,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,30,0,0,0,1,0,0,0,5,0,0,0,115,101,108,102,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,34,0,0,0,36,0,0,0,0,1,0,3,3,0,0,0,75,0,64,0,92,64,0,1,30,0,-128,0,1,0,0,0,4,11,0,0,0,115,104,111,119,80,114,111,109,112,116,0,0,0,0,0,3,0,0,0,35,0,0,0,35,0,0,0,36,0,0,0,1,0,0,0,5,0,0,0,115,101,108,102,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,38,0,0,0,40,0,0,0,0,1,0,4,5,0,0,0,70,0,64,0,75,64,-64,0,-63,-128,0,0,92,64,-128,1,30,0,-128,0,3,0,0,0,4,7,0,0,0,115,101,114,118,101,114,0,4,5,0,0,0,115,101,110,100,0,4,9,0,0,0,71,79,79,68,66,89,69,33,0,0,0,0,0,5,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,40,0,0,0,1,0,0,0,5,0,0,0,115,101,108,102,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,42,0,0,0,49,0,0,0,0,2,0,10,21,0,0,0,-123,0,0,0,-117,64,64,1,0,1,-128,0,69,-127,0,0,-100,-128,0,2,-59,-64,0,0,-58,0,-63,1,0,1,0,1,-36,-64,0,1,-38,64,0,0,22,-128,1,-128,70,65,65,0,75,-127,-63,2,-63,-63,1,0,0,2,0,2,65,2,2,0,-43,65,-126,3,92,65,-128,1,75,65,66,0,92,65,0,1,30,0,-128,0,10,0,0,0,4,9,0,0,0,78,83,83,116,114,105,110,103,0,4,22,0,0,0,105,110,105,116,87,105,116,104,68,97,116,97,95,101,110,99,111,100,105,110,103,0,4,22,0,0,0,78,83,65,83,67,73,73,83,116,114,105,110,103,69,110,99,111,100,105,110,103,0,4,4,0,0,0,119,97,120,0,4,5,0,0,0,101,118,97,108,0,4,7,0,0,0,115,101,114,118,101,114,0,4,5,0,0,0,115,101,110,100,0,4,8,0,0,0,69,114,114,111,114,58,32,0,4,2,0,0,0,10,0,4,11,0,0,0,115,104,111,119,80,114,111,109,112,116,0,0,0,0,0,21,0,0,0,43,0,0,0,43,0,0,0,43,0,0,0,43,0,0,0,43,0,0,0,44,0,0,0,44,0,0,0,44,0,0,0,44,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,48,0,0,0,48,0,0,0,49,0,0,0,5,0,0,0,5,0,0,0,115,101,108,102,0,0,0,0,0,20,0,0,0,5,0,0,0,100,97,116,97,0,0,0,0,0,20,0,0,0,6,0,0,0,105,110,112,117,116,0,5,0,0,0,20,0,0,0,8,0,0,0,115,117,99,99,101,115,115,0,9,0,0,0,20,0,0,0,4,0,0,0,101,114,114,0,9,0,0,0,20,0,0,0,0,0,0,0,16,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,26,0,0,0,6,0,0,0,30,0,0,0,28,0,0,0,36,0,0,0,34,0,0,0,40,0,0,0,38,0,0,0,49,0,0,0,42,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,80,0,0,0,64,47,85,115,101,114,115,47,99,111,114,101,121,47,99,111,100,101,47,109,105,110,101,47,119,97,120,47,116,111,111,108,115,47,70,114,97,109,101,119,111,114,107,47,119,97,120,47,108,105,98,47,115,116,100,108,105,98,47,104,101,108,112,101,114,115,47,97,117,116,111,108,111,97,100,46,108,117,97,0,0,0,0,0,0,0,0,0,0,0,2,2,4,0,0,0,5,0,0,0,100,0,0,0,9,64,-128,-128,30,0,-128,0,2,0,0,0,4,4,0,0,0,119,97,120,0,4,9,0,0,0,97,117,116,111,108,111,97,100,0,1,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,0,0,3,17,39,0,0,0,69,0,0,0,-118,0,0,0,-27,0,0,0,-94,64,0,0,92,0,1,1,22,64,7,-128,-123,65,0,0,-122,-127,64,3,-122,-63,64,3,-59,65,0,0,-58,1,-63,3,0,2,-128,2,-36,-127,0,1,1,66,1,0,-100,-127,-128,1,-59,1,0,0,0,2,0,3,-36,1,1,1,22,-128,3,-128,11,-125,-63,5,-123,67,0,0,-122,3,65,7,-100,-125,-128,0,-63,-61,1,0,-107,-61,3,7,28,-125,-128,1,75,3,66,6,-63,67,2,0,1,-124,2,0,92,-125,0,2,0,3,-128,6,69,-61,2,0,-128,3,0,6,92,67,0,1,-31,-127,0,0,22,-128,-5,127,97,-128,0,0,22,-64,-9,127,30,0,-128,0,12,0,0,0,4,7,0,0,0,105,112,97,105,114,115,0,4,4,0,0,0,119,97,120,0,4,11,0,0,0,102,105,108,101,115,121,115,116,101,109,0,4,7,0,0,0,115,101,97,114,99,104,0,4,5,0,0,0,114,111,111,116,0,4,5,0,0,0,108,117,97,36,0,4,6,0,0,0,109,97,116,99,104,0,4,12,0,0,0,47,40,46,42,41,37,46,108,117,97,36,0,4,5,0,0,0,103,115,117,98,0,4,2,0,0,0,47,0,4,2,0,0,0,46,0,4,8,0,0,0,114,101,113,117,105,114,101,0,0,0,0,0,39,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,4,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,13,0,0,0,4,0,0,0,97,114,103,0,0,0,0,0,38,0,0,0,16,0,0,0,40,102,111,114,32,103,101,110,101,114,97,116,111,114,41,0,5,0,0,0,38,0,0,0,12,0,0,0,40,102,111,114,32,115,116,97,116,101,41,0,5,0,0,0,38,0,0,0,14,0,0,0,40,102,111,114,32,99,111,110,116,114,111,108,41,0,5,0,0,0,38,0,0,0,2,0,0,0,105,0,6,0,0,0,36,0,0,0,7,0,0,0,102,111,108,100,101,114,0,6,0,0,0,36,0,0,0,6,0,0,0,102,105,108,101,115,0,15,0,0,0,36,0,0,0,16,0,0,0,40,102,111,114,32,103,101,110,101,114,97,116,111,114,41,0,18,0,0,0,36,0,0,0,12,0,0,0,40,102,111,114,32,115,116,97,116,101,41,0,18,0,0,0,36,0,0,0,14,0,0,0,40,102,111,114,32,99,111,110,116,114,111,108,41,0,18,0,0,0,36,0,0,0,2,0,0,0,105,0,19,0,0,0,34,0,0,0,5,0,0,0,102,105,108,101,0,19,0,0,0,34,0,0,0,14,0,0,0,114,101,113,117,105,114,101,83,116,114,105,110,103,0,26,0,0,0,34,0,0,0,0,0,0,0,4,0,0,0,1,0,0,0,10,0,0,0,1,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,78,0,0,0,64,47,85,115,101,114,115,47,99,111,114,101,121,47,99,111,100,101,47,109,105,110,101,47,119,97,120,47,116,111,111,108,115,47,70,114,97,109,101,119,111,114,107,47,119,97,120,47,108,105,98,47,115,116,100,108,105,98,47,104,101,108,112,101,114,115,47,98,97,115,101,54,52,46,108,117,97,0,0,0,0,0,0,0,0,0,0,0,2,3,-105,0,0,0,5,0,0,0,65,64,0,0,-123,-128,0,0,-122,-64,64,1,28,64,-128,1,36,0,0,0,7,0,1,0,36,64,0,0,7,64,1,0,36,-128,0,0,7,-128,1,0,36,-64,0,0,7,-64,1,0,10,0,8,0,9,64,66,-124,9,-64,66,-123,9,64,67,-122,9,-64,67,-121,9,64,68,-120,9,-64,68,-119,9,64,69,-118,9,-64,69,-117,9,64,70,-116,9,-64,70,-115,9,64,71,-114,9,-64,71,-113,9,64,72,-112,9,-64,72,-111,9,64,73,-110,9,-64,73,-109,9,64,74,-108,9,-64,74,-107,9,64,75,-106,9,-64,75,-105,9,64,76,-104,9,-64,76,-103,9,64,77,-102,9,-64,77,-101,9,64,78,-100,9,-64,78,-99,9,64,79,-98,9,-64,79,-97,9,64,80,-96,9,-64,80,-95,9,64,81,-94,9,-64,81,-93,9,64,82,-92,9,-64,82,-91,9,64,83,-90,9,-64,83,-89,9,64,84,-88,9,-64,84,-87,9,64,85,-86,9,-64,85,-85,9,64,86,-84,9,-64,86,-83,9,64,87,-82,9,-64,87,-81,9,64,88,-80,9,-64,88,-79,9,64,89,-78,9,-64,89,-77,9,64,90,-76,9,-64,90,-75,9,64,91,-74,9,-64,91,-73,9,64,92,-72,9,-64,92,-71,9,64,93,-70,9,-64,93,-69,9,64,94,-68,9,-64,94,-67,9,64,95,-66,9,-64,95,-65,9,64,96,-64,9,-64,96,-63,9,64,97,-62,9,-64,97,-61,100,0,1,0,0,0,0,0,71,0,34,0,74,64,8,0,73,0,-62,-124,73,-128,-62,-123,73,0,-61,-122,73,-128,-61,-121,73,0,-60,-120,73,-128,-60,-119,73,0,-59,-118,73,-128,-59,-117,73,0,-58,-116,73,-128,-58,-115,73,0,-57,-114,73,-128,-57,-113,73,0,-56,-112,73,-128,-56,-111,73,0,-55,-110,73,-128,-55,-109,73,0,-54,-108,73,-128,-54,-107,73,0,-53,-106,73,-128,-53,-105,73,0,-52,-104,73,-128,-52,-103,73,0,-51,-102,73,-128,-51,-101,73,0,-50,-100,73,-128,-50,-99,73,0,-49,-98,73,-128,-49,-97,73,0,-48,-96,73,-128,-48,-95,73,0,-47,-94,73,-128,-47,-93,73,0,-46,-92,73,-128,-46,-91,73,0,-45,-90,73,-128,-45,-89,73,0,-44,-88,73,-128,-44,-87,73,0,-43,-86,73,-128,-43,-85,73,0,-42,-84,73,-128,-42,-83,73,0,-41,-82,73,-128,-41,-81,73,0,-40,-80,73,-128,-40,-79,73,0,-39,-78,73,-128,-39,-77,73,0,-38,-76,73,-128,-38,-75,73,0,-37,-74,73,-128,-37,-73,73,0,-36,-72,73,-128,-36,-71,73,0,-35,-70,73,-128,-35,-69,73,0,-34,-68,73,-128,-34,-67,73,0,-33,-66,73,-128,-33,-65,73,0,-32,-64,73,-128,-32,-63,73,0,-31,-62,73,-128,-31,-61,73,-128,-30,-60,-92,64,1,0,0,0,-128,0,-121,-64,34,0,30,0,-128,0,-116,0,0,0,4,7,0,0,0,109,111,100,117,108,101,0,4,11,0,0,0,119,97,120,46,98,97,115,101,54,52,0,4,8,0,0,0,112,97,99,107,97,103,101,0,4,7,0,0,0,115,101,101,97,108,108,0,4,4,0,0,0,108,115,104,0,4,4,0,0,0,114,115,104,0,4,4,0,0,0,98,105,116,0,4,4,0,0,0,108,111,114,0,3,0,0,0,0,0,0,0,0,4,2,0,0,0,65,0,3,0,0,0,0,0,0,-16,63,4,2,0,0,0,66,0,3,0,0,0,0,0,0,0,64,4,2,0,0,0,67,0,3,0,0,0,0,0,0,8,64,4,2,0,0,0,68,0,3,0,0,0,0,0,0,16,64,4,2,0,0,0,69,0,3,0,0,0,0,0,0,20,64,4,2,0,0,0,70,0,3,0,0,0,0,0,0,24,64,4,2,0,0,0,71,0,3,0,0,0,0,0,0,28,64,4,2,0,0,0,72,0,3,0,0,0,0,0,0,32,64,4,2,0,0,0,73,0,3,0,0,0,0,0,0,34,64,4,2,0,0,0,74,0,3,0,0,0,0,0,0,36,64,4,2,0,0,0,75,0,3,0,0,0,0,0,0,38,64,4,2,0,0,0,76,0,3,0,0,0,0,0,0,40,64,4,2,0,0,0,77,0,3,0,0,0,0,0,0,42,64,4,2,0,0,0,78,0,3,0,0,0,0,0,0,44,64,4,2,0,0,0,79,0,3,0,0,0,0,0,0,46,64,4,2,0,0,0,80,0,3,0,0,0,0,0,0,48,64,4,2,0,0,0,81,0,3,0,0,0,0,0,0,49,64,4,2,0,0,0,82,0,3,0,0,0,0,0,0,50,64,4,2,0,0,0,83,0,3,0,0,0,0,0,0,51,64,4,2,0,0,0,84,0,3,0,0,0,0,0,0,52,64,4,2,0,0,0,85,0,3,0,0,0,0,0,0,53,64,4,2,0,0,0,86,0,3,0,0,0,0,0,0,54,64,4,2,0,0,0,87,0,3,0,0,0,0,0,0,55,64,4,2,0,0,0,88,0,3,0,0,0,0,0,0,56,64,4,2,0,0,0,89,0,3,0,0,0,0,0,0,57,64,4,2,0,0,0,90,0,3,0,0,0,0,0,0,58,64,4,2,0,0,0,97,0,3,0,0,0,0,0,0,59,64,4,2,0,0,0,98,0,3,0,0,0,0,0,0,60,64,4,2,0,0,0,99,0,3,0,0,0,0,0,0,61,64,4,2,0,0,0,100,0,3,0,0,0,0,0,0,62,64,4,2,0,0,0,101,0,3,0,0,0,0,0,0,63,64,4,2,0,0,0,102,0,3,0,0,0,0,0,0,64,64,4,2,0,0,0,103,0,3,0,0,0,0,0,-128,64,64,4,2,0,0,0,104,0,3,0,0,0,0,0,0,65,64,4,2,0,0,0,105,0,3,0,0,0,0,0,-128,65,64,4,2,0,0,0,106,0,3,0,0,0,0,0,0,66,64,4,2,0,0,0,107,0,3,0,0,0,0,0,-128,66,64,4,2,0,0,0,108,0,3,0,0,0,0,0,0,67,64,4,2,0,0,0,109,0,3,0,0,0,0,0,-128,67,64,4,2,0,0,0,110,0,3,0,0,0,0,0,0,68,64,4,2,0,0,0,111,0,3,0,0,0,0,0,-128,68,64,4,2,0,0,0,112,0,3,0,0,0,0,0,0,69,64,4,2,0,0,0,113,0,3,0,0,0,0,0,-128,69,64,4,2,0,0,0,114,0,3,0,0,0,0,0,0,70,64,4,2,0,0,0,115,0,3,0,0,0,0,0,-128,70,64,4,2,0,0,0,116,0,3,0,0,0,0,0,0,71,64,4,2,0,0,0,117,0,3,0,0,0,0,0,-128,71,64,4,2,0,0,0,118,0,3,0,0,0,0,0,0,72,64,4,2,0,0,0,119,0,3,0,0,0,0,0,-128,72,64,4,2,0,0,0,120,0,3,0,0,0,0,0,0,73,64,4,2,0,0,0,121,0,3,0,0,0,0,0,-128,73,64,4,2,0,0,0,122,0,3,0,0,0,0,0,0,74,64,4,2,0,0,0,48,0,3,0,0,0,0,0,-128,74,64,4,2,0,0,0,49,0,3,0,0,0,0,0,0,75,64,4,2,0,0,0,50,0,3,0,0,0,0,0,-128,75,64,4,2,0,0,0,51,0,3,0,0,0,0,0,0,76,64,4,2,0,0,0,52,0,3,0,0,0,0,0,-128,76,64,4,2,0,0,0,53,0,3,0,0,0,0,0,0,77,64,4,2,0,0,0,54,0,3,0,0,0,0,0,-128,77,64,4,2,0,0,0,55,0,3,0,0,0,0,0,0,78,64,4,2,0,0,0,56,0,3,0,0,0,0,0,-128,78,64,4,2,0,0,0,57,0,3,0,0,0,0,0,0,79,64,4,2,0,0,0,43,0,3,0,0,0,0,0,-128,79,64,4,2,0,0,0,47,0,4,7,0,0,0,101,110,99,111,100,101,0,4,2,0,0,0,61,0,0,4,7,0,0,0,100,101,99,111,100,101,0,6,0,0,0,0,0,0,0,9,0,0,0,11,0,0,0,0,2,0,3,5,0,0,0,-111,64,0,-128,-114,-128,0,0,-112,64,64,1,-98,0,0,1,30,0,-128,0,2,0,0,0,3,0,0,0,0,0,0,0,64,3,0,0,0,0,0,0,112,64,0,0,0,0,5,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,2,0,0,0,6,0,0,0,118,97,108,117,101,0,0,0,0,0,4,0,0,0,6,0,0,0,115,104,105,102,116,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,14,0,0,0,16,0,0,0,0,2,0,4,8,0,0,0,-123,0,0,0,-122,64,64,1,-47,64,0,-127,-49,-64,0,0,-100,-128,0,1,-112,-64,64,1,-98,0,0,1,30,0,-128,0,4,0,0,0,4,5,0,0,0,109,97,116,104,0,4,6,0,0,0,102,108,111,111,114,0,3,0,0,0,0,0,0,0,64,3,0,0,0,0,0,0,112,64,0,0,0,0,8,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,2,0,0,0,6,0,0,0,118,97,108,117,101,0,0,0,0,0,7,0,0,0,6,0,0,0,115,104,105,102,116,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,19,0,0,0,21,0,0,0,0,2,0,4,12,0,0,0,-111,64,0,-128,-112,-128,0,0,-51,64,-64,0,-47,-64,0,-128,-48,-64,0,0,-115,-64,0,1,88,-128,0,-127,22,0,0,-128,-126,64,0,0,-126,0,-128,0,-98,0,0,1,30,0,-128,0,3,0,0,0,3,0,0,0,0,0,0,0,64,3,0,0,0,0,0,0,-16,63,3,0,0,0,0,0,0,0,0,0,0,0,0,12,0,0,0,20,0,0,0,20,0,0,0,20,0,0,0,20,0,0,0,20,0,0,0,20,0,0,0,20,0,0,0,20,0,0,0,20,0,0,0,20,0,0,0,20,0,0,0,21,0,0,0,2,0,0,0,2,0,0,0,120,0,0,0,0,0,11,0,0,0,2,0,0,0,98,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,24,0,0,0,28,0,0,0,0,2,0,10,30,0,0,0,-127,64,0,0,-121,0,0,0,-127,-128,0,0,-63,-64,0,0,1,-127,0,0,-96,-64,4,-128,-123,1,0,0,-59,1,1,0,0,2,0,0,64,2,-128,2,-36,-127,-128,1,-38,65,0,0,22,-64,0,-128,-59,1,1,0,0,2,-128,0,64,2,-128,2,-36,-127,-128,1,23,64,-63,3,22,-64,0,-128,-51,-127,-64,2,-47,-63,1,-125,-38,65,0,0,22,0,0,-128,-63,65,0,0,-116,-63,1,3,-121,1,0,0,-97,-128,-6,127,-123,0,0,0,-98,0,0,1,30,0,-128,0,7,0,0,0,4,7,0,0,0,114,101,115,117,108,116,0,3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,-16,63,3,0,0,0,0,0,0,32,64,4,4,0,0,0,98,105,116,0,1,1,3,0,0,0,0,0,0,0,64,0,0,0,0,30,0,0,0,25,0,0,0,25,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,27,0,0,0,27,0,0,0,28,0,0,0,6,0,0,0,2,0,0,0,120,0,0,0,0,0,29,0,0,0,2,0,0,0,121,0,0,0,0,0,29,0,0,0,12,0,0,0,40,102,111,114,32,105,110,100,101,120,41,0,5,0,0,0,27,0,0,0,12,0,0,0,40,102,111,114,32,108,105,109,105,116,41,0,5,0,0,0,27,0,0,0,11,0,0,0,40,102,111,114,32,115,116,101,112,41,0,5,0,0,0,27,0,0,0,2,0,0,0,112,0,6,0,0,0,26,0,0,0,0,0,0,0,0,0,0,0,35,0,0,0,47,0,0,0,1,1,0,18,89,0,0,0,74,0,0,0,-127,0,0,0,-63,64,0,0,5,-127,0,0,6,-63,64,2,64,1,0,0,28,-127,0,1,13,1,65,2,65,65,1,0,-32,-64,18,-128,-63,1,1,0,1,66,1,0,65,2,1,0,-32,-63,2,-128,-59,-126,0,0,-58,-126,-63,5,5,-125,0,0,6,-61,65,6,64,3,0,0,-116,-125,2,3,28,3,-128,1,-36,-126,0,0,-38,66,0,0,22,0,0,-128,-63,66,0,0,73,-64,2,5,-33,-127,-4,127,-59,-127,0,0,-58,1,-62,3,1,66,2,0,64,2,0,1,-124,2,0,0,-59,-126,2,0,6,3,-63,0,65,-61,2,0,-36,-126,-128,1,-122,-62,2,5,-60,2,0,0,5,3,3,0,69,67,3,0,-122,3,-63,0,-112,-125,67,7,-63,-125,3,0,92,-125,-128,1,-123,-125,2,0,-58,-61,-62,0,1,-124,3,0,-100,3,-128,1,28,-125,0,0,-58,2,-125,5,-38,66,0,0,22,0,0,-128,-63,-62,3,0,20,3,0,0,13,-125,1,6,24,0,3,-126,22,-128,3,-128,4,3,0,0,69,3,3,0,-123,67,3,0,-58,-61,-62,0,-48,3,-60,7,1,-60,2,0,-100,-125,-128,1,-59,-125,2,0,6,68,-63,0,65,68,4,0,-36,3,-128,1,92,-125,0,0,6,67,3,6,26,67,0,0,22,0,0,-128,1,-61,3,0,84,3,0,0,77,-125,-127,6,24,64,-125,-123,22,64,1,-128,68,3,0,0,-122,67,-63,0,-112,-125,68,7,70,-125,-125,6,90,67,0,0,22,0,0,-128,65,-61,3,0,-36,-127,-128,3,-128,0,-128,3,-33,-128,-20,127,-98,0,0,1,30,0,-128,0,19,0,0,0,4,1,0,0,0,0,3,0,0,0,0,0,0,0,0,4,7,0,0,0,115,116,114,105,110,103,0,4,4,0,0,0,108,101,110,0,3,0,0,0,0,0,0,-16,63,3,0,0,0,0,0,0,8,64,4,5,0,0,0,98,121,116,101,0,4,4,0,0,0,115,117,98,0,4,7,0,0,0,102,111,114,109,97,116,0,4,11,0,0,0,37,115,37,115,37,115,37,115,37,115,0,4,4,0,0,0,114,115,104,0,3,0,0,0,0,0,0,0,64,4,4,0,0,0,108,111,114,0,4,4,0,0,0,108,115,104,0,3,0,0,0,0,0,0,16,64,4,2,0,0,0,61,0,3,0,0,0,0,0,0,48,64,3,0,0,0,0,0,0,24,64,3,0,0,0,0,0,0,80,64,0,0,0,0,89,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,40,0,0,0,40,0,0,0,40,0,0,0,40,0,0,0,41,0,0,0,41,0,0,0,41,0,0,0,41,0,0,0,41,0,0,0,41,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,43,0,0,0,43,0,0,0,43,0,0,0,43,0,0,0,43,0,0,0,43,0,0,0,43,0,0,0,43,0,0,0,43,0,0,0,43,0,0,0,43,0,0,0,43,0,0,0,43,0,0,0,43,0,0,0,43,0,0,0,43,0,0,0,43,0,0,0,43,0,0,0,43,0,0,0,43,0,0,0,44,0,0,0,44,0,0,0,44,0,0,0,44,0,0,0,44,0,0,0,44,0,0,0,44,0,0,0,44,0,0,0,44,0,0,0,44,0,0,0,44,0,0,0,40,0,0,0,44,0,0,0,38,0,0,0,46,0,0,0,47,0,0,0,11,0,0,0,5,0,0,0,100,97,116,97,0,0,0,0,0,88,0,0,0,6,0,0,0,98,121,116,101,115,0,1,0,0,0,88,0,0,0,7,0,0,0,114,101,115,117,108,116,0,2,0,0,0,88,0,0,0,12,0,0,0,40,102,111,114,32,105,110,100,101,120,41,0,9,0,0,0,87,0,0,0,12,0,0,0,40,102,111,114,32,108,105,109,105,116,41,0,9,0,0,0,87,0,0,0,11,0,0,0,40,102,111,114,32,115,116,101,112,41,0,9,0,0,0,87,0,0,0,5,0,0,0,115,112,111,115,0,10,0,0,0,86,0,0,0,12,0,0,0,40,102,111,114,32,105,110,100,101,120,41,0,13,0,0,0,27,0,0,0,12,0,0,0,40,102,111,114,32,108,105,109,105,116,41,0,13,0,0,0,27,0,0,0,11,0,0,0,40,102,111,114,32,115,116,101,112,41,0,13,0,0,0,27,0,0,0,5,0,0,0,98,121,116,101,0,14,0,0,0,26,0,0,0,1,0,0,0,12,0,0,0,98,97,115,101,54,52,99,104,97,114,115,0,0,0,0,0,54,0,0,0,64,0,0,0,1,1,0,16,85,0,0,0,74,0,0,0,-127,0,0,0,-63,64,0,0,5,-127,0,0,6,-63,64,2,64,1,0,0,28,-127,0,1,13,1,65,2,65,65,1,0,-32,-64,17,-128,-63,1,1,0,1,66,1,0,65,2,1,0,-32,-63,2,-128,-60,2,0,0,5,-125,0,0,6,-125,65,6,64,3,0,0,-116,-125,2,3,-52,-125,2,3,28,-125,0,2,26,67,0,0,22,0,0,-128,1,-61,1,0,-58,2,-125,5,73,-64,2,5,-33,-127,-4,127,-64,1,0,1,5,-126,0,0,6,2,66,4,69,66,2,0,-123,-126,2,0,-58,2,-63,0,1,-61,2,0,-100,-126,-128,1,-59,2,3,0,6,-61,-62,0,65,67,1,0,-36,2,-128,1,92,2,0,0,28,-126,0,0,-107,0,-126,3,-64,1,0,1,6,66,-61,0,87,-128,67,4,22,-128,3,-128,5,-126,0,0,6,2,66,4,69,66,2,0,-123,-126,2,0,-58,-62,-62,0,1,67,1,0,-100,-126,-128,1,-59,2,3,0,6,67,-61,0,65,-61,2,0,-36,2,-128,1,92,2,0,0,28,-126,0,0,26,66,0,0,22,0,0,-128,1,2,0,0,-107,0,-126,3,-64,1,0,1,6,66,-63,0,87,-128,67,4,22,0,3,-128,5,-126,0,0,6,2,66,4,69,66,2,0,-123,-126,2,0,-58,66,-61,0,-48,66,-63,5,1,-61,3,0,-100,-126,-128,1,-58,66,-63,0,92,2,-128,1,28,-126,0,0,26,66,0,0,22,0,0,-128,1,2,0,0,-107,0,-126,3,-33,-128,-19,127,-98,0,0,1,30,0,-128,0,16,0,0,0,4,1,0,0,0,0,3,0,0,0,0,0,0,0,0,4,7,0,0,0,115,116,114,105,110,103,0,4,4,0,0,0,108,101,110,0,3,0,0,0,0,0,0,-16,63,3,0,0,0,0,0,0,16,64,4,4,0,0,0,115,117,98,0,4,2,0,0,0,61,0,4,5,0,0,0,99,104,97,114,0,4,4,0,0,0,108,111,114,0,4,4,0,0,0,108,115,104,0,3,0,0,0,0,0,0,0,64,4,4,0,0,0,114,115,104,0,3,0,0,0,0,0,0,8,64,0,3,0,0,0,0,0,0,24,64,0,0,0,0,85,0,0,0,55,0,0,0,56,0,0,0,57,0,0,0,57,0,0,0,57,0,0,0,57,0,0,0,57,0,0,0,57,0,0,0,57,0,0,0,57,0,0,0,58,0,0,0,58,0,0,0,58,0,0,0,58,0,0,0,58,0,0,0,58,0,0,0,58,0,0,0,58,0,0,0,58,0,0,0,58,0,0,0,58,0,0,0,58,0,0,0,58,0,0,0,58,0,0,0,58,0,0,0,58,0,0,0,58,0,0,0,59,0,0,0,59,0,0,0,59,0,0,0,59,0,0,0,59,0,0,0,59,0,0,0,59,0,0,0,59,0,0,0,59,0,0,0,59,0,0,0,59,0,0,0,59,0,0,0,59,0,0,0,59,0,0,0,59,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,57,0,0,0,63,0,0,0,64,0,0,0,11,0,0,0,5,0,0,0,100,97,116,97,0,0,0,0,0,84,0,0,0,6,0,0,0,99,104,97,114,115,0,1,0,0,0,84,0,0,0,7,0,0,0,114,101,115,117,108,116,0,2,0,0,0,84,0,0,0,12,0,0,0,40,102,111,114,32,105,110,100,101,120,41,0,9,0,0,0,83,0,0,0,12,0,0,0,40,102,111,114,32,108,105,109,105,116,41,0,9,0,0,0,83,0,0,0,11,0,0,0,40,102,111,114,32,115,116,101,112,41,0,9,0,0,0,83,0,0,0,5,0,0,0,100,112,111,115,0,10,0,0,0,82,0,0,0,12,0,0,0,40,102,111,114,32,105,110,100,101,120,41,0,13,0,0,0,27,0,0,0,12,0,0,0,40,102,111,114,32,108,105,109,105,116,41,0,13,0,0,0,27,0,0,0,11,0,0,0,40,102,111,114,32,115,116,101,112,41,0,13,0,0,0,27,0,0,0,5,0,0,0,99,104,97,114,0,14,0,0,0,26,0,0,0,1,0,0,0,12,0,0,0,98,97,115,101,54,52,98,121,116,101,115,0,-105,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,11,0,0,0,9,0,0,0,16,0,0,0,14,0,0,0,21,0,0,0,19,0,0,0,28,0,0,0,24,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,47,0,0,0,47,0,0,0,35,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,64,0,0,0,64,0,0,0,54,0,0,0,64,0,0,0,2,0,0,0,12,0,0,0,98,97,115,101,54,52,99,104,97,114,115,0,78,0,0,0,-106,0,0,0,12,0,0,0,98,97,115,101,54,52,98,121,116,101,115,0,-109,0,0,0,-106,0,0,0,0,0,0,0,75,0,0,0,64,47,85,115,101,114,115,47,99,111,114,101,121,47,99,111,100,101,47,109,105,110,101,47,119,97,120,47,116,111,111,108,115,47,70,114,97,109,101,119,111,114,107,47,119,97,120,47,108,105,98,47,115,116,100,108,105,98,47,104,101,108,112,101,114,115,47,98,105,116,46,108,117,97,0,0,0,0,0,0,0,0,0,0,0,2,14,53,0,0,0,36,0,0,0,100,64,0,0,0,0,0,0,0,0,-128,0,-92,-128,0,0,-28,-64,0,0,36,1,1,0,0,0,-128,0,0,0,-128,1,0,0,0,1,0,0,0,2,100,65,1,0,0,0,-128,0,0,0,-128,1,0,0,0,1,0,0,-128,2,-92,-127,1,0,0,0,-128,0,0,0,0,1,-28,-63,1,0,0,0,-128,0,0,0,-128,1,0,0,0,1,36,2,2,0,0,0,0,0,0,0,0,3,0,0,0,2,100,66,2,0,0,0,0,0,0,0,0,3,-92,-126,2,0,0,0,0,0,0,0,0,3,0,0,-128,2,-28,-62,2,0,0,0,0,2,0,0,0,3,0,0,-128,2,5,3,0,0,74,-125,2,0,73,-125,1,-127,73,67,-127,-127,73,3,1,-126,73,-61,-127,-126,73,3,2,-125,73,-125,-126,-125,73,-61,2,-124,73,67,-126,-124,73,67,0,-123,73,-125,-128,-123,9,67,-125,-128,35,0,0,0,30,0,-128,0,12,0,0,0,4,4,0,0,0,119,97,120,0,4,4,0,0,0,98,105,116,0,4,5,0,0,0,98,110,111,116,0,4,5,0,0,0,98,97,110,100,0,4,4,0,0,0,98,111,114,0,4,5,0,0,0,98,120,111,114,0,4,8,0,0,0,98,114,115,104,105,102,116,0,4,8,0,0,0,98,108,115,104,105,102,116,0,4,6,0,0,0,98,120,111,114,50,0,4,14,0,0,0,98,108,111,103,105,99,95,114,115,104,105,102,116,0,4,7,0,0,0,116,111,98,105,116,115,0,4,7,0,0,0,116,111,110,117,109,98,0,12,0,0,0,0,0,0,0,37,0,0,0,42,0,0,0,0,1,0,3,11,0,0,0,69,0,0,0,70,64,-64,0,-128,0,0,0,92,-128,0,1,77,64,0,0,24,64,0,-127,22,-128,0,-128,69,-64,0,0,-127,0,1,0,92,64,0,1,30,0,-128,0,5,0,0,0,4,5,0,0,0,109,97,116,104,0,4,6,0,0,0,102,108,111,111,114,0,3,0,0,0,0,0,0,0,0,4,6,0,0,0,101,114,114,111,114,0,4,48,0,0,0,116,114,121,105,110,103,32,116,111,32,117,115,101,32,98,105,116,119,105,115,101,32,111,112,101,114,97,116,105,111,110,32,111,110,32,110,111,110,45,105,110,116,101,103,101,114,33,0,0,0,0,0,11,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,40,0,0,0,40,0,0,0,40,0,0,0,42,0,0,0,1,0,0,0,2,0,0,0,110,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,44,0,0,0,65,0,0,0,2,1,0,6,36,0,0,0,68,0,0,0,-128,0,0,0,92,64,0,1,24,0,64,0,22,-128,2,-128,68,0,-128,0,-123,64,0,0,-122,-128,64,1,-59,-64,0,0,-58,0,-63,1,0,1,0,0,-36,0,0,1,-100,-128,0,0,-116,64,65,1,93,0,0,1,94,0,0,0,74,0,0,0,-127,64,1,0,24,0,0,-128,22,64,3,-128,-59,-64,0,0,-58,-128,-63,1,0,1,0,0,65,-63,1,0,-36,-128,-128,1,23,64,-63,1,22,64,0,-128,73,64,65,1,22,0,0,-128,73,0,64,1,13,-63,0,0,15,-64,65,2,-116,64,65,1,22,-64,-5,127,94,0,0,1,30,0,-128,0,8,0,0,0,3,0,0,0,0,0,0,0,0,4,4,0,0,0,98,105,116,0,4,5,0,0,0,98,110,111,116,0,4,5,0,0,0,109,97,116,104,0,4,4,0,0,0,97,98,115,0,3,0,0,0,0,0,0,-16,63,4,4,0,0,0,109,111,100,0,3,0,0,0,0,0,0,0,64,0,0,0,0,36,0,0,0,45,0,0,0,45,0,0,0,45,0,0,0,46,0,0,0,46,0,0,0,48,0,0,0,48,0,0,0,48,0,0,0,48,0,0,0,48,0,0,0,48,0,0,0,48,0,0,0,48,0,0,0,48,0,0,0,48,0,0,0,48,0,0,0,51,0,0,0,52,0,0,0,53,0,0,0,53,0,0,0,54,0,0,0,54,0,0,0,54,0,0,0,54,0,0,0,54,0,0,0,55,0,0,0,55,0,0,0,56,0,0,0,56,0,0,0,58,0,0,0,60,0,0,0,60,0,0,0,61,0,0,0,61,0,0,0,64,0,0,0,65,0,0,0,4,0,0,0,2,0,0,0,110,0,0,0,0,0,35,0,0,0,4,0,0,0,116,98,108,0,17,0,0,0,35,0,0,0,4,0,0,0,99,110,116,0,18,0,0,0,35,0,0,0,5,0,0,0,108,97,115,116,0,25,0,0,0,33,0,0,0,2,0,0,0,10,0,0,0,99,104,101,99,107,95,105,110,116,0,8,0,0,0,116,111,95,98,105,116,115,0,0,0,0,0,67,0,0,0,78,0,0,0,0,1,0,9,17,0,0,0,69,0,0,0,70,64,-64,0,-128,0,0,0,92,-128,0,1,-127,-128,0,0,-63,-64,0,0,1,-63,0,0,64,1,-128,0,-127,-63,0,0,32,-63,0,-128,6,-62,1,0,14,-62,0,4,-116,0,2,1,-50,0,-63,1,31,-127,-2,127,-98,0,0,1,30,0,-128,0,5,0,0,0,4,6,0,0,0,116,97,98,108,101,0,4,5,0,0,0,103,101,116,110,0,3,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,-16,63,3,0,0,0,0,0,0,0,64,0,0,0,0,17,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,70,0,0,0,71,0,0,0,72,0,0,0,72,0,0,0,72,0,0,0,72,0,0,0,73,0,0,0,73,0,0,0,73,0,0,0,74,0,0,0,72,0,0,0,77,0,0,0,78,0,0,0,8,0,0,0,4,0,0,0,116,98,108,0,0,0,0,0,16,0,0,0,2,0,0,0,110,0,4,0,0,0,16,0,0,0,5,0,0,0,114,115,108,116,0,5,0,0,0,16,0,0,0,6,0,0,0,112,111,119,101,114,0,6,0,0,0,16,0,0,0,12,0,0,0,40,102,111,114,32,105,110,100,101,120,41,0,9,0,0,0,15,0,0,0,12,0,0,0,40,102,111,114,32,108,105,109,105,116,41,0,9,0,0,0,15,0,0,0,11,0,0,0,40,102,111,114,32,115,116,101,112,41,0,9,0,0,0,15,0,0,0,2,0,0,0,105,0,10,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,80,0,0,0,95,0,0,0,0,2,0,8,31,0,0,0,-118,0,0,0,-54,0,0,0,5,1,0,0,6,65,64,2,64,1,0,0,28,-127,0,1,69,1,0,0,70,65,-64,2,-128,1,-128,0,92,-127,0,1,24,0,-127,2,22,-128,0,-128,-128,0,0,0,-64,0,-128,0,22,64,0,-128,-128,0,-128,0,-64,0,0,0,5,1,0,0,6,65,64,2,64,1,-128,1,28,-127,0,1,12,-127,64,2,69,1,0,0,70,65,-64,2,-128,1,0,1,92,-127,0,1,-127,-127,0,0,32,1,0,-128,-55,-64,-64,3,31,65,-1,127,30,0,-128,0,4,0,0,0,4,6,0,0,0,116,97,98,108,101,0,4,5,0,0,0,103,101,116,110,0,3,0,0,0,0,0,0,-16,63,3,0,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,81,0,0,0,82,0,0,0,83,0,0,0,83,0,0,0,83,0,0,0,83,0,0,0,83,0,0,0,83,0,0,0,83,0,0,0,83,0,0,0,83,0,0,0,83,0,0,0,84,0,0,0,85,0,0,0,85,0,0,0,87,0,0,0,88,0,0,0,91,0,0,0,91,0,0,0,91,0,0,0,91,0,0,0,91,0,0,0,91,0,0,0,91,0,0,0,91,0,0,0,91,0,0,0,91,0,0,0,91,0,0,0,92,0,0,0,91,0,0,0,95,0,0,0,8,0,0,0,6,0,0,0,116,98,108,95,109,0,0,0,0,0,30,0,0,0,6,0,0,0,116,98,108,95,110,0,0,0,0,0,30,0,0,0,4,0,0,0,98,105,103,0,1,0,0,0,30,0,0,0,6,0,0,0,115,109,97,108,108,0,2,0,0,0,30,0,0,0,12,0,0,0,40,102,111,114,32,105,110,100,101,120,41,0,27,0,0,0,30,0,0,0,12,0,0,0,40,102,111,114,32,108,105,109,105,116,41,0,27,0,0,0,30,0,0,0,11,0,0,0,40,102,111,114,32,115,116,101,112,41,0,27,0,0,0,30,0,0,0,2,0,0,0,105,0,28,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,97,0,0,0,120,0,0,0,4,2,3,14,64,0,0,0,-60,0,0,0,0,1,0,0,-36,-128,0,1,4,1,0,0,64,1,-128,0,28,-127,0,1,68,1,-128,0,-128,1,-128,1,-64,1,0,2,92,65,-128,1,74,1,0,0,-123,1,0,0,-122,65,64,3,-59,-127,0,0,-58,-63,-64,3,0,2,-128,1,-36,-127,0,1,5,-126,0,0,6,-62,64,4,64,2,0,2,28,2,0,1,-100,-127,0,0,-63,1,1,0,0,2,0,3,65,2,1,0,-32,1,2,-128,-58,-126,-126,1,23,64,-63,5,22,0,1,-128,-58,-126,2,2,23,64,-63,5,22,64,0,-128,73,65,65,5,22,0,0,-128,73,1,65,5,-33,65,-3,127,-60,1,0,1,0,2,-128,2,-36,-127,0,1,37,2,0,1,26,2,0,0,22,-64,4,-128,10,2,0,0,101,2,0,0,34,66,0,0,69,-126,0,0,70,-126,-63,4,-128,2,0,4,-63,2,1,0,92,-126,-128,1,-124,2,-128,1,-64,2,-128,3,0,3,-128,4,84,3,0,4,24,64,-125,-126,22,64,0,-128,91,67,0,4,22,0,0,-128,67,3,-128,6,-99,2,0,2,-98,2,0,0,22,0,0,-128,-34,1,0,1,30,0,-128,0,7,0,0,0,4,5,0,0,0,109,97,116,104,0,4,4,0,0,0,109,97,120,0,4,6,0,0,0,116,97,98,108,101,0,4,5,0,0,0,103,101,116,110,0,3,0,0,0,0,0,0,-16,63,3,0,0,0,0,0,0,0,0,4,7,0,0,0,114,101,109,111,118,101,0,0,0,0,0,64,0,0,0,98,0,0,0,98,0,0,0,98,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,100,0,0,0,100,0,0,0,100,0,0,0,100,0,0,0,102,0,0,0,103,0,0,0,103,0,0,0,103,0,0,0,103,0,0,0,103,0,0,0,103,0,0,0,103,0,0,0,103,0,0,0,103,0,0,0,103,0,0,0,103,0,0,0,104,0,0,0,104,0,0,0,104,0,0,0,104,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,106,0,0,0,106,0,0,0,108,0,0,0,104,0,0,0,112,0,0,0,112,0,0,0,112,0,0,0,113,0,0,0,113,0,0,0,113,0,0,0,114,0,0,0,114,0,0,0,114,0,0,0,115,0,0,0,115,0,0,0,115,0,0,0,115,0,0,0,115,0,0,0,116,0,0,0,116,0,0,0,116,0,0,0,116,0,0,0,116,0,0,0,116,0,0,0,116,0,0,0,116,0,0,0,116,0,0,0,116,0,0,0,116,0,0,0,116,0,0,0,118,0,0,0,120,0,0,0,14,0,0,0,2,0,0,0,109,0,0,0,0,0,63,0,0,0,2,0,0,0,110,0,0,0,0,0,63,0,0,0,4,0,0,0,97,114,103,0,0,0,0,0,63,0,0,0,6,0,0,0,116,98,108,95,109,0,3,0,0,0,63,0,0,0,6,0,0,0,116,98,108,95,110,0,6,0,0,0,63,0,0,0,4,0,0,0,116,98,108,0,11,0,0,0,63,0,0,0,5,0,0,0,114,115,108,116,0,22,0,0,0,63,0,0,0,12,0,0,0,40,102,111,114,32,105,110,100,101,120,41,0,25,0,0,0,36,0,0,0,12,0,0,0,40,102,111,114,32,108,105,109,105,116,41,0,25,0,0,0,36,0,0,0,11,0,0,0,40,102,111,114,32,115,116,101,112,41,0,25,0,0,0,36,0,0,0,2,0,0,0,105,0,26,0,0,0,35,0,0,0,7,0,0,0,114,101,115,117,108,116,0,39,0,0,0,63,0,0,0,5,0,0,0,97,114,103,115,0,45,0,0,0,61,0,0,0,2,0,0,0,110,0,50,0,0,0,61,0,0,0,4,0,0,0,8,0,0,0,116,111,95,98,105,116,115,0,7,0,0,0,101,120,112,97,110,100,0,14,0,0,0,116,98,108,95,116,111,95,110,117,109,98,101,114,0,7,0,0,0,98,105,116,95,111,114,0,0,0,0,0,122,0,0,0,-111,0,0,0,4,2,3,14,64,0,0,0,-60,0,0,0,0,1,0,0,-36,-128,0,1,4,1,0,0,64,1,-128,0,28,-127,0,1,68,1,-128,0,-128,1,-128,1,-64,1,0,2,92,65,-128,1,74,1,0,0,-123,1,0,0,-122,65,64,3,-59,-127,0,0,-58,-63,-64,3,0,2,-128,1,-36,-127,0,1,5,-126,0,0,6,-62,64,4,64,2,0,2,28,2,0,1,-100,-127,0,0,-63,1,1,0,0,2,0,3,65,2,1,0,-32,1,2,-128,-58,-126,-126,1,87,64,-63,5,22,-128,0,-128,-58,-126,2,2,23,64,-63,5,22,64,0,-128,73,65,65,5,22,0,0,-128,73,1,65,5,-33,65,-3,127,-60,1,0,1,0,2,-128,2,-36,-127,0,1,37,2,0,1,26,2,0,0,22,-64,4,-128,10,2,0,0,101,2,0,0,34,66,0,0,69,-126,0,0,70,-126,-63,4,-128,2,0,4,-63,2,1,0,92,-126,-128,1,-124,2,-128,1,-64,2,-128,3,0,3,-128,4,84,3,0,4,24,64,-125,-126,22,64,0,-128,91,67,0,4,22,0,0,-128,67,3,-128,6,-99,2,0,2,-98,2,0,0,22,0,0,-128,-34,1,0,1,30,0,-128,0,7,0,0,0,4,5,0,0,0,109,97,116,104,0,4,4,0,0,0,109,97,120,0,4,6,0,0,0,116,97,98,108,101,0,4,5,0,0,0,103,101,116,110,0,3,0,0,0,0,0,0,-16,63,3,0,0,0,0,0,0,0,0,4,7,0,0,0,114,101,109,111,118,101,0,0,0,0,0,64,0,0,0,123,0,0,0,123,0,0,0,123,0,0,0,124,0,0,0,124,0,0,0,124,0,0,0,125,0,0,0,125,0,0,0,125,0,0,0,125,0,0,0,127,0,0,0,-128,0,0,0,-128,0,0,0,-128,0,0,0,-128,0,0,0,-128,0,0,0,-128,0,0,0,-128,0,0,0,-128,0,0,0,-128,0,0,0,-128,0,0,0,-128,0,0,0,-127,0,0,0,-127,0,0,0,-127,0,0,0,-127,0,0,0,-126,0,0,0,-126,0,0,0,-126,0,0,0,-126,0,0,0,-126,0,0,0,-126,0,0,0,-125,0,0,0,-125,0,0,0,-123,0,0,0,-127,0,0,0,-119,0,0,0,-119,0,0,0,-119,0,0,0,-118,0,0,0,-118,0,0,0,-118,0,0,0,-117,0,0,0,-117,0,0,0,-117,0,0,0,-116,0,0,0,-116,0,0,0,-116,0,0,0,-116,0,0,0,-116,0,0,0,-115,0,0,0,-115,0,0,0,-115,0,0,0,-115,0,0,0,-115,0,0,0,-115,0,0,0,-115,0,0,0,-115,0,0,0,-115,0,0,0,-115,0,0,0,-115,0,0,0,-115,0,0,0,-113,0,0,0,-111,0,0,0,14,0,0,0,2,0,0,0,109,0,0,0,0,0,63,0,0,0,2,0,0,0,110,0,0,0,0,0,63,0,0,0,4,0,0,0,97,114,103,0,0,0,0,0,63,0,0,0,6,0,0,0,116,98,108,95,109,0,3,0,0,0,63,0,0,0,6,0,0,0,116,98,108,95,110,0,6,0,0,0,63,0,0,0,4,0,0,0,116,98,108,0,11,0,0,0,63,0,0,0,5,0,0,0,114,115,108,116,0,22,0,0,0,63,0,0,0,12,0,0,0,40,102,111,114,32,105,110,100,101,120,41,0,25,0,0,0,36,0,0,0,12,0,0,0,40,102,111,114,32,108,105,109,105,116,41,0,25,0,0,0,36,0,0,0,11,0,0,0,40,102,111,114,32,115,116,101,112,41,0,25,0,0,0,36,0,0,0,2,0,0,0,105,0,26,0,0,0,35,0,0,0,7,0,0,0,114,101,115,117,108,116,0,39,0,0,0,63,0,0,0,5,0,0,0,97,114,103,115,0,45,0,0,0,61,0,0,0,2,0,0,0,110,0,50,0,0,0,61,0,0,0,4,0,0,0,8,0,0,0,116,111,95,98,105,116,115,0,7,0,0,0,101,120,112,97,110,100,0,14,0,0,0,116,98,108,95,116,111,95,110,117,109,98,101,114,0,8,0,0,0,98,105,116,95,97,110,100,0,0,0,0,0,-109,0,0,0,-97,0,0,0,2,1,0,8,27,0,0,0,68,0,0,0,-128,0,0,0,92,-128,0,1,-123,0,0,0,-122,64,64,1,-59,-128,0,0,-58,-64,-64,1,0,1,-128,0,-36,-128,0,1,1,1,1,0,-100,-128,-128,1,-63,64,1,0,0,1,0,1,65,65,1,0,-32,64,1,-128,-58,-127,-127,0,23,64,-63,3,22,64,0,-128,73,-128,65,3,22,0,0,-128,73,64,65,3,-33,0,-2,127,-60,0,-128,0,0,1,-128,0,-35,0,0,1,-34,0,0,0,30,0,-128,0,7,0,0,0,4,5,0,0,0,109,97,116,104,0,4,4,0,0,0,109,97,120,0,4,6,0,0,0,116,97,98,108,101,0,4,5,0,0,0,103,101,116,110,0,3,0,0,0,0,0,0,64,64,3,0,0,0,0,0,0,-16,63,3,0,0,0,0,0,0,0,0,0,0,0,0,27,0,0,0,-107,0,0,0,-107,0,0,0,-107,0,0,0,-106,0,0,0,-106,0,0,0,-106,0,0,0,-106,0,0,0,-106,0,0,0,-106,0,0,0,-106,0,0,0,-106,0,0,0,-105,0,0,0,-105,0,0,0,-105,0,0,0,-105,0,0,0,-104,0,0,0,-104,0,0,0,-104,0,0,0,-103,0,0,0,-103,0,0,0,-101,0,0,0,-105,0,0,0,-98,0,0,0,-98,0,0,0,-98,0,0,0,-98,0,0,0,-97,0,0,0,7,0,0,0,2,0,0,0,110,0,0,0,0,0,26,0,0,0,4,0,0,0,116,98,108,0,3,0,0,0,26,0,0,0,5,0,0,0,115,105,122,101,0,11,0,0,0,26,0,0,0,12,0,0,0,40,102,111,114,32,105,110,100,101,120,41,0,14,0,0,0,22,0,0,0,12,0,0,0,40,102,111,114,32,108,105,109,105,116,41,0,14,0,0,0,22,0,0,0,11,0,0,0,40,102,111,114,32,115,116,101,112,41,0,14,0,0,0,22,0,0,0,2,0,0,0,105,0,15,0,0,0,21,0,0,0,2,0,0,0,8,0,0,0,116,111,95,98,105,116,115,0,14,0,0,0,116,98,108,95,116,111,95,110,117,109,98,101,114,0,0,0,0,0,-95,0,0,0,-77,0,0,0,3,2,0,12,39,0,0,0,-124,0,0,0,-64,0,0,0,-100,-128,0,1,-60,0,0,0,0,1,-128,0,-36,-128,0,1,4,1,-128,0,64,1,0,1,-128,1,-128,1,28,65,-128,1,10,1,0,0,69,1,0,0,70,65,-64,2,-123,-127,0,0,-122,-63,64,3,-64,1,0,1,-100,-127,0,1,-59,-127,0,0,-58,-63,-64,3,0,2,-128,1,-36,1,0,1,92,-127,0,0,-127,1,1,0,-64,1,-128,2,1,2,1,0,-96,-127,1,-128,-122,66,2,1,-58,66,-126,1,87,-64,2,5,22,64,0,-128,9,1,-63,4,22,0,0,-128,9,65,-63,4,-97,-63,-3,127,-124,1,0,1,-64,1,0,2,-99,1,0,1,-98,1,0,0,30,0,-128,0,6,0,0,0,4,5,0,0,0,109,97,116,104,0,4,4,0,0,0,109,97,120,0,4,6,0,0,0,116,97,98,108,101,0,4,5,0,0,0,103,101,116,110,0,3,0,0,0,0,0,0,-16,63,3,0,0,0,0,0,0,0,0,0,0,0,0,39,0,0,0,-94,0,0,0,-94,0,0,0,-94,0,0,0,-93,0,0,0,-93,0,0,0,-93,0,0,0,-92,0,0,0,-92,0,0,0,-92,0,0,0,-92,0,0,0,-90,0,0,0,-89,0,0,0,-89,0,0,0,-89,0,0,0,-89,0,0,0,-89,0,0,0,-89,0,0,0,-89,0,0,0,-89,0,0,0,-89,0,0,0,-89,0,0,0,-89,0,0,0,-88,0,0,0,-88,0,0,0,-88,0,0,0,-88,0,0,0,-87,0,0,0,-87,0,0,0,-87,0,0,0,-87,0,0,0,-86,0,0,0,-86,0,0,0,-84,0,0,0,-88,0,0,0,-78,0,0,0,-78,0,0,0,-78,0,0,0,-78,0,0,0,-77,0,0,0,10,0,0,0,2,0,0,0,109,0,0,0,0,0,38,0,0,0,2,0,0,0,110,0,0,0,0,0,38,0,0,0,6,0,0,0,116,98,108,95,109,0,3,0,0,0,38,0,0,0,6,0,0,0,116,98,108,95,110,0,6,0,0,0,38,0,0,0,4,0,0,0,116,98,108,0,11,0,0,0,38,0,0,0,5,0,0,0,114,115,108,116,0,22,0,0,0,38,0,0,0,12,0,0,0,40,102,111,114,32,105,110,100,101,120,41,0,25,0,0,0,34,0,0,0,12,0,0,0,40,102,111,114,32,108,105,109,105,116,41,0,25,0,0,0,34,0,0,0,11,0,0,0,40,102,111,114,32,115,116,101,112,41,0,25,0,0,0,34,0,0,0,2,0,0,0,105,0,26,0,0,0,33,0,0,0,3,0,0,0,8,0,0,0,116,111,95,98,105,116,115,0,7,0,0,0,101,120,112,97,110,100,0,14,0,0,0,116,98,108,95,116,111,95,110,117,109,98,101,114,0,0,0,0,0,-75,0,0,0,-60,0,0,0,3,2,0,10,34,0,0,0,-124,0,0,0,-64,0,0,0,-100,64,0,1,-127,0,0,0,24,0,64,0,22,-64,1,-128,-60,0,-128,0,5,65,0,0,6,-127,64,2,64,1,0,0,28,1,0,1,-36,-128,0,0,12,-64,-64,1,-127,0,1,0,-63,-64,0,0,0,1,-128,0,65,-63,0,0,-32,0,2,-128,15,64,65,0,-60,1,0,1,5,66,0,0,6,-126,65,4,64,2,0,0,28,-126,0,1,64,2,0,1,-36,-127,-128,1,0,0,-128,3,-33,64,-3,127,-59,64,0,0,-58,-128,-63,1,0,1,0,0,-35,0,0,1,-34,0,0,0,30,0,-128,0,7,0,0,0,3,0,0,0,0,0,0,0,0,4,5,0,0,0,109,97,116,104,0,4,4,0,0,0,97,98,115,0,3,0,0,0,0,0,0,-16,63,3,0,0,0,0,0,0,-32,65,3,0,0,0,0,0,0,0,64,4,6,0,0,0,102,108,111,111,114,0,0,0,0,0,34,0,0,0,-74,0,0,0,-74,0,0,0,-74,0,0,0,-72,0,0,0,-71,0,0,0,-71,0,0,0,-69,0,0,0,-69,0,0,0,-69,0,0,0,-69,0,0,0,-69,0,0,0,-69,0,0,0,-69,0,0,0,-68,0,0,0,-65,0,0,0,-65,0,0,0,-65,0,0,0,-65,0,0,0,-64,0,0,0,-63,0,0,0,-63,0,0,0,-63,0,0,0,-63,0,0,0,-63,0,0,0,-63,0,0,0,-63,0,0,0,-63,0,0,0,-65,0,0,0,-61,0,0,0,-61,0,0,0,-61,0,0,0,-61,0,0,0,-61,0,0,0,-60,0,0,0,7,0,0,0,2,0,0,0,110,0,0,0,0,0,33,0,0,0,5,0,0,0,98,105,116,115,0,0,0,0,0,33,0,0,0,9,0,0,0,104,105,103,104,95,98,105,116,0,4,0,0,0,33,0,0,0,12,0,0,0,40,102,111,114,32,105,110,100,101,120,41,0,17,0,0,0,28,0,0,0,12,0,0,0,40,102,111,114,32,108,105,109,105,116,41,0,17,0,0,0,28,0,0,0,11,0,0,0,40,102,111,114,32,115,116,101,112,41,0,17,0,0,0,28,0,0,0,2,0,0,0,105,0,18,0,0,0,27,0,0,0,3,0,0,0,10,0,0,0,99,104,101,99,107,95,105,110,116,0,8,0,0,0,98,105,116,95,110,111,116,0,7,0,0,0,98,105,116,95,111,114,0,0,0,0,0,-57,0,0,0,-47,0,0,0,2,2,0,6,24,0,0,0,-124,0,0,0,-64,0,0,0,-100,64,0,1,24,0,64,0,22,-128,1,-128,-124,0,-128,0,-59,64,0,0,-58,-128,-64,1,0,1,0,0,-36,0,0,1,-100,-128,0,0,12,-64,64,1,-127,-64,0,0,-64,0,-128,0,1,-63,0,0,-96,0,0,-128,15,0,65,0,-97,64,-1,127,-123,64,0,0,-122,64,65,1,-64,0,0,0,-99,0,0,1,-98,0,0,0,30,0,-128,0,6,0,0,0,3,0,0,0,0,0,0,0,0,4,5,0,0,0,109,97,116,104,0,4,4,0,0,0,97,98,115,0,3,0,0,0,0,0,0,-16,63,3,0,0,0,0,0,0,0,64,4,6,0,0,0,102,108,111,111,114,0,0,0,0,0,24,0,0,0,-56,0,0,0,-56,0,0,0,-56,0,0,0,-55,0,0,0,-55,0,0,0,-53,0,0,0,-53,0,0,0,-53,0,0,0,-53,0,0,0,-53,0,0,0,-53,0,0,0,-53,0,0,0,-51,0,0,0,-51,0,0,0,-51,0,0,0,-51,0,0,0,-50,0,0,0,-51,0,0,0,-48,0,0,0,-48,0,0,0,-48,0,0,0,-48,0,0,0,-48,0,0,0,-47,0,0,0,6,0,0,0,2,0,0,0,110,0,0,0,0,0,23,0,0,0,5,0,0,0,98,105,116,115,0,0,0,0,0,23,0,0,0,12,0,0,0,40,102,111,114,32,105,110,100,101,120,41,0,15,0,0,0,18,0,0,0,12,0,0,0,40,102,111,114,32,108,105,109,105,116,41,0,15,0,0,0,18,0,0,0,11,0,0,0,40,102,111,114,32,115,116,101,112,41,0,15,0,0,0,18,0,0,0,2,0,0,0,105,0,16,0,0,0,17,0,0,0,2,0,0,0,10,0,0,0,99,104,101,99,107,95,105,110,116,0,8,0,0,0,98,105,116,95,110,111,116,0,0,0,0,0,-45,0,0,0,-33,0,0,0,3,2,0,6,24,0,0,0,-124,0,0,0,-64,0,0,0,-100,64,0,1,24,0,64,0,22,-128,1,-128,-124,0,-128,0,-59,64,0,0,-58,-128,-64,1,0,1,0,0,-36,0,0,1,-100,-128,0,0,12,-64,64,1,-127,-64,0,0,-64,0,-128,0,1,-63,0,0,-96,0,0,-128,14,0,65,0,-97,64,-1,127,-124,0,0,1,-64,0,0,0,1,65,1,0,-99,0,-128,1,-98,0,0,0,30,0,-128,0,6,0,0,0,3,0,0,0,0,0,0,0,0,4,5,0,0,0,109,97,116,104,0,4,4,0,0,0,97,98,115,0,3,0,0,0,0,0,0,-16,63,3,0,0,0,0,0,0,0,64,3,0,0,-32,-1,-1,-1,-17,65,0,0,0,0,24,0,0,0,-44,0,0,0,-44,0,0,0,-44,0,0,0,-42,0,0,0,-42,0,0,0,-40,0,0,0,-40,0,0,0,-40,0,0,0,-40,0,0,0,-40,0,0,0,-40,0,0,0,-40,0,0,0,-37,0,0,0,-37,0,0,0,-37,0,0,0,-37,0,0,0,-36,0,0,0,-37,0,0,0,-34,0,0,0,-34,0,0,0,-34,0,0,0,-34,0,0,0,-34,0,0,0,-33,0,0,0,6,0,0,0,2,0,0,0,110,0,0,0,0,0,23,0,0,0,5,0,0,0,98,105,116,115,0,0,0,0,0,23,0,0,0,12,0,0,0,40,102,111,114,32,105,110,100,101,120,41,0,15,0,0,0,18,0,0,0,12,0,0,0,40,102,111,114,32,108,105,109,105,116,41,0,15,0,0,0,18,0,0,0,11,0,0,0,40,102,111,114,32,115,116,101,112,41,0,15,0,0,0,18,0,0,0,2,0,0,0,105,0,16,0,0,0,17,0,0,0,3,0,0,0,10,0,0,0,99,104,101,99,107,95,105,110,116,0,8,0,0,0,98,105,116,95,110,111,116,0,8,0,0,0,98,105,116,95,97,110,100,0,0,0,0,0,-31,0,0,0,-26,0,0,0,3,2,0,7,18,0,0,0,-124,0,0,0,-60,0,-128,0,0,1,0,0,-36,-128,0,1,4,1,-128,0,64,1,-128,0,28,1,0,1,-100,-128,0,0,-60,0,0,0,0,1,0,0,64,1,-128,0,-36,-128,-128,1,4,1,0,1,64,1,-128,1,-128,1,0,1,28,-127,-128,1,30,1,0,1,30,0,-128,0,0,0,0,0,0,0,0,0,18,0,0,0,-30,0,0,0,-30,0,0,0,-30,0,0,0,-30,0,0,0,-30,0,0,0,-30,0,0,0,-30,0,0,0,-30,0,0,0,-29,0,0,0,-29,0,0,0,-29,0,0,0,-29,0,0,0,-28,0,0,0,-28,0,0,0,-28,0,0,0,-28,0,0,0,-27,0,0,0,-26,0,0,0,5,0,0,0,2,0,0,0,109,0,0,0,0,0,17,0,0,0,2,0,0,0,110,0,0,0,0,0,17,0,0,0,4,0,0,0,114,104,115,0,8,0,0,0,17,0,0,0,4,0,0,0,108,104,115,0,12,0,0,0,17,0,0,0,5,0,0,0,114,115,108,116,0,16,0,0,0,17,0,0,0,3,0,0,0,7,0,0,0,98,105,116,95,111,114,0,8,0,0,0,98,105,116,95,110,111,116,0,8,0,0,0,98,105,116,95,97,110,100,0,53,0,0,0,42,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,78,0,0,0,95,0,0,0,120,0,0,0,120,0,0,0,120,0,0,0,120,0,0,0,120,0,0,0,-111,0,0,0,-111,0,0,0,-111,0,0,0,-111,0,0,0,-111,0,0,0,-97,0,0,0,-97,0,0,0,-97,0,0,0,-77,0,0,0,-77,0,0,0,-77,0,0,0,-77,0,0,0,-60,0,0,0,-60,0,0,0,-60,0,0,0,-60,0,0,0,-47,0,0,0,-47,0,0,0,-47,0,0,0,-33,0,0,0,-33,0,0,0,-33,0,0,0,-33,0,0,0,-26,0,0,0,-26,0,0,0,-26,0,0,0,-26,0,0,0,-21,0,0,0,-21,0,0,0,-19,0,0,0,-18,0,0,0,-17,0,0,0,-16,0,0,0,-15,0,0,0,-14,0,0,0,-13,0,0,0,-12,0,0,0,-9,0,0,0,-8,0,0,0,-7,0,0,0,-7,0,0,0,-5,0,0,0,12,0,0,0,10,0,0,0,99,104,101,99,107,95,105,110,116,0,1,0,0,0,51,0,0,0,8,0,0,0,116,111,95,98,105,116,115,0,4,0,0,0,51,0,0,0,14,0,0,0,116,98,108,95,116,111,95,110,117,109,98,101,114,0,5,0,0,0,51,0,0,0,7,0,0,0,101,120,112,97,110,100,0,6,0,0,0,51,0,0,0,7,0,0,0,98,105,116,95,111,114,0,11,0,0,0,51,0,0,0,8,0,0,0,98,105,116,95,97,110,100,0,16,0,0,0,51,0,0,0,8,0,0,0,98,105,116,95,110,111,116,0,19,0,0,0,51,0,0,0,8,0,0,0,98,105,116,95,120,111,114,0,23,0,0,0,51,0,0,0,11,0,0,0,98,105,116,95,114,115,104,105,102,116,0,27,0,0,0,51,0,0,0,17,0,0,0,98,105,116,95,108,111,103,105,99,95,114,115,104,105,102,116,0,30,0,0,0,51,0,0,0,11,0,0,0,98,105,116,95,108,115,104,105,102,116,0,34,0,0,0,51,0,0,0,9,0,0,0,98,105,116,95,120,111,114,50,0,38,0,0,0,51,0,0,0,0,0,0,0,77,0,0,0,64,47,85,115,101,114,115,47,99,111,114,101,121,47,99,111,100,101,47,109,105,110,101,47,119,97,120,47,116,111,111,108,115,47,70,114,97,109,101,119,111,114,107,47,119,97,120,47,108,105,98,47,115,116,100,108,105,98,47,104,101,108,112,101,114,115,47,99,97,99,104,101,46,108,117,97,0,0,0,0,0,0,0,0,0,0,0,2,3,34,0,0,0,5,0,0,0,74,0,0,0,9,64,-128,-128,5,-128,0,0,69,0,0,0,70,64,-64,0,-123,0,0,0,-122,64,64,1,28,64,-128,1,5,0,0,0,6,64,64,0,100,0,0,0,9,64,-128,-127,5,0,0,0,6,64,64,0,100,64,0,0,9,64,0,-126,5,0,0,0,6,64,64,0,100,-128,0,0,9,64,-128,-126,5,0,0,0,6,64,64,0,100,-64,0,0,9,64,0,-125,5,0,0,0,6,64,64,0,100,0,1,0,9,64,-128,-125,5,0,0,0,6,64,64,0,100,64,1,0,9,64,0,-124,30,0,-128,0,9,0,0,0,4,4,0,0,0,119,97,120,0,4,6,0,0,0,99,97,99,104,101,0,4,13,0,0,0,115,101,116,109,101,116,97,116,97,98,108,101,0,4,4,0,0,0,103,101,116,0,4,4,0,0,0,115,101,116,0,4,4,0,0,0,97,103,101,0,4,6,0,0,0,99,108,101,97,114,0,4,9,0,0,0,99,108,101,97,114,65,108,108,0,4,8,0,0,0,112,97,116,104,70,111,114,0,6,0,0,0,0,0,0,0,7,0,0,0,30,0,0,0,0,2,0,8,50,0,0,0,-123,0,0,0,-122,64,64,1,-122,-128,64,1,-64,0,0,0,-100,-128,0,1,-59,0,0,0,-58,-64,-64,1,-58,0,-63,1,0,1,0,1,-36,-128,0,1,-38,64,0,0,22,64,0,-128,-61,0,-128,1,-34,0,0,1,90,0,0,0,22,64,3,-128,-59,64,1,0,-58,-128,-63,1,-36,-128,-128,0,5,1,0,0,6,-63,64,2,6,-63,65,2,64,1,0,1,28,-127,0,1,6,1,66,2,-51,0,-127,1,24,-64,-128,0,22,64,0,-128,3,1,0,2,30,1,0,1,-59,64,2,0,36,1,0,0,0,0,0,1,-36,-64,0,1,-38,64,0,0,22,-64,2,-128,69,-127,2,0,-127,-63,2,0,-64,1,0,0,92,65,-128,1,69,1,0,0,70,65,-64,2,70,1,-61,2,-128,1,0,0,92,65,0,1,67,1,-128,2,94,1,0,1,22,0,0,-128,30,1,0,1,30,0,-128,0,13,0,0,0,4,4,0,0,0,119,97,120,0,4,6,0,0,0,99,97,99,104,101,0,4,8,0,0,0,112,97,116,104,70,111,114,0,4,11,0,0,0,102,105,108,101,115,121,115,116,101,109,0,4,7,0,0,0,105,115,70,105,108,101,0,4,3,0,0,0,111,115,0,4,5,0,0,0,116,105,109,101,0,4,11,0,0,0,97,116,116,114,105,98,117,116,101,115,0,4,11,0,0,0,109,111,100,105,102,105,101,100,65,116,0,4,6,0,0,0,112,99,97,108,108,0,4,5,0,0,0,112,117,116,115,0,4,39,0,0,0,69,114,114,111,114,58,32,67,111,117,108,100,110,39,116,32,114,101,97,100,32,99,97,99,104,101,32,119,105,116,104,32,107,101,121,32,37,115,0,4,6,0,0,0,99,108,101,97,114,0,1,0,0,0,0,0,0,0,19,0,0,0,21,0,0,0,1,0,0,3,6,0,0,0,5,0,0,0,11,64,64,0,-124,0,0,0,29,0,-128,1,30,0,0,0,30,0,-128,0,2,0,0,0,4,18,0,0,0,78,83,75,101,121,101,100,85,110,97,114,99,104,105,118,101,114,0,4,24,0,0,0,117,110,97,114,99,104,105,118,101,79,98,106,101,99,116,87,105,116,104,70,105,108,101,0,0,0,0,0,6,0,0,0,20,0,0,0,20,0,0,0,20,0,0,0,20,0,0,0,20,0,0,0,21,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,112,97,116,104,0,50,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,19,0,0,0,21,0,0,0,21,0,0,0,19,0,0,0,23,0,0,0,23,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,25,0,0,0,25,0,0,0,25,0,0,0,25,0,0,0,25,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,28,0,0,0,30,0,0,0,6,0,0,0,4,0,0,0,107,101,121,0,0,0,0,0,49,0,0,0,7,0,0,0,109,97,120,65,103,101,0,0,0,0,0,49,0,0,0,5,0,0,0,112,97,116,104,0,5,0,0,0,49,0,0,0,8,0,0,0,102,105,108,101,65,103,101,0,26,0,0,0,30,0,0,0,8,0,0,0,115,117,99,99,101,115,115,0,34,0,0,0,49,0,0,0,7,0,0,0,114,101,115,117,108,116,0,34,0,0,0,49,0,0,0,0,0,0,0,0,0,0,0,35,0,0,0,44,0,0,0,0,2,0,8,26,0,0,0,-123,0,0,0,-122,64,64,1,-122,-128,64,1,-64,0,0,0,-100,-128,0,1,90,64,0,0,22,64,1,-128,-59,0,0,0,-58,64,-64,1,-58,-64,-64,1,0,1,0,0,-36,64,0,1,22,-64,2,-128,-59,0,1,0,-53,64,-63,1,64,1,-128,0,-128,1,0,1,-36,-128,0,2,-38,64,0,0,22,0,1,-128,5,-127,1,0,65,-63,1,0,-128,1,0,0,-64,1,0,1,28,65,0,2,30,0,-128,0,8,0,0,0,4,4,0,0,0,119,97,120,0,4,6,0,0,0,99,97,99,104,101,0,4,8,0,0,0,112,97,116,104,70,111,114,0,4,6,0,0,0,99,108,101,97,114,0,4,16,0,0,0,78,83,75,101,121,101,100,65,114,99,104,105,118,101,114,0,4,25,0,0,0,97,114,99,104,105,118,101,82,111,111,116,79,98,106,101,99,116,95,116,111,70,105,108,101,0,4,5,0,0,0,112,117,116,115,0,4,36,0,0,0,67,111,117,108,100,110,39,116,32,97,114,99,104,105,118,101,32,99,97,99,104,101,32,39,37,115,39,32,116,111,32,39,37,115,39,0,0,0,0,0,26,0,0,0,36,0,0,0,36,0,0,0,36,0,0,0,36,0,0,0,36,0,0,0,38,0,0,0,38,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,41,0,0,0,41,0,0,0,41,0,0,0,41,0,0,0,41,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,44,0,0,0,4,0,0,0,4,0,0,0,107,101,121,0,0,0,0,0,25,0,0,0,9,0,0,0,99,111,110,116,101,110,116,115,0,0,0,0,0,25,0,0,0,5,0,0,0,112,97,116,104,0,5,0,0,0,25,0,0,0,8,0,0,0,115,117,99,99,101,115,115,0,18,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,46,0,0,0,55,0,0,0,0,1,0,5,30,0,0,0,69,0,0,0,70,64,-64,0,70,-128,-64,0,-128,0,0,0,92,-128,0,1,-123,0,0,0,-122,-64,64,1,-122,0,65,1,-64,0,-128,0,-100,-128,0,1,-102,64,0,0,22,64,1,-128,-123,0,0,0,-122,64,65,1,-122,-128,65,1,-63,-64,1,0,-99,0,0,1,-98,0,0,0,-123,0,2,0,-122,64,65,1,-100,-128,-128,0,-59,0,0,0,-58,-64,-64,1,-58,64,-62,1,0,1,-128,0,-36,-128,0,1,-58,-128,-62,1,-115,-64,0,1,-98,0,0,1,30,0,-128,0,11,0,0,0,4,4,0,0,0,119,97,120,0,4,6,0,0,0,99,97,99,104,101,0,4,8,0,0,0,112,97,116,104,70,111,114,0,4,11,0,0,0,102,105,108,101,115,121,115,116,101,109,0,4,7,0,0,0,105,115,70,105,108,101,0,4,5,0,0,0,116,105,109,101,0,4,5,0,0,0,100,97,121,115,0,3,0,0,0,0,0,64,-113,64,4,3,0,0,0,111,115,0,4,11,0,0,0,97,116,116,114,105,98,117,116,101,115,0,4,11,0,0,0,109,111,100,105,102,105,101,100,65,116,0,0,0,0,0,30,0,0,0,47,0,0,0,47,0,0,0,47,0,0,0,47,0,0,0,47,0,0,0,51,0,0,0,51,0,0,0,51,0,0,0,51,0,0,0,51,0,0,0,51,0,0,0,51,0,0,0,51,0,0,0,51,0,0,0,51,0,0,0,51,0,0,0,51,0,0,0,51,0,0,0,53,0,0,0,53,0,0,0,53,0,0,0,53,0,0,0,53,0,0,0,53,0,0,0,53,0,0,0,53,0,0,0,53,0,0,0,53,0,0,0,54,0,0,0,55,0,0,0,3,0,0,0,4,0,0,0,107,101,121,0,0,0,0,0,29,0,0,0,5,0,0,0,112,97,116,104,0,5,0,0,0,29,0,0,0,8,0,0,0,102,105,108,101,65,103,101,0,28,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,58,0,0,0,63,0,0,0,0,0,3,9,19,0,0,0,69,0,0,0,-118,0,0,0,-27,0,0,0,-94,64,0,0,92,0,1,1,22,64,2,-128,-123,65,0,0,-122,-127,64,3,-122,-63,64,3,-64,1,-128,2,-100,-127,0,1,-59,65,0,0,-58,1,-63,3,-58,65,-63,3,0,2,0,3,-36,65,0,1,97,-128,0,0,22,-64,-4,127,30,0,-128,0,6,0,0,0,4,7,0,0,0,105,112,97,105,114,115,0,4,4,0,0,0,119,97,120,0,4,6,0,0,0,99,97,99,104,101,0,4,8,0,0,0,112,97,116,104,70,111,114,0,4,11,0,0,0,102,105,108,101,115,121,115,116,101,109,0,4,7,0,0,0,100,101,108,101,116,101,0,0,0,0,0,19,0,0,0,59,0,0,0,59,0,0,0,59,0,0,0,59,0,0,0,59,0,0,0,59,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,59,0,0,0,61,0,0,0,63,0,0,0,7,0,0,0,4,0,0,0,97,114,103,0,0,0,0,0,18,0,0,0,16,0,0,0,40,102,111,114,32,103,101,110,101,114,97,116,111,114,41,0,5,0,0,0,18,0,0,0,12,0,0,0,40,102,111,114,32,115,116,97,116,101,41,0,5,0,0,0,18,0,0,0,14,0,0,0,40,102,111,114,32,99,111,110,116,114,111,108,41,0,5,0,0,0,18,0,0,0,2,0,0,0,105,0,6,0,0,0,16,0,0,0,4,0,0,0,107,101,121,0,6,0,0,0,16,0,0,0,5,0,0,0,112,97,116,104,0,11,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,66,0,0,0,69,0,0,0,0,0,0,2,11,0,0,0,5,0,0,0,6,64,64,0,6,-128,64,0,69,-64,0,0,28,64,0,1,5,0,0,0,6,64,64,0,6,0,65,0,69,-64,0,0,28,64,0,1,30,0,-128,0,5,0,0,0,4,4,0,0,0,119,97,120,0,4,11,0,0,0,102,105,108,101,115,121,115,116,101,109,0,4,7,0,0,0,100,101,108,101,116,101,0,4,17,0,0,0,78,83,67,97,99,104,101,68,105,114,101,99,116,111,114,121,0,4,10,0,0,0,99,114,101,97,116,101,68,105,114,0,0,0,0,0,11,0,0,0,67,0,0,0,67,0,0,0,67,0,0,0,67,0,0,0,67,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,69,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,71,0,0,0,73,0,0,0,0,1,0,5,10,0,0,0,69,0,0,0,-127,64,0,0,-59,-128,0,0,-58,-64,-64,1,-58,0,-63,1,0,1,0,0,-36,-128,0,1,85,-64,-128,0,94,0,0,1,30,0,-128,0,5,0,0,0,4,17,0,0,0,78,83,67,97,99,104,101,68,105,114,101,99,116,111,114,121,0,4,2,0,0,0,47,0,4,4,0,0,0,119,97,120,0,4,7,0,0,0,98,97,115,101,54,52,0,4,7,0,0,0,101,110,99,111,100,101,0,0,0,0,0,10,0,0,0,72,0,0,0,72,0,0,0,72,0,0,0,72,0,0,0,72,0,0,0,72,0,0,0,72,0,0,0,72,0,0,0,72,0,0,0,73,0,0,0,1,0,0,0,4,0,0,0,107,101,121,0,0,0,0,0,9,0,0,0,0,0,0,0,34,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,7,0,0,0,7,0,0,0,30,0,0,0,7,0,0,0,35,0,0,0,35,0,0,0,44,0,0,0,35,0,0,0,46,0,0,0,46,0,0,0,55,0,0,0,46,0,0,0,58,0,0,0,58,0,0,0,63,0,0,0,58,0,0,0,66,0,0,0,66,0,0,0,69,0,0,0,66,0,0,0,71,0,0,0,71,0,0,0,73,0,0,0,71,0,0,0,73,0,0,0,0,0,0,0,0,0,0,0,80,0,0,0,64,47,85,115,101,114,115,47,99,111,114,101,121,47,99,111,100,101,47,109,105,110,101,47,119,97,120,47,116,111,111,108,115,47,70,114,97,109,101,119,111,114,107,47,119,97,120,47,108,105,98,47,115,116,100,108,105,98,47,104,101,108,112,101,114,115,47,99,97,108,108,98,97,99,107,46,108,117,97,0,0,0,0,0,0,0,0,0,0,0,2,2,4,0,0,0,5,0,0,0,100,0,0,0,9,64,-128,-128,30,0,-128,0,2,0,0,0,4,4,0,0,0,119,97,120,0,4,9,0,0,0,99,97,108,108,98,97,99,107,0,1,0,0,0,0,0,0,0,3,0,0,0,22,0,0,0,0,1,0,5,12,0,0,0,74,64,0,0,73,0,0,-128,-92,0,0,0,73,-128,-128,-128,-92,64,0,0,73,-128,0,-127,-123,-64,0,0,-64,0,-128,0,0,1,-128,0,-100,64,-128,1,94,0,0,1,30,0,-128,0,4,0,0,0,4,9,0,0,0,99,97,108,108,98,97,99,107,0,4,7,0,0,0,99,97,110,99,101,108,0,4,7,0,0,0,95,95,99,97,108,108,0,4,13,0,0,0,115,101,116,109,101,116,97,116,97,98,108,101,0,2,0,0,0,0,0,0,0,6,0,0,0,8,0,0,0,0,1,0,2,2,0,0,0,9,64,64,-128,30,0,-128,0,2,0,0,0,4,9,0,0,0,99,97,110,99,101,108,101,100,0,1,1,0,0,0,0,2,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,5,0,0,0,115,101,108,102,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,17,0,0,0,0,1,3,6,22,0,0,0,-122,0,64,0,-102,0,0,0,22,0,0,-128,30,0,-128,0,-122,64,64,0,-102,0,0,0,22,64,1,-128,-118,0,-128,0,-58,64,64,0,37,1,0,0,-94,64,0,0,-102,64,0,0,22,-128,0,-128,-118,0,0,0,-27,0,0,0,-94,64,0,0,-58,-128,64,0,5,-63,0,0,64,1,0,1,28,1,0,1,-36,64,0,0,30,0,-128,0,4,0,0,0,4,9,0,0,0,99,97,110,99,101,108,101,100,0,4,6,0,0,0,115,99,111,112,101,0,4,9,0,0,0,99,97,108,108,98,97,99,107,0,4,7,0,0,0,117,110,112,97,99,107,0,0,0,0,0,22,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,3,0,0,0,5,0,0,0,115,101,108,102,0,0,0,0,0,21,0,0,0,4,0,0,0,97,114,103,0,0,0,0,0,21,0,0,0,5,0,0,0,97,114,103,115,0,16,0,0,0,21,0,0,0,0,0,0,0,12,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,6,0,0,0,17,0,0,0,10,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,21,0,0,0,22,0,0,0,2,0,0,0,9,0,0,0,99,97,108,108,98,97,99,107,0,0,0,0,0,11,0,0,0,7,0,0,0,111,98,106,101,99,116,0,2,0,0,0,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,0,0,0,0,0,0,0,0,77,0,0,0,64,47,85,115,101,114,115,47,99,111,114,101,121,47,99,111,100,101,47,109,105,110,101,47,119,97,120,47,116,111,111,108,115,47,70,114,97,109,101,119,111,114,107,47,119,97,120,47,108,105,98,47,115,116,100,108,105,98,47,104,101,108,112,101,114,115,47,102,114,97,109,101,46,108,117,97,0,0,0,0,0,0,0,0,0,0,0,2,2,10,0,0,0,5,0,0,0,100,0,0,0,9,64,-128,-128,5,0,0,0,100,64,0,0,9,64,0,-127,5,0,0,0,100,-128,0,0,9,64,-128,-127,30,0,-128,0,4,0,0,0,4,4,0,0,0,119,97,120,0,4,6,0,0,0,102,114,97,109,101,0,4,7,0,0,0,98,111,117,110,100,115,0,4,11,0,0,0,100,105,109,101,110,115,105,111,110,115,0,3,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,0,1,0,4,7,0,0,0,69,0,0,0,70,64,-64,0,-128,0,0,0,-63,-128,0,0,93,0,-128,1,94,0,0,0,30,0,-128,0,3,0,0,0,4,4,0,0,0,119,97,120,0,4,11,0,0,0,100,105,109,101,110,115,105,111,110,115,0,4,6,0,0,0,102,114,97,109,101,0,0,0,0,0,7,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,111,98,106,101,99,116,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,8,0,0,0,0,1,0,4,7,0,0,0,69,0,0,0,70,64,-64,0,-128,0,0,0,-63,-128,0,0,93,0,-128,1,94,0,0,0,30,0,-128,0,3,0,0,0,4,4,0,0,0,119,97,120,0,4,11,0,0,0,100,105,109,101,110,115,105,111,110,115,0,4,7,0,0,0,98,111,117,110,100,115,0,0,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,1,0,0,0,7,0,0,0,111,98,106,101,99,116,0,0,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,76,0,0,0,0,2,0,6,18,0,0,0,-123,0,0,0,-54,-128,0,0,-55,0,-128,-128,36,1,0,0,0,0,-128,0,-55,0,1,-127,10,-127,0,0,100,65,0,0,0,0,-128,0,0,0,0,0,9,65,-127,-127,100,-127,0,0,0,0,-128,0,0,0,0,0,9,65,1,-126,-99,0,-128,1,-98,0,0,0,30,0,-128,0,5,0,0,0,4,13,0,0,0,115,101,116,109,101,116,97,116,97,98,108,101,0,4,7,0,0,0,111,98,106,101,99,116,0,4,7,0,0,0,99,101,110,116,101,114,0,4,8,0,0,0,95,95,105,110,100,101,120,0,4,11,0,0,0,95,95,110,101,119,105,110,100,101,120,0,3,0,0,0,0,0,0,0,13,0,0,0,17,0,0,0,1,1,0,4,14,0,0,0,69,0,0,0,70,64,-64,0,-122,-128,64,0,-117,-64,64,1,-100,-128,0,1,-60,0,0,0,92,-128,-128,1,70,0,-63,0,-122,0,65,0,77,-128,-128,0,79,64,-63,0,9,64,0,-125,30,0,0,1,30,0,-128,0,7,0,0,0,4,4,0,0,0,119,97,120,0,4,11,0,0,0,100,105,109,101,110,115,105,111,110,115,0,4,7,0,0,0,111,98,106,101,99,116,0,4,10,0,0,0,115,117,112,101,114,118,105,101,119,0,4,6,0,0,0,119,105,100,116,104,0,3,0,0,0,0,0,0,0,64,4,2,0,0,0,120,0,0,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,2,0,0,0,5,0,0,0,115,101,108,102,0,0,0,0,0,13,0,0,0,7,0,0,0,111,102,102,115,101,116,0,11,0,0,0,13,0,0,0,1,0,0,0,8,0,0,0,118,97,114,78,97,109,101,0,0,0,0,0,20,0,0,0,39,0,0,0,2,2,0,6,74,0,0,0,23,0,-64,0,22,64,0,-128,65,64,0,0,22,-128,0,-128,23,-128,-64,0,22,0,0,-128,65,-64,0,0,-124,0,0,0,23,0,65,1,22,0,1,-128,-124,0,-128,0,-117,0,65,1,-100,-128,0,1,-102,64,0,0,22,-128,0,-128,-124,0,-128,0,-117,64,65,1,-100,-128,0,1,23,-64,-64,0,22,-128,0,-128,-58,-128,64,1,-34,0,0,1,22,64,12,-128,23,-128,-63,0,22,0,1,-128,-58,-128,64,1,6,-63,65,1,-52,0,-127,1,-34,0,0,1,22,-128,10,-128,23,64,-64,0,22,-128,0,-128,-58,0,64,1,-34,0,0,1,22,64,9,-128,23,0,-62,0,22,0,1,-128,-58,0,64,1,6,65,66,1,-52,0,-127,1,-34,0,0,1,22,-128,7,-128,23,64,-62,0,22,-128,0,-128,-58,64,66,1,-34,0,0,1,22,64,6,-128,23,-64,-63,0,22,-128,0,-128,-58,-64,65,1,-34,0,0,1,22,0,5,-128,23,-128,-62,0,22,64,1,-128,-59,-64,2,0,6,-63,65,1,70,65,66,1,-35,0,-128,1,-34,0,0,0,22,0,3,-128,23,0,-61,0,22,64,1,-128,-59,64,3,0,6,-127,64,1,70,1,64,1,-35,0,-128,1,-34,0,0,0,22,0,1,-128,-59,-128,3,0,1,-63,3,0,64,1,-128,0,21,65,1,2,-36,64,0,1,30,0,-128,0,16,0,0,0,4,2,0,0,0,121,0,4,4,0,0,0,116,111,112,0,4,2,0,0,0,120,0,4,5,0,0,0,108,101,102,116,0,4,6,0,0,0,102,114,97,109,101,0,4,7,0,0,0,98,111,117,110,100,115,0,4,6,0,0,0,114,105,103,104,116,0,4,6,0,0,0,119,105,100,116,104,0,4,7,0,0,0,98,111,116,116,111,109,0,4,7,0,0,0,104,101,105,103,104,116,0,4,5,0,0,0,115,105,122,101,0,4,7,0,0,0,67,71,83,105,122,101,0,4,7,0,0,0,111,114,105,103,105,110,0,4,8,0,0,0,67,71,80,111,105,110,116,0,4,6,0,0,0,101,114,114,111,114,0,4,20,0,0,0,85,110,107,110,111,119,110,32,102,114,97,109,101,32,107,101,121,58,32,0,0,0,0,0,74,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,25,0,0,0,25,0,0,0,25,0,0,0,25,0,0,0,25,0,0,0,25,0,0,0,25,0,0,0,25,0,0,0,25,0,0,0,25,0,0,0,25,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,26,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,27,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,28,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,33,0,0,0,33,0,0,0,33,0,0,0,33,0,0,0,33,0,0,0,33,0,0,0,33,0,0,0,33,0,0,0,34,0,0,0,34,0,0,0,34,0,0,0,34,0,0,0,34,0,0,0,34,0,0,0,34,0,0,0,34,0,0,0,37,0,0,0,37,0,0,0,37,0,0,0,37,0,0,0,37,0,0,0,39,0,0,0,3,0,0,0,5,0,0,0,115,101,108,102,0,0,0,0,0,73,0,0,0,4,0,0,0,107,101,121,0,0,0,0,0,73,0,0,0,11,0,0,0,100,105,109,101,110,115,105,111,110,115,0,18,0,0,0,73,0,0,0,2,0,0,0,8,0,0,0,118,97,114,78,97,109,101,0,7,0,0,0,111,98,106,101,99,116,0,0,0,0,0,41,0,0,0,74,0,0,0,2,3,0,7,108,0,0,0,23,0,-64,0,22,64,0,-128,65,64,0,0,22,-128,0,-128,23,-128,-64,0,22,0,0,-128,65,-64,0,0,-60,0,0,0,23,0,-63,1,22,0,1,-128,-60,0,-128,0,-53,0,-63,1,-36,-128,0,1,-38,64,0,0,22,-128,0,-128,-60,0,-128,0,-53,64,-63,1,-36,-128,0,1,23,-64,-64,0,22,64,0,-128,-55,-128,0,-127,22,-64,17,-128,23,-128,-63,0,22,-64,0,-128,6,-63,-63,1,13,1,1,1,-55,0,1,-127,22,64,16,-128,23,64,-64,0,22,64,0,-128,-55,-128,0,-128,22,64,15,-128,23,0,-62,0,22,-64,0,-128,6,65,-62,1,13,1,1,1,-55,0,1,-128,22,-64,13,-128,23,64,-62,0,22,64,0,-128,-55,-128,-128,-124,22,-64,12,-128,23,-64,-63,0,22,64,0,-128,-55,-128,-128,-125,22,-64,11,-128,23,-128,-62,0,22,0,1,-128,6,-63,65,1,-55,0,-127,-125,6,65,66,1,-55,0,-127,-124,22,0,10,-128,23,-64,-62,0,22,0,1,-128,6,-127,64,1,-55,0,1,-127,6,1,64,1,-55,0,1,-128,22,64,8,-128,23,0,-61,0,22,-128,1,-128,6,65,-62,1,70,1,-64,1,77,65,1,1,13,65,1,2,-55,0,-127,-124,-55,-128,0,-128,22,0,6,-128,23,64,-61,0,22,-64,1,-128,6,65,-62,1,70,65,-62,1,-122,1,-64,1,76,-127,-127,2,77,65,1,1,12,65,1,2,-55,0,-127,-124,22,-128,3,-128,23,-128,-61,0,22,-64,1,-128,6,-63,-63,1,70,-63,-63,1,-122,-127,-64,1,76,-127,-127,2,77,65,1,1,12,65,1,2,-55,0,-127,-125,22,0,1,-128,5,-63,3,0,65,1,4,0,-128,1,-128,0,85,-127,-127,2,28,65,0,1,4,1,0,0,23,0,65,2,22,0,1,-128,4,1,-128,0,11,65,68,2,-128,1,-128,1,28,65,-128,1,22,-64,0,-128,4,1,-128,0,11,-127,68,2,-128,1,-128,1,28,65,-128,1,30,0,0,1,30,0,-128,0,19,0,0,0,4,2,0,0,0,121,0,4,4,0,0,0,116,111,112,0,4,2,0,0,0,120,0,4,5,0,0,0,108,101,102,116,0,4,6,0,0,0,102,114,97,109,101,0,4,7,0,0,0,98,111,117,110,100,115,0,4,6,0,0,0,114,105,103,104,116,0,4,6,0,0,0,119,105,100,116,104,0,4,7,0,0,0,98,111,116,116,111,109,0,4,7,0,0,0,104,101,105,103,104,116,0,4,5,0,0,0,115,105,122,101,0,4,7,0,0,0,111,114,105,103,105,110,0,4,11,0,0,0,115,116,114,101,116,99,104,84,111,112,0,4,14,0,0,0,115,116,114,101,116,99,104,66,111,116,116,111,109,0,4,13,0,0,0,115,116,114,101,116,99,104,82,105,103,104,116,0,4,6,0,0,0,101,114,114,111,114,0,4,20,0,0,0,85,110,107,110,111,119,110,32,102,114,97,109,101,32,107,101,121,58,32,0,4,9,0,0,0,115,101,116,70,114,97,109,101,0,4,10,0,0,0,115,101,116,66,111,117,110,100,115,0,0,0,0,0,108,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,43,0,0,0,43,0,0,0,43,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,47,0,0,0,47,0,0,0,47,0,0,0,47,0,0,0,48,0,0,0,48,0,0,0,48,0,0,0,48,0,0,0,48,0,0,0,48,0,0,0,49,0,0,0,49,0,0,0,49,0,0,0,49,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,51,0,0,0,51,0,0,0,51,0,0,0,51,0,0,0,52,0,0,0,52,0,0,0,52,0,0,0,52,0,0,0,54,0,0,0,54,0,0,0,54,0,0,0,54,0,0,0,54,0,0,0,54,0,0,0,54,0,0,0,55,0,0,0,55,0,0,0,55,0,0,0,55,0,0,0,55,0,0,0,55,0,0,0,55,0,0,0,56,0,0,0,56,0,0,0,57,0,0,0,57,0,0,0,57,0,0,0,57,0,0,0,57,0,0,0,58,0,0,0,58,0,0,0,59,0,0,0,59,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,61,0,0,0,61,0,0,0,62,0,0,0,62,0,0,0,62,0,0,0,62,0,0,0,62,0,0,0,62,0,0,0,62,0,0,0,62,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,67,0,0,0,67,0,0,0,67,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,68,0,0,0,70,0,0,0,70,0,0,0,70,0,0,0,70,0,0,0,73,0,0,0,74,0,0,0,4,0,0,0,5,0,0,0,115,101,108,102,0,0,0,0,0,107,0,0,0,4,0,0,0,107,101,121,0,0,0,0,0,107,0,0,0,6,0,0,0,118,97,108,117,101,0,0,0,0,0,107,0,0,0,11,0,0,0,100,105,109,101,110,115,105,111,110,115,0,18,0,0,0,107,0,0,0,2,0,0,0,8,0,0,0,118,97,114,78,97,109,101,0,7,0,0,0,111,98,106,101,99,116,0,18,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,74,0,0,0,74,0,0,0,74,0,0,0,74,0,0,0,11,0,0,0,75,0,0,0,76,0,0,0,2,0,0,0,7,0,0,0,111,98,106,101,99,116,0,0,0,0,0,17,0,0,0,8,0,0,0,118,97,114,78,97,109,101,0,0,0,0,0,17,0,0,0,0,0,0,0,10,0,0,0,2,0,0,0,4,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,6,0,0,0,10,0,0,0,76,0,0,0,10,0,0,0,76,0,0,0,0,0,0,0,0,0,0,0,76,0,0,0,64,47,85,115,101,114,115,47,99,111,114,101,121,47,99,111,100,101,47,109,105,110,101,47,119,97,120,47,116,111,111,108,115,47,70,114,97,109,101,119,111,114,107,47,119,97,120,47,108,105,98,47,115,116,100,108,105,98,47,104,101,108,112,101,114,115,47,105,110,105,116,46,108,117,97,0,0,0,0,0,0,0,0,0,0,0,2,3,53,0,0,0,5,0,0,0,65,64,0,0,28,64,0,1,5,0,0,0,65,-128,0,0,28,64,0,1,5,0,0,0,65,-64,0,0,28,64,0,1,5,0,0,0,65,0,1,0,28,64,0,1,5,0,0,0,65,64,1,0,28,64,0,1,5,0,0,0,65,-128,1,0,28,64,0,1,5,0,0,0,65,-64,1,0,28,64,0,1,5,0,0,0,65,0,2,0,28,64,0,1,36,0,0,0,7,64,2,0,5,-128,2,0,100,64,0,0,9,64,-128,-123,5,0,3,0,11,64,67,0,28,-128,0,1,11,-128,67,0,28,-128,0,1,11,-64,67,0,-127,0,4,0,28,-128,-128,1,26,64,0,0,22,64,0,-128,36,-128,0,0,7,64,4,0,5,-128,2,0,100,-64,0,0,9,64,0,-119,36,0,1,0,7,-64,4,0,5,-128,2,0,100,64,1,0,9,64,0,-118,5,-128,2,0,100,-128,1,0,9,64,-128,-118,30,0,-128,0,22,0,0,0,4,8,0,0,0,114,101,113,117,105,114,101,0,4,16,0,0,0,119,97,120,46,104,101,108,112,101,114,115,46,98,105,116,0,4,21,0,0,0,119,97,120,46,104,101,108,112,101,114,115,46,99,97,108,108,98,97,99,107,0,4,18,0,0,0,119,97,120,46,104,101,108,112,101,114,115,46,102,114,97,109,101,0,4,19,0,0,0,119,97,120,46,104,101,108,112,101,114,115,46,98,97,115,101,54,52,0,4,17,0,0,0,119,97,120,46,104,101,108,112,101,114,115,46,116,105,109,101,0,4,18,0,0,0,119,97,120,46,104,101,108,112,101,114,115,46,99,97,99,104,101,0,4,21,0,0,0,119,97,120,46,104,101,108,112,101,114,115,46,97,117,116,111,108,111,97,100,0,4,22,0,0,0,119,97,120,46,104,101,108,112,101,114,115,46,87,97,120,83,101,114,118,101,114,0,4,9,0,0,0,73,66,79,117,116,108,101,116,0,4,4,0,0,0,119,97,120,0,4,6,0,0,0,97,108,101,114,116,0,4,9,0,0,0,85,73,68,101,118,105,99,101,0,4,14,0,0,0,99,117,114,114,101,110,116,68,101,118,105,99,101,0,4,6,0,0,0,109,111,100,101,108,0,4,6,0,0,0,109,97,116,99,104,0,4,17,0,0,0,105,80,104,111,110,101,32,83,105,109,117,108,97,116,111,114,0,4,6,0,0,0,112,114,105,110,116,0,4,9,0,0,0,116,111,115,116,114,105,110,103,0,4,5,0,0,0,112,117,116,115,0,4,5,0,0,0,103,117,105,100,0,4,5,0,0,0,101,118,97,108,0,7,0,0,0,0,0,0,0,12,0,0,0,14,0,0,0,0,0,7,2,1,0,0,0,30,0,-128,0,0,0,0,0,0,0,0,0,1,0,0,0,14,0,0,0,1,0,0,0,4,0,0,0,97,114,103,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,32,0,0,0,0,2,3,12,31,0,0,0,-59,0,0,0,-53,64,-64,1,-36,-128,0,1,11,-127,-64,1,-128,1,0,0,28,65,-128,1,11,-63,-64,1,-128,1,-128,0,28,65,-128,1,37,1,0,1,26,65,0,0,22,-64,0,-128,11,1,-63,1,-127,65,1,0,28,65,-128,1,22,-128,2,-128,5,-127,1,0,74,1,0,0,-91,1,0,0,98,65,0,0,28,1,1,1,22,-128,0,-128,75,2,-63,1,-64,2,0,4,92,66,-128,1,33,-127,0,0,22,-128,-2,127,11,-63,-63,1,28,65,0,1,-34,0,0,1,30,0,-128,0,8,0,0,0,4,12,0,0,0,85,73,65,108,101,114,116,86,105,101,119,0,4,5,0,0,0,105,110,105,116,0,4,9,0,0,0,115,101,116,84,105,116,108,101,0,4,11,0,0,0,115,101,116,77,101,115,115,97,103,101,0,4,19,0,0,0,97,100,100,66,117,116,116,111,110,87,105,116,104,84,105,116,108,101,0,4,3,0,0,0,79,75,0,4,7,0,0,0,105,112,97,105,114,115,0,4,5,0,0,0,115,104,111,119,0,0,0,0,0,31,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,22,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,25,0,0,0,25,0,0,0,25,0,0,0,24,0,0,0,25,0,0,0,29,0,0,0,29,0,0,0,31,0,0,0,32,0,0,0,9,0,0,0,6,0,0,0,116,105,116,108,101,0,0,0,0,0,30,0,0,0,8,0,0,0,109,101,115,115,97,103,101,0,0,0,0,0,30,0,0,0,4,0,0,0,97,114,103,0,0,0,0,0,30,0,0,0,6,0,0,0,97,108,101,114,116,0,3,0,0,0,30,0,0,0,16,0,0,0,40,102,111,114,32,103,101,110,101,114,97,116,111,114,41,0,21,0,0,0,27,0,0,0,12,0,0,0,40,102,111,114,32,115,116,97,116,101,41,0,21,0,0,0,27,0,0,0,14,0,0,0,40,102,111,114,32,99,111,110,116,114,111,108,41,0,21,0,0,0,27,0,0,0,2,0,0,0,105,0,22,0,0,0,25,0,0,0,5,0,0,0,110,97,109,101,0,22,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,36,0,0,0,39,0,0,0,0,1,0,3,5,0,0,0,69,0,0,0,-92,0,0,0,0,0,0,0,92,64,0,1,30,0,-128,0,1,0,0,0,4,6,0,0,0,112,99,97,108,108,0,1,0,0,0,0,0,0,0,38,0,0,0,38,0,0,0,1,0,0,3,7,0,0,0,5,0,0,0,6,64,64,0,69,-128,0,0,-124,0,0,0,92,0,0,1,28,64,0,0,30,0,-128,0,3,0,0,0,4,4,0,0,0,119,97,120,0,4,6,0,0,0,112,114,105,110,116,0,4,9,0,0,0,116,111,115,116,114,105,110,103,0,0,0,0,0,7,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,111,98,106,0,5,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,39,0,0,0,1,0,0,0,4,0,0,0,111,98,106,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,42,0,0,0,54,0,0,0,0,1,3,5,28,0,0,0,-123,0,0,0,-64,0,0,0,-100,-128,0,1,23,64,64,1,22,0,1,-128,-123,64,0,0,-122,-128,64,1,-64,0,0,0,-99,0,0,1,-98,0,0,0,-91,0,0,1,-102,0,0,0,22,0,2,-128,-123,-64,0,0,-122,0,65,1,-59,-128,0,0,0,1,0,0,-36,-128,0,1,37,1,0,0,-100,-128,0,0,0,0,0,1,22,-64,0,-128,-123,-128,0,0,-64,0,0,0,-100,-128,0,1,0,0,0,1,30,0,0,1,30,0,-128,0,5,0,0,0,4,5,0,0,0,116,121,112,101,0,4,6,0,0,0,116,97,98,108,101,0,4,9,0,0,0,116,111,115,116,114,105,110,103,0,4,7,0,0,0,115,116,114,105,110,103,0,4,7,0,0,0,102,111,114,109,97,116,0,0,0,0,0,28,0,0,0,43,0,0,0,43,0,0,0,43,0,0,0,43,0,0,0,43,0,0,0,44,0,0,0,44,0,0,0,44,0,0,0,44,0,0,0,44,0,0,0,47,0,0,0,47,0,0,0,47,0,0,0,48,0,0,0,48,0,0,0,48,0,0,0,48,0,0,0,48,0,0,0,48,0,0,0,48,0,0,0,48,0,0,0,48,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,50,0,0,0,53,0,0,0,54,0,0,0,2,0,0,0,4,0,0,0,111,98,106,0,0,0,0,0,27,0,0,0,4,0,0,0,97,114,103,0,0,0,0,0,27,0,0,0,0,0,0,0,0,0,0,0,56,0,0,0,58,0,0,0,0,1,3,6,8,0,0,0,-123,0,0,0,-59,64,0,0,-58,-128,-64,1,0,1,0,0,101,1,0,0,-36,0,0,0,-100,64,0,0,30,0,-128,0,3,0,0,0,4,6,0,0,0,112,114,105,110,116,0,4,4,0,0,0,119,97,120,0,4,9,0,0,0,116,111,115,116,114,105,110,103,0,0,0,0,0,8,0,0,0,57,0,0,0,57,0,0,0,57,0,0,0,57,0,0,0,57,0,0,0,57,0,0,0,57,0,0,0,58,0,0,0,2,0,0,0,4,0,0,0,111,98,106,0,0,0,0,0,7,0,0,0,4,0,0,0,97,114,103,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,60,0,0,0,62,0,0,0,0,0,0,2,7,0,0,0,5,0,0,0,11,64,64,0,28,-128,0,1,11,-128,64,0,29,0,0,1,30,0,0,0,30,0,-128,0,3,0,0,0,4,14,0,0,0,78,83,80,114,111,99,101,115,115,73,110,102,111,0,4,12,0,0,0,112,114,111,99,101,115,115,73,110,102,111,0,4,21,0,0,0,103,108,111,98,97,108,108,121,85,110,105,113,117,101,83,116,114,105,110,103,0,0,0,0,0,7,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,77,0,0,0,0,1,0,3,6,0,0,0,69,0,0,0,-92,0,0,0,0,0,0,0,93,0,0,1,94,0,0,0,30,0,-128,0,1,0,0,0,4,6,0,0,0,112,99,97,108,108,0,1,0,0,0,0,0,0,0,65,0,0,0,76,0,0,0,1,0,0,5,28,0,0,0,4,0,0,0,11,0,64,0,-127,64,0,0,28,-128,-128,1,26,64,0,0,22,0,1,-128,1,-128,0,0,68,0,0,0,-127,-64,0,0,21,-128,0,0,8,0,0,0,5,0,1,0,68,0,0,0,-127,64,1,0,28,-64,-128,1,90,0,0,0,22,64,1,-128,-123,-128,1,0,-63,-64,1,0,0,1,-128,0,-43,0,-127,1,-100,64,0,1,22,-64,0,-128,-123,0,2,0,-64,0,0,0,-36,0,-128,0,-100,64,0,0,30,0,-128,0,9,0,0,0,4,6,0,0,0,109,97,116,99,104,0,4,2,0,0,0,61,0,4,12,0,0,0,100,111,32,114,101,116,117,114,110,32,40,0,4,6,0,0,0,41,32,101,110,100,0,4,11,0,0,0,108,111,97,100,115,116,114,105,110,103,0,4,5,0,0,0,82,69,80,76,0,4,6,0,0,0,101,114,114,111,114,0,4,15,0,0,0,83,121,110,116,97,120,32,69,114,114,111,114,58,32,0,4,5,0,0,0,112,117,116,115,0,0,0,0,0,28,0,0,0,66,0,0,0,66,0,0,0,66,0,0,0,66,0,0,0,66,0,0,0,66,0,0,0,67,0,0,0,67,0,0,0,67,0,0,0,67,0,0,0,67,0,0,0,70,0,0,0,70,0,0,0,70,0,0,0,70,0,0,0,71,0,0,0,71,0,0,0,72,0,0,0,72,0,0,0,72,0,0,0,72,0,0,0,72,0,0,0,72,0,0,0,74,0,0,0,74,0,0,0,74,0,0,0,74,0,0,0,76,0,0,0,2,0,0,0,5,0,0,0,99,111,100,101,0,15,0,0,0,27,0,0,0,4,0,0,0,101,114,114,0,15,0,0,0,27,0,0,0,1,0,0,0,6,0,0,0,105,110,112,117,116,0,6,0,0,0,65,0,0,0,76,0,0,0,76,0,0,0,65,0,0,0,76,0,0,0,77,0,0,0,1,0,0,0,6,0,0,0,105,110,112,117,116,0,0,0,0,0,5,0,0,0,0,0,0,0,53,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,12,0,0,0,16,0,0,0,32,0,0,0,16,0,0,0,35,0,0,0,35,0,0,0,35,0,0,0,35,0,0,0,35,0,0,0,35,0,0,0,35,0,0,0,35,0,0,0,35,0,0,0,35,0,0,0,39,0,0,0,36,0,0,0,42,0,0,0,54,0,0,0,42,0,0,0,58,0,0,0,56,0,0,0,60,0,0,0,62,0,0,0,60,0,0,0,64,0,0,0,77,0,0,0,64,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,76,0,0,0,64,47,85,115,101,114,115,47,99,111,114,101,121,47,99,111,100,101,47,109,105,110,101,47,119,97,120,47,116,111,111,108,115,47,70,114,97,109,101,119,111,114,107,47,119,97,120,47,108,105,98,47,115,116,100,108,105,98,47,104,101,108,112,101,114,115,47,116,105,109,101,46,108,117,97,0,0,0,0,0,0,0,0,0,0,0,2,2,40,0,0,0,5,0,0,0,74,0,0,0,9,64,-128,-128,5,0,0,0,6,64,64,0,100,0,0,0,9,64,0,-127,5,0,0,0,6,64,64,0,100,64,0,0,9,64,-128,-127,5,0,0,0,6,64,64,0,100,-128,0,0,9,64,0,-126,5,0,0,0,6,64,64,0,100,-64,0,0,9,64,-128,-126,5,0,0,0,6,64,64,0,100,0,1,0,9,64,0,-125,5,0,0,0,6,64,64,0,100,64,1,0,9,64,-128,-125,5,0,0,0,6,64,64,0,100,-128,1,0,9,64,0,-124,5,0,0,0,6,64,64,0,100,-64,1,0,9,64,-128,-124,5,0,0,0,6,64,64,0,100,0,2,0,9,64,0,-123,30,0,-128,0,11,0,0,0,4,4,0,0,0,119,97,120,0,4,5,0,0,0,116,105,109,101,0,4,8,0,0,0,109,105,110,117,116,101,115,0,4,6,0,0,0,104,111,117,114,115,0,4,5,0,0,0,100,97,121,115,0,4,11,0,0,0,102,111,114,109,97,116,68,97,116,101,0,4,10,0,0,0,112,97,114,115,101,68,97,116,101,0,4,14,0,0,0,98,101,103,105,110,105,110,103,79,102,68,97,121,0,4,9,0,0,0,101,110,100,79,102,68,97,121,0,4,15,0,0,0,116,105,109,101,65,103,111,73,110,87,111,114,100,115,0,4,6,0,0,0,115,105,110,99,101,0,9,0,0,0,0,0,0,0,3,0,0,0,5,0,0,0,0,1,0,2,3,0,0,0,78,0,64,0,94,0,0,1,30,0,-128,0,1,0,0,0,3,0,0,0,0,0,0,78,64,0,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,1,0,0,0,7,0,0,0,110,117,109,98,101,114,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,9,0,0,0,0,1,0,3,8,0,0,0,69,0,0,0,70,64,-64,0,70,-128,-64,0,-127,-64,0,0,92,-128,0,1,78,64,0,0,94,0,0,1,30,0,-128,0,4,0,0,0,4,4,0,0,0,119,97,120,0,4,5,0,0,0,116,105,109,101,0,4,8,0,0,0,109,105,110,117,116,101,115,0,3,0,0,0,0,0,0,78,64,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,1,0,0,0,7,0,0,0,110,117,109,98,101,114,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,11,0,0,0,13,0,0,0,0,1,0,3,8,0,0,0,69,0,0,0,70,64,-64,0,70,-128,-64,0,-127,-64,0,0,92,-128,0,1,78,64,0,0,94,0,0,1,30,0,-128,0,4,0,0,0,4,4,0,0,0,119,97,120,0,4,5,0,0,0,116,105,109,101,0,4,6,0,0,0,104,111,117,114,115,0,3,0,0,0,0,0,0,56,64,0,0,0,0,8,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,1,0,0,0,7,0,0,0,110,117,109,98,101,114,0,0,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,16,0,0,0,25,0,0,0,0,2,0,6,37,0,0,0,-123,0,0,0,-122,64,64,1,-122,-128,64,1,-102,64,0,0,22,-64,3,-128,-123,0,0,0,-122,64,64,1,-59,-64,0,0,-53,0,-63,1,-36,-128,0,1,-119,-64,0,-127,-123,64,1,0,-117,-128,65,1,1,-63,1,0,-100,-128,-128,1,-59,0,0,0,-58,64,-64,1,-58,-128,-64,1,-53,0,-62,1,64,1,0,1,-36,64,-128,1,-123,0,0,0,-122,64,64,1,-122,-128,64,1,-117,64,66,1,27,65,-128,0,22,0,0,-128,1,-127,2,0,-100,64,-128,1,-123,0,0,0,-122,64,64,1,-122,-128,64,1,-117,-64,66,1,0,1,0,0,-99,0,-128,1,-98,0,0,0,30,0,-128,0,12,0,0,0,4,4,0,0,0,119,97,120,0,4,5,0,0,0,116,105,109,101,0,4,17,0,0,0,95,111,117,116,112,117,116,70,111,114,109,97,116,116,101,114,0,4,16,0,0,0,78,83,68,97,116,101,70,111,114,109,97,116,116,101,114,0,4,5,0,0,0,105,110,105,116,0,4,9,0,0,0,78,83,76,111,99,97,108,101,0,4,25,0,0,0,105,110,105,116,87,105,116,104,76,111,99,97,108,101,73,100,101,110,116,105,102,105,101,114,0,4,12,0,0,0,101,110,95,85,83,95,80,79,83,73,88,0,4,10,0,0,0,115,101,116,76,111,99,97,108,101,0,4,14,0,0,0,115,101,116,68,97,116,101,70,111,114,109,97,116,0,4,7,0,0,0,77,77,77,77,32,100,0,4,15,0,0,0,115,116,114,105,110,103,70,114,111,109,68,97,116,101,0,0,0,0,0,37,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,20,0,0,0,20,0,0,0,20,0,0,0,20,0,0,0,20,0,0,0,23,0,0,0,23,0,0,0,23,0,0,0,23,0,0,0,23,0,0,0,23,0,0,0,23,0,0,0,23,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,25,0,0,0,3,0,0,0,5,0,0,0,100,97,116,101,0,0,0,0,0,36,0,0,0,8,0,0,0,112,97,116,116,101,114,110,0,0,0,0,0,36,0,0,0,7,0,0,0,108,111,99,97,108,101,0,15,0,0,0,21,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,41,0,0,0,0,2,0,6,43,0,0,0,-117,0,64,0,1,65,0,0,65,-127,0,0,-100,-128,0,2,0,0,0,1,-123,-64,0,0,-122,0,65,1,-122,64,65,1,-102,64,0,0,22,0,4,-128,-123,-64,0,0,-122,0,65,1,-59,-128,1,0,-53,-64,-63,1,-36,-128,0,1,-119,-64,-128,-126,-123,64,2,0,-117,-128,66,1,1,-63,2,0,-100,-128,-128,1,-121,0,2,0,-123,-64,0,0,-122,0,65,1,-122,64,65,1,-117,0,67,1,5,1,2,0,-100,64,-128,1,-123,-64,0,0,-122,0,65,1,-122,64,65,1,-117,64,67,1,27,65,-128,0,22,0,0,-128,1,-127,3,0,-100,64,-128,1,-123,-64,0,0,-122,0,65,1,-122,64,65,1,-117,-64,67,1,0,1,0,0,-99,0,-128,1,-98,0,0,0,30,0,-128,0,16,0,0,0,4,5,0,0,0,103,115,117,98,0,4,3,0,0,0,90,36,0,4,5,0,0,0,32,71,77,84,0,4,4,0,0,0,119,97,120,0,4,5,0,0,0,116,105,109,101,0,4,16,0,0,0,95,105,110,112,117,116,70,111,114,109,97,116,116,101,114,0,4,16,0,0,0,78,83,68,97,116,101,70,111,114,109,97,116,116,101,114,0,4,5,0,0,0,105,110,105,116,0,4,7,0,0,0,108,111,99,97,108,101,0,4,9,0,0,0,78,83,76,111,99,97,108,101,0,4,25,0,0,0,105,110,105,116,87,105,116,104,76,111,99,97,108,101,73,100,101,110,116,105,102,105,101,114,0,4,12,0,0,0,101,110,95,85,83,95,80,79,83,73,88,0,4,10,0,0,0,115,101,116,76,111,99,97,108,101,0,4,14,0,0,0,115,101,116,68,97,116,101,70,111,114,109,97,116,0,4,26,0,0,0,121,121,121,121,45,77,77,45,100,100,39,84,39,72,72,58,109,109,58,115,115,32,90,90,90,0,4,15,0,0,0,100,97,116,101,70,114,111,109,83,116,114,105,110,103,0,0,0,0,0,43,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,31,0,0,0,33,0,0,0,33,0,0,0,33,0,0,0,33,0,0,0,33,0,0,0,34,0,0,0,34,0,0,0,34,0,0,0,34,0,0,0,34,0,0,0,34,0,0,0,35,0,0,0,35,0,0,0,35,0,0,0,35,0,0,0,35,0,0,0,36,0,0,0,36,0,0,0,36,0,0,0,36,0,0,0,36,0,0,0,36,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,40,0,0,0,40,0,0,0,40,0,0,0,40,0,0,0,40,0,0,0,40,0,0,0,40,0,0,0,41,0,0,0,2,0,0,0,11,0,0,0,100,97,116,101,83,116,114,105,110,103,0,0,0,0,0,42,0,0,0,8,0,0,0,112,97,116,116,101,114,110,0,0,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,43,0,0,0,52,0,0,0,0,1,0,8,31,0,0,0,69,0,0,0,75,64,-64,0,92,-128,0,1,-117,-128,-64,0,1,-63,0,0,91,65,0,0,22,-128,0,-128,69,1,1,0,75,65,-63,2,92,-127,0,1,-100,-128,0,2,-59,-128,1,0,-53,-64,-63,1,-36,-128,0,1,11,1,-62,1,-117,65,66,1,-100,1,0,1,28,65,0,0,11,-127,-62,1,-117,-63,66,1,-100,1,0,1,28,65,0,0,11,1,-61,1,-117,65,67,1,-100,1,0,1,28,65,0,0,11,-127,-61,0,-128,1,-128,1,29,1,-128,1,30,1,0,0,30,0,-128,0,15,0,0,0,4,11,0,0,0,78,83,67,97,108,101,110,100,97,114,0,4,16,0,0,0,99,117,114,114,101,110,116,67,97,108,101,110,100,97,114,0,4,20,0,0,0,99,111,109,112,111,110,101,110,116,115,95,102,114,111,109,68,97,116,101,0,3,0,0,0,0,0,0,-16,-65,4,7,0,0,0,78,83,68,97,116,101,0,4,5,0,0,0,100,97,116,101,0,4,17,0,0,0,78,83,68,97,116,101,67,111,109,112,111,110,101,110,116,115,0,4,5,0,0,0,105,110,105,116,0,4,8,0,0,0,115,101,116,89,101,97,114,0,4,5,0,0,0,121,101,97,114,0,4,9,0,0,0,115,101,116,77,111,110,116,104,0,4,6,0,0,0,109,111,110,116,104,0,4,7,0,0,0,115,101,116,68,97,121,0,4,4,0,0,0,100,97,121,0,4,19,0,0,0,100,97,116,101,70,114,111,109,67,111,109,112,111,110,101,110,116,115,0,0,0,0,0,31,0,0,0,44,0,0,0,44,0,0,0,44,0,0,0,45,0,0,0,45,0,0,0,45,0,0,0,45,0,0,0,45,0,0,0,45,0,0,0,45,0,0,0,45,0,0,0,46,0,0,0,46,0,0,0,46,0,0,0,47,0,0,0,47,0,0,0,47,0,0,0,47,0,0,0,48,0,0,0,48,0,0,0,48,0,0,0,48,0,0,0,49,0,0,0,49,0,0,0,49,0,0,0,49,0,0,0,51,0,0,0,51,0,0,0,51,0,0,0,51,0,0,0,52,0,0,0,4,0,0,0,5,0,0,0,100,97,116,101,0,0,0,0,0,30,0,0,0,9,0,0,0,99,97,108,101,110,100,97,114,0,3,0,0,0,30,0,0,0,15,0,0,0,100,97,116,101,67,111,109,112,111,110,101,110,116,115,0,11,0,0,0,30,0,0,0,14,0,0,0,110,101,119,67,111,109,112,111,110,101,110,116,115,0,14,0,0,0,30,0,0,0,0,0,0,0,0,0,0,0,54,0,0,0,66,0,0,0,0,1,0,8,36,0,0,0,69,0,0,0,75,64,-64,0,92,-128,0,1,-117,-128,-64,0,1,-63,0,0,64,1,0,0,-100,-128,0,2,-59,0,1,0,-53,64,-63,1,-36,-128,0,1,11,-127,-63,1,-117,-63,65,1,-100,1,0,1,28,65,0,0,11,1,-62,1,-117,65,66,1,-100,1,0,1,28,65,0,0,11,-127,-62,1,-117,-63,66,1,-100,1,0,1,28,65,0,0,11,1,-61,1,-127,65,3,0,28,65,-128,1,11,-127,-61,1,-127,-63,3,0,28,65,-128,1,11,1,-60,1,-127,-63,3,0,28,65,-128,1,11,65,-60,0,-128,1,-128,1,29,1,-128,1,30,1,0,0,30,0,-128,0,18,0,0,0,4,11,0,0,0,78,83,67,97,108,101,110,100,97,114,0,4,16,0,0,0,99,117,114,114,101,110,116,67,97,108,101,110,100,97,114,0,4,20,0,0,0,99,111,109,112,111,110,101,110,116,115,95,102,114,111,109,68,97,116,101,0,3,0,0,0,0,0,0,-16,-65,4,17,0,0,0,78,83,68,97,116,101,67,111,109,112,111,110,101,110,116,115,0,4,5,0,0,0,105,110,105,116,0,4,8,0,0,0,115,101,116,89,101,97,114,0,4,5,0,0,0,121,101,97,114,0,4,9,0,0,0,115,101,116,77,111,110,116,104,0,4,6,0,0,0,109,111,110,116,104,0,4,7,0,0,0,115,101,116,68,97,121,0,4,4,0,0,0,100,97,121,0,4,8,0,0,0,115,101,116,72,111,117,114,0,3,0,0,0,0,0,0,56,64,4,10,0,0,0,115,101,116,77,105,110,117,116,101,0,3,0,0,0,0,0,-128,77,64,4,10,0,0,0,115,101,116,83,101,99,111,110,100,0,4,19,0,0,0,100,97,116,101,70,114,111,109,67,111,109,112,111,110,101,110,116,115,0,0,0,0,0,36,0,0,0,55,0,0,0,55,0,0,0,55,0,0,0,56,0,0,0,56,0,0,0,56,0,0,0,56,0,0,0,57,0,0,0,57,0,0,0,57,0,0,0,58,0,0,0,58,0,0,0,58,0,0,0,58,0,0,0,59,0,0,0,59,0,0,0,59,0,0,0,59,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,62,0,0,0,62,0,0,0,62,0,0,0,63,0,0,0,63,0,0,0,63,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,66,0,0,0,4,0,0,0,5,0,0,0,100,97,116,101,0,0,0,0,0,35,0,0,0,9,0,0,0,99,97,108,101,110,100,97,114,0,3,0,0,0,35,0,0,0,15,0,0,0,100,97,116,101,67,111,109,112,111,110,101,110,116,115,0,7,0,0,0,35,0,0,0,14,0,0,0,110,101,119,67,111,109,112,111,110,101,110,116,115,0,10,0,0,0,35,0,0,0,0,0,0,0,0,0,0,0,68,0,0,0,89,0,0,0,0,2,0,11,101,0,0,0,-101,64,-128,0,22,-128,0,-128,-123,0,0,0,-117,64,64,1,-100,-128,0,1,-117,-128,64,1,-100,-128,0,1,-53,-128,64,0,-36,-128,0,1,-115,-64,0,1,-59,-64,0,0,-58,0,-63,1,0,1,0,1,-36,-128,0,1,5,-63,0,0,6,65,65,2,79,-127,-63,1,28,-127,0,1,69,-63,0,0,70,65,-63,2,-113,-127,65,2,92,-127,0,1,-123,-63,0,0,-122,65,65,3,-49,-63,-63,2,-100,-127,0,1,-59,-63,0,0,-58,65,-63,3,15,2,66,3,-36,-127,0,1,25,64,66,2,22,-128,0,-128,1,-126,2,0,30,2,0,1,22,0,16,-128,25,-64,66,2,22,64,1,-128,1,2,3,0,11,66,67,4,-128,2,0,2,29,2,-128,1,30,2,0,0,22,0,14,-128,25,-128,67,2,22,-128,0,-128,1,-62,3,0,30,2,0,1,22,-64,12,-128,25,-64,-63,2,22,64,1,-128,1,2,4,0,11,66,67,4,-128,2,-128,2,29,2,-128,1,30,2,0,0,22,-64,10,-128,25,64,-60,2,22,-128,0,-128,1,-126,4,0,30,2,0,1,22,-128,9,-128,25,-64,68,3,22,64,1,-128,1,2,5,0,11,66,67,4,-128,2,0,3,29,2,-128,1,30,2,0,0,22,-128,7,-128,25,64,69,3,22,-128,0,-128,1,-126,5,0,30,2,0,1,22,64,6,-128,25,-64,-59,3,22,-128,0,-128,1,2,6,0,30,2,0,1,22,0,5,-128,25,64,-58,3,22,-128,0,-128,1,-126,6,0,30,2,0,1,22,-64,3,-128,5,-62,6,0,24,0,71,4,22,-128,0,-128,1,66,7,0,30,2,0,1,22,64,2,-128,25,-128,71,2,22,-128,0,-128,1,2,6,0,30,2,0,1,22,0,1,-128,1,-62,7,0,11,66,67,4,-123,-62,6,0,29,2,-128,1,30,2,0,0,30,0,-128,0,32,0,0,0,4,7,0,0,0,78,83,68,97,116,101,0,4,5,0,0,0,100,97,116,101,0,4,22,0,0,0,116,105,109,101,73,110,116,101,114,118,97,108,83,105,110,99,101,49,57,55,48,0,4,5,0,0,0,109,97,116,104,0,4,4,0,0,0,97,98,115,0,4,6,0,0,0,102,108,111,111,114,0,3,0,0,0,0,0,0,78,64,3,0,0,0,0,0,0,56,64,3,0,0,0,0,0,0,62,64,3,0,0,0,0,0,0,-16,63,4,19,0,0,0,108,101,115,115,32,116,104,97,110,32,97,32,109,105,110,117,116,101,0,3,0,0,0,0,0,0,70,64,4,11,0,0,0,37,100,32,109,105,110,117,116,101,115,0,4,7,0,0,0,102,111,114,109,97,116,0,3,0,0,0,0,0,64,86,64,4,13,0,0,0,97,98,111,117,116,32,49,32,104,111,117,114,0,4,15,0,0,0,97,98,111,117,116,32,37,100,32,104,111,117,114,115,0,3,0,0,0,0,0,-128,71,64,4,6,0,0,0,49,32,100,97,121,0,3,0,0,0,0,0,0,61,64,4,8,0,0,0,37,100,32,100,97,121,115,0,3,0,0,0,0,0,-128,77,64,4,14,0,0,0,97,98,111,117,116,32,49,32,109,111,110,116,104,0,3,0,0,0,0,0,0,46,64,4,13,0,0,0,97,98,111,117,116,32,49,32,121,101,97,114,0,3,0,0,0,0,0,0,54,64,4,12,0,0,0,111,118,101,114,32,49,32,121,101,97,114,0,4,6,0,0,0,121,101,97,114,115,0,3,0,0,0,0,0,0,0,64,4,15,0,0,0,97,108,109,111,115,116,32,50,32,121,101,97,114,115,0,3,0,0,0,0,63,10,48,65,4,14,0,0,0,111,118,101,114,32,37,100,32,121,101,97,114,115,0,0,0,0,0,101,0,0,0,69,0,0,0,69,0,0,0,69,0,0,0,69,0,0,0,69,0,0,0,69,0,0,0,69,0,0,0,69,0,0,0,69,0,0,0,69,0,0,0,70,0,0,0,70,0,0,0,70,0,0,0,70,0,0,0,71,0,0,0,71,0,0,0,71,0,0,0,71,0,0,0,72,0,0,0,72,0,0,0,72,0,0,0,72,0,0,0,73,0,0,0,73,0,0,0,73,0,0,0,73,0,0,0,74,0,0,0,74,0,0,0,74,0,0,0,74,0,0,0,76,0,0,0,76,0,0,0,76,0,0,0,76,0,0,0,76,0,0,0,77,0,0,0,77,0,0,0,77,0,0,0,77,0,0,0,77,0,0,0,77,0,0,0,77,0,0,0,77,0,0,0,78,0,0,0,78,0,0,0,78,0,0,0,78,0,0,0,78,0,0,0,79,0,0,0,79,0,0,0,79,0,0,0,79,0,0,0,79,0,0,0,79,0,0,0,79,0,0,0,79,0,0,0,80,0,0,0,80,0,0,0,80,0,0,0,80,0,0,0,80,0,0,0,81,0,0,0,81,0,0,0,81,0,0,0,81,0,0,0,81,0,0,0,81,0,0,0,81,0,0,0,81,0,0,0,82,0,0,0,82,0,0,0,82,0,0,0,82,0,0,0,82,0,0,0,83,0,0,0,83,0,0,0,83,0,0,0,83,0,0,0,83,0,0,0,84,0,0,0,84,0,0,0,84,0,0,0,84,0,0,0,84,0,0,0,85,0,0,0,85,0,0,0,85,0,0,0,85,0,0,0,85,0,0,0,85,0,0,0,86,0,0,0,86,0,0,0,86,0,0,0,86,0,0,0,86,0,0,0,87,0,0,0,87,0,0,0,87,0,0,0,87,0,0,0,87,0,0,0,89,0,0,0,8,0,0,0,10,0,0,0,102,105,114,115,116,68,97,116,101,0,0,0,0,0,100,0,0,0,11,0,0,0,115,101,99,111,110,100,68,97,116,101,0,0,0,0,0,100,0,0,0,11,0,0,0,100,105,102,102,101,114,101,110,99,101,0,10,0,0,0,100,0,0,0,8,0,0,0,115,101,99,111,110,100,115,0,14,0,0,0,100,0,0,0,8,0,0,0,109,105,110,117,116,101,115,0,18,0,0,0,100,0,0,0,6,0,0,0,104,111,117,114,115,0,22,0,0,0,100,0,0,0,5,0,0,0,100,97,121,115,0,26,0,0,0,100,0,0,0,7,0,0,0,109,111,110,116,104,115,0,30,0,0,0,100,0,0,0,0,0,0,0,0,0,0,0,91,0,0,0,102,0,0,0,0,2,0,7,74,0,0,0,90,64,0,0,22,-64,0,-128,-123,0,0,0,-117,64,64,1,-100,-128,0,1,64,0,0,1,-117,-128,-64,0,-100,-128,0,1,-53,-128,64,0,-36,-128,0,1,-115,-64,0,1,-53,-128,64,0,-36,-128,0,1,5,-63,0,0,6,1,65,2,6,65,65,2,28,-127,-128,0,11,-127,64,2,28,-127,0,1,-51,0,-127,1,5,-63,0,0,6,1,65,2,6,-127,65,2,65,-63,1,0,28,-127,0,1,24,0,1,1,22,-128,2,-128,24,-64,0,-124,22,0,2,-128,5,-63,0,0,6,1,65,2,6,65,66,2,64,1,0,0,-127,-127,2,0,28,-127,-128,1,65,-63,2,0,30,1,-128,1,22,-128,8,-128,5,-63,0,0,6,1,65,2,6,-127,65,2,65,1,3,0,28,-127,0,1,24,0,1,1,22,-64,0,-128,1,65,3,0,65,-127,3,0,30,1,-128,1,22,-64,5,-128,5,-63,0,0,6,1,65,2,6,-127,65,2,65,-63,3,0,28,-127,0,1,24,0,1,1,22,0,2,-128,5,-63,0,0,6,1,65,2,6,65,66,2,64,1,0,0,-127,1,4,0,28,-127,-128,1,65,65,4,0,30,1,-128,1,22,-64,1,-128,5,-63,0,0,6,1,65,2,6,65,66,2,64,1,0,0,-127,-127,4,0,28,-127,-128,1,65,65,4,0,30,1,-128,1,30,0,-128,0,19,0,0,0,4,7,0,0,0,78,83,68,97,116,101,0,4,5,0,0,0,100,97,116,101,0,4,22,0,0,0,116,105,109,101,73,110,116,101,114,118,97,108,83,105,110,99,101,49,57,55,48,0,4,4,0,0,0,119,97,120,0,4,5,0,0,0,116,105,109,101,0,4,14,0,0,0,98,101,103,105,110,105,110,103,79,102,68,97,121,0,4,5,0,0,0,100,97,121,115,0,3,0,0,0,0,0,0,-16,63,3,0,0,0,0,0,0,0,0,4,11,0,0,0,102,111,114,109,97,116,68,97,116,101,0,4,7,0,0,0,104,58,109,109,32,97,0,4,3,0,0,0,97,116,0,3,0,0,0,0,0,0,0,64,4,10,0,0,0,89,101,115,116,101,114,100,97,121,0,4,1,0,0,0,0,3,0,0,0,0,0,0,28,64,4,5,0,0,0,69,69,69,69,0,4,3,0,0,0,111,110,0,4,9,0,0,0,77,77,47,100,100,47,121,121,0,0,0,0,0,74,0,0,0,92,0,0,0,92,0,0,0,92,0,0,0,92,0,0,0,92,0,0,0,92,0,0,0,93,0,0,0,93,0,0,0,93,0,0,0,93,0,0,0,93,0,0,0,94,0,0,0,94,0,0,0,94,0,0,0,94,0,0,0,94,0,0,0,94,0,0,0,94,0,0,0,94,0,0,0,94,0,0,0,97,0,0,0,97,0,0,0,97,0,0,0,97,0,0,0,97,0,0,0,97,0,0,0,97,0,0,0,97,0,0,0,97,0,0,0,97,0,0,0,97,0,0,0,97,0,0,0,97,0,0,0,97,0,0,0,97,0,0,0,97,0,0,0,97,0,0,0,97,0,0,0,98,0,0,0,98,0,0,0,98,0,0,0,98,0,0,0,98,0,0,0,98,0,0,0,98,0,0,0,98,0,0,0,98,0,0,0,98,0,0,0,98,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,100,0,0,0,100,0,0,0,100,0,0,0,100,0,0,0,100,0,0,0,100,0,0,0,100,0,0,0,100,0,0,0,102,0,0,0,4,0,0,0,5,0,0,0,100,97,116,101,0,0,0,0,0,73,0,0,0,14,0,0,0,114,101,102,101,114,101,110,99,101,68,97,116,101,0,0,0,0,0,73,0,0,0,11,0,0,0,100,105,102,102,101,114,101,110,99,101,0,11,0,0,0,73,0,0,0,18,0,0,0,116,105,109,101,83,105,110,99,101,77,105,100,110,105,103,104,116,0,20,0,0,0,73,0,0,0,0,0,0,0,40,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,3,0,0,0,7,0,0,0,7,0,0,0,9,0,0,0,7,0,0,0,11,0,0,0,11,0,0,0,13,0,0,0,11,0,0,0,16,0,0,0,16,0,0,0,25,0,0,0,16,0,0,0,28,0,0,0,28,0,0,0,41,0,0,0,28,0,0,0,43,0,0,0,43,0,0,0,52,0,0,0,43,0,0,0,54,0,0,0,54,0,0,0,66,0,0,0,54,0,0,0,68,0,0,0,68,0,0,0,89,0,0,0,68,0,0,0,91,0,0,0,91,0,0,0,102,0,0,0,91,0,0,0,102,0,0,0,0,0,0,0,0,0,0,0,68,0,0,0,64,47,85,115,101,114,115,47,99,111,114,101,121,47,99,111,100,101,47,109,105,110,101,47,119,97,120,47,116,111,111,108,115,47,70,114,97,109,101,119,111,114,107,47,119,97,120,47,108,105,98,47,115,116,100,108,105,98,47,105,110,105,116,46,108,117,97,0,0,0,0,0,0,0,0,0,0,0,2,4,22,0,0,0,5,0,0,0,69,64,0,0,-118,64,0,0,-28,0,0,0,-119,-64,0,-127,28,64,-128,1,5,-64,0,0,65,0,1,0,28,64,0,1,5,-64,0,0,65,64,1,0,28,64,0,1,5,-64,0,0,65,-128,1,0,28,64,0,1,5,-64,0,0,65,-64,1,0,28,64,0,1,5,-64,0,0,65,0,2,0,28,64,0,1,30,0,-128,0,9,0,0,0,4,13,0,0,0,115,101,116,109,101,116,97,116,97,98,108,101,0,4,3,0,0,0,95,71,0,4,8,0,0,0,95,95,105,110,100,101,120,0,4,8,0,0,0,114,101,113,117,105,114,101,0,4,8,0,0,0,119,97,120,46,101,120,116,0,4,10,0,0,0,119,97,120,46,101,110,117,109,115,0,4,12,0,0,0,119,97,120,46,115,116,114,117,99,116,115,0,4,13,0,0,0,119,97,120,46,119,97,120,67,108,97,115,115,0,4,12,0,0,0,119,97,120,46,104,101,108,112,101,114,115,0,1,0,0,0,0,0,0,0,2,0,0,0,11,0,0,0,0,2,0,7,21,0,0,0,-123,0,0,0,-122,64,64,1,-122,64,0,1,-102,0,0,0,22,0,0,-128,9,-128,-128,0,-102,64,0,0,22,-128,2,-128,-53,-128,-64,0,65,-63,0,0,-36,-128,-128,1,-38,0,0,0,22,64,1,-128,-59,0,1,0,1,65,1,0,64,1,-128,0,-127,-127,1,0,21,-127,1,2,-36,64,0,1,-98,0,0,1,30,0,-128,0,7,0,0,0,4,4,0,0,0,119,97,120,0,4,6,0,0,0,99,108,97,115,115,0,4,6,0,0,0,109,97,116,99,104,0,4,23,0,0,0,94,91,65,45,90,93,91,65,45,90,93,91,65,45,90,93,91,94,65,45,90,93,0,4,6,0,0,0,112,114,105,110,116,0,4,27,0,0,0,87,65,82,78,73,78,71,58,32,78,111,32,111,98,106,101,99,116,32,110,97,109,101,100,32,39,0,4,9,0,0,0,39,32,102,111,117,110,100,46,0,0,0,0,0,21,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,10,0,0,0,11,0,0,0,3,0,0,0,5,0,0,0,115,101,108,102,0,0,0,0,0,20,0,0,0,4,0,0,0,107,101,121,0,0,0,0,0,20,0,0,0,6,0,0,0,99,108,97,115,115,0,3,0,0,0,20,0,0,0,0,0,0,0,22,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,76,0,0,0,64,47,85,115,101,114,115,47,99,111,114,101,121,47,99,111,100,101,47,109,105,110,101,47,119,97,120,47,116,111,111,108,115,47,70,114,97,109,101,119,111,114,107,47,119,97,120,47,108,105,98,47,115,116,100,108,105,98,47,108,117,97,115,112,101,99,47,105,110,105,116,46,108,117,97,0,0,0,0,0,0,0,0,0,0,0,2,2,7,0,0,0,5,0,0,0,65,64,0,0,28,64,0,1,5,0,0,0,65,-128,0,0,28,64,0,1,30,0,-128,0,3,0,0,0,4,8,0,0,0,114,101,113,117,105,114,101,0,4,20,0,0,0,119,97,120,46,108,117,97,115,112,101,99,46,108,117,97,115,112,101,99,0,4,20,0,0,0,119,97,120,46,108,117,97,115,112,101,99,46,108,117,97,109,111,99,107,0,0,0,0,0,7,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,79,0,0,0,64,47,85,115,101,114,115,47,99,111,114,101,121,47,99,111,100,101,47,109,105,110,101,47,119,97,120,47,116,111,111,108,115,47,70,114,97,109,101,119,111,114,107,47,119,97,120,47,108,105,98,47,115,116,100,108,105,98,47,108,117,97,115,112,101,99,47,108,117,97,109,111,99,107,46,108,117,97,0,0,0,0,0,0,0,0,0,0,0,2,3,42,0,0,0,10,-128,0,0,74,0,0,0,9,64,-128,-128,74,0,0,0,9,64,0,-127,7,0,0,0,5,-64,0,0,69,0,0,0,70,64,-64,0,-118,64,0,0,-119,64,65,-126,28,64,-128,1,5,-64,0,0,69,0,0,0,70,-128,-64,0,-118,64,0,0,-119,64,65,-126,28,64,-128,1,5,0,0,0,100,0,0,0,9,64,0,-125,5,0,0,0,100,64,0,0,9,64,-128,-125,5,0,0,0,100,-128,0,0,9,64,0,-124,5,0,0,0,100,-64,0,0,9,64,-128,-124,5,-128,2,0,26,64,0,0,22,0,0,-128,10,0,0,0,7,-128,2,0,5,-128,2,0,100,0,1,0,9,64,-128,-123,5,-128,2,0,100,64,1,0,9,64,0,-122,30,0,-128,0,13,0,0,0,4,5,0,0,0,77,111,99,107,0,4,6,0,0,0,99,97,108,108,115,0,4,14,0,0,0,114,101,116,117,114,110,95,118,97,108,117,101,115,0,4,13,0,0,0,115,101,116,109,101,116,97,116,97,98,108,101,0,4,7,0,0,0,95,95,109,111,100,101,0,4,2,0,0,0,107,0,4,7,0,0,0,95,95,99,97,108,108,0,4,8,0,0,0,95,95,105,110,100,101,120,0,4,4,0,0,0,110,101,119,0,4,8,0,0,0,114,101,116,117,114,110,115,0,4,9,0,0,0,109,97,116,99,104,101,114,115,0,4,11,0,0,0,119,97,115,95,99,97,108,108,101,100,0,4,16,0,0,0,119,97,115,95,99,97,108,108,101,100,95,119,105,116,104,0,6,0,0,0,0,0,0,0,10,0,0,0,20,0,0,0,0,1,3,6,33,0,0,0,-123,0,0,0,-122,64,64,1,-59,0,0,0,-58,64,-64,1,-58,0,-128,1,-38,64,0,0,22,0,0,-128,-54,0,0,0,-119,-64,0,0,-123,0,0,0,-122,64,64,1,-122,0,0,1,-44,0,0,1,-52,-128,-64,1,10,1,0,0,101,1,0,0,34,65,0,0,-119,0,-127,1,-59,0,0,0,-58,-64,-64,1,-58,0,-128,1,-38,0,0,0,22,0,2,-128,20,1,0,1,6,1,-127,1,26,1,0,0,22,0,1,-128,5,1,1,0,84,1,0,1,70,65,-127,1,29,1,0,1,30,1,0,0,30,0,-128,0,5,0,0,0,4,5,0,0,0,77,111,99,107,0,4,6,0,0,0,99,97,108,108,115,0,3,0,0,0,0,0,0,-16,63,4,14,0,0,0,114,101,116,117,114,110,95,118,97,108,117,101,115,0,4,7,0,0,0,117,110,112,97,99,107,0,0,0,0,0,33,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,20,0,0,0,4,0,0,0,5,0,0,0,109,111,99,107,0,0,0,0,0,32,0,0,0,4,0,0,0,97,114,103,0,0,0,0,0,32,0,0,0,6,0,0,0,99,97,108,108,115,0,12,0,0,0,32,0,0,0,14,0,0,0,114,101,116,117,114,110,95,118,97,108,117,101,115,0,21,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,22,0,0,0,26,0,0,0,0,2,0,7,10,0,0,0,-123,0,0,0,-117,64,64,1,-100,-128,0,1,-59,-128,0,0,0,1,0,0,64,1,-128,0,-128,1,0,1,-36,64,0,2,-98,0,0,1,30,0,-128,0,3,0,0,0,4,5,0,0,0,77,111,99,107,0,4,4,0,0,0,110,101,119,0,4,7,0,0,0,114,97,119,115,101,116,0,0,0,0,0,10,0,0,0,23,0,0,0,23,0,0,0,23,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,3,0,0,0,5,0,0,0,109,111,99,107,0,0,0,0,0,9,0,0,0,4,0,0,0,107,101,121,0,0,0,0,0,9,0,0,0,9,0,0,0,110,101,119,95,109,111,99,107,0,3,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,28,0,0,0,32,0,0,0,0,1,0,5,11,0,0,0,74,-128,0,0,-122,0,64,0,73,-128,0,-128,-122,0,64,0,73,-128,-128,-128,-123,-128,0,0,-64,0,-128,0,0,1,0,0,-100,64,-128,1,94,0,0,1,30,0,-128,0,3,0,0,0,4,8,0,0,0,114,101,116,117,114,110,115,0,4,13,0,0,0,116,104,101,110,95,114,101,116,117,114,110,115,0,4,13,0,0,0,115,101,116,109,101,116,97,116,97,98,108,101,0,0,0,0,0,11,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,2,0,0,0,5,0,0,0,115,101,108,102,0,0,0,0,0,10,0,0,0,5,0,0,0,109,111,99,107,0,5,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,34,0,0,0,42,0,0,0,0,1,3,6,27,0,0,0,-123,0,0,0,-64,0,0,0,-100,-128,0,1,-59,64,0,0,87,-64,0,1,22,-64,0,-128,-123,-128,0,0,-63,-64,0,0,1,1,1,0,-100,64,-128,1,-123,64,0,0,-122,64,65,1,-122,0,0,1,-102,64,0,0,22,0,0,-128,-118,0,0,0,-44,0,0,1,-52,-128,-63,1,10,1,0,0,101,1,0,0,34,65,0,0,-119,0,-127,1,-59,64,0,0,-58,64,-63,1,-55,-128,0,0,30,0,0,1,30,0,-128,0,7,0,0,0,4,13,0,0,0,103,101,116,109,101,116,97,116,97,98,108,101,0,4,5,0,0,0,77,111,99,107,0,4,6,0,0,0,101,114,114,111,114,0,4,39,0,0,0,114,101,116,117,114,110,115,32,109,117,115,116,32,98,101,32,99,97,108,108,101,100,32,119,105,116,104,32,58,32,111,112,101,114,97,116,111,114,0,3,0,0,0,0,0,0,0,64,4,14,0,0,0,114,101,116,117,114,110,95,118,97,108,117,101,115,0,3,0,0,0,0,0,0,-16,63,0,0,0,0,27,0,0,0,35,0,0,0,35,0,0,0,35,0,0,0,35,0,0,0,35,0,0,0,35,0,0,0,36,0,0,0,36,0,0,0,36,0,0,0,36,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,40,0,0,0,40,0,0,0,40,0,0,0,41,0,0,0,42,0,0,0,3,0,0,0,5,0,0,0,115,101,108,102,0,0,0,0,0,26,0,0,0,4,0,0,0,97,114,103,0,0,0,0,0,26,0,0,0,14,0,0,0,114,101,116,117,114,110,95,118,97,108,117,101,115,0,16,0,0,0,26,0,0,0,0,0,0,0,0,0,0,0,46,0,0,0,57,0,0,0,0,2,0,8,30,0,0,0,-123,0,0,0,-64,0,0,0,-100,-128,0,1,-59,64,0,0,87,-64,0,1,22,-128,0,-128,-126,0,0,0,-63,-128,0,0,-98,0,-128,1,-123,64,0,0,-122,-64,64,1,-122,0,0,1,-102,64,0,0,22,0,0,-128,-118,0,0,0,-44,0,0,1,87,64,-128,1,22,0,2,-128,-62,0,0,0,1,1,1,0,69,65,1,0,-128,1,-128,0,92,-127,0,1,-127,-127,1,0,-44,1,0,1,21,-63,1,2,-34,0,-128,1,-62,0,-128,0,-34,0,0,1,30,0,-128,0,7,0,0,0,4,13,0,0,0,103,101,116,109,101,116,97,116,97,98,108,101,0,4,5,0,0,0,77,111,99,107,0,4,22,0,0,0,116,97,114,103,101,116,32,109,117,115,116,32,98,101,32,97,32,77,111,99,107,0,4,6,0,0,0,99,97,108,108,115,0,4,11,0,0,0,101,120,112,101,99,116,105,110,103,32,0,4,9,0,0,0,116,111,115,116,114,105,110,103,0,4,18,0,0,0,32,99,97,108,108,115,44,32,97,99,116,117,97,108,108,121,32,0,0,0,0,0,30,0,0,0,47,0,0,0,47,0,0,0,47,0,0,0,47,0,0,0,47,0,0,0,47,0,0,0,48,0,0,0,48,0,0,0,48,0,0,0,51,0,0,0,51,0,0,0,51,0,0,0,51,0,0,0,51,0,0,0,51,0,0,0,53,0,0,0,53,0,0,0,53,0,0,0,54,0,0,0,54,0,0,0,54,0,0,0,54,0,0,0,54,0,0,0,54,0,0,0,54,0,0,0,54,0,0,0,54,0,0,0,56,0,0,0,56,0,0,0,57,0,0,0,3,0,0,0,7,0,0,0,116,97,114,103,101,116,0,0,0,0,0,29,0,0,0,6,0,0,0,118,97,108,117,101,0,0,0,0,0,29,0,0,0,6,0,0,0,99,97,108,108,115,0,15,0,0,0,29,0,0,0,0,0,0,0,0,0,0,0,59,0,0,0,84,0,0,0,0,1,3,17,72,0,0,0,-123,0,0,0,-64,0,0,0,-100,-128,0,1,-59,64,0,0,87,-64,0,1,22,-128,0,-128,-126,0,0,0,-63,-128,0,0,-98,0,-128,1,-123,64,0,0,-122,-64,64,1,-122,0,0,1,-102,64,0,0,22,0,0,-128,-118,0,0,0,-44,0,0,1,87,0,-63,1,22,0,2,-128,-62,0,0,0,1,65,1,0,69,-127,1,0,-127,1,1,0,92,-127,0,1,-127,-63,1,0,-44,1,0,1,21,-63,1,2,-34,0,-128,1,-58,0,65,1,-38,64,0,0,22,0,0,-128,-54,0,0,0,10,1,0,0,101,1,0,0,34,65,0,0,84,1,0,2,-108,1,-128,1,87,-128,-127,2,22,-128,1,-128,66,1,0,0,-127,65,1,0,-44,1,0,2,1,2,2,0,84,2,-128,1,-107,65,2,3,94,1,-128,1,65,1,1,0,-108,1,0,2,-63,1,1,0,96,-127,4,-128,70,2,2,2,-122,2,-126,1,87,-128,-126,4,22,-128,3,-128,66,2,0,0,-127,66,2,0,-59,-126,1,0,0,3,0,4,-36,-126,0,1,1,-125,2,0,69,-125,1,0,-122,3,2,2,92,-125,0,1,-127,-61,2,0,-59,-125,1,0,6,4,-126,1,-36,-125,0,1,-107,-62,3,5,94,2,-128,1,95,-63,-6,127,66,1,-128,0,94,1,0,1,30,0,-128,0,12,0,0,0,4,13,0,0,0,103,101,116,109,101,116,97,116,97,98,108,101,0,4,5,0,0,0,77,111,99,107,0,4,22,0,0,0,116,97,114,103,101,116,32,109,117,115,116,32,98,101,32,97,32,77,111,99,107,0,4,6,0,0,0,99,97,108,108,115,0,3,0,0,0,0,0,0,-16,63,4,11,0,0,0,101,120,112,101,99,116,105,110,103,32,0,4,9,0,0,0,116,111,115,116,114,105,110,103,0,4,17,0,0,0,32,99,97,108,108,44,32,97,99,116,117,97,108,108,121,32,0,4,23,0,0,0,32,112,97,114,97,109,101,116,101,114,115,44,32,97,99,116,117,97,108,108,121,32,0,4,22,0,0,0,101,120,112,101,99,116,105,110,103,32,112,97,114,97,109,101,116,101,114,32,35,0,4,8,0,0,0,32,116,111,32,98,101,32,0,4,11,0,0,0,32,97,99,116,117,97,108,108,121,32,0,0,0,0,0,72,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,60,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,66,0,0,0,66,0,0,0,66,0,0,0,67,0,0,0,67,0,0,0,67,0,0,0,67,0,0,0,67,0,0,0,67,0,0,0,67,0,0,0,67,0,0,0,67,0,0,0,70,0,0,0,70,0,0,0,70,0,0,0,70,0,0,0,72,0,0,0,72,0,0,0,72,0,0,0,74,0,0,0,74,0,0,0,74,0,0,0,74,0,0,0,75,0,0,0,75,0,0,0,75,0,0,0,75,0,0,0,75,0,0,0,75,0,0,0,75,0,0,0,78,0,0,0,78,0,0,0,78,0,0,0,78,0,0,0,79,0,0,0,79,0,0,0,79,0,0,0,79,0,0,0,80,0,0,0,80,0,0,0,80,0,0,0,80,0,0,0,80,0,0,0,80,0,0,0,80,0,0,0,80,0,0,0,80,0,0,0,80,0,0,0,80,0,0,0,80,0,0,0,80,0,0,0,80,0,0,0,80,0,0,0,78,0,0,0,83,0,0,0,83,0,0,0,84,0,0,0,9,0,0,0,7,0,0,0,116,97,114,103,101,116,0,0,0,0,0,71,0,0,0,4,0,0,0,97,114,103,0,0,0,0,0,71,0,0,0,6,0,0,0,99,97,108,108,115,0,15,0,0,0,71,0,0,0,7,0,0,0,112,97,114,97,109,115,0,31,0,0,0,71,0,0,0,5,0,0,0,97,114,103,115,0,34,0,0,0,71,0,0,0,12,0,0,0,40,102,111,114,32,105,110,100,101,120,41,0,48,0,0,0,69,0,0,0,12,0,0,0,40,102,111,114,32,108,105,109,105,116,41,0,48,0,0,0,69,0,0,0,11,0,0,0,40,102,111,114,32,115,116,101,112,41,0,48,0,0,0,69,0,0,0,2,0,0,0,105,0,49,0,0,0,68,0,0,0,0,0,0,0,42,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,20,0,0,0,10,0,0,0,22,0,0,0,26,0,0,0,22,0,0,0,28,0,0,0,32,0,0,0,28,0,0,0,34,0,0,0,42,0,0,0,34,0,0,0,44,0,0,0,44,0,0,0,44,0,0,0,44,0,0,0,44,0,0,0,46,0,0,0,57,0,0,0,46,0,0,0,59,0,0,0,84,0,0,0,59,0,0,0,84,0,0,0,0,0,0,0,0,0,0,0,79,0,0,0,64,47,85,115,101,114,115,47,99,111,114,101,121,47,99,111,100,101,47,109,105,110,101,47,119,97,120,47,116,111,111,108,115,47,70,114,97,109,101,119,111,114,107,47,119,97,120,47,108,105,98,47,115,116,100,108,105,98,47,108,117,97,115,112,101,99,47,108,117,97,115,112,101,99,46,108,117,97,0,0,0,0,0,0,0,0,0,0,0,2,7,100,0,0,0,10,64,1,0,74,0,0,0,9,64,-128,-128,9,-64,64,-127,9,-64,64,-126,9,-64,-64,-126,9,-64,65,-125,7,0,0,0,10,0,0,0,7,0,2,0,5,0,2,0,69,0,2,0,9,64,-128,-124,5,0,2,0,100,0,0,0,9,64,0,-123,5,0,0,0,100,64,0,0,9,64,-128,-123,5,0,0,0,100,-128,0,0,9,64,0,-122,5,0,0,0,100,-64,0,0,9,64,-128,-122,5,0,0,0,100,0,1,0,9,64,0,-121,5,0,0,0,100,64,1,0,9,64,-128,-121,10,0,0,0,100,-128,1,0,9,64,0,-120,100,-64,1,0,9,64,-128,-124,100,0,2,0,0,0,0,0,9,64,-128,-120,69,-128,4,0,-128,0,0,0,-64,0,0,0,92,64,-128,1,74,64,2,0,-92,64,2,0,73,-128,0,-118,-92,-128,2,0,73,-128,-128,-118,-92,-64,2,0,73,-128,0,-117,-92,0,3,0,73,-128,-128,-117,-92,64,3,0,73,-128,0,-116,-92,-128,3,0,73,-128,-128,-116,-92,-64,3,0,73,-128,0,-115,-92,0,4,0,73,-128,-128,-115,-92,64,4,0,73,-128,0,-114,71,-64,4,0,69,-64,4,0,-123,-64,4,0,-122,0,69,1,73,-128,-128,-114,100,-128,4,0,-118,0,0,0,-121,-128,7,0,-123,-128,7,0,-59,-128,7,0,-119,-64,-128,-124,-123,-128,7,0,-28,-64,4,0,-119,-64,0,-123,-123,-128,7,0,-28,0,5,0,-119,-64,-128,-113,-123,-128,7,0,-28,64,5,0,-119,-64,0,-112,-123,-128,7,0,-28,-128,5,0,0,0,0,0,0,0,-128,0,-119,-64,-128,-112,-92,-64,5,0,-61,0,-128,1,36,1,6,0,0,0,0,1,0,0,-128,1,0,0,0,0,-28,64,6,0,0,0,0,2,64,1,-128,1,-126,1,-128,0,92,-127,0,1,71,-127,8,0,30,0,-128,0,35,0,0,0,4,5,0,0,0,115,112,101,99,0,4,9,0,0,0,99,111,110,116,101,120,116,115,0,4,7,0,0,0,112,97,115,115,101,100,0,3,0,0,0,0,0,0,0,0,4,7,0,0,0,102,97,105,108,101,100,0,4,8,0,0,0,112,101,110,100,105,110,103,0,4,8,0,0,0,99,117,114,114,101,110,116,0,0,4,7,0,0,0,82,101,112,111,114,116,0,4,8,0,0,0,95,95,105,110,100,101,120,0,4,4,0,0,0,110,101,119,0,4,7,0,0,0,114,101,112,111,114,116,0,4,12,0,0,0,97,100,100,95,114,101,115,117,108,116,115,0,4,12,0,0,0,97,100,100,95,99,111,110,116,101,120,116,0,4,9,0,0,0,97,100,100,95,115,112,101,99,0,4,17,0,0,0,97,100,100,95,112,101,110,100,105,110,103,95,115,112,101,99,0,4,11,0,0,0,95,95,110,101,119,105,110,100,101,120,0,4,7,0,0,0,95,95,99,97,108,108,0,4,13,0,0,0,115,101,116,109,101,116,97,116,97,98,108,101,0,4,9,0,0,0,109,97,116,99,104,101,114,115,0,4,10,0,0,0,115,104,111,117,108,100,95,98,101,0,4,14,0,0,0,115,104,111,117,108,100,95,110,111,116,95,98,101,0,4,23,0,0,0,115,104,111,117,108,100,95,98,101,95,103,114,101,97,116,101,114,95,116,104,97,110,0,4,20,0,0,0,115,104,111,117,108,100,95,98,101,95,108,101,115,115,95,116,104,97,110,0,4,13,0,0,0,115,104,111,117,108,100,95,101,114,114,111,114,0,4,13,0,0,0,115,104,111,117,108,100,95,109,97,116,99,104,0,4,18,0,0,0,115,104,111,117,108,100,95,98,101,95,107,105,110,100,95,111,102,0,4,13,0,0,0,115,104,111,117,108,100,95,101,120,105,115,116,0,4,17,0,0,0,115,104,111,117,108,100,95,110,111,116,95,101,120,105,115,116,0,4,13,0,0,0,115,104,111,117,108,100,95,101,113,117,97,108,0,4,8,0,0,0,67,111,110,116,101,120,116,0,4,12,0,0,0,114,117,110,95,98,101,102,111,114,101,115,0,4,11,0,0,0,114,117,110,95,97,102,116,101,114,115,0,4,4,0,0,0,114,117,110,0,4,9,0,0,0,100,101,115,99,114,105,98,101,0,26,0,0,0,0,0,0,0,8,0,0,0,29,0,0,0,0,2,0,11,36,0,0,0,-118,64,1,0,-58,64,-64,0,-119,-64,0,-128,-58,-64,-64,0,-119,-64,0,-127,-58,64,-63,0,-119,-64,0,-126,-58,64,-64,0,6,-63,-64,0,-52,0,-127,1,6,65,-63,0,-52,0,-127,1,-119,-64,0,-125,-54,0,0,0,-119,-64,-128,-125,-58,0,64,1,6,-127,65,1,-49,0,-127,1,-50,64,-62,1,-119,-64,0,-124,-58,-128,-62,0,1,-63,2,0,84,1,-128,1,-127,-63,2,0,32,-63,1,-128,6,-62,65,1,74,-126,0,0,-122,-62,-127,1,73,-126,2,-122,-122,-62,-127,1,-122,-126,-126,1,73,-126,-126,-122,9,66,-126,3,31,-127,-3,127,-98,0,0,1,30,0,-128,0,14,0,0,0,4,11,0,0,0,110,117,109,95,112,97,115,115,101,100,0,4,7,0,0,0,112,97,115,115,101,100,0,4,11,0,0,0,110,117,109,95,102,97,105,108,101,100,0,4,7,0,0,0,102,97,105,108,101,100,0,4,12,0,0,0,110,117,109,95,112,101,110,100,105,110,103,0,4,8,0,0,0,112,101,110,100,105,110,103,0,4,6,0,0,0,116,111,116,97,108,0,4,8,0,0,0,114,101,115,117,108,116,115,0,4,8,0,0,0,112,101,114,99,101,110,116,0,3,0,0,0,0,0,0,89,64,4,9,0,0,0,99,111,110,116,101,120,116,115,0,3,0,0,0,0,0,0,-16,63,4,5,0,0,0,110,97,109,101,0,4,13,0,0,0,115,112,101,99,95,114,101,115,117,108,116,115,0,0,0,0,0,36,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,19,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,21,0,0,0,22,0,0,0,22,0,0,0,23,0,0,0,23,0,0,0,24,0,0,0,24,0,0,0,24,0,0,0,25,0,0,0,21,0,0,0,28,0,0,0,29,0,0,0,8,0,0,0,5,0,0,0,115,101,108,102,0,0,0,0,0,35,0,0,0,5,0,0,0,115,112,101,99,0,0,0,0,0,35,0,0,0,7,0,0,0,114,101,112,111,114,116,0,15,0,0,0,35,0,0,0,9,0,0,0,99,111,110,116,101,120,116,115,0,21,0,0,0,35,0,0,0,12,0,0,0,40,102,111,114,32,105,110,100,101,120,41,0,24,0,0,0,34,0,0,0,12,0,0,0,40,102,111,114,32,108,105,109,105,116,41,0,24,0,0,0,34,0,0,0,11,0,0,0,40,102,111,114,32,115,116,101,112,41,0,24,0,0,0,34,0,0,0,6,0,0,0,105,110,100,101,120,0,25,0,0,0,33,0,0,0,0,0,0,0,0,0,0,0,31,0,0,0,62,0,0,0,0,2,0,19,72,0,0,0,-123,0,0,0,-117,64,64,1,0,1,0,0,-100,-128,-128,1,-58,-128,64,1,23,-64,-64,1,22,64,0,-128,90,0,0,0,22,64,11,-128,-59,0,1,0,6,65,65,1,-36,0,1,1,22,-64,9,-128,5,-126,1,0,65,-62,1,0,75,2,-62,4,-58,66,-62,3,92,2,-128,1,28,66,0,0,5,2,1,0,70,-126,-62,3,28,2,1,1,22,-64,6,-128,70,-61,66,6,90,3,0,0,22,-128,0,-128,65,3,3,0,90,67,0,0,22,0,0,-128,65,67,3,0,90,64,0,0,22,0,1,-128,90,0,0,0,22,-128,0,-128,-122,-61,66,6,-102,67,0,0,22,64,3,-128,-123,-125,1,0,-63,-125,3,0,-53,3,-62,7,65,-60,3,0,-128,4,-128,5,85,-124,-124,8,-128,4,-128,6,-36,3,0,2,-100,67,0,0,-123,3,4,0,-122,67,68,7,-58,-125,68,6,36,4,0,0,-100,67,-128,1,33,-126,0,0,22,64,-8,127,-31,-128,0,0,22,64,-11,127,-63,-64,4,0,5,-127,1,0,75,1,-62,1,-58,-127,64,1,23,-64,-64,3,22,-128,0,-128,-63,1,5,0,-38,65,0,0,22,0,0,-128,-63,65,5,0,6,-126,64,1,70,-126,69,1,-122,-62,69,1,-58,2,70,1,92,1,-128,3,28,65,0,0,30,0,-128,0,25,0,0,0,4,7,0,0,0,82,101,112,111,114,116,0,4,4,0,0,0,110,101,119,0,4,11,0,0,0,110,117,109,95,102,97,105,108,101,100,0,3,0,0,0,0,0,0,0,0,4,6,0,0,0,112,97,105,114,115,0,4,8,0,0,0,114,101,115,117,108,116,115,0,4,6,0,0,0,112,114,105,110,116,0,4,37,0,0,0,10,37,115,10,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,61,0,4,7,0,0,0,102,111,114,109,97,116,0,4,5,0,0,0,110,97,109,101,0,4,13,0,0,0,115,112,101,99,95,114,101,115,117,108,116,115,0,4,7,0,0,0,112,97,115,115,101,100,0,4,5,0,0,0,112,97,115,115,0,4,7,0,0,0,70,65,73,76,69,68,0,4,13,0,0,0,37,45,55,48,115,32,91,32,37,115,32,93,0,4,4,0,0,0,32,45,32,0,4,6,0,0,0,116,97,98,108,101,0,4,8,0,0,0,102,111,114,101,97,99,104,0,4,7,0,0,0,101,114,114,111,114,115,0,4,111,0,0,0,10,61,61,61,61,61,61,61,61,61,61,32,37,115,32,61,61,61,61,61,61,61,61,61,61,61,61,61,10,37,115,32,70,97,105,108,101,100,10,37,115,32,80,97,115,115,101,100,10,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,45,10,37,115,32,82,117,110,44,32,37,46,50,102,37,37,32,83,117,99,99,101,115,115,32,114,97,116,101,10,0,4,8,0,0,0,83,117,99,99,101,115,115,0,4,8,0,0,0,70,97,105,108,117,114,101,0,4,11,0,0,0,110,117,109,95,112,97,115,115,101,100,0,4,6,0,0,0,116,111,116,97,108,0,4,8,0,0,0,112,101,114,99,101,110,116,0,1,0,0,0,0,0,0,0,44,0,0,0,46,0,0,0,0,2,0,9,10,0,0,0,-123,0,0,0,-63,64,0,0,0,1,0,0,65,-127,0,0,-122,-63,-64,0,-63,1,1,0,6,66,-63,0,-43,0,-126,1,-100,64,0,1,30,0,-128,0,6,0,0,0,4,6,0,0,0,112,114,105,110,116,0,4,4,0,0,0,32,32,32,0,4,24,0,0,0,46,32,70,97,105,108,101,100,32,101,120,112,101,99,116,97,116,105,111,110,32,58,32,0,4,8,0,0,0,109,101,115,115,97,103,101,0,4,5,0,0,0,10,32,32,32,0,4,6,0,0,0,116,114,97,99,101,0,0,0,0,0,10,0,0,0,45,0,0,0,45,0,0,0,45,0,0,0,45,0,0,0,45,0,0,0,45,0,0,0,45,0,0,0,45,0,0,0,45,0,0,0,46,0,0,0,2,0,0,0,6,0,0,0,105,110,100,101,120,0,0,0,0,0,9,0,0,0,6,0,0,0,101,114,114,111,114,0,0,0,0,0,9,0,0,0,0,0,0,0,72,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,34,0,0,0,34,0,0,0,34,0,0,0,34,0,0,0,34,0,0,0,35,0,0,0,35,0,0,0,35,0,0,0,35,0,0,0,36,0,0,0,36,0,0,0,36,0,0,0,36,0,0,0,36,0,0,0,36,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,38,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,41,0,0,0,41,0,0,0,41,0,0,0,41,0,0,0,41,0,0,0,41,0,0,0,41,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,42,0,0,0,44,0,0,0,44,0,0,0,44,0,0,0,46,0,0,0,44,0,0,0,38,0,0,0,47,0,0,0,35,0,0,0,48,0,0,0,59,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,61,0,0,0,62,0,0,0,15,0,0,0,5,0,0,0,115,101,108,102,0,0,0,0,0,71,0,0,0,8,0,0,0,118,101,114,98,111,115,101,0,0,0,0,0,71,0,0,0,7,0,0,0,114,101,112,111,114,116,0,4,0,0,0,71,0,0,0,16,0,0,0,40,102,111,114,32,103,101,110,101,114,97,116,111,114,41,0,12,0,0,0,55,0,0,0,12,0,0,0,40,102,111,114,32,115,116,97,116,101,41,0,12,0,0,0,55,0,0,0,14,0,0,0,40,102,111,114,32,99,111,110,116,114,111,108,41,0,12,0,0,0,55,0,0,0,2,0,0,0,105,0,13,0,0,0,53,0,0,0,7,0,0,0,114,101,115,117,108,116,0,13,0,0,0,53,0,0,0,16,0,0,0,40,102,111,114,32,103,101,110,101,114,97,116,111,114,41,0,22,0,0,0,53,0,0,0,12,0,0,0,40,102,111,114,32,115,116,97,116,101,41,0,22,0,0,0,53,0,0,0,14,0,0,0,40,102,111,114,32,99,111,110,116,114,111,108,41,0,22,0,0,0,53,0,0,0,12,0,0,0,100,101,115,99,114,105,112,116,105,111,110,0,23,0,0,0,51,0,0,0,2,0,0,0,114,0,23,0,0,0,51,0,0,0,8,0,0,0,111,117,116,99,111,109,101,0,30,0,0,0,51,0,0,0,8,0,0,0,115,117,109,109,97,114,121,0,56,0,0,0,71,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,75,0,0,0,0,4,0,7,24,0,0,0,6,1,64,0,6,65,64,2,26,1,0,0,22,64,0,-128,6,1,64,0,9,65,-128,-128,90,0,0,0,22,-64,0,-128,6,65,64,0,12,-127,64,2,9,0,-127,-128,22,-128,2,-128,5,-63,0,0,6,1,65,2,70,1,64,0,70,65,-63,2,-118,-127,0,0,-119,-127,0,-125,-119,-63,-128,-125,28,65,-128,1,6,1,66,0,12,-127,64,2,9,0,1,-124,30,0,-128,0,9,0,0,0,4,8,0,0,0,99,117,114,114,101,110,116,0,4,7,0,0,0,112,97,115,115,101,100,0,3,0,0,0,0,0,0,-16,63,4,6,0,0,0,116,97,98,108,101,0,4,7,0,0,0,105,110,115,101,114,116,0,4,7,0,0,0,101,114,114,111,114,115,0,4,8,0,0,0,109,101,115,115,97,103,101,0,4,6,0,0,0,116,114,97,99,101,0,4,7,0,0,0,102,97,105,108,101,100,0,0,0,0,0,24,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,66,0,0,0,66,0,0,0,69,0,0,0,69,0,0,0,70,0,0,0,70,0,0,0,70,0,0,0,70,0,0,0,72,0,0,0,72,0,0,0,72,0,0,0,72,0,0,0,72,0,0,0,72,0,0,0,72,0,0,0,72,0,0,0,73,0,0,0,73,0,0,0,73,0,0,0,75,0,0,0,4,0,0,0,5,0,0,0,115,101,108,102,0,0,0,0,0,23,0,0,0,8,0,0,0,115,117,99,99,101,115,115,0,0,0,0,0,23,0,0,0,8,0,0,0,109,101,115,115,97,103,101,0,0,0,0,0,23,0,0,0,6,0,0,0,116,114,97,99,101,0,0,0,0,0,23,0,0,0,0,0,0,0,0,0,0,0,77,0,0,0,80,0,0,0,0,2,0,4,9,0,0,0,-122,0,64,0,-58,0,64,0,-44,0,-128,1,-52,64,-64,1,-119,64,-128,1,-122,0,64,0,-54,0,0,0,-119,-64,-128,0,30,0,-128,0,2,0,0,0,4,9,0,0,0,99,111,110,116,101,120,116,115,0,3,0,0,0,0,0,0,-16,63,0,0,0,0,9,0,0,0,78,0,0,0,78,0,0,0,78,0,0,0,78,0,0,0,78,0,0,0,79,0,0,0,79,0,0,0,79,0,0,0,80,0,0,0,2,0,0,0,5,0,0,0,115,101,108,102,0,0,0,0,0,8,0,0,0,5,0,0,0,110,97,109,101,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,82,0,0,0,86,0,0,0,0,3,0,6,10,0,0,0,-58,0,64,0,-58,64,-128,1,10,-127,0,0,9,-127,-64,-128,74,1,0,0,9,65,-127,-127,-55,0,1,1,6,-127,-128,1,9,0,1,-126,30,0,-128,0,5,0,0,0,4,9,0,0,0,99,111,110,116,101,120,116,115,0,4,7,0,0,0,112,97,115,115,101,100,0,1,1,4,7,0,0,0,101,114,114,111,114,115,0,4,8,0,0,0,99,117,114,114,101,110,116,0,0,0,0,0,10,0,0,0,83,0,0,0,83,0,0,0,84,0,0,0,84,0,0,0,84,0,0,0,84,0,0,0,84,0,0,0,85,0,0,0,85,0,0,0,86,0,0,0,4,0,0,0,5,0,0,0,115,101,108,102,0,0,0,0,0,9,0,0,0,13,0,0,0,99,111,110,116,101,120,116,95,110,97,109,101,0,0,0,0,0,9,0,0,0,10,0,0,0,115,112,101,99,95,110,97,109,101,0,0,0,0,0,9,0,0,0,8,0,0,0,99,111,110,116,101,120,116,0,2,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,88,0,0,0,89,0,0,0,0,4,0,4,1,0,0,0,30,0,-128,0,0,0,0,0,0,0,0,0,1,0,0,0,89,0,0,0,4,0,0,0,5,0,0,0,115,101,108,102,0,0,0,0,0,0,0,0,0,13,0,0,0,99,111,110,116,101,120,116,95,110,97,109,101,0,0,0,0,0,0,0,0,0,10,0,0,0,115,112,101,99,95,110,97,109,101,0,0,0,0,0,0,0,0,0,20,0,0,0,112,101,110,100,105,110,103,95,100,101,115,99,114,105,112,116,105,111,110,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,94,0,0,0,94,0,0,0,0,0,0,2,4,0,0,0,5,0,0,0,65,64,0,0,28,64,0,1,30,0,-128,0,2,0,0,0,4,6,0,0,0,101,114,114,111,114,0,4,36,0,0,0,89,111,117,32,99,97,110,39,116,32,115,101,116,32,112,114,111,112,101,114,116,105,101,115,32,111,110,32,112,101,110,100,105,110,103,0,0,0,0,0,4,0,0,0,94,0,0,0,94,0,0,0,94,0,0,0,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,0,102,0,0,0,0,2,0,4,9,0,0,0,23,0,-64,0,22,-128,0,-128,-125,0,0,1,-98,0,0,1,22,-128,0,-128,-123,64,0,0,-63,-128,0,0,-100,64,0,1,30,0,-128,0,3,0,0,0,4,12,0,0,0,100,101,115,99,114,105,112,116,105,111,110,0,4,6,0,0,0,101,114,114,111,114,0,4,36,0,0,0,89,111,117,32,99,97,110,39,116,32,103,101,116,32,112,114,111,112,101,114,116,105,101,115,32,111,110,32,112,101,110,100,105,110,103,0,0,0,0,0,9,0,0,0,97,0,0,0,97,0,0,0,98,0,0,0,98,0,0,0,98,0,0,0,100,0,0,0,100,0,0,0,100,0,0,0,102,0,0,0,2,0,0,0,2,0,0,0,95,0,0,0,0,0,8,0,0,0,4,0,0,0,107,101,121,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,104,0,0,0,108,0,0,0,1,2,0,6,8,0,0,0,-118,64,0,0,-119,64,0,-128,-59,64,0,0,0,1,0,1,68,1,0,0,-36,64,-128,1,-98,0,0,1,30,0,-128,0,2,0,0,0,4,12,0,0,0,100,101,115,99,114,105,112,116,105,111,110,0,4,13,0,0,0,115,101,116,109,101,116,97,116,97,98,108,101,0,0,0,0,0,8,0,0,0,105,0,0,0,105,0,0,0,106,0,0,0,106,0,0,0,106,0,0,0,106,0,0,0,107,0,0,0,108,0,0,0,3,0,0,0,2,0,0,0,95,0,0,0,0,0,7,0,0,0,12,0,0,0,100,101,115,99,114,105,112,116,105,111,110,0,0,0,0,0,7,0,0,0,2,0,0,0,111,0,2,0,0,0,7,0,0,0,1,0,0,0,8,0,0,0,112,101,110,100,105,110,103,0,0,0,0,0,117,0,0,0,122,0,0,0,0,2,0,8,16,0,0,0,87,64,0,0,22,-128,2,-128,-126,0,0,0,-63,0,0,0,5,65,0,0,64,1,-128,0,28,-127,0,1,65,-127,0,0,-123,65,0,0,-64,1,0,0,-100,-127,0,1,-43,-128,-127,1,-98,0,-128,1,-126,0,-128,0,-98,0,0,1,30,0,-128,0,3,0,0,0,4,11,0,0,0,101,120,112,101,99,116,105,110,103,32,0,4,9,0,0,0,116,111,115,116,114,105,110,103,0,4,7,0,0,0,44,32,110,111,116,32,0,0,0,0,0,16,0,0,0,118,0,0,0,118,0,0,0,119,0,0,0,119,0,0,0,119,0,0,0,119,0,0,0,119,0,0,0,119,0,0,0,119,0,0,0,119,0,0,0,119,0,0,0,119,0,0,0,119,0,0,0,121,0,0,0,121,0,0,0,122,0,0,0,2,0,0,0,6,0,0,0,118,97,108,117,101,0,0,0,0,0,15,0,0,0,9,0,0,0,101,120,112,101,99,116,101,100,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,124,0,0,0,-127,0,0,0,0,2,0,6,12,0,0,0,23,64,0,0,22,-128,1,-128,-126,0,0,0,-63,0,0,0,5,65,0,0,64,1,0,0,28,-127,0,1,-43,0,-127,1,-98,0,-128,1,-126,0,-128,0,-98,0,0,1,30,0,-128,0,2,0,0,0,4,15,0,0,0,115,104,111,117,108,100,32,110,111,116,32,98,101,32,0,4,9,0,0,0,116,111,115,116,114,105,110,103,0,0,0,0,0,12,0,0,0,125,0,0,0,125,0,0,0,126,0,0,0,126,0,0,0,126,0,0,0,126,0,0,0,126,0,0,0,126,0,0,0,126,0,0,0,-128,0,0,0,-128,0,0,0,-127,0,0,0,2,0,0,0,6,0,0,0,118,97,108,117,101,0,0,0,0,0,11,0,0,0,9,0,0,0,101,120,112,101,99,116,101,100,0,0,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,-125,0,0,0,-120,0,0,0,0,2,0,8,16,0,0,0,25,64,0,0,22,-128,2,-128,-126,0,0,0,-63,0,0,0,5,65,0,0,64,1,0,0,28,-127,0,1,65,-127,0,0,-123,65,0,0,-64,1,-128,0,-100,-127,0,1,-43,-128,-127,1,-98,0,-128,1,-126,0,-128,0,-98,0,0,1,30,0,-128,0,3,0,0,0,4,5,0,0,0,103,111,116,32,0,4,9,0,0,0,116,111,115,116,114,105,110,103,0,4,20,0,0,0,32,101,120,112,101,99,116,105,110,103,32,118,97,108,117,101,32,62,32,0,0,0,0,0,16,0,0,0,-124,0,0,0,-124,0,0,0,-123,0,0,0,-123,0,0,0,-123,0,0,0,-123,0,0,0,-123,0,0,0,-123,0,0,0,-123,0,0,0,-123,0,0,0,-123,0,0,0,-123,0,0,0,-123,0,0,0,-121,0,0,0,-121,0,0,0,-120,0,0,0,2,0,0,0,6,0,0,0,118,97,108,117,101,0,0,0,0,0,15,0,0,0,9,0,0,0,101,120,112,101,99,116,101,100,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,-118,0,0,0,-113,0,0,0,0,2,0,8,16,0,0,0,25,0,-128,0,22,-128,2,-128,-126,0,0,0,-63,0,0,0,5,65,0,0,64,1,0,0,28,-127,0,1,65,-127,0,0,-123,65,0,0,-64,1,-128,0,-100,-127,0,1,-43,-128,-127,1,-98,0,-128,1,-126,0,-128,0,-98,0,0,1,30,0,-128,0,3,0,0,0,4,5,0,0,0,103,111,116,32,0,4,9,0,0,0,116,111,115,116,114,105,110,103,0,4,20,0,0,0,32,101,120,112,101,99,116,105,110,103,32,118,97,108,117,101,32,60,32,0,0,0,0,0,16,0,0,0,-117,0,0,0,-117,0,0,0,-116,0,0,0,-116,0,0,0,-116,0,0,0,-116,0,0,0,-116,0,0,0,-116,0,0,0,-116,0,0,0,-116,0,0,0,-116,0,0,0,-116,0,0,0,-116,0,0,0,-114,0,0,0,-114,0,0,0,-113,0,0,0,2,0,0,0,6,0,0,0,118,97,108,117,101,0,0,0,0,0,15,0,0,0,9,0,0,0,101,120,112,101,99,116,101,100,0,0,0,0,0,15,0,0,0,0,0,0,0,0,0,0,0,-111,0,0,0,-106,0,0,0,0,1,0,3,11,0,0,0,69,0,0,0,-128,0,0,0,92,-128,0,1,90,0,0,0,22,-128,0,-128,66,0,0,0,-127,64,0,0,94,0,-128,1,66,0,-128,0,94,0,0,1,30,0,-128,0,2,0,0,0,4,6,0,0,0,112,99,97,108,108,0,4,37,0,0,0,101,120,112,101,99,116,105,110,103,32,97,110,32,101,114,114,111,114,32,98,117,116,32,114,101,99,101,105,118,101,100,32,110,111,110,101,0,0,0,0,0,11,0,0,0,-110,0,0,0,-110,0,0,0,-110,0,0,0,-110,0,0,0,-110,0,0,0,-109,0,0,0,-109,0,0,0,-109,0,0,0,-107,0,0,0,-107,0,0,0,-106,0,0,0,1,0,0,0,2,0,0,0,102,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,-104,0,0,0,-95,0,0,0,0,2,0,6,24,0,0,0,-123,0,0,0,-64,0,0,0,-100,-128,0,1,87,64,64,1,22,-128,0,-128,-126,0,0,0,-63,-128,0,0,-98,0,-128,1,-123,64,0,0,-122,-64,64,1,-64,0,0,0,0,1,-128,0,-100,-128,-128,1,-102,64,0,0,22,64,1,-128,-126,0,0,0,-64,0,0,0,1,1,1,0,64,1,-128,0,-43,64,-127,1,-98,0,-128,1,-126,0,-128,0,-98,0,0,1,30,0,-128,0,5,0,0,0,4,5,0,0,0,116,121,112,101,0,4,7,0,0,0,115,116,114,105,110,103,0,4,52,0,0,0,116,121,112,101,32,101,114,114,111,114,44,32,115,104,111,117,108,100,95,109,97,116,99,104,32,101,120,112,101,99,116,105,110,103,32,116,97,114,103,101,116,32,97,115,32,115,116,114,105,110,103,0,4,6,0,0,0,109,97,116,99,104,0,4,23,0,0,0,100,111,101,115,110,39,116,32,109,97,116,99,104,32,112,97,116,116,101,114,110,32,0,0,0,0,0,24,0,0,0,-103,0,0,0,-103,0,0,0,-103,0,0,0,-103,0,0,0,-103,0,0,0,-102,0,0,0,-102,0,0,0,-102,0,0,0,-99,0,0,0,-99,0,0,0,-99,0,0,0,-99,0,0,0,-99,0,0,0,-99,0,0,0,-99,0,0,0,-98,0,0,0,-98,0,0,0,-98,0,0,0,-98,0,0,0,-98,0,0,0,-98,0,0,0,-96,0,0,0,-96,0,0,0,-95,0,0,0,2,0,0,0,6,0,0,0,118,97,108,117,101,0,0,0,0,0,23,0,0,0,8,0,0,0,112,97,116,116,101,114,110,0,0,0,0,0,23,0,0,0,0,0,0,0,0,0,0,0,-93,0,0,0,-82,0,0,0,0,2,0,7,39,0,0,0,-123,0,0,0,-64,0,0,0,-100,-128,0,1,23,64,64,1,22,-64,3,-128,-117,-128,64,0,0,1,-128,0,-100,-128,-128,1,-102,64,0,0,22,64,6,-128,-126,0,0,0,-59,-64,0,0,0,1,0,0,-36,-128,0,1,1,1,1,0,69,-63,0,0,-128,1,-128,0,92,-127,0,1,-43,64,-127,1,-98,0,-128,1,22,-128,3,-128,-123,0,0,0,-64,0,0,0,-100,-128,0,1,87,64,0,1,22,64,2,-128,-126,0,0,0,-59,0,0,0,0,1,0,0,-36,-128,0,1,1,1,1,0,69,-63,0,0,-128,1,-128,0,92,-127,0,1,-43,64,-127,1,-98,0,-128,1,-126,0,-128,0,-98,0,0,1,30,0,-128,0,5,0,0,0,4,5,0,0,0,116,121,112,101,0,4,9,0,0,0,117,115,101,114,100,97,116,97,0,4,14,0,0,0,105,115,75,105,110,100,79,102,67,108,97,115,115,0,4,9,0,0,0,116,111,115,116,114,105,110,103,0,4,11,0,0,0,32,105,115,32,110,111,116,32,97,32,0,0,0,0,0,39,0,0,0,-92,0,0,0,-92,0,0,0,-92,0,0,0,-92,0,0,0,-92,0,0,0,-90,0,0,0,-90,0,0,0,-90,0,0,0,-90,0,0,0,-90,0,0,0,-89,0,0,0,-89,0,0,0,-89,0,0,0,-89,0,0,0,-89,0,0,0,-89,0,0,0,-89,0,0,0,-89,0,0,0,-89,0,0,0,-89,0,0,0,-88,0,0,0,-87,0,0,0,-87,0,0,0,-87,0,0,0,-87,0,0,0,-87,0,0,0,-86,0,0,0,-86,0,0,0,-86,0,0,0,-86,0,0,0,-86,0,0,0,-86,0,0,0,-86,0,0,0,-86,0,0,0,-86,0,0,0,-86,0,0,0,-83,0,0,0,-83,0,0,0,-82,0,0,0,2,0,0,0,6,0,0,0,118,97,108,117,101,0,0,0,0,0,38,0,0,0,6,0,0,0,99,108,97,115,115,0,0,0,0,0,38,0,0,0,0,0,0,0,0,0,0,0,-80,0,0,0,-74,0,0,0,0,1,0,4,13,0,0,0,26,64,0,0,22,-64,1,-128,66,0,0,0,-123,0,0,0,-64,0,0,0,-100,-128,0,1,-63,64,0,0,-107,-64,0,1,94,0,-128,1,22,64,0,-128,66,0,-128,0,94,0,0,1,30,0,-128,0,2,0,0,0,4,9,0,0,0,116,111,115,116,114,105,110,103,0,4,21,0,0,0,32,101,118,97,108,117,97,116,101,115,32,116,111,32,102,97,108,115,101,46,0,0,0,0,0,13,0,0,0,-79,0,0,0,-79,0,0,0,-78,0,0,0,-78,0,0,0,-78,0,0,0,-78,0,0,0,-78,0,0,0,-78,0,0,0,-78,0,0,0,-78,0,0,0,-76,0,0,0,-76,0,0,0,-74,0,0,0,1,0,0,0,6,0,0,0,118,97,108,117,101,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,-72,0,0,0,-66,0,0,0,0,1,0,4,11,0,0,0,26,0,0,0,22,64,1,-128,66,0,0,0,-128,0,0,0,-63,0,0,0,-107,-64,0,1,94,0,-128,1,22,64,0,-128,66,0,-128,0,94,0,0,1,30,0,-128,0,1,0,0,0,4,20,0,0,0,32,101,118,97,108,117,97,116,101,115,32,116,111,32,116,114,117,101,46,0,0,0,0,0,11,0,0,0,-71,0,0,0,-71,0,0,0,-70,0,0,0,-70,0,0,0,-70,0,0,0,-70,0,0,0,-70,0,0,0,-70,0,0,0,-68,0,0,0,-68,0,0,0,-66,0,0,0,1,0,0,0,6,0,0,0,118,97,108,117,101,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,-56,0,0,0,-47,0,0,0,0,1,0,5,9,0,0,0,69,0,0,0,-118,0,0,0,-54,64,0,0,36,1,0,0,0,0,0,0,-55,0,-127,-128,93,0,-128,1,94,0,0,0,30,0,-128,0,2,0,0,0,4,13,0,0,0,115,101,116,109,101,116,97,116,97,98,108,101,0,4,8,0,0,0,95,95,105,110,100,101,120,0,1,0,0,0,0,0,0,0,-54,0,0,0,-49,0,0,0,1,2,0,3,5,0,0,0,-92,0,0,0,0,0,-128,0,4,0,0,0,-98,0,0,1,30,0,-128,0,0,0,0,0,1,0,0,0,0,0,0,0,-53,0,0,0,-50,0,0,0,2,0,3,8,15,0,0,0,69,0,0,0,-124,0,0,0,70,-128,-128,0,-124,0,-128,0,-27,0,0,0,92,-64,0,0,-59,64,0,0,-53,-128,-64,1,64,1,-128,0,-128,1,0,1,-59,-63,0,0,-58,1,-63,3,-36,1,-128,0,-36,64,0,0,30,0,-128,0,5,0,0,0,4,9,0,0,0,109,97,116,99,104,101,114,115,0,4,5,0,0,0,115,112,101,99,0,4,12,0,0,0,97,100,100,95,114,101,115,117,108,116,115,0,4,6,0,0,0,100,101,98,117,103,0,4,10,0,0,0,116,114,97,99,101,98,97,99,107,0,0,0,0,0,15,0,0,0,-52,0,0,0,-52,0,0,0,-52,0,0,0,-52,0,0,0,-52,0,0,0,-52,0,0,0,-51,0,0,0,-51,0,0,0,-51,0,0,0,-51,0,0,0,-51,0,0,0,-51,0,0,0,-51,0,0,0,-51,0,0,0,-50,0,0,0,3,0,0,0,4,0,0,0,97,114,103,0,0,0,0,0,14,0,0,0,8,0,0,0,115,117,99,99,101,115,115,0,6,0,0,0,14,0,0,0,8,0,0,0,109,101,115,115,97,103,101,0,6,0,0,0,14,0,0,0,2,0,0,0,8,0,0,0,109,97,116,99,104,101,114,0,7,0,0,0,116,97,114,103,101,116,0,5,0,0,0,-50,0,0,0,-50,0,0,0,-50,0,0,0,-50,0,0,0,-49,0,0,0,2,0,0,0,2,0,0,0,95,0,0,0,0,0,4,0,0,0,8,0,0,0,109,97,116,99,104,101,114,0,0,0,0,0,4,0,0,0,1,0,0,0,7,0,0,0,116,97,114,103,101,116,0,9,0,0,0,-55,0,0,0,-55,0,0,0,-55,0,0,0,-49,0,0,0,-49,0,0,0,-49,0,0,0,-55,0,0,0,-48,0,0,0,-47,0,0,0,1,0,0,0,7,0,0,0,116,97,114,103,101,116,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,-39,0,0,0,-34,0,0,0,0,2,0,8,13,0,0,0,-123,0,0,0,-58,64,-64,0,-100,0,1,1,22,0,0,-128,-119,65,0,-127,-95,-128,0,0,22,0,-1,127,-123,-64,0,0,-64,0,-128,0,0,1,0,0,-99,0,-128,1,-98,0,0,0,30,0,-128,0,4,0,0,0,4,7,0,0,0,105,112,97,105,114,115,0,4,9,0,0,0,99,104,105,108,100,114,101,110,0,4,7,0,0,0,112,97,114,101,110,116,0,4,13,0,0,0,115,101,116,109,101,116,97,116,97,98,108,101,0,0,0,0,0,13,0,0,0,-38,0,0,0,-38,0,0,0,-38,0,0,0,-38,0,0,0,-37,0,0,0,-38,0,0,0,-37,0,0,0,-35,0,0,0,-35,0,0,0,-35,0,0,0,-35,0,0,0,-35,0,0,0,-34,0,0,0,7,0,0,0,5,0,0,0,115,101,108,102,0,0,0,0,0,12,0,0,0,8,0,0,0,99,111,110,116,101,120,116,0,0,0,0,0,12,0,0,0,16,0,0,0,40,102,111,114,32,103,101,110,101,114,97,116,111,114,41,0,3,0,0,0,7,0,0,0,12,0,0,0,40,102,111,114,32,115,116,97,116,101,41,0,3,0,0,0,7,0,0,0,14,0,0,0,40,102,111,114,32,99,111,110,116,114,111,108,41,0,3,0,0,0,7,0,0,0,2,0,0,0,105,0,4,0,0,0,5,0,0,0,6,0,0,0,99,104,105,108,100,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,-32,0,0,0,-24,0,0,0,0,2,0,5,17,0,0,0,-122,0,64,0,-102,0,0,0,22,-64,0,-128,-122,0,64,0,-117,64,64,1,0,1,-128,0,-100,64,-128,1,-122,-128,64,0,-102,0,0,0,22,64,1,-128,-123,-64,0,0,-58,-128,64,0,0,1,-128,0,-100,64,-128,1,-122,-128,64,0,-100,64,-128,0,30,0,-128,0,4,0,0,0,4,7,0,0,0,112,97,114,101,110,116,0,4,12,0,0,0,114,117,110,95,98,101,102,111,114,101,115,0,4,7,0,0,0,98,101,102,111,114,101,0,4,8,0,0,0,115,101,116,102,101,110,118,0,0,0,0,0,17,0,0,0,-31,0,0,0,-31,0,0,0,-31,0,0,0,-30,0,0,0,-30,0,0,0,-30,0,0,0,-30,0,0,0,-28,0,0,0,-28,0,0,0,-28,0,0,0,-27,0,0,0,-27,0,0,0,-27,0,0,0,-27,0,0,0,-26,0,0,0,-26,0,0,0,-24,0,0,0,2,0,0,0,5,0,0,0,115,101,108,102,0,0,0,0,0,16,0,0,0,4,0,0,0,101,110,118,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,-22,0,0,0,-14,0,0,0,0,2,0,5,17,0,0,0,-122,0,64,0,-102,0,0,0,22,64,1,-128,-123,64,0,0,-58,0,64,0,0,1,-128,0,-100,64,-128,1,-122,0,64,0,-100,64,-128,0,-122,-128,64,0,-102,0,0,0,22,-64,0,-128,-122,-128,64,0,-117,-64,64,1,0,1,-128,0,-100,64,-128,1,30,0,-128,0,4,0,0,0,4,6,0,0,0,97,102,116,101,114,0,4,8,0,0,0,115,101,116,102,101,110,118,0,4,7,0,0,0,112,97,114,101,110,116,0,4,11,0,0,0,114,117,110,95,97,102,116,101,114,115,0,0,0,0,0,17,0,0,0,-21,0,0,0,-21,0,0,0,-21,0,0,0,-20,0,0,0,-20,0,0,0,-20,0,0,0,-20,0,0,0,-19,0,0,0,-19,0,0,0,-17,0,0,0,-17,0,0,0,-17,0,0,0,-16,0,0,0,-16,0,0,0,-16,0,0,0,-16,0,0,0,-14,0,0,0,2,0,0,0,5,0,0,0,115,101,108,102,0,0,0,0,0,16,0,0,0,4,0,0,0,101,110,118,0,0,0,0,0,16,0,0,0,0,0,0,0,0,0,0,0,-12,0,0,0,45,1,0,0,2,1,0,18,89,0,0,0,69,0,0,0,-122,64,64,0,92,0,1,1,22,64,18,-128,-123,-127,0,0,-64,1,-128,2,-100,-127,0,1,-60,1,0,0,23,-64,1,3,22,0,0,-128,22,-128,16,-128,-123,-63,0,0,-117,1,65,3,6,66,65,0,64,2,0,2,-100,65,0,2,-118,1,0,0,-54,-63,0,0,36,2,0,0,-55,1,2,-125,4,2,-128,0,-55,1,-126,-125,36,66,0,0,0,0,0,3,-55,1,2,-124,5,66,2,0,64,2,-128,3,-118,66,0,0,-59,-62,2,0,-119,-62,2,-123,28,66,-128,1,11,2,67,0,-128,2,-128,3,28,66,-128,1,5,66,3,0,64,2,-128,2,-128,2,-128,3,28,66,-128,1,3,2,-128,4,-123,-126,3,0,-64,2,-128,2,36,-125,0,0,0,0,0,4,0,0,-128,4,-100,-126,-128,1,-53,-62,67,0,64,3,-128,3,-36,66,-128,1,-102,66,0,0,22,-128,2,-128,-59,2,4,0,-58,66,-60,5,1,-125,4,0,-36,66,0,1,-59,-62,0,0,-53,-62,-60,5,66,3,0,0,-128,3,0,4,-64,3,-128,4,-36,66,-128,2,22,-64,0,-128,-59,2,4,0,-58,66,-60,5,1,3,5,0,-36,66,0,1,-59,2,4,0,-58,66,-59,5,-36,66,-128,0,-59,2,0,0,0,3,0,3,-36,2,1,1,22,-128,0,-128,6,-124,69,7,70,-60,69,7,9,-60,-125,8,-31,-126,0,0,22,-128,-2,127,-93,1,0,0,97,-128,0,0,22,-64,-20,127,69,0,0,0,-122,0,70,0,92,0,1,1,22,64,0,-128,-117,65,-58,2,-100,65,0,1,97,-128,0,0,22,-64,-2,127,30,0,-128,0,26,0,0,0,4,6,0,0,0,112,97,105,114,115,0,4,6,0,0,0,115,112,101,99,115,0,4,13,0,0,0,103,101,116,109,101,116,97,116,97,98,108,101,0,4,5,0,0,0,115,112,101,99,0,4,9,0,0,0,97,100,100,95,115,112,101,99,0,4,5,0,0,0,110,97,109,101,0,4,12,0,0,0,116,114,97,99,107,95,101,114,114,111,114,0,4,7,0,0,0,101,120,112,101,99,116,0,4,5,0,0,0,109,111,99,107,0,4,13,0,0,0,115,101,116,109,101,116,97,116,97,98,108,101,0,4,8,0,0,0,95,95,105,110,100,101,120,0,4,3,0,0,0,95,71,0,4,12,0,0,0,114,117,110,95,98,101,102,111,114,101,115,0,4,8,0,0,0,115,101,116,102,101,110,118,0,4,7,0,0,0,120,112,99,97,108,108,0,4,11,0,0,0,114,117,110,95,97,102,116,101,114,115,0,4,3,0,0,0,105,111,0,4,6,0,0,0,119,114,105,116,101,0,4,2,0,0,0,120,0,4,12,0,0,0,97,100,100,95,114,101,115,117,108,116,115,0,4,2,0,0,0,46,0,4,6,0,0,0,102,108,117,115,104,0,4,6,0,0,0,116,97,98,108,101,0,4,4,0,0,0,107,101,121,0,4,9,0,0,0,99,104,105,108,100,114,101,110,0,4,4,0,0,0,114,117,110,0,3,0,0,0,0,0,0,0,-1,0,0,0,2,1,0,0,0,1,0,3,5,0,0,0,69,0,0,0,-128,0,0,0,92,-64,0,1,-98,0,0,1,30,0,-128,0,1,0,0,0,4,6,0,0,0,112,99,97,108,108,0,0,0,0,0,5,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,1,1,0,0,2,1,0,0,3,0,0,0,2,0,0,0,102,0,0,0,0,0,4,0,0,0,7,0,0,0,115,116,97,116,117,115,0,3,0,0,0,4,0,0,0,4,0,0,0,101,114,114,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,6,1,0,0,10,1,0,0,1,3,0,6,15,0,0,0,-60,0,0,0,10,-127,0,0,9,1,0,-128,9,65,-128,-128,70,65,0,0,-55,64,1,2,-37,64,0,1,22,-128,0,-128,-59,-128,0,0,-53,-64,-64,1,-36,-128,0,1,9,-64,-128,0,-58,64,0,0,-34,0,0,1,30,0,-128,0,4,0,0,0,4,6,0,0,0,116,97,98,108,101,0,4,4,0,0,0,107,101,121,0,4,5,0,0,0,77,111,99,107,0,4,4,0,0,0,110,101,119,0,0,0,0,0,15,0,0,0,7,1,0,0,7,1,0,0,7,1,0,0,7,1,0,0,7,1,0,0,7,1,0,0,8,1,0,0,8,1,0,0,8,1,0,0,8,1,0,0,8,1,0,0,8,1,0,0,9,1,0,0,9,1,0,0,10,1,0,0,3,0,0,0,6,0,0,0,116,97,98,108,101,0,0,0,0,0,14,0,0,0,4,0,0,0,107,101,121,0,0,0,0,0,14,0,0,0,11,0,0,0,109,111,99,107,95,118,97,108,117,101,0,0,0,0,0,14,0,0,0,1,0,0,0,6,0,0,0,109,111,99,107,115,0,0,0,0,0,20,1,0,0,23,1,0,0,2,1,0,4,8,0,0,0,8,0,0,0,69,0,0,0,70,64,-64,0,-127,-128,0,0,-63,-64,0,0,92,-128,-128,1,72,0,-128,0,30,0,-128,0,4,0,0,0,4,6,0,0,0,100,101,98,117,103,0,4,10,0,0,0,116,114,97,99,101,98,97,99,107,0,4,1,0,0,0,0,3,0,0,0,0,0,0,0,64,0,0,0,0,8,0,0,0,21,1,0,0,22,1,0,0,22,1,0,0,22,1,0,0,22,1,0,0,22,1,0,0,22,1,0,0,23,1,0,0,1,0,0,0,4,0,0,0,101,114,114,0,0,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,109,101,115,115,97,103,101,0,10,0,0,0,116,114,97,99,101,98,97,99,107,0,89,0,0,0,-10,0,0,0,-10,0,0,0,-10,0,0,0,-10,0,0,0,-9,0,0,0,-9,0,0,0,-9,0,0,0,-9,0,0,0,-9,0,0,0,-9,0,0,0,-9,0,0,0,-7,0,0,0,-7,0,0,0,-7,0,0,0,-7,0,0,0,-7,0,0,0,-5,0,0,0,-2,0,0,0,2,1,0,0,2,1,0,0,4,1,0,0,4,1,0,0,10,1,0,0,10,1,0,0,10,1,0,0,12,1,0,0,12,1,0,0,12,1,0,0,12,1,0,0,12,1,0,0,12,1,0,0,15,1,0,0,15,1,0,0,15,1,0,0,17,1,0,0,17,1,0,0,17,1,0,0,17,1,0,0,18,1,0,0,20,1,0,0,20,1,0,0,23,1,0,0,23,1,0,0,23,1,0,0,20,1,0,0,25,1,0,0,25,1,0,0,25,1,0,0,27,1,0,0,27,1,0,0,28,1,0,0,28,1,0,0,28,1,0,0,28,1,0,0,29,1,0,0,29,1,0,0,29,1,0,0,29,1,0,0,29,1,0,0,29,1,0,0,29,1,0,0,31,1,0,0,31,1,0,0,31,1,0,0,31,1,0,0,33,1,0,0,33,1,0,0,33,1,0,0,36,1,0,0,36,1,0,0,36,1,0,0,36,1,0,0,37,1,0,0,37,1,0,0,37,1,0,0,36,1,0,0,37,1,0,0,38,1,0,0,-10,0,0,0,39,1,0,0,42,1,0,0,42,1,0,0,42,1,0,0,42,1,0,0,43,1,0,0,43,1,0,0,42,1,0,0,43,1,0,0,45,1,0,0,21,0,0,0,5,0,0,0,115,101,108,102,0,0,0,0,0,88,0,0,0,16,0,0,0,40,102,111,114,32,103,101,110,101,114,97,116,111,114,41,0,3,0,0,0,80,0,0,0,12,0,0,0,40,102,111,114,32,115,116,97,116,101,41,0,3,0,0,0,80,0,0,0,14,0,0,0,40,102,111,114,32,99,111,110,116,114,111,108,41,0,3,0,0,0,80,0,0,0,10,0,0,0,115,112,101,99,95,110,97,109,101,0,4,0,0,0,78,0,0,0,10,0,0,0,115,112,101,99,95,102,117,110,99,0,4,0,0,0,78,0,0,0,6,0,0,0,109,111,99,107,115,0,17,0,0,0,77,0,0,0,4,0,0,0,101,110,118,0,25,0,0,0,77,0,0,0,8,0,0,0,109,101,115,115,97,103,101,0,39,0,0,0,77,0,0,0,10,0,0,0,116,114,97,99,101,98,97,99,107,0,39,0,0,0,77,0,0,0,8,0,0,0,115,117,99,99,101,115,115,0,45,0,0,0,77,0,0,0,16,0,0,0,40,102,111,114,32,103,101,110,101,114,97,116,111,114,41,0,71,0,0,0,77,0,0,0,12,0,0,0,40,102,111,114,32,115,116,97,116,101,41,0,71,0,0,0,77,0,0,0,14,0,0,0,40,102,111,114,32,99,111,110,116,114,111,108,41,0,71,0,0,0,77,0,0,0,4,0,0,0,107,101,121,0,72,0,0,0,75,0,0,0,10,0,0,0,111,108,100,95,118,97,108,117,101,0,72,0,0,0,75,0,0,0,16,0,0,0,40,102,111,114,32,103,101,110,101,114,97,116,111,114,41,0,83,0,0,0,88,0,0,0,12,0,0,0,40,102,111,114,32,115,116,97,116,101,41,0,83,0,0,0,88,0,0,0,14,0,0,0,40,102,111,114,32,99,111,110,116,114,111,108,41,0,83,0,0,0,88,0,0,0,2,0,0,0,105,0,84,0,0,0,86,0,0,0,6,0,0,0,99,104,105,108,100,0,84,0,0,0,86,0,0,0,2,0,0,0,8,0,0,0,112,101,110,100,105,110,103,0,7,0,0,0,101,120,112,101,99,116,0,0,0,0,0,49,1,0,0,61,1,0,0,0,0,0,6,13,0,0,0,10,0,0,0,74,0,0,0,-123,0,0,0,-64,0,-128,0,10,65,0,0,100,1,0,0,0,0,0,0,9,65,-127,-128,-100,64,-128,1,-128,0,-128,0,-64,0,0,0,-98,0,-128,1,30,0,-128,0,2,0,0,0,4,13,0,0,0,115,101,116,109,101,116,97,116,97,98,108,101,0,4,11,0,0,0,95,95,110,101,119,105,110,100,101,120,0,1,0,0,0,0,0,0,0,55,1,0,0,57,1,0,0,1,3,0,4,3,0,0,0,-60,0,0,0,-55,-128,-128,0,30,0,-128,0,0,0,0,0,0,0,0,0,3,0,0,0,56,1,0,0,56,1,0,0,57,1,0,0,3,0,0,0,2,0,0,0,95,0,0,0,0,0,2,0,0,0,10,0,0,0,115,112,101,99,95,110,97,109,101,0,0,0,0,0,2,0,0,0,14,0,0,0,115,112,101,99,95,102,117,110,99,116,105,111,110,0,0,0,0,0,2,0,0,0,1,0,0,0,6,0,0,0,115,112,101,99,115,0,13,0,0,0,51,1,0,0,52,1,0,0,53,1,0,0,53,1,0,0,53,1,0,0,57,1,0,0,57,1,0,0,57,1,0,0,53,1,0,0,60,1,0,0,60,1,0,0,60,1,0,0,61,1,0,0,2,0,0,0,6,0,0,0,115,112,101,99,115,0,1,0,0,0,12,0,0,0,3,0,0,0,105,116,0,2,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,67,1,0,0,79,1,0,0,3,0,0,8,14,0,0,0,4,0,0,0,28,-64,-128,0,-124,0,-128,0,-100,-64,-128,0,10,-63,0,0,9,1,0,-128,9,-127,-128,-128,68,1,0,1,9,65,1,-127,64,1,0,2,-128,1,-128,1,-64,1,-128,0,94,1,0,2,30,0,-128,0,3,0,0,0,4,3,0,0,0,105,116,0,4,9,0,0,0,100,101,115,99,114,105,98,101,0,4,8,0,0,0,112,101,110,100,105,110,103,0,0,0,0,0,14,0,0,0,68,1,0,0,68,1,0,0,69,1,0,0,69,1,0,0,72,1,0,0,73,1,0,0,74,1,0,0,75,1,0,0,75,1,0,0,78,1,0,0,78,1,0,0,78,1,0,0,78,1,0,0,79,1,0,0,5,0,0,0,3,0,0,0,105,116,0,2,0,0,0,13,0,0,0,6,0,0,0,115,112,101,99,115,0,2,0,0,0,13,0,0,0,9,0,0,0,100,101,115,99,114,105,98,101,0,4,0,0,0,13,0,0,0,13,0,0,0,115,117,98,95,99,111,110,116,101,120,116,115,0,4,0,0,0,13,0,0,0,12,0,0,0,99,111,110,116,101,120,116,95,101,110,118,0,9,0,0,0,13,0,0,0,3,0,0,0,14,0,0,0,109,97,107,101,95,105,116,95,116,97,98,108,101,0,20,0,0,0,109,97,107,101,95,100,101,115,99,114,105,98,101,95,116,97,98,108,101,0,8,0,0,0,112,101,110,100,105,110,103,0,0,0,0,0,82,1,0,0,119,1,0,0,1,1,0,7,16,0,0,0,74,0,0,0,-118,0,0,0,-54,64,0,0,36,1,0,0,4,0,0,0,0,0,0,1,0,0,0,0,-55,0,1,-128,5,65,0,0,64,1,-128,0,-128,1,-128,1,28,65,-128,1,0,1,-128,0,64,1,0,1,30,1,-128,1,30,0,-128,0,2,0,0,0,4,11,0,0,0,95,95,110,101,119,105,110,100,101,120,0,4,13,0,0,0,115,101,116,109,101,116,97,116,97,98,108,101,0,1,0,0,0,0,0,0,0,89,1,0,0,113,1,0,0,3,3,0,12,38,0,0,0,-59,0,0,0,-53,64,-64,1,64,1,-128,0,-36,64,-128,1,-60,0,0,0,-36,0,-127,0,-123,-127,0,0,-64,1,0,1,0,2,-128,1,-100,65,-128,1,-128,1,0,1,-100,65,-128,0,-124,1,-128,0,-60,1,-128,0,-44,1,-128,3,-52,-63,-64,3,5,2,1,0,11,66,65,4,-118,66,1,0,-119,66,0,-125,-58,-62,-63,1,-119,-62,-126,-125,-58,2,-62,1,-119,-62,2,-124,-119,66,-127,-124,-119,2,1,-123,28,-126,-128,1,-119,1,-126,3,-124,1,0,1,-102,1,0,0,22,64,1,-128,-124,1,-128,0,-60,1,-128,0,-44,1,-128,3,-122,-63,1,3,-117,-63,66,3,-100,65,0,1,30,0,-128,0,12,0,0,0,4,5,0,0,0,115,112,101,99,0,4,12,0,0,0,97,100,100,95,99,111,110,116,101,120,116,0,4,8,0,0,0,115,101,116,102,101,110,118,0,3,0,0,0,0,0,0,-16,63,4,8,0,0,0,67,111,110,116,101,120,116,0,4,4,0,0,0,110,101,119,0,4,5,0,0,0,110,97,109,101,0,4,7,0,0,0,98,101,102,111,114,101,0,4,6,0,0,0,97,102,116,101,114,0,4,6,0,0,0,115,112,101,99,115,0,4,9,0,0,0,99,104,105,108,100,114,101,110,0,4,4,0,0,0,114,117,110,0,0,0,0,0,38,0,0,0,91,1,0,0,91,1,0,0,91,1,0,0,91,1,0,0,93,1,0,0,93,1,0,0,96,1,0,0,96,1,0,0,96,1,0,0,96,1,0,0,99,1,0,0,99,1,0,0,102,1,0,0,102,1,0,0,102,1,0,0,102,1,0,0,102,1,0,0,102,1,0,0,102,1,0,0,103,1,0,0,104,1,0,0,104,1,0,0,105,1,0,0,105,1,0,0,106,1,0,0,107,1,0,0,102,1,0,0,108,1,0,0,110,1,0,0,110,1,0,0,110,1,0,0,111,1,0,0,111,1,0,0,111,1,0,0,111,1,0,0,111,1,0,0,111,1,0,0,113,1,0,0,6,0,0,0,2,0,0,0,95,0,0,0,0,0,37,0,0,0,13,0,0,0,99,111,110,116,101,120,116,95,110,97,109,101,0,0,0,0,0,37,0,0,0,17,0,0,0,99,111,110,116,101,120,116,95,102,117,110,99,116,105,111,110,0,0,0,0,0,37,0,0,0,12,0,0,0,99,111,110,116,101,120,116,95,101,110,118,0,6,0,0,0,37,0,0,0,13,0,0,0,115,117,98,95,99,111,110,116,101,120,116,115,0,6,0,0,0,37,0,0,0,6,0,0,0,115,112,101,99,115,0,6,0,0,0,37,0,0,0,3,0,0,0,19,0,0,0,99,114,101,97,116,101,95,99,111,110,116,101,120,116,95,101,110,118,0,9,0,0,0,99,111,110,116,101,120,116,115,0,9,0,0,0,97,117,116,111,95,114,117,110,0,16,0,0,0,83,1,0,0,84,1,0,0,85,1,0,0,113,1,0,0,113,1,0,0,113,1,0,0,113,1,0,0,113,1,0,0,116,1,0,0,116,1,0,0,116,1,0,0,116,1,0,0,118,1,0,0,118,1,0,0,118,1,0,0,119,1,0,0,4,0,0,0,9,0,0,0,97,117,116,111,95,114,117,110,0,0,0,0,0,15,0,0,0,9,0,0,0,100,101,115,99,114,105,98,101,0,1,0,0,0,15,0,0,0,9,0,0,0,99,111,110,116,101,120,116,115,0,2,0,0,0,15,0,0,0,12,0,0,0,100,101,115,99,114,105,98,101,95,109,116,0,8,0,0,0,15,0,0,0,1,0,0,0,19,0,0,0,99,114,101,97,116,101,95,99,111,110,116,101,120,116,95,101,110,118,0,100,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,29,0,0,0,8,0,0,0,31,0,0,0,62,0,0,0,31,0,0,0,64,0,0,0,75,0,0,0,64,0,0,0,77,0,0,0,80,0,0,0,77,0,0,0,82,0,0,0,86,0,0,0,82,0,0,0,88,0,0,0,89,0,0,0,88,0,0,0,92,0,0,0,94,0,0,0,94,0,0,0,102,0,0,0,96,0,0,0,108,0,0,0,108,0,0,0,104,0,0,0,110,0,0,0,110,0,0,0,110,0,0,0,110,0,0,0,116,0,0,0,122,0,0,0,122,0,0,0,-127,0,0,0,-127,0,0,0,-120,0,0,0,-120,0,0,0,-113,0,0,0,-113,0,0,0,-106,0,0,0,-106,0,0,0,-95,0,0,0,-95,0,0,0,-82,0,0,0,-82,0,0,0,-74,0,0,0,-74,0,0,0,-66,0,0,0,-66,0,0,0,-65,0,0,0,-63,0,0,0,-63,0,0,0,-63,0,0,0,-63,0,0,0,-47,0,0,0,-42,0,0,0,-42,0,0,0,-41,0,0,0,-41,0,0,0,-41,0,0,0,-39,0,0,0,-34,0,0,0,-39,0,0,0,-32,0,0,0,-24,0,0,0,-32,0,0,0,-22,0,0,0,-14,0,0,0,-22,0,0,0,-12,0,0,0,45,1,0,0,45,1,0,0,45,1,0,0,-12,0,0,0,61,1,0,0,63,1,0,0,79,1,0,0,79,1,0,0,79,1,0,0,79,1,0,0,119,1,0,0,82,1,0,0,121,1,0,0,121,1,0,0,121,1,0,0,121,1,0,0,121,1,0,0,5,0,0,0,8,0,0,0,112,101,110,100,105,110,103,0,32,0,0,0,99,0,0,0,7,0,0,0,101,120,112,101,99,116,0,68,0,0,0,99,0,0,0,14,0,0,0,109,97,107,101,95,105,116,95,116,97,98,108,101,0,88,0,0,0,99,0,0,0,20,0,0,0,109,97,107,101,95,100,101,115,99,114,105,98,101,95,116,97,98,108,101,0,89,0,0,0,99,0,0,0,19,0,0,0,99,114,101,97,116,101,95,99,111,110,116,101,120,116,95,101,110,118,0,93,0,0,0,99,0,0,0,0,0,0,0,68,0,0,0,64,47,85,115,101,114,115,47,99,111,114,101,121,47,99,111,100,101,47,109,105,110,101,47,119,97,120,47,116,111,111,108,115,47,70,114,97,109,101,119,111,114,107,47,119,97,120,47,108,105,98,47,115,116,100,108,105,98,47,114,101,112,108,46,108,117,97,0,0,0,0,0,0,0,0,0,0,0,2,6,22,0,0,0,69,0,0,0,70,64,-64,0,-127,-128,0,0,92,64,0,1,69,0,0,0,70,-64,-64,0,92,-128,-128,0,0,0,-128,0,69,0,1,0,70,64,-63,0,-128,0,0,0,92,-64,0,1,90,64,0,0,22,0,1,-128,-59,-128,1,0,1,-63,1,0,64,1,0,1,21,65,1,2,-36,64,0,1,26,64,0,0,22,-128,-6,127,30,0,-128,0,8,0,0,0,4,3,0,0,0,105,111,0,4,6,0,0,0,119,114,105,116,101,0,4,6,0,0,0,119,97,120,62,32,0,4,5,0,0,0,114,101,97,100,0,4,4,0,0,0,119,97,120,0,4,5,0,0,0,101,118,97,108,0,4,6,0,0,0,112,114,105,110,116,0,4,8,0,0,0,69,114,114,111,114,58,32,0,0,0,0,0,22,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,3,0,0,0,6,0,0,0,105,110,112,117,116,0,0,0,0,0,21,0,0,0,8,0,0,0,115,117,99,99,101,115,115,0,12,0,0,0,21,0,0,0,2,0,0,0,101,0,12,0,0,0,21,0,0,0,0,0,0,0,71,0,0,0,64,47,85,115,101,114,115,47,99,111,114,101,121,47,99,111,100,101,47,109,105,110,101,47,119,97,120,47,116,111,111,108,115,47,70,114,97,109,101,119,111,114,107,47,119,97,120,47,108,105,98,47,115,116,100,108,105,98,47,115,116,114,117,99,116,115,46,108,117,97,0,0,0,0,0,0,0,0,0,0,0,2,9,83,0,0,0,5,0,0,0,6,64,64,0,6,-128,64,0,65,-64,0,0,-127,0,1,0,-63,64,1,0,1,-127,1,0,28,64,-128,2,5,0,0,0,6,64,64,0,6,-128,64,0,65,-64,1,0,-127,0,1,0,-63,0,2,0,1,65,2,0,28,64,-128,2,5,0,0,0,6,64,64,0,6,-128,64,0,65,-128,2,0,-127,-64,2,0,-63,0,3,0,1,65,3,0,65,-127,3,0,-127,-63,3,0,28,64,-128,3,5,0,0,0,6,64,64,0,6,-128,64,0,65,0,4,0,-127,-64,2,0,-63,0,2,0,1,65,2,0,65,65,1,0,-127,-127,1,0,28,64,-128,3,5,0,0,0,6,64,64,0,6,-128,64,0,65,64,4,0,-127,-128,4,0,-63,-64,4,0,1,1,5,0,28,64,-128,2,5,0,0,0,6,64,64,0,6,-128,64,0,65,64,5,0,-127,-128,5,0,-63,-64,5,0,1,1,6,0,28,64,-128,2,5,0,0,0,6,64,64,0,6,-128,64,0,65,64,6,0,-127,-128,5,0,-63,-128,6,0,1,-63,6,0,28,64,-128,2,5,0,0,0,6,64,64,0,6,-128,64,0,65,0,7,0,-127,64,7,0,-63,-64,5,0,1,1,6,0,65,-127,6,0,-127,-63,6,0,28,64,-128,3,5,0,0,0,6,64,64,0,6,-128,64,0,65,-128,7,0,-127,-64,7,0,-63,0,8,0,1,65,8,0,65,-127,8,0,-127,-63,8,0,-63,1,9,0,1,66,9,0,28,64,-128,4,30,0,-128,0,38,0,0,0,4,4,0,0,0,119,97,120,0,4,7,0,0,0,115,116,114,117,99,116,0,4,7,0,0,0,99,114,101,97,116,101,0,4,7,0,0,0,67,71,83,105,122,101,0,4,3,0,0,0,102,102,0,4,6,0,0,0,119,105,100,116,104,0,4,7,0,0,0,104,101,105,103,104,116,0,4,8,0,0,0,67,71,80,111,105,110,116,0,4,2,0,0,0,120,0,4,2,0,0,0,121,0,4,13,0,0,0,85,73,69,100,103,101,73,110,115,101,116,115,0,4,5,0,0,0,102,102,102,102,0,4,4,0,0,0,116,111,112,0,4,5,0,0,0,108,101,102,116,0,4,7,0,0,0,98,111,116,116,111,109,0,4,6,0,0,0,114,105,103,104,116,0,4,7,0,0,0,67,71,82,101,99,116,0,4,8,0,0,0,78,83,82,97,110,103,101,0,4,3,0,0,0,73,73,0,4,9,0,0,0,108,111,99,97,116,105,111,110,0,4,7,0,0,0,108,101,110,103,116,104,0,4,23,0,0,0,67,76,76,111,99,97,116,105,111,110,67,111,111,114,100,105,110,97,116,101,50,68,0,4,3,0,0,0,100,100,0,4,9,0,0,0,108,97,116,105,116,117,100,101,0,4,10,0,0,0,108,111,110,103,105,116,117,100,101,0,4,17,0,0,0,77,75,67,111,111,114,100,105,110,97,116,101,83,112,97,110,0,4,14,0,0,0,108,97,116,105,116,117,100,101,68,101,108,116,97,0,4,15,0,0,0,108,111,110,103,105,116,117,100,101,68,101,108,116,97,0,4,19,0,0,0,77,75,67,111,111,114,100,105,110,97,116,101,82,101,103,105,111,110,0,4,5,0,0,0,100,100,100,100,0,4,18,0,0,0,67,71,65,102,102,105,110,101,84,114,97,110,115,102,111,114,109,0,4,7,0,0,0,102,102,102,102,102,102,0,4,2,0,0,0,97,0,4,2,0,0,0,98,0,4,2,0,0,0,99,0,4,2,0,0,0,100,0,4,3,0,0,0,116,120,0,4,3,0,0,0,116,121,0,0,0,0,0,83,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,72,0,0,0,64,47,85,115,101,114,115,47,99,111,114,101,121,47,99,111,100,101,47,109,105,110,101,47,119,97,120,47,116,111,111,108,115,47,70,114,97,109,101,119,111,114,107,47,119,97,120,47,108,105,98,47,115,116,100,108,105,98,47,119,97,120,67,108,97,115,115,46,108,117,97,0,0,0,0,0,0,0,0,0,0,0,2,2,5,0,0,0,36,0,0,0,7,0,0,0,36,64,0,0,7,64,0,0,30,0,-128,0,2,0,0,0,4,9,0,0,0,119,97,120,67,108,97,115,115,0,4,15,0,0,0,119,97,120,73,110,108,105,110,101,67,108,97,115,115,0,2,0,0,0,0,0,0,0,1,0,0,0,5,0,0,0,0,1,0,5,9,0,0,0,69,0,0,0,-128,0,0,0,92,-128,0,1,-123,64,0,0,-63,-128,0,0,6,-63,-64,0,-100,64,-128,1,94,0,0,1,30,0,-128,0,4,0,0,0,4,15,0,0,0,119,97,120,73,110,108,105,110,101,67,108,97,115,115,0,4,8,0,0,0,115,101,116,102,101,110,118,0,3,0,0,0,0,0,0,0,64,4,3,0,0,0,95,77,0,0,0,0,0,9,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,8,0,0,0,111,112,116,105,111,110,115,0,0,0,0,0,8,0,0,0,6,0,0,0,99,108,97,115,115,0,3,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,42,0,0,0,0,1,0,12,64,0,0,0,70,0,64,0,-122,64,64,0,-59,-128,0,0,-58,-64,-64,1,0,1,-128,0,64,1,0,1,-36,-128,-128,1,-55,64,0,-126,6,65,65,0,26,1,0,0,22,-128,4,-128,5,-127,1,0,70,65,65,0,28,-127,0,1,87,-64,65,2,22,-64,0,-128,10,1,-128,0,70,65,65,0,34,65,-128,0,9,0,-127,-126,6,65,65,0,20,1,0,2,23,0,66,2,22,64,1,-128,5,65,2,0,65,-127,2,0,-128,1,-128,0,-63,-63,2,0,85,-63,-127,2,28,65,0,1,5,1,3,0,70,65,65,0,90,65,0,0,22,0,0,-128,74,1,0,0,28,1,1,1,22,64,1,-128,69,-126,0,0,70,-62,-64,4,70,66,-61,4,-128,2,-128,1,-64,2,0,4,92,66,-128,1,33,-127,0,0,22,-64,-3,127,5,-63,3,0,74,65,0,0,73,-63,0,-120,-118,-127,0,0,-28,1,0,0,0,0,-128,1,-119,-63,-127,-120,-28,65,0,0,0,0,-128,1,-119,-63,1,-119,28,-127,-128,1,-55,0,1,-121,5,-63,4,0,9,-63,-128,0,5,1,5,0,6,65,69,2,9,-63,-128,0,-34,0,0,1,30,0,-128,0,22,0,0,0,3,0,0,0,0,0,0,-16,63,3,0,0,0,0,0,0,0,64,4,4,0,0,0,119,97,120,0,4,6,0,0,0,99,108,97,115,115,0,4,10,0,0,0,99,108,97,115,115,78,97,109,101,0,4,10,0,0,0,112,114,111,116,111,99,111,108,115,0,4,5,0,0,0,116,121,112,101,0,4,6,0,0,0,116,97,98,108,101,0,3,0,0,0,0,0,0,0,0,4,6,0,0,0,101,114,114,111,114,0,4,33,0,0,0,10,69,109,112,116,121,32,112,114,111,116,111,99,111,108,32,116,97,98,108,101,32,102,111,114,32,99,108,97,115,115,32,0,4,123,0,0,0,46,10,32,77,97,107,101,32,115,117,114,101,32,121,111,117,32,97,114,101,32,100,101,102,105,110,105,110,103,32,121,111,117,114,32,112,114,111,116,111,99,111,108,115,32,119,105,116,104,32,97,32,115,116,114,105,110,103,32,97,110,100,32,110,111,116,32,97,32,118,97,114,105,97,98,108,101,46,32,10,32,101,120,46,32,112,114,111,116,111,99,111,108,115,32,61,32,123,34,85,73,84,97,98,108,101,86,105,101,119,68,101,108,101,103,97,116,101,34,125,10,10,0,4,7,0,0,0,105,112,97,105,114,115,0,4,13,0,0,0,97,100,100,80,114,111,116,111,99,111,108,115,0,4,3,0,0,0,95,77,0,4,13,0,0,0,115,101,116,109,101,116,97,116,97,98,108,101,0,4,5,0,0,0,115,101,108,102,0,4,11,0,0,0,95,95,110,101,119,105,110,100,101,120,0,4,8,0,0,0,95,95,105,110,100,101,120,0,4,3,0,0,0,95,71,0,4,8,0,0,0,112,97,99,107,97,103,101,0,4,7,0,0,0,108,111,97,100,101,100,0,2,0,0,0,0,0,0,0,27,0,0,0,29,0,0,0,1,3,0,4,3,0,0,0,-60,0,0,0,-55,-128,-128,0,30,0,-128,0,0,0,0,0,0,0,0,0,3,0,0,0,28,0,0,0,28,0,0,0,29,0,0,0,3,0,0,0,5,0,0,0,115,101,108,102,0,0,0,0,0,2,0,0,0,4,0,0,0,107,101,121,0,0,0,0,0,2,0,0,0,6,0,0,0,118,97,108,117,101,0,0,0,0,0,2,0,0,0,1,0,0,0,6,0,0,0,99,108,97,115,115,0,0,0,0,0,31,0,0,0,33,0,0,0,1,2,0,3,8,0,0,0,-124,0,0,0,-122,64,0,1,-102,64,0,0,22,64,0,-128,-123,0,0,0,-122,64,0,1,-98,0,0,1,30,0,-128,0,1,0,0,0,4,3,0,0,0,95,71,0,0,0,0,0,8,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,33,0,0,0,2,0,0,0,5,0,0,0,115,101,108,102,0,0,0,0,0,7,0,0,0,4,0,0,0,107,101,121,0,0,0,0,0,7,0,0,0,1,0,0,0,6,0,0,0,99,108,97,115,115,0,64,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,20,0,0,0,20,0,0,0,20,0,0,0,20,0,0,0,20,0,0,0,19,0,0,0,20,0,0,0,23,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,29,0,0,0,29,0,0,0,29,0,0,0,33,0,0,0,33,0,0,0,33,0,0,0,23,0,0,0,36,0,0,0,38,0,0,0,38,0,0,0,39,0,0,0,39,0,0,0,39,0,0,0,41,0,0,0,42,0,0,0,9,0,0,0,8,0,0,0,111,112,116,105,111,110,115,0,0,0,0,0,63,0,0,0,10,0,0,0,99,108,97,115,115,78,97,109,101,0,1,0,0,0,63,0,0,0,15,0,0,0,115,117,112,101,114,99,108,97,115,115,78,97,109,101,0,2,0,0,0,63,0,0,0,6,0,0,0,99,108,97,115,115,0,7,0,0,0,63,0,0,0,16,0,0,0,40,102,111,114,32,103,101,110,101,114,97,116,111,114,41,0,36,0,0,0,45,0,0,0,12,0,0,0,40,102,111,114,32,115,116,97,116,101,41,0,36,0,0,0,45,0,0,0,14,0,0,0,40,102,111,114,32,99,111,110,116,114,111,108,41,0,36,0,0,0,45,0,0,0,2,0,0,0,105,0,37,0,0,0,43,0,0,0,9,0,0,0,112,114,111,116,111,99,111,108,0,37,0,0,0,43,0,0,0,0,0,0,0,5,0,0,0,5,0,0,0,1,0,0,0,42,0,0,0,8,0,0,0,42,0,0,0,0,0,0,0,0,0,0,0,68,0,0,0,64,47,85,115,101,114,115,47,99,111,114,101,121,47,99,111,100,101,47,109,105,110,101,47,119,97,120,47,116,111,111,108,115,47,70,114,97,109,101,119,111,114,107,47,119,97,120,47,108,105,98,47,115,116,100,108,105,98,47,105,110,105,116,46,108,117,97,0,0,0,0,0,0,0,0,0,0,0,2,4,22,0,0,0,5,0,0,0,69,64,0,0,-118,64,0,0,-28,0,0,0,-119,-64,0,-127,28,64,-128,1,5,-64,0,0,65,0,1,0,28,64,0,1,5,-64,0,0,65,64,1,0,28,64,0,1,5,-64,0,0,65,-128,1,0,28,64,0,1,5,-64,0,0,65,-64,1,0,28,64,0,1,5,-64,0,0,65,0,2,0,28,64,0,1,30,0,-128,0,9,0,0,0,4,13,0,0,0,115,101,116,109,101,116,97,116,97,98,108,101,0,4,3,0,0,0,95,71,0,4,8,0,0,0,95,95,105,110,100,101,120,0,4,8,0,0,0,114,101,113,117,105,114,101,0,4,8,0,0,0,119,97,120,46,101,120,116,0,4,10,0,0,0,119,97,120,46,101,110,117,109,115,0,4,12,0,0,0,119,97,120,46,115,116,114,117,99,116,115,0,4,13,0,0,0,119,97,120,46,119,97,120,67,108,97,115,115,0,4,12,0,0,0,119,97,120,46,104,101,108,112,101,114,115,0,1,0,0,0,0,0,0,0,2,0,0,0,11,0,0,0,0,2,0,7,21,0,0,0,-123,0,0,0,-122,64,64,1,-122,64,0,1,-102,0,0,0,22,0,0,-128,9,-128,-128,0,-102,64,0,0,22,-128,2,-128,-53,-128,-64,0,65,-63,0,0,-36,-128,-128,1,-38,0,0,0,22,64,1,-128,-59,0,1,0,1,65,1,0,64,1,-128,0,-127,-127,1,0,21,-127,1,2,-36,64,0,1,-98,0,0,1,30,0,-128,0,7,0,0,0,4,4,0,0,0,119,97,120,0,4,6,0,0,0,99,108,97,115,115,0,4,6,0,0,0,109,97,116,99,104,0,4,23,0,0,0,94,91,65,45,90,93,91,65,45,90,93,91,65,45,90,93,91,94,65,45,90,93,0,4,6,0,0,0,112,114,105,110,116,0,4,27,0,0,0,87,65,82,78,73,78,71,58,32,78,111,32,111,98,106,101,99,116,32,110,97,109,101,100,32,39,0,4,9,0,0,0,39,32,102,111,117,110,100,46,0,0,0,0,0,21,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,10,0,0,0,11,0,0,0,3,0,0,0,5,0,0,0,115,101,108,102,0,0,0,0,0,20,0,0,0,4,0,0,0,107,101,121,0,0,0,0,0,20,0,0,0,6,0,0,0,99,108,97,115,115,0,3,0,0,0,20,0,0,0,0,0,0,0,22,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,11,0,0,0,11,0,0,0,1,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,18,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
//
|
2
|
+
// wax_struct.h
|
3
|
+
// Rentals
|
4
|
+
//
|
5
|
+
// Created by ProbablyInteractive on 7/7/09.
|
6
|
+
// Copyright 2009 Probably Interactive. All rights reserved.
|
7
|
+
//
|
8
|
+
|
9
|
+
#import <Foundation/Foundation.h>
|
10
|
+
#import "lua.h"
|
11
|
+
|
12
|
+
#define WAX_STRUCT_METATABLE_NAME "wax.struct"
|
13
|
+
|
14
|
+
typedef struct _wax_struct_userdata {
|
15
|
+
void *data;
|
16
|
+
int size;
|
17
|
+
char *name;
|
18
|
+
char *typeDescription;
|
19
|
+
} wax_struct_userdata;
|
20
|
+
|
21
|
+
int luaopen_wax_struct(lua_State *L);
|
22
|
+
|
23
|
+
wax_struct_userdata *wax_struct_create(lua_State *L, const char *typeDescription, void *buffer);
|
24
|
+
void wax_struct_pushValueAt(lua_State *L, wax_struct_userdata *structUserdata, int index);
|
25
|
+
void wax_struct_setValueAt(lua_State *L, wax_struct_userdata *structUserdata, int index, int stackIndex);
|
26
|
+
int wax_struct_getOffsetForName(lua_State *L, wax_struct_userdata *structUserdata, const char *name);
|
@@ -0,0 +1,335 @@
|
|
1
|
+
//
|
2
|
+
// wax_struct_userdata.m
|
3
|
+
// Rentals
|
4
|
+
//
|
5
|
+
// Created by ProbablyInteractive on 7/7/09.
|
6
|
+
// Copyright 2009 Probably Interactive. All rights reserved.
|
7
|
+
//
|
8
|
+
|
9
|
+
#import "wax_struct.h"
|
10
|
+
#import "wax_helpers.h"
|
11
|
+
|
12
|
+
#import "lua.h"
|
13
|
+
#import "lauxlib.h"
|
14
|
+
|
15
|
+
#define LABELED_STRUCT_TABLE_NAME "labeledStructs"
|
16
|
+
|
17
|
+
static int __index(lua_State *L);
|
18
|
+
static int __newindex(lua_State *L);
|
19
|
+
static int __tostring(lua_State *L);
|
20
|
+
static int __gc(lua_State *L);
|
21
|
+
|
22
|
+
static int copy(lua_State *L);
|
23
|
+
static int create(lua_State *L);
|
24
|
+
static int unpack(lua_State *L);
|
25
|
+
static int pack(lua_State *L);
|
26
|
+
|
27
|
+
static int createClosure(lua_State *L);
|
28
|
+
|
29
|
+
static const struct luaL_Reg metaFunctions[] = {
|
30
|
+
{"__index", __index},
|
31
|
+
{"__newindex", __newindex},
|
32
|
+
{"__tostring", __tostring},
|
33
|
+
{"__gc", __gc},
|
34
|
+
{NULL, NULL}
|
35
|
+
};
|
36
|
+
|
37
|
+
static const struct luaL_Reg functions[] = {
|
38
|
+
{"copy", copy},
|
39
|
+
{"create", create},
|
40
|
+
{"pack", pack},
|
41
|
+
{"unpack", unpack},
|
42
|
+
{NULL, NULL}
|
43
|
+
};
|
44
|
+
|
45
|
+
int luaopen_wax_struct(lua_State *L) {
|
46
|
+
BEGIN_STACK_MODIFY(L);
|
47
|
+
|
48
|
+
luaL_newmetatable(L, WAX_STRUCT_METATABLE_NAME);
|
49
|
+
|
50
|
+
luaL_register(L, NULL, metaFunctions);
|
51
|
+
luaL_register(L, WAX_STRUCT_METATABLE_NAME, functions);
|
52
|
+
|
53
|
+
// metatable stores all the labeled structs and their mappings
|
54
|
+
luaL_getmetatable(L, WAX_STRUCT_METATABLE_NAME);
|
55
|
+
lua_newtable(L);
|
56
|
+
lua_setfield(L, -2, LABELED_STRUCT_TABLE_NAME);
|
57
|
+
|
58
|
+
END_STACK_MODIFY(L, 0);
|
59
|
+
return 1;
|
60
|
+
}
|
61
|
+
|
62
|
+
wax_struct_userdata *wax_struct_create(lua_State *L, const char *typeDescription, void *buffer) {
|
63
|
+
BEGIN_STACK_MODIFY(L);
|
64
|
+
|
65
|
+
size_t nbytes = sizeof(wax_struct_userdata);
|
66
|
+
wax_struct_userdata *structUserdata = (wax_struct_userdata *)lua_newuserdata(L, nbytes);
|
67
|
+
|
68
|
+
int size = wax_sizeOfTypeDescription(typeDescription);
|
69
|
+
structUserdata->data = malloc(size);
|
70
|
+
memcpy(structUserdata->data, buffer, size);
|
71
|
+
|
72
|
+
structUserdata->size = size;
|
73
|
+
|
74
|
+
structUserdata->typeDescription = malloc(strlen(typeDescription) + 1);
|
75
|
+
strcpy(structUserdata->typeDescription, typeDescription);
|
76
|
+
|
77
|
+
structUserdata->name = nil;
|
78
|
+
|
79
|
+
if (typeDescription[0] == '{') { // We can get a name from the type desciption
|
80
|
+
char *endLocation = strchr(&typeDescription[1], '=');
|
81
|
+
if (endLocation) {
|
82
|
+
int size = endLocation - &typeDescription[1];
|
83
|
+
structUserdata->name = calloc(sizeof(char *), size + 1); // add 1 for '\0'
|
84
|
+
strncpy(structUserdata->name, &typeDescription[1], size);
|
85
|
+
}
|
86
|
+
}
|
87
|
+
|
88
|
+
// set the metatable
|
89
|
+
luaL_getmetatable(L, WAX_STRUCT_METATABLE_NAME);
|
90
|
+
lua_setmetatable(L, -2);
|
91
|
+
|
92
|
+
// give it a nice clean environment
|
93
|
+
lua_newtable(L);
|
94
|
+
lua_setfenv(L, -2);
|
95
|
+
|
96
|
+
END_STACK_MODIFY(L, 1)
|
97
|
+
|
98
|
+
return structUserdata;
|
99
|
+
}
|
100
|
+
|
101
|
+
// Maybe all this data should be created at wax_struct_userdata creation time? I think so!
|
102
|
+
void wax_struct_pushValueAt(lua_State *L, wax_struct_userdata *structUserdata, int offset) {
|
103
|
+
char *simplifiedTypeDescription = alloca(strlen(structUserdata->typeDescription) + 1);
|
104
|
+
wax_simplifyTypeDescription(structUserdata->typeDescription, simplifiedTypeDescription);
|
105
|
+
|
106
|
+
int position = 0;
|
107
|
+
char type[2] = {simplifiedTypeDescription[0], '\0'};
|
108
|
+
for (int i = 1; i < offset; i++) {
|
109
|
+
position += wax_sizeOfTypeDescription(type);
|
110
|
+
type[0] = simplifiedTypeDescription[i];
|
111
|
+
}
|
112
|
+
|
113
|
+
wax_fromObjc(L, type, structUserdata->data + position);
|
114
|
+
}
|
115
|
+
|
116
|
+
void wax_struct_setValueAt(lua_State *L, wax_struct_userdata *structUserdata, int offset, int stackIndex) {
|
117
|
+
char *simplifiedTypeDescription = alloca(strlen(structUserdata->typeDescription) + 1);
|
118
|
+
wax_simplifyTypeDescription(structUserdata->typeDescription, simplifiedTypeDescription);
|
119
|
+
|
120
|
+
int position = 0;
|
121
|
+
char type[2] = {simplifiedTypeDescription[0], '\0'};
|
122
|
+
for (int i = 1; i < offset; i++) {
|
123
|
+
position += wax_sizeOfTypeDescription(type);
|
124
|
+
type[0] = simplifiedTypeDescription[i];
|
125
|
+
}
|
126
|
+
|
127
|
+
int size;
|
128
|
+
void *value = wax_copyToObjc(L, type, stackIndex, &size);
|
129
|
+
memcpy(structUserdata->data + position, value, size);
|
130
|
+
free(value);
|
131
|
+
}
|
132
|
+
|
133
|
+
int wax_struct_getOffsetForName(lua_State *L, wax_struct_userdata *structUserdata, const char *name) {
|
134
|
+
BEGIN_STACK_MODIFY(L);
|
135
|
+
|
136
|
+
// Get the labeled struct table
|
137
|
+
luaL_getmetatable(L, WAX_STRUCT_METATABLE_NAME);
|
138
|
+
lua_getfield(L, -1, LABELED_STRUCT_TABLE_NAME);
|
139
|
+
lua_getfield(L, -1, structUserdata->name);
|
140
|
+
|
141
|
+
if (lua_isnil(L, -1)) {
|
142
|
+
luaL_error(L, "No struct mapping for '%s'", structUserdata->name);
|
143
|
+
}
|
144
|
+
|
145
|
+
lua_getfield(L, -1, name);
|
146
|
+
if (lua_isnil(L, -1)) {
|
147
|
+
luaL_error(L, "No mapping for varible named '%s' for struct '%s'", name, structUserdata->name);
|
148
|
+
}
|
149
|
+
|
150
|
+
int offset = lua_tonumber(L, -1);
|
151
|
+
|
152
|
+
END_STACK_MODIFY(L, 0);
|
153
|
+
|
154
|
+
return offset;
|
155
|
+
}
|
156
|
+
|
157
|
+
static int __index(lua_State *L) {
|
158
|
+
wax_struct_userdata *structUserdata = (wax_struct_userdata *)luaL_checkudata(L, 1, WAX_STRUCT_METATABLE_NAME);
|
159
|
+
|
160
|
+
int offset;
|
161
|
+
if (lua_isnumber(L, 2)) {
|
162
|
+
offset = lua_tonumber(L, 2);
|
163
|
+
}
|
164
|
+
else {
|
165
|
+
const char *name = lua_tostring(L, 2);
|
166
|
+
offset = wax_struct_getOffsetForName(L, structUserdata, name);
|
167
|
+
}
|
168
|
+
|
169
|
+
wax_struct_pushValueAt(L, structUserdata, offset);
|
170
|
+
|
171
|
+
return 1;
|
172
|
+
}
|
173
|
+
|
174
|
+
static int __newindex(lua_State *L) {
|
175
|
+
wax_struct_userdata *structUserdata = (wax_struct_userdata *)luaL_checkudata(L, 1, WAX_STRUCT_METATABLE_NAME);
|
176
|
+
const char *name = lua_tostring(L, 2);
|
177
|
+
|
178
|
+
int offset = wax_struct_getOffsetForName(L, structUserdata, name);
|
179
|
+
wax_struct_setValueAt(L, structUserdata, offset, 3);
|
180
|
+
|
181
|
+
return 0;
|
182
|
+
}
|
183
|
+
|
184
|
+
static int __gc(lua_State *L) {
|
185
|
+
wax_struct_userdata *structUserdata = (wax_struct_userdata *)luaL_checkudata(L, 1, WAX_STRUCT_METATABLE_NAME);
|
186
|
+
|
187
|
+
free(structUserdata->data);
|
188
|
+
free(structUserdata->name);
|
189
|
+
free(structUserdata->typeDescription);
|
190
|
+
return 0;
|
191
|
+
}
|
192
|
+
|
193
|
+
|
194
|
+
static int __tostring(lua_State *L) {
|
195
|
+
wax_struct_userdata *structUserdata = (wax_struct_userdata *)luaL_checkudata(L, 1, WAX_STRUCT_METATABLE_NAME);
|
196
|
+
lua_getmetatable(L, -1);
|
197
|
+
lua_getfield(L, -1, LABELED_STRUCT_TABLE_NAME);
|
198
|
+
lua_getfield(L, -1, structUserdata->name);
|
199
|
+
|
200
|
+
if (lua_isnil(L, -1)) {
|
201
|
+
lua_pushstring(L, "wax struct");
|
202
|
+
}
|
203
|
+
else {
|
204
|
+
luaL_Buffer b;
|
205
|
+
luaL_buffinit(L, &b);
|
206
|
+
luaL_addstring(&b, structUserdata->name);
|
207
|
+
luaL_addstring(&b, " {\n");
|
208
|
+
|
209
|
+
lua_pushnil(L); // First key
|
210
|
+
while (lua_next(L, -2)) {
|
211
|
+
luaL_addstring(&b, "\t");
|
212
|
+
luaL_addstring(&b, lua_tostring(L, -2));
|
213
|
+
luaL_addstring(&b, " : ");
|
214
|
+
|
215
|
+
wax_struct_pushValueAt(L, structUserdata, lua_tonumber(L, -1));
|
216
|
+
luaL_addstring(&b, lua_tostring(L, -1));
|
217
|
+
|
218
|
+
luaL_addstring(&b, "\n");
|
219
|
+
lua_pop(L, 2); // pops the value and the struct offset, keeps the key for the next iteration
|
220
|
+
}
|
221
|
+
|
222
|
+
luaL_addstring(&b, "}");
|
223
|
+
|
224
|
+
luaL_pushresult(&b);
|
225
|
+
}
|
226
|
+
|
227
|
+
return 1;
|
228
|
+
}
|
229
|
+
|
230
|
+
static int copy(lua_State *L) {
|
231
|
+
wax_struct_userdata *structUserdata = (wax_struct_userdata *)luaL_checkudata(L, 1, WAX_STRUCT_METATABLE_NAME);
|
232
|
+
wax_struct_userdata *newStructUserdata = wax_struct_create(L, structUserdata->typeDescription, structUserdata->data);
|
233
|
+
|
234
|
+
int size = strlen(structUserdata->name);
|
235
|
+
newStructUserdata->name = calloc(sizeof(char *), size + 1); // add 1 for '\0'
|
236
|
+
strncpy(newStructUserdata->name, structUserdata->name, size);
|
237
|
+
|
238
|
+
return 1;
|
239
|
+
}
|
240
|
+
|
241
|
+
static int create(lua_State *L) {
|
242
|
+
const char *name = lua_tostring(L, 1);
|
243
|
+
int mappingOffset = 2;
|
244
|
+
int mappingsCount = lua_gettop(L) - 2;
|
245
|
+
|
246
|
+
// Get the labeled struct table
|
247
|
+
luaL_getmetatable(L, WAX_STRUCT_METATABLE_NAME);
|
248
|
+
lua_getfield(L, -1, LABELED_STRUCT_TABLE_NAME);
|
249
|
+
|
250
|
+
lua_pushstring(L, name);
|
251
|
+
lua_newtable(L); // create new mapping table for this labeled struct
|
252
|
+
for (int i = 1; i <= mappingsCount; i++) {
|
253
|
+
int stackIndex = i + mappingOffset;
|
254
|
+
lua_pushvalue(L, stackIndex); // push the mapping name
|
255
|
+
lua_pushnumber(L, i); // Location of the name in the struct
|
256
|
+
lua_rawset(L, -3);
|
257
|
+
}
|
258
|
+
|
259
|
+
lua_rawset(L, -3);
|
260
|
+
|
261
|
+
lua_pushvalue(L, 1); // Push the struct name (So it can be indexed via the mapping table)
|
262
|
+
lua_pushvalue(L, 2); // Push the type description
|
263
|
+
lua_pushcclosure(L, createClosure, 2);
|
264
|
+
lua_setglobal(L, name);
|
265
|
+
|
266
|
+
return 0;
|
267
|
+
}
|
268
|
+
|
269
|
+
static int unpack(lua_State *L) {
|
270
|
+
wax_struct_userdata *structUserdata = (wax_struct_userdata *)luaL_checkudata(L, 1, WAX_STRUCT_METATABLE_NAME);
|
271
|
+
|
272
|
+
char *simplifiedTypeDescription = alloca(strlen(structUserdata->typeDescription) + 1);
|
273
|
+
wax_simplifyTypeDescription(structUserdata->typeDescription, simplifiedTypeDescription);
|
274
|
+
|
275
|
+
lua_newtable(L);
|
276
|
+
|
277
|
+
int index = 0;
|
278
|
+
int position = 0;
|
279
|
+
char type[2] = {'\0', '\0'};
|
280
|
+
while((type[0] = simplifiedTypeDescription[index])) {
|
281
|
+
wax_fromObjc(L, type, structUserdata->data + position);
|
282
|
+
lua_rawseti(L, -2, index + 1);
|
283
|
+
position += wax_sizeOfTypeDescription(type);
|
284
|
+
index++;
|
285
|
+
}
|
286
|
+
|
287
|
+
return 1;
|
288
|
+
}
|
289
|
+
|
290
|
+
// ENCODINGS CAN BE FOUND AT http://developer.apple.com/documentation/Cocoa/Conceptual/ObjCRuntimeGuide/Articles/ocrtTypeEncodings.html
|
291
|
+
static int pack(lua_State *L) {
|
292
|
+
const char *typeDescription = lua_tostring(L, 1);
|
293
|
+
|
294
|
+
char *simplifiedTypeDescription = alloca(strlen(typeDescription) + 1);
|
295
|
+
wax_simplifyTypeDescription(typeDescription, simplifiedTypeDescription);
|
296
|
+
|
297
|
+
if (strlen(simplifiedTypeDescription) != lua_gettop(L) - 1) {
|
298
|
+
luaL_error(L, "Couldn't pack struct. Received %d arguments for struct with type description '%s' (should have received %d)", lua_gettop(L) - 1, typeDescription, strlen(simplifiedTypeDescription));
|
299
|
+
}
|
300
|
+
|
301
|
+
luaL_Buffer b;
|
302
|
+
luaL_buffinit(L, &b);
|
303
|
+
|
304
|
+
for (int i = 0; simplifiedTypeDescription[i]; i++) {
|
305
|
+
int size;
|
306
|
+
int stackIndex = i + 2; // start at 2 (1 is where the type description is)
|
307
|
+
|
308
|
+
void *value = wax_copyToObjc(L, &simplifiedTypeDescription[i], stackIndex, &size);
|
309
|
+
luaL_addlstring(&b, value, size);
|
310
|
+
free(value);
|
311
|
+
}
|
312
|
+
luaL_pushresult(&b);
|
313
|
+
|
314
|
+
wax_struct_create(L, typeDescription, b.buffer);
|
315
|
+
|
316
|
+
return 1;
|
317
|
+
}
|
318
|
+
|
319
|
+
// upvalues (string name, string typeDescription)
|
320
|
+
static int createClosure(lua_State *L) {
|
321
|
+
const char *name = lua_tostring(L, lua_upvalueindex(1));
|
322
|
+
lua_pushvalue(L, lua_upvalueindex(2)); // Push type description
|
323
|
+
lua_insert(L, 1);
|
324
|
+
|
325
|
+
pack(L); // Creates the userdata for us...
|
326
|
+
|
327
|
+
// Set the name for the structUserdata (Make this automatic in the future!)
|
328
|
+
wax_struct_userdata *structUserdata = (wax_struct_userdata *)lua_touserdata(L, -1);
|
329
|
+
if (!structUserdata->name) {
|
330
|
+
structUserdata->name = malloc(strlen(name) + 1);
|
331
|
+
strcpy(structUserdata->name, name);
|
332
|
+
}
|
333
|
+
|
334
|
+
return 1;
|
335
|
+
}
|