<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>MWRowWindowController.py</filename>
    </added>
    <added>
      <filename>RowWindow.xib</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -7,6 +7,7 @@
 #
 
 import objc, metaweb, webbrowser, pickle, datetime, md5, threading
+from MWRowWindowController import MWRowWindowController
 from AppKit import *
 from Foundation import *
 
@@ -17,6 +18,7 @@ class MWController(NSObject):
     arrayController = objc.IBOutlet()
     indicator = objc.IBOutlet()
     results = []
+    rowCache = {}
     _cache = None
     
     def getCache(self):
@@ -29,6 +31,13 @@ class MWController(NSObject):
         if self.tableView:
             self.tableView.setTarget_(self)
             self.tableView.setDoubleAction_(&quot;open:&quot;)
+            self.tableView.setDraggingSourceOperationMask_forLocal_(NSDragOperationCopy, False)
+            
+    def dealloc(self):
+        for key in self.rowCache:
+            value = self.rowCache[key]
+            value.release()
+        super(MWController,self).dealloc()
     
     def open_(self,sender):
         selectedObjs = self.arrayController.selectedObjects()
@@ -42,8 +51,16 @@ class MWController(NSObject):
             NSLog(u&quot;Row has no id!&quot;)
             return
         
-        url = u&quot;http://www.freebase.com/view%s&quot; % row['id']
-        webbrowser.open(url)
+        if self.rowCache.has_key(row):
+            rwc = self.rowCache[row]
+            rwc.showWindow_(self)
+        else:
+            rwc =MWRowWindowController.alloc().initWithWindowNibName_(u&quot;RowWindow&quot;)
+            rwc.rowDict = row
+            rwc.showWindow_(self)
+            rwc.retain()
+            self.rowCache[row] = rwc
+        
     
     def getCachedSearch(self,searchString):
         if self.cache.has_key(searchString):</diff>
      <filename>MWController.py</filename>
    </modified>
    <modified>
      <diff>@@ -17,6 +17,8 @@
 		BEA672E20E60965500FC6C91 /* metaweb.py in Resources */ = {isa = PBXBuildFile; fileRef = BEA672E10E60965500FC6C91 /* metaweb.py */; };
 		BEE74BF80E6437630081791E /* MWDragWindow.py in Resources */ = {isa = PBXBuildFile; fileRef = BEE74BF70E6437630081791E /* MWDragWindow.py */; };
 		BEE74C160E646F0B0081791E /* MWDragArrayController.py in Resources */ = {isa = PBXBuildFile; fileRef = BEE74C150E646F0B0081791E /* MWDragArrayController.py */; };
+		BEE74CB40E647FDB0081791E /* MWRowWindowController.py in Resources */ = {isa = PBXBuildFile; fileRef = BEE74CB30E647FDB0081791E /* MWRowWindowController.py */; };
+		BEE74CCE0E64865C0081791E /* RowWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = BEE74CCD0E64865C0081791E /* RowWindow.xib */; };
 		BEE9BD050E5F404A00CBCEC3 /* MWController.py in Resources */ = {isa = PBXBuildFile; fileRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */; };
 /* End PBXBuildFile section */
 
@@ -37,6 +39,8 @@
 		BEA672E10E60965500FC6C91 /* metaweb.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = metaweb.py; sourceTree = &quot;&lt;group&gt;&quot;; };
 		BEE74BF70E6437630081791E /* MWDragWindow.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = MWDragWindow.py; sourceTree = &quot;&lt;group&gt;&quot;; };
 		BEE74C150E646F0B0081791E /* MWDragArrayController.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = MWDragArrayController.py; sourceTree = &quot;&lt;group&gt;&quot;; };
+		BEE74CB30E647FDB0081791E /* MWRowWindowController.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = MWRowWindowController.py; sourceTree = &quot;&lt;group&gt;&quot;; };
+		BEE74CCD0E64865C0081791E /* RowWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = RowWindow.xib; sourceTree = &quot;&lt;group&gt;&quot;; };
 		BEE9BD040E5F404A00CBCEC3 /* MWController.py */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.python; path = MWController.py; sourceTree = &quot;&lt;group&gt;&quot;; };
 /* End PBXFileReference section */
 
