Commit 5a96588e authored by jean-pierre charras's avatar jean-pierre charras

Fix bug 910364: When a footprint saved in a .mod file is not on front layer...

Fix bug 910364: When a footprint saved in a .mod file is not on front layer and/or not with orientation 0 degree, the Module editor load it incorrectly.
note:  the Module editor save it with default orientation and layer, but the archive function does not, so some footprints can be not editable.
TODO: modify the Archive Function to use the default layer / orientation.
parent b774d96f
...@@ -8,84 +8,86 @@ ...@@ -8,84 +8,86 @@
static const unsigned char png[] = { static const unsigned char png[] = {
0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52, 0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a, 0x00, 0x00, 0x00, 0x0d, 0x49, 0x48, 0x44, 0x52,
0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, 0x1a, 0x08, 0x06, 0x00, 0x00, 0x00, 0xa9, 0x4a, 0x4c,
0xce, 0x00, 0x00, 0x04, 0xc3, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xbd, 0x96, 0x0b, 0x50, 0x94, 0xce, 0x00, 0x00, 0x04, 0xd9, 0x49, 0x44, 0x41, 0x54, 0x48, 0xc7, 0xad, 0x96, 0x7b, 0x4c, 0x93,
0x55, 0x14, 0xc7, 0x2f, 0x4e, 0x4a, 0x0a, 0x6a, 0x39, 0xd6, 0x38, 0x36, 0x9a, 0xaf, 0xc1, 0xb4, 0x57, 0x18, 0x87, 0xdf, 0xe9, 0xd8, 0x88, 0x11, 0x51, 0xd1, 0xcd, 0x0d, 0xa2, 0xfe, 0xa1, 0xcb,
0x51, 0x74, 0x7c, 0x80, 0x06, 0x31, 0x21, 0x35, 0x26, 0xa4, 0xf9, 0x20, 0x28, 0x40, 0x17, 0x29, 0xc4, 0x25, 0x9b, 0xd1, 0x51, 0x9c, 0x3a, 0x99, 0x04, 0x95, 0xb9, 0x09, 0x0b, 0x71, 0xc6, 0x5b,
0x1a, 0xd4, 0x59, 0x72, 0x64, 0x10, 0x30, 0xd8, 0x87, 0x01, 0x22, 0xaf, 0x85, 0xe5, 0x8d, 0xb8, 0x51, 0x99, 0xc0, 0x94, 0xa1, 0xec, 0xc2, 0x20, 0x52, 0x68, 0x11, 0x5a, 0xa1, 0x17, 0x2e, 0x05,
0x4b, 0x82, 0xcb, 0x5a, 0x62, 0x22, 0x0b, 0x15, 0xa1, 0x8d, 0x39, 0xa8, 0x11, 0xea, 0x4c, 0x02, 0xbc, 0x56, 0x2e, 0xc2, 0xa0, 0x48, 0x84, 0x39, 0x41, 0x9d, 0x4c, 0x21, 0x33, 0x44, 0x99, 0x3a,
0x8e, 0xb0, 0x29, 0x99, 0x82, 0xf2, 0x46, 0x91, 0x5d, 0x60, 0xf9, 0x77, 0xbe, 0x4f, 0xdc, 0x16, 0x11, 0x06, 0x4e, 0x40, 0x53, 0x28, 0x11, 0x28, 0x3a, 0x54, 0x86, 0xc3, 0x4a, 0x7f, 0x3b, 0xdf,
0x96, 0x31, 0x35, 0xed, 0xce, 0xfc, 0x76, 0xef, 0xde, 0x9d, 0x39, 0xbf, 0x7b, 0xee, 0x39, 0x77, 0x27, 0x6d, 0x80, 0x2a, 0xab, 0xba, 0x3f, 0x9e, 0xf4, 0x3b, 0xa7, 0xe7, 0x7b, 0x9f, 0x73, 0xde,
0xf7, 0x63, 0x00, 0xd8, 0xb3, 0x84, 0xc6, 0x3a, 0x62, 0xb4, 0xd9, 0xfa, 0x73, 0x10, 0xc9, 0x88, 0xf3, 0x9e, 0xd3, 0x12, 0x00, 0x7a, 0x1a, 0x91, 0x91, 0x70, 0x4a, 0x94, 0xfc, 0x95, 0xac, 0x8a,
0xdc, 0xff, 0x47, 0xe4, 0xc5, 0xb8, 0x89, 0xe4, 0xb9, 0x88, 0xb8, 0xe3, 0x22, 0x16, 0x10, 0x45, 0x35, 0xe8, 0x95, 0xb1, 0xb7, 0xcf, 0x89, 0x44, 0x58, 0x30, 0xd2, 0xf8, 0x91, 0x78, 0x62, 0xe7,
0xac, 0x94, 0x44, 0x4e, 0xbc, 0x4c, 0xf0, 0xcc, 0x44, 0x34, 0x1c, 0xd8, 0x58, 0x76, 0x96, 0xb9, 0xce, 0x9d, 0x70, 0x96, 0x4b, 0x6e, 0x67, 0xed, 0x89, 0xbf, 0xa9, 0xbf, 0xae, 0x51, 0x19, 0x51,
0xb0, 0x3e, 0xb6, 0x83, 0x82, 0x4b, 0x89, 0x9f, 0x88, 0x12, 0x62, 0x0e, 0xad, 0x31, 0xe6, 0xf2, 0xb8, 0x09, 0xdd, 0x79, 0xdf, 0xa0, 0x44, 0x55, 0x69, 0x50, 0x48, 0xba, 0x6a, 0x77, 0x89, 0xfb,
0x9f, 0x44, 0x34, 0x26, 0xb2, 0x31, 0x2c, 0x8f, 0x05, 0x50, 0xc0, 0x22, 0xa2, 0x7c, 0x04, 0x44, 0x7c, 0xd9, 0x9b, 0x2f, 0x3d, 0xb7, 0x48, 0x2c, 0xc6, 0x0c, 0x45, 0x6c, 0x57, 0xb1, 0x46, 0x76,
0x7c, 0x56, 0xd5, 0x84, 0xc5, 0xd3, 0x8b, 0x26, 0x50, 0xf8, 0xd8, 0x61, 0x81, 0xbf, 0x27, 0xb8, 0xad, 0xad, 0x25, 0x4b, 0x6a, 0xe2, 0x04, 0xc3, 0xe9, 0xcd, 0x0f, 0xc1, 0x69, 0x75, 0x69, 0xb7,
0xb5, 0x32, 0x22, 0x8d, 0xb0, 0x66, 0x5d, 0x24, 0x59, 0xf8, 0xd4, 0x19, 0xd1, 0x08, 0x64, 0x5f, 0x52, 0xd2, 0xd9, 0x2c, 0x13, 0xdf, 0x0f, 0x0e, 0x0c, 0x84, 0x9d, 0xcd, 0x22, 0xb1, 0x10, 0x53,
0x9a, 0x08, 0x22, 0x09, 0x3b, 0xd6, 0xc1, 0x5e, 0x62, 0xbb, 0xe8, 0x3b, 0x35, 0x4b, 0xe2, 0x25, 0x15, 0x3b, 0x0d, 0x67, 0x0f, 0x27, 0xd4, 0xdc, 0x6a, 0xcf, 0x89, 0xb6, 0x04, 0xfd, 0x27, 0x4f,
0x7a, 0x9a, 0x3b, 0x3f, 0x71, 0x8d, 0xc2, 0xc3, 0xe1, 0xb8, 0x67, 0x0f, 0xa6, 0xf1, 0x45, 0x7f, 0x88, 0xd3, 0xa2, 0x65, 0xe8, 0xd7, 0x6e, 0xe4, 0xdb, 0xdd, 0x59, 0xeb, 0x90, 0x1d, 0xb2, 0x08,
0x81, 0xdd, 0x67, 0x27, 0x06, 0x25, 0x5f, 0x10, 0x16, 0xac, 0x95, 0xd6, 0xa7, 0x0d, 0x6e, 0x22, 0x4a, 0xe1, 0xfb, 0xb8, 0x20, 0xf3, 0x43, 0x55, 0xfa, 0x0f, 0xbd, 0x49, 0xb1, 0x06, 0xdd, 0x6e,
0x86, 0x8d, 0x63, 0x03, 0xf4, 0xee, 0xf5, 0xd8, 0x5d, 0x27, 0x16, 0x63, 0x94, 0x54, 0x7c, 0xdf, 0xc9, 0xbd, 0x2d, 0x6c, 0x92, 0xa3, 0x46, 0x14, 0x49, 0x5f, 0xbd, 0xf3, 0x71, 0xf2, 0xa4, 0x3f,
0x33, 0x5e, 0xda, 0x52, 0x5b, 0x2c, 0x2b, 0x6f, 0x57, 0xec, 0xab, 0x69, 0x0c, 0x10, 0x1c, 0xad, 0x3a, 0x94, 0xd3, 0x5b, 0x1f, 0xb6, 0xef, 0x8b, 0xb6, 0x5a, 0x41, 0xa5, 0xc4, 0x1b, 0x09, 0xeb,
0x60, 0x8b, 0x06, 0x25, 0x5c, 0xd1, 0x27, 0xf3, 0x75, 0x10, 0x9a, 0x64, 0x1b, 0x49, 0xec, 0x7e, 0xe6, 0x21, 0x79, 0xa3, 0x00, 0x31, 0xab, 0xe6, 0xa0, 0x46, 0xe1, 0x8b, 0xfe, 0x82, 0x8d, 0x30,
0xac, 0x7b, 0xe4, 0xef, 0x8f, 0xd1, 0x51, 0x92, 0xee, 0x80, 0x04, 0x69, 0xb3, 0xf6, 0x54, 0xf2, 0x16, 0x3c, 0x96, 0x1b, 0xb5, 0x81, 0xa8, 0x50, 0x17, 0xf5, 0x28, 0x25, 0x86, 0x46, 0xa9, 0xf8,
0xb1, 0x2e, 0x9d, 0x6a, 0x1b, 0x70, 0xc4, 0x97, 0x27, 0x7a, 0xf3, 0x7b, 0xa0, 0x1d, 0x83, 0x4d, 0xef, 0x95, 0x4f, 0x15, 0x29, 0xc7, 0xdd, 0x68, 0x68, 0x0b, 0x76, 0x44, 0xfd, 0xda, 0x39, 0x26,
0x21, 0x5e, 0xe1, 0x25, 0x1c, 0xf3, 0x4d, 0x44, 0x6f, 0x8c, 0x78, 0xdc, 0xa6, 0x1f, 0x82, 0x82, 0x85, 0x8b, 0xce, 0xa8, 0x4b, 0x91, 0x5a, 0x24, 0x8f, 0x58, 0xb0, 0xf2, 0xe8, 0xe5, 0xd8, 0xb1,
0x60, 0xb5, 0x4f, 0xdc, 0x15, 0x96, 0x28, 0x6d, 0x6e, 0x38, 0x9b, 0x96, 0xdf, 0xdd, 0xa7, 0xf6, 0x62, 0x36, 0x42, 0x96, 0xcf, 0x82, 0x36, 0xcc, 0x03, 0x9a, 0xe0, 0x85, 0xbc, 0x54, 0xe5, 0xef,
0x37, 0x0a, 0x1e, 0x52, 0x9b, 0xb8, 0x01, 0x9a, 0xd0, 0x77, 0x21, 0xdb, 0xea, 0x82, 0x50, 0x5f, 0x86, 0xc4, 0xf5, 0xf3, 0xb0, 0xc5, 0xf3, 0x2d, 0xf4, 0xe6, 0x0a, 0xf1, 0x20, 0x7f, 0x2b, 0x4e,
0xf1, 0x3d, 0x81, 0xa7, 0xf2, 0xba, 0x38, 0xec, 0x8e, 0xfb, 0xbf, 0xd6, 0x95, 0x7b, 0xa1, 0x2e, 0xa4, 0x9c, 0xea, 0x56, 0x49, 0x0c, 0x35, 0xa2, 0x48, 0xa3, 0x55, 0xd1, 0x50, 0xda, 0xa4, 0x2b,
0xb4, 0x90, 0x4c, 0xd5, 0x7b, 0x47, 0x79, 0xdc, 0xed, 0xba, 0x98, 0x79, 0x40, 0x67, 0x50, 0xfb, 0x2d, 0x86, 0xed, 0x04, 0x8e, 0x26, 0xff, 0x19, 0x50, 0x39, 0x37, 0x19, 0x2f, 0x4b, 0x64, 0x48,
0x19, 0x03, 0x0f, 0xa8, 0x7d, 0x91, 0xec, 0x6b, 0x8f, 0xba, 0xe4, 0x8d, 0xfc, 0xfc, 0xd7, 0xe8, 0xdd, 0x2c, 0x80, 0x6c, 0xed, 0x5c, 0x9c, 0x15, 0x7b, 0xa3, 0x75, 0xef, 0xe7, 0xd0, 0xee, 0xf0,
0x0f, 0xb0, 0xdf, 0x7b, 0x29, 0x8e, 0x07, 0xaf, 0xc2, 0x99, 0xbd, 0xae, 0xe8, 0xa1, 0x6c, 0x7f, 0xb0, 0x4c, 0x80, 0x4b, 0x65, 0x25, 0xeb, 0xe7, 0x44, 0x97, 0x13, 0x56, 0x0e, 0xc9, 0xc0, 0xbd,
0x48, 0x2e, 0xed, 0xa0, 0xe3, 0xbd, 0x1c, 0x1e, 0xda, 0xe7, 0xf4, 0x48, 0x51, 0x94, 0x65, 0xdb, 0xbc, 0x1d, 0xc8, 0x97, 0x9f, 0xef, 0x51, 0x48, 0x3a, 0x2a, 0x87, 0x88, 0x54, 0x8e, 0xcd, 0x37,
0xe7, 0xaa, 0x79, 0xca, 0x4e, 0xc5, 0x5c, 0x4d, 0x8f, 0xca, 0xfd, 0x7c, 0xcf, 0xf0, 0x2c, 0xba, 0x3b, 0x43, 0x47, 0xc1, 0x2c, 0xd3, 0x6d, 0x99, 0x82, 0x14, 0x97, 0x7a, 0x63, 0x75, 0x44, 0x8a,
0x0f, 0xf9, 0x40, 0xea, 0xb1, 0x18, 0x1f, 0x2e, 0x9b, 0x8e, 0xb0, 0xf5, 0x0b, 0x51, 0x1c, 0xe2, 0x89, 0xdb, 0x23, 0xee, 0x65, 0x83, 0x66, 0x0d, 0x0e, 0x87, 0x7c, 0xc8, 0x3f, 0x5f, 0x91, 0xfb,
0xc2, 0x4b, 0x2e, 0xc5, 0xae, 0x43, 0xbd, 0x7c, 0x13, 0x9a, 0xb2, 0x3d, 0xd1, 0x99, 0x2f, 0xc4, 0x20, 0x8c, 0xad, 0x30, 0x79, 0x93, 0x80, 0x4f, 0xe1, 0x60, 0x49, 0xbf, 0x36, 0x00, 0xd5, 0x7b,
0xd1, 0xf8, 0x33, 0xad, 0x71, 0xd2, 0x96, 0x0a, 0x6a, 0x9c, 0x05, 0x23, 0x8a, 0x12, 0x26, 0xd6, 0x33, 0x4d, 0xaa, 0xf8, 0x66, 0x93, 0x4c, 0x72, 0x5d, 0x34, 0x44, 0x94, 0x38, 0x56, 0x1f, 0x7f,
0x5f, 0x6e, 0xda, 0x61, 0x89, 0xe6, 0x40, 0x0b, 0x14, 0xd8, 0x2a, 0x74, 0xca, 0xd5, 0x17, 0x74, 0x6e, 0xa9, 0x7f, 0x9f, 0x59, 0xc4, 0xc1, 0xa5, 0x32, 0x7d, 0xda, 0x45, 0x63, 0x55, 0x58, 0x2e,
0x9c, 0xa0, 0x5d, 0xe1, 0x85, 0x1b, 0xe9, 0x1f, 0x21, 0xc5, 0xcf, 0x1e, 0xb9, 0xdb, 0x1d, 0x11, 0x5f, 0x79, 0x77, 0xb3, 0xd7, 0x5b, 0xf6, 0xa9, 0xf8, 0x3b, 0x4f, 0x96, 0xaa, 0x0d, 0x28, 0x8d,
0xeb, 0xb3, 0x0c, 0x7f, 0xd2, 0xe7, 0xea, 0x84, 0xf5, 0x38, 0x1f, 0xe5, 0x86, 0xf2, 0x88, 0xd5, 0xf4, 0xc2, 0xa9, 0xa8, 0xa5, 0xbc, 0xc0, 0x54, 0xb8, 0x19, 0x57, 0x0f, 0xa4, 0x23, 0x4d, 0x75,
0xc8, 0xf8, 0x6c, 0x25, 0xbc, 0x1d, 0x67, 0xe3, 0x5a, 0xaa, 0x3b, 0xbf, 0xa9, 0xb6, 0xbc, 0x60, 0x03, 0xd9, 0x15, 0xbf, 0x22, 0xa3, 0x44, 0xd5, 0x25, 0x16, 0x8b, 0xdf, 0x1b, 0x22, 0x12, 0x13,
0xe4, 0xed, 0xbf, 0x74, 0x3b, 0x5e, 0xda, 0xaa, 0xa1, 0x2e, 0x7d, 0x7d, 0x88, 0x48, 0x36, 0xa9, 0x5e, 0x51, 0x38, 0xb4, 0xd4, 0x5e, 0x17, 0xbe, 0x8d, 0xc1, 0xb2, 0xf6, 0x10, 0x7b, 0xec, 0x9f,
0xa6, 0xae, 0x39, 0x90, 0xe1, 0x21, 0x45, 0x2b, 0xa2, 0x75, 0xe9, 0x6f, 0x5d, 0xd4, 0xa7, 0x7d, 0x79, 0xc6, 0x78, 0xcc, 0xbf, 0xd4, 0xc4, 0xed, 0x55, 0xc9, 0xb7, 0x9e, 0x7c, 0xd5, 0x0d, 0x2f,
0xba, 0x12, 0x39, 0x01, 0x0e, 0x68, 0xc9, 0xf9, 0x04, 0xfa, 0xc3, 0x5b, 0x90, 0xea, 0xb7, 0xc2, 0x96, 0xc6, 0x43, 0x4a, 0xec, 0x49, 0x6e, 0x42, 0xe6, 0xa9, 0xf3, 0x38, 0xde, 0x73, 0x08, 0x65,
0x98, 0xe5, 0x5f, 0x19, 0x1e, 0xfc, 0x06, 0xf2, 0x85, 0x4e, 0xe8, 0xca, 0xf5, 0x36, 0xab, 0x65, 0x7d, 0xfb, 0x91, 0x5a, 0x22, 0xed, 0xf1, 0xf3, 0xf3, 0xf3, 0xb5, 0x2e, 0x6f, 0x82, 0x4b, 0xd2,
0x55, 0xa6, 0x02, 0xa2, 0xf0, 0x5e, 0x1d, 0xd7, 0x58, 0x46, 0x51, 0xfc, 0x84, 0x3f, 0xca, 0xea, 0xc4, 0x06, 0x7d, 0xdb, 0x97, 0x0e, 0x43, 0x64, 0x9d, 0xa1, 0xa3, 0x91, 0xe9, 0xaa, 0x35, 0x65,
0xb7, 0xcc, 0x81, 0xa9, 0xac, 0xdc, 0x59, 0xd8, 0x9b, 0xb6, 0xf8, 0x4a, 0xaf, 0x41, 0xf5, 0xa0, 0x7e, 0x52, 0x65, 0x75, 0xa6, 0x5a, 0xb2, 0xe2, 0x70, 0x20, 0xa5, 0x01, 0x07, 0x7f, 0xbc, 0x84,
0x5e, 0x06, 0xb5, 0x00, 0x32, 0x81, 0x1d, 0xda, 0x28, 0x4b, 0x25, 0x65, 0x17, 0xe3, 0xb5, 0x14, 0x63, 0xdd, 0xd9, 0xbc, 0xc0, 0x4c, 0x46, 0xb1, 0xea, 0xa1, 0xf7, 0xbb, 0x01, 0x1a, 0x22, 0x9a,
0x22, 0xf7, 0x45, 0xb8, 0x99, 0xe9, 0x31, 0x44, 0xd0, 0x7c, 0x28, 0x14, 0xb9, 0xf1, 0x55, 0x86, 0x6f, 0x75, 0x60, 0x77, 0xd9, 0xdf, 0x5f, 0xa2, 0x99, 0x76, 0xb2, 0x73, 0xb0, 0xc8, 0x4c, 0xa1,
0x44, 0xd9, 0xc5, 0x7e, 0x91, 0x48, 0x25, 0x18, 0xde, 0x0c, 0xb6, 0x07, 0xa6, 0x97, 0x35, 0x71, 0x5b, 0x1a, 0xd2, 0x3f, 0xba, 0x86, 0x47, 0xda, 0x2f, 0xd0, 0x91, 0x13, 0x85, 0x2c, 0x75, 0x0d,
0x47, 0x67, 0x2a, 0xab, 0x58, 0xe3, 0xd9, 0x97, 0x34, 0x4f, 0xdb, 0xa7, 0x3b, 0xf4, 0xa0, 0xbd, 0xf6, 0x6b, 0xaf, 0xa2, 0xa4, 0x2b, 0x77, 0x88, 0x80, 0xe3, 0x68, 0x7b, 0x06, 0x76, 0x27, 0x24,
0x85, 0xef, 0xcf, 0x47, 0x92, 0xaf, 0xdd, 0x3f, 0xc7, 0x44, 0xd2, 0xd3, 0x92, 0x35, 0xfc, 0xbc, 0x21, 0xdc, 0xf9, 0xf7, 0x66, 0x26, 0xf2, 0x61, 0x38, 0x5a, 0xdd, 0x0c, 0xf2, 0xb1, 0x7a, 0x51,
0x23, 0x3f, 0x08, 0x05, 0x49, 0x15, 0x48, 0x57, 0xd4, 0xe2, 0xe8, 0x2d, 0x35, 0x72, 0xce, 0x24, 0xa9, 0x7b, 0xf4, 0xdd, 0x27, 0xc9, 0x8e, 0x7b, 0xec, 0x82, 0x7c, 0xc1, 0x2d, 0xec, 0xc9, 0xa9,
0xe8, 0x45, 0x22, 0xd1, 0x5a, 0xb3, 0xf6, 0xde, 0x6f, 0x75, 0x73, 0xf7, 0x89, 0xe5, 0x5f, 0x75, 0xc7, 0xd1, 0x5b, 0x05, 0x56, 0x82, 0xe3, 0x3d, 0xfb, 0x90, 0x51, 0x98, 0x8a, 0xb8, 0xed, 0x87,
0x98, 0x8a, 0x38, 0x2e, 0x6c, 0x70, 0xe9, 0x8f, 0x9b, 0xa5, 0x1d, 0x68, 0x3b, 0x10, 0x8c, 0xbb, 0x10, 0xe5, 0xa4, 0xef, 0x5e, 0x4e, 0x49, 0x91, 0x4c, 0xb2, 0x98, 0x61, 0xff, 0xc4, 0xbb, 0x4e,
0x5f, 0x9b, 0x1f, 0xd1, 0xbd, 0xc3, 0x81, 0xf8, 0x2e, 0xf5, 0x14, 0xd2, 0xb2, 0xaf, 0xe2, 0x9b, 0xe1, 0xd0, 0x5a, 0x76, 0xc9, 0xd7, 0xcb, 0x38, 0x5c, 0x94, 0xe7, 0x56, 0x80, 0xfc, 0xa2, 0x52,
0xeb, 0x85, 0x28, 0xd1, 0x67, 0xf1, 0x1c, 0xac, 0x48, 0x30, 0xb8, 0xb9, 0xb9, 0xc5, 0xd0, 0xbd, 0x2b, 0x01, 0x47, 0xce, 0x05, 0x35, 0xa4, 0xd1, 0xa9, 0x10, 0xcf, 0xae, 0xc7, 0xd7, 0xd4, 0x52,
0x9a, 0x60, 0x76, 0x8f, 0x62, 0xad, 0x6f, 0x14, 0x57, 0xae, 0x75, 0xed, 0x1d, 0x2e, 0xab, 0xfe, 0x3d, 0x8d, 0x96, 0x7c, 0xc6, 0x04, 0xee, 0x8c, 0xc9, 0x4f, 0xbd, 0x54, 0xd9, 0x7e, 0x8d, 0x51,
0x78, 0x09, 0xe2, 0xa6, 0x6b, 0x07, 0x1a, 0x52, 0xa2, 0x8d, 0x82, 0x1e, 0xd5, 0x76, 0x94, 0xa4, 0x38, 0xe8, 0xae, 0xd6, 0xad, 0x16, 0xf4, 0x9b, 0x25, 0xad, 0x41, 0x4e, 0x50, 0xbb, 0xd7, 0x59,
0x97, 0x22, 0x25, 0x5d, 0x8b, 0x82, 0xab, 0x45, 0x46, 0xc1, 0x43, 0x94, 0xe7, 0x64, 0xd8, 0xb6, 0x02, 0x2b, 0x2b, 0x23, 0x20, 0x3a, 0xb2, 0x15, 0xe1, 0x07, 0x03, 0x21, 0xf4, 0x0f, 0xc0, 0x06,
0x3c, 0xe7, 0x3c, 0x89, 0x36, 0x11, 0x96, 0x43, 0x44, 0x74, 0x84, 0x63, 0xe3, 0xc6, 0x37, 0x5c, 0x81, 0x14, 0xd1, 0xa3, 0xfb, 0x1e, 0xfa, 0xd3, 0x99, 0x34, 0x16, 0xfc, 0x03, 0xc6, 0x1c, 0xc6,
0x19, 0x5e, 0x2f, 0x8e, 0xba, 0xcd, 0x36, 0x48, 0x9c, 0x79, 0x15, 0x95, 0xd1, 0x4a, 0x9c, 0xcc, 0x6b, 0xff, 0x79, 0x7b, 0x7f, 0x4f, 0x70, 0x64, 0xb2, 0x3a, 0xb3, 0xac, 0xdc, 0x6b, 0x3b, 0x0e,
0x3c, 0x06, 0xb9, 0xfc, 0x1a, 0x54, 0x97, 0x4b, 0xcc, 0x04, 0x25, 0x3a, 0xca, 0xe6, 0x64, 0x0a, 0x6b, 0xca, 0x2d, 0x22, 0xef, 0x4d, 0x1e, 0x20, 0x07, 0x02, 0x4d, 0x61, 0x4c, 0x60, 0xd7, 0x38,
0x22, 0x43, 0x53, 0x10, 0xfa, 0xaa, 0xf6, 0x36, 0x49, 0xd6, 0x10, 0x53, 0xcc, 0x2e, 0x16, 0xc9, 0x8d, 0x82, 0x80, 0xc2, 0x02, 0x59, 0xf0, 0xb9, 0x8c, 0x59, 0x0c, 0x37, 0x9b, 0x7e, 0x26, 0x06,
0x66, 0x51, 0x17, 0x36, 0xde, 0xda, 0x66, 0x6d, 0x26, 0xab, 0xf6, 0x5c, 0x86, 0xd8, 0xd9, 0x8d, 0x56, 0x36, 0x5e, 0xee, 0xa0, 0xab, 0xaf, 0x5b, 0xed, 0x6e, 0xaa, 0xf6, 0xf9, 0x14, 0x99, 0x31,
0xc8, 0xfb, 0xad, 0x0c, 0x1a, 0x5d, 0x96, 0x99, 0xe4, 0x88, 0x36, 0x15, 0xfb, 0x22, 0x93, 0x20, 0x15, 0xc8, 0xbd, 0xac, 0x46, 0x62, 0x62, 0x2a, 0x56, 0x2d, 0xfe, 0x0a, 0xb4, 0x92, 0x49, 0x7e,
0x71, 0xfe, 0x05, 0x3b, 0x47, 0x35, 0x54, 0xce, 0x60, 0xef, 0x6c, 0x20, 0x89, 0x1d, 0x31, 0x66, 0x61, 0x14, 0x33, 0x5e, 0x66, 0x10, 0x85, 0x32, 0x5c, 0x18, 0x76, 0x8c, 0x02, 0x86, 0x9f, 0x4d,
0xc4, 0x5b, 0x1c, 0x65, 0xd9, 0xbe, 0xf6, 0xe0, 0x0c, 0x4d, 0xeb, 0x1d, 0xe1, 0xa8, 0x21, 0x22, 0x22, 0x8e, 0x08, 0xc2, 0x04, 0xf9, 0xc4, 0xa6, 0xda, 0x9f, 0x16, 0xc6, 0x20, 0x71, 0x4a, 0x23,
0xc5, 0x12, 0x0d, 0x0a, 0x7f, 0x57, 0x9b, 0x09, 0x8e, 0xb7, 0x65, 0x40, 0x96, 0x99, 0x8c, 0xbd, 0x62, 0xbd, 0x2a, 0x11, 0x63, 0xdf, 0x8b, 0x6d, 0xd4, 0xf0, 0x80, 0x5e, 0x1f, 0x10, 0x71, 0xac,
0xbe, 0x47, 0x10, 0x61, 0xd5, 0xd5, 0xeb, 0xc3, 0x7e, 0x4c, 0xa5, 0xe0, 0x8e, 0xc4, 0x12, 0xc2, 0xe1, 0x45, 0x8d, 0x8c, 0xf1, 0x7c, 0xd0, 0x31, 0x4c, 0x6f, 0x47, 0x0f, 0x58, 0x7b, 0x91, 0x4d,
0xea, 0x91, 0xbf, 0xde, 0xd4, 0x1c, 0x41, 0x79, 0x36, 0x05, 0x46, 0xd9, 0x0d, 0xff, 0xc9, 0x48, 0x22, 0x33, 0x71, 0x33, 0x7f, 0x4b, 0x88, 0x1f, 0xa3, 0xd3, 0x87, 0x53, 0xd7, 0x9f, 0xab, 0xa8,
0x5f, 0x55, 0x35, 0x44, 0xa0, 0xe9, 0xc9, 0x42, 0x76, 0xa9, 0x1c, 0x91, 0xc1, 0x19, 0x10, 0x4d, 0x28, 0xee, 0x4d, 0x12, 0x2c, 0x65, 0x41, 0x8e, 0xd0, 0xbe, 0x41, 0xb2, 0x28, 0xc6, 0x7c, 0x6a,
0xbd, 0x89, 0x10, 0xd6, 0xd9, 0xe0, 0xc0, 0x42, 0xb6, 0x52, 0xf0, 0xe5, 0x83, 0xcf, 0x0f, 0xe3, 0x23, 0x47, 0x0a, 0xa2, 0xa9, 0x74, 0x81, 0x64, 0xac, 0x6d, 0x47, 0x77, 0xd8, 0x38, 0x57, 0x9b,
0x1f, 0xeb, 0x6f, 0x22, 0xc6, 0xea, 0x16, 0x27, 0x6b, 0xe1, 0x64, 0xe7, 0x5c, 0x37, 0x42, 0x19, 0x45, 0x96, 0x59, 0x11, 0x4b, 0x12, 0x37, 0xdf, 0xc7, 0x9f, 0xf6, 0xf4, 0x06, 0xd5, 0xd2, 0xc1,
0xf3, 0x33, 0x2f, 0x28, 0xea, 0xc8, 0x40, 0x96, 0x46, 0x8e, 0xa8, 0x08, 0x39, 0x24, 0xf6, 0x95, 0x41, 0x32, 0x8e, 0x13, 0x0c, 0xf5, 0xc0, 0x73, 0x3c, 0x9f, 0xd6, 0x56, 0x36, 0xd6, 0x99, 0x9e,
0x88, 0xb0, 0x30, 0xf4, 0x6f, 0x67, 0xd5, 0x85, 0x93, 0xd8, 0x1c, 0x27, 0x0a, 0x6e, 0x4b, 0xcc, 0xf7, 0x3f, 0xc0, 0x80, 0x78, 0x2a, 0x8d, 0xa3, 0xd3, 0x14, 0xce, 0x02, 0x96, 0x0d, 0x13, 0x9a,
0x24, 0x5e, 0x7c, 0xa2, 0xa7, 0xa0, 0x98, 0x71, 0x4d, 0x41, 0x4a, 0x9b, 0x6f, 0xbb, 0xaf, 0xfb, 0x09, 0xe2, 0xd3, 0x5a, 0xf6, 0x42, 0xa2, 0x41, 0xc2, 0x15, 0xac, 0x0a, 0x2f, 0xd2, 0x32, 0x32,
0xbd, 0x86, 0x94, 0xb7, 0xab, 0x20, 0xcb, 0x4a, 0x46, 0xe4, 0xae, 0x6c, 0x88, 0xdf, 0xac, 0x81, 0xd2, 0x36, 0x16, 0x58, 0x3e, 0x20, 0x29, 0x64, 0x4c, 0xa6, 0x7b, 0xec, 0xfb, 0x77, 0xfe, 0x17,
0xc8, 0xc2, 0x80, 0x9d, 0xac, 0xe1, 0xb4, 0x1d, 0x13, 0x7a, 0x50, 0xe0, 0xc5, 0xc4, 0x5c, 0xe2, 0xd1, 0xb0, 0xd4, 0xba, 0xb2, 0x75, 0x5e, 0xa2, 0x93, 0x4c, 0xe2, 0xca, 0xc4, 0x44, 0x9e, 0xcf,
0x65, 0xee, 0x19, 0x61, 0x78, 0x9c, 0xbf, 0x01, 0x5d, 0xf7, 0x9c, 0x31, 0x62, 0xc8, 0x34, 0xf3, 0xbc, 0x47, 0x36, 0x0b, 0xa7, 0xd3, 0xcf, 0xe4, 0xc5, 0xa7, 0x4c, 0xf8, 0x4c, 0x55, 0xf7, 0x1c,
0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42, 0x60, 0x82, 0x2b, 0x2b, 0x61, 0x88, 0x6c, 0x3e, 0x47, 0x2f, 0x20, 0xf2, 0x19, 0xde, 0xf7, 0x2f, 0x94, 0x4d,
0xa7, 0x8d, 0xfd, 0xa4, 0xc6, 0x76, 0x00, 0x00, 0x00, 0x00, 0x49, 0x45, 0x4e, 0x44, 0xae, 0x42,
0x60, 0x82,
}; };
const BITMAP_OPAQUE load_module_lib_xpm[1] = {{ png, sizeof( png ), "load_module_lib_xpm" }}; const BITMAP_OPAQUE load_module_lib_xpm[1] = {{ png, sizeof( png ), "load_module_lib_xpm" }};
......
<svg xmlns="http://www.w3.org/2000/svg" height="48" width="48" version="1.1"> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<defs> <svg
<linearGradient id="a" y2="444.77" gradientUnits="userSpaceOnUse" x2="323.15" gradientTransform="matrix(.11848 0 0 .10538 103.97 251.81)" y1="233.29" x1="178.38"> xmlns:dc="http://purl.org/dc/elements/1.1/"
<stop offset="0"/> xmlns:cc="http://creativecommons.org/ns#"
<stop stop-opacity="0" offset="1"/> xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
</linearGradient> xmlns:svg="http://www.w3.org/2000/svg"
</defs> xmlns="http://www.w3.org/2000/svg"
<g transform="translate(0,16)"> xmlns:xlink="http://www.w3.org/1999/xlink"
<g transform="translate(17,9.441)"> xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
<g transform="translate(-22.5,11.455)"> xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
<g transform="translate(17,9.441)"> height="48"
<g transform="translate(229.54,-65.9)"> width="48"
<g transform="translate(17,9.441)"> version="1.1"
<g transform="translate(-22.5,11.455)"> id="svg5051"
<g transform="translate(17,9.441)"> inkscape:version="0.48.1 "
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> sodipodi:docname="load_module_lib.svg">
</g> <metadata
<g transform="translate(17.5,32.796)"> id="metadata6096">
<g transform="translate(-6.4217,-3)"> <rdf:RDF>
<g transform="translate(23.343,12.25)"> <cc:Work
<g transform="translate(-6.4217,-3)"> rdf:about="">
<g transform="translate(28.672,1.5)"> <dc:format>image/svg+xml</dc:format>
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> <dc:type
</g> rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</g> </cc:Work>
<g transform="translate(-6.4217,-3)"> </rdf:RDF>
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> </metadata>
</g> <sodipodi:namedview
<g transform="translate(28,-66.442)"> pagecolor="#ffffff"
<g transform="translate(-6.4217,-3)"> bordercolor="#666666"
<g transform="translate(37.646,10.439)"> borderopacity="1"
<g transform="translate(-.95462 3)"> objecttolerance="10"
<g transform="translate(-7.6918,14.561)"> gridtolerance="10"
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> guidetolerance="10"
</g> inkscape:pageopacity="0"
</g> inkscape:pageshadow="2"
<g transform="translate(-.95462 3)"> inkscape:window-width="1280"
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> inkscape:window-height="968"
</g> id="namedview6094"
</g> showgrid="false"
<g transform="translate(37.646,10.439)"> inkscape:zoom="15.034719"
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> inkscape:cx="24.495041"
</g> inkscape:cy="22.037151"
</g> inkscape:window-x="-4"
<g transform="translate(-6.4217,-3)"> inkscape:window-y="-4"
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> inkscape:window-maximized="1"
</g> inkscape:current-layer="svg5051" />
</g> <defs
<g transform="translate(28,-66.442)"> id="defs5053">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> <linearGradient
</g> id="a"
<g transform="translate(-7.4217,-85.442)"> y2="444.77"
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> gradientUnits="userSpaceOnUse"
</g> x2="323.15"
<g transform="translate(-29.715,-79.978)"> gradientTransform="matrix(0.11848,0,0,0.10538,103.97,251.81)"
<g transform="translate(16.536 .035544)"> y1="233.29"
<g transform="translate(-42.641,19.607)"> x1="178.38">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> <stop
</g> offset="0"
<g transform="translate(-34.692,-27.467)"> id="stop5056" />
<g transform="translate(-27.551,62.248)"> <stop
<g transform="translate(-17.422 -.83738)"> stop-opacity="0"
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> offset="1"
</g> id="stop5058" />
<g transform="translate(-4.7402,-3.1927)"> </linearGradient>
<g transform="translate(50.678,115.75)"> <linearGradient
<g transform="translate(17,9.441)"> inkscape:collect="always"
<g transform="translate(-22.5,11.455)"> xlink:href="#a"
<g transform="translate(17,9.441)"> id="linearGradient6614"
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> gradientUnits="userSpaceOnUse"
</g> gradientTransform="matrix(0.11848,0,0,0.10538,103.97,251.81)"
<g transform="translate(17.5,32.796)"> x1="178.38"
<g transform="translate(-6.4217,-3)"> y1="233.29"
<g transform="translate(23.343,12.25)"> x2="323.15"
<g transform="translate(-6.4217,-3)"> y2="444.77" />
<g transform="translate(28.672,1.5)"> <linearGradient
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> inkscape:collect="always"
</g> xlink:href="#a"
</g> id="linearGradient7193"
<g transform="translate(-6.4217,-3)"> gradientUnits="userSpaceOnUse"
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> gradientTransform="matrix(0.11848,0,0,0.10538,103.97,251.81)"
</g> x1="178.38"
<g transform="translate(28,-66.442)"> y1="233.29"
<g transform="translate(-6.4217,-3)"> x2="323.15"
<g transform="translate(37.646,10.439)"> y2="444.77" />
<g transform="translate(-.95462 3)"> <linearGradient
<g transform="translate(-7.6918,14.561)"> inkscape:collect="always"
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> xlink:href="#a"
</g> id="linearGradient7634"
</g> gradientUnits="userSpaceOnUse"
<g transform="translate(-.95462 3)"> gradientTransform="matrix(0.11848,0,0,0.10538,103.97,251.81)"
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> x1="178.38"
</g> y1="233.29"
</g> x2="323.15"
<g transform="translate(37.646,10.439)"> y2="444.77" />
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> <linearGradient
</g> inkscape:collect="always"
</g> xlink:href="#a"
<g transform="translate(-6.4217,-3)"> id="linearGradient7891"
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> gradientUnits="userSpaceOnUse"
</g> gradientTransform="matrix(0.11848,0,0,0.10538,103.97,251.81)"
</g> x1="178.38"
<g transform="translate(28,-66.442)"> y1="233.29"
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> x2="323.15"
</g> y2="444.77" />
<g transform="translate(-7.4217,-85.442)"> <linearGradient
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> inkscape:collect="always"
</g> xlink:href="#a"
<g transform="translate(-29.715,-79.978)"> id="linearGradient8146"
<g transform="translate(16.536 .035544)"> gradientUnits="userSpaceOnUse"
<g transform="translate(-42.641,19.607)"> gradientTransform="matrix(0.11848,0,0,0.10538,103.97,251.81)"
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> x1="178.38"
</g> y1="233.29"
<g transform="translate(-34.692,-27.467)"> x2="323.15"
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> y2="444.77" />
</g> <linearGradient
</g> inkscape:collect="always"
<g transform="translate(16.536 .035544)"> xlink:href="#a"
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> id="linearGradient8400"
</g> gradientUnits="userSpaceOnUse"
</g> gradientTransform="matrix(0.11848,0,0,0.10538,103.97,251.81)"
<g transform="translate(-29.715,-79.978)"> x1="178.38"
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> y1="233.29"
</g> x2="323.15"
</g> y2="444.77" />
<g transform="translate(23.343,12.25)"> <linearGradient
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> inkscape:collect="always"
</g> xlink:href="#a"
</g> id="linearGradient8639"
<g transform="translate(-6.4217,-3)"> gradientUnits="userSpaceOnUse"
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> gradientTransform="matrix(0.11848,0,0,0.10538,103.97,251.81)"
</g> x1="178.38"
</g> y1="233.29"
<g transform="translate(17.5,32.796)"> x2="323.15"
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> y2="444.77" />
</g> <linearGradient
</g> inkscape:collect="always"
<g transform="translate(-22.5,11.455)"> xlink:href="#a"
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> id="linearGradient8859"
</g> gradientUnits="userSpaceOnUse"
<g transform="translate(36,8.059)"> gradientTransform="matrix(0.11848,0,0,0.10538,103.97,251.81)"
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> x1="178.38"
</g> y1="233.29"
</g> x2="323.15"
<g transform="translate(17,9.441)"> y2="444.77" />
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> <linearGradient
</g> inkscape:collect="always"
</g> xlink:href="#a"
<g transform="translate(50.678,115.75)"> id="linearGradient8944"
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> gradientUnits="userSpaceOnUse"
</g> gradientTransform="matrix(0.11848,0,0,0.10538,103.97,251.81)"
</g> x1="178.38"
<g transform="translate(-4.7402,-3.1927)"> y1="233.29"
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> x2="323.15"
</g> y2="444.77" />
</g> </defs>
<g transform="translate(-27.551,62.248)"> <g
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> id="g5750"
</g> transform="matrix(0.98374,0,0,0.91396,-102.72359,-239.03751)">
<g transform="translate(195.68,38.329)"> <path
<g transform="translate(17,9.441)"> inkscape:connector-curvature="0"
<g transform="translate(-22.5,11.455)"> style="fill:url(#linearGradient8944);fill-rule:evenodd"
<g transform="translate(17,9.441)"> id="path5752"
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> d="m 123.78,298.96 c 2.0395,0.84804 3.4963,2.7137 9.1777,0.84803 5.6814,-1.86567 21.997,-11.703 15.733,-17.3 -6.2642,-5.597 -19.812,-9.3284 -27.824,-9.3284 -1.3111,4.4098 -3.9333,22.727 2.9136,25.78 z" />
</g> <path
<g transform="translate(17.5,32.796)"> style="fill:#7f00fe;fill-rule:evenodd"
<g transform="translate(-6.4217,-3)"> inkscape:connector-curvature="0"
<g transform="translate(23.343,12.25)"> id="path5754"
<g transform="translate(-6.4217,-3)"> d="m 144.76,282.51 c 1.1654,0.16961 3.2049,1.123 2.6222,3.2241 -0.58272,2.1011 -19.666,14.727 -22.143,13.772 -2.4765,-0.95502 -4.953,-4.1808 -4.953,-4.1808 l 24.474,-12.816 z" />
<g transform="translate(28.672,1.5)"> <path
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> style="fill:#b6f99a;fill-rule:evenodd;stroke:#7f7f7f;stroke-width:1.39670002"
</g> inkscape:connector-curvature="0"
</g> id="path5756"
<g transform="translate(-6.4217,-3)"> d="m 145.34,275.55 c 0.29136,3.2472 0.58272,6.7313 0.14569,9.1914 -10.052,6.7003 -17.773,11.566 -23.308,13.027 -1.8938,-2.1011 -2.3308,-12.034 -2.3308,-12.034 l 25.494,-10.184 z" />
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> <path
</g> style="fill:#ffaa61;fill-rule:evenodd;stroke:#7d7cff;stroke-width:1.39670002;stroke-linejoin:round"
<g transform="translate(28,-66.442)"> inkscape:connector-curvature="0"
<g transform="translate(-6.4217,-3)"> id="path5758"
<g transform="translate(37.646,10.439)"> d="m 126.11,287.26 c 4.516,-2.4912 18.647,-10.527 20.978,-11.884 -4.2246,-2.5441 -20.541,-12.037 -24.474,-13.16 -1.4568,0.57303 -14.568,7.4066 -14.568,7.4066 2.1852,2.7137 16.462,17.064 18.064,17.637 z" />
<g transform="translate(-.95462 3)"> <path
<g transform="translate(-7.6918,14.561)"> style="fill:#eb6f00;fill-rule:evenodd;stroke:#7f00ff;stroke-width:1.39670002"
<path fill-rule="evenodd" fill="#fff" d="m22 2.5-1.5 3h1v4.5h1v-4.5h1l-1.5-3z"/> inkscape:connector-curvature="0"
</g> id="path5760"
<g transform="translate(-7.6918,14.561)"> d="m 125.82,287.39 c 0,0 -2.7679,2.6741 -2.9135,6.1123 -0.14569,3.4382 2.4765,4.1198 2.1852,5.3498 -5.6814,0.21242 -16.316,-16.555 -18.792,-19.76 -1.0926,-1.9414 -1.566,-3.497 -1.0926,-5.6882 0.47345,-2.1913 1.6024,-3.4917 2.9864,-3.3962 2.7679,3.2439 14.422,14.368 17.627,17.382 z" />
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> <g
</g> style="stroke:#000000;stroke-width:2.92759991;stroke-opacity:0.61260998"
</g> id="g5762"
<g transform="translate(-.95462 3)"> transform="matrix(-0.32847,-0.24046,0.52735,-0.30896,16.27,320.78)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> <g
</g> style="fill:none;stroke:#000000;stroke-width:2.92759991;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:0.61260998"
</g> id="g5764"
<g transform="translate(37.646,10.439)"> transform="translate(-91.973,163.38)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> <path
</g> inkscape:connector-curvature="0"
</g> id="path5766"
<g transform="translate(-6.4217,-3)"> d="M 29.29,19.982 40,20" />
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> <path
</g> inkscape:connector-curvature="0"
</g> id="path5768"
<g transform="translate(28,-66.442)"> d="M 40,8 V 32" />
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> <path
</g> inkscape:connector-curvature="0"
<g transform="translate(-7.4217,-85.442)"> id="path5770"
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> d="M 40,8 60,20" />
</g> <path
<g transform="translate(-29.715,-79.978)"> inkscape:connector-curvature="0"
<g transform="translate(16.536 .035544)"> id="path5772"
<g transform="translate(-42.641,19.607)"> d="M 40,32 60,20" />
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> <path
</g> inkscape:connector-curvature="0"
<g transform="translate(-34.692,-27.467)"> id="path5774"
<g transform="translate(-27.551,62.248)"> d="M 60,8 V 32" />
<g transform="translate(-17.422 -.83738)"> <path
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> inkscape:connector-curvature="0"
</g> id="path5776"
<g transform="translate(-4.7402,-3.1927)"> d="M 60,20 H 72.401" />
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> <path
</g> inkscape:connector-curvature="0"
</g> id="path5778"
<g transform="translate(-27.551,62.248)"> d="m 60,8 h 5" />
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> <path
</g> inkscape:connector-curvature="0"
</g> id="path5780"
<g transform="translate(-34.692,-27.467)"> d="m 55,32 h 5" />
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(16.536 .035544)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-29.715,-79.978)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(23.343,12.25)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-6.4217,-3)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(17.5,32.796)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-22.5,11.455)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(36,8.059)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(17,9.441)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(195.68,38.329)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-34.692,-27.467)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(16.536 .035544)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-29.715,-79.978)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(23.343,12.25)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-6.4217,-3)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(17.5,32.796)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-22.5,11.455)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(36,8.059)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g> </g>
<g transform="translate(17,9.441)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(229.54,-65.9)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(17,9.441)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(17.5,32.796)">
<g transform="translate(-6.4217,-3)">
<g transform="translate(23.343,12.25)">
<g transform="translate(-6.4217,-3)">
<g transform="translate(28.672,1.5)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-6.4217,-3)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(28,-66.442)">
<g transform="translate(-6.4217,-3)">
<g transform="translate(37.646,10.439)">
<g transform="translate(-.95462 3)">
<g transform="translate(-7.6918,14.561)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-.95462 3)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(37.646,10.439)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-6.4217,-3)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(28,-66.442)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(-7.4217,-85.442)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(-29.715,-79.978)">
<g transform="translate(16.536 .035544)">
<g transform="translate(-42.641,19.607)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(-64.002,-26.807)">
<g transform="translate(-17.422 -.83738)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(-4.7402,-3.1927)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-64.002,-26.807)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(-34.692,-27.467)">
<g transform="translate(-27.551,62.248)">
<g transform="translate(-17.422 -.83738)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(-4.7402,-3.1927)">
<g transform="translate(238.29,4.0561)">
<g transform="translate(17,9.441)">
<g transform="translate(-22.5,11.455)">
<g transform="translate(17,9.441)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(17.5,32.796)">
<g transform="translate(-6.4217,-3)">
<g transform="translate(23.343,12.25)">
<g transform="translate(-6.4217,-3)">
<g transform="translate(28.672,1.5)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-6.4217,-3)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(28,-66.442)">
<g transform="translate(-6.4217,-3)">
<g transform="translate(37.646,10.439)">
<g transform="translate(-.95462 3)">
<g transform="translate(-7.6918,14.561)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-.95462 3)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(37.646,10.439)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-6.4217,-3)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(28,-66.442)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(-7.4217,-85.442)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(-29.715,-79.978)">
<g transform="translate(16.536 .035544)">
<g transform="translate(-42.641,19.607)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(-34.692,-27.467)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(16.536 .035544)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-29.715,-79.978)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(23.343,12.25)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-6.4217,-3)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(17.5,32.796)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-22.5,11.455)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(36,8.059)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(17,9.441)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(238.29,4.0561)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-4.7402,-3.1927)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-27.551,62.248)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(207.51,69.724)">
<g transform="translate(17,9.441)">
<g transform="translate(-22.5,11.455)">
<g transform="translate(17,9.441)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(17.5,32.796)">
<g transform="translate(-6.4217,-3)">
<g transform="translate(23.343,12.25)">
<g transform="translate(-6.4217,-3)">
<g transform="translate(28.672,1.5)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-6.4217,-3)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(28,-66.442)">
<g transform="translate(-6.4217,-3)">
<g transform="translate(37.646,10.439)">
<g transform="translate(-.95462 3)">
<g transform="translate(-7.6918,14.561)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-.95462 3)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(37.646,10.439)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-6.4217,-3)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(28,-66.442)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(-7.4217,-85.442)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(-29.715,-79.978)">
<g transform="translate(16.536 .035544)">
<g transform="translate(-42.641,19.607)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(-34.692,-27.467)">
<g transform="translate(-27.551,62.248)">
<g transform="translate(-17.422 -.83738)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(-4.7402,-3.1927)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-27.551,62.248)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-34.692,-27.467)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(16.536 .035544)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-29.715,-79.978)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(23.343,12.25)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-6.4217,-3)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(17.5,32.796)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-22.5,11.455)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(36,8.059)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(17,9.441)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(207.51,69.724)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-34.692,-27.467)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(-60.973,-286.09)">
<g transform="matrix(.98374 0 0 .91396 -55.431 64.016)">
<path fill-rule="evenodd" fill="url(#a)" d="m123.78 298.96c2.0395 0.84804 3.4963 2.7137 9.1777 0.84803s21.997-11.703 15.733-17.3c-6.2642-5.597-19.812-9.3284-27.824-9.3284-1.3111 4.4098-3.9333 22.727 2.9136 25.78z"/>
<path fill-rule="evenodd" fill="#7f00fe" d="m144.76 282.51c1.1654 0.16961 3.2049 1.123 2.6222 3.2241-0.58272 2.1011-19.666 14.727-22.143 13.772-2.4765-0.95502-4.953-4.1808-4.953-4.1808l24.474-12.816z"/>
<path d="m145.34 275.55c0.29136 3.2472 0.58272 6.7313 0.14569 9.1914-10.052 6.7003-17.773 11.566-23.308 13.027-1.8938-2.1011-2.3308-12.034-2.3308-12.034l25.494-10.184z" fill-rule="evenodd" stroke="#7f7f7f" stroke-width="1.3967" fill="#b6f99a"/>
<path stroke-linejoin="round" d="m126.11 287.26c4.516-2.4912 18.647-10.527 20.978-11.884-4.2246-2.5441-20.541-12.037-24.474-13.16-1.4568 0.57303-14.568 7.4066-14.568 7.4066 2.1852 2.7137 16.462 17.064 18.064 17.637z" fill-rule="evenodd" stroke="#7d7cff" stroke-width="1.3967" fill="#ffaa61"/>
<path d="m125.82 287.39s-2.7679 2.6741-2.9135 6.1123c-0.14569 3.4382 2.4765 4.1198 2.1852 5.3498-5.6814 0.21242-16.316-16.555-18.792-19.76-1.0926-1.9414-1.566-3.497-1.0926-5.6882 0.47345-2.1913 1.6024-3.4917 2.9864-3.3962 2.7679 3.2439 14.422 14.368 17.627 17.382z" fill-rule="evenodd" stroke="#7f00ff" stroke-width="1.3967" fill="#eb6f00"/>
<g stroke-opacity=".61261" transform="matrix(-.32847 -.24046 .52735 -.30896 16.27 320.78)" stroke="#000" stroke-width="2.9276">
<g stroke-linejoin="round" stroke-opacity=".61261" transform="translate(-91.973,163.38)" stroke="#000" stroke-linecap="round" stroke-width="2.9276" fill="none">
<path d="m29.29 19.982 10.71 0.018"/>
<path d="m40 8v24"/>
<path d="m40 8 20 12"/>
<path d="m40 32 20-12"/>
<path d="m60 8v24"/>
<path d="m60 20h12.401"/>
<path d="m60 8h5"/>
<path d="m55 32h5"/>
</g>
</g>
</g>
<g fill="none" transform="translate(92.272,9.1618)">
<rect y="372.47" width="99.95" x="105.61" height="100"/>
<rect y="348.35" width="100" x="113.04" height="100"/>
</g>
<g transform="translate(275.2,265.49)">
<g transform="translate(17,9.441)">
<g transform="translate(-22.5,11.455)">
<g transform="translate(17,9.441)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(17.5,32.796)">
<g transform="translate(-6.4217,-3)">
<g transform="translate(23.343,12.25)">
<g transform="translate(-6.4217,-3)">
<g transform="translate(28.672,1.5)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-6.4217,-3)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(28,-66.442)">
<g transform="translate(-6.4217,-3)">
<g transform="translate(37.646,10.439)">
<g transform="translate(-.95462 3)">
<g transform="translate(-7.6918,14.561)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-.95462 3)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(37.646,10.439)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-6.4217,-3)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(28,-66.442)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(-7.4217,-85.442)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(-29.715,-79.978)">
<g transform="translate(16.536 .035544)">
<g transform="translate(-42.641,19.607)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(-34.692,-27.467)">
<g transform="translate(-27.551,62.248)">
<g transform="translate(-17.422 -.83738)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(-4.7402,-3.1927)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-27.551,62.248)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-34.692,-27.467)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(16.536 .035544)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-29.715,-79.978)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(23.343,12.25)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-6.4217,-3)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(17.5,32.796)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-22.5,11.455)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(36,8.059)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(17,9.441)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(275.2,265.49)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g fill-rule="evenodd" transform="matrix(2.1351,0,0,2.1676,-307.88,-307.53)">
<path d="m183.06 280.44 0.0391 2.8961 3.9609-4.3961-4-4.5v3c-3.5 0-6.9609 2.5-6.9609 6.5h4c0-2 1.4609-3.5 2.9609-3.5z"/>
<path fill="#00bd00" d="m183.56 279.94v1.5l2.5-2.5-2.5-3v2c-2 0-6.4609 1-6.4609 5h2c0-2 2.9609-3 4.4609-3z"/>
</g>
</g>
</g>
<g transform="translate(16.536 .035544)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-29.715,-79.978)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(38.078,-72.942)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(113.8,-57.577)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(23.343,12.25)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-6.4217,-3)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(17.5,32.796)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-22.5,11.455)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(36,8.059)">
<g transform="translate(99.826,-19.821)">
<g transform="translate(17,9.441)">
<g transform="translate(-22.5,11.455)">
<g transform="translate(17,9.441)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(17.5,32.796)">
<g transform="translate(-6.4217,-3)">
<g transform="translate(23.343,12.25)">
<g transform="translate(-6.4217,-3)">
<g transform="translate(28.672,1.5)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-6.4217,-3)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(28,-66.442)">
<g transform="translate(-6.4217,-3)">
<g transform="translate(37.646,10.439)">
<g transform="translate(-.95462 3)">
<g transform="translate(-7.6918,14.561)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-.95462 3)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(37.646,10.439)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-6.4217,-3)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(28,-66.442)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(-7.4217,-85.442)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(-29.715,-79.978)">
<g transform="translate(16.536 .035544)">
<g transform="translate(-42.641,19.607)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(-34.692,-27.467)">
<g transform="translate(-27.551,62.248)">
<g transform="translate(-17.422 -.83738)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(-4.7402,-3.1927)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-27.551,62.248)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-34.692,-27.467)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(16.536 .035544)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-29.715,-79.978)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(23.343,12.25)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-6.4217,-3)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(17.5,32.796)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(-22.5,11.455)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(36,8.059)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(17,9.441)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(99.826,-19.821)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g>
<g transform="translate(36,8.059)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
<g transform="translate(56.088,32.079)">
<g transform="translate(17,9.441)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g> </g>
</g>
<g transform="translate(56.088,32.079)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</g> </g>
<g transform="translate(17,9.441)"> <g
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/> style="fill-rule:evenodd"
id="g5910"
transform="matrix(2.1351,0,0,-2.1676,-351.5144,642.59517)">
<path
inkscape:connector-curvature="0"
id="path5912"
d="m 183.06,280.44 0.0391,2.8961 3.9609,-4.3961 -4,-4.5 v 3 c -3.5,0 -6.9609,2.5 -6.9609,6.5 h 4 c 0,-2 1.4609,-3.5 2.9609,-3.5 z" />
<path
style="fill:#00bd00"
inkscape:connector-curvature="0"
id="path5914"
d="m 183.56,279.94 v 1.5 l 2.5,-2.5 -2.5,-3 v 2 c -2,0 -6.4609,1 -6.4609,5 h 2 c 0,-2 2.9609,-3 4.4609,-3 z" />
</g> </g>
</g>
<g transform="translate(0,16)">
<rect fill-opacity="0" height="16" width="16" y="0" x="0"/>
</g>
</svg> </svg>
...@@ -326,9 +326,12 @@ void SCH_PRINTOUT::DrawPage( SCH_SCREEN* aScreen ) ...@@ -326,9 +326,12 @@ void SCH_PRINTOUT::DrawPage( SCH_SCREEN* aScreen )
old_org = aScreen->m_DrawOrg; old_org = aScreen->m_DrawOrg;
oldClipBox = *panel->GetClipBox(); oldClipBox = *panel->GetClipBox();
/* Change scale factor, offsets, and clip box to print the whole page. */ // Change clip box to print the whole page.
panel->SetClipBox( EDA_RECT( wxPoint( 0, 0 ), wxSize( 0x7FFFFF0, 0x7FFFFF0 ) ) ); #define MAX_VALUE (INT_MAX/2) // MAX_VALUE is the max we can use in an integer
// and that allows calculations without overflow
panel->SetClipBox( EDA_RECT( wxPoint( 0, 0 ), wxSize( MAX_VALUE, MAX_VALUE ) ) );
// Change scale factor and offset to print the whole page.
bool printReference = parent->GetPrintSheetReference(); bool printReference = parent->GetPrintSheetReference();
if( printReference ) if( printReference )
......
...@@ -91,9 +91,13 @@ bool FOOTPRINT_EDIT_FRAME::Load_Module_From_BOARD( MODULE* aModule ) ...@@ -91,9 +91,13 @@ bool FOOTPRINT_EDIT_FRAME::Load_Module_From_BOARD( MODULE* aModule )
GetScreen()->SetCrossHairPosition( wxPoint( 0, 0 ) ); GetScreen()->SetCrossHairPosition( wxPoint( 0, 0 ) );
PlaceModule( aModule, NULL ); PlaceModule( aModule, NULL );
// Put it on FRONT layer,
// because this is the default in ModEdit, and in libs
if( aModule->GetLayer() != LAYER_N_FRONT ) if( aModule->GetLayer() != LAYER_N_FRONT )
aModule->Flip( aModule->m_Pos ); aModule->Flip( aModule->m_Pos );
// Put it in orientation 0,
// because this is the default orientation in ModEdit, and in libs
Rotate_Module( NULL, aModule, 0, false ); Rotate_Module( NULL, aModule, 0, false );
GetScreen()->ClrModify(); GetScreen()->ClrModify();
Zoom_Automatique( false ); Zoom_Automatique( false );
...@@ -189,15 +193,15 @@ MODULE* PCB_BASE_FRAME::Load_Module_From_Library( const wxString& library, wxDC* ...@@ -189,15 +193,15 @@ MODULE* PCB_BASE_FRAME::Load_Module_From_Library( const wxString& library, wxDC*
module->SetTimeStamp( GetNewTimeStamp() ); module->SetTimeStamp( GetNewTimeStamp() );
GetBoard()->m_Status_Pcb = 0; GetBoard()->m_Status_Pcb = 0;
module->SetPosition( curspos ); module->SetPosition( curspos );
// Put it on FRONT layer,
// (Can be stored on BACK layer if the lib is an archive built from a board)
if( module->GetLayer() != LAYER_N_FRONT )
module->Flip( module->m_Pos );
// Put in in orientation 0,
// even if it is not saved with with orientation 0 in lib
// (Can happen if the lib is an archive built from a board)
Rotate_Module( NULL, module, 0, false );
/* TODO: call RecalculateAllTracksNetcode() only if some pads pads have
* a netname.
* If all pads are not connected (usually the case in module libraries,
* rebuild only the pad and list of nets ( faster)
*/
// GetBoard()->m_Pcb->m_NetInfo.BuildListOfNets();
RecalculateAllTracksNetcode(); RecalculateAllTracksNetcode();
if( DC ) if( DC )
......
...@@ -22,6 +22,16 @@ using namespace std; ...@@ -22,6 +22,16 @@ using namespace std;
static bool CmpZoneSubnetValue( const BOARD_CONNECTED_ITEM* a, const BOARD_CONNECTED_ITEM* b ); static bool CmpZoneSubnetValue( const BOARD_CONNECTED_ITEM* a, const BOARD_CONNECTED_ITEM* b );
void Merge_SubNets_Connected_By_CopperAreas( BOARD* aPcb, int aNetcode ); void Merge_SubNets_Connected_By_CopperAreas( BOARD* aPcb, int aNetcode );
// This helper function sort a list of zones by netcode,
// and for a given netcode by zone size
// zone size = size of the m_FilledPolysList buffer
bool sort_areas( const ZONE_CONTAINER* ref, const ZONE_CONTAINER* tst )
{
if( ref->GetNet() == tst->GetNet() )
return ref->m_FilledPolysList.size() < tst->m_FilledPolysList.size();
else
return ref->GetNet() < tst->GetNet();
}
/** /**
* Function Test_Connection_To_Copper_Areas * Function Test_Connection_To_Copper_Areas
...@@ -34,7 +44,6 @@ void BOARD::Test_Connections_To_Copper_Areas( int aNetcode ) ...@@ -34,7 +44,6 @@ void BOARD::Test_Connections_To_Copper_Areas( int aNetcode )
// It is static to avoid multiple memory realloc. // It is static to avoid multiple memory realloc.
static std::vector <BOARD_CONNECTED_ITEM*> Candidates; static std::vector <BOARD_CONNECTED_ITEM*> Candidates;
// clear .m_ZoneSubnet parameter for pads // clear .m_ZoneSubnet parameter for pads
for( MODULE* module = m_Modules; module; module = module->Next() ) for( MODULE* module = m_Modules; module; module = module->Next() )
{ {
...@@ -52,46 +61,65 @@ void BOARD::Test_Connections_To_Copper_Areas( int aNetcode ) ...@@ -52,46 +61,65 @@ void BOARD::Test_Connections_To_Copper_Areas( int aNetcode )
// examine all zones, net by net: // examine all zones, net by net:
int subnet = 0; int subnet = 0;
// Build zones candidates list
std::vector<ZONE_CONTAINER*> zones_candidates;
for( int index = 0; index < GetAreaCount(); index++ ) for( int index = 0; index < GetAreaCount(); index++ )
{ {
ZONE_CONTAINER* curr_zone = GetArea( index ); ZONE_CONTAINER* curr_zone = GetArea( index );
if( !curr_zone->IsOnCopperLayer() ) if( !curr_zone->IsOnCopperLayer() )
continue; continue;
if( (aNetcode >= 0) && ( aNetcode != curr_zone->GetNet() ) )
int netcode = curr_zone->GetNet();
if( (aNetcode >= 0) && !( aNetcode == netcode ) )
continue; continue;
if( curr_zone->m_FilledPolysList.size() == 0 ) if( curr_zone->m_FilledPolysList.size() == 0 )
continue; continue;
zones_candidates.push_back(curr_zone);
}
// sort them by netcode then vertices count.
// For a given net, examine the smaller zones first slightly speed up calculation
// (25% faster)
// this is only noticeable with very large boards and depends on board zones topology
// This is due to the fact some items are connected bt small zones ares,
// before examining large zones areas and these items are not tested after a connection is found
sort(zones_candidates.begin(), zones_candidates.end(), sort_areas );
int oldnetcode = -1;
for( unsigned idx = 0; idx < zones_candidates.size(); idx++ )
{
ZONE_CONTAINER* curr_zone = zones_candidates[idx];
// Build a list of candidates connected to the net: int netcode = curr_zone->GetNet();
Candidates.clear();
// Build a list of candidates connected to the net:
// At this point, layers are not considered, because areas on different layers can // At this point, layers are not considered, because areas on different layers can
// be connected by a via or a pad. // be connected by a via or a pad.
// (because zones are sorted by netcode, there is made only once per net)
// Build the list of pads candidates connected to the net:
NETINFO_ITEM* net = FindNet( netcode ); NETINFO_ITEM* net = FindNet( netcode );
wxASSERT( net ); wxASSERT( net );
if( net == NULL ) if( net == NULL )
continue; continue;
Candidates.reserve( net->m_PadInNetList.size() ); if( oldnetcode != netcode )
for( unsigned ii = 0; ii < net->m_PadInNetList.size(); ii++ )
Candidates.push_back( net->m_PadInNetList[ii] );
// Build the list of track candidates connected to the net:
TRACK* track = m_Track.GetFirst()->GetStartNetCode( netcode );
for( ; track; track = track->Next() )
{ {
if( track->GetNet() != netcode ) oldnetcode = netcode;
break; Candidates.clear();
Candidates.push_back( track );
// Build the list of pads candidates connected to the net:
Candidates.reserve( net->m_PadInNetList.size() );
for( unsigned ii = 0; ii < net->m_PadInNetList.size(); ii++ )
Candidates.push_back( net->m_PadInNetList[ii] );
// Build the list of track candidates connected to the net:
TRACK* track = m_Track.GetFirst()->GetStartNetCode( netcode );
for( ; track; track = track->Next() )
{
if( track->GetNet() != netcode )
break;
Candidates.push_back( track );
}
} }
// test if a candidate is inside a filled area of this zone // test if a candidate is inside a filled area of this zone
unsigned indexstart = 0, indexend; unsigned indexstart = 0, indexend;
for( indexend = 0; indexend < curr_zone->m_FilledPolysList.size(); indexend++ ) for( indexend = 0; indexend < curr_zone->m_FilledPolysList.size(); indexend++ )
{ {
// end of a filled sub-area found // end of a filled sub-area found
...@@ -104,6 +132,9 @@ void BOARD::Test_Connections_To_Copper_Areas( int aNetcode ) ...@@ -104,6 +132,9 @@ void BOARD::Test_Connections_To_Copper_Areas( int aNetcode )
{ // test if this area is connected to a board item: { // test if this area is connected to a board item:
BOARD_CONNECTED_ITEM* item = Candidates[ic]; BOARD_CONNECTED_ITEM* item = Candidates[ic];
if( item->GetZoneSubNet() == subnet ) // Already merged
continue;
if( !item->IsOnLayer( curr_zone->GetLayer() ) ) if( !item->IsOnLayer( curr_zone->GetLayer() ) )
continue; continue;
...@@ -138,17 +169,19 @@ void BOARD::Test_Connections_To_Copper_Areas( int aNetcode ) ...@@ -138,17 +169,19 @@ void BOARD::Test_Connections_To_Copper_Areas( int aNetcode )
if( !connected && (pos1 != pos2 ) ) if( !connected && (pos1 != pos2 ) )
{ {
if( bbox.Contains( pos2 ) ) if( bbox.Contains( pos2 ) )
if( TestPointInsidePolygon( curr_zone->m_FilledPolysList, indexstart, {
indexend, pos2.x, pos2.y ) ) if( TestPointInsidePolygon( curr_zone->m_FilledPolysList,
indexstart, indexend,
pos2.x, pos2.y ) )
connected = true; connected = true;
}
} }
if( connected ) if( connected )
{ // Set ZoneSubnet to the current subnet value. { // Set ZoneSubnet to the current subnet value.
// If the previous subnet is not 0, merge all items with old subnet // If the previous subnet is not 0, merge all items with old subnet
// to the new one // to the new one
int old_subnet = 0; int old_subnet = item->GetZoneSubNet();
old_subnet = item->GetZoneSubNet();
item->SetZoneSubNet( subnet ); item->SetZoneSubNet( subnet );
// Merge previous subnet with the current // Merge previous subnet with the current
...@@ -170,8 +203,8 @@ void BOARD::Test_Connections_To_Copper_Areas( int aNetcode ) ...@@ -170,8 +203,8 @@ void BOARD::Test_Connections_To_Copper_Areas( int aNetcode )
// (if exists). End read one area in // (if exists). End read one area in
// curr_zone->m_FilledPolysList // curr_zone->m_FilledPolysList
} }
} // End read all segments in zone. } // End read all segments in zone
} // End read all zones in board } // End read all zones candidates
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment