[squeak-dev] Squeak 4.6: Help-Squeak-Project-kfr.24.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Jun 5 20:24:32 UTC 2015


Chris Muller uploaded a new version of Help-Squeak-Project to project Squeak 4.6:
http://source.squeak.org/squeak46/Help-Squeak-Project-kfr.24.mcz

==================== Summary ====================

Name: Help-Squeak-Project-kfr.24
Author: kfr
Time: 22 April 2015, 3:29:25.774 pm
UUID: 62100bc2-19ca-f343-8b70-6725ba56064a
Ancestors: Help-Squeak-Project-kfr.23

Changed around introduction in help a little

==================== Snapshot ====================

SystemOrganization addCategory: #'Help-Squeak-Project'!

(PackageInfo named: 'Help-Squeak-Project') postscript: '| aForm aSecondForm |

aForm := ScriptingSystem formAtKey: #Debugger1.
	aForm ifNil:
		[aForm := Form
	extent: 379 at 117
	depth: 32
	fromArray: #( 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4289502107 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4288651167 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294963134 4284684289 4278190089 4278190089 4278716433 4279773498 4283065212 4289054440 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294963134 4284684289 4278192186 4287420152 4294967295 4294965199 4286863939 4282534508 4289060607 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294963134 4284684289 4278190105 4282542972 4286280556 4283576601 4278714369 4278192170 4285249000 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294963134 4284684289 4278192186 4287420152 4294967295 4294963134 4284684289 4278192186 4287420152 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294963134 4284684289 4278192186 4287420152 4294967295 4294967272 4290081586 4278714369 4278729101 4292278271 4294967295 4294967280 4291730548 4283052313 4279240713 4279247162 4284122286 4292802559 4294967295 4294963134 4284684289 4278192186 4287420152 4294963134 4284684289 4278190089 4278190089 4278190089 4278196324 4290637823 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294963134 4284684289 4278192186 4287420152 4294967295 4294967295 4294958749 4282519553 4278194251 4289060607 4294967287 4292254795 4279762945 4278196282 4284115820 4283574545 4278190089 4280904630 4293918719 4294963134 4284684289 4278192186 4287420152 4294965215 4289561691 4281403393 4278190105 4282542972 4286287022 4292802559 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 4294967295 42...etc...!

CustomHelp subclass: #SqueakHelp
	instanceVariableNames: ''
	classVariableNames: ''
	poolDictionaries: ''
	category: 'Help-Squeak-Project'!

----- Method: SqueakHelp class>>bookName (in category 'accessing') -----
bookName 
	^'Squeak'!

----- Method: SqueakHelp class>>icon (in category 'accessing') -----
icon
	(self name = #SqueakHelp) ifTrue: [^HelpIcons iconNamed: #squeakIcon].
	^nil!

----- Method: SqueakHelp class>>introduction (in category 'as yet unclassified') -----
introduction
	"This method was automatically generated. Edit it using:"
	"a HelpBrowser edit: #introduction"
	^HelpTopic
		title: 'Welcome'
		contents: 
 'WELCOME

Squeak is a modern, open source, full-featured implementation of the powerful Smalltalk programming language and environment. 

Squeak is highly-portable - even its virtual machine is written entirely in Smalltalk making it easy to debug, analyze, and change. 

Squeak is the vehicle for a wide range of projects from multimedia applications, educational platforms to commercial web application development.!!
]style[(7 2 6 72 9 41 6 70 9 49 6 139)bc000000000a0FBitstreamVeraSerif#20.0,c000000000,FBitstreamVeraSerif#16.0ba0c000000000,FBitstreamVeraSerif#16.0a0c000000000,FBitstreamVeraSerif#16.0ba0c000000000,FBitstreamVeraSerif#16.0a0c000000000,FBitstreamVeraSerif#16.0ba0c000000000,FBitstreamVeraSerif#16.0a0c000000000,FBitstreamVeraSerif#16.0ba0c000000000,FBitstreamVeraSerif#16.0a0c000000000,FBitstreamVeraSerif#16.0ba0c000000000,FBitstreamVeraSerif#16.0a0c000000000!!' readStream nextChunkText!

----- Method: SqueakHelp class>>pages (in category 'accessing') -----
pages
	^#(introduction SqueakProjectHelp SqueakToolsHelp SqueakTutorials)!

SqueakHelp subclass: #SqueakProjectHelp
	instanceVariableNames: ''
	classVariableNames: ''
	poolDictionaries: ''
	category: 'Help-Squeak-Project'!

SqueakProjectHelp subclass: #SqueakLicenseHelp
	instanceVariableNames: ''
	classVariableNames: ''
	poolDictionaries: ''
	category: 'Help-Squeak-Project'!

----- Method: SqueakLicenseHelp class>>bookName (in category 'accessing') -----
bookName 
	^'License'!

----- Method: SqueakLicenseHelp class>>licenseChange (in category 'pages') -----
licenseChange
	^HelpTopic 
		title: 'License has changed with 4.0'
		contents: 'On 23 September 1996, Apple Computer Inc. released Squeak V1.1 under the "Squeak License" (SqL).

On May 8, 2006 Apple agreed to relicense original Squeak V1.1 under the Apple Public Source License.

On October 12, 2006 Apple granted permission to relicense under Apache license 2.0.

In 2006, VPRI began to collect "Distribution Agreements" for all contributors to Squeak since V1.1 up to V3.8, asking them to relicense their contributions, which were originally licensed under SqL, to the MIT license. This was a great effort on behalf of many and VPRI has 100s of signed documents agreeing to this.

Do you want to contribute source to Squeak?All new contributions since 4.0 must be under the MIT license. When you make your code available, please state explicitly in some form such as the description on a web site or email announcement that your contribution is under the MIT license. (It doesn''t have to be exclusive; you can release it under difference licenses at the same time.)

Have you contributed source to Squeak? If you believe you have, but have not sent in an agreement to allow your submission(s) to be licensed under the MIT license then please see http://netjam.org/squeak/contributors. There you can find a list of known contributors and a PDF of the agreement with instructions. The snail mail address is found in the agreement PDF file.

Also there are a few people for which we are lacking full contact information. If you think you can help please also visit the link above and see if you can identify any of the unknown developer initials or any of the developers for whom we do not have a current email address.' !

----- Method: SqueakLicenseHelp class>>officialLicense (in category 'pages') -----
officialLicense
	^HelpTopic 
		title: 'Official License - 4.0'
		contents: 'Copyright (c) The individual, corporate, and institutional contributors who have collectively contributed elements to this software ("The Squeak Community"), 1996-2011 All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

Portions of Squeak are covered by the following license


Copyright (c) Xerox Corp. 1981, 1982 All rights reserved.
Copyright (c) Apple Computer, Inc. 1985-1996 All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.'!

----- Method: SqueakLicenseHelp class>>pages (in category 'accessing') -----
pages
	^#(licenseChange officialLicense)!

----- Method: SqueakProjectHelp class>>bookName (in category 'accessing') -----
bookName 
	^'The Project'!

----- Method: SqueakProjectHelp class>>extendingTheSystem (in category 'pages') -----
extendingTheSystem
	^HelpTopic
		title: 'Extending The System'
		icon: (HelpIcons iconNamed: #squeakIcon)
		contents:
'SqueakMap is an integrated catalog of external applications for Squeak.  It is accessible from the "Apps" menu.  This catalog does not host the projects, it merely documents the load scripts required to correctly bring them into the image.

Many SqueakMap packages use Installer, which defines several packages in its package-definitions protocol.  Any of these can be loaded with an expression like the following:

	Installer new merge: #openGL

Change #openGL to the selector name of the package you want to load.  The latest version of that package and all of its prerequisites will be merged into the image.  Merging a package is no different from loading it unless the package is already loaded, in which case it is upgraded to the latest version in a way that preserves any local changes you may already have made.

---------------
This remainder of this workspace documents load-scripts for packages that are not documented in either SqueakMap or Installer.

OCompletion
"Provides source code completion as you type"
(Installer ss project: ''OCompletion'') install: ''Ocompletion''.
(Smalltalk at: #ECToolSet) register.
(Smalltalk at: #ToolSet) default: (Smalltalk at: #ECToolSet).

Omnibrowser
"Including Refactoring engine"
(Installer ss project: ''MetacelloRepository'') install: ''ConfigurationOfOmniBrowser''.
((Smalltalk at: #ConfigurationOfOmniBrowser) project perform: #lastVersion) load: #( Dev ).

Pier CMS
"Pier CMS: http://www.piercms.com"
(Installer ss project: ''MetacelloRepository'') install: ''ConfigurationOfPier2''.
(Smalltalk at: #ConfigurationOfPier2) load.

(Installer lukas project: ''pier2'') install: ''Pier-Blog''.
(Installer lukas project: ''pier2'') install: ''Pier-Book''.
(Installer lukas project: ''pier2addons'') install: ''Pier-Setup''.
(Smalltalk at: #PRDistribution)  new register.

Open Cobalt
"http://opencobalt.org (Best to run this from an image in an open cobalt directory)"
Installer ss project: ''TweakCore''; install: ''update''.
[Installer ss project: ''TweakExtras''; install: ''update'']
	on: (Smalltalk at: #CUnsynchronizedModification) do: [:ex | ex resume].
Installer cobalt project: ''Tweak'';
	answer: ''Would you like to conserve memory at all costs?'' with: true;
	answer: ''Password for interactive VNC connections?'' with: ''cobalt'';
	answer: ''Would you like to add the RFBServer to the World open menu?'' with: true;
	install: ''update''
!!
]style[(9 309 19 252 6 126 8 237 11 209 11 210 8 386 11 547)dSMLoaderPlus open;;,,d| newBrowser |
newBrowser := Browser new selectSystemCategory: ''Installer-Core''; selectClass: Installer; metaClassIndicated: false; selectMessageCategoryNamed: ''package-definitions''; selectMessageNamed: #openGL.
Browser openBrowserView: (newBrowser openMessageCatEditString: nil) label: ''External Package Definitions'';;,,i,,u,,bu,,bu,,bu,,bu,!!' readStream nextChunkText!

----- Method: SqueakProjectHelp class>>pages (in category 'accessing') -----
pages
	^#(releaseNotes4point5 extendingTheSystem squeakResourcesOnline squeakUserInterface workingWithSqueak)!

----- Method: SqueakProjectHelp class>>releaseNotes4point5 (in category 'pages') -----
releaseNotes4point5
	^HelpTopic
		title: 'Squeak 4.5 Theodor'
		icon: (HelpIcons iconNamed: #squeakIcon)
		contents:
'Squeak 4.5 ---- Theodor
===================

______________________________________________
Language enhancements:

Environments
	Environments allows multiple classes with the same name to exist in the same image, with code referencing through its class'' "environment".

Collections
	New and improved sorting utilities for Arrays and OrderedCollections.
	New FloatCollection inherits the convenient add:/remove: API of OrderedCollection, but using an internal FloatArray for better efficiency.
	An all-new LRUCache implementation.
	Promise is now a fully chainable object with decent error handling.
	Compiler

Numerics
	Faster and better Random.
	log/ln fixed for integers.

Dates and Times
	New methods provide access to primitive 240 and 241, which can provide microsecond resolution timestamps on Cog VMs.
	New convenience methods allow creating DateAndTimes relative to now (e.g., "5 minutes ago").
	Parsing improvements.

Text, Graphics, Sound
	Form>pixelValueAt: now makes use of the new primitivePixelValueAt:, avoiding the overhead of a full BitBlt.
	Elimination of the dual hierarchy of NewParagraph & MultiNewParagraph etc and TextStopConditions and lots of Scanner improvements.
	PaintBoxMorph re-engineering.
	ADPCMCodec performance improvement.

______________________________________________
IDE, Monticello and Trunk process improvements:

	Several MVC fixes allow debugging in MVC once again.
	Smart-Splitters causes the bars between browser panes to automatically optimize their position.
	Fixed color-selection from anywhere on the screen working again.
	Improved command-line interface via Smalltalk run: [ :arg1 :arg2 | ... ].
	squeakDebug.log report length is now settable.
	MCReorganizationPreloader now resolves moves between arbitrary packages, independent of their order in the configuration.
	mcz/snapshot/source.st now encoded in UTF8 instead of latin-1.
	New pre-selection highlight feature for lists.
	System space analysis now available in Help | About.
	Message-traces can be pared more easily.

______________________________________________
Configuration
	Lots of improvements in the CI build/test slave.
	Installer now documents externally-loadable packages as simple literal structures that can be merged via Installer>>#merge:.
	MC ancestry history strings can now be stubbed for a smaller image and sustainable MC history.

______________________________________________
History and Accounting Tools
	A great new historical website by Bob Arning.
	MC history and origin is now available for methods and class-definitions from browser menus.
	A new amazing ObjectHistory makes it possible to efficiently track the born-on date of any object to a resolution of one minute.
	Added "search history" to Package history browser.

______________________________________________
Fixes and cleanups
	Packages organized toward eliminating circular dependencies, and with proper concern for existing and future UI frameworks.
	Updated uses of SmalltalkImage current to, simply, "Smalltalk."
	Moving away from use of Utilities.
	More preferences made pragma-based.
	Compiler factorings and cleanups.
	Diminished excessive usage of ReadWriteStream.
	ProtoObject API balanced and minimal.
	Moved classifying and logging behavior out of Compiler (a responsibility of Behavior).

______________________________________________
Application Upgrade Notes
	Default Float printing is now true to its internal representation. Apps must now use appropriate methods to format Floats rather than roundTo:.
	($a to: $b) now returns ''ab'' rather than #($a $b).
	Remove OneCharacterSymbols optimization.
	LRUCache instance migrations, if any. See post-scripts in Collections-ul.546, 547
	Rectangles with 0 area (e.g., lines) can now intersect.



This release is dedicated
to the memory of our friend
Andreas Raab (1968 -- 2013)
!!
]style[(10 1 4 1 7 1 19 1 1 47 22 2 13 142 11 329 8 57 15 237 21 358 48 720 13 321 28 372 18 522 25 382 1 5 7 4 9 56 1)ba2FBitstreamVeraSerif#32.0,a2FBitstreamVeraSerif#32.0,a2--FBitstreamVeraSerif#32.0,a2FBitstreamVeraSerif#32.0,ia2FBitstreamVeraSerif#32.0,FBitstreamVeraSerif#24.0a2,FBitstreamVeraSerif#24.0----a2,FBitstreamVeraSerif#24.0a2,,FBitstreamVeraSerif#16.0,FBitstreamVeraSerif#24.0,,bFBitstreamVeraSerif#16.0,FBitstreamVeraSerif#16.0,bFBitstreamVeraSerif#16.0,FBitstreamVeraSerif#16.0,bFBitstreamVeraSerif#16.0,FBitstreamVeraSerif#16.0,bFBitstreamVeraSerif#16.0,FBitstreamVeraSerif#16.0,bFBitstreamVeraSerif#16.0,FBitstreamVeraSerif#16.0,FBitstreamVeraSerif#24.0,FBitstreamVeraSerif#16.0,FBitstreamVeraSerif#24.0,FBitstreamVeraSerif#16.0,FBitstreamVeraSerif#24.0,FBitstreamVeraSerif#16.0,FBitstreamVeraSerif#24.0,FBitstreamVeraSerif#16.0,FBitstreamVeraSerif#24.0,FBitstreamVeraSerif#16.0,,FBitstreamVeraSerif#16.0ia2,FBitstreamVeraSerif#16.0iba2,FBitstreamVeraSerif#16.0ia2,FBitstreamVeraSerif#16.0iba2,FBitstreamVeraSerif#16.0ia2,!!' readStream nextChunkText!

----- Method: SqueakProjectHelp class>>squeakResourcesOnline (in category 'pages') -----
squeakResourcesOnline
	^HelpTopic
		title: 'Squeak Resources Online'
		icon: (HelpIcons iconNamed: #squeakIcon)
		contents:
'Squeak web sites
	Main Squeak site						http://www.squeak.org
	Weekly Squeak							http://news.squeak.org
	Oversight Board						http://board.squeak.org
	Downloads for many versions			http://ftp.squeak.org
	Development of the virtual machine	http://squeakvm.org
	Google+ Page
		https://plus.google.com/u/0/b/115950529692424242526/
	
Squeak-dev - The main Squeak mailing list
	http://lists.squeakfoundation.org/mailman/listinfo/squeak-dev
	http://dir.gmane.org/gmane.comp.lang.smalltalk.squeak.general
	http://n4.nabble.com/Squeak-Dev-f45488.html

Squeak-Beginners - The place to ask even the most basic questions
	http://lists.squeakfoundation.org/mailman/listinfo/beginners
	http://dir.gmane.org/gmane.comp.lang.smalltalk.squeak.beginners
	http://n4.nabble.com/Squeak-Beginners-f107673.html

Squeak By Example
	http://www.squeakbyexample.org/

Squeak, Open Personal Computing and Multimedia
	http://coweb.cc.gatech.edu/squeakbook/
	http://stephane.ducasse.free.fr/FreeBooks/CollectiveNBlueBook/

Squeak, Open Personal Computing for Multimedia
	http://www.cc.gatech.edu/~mark.guzdial/drafts/
	http://stephane.ducasse.free.fr/FreeBooks/GuzdialBookDrafts/

More Books about Squeak and Smalltalk
	http://stephane.ducasse.free.fr/FreeBooks.html
!!
]style[(16 316 41 173 65 181 17 35 46 106 46 112 37 49)bu,,bu,,bu,,bu,,bu,,bu,,bu,!!' readStream nextChunkText
!

----- Method: SqueakProjectHelp class>>squeakUserInterface (in category 'pages') -----
squeakUserInterface
	^HelpTopic
		title: 'Squeak User Interface'
		icon: (HelpIcons iconNamed: #squeakIcon)
		contents:
'The Squeak UI has some unusual elements that you may not have seen before. Here is a brief introduction to those elements:

Projects
A project is an entire Squeak desktop full of windows.  Projects are can be used to change quickly from one task to another.  An inactive project is represented by a project window that shows a thumbnail of that project''s windows.  Project windows are actually more like doors than windows, since you can enter the project just by clicking on its project window.  You can create a new project by choosing ''open...project'' from the screen menu.  To exit a project (and return to its parent project), choose ''previous project'' from the screen menu.  Each project maintains its set of windows, plus its own set of Smalltalk changes and its own screen color depth.

Morphic Halos
In a morphic project, cmd-click (alt-click) on a window or other graphical object will bring up a constellation of colored circles called "halo handles" around that object.  Additional clicks will cycle through the halos for other graphical objects in the nesting structure.  If you hold down the Shift key while cmd-clicking, the nested morphs will be traversed from innermost outward.  Clicking without the cmd (alt) key will dismiss the halo.  While the halo is up, letting the cursor linger over one of the halo handles for a few seconds will cause a balloon to pop up with the name of that handle.  Three useful handles are the top-left "X" handle (delete), the bottom-right yellow handle (resize), and the brown handle (slide the object within its containing object).  Halos allow complex graphical objects to be explored--or even disassembled (using the black halo handle).  Usually no harm results from taking apart an object; you can just discard the pieces and create a new one.

Flaps
To enable Flaps, click on the desktop to show the world menu, choose the "Flaps..." menu and "show shared tags". Tabs labeled "Squeak", "Tools", "Supplies", etc., will appear along the edges of the Squeak desktop.  Click on any tab to open the corresponding flap.  Drag a tab to resize the flap and to relocate the tab.  Bring up the halo on any tab and click on its menu handle to be presented with many options relating to the flap.  Use the "Flaps..." menu, reached via the desktop menu, to control which flaps are visible and for other flap-related options and assistance.

Parts Bins
You can obtain new objects in many ways.  The "Objects Catalog" (choose "objects'' from the world menu or open the objects flap) and several of the standard flaps (e.g. "Tools" and "Supplies") serve as "Parts Bins" the for new objects.  Drag any icon you see in a Parts Bin and a fresh copy of the kind of object it represents will appear "in your hand"; click to deposit the new object anywhere you wish.  You can also add your own objects to any of the flaps -- just drag your object over the tab, wait for the flap to pop open, then drop the object at the desired position in the flap.
!!
]style[(123 9 663 13 991 5 579 10 589),bu,,bu,,bu,,bu,!!' readStream nextChunkText!

----- Method: SqueakProjectHelp class>>workingWithSqueak (in category 'pages') -----
workingWithSqueak
	^HelpTopic
		title: 'Working with Squeak'
		icon: (HelpIcons iconNamed: #squeakIcon)
		contents:
'Starting and Quitting
Like most Smalltalk''s, the machine-executable portion is a relatively small program known as the "virtual machine" (VM).  The VM''s job is to provide services from the physical machine to real Smalltalk objects.  Services like input and output.  The Smalltalk system, including all data and code, is a system of objects, built from the ground up, and interpreted by this virtual computer.  This affords Smalltalk system platform portability.

Smalltalk cannot run without the VM.  The VM can''t do anything useful except process Smalltalk systems.

To start the system, drag the ".image" data file to the VM executable "squeak".  There are myriad command-line options for starting the system via the command-line (see squeak --help).  By default, the system will open on the screen in a single OS window.

To quit a Squeak session, choose ''quit'' from the menu bar.  If you save, the image file will be overwritten and resume from that place the next time it''s launched.

The Image File
Squeak is an environment built in its own objects from the ground up, including one or more end-user applications.  All of the objects in the system -- Classes, Dictionaries, Windows, Customers and other objects that make up the Squeak environment are stored in a binary ".image" file.  This is the "object-data file" loaded by the VM when Squeak is launched.

When an image is started, every object resumes exactly from where it was last saved.

The Sources File
Smalltalk is traditionally includes the source code in the running system.  However, keeping multiple copies of the same source code in all images files is wasteful.  Therefore, the source code itself is kept in a read-only .sources file and accessed by all images.  The image files merely have pointers into this file, which is read on-the-fly to present original source code.

The code of the base system is stored in the file "SqueakV41.sources".  This file does not change except between releases of Squeak.  Normally this file should be placed in the folder containing the VM executable.

The Changes File
The purpose of Squeak is to develop new programs and systems.  Code changes to the running system are effective immediately.  But since multiple images can be running, they cannot all update the .sources file safely.  Therefore, each image file is accompanied by a ".changes" file which contains source code changes for that and only that Smalltalk system..

The changes file is important for project work.  It keeps a sequential log of development activity for the purpose of recovering work performed since the last image-save.  Any of several events could lead to the need to recover work, including a power-outage or making an erroneous change to code required to keep the system running.

The changes file does not consume memory space, so Squeak is able to keep a complete history of all program changes.  This makes it easy to examine or even reinstate older versions of methods (see ''versions'' option in browser selector pane).  This encourages experimentation, since you can easily revert to the original versions of any set of methods.

In extreme cases where sources and/or changes files are not available, the system can still run, and will automatically decompile the bytecode methods in image memory, if necessary, into readable and editable versions of the original source code (only comments and temporary variable names are lost).

Transferring Code-Snippets Between Images
In addition to the ''save'' command that saves the entire state of the system, the code of individual methods, categories or classes may be ''filed out'' and then filed-in to another image.

Packages
The code of an entire project is encapsulated by a Package.  This allows users to share their code with other users.  Code of packages are delineated by the categories of their classes, and methods.  The Monticello browser is then used to wrap that code into a Package object which can be saved to a Monticello repository at http://ss3.gemtalksystems.com/ss.

Some projects end up using the resources provided by several packages, resulting in a hierarchy of packages that make up a system.  Installer can be used to install such systems.!!
]style[(21 970 14 448 16 396 11 188 16 321 4 1025 41 188 8 52 10 55 2 420)bu,,bu,,bu,,u,,bu,,u,,bu,,bu,,i,,i,!!' readStream nextChunkText!

SqueakHelp subclass: #SqueakToolsHelp
	instanceVariableNames: ''
	classVariableNames: ''
	poolDictionaries: ''
	category: 'Help-Squeak-Project'!

SqueakToolsHelp subclass: #SqueakToolsDebuggerHelp
	instanceVariableNames: ''
	classVariableNames: ''
	poolDictionaries: ''
	category: 'Help-Squeak-Project'!

----- Method: SqueakToolsDebuggerHelp class>>bookName (in category 'accessing') -----
bookName
	^'Debugger'!

----- Method: SqueakToolsDebuggerHelp class>>openingTheDebugger (in category 'pages') -----
openingTheDebugger
	^HelpTopic 
		title: 'Open a Debugger.'
		contents: 'A debugger window is opened in response to an unhandled exception condition. Evaluating the expression ''self halt'' in a workspace or as an expression in a method will cause a debugger window to be opened. The debugger provides direct interactive access to the interrupted process.

The debugger permits its interrupted process to be inspected and modified. Source code and variables may be modified interactively, and the process can be stepped through its execution in various ways.'!

----- Method: SqueakToolsDebuggerHelp class>>pages (in category 'accessing') -----
pages
	^# (whatIsADebugger openingTheDebugger usingTheDebugger)!

----- Method: SqueakToolsDebuggerHelp class>>showForm: (in category 'pages') -----
showForm: aSymbol
	| form contents |
	form := ScriptingSystem formAtKey: aSymbol.
	contents :=  (String with: Character cr) asText, 
					(Text string: ' '
					attribute: (TextFontReference toFont: 
						(FormSetFont new
							fromFormArray: (Array with: form)
							asciiStart: Character space asInteger
							ascent: form height))),
						(String with: Character cr) asText.
	^contents!

----- Method: SqueakToolsDebuggerHelp class>>usingTheDebugger (in category 'pages') -----
usingTheDebugger
	^HelpTopic 
		title: 'Debugging Loops.'
		contents: 'There are a few ways to get out of a loop.  The best way is to just let the loop run.

To do that select the space on your code (while in the Debugger) you want to jump to, right click and select: ''run to here.''

' asText, 
(self showForm: #Debugger1),
'

That will take you to the place you clicked on in your code.

There is another trick, loops usually have an index. This is Smalltalk after all.  In the case above we just selected this code and selected ''Debug it''

1 to: 100 do: [:i | Transcript show: i asString].
Transcript show: ''done''

While in the outer content evaluating the loop, select i change the value to 100 hit accept and ''bobs your uncle'' the loop is done. 

Ok so a bit of a hack but this can be used it to skip over some processing, and since you are debugging and know what you are doing it should be fine.

' asText,
(self showForm: #Debugger2),
'
Proceed is just continue and stop debugging.

Restart will stop debugging at the selected method and restart that method from the beginning.

Into goes into the execution of the next method and shows you what it does.

Over executes the next message and moves over it to the next message.

Through steps you through a block of code, so if you are about to execute a block, this steps you through that block

Full Stack increases the number of levels you see in the upper panel.  That normally shows you a subset of the execution stack.  Full stack will show you the rest of the stack that called this method.

Where is useful if you click around a method during debugging. It will highlight the code at its execution point.  You can also just select the stack method again to do the same thing.

Tally is supposed to tally selected code, but may not be reliable within the debugger. If you want to tally something do it outside a debugger.' asText!

----- Method: SqueakToolsDebuggerHelp class>>whatIsADebugger (in category 'pages') -----
whatIsADebugger
	^HelpTopic 
		title: 'What is a Debugger.'
		contents: 'A debugger represents the machine state at the time of an interrupted process. It also represent a query path into the state of the process.

The debugger is typically viewed through a window that views the stack of suspended contexts, the code for, and execution point in, the currently selected message, and inspectors on both the receiver of the currently selected message, and the variables in the current context.'!

----- Method: SqueakToolsHelp class>>basicDevelopmentTools (in category 'pages') -----
basicDevelopmentTools
	^HelpTopic 
		title: 'Basic Development Tools'
		contents: 'Smalltalk environments have some of the best user interfaces for programmers ever devised. Those who have programmed in Lisp under Emacs have some idea, but Smalltalk is even better.
		
You should learn these basic tools thoroughly:
- Workspace
- Transcript
- Browser
- Inspector
- File List
- Change Sorter
- Debugger
- Method Finder		
'!

----- Method: SqueakToolsHelp class>>bookName (in category 'accessing') -----
bookName 
	^'Tools'!

----- Method: SqueakToolsHelp class>>pages (in category 'accessing') -----
pages
	^#(basicDevelopmentTools)!

SqueakToolsHelp subclass: #SqueakToolsTranscriptHelp
	instanceVariableNames: ''
	classVariableNames: ''
	poolDictionaries: ''
	category: 'Help-Squeak-Project'!

----- Method: SqueakToolsTranscriptHelp class>>bookName (in category 'accessing') -----
bookName
	^'Transcript'!

----- Method: SqueakToolsTranscriptHelp class>>pages (in category 'accessing') -----
pages
	^# (transcript)!

----- Method: SqueakToolsTranscriptHelp class>>transcript (in category 'pages') -----
transcript
	^HelpTopic 
		title: 'The Transcript window'
		contents: 'The Transcript window is often used for logging or printing results from text only code. 
To open the Transcript use TheWorldMenu and choose ''open...''. Then choose ''Transcript''.
You can also type

   Transcript open

in a Workspace and doIt.
'!

SqueakToolsHelp subclass: #SqueakToolsWorkspaceHelp
	instanceVariableNames: ''
	classVariableNames: ''
	poolDictionaries: ''
	category: 'Help-Squeak-Project'!

----- Method: SqueakToolsWorkspaceHelp class>>bookName (in category 'accessing') -----
bookName 
	^'Workspace'!

----- Method: SqueakToolsWorkspaceHelp class>>openWorkspace (in category 'pages') -----
openWorkspace
	^HelpTopic 
		title: 'Open a Workspace'
		contents: 'You can open a Workspace window in any of the following ways:
		
- Keyboard Shortcut: while pointing at an empty part of the Squeak window, press alt-k (in Windows) or cmd-k (on a Mac)
- World Menu: select "Workspace"
- Tools Flap: click on the Tools Flap. When it comes out, drag the Workspace icon out.
- Doit: select inside the following quote and doit: "Workspace open"'!

----- Method: SqueakToolsWorkspaceHelp class>>pages (in category 'accessing') -----
pages
	^#(workspace openWorkspace saveWorkspace)!

----- Method: SqueakToolsWorkspaceHelp class>>saveWorkspace (in category 'pages') -----
saveWorkspace
	^HelpTopic 
		title: 'Saving Workspace to a File'
		contents: 'You can save the text content of a Workspace to a file by choosing the workspace menu (from within the workspace), then ''more...'', then ''save contents to file...''.'!

----- Method: SqueakToolsWorkspaceHelp class>>workspace (in category 'pages') -----
workspace
	^HelpTopic 
		title: 'What is a Workspace'
		contents: 'A Workspace is a window used as a scratchpad area where fragments of Smalltalk code can be entered, stored, edited, and evaluated.'!

SqueakHelp subclass: #SqueakTutorials
	instanceVariableNames: ''
	classVariableNames: ''
	poolDictionaries: ''
	category: 'Help-Squeak-Project'!

----- Method: SqueakTutorials class>>bookName (in category 'accessing') -----
bookName 
	^'Tutorials'!

----- Method: SqueakTutorials class>>introduction (in category 'pages') -----
introduction
	"This method was automatically generated. Edit it using:"
	"SqueakTutorials edit: #introduction"
	^HelpTopic
		title: 'Introduction'
		contents: 
'Here you will some short tutorials on how to use Squeak for daily tasks. Feel free to add your own.!!' readStream nextChunkText!

----- Method: SqueakTutorials class>>pages (in category 'accessing') -----
pages
	^#(introduction)!

SqueakTutorials subclass: #SqueakTutorialsCommandKey
	instanceVariableNames: ''
	classVariableNames: ''
	poolDictionaries: ''
	category: 'Help-Squeak-Project'!

----- Method: SqueakTutorialsCommandKey class>>bookName (in category 'as yet unclassified') -----
bookName 
	^'Command Key Mappings'!

----- Method: SqueakTutorialsCommandKey class>>commandKeyMappings (in category 'as yet unclassified') -----
commandKeyMappings
	"This method was automatically generated. Edit it using:"
	"SqueakTutorialsCommandKey edit: #commandKeyMappings"
	^HelpTopic
		title: 'Command Key Mappings'
		contents: 
'Lower-case command keys
(use with Cmd key on Mac and Alt key on other platforms)
a	Select all
b	Browse it (selection is a class name or cursor is over a class-list or message-list)
c	Copy selection
d	Do it (selection is a valid expression)
e	Exchange selection with prior selection
f	Find
g	Find again
h	Set selection as search string for find again
i	Inspect it (selection is a valid expression, or selection is over an inspect-ilst)
j	Again once (do the last text-related operation again)
k	Set font
l	Cancel
m	Implementors of it (selection is a message selector or cursor is over a class-list or message-list)
n	Senders of it (selection is a message selector or cursor is over a class-list or message-list)
o	Spawn current method
p	Print it (selection is a valid expression)
q	Query symbol (toggle all possible completion for a given prefix)
r	Recognizer
s	Save (i.e. accept)
t	Finds a Transcript (when cursor is over the desktop)
u	Toggle alignment
v	Paste
w	Delete preceding word (over text);  Close-window (over morphic desktop)
x	Cut selection
y	Swap characters
z	Undo

Note: for Do it, Senders of it, etc., a null selection will be expanded to a word or to the current line in an attempt to do what you want.  Also note that Senders/Implementors of it will find the outermost keyword selector in a large selection, as when you have selected a bracketed expression or an entire line.  Finally note that the same cmd-m and cmd-n (and cmd-v for versions) work in the message pane of most browsers.

Upper-case command keys
	(use with Shift-Cmd, or Ctrl on Mac
	or Shift-Alt on other platforms; sometimes Ctrl works too)
A	Advance argument
B	Browse it in this same browser (in System browsers only)
C	Compare the selected text to the clipboard contents
D	Duplicate
E	Method strings containing it
F	Insert ''ifFalse:''
G	fileIn from it (a file name)
H	cursor TopHome:
I	Inspect via Object Explorer
J	Again many (apply the previous text command repeatedly until the end of the text)
K	Set style
L	Outdent (move selection one tab-stop left)
M	Select current type-in
N	References to it (selection is a class name, or cursor is over a class-list or message-list)
O	Open single-message browser (in message lists)
P	Make project link
R	Indent (move selection one tab-stap right)
S	Search
T	Insert ''ifTrue:''
U	Convert linefeeds to carriage returns in selection
V	Paste author''s initials
W	Selectors containing it (in text); show-world-menu (when issued with cursor over desktop)
X	Force selection to lowercase
Y	Force selection to uppercase
Z	Capitalize all words in selection

Other special keys
Backspace	Backward delete character
Del			Forward delete character
Shift-Bksp	Backward delete word
Shift-Del	Forward delete word
Esc			Pop up the Desktop Menu
\			Send top window to back

Cursor keys
left, right,
up, down	Move cursor left, right, up or down
Ctrl-left		Move cursor left one word
Ctrl-right	Move cursor right one word
Home		Move cursor to begin of line or begin of text
End			Move cursor to end of line or end of text
PgUp, Ctrl-up	Move cursor up one page
PgDown, Ctrl-Dn	Move cursor down one page

Note all these keys can be used together with Shift to define or enlarge the selection. You cannot however shrink that selection again, as in some other systems.

Other Cmd-key combinations (not available on all platforms)
Return		Insert return followed by as many tabs as the previous line
			(with a further adjustment for additional brackets in that line)
Space		Select the current word as with double clicking

Enclose the selection in a kind of bracket.  Each is a toggle.
	(not available on all platforms)
Ctrl-(	Enclose within ( and ), or remove enclosing ( and )
Ctrl-[	Enclose within [ and ], or remove enclosing [ and ]
Crtl-{	Enclose within { and }, or remove enclosing { and }
Ctrl-<	Enclose within < and >, or remove enclosing < and >
Ctrl-''	Enclose within '' and '', or remove enclosing '' and ''
Ctrl-"	Enclose within " and ", or remove enclosing " and "
Note also that you can double-click just inside any of the above delimiters,
or at the beginning or end of a line, to select the text enclosed.

Text Emphasis
	(not available on all platforms)
Cmd-1	type the first method argument
Cmd-2	type the second method argument
Cmd-3	type the third method argument
Cmd-4	type the fourth method argument
Cmd-5	for future use
Cmd-6	color, action-on-click, link to class comment, link to method, url
		Brings up a menu.  To remove these properties, select
		more than the active part and then use command-0.
Cmd-7	bold
Cmd-8	italic
Cmd-9	narrow (same as negative kern)
Cmd-0	plain text (resets all emphasis)
Cmd--	underlined (toggles it)
Cmd-=	struck out (toggles it)

Shift-Cmd--	(aka :=) negative kern (letters 1 pixel closer)
Shift-Cmd-+	positive kern (letters 1 pixel larger spread)
	
Docking Bar
Ctrl-<n> opens the n-th (where n is between 0 and 7) menu if such exists, otherwise it moves the keyboard focus to the Search Bar. Currently this means:
Ctrl-0	Activates Search Bar
Ctrl-1	Squeak menu
Ctrl-2	Projects menu
Ctrl-3	Tools menu
Ctrl-4	Apps menu
Ctrl-5	Extras menu
Ctrl-6	Windows menu
Ctrl-7	Help menu	
!!' readStream nextChunkText!

----- Method: SqueakTutorialsCommandKey class>>pages (in category 'as yet unclassified') -----
pages
	^# (commandKeyMappings)!

SqueakTutorials subclass: #SqueakTutorialsOnImage
	instanceVariableNames: ''
	classVariableNames: ''
	poolDictionaries: ''
	category: 'Help-Squeak-Project'!

----- Method: SqueakTutorialsOnImage class>>bookName (in category 'as yet unclassified') -----
bookName 
	^'The Squeak Image'!

----- Method: SqueakTutorialsOnImage class>>pages (in category 'as yet unclassified') -----
pages
	^# (theImage)!

----- Method: SqueakTutorialsOnImage class>>theImage (in category 'as yet unclassified') -----
theImage
	^HelpTopic 
		title: 'Working with the Squeak Image'
		contents: 'Working with the ecosystem of objects in a Smalltalk image.
		
The basic tool for this is called an Inspector. Whenever you have an expression, like "3 + 4", you press cmd-i to "inspect it", which opens an inspector on the result. This works in any text area. Try for example inspecting "self" in a class browser, and you will inspect the underlying class object (which the browser shows a high-level view of).

In the Inspector you see the objects referenced by this object (via instance variables or indexed fields) in the left panel. Select any of them and choose "inspect" from the context menu (or press cmd-i again). This way you can inspect all the objects in the system.

A more modern tool than the Inspector (which was around 40 years ago already) is the Object Explorer. It presents you a tree view of an object and its "children", which again are the instance variables and indexed fields of the object. Open it with cmd-shift-i (or "explore" in the context menu).

You can also do the reverse. If you choose "objects pointing to this value" you get an inspector showing all the objects that directly point to this object. Similarly there is a "reverse explorer", which you can open by selecting "explore pointers".

There are two roots to all the objects in the system:

        Smalltalk specialObjectsArray

which basically holds everything the Virtual Machine needs to know about, and in turn almost every object in the whole image, and

        thisContext

which is the current execution context, holding onto temporary objects. When a garbage collection is performed, any object not reachable form either of these two roots is removed from memory.

An "interesting" global object to explore is

        Project current

which holds your current workspace, in particular

        Project current world

, the root of all morphs in the world. And of course

        Smalltalk

itself is the dictionary that holds all global objects, including all classes (unless they are defined in a non-global environment).

There is also a low-level way to enumerate all objects in memory. "self someObject" will return the very first object in memory (which happens to be the nil object), and "anObject nextObject" will return the next one:

        | object count |
        count := 0.
        object := self someObject.
        [0 == object]
                whileFalse: [count := count + 1.
                        object := object nextObject].
        count

Interestingly, this also finds objects that are due to be garbage-collected. For example, if you accidentally closed a text window, there is a good chance its contents will still be in memory, and can be retrieved using an expression like

        ByteString allInstances last: 10

This makes use of the someInstance/nextInstance methods, which are similar to someObject/nextObject, but restricted to instances of one class only.
'!

SqueakTutorials subclass: #SqueakTutorialsOnXML
	instanceVariableNames: ''
	classVariableNames: ''
	poolDictionaries: ''
	category: 'Help-Squeak-Project'!

----- Method: SqueakTutorialsOnXML class>>bookName (in category 'accessing') -----
bookName 
	^'XML'!

----- Method: SqueakTutorialsOnXML class>>dataRetrieval (in category 'pages') -----
dataRetrieval
	^HelpTopic 
		title: 'Retrieving XML data'
		contents: 
'Retrieving data from XML documents is simple and easy in Squeak Smalltalk. This tutorial demonstrates the fundamentals with a straightforward approach where code can be tested right away either here or in a Workspace window. The beauty of Squeak Smalltalk resides in the possibility to evaluate, inspect, print and debug code anywhere and this window is no different. 

This tutorial demonstrates how to...

	* retrieve an XML document from the World Wide Web
	* instantiate an XML document class
	* inspect and understand the content of an XML document
	* retrieve and display values from specific XML tags

Retrieve an XML document from the World Wide Web

There are many manners to retrieve data from the World Wide Web in Squeak Smalltalk. HTTPClient is among them and allows to download files in all simplicity. Select the following code snippet and inspect it (press alt-i). An Inspect window will open with the document loaded in memory. The result is a MIMEDocument object.

	HTTPClient httpGetDocument: ''http://source.squeak.org/trunk/feed.rss''.

TIP: Select HTTPClient and browse it (press alt-b) to open a System Browser window on its class. HTTPClient does not have instance methods but it has class methods. Click on class to see class methods.

Instantiate an XML Document

An instance of MIMEDocument will not allow to retrieve XML data in a comprehensive manner because it does not understand the nature of XML. For this reason, it is necessary to parse the content of MIMEDocument using XMLDOMParser. XMLDOMParser>>parseDocumentFrom: requires a stream as a parameter and ReadStream will be used for this purpose. The following code snippet instantiates an XMLDocument using the content of the downloaded file.

	| doc |
	doc := HTTPClient httpGetDocument: ''http://source.squeak.org/trunk/feed.rss''.
	XMLDOMParser parseDocumentFrom: (ReadStream on: (doc content)).

Inspect and understand the content of an XML document

XML is a flexible document format and it is necessary to understand how each given XML file is structured in order to properly search, retrieve and manipulate data. Inspecting values is critical in a dynamic programming language and environment, such as Squeak Smalltalk. Select the previous code snippet and inspect it (press alt-i).

Unfortunately, the Inspect window does not reveal a lot about the XML structure of the downloaded file. Select the previous code snippet once again and explore it (press alt and the capital letter i). An Explorer window will open with a tree outline on the instance of XMLDocument.

The Inspect and Explorer windows tell a lot about an XMLDocument. The sections are instance variables and their values are displayed aside. In the Explorer window, unfold elementsAndContents. Unfold other sections as deemed necessary to understand the XML format and the data available.

The gibberish coding is about to become clear. Open a Browser window from the world menu and right click in the first pane, select find class (press alt-f) and type XMLDocument to search for its class, or select the class name and browse it (press alt-b). However, it is suggested to read more about XMLParser and XMLParserTest first. 

Retrieve and display values from specific XML tags

The downloaded XML file contains a list of items which are denoted by the tag name "item". The Explorer window revealed the content of interest is located at the array index 1 of the elementsAndContents, which can be accessed through XMLDocument>>root.

TIP: Some XML documents have additional components contained within its file, such as XMLPI (XML Processing Instructions). For this reason, the root may lead to this rather than the data which will be indexed at 2 or more. It is necessary to use XMLNodeWithElements>>elements, e.g. (xml elements at: 2), in order to access subsequent data.

The following code snippet will display items in a Transcript window. Open a Transcript window using the world menu before selecting and executing the code. Select the code snippet and execute it (press alt-d).

	| doc xml |
	doc := HTTPClient httpGetDocument: ''http://source.squeak.org/trunk/feed.rss''.
	xml := XMLDOMParser parseDocumentFrom: (ReadStream on: (doc content)).
	xml root tagsNamed: #item do: [:e |
		Transcript show: (e asString); cr.
		].

An XML item looks like this:

	<item>
	<title>HelpSystem-Core-tbn.46.mcz</title>
	<link>http://source.squeak.org/trunk.html</link>
	<description>throw out pharo specific stuff since we are now integrated in squeak (and pharo too where squeak specific stuff was removed)</description>
	<pubDate>Sun, 02 May 2010 20:23:49 +0000</pubDate>
	<author>Torsten Bergmann &lt;Torsten.Bergmann at astares.de&gt;</author>
	<category>The Trunk</category>
	<enclosure length="27288" type="application/x-monticello" url="http://source.squeak.org/trunk/HelpSystem-Core-tbn.46.mcz"/> 
	<guid isPermaLink="false"/> </item>

The following code snippet uses information learned, retrieves each comment and displays them in a Transcript window. Notice an author can have a nil value and is handled accordingly.

	| doc xml |
	doc := HTTPClient httpGetDocument: ''http://source.squeak.org/trunk/feed.rss''.
	xml := XMLDOMParser parseDocumentFrom: (ReadStream on: (doc content)).
	xml root tagsNamed: #item do: [:e |
		Transcript 
			show: ''Date: '', ((e firstTagNamed: #pubDate) contentString); cr;
			show: ''Title: '', ((e firstTagNamed: #title) contentString); cr;
			show: ''Author: '', 
				(((e firstTagNamed: #author) notNil)
					ifTrue: [(e firstTagNamed: #author) contentString]
					ifFalse: ['''']); cr;
			show: ''Description: '', ((e firstTagNamed: #description) contentString); cr; cr.
			].

An item will now look like:

	Date: Sun, 02 May 2010 20:23:49 +0000
	Title: HelpSystem-Core-tbn.46.mcz
	Author: Torsten Bergmann <Torsten.Bergmann at astares.de>
	Description: throw out pharo specific stuff since we are now integrated in squeak (and pharo too where squeak specific stuff was removed)
'!

----- Method: SqueakTutorialsOnXML class>>pages (in category 'accessing') -----
pages
	^# (dataRetrieval)!

----- Method: HelpIcons class>>squeakIcon (in category '*help-squeak-project') -----
squeakIcon
	^(Form
	extent: 12 at 12
	depth: 32
	fromArray: #( 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 75398782 26843545 0 0 1159996452 1378823983 338044454 0 0 0 0 455682345 1295266868 1126376227 0 0 1040582150 0 1328097577 0 0 0 23488102 1277502757 0 1076834095 0 0 1075781407 0 287647013 472854319 0 0 471472666 204089898 0 1092756002 0 0 1041963803 36909875 0 1880232466 454761243 287515427 1342572038 0 104939841 974460181 0 0 270080281 354690084 86846765 3674539269 1394219546 1611599631 3557427722 86123042 388244516 204287277 0 26843545 605558808 1025055001 1008014613 1159141143 522264865 739710743 1159141143 571083274 570820102 188891714 0 942550574 1411391520 1143021857 1312241463 1428563494 3205040393 3708159494 1663576104 1511067921 1579887403 1629758500 958472481 656679972 439563059 1294608938 839913488 739644950 172246084 221459251 840900383 1075978786 1209933342 724512559 707077413 0 0 0 0 0 0 0 0 0 0 38488907 0 0 0 0 0 0 0 0 0 0 0 0 0)
	offset: 0 at 0)!

----- Method: Utilities class>>openCommandKeyHelp (in category '*Help-Squeak-Project-support windows') -----
openCommandKeyHelp
	"Open a window giving command key help."
	"Utilities openCommandKeyHelp"

	HelpBrowser openOn: SqueakTutorialsCommandKey!



More information about the Squeak-dev mailing list