1
0
Fork 0
mirror of https://github.com/anyproto/anytype-heart.git synced 2025-06-08 05:47:07 +09:00

GO-4146 Merge branch 'GO-4812-space-store-migration' into GO-4146-new-spacestore

# Conflicts:
#	clientlibrary/service/service.pb.go
#	core/application/account_store_migrate.go
#	pb/commands.pb.go
#	pb/service/service.pb.go
#	space/spacecore/storage/migrator/migrator.go
This commit is contained in:
mcrakhman 2025-01-07 19:00:47 +01:00
commit c64eaedce0
No known key found for this signature in database
GPG key ID: DED12CFEF5B8396B
25 changed files with 2084 additions and 2036 deletions

View file

@ -66,297 +66,297 @@ var fileDescriptor_93a29dc403579097 = []byte{
0xc4, 0xd1, 0xaf, 0x3b, 0x2d, 0x26, 0x0f, 0xb3, 0x4b, 0x31, 0xa0, 0xdb, 0x42, 0xc9, 0x8d, 0x8f,
0xb5, 0x4e, 0x0e, 0xa9, 0xc6, 0xab, 0x77, 0xb9, 0x28, 0xe8, 0x6e, 0xa9, 0xc5, 0x9d, 0xd5, 0x30,
0x98, 0xf6, 0xf0, 0x87, 0xd1, 0x07, 0x3a, 0x4a, 0x36, 0xeb, 0xd9, 0x43, 0x34, 0x84, 0xc2, 0x05,
0xed, 0x51, 0x07, 0x65, 0x83, 0x83, 0x96, 0xe9, 0xe0, 0xf3, 0x29, 0xaa, 0x07, 0x42, 0xcf, 0xc3,
0x30, 0xd4, 0xb2, 0xbd, 0xc7, 0x53, 0x4e, 0xda, 0xae, 0x85, 0x1d, 0xb6, 0x0d, 0xa4, 0x6d, 0x17,
0xd1, 0x6f, 0x99, 0x66, 0xa9, 0xd6, 0x51, 0x25, 0xaf, 0x82, 0xf4, 0x06, 0x51, 0x6f, 0x17, 0x32,
0xbe, 0x36, 0xfb, 0xc1, 0xad, 0xfa, 0xe8, 0x19, 0x88, 0xd7, 0x07, 0xcc, 0xbf, 0x87, 0x61, 0xa8,
0xd5, 0xcd, 0xc7, 0xc9, 0xb4, 0xa8, 0x3a, 0x02, 0xd7, 0xd3, 0xd2, 0x8e, 0x6e, 0xb6, 0x94, 0x36,
0xff, 0x77, 0x2b, 0xd1, 0x0f, 0xb4, 0xf0, 0x55, 0xc6, 0x2e, 0x52, 0xae, 0x56, 0xdc, 0x13, 0x2e,
0x6f, 0x44, 0x71, 0x3d, 0x5a, 0x66, 0x31, 0x91, 0x5d, 0xe0, 0x70, 0x47, 0x76, 0x41, 0x2a, 0x39,
0x09, 0xa5, 0x6e, 0x47, 0x29, 0x72, 0x98, 0x50, 0x36, 0x0d, 0x24, 0x45, 0x4e, 0x25, 0x94, 0x3e,
0xd2, 0xb2, 0x7a, 0x5c, 0x45, 0x65, 0xdc, 0xea, 0xb1, 0x1b, 0x86, 0x1f, 0x84, 0x10, 0x1b, 0x15,
0x9b, 0xf9, 0x21, 0xb2, 0xcb, 0x64, 0x7a, 0x9e, 0x4f, 0xaa, 0xce, 0x79, 0x8c, 0x4f, 0x00, 0x07,
0x21, 0xa2, 0x22, 0x81, 0x6a, 0x6f, 0xff, 0x60, 0xf3, 0x2e, 0x3d, 0x53, 0xf7, 0x0b, 0x31, 0x3b,
0xe2, 0x53, 0x16, 0x2f, 0x75, 0x78, 0xf9, 0x3c, 0x34, 0xaf, 0x21, 0x6d, 0x0a, 0xf1, 0xe2, 0x96,
0x5a, 0xba, 0x3c, 0xff, 0xbe, 0x12, 0x3d, 0x6c, 0xaa, 0x7f, 0xc5, 0xb2, 0x29, 0xd7, 0xfd, 0x59,
0x97, 0x7e, 0x27, 0x9b, 0x9c, 0xf1, 0x52, 0xb2, 0x42, 0x0e, 0x7e, 0x84, 0x57, 0x32, 0xa4, 0x63,
0xca, 0xf6, 0xe3, 0x5f, 0x4a, 0xd7, 0xf6, 0xfa, 0xa8, 0x8a, 0x9b, 0x3a, 0xc2, 0xf8, 0xbd, 0xae,
0x24, 0x30, 0xbe, 0x3c, 0x08, 0x21, 0xb6, 0xd7, 0x95, 0xe0, 0x30, 0x5b, 0x24, 0x92, 0x1f, 0xf0,
0x8c, 0x17, 0xed, 0x5e, 0xaf, 0x55, 0x7d, 0x84, 0xe8, 0x75, 0x02, 0xb5, 0xb1, 0xcc, 0xf3, 0x66,
0xd6, 0xde, 0x8d, 0x80, 0x91, 0xd6, 0xea, 0xbb, 0xd9, 0x0f, 0xb6, 0x9b, 0x47, 0xc7, 0xe7, 0x19,
0x5f, 0x88, 0x6b, 0xb8, 0x79, 0x74, 0x4d, 0xd4, 0x00, 0xb1, 0x79, 0x44, 0x41, 0xbb, 0x40, 0x3a,
0x7e, 0xde, 0x24, 0xfc, 0x06, 0x2c, 0x90, 0xae, 0x72, 0x25, 0x26, 0x16, 0x48, 0x04, 0xd3, 0x1e,
0x4e, 0xa2, 0x5f, 0x51, 0xc2, 0xdf, 0x17, 0x49, 0x36, 0xb8, 0x8b, 0x28, 0x55, 0x02, 0x63, 0xf5,
0x1e, 0x0d, 0x80, 0x12, 0x57, 0xbf, 0xee, 0xb2, 0x2c, 0xe6, 0x29, 0x5a, 0x62, 0x2b, 0x0e, 0x96,
0xd8, 0xc3, 0x6c, 0x66, 0xa2, 0x84, 0x55, 0xfc, 0x1a, 0x5d, 0xb1, 0x22, 0xc9, 0xa6, 0x03, 0x4c,
0xd7, 0x91, 0x13, 0x99, 0x09, 0xc6, 0x81, 0x21, 0xac, 0x15, 0x77, 0xf2, 0xbc, 0xa8, 0xc2, 0x22,
0x36, 0x84, 0x7d, 0x24, 0x38, 0x84, 0x5b, 0x28, 0xee, 0x6d, 0x8f, 0xc7, 0x69, 0x92, 0x05, 0xbd,
0x69, 0xa4, 0x8f, 0x37, 0x8b, 0x82, 0xc1, 0x7b, 0xc4, 0xd9, 0x82, 0x37, 0x35, 0xc3, 0x5a, 0xc6,
0x05, 0x82, 0x83, 0x17, 0x80, 0x76, 0x1b, 0xa8, 0xc4, 0xc7, 0xec, 0x9a, 0x57, 0x0d, 0xcc, 0xab,
0x75, 0x6d, 0x80, 0xe9, 0x7b, 0x04, 0xb1, 0x0d, 0xc4, 0x49, 0xed, 0x6a, 0x1e, 0x7d, 0xa4, 0xe4,
0xa7, 0xac, 0x90, 0x49, 0x9c, 0xe4, 0x2c, 0x6b, 0xb6, 0x17, 0xd8, 0xbc, 0x6e, 0x51, 0xc6, 0xe5,
0x56, 0x4f, 0x5a, 0xbb, 0xfd, 0xb7, 0x95, 0xe8, 0x3e, 0xf4, 0x7b, 0xca, 0x8b, 0x59, 0xa2, 0x76,
0xa9, 0x65, 0x1d, 0x84, 0x07, 0x5f, 0x86, 0x8d, 0xb6, 0x14, 0x4c, 0x69, 0x7e, 0x78, 0x7b, 0x45,
0x9b, 0x6b, 0x8d, 0x74, 0xe6, 0xfe, 0xba, 0x98, 0xb4, 0x4e, 0x71, 0x46, 0x4d, 0x3a, 0xae, 0x84,
0x44, 0xae, 0xd5, 0x82, 0xc0, 0x0c, 0x3f, 0xcf, 0xca, 0xc6, 0x3a, 0x36, 0xc3, 0xad, 0x38, 0x38,
0xc3, 0x3d, 0x4c, 0x7b, 0xf8, 0x83, 0x28, 0xaa, 0xf7, 0x72, 0x6a, 0xbf, 0xed, 0xc7, 0x1c, 0xbd,
0xc9, 0xf3, 0x36, 0xdb, 0xf7, 0x03, 0x84, 0x5d, 0xe8, 0xea, 0xdf, 0xd5, 0x31, 0xc2, 0x00, 0xd5,
0x50, 0x22, 0x62, 0xa1, 0x03, 0x08, 0x2c, 0xe8, 0xe8, 0x4a, 0xdc, 0xe0, 0x05, 0xad, 0x24, 0xe1,
0x82, 0x6a, 0xc2, 0x1e, 0xec, 0xe9, 0x82, 0x62, 0x07, 0x7b, 0x4d, 0x31, 0x42, 0x07, 0x7b, 0x90,
0xd1, 0x86, 0x45, 0xf4, 0x9b, 0xae, 0xe1, 0x97, 0x42, 0x5c, 0xcf, 0x58, 0x71, 0x3d, 0x78, 0x42,
0x2b, 0x37, 0x8c, 0x71, 0xb4, 0xd1, 0x8b, 0xb5, 0x41, 0xcd, 0x75, 0x58, 0xa5, 0x49, 0xe7, 0x45,
0x0a, 0x82, 0x9a, 0x67, 0x43, 0x23, 0x44, 0x50, 0x23, 0x50, 0x3b, 0x2a, 0x5d, 0x6f, 0x23, 0x0e,
0xb7, 0x92, 0x9e, 0xfa, 0x88, 0x53, 0x5b, 0x49, 0x04, 0x83, 0x43, 0xe8, 0xa0, 0x60, 0xf9, 0x15,
0x3e, 0x84, 0x94, 0x28, 0x3c, 0x84, 0x1a, 0x04, 0xf6, 0xf7, 0x88, 0xb3, 0x22, 0xbe, 0xc2, 0xfb,
0xbb, 0x96, 0x85, 0xfb, 0xdb, 0x30, 0xb0, 0xbf, 0x6b, 0xc1, 0xdb, 0x44, 0x5e, 0x1d, 0x73, 0xc9,
0xf0, 0xfe, 0xf6, 0x99, 0x70, 0x7f, 0xb7, 0x58, 0x9b, 0x87, 0xb9, 0x0e, 0x47, 0xf3, 0x8b, 0x32,
0x2e, 0x92, 0x0b, 0x3e, 0x08, 0x58, 0x31, 0x10, 0x91, 0x87, 0x91, 0xb0, 0xf6, 0xf9, 0xf3, 0x95,
0xe8, 0x6e, 0xd3, 0xed, 0xa2, 0x2c, 0x75, 0xcc, 0xf3, 0xdd, 0xbf, 0xc0, 0xfb, 0x97, 0xc0, 0x89,
0xa3, 0xd6, 0x1e, 0x6a, 0xce, 0x9a, 0x80, 0x17, 0xe9, 0x3c, 0x2b, 0x4d, 0xa1, 0xbe, 0xec, 0x63,
0xdd, 0x51, 0x20, 0xd6, 0x84, 0x5e, 0x8a, 0x76, 0x39, 0xd6, 0xfd, 0xd3, 0xc8, 0x0e, 0x27, 0x25,
0x58, 0x8e, 0x9b, 0xf6, 0x76, 0x08, 0x62, 0x39, 0xc6, 0x49, 0x38, 0x14, 0x0e, 0x0a, 0x31, 0xcf,
0xcb, 0x8e, 0xa1, 0x00, 0xa0, 0xf0, 0x50, 0x68, 0xc3, 0xda, 0xe7, 0xbb, 0xe8, 0xb7, 0xdd, 0xe1,
0xe7, 0x36, 0xf6, 0x16, 0x3d, 0xa6, 0xb0, 0x26, 0x1e, 0xf6, 0xc5, 0x6d, 0x42, 0xda, 0x78, 0x96,
0x7b, 0x5c, 0xb2, 0x24, 0x2d, 0x07, 0xab, 0xb8, 0x8d, 0x46, 0x4e, 0x24, 0xa4, 0x18, 0x07, 0xe3,
0xdb, 0xde, 0x3c, 0x4f, 0x93, 0xb8, 0x7d, 0xd0, 0xad, 0x75, 0x8d, 0x38, 0x1c, 0xdf, 0x5c, 0x0c,
0xc6, 0xeb, 0x6a, 0xc9, 0x57, 0xff, 0x19, 0x2f, 0x73, 0x8e, 0xc7, 0x6b, 0x0f, 0x09, 0xc7, 0x6b,
0x88, 0xc2, 0xfa, 0x8c, 0xb8, 0x3c, 0x62, 0x4b, 0x31, 0x27, 0xe2, 0xb5, 0x11, 0x87, 0xeb, 0xe3,
0x62, 0x36, 0x27, 0x34, 0x1e, 0x0e, 0x33, 0xc9, 0x8b, 0x8c, 0xa5, 0xfb, 0x29, 0x9b, 0x96, 0x03,
0x22, 0xc6, 0xf8, 0x14, 0x91, 0x13, 0xd2, 0x34, 0xd2, 0x8c, 0x87, 0xe5, 0x3e, 0x5b, 0x88, 0x22,
0x91, 0x74, 0x33, 0x5a, 0xa4, 0xb3, 0x19, 0x3d, 0x14, 0xf5, 0xb6, 0x53, 0xc4, 0x57, 0xc9, 0x82,
0x4f, 0x02, 0xde, 0x1a, 0xa4, 0x87, 0x37, 0x07, 0x45, 0x3a, 0x6d, 0x24, 0xe6, 0x45, 0xcc, 0xc9,
0x4e, 0xab, 0xc5, 0x9d, 0x9d, 0x66, 0x30, 0xed, 0xe1, 0xaf, 0x56, 0xa2, 0xdf, 0xa9, 0xa5, 0xee,
0xe9, 0xf3, 0x1e, 0x2b, 0xaf, 0x2e, 0x04, 0x2b, 0x26, 0x83, 0xcf, 0x30, 0x3b, 0x28, 0x6a, 0x5c,
0x3f, 0xbb, 0x8d, 0x0a, 0x6c, 0xd6, 0xa3, 0xa4, 0x74, 0x66, 0x1c, 0xda, 0xac, 0x1e, 0x12, 0x6e,
0x56, 0x88, 0xc2, 0x00, 0xa2, 0xe4, 0xf5, 0x51, 0xcc, 0x2a, 0xa9, 0xef, 0x9f, 0xc7, 0xac, 0x75,
0x72, 0x30, 0x3e, 0x56, 0x42, 0x7f, 0xb4, 0x6c, 0x51, 0x36, 0xf0, 0x11, 0x33, 0xec, 0x8b, 0x93,
0x9e, 0xcd, 0xac, 0x08, 0x7b, 0x6e, 0xcd, 0x8c, 0x61, 0x5f, 0x9c, 0xf0, 0xec, 0x84, 0xb5, 0x90,
0x67, 0x24, 0xb4, 0x0d, 0xfb, 0xe2, 0x30, 0xfb, 0xd2, 0x4c, 0xb3, 0x2e, 0x3c, 0x09, 0xd8, 0x81,
0x6b, 0xc3, 0x46, 0x2f, 0x56, 0x3b, 0xfc, 0x9b, 0x95, 0xe8, 0xfb, 0xd6, 0xe3, 0xb1, 0x98, 0x24,
0x97, 0xcb, 0x1a, 0x7a, 0xc3, 0xd2, 0x39, 0x2f, 0x07, 0xcf, 0x28, 0x6b, 0x6d, 0xd6, 0x94, 0xe0,
0xf9, 0xad, 0x74, 0xe0, 0xdc, 0xd9, 0xc9, 0xf3, 0x74, 0x39, 0xe6, 0xb3, 0x3c, 0x25, 0xe7, 0x8e,
0x87, 0x84, 0xe7, 0x0e, 0x44, 0x61, 0x56, 0x3e, 0x16, 0x55, 0xce, 0x8f, 0x66, 0xe5, 0x4a, 0x14,
0xce, 0xca, 0x1b, 0x04, 0xe6, 0x4a, 0x63, 0xb1, 0x2b, 0xd2, 0x94, 0xc7, 0xb2, 0xfd, 0x04, 0xdb,
0x68, 0x5a, 0x22, 0x9c, 0x2b, 0x01, 0xd2, 0x9e, 0xc6, 0x34, 0x7b, 0x48, 0x56, 0xf0, 0x97, 0xcb,
0xa3, 0x24, 0xbb, 0x1e, 0xe0, 0x69, 0x81, 0x05, 0x88, 0xd3, 0x18, 0x14, 0x84, 0x7b, 0xd5, 0xf3,
0x6c, 0x22, 0xf0, 0xbd, 0x6a, 0x25, 0x09, 0xef, 0x55, 0x35, 0x01, 0x4d, 0x9e, 0x71, 0xca, 0x64,
0x25, 0x09, 0x9b, 0xd4, 0x04, 0x16, 0x0a, 0xf5, 0x99, 0x3d, 0x19, 0x0a, 0xc1, 0x29, 0xfd, 0x5a,
0x27, 0x07, 0x47, 0x68, 0xb3, 0x69, 0xdd, 0xe7, 0x32, 0xbe, 0xc2, 0x47, 0xa8, 0x87, 0x84, 0x47,
0x28, 0x44, 0x61, 0x95, 0xc6, 0xc2, 0x6c, 0xba, 0x57, 0xf1, 0xf1, 0xd1, 0xda, 0x70, 0xaf, 0x75,
0x72, 0x70, 0x1b, 0x79, 0x38, 0x53, 0x6d, 0x86, 0x0e, 0xf2, 0x5a, 0x16, 0xde, 0x46, 0x1a, 0x06,
0x96, 0xbe, 0x16, 0x54, 0xcd, 0x89, 0x97, 0xde, 0xca, 0xc3, 0xa5, 0xf7, 0x38, 0xed, 0xe4, 0x5f,
0xcc, 0x36, 0xae, 0x96, 0x9e, 0x88, 0x6a, 0x8e, 0xbc, 0x61, 0x69, 0x32, 0x61, 0x92, 0x8f, 0xc5,
0x35, 0xcf, 0xf0, 0x1d, 0x93, 0x2e, 0x6d, 0xcd, 0x0f, 0x3d, 0x85, 0xf0, 0x8e, 0x29, 0xac, 0x08,
0xc7, 0x49, 0x4d, 0x9f, 0x97, 0x7c, 0x97, 0x95, 0x44, 0x24, 0xf3, 0x90, 0xf0, 0x38, 0x81, 0x28,
0xcc, 0x57, 0x6b, 0xf9, 0xab, 0x77, 0x39, 0x2f, 0x12, 0x9e, 0xc5, 0x1c, 0xcf, 0x57, 0x21, 0x15,
0xce, 0x57, 0x11, 0x1a, 0xee, 0xd5, 0xf6, 0x98, 0xe4, 0x2f, 0x97, 0xe3, 0x64, 0xc6, 0x4b, 0xc9,
0x66, 0x39, 0xbe, 0x57, 0x03, 0x50, 0x78, 0xaf, 0xd6, 0x86, 0x5b, 0x47, 0x43, 0x26, 0x20, 0xb6,
0x2f, 0xbe, 0x40, 0x22, 0x70, 0xf1, 0x85, 0x40, 0x61, 0xc3, 0x5a, 0x00, 0x3d, 0x1c, 0x6e, 0x59,
0x09, 0x1e, 0x0e, 0xd3, 0x74, 0xeb, 0xc0, 0xcd, 0x30, 0xa3, 0x6a, 0x6a, 0x76, 0x14, 0x7d, 0xe4,
0x4e, 0xd1, 0x8d, 0x5e, 0x2c, 0x7e, 0xc2, 0x77, 0xc6, 0x53, 0xa6, 0x96, 0xad, 0xc0, 0x31, 0x5a,
0xc3, 0xf4, 0x39, 0xe1, 0x73, 0x58, 0xed, 0xf0, 0x2f, 0x56, 0xa2, 0x4f, 0x30, 0x8f, 0xaf, 0x73,
0xe5, 0xf7, 0x69, 0xb7, 0xad, 0x9a, 0x24, 0x6e, 0xf6, 0x84, 0x35, 0x74, 0x19, 0xfe, 0x24, 0xfa,
0xb8, 0x11, 0xd9, 0x8b, 0x3f, 0xba, 0x00, 0x7e, 0xd2, 0x66, 0xca, 0x0f, 0x39, 0xe3, 0x7e, 0xbb,
0x37, 0x6f, 0xf7, 0x43, 0x7e, 0xb9, 0x4a, 0xb0, 0x1f, 0x32, 0x36, 0xb4, 0x98, 0xd8, 0x0f, 0x21,
0x98, 0x9d, 0x9d, 0x6e, 0xf5, 0xde, 0x26, 0xf2, 0x4a, 0xe5, 0x5b, 0x60, 0x76, 0x7a, 0x65, 0x35,
0x10, 0x31, 0x3b, 0x49, 0x18, 0x66, 0x24, 0x0d, 0x58, 0xcd, 0x4d, 0x2c, 0x96, 0x1b, 0x43, 0xee,
0xcc, 0x5c, 0xef, 0x06, 0xe1, 0x78, 0x6d, 0xc4, 0x7a, 0xeb, 0xf3, 0x24, 0x64, 0x01, 0x6c, 0x7f,
0x36, 0x7a, 0xb1, 0xda, 0xe1, 0x9f, 0x45, 0xdf, 0x6b, 0x55, 0x6c, 0x9f, 0x33, 0x39, 0x2f, 0xf8,
0x64, 0xb0, 0xdd, 0x51, 0xee, 0x06, 0x34, 0xae, 0x9f, 0xf6, 0x57, 0x68, 0xe5, 0xe8, 0x0d, 0x57,
0x0f, 0x2b, 0x53, 0x86, 0x67, 0x21, 0x93, 0x3e, 0x1b, 0xcc, 0xd1, 0x69, 0x9d, 0xd6, 0x36, 0xdb,
0x1d, 0x5d, 0x3b, 0x0b, 0x96, 0xa4, 0xea, 0x21, 0xdd, 0x67, 0x21, 0xa3, 0x1e, 0x1a, 0xdc, 0x66,
0x93, 0x2a, 0xad, 0xc8, 0xac, 0xe6, 0xb8, 0xb3, 0x3d, 0xdb, 0xa4, 0x23, 0x01, 0xb2, 0x3b, 0xdb,
0xea, 0x49, 0x6b, 0xb7, 0xb2, 0x59, 0xf2, 0xaa, 0x9f, 0xdd, 0x41, 0x8e, 0x79, 0xd5, 0xaa, 0xc8,
0x48, 0xdf, 0xea, 0x49, 0x6b, 0xaf, 0x7f, 0x1a, 0x7d, 0xdc, 0xf6, 0xaa, 0x17, 0xa2, 0xed, 0x4e,
0x53, 0x60, 0x2d, 0x7a, 0xda, 0x5f, 0xc1, 0x6e, 0x69, 0xbe, 0x4a, 0x4a, 0x29, 0x8a, 0xe5, 0xe8,
0x4a, 0xdc, 0x34, 0x17, 0xea, 0xfd, 0xd9, 0xaa, 0x81, 0xa1, 0x43, 0x10, 0x5b, 0x1a, 0x9c, 0x6c,
0xb9, 0xb2, 0x17, 0xef, 0x4b, 0xc2, 0x95, 0x43, 0x74, 0xb8, 0xf2, 0x49, 0x1b, 0xab, 0x9a, 0x5a,
0xd9, 0xb7, 0x04, 0xd6, 0xf0, 0xa2, 0xb6, 0xdf, 0x14, 0x58, 0xef, 0x06, 0x6d, 0xc6, 0xa2, 0xc5,
0x7b, 0xc9, 0xe5, 0xa5, 0xa9, 0x13, 0x5e, 0x52, 0x17, 0x21, 0x32, 0x16, 0x02, 0xb5, 0x49, 0xf7,
0x7e, 0x92, 0x72, 0x75, 0xa2, 0xff, 0xfa, 0xf2, 0x32, 0x15, 0x6c, 0x02, 0x92, 0xee, 0x4a, 0x3c,
0x74, 0xe5, 0x44, 0xd2, 0x8d, 0x71, 0xf6, 0x19, 0x71, 0x25, 0x3d, 0xe3, 0xb1, 0xc8, 0xe2, 0x24,
0x85, 0xf7, 0x0b, 0x95, 0xa6, 0x11, 0x12, 0xcf, 0x88, 0x5b, 0x90, 0x5d, 0x18, 0x2b, 0x51, 0x35,
0xed, 0x9b, 0xf2, 0x3f, 0x6a, 0x2b, 0x3a, 0x62, 0x62, 0x61, 0x44, 0x30, 0xbb, 0xf7, 0xac, 0x84,
0xe7, 0xb9, 0x32, 0x7e, 0xaf, 0xad, 0x55, 0x4b, 0x88, 0xbd, 0xa7, 0x4f, 0xd8, 0x3d, 0x54, 0xf5,
0xfb, 0x9e, 0xb8, 0xc9, 0x94, 0xd1, 0x07, 0x6d, 0x95, 0x46, 0x46, 0xec, 0xa1, 0x20, 0xa3, 0x0d,
0xff, 0x24, 0xfa, 0xff, 0xca, 0x70, 0x21, 0xf2, 0xc1, 0x1d, 0x44, 0xa1, 0x70, 0xee, 0xea, 0xdd,
0x25, 0xe5, 0xf6, 0xaa, 0xa3, 0x19, 0x1b, 0xe7, 0x25, 0x9b, 0xc2, 0xab, 0x8e, 0xb6, 0xc7, 0x95,
0x94, 0xb8, 0xea, 0xd8, 0xa6, 0xfc, 0x51, 0x71, 0x22, 0x26, 0xda, 0x3a, 0x52, 0x43, 0x23, 0x0c,
0x8d, 0x0a, 0x17, 0xb2, 0xc9, 0xcc, 0x09, 0x5b, 0x24, 0x53, 0xb3, 0xe0, 0xd4, 0x71, 0xab, 0x04,
0xc9, 0x8c, 0x65, 0x86, 0x0e, 0x44, 0x24, 0x33, 0x24, 0xac, 0x7d, 0xfe, 0xf3, 0x4a, 0x74, 0xcf,
0x32, 0x07, 0xcd, 0x69, 0xdd, 0x61, 0x76, 0x29, 0xaa, 0xd4, 0xe7, 0x28, 0xc9, 0xae, 0xcb, 0xc1,
0x17, 0x94, 0x49, 0x9c, 0x37, 0x45, 0xf9, 0xf2, 0xd6, 0x7a, 0x36, 0x6b, 0x6d, 0x8e, 0xb2, 0xec,
0xf3, 0xec, 0x5a, 0x03, 0x64, 0xad, 0xe6, 0xc4, 0x0b, 0x72, 0x44, 0xd6, 0x1a, 0xe2, 0x6d, 0x17,
0x1b, 0xe7, 0xa9, 0xc8, 0x60, 0x17, 0x5b, 0x0b, 0x95, 0x90, 0xe8, 0xe2, 0x16, 0x64, 0xe3, 0x71,
0x23, 0xaa, 0x4f, 0x5d, 0x76, 0xd2, 0x14, 0xc4, 0x63, 0xa3, 0x6a, 0x00, 0x22, 0x1e, 0xa3, 0xa0,
0xf6, 0x73, 0x16, 0x7d, 0xa7, 0x6a, 0xd2, 0xd3, 0x82, 0x2f, 0x12, 0x0e, 0xaf, 0x5e, 0x38, 0x12,
0x62, 0xfe, 0xfb, 0x84, 0x9d, 0x59, 0xe7, 0x59, 0x99, 0xa7, 0xac, 0xbc, 0xd2, 0x0f, 0xe3, 0xfd,
0x3a, 0x37, 0x42, 0xf8, 0x38, 0xfe, 0x51, 0x07, 0x65, 0x83, 0x7a, 0x23, 0x33, 0x21, 0x66, 0x15,
0x57, 0x6d, 0x85, 0x99, 0xb5, 0x4e, 0xce, 0x9e, 0x78, 0x1f, 0xb0, 0x34, 0xe5, 0xc5, 0xb2, 0x91,
0x1d, 0xb3, 0x2c, 0xb9, 0xe4, 0xa5, 0x04, 0x27, 0xde, 0x9a, 0x1a, 0x42, 0x8c, 0x38, 0xf1, 0x0e,
0xe0, 0x36, 0x9b, 0x07, 0x9e, 0x0f, 0xb3, 0x09, 0x7f, 0x07, 0xb2, 0x79, 0x68, 0x47, 0x31, 0x44,
0x36, 0x4f, 0xb1, 0xf6, 0xe4, 0xf7, 0x65, 0x2a, 0xe2, 0x6b, 0xbd, 0x04, 0xf8, 0x1d, 0xac, 0x24,
0x70, 0x0d, 0x78, 0x10, 0x42, 0xec, 0x22, 0xa0, 0x04, 0x67, 0x3c, 0x4f, 0x59, 0x0c, 0xef, 0xdf,
0xd4, 0x3a, 0x5a, 0x46, 0x2c, 0x02, 0x90, 0x01, 0xc5, 0xd5, 0xf7, 0x7a, 0xb0, 0xe2, 0x82, 0x6b,
0x3d, 0x0f, 0x42, 0x88, 0x5d, 0x06, 0x95, 0x60, 0x94, 0xa7, 0x89, 0x04, 0xd3, 0xa0, 0xd6, 0x50,
0x12, 0x62, 0x1a, 0xf8, 0x04, 0x30, 0x79, 0xcc, 0x8b, 0x29, 0x47, 0x4d, 0x2a, 0x49, 0xd0, 0x64,
0x43, 0xd8, 0x4b, 0xa6, 0x75, 0xdd, 0x45, 0xbe, 0x04, 0x97, 0x4c, 0x75, 0xb5, 0x44, 0xbe, 0x24,
0x2e, 0x99, 0x7a, 0x00, 0x28, 0xe2, 0x29, 0x2b, 0x25, 0x5e, 0x44, 0x25, 0x09, 0x16, 0xb1, 0x21,
0xec, 0x1a, 0x5d, 0x17, 0x71, 0x2e, 0xc1, 0x1a, 0xad, 0x0b, 0xe0, 0x3c, 0x81, 0xbe, 0x4b, 0xca,
0x6d, 0x24, 0xa9, 0x7b, 0x85, 0xcb, 0xfd, 0x84, 0xa7, 0x93, 0x12, 0x44, 0x12, 0xdd, 0xee, 0x8d,
0x94, 0x88, 0x24, 0x6d, 0x0a, 0x0c, 0x25, 0x7d, 0x3e, 0x8e, 0xd5, 0x0e, 0x1c, 0x8d, 0x3f, 0x08,
0x21, 0x36, 0x3e, 0x35, 0x85, 0xde, 0x65, 0x45, 0x91, 0x54, 0x8b, 0xff, 0x2a, 0x5e, 0xa0, 0x46,
0x4e, 0xc4, 0x27, 0x8c, 0x03, 0xd3, 0xab, 0x09, 0xdc, 0x58, 0xc1, 0x60, 0xe8, 0xfe, 0x34, 0xc8,
0xd8, 0x8c, 0x53, 0x49, 0x9c, 0x47, 0xa8, 0x58, 0x6b, 0x22, 0x4f, 0x50, 0x57, 0xbb, 0x30, 0xe7,
0x25, 0x10, 0xe3, 0xe2, 0x58, 0x2c, 0xf8, 0x58, 0xbc, 0x7a, 0x97, 0x94, 0x32, 0xc9, 0xa6, 0x7a,
0xe5, 0x7e, 0x4e, 0x58, 0xc2, 0x60, 0xe2, 0x25, 0x90, 0x4e, 0x25, 0x9b, 0x40, 0x80, 0xb2, 0x9c,
0xf0, 0x1b, 0x34, 0x81, 0x80, 0x16, 0x0d, 0x47, 0x24, 0x10, 0x21, 0xde, 0x9e, 0xa3, 0x18, 0xe7,
0xfa, 0x45, 0xdc, 0xb1, 0x68, 0x72, 0x39, 0xca, 0x1a, 0x04, 0x89, 0xad, 0x6c, 0x50, 0xc1, 0xee,
0x2f, 0x8d, 0x7f, 0x3b, 0xc5, 0xd6, 0x09, 0x3b, 0xed, 0x69, 0xf6, 0xb8, 0x07, 0x89, 0xb8, 0xb2,
0xf7, 0x00, 0x28, 0x57, 0xed, 0x6b, 0x00, 0x8f, 0x7b, 0x90, 0xce, 0x99, 0x8c, 0x5b, 0xad, 0x97,
0x2c, 0xbe, 0x9e, 0x16, 0x62, 0x9e, 0x4d, 0x76, 0x45, 0x2a, 0x0a, 0x70, 0x26, 0xe3, 0x95, 0x1a,
0xa0, 0xc4, 0x99, 0x4c, 0x87, 0x8a, 0xcd, 0xe0, 0xdc, 0x52, 0xec, 0xa4, 0xc9, 0x14, 0xee, 0xa8,
0x3d, 0x43, 0x0a, 0x20, 0x32, 0x38, 0x14, 0x44, 0x06, 0x51, 0xbd, 0xe3, 0x96, 0x49, 0xcc, 0xd2,
0xda, 0xdf, 0x36, 0x6d, 0xc6, 0x03, 0x3b, 0x07, 0x11, 0xa2, 0x80, 0xd4, 0x73, 0x3c, 0x2f, 0xb2,
0xc3, 0x4c, 0x0a, 0xb2, 0x9e, 0x0d, 0xd0, 0x59, 0x4f, 0x07, 0x04, 0x61, 0x75, 0xcc, 0xdf, 0x55,
0xa5, 0xa9, 0xfe, 0xc1, 0xc2, 0x6a, 0xf5, 0xfb, 0x50, 0xcb, 0x43, 0x61, 0x15, 0x70, 0xa0, 0x32,
0xda, 0x49, 0x3d, 0x60, 0x02, 0xda, 0xfe, 0x30, 0x59, 0xef, 0x06, 0x71, 0x3f, 0x23, 0xb9, 0x4c,
0x79, 0xc8, 0x8f, 0x02, 0xfa, 0xf8, 0x69, 0x40, 0x7b, 0xdc, 0xe2, 0xd5, 0xe7, 0x8a, 0xc7, 0xd7,
0xad, 0x6b, 0x4d, 0x7e, 0x41, 0x6b, 0x84, 0x38, 0x6e, 0x21, 0x50, 0xbc, 0x8b, 0x0e, 0x63, 0x91,
0x85, 0xba, 0xa8, 0x92, 0xf7, 0xe9, 0x22, 0xcd, 0xd9, 0xcd, 0xaf, 0x91, 0xea, 0x91, 0x59, 0x77,
0xd3, 0x06, 0x61, 0xc1, 0x85, 0x88, 0xcd, 0x2f, 0x09, 0xdb, 0x9c, 0x1c, 0xfa, 0x3c, 0x6e, 0xdf,
0xf9, 0x6e, 0x59, 0x39, 0xa6, 0xef, 0x7c, 0x53, 0x2c, 0x5d, 0xc9, 0x7a, 0x8c, 0x74, 0x58, 0xf1,
0xc7, 0xc9, 0x66, 0x3f, 0xd8, 0x6e, 0x79, 0x3c, 0x9f, 0xbb, 0x29, 0x67, 0x45, 0xed, 0x75, 0x2b,
0x60, 0xc8, 0x62, 0xc4, 0x96, 0x27, 0x80, 0x83, 0x10, 0xe6, 0x79, 0xde, 0x15, 0x99, 0xe4, 0x99,
0xc4, 0x42, 0x98, 0x6f, 0x4c, 0x83, 0xa1, 0x10, 0x46, 0x29, 0x80, 0x71, 0xab, 0xce, 0x83, 0xb8,
0x3c, 0x61, 0x33, 0x34, 0x63, 0xab, 0xcf, 0x7a, 0x6a, 0x79, 0x68, 0xdc, 0x02, 0xce, 0x79, 0xc8,
0xe7, 0x7a, 0x19, 0xb3, 0x62, 0x6a, 0x4e, 0x37, 0x26, 0x83, 0xa7, 0xb4, 0x1d, 0x9f, 0x24, 0x1e,
0xf2, 0x85, 0x35, 0x40, 0xd8, 0x39, 0x9c, 0xb1, 0xa9, 0xa9, 0x29, 0x52, 0x03, 0x25, 0x6f, 0x55,
0x75, 0xbd, 0x1b, 0x04, 0x7e, 0xde, 0x24, 0x13, 0x2e, 0x02, 0x7e, 0x94, 0xbc, 0x8f, 0x1f, 0x08,
0x82, 0xec, 0xad, 0xaa, 0x77, 0xbd, 0xa3, 0xdb, 0xc9, 0x26, 0x7a, 0x1f, 0x3b, 0x24, 0x9a, 0x07,
0x70, 0xa1, 0xec, 0x8d, 0xe0, 0xc1, 0x1c, 0x6d, 0x0e, 0x68, 0x43, 0x73, 0xd4, 0x9c, 0xbf, 0xf6,
0x99, 0xa3, 0x18, 0xac, 0x7d, 0xfe, 0x4c, 0xcf, 0xd1, 0x3d, 0x26, 0x59, 0x95, 0xb7, 0xbf, 0x49,
0xf8, 0x8d, 0xde, 0x08, 0x23, 0xf5, 0x6d, 0xa8, 0xa1, 0x7a, 0x55, 0x11, 0xec, 0x8a, 0xb7, 0x7b,
0xf3, 0x01, 0xdf, 0x7a, 0x87, 0xd0, 0xe9, 0x1b, 0x6c, 0x15, 0xb6, 0x7b, 0xf3, 0x01, 0xdf, 0xfa,
0x1d, 0xe8, 0x4e, 0xdf, 0xe0, 0x45, 0xe8, 0xed, 0xde, 0xbc, 0xf6, 0xfd, 0x97, 0xcd, 0xc4, 0x75,
0x9d, 0x57, 0x79, 0x58, 0x2c, 0x93, 0x05, 0xc7, 0xd2, 0x49, 0xdf, 0x9e, 0x41, 0x43, 0xe9, 0x24,
0xad, 0xe2, 0x7c, 0x97, 0x07, 0x2b, 0xc5, 0xa9, 0x28, 0x13, 0xf5, 0x90, 0xfe, 0x79, 0x0f, 0xa3,
0x0d, 0x1c, 0xda, 0x34, 0x85, 0x94, 0xec, 0xe3, 0x46, 0x0f, 0xb5, 0xb7, 0x98, 0x37, 0x03, 0xf6,
0xda, 0x97, 0x99, 0xb7, 0x7a, 0xd2, 0xf6, 0xc1, 0x9f, 0xc7, 0xb8, 0x4f, 0x1c, 0x43, 0xbd, 0x8a,
0x3e, 0x74, 0x7c, 0xda, 0x5f, 0x41, 0xbb, 0xff, 0xeb, 0x66, 0x5f, 0x01, 0xfd, 0xeb, 0x49, 0xf0,
0xac, 0x8f, 0x45, 0x30, 0x11, 0x9e, 0xdf, 0x4a, 0x47, 0x17, 0xe4, 0xef, 0x9b, 0x0d, 0x74, 0x83,
0xaa, 0x77, 0x39, 0xd4, 0xbb, 0x7f, 0x7a, 0x4e, 0x84, 0xba, 0xd5, 0xc2, 0x70, 0x66, 0xbc, 0xb8,
0xa5, 0x96, 0xf3, 0x95, 0x26, 0x0f, 0xd6, 0xef, 0x1c, 0x3a, 0xe5, 0x09, 0x59, 0x76, 0x68, 0x58,
0xa0, 0x2f, 0x6e, 0xab, 0x46, 0xcd, 0x15, 0x07, 0x56, 0x5f, 0x65, 0x78, 0xde, 0xd3, 0xb0, 0xf7,
0x9d, 0x86, 0xcf, 0x6f, 0xa7, 0xa4, 0xcb, 0xf2, 0x1f, 0x2b, 0xd1, 0x23, 0x8f, 0xb5, 0xcf, 0x13,
0xc0, 0xa9, 0xc7, 0x8f, 0x03, 0xf6, 0x29, 0x25, 0x53, 0xb8, 0xdf, 0xfd, 0xe5, 0x94, 0xed, 0x27,
0x8d, 0x3c, 0x95, 0xfd, 0x24, 0x95, 0xbc, 0x68, 0x7f, 0xd2, 0xc8, 0xb7, 0x5b, 0x53, 0x43, 0xfa,
0x93, 0x46, 0x01, 0xdc, 0xf9, 0xa4, 0x11, 0xe2, 0x19, 0xfd, 0xa4, 0x11, 0x6a, 0x2d, 0xf8, 0x49,
0xa3, 0xb0, 0x06, 0x15, 0xde, 0x9b, 0x22, 0xd4, 0xe7, 0xd6, 0xbd, 0x2c, 0xfa, 0xc7, 0xd8, 0xcf,
0x6e, 0xa3, 0x42, 0x2c, 0x70, 0x35, 0xa7, 0xee, 0xb9, 0xf5, 0x68, 0x53, 0xef, 0xae, 0xdb, 0x76,
0x6f, 0x5e, 0xfb, 0xfe, 0xa9, 0xde, 0xdd, 0x98, 0x70, 0x2e, 0x0a, 0xf5, 0x39, 0xab, 0x8d, 0x50,
0x78, 0xae, 0x2c, 0xb8, 0x3d, 0xbf, 0xd9, 0x0f, 0x26, 0xaa, 0x5b, 0x11, 0xba, 0xd3, 0x87, 0x5d,
0x86, 0x40, 0x97, 0x6f, 0xf7, 0xe6, 0x89, 0x65, 0xa4, 0xf6, 0x5d, 0xf7, 0x76, 0x0f, 0x63, 0x7e,
0x5f, 0x3f, 0xed, 0xaf, 0xa0, 0xdd, 0x2f, 0x74, 0xda, 0xe8, 0xba, 0x57, 0xfd, 0xbc, 0xd5, 0x65,
0x6a, 0xe4, 0x75, 0xf3, 0xb0, 0x2f, 0x1e, 0x4a, 0x20, 0xdc, 0x25, 0xb4, 0x2b, 0x81, 0x40, 0x97,
0xd1, 0xcf, 0x6f, 0xa7, 0xa4, 0xcb, 0xf2, 0x4f, 0x2b, 0xd1, 0x5d, 0xb2, 0x2c, 0x7a, 0x1c, 0x7c,
0xd1, 0xd7, 0x32, 0x18, 0x0f, 0x5f, 0xde, 0x5a, 0x4f, 0x17, 0xea, 0x5f, 0x57, 0xa2, 0x7b, 0x81,
0x42, 0xd5, 0x03, 0xe4, 0x16, 0xd6, 0xfd, 0x81, 0xf2, 0xc3, 0xdb, 0x2b, 0x52, 0xcb, 0xbd, 0x8b,
0x8f, 0xda, 0x1f, 0xe3, 0x09, 0xd8, 0x1e, 0xd1, 0x1f, 0xe3, 0xe9, 0xd6, 0x82, 0x87, 0x3c, 0xec,
0xa2, 0xd9, 0x74, 0xa1, 0x87, 0x3c, 0xea, 0x86, 0x1a, 0xd8, 0x73, 0xac, 0x75, 0x72, 0x98, 0x93,
0x57, 0xef, 0x72, 0x96, 0x4d, 0x68, 0x27, 0xb5, 0xbc, 0xdb, 0x89, 0xe1, 0xe0, 0xe1, 0x58, 0x25,
0x3d, 0x13, 0xcd, 0x46, 0xea, 0x31, 0xa5, 0x6f, 0x90, 0xe0, 0xe1, 0x58, 0x0b, 0x25, 0xbc, 0xe9,
0xac, 0x31, 0xe4, 0x0d, 0x24, 0x8b, 0x4f, 0xfa, 0xa0, 0x20, 0x45, 0x37, 0xde, 0xcc, 0x99, 0xfb,
0x66, 0xc8, 0x4a, 0xeb, 0xdc, 0x7d, 0xab, 0x27, 0x4d, 0xb8, 0x1d, 0x71, 0xf9, 0x15, 0x67, 0x13,
0x5e, 0x04, 0xdd, 0x1a, 0xaa, 0x97, 0x5b, 0x97, 0xc6, 0xdc, 0xee, 0x8a, 0x74, 0x3e, 0xcb, 0x74,
0x67, 0x92, 0x6e, 0x5d, 0xaa, 0xdb, 0x2d, 0xa0, 0xe1, 0xb1, 0xa0, 0x75, 0xab, 0xd2, 0xcb, 0x27,
0x61, 0x33, 0x5e, 0x56, 0xb9, 0xd1, 0x8b, 0xa5, 0xeb, 0xa9, 0x87, 0x51, 0x47, 0x3d, 0xc1, 0x48,
0xda, 0xea, 0x49, 0xc3, 0xf3, 0x39, 0xc7, 0xad, 0x19, 0x4f, 0xdb, 0x1d, 0xb6, 0x5a, 0x43, 0xea,
0x69, 0x7f, 0x05, 0x78, 0x1a, 0xaa, 0x47, 0xd5, 0x51, 0x52, 0xca, 0xfd, 0x24, 0x4d, 0x07, 0x1b,
0x81, 0x61, 0xd2, 0x40, 0xc1, 0xd3, 0x50, 0x04, 0x26, 0x46, 0x72, 0x73, 0x7a, 0x98, 0x0d, 0xba,
0xec, 0x28, 0xaa, 0xd7, 0x48, 0x76, 0x69, 0x70, 0xa2, 0xe5, 0x34, 0xb5, 0xa9, 0xed, 0x30, 0xdc,
0x70, 0xad, 0x0a, 0x6f, 0xf7, 0xe6, 0xc1, 0xe3, 0x76, 0x45, 0xa9, 0x95, 0xe5, 0x21, 0x65, 0xc2,
0x5b, 0x49, 0x1e, 0x75, 0x50, 0xe0, 0x54, 0xb0, 0x9e, 0x46, 0x6f, 0x93, 0xc9, 0x94, 0x4b, 0xf4,
0x49, 0x91, 0x0b, 0x04, 0x9f, 0x14, 0x01, 0x10, 0x74, 0x5d, 0xfd, 0xbb, 0x39, 0x0e, 0x3d, 0x9c,
0x60, 0x5d, 0xa7, 0x95, 0x1d, 0x2a, 0xd4, 0x75, 0x28, 0x0d, 0xa2, 0x81, 0x71, 0xab, 0x5f, 0xc7,
0x7f, 0x12, 0x32, 0x03, 0xde, 0xc9, 0xdf, 0xe8, 0xc5, 0x82, 0x15, 0xc5, 0x3a, 0x4c, 0x66, 0x89,
0xc4, 0x56, 0x14, 0xc7, 0x46, 0x85, 0x84, 0x56, 0x94, 0x36, 0x4a, 0x55, 0xaf, 0xca, 0x11, 0x0e,
0x27, 0xe1, 0xea, 0xd5, 0x4c, 0xbf, 0xea, 0x19, 0xb6, 0xf5, 0x60, 0x33, 0x33, 0x43, 0x46, 0x5e,
0xe9, 0xcd, 0x32, 0x32, 0xb6, 0xd5, 0x6b, 0x9a, 0x10, 0x0c, 0x45, 0x1d, 0x4a, 0x01, 0x1e, 0xd8,
0x57, 0x5c, 0xf3, 0xec, 0x35, 0xcf, 0x39, 0x2b, 0x58, 0x16, 0xa3, 0x9b, 0x53, 0x65, 0xb0, 0x45,
0x86, 0x36, 0xa7, 0xa4, 0x06, 0x78, 0x6c, 0xee, 0xbf, 0x60, 0x89, 0x4c, 0x05, 0xf3, 0x26, 0xa3,
0xff, 0x7e, 0xe5, 0xe3, 0x1e, 0x24, 0x7c, 0x6c, 0xde, 0x00, 0xe6, 0xe0, 0xbb, 0x76, 0xfa, 0x59,
0xc0, 0x94, 0x8f, 0x86, 0x36, 0xc2, 0xb4, 0x0a, 0x18, 0xd4, 0x26, 0xc1, 0xe5, 0xf2, 0x27, 0x7c,
0x89, 0x0d, 0x6a, 0x9b, 0x9f, 0x2a, 0x24, 0x34, 0xa8, 0xdb, 0x28, 0xc8, 0x33, 0xdd, 0x7d, 0xd0,
0x6a, 0x40, 0xdf, 0xdd, 0xfa, 0xac, 0x75, 0x72, 0x60, 0xe6, 0xec, 0x25, 0x0b, 0xef, 0x39, 0x01,
0x52, 0xd0, 0xbd, 0x64, 0x81, 0x3f, 0x26, 0xd8, 0xe8, 0xc5, 0xc2, 0x47, 0xf2, 0x4c, 0xf2, 0x77,
0xcd, 0xb3, 0x72, 0xa4, 0xb8, 0x4a, 0xde, 0x7a, 0x58, 0xbe, 0xde, 0x0d, 0xda, 0x0b, 0xb0, 0xa7,
0x85, 0x88, 0x79, 0x59, 0xea, 0x2f, 0x14, 0xfa, 0x37, 0x8c, 0xb4, 0x6c, 0x08, 0xbe, 0x4f, 0xf8,
0x30, 0x0c, 0xd9, 0x9e, 0xd1, 0x22, 0xfb, 0xd5, 0x9b, 0x55, 0x54, 0xb3, 0xfd, 0xc1, 0x9b, 0xb5,
0x4e, 0xce, 0x4e, 0x2f, 0x2d, 0x75, 0x3f, 0x73, 0xb3, 0x8e, 0xaa, 0x63, 0x5f, 0xb8, 0x79, 0xdc,
0x83, 0xd4, 0xae, 0xbe, 0x8a, 0xde, 0x3f, 0x12, 0xd3, 0x11, 0xcf, 0x26, 0x83, 0x1f, 0xf8, 0x57,
0x68, 0xc5, 0x74, 0x58, 0xfd, 0x6c, 0x8c, 0xde, 0xa1, 0xc4, 0xf6, 0x12, 0xe0, 0x1e, 0xbf, 0x98,
0x4f, 0x47, 0x92, 0x49, 0x70, 0x09, 0x50, 0xfd, 0x3e, 0xac, 0x04, 0xc4, 0x25, 0x40, 0x0f, 0x00,
0xf6, 0xc6, 0x05, 0xe7, 0xa8, 0xbd, 0x4a, 0x10, 0xb4, 0xa7, 0x01, 0x9b, 0x45, 0x18, 0x7b, 0x55,
0xa2, 0x0e, 0x2f, 0xed, 0x59, 0x1d, 0x25, 0x25, 0xb2, 0x88, 0x36, 0x65, 0x07, 0x77, 0x5d, 0x7d,
0xf5, 0xd5, 0x91, 0xf9, 0x6c, 0xc6, 0x8a, 0x25, 0x18, 0xdc, 0xba, 0x96, 0x0e, 0x40, 0x0c, 0x6e,
0x14, 0xb4, 0xb3, 0xb6, 0x69, 0xe6, 0xf8, 0xfa, 0x40, 0x14, 0x62, 0x2e, 0x93, 0x8c, 0xc3, 0x2f,
0x4f, 0x98, 0x06, 0x75, 0x19, 0x62, 0xd6, 0x52, 0xac, 0xcd, 0x72, 0x15, 0x51, 0xdf, 0x27, 0x54,
0xdf, 0x2d, 0x2e, 0xa5, 0x28, 0xe0, 0xf3, 0xc4, 0xda, 0x0a, 0x84, 0x88, 0x2c, 0x97, 0x84, 0x41,
0xdf, 0x9f, 0x26, 0xd9, 0x14, 0xed, 0xfb, 0x53, 0xf7, 0xab, 0x9f, 0xf7, 0x68, 0xc0, 0x4e, 0xa8,
0xba, 0xd1, 0xea, 0x09, 0xa0, 0xdf, 0xe5, 0x44, 0x1b, 0xdd, 0x25, 0x88, 0x09, 0x85, 0x93, 0xc0,
0xd5, 0xeb, 0x9c, 0x67, 0x7c, 0xd2, 0xdc, 0x9a, 0xc3, 0x5c, 0x79, 0x44, 0xd0, 0x15, 0x24, 0x6d,
0x2c, 0x52, 0xf2, 0xb3, 0x79, 0x76, 0x5a, 0x88, 0xcb, 0x24, 0xe5, 0x05, 0x88, 0x45, 0xb5, 0xba,
0x23, 0x27, 0x62, 0x11, 0xc6, 0xd9, 0xeb, 0x17, 0x4a, 0xea, 0x7d, 0xdb, 0x7b, 0x5c, 0xb0, 0x18,
0x5e, 0xbf, 0xa8, 0x6d, 0xb4, 0x31, 0xe2, 0x64, 0x30, 0x80, 0x3b, 0x89, 0x4e, 0xed, 0x3a, 0x5b,
0xaa, 0xf1, 0xa1, 0xdf, 0x25, 0x54, 0xdf, 0xc2, 0x2c, 0x41, 0xa2, 0xa3, 0xcd, 0x61, 0x24, 0x91,
0xe8, 0x84, 0x35, 0xec, 0x52, 0xa2, 0xb8, 0x13, 0x7d, 0xad, 0x08, 0x2c, 0x25, 0xb5, 0x8d, 0x46,
0x48, 0x2c, 0x25, 0x2d, 0x08, 0x04, 0xa4, 0x66, 0x1a, 0x4c, 0xd1, 0x80, 0x64, 0xa4, 0xc1, 0x80,
0xe4, 0x52, 0x36, 0x50, 0x1c, 0x66, 0x89, 0x4c, 0x58, 0x3a, 0xe2, 0xf2, 0x94, 0x15, 0x6c, 0xc6,
0x25, 0x2f, 0x60, 0xa0, 0xd0, 0xc8, 0xd0, 0x63, 0x88, 0x40, 0x41, 0xb1, 0xda, 0xe1, 0xef, 0x45,
0x1f, 0x56, 0xeb, 0x3e, 0xcf, 0xf4, 0x5f, 0xf1, 0x78, 0xa5, 0xfe, 0xfc, 0xcf, 0xe0, 0x23, 0x63,
0x63, 0x24, 0x0b, 0xce, 0x66, 0x8d, 0xed, 0x0f, 0xcc, 0xef, 0x0a, 0x7c, 0xba, 0x52, 0x8d, 0xe7,
0x13, 0x21, 0x93, 0xcb, 0x6a, 0x9b, 0xad, 0xdf, 0x20, 0x02, 0xe3, 0xd9, 0x15, 0x0f, 0x03, 0xdf,
0xa2, 0xc0, 0x38, 0x1b, 0xa7, 0x5d, 0xe9, 0x19, 0xcf, 0x53, 0x18, 0xa7, 0x3d, 0x6d, 0x05, 0x10,
0x71, 0x1a, 0x05, 0xed, 0xe4, 0x74, 0xc5, 0x63, 0x1e, 0xae, 0xcc, 0x98, 0xf7, 0xab, 0xcc, 0xd8,
0x7b, 0x29, 0x23, 0x8d, 0x3e, 0x3c, 0xe6, 0xb3, 0x0b, 0x5e, 0x94, 0x57, 0x49, 0x7e, 0x50, 0x25,
0x5c, 0x4c, 0xce, 0xe1, 0x6b, 0x8b, 0x96, 0x18, 0x1a, 0x84, 0xc8, 0x4a, 0x09, 0xd4, 0xae, 0x04,
0x16, 0x38, 0x2c, 0x4f, 0xd8, 0x8c, 0xab, 0x2f, 0x6b, 0x80, 0x95, 0xc0, 0x31, 0xe2, 0x40, 0xc4,
0x4a, 0x40, 0xc2, 0xce, 0xfb, 0x5d, 0x96, 0x39, 0xe3, 0xd3, 0x6a, 0x84, 0x15, 0xa7, 0x6c, 0x39,
0xe3, 0x99, 0xd4, 0x26, 0xc1, 0x99, 0xbc, 0x63, 0x12, 0xe7, 0x89, 0x33, 0xf9, 0x3e, 0x7a, 0x4e,
0x68, 0xf2, 0x1a, 0xfe, 0x54, 0x14, 0xb2, 0xfe, 0x1b, 0x3d, 0xe7, 0x45, 0x0a, 0x42, 0x93, 0xdf,
0xa8, 0x1e, 0x49, 0x84, 0xa6, 0xb0, 0x86, 0xf3, 0xf5, 0x79, 0xaf, 0x0c, 0x6f, 0x78, 0x61, 0xc6,
0xc9, 0xab, 0x19, 0x4b, 0x52, 0x3d, 0x1a, 0x7e, 0x14, 0xb0, 0x4d, 0xe8, 0x10, 0x5f, 0x9f, 0xef,
0xab, 0xeb, 0x7c, 0xaf, 0x3f, 0x5c, 0x42, 0xf0, 0x88, 0xa0, 0xc3, 0x3e, 0xf1, 0x88, 0xa0, 0x5b,
0xcb, 0xee, 0xdc, 0x2d, 0xab, 0xb8, 0xa5, 0x22, 0x76, 0xc5, 0x04, 0x9e, 0x17, 0x3a, 0x36, 0x01,
0x48, 0xec, 0xdc, 0x83, 0x0a, 0x36, 0x35, 0xb0, 0xd8, 0x7e, 0x92, 0xb1, 0x34, 0xf9, 0x19, 0x4c,
0xeb, 0x1d, 0x3b, 0x0d, 0x41, 0xa4, 0x06, 0x38, 0x89, 0xb9, 0x3a, 0xe0, 0x72, 0x9c, 0x54, 0xa1,
0x7f, 0x3d, 0xd0, 0x6e, 0x8a, 0xe8, 0x76, 0xe5, 0x90, 0xce, 0x37, 0x5a, 0x61, 0xb3, 0xee, 0xe4,
0xf9, 0xa8, 0x5a, 0x55, 0xcf, 0x78, 0xcc, 0x93, 0x5c, 0x0e, 0x5e, 0x84, 0xdb, 0x0a, 0xe0, 0xc4,
0x45, 0x8b, 0x1e, 0x6a, 0xce, 0xe3, 0xfb, 0x2a, 0x96, 0x8c, 0xea, 0x3f, 0x5e, 0x77, 0x5e, 0xf2,
0x42, 0x27, 0x1a, 0x07, 0x5c, 0x82, 0xd9, 0xe9, 0x70, 0x43, 0x07, 0xac, 0x2a, 0x4a, 0xcc, 0xce,
0xb0, 0x86, 0x3d, 0xec, 0x73, 0xb8, 0x33, 0x5e, 0x8a, 0x74, 0xc1, 0xd5, 0x7d, 0xc3, 0x4d, 0xd2,
0x98, 0x43, 0x11, 0x87, 0x7d, 0x34, 0x6d, 0xb3, 0xb5, 0xb6, 0xdb, 0x9d, 0x6c, 0x79, 0x08, 0xaf,
0x4c, 0x20, 0x96, 0x14, 0x46, 0x64, 0x6b, 0x01, 0xdc, 0x39, 0x0c, 0x2f, 0x04, 0x9b, 0xc4, 0xac,
0x94, 0xa7, 0x6c, 0x99, 0x0a, 0x36, 0x51, 0xeb, 0x3a, 0x3c, 0x0c, 0x6f, 0x98, 0xa1, 0x0b, 0x51,
0x87, 0xe1, 0x14, 0xec, 0x66, 0x67, 0xea, 0x6f, 0xf2, 0xe9, 0xbb, 0x9c, 0x30, 0x3b, 0x53, 0xe5,
0x85, 0xf7, 0x38, 0x1f, 0x86, 0x21, 0xfb, 0x0e, 0x5a, 0x2d, 0x52, 0x69, 0xc8, 0x3d, 0x4c, 0xc7,
0x4b, 0x40, 0xee, 0x07, 0x08, 0xfb, 0x5d, 0x8a, 0xfa, 0xf7, 0xe6, 0xef, 0xbe, 0x48, 0xfd, 0x25,
0xeb, 0x4d, 0x4c, 0xd7, 0x85, 0x86, 0xee, 0x07, 0xee, 0xb6, 0x7a, 0xd2, 0x36, 0xcd, 0xdc, 0xbd,
0x62, 0x72, 0x67, 0x32, 0x39, 0xe6, 0x25, 0xf2, 0x42, 0x79, 0x25, 0x1c, 0x5a, 0x29, 0x91, 0x66,
0xb6, 0x29, 0x3b, 0xd0, 0x2b, 0xd9, 0xab, 0x49, 0x22, 0xb5, 0xac, 0xb9, 0x21, 0xbd, 0xd9, 0x36,
0xd0, 0xa6, 0x88, 0x5a, 0xd1, 0xb4, 0x8d, 0xe5, 0x15, 0x33, 0x16, 0xd3, 0x69, 0xca, 0x35, 0x74,
0xc6, 0x59, 0xfd, 0x21, 0xbf, 0xed, 0xb6, 0x2d, 0x14, 0x24, 0x62, 0x79, 0x50, 0xc1, 0xa6, 0x91,
0x15, 0x56, 0x3f, 0x92, 0x6a, 0x1a, 0x76, 0xad, 0x6d, 0xc6, 0x03, 0x88, 0x34, 0x12, 0x05, 0xed,
0x7b, 0x6f, 0x95, 0xf8, 0x80, 0x37, 0x2d, 0x01, 0x3f, 0x41, 0xa4, 0x94, 0x1d, 0x31, 0xf1, 0xde,
0x1b, 0x82, 0xd9, 0x7d, 0x02, 0xf0, 0xf0, 0x72, 0x79, 0x38, 0x81, 0xfb, 0x04, 0xa8, 0xaf, 0x18,
0x62, 0x9f, 0x40, 0xb1, 0x7e, 0xd7, 0x99, 0x73, 0xaf, 0x23, 0x56, 0xda, 0xca, 0x21, 0x5d, 0x87,
0x82, 0xa1, 0xae, 0xa3, 0x14, 0xfc, 0x26, 0x75, 0x8f, 0xd6, 0x90, 0x26, 0xc5, 0xce, 0xd5, 0x56,
0xbb, 0x30, 0x1b, 0x97, 0xcc, 0x7e, 0x52, 0x5d, 0x59, 0xc2, 0xbf, 0xe0, 0x5f, 0x0b, 0x89, 0xb8,
0xd4, 0x82, 0x6a, 0xdb, 0x2f, 0xef, 0xff, 0xd7, 0x37, 0x77, 0x56, 0x7e, 0xf1, 0xcd, 0x9d, 0x95,
0xff, 0xf9, 0xe6, 0xce, 0xca, 0xcf, 0xbf, 0xbd, 0xf3, 0xde, 0x2f, 0xbe, 0xbd, 0xf3, 0xde, 0x7f,
0x7f, 0x7b, 0xe7, 0xbd, 0xaf, 0xdf, 0xd7, 0x7f, 0xab, 0xf5, 0xe2, 0xff, 0xa9, 0xbf, 0xb8, 0xfa,
0xfc, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x1c, 0xa0, 0x43, 0x0e, 0xcf, 0x75, 0x00, 0x00,
0xed, 0x51, 0x07, 0xd5, 0x32, 0x7f, 0x9c, 0x4c, 0x8b, 0x2a, 0xfa, 0xe0, 0xe6, 0xb5, 0xb4, 0xc3,
0xbc, 0xa5, 0x6c, 0xec, 0xd1, 0x32, 0x1d, 0xdb, 0x3e, 0x45, 0xf5, 0x40, 0x64, 0x7b, 0x18, 0x86,
0x5a, 0xb6, 0xf7, 0x78, 0xca, 0x49, 0xdb, 0xb5, 0xb0, 0xc3, 0xb6, 0x81, 0xb4, 0xed, 0x22, 0xfa,
0x2d, 0xd3, 0xea, 0xd5, 0x32, 0xad, 0xe4, 0xd5, 0x1a, 0xb0, 0x41, 0x34, 0xab, 0x0b, 0x19, 0x5f,
0x9b, 0xfd, 0xe0, 0x56, 0x7d, 0xf4, 0x04, 0xc7, 0xeb, 0x03, 0xa6, 0xf7, 0xc3, 0x30, 0xa4, 0x6d,
0xff, 0xdd, 0x4a, 0xf4, 0x03, 0x2d, 0x7b, 0x95, 0xb1, 0x8b, 0x94, 0xab, 0x15, 0xf7, 0x84, 0xcb,
0x1b, 0x51, 0x5c, 0x8f, 0x96, 0x59, 0x4c, 0x64, 0x17, 0x38, 0xdc, 0x91, 0x5d, 0x90, 0x4a, 0x4e,
0x42, 0xa9, 0x2b, 0x2a, 0x45, 0x0e, 0x13, 0xca, 0xa6, 0x06, 0x52, 0xe4, 0x54, 0x42, 0xe9, 0x23,
0x2d, 0xab, 0xc7, 0x55, 0x54, 0xc6, 0xad, 0x1e, 0xbb, 0x61, 0xf8, 0x41, 0x08, 0xb1, 0x51, 0xb1,
0x19, 0xc0, 0x22, 0xbb, 0x4c, 0xa6, 0xe7, 0xf9, 0xa4, 0x1a, 0xc6, 0x8f, 0xf1, 0x11, 0xea, 0x20,
0x44, 0x54, 0x24, 0x50, 0xed, 0xed, 0x1f, 0x6c, 0xde, 0xa5, 0x67, 0xea, 0x7e, 0x21, 0x66, 0x47,
0x7c, 0xca, 0xe2, 0xa5, 0x0e, 0x2f, 0x9f, 0x87, 0xe6, 0x35, 0xa4, 0x4d, 0x21, 0x5e, 0xdc, 0x52,
0x4b, 0x97, 0xe7, 0xdf, 0x57, 0xa2, 0x87, 0x4d, 0xf5, 0xaf, 0x58, 0x36, 0xe5, 0xba, 0x3f, 0xeb,
0xd2, 0xef, 0x64, 0x93, 0x33, 0x5e, 0x4a, 0x56, 0xc8, 0xc1, 0x8f, 0xf0, 0x4a, 0x86, 0x74, 0x4c,
0xd9, 0x7e, 0xfc, 0x4b, 0xe9, 0xda, 0x5e, 0x1f, 0x55, 0x71, 0x53, 0x87, 0x00, 0xbf, 0xd7, 0x95,
0x04, 0x06, 0x80, 0x07, 0x21, 0xc4, 0xf6, 0xba, 0x12, 0x1c, 0x66, 0x8b, 0x44, 0xf2, 0x03, 0x9e,
0xf1, 0xa2, 0xdd, 0xeb, 0xb5, 0xaa, 0x8f, 0x10, 0xbd, 0x4e, 0xa0, 0x36, 0xd8, 0x78, 0xde, 0xcc,
0xda, 0xbb, 0x11, 0x30, 0xd2, 0x5a, 0x7d, 0x37, 0xfb, 0xc1, 0x76, 0xf3, 0xe8, 0xf8, 0x3c, 0xe3,
0x0b, 0x71, 0x0d, 0x37, 0x8f, 0xae, 0x89, 0x1a, 0x20, 0x36, 0x8f, 0x28, 0x68, 0x17, 0x48, 0xc7,
0xcf, 0x9b, 0x84, 0xdf, 0x80, 0x05, 0xd2, 0x55, 0xae, 0xc4, 0xc4, 0x02, 0x89, 0x60, 0xda, 0xc3,
0x49, 0xf4, 0x2b, 0x4a, 0xf8, 0xfb, 0x22, 0xc9, 0x06, 0x77, 0x11, 0xa5, 0x4a, 0x60, 0xac, 0xde,
0xa3, 0x01, 0x50, 0xe2, 0xea, 0xd7, 0x5d, 0x96, 0xc5, 0x3c, 0x45, 0x4b, 0x6c, 0xc5, 0xc1, 0x12,
0x7b, 0x98, 0xcd, 0x4c, 0x94, 0xb0, 0x8a, 0x5f, 0xa3, 0x2b, 0x56, 0x24, 0xd9, 0x74, 0x80, 0xe9,
0x3a, 0x72, 0x22, 0x33, 0xc1, 0x38, 0x30, 0x84, 0xb5, 0xe2, 0x4e, 0x9e, 0x17, 0x55, 0x58, 0xc4,
0x86, 0xb0, 0x8f, 0x04, 0x87, 0x70, 0x0b, 0xc5, 0xbd, 0xed, 0xf1, 0x38, 0x4d, 0xb2, 0xa0, 0x37,
0x8d, 0xf4, 0xf1, 0x66, 0x51, 0x30, 0x78, 0x8f, 0x38, 0x5b, 0xf0, 0xa6, 0x66, 0x58, 0xcb, 0xb8,
0x40, 0x70, 0xf0, 0x02, 0xd0, 0x6e, 0x03, 0x95, 0xf8, 0x98, 0x5d, 0xf3, 0xaa, 0x81, 0x79, 0xb5,
0xae, 0x0d, 0x30, 0x7d, 0x8f, 0x20, 0xb6, 0x81, 0x38, 0xa9, 0x5d, 0xcd, 0xa3, 0x8f, 0x94, 0xfc,
0x94, 0x15, 0x32, 0x89, 0x93, 0x9c, 0x65, 0xcd, 0xf6, 0x02, 0x9b, 0xd7, 0x2d, 0xca, 0xb8, 0xdc,
0xea, 0x49, 0x6b, 0xb7, 0xff, 0xb6, 0x12, 0xdd, 0x87, 0x7e, 0x4f, 0x79, 0x31, 0x4b, 0xd4, 0x2e,
0xb5, 0xac, 0x83, 0xf0, 0xe0, 0xcb, 0xb0, 0xd1, 0x96, 0x82, 0x29, 0xcd, 0x0f, 0x6f, 0xaf, 0x68,
0x93, 0xa1, 0x91, 0xce, 0xdc, 0x5f, 0x17, 0x93, 0xd6, 0x29, 0xce, 0xa8, 0x49, 0xc7, 0x95, 0x90,
0x48, 0x86, 0x5a, 0x10, 0x98, 0xe1, 0xe7, 0x59, 0xd9, 0x58, 0xc7, 0x66, 0xb8, 0x15, 0x07, 0x67,
0xb8, 0x87, 0x69, 0x0f, 0x7f, 0x10, 0x45, 0xf5, 0x5e, 0x4e, 0xed, 0xb7, 0xfd, 0x98, 0xa3, 0x37,
0x79, 0xde, 0x66, 0xfb, 0x7e, 0x80, 0xb0, 0x0b, 0x5d, 0xfd, 0xbb, 0x3a, 0x46, 0x18, 0xa0, 0x1a,
0x4a, 0x44, 0x2c, 0x74, 0x00, 0x81, 0x05, 0x1d, 0x5d, 0x89, 0x1b, 0xbc, 0xa0, 0x95, 0x24, 0x5c,
0x50, 0x4d, 0xd8, 0x83, 0x3d, 0x5d, 0x50, 0xec, 0x60, 0xaf, 0x29, 0x46, 0xe8, 0x60, 0x0f, 0x32,
0xda, 0xb0, 0x88, 0x7e, 0xd3, 0x35, 0xfc, 0x52, 0x88, 0xeb, 0x19, 0x2b, 0xae, 0x07, 0x4f, 0x68,
0xe5, 0x86, 0x31, 0x8e, 0x36, 0x7a, 0xb1, 0x36, 0xa8, 0xb9, 0x0e, 0xab, 0x34, 0xe9, 0xbc, 0x48,
0x41, 0x50, 0xf3, 0x6c, 0x68, 0x84, 0x08, 0x6a, 0x04, 0x6a, 0x47, 0xa5, 0xeb, 0x6d, 0xc4, 0xe1,
0x56, 0xd2, 0x53, 0x1f, 0x71, 0x6a, 0x2b, 0x89, 0x60, 0x70, 0x08, 0x1d, 0x14, 0x2c, 0xbf, 0xc2,
0x87, 0x90, 0x12, 0x85, 0x87, 0x50, 0x83, 0xc0, 0xfe, 0x1e, 0x71, 0x56, 0xc4, 0x57, 0x78, 0x7f,
0xd7, 0xb2, 0x70, 0x7f, 0x1b, 0x06, 0xf6, 0x77, 0x2d, 0x78, 0x9b, 0xc8, 0xab, 0x63, 0x2e, 0x19,
0xde, 0xdf, 0x3e, 0x13, 0xee, 0xef, 0x16, 0x6b, 0xf3, 0x30, 0xd7, 0xe1, 0x68, 0x7e, 0x51, 0xc6,
0x45, 0x72, 0xc1, 0x07, 0x01, 0x2b, 0x06, 0x22, 0xf2, 0x30, 0x12, 0xd6, 0x3e, 0x7f, 0xbe, 0x12,
0xdd, 0x6d, 0xba, 0x5d, 0x94, 0xa5, 0x8e, 0x79, 0xbe, 0xfb, 0x17, 0x78, 0xff, 0x12, 0x38, 0x71,
0xd4, 0xda, 0x43, 0xcd, 0x59, 0x13, 0xf0, 0x22, 0x9d, 0x67, 0xa5, 0x29, 0xd4, 0x97, 0x7d, 0xac,
0x3b, 0x0a, 0xc4, 0x9a, 0xd0, 0x4b, 0xd1, 0x2e, 0xc7, 0xba, 0x7f, 0x1a, 0xd9, 0xe1, 0xa4, 0x04,
0xcb, 0x71, 0xd3, 0xde, 0x0e, 0x41, 0x2c, 0xc7, 0x38, 0x09, 0x87, 0xc2, 0x41, 0x21, 0xe6, 0x79,
0xd9, 0x31, 0x14, 0x00, 0x14, 0x1e, 0x0a, 0x6d, 0x58, 0xfb, 0x7c, 0x17, 0xfd, 0xb6, 0x3b, 0xfc,
0xdc, 0xc6, 0xde, 0xa2, 0xc7, 0x14, 0xd6, 0xc4, 0xc3, 0xbe, 0xb8, 0x4d, 0x48, 0x1b, 0xcf, 0x72,
0x8f, 0x4b, 0x96, 0xa4, 0xe5, 0x60, 0x15, 0xb7, 0xd1, 0xc8, 0x89, 0x84, 0x14, 0xe3, 0x60, 0x7c,
0xdb, 0x9b, 0xe7, 0x69, 0x12, 0xb7, 0x0f, 0xba, 0xb5, 0xae, 0x11, 0x87, 0xe3, 0x9b, 0x8b, 0xc1,
0x78, 0x5d, 0x2d, 0xf9, 0xea, 0x3f, 0xe3, 0x65, 0xce, 0xf1, 0x78, 0xed, 0x21, 0xe1, 0x78, 0x0d,
0x51, 0x58, 0x9f, 0x11, 0x97, 0x47, 0x6c, 0x29, 0xe6, 0x44, 0xbc, 0x36, 0xe2, 0x70, 0x7d, 0x5c,
0xcc, 0xe6, 0x84, 0xc6, 0xc3, 0x61, 0x26, 0x79, 0x91, 0xb1, 0x74, 0x3f, 0x65, 0xd3, 0x72, 0x40,
0xc4, 0x18, 0x9f, 0x22, 0x72, 0x42, 0x9a, 0x46, 0x9a, 0xf1, 0xb0, 0xdc, 0x67, 0x0b, 0x51, 0x24,
0x92, 0x6e, 0x46, 0x8b, 0x74, 0x36, 0xa3, 0x87, 0xa2, 0xde, 0x76, 0x8a, 0xf8, 0x2a, 0x59, 0xf0,
0x49, 0xc0, 0x5b, 0x83, 0xf4, 0xf0, 0xe6, 0xa0, 0x48, 0xa7, 0x8d, 0xc4, 0xbc, 0x88, 0x39, 0xd9,
0x69, 0xb5, 0xb8, 0xb3, 0xd3, 0x0c, 0xa6, 0x3d, 0xfc, 0xd5, 0x4a, 0xf4, 0x3b, 0xb5, 0xd4, 0x3d,
0x7d, 0xde, 0x63, 0xe5, 0xd5, 0x85, 0x60, 0xc5, 0x64, 0xf0, 0x19, 0x66, 0x07, 0x45, 0x8d, 0xeb,
0x67, 0xb7, 0x51, 0x81, 0xcd, 0x7a, 0x94, 0x94, 0xce, 0x8c, 0x43, 0x9b, 0xd5, 0x43, 0xc2, 0xcd,
0x0a, 0x51, 0x18, 0x40, 0x94, 0xbc, 0x3e, 0x8a, 0x59, 0x25, 0xf5, 0xfd, 0xf3, 0x98, 0xb5, 0x4e,
0x0e, 0xc6, 0xc7, 0x4a, 0xe8, 0x8f, 0x96, 0x2d, 0xca, 0x06, 0x3e, 0x62, 0x86, 0x7d, 0x71, 0xd2,
0xb3, 0x99, 0x15, 0x61, 0xcf, 0xad, 0x99, 0x31, 0xec, 0x8b, 0x13, 0x9e, 0x9d, 0xb0, 0x16, 0xf2,
0x8c, 0x84, 0xb6, 0x61, 0x5f, 0x1c, 0x66, 0x5f, 0x9a, 0x69, 0xd6, 0x85, 0x27, 0x01, 0x3b, 0x70,
0x6d, 0xd8, 0xe8, 0xc5, 0x6a, 0x87, 0x7f, 0xb3, 0x12, 0x7d, 0xdf, 0x7a, 0x3c, 0x16, 0x93, 0xe4,
0x72, 0x59, 0x43, 0x6f, 0x58, 0x3a, 0xe7, 0xe5, 0xe0, 0x19, 0x65, 0xad, 0xcd, 0x9a, 0x12, 0x3c,
0xbf, 0x95, 0x0e, 0x9c, 0x3b, 0x3b, 0x79, 0x9e, 0x2e, 0xc7, 0x7c, 0x96, 0xa7, 0xe4, 0xdc, 0xf1,
0x90, 0xf0, 0xdc, 0x81, 0x28, 0xcc, 0xca, 0xc7, 0xa2, 0xca, 0xf9, 0xd1, 0xac, 0x5c, 0x89, 0xc2,
0x59, 0x79, 0x83, 0xc0, 0x5c, 0x69, 0x2c, 0x76, 0x45, 0x9a, 0xf2, 0x58, 0xb6, 0x9f, 0x60, 0x1b,
0x4d, 0x4b, 0x84, 0x73, 0x25, 0x40, 0xda, 0xd3, 0x98, 0x66, 0x0f, 0xc9, 0x0a, 0xfe, 0x72, 0x79,
0x94, 0x64, 0xd7, 0x03, 0x3c, 0x2d, 0xb0, 0x00, 0x71, 0x1a, 0x83, 0x82, 0x70, 0xaf, 0x7a, 0x9e,
0x4d, 0x04, 0xbe, 0x57, 0xad, 0x24, 0xe1, 0xbd, 0xaa, 0x26, 0xa0, 0xc9, 0x33, 0x4e, 0x99, 0xac,
0x24, 0x61, 0x93, 0x9a, 0xc0, 0x42, 0xa1, 0x3e, 0xb3, 0x27, 0x43, 0x21, 0x38, 0xa5, 0x5f, 0xeb,
0xe4, 0xe0, 0x08, 0x6d, 0x36, 0xad, 0xfb, 0x5c, 0xc6, 0x57, 0xf8, 0x08, 0xf5, 0x90, 0xf0, 0x08,
0x85, 0x28, 0xac, 0xd2, 0x58, 0x98, 0x4d, 0xf7, 0x2a, 0x3e, 0x3e, 0x5a, 0x1b, 0xee, 0xb5, 0x4e,
0x0e, 0x6e, 0x23, 0x0f, 0x67, 0xaa, 0xcd, 0xd0, 0x41, 0x5e, 0xcb, 0xc2, 0xdb, 0x48, 0xc3, 0xc0,
0xd2, 0xd7, 0x82, 0xaa, 0x39, 0xf1, 0xd2, 0x5b, 0x79, 0xb8, 0xf4, 0x1e, 0xa7, 0x9d, 0xfc, 0x8b,
0xd9, 0xc6, 0xd5, 0xd2, 0x13, 0x51, 0xcd, 0x91, 0x37, 0x2c, 0x4d, 0x26, 0x4c, 0xf2, 0xb1, 0xb8,
0xe6, 0x19, 0xbe, 0x63, 0xd2, 0xa5, 0xad, 0xf9, 0xa1, 0xa7, 0x10, 0xde, 0x31, 0x85, 0x15, 0xe1,
0x38, 0xa9, 0xe9, 0xf3, 0x92, 0xef, 0xb2, 0x92, 0x88, 0x64, 0x1e, 0x12, 0x1e, 0x27, 0x10, 0x85,
0xf9, 0x6a, 0x2d, 0x7f, 0xf5, 0x2e, 0xe7, 0x45, 0xc2, 0xb3, 0x98, 0xe3, 0xf9, 0x2a, 0xa4, 0xc2,
0xf9, 0x2a, 0x42, 0xc3, 0xbd, 0xda, 0x1e, 0x93, 0xfc, 0xe5, 0x72, 0x9c, 0xcc, 0x78, 0x29, 0xd9,
0x2c, 0xc7, 0xf7, 0x6a, 0x00, 0x0a, 0xef, 0xd5, 0xda, 0x70, 0xeb, 0x68, 0xc8, 0x04, 0xc4, 0xf6,
0xc5, 0x17, 0x48, 0x04, 0x2e, 0xbe, 0x10, 0x28, 0x6c, 0x58, 0x0b, 0xa0, 0x87, 0xc3, 0x2d, 0x2b,
0xc1, 0xc3, 0x61, 0x9a, 0x6e, 0x1d, 0xb8, 0x19, 0x66, 0x54, 0x4d, 0xcd, 0x8e, 0xa2, 0x8f, 0xdc,
0x29, 0xba, 0xd1, 0x8b, 0xc5, 0x4f, 0xf8, 0xce, 0x78, 0xca, 0xd4, 0xb2, 0x15, 0x38, 0x46, 0x6b,
0x98, 0x3e, 0x27, 0x7c, 0x0e, 0xab, 0x1d, 0xfe, 0xc5, 0x4a, 0xf4, 0x09, 0xe6, 0xf1, 0x75, 0xae,
0xfc, 0x3e, 0xed, 0xb6, 0x55, 0x93, 0xc4, 0xcd, 0x9e, 0xb0, 0x86, 0x2e, 0xc3, 0x9f, 0x44, 0x1f,
0x37, 0x22, 0x7b, 0xf1, 0x47, 0x17, 0xc0, 0x4f, 0xda, 0x4c, 0xf9, 0x21, 0x67, 0xdc, 0x6f, 0xf7,
0xe6, 0xed, 0x7e, 0xc8, 0x2f, 0x57, 0x09, 0xf6, 0x43, 0xc6, 0x86, 0x16, 0x13, 0xfb, 0x21, 0x04,
0xb3, 0xb3, 0xd3, 0xad, 0xde, 0xdb, 0x44, 0x5e, 0xa9, 0x7c, 0x0b, 0xcc, 0x4e, 0xaf, 0xac, 0x06,
0x22, 0x66, 0x27, 0x09, 0xc3, 0x8c, 0xa4, 0x01, 0xab, 0xb9, 0x89, 0xc5, 0x72, 0x63, 0xc8, 0x9d,
0x99, 0xeb, 0xdd, 0x20, 0x1c, 0xaf, 0x8d, 0x58, 0x6f, 0x7d, 0x9e, 0x84, 0x2c, 0x80, 0xed, 0xcf,
0x46, 0x2f, 0x56, 0x3b, 0xfc, 0xb3, 0xe8, 0x7b, 0xad, 0x8a, 0xed, 0x73, 0x26, 0xe7, 0x05, 0x9f,
0x0c, 0xb6, 0x3b, 0xca, 0xdd, 0x80, 0xc6, 0xf5, 0xd3, 0xfe, 0x0a, 0xad, 0x1c, 0xbd, 0xe1, 0xea,
0x61, 0x65, 0xca, 0xf0, 0x2c, 0x64, 0xd2, 0x67, 0x83, 0x39, 0x3a, 0xad, 0xd3, 0xda, 0x66, 0xbb,
0xa3, 0x6b, 0x67, 0xc1, 0x92, 0x54, 0x3d, 0xa4, 0xfb, 0x2c, 0x64, 0xd4, 0x43, 0x83, 0xdb, 0x6c,
0x52, 0xa5, 0x15, 0x99, 0xd5, 0x1c, 0x77, 0xb6, 0x67, 0x9b, 0x74, 0x24, 0x40, 0x76, 0x67, 0x5b,
0x3d, 0x69, 0xed, 0x56, 0x36, 0x4b, 0x5e, 0xf5, 0xb3, 0x3b, 0xc8, 0x31, 0xaf, 0x5a, 0x15, 0x19,
0xe9, 0x5b, 0x3d, 0x69, 0xed, 0xf5, 0x4f, 0xa3, 0x8f, 0xdb, 0x5e, 0xf5, 0x42, 0xb4, 0xdd, 0x69,
0x0a, 0xac, 0x45, 0x4f, 0xfb, 0x2b, 0xd8, 0x2d, 0xcd, 0x57, 0x49, 0x29, 0x45, 0xb1, 0x1c, 0x5d,
0x89, 0x9b, 0xe6, 0x42, 0xbd, 0x3f, 0x5b, 0x35, 0x30, 0x74, 0x08, 0x62, 0x4b, 0x83, 0x93, 0x2d,
0x57, 0xf6, 0xe2, 0x7d, 0x49, 0xb8, 0x72, 0x88, 0x0e, 0x57, 0x3e, 0x69, 0x63, 0x55, 0x53, 0x2b,
0xfb, 0x96, 0xc0, 0x1a, 0x5e, 0xd4, 0xf6, 0x9b, 0x02, 0xeb, 0xdd, 0xa0, 0xcd, 0x58, 0xb4, 0x78,
0x2f, 0xb9, 0xbc, 0x34, 0x75, 0xc2, 0x4b, 0xea, 0x22, 0x44, 0xc6, 0x42, 0xa0, 0x36, 0xe9, 0xde,
0x4f, 0x52, 0xae, 0x4e, 0xf4, 0x5f, 0x5f, 0x5e, 0xa6, 0x82, 0x4d, 0x40, 0xd2, 0x5d, 0x89, 0x87,
0xae, 0x9c, 0x48, 0xba, 0x31, 0xce, 0x3e, 0x23, 0xae, 0xa4, 0x67, 0x3c, 0x16, 0x59, 0x9c, 0xa4,
0xf0, 0x02, 0xa0, 0xd2, 0x34, 0x42, 0xe2, 0x19, 0x71, 0x0b, 0xb2, 0x0b, 0x63, 0x25, 0xaa, 0xa6,
0x7d, 0x53, 0xfe, 0x47, 0x6d, 0x45, 0x47, 0x4c, 0x2c, 0x8c, 0x08, 0x66, 0xf7, 0x9e, 0x95, 0xf0,
0x3c, 0x57, 0xc6, 0xef, 0xb5, 0xb5, 0x6a, 0x09, 0xb1, 0xf7, 0xf4, 0x09, 0xbb, 0x87, 0xaa, 0x7e,
0xdf, 0x13, 0x37, 0x99, 0x32, 0xfa, 0xa0, 0xad, 0xd2, 0xc8, 0x88, 0x3d, 0x14, 0x64, 0xb4, 0xe1,
0x9f, 0x44, 0xff, 0x5f, 0x19, 0x2e, 0x44, 0x3e, 0xb8, 0x83, 0x28, 0x14, 0xce, 0x5d, 0xbd, 0xbb,
0xa4, 0xdc, 0x5e, 0x39, 0x35, 0x63, 0xe3, 0xbc, 0x64, 0x53, 0x78, 0xe5, 0xd4, 0xf6, 0xb8, 0x92,
0x12, 0x57, 0x4e, 0xdb, 0x94, 0x3f, 0x2a, 0x4e, 0xc4, 0x44, 0x5b, 0x47, 0x6a, 0x68, 0x84, 0xa1,
0x51, 0xe1, 0x42, 0x36, 0x99, 0x39, 0x61, 0x8b, 0x64, 0x6a, 0x16, 0x9c, 0x3a, 0x6e, 0x95, 0x20,
0x99, 0xb1, 0xcc, 0xd0, 0x81, 0x88, 0x64, 0x86, 0x84, 0xb5, 0xcf, 0x7f, 0x5e, 0x89, 0xee, 0x59,
0xe6, 0xa0, 0x39, 0xad, 0x3b, 0xcc, 0x2e, 0x45, 0x95, 0xfa, 0x1c, 0x25, 0xd9, 0x75, 0x39, 0xf8,
0x82, 0x32, 0x89, 0xf3, 0xa6, 0x28, 0x5f, 0xde, 0x5a, 0xcf, 0x66, 0xad, 0xcd, 0x51, 0x96, 0x7d,
0x9e, 0x5d, 0x6b, 0x80, 0xac, 0xd5, 0x9c, 0x78, 0x41, 0x8e, 0xc8, 0x5a, 0x43, 0xbc, 0xed, 0x62,
0xe3, 0x3c, 0x15, 0x19, 0xec, 0x62, 0x6b, 0xa1, 0x12, 0x12, 0x5d, 0xdc, 0x82, 0x6c, 0x3c, 0x6e,
0x44, 0xf5, 0xa9, 0xcb, 0x4e, 0x9a, 0x82, 0x78, 0x6c, 0x54, 0x0d, 0x40, 0xc4, 0x63, 0x14, 0xd4,
0x7e, 0xce, 0xa2, 0xef, 0x54, 0x4d, 0x7a, 0x5a, 0xf0, 0x45, 0xc2, 0xe1, 0xd5, 0x0b, 0x47, 0x42,
0xcc, 0x7f, 0x9f, 0xb0, 0x33, 0xeb, 0x3c, 0x2b, 0xf3, 0x94, 0x95, 0x57, 0xfa, 0x61, 0xbc, 0x5f,
0xe7, 0x46, 0x08, 0x1f, 0xc7, 0x3f, 0xea, 0xa0, 0x6c, 0x50, 0x6f, 0x64, 0x26, 0xc4, 0xac, 0xe2,
0xaa, 0xad, 0x30, 0xb3, 0xd6, 0xc9, 0xd9, 0x13, 0xef, 0x03, 0x96, 0xa6, 0xbc, 0x58, 0x36, 0xb2,
0x63, 0x96, 0x25, 0x97, 0xbc, 0x94, 0xe0, 0xc4, 0x5b, 0x53, 0x43, 0x88, 0x11, 0x27, 0xde, 0x01,
0xdc, 0x66, 0xf3, 0xc0, 0xf3, 0x61, 0x36, 0xe1, 0xef, 0x40, 0x36, 0x0f, 0xed, 0x28, 0x86, 0xc8,
0xe6, 0x29, 0xd6, 0x9e, 0xfc, 0xbe, 0x4c, 0x45, 0x7c, 0xad, 0x97, 0x00, 0xbf, 0x83, 0x95, 0x04,
0xae, 0x01, 0x0f, 0x42, 0x88, 0x5d, 0x04, 0x94, 0xe0, 0x8c, 0xe7, 0x29, 0x8b, 0xe1, 0xfd, 0x9b,
0x5a, 0x47, 0xcb, 0x88, 0x45, 0x00, 0x32, 0xa0, 0xb8, 0xfa, 0x5e, 0x0f, 0x56, 0x5c, 0x70, 0xad,
0xe7, 0x41, 0x08, 0xb1, 0xcb, 0xa0, 0x12, 0x8c, 0xf2, 0x34, 0x91, 0x60, 0x1a, 0xd4, 0x1a, 0x4a,
0x42, 0x4c, 0x03, 0x9f, 0x00, 0x26, 0x8f, 0x79, 0x31, 0xe5, 0xa8, 0x49, 0x25, 0x09, 0x9a, 0x6c,
0x08, 0x7b, 0xc9, 0xb4, 0xae, 0xbb, 0xc8, 0x97, 0xe0, 0x92, 0xa9, 0xae, 0x96, 0xc8, 0x97, 0xc4,
0x25, 0x53, 0x0f, 0x00, 0x45, 0x3c, 0x65, 0xa5, 0xc4, 0x8b, 0xa8, 0x24, 0xc1, 0x22, 0x36, 0x84,
0x5d, 0xa3, 0xeb, 0x22, 0xce, 0x25, 0x58, 0xa3, 0x75, 0x01, 0x9c, 0x27, 0xd0, 0x77, 0x49, 0xb9,
0x8d, 0x24, 0x75, 0xaf, 0x70, 0xb9, 0x9f, 0xf0, 0x74, 0x52, 0x82, 0x48, 0xa2, 0xdb, 0xbd, 0x91,
0x12, 0x91, 0xa4, 0x4d, 0x81, 0xa1, 0xa4, 0xcf, 0xc7, 0xb1, 0xda, 0x81, 0xa3, 0xf1, 0x07, 0x21,
0xc4, 0xc6, 0xa7, 0xa6, 0xd0, 0xbb, 0xac, 0x28, 0x92, 0x6a, 0xf1, 0x5f, 0xc5, 0x0b, 0xd4, 0xc8,
0x89, 0xf8, 0x84, 0x71, 0x60, 0x7a, 0x35, 0x81, 0x1b, 0x2b, 0x18, 0x0c, 0xdd, 0x9f, 0x06, 0x19,
0x9b, 0x71, 0x2a, 0x89, 0xf3, 0x08, 0x15, 0x6b, 0x4d, 0xe4, 0x09, 0xea, 0x6a, 0x17, 0xe6, 0xbc,
0x04, 0x62, 0x5c, 0x1c, 0x8b, 0x05, 0x1f, 0x8b, 0x57, 0xef, 0x92, 0x52, 0x26, 0xd9, 0x54, 0xaf,
0xdc, 0xcf, 0x09, 0x4b, 0x18, 0x4c, 0xbc, 0x04, 0xd2, 0xa9, 0x64, 0x13, 0x08, 0x50, 0x96, 0x13,
0x7e, 0x83, 0x26, 0x10, 0xd0, 0xa2, 0xe1, 0x88, 0x04, 0x22, 0xc4, 0xdb, 0x73, 0x14, 0xe3, 0x5c,
0xbf, 0x88, 0x3b, 0x16, 0x4d, 0x2e, 0x47, 0x59, 0x83, 0x20, 0xb1, 0x95, 0x0d, 0x2a, 0xd8, 0xfd,
0xa5, 0xf1, 0x6f, 0xa7, 0xd8, 0x3a, 0x61, 0xa7, 0x3d, 0xcd, 0x1e, 0xf7, 0x20, 0x11, 0x57, 0xf6,
0x1e, 0x00, 0xe5, 0xaa, 0x7d, 0x0d, 0xe0, 0x71, 0x0f, 0xd2, 0x39, 0x93, 0x71, 0xab, 0xf5, 0x92,
0xc5, 0xd7, 0xd3, 0x42, 0xcc, 0xb3, 0xc9, 0xae, 0x48, 0x45, 0x01, 0xce, 0x64, 0xbc, 0x52, 0x03,
0x94, 0x38, 0x93, 0xe9, 0x50, 0xb1, 0x19, 0x9c, 0x5b, 0x8a, 0x9d, 0x34, 0x99, 0xc2, 0x1d, 0xb5,
0x67, 0x48, 0x01, 0x44, 0x06, 0x87, 0x82, 0xc8, 0x20, 0xaa, 0x77, 0xdc, 0x32, 0x89, 0x59, 0x5a,
0xfb, 0xdb, 0xa6, 0xcd, 0x78, 0x60, 0xe7, 0x20, 0x42, 0x14, 0x90, 0x7a, 0x8e, 0xe7, 0x45, 0x76,
0x98, 0x49, 0x41, 0xd6, 0xb3, 0x01, 0x3a, 0xeb, 0xe9, 0x80, 0x20, 0xac, 0x8e, 0xf9, 0xbb, 0xaa,
0x34, 0xd5, 0x3f, 0x58, 0x58, 0xad, 0x7e, 0x1f, 0x6a, 0x79, 0x28, 0xac, 0x02, 0x0e, 0x54, 0x46,
0x3b, 0xa9, 0x07, 0x4c, 0x40, 0xdb, 0x1f, 0x26, 0xeb, 0xdd, 0x20, 0xee, 0x67, 0x24, 0x97, 0x29,
0x0f, 0xf9, 0x51, 0x40, 0x1f, 0x3f, 0x0d, 0x68, 0x8f, 0x5b, 0xbc, 0xfa, 0x5c, 0xf1, 0xf8, 0xba,
0x75, 0xad, 0xc9, 0x2f, 0x68, 0x8d, 0x10, 0xc7, 0x2d, 0x04, 0x8a, 0x77, 0xd1, 0x61, 0x2c, 0xb2,
0x50, 0x17, 0x55, 0xf2, 0x3e, 0x5d, 0xa4, 0x39, 0xbb, 0xf9, 0x35, 0x52, 0x3d, 0x32, 0xeb, 0x6e,
0xda, 0x20, 0x2c, 0xb8, 0x10, 0xb1, 0xf9, 0x25, 0x61, 0x9b, 0x93, 0x43, 0x9f, 0xc7, 0xed, 0x3b,
0xdf, 0x2d, 0x2b, 0xc7, 0xf4, 0x9d, 0x6f, 0x8a, 0xa5, 0x2b, 0x59, 0x8f, 0x91, 0x0e, 0x2b, 0xfe,
0x38, 0xd9, 0xec, 0x07, 0xdb, 0x2d, 0x8f, 0xe7, 0x73, 0x37, 0xe5, 0xac, 0xa8, 0xbd, 0x6e, 0x05,
0x0c, 0x59, 0x8c, 0xd8, 0xf2, 0x04, 0x70, 0x10, 0xc2, 0x3c, 0xcf, 0xbb, 0x22, 0x93, 0x3c, 0x93,
0x58, 0x08, 0xf3, 0x8d, 0x69, 0x30, 0x14, 0xc2, 0x28, 0x05, 0x30, 0x6e, 0xd5, 0x79, 0x10, 0x97,
0x27, 0x6c, 0x86, 0x66, 0x6c, 0xf5, 0x59, 0x4f, 0x2d, 0x0f, 0x8d, 0x5b, 0xc0, 0x39, 0x0f, 0xf9,
0x5c, 0x2f, 0x63, 0x56, 0x4c, 0xcd, 0xe9, 0xc6, 0x64, 0xf0, 0x94, 0xb6, 0xe3, 0x93, 0xc4, 0x43,
0xbe, 0xb0, 0x06, 0x08, 0x3b, 0x87, 0x33, 0x36, 0x35, 0x35, 0x45, 0x6a, 0xa0, 0xe4, 0xad, 0xaa,
0xae, 0x77, 0x83, 0xc0, 0xcf, 0x9b, 0x64, 0xc2, 0x45, 0xc0, 0x8f, 0x92, 0xf7, 0xf1, 0x03, 0x41,
0x90, 0xbd, 0x55, 0xf5, 0xae, 0x77, 0x74, 0x3b, 0xd9, 0x44, 0xef, 0x63, 0x87, 0x44, 0xf3, 0x00,
0x2e, 0x94, 0xbd, 0x11, 0x3c, 0x98, 0xa3, 0xcd, 0x01, 0x6d, 0x68, 0x8e, 0x9a, 0xf3, 0xd7, 0x3e,
0x73, 0x14, 0x83, 0xb5, 0xcf, 0x9f, 0xe9, 0x39, 0xba, 0xc7, 0x24, 0xab, 0xf2, 0xf6, 0x37, 0x09,
0xbf, 0xd1, 0x1b, 0x61, 0xa4, 0xbe, 0x0d, 0x35, 0x54, 0xaf, 0x2a, 0x82, 0x5d, 0xf1, 0x76, 0x6f,
0x3e, 0xe0, 0x5b, 0xef, 0x10, 0x3a, 0x7d, 0x83, 0xad, 0xc2, 0x76, 0x6f, 0x3e, 0xe0, 0x5b, 0xbf,
0x03, 0xdd, 0xe9, 0x1b, 0xbc, 0x08, 0xbd, 0xdd, 0x9b, 0xd7, 0xbe, 0xff, 0xb2, 0x99, 0xb8, 0xae,
0xf3, 0x2a, 0x0f, 0x8b, 0x65, 0xb2, 0xe0, 0x58, 0x3a, 0xe9, 0xdb, 0x33, 0x68, 0x28, 0x9d, 0xa4,
0x55, 0x9c, 0xef, 0xf2, 0x60, 0xa5, 0x38, 0x15, 0x65, 0xa2, 0x1e, 0xd2, 0x3f, 0xef, 0x61, 0xb4,
0x81, 0x43, 0x9b, 0xa6, 0x90, 0x92, 0x7d, 0xdc, 0xe8, 0xa1, 0xf6, 0x16, 0xf3, 0x66, 0xc0, 0x5e,
0xfb, 0x32, 0xf3, 0x56, 0x4f, 0xda, 0x3e, 0xf8, 0xf3, 0x18, 0xf7, 0x89, 0x63, 0xa8, 0x57, 0xd1,
0x87, 0x8e, 0x4f, 0xfb, 0x2b, 0x68, 0xf7, 0x7f, 0xdd, 0xec, 0x2b, 0xa0, 0x7f, 0x3d, 0x09, 0x9e,
0xf5, 0xb1, 0x08, 0x26, 0xc2, 0xf3, 0x5b, 0xe9, 0xe8, 0x82, 0xfc, 0x7d, 0xb3, 0x81, 0x6e, 0x50,
0xf5, 0x2e, 0x87, 0x7a, 0xf7, 0x4f, 0xcf, 0x89, 0x50, 0xb7, 0x5a, 0x18, 0xce, 0x8c, 0x17, 0xb7,
0xd4, 0x72, 0xbe, 0xd2, 0xe4, 0xc1, 0xfa, 0x9d, 0x43, 0xa7, 0x3c, 0x21, 0xcb, 0x0e, 0x0d, 0x0b,
0xf4, 0xc5, 0x6d, 0xd5, 0xa8, 0xb9, 0xe2, 0xc0, 0xea, 0xab, 0x0c, 0xcf, 0x7b, 0x1a, 0xf6, 0xbe,
0xd3, 0xf0, 0xf9, 0xed, 0x94, 0x74, 0x59, 0xfe, 0x63, 0x25, 0x7a, 0xe4, 0xb1, 0xf6, 0x79, 0x02,
0x38, 0xf5, 0xf8, 0x71, 0xc0, 0x3e, 0xa5, 0x64, 0x0a, 0xf7, 0xbb, 0xbf, 0x9c, 0xb2, 0xfd, 0xa4,
0x91, 0xa7, 0xb2, 0x9f, 0xa4, 0x92, 0x17, 0xed, 0x4f, 0x1a, 0xf9, 0x76, 0x6b, 0x6a, 0x48, 0x7f,
0xd2, 0x28, 0x80, 0x3b, 0x9f, 0x34, 0x42, 0x3c, 0xa3, 0x9f, 0x34, 0x42, 0xad, 0x05, 0x3f, 0x69,
0x14, 0xd6, 0xa0, 0xc2, 0x7b, 0x53, 0x84, 0xfa, 0xdc, 0xba, 0x97, 0x45, 0xff, 0x18, 0xfb, 0xd9,
0x6d, 0x54, 0x88, 0x05, 0xae, 0xe6, 0xd4, 0x3d, 0xb7, 0x1e, 0x6d, 0xea, 0xdd, 0x75, 0xdb, 0xee,
0xcd, 0x6b, 0xdf, 0x3f, 0xd5, 0xbb, 0x1b, 0x13, 0xce, 0x45, 0xa1, 0x3e, 0x67, 0xb5, 0x11, 0x0a,
0xcf, 0x95, 0x05, 0xb7, 0xe7, 0x37, 0xfb, 0xc1, 0x44, 0x75, 0x2b, 0x42, 0x77, 0xfa, 0xb0, 0xcb,
0x10, 0xe8, 0xf2, 0xed, 0xde, 0x3c, 0xb1, 0x8c, 0xd4, 0xbe, 0xeb, 0xde, 0xee, 0x61, 0xcc, 0xef,
0xeb, 0xa7, 0xfd, 0x15, 0xb4, 0xfb, 0x85, 0x4e, 0x1b, 0x5d, 0xf7, 0xaa, 0x9f, 0xb7, 0xba, 0x4c,
0x8d, 0xbc, 0x6e, 0x1e, 0xf6, 0xc5, 0x43, 0x09, 0x84, 0xbb, 0x84, 0x76, 0x25, 0x10, 0xe8, 0x32,
0xfa, 0xf9, 0xed, 0x94, 0x74, 0x59, 0xfe, 0x69, 0x25, 0xba, 0x4b, 0x96, 0x45, 0x8f, 0x83, 0x2f,
0xfa, 0x5a, 0x06, 0xe3, 0xe1, 0xcb, 0x5b, 0xeb, 0xe9, 0x42, 0xfd, 0xeb, 0x4a, 0x74, 0x2f, 0x50,
0xa8, 0x7a, 0x80, 0xdc, 0xc2, 0xba, 0x3f, 0x50, 0x7e, 0x78, 0x7b, 0x45, 0x6a, 0xb9, 0x77, 0xf1,
0x51, 0xfb, 0x63, 0x3c, 0x01, 0xdb, 0x23, 0xfa, 0x63, 0x3c, 0xdd, 0x5a, 0xf0, 0x90, 0x87, 0x5d,
0x34, 0x9b, 0x2e, 0xf4, 0x90, 0x47, 0xdd, 0x50, 0x03, 0x7b, 0x8e, 0xb5, 0x4e, 0x0e, 0x73, 0xf2,
0xea, 0x5d, 0xce, 0xb2, 0x09, 0xed, 0xa4, 0x96, 0x77, 0x3b, 0x31, 0x1c, 0x3c, 0x1c, 0xab, 0xa4,
0x67, 0xa2, 0xd9, 0x48, 0x3d, 0xa6, 0xf4, 0x0d, 0x12, 0x3c, 0x1c, 0x6b, 0xa1, 0x84, 0x37, 0x9d,
0x35, 0x86, 0xbc, 0x81, 0x64, 0xf1, 0x49, 0x1f, 0x14, 0xa4, 0xe8, 0xc6, 0x9b, 0x39, 0x73, 0xdf,
0x0c, 0x59, 0x69, 0x9d, 0xbb, 0x6f, 0xf5, 0xa4, 0x09, 0xb7, 0x23, 0x2e, 0xbf, 0xe2, 0x6c, 0xc2,
0x8b, 0xa0, 0x5b, 0x43, 0xf5, 0x72, 0xeb, 0xd2, 0x98, 0xdb, 0x5d, 0x91, 0xce, 0x67, 0x99, 0xee,
0x4c, 0xd2, 0xad, 0x4b, 0x75, 0xbb, 0x05, 0x34, 0x3c, 0x16, 0xb4, 0x6e, 0x55, 0x7a, 0xf9, 0x24,
0x6c, 0xc6, 0xcb, 0x2a, 0x37, 0x7a, 0xb1, 0x74, 0x3d, 0xf5, 0x30, 0xea, 0xa8, 0x27, 0x18, 0x49,
0x5b, 0x3d, 0x69, 0x78, 0x3e, 0xe7, 0xb8, 0x35, 0xe3, 0x69, 0xbb, 0xc3, 0x56, 0x6b, 0x48, 0x3d,
0xed, 0xaf, 0x00, 0x4f, 0x43, 0xf5, 0xa8, 0x3a, 0x4a, 0x4a, 0xb9, 0x9f, 0xa4, 0xe9, 0x60, 0x23,
0x30, 0x4c, 0x1a, 0x28, 0x78, 0x1a, 0x8a, 0xc0, 0xc4, 0x48, 0x6e, 0x4e, 0x0f, 0xb3, 0x41, 0x97,
0x1d, 0x45, 0xf5, 0x1a, 0xc9, 0x2e, 0x0d, 0x4e, 0xb4, 0x9c, 0xa6, 0x36, 0xb5, 0x1d, 0x86, 0x1b,
0xae, 0x55, 0xe1, 0xed, 0xde, 0x3c, 0x78, 0xdc, 0xae, 0x28, 0xb5, 0xb2, 0x3c, 0xa4, 0x4c, 0x78,
0x2b, 0xc9, 0xa3, 0x0e, 0x0a, 0x9c, 0x0a, 0xd6, 0xd3, 0xe8, 0x6d, 0x32, 0x99, 0x72, 0x89, 0x3e,
0x29, 0x72, 0x81, 0xe0, 0x93, 0x22, 0x00, 0x82, 0xae, 0xab, 0x7f, 0x37, 0xc7, 0xa1, 0x87, 0x13,
0xac, 0xeb, 0xb4, 0xb2, 0x43, 0x85, 0xba, 0x0e, 0xa5, 0x41, 0x34, 0x30, 0x6e, 0xf5, 0xeb, 0xf8,
0x4f, 0x42, 0x66, 0xc0, 0x3b, 0xf9, 0x1b, 0xbd, 0x58, 0xb0, 0xa2, 0x58, 0x87, 0xc9, 0x2c, 0x91,
0xd8, 0x8a, 0xe2, 0xd8, 0xa8, 0x90, 0xd0, 0x8a, 0xd2, 0x46, 0xa9, 0xea, 0x55, 0x39, 0xc2, 0xe1,
0x24, 0x5c, 0xbd, 0x9a, 0xe9, 0x57, 0x3d, 0xc3, 0xb6, 0x1e, 0x6c, 0x66, 0x66, 0xc8, 0xc8, 0x2b,
0xbd, 0x59, 0x46, 0xc6, 0xb6, 0x7a, 0x4d, 0x13, 0x82, 0xa1, 0xa8, 0x43, 0x29, 0xc0, 0x03, 0xfb,
0x8a, 0x6b, 0x9e, 0xbd, 0xe6, 0x39, 0x67, 0x05, 0xcb, 0x62, 0x74, 0x73, 0xaa, 0x0c, 0xb6, 0xc8,
0xd0, 0xe6, 0x94, 0xd4, 0x00, 0x8f, 0xcd, 0xfd, 0x17, 0x2c, 0x91, 0xa9, 0x60, 0xde, 0x64, 0xf4,
0xdf, 0xaf, 0x7c, 0xdc, 0x83, 0x84, 0x8f, 0xcd, 0x1b, 0xc0, 0x1c, 0x7c, 0xd7, 0x4e, 0x3f, 0x0b,
0x98, 0xf2, 0xd1, 0xd0, 0x46, 0x98, 0x56, 0x01, 0x83, 0xda, 0x24, 0xb8, 0x5c, 0xfe, 0x84, 0x2f,
0xb1, 0x41, 0x6d, 0xf3, 0x53, 0x85, 0x84, 0x06, 0x75, 0x1b, 0x05, 0x79, 0xa6, 0xbb, 0x0f, 0x5a,
0x0d, 0xe8, 0xbb, 0x5b, 0x9f, 0xb5, 0x4e, 0x0e, 0xcc, 0x9c, 0xbd, 0x64, 0xe1, 0x3d, 0x27, 0x40,
0x0a, 0xba, 0x97, 0x2c, 0xf0, 0xc7, 0x04, 0x1b, 0xbd, 0x58, 0xf8, 0x48, 0x9e, 0x49, 0xfe, 0xae,
0x79, 0x56, 0x8e, 0x14, 0x57, 0xc9, 0x5b, 0x0f, 0xcb, 0xd7, 0xbb, 0x41, 0x7b, 0x01, 0xf6, 0xb4,
0x10, 0x31, 0x2f, 0x4b, 0xfd, 0x85, 0x42, 0xff, 0x86, 0x91, 0x96, 0x0d, 0xc1, 0xf7, 0x09, 0x1f,
0x86, 0x21, 0xdb, 0x33, 0x5a, 0x64, 0xbf, 0x7a, 0xb3, 0x8a, 0x6a, 0xb6, 0x3f, 0x78, 0xb3, 0xd6,
0xc9, 0xd9, 0xe9, 0xa5, 0xa5, 0xee, 0x67, 0x6e, 0xd6, 0x51, 0x75, 0xec, 0x0b, 0x37, 0x8f, 0x7b,
0x90, 0xda, 0xd5, 0x57, 0xd1, 0xfb, 0x47, 0x62, 0x3a, 0xe2, 0xd9, 0x64, 0xf0, 0x03, 0xff, 0x0a,
0xad, 0x98, 0x0e, 0xab, 0x9f, 0x8d, 0xd1, 0x3b, 0x94, 0xd8, 0x5e, 0x02, 0xdc, 0xe3, 0x17, 0xf3,
0xe9, 0x48, 0x32, 0x09, 0x2e, 0x01, 0xaa, 0xdf, 0x87, 0x95, 0x80, 0xb8, 0x04, 0xe8, 0x01, 0xc0,
0xde, 0xb8, 0xe0, 0x1c, 0xb5, 0x57, 0x09, 0x82, 0xf6, 0x34, 0x60, 0xb3, 0x08, 0x63, 0xaf, 0x4a,
0xd4, 0xe1, 0xa5, 0x3d, 0xab, 0xa3, 0xa4, 0x44, 0x16, 0xd1, 0xa6, 0xec, 0xe0, 0xae, 0xab, 0xaf,
0xbe, 0x3a, 0x32, 0x9f, 0xcd, 0x58, 0xb1, 0x04, 0x83, 0x5b, 0xd7, 0xd2, 0x01, 0x88, 0xc1, 0x8d,
0x82, 0x76, 0xd6, 0x36, 0xcd, 0x1c, 0x5f, 0x1f, 0x88, 0x42, 0xcc, 0x65, 0x92, 0x71, 0xf8, 0xe5,
0x09, 0xd3, 0xa0, 0x2e, 0x43, 0xcc, 0x5a, 0x8a, 0xb5, 0x59, 0xae, 0x22, 0xea, 0xfb, 0x84, 0xea,
0xbb, 0xc5, 0xa5, 0x14, 0x05, 0x7c, 0x9e, 0x58, 0x5b, 0x81, 0x10, 0x91, 0xe5, 0x92, 0x30, 0xe8,
0xfb, 0xd3, 0x24, 0x9b, 0xa2, 0x7d, 0x7f, 0xea, 0x7e, 0xf5, 0xf3, 0x1e, 0x0d, 0xd8, 0x09, 0x55,
0x37, 0x5a, 0x3d, 0x01, 0xf4, 0xbb, 0x9c, 0x68, 0xa3, 0xbb, 0x04, 0x31, 0xa1, 0x70, 0x12, 0xb8,
0x7a, 0x9d, 0xf3, 0x8c, 0x4f, 0x9a, 0x5b, 0x73, 0x98, 0x2b, 0x8f, 0x08, 0xba, 0x82, 0xa4, 0x8d,
0x45, 0x4a, 0x7e, 0x36, 0xcf, 0x4e, 0x0b, 0x71, 0x99, 0xa4, 0xbc, 0x00, 0xb1, 0xa8, 0x56, 0x77,
0xe4, 0x44, 0x2c, 0xc2, 0x38, 0x7b, 0xfd, 0x42, 0x49, 0xbd, 0x8f, 0x6f, 0x8f, 0x0b, 0x16, 0xc3,
0xeb, 0x17, 0xb5, 0x8d, 0x36, 0x46, 0x9c, 0x0c, 0x06, 0x70, 0x27, 0xd1, 0xa9, 0x5d, 0x67, 0x4b,
0x35, 0x3e, 0xf4, 0xbb, 0x84, 0xea, 0x5b, 0x98, 0x25, 0x48, 0x74, 0xb4, 0x39, 0x8c, 0x24, 0x12,
0x9d, 0xb0, 0x86, 0x5d, 0x4a, 0x14, 0x77, 0xa2, 0xaf, 0x15, 0x81, 0xa5, 0xa4, 0xb6, 0xd1, 0x08,
0x89, 0xa5, 0xa4, 0x05, 0x81, 0x80, 0xd4, 0x4c, 0x83, 0x29, 0x1a, 0x90, 0x8c, 0x34, 0x18, 0x90,
0x5c, 0xca, 0x06, 0x8a, 0xc3, 0x2c, 0x91, 0x09, 0x4b, 0x47, 0x5c, 0x9e, 0xb2, 0x82, 0xcd, 0xb8,
0xe4, 0x05, 0x0c, 0x14, 0x1a, 0x19, 0x7a, 0x0c, 0x11, 0x28, 0x28, 0x56, 0x3b, 0xfc, 0xbd, 0xe8,
0xc3, 0x6a, 0xdd, 0xe7, 0x99, 0xfe, 0x2b, 0x1e, 0xaf, 0xd4, 0x9f, 0xff, 0x19, 0x7c, 0x64, 0x6c,
0x8c, 0x64, 0xc1, 0xd9, 0xac, 0xb1, 0xfd, 0x81, 0xf9, 0x5d, 0x81, 0x4f, 0x57, 0xaa, 0xf1, 0x7c,
0x22, 0x64, 0x72, 0x59, 0x6d, 0xb3, 0xf5, 0x1b, 0x44, 0x60, 0x3c, 0xbb, 0xe2, 0x61, 0xe0, 0x5b,
0x14, 0x18, 0x67, 0xe3, 0xb4, 0x2b, 0x3d, 0xe3, 0x79, 0x0a, 0xe3, 0xb4, 0xa7, 0xad, 0x00, 0x22,
0x4e, 0xa3, 0xa0, 0x9d, 0x9c, 0xae, 0x78, 0xcc, 0xc3, 0x95, 0x19, 0xf3, 0x7e, 0x95, 0x19, 0x7b,
0x2f, 0x65, 0xa4, 0xd1, 0x87, 0xc7, 0x7c, 0x76, 0xc1, 0x8b, 0xf2, 0x2a, 0xc9, 0x0f, 0xaa, 0x84,
0x8b, 0xc9, 0x39, 0x7c, 0x6d, 0xd1, 0x12, 0x43, 0x83, 0x10, 0x59, 0x29, 0x81, 0xda, 0x95, 0xc0,
0x02, 0x87, 0xe5, 0x09, 0x9b, 0x71, 0xf5, 0x65, 0x0d, 0xb0, 0x12, 0x38, 0x46, 0x1c, 0x88, 0x58,
0x09, 0x48, 0xd8, 0x79, 0xbf, 0xcb, 0x32, 0x67, 0x7c, 0x5a, 0x8d, 0xb0, 0xe2, 0x94, 0x2d, 0x67,
0x3c, 0x93, 0xda, 0x24, 0x38, 0x93, 0x77, 0x4c, 0xe2, 0x3c, 0x71, 0x26, 0xdf, 0x47, 0xcf, 0x09,
0x4d, 0x5e, 0xc3, 0x9f, 0x8a, 0x42, 0xd6, 0x7f, 0xa3, 0xe7, 0xbc, 0x48, 0x41, 0x68, 0xf2, 0x1b,
0xd5, 0x23, 0x89, 0xd0, 0x14, 0xd6, 0x70, 0xbe, 0x3e, 0xef, 0x95, 0xe1, 0x0d, 0x2f, 0xcc, 0x38,
0x79, 0x35, 0x63, 0x49, 0xaa, 0x47, 0xc3, 0x8f, 0x02, 0xb6, 0x09, 0x1d, 0xe2, 0xeb, 0xf3, 0x7d,
0x75, 0x9d, 0xef, 0xf5, 0x87, 0x4b, 0x08, 0x1e, 0x11, 0x74, 0xd8, 0x27, 0x1e, 0x11, 0x74, 0x6b,
0xd9, 0x9d, 0xbb, 0x65, 0x15, 0xb7, 0x54, 0xc4, 0xae, 0x98, 0xc0, 0xf3, 0x42, 0xc7, 0x26, 0x00,
0x89, 0x9d, 0x7b, 0x50, 0xc1, 0xa6, 0x06, 0x16, 0xdb, 0x4f, 0x32, 0x96, 0x26, 0x3f, 0x83, 0x69,
0xbd, 0x63, 0xa7, 0x21, 0x88, 0xd4, 0x00, 0x27, 0x31, 0x57, 0x07, 0x5c, 0x8e, 0x93, 0x2a, 0xf4,
0xaf, 0x07, 0xda, 0x4d, 0x11, 0xdd, 0xae, 0x1c, 0xd2, 0xf9, 0x46, 0x2b, 0x6c, 0xd6, 0x9d, 0x3c,
0x1f, 0x55, 0xab, 0xea, 0x19, 0x8f, 0x79, 0x92, 0xcb, 0xc1, 0x8b, 0x70, 0x5b, 0x01, 0x9c, 0xb8,
0x68, 0xd1, 0x43, 0xcd, 0x79, 0x7c, 0x5f, 0xc5, 0x92, 0x51, 0xfd, 0xc7, 0xeb, 0xce, 0x4b, 0x5e,
0xe8, 0x44, 0xe3, 0x80, 0x4b, 0x30, 0x3b, 0x1d, 0x6e, 0xe8, 0x80, 0x55, 0x45, 0x89, 0xd9, 0x19,
0xd6, 0xb0, 0x87, 0x7d, 0x0e, 0x77, 0xc6, 0x4b, 0x91, 0x2e, 0xb8, 0xba, 0x6f, 0xb8, 0x49, 0x1a,
0x73, 0x28, 0xe2, 0xb0, 0x8f, 0xa6, 0x6d, 0xb6, 0xd6, 0x76, 0xbb, 0x93, 0x2d, 0x0f, 0xe1, 0x95,
0x09, 0xc4, 0x92, 0xc2, 0x88, 0x6c, 0x2d, 0x80, 0x3b, 0x87, 0xe1, 0x85, 0x60, 0x93, 0x98, 0x95,
0xf2, 0x94, 0x2d, 0x53, 0xc1, 0x26, 0x6a, 0x5d, 0x87, 0x87, 0xe1, 0x0d, 0x33, 0x74, 0x21, 0xea,
0x30, 0x9c, 0x82, 0xdd, 0xec, 0x4c, 0xfd, 0x4d, 0x3e, 0x7d, 0x97, 0x13, 0x66, 0x67, 0xaa, 0xbc,
0xf0, 0x1e, 0xe7, 0xc3, 0x30, 0x64, 0xdf, 0x41, 0xab, 0x45, 0x2a, 0x0d, 0xb9, 0x87, 0xe9, 0x78,
0x09, 0xc8, 0xfd, 0x00, 0x61, 0xbf, 0x4b, 0x51, 0xff, 0xde, 0xfc, 0xdd, 0x17, 0xa9, 0xbf, 0x64,
0xbd, 0x89, 0xe9, 0xba, 0xd0, 0xd0, 0xfd, 0xc0, 0xdd, 0x56, 0x4f, 0xda, 0xa6, 0x99, 0xbb, 0x57,
0x4c, 0xee, 0x4c, 0x26, 0xc7, 0xbc, 0x44, 0x5e, 0x28, 0xaf, 0x84, 0x43, 0x2b, 0x25, 0xd2, 0xcc,
0x36, 0x65, 0x07, 0x7a, 0x25, 0x7b, 0x35, 0x49, 0xa4, 0x96, 0x35, 0x37, 0xa4, 0x37, 0xdb, 0x06,
0xda, 0x14, 0x51, 0x2b, 0x9a, 0xb6, 0xb1, 0xbc, 0x62, 0xc6, 0x62, 0x3a, 0x4d, 0xb9, 0x86, 0xce,
0x38, 0xab, 0x3f, 0xe4, 0xb7, 0xdd, 0xb6, 0x85, 0x82, 0x44, 0x2c, 0x0f, 0x2a, 0xd8, 0x34, 0xb2,
0xc2, 0xea, 0x47, 0x52, 0x4d, 0xc3, 0xae, 0xb5, 0xcd, 0x78, 0x00, 0x91, 0x46, 0xa2, 0xa0, 0x7d,
0xef, 0xad, 0x12, 0x1f, 0xf0, 0xa6, 0x25, 0xe0, 0x27, 0x88, 0x94, 0xb2, 0x23, 0x26, 0xde, 0x7b,
0x43, 0x30, 0xbb, 0x4f, 0x00, 0x1e, 0x5e, 0x2e, 0x0f, 0x27, 0x70, 0x9f, 0x00, 0xf5, 0x15, 0x43,
0xec, 0x13, 0x28, 0xd6, 0xef, 0x3a, 0x73, 0xee, 0x75, 0xc4, 0x4a, 0x5b, 0x39, 0xa4, 0xeb, 0x50,
0x30, 0xd4, 0x75, 0x94, 0x82, 0xdf, 0xa4, 0xee, 0xd1, 0x1a, 0xd2, 0xa4, 0xd8, 0xb9, 0xda, 0x6a,
0x17, 0x66, 0xe3, 0x92, 0xd9, 0x4f, 0xaa, 0x2b, 0x4b, 0xf8, 0x17, 0xfc, 0x6b, 0x21, 0x11, 0x97,
0x5a, 0x50, 0x6d, 0xfb, 0xe5, 0xfd, 0xff, 0xfa, 0xe6, 0xce, 0xca, 0x2f, 0xbe, 0xb9, 0xb3, 0xf2,
0x3f, 0xdf, 0xdc, 0x59, 0xf9, 0xf9, 0xb7, 0x77, 0xde, 0xfb, 0xc5, 0xb7, 0x77, 0xde, 0xfb, 0xef,
0x6f, 0xef, 0xbc, 0xf7, 0xf5, 0xfb, 0xfa, 0x6f, 0xb5, 0x5e, 0xfc, 0x3f, 0xf5, 0x17, 0x57, 0x9f,
0xff, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x20, 0x36, 0x1c, 0xcb, 0xcf, 0x75, 0x00, 0x00,
}
// This is a compile-time assertion to ensure that this generated file
@ -393,11 +393,11 @@ type ClientCommandsHandler interface {
// Account
// ***
AccountRecover(context.Context, *pb.RpcAccountRecoverRequest) *pb.RpcAccountRecoverResponse
AccountMigrate(context.Context, *pb.RpcAccountMigrateRequest) *pb.RpcAccountMigrateResponse
AccountCreate(context.Context, *pb.RpcAccountCreateRequest) *pb.RpcAccountCreateResponse
AccountDelete(context.Context, *pb.RpcAccountDeleteRequest) *pb.RpcAccountDeleteResponse
AccountRevertDeletion(context.Context, *pb.RpcAccountRevertDeletionRequest) *pb.RpcAccountRevertDeletionResponse
AccountSelect(context.Context, *pb.RpcAccountSelectRequest) *pb.RpcAccountSelectResponse
AccountMigrate(context.Context, *pb.RpcAccountMigrateRequest) *pb.RpcAccountMigrateResponse
AccountEnableLocalNetworkSync(context.Context, *pb.RpcAccountEnableLocalNetworkSyncRequest) *pb.RpcAccountEnableLocalNetworkSyncResponse
AccountStop(context.Context, *pb.RpcAccountStopRequest) *pb.RpcAccountStopResponse
AccountMove(context.Context, *pb.RpcAccountMoveRequest) *pb.RpcAccountMoveResponse
@ -1124,6 +1124,26 @@ func AccountRecover(b []byte) (resp []byte) {
return resp
}
func AccountMigrate(b []byte) (resp []byte) {
defer func() {
if PanicHandler != nil {
if r := recover(); r != nil {
resp, _ = (&pb.RpcAccountMigrateResponse{Error: &pb.RpcAccountMigrateResponseError{Code: pb.RpcAccountMigrateResponseError_UNKNOWN_ERROR, Description: "panic recovered"}}).Marshal()
PanicHandler(r)
}
}
}()
in := new(pb.RpcAccountMigrateRequest)
if err := in.Unmarshal(b); err != nil {
resp, _ = (&pb.RpcAccountMigrateResponse{Error: &pb.RpcAccountMigrateResponseError{Code: pb.RpcAccountMigrateResponseError_BAD_INPUT, Description: err.Error()}}).Marshal()
return resp
}
resp, _ = clientCommandsHandler.AccountMigrate(context.Background(), in).Marshal()
return resp
}
func AccountCreate(b []byte) (resp []byte) {
defer func() {
if PanicHandler != nil {
@ -1204,26 +1224,6 @@ func AccountSelect(b []byte) (resp []byte) {
return resp
}
func AccountMigrate(b []byte) (resp []byte) {
defer func() {
if PanicHandler != nil {
if r := recover(); r != nil {
resp, _ = (&pb.RpcAccountMigrateResponse{Error: &pb.RpcAccountMigrateResponseError{Code: pb.RpcAccountMigrateResponseError_UNKNOWN_ERROR, Description: "panic recovered"}}).Marshal()
PanicHandler(r)
}
}
}()
in := new(pb.RpcAccountMigrateRequest)
if err := in.Unmarshal(b); err != nil {
resp, _ = (&pb.RpcAccountMigrateResponse{Error: &pb.RpcAccountMigrateResponseError{Code: pb.RpcAccountMigrateResponseError_BAD_INPUT, Description: err.Error()}}).Marshal()
return resp
}
resp, _ = clientCommandsHandler.AccountMigrate(context.Background(), in).Marshal()
return resp
}
func AccountEnableLocalNetworkSync(b []byte) (resp []byte) {
defer func() {
if PanicHandler != nil {
@ -6152,6 +6152,8 @@ func CommandAsync(cmd string, data []byte, callback func(data []byte)) {
cd = WorkspaceExport(data)
case "AccountRecover":
cd = AccountRecover(data)
case "AccountMigrate":
cd = AccountMigrate(data)
case "AccountCreate":
cd = AccountCreate(data)
case "AccountDelete":
@ -6160,8 +6162,6 @@ func CommandAsync(cmd string, data []byte, callback func(data []byte)) {
cd = AccountRevertDeletion(data)
case "AccountSelect":
cd = AccountSelect(data)
case "AccountMigrate":
cd = AccountMigrate(data)
case "AccountEnableLocalNetworkSync":
cd = AccountEnableLocalNetworkSync(data)
case "AccountStop":
@ -6966,6 +6966,20 @@ func (h *ClientCommandsHandlerProxy) AccountRecover(ctx context.Context, req *pb
call, _ := actualCall(ctx, req)
return call.(*pb.RpcAccountRecoverResponse)
}
func (h *ClientCommandsHandlerProxy) AccountMigrate(ctx context.Context, req *pb.RpcAccountMigrateRequest) *pb.RpcAccountMigrateResponse {
actualCall := func(ctx context.Context, req any) (any, error) {
return h.client.AccountMigrate(ctx, req.(*pb.RpcAccountMigrateRequest)), nil
}
for _, interceptor := range h.interceptors {
toCall := actualCall
currentInterceptor := interceptor
actualCall = func(ctx context.Context, req any) (any, error) {
return currentInterceptor(ctx, req, "AccountMigrate", toCall)
}
}
call, _ := actualCall(ctx, req)
return call.(*pb.RpcAccountMigrateResponse)
}
func (h *ClientCommandsHandlerProxy) AccountCreate(ctx context.Context, req *pb.RpcAccountCreateRequest) *pb.RpcAccountCreateResponse {
actualCall := func(ctx context.Context, req any) (any, error) {
return h.client.AccountCreate(ctx, req.(*pb.RpcAccountCreateRequest)), nil
@ -7022,20 +7036,6 @@ func (h *ClientCommandsHandlerProxy) AccountSelect(ctx context.Context, req *pb.
call, _ := actualCall(ctx, req)
return call.(*pb.RpcAccountSelectResponse)
}
func (h *ClientCommandsHandlerProxy) AccountMigrate(ctx context.Context, req *pb.RpcAccountMigrateRequest) *pb.RpcAccountMigrateResponse {
actualCall := func(ctx context.Context, req any) (any, error) {
return h.client.AccountMigrate(ctx, req.(*pb.RpcAccountMigrateRequest)), nil
}
for _, interceptor := range h.interceptors {
toCall := actualCall
currentInterceptor := interceptor
actualCall = func(ctx context.Context, req any) (any, error) {
return currentInterceptor(ctx, req, "AccountMigrate", toCall)
}
}
call, _ := actualCall(ctx, req)
return call.(*pb.RpcAccountMigrateResponse)
}
func (h *ClientCommandsHandlerProxy) AccountEnableLocalNetworkSync(ctx context.Context, req *pb.RpcAccountEnableLocalNetworkSyncRequest) *pb.RpcAccountEnableLocalNetworkSyncResponse {
actualCall := func(ctx context.Context, req any) (any, error) {
return h.client.AccountEnableLocalNetworkSync(ctx, req.(*pb.RpcAccountEnableLocalNetworkSyncRequest)), nil

View file

@ -4,6 +4,7 @@
package main
import (
"bufio"
"context"
"errors"
"fmt"
@ -13,6 +14,7 @@ import (
_ "net/http/pprof"
"os"
"os/signal"
"runtime"
"strconv"
"syscall"
"time"
@ -224,8 +226,25 @@ func main() {
startReportMemory(mw)
shutdown := func() {
server.Stop()
proxy.Close()
mw.AppShutdown(context.Background(), &pb.RpcAppShutdownRequest{})
}
// do not change this, js client relies on this msg to ensure that server is up and parse address
fmt.Println(grpcWebStartedMessagePrefix + webaddr)
if runtime.GOOS == "windows" {
scanner := bufio.NewScanner(os.Stdin)
for scanner.Scan() {
message := scanner.Text()
if message == "shutdown" {
fmt.Println("[anytype-heart] Shutdown: received shutdown msg, closing components...")
// Perform cleanup or exit
shutdown()
return
}
}
}
for {
sig := <-signalChan
@ -235,9 +254,8 @@ func main() {
}
continue
}
server.Stop()
proxy.Close()
mw.AppShutdown(context.Background(), &pb.RpcAppShutdownRequest{})
fmt.Printf("[anytype-heart] Shutdown: received OS signal (%s), closing components...\n", sig.String())
shutdown()
return
}
}

View file

@ -77,6 +77,7 @@ func (mw *Middleware) AccountSelect(cctx context.Context, req *pb.RpcAccountSele
errToCode(application.ErrAnotherProcessIsRunning, pb.RpcAccountSelectResponseError_ANOTHER_ANYTYPE_PROCESS_IS_RUNNING),
errToCode(application.ErrIncompatibleVersion, pb.RpcAccountSelectResponseError_FAILED_TO_FETCH_REMOTE_NODE_HAS_INCOMPATIBLE_PROTO_VERSION),
errToCode(application.ErrFailedToStartApplication, pb.RpcAccountSelectResponseError_FAILED_TO_RUN_NODE),
errToCode(application.ErrAccountStoreIsNotMigrated, pb.RpcAccountSelectResponseError_ACCOUNT_STORE_NOT_MIGRATED),
)
return &pb.RpcAccountSelectResponse{
Config: nil,

View file

@ -215,6 +215,7 @@ func BootstrapMigration(newPath string, a *app.App, components ...app.Component)
a.Register(clientds.New()).
Register(oldstorage.New()).
Register(anystorage.New(newPath)).
Register(process.New()).
Register(migrator.New())
}
@ -287,7 +288,6 @@ func Bootstrap(a *app.App, components ...app.Component) {
Register(recordsbatcher.New()).
Register(configfetcher.New()).
Register(process.New()).
Register(core.New()).
Register(core.NewTempDirService()).
Register(treemanager.New()).
Register(block.New()).

View file

@ -31,15 +31,23 @@ var (
ErrNoMnemonicProvided = errors.New("no mnemonic provided")
ErrIncompatibleVersion = errors.New("can't fetch account's data because remote nodes have incompatible protocol version. Please update anytype to the latest version")
ErrAnotherProcessIsRunning = errors.New("another anytype process is running")
ErrFailedToFindAccountInfo = errors.New("failed to find account info")
ErrAccountIsDeleted = errors.New("account is deleted")
ErrAnotherProcessIsRunning = errors.New("another anytype process is running")
ErrFailedToFindAccountInfo = errors.New("failed to find account info")
ErrAccountIsDeleted = errors.New("account is deleted")
ErrAccountStoreIsNotMigrated = errors.New("account store is not migrated")
)
func (s *Service) AccountSelect(ctx context.Context, req *pb.RpcAccountSelectRequest) (*model.Account, error) {
if req.Id == "" {
return nil, ErrEmptyAccountID
}
curMigration := s.migrationManager.getMigration(req.RootPath, req.Id)
if !curMigration.successful() {
return nil, ErrAccountStoreIsNotMigrated
}
if s.migrationManager.isRunning() {
return nil, ErrMigrationRunning
}
if runtime.GOOS != "android" && runtime.GOOS != "ios" {
s.traceRecorder.start()

View file

@ -6,6 +6,7 @@ import (
"os"
"path"
"path/filepath"
"sync"
"github.com/anyproto/any-sync/app"
@ -14,10 +15,13 @@ import (
"github.com/anyproto/anytype-heart/pkg/lib/core"
)
var ErrAccountNotFound = errors.New("account not found")
var (
ErrAccountNotFound = errors.New("account not found")
ErrMigrationRunning = errors.New("migration is running")
)
func (s *Service) AccountMigrate(ctx context.Context, req *pb.RpcAccountMigrateRequest) error {
return s.migrate(ctx, req.Id, req.RootPath)
return s.migrationManager.getMigration(req.RootPath, req.Id).wait(ctx)
}
func (s *Service) migrate(ctx context.Context, id string, rootPath string) error {
@ -49,3 +53,128 @@ func (s *Service) migrate(ctx context.Context, id string, rootPath string) error
}
return a.Close(ctx)
}
type migration struct {
mx sync.Mutex
isStarted bool
isFinished bool
manager *migrationManager
err error
rootPath string
id string
done chan struct{}
}
func newMigration(m *migrationManager, rootPath, id string) *migration {
return &migration{
done: make(chan struct{}),
rootPath: rootPath,
id: id,
manager: m,
}
}
func newSuccessfulMigration(manager *migrationManager, rootPath, id string) *migration {
m := newMigration(manager, rootPath, id)
m.setFinished(nil, false)
return m
}
func (m *migration) setFinished(err error, notify bool) {
m.mx.Lock()
defer m.mx.Unlock()
m.isFinished = true
m.err = err
close(m.done)
if notify {
m.manager.setMigrationRunning(m.id, false)
}
}
func (m *migration) wait(ctx context.Context) error {
m.mx.Lock()
if !m.manager.setMigrationRunning(m.id, true) {
m.mx.Unlock()
return ErrMigrationRunning
}
if !m.isStarted {
m.isStarted = true
} else {
m.mx.Unlock()
<-m.done
return m.err
}
m.mx.Unlock()
err := m.manager.service.migrate(ctx, m.id, m.rootPath)
if err != nil {
m.setFinished(err, true)
return err
}
m.setFinished(nil, true)
return nil
}
func (m *migration) successful() bool {
m.mx.Lock()
defer m.mx.Unlock()
return m.isFinished && m.err == nil
}
func (m *migration) finished() bool {
m.mx.Lock()
defer m.mx.Unlock()
return m.isFinished
}
type migrationManager struct {
migrations map[string]*migration
service *Service
runningMigration string
sync.Mutex
}
func newMigrationManager(s *Service) *migrationManager {
return &migrationManager{
service: s,
}
}
func (m *migrationManager) setMigrationRunning(id string, isRunning bool) bool {
m.Lock()
defer m.Unlock()
if (m.runningMigration != "" && m.runningMigration != id) && isRunning {
return false
}
if m.runningMigration == "" && !isRunning {
panic("migration is not running")
}
if isRunning {
m.runningMigration = id
} else {
m.runningMigration = ""
}
return true
}
func (m *migrationManager) isRunning() bool {
m.Lock()
defer m.Unlock()
return m.runningMigration != ""
}
func (m *migrationManager) getMigration(rootPath, id string) *migration {
m.Lock()
defer m.Unlock()
if m.migrations == nil {
m.migrations = make(map[string]*migration)
}
if m.migrations[id] == nil {
// TODO: [store] add successful migration if we don't need a migration
m.migrations[id] = newMigration(m, rootPath, id)
}
if m.migrations[id].finished() && !m.migrations[id].successful() {
// resetting migration
m.migrations[id] = newMigration(m, rootPath, id)
}
return m.migrations[id]
}

View file

@ -30,16 +30,20 @@ type Service struct {
eventSender event.Sender
sessions session.Service
traceRecorder *traceRecorder
migrationManager *migrationManager
appAccountStartInProcessCancel context.CancelFunc
appAccountStartInProcessCancelMutex sync.Mutex
}
func New() *Service {
return &Service{
s := &Service{
sessions: session.New(),
traceRecorder: &traceRecorder{},
}
m := newMigrationManager(s)
s.migrationManager = m
return s
}
func (s *Service) GetApp() *app.App {

View file

@ -206,7 +206,7 @@ func (bs *basic) validateDetailFormat(spaceID string, key domain.RelationKey, v
return nil
case model.RelationFormat_file, model.RelationFormat_object:
vals, ok := v.TryStringList()
vals, ok := v.TryWrapToStringList()
if !ok {
return fmt.Errorf("incorrect type: %v instead of string list", v)
}

View file

@ -2,6 +2,7 @@ package file
import (
"context"
"errors"
"fmt"
"os"
"path/filepath"
@ -306,11 +307,14 @@ func (sf *sfile) dropFilesCreateStructure(groupId, targetId string, pos model.Bl
}
func (sf *sfile) dropFilesSetInfo(info dropFileInfo) (err error) {
if info.err == context.Canceled {
if errors.Is(info.err, context.Canceled) {
s := sf.NewState().SetGroupId(info.groupId)
s.Unlink(info.blockId)
return sf.Apply(s)
}
if info.err != nil {
return fmt.Errorf("drop file: %w", info.err)
}
if isCollection(sf) {
s := sf.NewState()
if !s.HasInStore([]string{info.file.TargetObjectId}) {

View file

@ -1129,8 +1129,7 @@ func (s *State) ModifyLinkedObjectsInDetails(modifier func(id string) string) {
}
func (s *State) modifyIdsInDetail(details *domain.Details, key domain.RelationKey, modifier func(id string) string) {
// TODO TryStringList in pbtypes return []string{singleValue} for string values
if ids := details.GetStringList(key); len(ids) > 0 {
if ids := details.WrapToStringList(key); len(ids) > 0 {
var anyChanges bool
for i, oldId := range ids {
if oldId == "" {

View file

@ -35,7 +35,14 @@ func New() *Middleware {
}
func (mw *Middleware) AppShutdown(cctx context.Context, request *pb.RpcAppShutdownRequest) *pb.RpcAppShutdownResponse {
mw.applicationService.Stop()
err := mw.applicationService.Stop()
// using fmt.Println instead of log because we want it only in stdout
if err != nil {
fmt.Println("[anytype-heart] Shutdown: error during closing components: ", err)
} else {
fmt.Println("[anytype-heart] Shutdown: graceful shutdown finished")
}
// intentionally do not pass the error to the client
return &pb.RpcAppShutdownResponse{
Error: &pb.RpcAppShutdownResponseError{
Code: pb.RpcAppShutdownResponseError_NULL,

View file

@ -194,6 +194,10 @@ func (d *GenericMap[K]) GetStringList(key K) []string {
return d.Get(key).StringList()
}
func (d *GenericMap[K]) WrapToStringList(key K) []string {
return d.Get(key).WrapToStringList()
}
func (d *GenericMap[K]) TryFloat64List(key K) ([]float64, bool) {
return d.Get(key).TryFloat64List()
}

View file

@ -283,6 +283,26 @@ func (v Value) StringList() []string {
return res
}
func (v Value) TryWrapToStringList() ([]string, bool) {
res, ok := v.TryStringList()
if ok {
return res, true
}
s, ok := v.TryString()
if ok {
return []string{s}, true
}
return nil, false
}
func (v Value) WrapToStringList() []string {
res, ok := v.TryWrapToStringList()
if ok {
return res
}
return nil
}
func (v Value) IsInt64List() bool {
return v.IsFloat64List()
}

View file

@ -43,7 +43,7 @@ func (ds *dependencyService) depIdsByEntries(entries []*entry, depKeys []domain.
depIds = forceIds
for _, e := range entries {
for _, k := range depKeys {
for _, depId := range e.data.GetStringList(k) {
for _, depId := range e.data.WrapToStringList(k) {
if depId != "" && slice.FindPos(depIds, depId) == -1 && depId != e.id {
depIds = append(depIds, depId)
}

View file

@ -1989,11 +1989,11 @@
| WorkspaceSetInfo | [Rpc.Workspace.SetInfo.Request](#anytype-Rpc-Workspace-SetInfo-Request) | [Rpc.Workspace.SetInfo.Response](#anytype-Rpc-Workspace-SetInfo-Response) | |
| WorkspaceExport | [Rpc.Workspace.Export.Request](#anytype-Rpc-Workspace-Export-Request) | [Rpc.Workspace.Export.Response](#anytype-Rpc-Workspace-Export-Response) | |
| AccountRecover | [Rpc.Account.Recover.Request](#anytype-Rpc-Account-Recover-Request) | [Rpc.Account.Recover.Response](#anytype-Rpc-Account-Recover-Response) | Account *** |
| AccountMigrate | [Rpc.Account.Migrate.Request](#anytype-Rpc-Account-Migrate-Request) | [Rpc.Account.Migrate.Response](#anytype-Rpc-Account-Migrate-Response) | |
| AccountCreate | [Rpc.Account.Create.Request](#anytype-Rpc-Account-Create-Request) | [Rpc.Account.Create.Response](#anytype-Rpc-Account-Create-Response) | |
| AccountDelete | [Rpc.Account.Delete.Request](#anytype-Rpc-Account-Delete-Request) | [Rpc.Account.Delete.Response](#anytype-Rpc-Account-Delete-Response) | |
| AccountRevertDeletion | [Rpc.Account.RevertDeletion.Request](#anytype-Rpc-Account-RevertDeletion-Request) | [Rpc.Account.RevertDeletion.Response](#anytype-Rpc-Account-RevertDeletion-Response) | |
| AccountSelect | [Rpc.Account.Select.Request](#anytype-Rpc-Account-Select-Request) | [Rpc.Account.Select.Response](#anytype-Rpc-Account-Select-Response) | |
| AccountMigrate | [Rpc.Account.Migrate.Request](#anytype-Rpc-Account-Migrate-Request) | [Rpc.Account.Migrate.Response](#anytype-Rpc-Account-Migrate-Response) | |
| AccountEnableLocalNetworkSync | [Rpc.Account.EnableLocalNetworkSync.Request](#anytype-Rpc-Account-EnableLocalNetworkSync-Request) | [Rpc.Account.EnableLocalNetworkSync.Response](#anytype-Rpc-Account-EnableLocalNetworkSync-Response) | |
| AccountStop | [Rpc.Account.Stop.Request](#anytype-Rpc-Account-Stop-Request) | [Rpc.Account.Stop.Response](#anytype-Rpc-Account-Stop-Response) | |
| AccountMove | [Rpc.Account.Move.Request](#anytype-Rpc-Account-Move-Request) | [Rpc.Account.Move.Response](#anytype-Rpc-Account-Move-Response) | |
@ -20657,6 +20657,7 @@ Middleware-to-front-end response, that can contain a NULL error or a non-NULL er
| FAILED_TO_FETCH_REMOTE_NODE_HAS_INCOMPATIBLE_PROTO_VERSION | 110 | |
| ACCOUNT_IS_DELETED | 111 | |
| ACCOUNT_LOAD_IS_CANCELED | 112 | |
| ACCOUNT_STORE_NOT_MIGRATED | 113 | |
| CONFIG_FILE_NOT_FOUND | 200 | |
| CONFIG_FILE_INVALID | 201 | |
| CONFIG_FILE_NETWORK_ID_MISMATCH | 202 | |

File diff suppressed because it is too large Load diff

View file

@ -877,6 +877,7 @@ message Rpc {
FAILED_TO_FETCH_REMOTE_NODE_HAS_INCOMPATIBLE_PROTO_VERSION = 110;
ACCOUNT_IS_DELETED = 111;
ACCOUNT_LOAD_IS_CANCELED = 112;
ACCOUNT_STORE_NOT_MIGRATED = 113;
CONFIG_FILE_NOT_FOUND = 200;
CONFIG_FILE_INVALID = 201;

View file

@ -726,7 +726,7 @@ message Event {
FaviconHash faviconHash = 6;
Type type = 7;
TargetObjectId targetObjectId = 8;
message Url {
string value = 1;

View file

@ -36,11 +36,11 @@ service ClientCommands {
// Account
// ***
rpc AccountRecover (anytype.Rpc.Account.Recover.Request) returns (anytype.Rpc.Account.Recover.Response);
rpc AccountMigrate (anytype.Rpc.Account.Migrate.Request) returns (anytype.Rpc.Account.Migrate.Response);
rpc AccountCreate (anytype.Rpc.Account.Create.Request) returns (anytype.Rpc.Account.Create.Response);
rpc AccountDelete (anytype.Rpc.Account.Delete.Request) returns (anytype.Rpc.Account.Delete.Response);
rpc AccountRevertDeletion (anytype.Rpc.Account.RevertDeletion.Request) returns (anytype.Rpc.Account.RevertDeletion.Response);
rpc AccountSelect (anytype.Rpc.Account.Select.Request) returns (anytype.Rpc.Account.Select.Response);
rpc AccountMigrate (anytype.Rpc.Account.Migrate.Request) returns (anytype.Rpc.Account.Migrate.Response);
rpc AccountEnableLocalNetworkSync (anytype.Rpc.Account.EnableLocalNetworkSync.Request) returns (anytype.Rpc.Account.EnableLocalNetworkSync.Response);
rpc AccountStop (anytype.Rpc.Account.Stop.Request) returns (anytype.Rpc.Account.Stop.Response);
rpc AccountMove (anytype.Rpc.Account.Move.Request) returns (anytype.Rpc.Account.Move.Response);

View file

@ -67,297 +67,297 @@ var fileDescriptor_93a29dc403579097 = []byte{
0xc4, 0xd1, 0xaf, 0x3b, 0x2d, 0x26, 0x0f, 0xb3, 0x4b, 0x31, 0xa0, 0xdb, 0x42, 0xc9, 0x8d, 0x8f,
0xb5, 0x4e, 0x0e, 0xa9, 0xc6, 0xab, 0x77, 0xb9, 0x28, 0xe8, 0x6e, 0xa9, 0xc5, 0x9d, 0xd5, 0x30,
0x98, 0xf6, 0xf0, 0x87, 0xd1, 0x07, 0x3a, 0x4a, 0x36, 0xeb, 0xd9, 0x43, 0x34, 0x84, 0xc2, 0x05,
0xed, 0x51, 0x07, 0x65, 0x83, 0x83, 0x96, 0xe9, 0xe0, 0xf3, 0x29, 0xaa, 0x07, 0x42, 0xcf, 0xc3,
0x30, 0xd4, 0xb2, 0xbd, 0xc7, 0x53, 0x4e, 0xda, 0xae, 0x85, 0x1d, 0xb6, 0x0d, 0xa4, 0x6d, 0x17,
0xd1, 0x6f, 0x99, 0x66, 0xa9, 0xd6, 0x51, 0x25, 0xaf, 0x82, 0xf4, 0x06, 0x51, 0x6f, 0x17, 0x32,
0xbe, 0x36, 0xfb, 0xc1, 0xad, 0xfa, 0xe8, 0x19, 0x88, 0xd7, 0x07, 0xcc, 0xbf, 0x87, 0x61, 0xa8,
0xd5, 0xcd, 0xc7, 0xc9, 0xb4, 0xa8, 0x3a, 0x02, 0xd7, 0xd3, 0xd2, 0x8e, 0x6e, 0xb6, 0x94, 0x36,
0xff, 0x77, 0x2b, 0xd1, 0x0f, 0xb4, 0xf0, 0x55, 0xc6, 0x2e, 0x52, 0xae, 0x56, 0xdc, 0x13, 0x2e,
0x6f, 0x44, 0x71, 0x3d, 0x5a, 0x66, 0x31, 0x91, 0x5d, 0xe0, 0x70, 0x47, 0x76, 0x41, 0x2a, 0x39,
0x09, 0xa5, 0x6e, 0x47, 0x29, 0x72, 0x98, 0x50, 0x36, 0x0d, 0x24, 0x45, 0x4e, 0x25, 0x94, 0x3e,
0xd2, 0xb2, 0x7a, 0x5c, 0x45, 0x65, 0xdc, 0xea, 0xb1, 0x1b, 0x86, 0x1f, 0x84, 0x10, 0x1b, 0x15,
0x9b, 0xf9, 0x21, 0xb2, 0xcb, 0x64, 0x7a, 0x9e, 0x4f, 0xaa, 0xce, 0x79, 0x8c, 0x4f, 0x00, 0x07,
0x21, 0xa2, 0x22, 0x81, 0x6a, 0x6f, 0xff, 0x60, 0xf3, 0x2e, 0x3d, 0x53, 0xf7, 0x0b, 0x31, 0x3b,
0xe2, 0x53, 0x16, 0x2f, 0x75, 0x78, 0xf9, 0x3c, 0x34, 0xaf, 0x21, 0x6d, 0x0a, 0xf1, 0xe2, 0x96,
0x5a, 0xba, 0x3c, 0xff, 0xbe, 0x12, 0x3d, 0x6c, 0xaa, 0x7f, 0xc5, 0xb2, 0x29, 0xd7, 0xfd, 0x59,
0x97, 0x7e, 0x27, 0x9b, 0x9c, 0xf1, 0x52, 0xb2, 0x42, 0x0e, 0x7e, 0x84, 0x57, 0x32, 0xa4, 0x63,
0xca, 0xf6, 0xe3, 0x5f, 0x4a, 0xd7, 0xf6, 0xfa, 0xa8, 0x8a, 0x9b, 0x3a, 0xc2, 0xf8, 0xbd, 0xae,
0x24, 0x30, 0xbe, 0x3c, 0x08, 0x21, 0xb6, 0xd7, 0x95, 0xe0, 0x30, 0x5b, 0x24, 0x92, 0x1f, 0xf0,
0x8c, 0x17, 0xed, 0x5e, 0xaf, 0x55, 0x7d, 0x84, 0xe8, 0x75, 0x02, 0xb5, 0xb1, 0xcc, 0xf3, 0x66,
0xd6, 0xde, 0x8d, 0x80, 0x91, 0xd6, 0xea, 0xbb, 0xd9, 0x0f, 0xb6, 0x9b, 0x47, 0xc7, 0xe7, 0x19,
0x5f, 0x88, 0x6b, 0xb8, 0x79, 0x74, 0x4d, 0xd4, 0x00, 0xb1, 0x79, 0x44, 0x41, 0xbb, 0x40, 0x3a,
0x7e, 0xde, 0x24, 0xfc, 0x06, 0x2c, 0x90, 0xae, 0x72, 0x25, 0x26, 0x16, 0x48, 0x04, 0xd3, 0x1e,
0x4e, 0xa2, 0x5f, 0x51, 0xc2, 0xdf, 0x17, 0x49, 0x36, 0xb8, 0x8b, 0x28, 0x55, 0x02, 0x63, 0xf5,
0x1e, 0x0d, 0x80, 0x12, 0x57, 0xbf, 0xee, 0xb2, 0x2c, 0xe6, 0x29, 0x5a, 0x62, 0x2b, 0x0e, 0x96,
0xd8, 0xc3, 0x6c, 0x66, 0xa2, 0x84, 0x55, 0xfc, 0x1a, 0x5d, 0xb1, 0x22, 0xc9, 0xa6, 0x03, 0x4c,
0xd7, 0x91, 0x13, 0x99, 0x09, 0xc6, 0x81, 0x21, 0xac, 0x15, 0x77, 0xf2, 0xbc, 0xa8, 0xc2, 0x22,
0x36, 0x84, 0x7d, 0x24, 0x38, 0x84, 0x5b, 0x28, 0xee, 0x6d, 0x8f, 0xc7, 0x69, 0x92, 0x05, 0xbd,
0x69, 0xa4, 0x8f, 0x37, 0x8b, 0x82, 0xc1, 0x7b, 0xc4, 0xd9, 0x82, 0x37, 0x35, 0xc3, 0x5a, 0xc6,
0x05, 0x82, 0x83, 0x17, 0x80, 0x76, 0x1b, 0xa8, 0xc4, 0xc7, 0xec, 0x9a, 0x57, 0x0d, 0xcc, 0xab,
0x75, 0x6d, 0x80, 0xe9, 0x7b, 0x04, 0xb1, 0x0d, 0xc4, 0x49, 0xed, 0x6a, 0x1e, 0x7d, 0xa4, 0xe4,
0xa7, 0xac, 0x90, 0x49, 0x9c, 0xe4, 0x2c, 0x6b, 0xb6, 0x17, 0xd8, 0xbc, 0x6e, 0x51, 0xc6, 0xe5,
0x56, 0x4f, 0x5a, 0xbb, 0xfd, 0xb7, 0x95, 0xe8, 0x3e, 0xf4, 0x7b, 0xca, 0x8b, 0x59, 0xa2, 0x76,
0xa9, 0x65, 0x1d, 0x84, 0x07, 0x5f, 0x86, 0x8d, 0xb6, 0x14, 0x4c, 0x69, 0x7e, 0x78, 0x7b, 0x45,
0x9b, 0x6b, 0x8d, 0x74, 0xe6, 0xfe, 0xba, 0x98, 0xb4, 0x4e, 0x71, 0x46, 0x4d, 0x3a, 0xae, 0x84,
0x44, 0xae, 0xd5, 0x82, 0xc0, 0x0c, 0x3f, 0xcf, 0xca, 0xc6, 0x3a, 0x36, 0xc3, 0xad, 0x38, 0x38,
0xc3, 0x3d, 0x4c, 0x7b, 0xf8, 0x83, 0x28, 0xaa, 0xf7, 0x72, 0x6a, 0xbf, 0xed, 0xc7, 0x1c, 0xbd,
0xc9, 0xf3, 0x36, 0xdb, 0xf7, 0x03, 0x84, 0x5d, 0xe8, 0xea, 0xdf, 0xd5, 0x31, 0xc2, 0x00, 0xd5,
0x50, 0x22, 0x62, 0xa1, 0x03, 0x08, 0x2c, 0xe8, 0xe8, 0x4a, 0xdc, 0xe0, 0x05, 0xad, 0x24, 0xe1,
0x82, 0x6a, 0xc2, 0x1e, 0xec, 0xe9, 0x82, 0x62, 0x07, 0x7b, 0x4d, 0x31, 0x42, 0x07, 0x7b, 0x90,
0xd1, 0x86, 0x45, 0xf4, 0x9b, 0xae, 0xe1, 0x97, 0x42, 0x5c, 0xcf, 0x58, 0x71, 0x3d, 0x78, 0x42,
0x2b, 0x37, 0x8c, 0x71, 0xb4, 0xd1, 0x8b, 0xb5, 0x41, 0xcd, 0x75, 0x58, 0xa5, 0x49, 0xe7, 0x45,
0x0a, 0x82, 0x9a, 0x67, 0x43, 0x23, 0x44, 0x50, 0x23, 0x50, 0x3b, 0x2a, 0x5d, 0x6f, 0x23, 0x0e,
0xb7, 0x92, 0x9e, 0xfa, 0x88, 0x53, 0x5b, 0x49, 0x04, 0x83, 0x43, 0xe8, 0xa0, 0x60, 0xf9, 0x15,
0x3e, 0x84, 0x94, 0x28, 0x3c, 0x84, 0x1a, 0x04, 0xf6, 0xf7, 0x88, 0xb3, 0x22, 0xbe, 0xc2, 0xfb,
0xbb, 0x96, 0x85, 0xfb, 0xdb, 0x30, 0xb0, 0xbf, 0x6b, 0xc1, 0xdb, 0x44, 0x5e, 0x1d, 0x73, 0xc9,
0xf0, 0xfe, 0xf6, 0x99, 0x70, 0x7f, 0xb7, 0x58, 0x9b, 0x87, 0xb9, 0x0e, 0x47, 0xf3, 0x8b, 0x32,
0x2e, 0x92, 0x0b, 0x3e, 0x08, 0x58, 0x31, 0x10, 0x91, 0x87, 0x91, 0xb0, 0xf6, 0xf9, 0xf3, 0x95,
0xe8, 0x6e, 0xd3, 0xed, 0xa2, 0x2c, 0x75, 0xcc, 0xf3, 0xdd, 0xbf, 0xc0, 0xfb, 0x97, 0xc0, 0x89,
0xa3, 0xd6, 0x1e, 0x6a, 0xce, 0x9a, 0x80, 0x17, 0xe9, 0x3c, 0x2b, 0x4d, 0xa1, 0xbe, 0xec, 0x63,
0xdd, 0x51, 0x20, 0xd6, 0x84, 0x5e, 0x8a, 0x76, 0x39, 0xd6, 0xfd, 0xd3, 0xc8, 0x0e, 0x27, 0x25,
0x58, 0x8e, 0x9b, 0xf6, 0x76, 0x08, 0x62, 0x39, 0xc6, 0x49, 0x38, 0x14, 0x0e, 0x0a, 0x31, 0xcf,
0xcb, 0x8e, 0xa1, 0x00, 0xa0, 0xf0, 0x50, 0x68, 0xc3, 0xda, 0xe7, 0xbb, 0xe8, 0xb7, 0xdd, 0xe1,
0xe7, 0x36, 0xf6, 0x16, 0x3d, 0xa6, 0xb0, 0x26, 0x1e, 0xf6, 0xc5, 0x6d, 0x42, 0xda, 0x78, 0x96,
0x7b, 0x5c, 0xb2, 0x24, 0x2d, 0x07, 0xab, 0xb8, 0x8d, 0x46, 0x4e, 0x24, 0xa4, 0x18, 0x07, 0xe3,
0xdb, 0xde, 0x3c, 0x4f, 0x93, 0xb8, 0x7d, 0xd0, 0xad, 0x75, 0x8d, 0x38, 0x1c, 0xdf, 0x5c, 0x0c,
0xc6, 0xeb, 0x6a, 0xc9, 0x57, 0xff, 0x19, 0x2f, 0x73, 0x8e, 0xc7, 0x6b, 0x0f, 0x09, 0xc7, 0x6b,
0x88, 0xc2, 0xfa, 0x8c, 0xb8, 0x3c, 0x62, 0x4b, 0x31, 0x27, 0xe2, 0xb5, 0x11, 0x87, 0xeb, 0xe3,
0x62, 0x36, 0x27, 0x34, 0x1e, 0x0e, 0x33, 0xc9, 0x8b, 0x8c, 0xa5, 0xfb, 0x29, 0x9b, 0x96, 0x03,
0x22, 0xc6, 0xf8, 0x14, 0x91, 0x13, 0xd2, 0x34, 0xd2, 0x8c, 0x87, 0xe5, 0x3e, 0x5b, 0x88, 0x22,
0x91, 0x74, 0x33, 0x5a, 0xa4, 0xb3, 0x19, 0x3d, 0x14, 0xf5, 0xb6, 0x53, 0xc4, 0x57, 0xc9, 0x82,
0x4f, 0x02, 0xde, 0x1a, 0xa4, 0x87, 0x37, 0x07, 0x45, 0x3a, 0x6d, 0x24, 0xe6, 0x45, 0xcc, 0xc9,
0x4e, 0xab, 0xc5, 0x9d, 0x9d, 0x66, 0x30, 0xed, 0xe1, 0xaf, 0x56, 0xa2, 0xdf, 0xa9, 0xa5, 0xee,
0xe9, 0xf3, 0x1e, 0x2b, 0xaf, 0x2e, 0x04, 0x2b, 0x26, 0x83, 0xcf, 0x30, 0x3b, 0x28, 0x6a, 0x5c,
0x3f, 0xbb, 0x8d, 0x0a, 0x6c, 0xd6, 0xa3, 0xa4, 0x74, 0x66, 0x1c, 0xda, 0xac, 0x1e, 0x12, 0x6e,
0x56, 0x88, 0xc2, 0x00, 0xa2, 0xe4, 0xf5, 0x51, 0xcc, 0x2a, 0xa9, 0xef, 0x9f, 0xc7, 0xac, 0x75,
0x72, 0x30, 0x3e, 0x56, 0x42, 0x7f, 0xb4, 0x6c, 0x51, 0x36, 0xf0, 0x11, 0x33, 0xec, 0x8b, 0x93,
0x9e, 0xcd, 0xac, 0x08, 0x7b, 0x6e, 0xcd, 0x8c, 0x61, 0x5f, 0x9c, 0xf0, 0xec, 0x84, 0xb5, 0x90,
0x67, 0x24, 0xb4, 0x0d, 0xfb, 0xe2, 0x30, 0xfb, 0xd2, 0x4c, 0xb3, 0x2e, 0x3c, 0x09, 0xd8, 0x81,
0x6b, 0xc3, 0x46, 0x2f, 0x56, 0x3b, 0xfc, 0x9b, 0x95, 0xe8, 0xfb, 0xd6, 0xe3, 0xb1, 0x98, 0x24,
0x97, 0xcb, 0x1a, 0x7a, 0xc3, 0xd2, 0x39, 0x2f, 0x07, 0xcf, 0x28, 0x6b, 0x6d, 0xd6, 0x94, 0xe0,
0xf9, 0xad, 0x74, 0xe0, 0xdc, 0xd9, 0xc9, 0xf3, 0x74, 0x39, 0xe6, 0xb3, 0x3c, 0x25, 0xe7, 0x8e,
0x87, 0x84, 0xe7, 0x0e, 0x44, 0x61, 0x56, 0x3e, 0x16, 0x55, 0xce, 0x8f, 0x66, 0xe5, 0x4a, 0x14,
0xce, 0xca, 0x1b, 0x04, 0xe6, 0x4a, 0x63, 0xb1, 0x2b, 0xd2, 0x94, 0xc7, 0xb2, 0xfd, 0x04, 0xdb,
0x68, 0x5a, 0x22, 0x9c, 0x2b, 0x01, 0xd2, 0x9e, 0xc6, 0x34, 0x7b, 0x48, 0x56, 0xf0, 0x97, 0xcb,
0xa3, 0x24, 0xbb, 0x1e, 0xe0, 0x69, 0x81, 0x05, 0x88, 0xd3, 0x18, 0x14, 0x84, 0x7b, 0xd5, 0xf3,
0x6c, 0x22, 0xf0, 0xbd, 0x6a, 0x25, 0x09, 0xef, 0x55, 0x35, 0x01, 0x4d, 0x9e, 0x71, 0xca, 0x64,
0x25, 0x09, 0x9b, 0xd4, 0x04, 0x16, 0x0a, 0xf5, 0x99, 0x3d, 0x19, 0x0a, 0xc1, 0x29, 0xfd, 0x5a,
0x27, 0x07, 0x47, 0x68, 0xb3, 0x69, 0xdd, 0xe7, 0x32, 0xbe, 0xc2, 0x47, 0xa8, 0x87, 0x84, 0x47,
0x28, 0x44, 0x61, 0x95, 0xc6, 0xc2, 0x6c, 0xba, 0x57, 0xf1, 0xf1, 0xd1, 0xda, 0x70, 0xaf, 0x75,
0x72, 0x70, 0x1b, 0x79, 0x38, 0x53, 0x6d, 0x86, 0x0e, 0xf2, 0x5a, 0x16, 0xde, 0x46, 0x1a, 0x06,
0x96, 0xbe, 0x16, 0x54, 0xcd, 0x89, 0x97, 0xde, 0xca, 0xc3, 0xa5, 0xf7, 0x38, 0xed, 0xe4, 0x5f,
0xcc, 0x36, 0xae, 0x96, 0x9e, 0x88, 0x6a, 0x8e, 0xbc, 0x61, 0x69, 0x32, 0x61, 0x92, 0x8f, 0xc5,
0x35, 0xcf, 0xf0, 0x1d, 0x93, 0x2e, 0x6d, 0xcd, 0x0f, 0x3d, 0x85, 0xf0, 0x8e, 0x29, 0xac, 0x08,
0xc7, 0x49, 0x4d, 0x9f, 0x97, 0x7c, 0x97, 0x95, 0x44, 0x24, 0xf3, 0x90, 0xf0, 0x38, 0x81, 0x28,
0xcc, 0x57, 0x6b, 0xf9, 0xab, 0x77, 0x39, 0x2f, 0x12, 0x9e, 0xc5, 0x1c, 0xcf, 0x57, 0x21, 0x15,
0xce, 0x57, 0x11, 0x1a, 0xee, 0xd5, 0xf6, 0x98, 0xe4, 0x2f, 0x97, 0xe3, 0x64, 0xc6, 0x4b, 0xc9,
0x66, 0x39, 0xbe, 0x57, 0x03, 0x50, 0x78, 0xaf, 0xd6, 0x86, 0x5b, 0x47, 0x43, 0x26, 0x20, 0xb6,
0x2f, 0xbe, 0x40, 0x22, 0x70, 0xf1, 0x85, 0x40, 0x61, 0xc3, 0x5a, 0x00, 0x3d, 0x1c, 0x6e, 0x59,
0x09, 0x1e, 0x0e, 0xd3, 0x74, 0xeb, 0xc0, 0xcd, 0x30, 0xa3, 0x6a, 0x6a, 0x76, 0x14, 0x7d, 0xe4,
0x4e, 0xd1, 0x8d, 0x5e, 0x2c, 0x7e, 0xc2, 0x77, 0xc6, 0x53, 0xa6, 0x96, 0xad, 0xc0, 0x31, 0x5a,
0xc3, 0xf4, 0x39, 0xe1, 0x73, 0x58, 0xed, 0xf0, 0x2f, 0x56, 0xa2, 0x4f, 0x30, 0x8f, 0xaf, 0x73,
0xe5, 0xf7, 0x69, 0xb7, 0xad, 0x9a, 0x24, 0x6e, 0xf6, 0x84, 0x35, 0x74, 0x19, 0xfe, 0x24, 0xfa,
0xb8, 0x11, 0xd9, 0x8b, 0x3f, 0xba, 0x00, 0x7e, 0xd2, 0x66, 0xca, 0x0f, 0x39, 0xe3, 0x7e, 0xbb,
0x37, 0x6f, 0xf7, 0x43, 0x7e, 0xb9, 0x4a, 0xb0, 0x1f, 0x32, 0x36, 0xb4, 0x98, 0xd8, 0x0f, 0x21,
0x98, 0x9d, 0x9d, 0x6e, 0xf5, 0xde, 0x26, 0xf2, 0x4a, 0xe5, 0x5b, 0x60, 0x76, 0x7a, 0x65, 0x35,
0x10, 0x31, 0x3b, 0x49, 0x18, 0x66, 0x24, 0x0d, 0x58, 0xcd, 0x4d, 0x2c, 0x96, 0x1b, 0x43, 0xee,
0xcc, 0x5c, 0xef, 0x06, 0xe1, 0x78, 0x6d, 0xc4, 0x7a, 0xeb, 0xf3, 0x24, 0x64, 0x01, 0x6c, 0x7f,
0x36, 0x7a, 0xb1, 0xda, 0xe1, 0x9f, 0x45, 0xdf, 0x6b, 0x55, 0x6c, 0x9f, 0x33, 0x39, 0x2f, 0xf8,
0x64, 0xb0, 0xdd, 0x51, 0xee, 0x06, 0x34, 0xae, 0x9f, 0xf6, 0x57, 0x68, 0xe5, 0xe8, 0x0d, 0x57,
0x0f, 0x2b, 0x53, 0x86, 0x67, 0x21, 0x93, 0x3e, 0x1b, 0xcc, 0xd1, 0x69, 0x9d, 0xd6, 0x36, 0xdb,
0x1d, 0x5d, 0x3b, 0x0b, 0x96, 0xa4, 0xea, 0x21, 0xdd, 0x67, 0x21, 0xa3, 0x1e, 0x1a, 0xdc, 0x66,
0x93, 0x2a, 0xad, 0xc8, 0xac, 0xe6, 0xb8, 0xb3, 0x3d, 0xdb, 0xa4, 0x23, 0x01, 0xb2, 0x3b, 0xdb,
0xea, 0x49, 0x6b, 0xb7, 0xb2, 0x59, 0xf2, 0xaa, 0x9f, 0xdd, 0x41, 0x8e, 0x79, 0xd5, 0xaa, 0xc8,
0x48, 0xdf, 0xea, 0x49, 0x6b, 0xaf, 0x7f, 0x1a, 0x7d, 0xdc, 0xf6, 0xaa, 0x17, 0xa2, 0xed, 0x4e,
0x53, 0x60, 0x2d, 0x7a, 0xda, 0x5f, 0xc1, 0x6e, 0x69, 0xbe, 0x4a, 0x4a, 0x29, 0x8a, 0xe5, 0xe8,
0x4a, 0xdc, 0x34, 0x17, 0xea, 0xfd, 0xd9, 0xaa, 0x81, 0xa1, 0x43, 0x10, 0x5b, 0x1a, 0x9c, 0x6c,
0xb9, 0xb2, 0x17, 0xef, 0x4b, 0xc2, 0x95, 0x43, 0x74, 0xb8, 0xf2, 0x49, 0x1b, 0xab, 0x9a, 0x5a,
0xd9, 0xb7, 0x04, 0xd6, 0xf0, 0xa2, 0xb6, 0xdf, 0x14, 0x58, 0xef, 0x06, 0x6d, 0xc6, 0xa2, 0xc5,
0x7b, 0xc9, 0xe5, 0xa5, 0xa9, 0x13, 0x5e, 0x52, 0x17, 0x21, 0x32, 0x16, 0x02, 0xb5, 0x49, 0xf7,
0x7e, 0x92, 0x72, 0x75, 0xa2, 0xff, 0xfa, 0xf2, 0x32, 0x15, 0x6c, 0x02, 0x92, 0xee, 0x4a, 0x3c,
0x74, 0xe5, 0x44, 0xd2, 0x8d, 0x71, 0xf6, 0x19, 0x71, 0x25, 0x3d, 0xe3, 0xb1, 0xc8, 0xe2, 0x24,
0x85, 0xf7, 0x0b, 0x95, 0xa6, 0x11, 0x12, 0xcf, 0x88, 0x5b, 0x90, 0x5d, 0x18, 0x2b, 0x51, 0x35,
0xed, 0x9b, 0xf2, 0x3f, 0x6a, 0x2b, 0x3a, 0x62, 0x62, 0x61, 0x44, 0x30, 0xbb, 0xf7, 0xac, 0x84,
0xe7, 0xb9, 0x32, 0x7e, 0xaf, 0xad, 0x55, 0x4b, 0x88, 0xbd, 0xa7, 0x4f, 0xd8, 0x3d, 0x54, 0xf5,
0xfb, 0x9e, 0xb8, 0xc9, 0x94, 0xd1, 0x07, 0x6d, 0x95, 0x46, 0x46, 0xec, 0xa1, 0x20, 0xa3, 0x0d,
0xff, 0x24, 0xfa, 0xff, 0xca, 0x70, 0x21, 0xf2, 0xc1, 0x1d, 0x44, 0xa1, 0x70, 0xee, 0xea, 0xdd,
0x25, 0xe5, 0xf6, 0xaa, 0xa3, 0x19, 0x1b, 0xe7, 0x25, 0x9b, 0xc2, 0xab, 0x8e, 0xb6, 0xc7, 0x95,
0x94, 0xb8, 0xea, 0xd8, 0xa6, 0xfc, 0x51, 0x71, 0x22, 0x26, 0xda, 0x3a, 0x52, 0x43, 0x23, 0x0c,
0x8d, 0x0a, 0x17, 0xb2, 0xc9, 0xcc, 0x09, 0x5b, 0x24, 0x53, 0xb3, 0xe0, 0xd4, 0x71, 0xab, 0x04,
0xc9, 0x8c, 0x65, 0x86, 0x0e, 0x44, 0x24, 0x33, 0x24, 0xac, 0x7d, 0xfe, 0xf3, 0x4a, 0x74, 0xcf,
0x32, 0x07, 0xcd, 0x69, 0xdd, 0x61, 0x76, 0x29, 0xaa, 0xd4, 0xe7, 0x28, 0xc9, 0xae, 0xcb, 0xc1,
0x17, 0x94, 0x49, 0x9c, 0x37, 0x45, 0xf9, 0xf2, 0xd6, 0x7a, 0x36, 0x6b, 0x6d, 0x8e, 0xb2, 0xec,
0xf3, 0xec, 0x5a, 0x03, 0x64, 0xad, 0xe6, 0xc4, 0x0b, 0x72, 0x44, 0xd6, 0x1a, 0xe2, 0x6d, 0x17,
0x1b, 0xe7, 0xa9, 0xc8, 0x60, 0x17, 0x5b, 0x0b, 0x95, 0x90, 0xe8, 0xe2, 0x16, 0x64, 0xe3, 0x71,
0x23, 0xaa, 0x4f, 0x5d, 0x76, 0xd2, 0x14, 0xc4, 0x63, 0xa3, 0x6a, 0x00, 0x22, 0x1e, 0xa3, 0xa0,
0xf6, 0x73, 0x16, 0x7d, 0xa7, 0x6a, 0xd2, 0xd3, 0x82, 0x2f, 0x12, 0x0e, 0xaf, 0x5e, 0x38, 0x12,
0x62, 0xfe, 0xfb, 0x84, 0x9d, 0x59, 0xe7, 0x59, 0x99, 0xa7, 0xac, 0xbc, 0xd2, 0x0f, 0xe3, 0xfd,
0x3a, 0x37, 0x42, 0xf8, 0x38, 0xfe, 0x51, 0x07, 0x65, 0x83, 0x7a, 0x23, 0x33, 0x21, 0x66, 0x15,
0x57, 0x6d, 0x85, 0x99, 0xb5, 0x4e, 0xce, 0x9e, 0x78, 0x1f, 0xb0, 0x34, 0xe5, 0xc5, 0xb2, 0x91,
0x1d, 0xb3, 0x2c, 0xb9, 0xe4, 0xa5, 0x04, 0x27, 0xde, 0x9a, 0x1a, 0x42, 0x8c, 0x38, 0xf1, 0x0e,
0xe0, 0x36, 0x9b, 0x07, 0x9e, 0x0f, 0xb3, 0x09, 0x7f, 0x07, 0xb2, 0x79, 0x68, 0x47, 0x31, 0x44,
0x36, 0x4f, 0xb1, 0xf6, 0xe4, 0xf7, 0x65, 0x2a, 0xe2, 0x6b, 0xbd, 0x04, 0xf8, 0x1d, 0xac, 0x24,
0x70, 0x0d, 0x78, 0x10, 0x42, 0xec, 0x22, 0xa0, 0x04, 0x67, 0x3c, 0x4f, 0x59, 0x0c, 0xef, 0xdf,
0xd4, 0x3a, 0x5a, 0x46, 0x2c, 0x02, 0x90, 0x01, 0xc5, 0xd5, 0xf7, 0x7a, 0xb0, 0xe2, 0x82, 0x6b,
0x3d, 0x0f, 0x42, 0x88, 0x5d, 0x06, 0x95, 0x60, 0x94, 0xa7, 0x89, 0x04, 0xd3, 0xa0, 0xd6, 0x50,
0x12, 0x62, 0x1a, 0xf8, 0x04, 0x30, 0x79, 0xcc, 0x8b, 0x29, 0x47, 0x4d, 0x2a, 0x49, 0xd0, 0x64,
0x43, 0xd8, 0x4b, 0xa6, 0x75, 0xdd, 0x45, 0xbe, 0x04, 0x97, 0x4c, 0x75, 0xb5, 0x44, 0xbe, 0x24,
0x2e, 0x99, 0x7a, 0x00, 0x28, 0xe2, 0x29, 0x2b, 0x25, 0x5e, 0x44, 0x25, 0x09, 0x16, 0xb1, 0x21,
0xec, 0x1a, 0x5d, 0x17, 0x71, 0x2e, 0xc1, 0x1a, 0xad, 0x0b, 0xe0, 0x3c, 0x81, 0xbe, 0x4b, 0xca,
0x6d, 0x24, 0xa9, 0x7b, 0x85, 0xcb, 0xfd, 0x84, 0xa7, 0x93, 0x12, 0x44, 0x12, 0xdd, 0xee, 0x8d,
0x94, 0x88, 0x24, 0x6d, 0x0a, 0x0c, 0x25, 0x7d, 0x3e, 0x8e, 0xd5, 0x0e, 0x1c, 0x8d, 0x3f, 0x08,
0x21, 0x36, 0x3e, 0x35, 0x85, 0xde, 0x65, 0x45, 0x91, 0x54, 0x8b, 0xff, 0x2a, 0x5e, 0xa0, 0x46,
0x4e, 0xc4, 0x27, 0x8c, 0x03, 0xd3, 0xab, 0x09, 0xdc, 0x58, 0xc1, 0x60, 0xe8, 0xfe, 0x34, 0xc8,
0xd8, 0x8c, 0x53, 0x49, 0x9c, 0x47, 0xa8, 0x58, 0x6b, 0x22, 0x4f, 0x50, 0x57, 0xbb, 0x30, 0xe7,
0x25, 0x10, 0xe3, 0xe2, 0x58, 0x2c, 0xf8, 0x58, 0xbc, 0x7a, 0x97, 0x94, 0x32, 0xc9, 0xa6, 0x7a,
0xe5, 0x7e, 0x4e, 0x58, 0xc2, 0x60, 0xe2, 0x25, 0x90, 0x4e, 0x25, 0x9b, 0x40, 0x80, 0xb2, 0x9c,
0xf0, 0x1b, 0x34, 0x81, 0x80, 0x16, 0x0d, 0x47, 0x24, 0x10, 0x21, 0xde, 0x9e, 0xa3, 0x18, 0xe7,
0xfa, 0x45, 0xdc, 0xb1, 0x68, 0x72, 0x39, 0xca, 0x1a, 0x04, 0x89, 0xad, 0x6c, 0x50, 0xc1, 0xee,
0x2f, 0x8d, 0x7f, 0x3b, 0xc5, 0xd6, 0x09, 0x3b, 0xed, 0x69, 0xf6, 0xb8, 0x07, 0x89, 0xb8, 0xb2,
0xf7, 0x00, 0x28, 0x57, 0xed, 0x6b, 0x00, 0x8f, 0x7b, 0x90, 0xce, 0x99, 0x8c, 0x5b, 0xad, 0x97,
0x2c, 0xbe, 0x9e, 0x16, 0x62, 0x9e, 0x4d, 0x76, 0x45, 0x2a, 0x0a, 0x70, 0x26, 0xe3, 0x95, 0x1a,
0xa0, 0xc4, 0x99, 0x4c, 0x87, 0x8a, 0xcd, 0xe0, 0xdc, 0x52, 0xec, 0xa4, 0xc9, 0x14, 0xee, 0xa8,
0x3d, 0x43, 0x0a, 0x20, 0x32, 0x38, 0x14, 0x44, 0x06, 0x51, 0xbd, 0xe3, 0x96, 0x49, 0xcc, 0xd2,
0xda, 0xdf, 0x36, 0x6d, 0xc6, 0x03, 0x3b, 0x07, 0x11, 0xa2, 0x80, 0xd4, 0x73, 0x3c, 0x2f, 0xb2,
0xc3, 0x4c, 0x0a, 0xb2, 0x9e, 0x0d, 0xd0, 0x59, 0x4f, 0x07, 0x04, 0x61, 0x75, 0xcc, 0xdf, 0x55,
0xa5, 0xa9, 0xfe, 0xc1, 0xc2, 0x6a, 0xf5, 0xfb, 0x50, 0xcb, 0x43, 0x61, 0x15, 0x70, 0xa0, 0x32,
0xda, 0x49, 0x3d, 0x60, 0x02, 0xda, 0xfe, 0x30, 0x59, 0xef, 0x06, 0x71, 0x3f, 0x23, 0xb9, 0x4c,
0x79, 0xc8, 0x8f, 0x02, 0xfa, 0xf8, 0x69, 0x40, 0x7b, 0xdc, 0xe2, 0xd5, 0xe7, 0x8a, 0xc7, 0xd7,
0xad, 0x6b, 0x4d, 0x7e, 0x41, 0x6b, 0x84, 0x38, 0x6e, 0x21, 0x50, 0xbc, 0x8b, 0x0e, 0x63, 0x91,
0x85, 0xba, 0xa8, 0x92, 0xf7, 0xe9, 0x22, 0xcd, 0xd9, 0xcd, 0xaf, 0x91, 0xea, 0x91, 0x59, 0x77,
0xd3, 0x06, 0x61, 0xc1, 0x85, 0x88, 0xcd, 0x2f, 0x09, 0xdb, 0x9c, 0x1c, 0xfa, 0x3c, 0x6e, 0xdf,
0xf9, 0x6e, 0x59, 0x39, 0xa6, 0xef, 0x7c, 0x53, 0x2c, 0x5d, 0xc9, 0x7a, 0x8c, 0x74, 0x58, 0xf1,
0xc7, 0xc9, 0x66, 0x3f, 0xd8, 0x6e, 0x79, 0x3c, 0x9f, 0xbb, 0x29, 0x67, 0x45, 0xed, 0x75, 0x2b,
0x60, 0xc8, 0x62, 0xc4, 0x96, 0x27, 0x80, 0x83, 0x10, 0xe6, 0x79, 0xde, 0x15, 0x99, 0xe4, 0x99,
0xc4, 0x42, 0x98, 0x6f, 0x4c, 0x83, 0xa1, 0x10, 0x46, 0x29, 0x80, 0x71, 0xab, 0xce, 0x83, 0xb8,
0x3c, 0x61, 0x33, 0x34, 0x63, 0xab, 0xcf, 0x7a, 0x6a, 0x79, 0x68, 0xdc, 0x02, 0xce, 0x79, 0xc8,
0xe7, 0x7a, 0x19, 0xb3, 0x62, 0x6a, 0x4e, 0x37, 0x26, 0x83, 0xa7, 0xb4, 0x1d, 0x9f, 0x24, 0x1e,
0xf2, 0x85, 0x35, 0x40, 0xd8, 0x39, 0x9c, 0xb1, 0xa9, 0xa9, 0x29, 0x52, 0x03, 0x25, 0x6f, 0x55,
0x75, 0xbd, 0x1b, 0x04, 0x7e, 0xde, 0x24, 0x13, 0x2e, 0x02, 0x7e, 0x94, 0xbc, 0x8f, 0x1f, 0x08,
0x82, 0xec, 0xad, 0xaa, 0x77, 0xbd, 0xa3, 0xdb, 0xc9, 0x26, 0x7a, 0x1f, 0x3b, 0x24, 0x9a, 0x07,
0x70, 0xa1, 0xec, 0x8d, 0xe0, 0xc1, 0x1c, 0x6d, 0x0e, 0x68, 0x43, 0x73, 0xd4, 0x9c, 0xbf, 0xf6,
0x99, 0xa3, 0x18, 0xac, 0x7d, 0xfe, 0x4c, 0xcf, 0xd1, 0x3d, 0x26, 0x59, 0x95, 0xb7, 0xbf, 0x49,
0xf8, 0x8d, 0xde, 0x08, 0x23, 0xf5, 0x6d, 0xa8, 0xa1, 0x7a, 0x55, 0x11, 0xec, 0x8a, 0xb7, 0x7b,
0xf3, 0x01, 0xdf, 0x7a, 0x87, 0xd0, 0xe9, 0x1b, 0x6c, 0x15, 0xb6, 0x7b, 0xf3, 0x01, 0xdf, 0xfa,
0x1d, 0xe8, 0x4e, 0xdf, 0xe0, 0x45, 0xe8, 0xed, 0xde, 0xbc, 0xf6, 0xfd, 0x97, 0xcd, 0xc4, 0x75,
0x9d, 0x57, 0x79, 0x58, 0x2c, 0x93, 0x05, 0xc7, 0xd2, 0x49, 0xdf, 0x9e, 0x41, 0x43, 0xe9, 0x24,
0xad, 0xe2, 0x7c, 0x97, 0x07, 0x2b, 0xc5, 0xa9, 0x28, 0x13, 0xf5, 0x90, 0xfe, 0x79, 0x0f, 0xa3,
0x0d, 0x1c, 0xda, 0x34, 0x85, 0x94, 0xec, 0xe3, 0x46, 0x0f, 0xb5, 0xb7, 0x98, 0x37, 0x03, 0xf6,
0xda, 0x97, 0x99, 0xb7, 0x7a, 0xd2, 0xf6, 0xc1, 0x9f, 0xc7, 0xb8, 0x4f, 0x1c, 0x43, 0xbd, 0x8a,
0x3e, 0x74, 0x7c, 0xda, 0x5f, 0x41, 0xbb, 0xff, 0xeb, 0x66, 0x5f, 0x01, 0xfd, 0xeb, 0x49, 0xf0,
0xac, 0x8f, 0x45, 0x30, 0x11, 0x9e, 0xdf, 0x4a, 0x47, 0x17, 0xe4, 0xef, 0x9b, 0x0d, 0x74, 0x83,
0xaa, 0x77, 0x39, 0xd4, 0xbb, 0x7f, 0x7a, 0x4e, 0x84, 0xba, 0xd5, 0xc2, 0x70, 0x66, 0xbc, 0xb8,
0xa5, 0x96, 0xf3, 0x95, 0x26, 0x0f, 0xd6, 0xef, 0x1c, 0x3a, 0xe5, 0x09, 0x59, 0x76, 0x68, 0x58,
0xa0, 0x2f, 0x6e, 0xab, 0x46, 0xcd, 0x15, 0x07, 0x56, 0x5f, 0x65, 0x78, 0xde, 0xd3, 0xb0, 0xf7,
0x9d, 0x86, 0xcf, 0x6f, 0xa7, 0xa4, 0xcb, 0xf2, 0x1f, 0x2b, 0xd1, 0x23, 0x8f, 0xb5, 0xcf, 0x13,
0xc0, 0xa9, 0xc7, 0x8f, 0x03, 0xf6, 0x29, 0x25, 0x53, 0xb8, 0xdf, 0xfd, 0xe5, 0x94, 0xed, 0x27,
0x8d, 0x3c, 0x95, 0xfd, 0x24, 0x95, 0xbc, 0x68, 0x7f, 0xd2, 0xc8, 0xb7, 0x5b, 0x53, 0x43, 0xfa,
0x93, 0x46, 0x01, 0xdc, 0xf9, 0xa4, 0x11, 0xe2, 0x19, 0xfd, 0xa4, 0x11, 0x6a, 0x2d, 0xf8, 0x49,
0xa3, 0xb0, 0x06, 0x15, 0xde, 0x9b, 0x22, 0xd4, 0xe7, 0xd6, 0xbd, 0x2c, 0xfa, 0xc7, 0xd8, 0xcf,
0x6e, 0xa3, 0x42, 0x2c, 0x70, 0x35, 0xa7, 0xee, 0xb9, 0xf5, 0x68, 0x53, 0xef, 0xae, 0xdb, 0x76,
0x6f, 0x5e, 0xfb, 0xfe, 0xa9, 0xde, 0xdd, 0x98, 0x70, 0x2e, 0x0a, 0xf5, 0x39, 0xab, 0x8d, 0x50,
0x78, 0xae, 0x2c, 0xb8, 0x3d, 0xbf, 0xd9, 0x0f, 0x26, 0xaa, 0x5b, 0x11, 0xba, 0xd3, 0x87, 0x5d,
0x86, 0x40, 0x97, 0x6f, 0xf7, 0xe6, 0x89, 0x65, 0xa4, 0xf6, 0x5d, 0xf7, 0x76, 0x0f, 0x63, 0x7e,
0x5f, 0x3f, 0xed, 0xaf, 0xa0, 0xdd, 0x2f, 0x74, 0xda, 0xe8, 0xba, 0x57, 0xfd, 0xbc, 0xd5, 0x65,
0x6a, 0xe4, 0x75, 0xf3, 0xb0, 0x2f, 0x1e, 0x4a, 0x20, 0xdc, 0x25, 0xb4, 0x2b, 0x81, 0x40, 0x97,
0xd1, 0xcf, 0x6f, 0xa7, 0xa4, 0xcb, 0xf2, 0x4f, 0x2b, 0xd1, 0x5d, 0xb2, 0x2c, 0x7a, 0x1c, 0x7c,
0xd1, 0xd7, 0x32, 0x18, 0x0f, 0x5f, 0xde, 0x5a, 0x4f, 0x17, 0xea, 0x5f, 0x57, 0xa2, 0x7b, 0x81,
0x42, 0xd5, 0x03, 0xe4, 0x16, 0xd6, 0xfd, 0x81, 0xf2, 0xc3, 0xdb, 0x2b, 0x52, 0xcb, 0xbd, 0x8b,
0x8f, 0xda, 0x1f, 0xe3, 0x09, 0xd8, 0x1e, 0xd1, 0x1f, 0xe3, 0xe9, 0xd6, 0x82, 0x87, 0x3c, 0xec,
0xa2, 0xd9, 0x74, 0xa1, 0x87, 0x3c, 0xea, 0x86, 0x1a, 0xd8, 0x73, 0xac, 0x75, 0x72, 0x98, 0x93,
0x57, 0xef, 0x72, 0x96, 0x4d, 0x68, 0x27, 0xb5, 0xbc, 0xdb, 0x89, 0xe1, 0xe0, 0xe1, 0x58, 0x25,
0x3d, 0x13, 0xcd, 0x46, 0xea, 0x31, 0xa5, 0x6f, 0x90, 0xe0, 0xe1, 0x58, 0x0b, 0x25, 0xbc, 0xe9,
0xac, 0x31, 0xe4, 0x0d, 0x24, 0x8b, 0x4f, 0xfa, 0xa0, 0x20, 0x45, 0x37, 0xde, 0xcc, 0x99, 0xfb,
0x66, 0xc8, 0x4a, 0xeb, 0xdc, 0x7d, 0xab, 0x27, 0x4d, 0xb8, 0x1d, 0x71, 0xf9, 0x15, 0x67, 0x13,
0x5e, 0x04, 0xdd, 0x1a, 0xaa, 0x97, 0x5b, 0x97, 0xc6, 0xdc, 0xee, 0x8a, 0x74, 0x3e, 0xcb, 0x74,
0x67, 0x92, 0x6e, 0x5d, 0xaa, 0xdb, 0x2d, 0xa0, 0xe1, 0xb1, 0xa0, 0x75, 0xab, 0xd2, 0xcb, 0x27,
0x61, 0x33, 0x5e, 0x56, 0xb9, 0xd1, 0x8b, 0xa5, 0xeb, 0xa9, 0x87, 0x51, 0x47, 0x3d, 0xc1, 0x48,
0xda, 0xea, 0x49, 0xc3, 0xf3, 0x39, 0xc7, 0xad, 0x19, 0x4f, 0xdb, 0x1d, 0xb6, 0x5a, 0x43, 0xea,
0x69, 0x7f, 0x05, 0x78, 0x1a, 0xaa, 0x47, 0xd5, 0x51, 0x52, 0xca, 0xfd, 0x24, 0x4d, 0x07, 0x1b,
0x81, 0x61, 0xd2, 0x40, 0xc1, 0xd3, 0x50, 0x04, 0x26, 0x46, 0x72, 0x73, 0x7a, 0x98, 0x0d, 0xba,
0xec, 0x28, 0xaa, 0xd7, 0x48, 0x76, 0x69, 0x70, 0xa2, 0xe5, 0x34, 0xb5, 0xa9, 0xed, 0x30, 0xdc,
0x70, 0xad, 0x0a, 0x6f, 0xf7, 0xe6, 0xc1, 0xe3, 0x76, 0x45, 0xa9, 0x95, 0xe5, 0x21, 0x65, 0xc2,
0x5b, 0x49, 0x1e, 0x75, 0x50, 0xe0, 0x54, 0xb0, 0x9e, 0x46, 0x6f, 0x93, 0xc9, 0x94, 0x4b, 0xf4,
0x49, 0x91, 0x0b, 0x04, 0x9f, 0x14, 0x01, 0x10, 0x74, 0x5d, 0xfd, 0xbb, 0x39, 0x0e, 0x3d, 0x9c,
0x60, 0x5d, 0xa7, 0x95, 0x1d, 0x2a, 0xd4, 0x75, 0x28, 0x0d, 0xa2, 0x81, 0x71, 0xab, 0x5f, 0xc7,
0x7f, 0x12, 0x32, 0x03, 0xde, 0xc9, 0xdf, 0xe8, 0xc5, 0x82, 0x15, 0xc5, 0x3a, 0x4c, 0x66, 0x89,
0xc4, 0x56, 0x14, 0xc7, 0x46, 0x85, 0x84, 0x56, 0x94, 0x36, 0x4a, 0x55, 0xaf, 0xca, 0x11, 0x0e,
0x27, 0xe1, 0xea, 0xd5, 0x4c, 0xbf, 0xea, 0x19, 0xb6, 0xf5, 0x60, 0x33, 0x33, 0x43, 0x46, 0x5e,
0xe9, 0xcd, 0x32, 0x32, 0xb6, 0xd5, 0x6b, 0x9a, 0x10, 0x0c, 0x45, 0x1d, 0x4a, 0x01, 0x1e, 0xd8,
0x57, 0x5c, 0xf3, 0xec, 0x35, 0xcf, 0x39, 0x2b, 0x58, 0x16, 0xa3, 0x9b, 0x53, 0x65, 0xb0, 0x45,
0x86, 0x36, 0xa7, 0xa4, 0x06, 0x78, 0x6c, 0xee, 0xbf, 0x60, 0x89, 0x4c, 0x05, 0xf3, 0x26, 0xa3,
0xff, 0x7e, 0xe5, 0xe3, 0x1e, 0x24, 0x7c, 0x6c, 0xde, 0x00, 0xe6, 0xe0, 0xbb, 0x76, 0xfa, 0x59,
0xc0, 0x94, 0x8f, 0x86, 0x36, 0xc2, 0xb4, 0x0a, 0x18, 0xd4, 0x26, 0xc1, 0xe5, 0xf2, 0x27, 0x7c,
0x89, 0x0d, 0x6a, 0x9b, 0x9f, 0x2a, 0x24, 0x34, 0xa8, 0xdb, 0x28, 0xc8, 0x33, 0xdd, 0x7d, 0xd0,
0x6a, 0x40, 0xdf, 0xdd, 0xfa, 0xac, 0x75, 0x72, 0x60, 0xe6, 0xec, 0x25, 0x0b, 0xef, 0x39, 0x01,
0x52, 0xd0, 0xbd, 0x64, 0x81, 0x3f, 0x26, 0xd8, 0xe8, 0xc5, 0xc2, 0x47, 0xf2, 0x4c, 0xf2, 0x77,
0xcd, 0xb3, 0x72, 0xa4, 0xb8, 0x4a, 0xde, 0x7a, 0x58, 0xbe, 0xde, 0x0d, 0xda, 0x0b, 0xb0, 0xa7,
0x85, 0x88, 0x79, 0x59, 0xea, 0x2f, 0x14, 0xfa, 0x37, 0x8c, 0xb4, 0x6c, 0x08, 0xbe, 0x4f, 0xf8,
0x30, 0x0c, 0xd9, 0x9e, 0xd1, 0x22, 0xfb, 0xd5, 0x9b, 0x55, 0x54, 0xb3, 0xfd, 0xc1, 0x9b, 0xb5,
0x4e, 0xce, 0x4e, 0x2f, 0x2d, 0x75, 0x3f, 0x73, 0xb3, 0x8e, 0xaa, 0x63, 0x5f, 0xb8, 0x79, 0xdc,
0x83, 0xd4, 0xae, 0xbe, 0x8a, 0xde, 0x3f, 0x12, 0xd3, 0x11, 0xcf, 0x26, 0x83, 0x1f, 0xf8, 0x57,
0x68, 0xc5, 0x74, 0x58, 0xfd, 0x6c, 0x8c, 0xde, 0xa1, 0xc4, 0xf6, 0x12, 0xe0, 0x1e, 0xbf, 0x98,
0x4f, 0x47, 0x92, 0x49, 0x70, 0x09, 0x50, 0xfd, 0x3e, 0xac, 0x04, 0xc4, 0x25, 0x40, 0x0f, 0x00,
0xf6, 0xc6, 0x05, 0xe7, 0xa8, 0xbd, 0x4a, 0x10, 0xb4, 0xa7, 0x01, 0x9b, 0x45, 0x18, 0x7b, 0x55,
0xa2, 0x0e, 0x2f, 0xed, 0x59, 0x1d, 0x25, 0x25, 0xb2, 0x88, 0x36, 0x65, 0x07, 0x77, 0x5d, 0x7d,
0xf5, 0xd5, 0x91, 0xf9, 0x6c, 0xc6, 0x8a, 0x25, 0x18, 0xdc, 0xba, 0x96, 0x0e, 0x40, 0x0c, 0x6e,
0x14, 0xb4, 0xb3, 0xb6, 0x69, 0xe6, 0xf8, 0xfa, 0x40, 0x14, 0x62, 0x2e, 0x93, 0x8c, 0xc3, 0x2f,
0x4f, 0x98, 0x06, 0x75, 0x19, 0x62, 0xd6, 0x52, 0xac, 0xcd, 0x72, 0x15, 0x51, 0xdf, 0x27, 0x54,
0xdf, 0x2d, 0x2e, 0xa5, 0x28, 0xe0, 0xf3, 0xc4, 0xda, 0x0a, 0x84, 0x88, 0x2c, 0x97, 0x84, 0x41,
0xdf, 0x9f, 0x26, 0xd9, 0x14, 0xed, 0xfb, 0x53, 0xf7, 0xab, 0x9f, 0xf7, 0x68, 0xc0, 0x4e, 0xa8,
0xba, 0xd1, 0xea, 0x09, 0xa0, 0xdf, 0xe5, 0x44, 0x1b, 0xdd, 0x25, 0x88, 0x09, 0x85, 0x93, 0xc0,
0xd5, 0xeb, 0x9c, 0x67, 0x7c, 0xd2, 0xdc, 0x9a, 0xc3, 0x5c, 0x79, 0x44, 0xd0, 0x15, 0x24, 0x6d,
0x2c, 0x52, 0xf2, 0xb3, 0x79, 0x76, 0x5a, 0x88, 0xcb, 0x24, 0xe5, 0x05, 0x88, 0x45, 0xb5, 0xba,
0x23, 0x27, 0x62, 0x11, 0xc6, 0xd9, 0xeb, 0x17, 0x4a, 0xea, 0x7d, 0xdb, 0x7b, 0x5c, 0xb0, 0x18,
0x5e, 0xbf, 0xa8, 0x6d, 0xb4, 0x31, 0xe2, 0x64, 0x30, 0x80, 0x3b, 0x89, 0x4e, 0xed, 0x3a, 0x5b,
0xaa, 0xf1, 0xa1, 0xdf, 0x25, 0x54, 0xdf, 0xc2, 0x2c, 0x41, 0xa2, 0xa3, 0xcd, 0x61, 0x24, 0x91,
0xe8, 0x84, 0x35, 0xec, 0x52, 0xa2, 0xb8, 0x13, 0x7d, 0xad, 0x08, 0x2c, 0x25, 0xb5, 0x8d, 0x46,
0x48, 0x2c, 0x25, 0x2d, 0x08, 0x04, 0xa4, 0x66, 0x1a, 0x4c, 0xd1, 0x80, 0x64, 0xa4, 0xc1, 0x80,
0xe4, 0x52, 0x36, 0x50, 0x1c, 0x66, 0x89, 0x4c, 0x58, 0x3a, 0xe2, 0xf2, 0x94, 0x15, 0x6c, 0xc6,
0x25, 0x2f, 0x60, 0xa0, 0xd0, 0xc8, 0xd0, 0x63, 0x88, 0x40, 0x41, 0xb1, 0xda, 0xe1, 0xef, 0x45,
0x1f, 0x56, 0xeb, 0x3e, 0xcf, 0xf4, 0x5f, 0xf1, 0x78, 0xa5, 0xfe, 0xfc, 0xcf, 0xe0, 0x23, 0x63,
0x63, 0x24, 0x0b, 0xce, 0x66, 0x8d, 0xed, 0x0f, 0xcc, 0xef, 0x0a, 0x7c, 0xba, 0x52, 0x8d, 0xe7,
0x13, 0x21, 0x93, 0xcb, 0x6a, 0x9b, 0xad, 0xdf, 0x20, 0x02, 0xe3, 0xd9, 0x15, 0x0f, 0x03, 0xdf,
0xa2, 0xc0, 0x38, 0x1b, 0xa7, 0x5d, 0xe9, 0x19, 0xcf, 0x53, 0x18, 0xa7, 0x3d, 0x6d, 0x05, 0x10,
0x71, 0x1a, 0x05, 0xed, 0xe4, 0x74, 0xc5, 0x63, 0x1e, 0xae, 0xcc, 0x98, 0xf7, 0xab, 0xcc, 0xd8,
0x7b, 0x29, 0x23, 0x8d, 0x3e, 0x3c, 0xe6, 0xb3, 0x0b, 0x5e, 0x94, 0x57, 0x49, 0x7e, 0x50, 0x25,
0x5c, 0x4c, 0xce, 0xe1, 0x6b, 0x8b, 0x96, 0x18, 0x1a, 0x84, 0xc8, 0x4a, 0x09, 0xd4, 0xae, 0x04,
0x16, 0x38, 0x2c, 0x4f, 0xd8, 0x8c, 0xab, 0x2f, 0x6b, 0x80, 0x95, 0xc0, 0x31, 0xe2, 0x40, 0xc4,
0x4a, 0x40, 0xc2, 0xce, 0xfb, 0x5d, 0x96, 0x39, 0xe3, 0xd3, 0x6a, 0x84, 0x15, 0xa7, 0x6c, 0x39,
0xe3, 0x99, 0xd4, 0x26, 0xc1, 0x99, 0xbc, 0x63, 0x12, 0xe7, 0x89, 0x33, 0xf9, 0x3e, 0x7a, 0x4e,
0x68, 0xf2, 0x1a, 0xfe, 0x54, 0x14, 0xb2, 0xfe, 0x1b, 0x3d, 0xe7, 0x45, 0x0a, 0x42, 0x93, 0xdf,
0xa8, 0x1e, 0x49, 0x84, 0xa6, 0xb0, 0x86, 0xf3, 0xf5, 0x79, 0xaf, 0x0c, 0x6f, 0x78, 0x61, 0xc6,
0xc9, 0xab, 0x19, 0x4b, 0x52, 0x3d, 0x1a, 0x7e, 0x14, 0xb0, 0x4d, 0xe8, 0x10, 0x5f, 0x9f, 0xef,
0xab, 0xeb, 0x7c, 0xaf, 0x3f, 0x5c, 0x42, 0xf0, 0x88, 0xa0, 0xc3, 0x3e, 0xf1, 0x88, 0xa0, 0x5b,
0xcb, 0xee, 0xdc, 0x2d, 0xab, 0xb8, 0xa5, 0x22, 0x76, 0xc5, 0x04, 0x9e, 0x17, 0x3a, 0x36, 0x01,
0x48, 0xec, 0xdc, 0x83, 0x0a, 0x36, 0x35, 0xb0, 0xd8, 0x7e, 0x92, 0xb1, 0x34, 0xf9, 0x19, 0x4c,
0xeb, 0x1d, 0x3b, 0x0d, 0x41, 0xa4, 0x06, 0x38, 0x89, 0xb9, 0x3a, 0xe0, 0x72, 0x9c, 0x54, 0xa1,
0x7f, 0x3d, 0xd0, 0x6e, 0x8a, 0xe8, 0x76, 0xe5, 0x90, 0xce, 0x37, 0x5a, 0x61, 0xb3, 0xee, 0xe4,
0xf9, 0xa8, 0x5a, 0x55, 0xcf, 0x78, 0xcc, 0x93, 0x5c, 0x0e, 0x5e, 0x84, 0xdb, 0x0a, 0xe0, 0xc4,
0x45, 0x8b, 0x1e, 0x6a, 0xce, 0xe3, 0xfb, 0x2a, 0x96, 0x8c, 0xea, 0x3f, 0x5e, 0x77, 0x5e, 0xf2,
0x42, 0x27, 0x1a, 0x07, 0x5c, 0x82, 0xd9, 0xe9, 0x70, 0x43, 0x07, 0xac, 0x2a, 0x4a, 0xcc, 0xce,
0xb0, 0x86, 0x3d, 0xec, 0x73, 0xb8, 0x33, 0x5e, 0x8a, 0x74, 0xc1, 0xd5, 0x7d, 0xc3, 0x4d, 0xd2,
0x98, 0x43, 0x11, 0x87, 0x7d, 0x34, 0x6d, 0xb3, 0xb5, 0xb6, 0xdb, 0x9d, 0x6c, 0x79, 0x08, 0xaf,
0x4c, 0x20, 0x96, 0x14, 0x46, 0x64, 0x6b, 0x01, 0xdc, 0x39, 0x0c, 0x2f, 0x04, 0x9b, 0xc4, 0xac,
0x94, 0xa7, 0x6c, 0x99, 0x0a, 0x36, 0x51, 0xeb, 0x3a, 0x3c, 0x0c, 0x6f, 0x98, 0xa1, 0x0b, 0x51,
0x87, 0xe1, 0x14, 0xec, 0x66, 0x67, 0xea, 0x6f, 0xf2, 0xe9, 0xbb, 0x9c, 0x30, 0x3b, 0x53, 0xe5,
0x85, 0xf7, 0x38, 0x1f, 0x86, 0x21, 0xfb, 0x0e, 0x5a, 0x2d, 0x52, 0x69, 0xc8, 0x3d, 0x4c, 0xc7,
0x4b, 0x40, 0xee, 0x07, 0x08, 0xfb, 0x5d, 0x8a, 0xfa, 0xf7, 0xe6, 0xef, 0xbe, 0x48, 0xfd, 0x25,
0xeb, 0x4d, 0x4c, 0xd7, 0x85, 0x86, 0xee, 0x07, 0xee, 0xb6, 0x7a, 0xd2, 0x36, 0xcd, 0xdc, 0xbd,
0x62, 0x72, 0x67, 0x32, 0x39, 0xe6, 0x25, 0xf2, 0x42, 0x79, 0x25, 0x1c, 0x5a, 0x29, 0x91, 0x66,
0xb6, 0x29, 0x3b, 0xd0, 0x2b, 0xd9, 0xab, 0x49, 0x22, 0xb5, 0xac, 0xb9, 0x21, 0xbd, 0xd9, 0x36,
0xd0, 0xa6, 0x88, 0x5a, 0xd1, 0xb4, 0x8d, 0xe5, 0x15, 0x33, 0x16, 0xd3, 0x69, 0xca, 0x35, 0x74,
0xc6, 0x59, 0xfd, 0x21, 0xbf, 0xed, 0xb6, 0x2d, 0x14, 0x24, 0x62, 0x79, 0x50, 0xc1, 0xa6, 0x91,
0x15, 0x56, 0x3f, 0x92, 0x6a, 0x1a, 0x76, 0xad, 0x6d, 0xc6, 0x03, 0x88, 0x34, 0x12, 0x05, 0xed,
0x7b, 0x6f, 0x95, 0xf8, 0x80, 0x37, 0x2d, 0x01, 0x3f, 0x41, 0xa4, 0x94, 0x1d, 0x31, 0xf1, 0xde,
0x1b, 0x82, 0xd9, 0x7d, 0x02, 0xf0, 0xf0, 0x72, 0x79, 0x38, 0x81, 0xfb, 0x04, 0xa8, 0xaf, 0x18,
0x62, 0x9f, 0x40, 0xb1, 0x7e, 0xd7, 0x99, 0x73, 0xaf, 0x23, 0x56, 0xda, 0xca, 0x21, 0x5d, 0x87,
0x82, 0xa1, 0xae, 0xa3, 0x14, 0xfc, 0x26, 0x75, 0x8f, 0xd6, 0x90, 0x26, 0xc5, 0xce, 0xd5, 0x56,
0xbb, 0x30, 0x1b, 0x97, 0xcc, 0x7e, 0x52, 0x5d, 0x59, 0xc2, 0xbf, 0xe0, 0x5f, 0x0b, 0x89, 0xb8,
0xd4, 0x82, 0x6a, 0xdb, 0x2f, 0xef, 0xff, 0xd7, 0x37, 0x77, 0x56, 0x7e, 0xf1, 0xcd, 0x9d, 0x95,
0xff, 0xf9, 0xe6, 0xce, 0xca, 0xcf, 0xbf, 0xbd, 0xf3, 0xde, 0x2f, 0xbe, 0xbd, 0xf3, 0xde, 0x7f,
0x7f, 0x7b, 0xe7, 0xbd, 0xaf, 0xdf, 0xd7, 0x7f, 0xab, 0xf5, 0xe2, 0xff, 0xa9, 0xbf, 0xb8, 0xfa,
0xfc, 0xff, 0x02, 0x00, 0x00, 0xff, 0xff, 0x1c, 0xa0, 0x43, 0x0e, 0xcf, 0x75, 0x00, 0x00,
0xed, 0x51, 0x07, 0xd5, 0x32, 0x7f, 0x9c, 0x4c, 0x8b, 0x2a, 0xfa, 0xe0, 0xe6, 0xb5, 0xb4, 0xc3,
0xbc, 0xa5, 0x6c, 0xec, 0xd1, 0x32, 0x1d, 0xdb, 0x3e, 0x45, 0xf5, 0x40, 0x64, 0x7b, 0x18, 0x86,
0x5a, 0xb6, 0xf7, 0x78, 0xca, 0x49, 0xdb, 0xb5, 0xb0, 0xc3, 0xb6, 0x81, 0xb4, 0xed, 0x22, 0xfa,
0x2d, 0xd3, 0xea, 0xd5, 0x32, 0xad, 0xe4, 0xd5, 0x1a, 0xb0, 0x41, 0x34, 0xab, 0x0b, 0x19, 0x5f,
0x9b, 0xfd, 0xe0, 0x56, 0x7d, 0xf4, 0x04, 0xc7, 0xeb, 0x03, 0xa6, 0xf7, 0xc3, 0x30, 0xa4, 0x6d,
0xff, 0xdd, 0x4a, 0xf4, 0x03, 0x2d, 0x7b, 0x95, 0xb1, 0x8b, 0x94, 0xab, 0x15, 0xf7, 0x84, 0xcb,
0x1b, 0x51, 0x5c, 0x8f, 0x96, 0x59, 0x4c, 0x64, 0x17, 0x38, 0xdc, 0x91, 0x5d, 0x90, 0x4a, 0x4e,
0x42, 0xa9, 0x2b, 0x2a, 0x45, 0x0e, 0x13, 0xca, 0xa6, 0x06, 0x52, 0xe4, 0x54, 0x42, 0xe9, 0x23,
0x2d, 0xab, 0xc7, 0x55, 0x54, 0xc6, 0xad, 0x1e, 0xbb, 0x61, 0xf8, 0x41, 0x08, 0xb1, 0x51, 0xb1,
0x19, 0xc0, 0x22, 0xbb, 0x4c, 0xa6, 0xe7, 0xf9, 0xa4, 0x1a, 0xc6, 0x8f, 0xf1, 0x11, 0xea, 0x20,
0x44, 0x54, 0x24, 0x50, 0xed, 0xed, 0x1f, 0x6c, 0xde, 0xa5, 0x67, 0xea, 0x7e, 0x21, 0x66, 0x47,
0x7c, 0xca, 0xe2, 0xa5, 0x0e, 0x2f, 0x9f, 0x87, 0xe6, 0x35, 0xa4, 0x4d, 0x21, 0x5e, 0xdc, 0x52,
0x4b, 0x97, 0xe7, 0xdf, 0x57, 0xa2, 0x87, 0x4d, 0xf5, 0xaf, 0x58, 0x36, 0xe5, 0xba, 0x3f, 0xeb,
0xd2, 0xef, 0x64, 0x93, 0x33, 0x5e, 0x4a, 0x56, 0xc8, 0xc1, 0x8f, 0xf0, 0x4a, 0x86, 0x74, 0x4c,
0xd9, 0x7e, 0xfc, 0x4b, 0xe9, 0xda, 0x5e, 0x1f, 0x55, 0x71, 0x53, 0x87, 0x00, 0xbf, 0xd7, 0x95,
0x04, 0x06, 0x80, 0x07, 0x21, 0xc4, 0xf6, 0xba, 0x12, 0x1c, 0x66, 0x8b, 0x44, 0xf2, 0x03, 0x9e,
0xf1, 0xa2, 0xdd, 0xeb, 0xb5, 0xaa, 0x8f, 0x10, 0xbd, 0x4e, 0xa0, 0x36, 0xd8, 0x78, 0xde, 0xcc,
0xda, 0xbb, 0x11, 0x30, 0xd2, 0x5a, 0x7d, 0x37, 0xfb, 0xc1, 0x76, 0xf3, 0xe8, 0xf8, 0x3c, 0xe3,
0x0b, 0x71, 0x0d, 0x37, 0x8f, 0xae, 0x89, 0x1a, 0x20, 0x36, 0x8f, 0x28, 0x68, 0x17, 0x48, 0xc7,
0xcf, 0x9b, 0x84, 0xdf, 0x80, 0x05, 0xd2, 0x55, 0xae, 0xc4, 0xc4, 0x02, 0x89, 0x60, 0xda, 0xc3,
0x49, 0xf4, 0x2b, 0x4a, 0xf8, 0xfb, 0x22, 0xc9, 0x06, 0x77, 0x11, 0xa5, 0x4a, 0x60, 0xac, 0xde,
0xa3, 0x01, 0x50, 0xe2, 0xea, 0xd7, 0x5d, 0x96, 0xc5, 0x3c, 0x45, 0x4b, 0x6c, 0xc5, 0xc1, 0x12,
0x7b, 0x98, 0xcd, 0x4c, 0x94, 0xb0, 0x8a, 0x5f, 0xa3, 0x2b, 0x56, 0x24, 0xd9, 0x74, 0x80, 0xe9,
0x3a, 0x72, 0x22, 0x33, 0xc1, 0x38, 0x30, 0x84, 0xb5, 0xe2, 0x4e, 0x9e, 0x17, 0x55, 0x58, 0xc4,
0x86, 0xb0, 0x8f, 0x04, 0x87, 0x70, 0x0b, 0xc5, 0xbd, 0xed, 0xf1, 0x38, 0x4d, 0xb2, 0xa0, 0x37,
0x8d, 0xf4, 0xf1, 0x66, 0x51, 0x30, 0x78, 0x8f, 0x38, 0x5b, 0xf0, 0xa6, 0x66, 0x58, 0xcb, 0xb8,
0x40, 0x70, 0xf0, 0x02, 0xd0, 0x6e, 0x03, 0x95, 0xf8, 0x98, 0x5d, 0xf3, 0xaa, 0x81, 0x79, 0xb5,
0xae, 0x0d, 0x30, 0x7d, 0x8f, 0x20, 0xb6, 0x81, 0x38, 0xa9, 0x5d, 0xcd, 0xa3, 0x8f, 0x94, 0xfc,
0x94, 0x15, 0x32, 0x89, 0x93, 0x9c, 0x65, 0xcd, 0xf6, 0x02, 0x9b, 0xd7, 0x2d, 0xca, 0xb8, 0xdc,
0xea, 0x49, 0x6b, 0xb7, 0xff, 0xb6, 0x12, 0xdd, 0x87, 0x7e, 0x4f, 0x79, 0x31, 0x4b, 0xd4, 0x2e,
0xb5, 0xac, 0x83, 0xf0, 0xe0, 0xcb, 0xb0, 0xd1, 0x96, 0x82, 0x29, 0xcd, 0x0f, 0x6f, 0xaf, 0x68,
0x93, 0xa1, 0x91, 0xce, 0xdc, 0x5f, 0x17, 0x93, 0xd6, 0x29, 0xce, 0xa8, 0x49, 0xc7, 0x95, 0x90,
0x48, 0x86, 0x5a, 0x10, 0x98, 0xe1, 0xe7, 0x59, 0xd9, 0x58, 0xc7, 0x66, 0xb8, 0x15, 0x07, 0x67,
0xb8, 0x87, 0x69, 0x0f, 0x7f, 0x10, 0x45, 0xf5, 0x5e, 0x4e, 0xed, 0xb7, 0xfd, 0x98, 0xa3, 0x37,
0x79, 0xde, 0x66, 0xfb, 0x7e, 0x80, 0xb0, 0x0b, 0x5d, 0xfd, 0xbb, 0x3a, 0x46, 0x18, 0xa0, 0x1a,
0x4a, 0x44, 0x2c, 0x74, 0x00, 0x81, 0x05, 0x1d, 0x5d, 0x89, 0x1b, 0xbc, 0xa0, 0x95, 0x24, 0x5c,
0x50, 0x4d, 0xd8, 0x83, 0x3d, 0x5d, 0x50, 0xec, 0x60, 0xaf, 0x29, 0x46, 0xe8, 0x60, 0x0f, 0x32,
0xda, 0xb0, 0x88, 0x7e, 0xd3, 0x35, 0xfc, 0x52, 0x88, 0xeb, 0x19, 0x2b, 0xae, 0x07, 0x4f, 0x68,
0xe5, 0x86, 0x31, 0x8e, 0x36, 0x7a, 0xb1, 0x36, 0xa8, 0xb9, 0x0e, 0xab, 0x34, 0xe9, 0xbc, 0x48,
0x41, 0x50, 0xf3, 0x6c, 0x68, 0x84, 0x08, 0x6a, 0x04, 0x6a, 0x47, 0xa5, 0xeb, 0x6d, 0xc4, 0xe1,
0x56, 0xd2, 0x53, 0x1f, 0x71, 0x6a, 0x2b, 0x89, 0x60, 0x70, 0x08, 0x1d, 0x14, 0x2c, 0xbf, 0xc2,
0x87, 0x90, 0x12, 0x85, 0x87, 0x50, 0x83, 0xc0, 0xfe, 0x1e, 0x71, 0x56, 0xc4, 0x57, 0x78, 0x7f,
0xd7, 0xb2, 0x70, 0x7f, 0x1b, 0x06, 0xf6, 0x77, 0x2d, 0x78, 0x9b, 0xc8, 0xab, 0x63, 0x2e, 0x19,
0xde, 0xdf, 0x3e, 0x13, 0xee, 0xef, 0x16, 0x6b, 0xf3, 0x30, 0xd7, 0xe1, 0x68, 0x7e, 0x51, 0xc6,
0x45, 0x72, 0xc1, 0x07, 0x01, 0x2b, 0x06, 0x22, 0xf2, 0x30, 0x12, 0xd6, 0x3e, 0x7f, 0xbe, 0x12,
0xdd, 0x6d, 0xba, 0x5d, 0x94, 0xa5, 0x8e, 0x79, 0xbe, 0xfb, 0x17, 0x78, 0xff, 0x12, 0x38, 0x71,
0xd4, 0xda, 0x43, 0xcd, 0x59, 0x13, 0xf0, 0x22, 0x9d, 0x67, 0xa5, 0x29, 0xd4, 0x97, 0x7d, 0xac,
0x3b, 0x0a, 0xc4, 0x9a, 0xd0, 0x4b, 0xd1, 0x2e, 0xc7, 0xba, 0x7f, 0x1a, 0xd9, 0xe1, 0xa4, 0x04,
0xcb, 0x71, 0xd3, 0xde, 0x0e, 0x41, 0x2c, 0xc7, 0x38, 0x09, 0x87, 0xc2, 0x41, 0x21, 0xe6, 0x79,
0xd9, 0x31, 0x14, 0x00, 0x14, 0x1e, 0x0a, 0x6d, 0x58, 0xfb, 0x7c, 0x17, 0xfd, 0xb6, 0x3b, 0xfc,
0xdc, 0xc6, 0xde, 0xa2, 0xc7, 0x14, 0xd6, 0xc4, 0xc3, 0xbe, 0xb8, 0x4d, 0x48, 0x1b, 0xcf, 0x72,
0x8f, 0x4b, 0x96, 0xa4, 0xe5, 0x60, 0x15, 0xb7, 0xd1, 0xc8, 0x89, 0x84, 0x14, 0xe3, 0x60, 0x7c,
0xdb, 0x9b, 0xe7, 0x69, 0x12, 0xb7, 0x0f, 0xba, 0xb5, 0xae, 0x11, 0x87, 0xe3, 0x9b, 0x8b, 0xc1,
0x78, 0x5d, 0x2d, 0xf9, 0xea, 0x3f, 0xe3, 0x65, 0xce, 0xf1, 0x78, 0xed, 0x21, 0xe1, 0x78, 0x0d,
0x51, 0x58, 0x9f, 0x11, 0x97, 0x47, 0x6c, 0x29, 0xe6, 0x44, 0xbc, 0x36, 0xe2, 0x70, 0x7d, 0x5c,
0xcc, 0xe6, 0x84, 0xc6, 0xc3, 0x61, 0x26, 0x79, 0x91, 0xb1, 0x74, 0x3f, 0x65, 0xd3, 0x72, 0x40,
0xc4, 0x18, 0x9f, 0x22, 0x72, 0x42, 0x9a, 0x46, 0x9a, 0xf1, 0xb0, 0xdc, 0x67, 0x0b, 0x51, 0x24,
0x92, 0x6e, 0x46, 0x8b, 0x74, 0x36, 0xa3, 0x87, 0xa2, 0xde, 0x76, 0x8a, 0xf8, 0x2a, 0x59, 0xf0,
0x49, 0xc0, 0x5b, 0x83, 0xf4, 0xf0, 0xe6, 0xa0, 0x48, 0xa7, 0x8d, 0xc4, 0xbc, 0x88, 0x39, 0xd9,
0x69, 0xb5, 0xb8, 0xb3, 0xd3, 0x0c, 0xa6, 0x3d, 0xfc, 0xd5, 0x4a, 0xf4, 0x3b, 0xb5, 0xd4, 0x3d,
0x7d, 0xde, 0x63, 0xe5, 0xd5, 0x85, 0x60, 0xc5, 0x64, 0xf0, 0x19, 0x66, 0x07, 0x45, 0x8d, 0xeb,
0x67, 0xb7, 0x51, 0x81, 0xcd, 0x7a, 0x94, 0x94, 0xce, 0x8c, 0x43, 0x9b, 0xd5, 0x43, 0xc2, 0xcd,
0x0a, 0x51, 0x18, 0x40, 0x94, 0xbc, 0x3e, 0x8a, 0x59, 0x25, 0xf5, 0xfd, 0xf3, 0x98, 0xb5, 0x4e,
0x0e, 0xc6, 0xc7, 0x4a, 0xe8, 0x8f, 0x96, 0x2d, 0xca, 0x06, 0x3e, 0x62, 0x86, 0x7d, 0x71, 0xd2,
0xb3, 0x99, 0x15, 0x61, 0xcf, 0xad, 0x99, 0x31, 0xec, 0x8b, 0x13, 0x9e, 0x9d, 0xb0, 0x16, 0xf2,
0x8c, 0x84, 0xb6, 0x61, 0x5f, 0x1c, 0x66, 0x5f, 0x9a, 0x69, 0xd6, 0x85, 0x27, 0x01, 0x3b, 0x70,
0x6d, 0xd8, 0xe8, 0xc5, 0x6a, 0x87, 0x7f, 0xb3, 0x12, 0x7d, 0xdf, 0x7a, 0x3c, 0x16, 0x93, 0xe4,
0x72, 0x59, 0x43, 0x6f, 0x58, 0x3a, 0xe7, 0xe5, 0xe0, 0x19, 0x65, 0xad, 0xcd, 0x9a, 0x12, 0x3c,
0xbf, 0x95, 0x0e, 0x9c, 0x3b, 0x3b, 0x79, 0x9e, 0x2e, 0xc7, 0x7c, 0x96, 0xa7, 0xe4, 0xdc, 0xf1,
0x90, 0xf0, 0xdc, 0x81, 0x28, 0xcc, 0xca, 0xc7, 0xa2, 0xca, 0xf9, 0xd1, 0xac, 0x5c, 0x89, 0xc2,
0x59, 0x79, 0x83, 0xc0, 0x5c, 0x69, 0x2c, 0x76, 0x45, 0x9a, 0xf2, 0x58, 0xb6, 0x9f, 0x60, 0x1b,
0x4d, 0x4b, 0x84, 0x73, 0x25, 0x40, 0xda, 0xd3, 0x98, 0x66, 0x0f, 0xc9, 0x0a, 0xfe, 0x72, 0x79,
0x94, 0x64, 0xd7, 0x03, 0x3c, 0x2d, 0xb0, 0x00, 0x71, 0x1a, 0x83, 0x82, 0x70, 0xaf, 0x7a, 0x9e,
0x4d, 0x04, 0xbe, 0x57, 0xad, 0x24, 0xe1, 0xbd, 0xaa, 0x26, 0xa0, 0xc9, 0x33, 0x4e, 0x99, 0xac,
0x24, 0x61, 0x93, 0x9a, 0xc0, 0x42, 0xa1, 0x3e, 0xb3, 0x27, 0x43, 0x21, 0x38, 0xa5, 0x5f, 0xeb,
0xe4, 0xe0, 0x08, 0x6d, 0x36, 0xad, 0xfb, 0x5c, 0xc6, 0x57, 0xf8, 0x08, 0xf5, 0x90, 0xf0, 0x08,
0x85, 0x28, 0xac, 0xd2, 0x58, 0x98, 0x4d, 0xf7, 0x2a, 0x3e, 0x3e, 0x5a, 0x1b, 0xee, 0xb5, 0x4e,
0x0e, 0x6e, 0x23, 0x0f, 0x67, 0xaa, 0xcd, 0xd0, 0x41, 0x5e, 0xcb, 0xc2, 0xdb, 0x48, 0xc3, 0xc0,
0xd2, 0xd7, 0x82, 0xaa, 0x39, 0xf1, 0xd2, 0x5b, 0x79, 0xb8, 0xf4, 0x1e, 0xa7, 0x9d, 0xfc, 0x8b,
0xd9, 0xc6, 0xd5, 0xd2, 0x13, 0x51, 0xcd, 0x91, 0x37, 0x2c, 0x4d, 0x26, 0x4c, 0xf2, 0xb1, 0xb8,
0xe6, 0x19, 0xbe, 0x63, 0xd2, 0xa5, 0xad, 0xf9, 0xa1, 0xa7, 0x10, 0xde, 0x31, 0x85, 0x15, 0xe1,
0x38, 0xa9, 0xe9, 0xf3, 0x92, 0xef, 0xb2, 0x92, 0x88, 0x64, 0x1e, 0x12, 0x1e, 0x27, 0x10, 0x85,
0xf9, 0x6a, 0x2d, 0x7f, 0xf5, 0x2e, 0xe7, 0x45, 0xc2, 0xb3, 0x98, 0xe3, 0xf9, 0x2a, 0xa4, 0xc2,
0xf9, 0x2a, 0x42, 0xc3, 0xbd, 0xda, 0x1e, 0x93, 0xfc, 0xe5, 0x72, 0x9c, 0xcc, 0x78, 0x29, 0xd9,
0x2c, 0xc7, 0xf7, 0x6a, 0x00, 0x0a, 0xef, 0xd5, 0xda, 0x70, 0xeb, 0x68, 0xc8, 0x04, 0xc4, 0xf6,
0xc5, 0x17, 0x48, 0x04, 0x2e, 0xbe, 0x10, 0x28, 0x6c, 0x58, 0x0b, 0xa0, 0x87, 0xc3, 0x2d, 0x2b,
0xc1, 0xc3, 0x61, 0x9a, 0x6e, 0x1d, 0xb8, 0x19, 0x66, 0x54, 0x4d, 0xcd, 0x8e, 0xa2, 0x8f, 0xdc,
0x29, 0xba, 0xd1, 0x8b, 0xc5, 0x4f, 0xf8, 0xce, 0x78, 0xca, 0xd4, 0xb2, 0x15, 0x38, 0x46, 0x6b,
0x98, 0x3e, 0x27, 0x7c, 0x0e, 0xab, 0x1d, 0xfe, 0xc5, 0x4a, 0xf4, 0x09, 0xe6, 0xf1, 0x75, 0xae,
0xfc, 0x3e, 0xed, 0xb6, 0x55, 0x93, 0xc4, 0xcd, 0x9e, 0xb0, 0x86, 0x2e, 0xc3, 0x9f, 0x44, 0x1f,
0x37, 0x22, 0x7b, 0xf1, 0x47, 0x17, 0xc0, 0x4f, 0xda, 0x4c, 0xf9, 0x21, 0x67, 0xdc, 0x6f, 0xf7,
0xe6, 0xed, 0x7e, 0xc8, 0x2f, 0x57, 0x09, 0xf6, 0x43, 0xc6, 0x86, 0x16, 0x13, 0xfb, 0x21, 0x04,
0xb3, 0xb3, 0xd3, 0xad, 0xde, 0xdb, 0x44, 0x5e, 0xa9, 0x7c, 0x0b, 0xcc, 0x4e, 0xaf, 0xac, 0x06,
0x22, 0x66, 0x27, 0x09, 0xc3, 0x8c, 0xa4, 0x01, 0xab, 0xb9, 0x89, 0xc5, 0x72, 0x63, 0xc8, 0x9d,
0x99, 0xeb, 0xdd, 0x20, 0x1c, 0xaf, 0x8d, 0x58, 0x6f, 0x7d, 0x9e, 0x84, 0x2c, 0x80, 0xed, 0xcf,
0x46, 0x2f, 0x56, 0x3b, 0xfc, 0xb3, 0xe8, 0x7b, 0xad, 0x8a, 0xed, 0x73, 0x26, 0xe7, 0x05, 0x9f,
0x0c, 0xb6, 0x3b, 0xca, 0xdd, 0x80, 0xc6, 0xf5, 0xd3, 0xfe, 0x0a, 0xad, 0x1c, 0xbd, 0xe1, 0xea,
0x61, 0x65, 0xca, 0xf0, 0x2c, 0x64, 0xd2, 0x67, 0x83, 0x39, 0x3a, 0xad, 0xd3, 0xda, 0x66, 0xbb,
0xa3, 0x6b, 0x67, 0xc1, 0x92, 0x54, 0x3d, 0xa4, 0xfb, 0x2c, 0x64, 0xd4, 0x43, 0x83, 0xdb, 0x6c,
0x52, 0xa5, 0x15, 0x99, 0xd5, 0x1c, 0x77, 0xb6, 0x67, 0x9b, 0x74, 0x24, 0x40, 0x76, 0x67, 0x5b,
0x3d, 0x69, 0xed, 0x56, 0x36, 0x4b, 0x5e, 0xf5, 0xb3, 0x3b, 0xc8, 0x31, 0xaf, 0x5a, 0x15, 0x19,
0xe9, 0x5b, 0x3d, 0x69, 0xed, 0xf5, 0x4f, 0xa3, 0x8f, 0xdb, 0x5e, 0xf5, 0x42, 0xb4, 0xdd, 0x69,
0x0a, 0xac, 0x45, 0x4f, 0xfb, 0x2b, 0xd8, 0x2d, 0xcd, 0x57, 0x49, 0x29, 0x45, 0xb1, 0x1c, 0x5d,
0x89, 0x9b, 0xe6, 0x42, 0xbd, 0x3f, 0x5b, 0x35, 0x30, 0x74, 0x08, 0x62, 0x4b, 0x83, 0x93, 0x2d,
0x57, 0xf6, 0xe2, 0x7d, 0x49, 0xb8, 0x72, 0x88, 0x0e, 0x57, 0x3e, 0x69, 0x63, 0x55, 0x53, 0x2b,
0xfb, 0x96, 0xc0, 0x1a, 0x5e, 0xd4, 0xf6, 0x9b, 0x02, 0xeb, 0xdd, 0xa0, 0xcd, 0x58, 0xb4, 0x78,
0x2f, 0xb9, 0xbc, 0x34, 0x75, 0xc2, 0x4b, 0xea, 0x22, 0x44, 0xc6, 0x42, 0xa0, 0x36, 0xe9, 0xde,
0x4f, 0x52, 0xae, 0x4e, 0xf4, 0x5f, 0x5f, 0x5e, 0xa6, 0x82, 0x4d, 0x40, 0xd2, 0x5d, 0x89, 0x87,
0xae, 0x9c, 0x48, 0xba, 0x31, 0xce, 0x3e, 0x23, 0xae, 0xa4, 0x67, 0x3c, 0x16, 0x59, 0x9c, 0xa4,
0xf0, 0x02, 0xa0, 0xd2, 0x34, 0x42, 0xe2, 0x19, 0x71, 0x0b, 0xb2, 0x0b, 0x63, 0x25, 0xaa, 0xa6,
0x7d, 0x53, 0xfe, 0x47, 0x6d, 0x45, 0x47, 0x4c, 0x2c, 0x8c, 0x08, 0x66, 0xf7, 0x9e, 0x95, 0xf0,
0x3c, 0x57, 0xc6, 0xef, 0xb5, 0xb5, 0x6a, 0x09, 0xb1, 0xf7, 0xf4, 0x09, 0xbb, 0x87, 0xaa, 0x7e,
0xdf, 0x13, 0x37, 0x99, 0x32, 0xfa, 0xa0, 0xad, 0xd2, 0xc8, 0x88, 0x3d, 0x14, 0x64, 0xb4, 0xe1,
0x9f, 0x44, 0xff, 0x5f, 0x19, 0x2e, 0x44, 0x3e, 0xb8, 0x83, 0x28, 0x14, 0xce, 0x5d, 0xbd, 0xbb,
0xa4, 0xdc, 0x5e, 0x39, 0x35, 0x63, 0xe3, 0xbc, 0x64, 0x53, 0x78, 0xe5, 0xd4, 0xf6, 0xb8, 0x92,
0x12, 0x57, 0x4e, 0xdb, 0x94, 0x3f, 0x2a, 0x4e, 0xc4, 0x44, 0x5b, 0x47, 0x6a, 0x68, 0x84, 0xa1,
0x51, 0xe1, 0x42, 0x36, 0x99, 0x39, 0x61, 0x8b, 0x64, 0x6a, 0x16, 0x9c, 0x3a, 0x6e, 0x95, 0x20,
0x99, 0xb1, 0xcc, 0xd0, 0x81, 0x88, 0x64, 0x86, 0x84, 0xb5, 0xcf, 0x7f, 0x5e, 0x89, 0xee, 0x59,
0xe6, 0xa0, 0x39, 0xad, 0x3b, 0xcc, 0x2e, 0x45, 0x95, 0xfa, 0x1c, 0x25, 0xd9, 0x75, 0x39, 0xf8,
0x82, 0x32, 0x89, 0xf3, 0xa6, 0x28, 0x5f, 0xde, 0x5a, 0xcf, 0x66, 0xad, 0xcd, 0x51, 0x96, 0x7d,
0x9e, 0x5d, 0x6b, 0x80, 0xac, 0xd5, 0x9c, 0x78, 0x41, 0x8e, 0xc8, 0x5a, 0x43, 0xbc, 0xed, 0x62,
0xe3, 0x3c, 0x15, 0x19, 0xec, 0x62, 0x6b, 0xa1, 0x12, 0x12, 0x5d, 0xdc, 0x82, 0x6c, 0x3c, 0x6e,
0x44, 0xf5, 0xa9, 0xcb, 0x4e, 0x9a, 0x82, 0x78, 0x6c, 0x54, 0x0d, 0x40, 0xc4, 0x63, 0x14, 0xd4,
0x7e, 0xce, 0xa2, 0xef, 0x54, 0x4d, 0x7a, 0x5a, 0xf0, 0x45, 0xc2, 0xe1, 0xd5, 0x0b, 0x47, 0x42,
0xcc, 0x7f, 0x9f, 0xb0, 0x33, 0xeb, 0x3c, 0x2b, 0xf3, 0x94, 0x95, 0x57, 0xfa, 0x61, 0xbc, 0x5f,
0xe7, 0x46, 0x08, 0x1f, 0xc7, 0x3f, 0xea, 0xa0, 0x6c, 0x50, 0x6f, 0x64, 0x26, 0xc4, 0xac, 0xe2,
0xaa, 0xad, 0x30, 0xb3, 0xd6, 0xc9, 0xd9, 0x13, 0xef, 0x03, 0x96, 0xa6, 0xbc, 0x58, 0x36, 0xb2,
0x63, 0x96, 0x25, 0x97, 0xbc, 0x94, 0xe0, 0xc4, 0x5b, 0x53, 0x43, 0x88, 0x11, 0x27, 0xde, 0x01,
0xdc, 0x66, 0xf3, 0xc0, 0xf3, 0x61, 0x36, 0xe1, 0xef, 0x40, 0x36, 0x0f, 0xed, 0x28, 0x86, 0xc8,
0xe6, 0x29, 0xd6, 0x9e, 0xfc, 0xbe, 0x4c, 0x45, 0x7c, 0xad, 0x97, 0x00, 0xbf, 0x83, 0x95, 0x04,
0xae, 0x01, 0x0f, 0x42, 0x88, 0x5d, 0x04, 0x94, 0xe0, 0x8c, 0xe7, 0x29, 0x8b, 0xe1, 0xfd, 0x9b,
0x5a, 0x47, 0xcb, 0x88, 0x45, 0x00, 0x32, 0xa0, 0xb8, 0xfa, 0x5e, 0x0f, 0x56, 0x5c, 0x70, 0xad,
0xe7, 0x41, 0x08, 0xb1, 0xcb, 0xa0, 0x12, 0x8c, 0xf2, 0x34, 0x91, 0x60, 0x1a, 0xd4, 0x1a, 0x4a,
0x42, 0x4c, 0x03, 0x9f, 0x00, 0x26, 0x8f, 0x79, 0x31, 0xe5, 0xa8, 0x49, 0x25, 0x09, 0x9a, 0x6c,
0x08, 0x7b, 0xc9, 0xb4, 0xae, 0xbb, 0xc8, 0x97, 0xe0, 0x92, 0xa9, 0xae, 0x96, 0xc8, 0x97, 0xc4,
0x25, 0x53, 0x0f, 0x00, 0x45, 0x3c, 0x65, 0xa5, 0xc4, 0x8b, 0xa8, 0x24, 0xc1, 0x22, 0x36, 0x84,
0x5d, 0xa3, 0xeb, 0x22, 0xce, 0x25, 0x58, 0xa3, 0x75, 0x01, 0x9c, 0x27, 0xd0, 0x77, 0x49, 0xb9,
0x8d, 0x24, 0x75, 0xaf, 0x70, 0xb9, 0x9f, 0xf0, 0x74, 0x52, 0x82, 0x48, 0xa2, 0xdb, 0xbd, 0x91,
0x12, 0x91, 0xa4, 0x4d, 0x81, 0xa1, 0xa4, 0xcf, 0xc7, 0xb1, 0xda, 0x81, 0xa3, 0xf1, 0x07, 0x21,
0xc4, 0xc6, 0xa7, 0xa6, 0xd0, 0xbb, 0xac, 0x28, 0x92, 0x6a, 0xf1, 0x5f, 0xc5, 0x0b, 0xd4, 0xc8,
0x89, 0xf8, 0x84, 0x71, 0x60, 0x7a, 0x35, 0x81, 0x1b, 0x2b, 0x18, 0x0c, 0xdd, 0x9f, 0x06, 0x19,
0x9b, 0x71, 0x2a, 0x89, 0xf3, 0x08, 0x15, 0x6b, 0x4d, 0xe4, 0x09, 0xea, 0x6a, 0x17, 0xe6, 0xbc,
0x04, 0x62, 0x5c, 0x1c, 0x8b, 0x05, 0x1f, 0x8b, 0x57, 0xef, 0x92, 0x52, 0x26, 0xd9, 0x54, 0xaf,
0xdc, 0xcf, 0x09, 0x4b, 0x18, 0x4c, 0xbc, 0x04, 0xd2, 0xa9, 0x64, 0x13, 0x08, 0x50, 0x96, 0x13,
0x7e, 0x83, 0x26, 0x10, 0xd0, 0xa2, 0xe1, 0x88, 0x04, 0x22, 0xc4, 0xdb, 0x73, 0x14, 0xe3, 0x5c,
0xbf, 0x88, 0x3b, 0x16, 0x4d, 0x2e, 0x47, 0x59, 0x83, 0x20, 0xb1, 0x95, 0x0d, 0x2a, 0xd8, 0xfd,
0xa5, 0xf1, 0x6f, 0xa7, 0xd8, 0x3a, 0x61, 0xa7, 0x3d, 0xcd, 0x1e, 0xf7, 0x20, 0x11, 0x57, 0xf6,
0x1e, 0x00, 0xe5, 0xaa, 0x7d, 0x0d, 0xe0, 0x71, 0x0f, 0xd2, 0x39, 0x93, 0x71, 0xab, 0xf5, 0x92,
0xc5, 0xd7, 0xd3, 0x42, 0xcc, 0xb3, 0xc9, 0xae, 0x48, 0x45, 0x01, 0xce, 0x64, 0xbc, 0x52, 0x03,
0x94, 0x38, 0x93, 0xe9, 0x50, 0xb1, 0x19, 0x9c, 0x5b, 0x8a, 0x9d, 0x34, 0x99, 0xc2, 0x1d, 0xb5,
0x67, 0x48, 0x01, 0x44, 0x06, 0x87, 0x82, 0xc8, 0x20, 0xaa, 0x77, 0xdc, 0x32, 0x89, 0x59, 0x5a,
0xfb, 0xdb, 0xa6, 0xcd, 0x78, 0x60, 0xe7, 0x20, 0x42, 0x14, 0x90, 0x7a, 0x8e, 0xe7, 0x45, 0x76,
0x98, 0x49, 0x41, 0xd6, 0xb3, 0x01, 0x3a, 0xeb, 0xe9, 0x80, 0x20, 0xac, 0x8e, 0xf9, 0xbb, 0xaa,
0x34, 0xd5, 0x3f, 0x58, 0x58, 0xad, 0x7e, 0x1f, 0x6a, 0x79, 0x28, 0xac, 0x02, 0x0e, 0x54, 0x46,
0x3b, 0xa9, 0x07, 0x4c, 0x40, 0xdb, 0x1f, 0x26, 0xeb, 0xdd, 0x20, 0xee, 0x67, 0x24, 0x97, 0x29,
0x0f, 0xf9, 0x51, 0x40, 0x1f, 0x3f, 0x0d, 0x68, 0x8f, 0x5b, 0xbc, 0xfa, 0x5c, 0xf1, 0xf8, 0xba,
0x75, 0xad, 0xc9, 0x2f, 0x68, 0x8d, 0x10, 0xc7, 0x2d, 0x04, 0x8a, 0x77, 0xd1, 0x61, 0x2c, 0xb2,
0x50, 0x17, 0x55, 0xf2, 0x3e, 0x5d, 0xa4, 0x39, 0xbb, 0xf9, 0x35, 0x52, 0x3d, 0x32, 0xeb, 0x6e,
0xda, 0x20, 0x2c, 0xb8, 0x10, 0xb1, 0xf9, 0x25, 0x61, 0x9b, 0x93, 0x43, 0x9f, 0xc7, 0xed, 0x3b,
0xdf, 0x2d, 0x2b, 0xc7, 0xf4, 0x9d, 0x6f, 0x8a, 0xa5, 0x2b, 0x59, 0x8f, 0x91, 0x0e, 0x2b, 0xfe,
0x38, 0xd9, 0xec, 0x07, 0xdb, 0x2d, 0x8f, 0xe7, 0x73, 0x37, 0xe5, 0xac, 0xa8, 0xbd, 0x6e, 0x05,
0x0c, 0x59, 0x8c, 0xd8, 0xf2, 0x04, 0x70, 0x10, 0xc2, 0x3c, 0xcf, 0xbb, 0x22, 0x93, 0x3c, 0x93,
0x58, 0x08, 0xf3, 0x8d, 0x69, 0x30, 0x14, 0xc2, 0x28, 0x05, 0x30, 0x6e, 0xd5, 0x79, 0x10, 0x97,
0x27, 0x6c, 0x86, 0x66, 0x6c, 0xf5, 0x59, 0x4f, 0x2d, 0x0f, 0x8d, 0x5b, 0xc0, 0x39, 0x0f, 0xf9,
0x5c, 0x2f, 0x63, 0x56, 0x4c, 0xcd, 0xe9, 0xc6, 0x64, 0xf0, 0x94, 0xb6, 0xe3, 0x93, 0xc4, 0x43,
0xbe, 0xb0, 0x06, 0x08, 0x3b, 0x87, 0x33, 0x36, 0x35, 0x35, 0x45, 0x6a, 0xa0, 0xe4, 0xad, 0xaa,
0xae, 0x77, 0x83, 0xc0, 0xcf, 0x9b, 0x64, 0xc2, 0x45, 0xc0, 0x8f, 0x92, 0xf7, 0xf1, 0x03, 0x41,
0x90, 0xbd, 0x55, 0xf5, 0xae, 0x77, 0x74, 0x3b, 0xd9, 0x44, 0xef, 0x63, 0x87, 0x44, 0xf3, 0x00,
0x2e, 0x94, 0xbd, 0x11, 0x3c, 0x98, 0xa3, 0xcd, 0x01, 0x6d, 0x68, 0x8e, 0x9a, 0xf3, 0xd7, 0x3e,
0x73, 0x14, 0x83, 0xb5, 0xcf, 0x9f, 0xe9, 0x39, 0xba, 0xc7, 0x24, 0xab, 0xf2, 0xf6, 0x37, 0x09,
0xbf, 0xd1, 0x1b, 0x61, 0xa4, 0xbe, 0x0d, 0x35, 0x54, 0xaf, 0x2a, 0x82, 0x5d, 0xf1, 0x76, 0x6f,
0x3e, 0xe0, 0x5b, 0xef, 0x10, 0x3a, 0x7d, 0x83, 0xad, 0xc2, 0x76, 0x6f, 0x3e, 0xe0, 0x5b, 0xbf,
0x03, 0xdd, 0xe9, 0x1b, 0xbc, 0x08, 0xbd, 0xdd, 0x9b, 0xd7, 0xbe, 0xff, 0xb2, 0x99, 0xb8, 0xae,
0xf3, 0x2a, 0x0f, 0x8b, 0x65, 0xb2, 0xe0, 0x58, 0x3a, 0xe9, 0xdb, 0x33, 0x68, 0x28, 0x9d, 0xa4,
0x55, 0x9c, 0xef, 0xf2, 0x60, 0xa5, 0x38, 0x15, 0x65, 0xa2, 0x1e, 0xd2, 0x3f, 0xef, 0x61, 0xb4,
0x81, 0x43, 0x9b, 0xa6, 0x90, 0x92, 0x7d, 0xdc, 0xe8, 0xa1, 0xf6, 0x16, 0xf3, 0x66, 0xc0, 0x5e,
0xfb, 0x32, 0xf3, 0x56, 0x4f, 0xda, 0x3e, 0xf8, 0xf3, 0x18, 0xf7, 0x89, 0x63, 0xa8, 0x57, 0xd1,
0x87, 0x8e, 0x4f, 0xfb, 0x2b, 0x68, 0xf7, 0x7f, 0xdd, 0xec, 0x2b, 0xa0, 0x7f, 0x3d, 0x09, 0x9e,
0xf5, 0xb1, 0x08, 0x26, 0xc2, 0xf3, 0x5b, 0xe9, 0xe8, 0x82, 0xfc, 0x7d, 0xb3, 0x81, 0x6e, 0x50,
0xf5, 0x2e, 0x87, 0x7a, 0xf7, 0x4f, 0xcf, 0x89, 0x50, 0xb7, 0x5a, 0x18, 0xce, 0x8c, 0x17, 0xb7,
0xd4, 0x72, 0xbe, 0xd2, 0xe4, 0xc1, 0xfa, 0x9d, 0x43, 0xa7, 0x3c, 0x21, 0xcb, 0x0e, 0x0d, 0x0b,
0xf4, 0xc5, 0x6d, 0xd5, 0xa8, 0xb9, 0xe2, 0xc0, 0xea, 0xab, 0x0c, 0xcf, 0x7b, 0x1a, 0xf6, 0xbe,
0xd3, 0xf0, 0xf9, 0xed, 0x94, 0x74, 0x59, 0xfe, 0x63, 0x25, 0x7a, 0xe4, 0xb1, 0xf6, 0x79, 0x02,
0x38, 0xf5, 0xf8, 0x71, 0xc0, 0x3e, 0xa5, 0x64, 0x0a, 0xf7, 0xbb, 0xbf, 0x9c, 0xb2, 0xfd, 0xa4,
0x91, 0xa7, 0xb2, 0x9f, 0xa4, 0x92, 0x17, 0xed, 0x4f, 0x1a, 0xf9, 0x76, 0x6b, 0x6a, 0x48, 0x7f,
0xd2, 0x28, 0x80, 0x3b, 0x9f, 0x34, 0x42, 0x3c, 0xa3, 0x9f, 0x34, 0x42, 0xad, 0x05, 0x3f, 0x69,
0x14, 0xd6, 0xa0, 0xc2, 0x7b, 0x53, 0x84, 0xfa, 0xdc, 0xba, 0x97, 0x45, 0xff, 0x18, 0xfb, 0xd9,
0x6d, 0x54, 0x88, 0x05, 0xae, 0xe6, 0xd4, 0x3d, 0xb7, 0x1e, 0x6d, 0xea, 0xdd, 0x75, 0xdb, 0xee,
0xcd, 0x6b, 0xdf, 0x3f, 0xd5, 0xbb, 0x1b, 0x13, 0xce, 0x45, 0xa1, 0x3e, 0x67, 0xb5, 0x11, 0x0a,
0xcf, 0x95, 0x05, 0xb7, 0xe7, 0x37, 0xfb, 0xc1, 0x44, 0x75, 0x2b, 0x42, 0x77, 0xfa, 0xb0, 0xcb,
0x10, 0xe8, 0xf2, 0xed, 0xde, 0x3c, 0xb1, 0x8c, 0xd4, 0xbe, 0xeb, 0xde, 0xee, 0x61, 0xcc, 0xef,
0xeb, 0xa7, 0xfd, 0x15, 0xb4, 0xfb, 0x85, 0x4e, 0x1b, 0x5d, 0xf7, 0xaa, 0x9f, 0xb7, 0xba, 0x4c,
0x8d, 0xbc, 0x6e, 0x1e, 0xf6, 0xc5, 0x43, 0x09, 0x84, 0xbb, 0x84, 0x76, 0x25, 0x10, 0xe8, 0x32,
0xfa, 0xf9, 0xed, 0x94, 0x74, 0x59, 0xfe, 0x69, 0x25, 0xba, 0x4b, 0x96, 0x45, 0x8f, 0x83, 0x2f,
0xfa, 0x5a, 0x06, 0xe3, 0xe1, 0xcb, 0x5b, 0xeb, 0xe9, 0x42, 0xfd, 0xeb, 0x4a, 0x74, 0x2f, 0x50,
0xa8, 0x7a, 0x80, 0xdc, 0xc2, 0xba, 0x3f, 0x50, 0x7e, 0x78, 0x7b, 0x45, 0x6a, 0xb9, 0x77, 0xf1,
0x51, 0xfb, 0x63, 0x3c, 0x01, 0xdb, 0x23, 0xfa, 0x63, 0x3c, 0xdd, 0x5a, 0xf0, 0x90, 0x87, 0x5d,
0x34, 0x9b, 0x2e, 0xf4, 0x90, 0x47, 0xdd, 0x50, 0x03, 0x7b, 0x8e, 0xb5, 0x4e, 0x0e, 0x73, 0xf2,
0xea, 0x5d, 0xce, 0xb2, 0x09, 0xed, 0xa4, 0x96, 0x77, 0x3b, 0x31, 0x1c, 0x3c, 0x1c, 0xab, 0xa4,
0x67, 0xa2, 0xd9, 0x48, 0x3d, 0xa6, 0xf4, 0x0d, 0x12, 0x3c, 0x1c, 0x6b, 0xa1, 0x84, 0x37, 0x9d,
0x35, 0x86, 0xbc, 0x81, 0x64, 0xf1, 0x49, 0x1f, 0x14, 0xa4, 0xe8, 0xc6, 0x9b, 0x39, 0x73, 0xdf,
0x0c, 0x59, 0x69, 0x9d, 0xbb, 0x6f, 0xf5, 0xa4, 0x09, 0xb7, 0x23, 0x2e, 0xbf, 0xe2, 0x6c, 0xc2,
0x8b, 0xa0, 0x5b, 0x43, 0xf5, 0x72, 0xeb, 0xd2, 0x98, 0xdb, 0x5d, 0x91, 0xce, 0x67, 0x99, 0xee,
0x4c, 0xd2, 0xad, 0x4b, 0x75, 0xbb, 0x05, 0x34, 0x3c, 0x16, 0xb4, 0x6e, 0x55, 0x7a, 0xf9, 0x24,
0x6c, 0xc6, 0xcb, 0x2a, 0x37, 0x7a, 0xb1, 0x74, 0x3d, 0xf5, 0x30, 0xea, 0xa8, 0x27, 0x18, 0x49,
0x5b, 0x3d, 0x69, 0x78, 0x3e, 0xe7, 0xb8, 0x35, 0xe3, 0x69, 0xbb, 0xc3, 0x56, 0x6b, 0x48, 0x3d,
0xed, 0xaf, 0x00, 0x4f, 0x43, 0xf5, 0xa8, 0x3a, 0x4a, 0x4a, 0xb9, 0x9f, 0xa4, 0xe9, 0x60, 0x23,
0x30, 0x4c, 0x1a, 0x28, 0x78, 0x1a, 0x8a, 0xc0, 0xc4, 0x48, 0x6e, 0x4e, 0x0f, 0xb3, 0x41, 0x97,
0x1d, 0x45, 0xf5, 0x1a, 0xc9, 0x2e, 0x0d, 0x4e, 0xb4, 0x9c, 0xa6, 0x36, 0xb5, 0x1d, 0x86, 0x1b,
0xae, 0x55, 0xe1, 0xed, 0xde, 0x3c, 0x78, 0xdc, 0xae, 0x28, 0xb5, 0xb2, 0x3c, 0xa4, 0x4c, 0x78,
0x2b, 0xc9, 0xa3, 0x0e, 0x0a, 0x9c, 0x0a, 0xd6, 0xd3, 0xe8, 0x6d, 0x32, 0x99, 0x72, 0x89, 0x3e,
0x29, 0x72, 0x81, 0xe0, 0x93, 0x22, 0x00, 0x82, 0xae, 0xab, 0x7f, 0x37, 0xc7, 0xa1, 0x87, 0x13,
0xac, 0xeb, 0xb4, 0xb2, 0x43, 0x85, 0xba, 0x0e, 0xa5, 0x41, 0x34, 0x30, 0x6e, 0xf5, 0xeb, 0xf8,
0x4f, 0x42, 0x66, 0xc0, 0x3b, 0xf9, 0x1b, 0xbd, 0x58, 0xb0, 0xa2, 0x58, 0x87, 0xc9, 0x2c, 0x91,
0xd8, 0x8a, 0xe2, 0xd8, 0xa8, 0x90, 0xd0, 0x8a, 0xd2, 0x46, 0xa9, 0xea, 0x55, 0x39, 0xc2, 0xe1,
0x24, 0x5c, 0xbd, 0x9a, 0xe9, 0x57, 0x3d, 0xc3, 0xb6, 0x1e, 0x6c, 0x66, 0x66, 0xc8, 0xc8, 0x2b,
0xbd, 0x59, 0x46, 0xc6, 0xb6, 0x7a, 0x4d, 0x13, 0x82, 0xa1, 0xa8, 0x43, 0x29, 0xc0, 0x03, 0xfb,
0x8a, 0x6b, 0x9e, 0xbd, 0xe6, 0x39, 0x67, 0x05, 0xcb, 0x62, 0x74, 0x73, 0xaa, 0x0c, 0xb6, 0xc8,
0xd0, 0xe6, 0x94, 0xd4, 0x00, 0x8f, 0xcd, 0xfd, 0x17, 0x2c, 0x91, 0xa9, 0x60, 0xde, 0x64, 0xf4,
0xdf, 0xaf, 0x7c, 0xdc, 0x83, 0x84, 0x8f, 0xcd, 0x1b, 0xc0, 0x1c, 0x7c, 0xd7, 0x4e, 0x3f, 0x0b,
0x98, 0xf2, 0xd1, 0xd0, 0x46, 0x98, 0x56, 0x01, 0x83, 0xda, 0x24, 0xb8, 0x5c, 0xfe, 0x84, 0x2f,
0xb1, 0x41, 0x6d, 0xf3, 0x53, 0x85, 0x84, 0x06, 0x75, 0x1b, 0x05, 0x79, 0xa6, 0xbb, 0x0f, 0x5a,
0x0d, 0xe8, 0xbb, 0x5b, 0x9f, 0xb5, 0x4e, 0x0e, 0xcc, 0x9c, 0xbd, 0x64, 0xe1, 0x3d, 0x27, 0x40,
0x0a, 0xba, 0x97, 0x2c, 0xf0, 0xc7, 0x04, 0x1b, 0xbd, 0x58, 0xf8, 0x48, 0x9e, 0x49, 0xfe, 0xae,
0x79, 0x56, 0x8e, 0x14, 0x57, 0xc9, 0x5b, 0x0f, 0xcb, 0xd7, 0xbb, 0x41, 0x7b, 0x01, 0xf6, 0xb4,
0x10, 0x31, 0x2f, 0x4b, 0xfd, 0x85, 0x42, 0xff, 0x86, 0x91, 0x96, 0x0d, 0xc1, 0xf7, 0x09, 0x1f,
0x86, 0x21, 0xdb, 0x33, 0x5a, 0x64, 0xbf, 0x7a, 0xb3, 0x8a, 0x6a, 0xb6, 0x3f, 0x78, 0xb3, 0xd6,
0xc9, 0xd9, 0xe9, 0xa5, 0xa5, 0xee, 0x67, 0x6e, 0xd6, 0x51, 0x75, 0xec, 0x0b, 0x37, 0x8f, 0x7b,
0x90, 0xda, 0xd5, 0x57, 0xd1, 0xfb, 0x47, 0x62, 0x3a, 0xe2, 0xd9, 0x64, 0xf0, 0x03, 0xff, 0x0a,
0xad, 0x98, 0x0e, 0xab, 0x9f, 0x8d, 0xd1, 0x3b, 0x94, 0xd8, 0x5e, 0x02, 0xdc, 0xe3, 0x17, 0xf3,
0xe9, 0x48, 0x32, 0x09, 0x2e, 0x01, 0xaa, 0xdf, 0x87, 0x95, 0x80, 0xb8, 0x04, 0xe8, 0x01, 0xc0,
0xde, 0xb8, 0xe0, 0x1c, 0xb5, 0x57, 0x09, 0x82, 0xf6, 0x34, 0x60, 0xb3, 0x08, 0x63, 0xaf, 0x4a,
0xd4, 0xe1, 0xa5, 0x3d, 0xab, 0xa3, 0xa4, 0x44, 0x16, 0xd1, 0xa6, 0xec, 0xe0, 0xae, 0xab, 0xaf,
0xbe, 0x3a, 0x32, 0x9f, 0xcd, 0x58, 0xb1, 0x04, 0x83, 0x5b, 0xd7, 0xd2, 0x01, 0x88, 0xc1, 0x8d,
0x82, 0x76, 0xd6, 0x36, 0xcd, 0x1c, 0x5f, 0x1f, 0x88, 0x42, 0xcc, 0x65, 0x92, 0x71, 0xf8, 0xe5,
0x09, 0xd3, 0xa0, 0x2e, 0x43, 0xcc, 0x5a, 0x8a, 0xb5, 0x59, 0xae, 0x22, 0xea, 0xfb, 0x84, 0xea,
0xbb, 0xc5, 0xa5, 0x14, 0x05, 0x7c, 0x9e, 0x58, 0x5b, 0x81, 0x10, 0x91, 0xe5, 0x92, 0x30, 0xe8,
0xfb, 0xd3, 0x24, 0x9b, 0xa2, 0x7d, 0x7f, 0xea, 0x7e, 0xf5, 0xf3, 0x1e, 0x0d, 0xd8, 0x09, 0x55,
0x37, 0x5a, 0x3d, 0x01, 0xf4, 0xbb, 0x9c, 0x68, 0xa3, 0xbb, 0x04, 0x31, 0xa1, 0x70, 0x12, 0xb8,
0x7a, 0x9d, 0xf3, 0x8c, 0x4f, 0x9a, 0x5b, 0x73, 0x98, 0x2b, 0x8f, 0x08, 0xba, 0x82, 0xa4, 0x8d,
0x45, 0x4a, 0x7e, 0x36, 0xcf, 0x4e, 0x0b, 0x71, 0x99, 0xa4, 0xbc, 0x00, 0xb1, 0xa8, 0x56, 0x77,
0xe4, 0x44, 0x2c, 0xc2, 0x38, 0x7b, 0xfd, 0x42, 0x49, 0xbd, 0x8f, 0x6f, 0x8f, 0x0b, 0x16, 0xc3,
0xeb, 0x17, 0xb5, 0x8d, 0x36, 0x46, 0x9c, 0x0c, 0x06, 0x70, 0x27, 0xd1, 0xa9, 0x5d, 0x67, 0x4b,
0x35, 0x3e, 0xf4, 0xbb, 0x84, 0xea, 0x5b, 0x98, 0x25, 0x48, 0x74, 0xb4, 0x39, 0x8c, 0x24, 0x12,
0x9d, 0xb0, 0x86, 0x5d, 0x4a, 0x14, 0x77, 0xa2, 0xaf, 0x15, 0x81, 0xa5, 0xa4, 0xb6, 0xd1, 0x08,
0x89, 0xa5, 0xa4, 0x05, 0x81, 0x80, 0xd4, 0x4c, 0x83, 0x29, 0x1a, 0x90, 0x8c, 0x34, 0x18, 0x90,
0x5c, 0xca, 0x06, 0x8a, 0xc3, 0x2c, 0x91, 0x09, 0x4b, 0x47, 0x5c, 0x9e, 0xb2, 0x82, 0xcd, 0xb8,
0xe4, 0x05, 0x0c, 0x14, 0x1a, 0x19, 0x7a, 0x0c, 0x11, 0x28, 0x28, 0x56, 0x3b, 0xfc, 0xbd, 0xe8,
0xc3, 0x6a, 0xdd, 0xe7, 0x99, 0xfe, 0x2b, 0x1e, 0xaf, 0xd4, 0x9f, 0xff, 0x19, 0x7c, 0x64, 0x6c,
0x8c, 0x64, 0xc1, 0xd9, 0xac, 0xb1, 0xfd, 0x81, 0xf9, 0x5d, 0x81, 0x4f, 0x57, 0xaa, 0xf1, 0x7c,
0x22, 0x64, 0x72, 0x59, 0x6d, 0xb3, 0xf5, 0x1b, 0x44, 0x60, 0x3c, 0xbb, 0xe2, 0x61, 0xe0, 0x5b,
0x14, 0x18, 0x67, 0xe3, 0xb4, 0x2b, 0x3d, 0xe3, 0x79, 0x0a, 0xe3, 0xb4, 0xa7, 0xad, 0x00, 0x22,
0x4e, 0xa3, 0xa0, 0x9d, 0x9c, 0xae, 0x78, 0xcc, 0xc3, 0x95, 0x19, 0xf3, 0x7e, 0x95, 0x19, 0x7b,
0x2f, 0x65, 0xa4, 0xd1, 0x87, 0xc7, 0x7c, 0x76, 0xc1, 0x8b, 0xf2, 0x2a, 0xc9, 0x0f, 0xaa, 0x84,
0x8b, 0xc9, 0x39, 0x7c, 0x6d, 0xd1, 0x12, 0x43, 0x83, 0x10, 0x59, 0x29, 0x81, 0xda, 0x95, 0xc0,
0x02, 0x87, 0xe5, 0x09, 0x9b, 0x71, 0xf5, 0x65, 0x0d, 0xb0, 0x12, 0x38, 0x46, 0x1c, 0x88, 0x58,
0x09, 0x48, 0xd8, 0x79, 0xbf, 0xcb, 0x32, 0x67, 0x7c, 0x5a, 0x8d, 0xb0, 0xe2, 0x94, 0x2d, 0x67,
0x3c, 0x93, 0xda, 0x24, 0x38, 0x93, 0x77, 0x4c, 0xe2, 0x3c, 0x71, 0x26, 0xdf, 0x47, 0xcf, 0x09,
0x4d, 0x5e, 0xc3, 0x9f, 0x8a, 0x42, 0xd6, 0x7f, 0xa3, 0xe7, 0xbc, 0x48, 0x41, 0x68, 0xf2, 0x1b,
0xd5, 0x23, 0x89, 0xd0, 0x14, 0xd6, 0x70, 0xbe, 0x3e, 0xef, 0x95, 0xe1, 0x0d, 0x2f, 0xcc, 0x38,
0x79, 0x35, 0x63, 0x49, 0xaa, 0x47, 0xc3, 0x8f, 0x02, 0xb6, 0x09, 0x1d, 0xe2, 0xeb, 0xf3, 0x7d,
0x75, 0x9d, 0xef, 0xf5, 0x87, 0x4b, 0x08, 0x1e, 0x11, 0x74, 0xd8, 0x27, 0x1e, 0x11, 0x74, 0x6b,
0xd9, 0x9d, 0xbb, 0x65, 0x15, 0xb7, 0x54, 0xc4, 0xae, 0x98, 0xc0, 0xf3, 0x42, 0xc7, 0x26, 0x00,
0x89, 0x9d, 0x7b, 0x50, 0xc1, 0xa6, 0x06, 0x16, 0xdb, 0x4f, 0x32, 0x96, 0x26, 0x3f, 0x83, 0x69,
0xbd, 0x63, 0xa7, 0x21, 0x88, 0xd4, 0x00, 0x27, 0x31, 0x57, 0x07, 0x5c, 0x8e, 0x93, 0x2a, 0xf4,
0xaf, 0x07, 0xda, 0x4d, 0x11, 0xdd, 0xae, 0x1c, 0xd2, 0xf9, 0x46, 0x2b, 0x6c, 0xd6, 0x9d, 0x3c,
0x1f, 0x55, 0xab, 0xea, 0x19, 0x8f, 0x79, 0x92, 0xcb, 0xc1, 0x8b, 0x70, 0x5b, 0x01, 0x9c, 0xb8,
0x68, 0xd1, 0x43, 0xcd, 0x79, 0x7c, 0x5f, 0xc5, 0x92, 0x51, 0xfd, 0xc7, 0xeb, 0xce, 0x4b, 0x5e,
0xe8, 0x44, 0xe3, 0x80, 0x4b, 0x30, 0x3b, 0x1d, 0x6e, 0xe8, 0x80, 0x55, 0x45, 0x89, 0xd9, 0x19,
0xd6, 0xb0, 0x87, 0x7d, 0x0e, 0x77, 0xc6, 0x4b, 0x91, 0x2e, 0xb8, 0xba, 0x6f, 0xb8, 0x49, 0x1a,
0x73, 0x28, 0xe2, 0xb0, 0x8f, 0xa6, 0x6d, 0xb6, 0xd6, 0x76, 0xbb, 0x93, 0x2d, 0x0f, 0xe1, 0x95,
0x09, 0xc4, 0x92, 0xc2, 0x88, 0x6c, 0x2d, 0x80, 0x3b, 0x87, 0xe1, 0x85, 0x60, 0x93, 0x98, 0x95,
0xf2, 0x94, 0x2d, 0x53, 0xc1, 0x26, 0x6a, 0x5d, 0x87, 0x87, 0xe1, 0x0d, 0x33, 0x74, 0x21, 0xea,
0x30, 0x9c, 0x82, 0xdd, 0xec, 0x4c, 0xfd, 0x4d, 0x3e, 0x7d, 0x97, 0x13, 0x66, 0x67, 0xaa, 0xbc,
0xf0, 0x1e, 0xe7, 0xc3, 0x30, 0x64, 0xdf, 0x41, 0xab, 0x45, 0x2a, 0x0d, 0xb9, 0x87, 0xe9, 0x78,
0x09, 0xc8, 0xfd, 0x00, 0x61, 0xbf, 0x4b, 0x51, 0xff, 0xde, 0xfc, 0xdd, 0x17, 0xa9, 0xbf, 0x64,
0xbd, 0x89, 0xe9, 0xba, 0xd0, 0xd0, 0xfd, 0xc0, 0xdd, 0x56, 0x4f, 0xda, 0xa6, 0x99, 0xbb, 0x57,
0x4c, 0xee, 0x4c, 0x26, 0xc7, 0xbc, 0x44, 0x5e, 0x28, 0xaf, 0x84, 0x43, 0x2b, 0x25, 0xd2, 0xcc,
0x36, 0x65, 0x07, 0x7a, 0x25, 0x7b, 0x35, 0x49, 0xa4, 0x96, 0x35, 0x37, 0xa4, 0x37, 0xdb, 0x06,
0xda, 0x14, 0x51, 0x2b, 0x9a, 0xb6, 0xb1, 0xbc, 0x62, 0xc6, 0x62, 0x3a, 0x4d, 0xb9, 0x86, 0xce,
0x38, 0xab, 0x3f, 0xe4, 0xb7, 0xdd, 0xb6, 0x85, 0x82, 0x44, 0x2c, 0x0f, 0x2a, 0xd8, 0x34, 0xb2,
0xc2, 0xea, 0x47, 0x52, 0x4d, 0xc3, 0xae, 0xb5, 0xcd, 0x78, 0x00, 0x91, 0x46, 0xa2, 0xa0, 0x7d,
0xef, 0xad, 0x12, 0x1f, 0xf0, 0xa6, 0x25, 0xe0, 0x27, 0x88, 0x94, 0xb2, 0x23, 0x26, 0xde, 0x7b,
0x43, 0x30, 0xbb, 0x4f, 0x00, 0x1e, 0x5e, 0x2e, 0x0f, 0x27, 0x70, 0x9f, 0x00, 0xf5, 0x15, 0x43,
0xec, 0x13, 0x28, 0xd6, 0xef, 0x3a, 0x73, 0xee, 0x75, 0xc4, 0x4a, 0x5b, 0x39, 0xa4, 0xeb, 0x50,
0x30, 0xd4, 0x75, 0x94, 0x82, 0xdf, 0xa4, 0xee, 0xd1, 0x1a, 0xd2, 0xa4, 0xd8, 0xb9, 0xda, 0x6a,
0x17, 0x66, 0xe3, 0x92, 0xd9, 0x4f, 0xaa, 0x2b, 0x4b, 0xf8, 0x17, 0xfc, 0x6b, 0x21, 0x11, 0x97,
0x5a, 0x50, 0x6d, 0xfb, 0xe5, 0xfd, 0xff, 0xfa, 0xe6, 0xce, 0xca, 0x2f, 0xbe, 0xb9, 0xb3, 0xf2,
0x3f, 0xdf, 0xdc, 0x59, 0xf9, 0xf9, 0xb7, 0x77, 0xde, 0xfb, 0xc5, 0xb7, 0x77, 0xde, 0xfb, 0xef,
0x6f, 0xef, 0xbc, 0xf7, 0xf5, 0xfb, 0xfa, 0x6f, 0xb5, 0x5e, 0xfc, 0x3f, 0xf5, 0x17, 0x57, 0x9f,
0xff, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x20, 0x36, 0x1c, 0xcb, 0xcf, 0x75, 0x00, 0x00,
}
// Reference imports to suppress errors if they are not otherwise used.
@ -399,11 +399,11 @@ type ClientCommandsClient interface {
// Account
// ***
AccountRecover(ctx context.Context, in *pb.RpcAccountRecoverRequest, opts ...grpc.CallOption) (*pb.RpcAccountRecoverResponse, error)
AccountMigrate(ctx context.Context, in *pb.RpcAccountMigrateRequest, opts ...grpc.CallOption) (*pb.RpcAccountMigrateResponse, error)
AccountCreate(ctx context.Context, in *pb.RpcAccountCreateRequest, opts ...grpc.CallOption) (*pb.RpcAccountCreateResponse, error)
AccountDelete(ctx context.Context, in *pb.RpcAccountDeleteRequest, opts ...grpc.CallOption) (*pb.RpcAccountDeleteResponse, error)
AccountRevertDeletion(ctx context.Context, in *pb.RpcAccountRevertDeletionRequest, opts ...grpc.CallOption) (*pb.RpcAccountRevertDeletionResponse, error)
AccountSelect(ctx context.Context, in *pb.RpcAccountSelectRequest, opts ...grpc.CallOption) (*pb.RpcAccountSelectResponse, error)
AccountMigrate(ctx context.Context, in *pb.RpcAccountMigrateRequest, opts ...grpc.CallOption) (*pb.RpcAccountMigrateResponse, error)
AccountEnableLocalNetworkSync(ctx context.Context, in *pb.RpcAccountEnableLocalNetworkSyncRequest, opts ...grpc.CallOption) (*pb.RpcAccountEnableLocalNetworkSyncResponse, error)
AccountStop(ctx context.Context, in *pb.RpcAccountStopRequest, opts ...grpc.CallOption) (*pb.RpcAccountStopResponse, error)
AccountMove(ctx context.Context, in *pb.RpcAccountMoveRequest, opts ...grpc.CallOption) (*pb.RpcAccountMoveResponse, error)
@ -903,6 +903,15 @@ func (c *clientCommandsClient) AccountRecover(ctx context.Context, in *pb.RpcAcc
return out, nil
}
func (c *clientCommandsClient) AccountMigrate(ctx context.Context, in *pb.RpcAccountMigrateRequest, opts ...grpc.CallOption) (*pb.RpcAccountMigrateResponse, error) {
out := new(pb.RpcAccountMigrateResponse)
err := c.cc.Invoke(ctx, "/anytype.ClientCommands/AccountMigrate", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *clientCommandsClient) AccountCreate(ctx context.Context, in *pb.RpcAccountCreateRequest, opts ...grpc.CallOption) (*pb.RpcAccountCreateResponse, error) {
out := new(pb.RpcAccountCreateResponse)
err := c.cc.Invoke(ctx, "/anytype.ClientCommands/AccountCreate", in, out, opts...)
@ -939,15 +948,6 @@ func (c *clientCommandsClient) AccountSelect(ctx context.Context, in *pb.RpcAcco
return out, nil
}
func (c *clientCommandsClient) AccountMigrate(ctx context.Context, in *pb.RpcAccountMigrateRequest, opts ...grpc.CallOption) (*pb.RpcAccountMigrateResponse, error) {
out := new(pb.RpcAccountMigrateResponse)
err := c.cc.Invoke(ctx, "/anytype.ClientCommands/AccountMigrate", in, out, opts...)
if err != nil {
return nil, err
}
return out, nil
}
func (c *clientCommandsClient) AccountEnableLocalNetworkSync(ctx context.Context, in *pb.RpcAccountEnableLocalNetworkSyncRequest, opts ...grpc.CallOption) (*pb.RpcAccountEnableLocalNetworkSyncResponse, error) {
out := new(pb.RpcAccountEnableLocalNetworkSyncResponse)
err := c.cc.Invoke(ctx, "/anytype.ClientCommands/AccountEnableLocalNetworkSync", in, out, opts...)
@ -3205,11 +3205,11 @@ type ClientCommandsServer interface {
// Account
// ***
AccountRecover(context.Context, *pb.RpcAccountRecoverRequest) *pb.RpcAccountRecoverResponse
AccountMigrate(context.Context, *pb.RpcAccountMigrateRequest) *pb.RpcAccountMigrateResponse
AccountCreate(context.Context, *pb.RpcAccountCreateRequest) *pb.RpcAccountCreateResponse
AccountDelete(context.Context, *pb.RpcAccountDeleteRequest) *pb.RpcAccountDeleteResponse
AccountRevertDeletion(context.Context, *pb.RpcAccountRevertDeletionRequest) *pb.RpcAccountRevertDeletionResponse
AccountSelect(context.Context, *pb.RpcAccountSelectRequest) *pb.RpcAccountSelectResponse
AccountMigrate(context.Context, *pb.RpcAccountMigrateRequest) *pb.RpcAccountMigrateResponse
AccountEnableLocalNetworkSync(context.Context, *pb.RpcAccountEnableLocalNetworkSyncRequest) *pb.RpcAccountEnableLocalNetworkSyncResponse
AccountStop(context.Context, *pb.RpcAccountStopRequest) *pb.RpcAccountStopResponse
AccountMove(context.Context, *pb.RpcAccountMoveRequest) *pb.RpcAccountMoveResponse
@ -3579,6 +3579,9 @@ func (*UnimplementedClientCommandsServer) WorkspaceExport(ctx context.Context, r
func (*UnimplementedClientCommandsServer) AccountRecover(ctx context.Context, req *pb.RpcAccountRecoverRequest) *pb.RpcAccountRecoverResponse {
return nil
}
func (*UnimplementedClientCommandsServer) AccountMigrate(ctx context.Context, req *pb.RpcAccountMigrateRequest) *pb.RpcAccountMigrateResponse {
return nil
}
func (*UnimplementedClientCommandsServer) AccountCreate(ctx context.Context, req *pb.RpcAccountCreateRequest) *pb.RpcAccountCreateResponse {
return nil
}
@ -3591,9 +3594,6 @@ func (*UnimplementedClientCommandsServer) AccountRevertDeletion(ctx context.Cont
func (*UnimplementedClientCommandsServer) AccountSelect(ctx context.Context, req *pb.RpcAccountSelectRequest) *pb.RpcAccountSelectResponse {
return nil
}
func (*UnimplementedClientCommandsServer) AccountMigrate(ctx context.Context, req *pb.RpcAccountMigrateRequest) *pb.RpcAccountMigrateResponse {
return nil
}
func (*UnimplementedClientCommandsServer) AccountEnableLocalNetworkSync(ctx context.Context, req *pb.RpcAccountEnableLocalNetworkSyncRequest) *pb.RpcAccountEnableLocalNetworkSyncResponse {
return nil
}
@ -4712,6 +4712,24 @@ func _ClientCommands_AccountRecover_Handler(srv interface{}, ctx context.Context
return interceptor(ctx, in, info, handler)
}
func _ClientCommands_AccountMigrate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(pb.RpcAccountMigrateRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ClientCommandsServer).AccountMigrate(ctx, in), nil
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/anytype.ClientCommands/AccountMigrate",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ClientCommandsServer).AccountMigrate(ctx, req.(*pb.RpcAccountMigrateRequest)), nil
}
return interceptor(ctx, in, info, handler)
}
func _ClientCommands_AccountCreate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(pb.RpcAccountCreateRequest)
if err := dec(in); err != nil {
@ -4784,24 +4802,6 @@ func _ClientCommands_AccountSelect_Handler(srv interface{}, ctx context.Context,
return interceptor(ctx, in, info, handler)
}
func _ClientCommands_AccountMigrate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(pb.RpcAccountMigrateRequest)
if err := dec(in); err != nil {
return nil, err
}
if interceptor == nil {
return srv.(ClientCommandsServer).AccountMigrate(ctx, in), nil
}
info := &grpc.UnaryServerInfo{
Server: srv,
FullMethod: "/anytype.ClientCommands/AccountMigrate",
}
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
return srv.(ClientCommandsServer).AccountMigrate(ctx, req.(*pb.RpcAccountMigrateRequest)), nil
}
return interceptor(ctx, in, info, handler)
}
func _ClientCommands_AccountEnableLocalNetworkSync_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(pb.RpcAccountEnableLocalNetworkSyncRequest)
if err := dec(in); err != nil {
@ -9304,6 +9304,10 @@ var _ClientCommands_serviceDesc = grpc.ServiceDesc{
MethodName: "AccountRecover",
Handler: _ClientCommands_AccountRecover_Handler,
},
{
MethodName: "AccountMigrate",
Handler: _ClientCommands_AccountMigrate_Handler,
},
{
MethodName: "AccountCreate",
Handler: _ClientCommands_AccountCreate_Handler,
@ -9320,10 +9324,6 @@ var _ClientCommands_serviceDesc = grpc.ServiceDesc{
MethodName: "AccountSelect",
Handler: _ClientCommands_AccountSelect_Handler,
},
{
MethodName: "AccountMigrate",
Handler: _ClientCommands_AccountMigrate_Handler,
},
{
MethodName: "AccountEnableLocalNetworkSync",
Handler: _ClientCommands_AccountEnableLocalNetworkSync_Handler,

View file

@ -1,99 +0,0 @@
package core
import (
"context"
"fmt"
"sync"
"github.com/anyproto/any-sync/app"
"github.com/libp2p/go-libp2p/core/peer"
"github.com/anyproto/anytype-heart/metrics"
"github.com/anyproto/anytype-heart/pkg/lib/logging"
)
var log = logging.Logger("anytype-core")
const (
CName = "anytype"
)
type Service interface {
Stop() error
IsStarted() bool
app.ComponentRunnable
}
var _ app.Component = (*Anytype)(nil)
var _ Service = (*Anytype)(nil)
type Anytype struct {
lock sync.RWMutex
isStarted bool // use under the lock
shutdownStartsCh chan struct {
} // closed when node shutdown starts
}
func New() *Anytype {
return &Anytype{
shutdownStartsCh: make(chan struct{}),
}
}
func (a *Anytype) Init(ap *app.App) (err error) {
return
}
func (a *Anytype) Name() string {
return CName
}
func (a *Anytype) Run(ctx context.Context) (err error) {
a.start()
return nil
}
// TODO: refactor to call tech space
func (a *Anytype) IsStarted() bool {
return true
a.lock.Lock()
defer a.lock.Unlock()
return a.isStarted
}
func (a *Anytype) HandlePeerFound(p peer.AddrInfo) {
// TODO: [MR] mdns
}
func (a *Anytype) start() {
a.lock.Lock()
defer a.lock.Unlock()
if a.isStarted {
return
}
a.isStarted = true
}
func (a *Anytype) Close(ctx context.Context) (err error) {
metrics.Service.Close()
return a.Stop()
}
func (a *Anytype) Stop() error {
fmt.Printf("stopping the library...\n")
defer fmt.Println("library has been successfully stopped")
a.lock.Lock()
defer a.lock.Unlock()
a.isStarted = false
if a.shutdownStartsCh != nil {
close(a.shutdownStartsCh)
}
return nil
}

View file

@ -8,8 +8,11 @@ import (
"github.com/anyproto/any-sync/app"
"github.com/anyproto/anytype-heart/core/wallet"
"github.com/anyproto/anytype-heart/pkg/lib/logging"
)
var log = logging.Logger("anytype-core")
const tmpDir = "tmp"
type TempDirProvider interface {

View file

@ -0,0 +1,4 @@
package migrator
type migrationProcess struct {
}

View file

@ -517,33 +517,6 @@ func BundledRelationIdToKey(id string) (string, error) {
return "", fmt.Errorf("incorrect id format")
}
func Map(s *types.Struct, keys ...string) *types.Struct {
if len(keys) == 0 {
return s
}
if s == nil {
return nil
}
ns := new(types.Struct)
if s.Fields == nil {
return ns
}
ns.Fields = make(map[string]*types.Value)
for _, key := range keys {
if value, ok := s.Fields[key]; ok {
ns.Fields[key] = value
}
}
return ns
}
func MapN(structs []*types.Struct, keys ...string) []*types.Struct {
for i, s := range structs {
structs[i] = Map(s, keys...)
}
return structs
}
func StructIterate(st *types.Struct, f func(path []string, v *types.Value)) {
var iterate func(s *types.Struct, f func(path []string, v *types.Value), path []string)
iterate = func(s *types.Struct, f func(path []string, v *types.Value), path []string) {

View file

@ -6,8 +6,6 @@ import (
"github.com/gogo/protobuf/types"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"golang.org/x/exp/maps"
)
func TestGet(t *testing.T) {
@ -179,34 +177,3 @@ func TestIsEmptyValueOrAbsent(t *testing.T) {
})
}
}
func TestMapN(t *testing.T) {
// given
structs := []*types.Struct{
{Fields: map[string]*types.Value{
"name": String("obj1"),
"id": String("obj1"),
"key": String("obj1"),
}},
{Fields: map[string]*types.Value{
"name": String("obj2"),
"id": String("obj2"),
"links": StringList([]string{"obj1", "obj3"}),
}},
{Fields: map[string]*types.Value{
"name": String("obj3"),
"id": String("obj3"),
"number": Int64(42),
}},
}
keys := []string{"name", "id"}
// when
mapped := MapN(structs, keys...)
// then
require.Len(t, mapped, 3)
assert.Len(t, maps.Keys(mapped[0].Fields), 2)
assert.Len(t, maps.Keys(mapped[1].Fields), 2)
assert.Len(t, maps.Keys(mapped[2].Fields), 2)
}