| 
					
				 | 
			
			
				@@ -486,6 +486,22 @@ referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.Object); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+"_isBoolean", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "isBoolean", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+category: 'testing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) { 
return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, self, "isBoolean", [], smalltalk.Object)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "isBoolean\x0a\x09^ false", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.Object); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 "_isClass", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1041,17 +1057,16 @@ selector: "=", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'comparing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (aBoolean){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx1) { 
var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=_st(_st(aBoolean)._class()).__eq(_st(self)._class()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if(! smalltalk.assert($1)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return Boolean(self == true) == aBoolean; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) { 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    	if(! aBoolean._isBoolean || ! aBoolean._isBoolean()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        	return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    	return Boolean(self == true) == aBoolean 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self}, self, "=", [aBoolean], smalltalk.Boolean)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aBoolean"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "= aBoolean\x0a\x09aBoolean class = self class ifFalse: [^false].\x0a\x09<return Boolean(self == true) == aBoolean>", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["ifFalse:", "=", "class"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "= aBoolean\x0a\x09<\x0a    \x09if(! aBoolean._isBoolean || ! aBoolean._isBoolean()) {\x0a        \x09return false;\x0a        }\x0a    \x09return Boolean(self == true) == aBoolean\x0a    >", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.Boolean); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1206,6 +1221,22 @@ referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.Boolean); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+"_isBoolean", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "isBoolean", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+category: 'testing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) { 
return true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, self, "isBoolean", [], smalltalk.Boolean)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "isBoolean\x0a\x09^ true", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.Boolean); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 "_not", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2261,13 +2292,14 @@ selector: "addObjectVariablesTo:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'proxy', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (aDictionary){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx1) { 
for(var i in self['@jsObject']) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-		aDictionary._at_put_(i, self['@jsObject'][i]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) { 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    	for(var i in self['@jsObject']) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			aDictionary._at_put_(i, self['@jsObject'][i]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self}, self, "addObjectVariablesTo:", [aDictionary], smalltalk.JSObjectProxy)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aDictionary"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "addObjectVariablesTo: aDictionary\x0a\x09<for(var i in self['@jsObject']) {\x0a\x09\x09aDictionary._at_put_(i, self['@jsObject'][i]);\x0a\x09}>.", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "addObjectVariablesTo: aDictionary\x0a\x09<\x0a    \x09for(var i in self['@jsObject']) {\x0a\x09\x09\x09aDictionary._at_put_(i, self['@jsObject'][i]);\x0a\x09\x09}\x0a    >", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2307,6 +2339,29 @@ referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.JSObjectProxy); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+"_canForwardMessage_", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "canForwardMessage:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+category: 'testing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (aMessage){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) { 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    	var jsSelector = aMessage._selector()._asJavaScriptSelector(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    	if(jsSelector in self._jsObject()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        	return true 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        	return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, self, "canForwardMessage:", [aMessage], smalltalk.JSObjectProxy)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: ["aMessage"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "canForwardMessage: aMessage\x0a\x09<\x0a    \x09var jsSelector = aMessage._selector()._asJavaScriptSelector();\x0a    \x09if(jsSelector in self._jsObject()) {\x0a        \x09return true\x0a        } else {\x0a        \x09return false;\x0a        }\x0a    >", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.JSObjectProxy); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 "_doesNotUnderstand_", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2314,19 +2369,37 @@ selector: "doesNotUnderstand:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'proxy', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (aMessage){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) { 
var $2,$3,$1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2=_st(self)._canForwardMessage_(aMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+if(smalltalk.assert($2)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=_st(self)._forwardMessage_(aMessage); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$3=smalltalk.Object.fn.prototype._doesNotUnderstand_.apply(_st(self), [aMessage]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return $3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}, self, "doesNotUnderstand:", [aMessage], smalltalk.JSObjectProxy)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: ["aMessage"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "doesNotUnderstand: aMessage\x0a    \x0a   ^ (self canForwardMessage: aMessage) \x0a    \x09ifTrue: [ self forwardMessage: aMessage ]\x0a        ifFalse: [ ^ super doesNotUnderstand: aMessage ]\x0a    ", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["ifTrue:ifFalse:", "forwardMessage:", "doesNotUnderstand:", "canForwardMessage:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.JSObjectProxy); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+"_forwardMessage_", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "forwardMessage:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+category: 'proxy', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (aMessage){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) { 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	var jsSelector = aMessage._selector()._asJavaScriptSelector(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        var object = self._jsObject(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    	if(jsSelector in object) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        	return smalltalk.send(object, jsSelector, aMessage._arguments()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    	return smalltalk.send(self._jsObject(), aMessage._selector()._asJavaScriptSelector(), aMessage._arguments()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.Object.fn.prototype._doesNotUnderstand_.apply(_st(self), [aMessage]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, self, "doesNotUnderstand:", [aMessage], smalltalk.JSObjectProxy)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, self, "forwardMessage:", [aMessage], smalltalk.JSObjectProxy)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aMessage"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "doesNotUnderstand: aMessage\x0a\x09<\x0a    \x09var jsSelector = aMessage._selector()._asJavaScriptSelector();\x0a        var object = self._jsObject();\x0a    \x09if(jsSelector in object) {\x0a        \x09return smalltalk.send(object, jsSelector, aMessage._arguments());\x0a        }\x0a    >.\x0a    \x0a\x09super doesNotUnderstand: aMessage", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["doesNotUnderstand:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "forwardMessage: aMessage\x0a\x09<\x0a    \x09return smalltalk.send(self._jsObject(), aMessage._selector()._asJavaScriptSelector(), aMessage._arguments());\x0a    >", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.JSObjectProxy); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2574,17 +2647,16 @@ selector: "=", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'comparing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (aNumber){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx1) { 
var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=_st(aNumber)._isNumber(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-if(! smalltalk.assert($1)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return Number(self) == aNumber; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) { 
 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    	if(! aNumber._isNumber || ! aNumber._isNumber()) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        	return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    	return Number(self) == aNumber 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self}, self, "=", [aNumber], smalltalk.Number)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aNumber"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "= aNumber\x0a\x09aNumber isNumber ifFalse: [^false]. \x0a\x09<return Number(self) == aNumber>", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["ifFalse:", "isNumber"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "= aNumber\x0a\x09<\x0a    \x09if(! aNumber._isNumber || ! aNumber._isNumber()) {\x0a        \x09return false;\x0a        }\x0a    \x09return Number(self) == aNumber\x0a    >", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.Number); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -2682,13 +2754,10 @@ selector: "abs", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 category: 'arithmetic', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx1) { 
var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=Math.abs(self);; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}, self, "abs", [], smalltalk.Number)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) { 
return Math.abs(self);; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, self, "abs", [], smalltalk.Number)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "abs\x0a\x09^ <Math.abs(self);>", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "abs\x0a\x09<return Math.abs(self);>", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 messageSends: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3726,6 +3795,29 @@ referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.Package); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+"_setupClasses", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+selector: "setupClasses", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+category: 'classes', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+fn: function (){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx1) { 
var $1,$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$1=_st(self)._classes(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st($1)._do_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx2) { 
return _st(_st((smalltalk.ClassBuilder || ClassBuilder))._new())._setupClass_(each); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$2=_st($1)._do_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx2) { 
return _st(each)._initialize(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return self}, self, "setupClasses", [], smalltalk.Package)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+args: [], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "setupClasses\x0a\x09self classes\x0a\x09\x09do: [ :each | ClassBuilder new setupClass: each ];\x0a\x09\x09do: [ :each | each initialize ]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["do:", "setupClass:", "new", "classes", "initialize"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+referencedClasses: ["ClassBuilder"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+smalltalk.Package); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 "_sortedClasses", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3746,27 +3838,6 @@ smalltalk.Package); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.Package.klass.iVarNames = ['defaultCommitPathJs','defaultCommitPathSt']; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-"_commitToLocalStorage_", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-selector: "commitToLocalStorage:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-category: 'loading-storing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (aPackageName){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx1) { 
$ctx1.key=nil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.sourceCode=nil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.locals.key=_st("smalltalk.packages.").__comma(aPackageName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.locals.sourceCode=_st(_st((smalltalk.Exporter || Exporter))._new())._exportPackage_(aPackageName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-localStorage[key] = escape(sourceCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, self, "commitToLocalStorage:", [aPackageName], smalltalk.Package.klass)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-args: ["aPackageName"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "commitToLocalStorage: aPackageName\x0a\x09| key sourceCode |\x0a\x09key := 'smalltalk.packages.' , aPackageName.\x0a\x09sourceCode := Exporter new exportPackage: aPackageName.\x0a\x09<localStorage[key] = escape(sourceCode)>", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: [",", "exportPackage:", "new"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-referencedClasses: ["Exporter"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.Package.klass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 "_defaultCommitPathJs", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3869,48 +3940,21 @@ category: 'loading-storing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (aPackageName,aPrefix){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) { 
_st(jQuery)._getScript_onSuccess_(_st(_st(aPrefix).__comma(aPackageName)).__comma(".js"),(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx2) { 
return _st((smalltalk.Package || Package))._init_(aPackageName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+return smalltalk.withContext(function($ctx2) { 
return _st(_st((smalltalk.Package || Package))._named_(aPackageName))._setupClasses(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 })})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self}, self, "fetch:prefix:", [aPackageName,aPrefix], smalltalk.Package.klass)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["aPackageName", "aPrefix"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "fetch: aPackageName prefix: aPrefix\x0a\x09jQuery getScript: (aPrefix , aPackageName , '.js') onSuccess: [ Package init: aPackageName ]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["getScript:onSuccess:", ",", "init:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "fetch: aPackageName prefix: aPrefix\x0a\x09jQuery \x0a    \x09getScript: (aPrefix , aPackageName , '.js') \x0a        onSuccess: [ \x0a        \x09(Package named: aPackageName) setupClasses ]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["getScript:onSuccess:", ",", "setupClasses", "named:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: ["Package"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.Package.klass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-"_init_", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-selector: "init:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-category: 'loading-storing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-fn: function (aPackageName){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx1) { 
var $1,$2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$1=_st(_st(smalltalk)._classes())._select_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx2) { 
return each.pkg.pkgName == aPackageName; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-_st($1)._do_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx2) { 
return smalltalk.init(each); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$2=_st($1)._do_((function(each){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return smalltalk.withContext(function($ctx2) { 
return _st(each)._initialize(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-})})); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-return self}, self, "init:", [aPackageName], smalltalk.Package.klass)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-args: ["aPackageName"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "init: aPackageName\x0a\x09(smalltalk classes select: [ :each | <each.pkg.pkgName == aPackageName> ])\x0a\x09\x09do: [ :each | <smalltalk.init(each)> ];\x0a\x09\x09do: [ :each | each initialize ]", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["do:", "select:", "classes", "initialize"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-}), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.Package.klass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 "_named_", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "named:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-category: 'not yet classified', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (aPackageName){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) { 
var $1; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -3928,7 +3972,7 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 "_named_ifAbsent_", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "named:ifAbsent:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-category: 'not yet classified', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (aPackageName,aBlock){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) { 
var $1; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4308,7 +4352,7 @@ smalltalk.addMethod( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 "_basicParse_", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.method({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 selector: "basicParse:", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-category: 'accessing', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+category: 'private', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (aString){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) { 
return smalltalk.parser.parse(aString); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4578,7 +4622,7 @@ category: 'packages', 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 fn: function (packageName,newName){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var self=this; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx1) { 
var $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-$ctx1.pkg=nil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+$ctx1.locals.pkg=nil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 $ctx1.locals.pkg=_st(self)._packageAt_ifAbsent_(packageName,(function(){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return smalltalk.withContext(function($ctx2) { 
return _st(self)._error_(_st("Missing package: ").__comma(packageName)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 })})); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -4588,14 +4632,13 @@ $1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st(self)._error_(_st("Already exists a package called: ").__comma(newName)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-smalltalk.packages[newName] = smalltalk.packages[packageName]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+_st(_st(self)._basicAt_("packages"))._at_put_(newName,$ctx1.locals.pkg); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st($ctx1.locals.pkg)._name_(newName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 _st(self)._deletePackage_(packageName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 return self}, self, "renamePackage:to:", [packageName,newName], smalltalk.Smalltalk)}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 args: ["packageName", "newName"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-source: "renamePackage: packageName to: newName\x0a\x09\x22Rename a package.\x22\x0a\x0a\x09| pkg |\x0a\x09pkg := self packageAt: packageName ifAbsent: [self error: 'Missing package: ', packageName].\x0a\x09(self packageAt: newName) ifNotNil: [self error: 'Already exists a package called: ', newName].\x0a\x09<smalltalk.packages[newName] = smalltalk.packages[packageName]>.\x0a\x09pkg name: newName.\x0a\x09self deletePackage: packageName.", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-messageSends: ["packageAt:ifAbsent:", "error:", ",", "ifNotNil:", "packageAt:", "name:", "deletePackage:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+source: "renamePackage: packageName to: newName\x0a\x09\x22Rename a package.\x22\x0a\x0a\x09| pkg |\x0a\x09pkg := self packageAt: packageName ifAbsent: [self error: 'Missing package: ', packageName].\x0a\x09(self packageAt: newName) ifNotNil: [self error: 'Already exists a package called: ', newName].\x0a    (self basicAt: 'packages') at: newName put: pkg.\x0a\x09pkg name: newName.\x0a\x09self deletePackage: packageName.", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+messageSends: ["packageAt:ifAbsent:", "error:", ",", "ifNotNil:", "packageAt:", "at:put:", "basicAt:", "name:", "deletePackage:"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 referencedClasses: [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 }), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 smalltalk.Smalltalk); 
			 |