@@ -94,6 +98,7 @@
 		29B97314FDCFA39411CA2CEA /* MetaWindow */ = {
 			isa = PBXGroup;
 			children = (
+				BEE74CB30E647FDB0081791E /* MWRowWindowController.py */,
 				080E96DDFE201D6D7F000001 /* Classes */,
 				29B97315FDCFA39411CA2CEA /* Other Sources */,
 				29B97317FDCFA39411CA2CEA /* Resources */,
@@ -117,6 +122,7 @@
 		29B97317FDCFA39411CA2CEA /* Resources */ = {
 			isa = PBXGroup;
 			children = (
+				BEE74CCD0E64865C0081791E /* RowWindow.xib */,
 				77C8C1F70C07829500965286 /* MainMenu.xib */,
 				8D1107310486CEB800E47090 /* Info.plist */,
 				089C165CFE840E0CC02AAC07 /* InfoPlist.strings */,
@@ -184,6 +190,8 @@
 				BEA672E20E60965500FC6C91 /* metaweb.py in Resources */,
 				BEE74BF80E6437630081791E /* MWDragWindow.py in Resources */,
 				BEE74C160E646F0B0081791E /* MWDragArrayController.py in Resources */,
+				BEE74CB40E647FDB0081791E /* MWRowWindowController.py in Resources */,
+				BEE74CCE0E64865C0081791E /* RowWindow.xib in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};</diff>
      <filename>MetaWindow.xcodeproj/project.pbxproj</filename>
    </modified>
    <modified>
      <diff>@@ -255,7 +255,7 @@
 						&lt;dict&gt;
 							&lt;key&gt;PBXSmartGroupTreeModuleColumnWidthsKey&lt;/key&gt;
 							&lt;array&gt;
-								&lt;real&gt;186&lt;/real&gt;
+								&lt;real&gt;217&lt;/real&gt;
 							&lt;/array&gt;
 							&lt;key&gt;PBXSmartGroupTreeModuleColumnsKey_v4&lt;/key&gt;
 							&lt;array&gt;
@@ -276,13 +276,13 @@
 							&lt;key&gt;PBXSmartGroupTreeModuleOutlineStateSelectionKey&lt;/key&gt;
 							&lt;array&gt;
 								&lt;array&gt;
+									&lt;integer&gt;13&lt;/integer&gt;
 									&lt;integer&gt;12&lt;/integer&gt;
-									&lt;integer&gt;11&lt;/integer&gt;
 									&lt;integer&gt;0&lt;/integer&gt;
 								&lt;/array&gt;
 							&lt;/array&gt;
 							&lt;key&gt;PBXSmartGroupTreeModuleOutlineStateVisibleRectKey&lt;/key&gt;
-							&lt;string&gt;{{0, 0}, {186, 604}}&lt;/string&gt;
+							&lt;string&gt;{{0, 0}, {217, 604}}&lt;/string&gt;
 						&lt;/dict&gt;
 						&lt;key&gt;PBXTopSmartGroupGIDs&lt;/key&gt;
 						&lt;array/&gt;
@@ -294,19 +294,19 @@
 					&lt;key&gt;GeometryConfiguration&lt;/key&gt;
 					&lt;dict&gt;
 						&lt;key&gt;Frame&lt;/key&gt;
-						&lt;string&gt;{{0, 0}, {203, 622}}&lt;/string&gt;
+						&lt;string&gt;{{0, 0}, {234, 622}}&lt;/string&gt;
 						&lt;key&gt;GroupTreeTableConfiguration&lt;/key&gt;
 						&lt;array&gt;
 							&lt;string&gt;MainColumn&lt;/string&gt;
-							&lt;real&gt;186&lt;/real&gt;
+							&lt;real&gt;217&lt;/real&gt;
 						&lt;/array&gt;
 						&lt;key&gt;RubberWindowFrame&lt;/key&gt;
-						&lt;string&gt;81 115 812 663 0 0 1280 778 &lt;/string&gt;
+						&lt;string&gt;41 115 812 663 0 0 1280 778 &lt;/string&gt;
 					&lt;/dict&gt;
 					&lt;key&gt;Module&lt;/key&gt;
 					&lt;string&gt;PBXSmartGroupTreeModule&lt;/string&gt;
 					&lt;key&gt;Proportion&lt;/key&gt;
-					&lt;string&gt;203pt&lt;/string&gt;
+					&lt;string&gt;234pt&lt;/string&gt;
 				&lt;/dict&gt;
 				&lt;dict&gt;
 					&lt;key&gt;Dock&lt;/key&gt;
@@ -319,7 +319,7 @@
 								&lt;key&gt;PBXProjectModuleGUID&lt;/key&gt;
 								&lt;string&gt;1CE0B20306471E060097A5F4&lt;/string&gt;
 								&lt;key&gt;PBXProjectModuleLabel&lt;/key&gt;
-								&lt;string&gt;MWDragArrayController.py&lt;/string&gt;
+								&lt;string&gt;MWController.py&lt;/string&gt;
 								&lt;key&gt;PBXSplitModuleInNavigatorKey&lt;/key&gt;
 								&lt;dict&gt;
 									&lt;key&gt;Split0&lt;/key&gt;
@@ -327,21 +327,22 @@
 										&lt;key&gt;PBXProjectModuleGUID&lt;/key&gt;
 										&lt;string&gt;1CE0B20406471E060097A5F4&lt;/string&gt;
 										&lt;key&gt;PBXProjectModuleLabel&lt;/key&gt;
-										&lt;string&gt;MWDragArrayController.py&lt;/string&gt;
+										&lt;string&gt;MWController.py&lt;/string&gt;
 										&lt;key&gt;_historyCapacity&lt;/key&gt;
 										&lt;integer&gt;0&lt;/integer&gt;
 										&lt;key&gt;bookmark&lt;/key&gt;
-										&lt;string&gt;BEE74CAD0E6479B40081791E&lt;/string&gt;
+										&lt;string&gt;BEE74D2C0E64C8F30081791E&lt;/string&gt;
 										&lt;key&gt;history&lt;/key&gt;
 										&lt;array&gt;
 											&lt;string&gt;BEE9BD0E0E5F6FBC00CBCEC3&lt;/string&gt;
 											&lt;string&gt;BEE9BD2A0E5F74D200CBCEC3&lt;/string&gt;
 											&lt;string&gt;BEA672FE0E60B55F00FC6C91&lt;/string&gt;
-											&lt;string&gt;BEBECB4E0E63292600AD943E&lt;/string&gt;
-											&lt;string&gt;BEE74C170E646F110081791E&lt;/string&gt;
 											&lt;string&gt;BEE74C190E646F110081791E&lt;/string&gt;
-											&lt;string&gt;BEE74C310E64703E0081791E&lt;/string&gt;
-											&lt;string&gt;BEE74C320E64703E0081791E&lt;/string&gt;
+											&lt;string&gt;BEE74CD10E64B5800081791E&lt;/string&gt;
+											&lt;string&gt;BEE74CF80E64BA770081791E&lt;/string&gt;
+											&lt;string&gt;BEE74D070E64BBD00081791E&lt;/string&gt;
+											&lt;string&gt;BEE74D100E64BC410081791E&lt;/string&gt;
+											&lt;string&gt;BEE74D060E64BBD00081791E&lt;/string&gt;
 										&lt;/array&gt;
 										&lt;key&gt;prevStack&lt;/key&gt;
 										&lt;array&gt;
@@ -357,6 +358,19 @@
 											&lt;string&gt;BEE74C1E0E646F110081791E&lt;/string&gt;
 											&lt;string&gt;BEE74C2F0E646F910081791E&lt;/string&gt;
 											&lt;string&gt;BEE74C330E64703E0081791E&lt;/string&gt;
+											&lt;string&gt;BEE74CAF0E647AA10081791E&lt;/string&gt;
+											&lt;string&gt;BEE74CCA0E6486470081791E&lt;/string&gt;
+											&lt;string&gt;BEE74CCB0E6486470081791E&lt;/string&gt;
+											&lt;string&gt;BEE74CD20E64B5800081791E&lt;/string&gt;
+											&lt;string&gt;BEE74CD30E64B5800081791E&lt;/string&gt;
+											&lt;string&gt;BEE74CD70E64B5F60081791E&lt;/string&gt;
+											&lt;string&gt;BEE74CF10E64BA310081791E&lt;/string&gt;
+											&lt;string&gt;BEE74CF90E64BA770081791E&lt;/string&gt;
+											&lt;string&gt;BEE74CFA0E64BA770081791E&lt;/string&gt;
+											&lt;string&gt;BEE74D090E64BBD00081791E&lt;/string&gt;
+											&lt;string&gt;BEE74D0A0E64BBD00081791E&lt;/string&gt;
+											&lt;string&gt;BEE74D0B0E64BBD00081791E&lt;/string&gt;
+											&lt;string&gt;BEE74D110E64BC410081791E&lt;/string&gt;
 										&lt;/array&gt;
 									&lt;/dict&gt;
 									&lt;key&gt;SplitCount&lt;/key&gt;
@@ -368,9 +382,9 @@
 							&lt;key&gt;GeometryConfiguration&lt;/key&gt;
 							&lt;dict&gt;
 								&lt;key&gt;Frame&lt;/key&gt;
-								&lt;string&gt;{{0, 0}, {604, 352}}&lt;/string&gt;
+								&lt;string&gt;{{0, 0}, {573, 352}}&lt;/string&gt;
 								&lt;key&gt;RubberWindowFrame&lt;/key&gt;
-								&lt;string&gt;81 115 812 663 0 0 1280 778 &lt;/string&gt;
+								&lt;string&gt;41 115 812 663 0 0 1280 778 &lt;/string&gt;
 							&lt;/dict&gt;
 							&lt;key&gt;Module&lt;/key&gt;
 							&lt;string&gt;PBXNavigatorGroup&lt;/string&gt;
@@ -388,9 +402,9 @@
 							&lt;key&gt;GeometryConfiguration&lt;/key&gt;
 							&lt;dict&gt;
 								&lt;key&gt;Frame&lt;/key&gt;
-								&lt;string&gt;{{0, 357}, {604, 265}}&lt;/string&gt;
+								&lt;string&gt;{{0, 357}, {573, 265}}&lt;/string&gt;
 								&lt;key&gt;RubberWindowFrame&lt;/key&gt;
-								&lt;string&gt;81 115 812 663 0 0 1280 778 &lt;/string&gt;
+								&lt;string&gt;41 115 812 663 0 0 1280 778 &lt;/string&gt;
 							&lt;/dict&gt;
 							&lt;key&gt;Module&lt;/key&gt;
 							&lt;string&gt;XCDetailModule&lt;/string&gt;
@@ -399,7 +413,7 @@
 						&lt;/dict&gt;
 					&lt;/array&gt;
 					&lt;key&gt;Proportion&lt;/key&gt;
-					&lt;string&gt;604pt&lt;/string&gt;
+					&lt;string&gt;573pt&lt;/string&gt;
 				&lt;/dict&gt;
 			&lt;/array&gt;
 			&lt;key&gt;Name&lt;/key&gt;
@@ -558,7 +572,7 @@
 		&lt;string&gt;/Users/will/git/MetaWindow/MetaWindow.xcodeproj&lt;/string&gt;
 	&lt;/array&gt;
 	&lt;key&gt;WindowString&lt;/key&gt;
-	&lt;string&gt;81 115 812 663 0 0 1280 778 &lt;/string&gt;
+	&lt;string&gt;41 115 812 663 0 0 1280 778 &lt;/string&gt;
 	&lt;key&gt;WindowToolsV3&lt;/key&gt;
 	&lt;array&gt;
 		&lt;dict&gt;</diff>
      <filename>MetaWindow.xcodeproj/will.mode1v3</filename>
    </modified>
    <modified>
      <diff>@@ -36,7 +36,7 @@
 				PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID;
 				PBXFileTableDataSourceColumnWidthsKey = (
 					20,
-					365,
+					334,
 					20,
 					48,
 					43,
@@ -126,6 +126,65 @@
 			BEE74CAB0E6479920081791E /* PBXTextBookmark */ = BEE74CAB0E6479920081791E /* PBXTextBookmark */;
 			BEE74CAC0E6479A80081791E /* PBXTextBookmark */ = BEE74CAC0E6479A80081791E /* PBXTextBookmark */;
 			BEE74CAD0E6479B40081791E /* PBXTextBookmark */ = BEE74CAD0E6479B40081791E /* PBXTextBookmark */;
+			BEE74CAE0E647AA10081791E /* PBXTextBookmark */ = BEE74CAE0E647AA10081791E /* PBXTextBookmark */;
+			BEE74CAF0E647AA10081791E /* PBXTextBookmark */ = BEE74CAF0E647AA10081791E /* PBXTextBookmark */;
+			BEE74CB00E647AA10081791E /* PBXTextBookmark */ = BEE74CB00E647AA10081791E /* PBXTextBookmark */;
+			BEE74CC80E6486470081791E /* PBXTextBookmark */ = BEE74CC80E6486470081791E /* PBXTextBookmark */;
+			BEE74CC90E6486470081791E /* PBXTextBookmark */ = BEE74CC90E6486470081791E /* PBXTextBookmark */;
+			BEE74CCA0E6486470081791E /* PBXTextBookmark */ = BEE74CCA0E6486470081791E /* PBXTextBookmark */;
+			BEE74CCB0E6486470081791E /* PBXTextBookmark */ = BEE74CCB0E6486470081791E /* PBXTextBookmark */;
+			BEE74CCC0E6486470081791E /* PBXTextBookmark */ = BEE74CCC0E6486470081791E /* PBXTextBookmark */;
+			BEE74CD00E64B5800081791E /* PBXTextBookmark */ = BEE74CD00E64B5800081791E /* PBXTextBookmark */;
+			BEE74CD10E64B5800081791E /* PBXTextBookmark */ = BEE74CD10E64B5800081791E /* PBXTextBookmark */;
+			BEE74CD20E64B5800081791E /* PBXTextBookmark */ = BEE74CD20E64B5800081791E /* PBXTextBookmark */;
+			BEE74CD30E64B5800081791E /* PBXTextBookmark */ = BEE74CD30E64B5800081791E /* PBXTextBookmark */;
+			BEE74CD40E64B5800081791E /* PBXTextBookmark */ = BEE74CD40E64B5800081791E /* PBXTextBookmark */;
+			BEE74CD50E64B5F60081791E /* PBXTextBookmark */ = BEE74CD50E64B5F60081791E /* PBXTextBookmark */;
+			BEE74CD60E64B5F60081791E /* PBXTextBookmark */ = BEE74CD60E64B5F60081791E /* PBXTextBookmark */;
+			BEE74CD70E64B5F60081791E /* PBXTextBookmark */ = BEE74CD70E64B5F60081791E /* PBXTextBookmark */;
+			BEE74CD80E64B5F60081791E /* PBXTextBookmark */ = BEE74CD80E64B5F60081791E /* PBXTextBookmark */;
+			BEE74CE50E64B9D20081791E /* PBXTextBookmark */ = BEE74CE50E64B9D20081791E /* PBXTextBookmark */;
+			BEE74CE80E64B9FC0081791E /* PBXTextBookmark */ = BEE74CE80E64B9FC0081791E /* PBXTextBookmark */;
+			BEE74CEC0E64BA140081791E /* PBXTextBookmark */ = BEE74CEC0E64BA140081791E /* PBXTextBookmark */;
+			BEE74CEF0E64BA310081791E /* PBXTextBookmark */ = BEE74CEF0E64BA310081791E /* PBXTextBookmark */;
+			BEE74CF00E64BA310081791E /* PBXTextBookmark */ = BEE74CF00E64BA310081791E /* PBXTextBookmark */;
+			BEE74CF10E64BA310081791E /* PBXTextBookmark */ = BEE74CF10E64BA310081791E /* PBXTextBookmark */;
+			BEE74CF20E64BA310081791E /* PBXTextBookmark */ = BEE74CF20E64BA310081791E /* PBXTextBookmark */;
+			BEE74CF70E64BA770081791E /* PBXTextBookmark */ = BEE74CF70E64BA770081791E /* PBXTextBookmark */;
+			BEE74CF80E64BA770081791E /* PBXTextBookmark */ = BEE74CF80E64BA770081791E /* PBXTextBookmark */;
+			BEE74CF90E64BA770081791E /* PBXTextBookmark */ = BEE74CF90E64BA770081791E /* PBXTextBookmark */;
+			BEE74CFA0E64BA770081791E /* PBXTextBookmark */ = BEE74CFA0E64BA770081791E /* PBXTextBookmark */;
+			BEE74CFB0E64BA770081791E /* PBXTextBookmark */ = BEE74CFB0E64BA770081791E /* PBXTextBookmark */;
+			BEE74CFD0E64BAB70081791E /* PBXTextBookmark */ = BEE74CFD0E64BAB70081791E /* PBXTextBookmark */;
+			BEE74D010E64BAFA0081791E /* PBXTextBookmark */ = BEE74D010E64BAFA0081791E /* PBXTextBookmark */;
+			BEE74D020E64BB270081791E /* PBXTextBookmark */ = BEE74D020E64BB270081791E /* PBXTextBookmark */;
+			BEE74D060E64BBD00081791E /* PBXTextBookmark */ = BEE74D060E64BBD00081791E /* PBXTextBookmark */;
+			BEE74D070E64BBD00081791E /* PBXTextBookmark */ = BEE74D070E64BBD00081791E /* PBXTextBookmark */;
+			BEE74D080E64BBD00081791E /* PBXTextBookmark */ = BEE74D080E64BBD00081791E /* PBXTextBookmark */;
+			BEE74D090E64BBD00081791E /* PBXTextBookmark */ = BEE74D090E64BBD00081791E /* PBXTextBookmark */;
+			BEE74D0A0E64BBD00081791E /* PBXTextBookmark */ = BEE74D0A0E64BBD00081791E /* PBXTextBookmark */;
+			BEE74D0B0E64BBD00081791E /* PBXTextBookmark */ = BEE74D0B0E64BBD00081791E /* PBXTextBookmark */;
+			BEE74D0C0E64BBD00081791E /* PBXTextBookmark */ = BEE74D0C0E64BBD00081791E /* PBXTextBookmark */;
+			BEE74D0F0E64BC000081791E /* PBXTextBookmark */ = BEE74D0F0E64BC000081791E /* PBXTextBookmark */;
+			BEE74D100E64BC410081791E /* PBXTextBookmark */ = BEE74D100E64BC410081791E /* PBXTextBookmark */;
+			BEE74D110E64BC410081791E /* PBXTextBookmark */ = BEE74D110E64BC410081791E /* PBXTextBookmark */;
+			BEE74D120E64BC410081791E /* PBXTextBookmark */ = BEE74D120E64BC410081791E /* PBXTextBookmark */;
+			BEE74D150E64BCA50081791E /* PBXTextBookmark */ = BEE74D150E64BCA50081791E /* PBXTextBookmark */;
+			BEE74D170E64BCE60081791E /* PBXTextBookmark */ = BEE74D170E64BCE60081791E /* PBXTextBookmark */;
+			BEE74D180E64BCF20081791E /* PBXTextBookmark */ = BEE74D180E64BCF20081791E /* PBXTextBookmark */;
+			BEE74D1A0E64BCFD0081791E /* PBXTextBookmark */ = BEE74D1A0E64BCFD0081791E /* PBXTextBookmark */;
+			BEE74D1B0E64BD090081791E /* PBXTextBookmark */ = BEE74D1B0E64BD090081791E /* PBXTextBookmark */;
+			BEE74D1D0E64C1CE0081791E /* PBXTextBookmark */ = BEE74D1D0E64C1CE0081791E /* PBXTextBookmark */;
+			BEE74D1F0E64C2500081791E /* PBXTextBookmark */ = BEE74D1F0E64C2500081791E /* PBXTextBookmark */;
+			BEE74D210E64C2730081791E /* PBXTextBookmark */ = BEE74D210E64C2730081791E /* PBXTextBookmark */;
+			BEE74D230E64C2820081791E /* PBXTextBookmark */ = BEE74D230E64C2820081791E /* PBXTextBookmark */;
+			BEE74D240E64C29D0081791E /* PBXTextBookmark */ = BEE74D240E64C29D0081791E /* PBXTextBookmark */;
+			BEE74D250E64C8180081791E /* PBXTextBookmark */ = BEE74D250E64C8180081791E /* PBXTextBookmark */;
+			BEE74D270E64C8490081791E /* PBXTextBookmark */ = BEE74D270E64C8490081791E /* PBXTextBookmark */;
+			BEE74D280E64C8700081791E /* PBXTextBookmark */ = BEE74D280E64C8700081791E /* PBXTextBookmark */;
+			BEE74D2A0E64C8890081791E /* PBXTextBookmark */ = BEE74D2A0E64C8890081791E /* PBXTextBookmark */;
+			BEE74D2B0E64C8920081791E /* PBXTextBookmark */ = BEE74D2B0E64C8920081791E /* PBXTextBookmark */;
+			BEE74D2C0E64C8F30081791E /* PBXTextBookmark */ = BEE74D2C0E64C8F30081791E /* PBXTextBookmark */;
 			BEE9BD0E0E5F6FBC00CBCEC3 = BEE9BD0E0E5F6FBC00CBCEC3 /* PBXTextBookmark */;
 			BEE9BD110E5F6FBC00CBCEC3 = BEE9BD110E5F6FBC00CBCEC3 /* PBXTextBookmark */;
 			BEE9BD120E5F6FBC00CBCEC3 = BEE9BD120E5F6FBC00CBCEC3 /* PBXTextBookmark */;
@@ -155,15 +214,15 @@
 	};
 	77631A3E0C0748CF005415CB /* main.py */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = &quot;{{0, 0}, {543, 350}}&quot;;
-			sepNavSelRange = &quot;{242, 200}&quot;;
-			sepNavVisRange = &quot;{0, 494}&quot;;
+			sepNavIntBoundsRect = &quot;{{0, 0}, {512, 378}}&quot;;
+			sepNavSelRange = &quot;{452, 0}&quot;;
+			sepNavVisRange = &quot;{27, 496}&quot;;
 			sepNavWindowFrame = &quot;{{620, 38}, {783, 738}}&quot;;
 		};
 	};
 	7790198E0C07548A00326F66 /* MetaWindowAppDelegate.py */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = &quot;{{0, 0}, {543, 672}}&quot;;
+			sepNavIntBoundsRect = &quot;{{0, 0}, {512, 728}}&quot;;
 			sepNavSelRange = &quot;{164, 0}&quot;;
 			sepNavVisRange = &quot;{0, 654}&quot;;
 			sepNavWindowFrame = &quot;{{658, 40}, {783, 738}}&quot;;
@@ -193,7 +252,7 @@
 		fRef = 77631A3E0C0748CF005415CB /* main.py */;
 		name = &quot;main.py: 19&quot;;
 		rLen = 1;
-		rLoc = 443;
+		rLoc = 472;
 		rType = 0;
 		vrLen = 268;
 		vrLoc = 162;
@@ -241,7 +300,7 @@
 		ignoreCount = 0;
 		lineNumber = 43;
 		location = MetaWindow;
-		modificationTime = 241464404.824829;
+		modificationTime = 241482270.879827;
 		state = 1;
 	};
 	BEA6736F0E60F72800FC6C91 /* ___TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION___ */ = {
@@ -255,7 +314,7 @@
 		hitCount = 0;
 		ignoreCount = 0;
 		location = CoreFoundation;
-		modificationTime = 241464404.831754;
+		modificationTime = 241482270.88048;
 		state = 1;
 		symbolName = &quot;___TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION___&quot;;
 	};
