- Timestamp:
- 02/10/08 06:02:25 (17 years ago)
- Location:
- trunk/ICeCoffEE/ICeCoffEE
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ICeCoffEE/ICeCoffEE/ICeCoffEE.h
r322 r375 26 26 iccfURLAction ICCF_KeyboardAction(NSEvent *e); 27 27 28 // throws an exception if the URL range is nonexistent or too big 29 void ICCF_CheckRange(NSRange range); 30 28 31 // calls ICCF_DoURLAction 29 32 // returns YES unless the user cancelled -
trunk/ICeCoffEE/ICeCoffEE/ICeCoffEE.m
r322 r375 61 61 action.launchInBackground = (modifierFlags & NSShiftKeyMask) != 0; 62 62 return action; 63 } 64 65 // RFC-ordained max URL length, just to avoid passing IC/LS multi-megabyte documents 66 #if ICCF_DEBUG 67 static const long ICCF_MAX_URL_LEN = 120; // XXX change later 68 #else 69 static const long ICCF_MAX_URL_LEN = 1024; 70 #endif 71 72 void ICCF_CheckRange(NSRange range) { 73 NSCAssert(range.length > 0, ICCF_LocalizedString(@"No URL is selected")); 74 NSCAssert1(range.length <= ICCF_MAX_URL_LEN, ICCF_LocalizedString(@"The potential URL is longer than %lu characters"), ICCF_MAX_URL_LEN); 63 75 } 64 76 -
trunk/ICeCoffEE/ICeCoffEE/ICeCoffEE.xcodeproj/nicholas.mode2v3
r373 r375 201 201 <dict> 202 202 <key>PBXProjectModuleGUID</key> 203 <string>E15464590D5EB73F00C836EC</string>204 <key>PBXProjectModuleLabel</key>205 <string>urls.plist</string>206 <key>PBXSplitModuleInNavigatorKey</key>207 <dict>208 <key>Split0</key>209 <dict>210 <key>PBXProjectModuleGUID</key>211 <string>E154645A0D5EB73F00C836EC</string>212 <key>PBXProjectModuleLabel</key>213 <string>urls.plist</string>214 <key>_historyCapacity</key>215 <integer>0</integer>216 <key>bookmark</key>217 <string>E154646D0D5EB8FF00C836EC</string>218 <key>history</key>219 <array>220 <string>E15464550D5EB72500C836EC</string>221 </array>222 </dict>223 <key>SplitCount</key>224 <string>1</string>225 </dict>226 <key>StatusBarVisibility</key>227 <false/>228 </dict>229 <key>Geometry</key>230 <dict>231 <key>Frame</key>232 <string>{{0, -1}, {772, 796}}</string>233 <key>PBXModuleWindowStatusBarHidden2</key>234 <true/>235 <key>RubberWindowFrame</key>236 <string>18 -575 772 816 0 0 1920 1178 </string>237 </dict>238 </dict>239 <dict>240 <key>Content</key>241 <dict>242 <key>PBXProjectModuleGUID</key>243 <string>E154646E0D5EB8FF00C836EC</string>244 <key>PBXProjectModuleLabel</key>245 <string>TestParser.m - SCM</string>246 <key>PBXSplitModuleInNavigatorKey</key>247 <dict>248 <key>Split0</key>249 <dict>250 <key>PBXProjectModuleGUID</key>251 <string>E154646F0D5EB8FF00C836EC</string>252 <key>PBXProjectModuleLabel</key>253 <string>TestParser.m - SCM</string>254 <key>_historyCapacity</key>255 <integer>0</integer>256 <key>bookmark</key>257 <string>E15464710D5EB8FF00C836EC</string>258 <key>history</key>259 <array>260 <string>E15464700D5EB8FF00C836EC</string>261 </array>262 </dict>263 <key>SplitCount</key>264 <string>1</string>265 </dict>266 <key>StatusBarVisibility</key>267 <false/>268 </dict>269 <key>Geometry</key>270 <dict>271 <key>Frame</key>272 <string>{{0, -1}, {1164, 866}}</string>273 <key>PBXModuleWindowStatusBarHidden2</key>274 <true/>275 <key>RubberWindowFrame</key>276 <string>121 292 1164 886 0 0 1920 1178 </string>277 </dict>278 </dict>279 <dict>280 <key>Content</key>281 <dict>282 <key>PBXProjectModuleGUID</key>283 203 <string>E154645C0D5EB73F00C836EC</string> 284 204 <key>PBXProjectModuleLabel</key> … … 295 215 <integer>0</integer> 296 216 <key>bookmark</key> 297 <string>E1546 4730D5EB8FF00C836EC</string>217 <string>E15465140D5ECA7400C836EC</string> 298 218 <key>history</key> 299 219 <array> 300 <string>E1546 45E0D5EB73F00C836EC</string>220 <string>E15465010D5EC80700C836EC</string> 301 221 </array> 302 222 </dict> … … 321 241 <dict> 322 242 <key>PBXProjectModuleGUID</key> 243 <string>E15464590D5EB73F00C836EC</string> 244 <key>PBXProjectModuleLabel</key> 245 <string>urls.plist</string> 246 <key>PBXSplitModuleInNavigatorKey</key> 247 <dict> 248 <key>Split0</key> 249 <dict> 250 <key>PBXProjectModuleGUID</key> 251 <string>E154645A0D5EB73F00C836EC</string> 252 <key>PBXProjectModuleLabel</key> 253 <string>urls.plist</string> 254 <key>_historyCapacity</key> 255 <integer>0</integer> 256 <key>bookmark</key> 257 <string>E15465150D5ECA7400C836EC</string> 258 <key>history</key> 259 <array> 260 <string>E15464550D5EB72500C836EC</string> 261 </array> 262 </dict> 263 <key>SplitCount</key> 264 <string>1</string> 265 </dict> 266 <key>StatusBarVisibility</key> 267 <false/> 268 </dict> 269 <key>Geometry</key> 270 <dict> 271 <key>Frame</key> 272 <string>{{0, -1}, {772, 796}}</string> 273 <key>PBXModuleWindowStatusBarHidden2</key> 274 <true/> 275 <key>RubberWindowFrame</key> 276 <string>51 15 772 816 0 0 1920 1178 </string> 277 </dict> 278 </dict> 279 <dict> 280 <key>Content</key> 281 <dict> 282 <key>PBXProjectModuleGUID</key> 323 283 <string>E15464560D5EB73F00C836EC</string> 324 284 <key>PBXProjectModuleLabel</key> … … 335 295 <integer>0</integer> 336 296 <key>bookmark</key> 337 <string>E1546 4740D5EB8FF00C836EC</string>297 <string>E15465160D5ECA7400C836EC</string> 338 298 <key>history</key> 339 299 <array> 340 <string>E15464 530D5EB71D00C836EC</string>300 <string>E15464F60D5EC7A300C836EC</string> 341 301 </array> 342 302 </dict> … … 357 317 </dict> 358 318 </dict> 319 <dict> 320 <key>Content</key> 321 <dict> 322 <key>PBXProjectModuleGUID</key> 323 <string>E15464F80D5EC7A300C836EC</string> 324 <key>PBXProjectModuleLabel</key> 325 <string>ICeCoffEE.h</string> 326 <key>PBXSplitModuleInNavigatorKey</key> 327 <dict> 328 <key>Split0</key> 329 <dict> 330 <key>PBXProjectModuleGUID</key> 331 <string>E15464F90D5EC7A300C836EC</string> 332 <key>PBXProjectModuleLabel</key> 333 <string>ICeCoffEE.h</string> 334 <key>_historyCapacity</key> 335 <integer>0</integer> 336 <key>bookmark</key> 337 <string>E15465170D5ECA7400C836EC</string> 338 <key>history</key> 339 <array> 340 <string>E15464F00D5EC77900C836EC</string> 341 </array> 342 </dict> 343 <key>SplitCount</key> 344 <string>1</string> 345 </dict> 346 <key>StatusBarVisibility</key> 347 <false/> 348 </dict> 349 <key>Geometry</key> 350 <dict> 351 <key>Frame</key> 352 <string>{{0, -1}, {813, 726}}</string> 353 <key>PBXModuleWindowStatusBarHidden2</key> 354 <true/> 355 <key>RubberWindowFrame</key> 356 <string>21 33 813 746 0 0 1920 1178 </string> 357 </dict> 358 </dict> 359 359 </array> 360 360 <key>PerspectiveWidths</key> … … 389 389 <array> 390 390 <dict> 391 <key>BecomeActive</key> 392 <true/> 391 393 <key>ContentConfiguration</key> 392 394 <dict> … … 429 431 <array> 430 432 <array> 433 <integer>43</integer> 434 <integer>42</integer> 431 435 <integer>0</integer> 432 436 </array> 433 437 </array> 434 438 <key>PBXSmartGroupTreeModuleOutlineStateVisibleRectKey</key> 435 <string>{{0, 0}, {298, 621}}</string>439 <string>{{0, 501}, {298, 621}}</string> 436 440 </dict> 437 441 <key>PBXTopSmartGroupGIDs</key> … … 451 455 <real>276</real> 452 456 </array> 457 <key>RubberWindowFrame</key> 458 <string>1594 468 315 707 0 0 1920 1178 </string> 453 459 </dict> 454 460 <key>Module</key> … … 456 462 </dict> 457 463 <dict> 458 <key>BecomeActive</key>459 <true/>460 464 <key>ContentConfiguration</key> 461 465 <dict> … … 487 491 <array> 488 492 <string>1C37FBAC04509CD000000102</string> 493 <string>E154648E0D5EBC2400C836EC</string> 494 <string>E154648F0D5EBC2400C836EC</string> 489 495 <string>E15463EA0D5E9A3400C836EC</string> 490 496 <string>E15463EB0D5E9A3400C836EC</string> 497 <string>E15464900D5EBC2400C836EC</string> 491 498 <string>1C37FAAC04509CD000000102</string> 492 499 </array> … … 494 501 <array> 495 502 <array> 503 <integer>13</integer> 496 504 <integer>0</integer> 497 505 </array> … … 514 522 <real>298</real> 515 523 </array> 516 <key>RubberWindowFrame</key>517 <string>1594 468 315 707 0 0 1920 1178 </string>518 524 </dict> 519 525 <key>Module</key> … … 628 634 <key>WindowOrderList</key> 629 635 <array> 630 <string>E15464670D5EB85000C836EC</string> 636 <string>E15465180D5ECA7400C836EC</string> 637 <string>E15464F20D5EC7A300C836EC</string> 638 <string>E15464EC0D5EC56400C836EC</string> 639 <string>1C335F2C07B51CD20023D4EE</string> 631 640 <string>E15464250D5E9F1000C836EC</string> 632 641 <string>E15464280D5E9F1000C836EC</string> … … 634 643 <string>E154642A0D5E9F1000C836EC</string> 635 644 <string>1C530D5B069F1CE1000CFCEE</string> 645 <string>1C530D57069F1CE1000CFCEE</string> 646 <string>E15464F80D5EC7A300C836EC</string> 636 647 <string>1C530D54069F1CE1000CFCEE</string> 637 <string>1C530D57069F1CE1000CFCEE</string>638 648 <string>1C530D52069F1CE1000CFCEE</string> 649 <string>/Users/nicholas/Documents/Development/ICeCoffEE/ICeCoffEE/ICeCoffEE.xcodeproj</string> 650 <string>E15464670D5EB85000C836EC</string> 639 651 <string>E15464560D5EB73F00C836EC</string> 652 <string>E15464590D5EB73F00C836EC</string> 640 653 <string>E154645C0D5EB73F00C836EC</string> 641 <string>E154646E0D5EB8FF00C836EC</string>642 <string>E15464590D5EB73F00C836EC</string>643 <string>/Users/nicholas/Documents/Development/ICeCoffEE/ICeCoffEE/ICeCoffEE.xcodeproj</string>644 654 </array> 645 655 <key>WindowString</key> … … 722 732 </array> 723 733 <key>RubberWindowFrame</key> 724 <string> 423 589 744 409 0 0 1680 1028 </string>734 <string>531 731 744 409 0 0 1920 1178 </string> 725 735 </dict> 726 736 <key>Module</key> … … 730 740 </dict> 731 741 <dict> 732 <key>BecomeActive</key>733 <true/>734 742 <key>ContentConfiguration</key> 735 743 <dict> … … 744 752 <string>{{267, 0}, {477, 368}}</string> 745 753 <key>RubberWindowFrame</key> 746 <string> 423 589 744 409 0 0 1680 1028 </string>754 <string>531 731 744 409 0 0 1920 1178 </string> 747 755 </dict> 748 756 <key>Module</key> … … 768 776 <array> 769 777 <string>1C335F2C07B51CD20023D4EE</string> 770 <string>1C335F2D07B51CD20023D4EE</string> 771 <string>1C335F2E07B51CD20023D4EE</string> 778 <string>E15464950D5EBD0200C836EC</string> 772 779 <string>1CE0B1FE06471DED0097A5F4</string> 773 780 <string>1CA1AED706398EBD00589147</string> … … 776 783 <string>xcode.toolbar.config.defaultV3</string> 777 784 <key>WindowString</key> 778 <string> 423 589 744 409 0 0 1680 1028 </string>785 <string>531 731 744 409 0 0 1920 1178 </string> 779 786 <key>WindowToolGUID</key> 780 787 <string>1C335F2C07B51CD20023D4EE</string> 781 788 <key>WindowToolIsVisible</key> 782 < true/>789 <false/> 783 790 </dict> 784 791 <dict> … … 875 882 <string>1C530D52069F1CE1000CFCEE</string> 876 883 <key>WindowToolIsVisible</key> 877 < false/>884 <true/> 878 885 </dict> 879 886 <dict> … … 958 965 <string>{{361, 0}, {446, 278}}</string> 959 966 <key>RubberWindowFrame</key> 960 <string> 295 237 807 570 0 0 1920 1178 </string>967 <string>825 127 807 570 0 0 1920 1178 </string> 961 968 </dict> 962 969 <key>RubberWindowFrame</key> 963 <string> 295 237 807 570 0 0 1920 1178 </string>970 <string>825 127 807 570 0 0 1920 1178 </string> 964 971 </dict> 965 972 <key>Module</key> … … 995 1002 <string>xcode.toolbar.config.debugV3</string> 996 1003 <key>WindowString</key> 997 <string> 295 237 807 570 0 0 1920 1178 </string>1004 <string>825 127 807 570 0 0 1920 1178 </string> 998 1005 <key>WindowToolGUID</key> 999 1006 <string>1C530D54069F1CE1000CFCEE</string> 1000 1007 <key>WindowToolIsVisible</key> 1001 < false/>1008 <true/> 1002 1009 </dict> 1003 1010 <dict> … … 1298 1305 <string>E15464670D5EB85000C836EC</string> 1299 1306 <key>WindowToolIsVisible</key> 1300 < false/>1307 <true/> 1301 1308 </dict> 1302 1309 <dict> -
trunk/ICeCoffEE/ICeCoffEE/ICeCoffEE.xcodeproj/nicholas.pbxuser
r373 r375 101 101 PBXFileTableDataSourceColumnWidthsKey = ( 102 102 20, 103 359 .8799,104 202.2085,103 359, 104 69, 105 105 ); 106 106 PBXFileTableDataSourceColumnsKey = ( … … 127 127 PBXFileTableDataSourceColumnWidthsKey = ( 128 128 20, 129 314,129 237, 130 130 20, 131 131 49, … … 792 792 E15464730D5EB8FF00C836EC /* PBXTextBookmark */ = E15464730D5EB8FF00C836EC /* PBXTextBookmark */; 793 793 E15464740D5EB8FF00C836EC /* PBXTextBookmark */ = E15464740D5EB8FF00C836EC /* PBXTextBookmark */; 794 E154647C0D5EBA5F00C836EC /* PBXTextBookmark */ = E154647C0D5EBA5F00C836EC /* PBXTextBookmark */; 795 E154647D0D5EBA5F00C836EC /* PBXTextBookmark */ = E154647D0D5EBA5F00C836EC /* PBXTextBookmark */; 796 E154647E0D5EBA5F00C836EC /* PBXTextBookmark */ = E154647E0D5EBA5F00C836EC /* PBXTextBookmark */; 797 E154647F0D5EBB7600C836EC /* PBXTextBookmark */ = E154647F0D5EBB7600C836EC /* PBXTextBookmark */; 798 E15464800D5EBB7600C836EC /* PBXTextBookmark */ = E15464800D5EBB7600C836EC /* PBXTextBookmark */; 799 E15464810D5EBB7600C836EC /* PBXTextBookmark */ = E15464810D5EBB7600C836EC /* PBXTextBookmark */; 800 E15464910D5EBC2400C836EC /* PBXTextBookmark */ = E15464910D5EBC2400C836EC /* PBXTextBookmark */; 801 E15464920D5EBC2400C836EC /* PBXTextBookmark */ = E15464920D5EBC2400C836EC /* PBXTextBookmark */; 802 E15464930D5EBC2400C836EC /* PBXTextBookmark */ = E15464930D5EBC2400C836EC /* PBXTextBookmark */; 803 E15464960D5EBDEA00C836EC /* PBXTextBookmark */ = E15464960D5EBDEA00C836EC /* PBXTextBookmark */; 804 E15464970D5EBDEA00C836EC /* PBXTextBookmark */ = E15464970D5EBDEA00C836EC /* PBXTextBookmark */; 805 E15464980D5EBDEA00C836EC /* PBXTextBookmark */ = E15464980D5EBDEA00C836EC /* PBXTextBookmark */; 806 E154649A0D5EBE0800C836EC /* PBXTextBookmark */ = E154649A0D5EBE0800C836EC /* PBXTextBookmark */; 807 E154649B0D5EBE0800C836EC /* PBXTextBookmark */ = E154649B0D5EBE0800C836EC /* PBXTextBookmark */; 808 E154649C0D5EBE0800C836EC /* PBXTextBookmark */ = E154649C0D5EBE0800C836EC /* PBXTextBookmark */; 809 E154649F0D5EBE3B00C836EC /* PBXTextBookmark */ = E154649F0D5EBE3B00C836EC /* PBXTextBookmark */; 810 E15464A00D5EBE3B00C836EC /* PBXTextBookmark */ = E15464A00D5EBE3B00C836EC /* PBXTextBookmark */; 811 E15464A10D5EBE3B00C836EC /* PBXTextBookmark */ = E15464A10D5EBE3B00C836EC /* PBXTextBookmark */; 812 E15464A20D5EBE5300C836EC /* PBXTextBookmark */ = E15464A20D5EBE5300C836EC /* PBXTextBookmark */; 813 E15464A30D5EBE5300C836EC /* PBXTextBookmark */ = E15464A30D5EBE5300C836EC /* PBXTextBookmark */; 814 E15464A40D5EBE5300C836EC /* PBXTextBookmark */ = E15464A40D5EBE5300C836EC /* PBXTextBookmark */; 815 E15464A60D5EBE6900C836EC /* PBXTextBookmark */ = E15464A60D5EBE6900C836EC /* PBXTextBookmark */; 816 E15464A70D5EBE6900C836EC /* PBXTextBookmark */ = E15464A70D5EBE6900C836EC /* PBXTextBookmark */; 817 E15464A80D5EBE6900C836EC /* PBXTextBookmark */ = E15464A80D5EBE6900C836EC /* PBXTextBookmark */; 818 E15464AB0D5EBFEA00C836EC /* PBXTextBookmark */ = E15464AB0D5EBFEA00C836EC /* PBXTextBookmark */; 819 E15464AC0D5EBFEA00C836EC /* PBXTextBookmark */ = E15464AC0D5EBFEA00C836EC /* PBXTextBookmark */; 820 E15464AD0D5EBFEA00C836EC /* PBXTextBookmark */ = E15464AD0D5EBFEA00C836EC /* PBXTextBookmark */; 821 E15464AF0D5EC16300C836EC /* PBXTextBookmark */ = E15464AF0D5EC16300C836EC /* PBXTextBookmark */; 822 E15464B00D5EC16300C836EC /* PBXTextBookmark */ = E15464B00D5EC16300C836EC /* PBXTextBookmark */; 823 E15464B10D5EC16300C836EC /* PBXTextBookmark */ = E15464B10D5EC16300C836EC /* PBXTextBookmark */; 824 E15464B20D5EC19200C836EC /* PBXTextBookmark */ = E15464B20D5EC19200C836EC /* PBXTextBookmark */; 825 E15464B30D5EC19200C836EC /* PBXTextBookmark */ = E15464B30D5EC19200C836EC /* PBXTextBookmark */; 826 E15464B40D5EC19200C836EC /* PBXTextBookmark */ = E15464B40D5EC19200C836EC /* PBXTextBookmark */; 827 E15464B60D5EC19700C836EC /* PBXTextBookmark */ = E15464B60D5EC19700C836EC /* PBXTextBookmark */; 828 E15464B70D5EC19700C836EC /* PBXTextBookmark */ = E15464B70D5EC19700C836EC /* PBXTextBookmark */; 829 E15464B80D5EC19700C836EC /* PBXTextBookmark */ = E15464B80D5EC19700C836EC /* PBXTextBookmark */; 830 E15464BA0D5EC1B900C836EC /* PBXTextBookmark */ = E15464BA0D5EC1B900C836EC /* PBXTextBookmark */; 831 E15464BB0D5EC1B900C836EC /* PBXTextBookmark */ = E15464BB0D5EC1B900C836EC /* PBXTextBookmark */; 832 E15464BC0D5EC1B900C836EC /* PBXTextBookmark */ = E15464BC0D5EC1B900C836EC /* PBXTextBookmark */; 833 E15464BD0D5EC22C00C836EC /* PBXTextBookmark */ = E15464BD0D5EC22C00C836EC /* PBXTextBookmark */; 834 E15464BE0D5EC22C00C836EC /* PBXTextBookmark */ = E15464BE0D5EC22C00C836EC /* PBXTextBookmark */; 835 E15464BF0D5EC22C00C836EC /* PBXTextBookmark */ = E15464BF0D5EC22C00C836EC /* PBXTextBookmark */; 836 E15464C20D5EC23900C836EC /* PBXTextBookmark */ = E15464C20D5EC23900C836EC /* PBXTextBookmark */; 837 E15464C30D5EC23900C836EC /* PBXTextBookmark */ = E15464C30D5EC23900C836EC /* PBXTextBookmark */; 838 E15464C40D5EC23900C836EC /* PBXTextBookmark */ = E15464C40D5EC23900C836EC /* PBXTextBookmark */; 839 E15464C60D5EC23D00C836EC /* PBXTextBookmark */ = E15464C60D5EC23D00C836EC /* PBXTextBookmark */; 840 E15464C70D5EC23D00C836EC /* PBXTextBookmark */ = E15464C70D5EC23D00C836EC /* PBXTextBookmark */; 841 E15464C80D5EC23D00C836EC /* PBXTextBookmark */ = E15464C80D5EC23D00C836EC /* PBXTextBookmark */; 842 E15464CA0D5EC24F00C836EC /* PBXTextBookmark */ = E15464CA0D5EC24F00C836EC /* PBXTextBookmark */; 843 E15464CB0D5EC24F00C836EC /* PBXTextBookmark */ = E15464CB0D5EC24F00C836EC /* PBXTextBookmark */; 844 E15464CC0D5EC24F00C836EC /* PBXTextBookmark */ = E15464CC0D5EC24F00C836EC /* PBXTextBookmark */; 845 E15464CD0D5EC25F00C836EC /* PBXTextBookmark */ = E15464CD0D5EC25F00C836EC /* PBXTextBookmark */; 846 E15464CE0D5EC25F00C836EC /* PBXTextBookmark */ = E15464CE0D5EC25F00C836EC /* PBXTextBookmark */; 847 E15464CF0D5EC25F00C836EC /* PBXTextBookmark */ = E15464CF0D5EC25F00C836EC /* PBXTextBookmark */; 848 E15464D20D5EC2B500C836EC /* PBXTextBookmark */ = E15464D20D5EC2B500C836EC /* PBXTextBookmark */; 849 E15464D30D5EC2B500C836EC /* PBXTextBookmark */ = E15464D30D5EC2B500C836EC /* PBXTextBookmark */; 850 E15464D40D5EC2B500C836EC /* PBXTextBookmark */ = E15464D40D5EC2B500C836EC /* PBXTextBookmark */; 851 E15464D70D5EC3E400C836EC /* PBXTextBookmark */ = E15464D70D5EC3E400C836EC /* PBXTextBookmark */; 852 E15464D80D5EC3E400C836EC /* PBXTextBookmark */ = E15464D80D5EC3E400C836EC /* PBXTextBookmark */; 853 E15464D90D5EC3E400C836EC /* PBXTextBookmark */ = E15464D90D5EC3E400C836EC /* PBXTextBookmark */; 854 E15464DA0D5EC3E400C836EC /* PBXTextBookmark */ = E15464DA0D5EC3E400C836EC /* PBXTextBookmark */; 855 E15464DB0D5EC3E400C836EC /* PBXTextBookmark */ = E15464DB0D5EC3E400C836EC /* PBXTextBookmark */; 856 E15464DE0D5EC40400C836EC /* PBXTextBookmark */ = E15464DE0D5EC40400C836EC /* PBXTextBookmark */; 857 E15464DF0D5EC40400C836EC /* PBXTextBookmark */ = E15464DF0D5EC40400C836EC /* PBXTextBookmark */; 858 E15464E00D5EC40400C836EC /* PBXTextBookmark */ = E15464E00D5EC40400C836EC /* PBXTextBookmark */; 859 E15464E20D5EC43000C836EC /* PBXTextBookmark */ = E15464E20D5EC43000C836EC /* PBXTextBookmark */; 860 E15464E30D5EC43000C836EC /* PBXTextBookmark */ = E15464E30D5EC43000C836EC /* PBXTextBookmark */; 861 E15464E40D5EC43000C836EC /* PBXTextBookmark */ = E15464E40D5EC43000C836EC /* PBXTextBookmark */; 862 E15464E80D5EC56400C836EC /* PBXTextBookmark */ = E15464E80D5EC56400C836EC /* PBXTextBookmark */; 863 E15464E90D5EC56400C836EC /* PBXTextBookmark */ = E15464E90D5EC56400C836EC /* PBXTextBookmark */; 864 E15464EA0D5EC56400C836EC /* PBXTextBookmark */ = E15464EA0D5EC56400C836EC /* PBXTextBookmark */; 865 E15464EB0D5EC56400C836EC /* PBXTextBookmark */ = E15464EB0D5EC56400C836EC /* PBXTextBookmark */; 866 E15464F00D5EC77900C836EC /* PBXBookmark */ = E15464F00D5EC77900C836EC /* PBXBookmark */; 867 E15464F40D5EC7A300C836EC /* PBXTextBookmark */ = E15464F40D5EC7A300C836EC /* PBXTextBookmark */; 868 E15464F50D5EC7A300C836EC /* PBXTextBookmark */ = E15464F50D5EC7A300C836EC /* PBXTextBookmark */; 869 E15464F60D5EC7A300C836EC /* PBXTextBookmark */ = E15464F60D5EC7A300C836EC /* PBXTextBookmark */; 870 E15464F70D5EC7A300C836EC /* PBXTextBookmark */ = E15464F70D5EC7A300C836EC /* PBXTextBookmark */; 871 E15464FA0D5EC7A300C836EC /* PBXTextBookmark */ = E15464FA0D5EC7A300C836EC /* PBXTextBookmark */; 872 E15464FB0D5EC7A300C836EC /* PBXTextBookmark */ = E15464FB0D5EC7A300C836EC /* PBXTextBookmark */; 873 E15464FC0D5EC7A300C836EC /* PBXTextBookmark */ = E15464FC0D5EC7A300C836EC /* PBXTextBookmark */; 874 E15465010D5EC80700C836EC /* PBXTextBookmark */ = E15465010D5EC80700C836EC /* PBXTextBookmark */; 875 E15465020D5EC80700C836EC /* PBXTextBookmark */ = E15465020D5EC80700C836EC /* PBXTextBookmark */; 876 E15465030D5EC80700C836EC /* PBXTextBookmark */ = E15465030D5EC80700C836EC /* PBXTextBookmark */; 877 E15465040D5EC80700C836EC /* PBXTextBookmark */ = E15465040D5EC80700C836EC /* PBXTextBookmark */; 878 E15465050D5EC80700C836EC /* PBXTextBookmark */ = E15465050D5EC80700C836EC /* PBXTextBookmark */; 879 E15465060D5EC80700C836EC /* PBXTextBookmark */ = E15465060D5EC80700C836EC /* PBXTextBookmark */; 880 E15465090D5EC8F500C836EC /* PBXTextBookmark */ = E15465090D5EC8F500C836EC /* PBXTextBookmark */; 881 E154650A0D5EC8F500C836EC /* PBXTextBookmark */ = E154650A0D5EC8F500C836EC /* PBXTextBookmark */; 882 E154650B0D5EC8F500C836EC /* PBXTextBookmark */ = E154650B0D5EC8F500C836EC /* PBXTextBookmark */; 883 E154650C0D5EC8F500C836EC /* PBXTextBookmark */ = E154650C0D5EC8F500C836EC /* PBXTextBookmark */; 884 E154650D0D5EC8F500C836EC /* PBXTextBookmark */ = E154650D0D5EC8F500C836EC /* PBXTextBookmark */; 885 E15465140D5ECA7400C836EC /* PBXTextBookmark */ = E15465140D5ECA7400C836EC /* PBXTextBookmark */; 886 E15465150D5ECA7400C836EC /* PBXTextBookmark */ = E15465150D5ECA7400C836EC /* PBXTextBookmark */; 887 E15465160D5ECA7400C836EC /* PBXTextBookmark */ = E15465160D5ECA7400C836EC /* PBXTextBookmark */; 888 E15465170D5ECA7400C836EC /* PBXTextBookmark */ = E15465170D5ECA7400C836EC /* PBXTextBookmark */; 794 889 E1887EC50C6F975A00F6CE00 = E1887EC50C6F975A00F6CE00 /* PBXTextBookmark */; 795 890 E1887EC60C6F975A00F6CE00 = E1887EC60C6F975A00F6CE00 /* PBXTextBookmark */; … … 1037 1132 ignoreCount = 0; 1038 1133 location = Foundation; 1039 modificationTime = 22431 1242.256122;1134 modificationTime = 224314422.459999; 1040 1135 state = 0; 1041 1136 symbolName = "-[NSException raise]"; … … 1051 1146 hitCount = 0; 1052 1147 ignoreCount = 0; 1053 modificationTime = 22431 1242.010979;1148 modificationTime = 224314422.314183; 1054 1149 state = 2; 1055 1150 symbolName = _NSAutoreleaseNoPool; … … 1091 1186 hitCount = 0; 1092 1187 ignoreCount = 0; 1093 modificationTime = 22431 1242.011198;1188 modificationTime = 224314422.314388; 1094 1189 state = 2; 1095 1190 symbolName = "-[NSObject setSelInProgress:]"; … … 1106 1201 ignoreCount = 0; 1107 1202 location = ""; 1108 modificationTime = 22431 1242.011413;1203 modificationTime = 224314422.314587; 1109 1204 state = 2; 1110 1205 symbolName = "-[TermView setSelInProgress:]"; … … 1120 1215 hitCount = 0; 1121 1216 ignoreCount = 0; 1122 modificationTime = 22431 1242.011625;1217 modificationTime = 224314422.31479; 1123 1218 state = 2; 1124 1219 symbolName = "-[NSWindow sendEvent:]"; … … 1135 1230 ignoreCount = 0; 1136 1231 location = AppKit; 1137 modificationTime = 22431 1242.011842;1232 modificationTime = 224314422.314994; 1138 1233 state = 2; 1139 1234 symbolName = "-[_NSThemeWidget mouseDown:]"; … … 1150 1245 ignoreCount = 0; 1151 1246 location = ""; 1152 modificationTime = 22431 1242.012053;1247 modificationTime = 224314422.315313; 1153 1248 state = 2; 1154 1249 symbolName = "-[NSControl mouseDown:]+32"; … … 1164 1259 hitCount = 0; 1165 1260 ignoreCount = 0; 1166 modificationTime = 22431 1242.012268;1261 modificationTime = 224314422.315516; 1167 1262 state = 2; 1168 1263 symbolName = 0x937da530; … … 1179 1274 ignoreCount = 0; 1180 1275 location = ""; 1181 modificationTime = 22431 1242.012492;1276 modificationTime = 224314422.315722; 1182 1277 state = 2; 1183 1278 symbolName = "-[NSControl mouseDown:]+160"; … … 1279 1374 E14343B303DB4CF200050002 /* ICeCoffEE.h */ = { 1280 1375 uiCtxt = { 1281 sepNavIntBoundsRect = "{{0, 0}, {813, 517}}"; 1282 sepNavSelRange = "{500, 20}"; 1376 sepNavIntBoundsRect = "{{0, 0}, {754, 687}}"; 1377 sepNavSelRange = "{1327, 0}"; 1378 sepNavVisRange = "{0, 1871}"; 1283 1379 sepNavVisRect = "{{0, 0}, {813, 376}}"; 1284 1380 sepNavWindowFrame = "{{21, 33}, {813, 746}}"; … … 1287 1383 E14343B403DB4CF200050002 /* ICeCoffEE.m */ = { 1288 1384 uiCtxt = { 1289 sepNavIntBoundsRect = "{{0, 0}, {7 87, 5192}}";1290 sepNavSelRange = "{ 331, 9}";1291 sepNavVisRange = "{ 0, 796}";1385 sepNavIntBoundsRect = "{{0, 0}, {754, 5533}}"; 1386 sepNavSelRange = "{2466, 38}"; 1387 sepNavVisRange = "{1567, 2284}"; 1292 1388 sepNavVisRect = "{{0, 2112}, {774, 708}}"; 1293 sepNavWindowFrame = "{{ 291, 130}, {813, 746}}";1389 sepNavWindowFrame = "{{836, 127}, {813, 746}}"; 1294 1390 }; 1295 1391 }; … … 1337 1433 E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */ = { 1338 1434 uiCtxt = { 1339 sepNavIntBoundsRect = "{{0, 0}, {727, 2 387}}";1340 sepNavSelRange = "{ 7306, 0}";1341 sepNavVisRange = "{ 4946, 3549}";1435 sepNavIntBoundsRect = "{{0, 0}, {727, 2420}}"; 1436 sepNavSelRange = "{3893, 0}"; 1437 sepNavVisRange = "{1920, 2850}"; 1342 1438 sepNavVisRect = "{{0, 110}, {733, 778}}"; 1343 1439 sepNavWindowFrame = "{{526, 80}, {772, 816}}"; … … 1357 1453 ); 1358 1454 autoAttachOnCrash = 1; 1359 breakpointsEnabled = 0;1455 breakpointsEnabled = 1; 1360 1456 configStateDict = { 1361 1457 "PBXLSLaunchAction-0" = { … … 1393 1489 uiCtxt = { 1394 1490 sepNavIntBoundsRect = "{{0, 0}, {713, 1210}}"; 1395 sepNavSelRange = "{2 360, 0}";1396 sepNavVisRange = "{ 1136, 1855}";1491 sepNavSelRange = "{222, 0}"; 1492 sepNavVisRange = "{0, 2049}"; 1397 1493 sepNavVisRect = "{{0, 154}, {733, 778}}"; 1398 1494 sepNavWindowFrame = "{{835, 79}, {772, 816}}"; … … 1401 1497 E14E2BC20C2CC28500AC18D0 /* urls.plist */ = { 1402 1498 uiCtxt = { 1403 sepNavIntBoundsRect = "{{0, 0}, {713, 8 03}}";1404 sepNavSelRange = "{1 022, 0}";1405 sepNavVisRange = "{0, 1 543}";1499 sepNavIntBoundsRect = "{{0, 0}, {713, 858}}"; 1500 sepNavSelRange = "{1441, 0}"; 1501 sepNavVisRange = "{0, 1603}"; 1406 1502 sepNavVisRect = "{{0, 0}, {733, 778}}"; 1407 1503 sepNavWindowFrame = "{{913, 67}, {772, 816}}"; … … 1433 1529 name = "ICeCoffEEParser.m: ICCF_icInst"; 1434 1530 rLen = 0; 1435 rLoc = 2 840;1531 rLoc = 2374; 1436 1532 rType = 0; 1437 1533 vrLen = 2802; … … 1443 1539 name = "ICeCoffEEParser.m: 70"; 1444 1540 rLen = 0; 1445 rLoc = 2 839;1541 rLoc = 2373; 1446 1542 rType = 0; 1447 1543 vrLen = 2519; … … 1736 1832 name = "ICeCoffEEParser.m: 34"; 1737 1833 rLen = 0; 1738 rLoc = 1199;1834 rLoc = 733; 1739 1835 rType = 0; 1740 1836 vrLen = 2514; … … 1797 1893 name = "TestParser.m: 85"; 1798 1894 rLen = 0; 1799 rLoc = 2 545;1895 rLoc = 2613; 1800 1896 rType = 0; 1801 1897 vrLen = 2285; … … 1817 1913 name = "ICeCoffEEParser.m: 191"; 1818 1914 rLen = 0; 1819 rLoc = 8352;1915 rLoc = 7917; 1820 1916 rType = 0; 1821 1917 vrLen = 867; … … 1827 1923 name = "ICeCoffEEParser.m: 190"; 1828 1924 rLen = 0; 1829 rLoc = 8351;1925 rLoc = 7917; 1830 1926 rType = 0; 1831 1927 vrLen = 2908; … … 1913 2009 comments = "error: invalid initializer"; 1914 2010 fRef = E14E2B330C2CBFB200AC18D0 /* TestParser.m */; 1915 rLen = 1;1916 rLoc = 7 4;2011 rLen = 0; 2012 rLoc = 76; 1917 2013 rType = 1; 1918 2014 }; … … 1922 2018 name = "TestParser.m: 39"; 1923 2019 rLen = 0; 1924 rLoc = 1 090;2020 rLoc = 1130; 1925 2021 rType = 0; 1926 2022 vrLen = 2209; … … 1942 2038 name = "ICeCoffEEParser.m: 190"; 1943 2039 rLen = 0; 1944 rLoc = 8351;2040 rLoc = 7917; 1945 2041 rType = 0; 1946 2042 vrLen = 2995; … … 1992 2088 name = "TestParser.m: 50"; 1993 2089 rLen = 0; 1994 rLoc = 13 24;2090 rLoc = 1364; 1995 2091 rType = 0; 1996 2092 vrLen = 2006; … … 2012 2108 name = "ICeCoffEEParser.m: 190"; 2013 2109 rLen = 0; 2014 rLoc = 8351;2110 rLoc = 7917; 2015 2111 rType = 0; 2016 2112 vrLen = 2995; … … 2062 2158 name = "TestParser.m: 103"; 2063 2159 rLen = 0; 2064 rLoc = 2938;2160 rLoc = 3063; 2065 2161 rType = 0; 2066 2162 vrLen = 1995; … … 2082 2178 name = "ICeCoffEEParser.m: 190"; 2083 2179 rLen = 0; 2084 rLoc = 8351;2180 rLoc = 7917; 2085 2181 rType = 0; 2086 2182 vrLen = 2995; … … 2132 2228 name = "ICeCoffEEParser.m: 190"; 2133 2229 rLen = 0; 2134 rLoc = 8351;2230 rLoc = 7917; 2135 2231 rType = 0; 2136 2232 vrLen = 2995; … … 2152 2248 name = "TestParser.m: 103"; 2153 2249 rLen = 0; 2154 rLoc = 2938;2250 rLoc = 3063; 2155 2251 rType = 0; 2156 2252 vrLen = 1995; … … 2230 2326 name = "ICeCoffEEParser.m: 178"; 2231 2327 rLen = 0; 2232 rLoc = 7 758;2328 rLoc = 7182; 2233 2329 rType = 0; 2234 2330 vrLen = 3062; … … 2254 2350 name = "TestParser.m: 79"; 2255 2351 rLen = 0; 2256 rLoc = 2 360;2352 rLoc = 2433; 2257 2353 rType = 0; 2258 2354 vrLen = 2028; … … 2264 2360 name = "ICeCoffEEParser.m: 178"; 2265 2361 rLen = 0; 2266 rLoc = 7 758;2362 rLoc = 7182; 2267 2363 rType = 0; 2268 2364 vrLen = 3413; … … 2284 2380 name = "TestParser.m: 79"; 2285 2381 rLen = 0; 2286 rLoc = 2 360;2382 rLoc = 2433; 2287 2383 rType = 0; 2288 2384 vrLen = 1855; … … 2317 2413 name = "TestParser.m: 79"; 2318 2414 rLen = 0; 2319 rLoc = 2 360;2415 rLoc = 2433; 2320 2416 rType = 0; 2321 2417 vrLen = 1855; … … 2327 2423 name = "ICeCoffEEParser.m: 170"; 2328 2424 rLen = 0; 2329 rLoc = 7306;2425 rLoc = 6742; 2330 2426 rType = 0; 2331 2427 vrLen = 3549; 2332 2428 vrLoc = 4946; 2429 }; 2430 E154647C0D5EBA5F00C836EC /* PBXTextBookmark */ = { 2431 isa = PBXTextBookmark; 2432 fRef = E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */; 2433 name = "ICeCoffEEParser.m: 171"; 2434 rLen = 0; 2435 rLoc = 6743; 2436 rType = 0; 2437 vrLen = 3438; 2438 vrLoc = 4946; 2439 }; 2440 E154647D0D5EBA5F00C836EC /* PBXTextBookmark */ = { 2441 isa = PBXTextBookmark; 2442 fRef = E14E2B330C2CBFB200AC18D0 /* TestParser.m */; 2443 name = "TestParser.m: 84"; 2444 rLen = 0; 2445 rLoc = 2625; 2446 rType = 0; 2447 vrLen = 1855; 2448 vrLoc = 1136; 2449 }; 2450 E154647E0D5EBA5F00C836EC /* PBXTextBookmark */ = { 2451 isa = PBXTextBookmark; 2452 fRef = E14E2BC20C2CC28500AC18D0 /* urls.plist */; 2453 name = "urls.plist: 31"; 2454 rLen = 0; 2455 rLoc = 1022; 2456 rType = 0; 2457 vrLen = 1543; 2458 vrLoc = 0; 2459 }; 2460 E154647F0D5EBB7600C836EC /* PBXTextBookmark */ = { 2461 isa = PBXTextBookmark; 2462 fRef = E14E2B330C2CBFB200AC18D0 /* TestParser.m */; 2463 name = "TestParser.m: 106"; 2464 rLen = 0; 2465 rLoc = 3126; 2466 rType = 0; 2467 vrLen = 1968; 2468 vrLoc = 1046; 2469 }; 2470 E15464800D5EBB7600C836EC /* PBXTextBookmark */ = { 2471 isa = PBXTextBookmark; 2472 fRef = E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */; 2473 name = "ICeCoffEEParser.m: 152"; 2474 rLen = 0; 2475 rLoc = 5914; 2476 rType = 0; 2477 vrLen = 3438; 2478 vrLoc = 4946; 2479 }; 2480 E15464810D5EBB7600C836EC /* PBXTextBookmark */ = { 2481 isa = PBXTextBookmark; 2482 fRef = E14E2BC20C2CC28500AC18D0 /* urls.plist */; 2483 name = "urls.plist: 31"; 2484 rLen = 0; 2485 rLoc = 1022; 2486 rType = 0; 2487 vrLen = 1543; 2488 vrLoc = 0; 2489 }; 2490 E15464910D5EBC2400C836EC /* PBXTextBookmark */ = { 2491 isa = PBXTextBookmark; 2492 fRef = E14E2B330C2CBFB200AC18D0 /* TestParser.m */; 2493 name = "TestParser.m: 74"; 2494 rLen = 0; 2495 rLoc = 2319; 2496 rType = 0; 2497 vrLen = 1968; 2498 vrLoc = 1046; 2499 }; 2500 E15464920D5EBC2400C836EC /* PBXTextBookmark */ = { 2501 isa = PBXTextBookmark; 2502 fRef = E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */; 2503 name = "ICeCoffEEParser.m: 152"; 2504 rLen = 0; 2505 rLoc = 5914; 2506 rType = 0; 2507 vrLen = 3438; 2508 vrLoc = 4946; 2509 }; 2510 E15464930D5EBC2400C836EC /* PBXTextBookmark */ = { 2511 isa = PBXTextBookmark; 2512 fRef = E14E2BC20C2CC28500AC18D0 /* urls.plist */; 2513 name = "urls.plist: 31"; 2514 rLen = 0; 2515 rLoc = 1022; 2516 rType = 0; 2517 vrLen = 1543; 2518 vrLoc = 0; 2519 }; 2520 E15464960D5EBDEA00C836EC /* PBXTextBookmark */ = { 2521 isa = PBXTextBookmark; 2522 fRef = E14E2B330C2CBFB200AC18D0 /* TestParser.m */; 2523 name = "TestParser.m: 69"; 2524 rLen = 0; 2525 rLoc = 2181; 2526 rType = 0; 2527 vrLen = 2077; 2528 vrLoc = 1046; 2529 }; 2530 E15464970D5EBDEA00C836EC /* PBXTextBookmark */ = { 2531 isa = PBXTextBookmark; 2532 fRef = E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */; 2533 name = "ICeCoffEEParser.m: 132"; 2534 rLen = 0; 2535 rLoc = 4669; 2536 rType = 0; 2537 vrLen = 3495; 2538 vrLoc = 4947; 2539 }; 2540 E15464980D5EBDEA00C836EC /* PBXTextBookmark */ = { 2541 isa = PBXTextBookmark; 2542 fRef = E14E2BC20C2CC28500AC18D0 /* urls.plist */; 2543 name = "urls.plist: 31"; 2544 rLen = 0; 2545 rLoc = 1022; 2546 rType = 0; 2547 vrLen = 1543; 2548 vrLoc = 0; 2549 }; 2550 E154649A0D5EBE0800C836EC /* PBXTextBookmark */ = { 2551 isa = PBXTextBookmark; 2552 fRef = E14E2B330C2CBFB200AC18D0 /* TestParser.m */; 2553 name = "TestParser.m: 68"; 2554 rLen = 0; 2555 rLoc = 2049; 2556 rType = 0; 2557 vrLen = 2101; 2558 vrLoc = 1046; 2559 }; 2560 E154649B0D5EBE0800C836EC /* PBXTextBookmark */ = { 2561 isa = PBXTextBookmark; 2562 fRef = E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */; 2563 name = "ICeCoffEEParser.m: 132"; 2564 rLen = 0; 2565 rLoc = 4669; 2566 rType = 0; 2567 vrLen = 3495; 2568 vrLoc = 4947; 2569 }; 2570 E154649C0D5EBE0800C836EC /* PBXTextBookmark */ = { 2571 isa = PBXTextBookmark; 2572 fRef = E14E2BC20C2CC28500AC18D0 /* urls.plist */; 2573 name = "urls.plist: 31"; 2574 rLen = 0; 2575 rLoc = 1022; 2576 rType = 0; 2577 vrLen = 1543; 2578 vrLoc = 0; 2579 }; 2580 E154649F0D5EBE3B00C836EC /* PBXTextBookmark */ = { 2581 isa = PBXTextBookmark; 2582 fRef = E14E2B330C2CBFB200AC18D0 /* TestParser.m */; 2583 name = "TestParser.m: 74"; 2584 rLen = 6; 2585 rLoc = 2314; 2586 rType = 0; 2587 vrLen = 2049; 2588 vrLoc = 1046; 2589 }; 2590 E15464A00D5EBE3B00C836EC /* PBXTextBookmark */ = { 2591 isa = PBXTextBookmark; 2592 fRef = E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */; 2593 name = "ICeCoffEEParser.m: 132"; 2594 rLen = 0; 2595 rLoc = 4669; 2596 rType = 0; 2597 vrLen = 3495; 2598 vrLoc = 4947; 2599 }; 2600 E15464A10D5EBE3B00C836EC /* PBXTextBookmark */ = { 2601 isa = PBXTextBookmark; 2602 fRef = E14E2BC20C2CC28500AC18D0 /* urls.plist */; 2603 name = "urls.plist: 31"; 2604 rLen = 0; 2605 rLoc = 1022; 2606 rType = 0; 2607 vrLen = 1543; 2608 vrLoc = 0; 2609 }; 2610 E15464A20D5EBE5300C836EC /* PBXTextBookmark */ = { 2611 isa = PBXTextBookmark; 2612 fRef = E14E2B330C2CBFB200AC18D0 /* TestParser.m */; 2613 name = "TestParser.m: 102"; 2614 rLen = 0; 2615 rLoc = 3049; 2616 rType = 0; 2617 vrLen = 2048; 2618 vrLoc = 1046; 2619 }; 2620 E15464A30D5EBE5300C836EC /* PBXTextBookmark */ = { 2621 isa = PBXTextBookmark; 2622 fRef = E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */; 2623 name = "ICeCoffEEParser.m: 132"; 2624 rLen = 0; 2625 rLoc = 4669; 2626 rType = 0; 2627 vrLen = 3495; 2628 vrLoc = 4947; 2629 }; 2630 E15464A40D5EBE5300C836EC /* PBXTextBookmark */ = { 2631 isa = PBXTextBookmark; 2632 fRef = E14E2BC20C2CC28500AC18D0 /* urls.plist */; 2633 name = "urls.plist: 31"; 2634 rLen = 0; 2635 rLoc = 1022; 2636 rType = 0; 2637 vrLen = 1543; 2638 vrLoc = 0; 2639 }; 2640 E15464A60D5EBE6900C836EC /* PBXTextBookmark */ = { 2641 isa = PBXTextBookmark; 2642 fRef = E14E2B330C2CBFB200AC18D0 /* TestParser.m */; 2643 name = "TestParser.m: 102"; 2644 rLen = 0; 2645 rLoc = 3061; 2646 rType = 0; 2647 vrLen = 2045; 2648 vrLoc = 1046; 2649 }; 2650 E15464A70D5EBE6900C836EC /* PBXTextBookmark */ = { 2651 isa = PBXTextBookmark; 2652 fRef = E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */; 2653 name = "ICeCoffEEParser.m: 132"; 2654 rLen = 0; 2655 rLoc = 4669; 2656 rType = 0; 2657 vrLen = 3495; 2658 vrLoc = 4947; 2659 }; 2660 E15464A80D5EBE6900C836EC /* PBXTextBookmark */ = { 2661 isa = PBXTextBookmark; 2662 fRef = E14E2BC20C2CC28500AC18D0 /* urls.plist */; 2663 name = "urls.plist: 31"; 2664 rLen = 0; 2665 rLoc = 1022; 2666 rType = 0; 2667 vrLen = 1543; 2668 vrLoc = 0; 2669 }; 2670 E15464AB0D5EBFEA00C836EC /* PBXTextBookmark */ = { 2671 isa = PBXTextBookmark; 2672 fRef = E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */; 2673 name = "ICeCoffEEParser.m: 193"; 2674 rLen = 0; 2675 rLoc = 8189; 2676 rType = 0; 2677 vrLen = 3502; 2678 vrLoc = 4947; 2679 }; 2680 E15464AC0D5EBFEA00C836EC /* PBXTextBookmark */ = { 2681 isa = PBXTextBookmark; 2682 fRef = E14E2BC20C2CC28500AC18D0 /* urls.plist */; 2683 name = "urls.plist: 31"; 2684 rLen = 0; 2685 rLoc = 1022; 2686 rType = 0; 2687 vrLen = 1543; 2688 vrLoc = 0; 2689 }; 2690 E15464AD0D5EBFEA00C836EC /* PBXTextBookmark */ = { 2691 isa = PBXTextBookmark; 2692 fRef = E14E2B330C2CBFB200AC18D0 /* TestParser.m */; 2693 name = "TestParser.m: 102"; 2694 rLen = 0; 2695 rLoc = 3061; 2696 rType = 0; 2697 vrLen = 2045; 2698 vrLoc = 1046; 2699 }; 2700 E15464AF0D5EC16300C836EC /* PBXTextBookmark */ = { 2701 isa = PBXTextBookmark; 2702 fRef = E14E2B330C2CBFB200AC18D0 /* TestParser.m */; 2703 name = "TestParser.m: 102"; 2704 rLen = 0; 2705 rLoc = 3061; 2706 rType = 0; 2707 vrLen = 2045; 2708 vrLoc = 1046; 2709 }; 2710 E15464B00D5EC16300C836EC /* PBXTextBookmark */ = { 2711 isa = PBXTextBookmark; 2712 fRef = E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */; 2713 name = "ICeCoffEEParser.m: 193"; 2714 rLen = 0; 2715 rLoc = 8189; 2716 rType = 0; 2717 vrLen = 3496; 2718 vrLoc = 4947; 2719 }; 2720 E15464B10D5EC16300C836EC /* PBXTextBookmark */ = { 2721 isa = PBXTextBookmark; 2722 fRef = E14E2BC20C2CC28500AC18D0 /* urls.plist */; 2723 name = "urls.plist: 31"; 2724 rLen = 0; 2725 rLoc = 1022; 2726 rType = 0; 2727 vrLen = 1543; 2728 vrLoc = 0; 2729 }; 2730 E15464B20D5EC19200C836EC /* PBXTextBookmark */ = { 2731 isa = PBXTextBookmark; 2732 fRef = E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */; 2733 name = "ICeCoffEEParser.m: 190"; 2734 rLen = 0; 2735 rLoc = 7917; 2736 rType = 0; 2737 vrLen = 3496; 2738 vrLoc = 4947; 2739 }; 2740 E15464B30D5EC19200C836EC /* PBXTextBookmark */ = { 2741 isa = PBXTextBookmark; 2742 fRef = E14E2B330C2CBFB200AC18D0 /* TestParser.m */; 2743 name = "TestParser.m: 102"; 2744 rLen = 0; 2745 rLoc = 3061; 2746 rType = 0; 2747 vrLen = 2045; 2748 vrLoc = 1046; 2749 }; 2750 E15464B40D5EC19200C836EC /* PBXTextBookmark */ = { 2751 isa = PBXTextBookmark; 2752 fRef = E14E2BC20C2CC28500AC18D0 /* urls.plist */; 2753 name = "urls.plist: 31"; 2754 rLen = 0; 2755 rLoc = 1022; 2756 rType = 0; 2757 vrLen = 1543; 2758 vrLoc = 0; 2759 }; 2760 E15464B60D5EC19700C836EC /* PBXTextBookmark */ = { 2761 isa = PBXTextBookmark; 2762 fRef = E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */; 2763 name = "ICeCoffEEParser.m: 190"; 2764 rLen = 0; 2765 rLoc = 7917; 2766 rType = 0; 2767 vrLen = 3496; 2768 vrLoc = 4947; 2769 }; 2770 E15464B70D5EC19700C836EC /* PBXTextBookmark */ = { 2771 isa = PBXTextBookmark; 2772 fRef = E14E2B330C2CBFB200AC18D0 /* TestParser.m */; 2773 name = "TestParser.m: 102"; 2774 rLen = 0; 2775 rLoc = 3061; 2776 rType = 0; 2777 vrLen = 2045; 2778 vrLoc = 1046; 2779 }; 2780 E15464B80D5EC19700C836EC /* PBXTextBookmark */ = { 2781 isa = PBXTextBookmark; 2782 fRef = E14E2BC20C2CC28500AC18D0 /* urls.plist */; 2783 name = "urls.plist: 31"; 2784 rLen = 0; 2785 rLoc = 1022; 2786 rType = 0; 2787 vrLen = 1543; 2788 vrLoc = 0; 2789 }; 2790 E15464BA0D5EC1B900C836EC /* PBXTextBookmark */ = { 2791 isa = PBXTextBookmark; 2792 fRef = E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */; 2793 name = "ICeCoffEEParser.m: 190"; 2794 rLen = 0; 2795 rLoc = 7917; 2796 rType = 0; 2797 vrLen = 3496; 2798 vrLoc = 4947; 2799 }; 2800 E15464BB0D5EC1B900C836EC /* PBXTextBookmark */ = { 2801 isa = PBXTextBookmark; 2802 fRef = E14E2B330C2CBFB200AC18D0 /* TestParser.m */; 2803 name = "TestParser.m: 102"; 2804 rLen = 0; 2805 rLoc = 3061; 2806 rType = 0; 2807 vrLen = 2045; 2808 vrLoc = 1046; 2809 }; 2810 E15464BC0D5EC1B900C836EC /* PBXTextBookmark */ = { 2811 isa = PBXTextBookmark; 2812 fRef = E14E2BC20C2CC28500AC18D0 /* urls.plist */; 2813 name = "urls.plist: 31"; 2814 rLen = 0; 2815 rLoc = 1022; 2816 rType = 0; 2817 vrLen = 1543; 2818 vrLoc = 0; 2819 }; 2820 E15464BD0D5EC22C00C836EC /* PBXTextBookmark */ = { 2821 isa = PBXTextBookmark; 2822 fRef = E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */; 2823 name = "ICeCoffEEParser.m: 193"; 2824 rLen = 0; 2825 rLoc = 7917; 2826 rType = 0; 2827 vrLen = 3539; 2828 vrLoc = 4947; 2829 }; 2830 E15464BE0D5EC22C00C836EC /* PBXTextBookmark */ = { 2831 isa = PBXTextBookmark; 2832 fRef = E14E2B330C2CBFB200AC18D0 /* TestParser.m */; 2833 name = "TestParser.m: 102"; 2834 rLen = 0; 2835 rLoc = 3061; 2836 rType = 0; 2837 vrLen = 2045; 2838 vrLoc = 1046; 2839 }; 2840 E15464BF0D5EC22C00C836EC /* PBXTextBookmark */ = { 2841 isa = PBXTextBookmark; 2842 fRef = E14E2BC20C2CC28500AC18D0 /* urls.plist */; 2843 name = "urls.plist: 31"; 2844 rLen = 0; 2845 rLoc = 1022; 2846 rType = 0; 2847 vrLen = 1543; 2848 vrLoc = 0; 2849 }; 2850 E15464C20D5EC23900C836EC /* PBXTextBookmark */ = { 2851 isa = PBXTextBookmark; 2852 fRef = E14E2B330C2CBFB200AC18D0 /* TestParser.m */; 2853 name = "TestParser.m: 102"; 2854 rLen = 0; 2855 rLoc = 3061; 2856 rType = 0; 2857 vrLen = 2045; 2858 vrLoc = 1046; 2859 }; 2860 E15464C30D5EC23900C836EC /* PBXTextBookmark */ = { 2861 isa = PBXTextBookmark; 2862 fRef = E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */; 2863 name = "ICeCoffEEParser.m: 191"; 2864 rLen = 0; 2865 rLoc = 7917; 2866 rType = 0; 2867 vrLen = 3524; 2868 vrLoc = 4947; 2869 }; 2870 E15464C40D5EC23900C836EC /* PBXTextBookmark */ = { 2871 isa = PBXTextBookmark; 2872 fRef = E14E2BC20C2CC28500AC18D0 /* urls.plist */; 2873 name = "urls.plist: 31"; 2874 rLen = 0; 2875 rLoc = 1022; 2876 rType = 0; 2877 vrLen = 1543; 2878 vrLoc = 0; 2879 }; 2880 E15464C60D5EC23D00C836EC /* PBXTextBookmark */ = { 2881 isa = PBXTextBookmark; 2882 fRef = E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */; 2883 name = "ICeCoffEEParser.m: 191"; 2884 rLen = 0; 2885 rLoc = 7917; 2886 rType = 0; 2887 vrLen = 3524; 2888 vrLoc = 4947; 2889 }; 2890 E15464C70D5EC23D00C836EC /* PBXTextBookmark */ = { 2891 isa = PBXTextBookmark; 2892 fRef = E14E2B330C2CBFB200AC18D0 /* TestParser.m */; 2893 name = "TestParser.m: 102"; 2894 rLen = 0; 2895 rLoc = 3061; 2896 rType = 0; 2897 vrLen = 2045; 2898 vrLoc = 1046; 2899 }; 2900 E15464C80D5EC23D00C836EC /* PBXTextBookmark */ = { 2901 isa = PBXTextBookmark; 2902 fRef = E14E2BC20C2CC28500AC18D0 /* urls.plist */; 2903 name = "urls.plist: 31"; 2904 rLen = 0; 2905 rLoc = 1022; 2906 rType = 0; 2907 vrLen = 1543; 2908 vrLoc = 0; 2909 }; 2910 E15464CA0D5EC24F00C836EC /* PBXTextBookmark */ = { 2911 isa = PBXTextBookmark; 2912 fRef = E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */; 2913 name = "ICeCoffEEParser.m: 190"; 2914 rLen = 0; 2915 rLoc = 7916; 2916 rType = 0; 2917 vrLen = 3582; 2918 vrLoc = 4947; 2919 }; 2920 E15464CB0D5EC24F00C836EC /* PBXTextBookmark */ = { 2921 isa = PBXTextBookmark; 2922 fRef = E14E2B330C2CBFB200AC18D0 /* TestParser.m */; 2923 name = "TestParser.m: 102"; 2924 rLen = 0; 2925 rLoc = 3061; 2926 rType = 0; 2927 vrLen = 2045; 2928 vrLoc = 1046; 2929 }; 2930 E15464CC0D5EC24F00C836EC /* PBXTextBookmark */ = { 2931 isa = PBXTextBookmark; 2932 fRef = E14E2BC20C2CC28500AC18D0 /* urls.plist */; 2933 name = "urls.plist: 31"; 2934 rLen = 0; 2935 rLoc = 1022; 2936 rType = 0; 2937 vrLen = 1543; 2938 vrLoc = 0; 2939 }; 2940 E15464CD0D5EC25F00C836EC /* PBXTextBookmark */ = { 2941 isa = PBXTextBookmark; 2942 fRef = E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */; 2943 name = "ICeCoffEEParser.m: 191"; 2944 rLen = 0; 2945 rLoc = 7917; 2946 rType = 0; 2947 vrLen = 3524; 2948 vrLoc = 4947; 2949 }; 2950 E15464CE0D5EC25F00C836EC /* PBXTextBookmark */ = { 2951 isa = PBXTextBookmark; 2952 fRef = E14E2B330C2CBFB200AC18D0 /* TestParser.m */; 2953 name = "TestParser.m: 102"; 2954 rLen = 0; 2955 rLoc = 3061; 2956 rType = 0; 2957 vrLen = 2045; 2958 vrLoc = 1046; 2959 }; 2960 E15464CF0D5EC25F00C836EC /* PBXTextBookmark */ = { 2961 isa = PBXTextBookmark; 2962 fRef = E14E2BC20C2CC28500AC18D0 /* urls.plist */; 2963 name = "urls.plist: 31"; 2964 rLen = 0; 2965 rLoc = 1022; 2966 rType = 0; 2967 vrLen = 1543; 2968 vrLoc = 0; 2969 }; 2970 E15464D20D5EC2B500C836EC /* PBXTextBookmark */ = { 2971 isa = PBXTextBookmark; 2972 fRef = E14E2B330C2CBFB200AC18D0 /* TestParser.m */; 2973 name = "TestParser.m: 79"; 2974 rLen = 0; 2975 rLoc = 2320; 2976 rType = 0; 2977 vrLen = 2045; 2978 vrLoc = 1046; 2979 }; 2980 E15464D30D5EC2B500C836EC /* PBXTextBookmark */ = { 2981 isa = PBXTextBookmark; 2982 fRef = E14E2BC20C2CC28500AC18D0 /* urls.plist */; 2983 name = "urls.plist: 31"; 2984 rLen = 0; 2985 rLoc = 1022; 2986 rType = 0; 2987 vrLen = 1543; 2988 vrLoc = 0; 2989 }; 2990 E15464D40D5EC2B500C836EC /* PBXTextBookmark */ = { 2991 isa = PBXTextBookmark; 2992 fRef = E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */; 2993 name = "ICeCoffEEParser.m: 191"; 2994 rLen = 0; 2995 rLoc = 7917; 2996 rType = 0; 2997 vrLen = 3524; 2998 vrLoc = 4947; 2999 }; 3000 E15464D70D5EC3E400C836EC /* PBXTextBookmark */ = { 3001 isa = PBXTextBookmark; 3002 fRef = E1887ECD0C6F975A00F6CE00 /* NSString.h */; 3003 rLen = 1; 3004 rLoc = 62; 3005 rType = 1; 3006 }; 3007 E15464D80D5EC3E400C836EC /* PBXTextBookmark */ = { 3008 isa = PBXTextBookmark; 3009 fRef = E1887ECD0C6F975A00F6CE00 /* NSString.h */; 3010 name = "NSString.h: 89"; 3011 rLen = 0; 3012 rLoc = 3515; 3013 rType = 0; 3014 vrLen = 3430; 3015 vrLoc = 2117; 3016 }; 3017 E15464D90D5EC3E400C836EC /* PBXTextBookmark */ = { 3018 isa = PBXTextBookmark; 3019 fRef = E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */; 3020 name = "ICeCoffEEParser.m: 189"; 3021 rLen = 0; 3022 rLoc = 7695; 3023 rType = 0; 3024 vrLen = 3366; 3025 vrLoc = 5395; 3026 }; 3027 E15464DA0D5EC3E400C836EC /* PBXTextBookmark */ = { 3028 isa = PBXTextBookmark; 3029 fRef = E14E2B330C2CBFB200AC18D0 /* TestParser.m */; 3030 name = "TestParser.m: 83"; 3031 rLen = 0; 3032 rLoc = 2619; 3033 rType = 0; 3034 vrLen = 2045; 3035 vrLoc = 1046; 3036 }; 3037 E15464DB0D5EC3E400C836EC /* PBXTextBookmark */ = { 3038 isa = PBXTextBookmark; 3039 fRef = E14E2BC20C2CC28500AC18D0 /* urls.plist */; 3040 name = "urls.plist: 31"; 3041 rLen = 0; 3042 rLoc = 1022; 3043 rType = 0; 3044 vrLen = 1543; 3045 vrLoc = 0; 3046 }; 3047 E15464DE0D5EC40400C836EC /* PBXTextBookmark */ = { 3048 isa = PBXTextBookmark; 3049 fRef = E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */; 3050 name = "ICeCoffEEParser.m: 188"; 3051 rLen = 0; 3052 rLoc = 7643; 3053 rType = 0; 3054 vrLen = 3296; 3055 vrLoc = 5497; 3056 }; 3057 E15464DF0D5EC40400C836EC /* PBXTextBookmark */ = { 3058 isa = PBXTextBookmark; 3059 fRef = E14E2B330C2CBFB200AC18D0 /* TestParser.m */; 3060 name = "TestParser.m: 83"; 3061 rLen = 0; 3062 rLoc = 2619; 3063 rType = 0; 3064 vrLen = 2045; 3065 vrLoc = 1046; 3066 }; 3067 E15464E00D5EC40400C836EC /* PBXTextBookmark */ = { 3068 isa = PBXTextBookmark; 3069 fRef = E14E2BC20C2CC28500AC18D0 /* urls.plist */; 3070 name = "urls.plist: 31"; 3071 rLen = 0; 3072 rLoc = 1022; 3073 rType = 0; 3074 vrLen = 1546; 3075 vrLoc = 2; 3076 }; 3077 E15464E20D5EC43000C836EC /* PBXTextBookmark */ = { 3078 isa = PBXTextBookmark; 3079 fRef = E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */; 3080 name = "ICeCoffEEParser.m: 188"; 3081 rLen = 0; 3082 rLoc = 7643; 3083 rType = 0; 3084 vrLen = 3296; 3085 vrLoc = 5497; 3086 }; 3087 E15464E30D5EC43000C836EC /* PBXTextBookmark */ = { 3088 isa = PBXTextBookmark; 3089 fRef = E14E2BC20C2CC28500AC18D0 /* urls.plist */; 3090 name = "urls.plist: 6"; 3091 rLen = 0; 3092 rLoc = 2; 3093 rType = 0; 3094 vrLen = 1783; 3095 vrLoc = 0; 3096 }; 3097 E15464E40D5EC43000C836EC /* PBXTextBookmark */ = { 3098 isa = PBXTextBookmark; 3099 fRef = E14E2B330C2CBFB200AC18D0 /* TestParser.m */; 3100 name = "TestParser.m: 83"; 3101 rLen = 0; 3102 rLoc = 2619; 3103 rType = 0; 3104 vrLen = 2045; 3105 vrLoc = 1046; 3106 }; 3107 E15464E80D5EC56400C836EC /* PBXTextBookmark */ = { 3108 isa = PBXTextBookmark; 3109 fRef = E14E2BC20C2CC28500AC18D0 /* urls.plist */; 3110 name = "urls.plist: 71"; 3111 rLen = 0; 3112 rLoc = 1574; 3113 rType = 0; 3114 vrLen = 1505; 3115 vrLoc = 372; 3116 }; 3117 E15464E90D5EC56400C836EC /* PBXTextBookmark */ = { 3118 isa = PBXTextBookmark; 3119 fRef = E14E2B330C2CBFB200AC18D0 /* TestParser.m */; 3120 name = "TestParser.m: 83"; 3121 rLen = 0; 3122 rLoc = 2619; 3123 rType = 0; 3124 vrLen = 2139; 3125 vrLoc = 0; 3126 }; 3127 E15464EA0D5EC56400C836EC /* PBXTextBookmark */ = { 3128 isa = PBXTextBookmark; 3129 fRef = E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */; 3130 name = "ICeCoffEEParser.m: 188"; 3131 rLen = 0; 3132 rLoc = 7643; 3133 rType = 0; 3134 vrLen = 3277; 3135 vrLoc = 5497; 3136 }; 3137 E15464EB0D5EC56400C836EC /* PBXTextBookmark */ = { 3138 isa = PBXTextBookmark; 3139 fRef = E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */; 3140 name = "ICeCoffEEParser.m: 21"; 3141 rLen = 0; 3142 rLoc = 195; 3143 rType = 0; 3144 vrLen = 2813; 3145 vrLoc = 0; 3146 }; 3147 E15464F00D5EC77900C836EC /* PBXBookmark */ = { 3148 isa = PBXBookmark; 3149 fRef = E14343B303DB4CF200050002 /* ICeCoffEE.h */; 3150 }; 3151 E15464F40D5EC7A300C836EC /* PBXTextBookmark */ = { 3152 isa = PBXTextBookmark; 3153 fRef = E14343B403DB4CF200050002 /* ICeCoffEE.m */; 3154 name = "ICeCoffEE.m: 65"; 3155 rLen = 116; 3156 rLoc = 2742; 3157 rType = 0; 3158 vrLen = 2137; 3159 vrLoc = 1653; 3160 }; 3161 E15464F50D5EC7A300C836EC /* PBXTextBookmark */ = { 3162 isa = PBXTextBookmark; 3163 fRef = E14343B403DB4CF200050002 /* ICeCoffEE.m */; 3164 name = "ICeCoffEE.m: 69"; 3165 rLen = 0; 3166 rLoc = 2726; 3167 rType = 0; 3168 vrLen = 2262; 3169 vrLoc = 1653; 3170 }; 3171 E15464F60D5EC7A300C836EC /* PBXTextBookmark */ = { 3172 isa = PBXTextBookmark; 3173 fRef = E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */; 3174 rLen = 1; 3175 rLoc = 66; 3176 rType = 1; 3177 }; 3178 E15464F70D5EC7A300C836EC /* PBXTextBookmark */ = { 3179 isa = PBXTextBookmark; 3180 fRef = E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */; 3181 name = "ICeCoffEEParser.m: 19"; 3182 rLen = 0; 3183 rLoc = 195; 3184 rType = 0; 3185 vrLen = 2732; 3186 vrLoc = 0; 3187 }; 3188 E15464FA0D5EC7A300C836EC /* PBXTextBookmark */ = { 3189 isa = PBXTextBookmark; 3190 fRef = E14343B303DB4CF200050002 /* ICeCoffEE.h */; 3191 name = "ICeCoffEE.h: 29"; 3192 rLen = 0; 3193 rLoc = 1327; 3194 rType = 0; 3195 vrLen = 1871; 3196 vrLoc = 0; 3197 }; 3198 E15464FB0D5EC7A300C836EC /* PBXTextBookmark */ = { 3199 isa = PBXTextBookmark; 3200 fRef = E14E2B330C2CBFB200AC18D0 /* TestParser.m */; 3201 name = "TestParser.m: 83"; 3202 rLen = 0; 3203 rLoc = 2619; 3204 rType = 0; 3205 vrLen = 1885; 3206 vrLoc = 1248; 3207 }; 3208 E15464FC0D5EC7A300C836EC /* PBXTextBookmark */ = { 3209 isa = PBXTextBookmark; 3210 fRef = E14E2BC20C2CC28500AC18D0 /* urls.plist */; 3211 name = "urls.plist: 70"; 3212 rLen = 0; 3213 rLoc = 1535; 3214 rType = 0; 3215 vrLen = 1507; 3216 vrLoc = 372; 3217 }; 3218 E15465010D5EC80700C836EC /* PBXTextBookmark */ = { 3219 isa = PBXTextBookmark; 3220 fRef = E14E2B330C2CBFB200AC18D0 /* TestParser.m */; 3221 name = "TestParser.m: 83"; 3222 rLen = 0; 3223 rLoc = 2619; 3224 rType = 0; 3225 vrLen = 1885; 3226 vrLoc = 1248; 3227 }; 3228 E15465020D5EC80700C836EC /* PBXTextBookmark */ = { 3229 isa = PBXTextBookmark; 3230 fRef = E14E2B330C2CBFB200AC18D0 /* TestParser.m */; 3231 name = "TestParser.m: 13"; 3232 rLen = 0; 3233 rLoc = 222; 3234 rType = 0; 3235 vrLen = 2049; 3236 vrLoc = 0; 3237 }; 3238 E15465030D5EC80700C836EC /* PBXTextBookmark */ = { 3239 isa = PBXTextBookmark; 3240 fRef = E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */; 3241 name = "ICeCoffEEParser.m: 12"; 3242 rLen = 0; 3243 rLoc = 195; 3244 rType = 0; 3245 vrLen = 2760; 3246 vrLoc = 0; 3247 }; 3248 E15465040D5EC80700C836EC /* PBXTextBookmark */ = { 3249 isa = PBXTextBookmark; 3250 fRef = E14343B403DB4CF200050002 /* ICeCoffEE.m */; 3251 name = "ICeCoffEE.m: 72"; 3252 rLen = 38; 3253 rLoc = 2466; 3254 rType = 0; 3255 vrLen = 2284; 3256 vrLoc = 1567; 3257 }; 3258 E15465050D5EC80700C836EC /* PBXTextBookmark */ = { 3259 isa = PBXTextBookmark; 3260 fRef = E14343B303DB4CF200050002 /* ICeCoffEE.h */; 3261 name = "ICeCoffEE.h: 29"; 3262 rLen = 0; 3263 rLoc = 1327; 3264 rType = 0; 3265 vrLen = 1871; 3266 vrLoc = 0; 3267 }; 3268 E15465060D5EC80700C836EC /* PBXTextBookmark */ = { 3269 isa = PBXTextBookmark; 3270 fRef = E14E2BC20C2CC28500AC18D0 /* urls.plist */; 3271 name = "urls.plist: 70"; 3272 rLen = 0; 3273 rLoc = 1535; 3274 rType = 0; 3275 vrLen = 1507; 3276 vrLoc = 372; 3277 }; 3278 E15465090D5EC8F500C836EC /* PBXTextBookmark */ = { 3279 isa = PBXTextBookmark; 3280 fRef = E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */; 3281 name = "ICeCoffEEParser.m: 95"; 3282 rLen = 0; 3283 rLoc = 3893; 3284 rType = 0; 3285 vrLen = 2850; 3286 vrLoc = 1920; 3287 }; 3288 E154650A0D5EC8F500C836EC /* PBXTextBookmark */ = { 3289 isa = PBXTextBookmark; 3290 fRef = E14343B403DB4CF200050002 /* ICeCoffEE.m */; 3291 name = "ICeCoffEE.m: 72"; 3292 rLen = 38; 3293 rLoc = 2466; 3294 rType = 0; 3295 vrLen = 2284; 3296 vrLoc = 1567; 3297 }; 3298 E154650B0D5EC8F500C836EC /* PBXTextBookmark */ = { 3299 isa = PBXTextBookmark; 3300 fRef = E14E2BC20C2CC28500AC18D0 /* urls.plist */; 3301 name = "urls.plist: 2"; 3302 rLen = 0; 3303 rLoc = 2; 3304 rType = 0; 3305 vrLen = 1603; 3306 vrLoc = 0; 3307 }; 3308 E154650C0D5EC8F500C836EC /* PBXTextBookmark */ = { 3309 isa = PBXTextBookmark; 3310 fRef = E14343B303DB4CF200050002 /* ICeCoffEE.h */; 3311 name = "ICeCoffEE.h: 29"; 3312 rLen = 0; 3313 rLoc = 1327; 3314 rType = 0; 3315 vrLen = 1871; 3316 vrLoc = 0; 3317 }; 3318 E154650D0D5EC8F500C836EC /* PBXTextBookmark */ = { 3319 isa = PBXTextBookmark; 3320 fRef = E14E2B330C2CBFB200AC18D0 /* TestParser.m */; 3321 name = "TestParser.m: 13"; 3322 rLen = 0; 3323 rLoc = 222; 3324 rType = 0; 3325 vrLen = 2049; 3326 vrLoc = 0; 3327 }; 3328 E15465140D5ECA7400C836EC /* PBXTextBookmark */ = { 3329 isa = PBXTextBookmark; 3330 fRef = E14E2B330C2CBFB200AC18D0 /* TestParser.m */; 3331 name = "TestParser.m: 13"; 3332 rLen = 0; 3333 rLoc = 222; 3334 rType = 0; 3335 vrLen = 2049; 3336 vrLoc = 0; 3337 }; 3338 E15465150D5ECA7400C836EC /* PBXTextBookmark */ = { 3339 isa = PBXTextBookmark; 3340 fRef = E14E2BC20C2CC28500AC18D0 /* urls.plist */; 3341 name = "urls.plist: 59"; 3342 rLen = 0; 3343 rLoc = 1441; 3344 rType = 0; 3345 vrLen = 1603; 3346 vrLoc = 0; 3347 }; 3348 E15465160D5ECA7400C836EC /* PBXTextBookmark */ = { 3349 isa = PBXTextBookmark; 3350 fRef = E14E2AB40C2B774800AC18D0 /* ICeCoffEEParser.m */; 3351 name = "ICeCoffEEParser.m: 95"; 3352 rLen = 0; 3353 rLoc = 3893; 3354 rType = 0; 3355 vrLen = 2850; 3356 vrLoc = 1920; 3357 }; 3358 E15465170D5ECA7400C836EC /* PBXTextBookmark */ = { 3359 isa = PBXTextBookmark; 3360 fRef = E14343B303DB4CF200050002 /* ICeCoffEE.h */; 3361 name = "ICeCoffEE.h: 29"; 3362 rLen = 0; 3363 rLoc = 1327; 3364 rType = 0; 3365 vrLen = 1871; 3366 vrLoc = 0; 2333 3367 }; 2334 3368 E15E6A7404188D6900050002 /* システム環境設定 */ = { … … 2522 3556 name = ICCF_URLEnclosingRange; 2523 3557 rLen = 22; 2524 rLoc = 8551;3558 rLoc = 9031; 2525 3559 rType = 0; 2526 3560 vrLen = 2918; … … 2532 3566 name = "TestParser.m: 66"; 2533 3567 rLen = 0; 2534 rLoc = 2 261;3568 rLoc = 2314; 2535 3569 rType = 0; 2536 3570 vrLen = 2391; … … 2542 3576 name = ICStop; 2543 3577 rLen = 6; 2544 rLoc = 2 630;3578 rLoc = 2164; 2545 3579 rType = 0; 2546 3580 vrLen = 2643; … … 2600 3634 path = /Developer/SDKs/MacOSX10.4u.sdk/System/Library/Frameworks/Foundation.framework/Versions/C/Headers/NSString.h; 2601 3635 sourceTree = "<absolute>"; 3636 uiCtxt = { 3637 sepNavIntBoundsRect = "{{0, 0}, {1105, 3729}}"; 3638 sepNavSelRange = "{3515, 0}"; 3639 sepNavVisRange = "{2117, 3430}"; 3640 sepNavWindowFrame = "{{704, 207}, {1164, 886}}"; 3641 }; 2602 3642 }; 2603 3643 E1887ECE0C6F975A00F6CE00 /* PBXTextBookmark */ = { … … 2713 3753 name = "TestParser.m: 66"; 2714 3754 rLen = 0; 2715 rLoc = 2 261;3755 rLoc = 2314; 2716 3756 rType = 0; 2717 3757 vrLen = 2391; … … 2723 3763 name = "ICeCoffEE.m: 230"; 2724 3764 rLen = 0; 2725 rLoc = 9 106;3765 rLoc = 9586; 2726 3766 rType = 0; 2727 3767 vrLen = 2918; … … 2733 3773 name = ICStop; 2734 3774 rLen = 6; 2735 rLoc = 2 630;3775 rLoc = 2164; 2736 3776 rType = 0; 2737 3777 vrLen = 2643; … … 3108 4148 E1CBC99803E7602700050002 /* English */ = { 3109 4149 uiCtxt = { 3110 sepNavIntBoundsRect = "{{0, 0}, {748, 1322}}"; 3111 sepNavSelRange = "{311, 0}"; 4150 sepNavIntBoundsRect = "{{0, 0}, {728, 1248}}"; 4151 sepNavSelRange = "{653, 0}"; 4152 sepNavVisRange = "{0, 1698}"; 3112 4153 sepNavVisRect = "{{0, 0}, {748, 605}}"; 3113 4154 sepNavWindowFrame = "{{475, 103}, {787, 643}}"; -
trunk/ICeCoffEE/ICeCoffEE/ICeCoffEE.xcodeproj/project.pbxproj
r373 r375 40 40 E14E2C3F0C2CCBEF00AC18D0 /* ICeCoffEEShared.m in Sources */ = {isa = PBXBuildFile; fileRef = E182C8F603DE817F00050002 /* ICeCoffEEShared.m */; }; 41 41 E14E2D540C2CD1A000AC18D0 /* ApplicationServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = E14E2D3E0C2CD1A000AC18D0 /* ApplicationServices.framework */; }; 42 E154648B0D5EBC0200C836EC /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F574113202F45276011A08DB /* Cocoa.framework */; }; 42 43 E170DFDF0835D6F400B484AC /* ICeCoffEETrigger.h in Headers */ = {isa = PBXBuildFile; fileRef = E170DFDD0835D6F400B484AC /* ICeCoffEETrigger.h */; }; 43 44 E170DFE00835D6F400B484AC /* ICeCoffEETrigger.m in Sources */ = {isa = PBXBuildFile; fileRef = E170DFDE0835D6F400B484AC /* ICeCoffEETrigger.m */; }; … … 273 274 buildActionMask = 2147483647; 274 275 files = ( 276 E154648B0D5EBC0200C836EC /* Cocoa.framework in Frameworks */, 275 277 E14E2D540C2CD1A000AC18D0 /* ApplicationServices.framework in Frameworks */, 276 278 ); … … 877 879 COPY_PHASE_STRIP = NO; 878 880 GCC_DYNAMIC_NO_PIC = NO; 879 GCC_ENABLE_FIX_AND_CONTINUE = YES;880 881 GCC_GENERATE_DEBUGGING_SYMBOLS = YES; 881 882 GCC_MODEL_TUNING = G5; … … 884 885 GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h"; 885 886 INSTALL_PATH = "$(HOME)/bin"; 886 OTHER_LDFLAGS = (887 "-framework",888 Foundation,889 "-framework",890 AppKit,891 );892 PREBINDING = NO;893 887 PRODUCT_NAME = TestParser; 894 ZERO_LINK = YES;895 888 }; 896 889 name = Development; … … 900 893 buildSettings = { 901 894 COPY_PHASE_STRIP = YES; 902 GCC_ENABLE_FIX_AND_CONTINUE = NO;903 895 GCC_GENERATE_DEBUGGING_SYMBOLS = NO; 904 896 GCC_MODEL_TUNING = G5; … … 906 898 GCC_PREFIX_HEADER = "$(SYSTEM_LIBRARY_DIR)/Frameworks/AppKit.framework/Headers/AppKit.h"; 907 899 INSTALL_PATH = "$(HOME)/bin"; 908 OTHER_LDFLAGS = (909 "-framework",910 Foundation,911 "-framework",912 AppKit,913 );914 PREBINDING = NO;915 900 PRODUCT_NAME = TestParser; 916 ZERO_LINK = NO;917 901 }; 918 902 name = Deployment; … … 945 929 COPY_PHASE_STRIP = YES; 946 930 FRAMEWORK_SEARCH_PATHS = /Library/Frameworks; 947 GCC_C_LANGUAGE_STANDARD = c99;948 931 GCC_ENABLE_FIX_AND_CONTINUE = NO; 949 932 INFOPLIST_FILE = "Info-APEManagerPrefPane.plist"; … … 969 952 ); 970 953 GCC_DYNAMIC_NO_PIC = NO; 971 GCC_ENABLE_FIX_AND_CONTINUE = NO;972 954 GCC_GENERATE_DEBUGGING_SYMBOLS = YES; 973 955 GCC_OPTIMIZATION_LEVEL = 0; … … 981 963 ); 982 964 WRAPPER_EXTENSION = ape; 983 ZERO_LINK = NO;984 965 }; 985 966 name = Development; … … 994 975 "$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks", 995 976 ); 996 GCC_C_LANGUAGE_STANDARD = c99;997 GCC_ENABLE_FIX_AND_CONTINUE = NO;998 977 INFOPLIST_FILE = "Info-APE Module.plist"; 999 978 PRODUCT_NAME = ICeCoffEE; … … 1004 983 ); 1005 984 WRAPPER_EXTENSION = ape; 1006 ZERO_LINK = NO;1007 985 }; 1008 986 name = Deployment; … … 1013 991 COPY_PHASE_STRIP = NO; 1014 992 GCC_DYNAMIC_NO_PIC = NO; 1015 GCC_ENABLE_FIX_AND_CONTINUE = YES;1016 993 GCC_GENERATE_DEBUGGING_SYMBOLS = YES; 1017 994 GCC_OPTIMIZATION_LEVEL = 0; … … 1019 996 GCC_PREFIX_HEADER = ICFindFilesToRemove/ICFindFilesToRemove_Prefix.h; 1020 997 OPTIMIZATION_CFLAGS = "-O0"; 1021 OTHER_CFLAGS = "";1022 OTHER_LDFLAGS = "";1023 998 OTHER_REZFLAGS = ""; 1024 999 PRODUCT_NAME = ICFindFilesToRemove; 1025 1000 REZ_EXECUTABLE = YES; 1026 SECTORDER_FLAGS = "";1027 1001 WARNING_CFLAGS = ( 1028 1002 "-Wmost", … … 1030 1004 "-Wno-unknown-pragmas", 1031 1005 ); 1032 ZERO_LINK = NO;1033 1006 }; 1034 1007 name = Development; … … 1038 1011 buildSettings = { 1039 1012 COPY_PHASE_STRIP = YES; 1040 GCC_C_LANGUAGE_STANDARD = c99;1041 GCC_ENABLE_FIX_AND_CONTINUE = NO;1042 1013 GCC_PRECOMPILE_PREFIX_HEADER = YES; 1043 1014 GCC_PREFIX_HEADER = ICFindFilesToRemove/ICFindFilesToRemove_Prefix.h; 1044 OTHER_CFLAGS = "";1045 OTHER_LDFLAGS = "";1046 1015 OTHER_REZFLAGS = ""; 1047 1016 PRODUCT_NAME = ICFindFilesToRemove; 1048 1017 REZ_EXECUTABLE = YES; 1049 SECTORDER_FLAGS = "";1050 1018 WARNING_CFLAGS = ( 1051 1019 "-Wmost", … … 1053 1021 "-Wno-unknown-pragmas", 1054 1022 ); 1055 ZERO_LINK = NO;1056 1023 }; 1057 1024 name = Deployment; … … 1061 1028 buildSettings = { 1062 1029 COPY_PHASE_STRIP = NO; 1063 GCC_DYNAMIC_NO_PIC = NO;1064 GCC_ENABLE_FIX_AND_CONTINUE = YES;1065 GCC_GENERATE_DEBUGGING_SYMBOLS = YES;1066 GCC_OPTIMIZATION_LEVEL = 0;1067 OPTIMIZATION_CFLAGS = "-O0";1068 1030 PRODUCT_NAME = "ICeCoffEE Installer"; 1069 1031 WRAPPER_EXTENSION = app; … … 1076 1038 buildSettings = { 1077 1039 COPY_PHASE_STRIP = YES; 1078 GCC_C_LANGUAGE_STANDARD = c99;1079 GCC_ENABLE_FIX_AND_CONTINUE = NO;1080 1040 PRODUCT_NAME = "ICeCoffEE Installer"; 1081 1041 WRAPPER_EXTENSION = app; … … 1095 1055 MACOSX_DEPLOYMENT_TARGET = 10.4; 1096 1056 SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; 1097 ZERO_LINK = NO;1098 1057 }; 1099 1058 name = Development; … … 1110 1069 MACOSX_DEPLOYMENT_TARGET = 10.4; 1111 1070 SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk; 1112 ZERO_LINK = NO;1113 1071 }; 1114 1072 name = Deployment; -
trunk/ICeCoffEE/ICeCoffEE/ICeCoffEEParser.m
r322 r375 9 9 #import "ICeCoffEEParser.h" 10 10 #import "ICeCoffEE.h" 11 12 // RFC-ordained max URL length, just to avoid passing IC/LS multi-megabyte documents13 #if ICCF_DEBUG14 const long ICCF_MAX_URL_LEN = 120; // XXX change later15 #else16 const long ICCF_MAX_URL_LEN = 1024;17 #endif18 19 void ICCF_CheckRange(NSRange range) {20 NSCAssert(range.length > 0, ICCF_LocalizedString(@"No URL is selected"));21 NSCAssert1(range.length <= ICCF_MAX_URL_LEN, ICCF_LocalizedString(@"The potential URL is longer than %lu characters"), ICCF_MAX_URL_LEN);22 }23 11 24 12 void ICCF_Delimiters(NSCharacterSet **leftPtr, NSCharacterSet **rightPtr) { … … 136 124 137 125 expandFront: 138 139 140 141 142 143 144 145 146 126 // XXX instead of 0, make this stop at the max URL length to prevent protracted searches 127 128 // XXX here's how this is supposed to work: 129 // (http://web.sabi.net/) and <http://web.sabi.net/> should work if they are the entire document, even if clicking at the end/beginning of the document, not barfing with "no URL" (correct, as now) or selecting the final >, or ) (what would happen if we remove this "add 1" accommodation). But how about "http://web.sabi.net/(foo)"? That should work too, as long as it's not preceded by a (. 130 // Should probably backport to ICeCoffEETerminal, now I finally understand the method to this madness. 131 // add 1 to range to trap delimiters that are on the edge of the selection (i.e., <...) 132 delimiterRange = [s rangeOfCharacterFromSet: urlLeftDelimiters 133 options: NSLiteralSearch | NSBackwardsSearch 134 range: NSMakeRange(0, range.location + (range.location != [s length]))]; 147 135 if (delimiterRange.location == NSNotFound) { 148 136 // extend to beginning of string … … 155 143 156 144 // in url/(parens)stuff, handle clicking inside or after (parens). 157 if ([s characterAtIndex: delimiterRange.location] == '(' &&158 range.location > 2 /* prevent wrapping, ordinarily not necessary */) {145 /*if ([s characterAtIndex: delimiterRange.location] == '(' && 146 range.location > 2) { // prevent wrapping, ordinarily not necessary 159 147 if ([s rangeOfString: @")" options: NSLiteralSearch range: range].location != NSNotFound || 160 148 [s rangeOfCharacterFromSet: [NSCharacterSet characterSetWithCharactersInString: @"/."] … … 165 153 goto expandFront; 166 154 } 167 } 155 } */ 168 156 } 169 157 … … 171 159 172 160 expandBack: 173 174 175 161 // XXX instead of length of string, make this stop at the max URL length to prevent protracted searches 162 // add 1 to range to trap delimiters that are on the edge of the selection (i.e., ...>) 163 extraLen = [s length] - range.location - range.length; 176 164 delimiterRange = [s rangeOfCharacterFromSet: urlRightDelimiters 177 165 options: NSLiteralSearch … … 185 173 range.length += delimiterRange.location - range.location - range.length; 186 174 187 // grow URL past closing paren if we've seen an open paren 188 if ([s characterAtIndex: delimiterRange.location] == ')' && 189 [s rangeOfString: @"(" options: NSLiteralSearch range: range].location != NSNotFound) { 175 // grow URL past closing paren/brace if we've seen an open paren/brace 176 unichar closing = [s characterAtIndex: delimiterRange.location]; 177 NSString *opening; 178 if (closing == ')') opening = @"("; 179 else if (closing == '}') opening = @"{"; 180 else goto checkRange; 181 if ([s rangeOfString: opening options: NSLiteralSearch range: range].location == NSNotFound) 182 goto checkRange; 183 184 if (extraLen == 0) { 185 range.length += 1; 186 ICLog(@"expanding past %c, now |%@|", closing, [s substringWithRange: range]); 187 } else { 190 188 range.length += 2; 191 ICLog(@"expanding past ), now |%@|", [s substringWithRange: range]);189 ICLog(@"expanding past %c, now |%@|", closing, [s substringWithRange: range]); 192 190 goto expandBack; 193 191 } 194 192 } 195 193 194 checkRange: 196 195 ICCF_CheckRange(range); 197 196 -
trunk/ICeCoffEE/ICeCoffEE/TestParser.m
r373 r375 15 15 return [NSString stringWithFormat: @"%@ (%d)", context, (int)err]; 16 16 } 17 18 void ICCF_CheckRange(NSRange range) {} 17 19 18 20 void ps(NSString *format, ...) { … … 65 67 } 66 68 67 // XXX can't yet select by word, so just try a middle-ish character 68 NSRange initialSelectionRange = { 69 delimitedURIRange.location + (delimitedURIRange.length / 2), 70 delimitedURIRange.length != 0 71 }; 72 73 // XXX figure XFAIL-type error checking 74 75 NSRange enclosingRange; 76 NSString *parsedURI = nil; 77 NSException *parseException = nil; 78 @try { 79 enclosingRange = ICCF_URLEnclosingRange(text, delimitedURIRange); 80 parsedURI = [text substringWithRange: enclosingRange]; 81 } @catch (NSException *e) { 82 parseException = e; 69 for (unsigned startOffset = 0 ; startOffset < delimitedURIRange.length ; ++startOffset) { 70 NSRange initialSelectionRange = { 71 delimitedURIRange.location + startOffset, 72 delimitedURIRange.length != 0 73 }; 74 75 // XXX figure XFAIL-type error checking 76 77 NSRange enclosingRange; 78 NSString *parsedURI = nil; 79 NSException *parseException = nil; 80 @try { 81 enclosingRange = ICCF_URLEnclosingRange(text, delimitedURIRange); 82 parsedURI = [text substringWithRange: enclosingRange]; 83 } @catch (NSException *e) { 84 parseException = e; 85 } 86 87 if ([uri isEqualToString: parsedURI]) { 88 ++pass; 89 continue; 90 } 91 92 ps(@"Text %@", text); 93 pr(@"Available ", delimitedURIRange); 94 pr(@"Starting ", initialSelectionRange); 95 96 if (parseException != nil) { 97 ps(@"Exception %@", parseException); 98 } else { 99 pr(@"Parsed ", enclosingRange); 100 ps(@"Parsed %@", parsedURI); 101 ps(@"Desired %@", uri); 102 } 103 ++fail; 104 goto summary; 83 105 } 84 85 if ([uri isEqualToString: parsedURI]) {86 ++pass;87 continue;88 }89 90 ps(@"Text %@", text);91 pr(@"Available ", delimitedURIRange);92 pr(@"Starting ", initialSelectionRange);93 94 if (parseException != nil) {95 ps(@"Exception %@", parseException);96 continue;97 }98 99 pr(@"Parsed ", enclosingRange);100 ps(@"Parsed %@", parsedURI);101 ps(@"Desired %@", uri);102 ++fail;103 106 } 107 108 summary: 109 ps(@"PASS %d FAIL %d", pass, fail); 104 110 105 111 ICCF_StopIC();
Note:
See TracChangeset
for help on using the changeset viewer.