Changeset 377

Show
Ignore:
Timestamp:
04/10/07 17:07:40 (1 year ago)
Author:
wren
Message:

Added basic cubic bezier support to SVGImport

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/SVGImport/English.lproj/MainMenu.nib/info.nib

    r375 r377  
    1414        <key>IBOpenObjects</key> 
    1515        <array> 
     16                <integer>29</integer> 
    1617                <integer>21</integer> 
    17                 <integer>29</integer> 
    1818        </array> 
    1919        <key>IBSystem Version</key> 
  • branches/SVGImport/LZPoint.h

    r375 r377  
    2424- (void)translateByX:(float)xValue y:(float)yValue; 
    2525- (void)setPoint:(NSPoint)newPoint; 
     26- (void)setColor:(NSColor *)newColor; 
    2627 
    2728- (NSPoint)point; 
  • branches/SVGImport/LZPoint.m

    r375 r377  
    103103  } 
    104104 
     105- (void)setColor:(NSColor *)newColor 
     106{ 
     107    if (color != newColor) { 
     108        [color release]; 
     109        color = [newColor copy]; 
     110    } 
     111} 
     112 
     113 
     114 
     115 
    105116@end 
  • branches/SVGImport/MWBezier.m

    r375 r377  
    4444                                outputPoint = [[LZPoint alloc] initWithPoint:tempOutPoint color:[NSColor whiteColor]]; 
    4545                                [array addObject:outputPoint]; 
     46                                if (i>0) { 
     47                                        [[array objectAtIndex:i-1] setColor:[NSColor blackColor]]; 
     48                                } 
    4649                                [outputPoint release]; 
    4750                                break; 
  • branches/SVGImport/MWPointView2.m

    r375 r377  
    6262         
    6363        //crazy stuff starts here 
    64         NSFont *fontTest = [NSFont fontWithName:@"Zapfino" size:36.0]; 
    65         NSString *string = [NSString stringWithString:@"MacWarriors"]; 
     64 
    6665         
    6766        //NSGlyph outGlyph[[string length]]; 
     
    8887         
    8988        //testArray = [bezierTransformer convertBezierPath:path withPointsPerCurve:10]; 
     89        //NSFont *fontTest = [NSFont fontWithName:@"Zapfino" size:36.0]; 
     90        //NSString *string = [NSString stringWithString:@"MacWarriors"]; 
    9091        //testArray = [[[[MWText alloc] initWithString:string font:fontTest origin:NSMakePoint(50,[self frame].size.height/2)] autorelease] points]; 
    9192        //testArray = [[[[MWEllipse alloc] initWithOriginX:50 y:50 width:200 height:100] autorelease] points]; 
     
    9596        MWSVGImport *svgImport; 
    9697        svgImport = [[MWSVGImport alloc] init]; 
    97         [svgImport parseXMLFile:@"/Users/wren/Desktop/LaserLine Dev/SVGImport/samples/ellipse2.svg"]; 
     98        [svgImport parseXMLFile:@"/Users/wren/Desktop/LaserLine Dev/SVGImport/samples/path2.svg"]; 
    9899         
    99100        NSMutableArray *arrayTemp = [svgImport array]; 
     
    107108         
    108109        [path removeAllPoints]; 
    109  
     110         
    110111        q = [testArray objectAtIndex:0]; 
    111112        p = [q point]; 
  • branches/SVGImport/MWSVGImport.m

    r375 r377  
    102102        float x,y,width,height; 
    103103        float cx,cy,r,rx,ry; 
     104        NSString *pathData; 
    104105         
    105106        if ( [elementName isEqualToString:@"svg"] ) 
     
    147148                [ellipse release]; 
    148149        } 
     150         
     151        if ( [elementName isEqualToString:@"path"] ) 
     152        { 
     153                pathData = [NSString stringWithString:[attributeDict objectForKey:@"d"]]; 
     154                NSLog(@"path: %@",pathData); 
     155                NSScanner *theScanner = [NSScanner scannerWithString:pathData]; 
     156                NSCharacterSet *numberSet = [NSCharacterSet decimalDigitCharacterSet]; 
     157                NSCharacterSet *letterSet = [NSCharacterSet letterCharacterSet]; 
     158                NSCharacterSet *whiteSet = [NSCharacterSet whitespaceAndNewlineCharacterSet]; 
     159                NSString *command; 
     160                NSString *point; 
     161                NSBezierPath *path; 
     162                NSArray *tempArray; 
     163                path = [NSBezierPath bezierPath]; 
     164                while ([theScanner isAtEnd] == NO) { 
     165                        //assume no horizontal or verticle lines at this moment 
     166                        [theScanner scanUpToCharactersFromSet:numberSet intoString:&command]; 
     167                        [theScanner scanUpToCharactersFromSet:letterSet intoString:&point]; 
     168                        point = [point stringByTrimmingCharactersInSet:whiteSet]; 
     169                        command = [command stringByTrimmingCharactersInSet:whiteSet]; 
     170                        NSLog(@"Command: '%@'; Point: '%@'",command,point); 
     171                        tempArray = [point componentsSeparatedByString:@" "]; 
     172                         
     173                        if ( [command isEqualToString:@"M"] ) 
     174                        { 
     175                                [path moveToPoint:NSMakePoint([[tempArray objectAtIndex:0] floatValue],[[tempArray objectAtIndex:1] floatValue])]; 
     176                        } 
     177                         
     178                        if ( [command isEqualToString:@"L"] ) 
     179                        { 
     180                                [path lineToPoint:NSMakePoint([[tempArray objectAtIndex:0] floatValue],[[tempArray objectAtIndex:1] floatValue])]; 
     181                        } 
     182                         
     183                        if ( [command isEqualToString:@"C"] ) 
     184                        { 
     185                                [path curveToPoint:NSMakePoint([[tempArray objectAtIndex:4] floatValue],[[tempArray objectAtIndex:5] floatValue]) 
     186                                         controlPoint1:NSMakePoint([[tempArray objectAtIndex:0] floatValue],[[tempArray objectAtIndex:1] floatValue]) 
     187                                         controlPoint2:NSMakePoint([[tempArray objectAtIndex:2] floatValue],[[tempArray objectAtIndex:3] floatValue])]; 
     188                        } 
     189                         
     190                        if ( [command isEqualToString:@"Z"] || [command isEqualToString:@"z"]  ) 
     191                        { 
     192                                [path closePath]; 
     193                        } 
     194                } 
     195                 
     196                [objects addObject:path]; 
     197        } 
    149198} 
    150199 
  • branches/SVGImport/SVGImport.xcodeproj/project.pbxproj

    r375 r377  
    1717                A23CF5AD0BB5D79F005FCF13 /* MWText.m in Sources */ = {isa = PBXBuildFile; fileRef = A23CF5AC0BB5D79F005FCF13 /* MWText.m */; }; 
    1818                A2813E220BAF150A00ECE091 /* MWRectangle.m in Sources */ = {isa = PBXBuildFile; fileRef = A2813E210BAF150A00ECE091 /* MWRectangle.m */; }; 
     19                A291BF430BCC38AF009AA344 /* MWBezierPoints.m in Sources */ = {isa = PBXBuildFile; fileRef = A291BF420BCC38AF009AA344 /* MWBezierPoints.m */; }; 
    1920                A29C722D0BB4CC96005E04BC /* MWEllipse.m in Sources */ = {isa = PBXBuildFile; fileRef = A29C722C0BB4CC96005E04BC /* MWEllipse.m */; }; 
    2021                A29C72420BB4D6D4005E04BC /* MWBezier.m in Sources */ = {isa = PBXBuildFile; fileRef = A29C72410BB4D6D4005E04BC /* MWBezier.m */; }; 
     
    4546                A2813E200BAF150A00ECE091 /* MWRectangle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MWRectangle.h; sourceTree = "<group>"; }; 
    4647                A2813E210BAF150A00ECE091 /* MWRectangle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MWRectangle.m; sourceTree = "<group>"; }; 
     48                A291BF410BCC38AF009AA344 /* MWBezierPoints.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MWBezierPoints.h; sourceTree = "<group>"; }; 
     49                A291BF420BCC38AF009AA344 /* MWBezierPoints.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MWBezierPoints.m; sourceTree = "<group>"; }; 
    4750                A29C722B0BB4CC96005E04BC /* MWEllipse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MWEllipse.h; sourceTree = "<group>"; }; 
    4851                A29C722C0BB4CC96005E04BC /* MWEllipse.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MWEllipse.m; sourceTree = "<group>"; }; 
     
    7376                                A29C72400BB4D6D4005E04BC /* MWBezier.h */, 
    7477                                A29C72410BB4D6D4005E04BC /* MWBezier.m */, 
     78                                A291BF410BCC38AF009AA344 /* MWBezierPoints.h */, 
     79                                A291BF420BCC38AF009AA344 /* MWBezierPoints.m */, 
    7580                                A29C73E00BB4E90C005E04BC /* MWPointView2.h */, 
    7681                                A29C73E10BB4E90C005E04BC /* MWPointView2.m */, 
     
    238243                                A29C73E20BB4E90C005E04BC /* MWPointView2.m in Sources */, 
    239244                                A23CF5AD0BB5D79F005FCF13 /* MWText.m in Sources */, 
     245                                A291BF430BCC38AF009AA344 /* MWBezierPoints.m in Sources */, 
    240246                        ); 
    241247                        runOnlyForDeploymentPostprocessing = 0; 
  • branches/SVGImport/SVGImport.xcodeproj/wren.mode1

    r375 r377  
    220220                        <array> 
    221221                                <dict> 
    222                                         <key>BecomeActive</key> 
    223                                         <true/> 
    224222                                        <key>ContentConfiguration</key> 
    225223                                        <dict> 
     
    265263                                                        <array> 
    266264                                                                <array> 
    267                                                                         <integer>17</integer> 
     265                                                                        <integer>14</integer> 
    268266                                                                        <integer>1</integer> 
    269267                                                                        <integer>0</integer> 
     
    290288                                                </array> 
    291289                                                <key>RubberWindowFrame</key> 
    292                                                 <string>-1 59 1440 819 0 0 1440 878 </string> 
     290                                                <string>0 59 1440 819 0 0 1440 878 </string> 
    293291                                        </dict> 
    294292                                        <key>Module</key> 
     
    301299                                        <array> 
    302300                                                <dict> 
     301                                                        <key>BecomeActive</key> 
     302                                                        <true/> 
    303303                                                        <key>ContentConfiguration</key> 
    304304                                                        <dict> 
     
    306306                                                                <string>1CE0B20306471E060097A5F4</string> 
    307307                                                                <key>PBXProjectModuleLabel</key> 
    308                                                                 <string>MWSVGImport.m</string> 
     308                                                                <string>MWPointView2.m</string> 
    309309                                                                <key>PBXSplitModuleInNavigatorKey</key> 
    310310                                                                <dict> 
     
    314314                                                                                <string>1CE0B20406471E060097A5F4</string> 
    315315                                                                                <key>PBXProjectModuleLabel</key> 
    316                                                                                 <string>MWSVGImport.m</string> 
     316                                                                                <string>MWPointView2.m</string> 
    317317                                                                                <key>_historyCapacity</key> 
    318318                                                                                <integer>0</integer> 
    319319                                                                                <key>bookmark</key> 
    320                                                                                 <string>A24418260BCB4E1E00C9C609</string> 
     320                                                                                <string>A291BFC70BCC4163009AA344</string> 
    321321                                                                                <key>history</key> 
    322322                                                                                <array> 
     
    329329                                                                                        <string>A24416AA0BCB3C6D00C9C609</string> 
    330330                                                                                        <string>A24416AC0BCB3C6D00C9C609</string> 
    331                                                                                         <string>A24416FF0BCB3DE900C9C609</string> 
    332331                                                                                        <string>A24417020BCB3DE900C9C609</string> 
    333                                                                                         <string>A24417040BCB3DE900C9C609</string> 
    334                                                                                         <string>A244172B0BCB3F8800C9C609</string> 
    335                                                                                         <string>A244172C0BCB3F8800C9C609</string> 
    336                                                                                         <string>A24417D50BCB42EC00C9C609</string> 
    337332                                                                                        <string>A24418080BCB453500C9C609</string> 
    338                                                                                         <string>A24418090BCB453500C9C609</string> 
    339                                                                                         <string>A244180A0BCB453500C9C609</string> 
    340                                                                                         <string>A24418230BCB4E1E00C9C609</string> 
    341                                                                                         <string>A24418240BCB4E1E00C9C609</string> 
     333                                                                                        <string>A291BE560BCC2327009AA344</string> 
     334                                                                                        <string>A291BE570BCC2327009AA344</string> 
     335                                                                                        <string>A291BE970BCC254C009AA344</string> 
     336                                                                                        <string>A291BF4E0BCC3A88009AA344</string> 
     337                                                                                        <string>A291BF4F0BCC3A88009AA344</string> 
     338                                                                                        <string>A291BF500BCC3A88009AA344</string> 
     339                                                                                        <string>A291BF510BCC3A88009AA344</string> 
     340                                                                                        <string>A291BFBF0BCC412B009AA344</string> 
     341                                                                                        <string>A291BFC00BCC412B009AA344</string> 
     342                                                                                        <string>A291BFC10BCC412B009AA344</string> 
     343                                                                                        <string>A291BFC20BCC412B009AA344</string> 
    342344                                                                                </array> 
    343345                                                                                <key>prevStack</key> 
     
    362364                                                                                        <string>A23CF5D60BB5D95C005FCF13</string> 
    363365                                                                                        <string>A245CBDC0BB6401A00990C8F</string> 
    364                                                                                         <string>A24416AF0BCB3C6D00C9C609</string> 
    365                                                                                         <string>A24416B00BCB3C6D00C9C609</string> 
    366                                                                                         <string>A24416B10BCB3C6D00C9C609</string> 
    367                                                                                         <string>A24416B20BCB3C6D00C9C609</string> 
    368                                                                                         <string>A24416B30BCB3C6D00C9C609</string> 
    369                                                                                         <string>A24416B40BCB3C6D00C9C609</string> 
    370                                                                                         <string>A24416B50BCB3C6D00C9C609</string> 
    371                                                                                         <string>A24416B60BCB3C6D00C9C609</string> 
    372                                                                                         <string>A24416B70BCB3C6D00C9C609</string> 
    373                                                                                         <string>A24416B80BCB3C6D00C9C609</string> 
    374                                                                                         <string>A24416B90BCB3C6D00C9C609</string> 
    375                                                                                         <string>A24416BA0BCB3C6D00C9C609</string> 
    376                                                                                         <string>A24416BB0BCB3C6D00C9C609</string> 
    377                                                                                         <string>A24417060BCB3DE900C9C609</string> 
    378                                                                                         <string>A24417070BCB3DE900C9C609</string> 
    379                                                                                         <string>A24417080BCB3DE900C9C609</string> 
    380                                                                                         <string>A24417090BCB3DE900C9C609</string> 
    381                                                                                         <string>A244170A0BCB3DE900C9C609</string> 
    382                                                                                         <string>A244170B0BCB3DE900C9C609</string> 
    383                                                                                         <string>A244170C0BCB3DE900C9C609</string> 
    384                                                                                         <string>A244170D0BCB3DE900C9C609</string> 
    385                                                                                         <string>A244170E0BCB3DE900C9C609</string> 
    386                                                                                         <string>A244170F0BCB3DE900C9C609</string> 
    387                                                                                         <string>A24417100BCB3DE900C9C609</string> 
    388                                                                                         <string>A24417110BCB3DE900C9C609</string> 
    389                                                                                         <string>A24417170BCB3E4900C9C609</string> 
    390                                                                                         <string>A24417310BCB3F8800C9C609</string> 
    391                                                                                         <string>A24417320BCB3F8800C9C609</string> 
    392                                                                                         <string>A24417330BCB3F8800C9C609</string> 
    393                                                                                         <string>A24417340BCB3F8800C9C609</string> 
    394                                                                                         <string>A24417350BCB3F8800C9C609</string> 
    395                                                                                         <string>A24417360BCB3F8800C9C609</string> 
    396                                                                                         <string>A24417370BCB3F8800C9C609</string> 
    397                                                                                         <string>A24417380BCB3F8800C9C609</string> 
    398                                                                                         <string>A24417390BCB3F8800C9C609</string> 
    399                                                                                         <string>A244173A0BCB3F8800C9C609</string> 
    400                                                                                         <string>A244173B0BCB3F8800C9C609</string> 
    401                                                                                         <string>A244173C0BCB3F8800C9C609</string> 
    402                                                                                         <string>A244173D0BCB3F8800C9C609</string> 
    403                                                                                         <string>A244173E0BCB3F8800C9C609</string> 
    404                                                                                         <string>A244173F0BCB3F8800C9C609</string> 
    405                                                                                         <string>A24417400BCB3F8800C9C609</string> 
    406                                                                                         <string>A24417410BCB3F8800C9C609</string> 
    407                                                                                         <string>A24417420BCB3F8800C9C609</string> 
    408                                                                                         <string>A24417430BCB3F8800C9C609</string> 
    409                                                                                         <string>A24417440BCB3F8800C9C609</string> 
    410                                                                                         <string>A24417450BCB3F8800C9C609</string> 
    411                                                                                         <string>A24417460BCB3F8800C9C609</string> 
    412                                                                                         <string>A24417470BCB3F8800C9C609</string> 
    413                                                                                         <string>A24417480BCB3F8800C9C609</string> 
    414                                                                                         <string>A24417490BCB3F8800C9C609</string> 
    415                                                                                         <string>A244174A0BCB3F8800C9C609</string> 
    416                                                                                         <string>A244174B0BCB3F8800C9C609</string> 
    417                                                                                         <string>A244174C0BCB3F8800C9C609</string> 
    418                                                                                         <string>A244174D0BCB3F8800C9C609</string> 
    419                                                                                         <string>A244174E0BCB3F8800C9C609</string> 
    420                                                                                         <string>A244174F0BCB3F8800C9C609</string> 
    421                                                                                         <string>A24417500BCB3F8800C9C609</string> 
    422                                                                                         <string>A24417510BCB3F8800C9C609</string> 
    423                                                                                         <string>A24417520BCB3F8800C9C609</string> 
    424                                                                                         <string>A24417530BCB3F8800C9C609</string> 
    425                                                                                         <string>A24417540BCB3F8800C9C609</string> 
    426                                                                                         <string>A24417550BCB3F8800C9C609</string> 
    427                                                                                         <string>A24417560BCB3F8800C9C609</string> 
    428                                                                                         <string>A24417570BCB3F8800C9C609</string> 
    429                                                                                         <string>A24417580BCB3F8800C9C609</string> 
    430                                                                                         <string>A24417590BCB3F8800C9C609</string> 
    431                                                                                         <string>A24417840BCB40F400C9C609</string> 
    432                                                                                         <string>A24417A90BCB414900C9C609</string> 
    433                                                                                         <string>A24417AE0BCB417900C9C609</string> 
    434                                                                                         <string>A24417AF0BCB417900C9C609</string> 
    435                                                                                         <string>A24417C00BCB41D200C9C609</string> 
    436                                                                                         <string>A24417C90BCB423300C9C609</string> 
    437                                                                                         <string>A24417CA0BCB423300C9C609</string> 
    438                                                                                         <string>A24417CB0BCB423300C9C609</string> 
    439                                                                                         <string>A24417D70BCB42EC00C9C609</string> 
    440                                                                                         <string>A24417D80BCB42EC00C9C609</string> 
    441                                                                                         <string>A24417D90BCB42EC00C9C609</string> 
    442                                                                                         <string>A24417DA0BCB42EC00C9C609</string> 
    443                                                                                         <string>A24417DB0BCB42EC00C9C609</string> 
    444                                                                                         <string>A244180C0BCB453500C9C609</string> 
    445                                                                                         <string>A244180D0BCB453500C9C609</string> 
    446                                                                                         <string>A244180E0BCB453500C9C609</string> 
    447                                                                                         <string>A244180F0BCB453500C9C609</string> 
    448                                                                                         <string>A24418100BCB453500C9C609</string> 
    449                                                                                         <string>A24418110BCB453500C9C609</string> 
    450                                                                                         <string>A24418120BCB453500C9C609</string> 
    451                                                                                         <string>A24418130BCB453500C9C609</string> 
    452                                                                                         <string>A24418140BCB453500C9C609</string> 
    453                                                                                         <string>A24418150BCB453500C9C609</string> 
    454                                                                                         <string>A24418250BCB4E1E00C9C609</string> 
     366                                                                                        <string>A291BE5A0BCC2327009AA344</string> 
     367                                                                                        <string>A291BE5B0BCC2327009AA344</string> 
     368                                                                                        <string>A291BE5C0BCC2327009AA344</string> 
     369                                                                                        <string>A291BE5D0BCC2327009AA344</string> 
     370                                                                                        <string>A291BE600BCC2327009AA344</string> 
     371                                                                                        <string>A291BE610BCC2327009AA344</string> 
     372                                                                                        <string>A291BE620BCC2327009AA344</string> 
     373                                                                                        <string>A291BE630BCC2327009AA344</string> 
     374                                                                                        <string>A291BE640BCC2327009AA344</string> 
     375                                                                                        <string>A291BE650BCC2327009AA344</string> 
     376                                                                                        <string>A291BE660BCC2327009AA344</string> 
     377                                                                                        <string>A291BE670BCC2327009AA344</string> 
     378                                                                                        <string>A291BE680BCC2327009AA344</string> 
     379                                                                                        <string>A291BE690BCC2327009AA344</string> 
     380                                                                                        <string>A291BE7E0BCC23E3009AA344</string> 
     381                                                                                        <string>A291BE850BCC2464009AA344</string> 
     382                                                                                        <string>A291BE990BCC254C009AA344</string> 
     383                                                                                        <string>A291BE9A0BCC254C009AA344</string> 
     384                                                                                        <string>A291BE9B0BCC254C009AA344</string> 
     385                                                                                        <string>A291BE9C0BCC254C009AA344</string> 
     386                                                                                        <string>A291BE9D0BCC254C009AA344</string> 
     387                                                                                        <string>A291BF2E0BCC36B5009AA344</string> 
     388                                                                                        <string>A291BF2F0BCC36B5009AA344</string> 
     389                                                                                        <string>A291BF550BCC3A88009AA344</string> 
     390                                                                                        <string>A291BF560BCC3A88009AA344</string> 
     391                                                                                        <string>A291BF570BCC3A88009AA344</string> 
     392                                                                                        <string>A291BF580BCC3A88009AA344</string> 
     393                                                                                        <string>A291BF590BCC3A88009AA344</string> 
     394                                                                                        <string>A291BF5A0BCC3A88009AA344</string> 
     395                                                                                        <string>A291BF5B0BCC3A88009AA344</string> 
     396                                                                                        <string>A291BF5C0BCC3A88009AA344</string> 
     397                                                                                        <string>A291BF5D0BCC3A88009AA344</string> 
     398                                                                                        <string>A291BF5E0BCC3A88009AA344</string> 
     399                                                                                        <string>A291BF5F0BCC3A88009AA344</string> 
     400                                                                                        <string>A291BF600BCC3A88009AA344</string> 
     401                                                                                        <string>A291BF610BCC3A88009AA344</string> 
     402                                                                                        <string>A291BF620BCC3A88009AA344</string> 
     403                                                                                        <string>A291BF630BCC3A88009AA344</string> 
     404                                                                                        <string>A291BF640BCC3A88009AA344</string> 
     405                                                                                        <string>A291BF650BCC3A88009AA344</string> 
     406                                                                                        <string>A291BF660BCC3A88009AA344</string> 
     407                                                                                        <string>A291BF670BCC3A88009AA344</string> 
     408                                                                                        <string>A291BF680BCC3A88009AA344</string> 
     409                                                                                        <string>A291BF690BCC3A88009AA344</string> 
     410                                                                                        <string>A291BF6A0BCC3A88009AA344</string> 
     411                                                                                        <string>A291BF6B0BCC3A88009AA344</string> 
     412                                                                                        <string>A291BF6C0BCC3A88009AA344</string> 
     413                                                                                        <string>A291BF6D0BCC3A88009AA344</string> 
     414                                                                                        <string>A291BF6E0BCC3A88009AA344</string> 
     415                                                                                        <string>A291BF6F0BCC3A88009AA344</string> 
     416                                                                                        <string>A291BF700BCC3A88009AA344</string> 
     417                                                                                        <string>A291BF710BCC3A88009AA344</string> 
     418                                                                                        <string>A291BF720BCC3A88009AA344</string> 
     419                                                                                        <string>A291BF730BCC3A88009AA344</string> 
     420                                                                                        <string>A291BF740BCC3A88009AA344</string> 
     421                                                                                        <string>A291BF800BCC3ABF009AA344</string> 
     422                                                                                        <string>A291BF940BCC3CEF009AA344</string> 
     423                                                                                        <string>A291BF9B0BCC3DA6009AA344</string> 
     424                                                                                        <string>A291BFA80BCC3F13009AA344</string> 
     425                                                                                        <string>A291BFC30BCC412B009AA344</string> 
     426