@@ -270,7 +329,7 @@
 		hitCount = 0;
 		ignoreCount = 0;
 		location = CoreFoundation;
-		modificationTime = 241464404.831768;
+		modificationTime = 241482270.880488;
 		state = 1;
 		symbolName = &quot;___TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION___&quot;;
 	};
@@ -285,7 +344,7 @@
 		hitCount = 0;
 		ignoreCount = 0;
 		location = CoreFoundation;
-		modificationTime = 241464404.831786;
+		modificationTime = 241482270.880503;
 		state = 1;
 		symbolName = &quot;___TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION___&quot;;
 	};
@@ -300,7 +359,7 @@
 		hitCount = 0;
 		ignoreCount = 0;
 		location = CoreFoundation;
-		modificationTime = 241464404.831799;
+		modificationTime = 241482270.880509;
 		state = 1;
 		symbolName = &quot;___TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION___&quot;;
 	};
@@ -315,7 +374,7 @@
 		hitCount = 0;
 		ignoreCount = 0;
 		location = CoreFoundation;
-		modificationTime = 241464404.831806;
+		modificationTime = 241482270.880514;
 		state = 1;
 		symbolName = &quot;___TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION___&quot;;
 	};
@@ -330,7 +389,7 @@
 		hitCount = 0;
 		ignoreCount = 0;
 		location = CoreFoundation;
-		modificationTime = 241464404.831819;
+		modificationTime = 241482270.880519;
 		state = 1;
 		symbolName = &quot;___TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION___&quot;;
 	};
@@ -345,7 +404,7 @@
 		hitCount = 0;
 		ignoreCount = 0;
 		location = CoreFoundation;
-		modificationTime = 241464404.831825;
+		modificationTime = 241482270.880524;
 		state = 1;
 		symbolName = &quot;___TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION___&quot;;
 	};
@@ -360,7 +419,7 @@
 		hitCount = 0;
 		ignoreCount = 0;
 		location = CoreFoundation;
-		modificationTime = 241464404.83183;
+		modificationTime = 241482270.880536;
 		state = 1;
 		symbolName = &quot;___TERMINATING_DUE_TO_UNCAUGHT_EXCEPTION___&quot;;
 	};
@@ -369,7 +428,7 @@
 		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
 		name = &quot;MWController.py: 19&quot;;
 		rLen = 0;
-		rLoc = 688;
+		rLoc = 762;
 		rType = 0;
 		vrLen = 715;
 		vrLoc = 167;
@@ -389,7 +448,7 @@
 		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
 		name = &quot;MWController.py: 32&quot;;
 		rLen = 0;
-		rLoc = 646;
+		rLoc = 720;
 		rType = 0;
 		vrLen = 793;
 		vrLoc = 360;
@@ -409,7 +468,7 @@
 		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
 		name = &quot;MWController.py: 39&quot;;
 		rLen = 0;
-		rLoc = 646;
+		rLoc = 720;
 		rType = 0;
 		vrLen = 907;
 		vrLoc = 572;
@@ -429,7 +488,7 @@
 		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
 		name = &quot;MWController.py: 39&quot;;
 		rLen = 0;
-		rLoc = 646;
+		rLoc = 720;
 		rType = 0;
 		vrLen = 904;
 		vrLoc = 616;
@@ -449,7 +508,7 @@
 		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
 		name = &quot;MWController.py: 39&quot;;
 		rLen = 0;
-		rLoc = 646;
+		rLoc = 720;
 		rType = 0;
 		vrLen = 904;
 		vrLoc = 616;
@@ -469,7 +528,7 @@
 		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
 		name = &quot;MWController.py: 40&quot;;
 		rLen = 0;
-		rLoc = 646;
+		rLoc = 720;
 		rType = 0;
 		vrLen = 907;
 		vrLoc = 616;
@@ -489,7 +548,7 @@
 		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
 		name = &quot;MWController.py: 25&quot;;
 		rLen = 0;
-		rLoc = 646;
+		rLoc = 720;
 		rType = 0;
 		vrLen = 788;
 		vrLoc = 542;
@@ -518,8 +577,8 @@
 		isa = PBXTextBookmark;
 		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
 		name = &quot;MWController.py: 14&quot;;
-		rLen = 198;
-		rLoc = 249;
+		rLen = 216;
+		rLoc = 305;
 		rType = 0;
 		vrLen = 673;
 		vrLoc = 131;
@@ -529,7 +588,7 @@
 		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
 		name = &quot;MWController.py: 69&quot;;
 		rLen = 518;
-		rLoc = 2255;
+		rLoc = 2859;
 		rType = 0;
 		vrLen = 950;
 		vrLoc = 1696;
@@ -539,7 +598,7 @@
 		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
 		name = &quot;MWController.py: 69&quot;;
 		rLen = 518;
-		rLoc = 2255;
+		rLoc = 2859;
 		rType = 0;
 		vrLen = 950;
 		vrLoc = 1696;
@@ -549,7 +608,7 @@
 		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
 		name = &quot;MWController.py: 71&quot;;
 		rLen = 0;
-		rLoc = 2249;
+		rLoc = 2853;
 		rType = 0;
 		vrLen = 1009;
 		vrLoc = 1765;
@@ -559,7 +618,7 @@
 		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
 		name = &quot;MWController.py: 69&quot;;
 		rLen = 118;
-		rLoc = 2131;
+		rLoc = 2735;
 		rType = 0;
 		vrLen = 1009;
 		vrLoc = 1765;
@@ -582,7 +641,7 @@
 		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
 		name = &quot;MWController.py: 69&quot;;
 		rLen = 118;
-		rLoc = 2131;
+		rLoc = 2735;
 		rType = 0;
 		vrLen = 1009;
 		vrLoc = 1765;
@@ -602,7 +661,7 @@
 		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
 		name = &quot;MWController.py: 69&quot;;
 		rLen = 118;
-		rLoc = 2131;
+		rLoc = 2735;
 		rType = 0;
 		vrLen = 1009;
 		vrLoc = 1765;
@@ -636,7 +695,7 @@
 		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
 		name = &quot;MWController.py: 69&quot;;
 		rLen = 118;
-		rLoc = 2131;
+		rLoc = 2735;
 		rType = 0;
 		vrLen = 1009;
 		vrLoc = 1765;
@@ -676,7 +735,7 @@
 		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
 		name = &quot;MWController.py: 69&quot;;
 		rLen = 118;
-		rLoc = 2131;
+		rLoc = 2735;
 		rType = 0;
 		vrLen = 1009;
 		vrLoc = 1765;
@@ -1041,6 +1100,603 @@
 		vrLen = 563;
 		vrLoc = 0;
 	};
+	BEE74CAE0E647AA10081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE74C150E646F0B0081791E /* MWDragArrayController.py */;
+		name = &quot;MWDragArrayController.py: 16&quot;;
+		rLen = 0;
+		rLoc = 420;
+		rType = 0;
+		vrLen = 563;
+		vrLoc = 0;
+	};
+	BEE74CAF0E647AA10081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE74C150E646F0B0081791E /* MWDragArrayController.py */;
+		name = &quot;MWDragArrayController.py: 16&quot;;
+		rLen = 0;
+		rLoc = 420;
+		rType = 0;
+		vrLen = 563;
+		vrLoc = 0;
+	};
+	BEE74CB00E647AA10081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 28&quot;;
+		rLen = 247;
+		rLoc = 726;
+		rType = 0;
+		vrLen = 788;
+		vrLoc = 343;
+	};
+	BEE74CB30E647FDB0081791E /* MWRowWindowController.py */ = {
+		uiCtxt = {
+			sepNavIntBoundsRect = &quot;{{0, 0}, {512, 335}}&quot;;
+			sepNavSelRange = &quot;{217, 0}&quot;;
+			sepNavVisRange = &quot;{0, 237}&quot;;
+		};
+	};
+	BEE74CC80E6486470081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 28&quot;;
+		rLen = 247;
+		rLoc = 726;
+		rType = 0;
+		vrLen = 825;
+		vrLoc = 430;
+	};
+	BEE74CC90E6486470081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE74CB30E647FDB0081791E /* MWRowWindowController.py */;
+		name = &quot;MWRowWindowController.py: 12&quot;;
+		rLen = 0;
+		rLoc = 236;
+		rType = 0;
+		vrLen = 246;
+		vrLoc = 0;
+	};
+	BEE74CCA0E6486470081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 28&quot;;
+		rLen = 247;
+		rLoc = 726;
+		rType = 0;
+		vrLen = 825;
+		vrLoc = 430;
+	};
+	BEE74CCB0E6486470081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE74CB30E647FDB0081791E /* MWRowWindowController.py */;
+		name = &quot;MWRowWindowController.py: 12&quot;;
+		rLen = 0;
+		rLoc = 236;
+		rType = 0;
+		vrLen = 246;
+		vrLoc = 0;
+	};
+	BEE74CCC0E6486470081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 77631A3E0C0748CF005415CB /* main.py */;
+		name = &quot;main.py: 21&quot;;
+		rLen = 0;
+		rLoc = 442;
+		rType = 0;
+		vrLen = 508;
+		vrLoc = 13;
+	};
+	BEE74CD00E64B5800081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 77631A3E0C0748CF005415CB /* main.py */;
+		name = &quot;main.py: 16&quot;;
+		rLen = 229;
+		rLoc = 242;
+		rType = 0;
+		vrLen = 508;
+		vrLoc = 13;
+	};
+	BEE74CD10E64B5800081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE74C150E646F0B0081791E /* MWDragArrayController.py */;
+		name = &quot;MWDragArrayController.py: 16&quot;;
+		rLen = 0;
+		rLoc = 420;
+		rType = 0;
+		vrLen = 563;
+		vrLoc = 0;
+	};
+	BEE74CD20E64B5800081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 77631A3E0C0748CF005415CB /* main.py */;
+		name = &quot;main.py: 16&quot;;
+		rLen = 229;
+		rLoc = 242;
+		rType = 0;
+		vrLen = 508;
+		vrLoc = 13;
+	};
+	BEE74CD30E64B5800081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE74C150E646F0B0081791E /* MWDragArrayController.py */;
+		name = &quot;MWDragArrayController.py: 16&quot;;
+		rLen = 0;
+		rLoc = 420;
+		rType = 0;
+		vrLen = 563;
+		vrLoc = 0;
+	};
+	BEE74CD40E64B5800081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE74CB30E647FDB0081791E /* MWRowWindowController.py */;
+		name = &quot;MWRowWindowController.py: 6&quot;;
+		rLen = 0;
+		rLoc = 117;
+		rType = 0;
+		vrLen = 237;
+		vrLoc = 0;
+	};
+	BEE74CD50E64B5F60081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE74CB30E647FDB0081791E /* MWRowWindowController.py */;
+		name = &quot;MWRowWindowController.py: 6&quot;;
+		rLen = 0;
+		rLoc = 117;
+		rType = 0;
+		vrLen = 237;
+		vrLoc = 0;
+	};
+	BEE74CD60E64B5F60081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 28&quot;;
+		rLen = 247;
+		rLoc = 726;
+		rType = 0;
+		vrLen = 788;
+		vrLoc = 430;
+	};
+	BEE74CD70E64B5F60081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE74CB30E647FDB0081791E /* MWRowWindowController.py */;
+		name = &quot;MWRowWindowController.py: 6&quot;;
+		rLen = 0;
+		rLoc = 117;
+		rType = 0;
+		vrLen = 237;
+		vrLoc = 0;
+	};
+	BEE74CD80E64B5F60081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 9&quot;;
+		rLen = 168;
+		rLoc = 134;
+		rType = 0;
+		vrLen = 538;
+		vrLoc = 0;
+	};
+	BEE74CE50E64B9D20081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 48&quot;;
+		rLen = 0;
+		rLoc = 1870;
+		rType = 0;
+		vrLen = 809;
+		vrLoc = 780;
+	};
+	BEE74CE80E64B9FC0081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 48&quot;;
+		rLen = 0;
+		rLoc = 1760;
+		rType = 0;
+		vrLen = 755;
+		vrLoc = 780;
+	};
+	BEE74CEC0E64BA140081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 47&quot;;
+		rLen = 0;
+		rLoc = 1742;
+		rType = 0;
+		vrLen = 796;
+		vrLoc = 1024;
+	};
+	BEE74CEF0E64BA310081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 47&quot;;
+		rLen = 0;
+		rLoc = 1742;
+		rType = 0;
+		vrLen = 796;
+		vrLoc = 1024;
+	};
+	BEE74CF00E64BA310081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 77631A3E0C0748CF005415CB /* main.py */;
+		name = &quot;main.py: 16&quot;;
+		rLen = 229;
+		rLoc = 242;
+		rType = 0;
+		vrLen = 494;
+		vrLoc = 27;
+	};
+	BEE74CF10E64BA310081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 47&quot;;
+		rLen = 0;
+		rLoc = 1742;
+		rType = 0;
+		vrLen = 796;
+		vrLoc = 1024;
+	};
+	BEE74CF20E64BA310081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 77631A3E0C0748CF005415CB /* main.py */;
+		name = &quot;main.py: 22&quot;;
+		rLen = 0;
+		rLoc = 452;
+		rType = 0;
+		vrLen = 496;
+		vrLoc = 27;
+	};
+	BEE74CF70E64BA770081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 77631A3E0C0748CF005415CB /* main.py */;
+		name = &quot;main.py: 22&quot;;
+		rLen = 0;
+		rLoc = 452;
+		rType = 0;
+		vrLen = 496;
+		vrLoc = 27;
+	};
+	BEE74CF80E64BA770081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 7790198E0C07548A00326F66 /* MetaWindowAppDelegate.py */;
+		name = &quot;MetaWindowAppDelegate.py: 9&quot;;
+		rLen = 0;
+		rLoc = 164;
+		rType = 0;
+		vrLen = 654;
+		vrLoc = 0;
+	};
+	BEE74CF90E64BA770081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 77631A3E0C0748CF005415CB /* main.py */;
+		name = &quot;main.py: 22&quot;;
+		rLen = 0;
+		rLoc = 452;
+		rType = 0;
+		vrLen = 496;
+		vrLoc = 27;
+	};
+	BEE74CFA0E64BA770081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 7790198E0C07548A00326F66 /* MetaWindowAppDelegate.py */;
+		name = &quot;MetaWindowAppDelegate.py: 9&quot;;
+		rLen = 0;
+		rLoc = 164;
+		rType = 0;
+		vrLen = 654;
+		vrLoc = 0;
+	};
+	BEE74CFB0E64BA770081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 10&quot;;
+		rLen = 0;
+		rLoc = 228;
+		rType = 0;
+		vrLen = 565;
+		vrLoc = 0;
+	};
+	BEE74CFD0E64BAB70081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 49&quot;;
+		rLen = 0;
+		rLoc = 1870;
+		rType = 0;
+		vrLen = 791;
+		vrLoc = 708;
+	};
+	BEE74D010E64BAFA0081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 50&quot;;
+		rLen = 0;
+		rLoc = 1870;
+		rType = 0;
+		vrLen = 771;
+		vrLoc = 961;
+	};
+	BEE74D020E64BB270081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 50&quot;;
+		rLen = 0;
+		rLoc = 1870;
+		rType = 0;
+		vrLen = 846;
+		vrLoc = 1125;
+	};
+	BEE74D060E64BBD00081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 50&quot;;
+		rLen = 0;
+		rLoc = 1870;
+		rType = 0;
+		vrLen = 846;
+		vrLoc = 1125;
+	};
+	BEE74D070E64BBD00081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 77631A3E0C0748CF005415CB /* main.py */;
+		name = &quot;main.py: 22&quot;;
+		rLen = 0;
+		rLoc = 452;
+		rType = 0;
+		vrLen = 496;
+		vrLoc = 27;
+	};
+	BEE74D080E64BBD00081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE74CB30E647FDB0081791E /* MWRowWindowController.py */;
+		name = &quot;MWRowWindowController.py: 11&quot;;
+		rLen = 0;
+		rLoc = 217;
+		rType = 0;
+		vrLen = 237;
+		vrLoc = 0;
+	};
+	BEE74D090E64BBD00081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 50&quot;;
+		rLen = 0;
+		rLoc = 1870;
+		rType = 0;
+		vrLen = 846;
+		vrLoc = 1125;
+	};
+	BEE74D0A0E64BBD00081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE74CB30E647FDB0081791E /* MWRowWindowController.py */;
+		name = &quot;MWRowWindowController.py: 11&quot;;
+		rLen = 0;
+		rLoc = 217;
+		rType = 0;
+		vrLen = 237;
+		vrLoc = 0;
+	};
+	BEE74D0B0E64BBD00081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = 77631A3E0C0748CF005415CB /* main.py */;
+		name = &quot;main.py: 22&quot;;
+		rLen = 0;
+		rLoc = 452;
+		rType = 0;
+		vrLen = 496;
+		vrLoc = 27;
+	};
+	BEE74D0C0E64BBD00081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE74CB30E647FDB0081791E /* MWRowWindowController.py */;
+		name = &quot;MWRowWindowController.py: 11&quot;;
+		rLen = 0;
+		rLoc = 217;
+		rType = 0;
+		vrLen = 237;
+		vrLoc = 0;
+	};
+	BEE74D0F0E64BC000081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE74CB30E647FDB0081791E /* MWRowWindowController.py */;
+		name = &quot;MWRowWindowController.py: 11&quot;;
+		rLen = 0;
+		rLoc = 217;
+		rType = 0;
+		vrLen = 237;
+		vrLoc = 0;
+	};
+	BEE74D100E64BC410081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE74CB30E647FDB0081791E /* MWRowWindowController.py */;
+		name = &quot;MWRowWindowController.py: 11&quot;;
+		rLen = 0;
+		rLoc = 217;
+		rType = 0;
+		vrLen = 237;
+		vrLoc = 0;
+	};
+	BEE74D110E64BC410081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE74CB30E647FDB0081791E /* MWRowWindowController.py */;
+		name = &quot;MWRowWindowController.py: 11&quot;;
+		rLen = 0;
+		rLoc = 217;
+		rType = 0;
+		vrLen = 237;
+		vrLoc = 0;
+	};
+	BEE74D120E64BC410081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 47&quot;;
+		rLen = 0;
+		rLoc = 1742;
+		rType = 0;
+		vrLen = 836;
+		vrLoc = 1125;
+	};
+	BEE74D150E64BCA50081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 46&quot;;
+		rLen = 0;
+		rLoc = 1660;
+		rType = 0;
+		vrLen = 836;
+		vrLoc = 1125;
+	};
+	BEE74D170E64BCE60081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 50&quot;;
+		rLen = 0;
+		rLoc = 1870;
+		rType = 0;
+		vrLen = 802;
+		vrLoc = 1086;
+	};
+	BEE74D180E64BCF20081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 50&quot;;
+		rLen = 0;
+		rLoc = 1870;
+		rType = 0;
+		vrLen = 874;
+		vrLoc = 1051;
+	};
+	BEE74D1A0E64BCFD0081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 49&quot;;
+		rLen = 0;
+		rLoc = 1787;
+		rType = 0;
+		vrLen = 800;
+		vrLoc = 1051;
+	};
+	BEE74D1B0E64BD090081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 49&quot;;
+		rLen = 0;
+		rLoc = 1787;
+		rType = 0;
+		vrLen = 874;
+		vrLoc = 1051;
+	};
+	BEE74D1D0E64C1CE0081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 15&quot;;
+		rLen = 216;
+		rLoc = 305;
+		rType = 0;
+		vrLen = 679;
+		vrLoc = 75;
+	};
+	BEE74D1F0E64C2500081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 56&quot;;
+		rLen = 0;
+		rLoc = 1870;
+		rType = 0;
+		vrLen = 790;
+		vrLoc = 1069;
+	};
+	BEE74D210E64C2730081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 49&quot;;
+		rLen = 0;
+		rLoc = 1612;
+		rType = 0;
+		vrLen = 769;
+		vrLoc = 1069;
+	};
+	BEE74D230E64C2820081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 50&quot;;
+		rLen = 0;
+		rLoc = 1646;
+		rType = 0;
+		vrLen = 783;
+		vrLoc = 1069;
+	};
+	BEE74D240E64C29D0081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 36&quot;;
+		rLen = 711;
+		rLoc = 1159;
+		rType = 0;
+		vrLen = 775;
+		vrLoc = 974;
+	};
+	BEE74D250E64C8180081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 40&quot;;
+		rLen = 0;
+		rLoc = 1153;
+		rType = 0;
+		vrLen = 819;
+		vrLoc = 504;
+	};
+	BEE74D270E64C8490081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 40&quot;;
+		rLen = 0;
+		rLoc = 1153;
+		rType = 0;
+		vrLen = 762;
+		vrLoc = 522;
+	};
+	BEE74D280E64C8700081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 39&quot;;
+		rLen = 0;
+		rLoc = 1110;
+		rType = 0;
+		vrLen = 718;
+		vrLoc = 469;
+	};
+	BEE74D2A0E64C8890081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 37&quot;;
+		rLen = 0;
+		rLoc = 1009;
+		rType = 0;
+		vrLen = 705;
+		vrLoc = 305;
+	};
+	BEE74D2B0E64C8920081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 36&quot;;
+		rLen = 0;
+		rLoc = 1009;
+		rType = 0;
+		vrLen = 760;
+		vrLoc = 399;
+	};
+	BEE74D2C0E64C8F30081791E /* PBXTextBookmark */ = {
+		isa = PBXTextBookmark;
+		fRef = BEE9BD040E5F404A00CBCEC3 /* MWController.py */;
+		name = &quot;MWController.py: 31&quot;;
+		rLen = 0;
+		rLoc = 780;
+		rType = 0;
+		vrLen = 760;
+		vrLoc = 399;
+	};
 	BEE9BCD90E5F354700CBCEC3 /* MetaWindow */ = {
 		isa = PBXExecutable;
 		activeArgIndices = (
@@ -1080,9 +1736,9 @@
 	};
 	BEE9BD040E5F404A00CBCEC3 /* MWController.py */ = {
 		uiCtxt = {
-			sepNavIntBoundsRect = &quot;{{0, 0}, {543, 1176}}&quot;;
-			sepNavSelRange = &quot;{2131, 118}&quot;;
-			sepNavVisRange = &quot;{1765, 1009}&quot;;
+			sepNavIntBoundsRect = &quot;{{0, 0}, {512, 1526}}&quot;;
+			sepNavSelRange = &quot;{780, 0}&quot;;
+			sepNavVisRange = &quot;{399, 760}&quot;;
 			sepNavWindowFrame = &quot;{{132, 40}, {783, 738}}&quot;;
 		};
 	};</diff>
      <filename>MetaWindow.xcodeproj/will.pbxuser</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>build/MetaWindow.build/MetaWindow.pbxindex/cdecls.pbxbtree</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>build/MetaWindow.build/MetaWindow.pbxindex/decls.pbxbtree</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>build/MetaWindow.build/MetaWindow.pbxindex/files.pbxbtree</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>build/MetaWindow.build/MetaWindow.pbxindex/pbxindex.header</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>build/MetaWindow.build/MetaWindow.pbxindex/refs.pbxbtree</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>build/MetaWindow.build/MetaWindow.pbxindex/strings.pbxstrings/control</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>build/MetaWindow.build/MetaWindow.pbxindex/strings.pbxstrings/strings</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>build/MetaWindow.build/MetaWindow.pbxindex/symbols0.pbxsymbols</filename>
    </modified>
    <modified>
      <diff>@@ -19,6 +19,7 @@ import MetaWindowAppDelegate
 import MWController
 import MWDragWindow
 import MWDragArrayController
+import MWRowWindowController
 
 # pass control to AppKit
 AppHelper.runEventLoop()</diff>
      <filename>main.py</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>5fb4dd9b38c0853b004e49675b7a405dd21f0dc8</id>
    </parent>
  </parents>
  <author>
    <name>Will Larson</name>
    <email>lethain@gmail.com</email>
  </author>
  <url>http://github.com/lethain/metawindow/commit/5019a9e2ff6188503ccef0e4f303f1ed883d7e79</url>
  <id>5019a9e2ff6188503ccef0e4f303f1ed883d7e79</id>
  <committed-date>2008-08-26T16:37:44-07:00</committed-date>
  <authored-date>2008-08-26T16:37:44-07:00</authored-date>
  <message>All functionality in segment four is complete. Theoretically.</message>
  <tree>7b0e32194027cf9fd1e6432a048b2e188dace7c5</tree>
  <committer>
    <name>Will Larson</name>
    <email>lethain@gmail.com</email>
  </committer>
</commit>
