diff --git a/README.md b/README.md index 8a20aa7..ed2a11f 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # ArduBlock 2 Source (for Arduino IDE 1.8+) # -Source-Code for ArduBlock V2 for letsgoING Project. +Source-Code for ArduBlock V2 tetrapix workshop, forked from the letsgoING Project. ## Setting up Eclipse ## 1. Download the files @@ -10,4 +10,4 @@ Source-Code for ArduBlock V2 for letsgoING Project. 5. Test ArduBlock by running ArduBlock-Main as Java-Application (src/main/java/com/ardublock) For more information click here: -http://blog.ardublock.com/2012/06/11/setup-ardublock-development-in-eclipse/ \ No newline at end of file +http://blog.ardublock.com/2012/06/11/setup-ardublock-development-in-eclipse/ diff --git a/ardublock-master/ardublock-master/README.markdown b/ardublock-master/ardublock-master/README.markdown index 6d6a05e..e8ef390 100644 --- a/ardublock-master/ardublock-master/README.markdown +++ b/ardublock-master/ardublock-master/README.markdown @@ -44,6 +44,7 @@ Authors ---- * David Li taweili@gmail.com * HE Qichen heqichen@gmail.com +* Bastian Brabec bastian@tetrapix.de (for the Tetrapix Fork) ToDo @@ -55,6 +56,8 @@ License Copyright (C) 2011 David Li and He Qichen +Copyright (C) 2019 Bastian Brabec + This file is part of ArduBlock. ArduBlock is free software: you can redistribute it and/or modify @@ -93,3 +96,13 @@ Source: github.com/letsgoing - hack to remove \n at array declaration -> AutoFormat.java line 602-606 - removed \n after function declaration -> AutoFormat.java line 845 - removed headerCommand for subroutines (now done in BlockFiles)-> Translator.java line 78-85 + + +Changes by Tetrapix +===================== + +Contact: bastian@tetrapix.de +Source: github.com/tetrapix + +- added the blocks for the tetrapix Workshop +- removed some other blocks diff --git a/ardublock-master/ardublock-master/pom.xml b/ardublock-master/ardublock-master/pom.xml index 543fdec..2cf4ccd 100644 --- a/ardublock-master/ardublock-master/pom.xml +++ b/ardublock-master/ardublock-master/pom.xml @@ -14,6 +14,43 @@ UTF-8 + + + + + org.eclipse.m2e + lifecycle-mapping + 1.0.0 + + + + + + + + org.apache.maven.plugins + + + maven-install-plugin + + + [2.5,) + + + install-file + + + + + + + + + + + + org.apache.maven.plugins diff --git a/ardublock-master/ardublock-master/src/main/java/com/ardublock/translator/block/output/NeopixelColorBlock.java b/ardublock-master/ardublock-master/src/main/java/com/ardublock/translator/block/output/NeopixelColorBlock.java index 3afb1bf..b00f902 100644 --- a/ardublock-master/ardublock-master/src/main/java/com/ardublock/translator/block/output/NeopixelColorBlock.java +++ b/ardublock-master/ardublock-master/src/main/java/com/ardublock/translator/block/output/NeopixelColorBlock.java @@ -15,24 +15,24 @@ public NeopixelColorBlock (Long blockId, Translator translator, String codePrefi //@Override public String toCode() throws SocketNullException, SubroutineNotDeclaredException { - String Pin ; + //String Pin ; String Pixel_Nb; String Red; String Blue; String Green; TranslatorBlock translatorBlock = this.getRequiredTranslatorBlockAtSocket(0); - Pin = translatorBlock.toCode().replaceAll("\\s*_.new\\b\\s*", ""); - translatorBlock = this.getRequiredTranslatorBlockAtSocket(1); + //Pin = translatorBlock.toCode().replaceAll("\\s*_.new\\b\\s*", ""); + //translatorBlock = this.getRequiredTranslatorBlockAtSocket(1); Pixel_Nb = translatorBlock.toCode().replaceAll("\\s*_.new\\b\\s*", ""); - translatorBlock = this.getRequiredTranslatorBlockAtSocket(2); + translatorBlock = this.getRequiredTranslatorBlockAtSocket(1); Red = translatorBlock.toCode().replaceAll("\\s*_.new\\b\\s*", ""); - translatorBlock = this.getRequiredTranslatorBlockAtSocket(3); + translatorBlock = this.getRequiredTranslatorBlockAtSocket(2); Green = translatorBlock.toCode().replaceAll("\\s*_.new\\b\\s*", ""); - translatorBlock = this.getRequiredTranslatorBlockAtSocket(4); + translatorBlock = this.getRequiredTranslatorBlockAtSocket(3); Blue = translatorBlock.toCode().replaceAll("\\s*_.new\\b\\s*", ""); - String ret = "strip_pin"+Pin+".setPixelColor("+Pixel_Nb+","+Red+" ,"+Green+" ,"+Blue+" );\n"; + String ret = "strip.setPixelColor("+Pixel_Nb+","+Red+" ,"+Green+" ,"+Blue+" );\n strip.show();\n"; return codePrefix + ret + codeSuffix; diff --git a/ardublock-master/ardublock-master/src/main/java/com/ardublock/translator/block/output/NeopixelInitBlock.java b/ardublock-master/ardublock-master/src/main/java/com/ardublock/translator/block/output/NeopixelInitBlock.java index bcb15ab..ff6d69d 100644 --- a/ardublock-master/ardublock-master/src/main/java/com/ardublock/translator/block/output/NeopixelInitBlock.java +++ b/ardublock-master/ardublock-master/src/main/java/com/ardublock/translator/block/output/NeopixelInitBlock.java @@ -15,23 +15,23 @@ public NeopixelInitBlock (Long blockId, Translator translator, String codePrefix //@Override public String toCode() throws SocketNullException, SubroutineNotDeclaredException { - String Pin ; + //String Pin ; String NbLed; - String NEO_KHZ; - String NEO_MODE; + //String NEO_KHZ; + //String NEO_MODE; TranslatorBlock translatorBlock = this.getRequiredTranslatorBlockAtSocket(0); - Pin = translatorBlock.toCode().replaceAll("\\s*_.new\\b\\s*", ""); - translatorBlock = this.getRequiredTranslatorBlockAtSocket(1); + //Pin = translatorBlock.toCode().replaceAll("\\s*_.new\\b\\s*", ""); + //translatorBlock = this.getRequiredTranslatorBlockAtSocket(1); NbLed = translatorBlock.toCode().replaceAll("\\s*_.new\\b\\s*", ""); - translatorBlock = this.getRequiredTranslatorBlockAtSocket(2); - NEO_KHZ = translatorBlock.toCode().replaceAll("\"", ""); - translatorBlock = this.getRequiredTranslatorBlockAtSocket(3); - NEO_MODE = translatorBlock.toCode().replaceAll("\"", ""); + //translatorBlock = this.getRequiredTranslatorBlockAtSocket(2); + //NEO_KHZ = translatorBlock.toCode().replaceAll("\"", ""); + //translatorBlock = this.getRequiredTranslatorBlockAtSocket(3); + //NEO_MODE = translatorBlock.toCode().replaceAll("\"", ""); translator.addHeaderFile("Adafruit_NeoPixel.h"); - translator.addDefinitionCommand("Adafruit_NeoPixel strip_pin"+Pin+" = Adafruit_NeoPixel("+NbLed+","+ Pin +", " +NEO_MODE+ " + "+NEO_KHZ +");"); - translator.addSetupCommand("strip_pin"+Pin+".begin();\n" + - "strip_pin"+Pin+".show();"); + translator.addDefinitionCommand("Adafruit_NeoPixel strip= Adafruit_NeoPixel("+NbLed+", 0, NEO_RGB + NEO_KHZ800);");//,"+ Pin +", " +NEO_MODE+ " + "+NEO_KHZ +");"); + translator.addSetupCommand("strip.begin();\n" + + "strip.show();"); return "" ; diff --git a/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock.xml b/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock.xml index f6d1490..1c5bd7e 100644 --- a/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock.xml +++ b/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock.xml @@ -511,22 +511,22 @@ neopixel_init - - + --> - - + --> @@ -539,25 +539,25 @@ neopixel_pixel_colorRGB - - + --> - + - + - + @@ -2442,9 +2442,24 @@ LGI_Qtouch_Button3_getRaw - - + + + neopixel_init + neopixel_pixel_color + + repeat_times + repeat_control + delay + + + + if + ifelse + while + + loop @@ -2489,7 +2504,6 @@ interrupt - pin-write-digital pin-write-analog @@ -2793,4 +2807,4 @@ com/ardublock/block/trash.png - \ No newline at end of file + diff --git a/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock_de.properties b/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock_de.properties index 0a3c2ea..2f5cd90 100644 --- a/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock_de.properties +++ b/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock_de.properties @@ -114,6 +114,10 @@ bc.pwm_pin_number=~Pin bc.value=Wert bc.variable=Variable +#TETRAPIX +#**************************** +bd.tetrapix=Tetrapix + #CONTROL #**************************** bd.control=Steuerung diff --git a/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock_en.properties b/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock_en.properties index eca7351..0a172e1 100644 --- a/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock_en.properties +++ b/ardublock-master/ardublock-master/src/main/resources/com/ardublock/block/ardublock_en.properties @@ -84,6 +84,10 @@ bc.pwm_pin_number=~pin# bc.value=value bc.variable=variable +#TETRAPIX +#**************************** +bd.tetrapix=Tetrapix + #CONTROL #**************************** bd.control=Control diff --git a/openblocks-master/openblocks-master/bin/.gitignore b/openblocks-master/openblocks-master/bin/.gitignore new file mode 100644 index 0000000..f263319 --- /dev/null +++ b/openblocks-master/openblocks-master/bin/.gitignore @@ -0,0 +1,9 @@ +build/ +target/ +.DS_Store +.classpath +.idea +.project +.settings +openblocks.iml + diff --git a/openblocks-master/openblocks-master/bin/LICENSE.MIT b/openblocks-master/openblocks-master/bin/LICENSE.MIT new file mode 100644 index 0000000..22726b7 --- /dev/null +++ b/openblocks-master/openblocks-master/bin/LICENSE.MIT @@ -0,0 +1,26 @@ +MIT LICENSE + +Copyright (c) 2009 + +MIT Scheller Teacher Education Program + +Eric Klopfer, Daniel Wendel, Ricarose Roque, Corey McCaffrey, Lunduo Ye, Aidan Ho, Brett Warne, Xudan +Liu, Hout Nga + +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. diff --git a/openblocks-master/openblocks-master/bin/LICENSE.jfree b/openblocks-master/openblocks-master/bin/LICENSE.jfree new file mode 100644 index 0000000..65c5ca8 --- /dev/null +++ b/openblocks-master/openblocks-master/bin/LICENSE.jfree @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/openblocks-master/openblocks-master/bin/README.md b/openblocks-master/openblocks-master/bin/README.md new file mode 100644 index 0000000..d293fa6 --- /dev/null +++ b/openblocks-master/openblocks-master/bin/README.md @@ -0,0 +1,57 @@ +OpenBlocks refactoring branch +============================= + +This is a fork of [MIT OpenBlocks](http://education.mit.edu/drupal/openblocks) +(covered by the MIT license) for refactoring purposes. + +The principal objective of the fork is to make the code more amenable to inclusion to other projects. + +Getting Started: +------ + $ mvn clean package + $ mvn exec:java -Dexec.mainClass="edu.mit.blocks.controller.WorkspaceController" -Dexec.args="support/lang_def.xml" + +To do: +------ + +* upgrade code maintainability from the academic baseline to the commercial baseline +* replace static singletons with contexts and instances +* separate the model from the UI + +Done: +----- + +* move the various project packages from the main namespace to under the ``edu.mit.blocks`` package +* refactor out functionality such as network communication +* remove dependency to TableLayout, which doesn't appear to be actively maintained, + and really not even used in a very complex manner + +Contributors: +------------- + +In order of first appearance on commit logs: + +* The original MIT team: Eric Klopfer, Daniel Wendel, Ricarose Roque, Corey McCaffrey, Lunduo Ye, Aidan Ho, Brett Warne, Xudan Liu, Hout Nga +* Mikael Gueck (https://github.com/mikaelhg) +* David Li (https://github.com/taweili) +* Philippe Cade (https://github.com/philippecade) +* Tony Graham / MenteaXML (https://github.com/MenteaXML) + + + + +Changes by letsgoING +===================== +Contact: info@letsgoing.de +Source: github.com/letsgoing + +added Option to change Menu +changes: +- in loadBlockDrawerSets() added drawerType param + filter (PageDrawerLoadingUtils.java Line 185 + 201 + 211-214 + 232) +- in loadWorkspaceFrom() added drawerType param (Workspace.java line 836 + 843 + 849 + 855) +- in loadWorkspaceFrom() added drawerType param (WorkspaceController.java line 415 + 433 + 460 + 502) +- in loadProject() added drawerType param and moved workspace.loadWorkspaceFrom() in if/else (WorkspaceController.java line 499 + 516 + 519) +other changes: +- in mouseReleased() added clone functionality by rightClick + CTRL (RenderableBlock.java line 1917 - 1921) +- in Page() removed "add collapse Button" (Page.java line 176) +- in paintComponent() removed "paint label" (Page.java line 1150 - 1166) \ No newline at end of file diff --git a/openblocks-master/openblocks-master/bin/doc/Front End Redesign MDD.graffle b/openblocks-master/openblocks-master/bin/doc/Front End Redesign MDD.graffle new file mode 100644 index 0000000..4a7f3c2 --- /dev/null +++ b/openblocks-master/openblocks-master/bin/doc/Front End Redesign MDD.graffle @@ -0,0 +1,3334 @@ + + + + + CanvasColor + + a + 1 + w + 1 + + ColumnAlign + 0 + ColumnSpacing + 36 + GraphDocumentVersion + 2 + GraphicsList + + + Bounds + {{323.333, 1007.33}, {54, 20}} + Class + ShapedGraphic + FitText + YES + ID + 310 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 extends} + + + + Bounds + {{323.333, 944.333}, {54, 20}} + Class + ShapedGraphic + FitText + YES + ID + 309 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 extends} + + + + Class + LineGraphic + Head + + ID + 298 + + ID + 308 + Points + + {373.497, 117} + {373.499, 153} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 202 + + + + Class + LineGraphic + Head + + ID + 298 + + ID + 307 + Points + + {288, 180.291} + {333, 180.138} + + Style + + stroke + + HeadArrow + Arrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 304 + + + + Class + LineGraphic + Head + + ID + 298 + + ID + 306 + Points + + {373.496, 243} + {373.498, 207} + + Style + + stroke + + HeadArrow + Arrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 301 + + + + Class + LineGraphic + Head + + ID + 205 + + ID + 305 + Points + + {333, 270.161} + {288, 270.076} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 301 + + + + Class + Group + Graphics + + + Bounds + {{207, 162}, {81, 45}} + Class + ShapedGraphic + ID + 303 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 SocketRule} + + + + Bounds + {{207, 153}, {81, 54}} + Class + ShapedGraphic + ID + 304 + Shape + Rectangle + + + ID + 302 + + + Class + Group + Graphics + + + Bounds + {{333, 252}, {81, 45}} + Class + ShapedGraphic + ID + 300 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 SLRule} + + + + Bounds + {{333, 243}, {81, 54}} + Class + ShapedGraphic + ID + 301 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + ID + 299 + + + Class + Group + Graphics + + + Bounds + {{333, 162}, {81, 36}} + Class + ShapedGraphic + ID + 297 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 LinkRule} + + + + Bounds + {{333, 153}, {81, 54}} + Class + ShapedGraphic + ID + 298 + Shape + Rectangle + + + ID + 296 + + + Bounds + {{387, 18}, {243, 24}} + Class + ShapedGraphic + FitText + Vertical + ID + 295 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\b\fs28 \cf0 Front End Redesign MDD - 8/8/06} + + + + Class + Group + Graphics + + + Bounds + {{54, 162}, {81, 45}} + Class + ShapedGraphic + ID + 293 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Language\ +Dependent} + + + + Bounds + {{54, 153}, {81, 54}} + Class + ShapedGraphic + ID + 294 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + ID + 292 + + + Class + LineGraphic + Head + + ID + 278 + + ID + 291 + Points + + {157.5, 954} + {157.5, 486} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 286 + + + + Class + LineGraphic + Head + + ID + 180 + + ID + 290 + Points + + {630, 994.47} + {576, 1012.49} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 239 + + + + Class + LineGraphic + Head + + ID + 183 + + ID + 289 + Points + + {495, 1026} + {459, 1026} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 180 + + + + Class + LineGraphic + Head + + ID + 242 + + ID + 288 + Points + + {378, 1012.48} + {324, 994.493} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 183 + + + + Class + LineGraphic + Head + + ID + 242 + + ID + 287 + Points + + {198, 981} + {243, 981} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 286 + + + + Class + Group + Graphics + + + Bounds + {{117, 963}, {81, 45}} + Class + ShapedGraphic + ID + 285 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 BreedDrawer\ +Populator} + + + + Bounds + {{117, 954}, {81, 54}} + Class + ShapedGraphic + ID + 286 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + ID + 284 + + + Class + LineGraphic + Head + + ID + 177 + + ID + 283 + Points + + {630, 970.187} + {576, 955.794} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 239 + + + + Class + LineGraphic + Head + + ID + 174 + + ID + 282 + Points + + {495, 945} + {459, 945} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 177 + + + + Class + LineGraphic + Head + + ID + 242 + + ID + 281 + Points + + {378, 955.813} + {324, 970.206} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 174 + + + + Class + LineGraphic + Head + + ID + 199 + + ID + 280 + Points + + {389.457, 351} + {474.546, 207} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 189 + + + + Class + LineGraphic + Head + + ID + 278 + + ID + 279 + Points + + {450, 459} + {198, 459} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 220 + + + + Class + Group + Graphics + + + Bounds + {{117, 441}, {81, 36}} + Class + ShapedGraphic + ID + 277 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Workspace\ +Listener} + + + + Bounds + {{117, 432}, {81, 54}} + Class + ShapedGraphic + ID + 278 + Shape + Rectangle + + + ID + 276 + + + Class + LineGraphic + Head + + ID + 220 + + ID + 275 + Points + + {604.305, 207} + {502.693, 432} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 232 + + + + Class + LineGraphic + Head + + ID + 199 + + ID + 274 + Points + + {490.5, 432} + {490.5, 207} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 220 + + + + Class + LineGraphic + Head + + ID + 171 + + ID + 273 + Points + + {616.584, 153} + {616.536, 117} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 232 + + + + Class + LineGraphic + Head + + ID + 271 + + ID + 272 + Points + + {657, 158.307} + {693, 138.869} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 232 + + + + Class + Group + Graphics + + + Bounds + {{693, 99}, {81, 45}} + Class + ShapedGraphic + ID + 270 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Dummy\ +Renderable\ +Block} + + + + Bounds + {{693, 90}, {81, 54}} + Class + ShapedGraphic + ID + 271 + Shape + Rectangle + + + ID + 269 + + + Class + LineGraphic + Head + + ID + 267 + + ID + 268 + Points + + {657, 189.42} + {693, 197.693} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 232 + + + + Class + Group + Graphics + + + Bounds + {{693, 189}, {81, 45}} + Class + ShapedGraphic + ID + 266 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 BlockShape} + + + + Bounds + {{693, 180}, {81, 54}} + Class + ShapedGraphic + ID + 267 + Shape + Rectangle + + + ID + 265 + + + Class + LineGraphic + Head + + ID + 263 + + ID + 264 + Points + + {450, 730.431} + {333, 682.568} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + Arrow + + + Tail + + ID + 235 + + + + Class + Group + Graphics + + + Bounds + {{252, 648}, {81, 45}} + Class + ShapedGraphic + ID + 262 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 TrashCan} + + + + Bounds + {{252, 639}, {81, 54}} + Class + ShapedGraphic + ID + 263 + Shape + Rectangle + + + ID + 261 + + + Class + LineGraphic + Head + + ID + 259 + + ID + 260 + Points + + {531, 753.398} + {621, 767.606} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + Arrow + + + Tail + + ID + 235 + + + + Class + Group + Graphics + + + Bounds + {{621, 756}, {81, 45}} + Class + ShapedGraphic + ID + 258 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 ZoomSlider} + + + + Bounds + {{621, 747}, {81, 54}} + Class + ShapedGraphic + ID + 259 + Shape + Rectangle + + + ID + 257 + + + Class + LineGraphic + Head + + ID + 251 + + ID + 256 + Points + + {450, 745.442} + {297, 739.558} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + Arrow + + + Tail + + ID + 235 + + + + Class + LineGraphic + Head + + ID + 248 + + ID + 255 + Points + + {450, 760.486} + {342, 796.496} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + Arrow + + + Tail + + ID + 235 + + + + Class + LineGraphic + Head + + ID + 245 + + ID + 254 + Points + + {531, 732.082} + {621, 698.922} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + Arrow + + + Tail + + ID + 235 + + + + Class + LineGraphic + Head + + ID + 242 + + ID + 253 + Points + + {466.613, 774} + {307.384, 954} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + Arrow + + + Tail + + ID + 235 + + + + Class + LineGraphic + Head + + ID + 239 + + ID + 252 + Points + + {511.267, 774} + {649.73, 954} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + Arrow + + + Tail + + ID + 235 + + + + Class + Group + Graphics + + + Bounds + {{216, 720}, {81, 45}} + Class + ShapedGraphic + ID + 250 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Context\ +Menu} + + + + Bounds + {{216, 711}, {81, 54}} + Class + ShapedGraphic + ID + 251 + Shape + Rectangle + + + ID + 249 + + + Class + Group + Graphics + + + Bounds + {{261, 792}, {81, 45}} + Class + ShapedGraphic + ID + 247 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 MiniMap} + + + + Bounds + {{261, 783}, {81, 54}} + Class + ShapedGraphic + ID + 248 + Shape + Rectangle + + + ID + 246 + + + Class + Group + Graphics + + + Bounds + {{621, 666}, {81, 45}} + Class + ShapedGraphic + ID + 244 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 SearchBar} + + + + Bounds + {{621, 657}, {81, 54}} + Class + ShapedGraphic + ID + 245 + Shape + Rectangle + + + ID + 243 + + + Class + Group + Graphics + + + Bounds + {{243, 963}, {81, 45}} + Class + ShapedGraphic + ID + 241 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 BlockDrawer} + + + + Bounds + {{243, 954}, {81, 54}} + Class + ShapedGraphic + ID + 242 + Shape + Rectangle + + + ID + 240 + + + Class + Group + Graphics + + + Bounds + {{630, 963}, {81, 45}} + Class + ShapedGraphic + ID + 238 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Bar} + + + + Bounds + {{630, 954}, {81, 54}} + Class + ShapedGraphic + ID + 239 + Shape + Rectangle + + + ID + 237 + + + Class + LineGraphic + Head + + ID + 220 + + ID + 236 + Points + + {490.499, 720} + {490.5, 486} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + FilledArrow + + + Tail + + ID + 235 + + + + Class + Group + Graphics + + + Bounds + {{450, 729}, {81, 36}} + Class + ShapedGraphic + ID + 234 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Workspace\ +Widget} + + + + Bounds + {{450, 720}, {81, 54}} + Class + ShapedGraphic + ID + 235 + Shape + Rectangle + + + ID + 233 + + + Class + Group + Graphics + + + Bounds + {{576, 162}, {81, 45}} + Class + ShapedGraphic + ID + 231 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Renderable\ +Block} + + + + Bounds + {{576, 153}, {81, 54}} + Class + ShapedGraphic + ID + 232 + Shape + Rectangle + + + ID + 230 + + + Class + LineGraphic + Head + + ID + 192 + + ID + 229 + Points + + {531, 446.115} + {648, 408.887} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 220 + + + + Class + LineGraphic + Head + + ID + 199 + + ID + 228 + Points + + {490.284, 117} + {490.408, 153} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + FilledArrow + + + Tail + + ID + 211 + + + + Class + LineGraphic + Head + + ID + 232 + + ID + 227 + Points + + {531, 180} + {576, 180} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 199 + + + + Class + LineGraphic + Head + + ID + 196 + + ID + 226 + Points + + {531, 483.798} + {612, 533.266} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 220 + + + + Class + LineGraphic + Head + + ID + 220 + + ID + 225 + Points + + {612.872, 351} + {521.093, 432} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + FilledArrow + + + Tail + + ID + 217 + + + + Class + LineGraphic + Head + + ID + 208 + + ID + 224 + Points + + {450.047, 486} + {396, 522.014} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + FilledArrow + + + Tail + + ID + 220 + + + + Class + LineGraphic + Head + + ID + 202 + + ID + 223 + Points + + {455.494, 153} + {408.64, 117} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 199 + + + + Class + LineGraphic + Head + + ID + 214 + + ID + 222 + Points + + {181.637, 432} + {205.569, 405} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + Arrow + + + Tail + + ID + 278 + + + + Class + LineGraphic + Head + + ID + 189 + + ID + 221 + Points + + {198, 443.817} + {333, 393.189} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + Arrow + + + Tail + + ID + 278 + + + + Class + Group + Graphics + + + Bounds + {{450, 441}, {81, 45}} + Class + ShapedGraphic + ID + 219 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Workspace} + + + + Bounds + {{450, 432}, {81, 54}} + Class + ShapedGraphic + ID + 220 + Shape + Rectangle + + + ID + 218 + + + Class + Group + Graphics + + + Bounds + {{603, 306}, {81, 45}} + Class + ShapedGraphic + ID + 216 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Focus\ +Manager} + + + + Bounds + {{603, 297}, {81, 54}} + Class + ShapedGraphic + ID + 217 + Shape + Rectangle + + + ID + 215 + + + Class + Group + Graphics + + + Bounds + {{189, 360}, {81, 45}} + Class + ShapedGraphic + ID + 213 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Reundo\ +Manager} + + + + Bounds + {{189, 351}, {81, 54}} + Class + ShapedGraphic + ID + 214 + Shape + Rectangle + + + ID + 212 + + + Class + Group + Graphics + + + Bounds + {{450, 72}, {81, 45}} + Class + ShapedGraphic + ID + 210 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 BlockGenus} + + + + Bounds + {{450, 63}, {81, 54}} + Class + ShapedGraphic + ID + 211 + Shape + Rectangle + + + ID + 209 + + + Class + Group + Graphics + + + Bounds + {{315, 531}, {81, 45}} + Class + ShapedGraphic + ID + 207 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Workspace\ +Builder} + + + + Bounds + {{315, 522}, {81, 54}} + Class + ShapedGraphic + ID + 208 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + ID + 206 + + + Class + Group + Graphics + + + Bounds + {{207, 252}, {81, 45}} + Class + ShapedGraphic + ID + 204 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Block\ +Properties} + + + + Bounds + {{207, 243}, {81, 54}} + Class + ShapedGraphic + ID + 205 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + ID + 203 + + + Class + Group + Graphics + + + Bounds + {{333, 72}, {81, 45}} + Class + ShapedGraphic + ID + 201 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Block\ +LinkChecker} + + + + Bounds + {{333, 63}, {81, 54}} + Class + ShapedGraphic + ID + 202 + Shape + Rectangle + + + ID + 200 + + + Class + Group + Graphics + + + Bounds + {{450, 162}, {81, 45}} + Class + ShapedGraphic + ID + 198 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Block} + + + + Bounds + {{450, 153}, {81, 54}} + Class + ShapedGraphic + ID + 199 + Shape + Rectangle + + + ID + 197 + + + Class + Group + Graphics + + + Bounds + {{612, 540}, {81, 45}} + Class + ShapedGraphic + ID + 195 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Page} + + + + Bounds + {{612, 531}, {81, 54}} + Class + ShapedGraphic + ID + 196 + Shape + Rectangle + + + ID + 194 + + + Class + LineGraphic + Head + + ID + 220 + + ID + 193 + Points + + {639, 480.22} + {531, 464.787} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + FilledArrow + + + Tail + + ID + 186 + + + + Class + Group + Graphics + + + Bounds + {{648, 378}, {81, 45}} + Class + ShapedGraphic + ID + 191 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Keyboard\ +Shortcut\ +Manager} + + + + Bounds + {{648, 369}, {81, 54}} + Class + ShapedGraphic + ID + 192 + Shape + Rectangle + + + ID + 190 + + + Class + Group + Graphics + + + Bounds + {{333, 360}, {81, 45}} + Class + ShapedGraphic + ID + 188 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Block\ +Compiler} + + + + Bounds + {{333, 351}, {81, 54}} + Class + ShapedGraphic + ID + 189 + Shape + Rectangle + Style + + stroke + + Pattern + 1 + + + + + ID + 187 + + + Class + Group + Graphics + + + Bounds + {{639, 468}, {81, 45}} + Class + ShapedGraphic + ID + 185 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 PageDivider} + + + + Bounds + {{639, 459}, {81, 54}} + Class + ShapedGraphic + ID + 186 + Shape + Rectangle + + + ID + 184 + + + Class + Group + Graphics + + + Bounds + {{378, 1008}, {81, 45}} + Class + ShapedGraphic + ID + 182 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Page\ +BlockDrawer} + + + + Bounds + {{378, 999}, {81, 54}} + Class + ShapedGraphic + ID + 183 + Shape + Rectangle + + + ID + 181 + + + Class + Group + Graphics + + + Bounds + {{495, 1008}, {81, 45}} + Class + ShapedGraphic + ID + 179 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 PageButton} + + + + Bounds + {{495, 999}, {81, 54}} + Class + ShapedGraphic + ID + 180 + Shape + Rectangle + + + ID + 178 + + + Class + Group + Graphics + + + Bounds + {{495, 927}, {81, 45}} + Class + ShapedGraphic + ID + 176 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Category\ +Button} + + + + Bounds + {{495, 918}, {81, 54}} + Class + ShapedGraphic + ID + 177 + Shape + Rectangle + + + ID + 175 + + + Class + Group + Graphics + + + Bounds + {{378, 927}, {81, 45}} + Class + ShapedGraphic + ID + 173 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Factory\ +BlockDrawer} + + + + Bounds + {{378, 918}, {81, 54}} + Class + ShapedGraphic + ID + 174 + Shape + Rectangle + + + ID + 172 + + + Class + Group + Graphics + + + Bounds + {{576, 72}, {81, 45}} + Class + ShapedGraphic + ID + 170 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 BlockLabel} + + + + Bounds + {{576, 63}, {81, 54}} + Class + ShapedGraphic + ID + 171 + Shape + Rectangle + + + ID + 169 + + + Bounds + {{67, 6}, {46, 29}} + Class + ShapedGraphic + FitText + YES + ID + 168 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\b\fs34 \cf0 KEY} + + + + Bounds + {{43, 52}, {44, 20}} + Class + ShapedGraphic + FitText + YES + ID + 167 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 meets} + + + + Bounds + {{46, 111}, {37, 20}} + Class + ShapedGraphic + FitText + YES + ID + 166 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 uses} + + + + Class + LineGraphic + ID + 165 + Points + + {27, 27} + {27, 81} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + Arrow + + + + + Class + Group + Graphics + + + Bounds + {{108, 99}, {81, 45}} + Class + ShapedGraphic + ID + 163 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Module} + + + + Bounds + {{108, 90}, {81, 54}} + Class + ShapedGraphic + ID + 164 + Shape + Rectangle + + + ID + 162 + + + Class + Group + Graphics + + + Bounds + {{108, 36}, {81, 36}} + Class + ShapedGraphic + ID + 160 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Specification} + + + + Bounds + {{108, 27}, {81, 54}} + Class + ShapedGraphic + ID + 161 + Shape + Rectangle + + + ID + 159 + + + Class + LineGraphic + ID + 158 + Points + + {27.002, 90} + {27, 144} + + Style + + stroke + + HeadArrow + 0 + LineType + 1 + TailArrow + FilledArrow + + + + + Bounds + {{-0, -0}, {198, 216}} + Class + ShapedGraphic + ID + 157 + Magnets + + {1, 1} + {1, -1} + {-1, -1} + {-1, 1} + {0, 1} + {0, -1} + {1, 0} + {-0.483333, 0.0166667} + + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Pattern + 1 + + + + + GridInfo + + HPages + 1 + ImageCounter + 11 + IsPalette + NO + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + AutoAdjust + YES + MagneticFieldCenter + {0, 0} + + MagnetsEnabled + YES + PageBreakColor + + a + 1 + w + 0.666667 + + PageBreaks + YES + PageSetup + + BAt0eXBlZHN0cmVhbYED6IQBQISEhAtOU1ByaW50SW5mbwGEhAhOU09iamVjdACFkoSE + hBNOU011dGFibGVEaWN0aW9uYXJ5AISEDE5TRGljdGlvbmFyeQCUhAFpFJKEhIQITlNT + dHJpbmcBlIQBKxBOU0pvYkRpc3Bvc2l0aW9uhpKEmZkPTlNQcmludFNwb29sSm9ihpKE + mZkLTlNQYXBlclNpemWGkoSEhAdOU1ZhbHVlAJSEASqEhAx7X05TU2l6ZT1mZn2cgQJk + gQMYhpKEmZkUTlNWZXJ0aWNhbFBhZ2luYXRpb26GkoSEhAhOU051bWJlcgCdm4SXlwCG + koSZmQ5OU1BNUGFnZUZvcm1hdIaShISEDU5TTXV0YWJsZURhdGEAhIQGTlNEYXRhAJSX + gSK1hAdbODg4NWNdPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4K + PCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUgQ29tcHV0ZXIvL0RURCBQTElT + VCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3Qt + MS4wLmR0ZCI+CjxwbGlzdCB2ZXJzaW9uPSIxLjAiPgo8ZGljdD4KCTxrZXk+Y29tLmFw + cGxlLnByaW50LlBhZ2VGb3JtYXQuRm9ybWF0dGluZ1ByaW50ZXI8L2tleT4KCTxkaWN0 + PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJPHN0 + cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJPGtleT5jb20u + YXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCTxhcnJheT4KCQkJPGRp + Y3Q+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LkZvcm1hdHRpbmdQ + cmludGVyPC9rZXk+CgkJCQk8c3RyaW5nPkhQX0xhc2VySmV0XzgxNTBfU2VyaWVzPC9z + dHJpbmc+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+ + CgkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0 + ZT4yMDA2LTA4LTA3VDE2OjUzOjMyWjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+ + CgkJCTwvZGljdD4KCQk8L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJp + bnQuUGFnZUZvcm1hdC5QTUhvcml6b250YWxSZXM8L2tleT4KCTxkaWN0PgoJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJPHN0cmluZz5jb20u + YXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCTxhcnJheT4KCQkJPGRpY3Q+CgkJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LlBNSG9yaXpvbnRhbFJlczwva2V5 + PgoJCQkJPHJlYWw+NzI8L3JlYWw+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuY2xpZW50PC9rZXk+CgkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFn + ZXI8L3N0cmluZz4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRl + PC9rZXk+CgkJCQk8ZGF0ZT4yMDA2LTA0LTA0VDA4OjQ5OjQ2WjwvZGF0ZT4KCQkJCTxr + ZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRl + Z2VyPjA8L2ludGVnZXI+CgkJCTwvZGljdD4KCQk8L2FycmF5PgoJPC9kaWN0PgoJPGtl + eT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTU9yaWVudGF0aW9uPC9rZXk+Cgk8 + ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJ + CTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJ + CTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTU9yaWVu + dGF0aW9uPC9rZXk+CgkJCQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJCQkJPGtleT5jb20u + YXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJPHN0cmluZz5jb20uYXBw + bGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmlu + dC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJPGRhdGU+MjAwNi0wOC0wN1QxNjo1Mzoz + Mlo8L2RhdGU+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFn + PC9rZXk+CgkJCQk8aW50ZWdlcj4wPC9pbnRlZ2VyPgoJCQk8L2RpY3Q+CgkJPC9hcnJh + eT4KCTwvZGljdD4KCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1TY2Fs + aW5nPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3Jl + YXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3Ry + aW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4K + CQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZv + cm1hdC5QTVNjYWxpbmc8L2tleT4KCQkJCTxyZWFsPjAuNjc4NjA1MDc5NjUwODc4OTE8 + L3JlYWw+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+ + CgkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0 + ZT4yMDA2LTA4LTA3VDE2OjUzOjQxWjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+ + CgkJCTwvZGljdD4KCQk8L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJp + bnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNv + bS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFw + cGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtl + eT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+CgkJ + CQk8cmVhbD43MjwvcmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5j + bGllbnQ8L2tleT4KCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwv + c3RyaW5nPgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8L2tl + eT4KCQkJCTxkYXRlPjIwMDYtMDQtMDRUMDg6NDk6NDZaPC9kYXRlPgoJCQkJPGtleT5j + b20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJPGludGVnZXI+ + MDwvaW50ZWdlcj4KCQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2RpY3Q+Cgk8a2V5PmNv + bS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LlBNVmVydGljYWxTY2FsaW5nPC9rZXk+Cgk8 + ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJ + CTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJ + CTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRp + Y2FsU2NhbGluZzwva2V5PgoJCQkJPHJlYWw+MC42Nzg2MDUwNzk2NTA4Nzg5MTwvcmVh + bD4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJ + CTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJPGtl + eT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJCTxkYXRlPjIw + MDYtMDgtMDdUMTY6NTM6NDFaPC9kYXRlPgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQu + dGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJ + PC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2RpY3Q+Cgk8a2V5PmNvbS5hcHBsZS5wcmludC5z + dWJUaWNrZXQucGFwZXJfaW5mb190aWNrZXQ8L2tleT4KCTxkaWN0PgoJCTxrZXk+Y29t + LmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+CgkJ + PGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+ + CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRlbUFycmF5PC9rZXk+CgkJCTxhcnJh + eT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQu + UE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVhbD4w + LjA8L3JlYWw+CgkJCQkJCTxyZWFsPjAuMDwvcmVhbD4KCQkJCQkJPHJlYWw+MTE1My44 + Mzc1MTY4MTE0NDA1PC9yZWFsPgoJCQkJCQk8cmVhbD44ODcuMTEzOTAxODE0MTU5OTM8 + L3JlYWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5h + Z2VyPC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERh + dGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDA2LTA4LTA4VDE4OjM0OjExWjwvZGF0ZT4KCQkJ + CQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQkJ + PGludGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8L2Rp + Y3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTUFkanVzdGVkUGFw + ZXJSZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdl + cjwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRlbUFycmF5 + PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhcGVyUmVjdDwva2V5PgoJCQkJCTxhcnJh + eT4KCQkJCQkJPHJlYWw+LTguODQxNjY2Nzk1NDg5OTY1NTwvcmVhbD4KCQkJCQkJPHJl + YWw+LTUuODk0NDQ0NTMwMzI2NjQzOTwvcmVhbD4KCQkJCQkJPHJlYWw+MTE1OC4yNTgz + NTAyMDkxODU0PC9yZWFsPgoJCQkJCQk8cmVhbD44OTUuOTU1NTY4NjA5NjQ5ODQ8L3Jl + YWw+CgkJCQkJPC9hcnJheT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQu + Y2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2Vy + PC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8 + L2tleT4KCQkJCQk8ZGF0ZT4yMDA2LTA4LTA4VDE4OjM0OjExWjwvZGF0ZT4KCQkJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQkJPGlu + dGVnZXI+MDwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8L2RpY3Q+ + CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNQ3VzdG9tUGFwZXI8L2tl + eT4KCQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNyZWF0b3I8 + L2tleT4KCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+ + CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJ + PGFycmF5PgoJCQkJPGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJ + bmZvLlBNQ3VzdG9tUGFwZXI8L2tleT4KCQkJCQk8ZmFsc2UvPgoJCQkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJCQk8c3RyaW5nPmNvbS5h + cHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCQk8a2V5PmNvbS5hcHBsZS5w + cmludC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJCTxkYXRlPjIwMDYtMDgtMDdUMTY6 + NTM6MzJaPC9kYXRlPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0 + ZUZsYWc8L2tleT4KCQkJCQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJCQkJPC9kaWN0PgoJ + CQk8L2FycmF5PgoJCTwvZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYXBlcklu + Zm8uUE1QYXBlck5hbWU8L2tleT4KCQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0LmNyZWF0b3I8L2tleT4KCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRp + bmdtYW5hZ2VyPC9zdHJpbmc+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5p + dGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJCQkJPGRpY3Q+CgkJCQkJPGtleT5jb20u + YXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNUGFwZXJOYW1lPC9rZXk+CgkJCQkJPHN0cmlu + Zz5uYS1sZXR0ZXI8L3N0cmluZz4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQuY2xpZW50PC9rZXk+CgkJCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5h + Z2VyPC9zdHJpbmc+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERh + dGU8L2tleT4KCQkJCQk8ZGF0ZT4yMDA2LTA4LTA3VDE2OjUzOjMyWjwvZGF0ZT4KCQkJ + CQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQkJ + PGludGVnZXI+MTwvaW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8L2Rp + Y3Q+CgkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5hZGp1c3RlZFBh + Z2VSZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdl + cjwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuaXRlbUFycmF5 + PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LlBhcGVySW5mby5QTVVuYWRqdXN0ZWRQYWdlUmVjdDwva2V5PgoJCQkJCTxhcnJh + eT4KCQkJCQkJPHJlYWw+MC4wPC9yZWFsPgoJCQkJCQk8cmVhbD4wLjA8L3JlYWw+CgkJ + CQkJCTxyZWFsPjc4MzwvcmVhbD4KCQkJCQkJPHJlYWw+NjAyPC9yZWFsPgoJCQkJCTwv + YXJyYXk+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5 + PgoJCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJ + CQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJ + PGRhdGU+MjAwNi0wOC0wN1QxNjo1MzozMlo8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBw + bGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjE8L2lu + dGVnZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29t + LmFwcGxlLnByaW50LlBhcGVySW5mby5QTVVuYWRqdXN0ZWRQYXBlclJlY3Q8L2tleT4K + CQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNyZWF0b3I8L2tl + eT4KCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFy + cmF5PgoJCQkJPGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZv + LlBNVW5hZGp1c3RlZFBhcGVyUmVjdDwva2V5PgoJCQkJCTxhcnJheT4KCQkJCQkJPHJl + YWw+LTY8L3JlYWw+CgkJCQkJCTxyZWFsPi00PC9yZWFsPgoJCQkJCQk8cmVhbD43ODY8 + L3JlYWw+CgkJCQkJCTxyZWFsPjYwODwvcmVhbD4KCQkJCQk8L2FycmF5PgoJCQkJCTxr + ZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJCQk8c3RyaW5n + PmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJCTxkYXRlPjIwMDYtMDgt + MDdUMTY6NTM6MzJaPC9kYXRlPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tl + dC5zdGF0ZUZsYWc8L2tleT4KCQkJCQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJCQkJPC9k + aWN0PgoJCQk8L2FycmF5PgoJCTwvZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC5Q + YXBlckluZm8ucHBkLlBNUGFwZXJOYW1lPC9rZXk+CgkJPGRpY3Q+CgkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+Y29tLmFw + cGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBsZS5wcmlu + dC50aWNrZXQuaXRlbUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0PgoJCQkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LlBhcGVySW5mby5wcGQuUE1QYXBlck5hbWU8L2tl + eT4KCQkJCQk8c3RyaW5nPkxldHRlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxl + LnByaW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJCQk8c3RyaW5nPmNvbS5hcHBsZS5w + cmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50 + aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJCTxkYXRlPjIwMDYtMDgtMDdUMTY6NTM6MzJa + PC9kYXRlPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8 + L2tleT4KCQkJCQk8aW50ZWdlcj4xPC9pbnRlZ2VyPgoJCQkJPC9kaWN0PgoJCQk8L2Fy + cmF5PgoJCTwvZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuQVBJVmVy + c2lvbjwva2V5PgoJCTxzdHJpbmc+MDAuMjA8L3N0cmluZz4KCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQucHJpdmF0ZUxvY2s8L2tleT4KCQk8ZmFsc2UvPgoJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LnRpY2tldC50eXBlPC9rZXk+CgkJPHN0cmluZz5jb20uYXBw + bGUucHJpbnQuUGFwZXJJbmZvVGlja2V0PC9zdHJpbmc+Cgk8L2RpY3Q+Cgk8a2V5PmNv + bS5hcHBsZS5wcmludC50aWNrZXQuQVBJVmVyc2lvbjwva2V5PgoJPHN0cmluZz4wMC4y + MDwvc3RyaW5nPgoJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnByaXZhdGVMb2Nr + PC9rZXk+Cgk8ZmFsc2UvPgoJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnR5cGU8 + L2tleT4KCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXRUaWNrZXQ8L3N0 + cmluZz4KPC9kaWN0Pgo8L3BsaXN0PgqGkoSZmRROU1ZlcnRpY2FsbHlDZW50ZXJlZIaS + hKGbopcBhpKEmZkPTlNQcmludEFsbFBhZ2VzhpKgkoSZmQhOU0NvcGllc4aSqJKEmZkL + TlNQYXBlck5hbWWGkoSZmQZMZXR0ZXKGkoSZmQ9OU1NjYWxpbmdGYWN0b3KGkoShm4SE + AWahgz8tuRCGkoSZmQlOU1ByaW50ZXKGkoSEhAlOU1ByaW50ZXIAlJKEmZkKMTguOTAu + Mi45MIaGkoSZmQ1OU1JpZ2h0TWFyZ2luhpKEoZuvoSSGkoSZmRVOU0hvcml6b25hbFBh + Z2luYXRpb26GkqCShJmZGU5TUHJpbnRSZXZlcnNlT3JpZW50YXRpb26GkqCShJmZDk5T + Qm90dG9tTWFyZ2luhpKEoZuvoSSGkoSZmQxOU0xlZnRNYXJnaW6GkoShm6+hJIaShJmZ + C05TVG9wTWFyZ2luhpKEoZuvoSSGkoSZmQpOU0xhc3RQYWdlhpKEoZuil4J/////hpKE + mZkLTlNGaXJzdFBhZ2WGkqiShJmZFk5TSG9yaXpvbnRhbGx5Q2VudGVyZWSGkqiShJmZ + DU5TT3JpZW50YXRpb26GkqCGhg== + + RowAlign + 0 + RowSpacing + 36 + VPages + 1 + WindowInfo + + Frame + {{10, 4}, {785, 828}} + VisibleRegion + {{-115, 0}, {1026.67, 1001.33}} + Zoom + 0.75 + + + diff --git a/openblocks-master/openblocks-master/bin/doc/Front End Redesign MDD.pdf b/openblocks-master/openblocks-master/bin/doc/Front End Redesign MDD.pdf new file mode 100644 index 0000000..c0eeb16 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/doc/Front End Redesign MDD.pdf differ diff --git a/openblocks-master/openblocks-master/bin/doc/Stack Structure Diagram.graffle b/openblocks-master/openblocks-master/bin/doc/Stack Structure Diagram.graffle new file mode 100644 index 0000000..690e2cd --- /dev/null +++ b/openblocks-master/openblocks-master/bin/doc/Stack Structure Diagram.graffle @@ -0,0 +1,4725 @@ + + + + + CanvasColor + + a + 1 + w + 1 + + ColumnAlign + 0 + ColumnSpacing + 36 + GraphDocumentVersion + 2 + GraphicsList + + + Bounds + {{441, 18}, {270, 24}} + Class + ShapedGraphic + FitText + Vertical + ID + 65 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\b\fs28 \cf0 Example Stack Tree Structure - 8/8/06} + + + + Class + LineGraphic + Head + + ID + 30 + + ID + 64 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 before} + + LabelVisible + YES + Offset + 0.0 + Position + 0.5 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {999, 737.208} + {924.3, 735.564} + {855, 701.629} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 60 + + + + Bounds + {{1008, 792}, {54, 36}} + Class + ShapedGraphic + ID + 63 + Shape + RoundRect + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 null} + + + + Class + LineGraphic + Head + + ID + 63 + + ID + 62 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 after} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56689333915710449 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {1035, 756} + {1035, 792} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 60 + + + + Class + LineGraphic + Head + + ID + 60 + + ID + 61 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 socket[1]} + + LabelVisible + YES + Offset + 0.0 + Position + 0.5475042462348938 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {855, 693} + {999, 729} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 30 + + + + Bounds + {{999, 720}, {72, 36}} + Class + ShapedGraphic + ID + 60 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 50} + + + + Class + LineGraphic + Head + + ID + 30 + + ID + 59 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 before} + + LabelVisible + YES + Offset + 0.0 + Position + 0.5 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {1008, 612} + {927, 666} + {855, 678} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 55 + + + + Bounds + {{1008, 648}, {54, 36}} + Class + ShapedGraphic + ID + 58 + Shape + RoundRect + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 null} + + + + Class + LineGraphic + Head + + ID + 58 + + ID + 57 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 after} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56689333915710449 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {1035, 612} + {1035, 648} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 55 + + + + Class + LineGraphic + Head + + ID + 55 + + ID + 56 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 socket[0]} + + LabelVisible + YES + Offset + 0.0 + Position + 0.5475042462348938 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {855, 669} + {999, 609} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 30 + + + + Bounds + {{999, 576}, {72, 36}} + Class + ShapedGraphic + ID + 55 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 2} + + + + Class + LineGraphic + Head + + ID + 12 + + ID + 54 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 before} + + LabelVisible + YES + Offset + 0.0 + Position + 0.5 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {792, 199.037} + {720, 183.11} + {654.505, 135} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 50 + + + + Bounds + {{801, 261}, {54, 36}} + Class + ShapedGraphic + ID + 53 + Shape + RoundRect + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 null} + + + + Class + LineGraphic + Head + + ID + 53 + + ID + 52 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 after} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56689333915710449 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {828, 225} + {828, 261} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 50 + + + + Class + LineGraphic + Head + + ID + 50 + + ID + 51 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 socket[1]} + + LabelVisible + YES + Offset + 0.0 + Position + 0.5475042462348938 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {666, 133.363} + {792, 190.636} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 12 + + + + Bounds + {{792, 189}, {72, 36}} + Class + ShapedGraphic + ID + 50 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 global number} + + + + Class + LineGraphic + Head + + ID + 12 + + ID + 49 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 before} + + LabelVisible + YES + Offset + 0.0 + Position + 0.5 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {792, 72} + {720, 72} + {666, 99} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 45 + + + + Bounds + {{801, 126}, {54, 36}} + Class + ShapedGraphic + ID + 48 + Shape + RoundRect + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 null} + + + + Class + LineGraphic + Head + + ID + 48 + + ID + 47 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 after} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56689333915710449 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {828, 90} + {828, 126} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 45 + + + + Class + LineGraphic + Head + + ID + 45 + + ID + 46 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 socket[0]} + + LabelVisible + YES + Offset + 0.0 + Position + 0.5475042462348938 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {666, 108.817} + {792, 80.1816} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 12 + + + + Bounds + {{792, 54}, {72, 36}} + Class + ShapedGraphic + ID + 45 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 10} + + + + Class + LineGraphic + Head + + ID + 4 + + ID + 44 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 before} + + LabelVisible + YES + Offset + 0.0 + Position + 0.44951796531677246 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {594, 133.696} + {474.75, 189} + {409.125, 279} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 12 + + + + Bounds + {{603, 405}, {54, 36}} + Class + ShapedGraphic + ID + 43 + Shape + RoundRect + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 null} + + + + Class + LineGraphic + Head + + ID + 43 + + ID + 42 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 after} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56689333915710449 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {630, 369} + {630, 405} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 16 + + + + Class + LineGraphic + Head + + ID + 29 + + ID + 41 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 after} + + LabelVisible + YES + Offset + 0.0 + Position + 0.47371092438697815 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {625, 549} + {639, 612} + {625.5, 666} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 23 + + + + Class + LineGraphic + Head + + ID + 23 + + ID + 40 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 before} + + LabelVisible + YES + Offset + 0.0 + Position + 0.5272936224937439 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {614.25, 666} + {594, 612} + {615, 549} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 29 + + + + Bounds + {{594, 747}, {54, 36}} + Class + ShapedGraphic + ID + 39 + Shape + RoundRect + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 null} + + + + Class + LineGraphic + Head + + ID + 39 + + ID + 38 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 after} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56689333915710449 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {621, 702} + {621, 747} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 29 + + + + Bounds + {{792, 747}, {54, 36}} + Class + ShapedGraphic + ID + 37 + Shape + RoundRect + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 null} + + + + Class + LineGraphic + Head + + ID + 37 + + ID + 36 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 after} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56689333915710449 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {819, 702} + {819, 747} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 30 + + + + Class + LineGraphic + Head + + ID + 29 + + ID + 35 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 before} + + LabelVisible + YES + Offset + 0.0 + Position + 0.48949447274208069 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {783, 675.692} + {702, 657} + {657, 672} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 30 + + + + Class + LineGraphic + Head + + ID + 16 + + ID + 34 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 before} + + LabelVisible + YES + Offset + 0.0 + Position + 0.5 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {783, 342.692} + {702, 324} + {666, 337.5} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 19 + + + + Class + LineGraphic + Head + + ID + 23 + + ID + 33 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 before} + + LabelVisible + YES + Offset + 0.0 + Position + 0.4976983368396759 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {783, 522} + {711, 504} + {657, 520.2} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 25 + + + + Class + LineGraphic + Head + + ID + 4 + + ID + 32 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 before} + + LabelVisible + YES + Offset + 0.0 + Position + 0.5622633695602417 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {612, 513} + {558, 405} + {423, 315} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 23 + + + + Class + LineGraphic + Head + + ID + 30 + + ID + 31 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 socket[0]} + + LabelVisible + YES + Offset + 0.0 + Position + 0.62736284732818604 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {657, 683.999} + {783, 684} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 29 + + + + Bounds + {{783, 666}, {72, 36}} + Class + ShapedGraphic + ID + 30 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 atan} + + + + Bounds + {{585, 666}, {72, 36}} + Class + ShapedGraphic + ID + 29 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 set heading} + + + + Bounds + {{792, 585}, {54, 36}} + Class + ShapedGraphic + ID + 28 + Shape + RoundRect + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 null} + + + + Class + LineGraphic + Head + + ID + 28 + + ID + 27 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 after} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56689333915710449 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {819, 549} + {819, 585} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 25 + + + + Class + LineGraphic + Head + + ID + 25 + + ID + 26 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 socket[0]} + + LabelVisible + YES + Offset + 0.0 + Position + 0.5475042462348938 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {657, 530.999} + {783, 531} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 23 + + + + Bounds + {{783, 513}, {72, 36}} + Class + ShapedGraphic + ID + 25 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 1} + + + + Class + LineGraphic + Head + + ID + 23 + + ID + 24 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 socket[2]} + + LabelVisible + YES + Offset + 0.0 + Position + 0.54306554794311523 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {413.308, 315} + {603.692, 513} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 4 + + + + Bounds + {{585, 513}, {72, 36}} + Class + ShapedGraphic + ID + 23 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 forward} + + + + Bounds + {{792, 405}, {54, 36}} + Class + ShapedGraphic + ID + 22 + Shape + RoundRect + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 null} + + + + Class + LineGraphic + Head + + ID + 22 + + ID + 21 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 after} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56689333915710449 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {819, 369} + {819, 405} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 19 + + + + Class + LineGraphic + Head + + ID + 19 + + ID + 20 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 socket[0]} + + LabelVisible + YES + Offset + 0.0 + Position + 0.5475042462348938 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {666, 350.999} + {783, 351} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 16 + + + + Bounds + {{783, 333}, {72, 36}} + Class + ShapedGraphic + ID + 19 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 yellow} + + + + Class + LineGraphic + Head + + ID + 4 + + ID + 18 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 before} + + LabelVisible + YES + Offset + 0.0 + Position + 0.5 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {594, 333.462} + {519.153, 297} + {432, 297} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 16 + + + + Class + LineGraphic + Head + + ID + 16 + + ID + 17 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 socket[1]} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56183552742004395 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {432, 305.307} + {594, 342.692} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 4 + + + + Bounds + {{594, 333}, {72, 36}} + Class + ShapedGraphic + ID + 16 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 set color} + + + + Bounds + {{603, 171}, {54, 36}} + Class + ShapedGraphic + ID + 15 + Shape + RoundRect + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 null} + + + + Class + LineGraphic + Head + + ID + 15 + + ID + 14 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 after} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56689333915710449 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {630, 135} + {630, 171} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 12 + + + + Class + LineGraphic + Head + + ID + 12 + + ID + 13 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 socket[0]} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56183552742004395 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {419.4, 279} + {606.6, 135} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 4 + + + + Bounds + {{594, 99}, {72, 36}} + Class + ShapedGraphic + ID + 12 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 equals} + + + + Bounds + {{189, 243}, {54, 36}} + Class + ShapedGraphic + ID + 11 + Shape + RoundRect + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 null} + + + + Class + LineGraphic + Head + + ID + 11 + + ID + 10 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 after} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56689333915710449 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {216, 180} + {216, 243} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 2 + + + + Class + LineGraphic + Head + + ID + 2 + + ID + 9 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 before} + + LabelVisible + YES + Offset + 0.0 + Position + 0.60074573755264282 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {387.091, 279} + {355.909, 216} + {252, 175.895} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 4 + + + + Bounds + {{189, 63}, {54, 36}} + Class + ShapedGraphic + ID + 8 + Shape + RoundRect + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 null} + + + + Class + LineGraphic + Head + + ID + 8 + + ID + 7 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 before} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56689333915710449 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {216, 144} + {216, 99} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 2 + + + + Bounds + {{369, 378}, {54, 36}} + Class + ShapedGraphic + ID + 6 + Shape + RoundRect + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 null} + + + + Class + LineGraphic + Head + + ID + 6 + + ID + 5 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 after} + + LabelVisible + YES + Offset + 0.0 + Position + 0.56689333915710449 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {396, 315} + {396, 378} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + TailArrow + 0 + + + Tail + + ID + 4 + + + + Bounds + {{360, 279}, {72, 36}} + Class + ShapedGraphic + ID + 4 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 ifelse} + + + + Class + LineGraphic + Head + + ID + 4 + + ID + 3 + Labels + + + Label + + Align + 0 + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural\pardirnatural + +\f0\fs24 \cf0 socket[0]} + + LabelVisible + YES + Offset + 0.0 + Position + 0.63614857196807861 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.10000000149011612 + + + Label + + Align + 0 + + Offset + 0.0 + Position + 0.89999997615814209 + + + Points + + {240, 180} + {372, 279} + + Style + + stroke + + HeadArrow + FilledArrow + LineType + 1 + Pattern + 1 + TailArrow + 0 + + + Tail + + ID + 2 + + + + Bounds + {{180, 144}, {72, 36}} + Class + ShapedGraphic + ID + 2 + Shape + Rectangle + Text + + Text + {\rtf1\mac\ansicpg10000\cocoartf824\cocoasubrtf410 +{\fonttbl\f0\fswiss\fcharset77 Helvetica;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc\pardirnatural + +\f0\fs24 \cf0 Forever} + + + + Bounds + {{72, 513}, {411, 238}} + Class + ShapedGraphic + ID + 1 + ImageID + 1 + Shape + Rectangle + Style + + fill + + Draws + NO + + shadow + + Draws + NO + + stroke + + Draws + NO + + + + + GridInfo + + HPages + 1 + ImageCounter + 2 + Images + + + Data + + BAt0eXBlZHN0cmVhbYED6IQBQISEhA1OU011dGFibGVEYXRhAISE + Bk5TRGF0YQCEhAhOU09iamVjdACFhAFpggAAja2ECFszNjI2OWNd + iVBORw0KGgoAAAANSUhEUgAAAZsAAADuCAIAAABgYj1pAAAHX2lD + Q1BJQ0MgUHJvZmlsZQAAeJyNlXk4lHsbx7/PDIas4TikZUTJLktS + IQZDkaGyl2azDjONsbTIVqkoLaekiDYhSdqjcpSihRY5HSKVNkdS + Ttow7x9Pvb3Xed9znff+6/7d1/X8rt/nc32f6wbke9gikYACIDZO + IvZjutADg4LptDbIQAnqsIcsmxsvcmaxvPC3NdQGAgDum7FFIsFz + ObV+kU57uBflYrf7zUbm338HAFAWBwYFAwQdgGYE2dsA0OSQvQcA + zSSJSAIQoQA0uZFsHkCIAJiKF/kxAKIAgEoE2VcAUOGQfS0AlURu + hAQgbgFU9TheVBwg0w1QVXj8eC5AGwBQwBWJJYB8DgCz2FghD5Cv + BTAtMCiYTj6TZwHYmQFUnR+zmFSgKguYpP5jZjgN0A4Hqj7/mA36 + gQBAaLXEh1tbAQAIJRdAtksqHZwK0LYDI9uk0q8HpNKRgwD1EVAn + 4CaIE785Ioi7wD+dSc5vRSUAAlQ5eUVl1bEaP/2sPU53wkS63mSD + KVMNjYxNTM3MLSynW1nb2M6wm2k/a/acOQ6OTnOdXRiurm7uTA9P + z3nz53t5ey9Y4MNi+fr6+S1ctGixv39AYFBQcEjokqVhYcvYHC6P + Hx4RGRUdI4iNjROKlovj4yUJiUlJyStWrFy1anVKyprU1LT09IzM + zLVr161fn7Vhw8aNm7Kzc3I2b9mSu3Xrtm3bd+z4ZefOXXl5u/Pz + 9+zdW1BYuK+ouHj/gQMHDx06XFJypLSsrPzo0YpjxyqPV1WdqD55 + 8tTpM2fPnb9QU3vxUt2v9VcbrjU23bh1u/nO3futD3572N7R2dX9 + 5FnPi1e9ff0Dg0OfpaDI0hRIAVraOrrjJ07Sm6w/ZarhNKMfAv7K + 7+bO9CDpF/j4sP4DPTAoODgkNHTJ0qVhYcvYbA6Hy+Px+eEREZGR + UdHRMaQFoWj5Nw+JpIfVq1PWpKalpWdkZq5dtz4ra8PGTdnZOZu3 + 5OZuJfl35eXtJun3FRWR8IcPlxwpLS0rL/8r+3f4y3X1V642XG9s + unnrdvOdu/daH7Q9/L3jUefj7qfPnr981dvXP/D+z49fpKDIyNEU + FJVUVMeqa2hq/aytM053/ISJk+h6k/UNpkw1NJxmZGxiampmbmFh + Od3K2trGdsYMu5n29rNmz57j4ODo6OQ0d66ziwuD4erq5ubuzvTw + +J4LHxapZvFi0kzIv1PB4fL44WQuYgSkEXG8RJKQmJScvGIlGYu0 + 9PSMTDIT/1NH/p69BQWF+/YVFe/ff+DgwW9hKC8/WnGs8njVieqT + p86cPX+h9uLluvorDdcam27eam65e6+17bffOx51dT/tefHqjzcD + gx+lAPm/AwBVDii6BARpAb5lwJY8wHAzoFUKsJSBRfYgokpALG8B + 4dANKpJBAUBAFkr4CZNhBSbCkIJiNOEzMZ1YTlygKFOiKfepHtQm + mUCZD7L75UJoU2hS+ZcKj8e8VBxRpqv4qm5Re6W+V3Of1iMdJ93y + CcN0Vb0P+q1TKg3XGYWY2Jipm3+1fG81bDvJbpl945wlToYuxm7+ + HuVeBj71C1MDQkJYYaHclRElMR0idQkzOX51btova0s3dG2evm3P + LvU924vGHlx/5HWFRZX3qZlne2pcL82ve3cl65pBY8PN6Gb1OzX3 + eW3KD6s7Fnb2d2c8U3qe/XKkN6zveH/fO41BvQ+aQ68/FX4x/5o/ + 3D7ydrRVuk4qBUABDWqYAHMwEIpVKEIjPhHmhICopoASQDlH1afu + ltGRKZF1lO2R20Xzl9eXH1F4PqZd8ZFSr4qsqrFa8NhSDV3Naq04 + be9xPuPFE0/qaegXTmUZGZpOsDCx8rQVztw+u9TxkHOGK5vpMW+G + tynLeKGFv0OQX6gobBengT8aNVeQI3wa75p4YqVxSlW6+zpseJLT + s42yc0Z+cmH9gTEl88qTKjdWS86YnS+v7bpcU89tULt+5cbK2zYt + A/cqHkQ8pLe3dmZ0Gz299jzgZUevT19V/+g7m0HfD74frT8Nfskd + pozMH+VJvaRSAFQoQgdmYCIKO9BAUAhPooAYpsRQXlOTZLRlbspu + l4ulLZHnKKSMqVR8rzxf5Yza9LEDmjQtnvZb3U0TNejLJucZtBtO + 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 + 5V127yAKACjKYjazAAAUVW8Ti8UKismyW7MsdgeP/GXKZKVCi5wZ + tY5qDBRYLbwoQukbJ3Jm1tdl1blFtDTJSxsn4vJctmNW3ihT95Eh + HrszauvrQRSnlJfazI1uAwTuJl31FgvqKSAg8O/8yzY235BRbdmn + 0ul8fPR+Bl1Q3G20Tkbe9NCSvUd2lJTuL8599eOHNhcW/DP+mU/z + sj7dvGXV6apth7+3l+XbHv7g/ROFR2vLtx1ZHxVz5j00au72f347 + uSVGXrix3lly++uf5RV8vup+6aKP3z958baVJtupUY817spRUXbA + 1Xov1i4HxnDN2agCAgJXpWU7A8peBcePOzCmJVTWR/cszp+0/82L + lvfxYxb8uL5+3tEohUiliFEBAFtprl7y+7N39b9gQ/v4mj1HFL1O + 2F7pbvSe/MiE9x86/ODsMUqRKLt++IszezW+7agqxeTXrXFXG3k0 + lSAaSh5fR7g591uHq0ycaEasn4yvXV5tULnqkaPqgQRfH4prcuf7 + h6vKONG0WL8kZeuKMgsICDSmhamGVHBMTExsbHhoZHy3wLsfnnbe + AvaC5f3EyIaifZbMGQiNmf3MpKExcKkN7e0LYz9efQAAYkZNrQi7 + u7+vCJwnC4xRTW6b/ngk16ircbOem2T0S6Cus9+5m3N/133x20er + 3v36ucd2seZn//5qR8b7e4/NvT/ltYMVVSzZ+M413Re/cLTq7a8X + LdlXkWm5vivbCAh0Li0bo7GFyx54NV8mAwDLpnXdli0FgGN/fGWQ + KYiPzlneJ6uOA4Dl9K61Inn0MVW3YDmcs6E910dIVMK+ud9kPTk4 + 3thvx/s9lACmjN994h66/DaogfNdKUacRUlS9ro7TcywTK5bbHY6 + Lea6s36zBvf0BzBn7juWW1TXN0D5XU5FRrlbLpFOCNf2U7sKJUEU + AEWLa13csZq6tTk1p8xYIZaNCNVM8qfkBK5jmO/z6raVnGuSZgCq + A78QGYVkZ09seXKGiGqHE0idS8DMxTEJCZ0dhYAHaZmiOaq3fbYy + W6UKocEol6s05yzvGf4A2Te+iQWsUqzyFZ84XeEc6isu3Lrs6TX5 + w8eNDgLrgT+PJGny1+1+Pn64f2oqAFg2ffmE5Ym7h+vpS2776zCd + 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 + jUOEWrb//tmrM02UNjw9PUV5PoMXnBczeE+aWW1M2vz56drzGbw7 + 5s1s0mTpn8qZ3bXttTFwkrM9wiuf5/ELFSYT7qjtBsx+Vln+VEVV + Jt/qBGAXZj4xl91amD/1bMU79db3bv7fmOcX1kgq55XVrnfU3Flc + OKe0cq0LOXj3R+a6uWXF04vyF1WYsjnuQqv3LLwbnxvO8RxXcfYs + AGwEyAfQAgw2vOEVq0vUJ0IMOPc6OXPz+8U8dj5Zvm1c7svrch8/ + WvrcFUWNAKBAqpAmihP5r/m/fv+rte97gyHMOm8cvMSSR3sWPNpO + GbztMuc8yfH1n2//qm8gAGQtn/ja0/sX+xq8W3zaoY1g9jPFuDuz + 3qQyl6WNeONloyGpxQeEXZjZMO6J+16avZgmwFn42d0LejwxDICa + vX7vH/f+PXjZfXfrxKwpc+ktA18d9N07Tw2x8yqtBPK2LntjX9jr + j49taPXlXT3/b5f/wypShLCprIxlmCKMfwdAAI93f/FEefkcxRwY + DexZ1nW0+bomPO94J/HQI+9OCaMBONrN2ty8+4pBkwA8aHw0QwuH + rn1nbXS36MjIyDZ8bTcGgqLdSKA+eo9n8LYG1wvEzB/7Bp6r33um + TkKTSypKXBjFyZS3KBXBBO/G7i9rHcUYRGA5aOdFpHKWTjeKdq6o + rS/BookaryBk+9xsowjxnWqFCTvW1NRnuxiaoJMV6mkKqQqc55tb + a3hRolxd66jb53DnGA33A9C0uIbFztZMFY+zdbpbb9LQxWtXHIke + GhUQJ9+0+2zymJB9P349cuErkbryZUvWT3h1/hNvvzbrbz+xSHVq + 9Rvrw++ZPWzu7CDqQqug7mPNew67AZj6ekttrRvjlQAcwFRtz9M5 + 2pFxQxVjFBiwfYu9+SAw+6HS9uzXN52rS8kAQoSIuPJgEwHQgHjk + 7+s/cOfANcvWPPbGY//ZY1WCot1geDaDtzVw68nUT7Y/caF+717t + /U9ljfZTy4B1nNz2xeJbXrjV6Gcd/9jDS281nalUB4erxZyrfM9d + YeOPzP/k5Zcn2bNW9R/65GMfrX91ao/Mj6YvfKX6nh+/Xdo3UoKQ + k7VkffvizAU/3Dr3xYdfndLQXGHZ9f4O6cKJPRTImXO0hD5f6qBV + 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 + + Extension + png + ID + 1 + + + IsPalette + NO + Layers + + + Lock + NO + Name + Layer 1 + Print + YES + View + YES + + + LayoutInfo + + AutoAdjust + YES + MagneticFieldCenter + {0, 0} + + MagnetsEnabled + YES + PageBreakColor + + a + 1 + w + 0.666667 + + PageBreaks + YES + PageSetup + + BAt0eXBlZHN0cmVhbYED6IQBQISEhAtOU1ByaW50SW5mbwGEhAhOU09iamVjdACFkoSE + hBNOU011dGFibGVEaWN0aW9uYXJ5AISEDE5TRGljdGlvbmFyeQCUhAFpFJKEhIQITlNT + dHJpbmcBlIQBKxBOU0pvYkRpc3Bvc2l0aW9uhpKEmZkPTlNQcmludFNwb29sSm9ihpKE + mZkLTlNQYXBlclNpemWGkoSEhAdOU1ZhbHVlAJSEASqEhAx7X05TU2l6ZT1mZn2cgQMY + gQJkhpKEmZkUTlNWZXJ0aWNhbFBhZ2luYXRpb26GkoSEhAhOU051bWJlcgCdm4SXlwCG + koSZmQ5OU1BNUGFnZUZvcm1hdIaShISEDU5TTXV0YWJsZURhdGEAhIQGTlNEYXRhAJSX + gSL2hAdbODk1MGNdPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4K + PCFET0NUWVBFIHBsaXN0IFBVQkxJQyAiLS8vQXBwbGUgQ29tcHV0ZXIvL0RURCBQTElT + VCAxLjAvL0VOIiAiaHR0cDovL3d3dy5hcHBsZS5jb20vRFREcy9Qcm9wZXJ0eUxpc3Qt + MS4wLmR0ZCI+CjxwbGlzdCB2ZXJzaW9uPSIxLjAiPgo8ZGljdD4KCTxrZXk+Y29tLmFw + cGxlLnByaW50LlBhZ2VGb3JtYXQuRm9ybWF0dGluZ1ByaW50ZXI8L2tleT4KCTxkaWN0 + PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJPHN0 + cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJPGtleT5jb20u + YXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCTxhcnJheT4KCQkJPGRp + Y3Q+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LkZvcm1hdHRpbmdQ + cmludGVyPC9rZXk+CgkJCQk8c3RyaW5nPl8xOF85MF8yXzkwPC9zdHJpbmc+CgkJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8c3RyaW5n + PmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+Y29tLmFw + cGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDA2LTA4LTAz + VDIyOjI0OjUwWjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5z + dGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwvZGljdD4K + CQk8L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1h + dC5QTUhvcml6b250YWxSZXM8L2tleT4KCTxkaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRp + bmdtYW5hZ2VyPC9zdHJpbmc+CgkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lml0 + ZW1BcnJheTwva2V5PgoJCTxhcnJheT4KCQkJPGRpY3Q+CgkJCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC5QYWdlRm9ybWF0LlBNSG9yaXpvbnRhbFJlczwva2V5PgoJCQkJPHJlYWw+ + NzI8L3JlYWw+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9r + ZXk+CgkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4K + CQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8 + ZGF0ZT4yMDA2LTA4LTAzVDIxOjU5OjU1WjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxl + LnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVn + ZXI+CgkJCTwvZGljdD4KCQk8L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUu + cHJpbnQuUGFnZUZvcm1hdC5QTU9yaWVudGF0aW9uPC9rZXk+Cgk8ZGljdD4KCQk8a2V5 + PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29t + LmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJ + PGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTU9yaWVudGF0aW9uPC9rZXk+ + CgkJCQk8aW50ZWdlcj4yPC9pbnRlZ2VyPgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQu + dGlja2V0LmNsaWVudDwva2V5PgoJCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdt + YW5hZ2VyPC9zdHJpbmc+CgkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQubW9k + RGF0ZTwva2V5PgoJCQkJPGRhdGU+MjAwNi0wOC0wM1QyMjoyNDo1MFo8L2RhdGU+CgkJ + CQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQk8 + aW50ZWdlcj4wPC9pbnRlZ2VyPgoJCQk8L2RpY3Q+CgkJPC9hcnJheT4KCTwvZGljdD4K + CTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1TY2FsaW5nPC9rZXk+Cgk8 + ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJ + CTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJ + CTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVNjYWxp + bmc8L2tleT4KCQkJCTxyZWFsPjAuNjM1NzYxNjE4NjE0MTk2Nzg8L3JlYWw+CgkJCQk8 + a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9rZXk+CgkJCQk8c3RyaW5n + PmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJCTxrZXk+Y29tLmFw + cGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQk8ZGF0ZT4yMDA2LTA4LTAz + VDIyOjI0OjUyWjwvZGF0ZT4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5z + dGF0ZUZsYWc8L2tleT4KCQkJCTxpbnRlZ2VyPjA8L2ludGVnZXI+CgkJCTwvZGljdD4K + CQk8L2FycmF5PgoJPC9kaWN0PgoJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1h + dC5QTVZlcnRpY2FsUmVzPC9rZXk+Cgk8ZGljdD4KCQk8a2V5PmNvbS5hcHBsZS5wcmlu + dC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5n + bWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVt + QXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsUmVzPC9rZXk+CgkJCQk8cmVhbD43Mjwv + cmVhbD4KCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tleT4K + CQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJ + PGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJCTxkYXRl + PjIwMDYtMDgtMDNUMjE6NTk6NTVaPC9kYXRlPgoJCQkJPGtleT5jb20uYXBwbGUucHJp + bnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJPGludGVnZXI+MDwvaW50ZWdlcj4K + CQkJPC9kaWN0PgoJCTwvYXJyYXk+Cgk8L2RpY3Q+Cgk8a2V5PmNvbS5hcHBsZS5wcmlu + dC5QYWdlRm9ybWF0LlBNVmVydGljYWxTY2FsaW5nPC9rZXk+Cgk8ZGljdD4KCQk8a2V5 + PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCTxzdHJpbmc+Y29t + LmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCTxrZXk+Y29tLmFwcGxlLnBy + aW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQk8YXJyYXk+CgkJCTxkaWN0PgoJCQkJ + PGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1hdC5QTVZlcnRpY2FsU2NhbGluZzwv + a2V5PgoJCQkJPHJlYWw+MC42MzU3NjE2MTg2MTQxOTY3ODwvcmVhbD4KCQkJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tleT4KCQkJCTxzdHJpbmc+Y29t + LmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJPGtleT5jb20uYXBwbGUu + cHJpbnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJCTxkYXRlPjIwMDYtMDgtMDNUMjI6 + MjQ6NTJaPC9kYXRlPgoJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRl + RmxhZzwva2V5PgoJCQkJPGludGVnZXI+MDwvaW50ZWdlcj4KCQkJPC9kaWN0PgoJCTwv + YXJyYXk+Cgk8L2RpY3Q+Cgk8a2V5PmNvbS5hcHBsZS5wcmludC5zdWJUaWNrZXQucGFw + ZXJfaW5mb190aWNrZXQ8L2tleT4KCTxkaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBhZ2VSZWN0PC9rZXk+CgkJPGRpY3Q+CgkJCTxr + ZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jcmVhdG9yPC9rZXk+CgkJCTxzdHJpbmc+ + Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQk8a2V5PmNvbS5hcHBs + ZS5wcmludC50aWNrZXQuaXRlbUFycmF5PC9rZXk+CgkJCTxhcnJheT4KCQkJCTxkaWN0 + PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhZ2VGb3JtYXQuUE1BZGp1c3RlZFBh + Z2VSZWN0PC9rZXk+CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVhbD4wLjA8L3JlYWw+CgkJ + CQkJCTxyZWFsPjAuMDwvcmVhbD4KCQkJCQkJPHJlYWw+OTI0LjExOTk3MzI2MTYwNTg4 + PC9yZWFsPgoJCQkJCQk8cmVhbD4xMjA3Ljk5OTk0NDQ5ODE0NDwvcmVhbD4KCQkJCQk8 + L2FycmF5PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tl + eT4KCQkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4K + CQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJ + CTxkYXRlPjIwMDYtMDgtMDhUMTg6NDk6NTBaPC9kYXRlPgoJCQkJCTxrZXk+Y29tLmFw + cGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCQk8aW50ZWdlcj4wPC9p + bnRlZ2VyPgoJCQkJPC9kaWN0PgoJCQk8L2FycmF5PgoJCTwvZGljdD4KCQk8a2V5PmNv + bS5hcHBsZS5wcmludC5QYWdlRm9ybWF0LlBNQWRqdXN0ZWRQYXBlclJlY3Q8L2tleT4K + CQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNyZWF0b3I8L2tl + eT4KCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFy + cmF5PgoJCQkJPGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFnZUZvcm1h + dC5QTUFkanVzdGVkUGFwZXJSZWN0PC9rZXk+CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVh + bD4tMTkuMjUyNDgzNzU0OTI1NjA2PC9yZWFsPgoJCQkJCQk8cmVhbD4tMTguNzgwNjI3 + OTc3MjQ3OTg4PC9yZWFsPgoJCQkJCQk8cmVhbD45NDMuMzcyNDcyMDE3MDMzMDM8L3Jl + YWw+CgkJCQkJCTxyZWFsPjEyMjYuOTY5MzE0Nzg2NDYzMjwvcmVhbD4KCQkJCQk8L2Fy + cmF5PgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tleT4K + CQkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJ + CQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJCTxk + YXRlPjIwMDYtMDgtMDhUMTg6NDk6NTBaPC9kYXRlPgoJCQkJCTxrZXk+Y29tLmFwcGxl + LnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCQk8aW50ZWdlcj4wPC9pbnRl + Z2VyPgoJCQkJPC9kaWN0PgoJCQk8L2FycmF5PgoJCTwvZGljdD4KCQk8a2V5PmNvbS5h + cHBsZS5wcmludC5QYXBlckluZm8uUE1DdXN0b21QYXBlcjwva2V5PgoJCTxkaWN0PgoJ + CQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwva2V5PgoJCQk8c3Ry + aW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4KCQkJPGtleT5jb20u + YXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCQk8YXJyYXk+CgkJCQk8 + ZGljdD4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYXBlckluZm8uUE1DdXN0b21Q + YXBlcjwva2V5PgoJCQkJCTxmYWxzZS8+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQu + dGlja2V0LmNsaWVudDwva2V5PgoJCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5n + bWFuYWdlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5t + b2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwNi0wOC0wM1QyMjoyNDo1MFo8L2RhdGU+ + CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJ + CQkJCTxpbnRlZ2VyPjE8L2ludGVnZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+CgkJ + PC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50LlBhcGVySW5mby5QTVBhcGVyTmFt + ZTwva2V5PgoJCTxkaWN0PgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3Jl + YXRvcjwva2V5PgoJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0 + cmluZz4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5 + PgoJCQk8YXJyYXk+CgkJCQk8ZGljdD4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5Q + YXBlckluZm8uUE1QYXBlck5hbWU8L2tleT4KCQkJCQk8c3RyaW5nPm5hLWxldHRlcjwv + c3RyaW5nPgoJCQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5jbGllbnQ8L2tl + eT4KCQkJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4K + CQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQubW9kRGF0ZTwva2V5PgoJCQkJ + CTxkYXRlPjIwMDYtMDgtMDNUMjI6MjQ6NTBaPC9kYXRlPgoJCQkJCTxrZXk+Y29tLmFw + cGxlLnByaW50LnRpY2tldC5zdGF0ZUZsYWc8L2tleT4KCQkJCQk8aW50ZWdlcj4xPC9p + bnRlZ2VyPgoJCQkJPC9kaWN0PgoJCQk8L2FycmF5PgoJCTwvZGljdD4KCQk8a2V5PmNv + bS5hcHBsZS5wcmludC5QYXBlckluZm8uUE1VbmFkanVzdGVkUGFnZVJlY3Q8L2tleT4K + CQk8ZGljdD4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNyZWF0b3I8L2tl + eT4KCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFy + cmF5PgoJCQkJPGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZv + LlBNVW5hZGp1c3RlZFBhZ2VSZWN0PC9rZXk+CgkJCQkJPGFycmF5PgoJCQkJCQk8cmVh + bD4wLjA8L3JlYWw+CgkJCQkJCTxyZWFsPjAuMDwvcmVhbD4KCQkJCQkJPHJlYWw+NzY4 + PC9yZWFsPgoJCQkJCQk8cmVhbD41ODcuNTIwMDA5OTk0NTA2ODQ8L3JlYWw+CgkJCQkJ + PC9hcnJheT4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY2xpZW50PC9r + ZXk+CgkJCQkJPHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+ + CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lm1vZERhdGU8L2tleT4KCQkJ + CQk8ZGF0ZT4yMDA2LTA4LTAzVDIyOjI0OjUwWjwvZGF0ZT4KCQkJCQk8a2V5PmNvbS5h + cHBsZS5wcmludC50aWNrZXQuc3RhdGVGbGFnPC9rZXk+CgkJCQkJPGludGVnZXI+MTwv + aW50ZWdlcj4KCQkJCTwvZGljdD4KCQkJPC9hcnJheT4KCQk8L2RpY3Q+CgkJPGtleT5j + b20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLlBNVW5hZGp1c3RlZFBhcGVyUmVjdDwva2V5 + PgoJCTxkaWN0PgoJCQk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNrZXQuY3JlYXRvcjwv + a2V5PgoJCQk8c3RyaW5nPmNvbS5hcHBsZS5wcmludGluZ21hbmFnZXI8L3N0cmluZz4K + CQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0Lml0ZW1BcnJheTwva2V5PgoJCQk8 + YXJyYXk+CgkJCQk8ZGljdD4KCQkJCQk8a2V5PmNvbS5hcHBsZS5wcmludC5QYXBlcklu + Zm8uUE1VbmFkanVzdGVkUGFwZXJSZWN0PC9rZXk+CgkJCQkJPGFycmF5PgoJCQkJCQk8 + cmVhbD4tMTEuOTQwMDAyNDQxNDA2MjU8L3JlYWw+CgkJCQkJCTxyZWFsPi0xMi4yMzk5 + OTk3NzExMTgxNjQ8L3JlYWw+CgkJCQkJCTxyZWFsPjc4MC4wNTk5OTc1NTg1OTM3NTwv + cmVhbD4KCQkJCQkJPHJlYWw+NTk5Ljc2MDAwMDIyODg4MTg0PC9yZWFsPgoJCQkJCTwv + YXJyYXk+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5 + PgoJCQkJCTxzdHJpbmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJ + CQkJCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJ + PGRhdGU+MjAwNi0wOC0wM1QyMjoyNDo1MFo8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBw + bGUucHJpbnQudGlja2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjE8L2lu + dGVnZXI+CgkJCQk8L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29t + LmFwcGxlLnByaW50LlBhcGVySW5mby5wcGQuUE1QYXBlck5hbWU8L2tleT4KCQk8ZGlj + dD4KCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNyZWF0b3I8L2tleT4KCQkJ + PHN0cmluZz5jb20uYXBwbGUucHJpbnRpbmdtYW5hZ2VyPC9zdHJpbmc+CgkJCTxrZXk+ + Y29tLmFwcGxlLnByaW50LnRpY2tldC5pdGVtQXJyYXk8L2tleT4KCQkJPGFycmF5PgoJ + CQkJPGRpY3Q+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQuUGFwZXJJbmZvLnBwZC5Q + TVBhcGVyTmFtZTwva2V5PgoJCQkJCTxzdHJpbmc+TGV0dGVyPC9zdHJpbmc+CgkJCQkJ + PGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LmNsaWVudDwva2V5PgoJCQkJCTxzdHJp + bmc+Y29tLmFwcGxlLnByaW50aW5nbWFuYWdlcjwvc3RyaW5nPgoJCQkJCTxrZXk+Y29t + LmFwcGxlLnByaW50LnRpY2tldC5tb2REYXRlPC9rZXk+CgkJCQkJPGRhdGU+MjAwNi0w + OC0wM1QyMjoyNDo1MFo8L2RhdGU+CgkJCQkJPGtleT5jb20uYXBwbGUucHJpbnQudGlj + a2V0LnN0YXRlRmxhZzwva2V5PgoJCQkJCTxpbnRlZ2VyPjE8L2ludGVnZXI+CgkJCQk8 + L2RpY3Q+CgkJCTwvYXJyYXk+CgkJPC9kaWN0PgoJCTxrZXk+Y29tLmFwcGxlLnByaW50 + LnRpY2tldC5BUElWZXJzaW9uPC9rZXk+CgkJPHN0cmluZz4wMC4yMDwvc3RyaW5nPgoJ + CTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5wcml2YXRlTG9jazwva2V5PgoJCTxm + YWxzZS8+CgkJPGtleT5jb20uYXBwbGUucHJpbnQudGlja2V0LnR5cGU8L2tleT4KCQk8 + c3RyaW5nPmNvbS5hcHBsZS5wcmludC5QYXBlckluZm9UaWNrZXQ8L3N0cmluZz4KCTwv + ZGljdD4KCTxrZXk+Y29tLmFwcGxlLnByaW50LnRpY2tldC5BUElWZXJzaW9uPC9rZXk+ + Cgk8c3RyaW5nPjAwLjIwPC9zdHJpbmc+Cgk8a2V5PmNvbS5hcHBsZS5wcmludC50aWNr + ZXQucHJpdmF0ZUxvY2s8L2tleT4KCTxmYWxzZS8+Cgk8a2V5PmNvbS5hcHBsZS5wcmlu + dC50aWNrZXQudHlwZTwva2V5PgoJPHN0cmluZz5jb20uYXBwbGUucHJpbnQuUGFnZUZv + cm1hdFRpY2tldDwvc3RyaW5nPgo8L2RpY3Q+CjwvcGxpc3Q+CoaShJmZFE5TVmVydGlj + YWxseUNlbnRlcmVkhpKEoZuilwGGkoSZmQ9OU1ByaW50QWxsUGFnZXOGkqCShJmZCE5T + Q29waWVzhpKokoSZmQtOU1BhcGVyTmFtZYaShJmZBkxldHRlcoaShJmZD05TU2NhbGlu + Z0ZhY3RvcoaShKGbhIQBZqGDPyLBRoaShJmZCU5TUHJpbnRlcoaShISECU5TUHJpbnRl + cgCUkoSZmQoxOC45MC4yLjkwhoaShJmZDU5TUmlnaHRNYXJnaW6GkoShm6+hJIaShJmZ + FU5TSG9yaXpvbmFsUGFnaW5hdGlvboaSoJKEmZkZTlNQcmludFJldmVyc2VPcmllbnRh + dGlvboaSoJKEmZkOTlNCb3R0b21NYXJnaW6GkoShm6+hJIaShJmZDE5TTGVmdE1hcmdp + boaShKGbr6EkhpKEmZkLTlNUb3BNYXJnaW6GkoShm6+hJIaShJmZCk5TTGFzdFBhZ2WG + koShm6KXgn////+GkoSZmQtOU0ZpcnN0UGFnZYaSqJKEmZkWTlNIb3Jpem9udGFsbHlD + ZW50ZXJlZIaSqJKEmZkNTlNPcmllbnRhdGlvboaSqIaG + + RowAlign + 0 + RowSpacing + 36 + VPages + 1 + WindowInfo + + Frame + {{73, 60}, {897, 749}} + VisibleRegion + {{-21, -23}, {1176, 896}} + Zoom + 0.75 + + + diff --git a/openblocks-master/openblocks-master/bin/doc/Stack Structure Diagram.pdf b/openblocks-master/openblocks-master/bin/doc/Stack Structure Diagram.pdf new file mode 100644 index 0000000..6c6c212 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/doc/Stack Structure Diagram.pdf differ diff --git a/openblocks-master/openblocks-master/bin/doc/lang_def_spec.pdf b/openblocks-master/openblocks-master/bin/doc/lang_def_spec.pdf new file mode 100644 index 0000000..3484367 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/doc/lang_def_spec.pdf differ diff --git a/openblocks-master/openblocks-master/bin/doc/redesignV4.doc b/openblocks-master/openblocks-master/bin/doc/redesignV4.doc new file mode 100644 index 0000000..43f27fb Binary files /dev/null and b/openblocks-master/openblocks-master/bin/doc/redesignV4.doc differ diff --git a/openblocks-master/openblocks-master/bin/pom.xml b/openblocks-master/openblocks-master/bin/pom.xml new file mode 100644 index 0000000..a7135ac --- /dev/null +++ b/openblocks-master/openblocks-master/bin/pom.xml @@ -0,0 +1,150 @@ + + + 4.0.0 + edu.mit + openblocks + jar + 1.0.2-SNAPSHOT + openblocks + https://github.com/mikaelhg/openblocks + + + UTF-8 + UTF-8 + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 2.3.2 + + 1.6 + 1.6 + + + + org.apache.maven.plugins + maven-jar-plugin + 2.3.1 + + + + edu.mit.blocks.controller.WorkspaceController + + + + + + maven-assembly-plugin + + + jar-with-dependencies + + + + edu.mit.blocks.controller.WorkspaceController + + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 2.8 + + private + + + effects + a + Effects: + + + modifies + a + Modifies: + + + overrides + a + Overrides: + + + requires + a + Requires: + + + specfield + a + Spec field: + + + + + + + + + + + org.apache.maven.plugins + maven-javadoc-plugin + 2.8 + + public + + + effects + a + Effects: + + + modifies + a + Modifies: + + + overrides + a + Overrides: + + + requires + a + Requires: + + + specfield + a + Spec field: + + + + + + + + + + jfree + jcommon + 1.0.16 + + + jfree + jfreechart + 1.0.13 + + + junit + junit + 4.10 + test + + + diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Block$BlockState.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Block$BlockState.class new file mode 100644 index 0000000..ac1ad48 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Block$BlockState.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Block.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Block.class new file mode 100644 index 0000000..5248b7e Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Block.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector$BlockConnectorState.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector$BlockConnectorState.class new file mode 100644 index 0000000..44c0eac Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector$BlockConnectorState.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector$DefArgument.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector$DefArgument.class new file mode 100644 index 0000000..40ce0c3 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector$DefArgument.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector$PositionType.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector$PositionType.class new file mode 100644 index 0000000..bd1c51a Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector$PositionType.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector.class new file mode 100644 index 0000000..8bf7ba3 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnector.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnectorShape.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnectorShape.class new file mode 100644 index 0000000..f592860 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockConnectorShape.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockGenus.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockGenus.class new file mode 100644 index 0000000..96d32d6 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockGenus.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockLink.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockLink.class new file mode 100644 index 0000000..6987092 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockLink.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockLinkChecker.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockLinkChecker.class new file mode 100644 index 0000000..06ae1b2 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockLinkChecker.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockShape.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockShape.class new file mode 100644 index 0000000..8a090b2 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockShape.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockStub.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockStub.class new file mode 100644 index 0000000..5b07a95 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/BlockStub.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CommandRule.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CommandRule.class new file mode 100644 index 0000000..21a9f5a Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CommandRule.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CompilerException$Error.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CompilerException$Error.class new file mode 100644 index 0000000..5ddf730 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CompilerException$Error.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CompilerException.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CompilerException.class new file mode 100644 index 0000000..03dd272 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CompilerException.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Constants.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Constants.class new file mode 100644 index 0000000..9789b7b Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Constants.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CustomBlockShapeSet$CustomBlockShape.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CustomBlockShapeSet$CustomBlockShape.class new file mode 100644 index 0000000..94f4fdf Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CustomBlockShapeSet$CustomBlockShape.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CustomBlockShapeSet.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CustomBlockShapeSet.class new file mode 100644 index 0000000..2fe550b Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/CustomBlockShapeSet.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/InfixBlockShape.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/InfixBlockShape.class new file mode 100644 index 0000000..1146fc3 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/InfixBlockShape.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/InfixRule.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/InfixRule.class new file mode 100644 index 0000000..5ad1089 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/InfixRule.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/JComponentDragHandler.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/JComponentDragHandler.class new file mode 100644 index 0000000..c6ce11b Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/JComponentDragHandler.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/LinkRule.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/LinkRule.class new file mode 100644 index 0000000..036a014 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/LinkRule.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ParamRule.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ParamRule.class new file mode 100644 index 0000000..8371600 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ParamRule.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/PolyRule.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/PolyRule.class new file mode 100644 index 0000000..96264d6 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/PolyRule.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ProcedureOutputManager$OutputInfo.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ProcedureOutputManager$OutputInfo.class new file mode 100644 index 0000000..e39166a Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ProcedureOutputManager$OutputInfo.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ProcedureOutputManager$RuntimeType.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ProcedureOutputManager$RuntimeType.class new file mode 100644 index 0000000..1433629 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ProcedureOutputManager$RuntimeType.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ProcedureOutputManager.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ProcedureOutputManager.class new file mode 100644 index 0000000..f4ccf75 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/ProcedureOutputManager.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockProperties$RuntimeType.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockProperties$RuntimeType.class new file mode 100644 index 0000000..3d873b8 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockProperties$RuntimeType.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockProperties.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockProperties.class new file mode 100644 index 0000000..499e395 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockProperties.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockShapeSet$ProcedureBlock.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockShapeSet$ProcedureBlock.class new file mode 100644 index 0000000..7a83d34 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockShapeSet$ProcedureBlock.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockShapeSet.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockShapeSet.class new file mode 100644 index 0000000..5c9d82b Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SLBlockShapeSet.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SocketRule.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SocketRule.class new file mode 100644 index 0000000..6ff769a Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/SocketRule.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/StackRule.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/StackRule.class new file mode 100644 index 0000000..c385ef2 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/StackRule.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Variable$VariableScope.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Variable$VariableScope.class new file mode 100644 index 0000000..f3c7705 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Variable$VariableScope.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Variable$VariableType.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Variable$VariableType.class new file mode 100644 index 0000000..062aa0e Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Variable$VariableType.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Variable.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Variable.class new file mode 100644 index 0000000..19e89f6 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/Variable.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/BevelIterator.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/BevelIterator.class new file mode 100644 index 0000000..cdc7c7a Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/BevelIterator.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/BlockShapeUtil$BevelCacheKey.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/BlockShapeUtil$BevelCacheKey.class new file mode 100644 index 0000000..e37dfb7 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/BlockShapeUtil$BevelCacheKey.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/BlockShapeUtil.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/BlockShapeUtil.class new file mode 100644 index 0000000..015cdf6 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/BlockShapeUtil.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/ShapeBevel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/ShapeBevel.class new file mode 100644 index 0000000..aca1bcf Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblocks/rendering/ShapeBevel.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CArrowButton$Direction.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CArrowButton$Direction.class new file mode 100644 index 0000000..9f1c65e Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CArrowButton$Direction.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CArrowButton.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CArrowButton.class new file mode 100644 index 0000000..d027bdd Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CArrowButton.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CBarGraph$BarData.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CBarGraph$BarData.class new file mode 100644 index 0000000..fdb69da Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CBarGraph$BarData.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CBarGraph.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CBarGraph.class new file mode 100644 index 0000000..aab6ba7 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CBarGraph.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CBorderlessButton.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CBorderlessButton.class new file mode 100644 index 0000000..3b98624 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CBorderlessButton.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CButton.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CButton.class new file mode 100644 index 0000000..6d981a4 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CButton.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CColorChooser$ColorPicker.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CColorChooser$ColorPicker.class new file mode 100644 index 0000000..5d4c90a Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CColorChooser$ColorPicker.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CColorChooser.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CColorChooser.class new file mode 100644 index 0000000..56cc38c Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CColorChooser.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CFileHandler.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CFileHandler.class new file mode 100644 index 0000000..30e5224 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CFileHandler.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGlassScrollPane.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGlassScrollPane.class new file mode 100644 index 0000000..7c9ff7c Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGlassScrollPane.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGraphite.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGraphite.class new file mode 100644 index 0000000..715ef41 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGraphite.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGraphiteButton.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGraphiteButton.class new file mode 100644 index 0000000..12e99c4 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGraphiteButton.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGraphiteSquareButton.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGraphiteSquareButton.class new file mode 100644 index 0000000..7d21955 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CGraphiteSquareButton.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CHoverScrollPane.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CHoverScrollPane.class new file mode 100644 index 0000000..cd464e0 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CHoverScrollPane.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CIconButton$Icon.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CIconButton$Icon.class new file mode 100644 index 0000000..9b4f665 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CIconButton$Icon.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CIconButton.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CIconButton.class new file mode 100644 index 0000000..a19e12e Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CIconButton.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CLabel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CLabel.class new file mode 100644 index 0000000..2a3cb17 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CLabel.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CLineGraph$LineData.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CLineGraph$LineData.class new file mode 100644 index 0000000..a894334 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CLineGraph$LineData.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CLineGraph.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CLineGraph.class new file mode 100644 index 0000000..20e680a Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CLineGraph.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CMenuItem$Position.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CMenuItem$Position.class new file mode 100644 index 0000000..1bc1a25 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CMenuItem$Position.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CMenuItem.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CMenuItem.class new file mode 100644 index 0000000..b4ca86f Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CMenuItem.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CPopupMenu.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CPopupMenu.class new file mode 100644 index 0000000..c9b254c Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CPopupMenu.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CProgressBar.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CProgressBar.class new file mode 100644 index 0000000..e63cd12 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CProgressBar.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CQueryField.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CQueryField.class new file mode 100644 index 0000000..a3a880f Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CQueryField.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CRadioactiveButton.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CRadioactiveButton.class new file mode 100644 index 0000000..5e02198 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CRadioactiveButton.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSVFilter.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSVFilter.class new file mode 100644 index 0000000..fa1a1c4 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSVFilter.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CScrollPane$ScrollPolicy.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CScrollPane$ScrollPolicy.class new file mode 100644 index 0000000..79fbb11 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CScrollPane$ScrollPolicy.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CScrollPane.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CScrollPane.class new file mode 100644 index 0000000..20b08cd Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CScrollPane.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSignLabel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSignLabel.class new file mode 100644 index 0000000..593ac69 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSignLabel.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSlider.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSlider.class new file mode 100644 index 0000000..e574eea Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSlider.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSliderPane$CNumberTextField.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSliderPane$CNumberTextField.class new file mode 100644 index 0000000..94a92e3 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSliderPane$CNumberTextField.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSliderPane.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSliderPane.class new file mode 100644 index 0000000..73f1f36 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CSliderPane.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTabButton.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTabButton.class new file mode 100644 index 0000000..7f1a392 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTabButton.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTable.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTable.class new file mode 100644 index 0000000..0fa5dec Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTable.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTextField.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTextField.class new file mode 100644 index 0000000..7df2878 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTextField.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CToolTip.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CToolTip.class new file mode 100644 index 0000000..50980d7 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CToolTip.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CToolTipUI.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CToolTipUI.class new file mode 100644 index 0000000..d6bef71 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CToolTipUI.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTracklessScrollPane.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTracklessScrollPane.class new file mode 100644 index 0000000..b7a2f97 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CTracklessScrollPane.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CWheelItem.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CWheelItem.class new file mode 100644 index 0000000..9082c0c Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CWheelItem.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CWheeler.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CWheeler.class new file mode 100644 index 0000000..7668032 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/CWheeler.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Canvas.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Canvas.class new file mode 100644 index 0000000..801d305 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Canvas.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ChartData.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ChartData.class new file mode 100644 index 0000000..ecffea6 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ChartData.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/DefaultCanvas.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/DefaultCanvas.class new file mode 100644 index 0000000..ad40cc6 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/DefaultCanvas.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Explorer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Explorer.class new file mode 100644 index 0000000..d81717d Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Explorer.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ExplorerEvent.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ExplorerEvent.class new file mode 100644 index 0000000..7d96986 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ExplorerEvent.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ExplorerListener.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ExplorerListener.class new file mode 100644 index 0000000..d4e7733 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ExplorerListener.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassCard$GlassButton.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassCard$GlassButton.class new file mode 100644 index 0000000..8c5a1ec Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassCard$GlassButton.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassCard.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassCard.class new file mode 100644 index 0000000..4d99be6 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassCard.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorer$CanvasPane.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorer$CanvasPane.class new file mode 100644 index 0000000..a9462cd Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorer$CanvasPane.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorer$EnlargerTimer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorer$EnlargerTimer.class new file mode 100644 index 0000000..a79ee93 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorer$EnlargerTimer.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorer.class new file mode 100644 index 0000000..17187ab Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorer.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorerEvent.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorerEvent.class new file mode 100644 index 0000000..ac53d41 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassExplorerEvent.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassHorizontalBar.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassHorizontalBar.class new file mode 100644 index 0000000..f1c202f Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassHorizontalBar.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassVerticalBar.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassVerticalBar.class new file mode 100644 index 0000000..64c28e7 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GlassVerticalBar.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GraphicsManager.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GraphicsManager.class new file mode 100644 index 0000000..f6f6179 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/GraphicsManager.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/HorizontalBar.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/HorizontalBar.class new file mode 100644 index 0000000..f5a80c0 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/HorizontalBar.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/HoverHorizontalBar.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/HoverHorizontalBar.class new file mode 100644 index 0000000..f87a394 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/HoverHorizontalBar.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/HoverVerticalBar.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/HoverVerticalBar.class new file mode 100644 index 0000000..484398a Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/HoverVerticalBar.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ImageManager.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ImageManager.class new file mode 100644 index 0000000..8b981fb Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/ImageManager.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LRUCache.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LRUCache.class new file mode 100644 index 0000000..cac0bef Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LRUCache.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget$BlockLabelTextField.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget$BlockLabelTextField.class new file mode 100644 index 0000000..0a93651 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget$BlockLabelTextField.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget$LabelMenu.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget$LabelMenu.class new file mode 100644 index 0000000..9c7c4a1 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget$LabelMenu.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget$ShadowLabel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget$ShadowLabel.class new file mode 100644 index 0000000..f13daf9 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget$ShadowLabel.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget.class new file mode 100644 index 0000000..1486d15 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LabelWidget.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LowerRightCorner.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LowerRightCorner.class new file mode 100644 index 0000000..daafc35 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/LowerRightCorner.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/MagicExplorer$EnlargerTimer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/MagicExplorer$EnlargerTimer.class new file mode 100644 index 0000000..bc44ebe Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/MagicExplorer$EnlargerTimer.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/MagicExplorer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/MagicExplorer.class new file mode 100644 index 0000000..ff6b4e0 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/MagicExplorer.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator$ExplorerSwitcher.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator$ExplorerSwitcher.class new file mode 100644 index 0000000..fe1b7c3 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator$ExplorerSwitcher.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator$NavigationAnimator.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator$NavigationAnimator.class new file mode 100644 index 0000000..10e181c Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator$NavigationAnimator.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator$Type.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator$Type.class new file mode 100644 index 0000000..3ed1353 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator$Type.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator.class new file mode 100644 index 0000000..70c86d1 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Navigator.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/NumberFormatter$PrecisionSpecifier.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/NumberFormatter$PrecisionSpecifier.class new file mode 100644 index 0000000..4329e8d Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/NumberFormatter$PrecisionSpecifier.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/NumberFormatter$StandardPrecisionSpecifier.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/NumberFormatter$StandardPrecisionSpecifier.class new file mode 100644 index 0000000..ec69d1e Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/NumberFormatter$StandardPrecisionSpecifier.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/NumberFormatter.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/NumberFormatter.class new file mode 100644 index 0000000..a5311e1 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/NumberFormatter.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/PopupExplorer$ButtonPanel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/PopupExplorer$ButtonPanel.class new file mode 100644 index 0000000..a11dbcf Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/PopupExplorer$ButtonPanel.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/PopupExplorer$EnlargerTimer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/PopupExplorer$EnlargerTimer.class new file mode 100644 index 0000000..6eb839b Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/PopupExplorer$EnlargerTimer.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/PopupExplorer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/PopupExplorer.class new file mode 100644 index 0000000..2b00369 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/PopupExplorer.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/SliderBlueprint.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/SliderBlueprint.class new file mode 100644 index 0000000..da4d403 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/SliderBlueprint.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Sound.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Sound.class new file mode 100644 index 0000000..bd78dcb Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/Sound.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/SoundManager.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/SoundManager.class new file mode 100644 index 0000000..c4d34c3 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/SoundManager.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackCard$CardLabel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackCard$CardLabel.class new file mode 100644 index 0000000..9f72619 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackCard$CardLabel.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackCard$CardPane.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackCard$CardPane.class new file mode 100644 index 0000000..96b24bc Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackCard$CardPane.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackCard.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackCard.class new file mode 100644 index 0000000..afc0783 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackCard.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackExplorer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackExplorer.class new file mode 100644 index 0000000..8e02389 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/StackExplorer.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/TabCard.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/TabCard.class new file mode 100644 index 0000000..46d802f Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/TabCard.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/TabbedExplorer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/TabbedExplorer.class new file mode 100644 index 0000000..0e2ec71 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/TabbedExplorer.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/VerticalBar.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/VerticalBar.class new file mode 100644 index 0000000..08f1daa Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/VerticalBar.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/WindowExplorer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/WindowExplorer.class new file mode 100644 index 0000000..a9028b1 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/WindowExplorer.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/XMLStringWriter.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/XMLStringWriter.class new file mode 100644 index 0000000..1436012 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/codeblockutil/XMLStringWriter.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController$OpenAction.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController$OpenAction.class new file mode 100644 index 0000000..220ed47 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController$OpenAction.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController$SaveAction.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController$SaveAction.class new file mode 100644 index 0000000..bda1d4a Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController$SaveAction.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController$SaveAsAction.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController$SaveAsAction.class new file mode 100644 index 0000000..f704c23 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController$SaveAsAction.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController.class new file mode 100644 index 0000000..18f1c53 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/controller/WorkspaceController.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockControlLabel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockControlLabel.class new file mode 100644 index 0000000..d9f100f Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockControlLabel.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockImageIcon$ImageLocation.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockImageIcon$ImageLocation.class new file mode 100644 index 0000000..d5cd685 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockImageIcon$ImageLocation.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockImageIcon.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockImageIcon.class new file mode 100644 index 0000000..f43a46e Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockImageIcon.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockLabel$Type.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockLabel$Type.class new file mode 100644 index 0000000..aaf6b7c Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockLabel$Type.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockLabel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockLabel.class new file mode 100644 index 0000000..c22fff8 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockLabel.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockNode.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockNode.class new file mode 100644 index 0000000..8ed7abf Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockNode.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockUtilities$MatchingComparator.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockUtilities$MatchingComparator.class new file mode 100644 index 0000000..da4f694 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockUtilities$MatchingComparator.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockUtilities.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockUtilities.class new file mode 100644 index 0000000..a58980a Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/BlockUtilities.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CollapseLabel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CollapseLabel.class new file mode 100644 index 0000000..7820942 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CollapseLabel.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/Comment$CommentEventListener.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/Comment$CommentEventListener.class new file mode 100644 index 0000000..f877353 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/Comment$CommentEventListener.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/Comment.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/Comment.class new file mode 100644 index 0000000..c797b9c Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/Comment.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentArrow$Arrow.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentArrow$Arrow.class new file mode 100644 index 0000000..6781e9f Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentArrow$Arrow.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentArrow.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentArrow.class new file mode 100644 index 0000000..07567a5 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentArrow.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentLabel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentLabel.class new file mode 100644 index 0000000..a7566b1 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentLabel.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentSource.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentSource.class new file mode 100644 index 0000000..998b78a Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/CommentSource.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/ConnectorTag.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/ConnectorTag.class new file mode 100644 index 0000000..59bcbf6 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/ConnectorTag.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/FactoryRenderableBlock.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/FactoryRenderableBlock.class new file mode 100644 index 0000000..9246217 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/FactoryRenderableBlock.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/NameLabel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/NameLabel.class new file mode 100644 index 0000000..d457c01 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/NameLabel.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/PageLabel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/PageLabel.class new file mode 100644 index 0000000..365eeb2 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/PageLabel.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/RBHighlightHandler.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/RBHighlightHandler.class new file mode 100644 index 0000000..21519ac Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/RBHighlightHandler.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/RenderableBlock$RenderableBlockState.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/RenderableBlock$RenderableBlockState.class new file mode 100644 index 0000000..078eb10 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/RenderableBlock$RenderableBlockState.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/RenderableBlock.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/RenderableBlock.class new file mode 100644 index 0000000..2daddf3 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/RenderableBlock.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/SocketLabel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/SocketLabel.class new file mode 100644 index 0000000..56ea467 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/SocketLabel.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/TextualFactoryBlock.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/TextualFactoryBlock.class new file mode 100644 index 0000000..dc3ea92 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/renderable/TextualFactoryBlock.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/BlockCanvas$Canvas.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/BlockCanvas$Canvas.class new file mode 100644 index 0000000..c0d4c0b Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/BlockCanvas$Canvas.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/BlockCanvas.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/BlockCanvas.class new file mode 100644 index 0000000..e4c72fa Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/BlockCanvas.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/BlockStackSorterUtil.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/BlockStackSorterUtil.class new file mode 100644 index 0000000..76a890f Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/BlockStackSorterUtil.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ContextMenu.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ContextMenu.class new file mode 100644 index 0000000..6c27131 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ContextMenu.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/FactoryCanvas.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/FactoryCanvas.class new file mode 100644 index 0000000..8fe0bd7 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/FactoryCanvas.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/FactoryManager.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/FactoryManager.class new file mode 100644 index 0000000..2084d3d Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/FactoryManager.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ISupportMemento.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ISupportMemento.class new file mode 100644 index 0000000..810d8f7 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ISupportMemento.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/MiniMap$MiniMapAutoCenterTimer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/MiniMap$MiniMapAutoCenterTimer.class new file mode 100644 index 0000000..407cbc9 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/MiniMap$MiniMapAutoCenterTimer.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/MiniMap$MiniMapEnlargerTimer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/MiniMap$MiniMapEnlargerTimer.class new file mode 100644 index 0000000..0dca06b Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/MiniMap$MiniMapEnlargerTimer.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/MiniMap.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/MiniMap.class new file mode 100644 index 0000000..3d1c1a3 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/MiniMap.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Page$CollapseButton.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Page$CollapseButton.class new file mode 100644 index 0000000..5b0e1e4 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Page$CollapseButton.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Page$PageState.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Page$PageState.class new file mode 100644 index 0000000..7ad7829 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Page$PageState.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Page.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Page.class new file mode 100644 index 0000000..616537c Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Page.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageChangeEventManager.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageChangeEventManager.class new file mode 100644 index 0000000..756f60a Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageChangeEventManager.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageChangeListener.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageChangeListener.class new file mode 100644 index 0000000..ba5324c Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageChangeListener.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageDivider.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageDivider.class new file mode 100644 index 0000000..84d2393 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageDivider.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageDrawerLoadingUtils.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageDrawerLoadingUtils.class new file mode 100644 index 0000000..e98b929 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageDrawerLoadingUtils.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageJComponent.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageJComponent.class new file mode 100644 index 0000000..687eb6b Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/PageJComponent.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/RBParent.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/RBParent.class new file mode 100644 index 0000000..ec8fb56 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/RBParent.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ReundoManager.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ReundoManager.class new file mode 100644 index 0000000..5daaa4c Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ReundoManager.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchBar$SearchRange.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchBar$SearchRange.class new file mode 100644 index 0000000..b4a7945 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchBar$SearchRange.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchBar.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchBar.class new file mode 100644 index 0000000..93fff64 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchBar.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchableContainer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchableContainer.class new file mode 100644 index 0000000..0368f27 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchableContainer.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchableElement.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchableElement.class new file mode 100644 index 0000000..b91dc2c Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/SearchableElement.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Subset.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Subset.class new file mode 100644 index 0000000..7adc505 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Subset.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/TrashCan.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/TrashCan.class new file mode 100644 index 0000000..986f338 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/TrashCan.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Workspace$WorkspaceState.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Workspace$WorkspaceState.class new file mode 100644 index 0000000..94705ee Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Workspace$WorkspaceState.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Workspace.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Workspace.class new file mode 100644 index 0000000..1513662 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/Workspace.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceEnvironment.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceEnvironment.class new file mode 100644 index 0000000..3f81220 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceEnvironment.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceEvent.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceEvent.class new file mode 100644 index 0000000..ba57330 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceEvent.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceListener.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceListener.class new file mode 100644 index 0000000..ccfd1f1 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceListener.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceWidget.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceWidget.class new file mode 100644 index 0000000..bea7dd7 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/WorkspaceWidget.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ZoomSlider.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ZoomSlider.class new file mode 100644 index 0000000..b0c20b0 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/ZoomSlider.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel$EditorListener.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel$EditorListener.class new file mode 100644 index 0000000..4510dfa Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel$EditorListener.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel$MenuListener.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel$MenuListener.class new file mode 100644 index 0000000..2134c67 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel$MenuListener.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel$QueryCellRenderer.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel$QueryCellRenderer.class new file mode 100644 index 0000000..a2c682e Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel$QueryCellRenderer.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel.class new file mode 100644 index 0000000..63df418 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/AutoCompletePanel.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/BlockDropAnimator.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/BlockDropAnimator.class new file mode 100644 index 0000000..2a40cd9 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/BlockDropAnimator.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/FocusTraversalManager.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/FocusTraversalManager.class new file mode 100644 index 0000000..841b1b9 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/FocusTraversalManager.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/KeyInputMap.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/KeyInputMap.class new file mode 100644 index 0000000..978442f Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/KeyInputMap.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/LinkFinderUtil.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/LinkFinderUtil.class new file mode 100644 index 0000000..e5b8481 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/LinkFinderUtil.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/TypeBlockManager$Direction.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/TypeBlockManager$Direction.class new file mode 100644 index 0000000..410ee3d Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/TypeBlockManager$Direction.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/TypeBlockManager.class b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/TypeBlockManager.class new file mode 100644 index 0000000..772cbe3 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/java/edu/mit/blocks/workspace/typeblocking/TypeBlockManager.class differ diff --git a/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/closed_hand.gif b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/closed_hand.gif new file mode 100644 index 0000000..eccbe9a Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/closed_hand.gif differ diff --git a/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/brick.jpg b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/brick.jpg new file mode 100644 index 0000000..ba18796 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/brick.jpg differ diff --git a/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/click.wav b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/click.wav new file mode 100644 index 0000000..74b9214 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/click.wav differ diff --git a/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/closed_hand.png b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/closed_hand.png new file mode 100644 index 0000000..cd9eec7 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/closed_hand.png differ diff --git a/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/codeblocks.xsd b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/codeblocks.xsd new file mode 100644 index 0000000..84f42df --- /dev/null +++ b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/codeblocks.xsd @@ -0,0 +1,189 @@ + + + + + + Root element + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Restricted to format: "r g b" where r, g and + b are between 0 and 255 + + + + + + + + + + + + + + + + + + + Whether pages should display a control to + collapse them or not. + + + + + + + diff --git a/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/open_hand.png b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/open_hand.png new file mode 100644 index 0000000..58bc724 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/codeblocks/open_hand.png differ diff --git a/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/minus.gif b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/minus.gif new file mode 100644 index 0000000..58c5888 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/minus.gif differ diff --git a/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/open_hand.gif b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/open_hand.gif new file mode 100644 index 0000000..4d123a6 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/open_hand.gif differ diff --git a/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/plus.gif b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/plus.gif new file mode 100644 index 0000000..72412c4 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/main/resources/edu/mit/blocks/plus.gif differ diff --git a/openblocks-master/openblocks-master/bin/src/site/apt/index.apt b/openblocks-master/openblocks-master/bin/src/site/apt/index.apt new file mode 100644 index 0000000..29c922c --- /dev/null +++ b/openblocks-master/openblocks-master/bin/src/site/apt/index.apt @@ -0,0 +1,5 @@ +OpenBlocks refactoring branch + + This is a fork of MIT OpenBlocks (covered by the MIT license) for refactoring purposes. + + The principal objective of the fork is to make the code more amenable to inclusion to other projects. diff --git a/openblocks-master/openblocks-master/bin/src/site/apt/language.apt b/openblocks-master/openblocks-master/bin/src/site/apt/language.apt new file mode 100644 index 0000000..57a23ae --- /dev/null +++ b/openblocks-master/openblocks-master/bin/src/site/apt/language.apt @@ -0,0 +1,252 @@ + ------ + Language Definition File XML Specification + ------ + ------ + ------ + +Language Definition File XML Specification + + The language definition file (lang_def.xml) describes two parts: + + * block language + + * Workspace, which is the programming environment for the specified block language. + (Note: The lang_def.dtd files specifies rules, elements, attributes within lang_def.xml.) + +* 2 Specifying the Block Language + +** 2.1 Block Genus + + A block genus describes the properties that define a common set of blocks. For example, + fd is a block genus that describes all forward blocks in Starlogo. For each block in your + block language, you must specify a BlockGenus. + ++------------ + + + Agents moves steps forward. + Number of steps to move. + + + + + + + ++------------- + +[images/block.png] The forward block + + <
>: The forward block and its block genus fd specification. + +*--+--+ +||Block Genus Attributes||Description| +*--+--+ +|name|Unique name for genus| +*--+--+ +|kind|Block genus class. Currently, codeblocks uses three kinds: command, data, variable| +*--+--+ +|initlabel|The initial label for a block in this genus.| +*--+--+ +|color|The RGB color for a block in this genus.| +*--+--+ +|editable-label|If “yes”, block label is user-editable. Unless specified in block genus, editable-label = “no” by default (i.e. genus fd is not editable.)| +*--+--+ +|label-unique|If “yes”, every block instance of this genus must have a unique block label. Set to “no” by default.| +*--+--+ +|is-label-value|If “yes,” its block label determines the block value. This attribute is applicable to data blocks (i.e. number, string, true, false). Set to “no” by default.| +*--+--+ +|label-prefix|A string to always precede its block label| +*--+--+ +|label-suffix|A string to always succeed its block label +*--+--+ +|sockets-expandable|If “yes,” sockets expand whenever a block is connected to them. Set to “no” by default. +*--+--+ +|is-starter|If “yes,” this block genus begins block stacks of code. Set to “no” by default. +*--+--+ +|is-terminator|If “yes,” this block genus ends block stacks of end. Set to “no” by default. +*--+--+ + +*** 2.1.1 Description + + The description element specifies the formatting and text of a user-friendly description of + the blocks within this genus. + (Note: this is not completely specified yet.) + +*** 2.1.2 BlockConnectors + + The BlockConnectors specifies the properties of all the connecting points of a block + genus. There are four kinds of connectors, differing in their meaning and location: + + [ Plug] Returns a value. Resides on the left side of a block. + + [ Socket] Reads in a value or branches the flow of execution. Resides on the right side + of a block. + + [ Before] Connects to previous command. Resides on the top side of a block. + + [ After] Connects to the next command. Resides on the bottom side of a block. + + Each connector has a type that determines its shape and the data (number, string, boolean, + polymorphic) or command type that it reads/returns/connects to. Before and After + connectors are always of type command. A Socket may be of any type. Similarly, a Plug + returns any type except command. + +[images/plug-socket.png] The if genus and its block has two sockets: one Boolean labeled “test” and a command labeled “then.” The true genus and its block has a boolean plug mirrored on both sides. + + <
>: The if genus and its block has two sockets: one Boolean labeled “test” and a command + labeled “then.” The true genus and its block has a boolean plug mirrored on both sides. + + Sockets and Plugs are specified in the xml file. Before and After connectors are + dynamically generated, depending if the genus kind is command or if the genus is a + starter or terminator. + +*--+--+ +|| BlockConnector Attributes || Description +*--+--+ +| label | Label that resides by the connector on the block. For example, steps is a label of forward’s socket. +*--+--+ +| label-editable | If “yes,” connector label is user-editable. Set to “no” by default. +*--+--+ +| connector-kind | Determines if connector is a “plug” or a “socket.” Before and After connectors are dynamically generated depending on genus kind, starter, or terminator properties. +*--+--+ +| connector-type | Data (number, string, boolean, polymorphic) or command type. +*--+--+ +| position type | Determines the position of this connector. single: either left or right depending on kind mirror: plug is mirrored on the right side of block bottom: sockets are placed in the bottom of the block +*--+--+ + + Some blocks have default arguments or blocks that are connected to its connectors when + the block is dragged onto the block canvas. For example, the forward block has a default + argument, the number block with its value set to 1. Default arguments can be convenient, + especially if the default argument is a common choice to connect to a block. + +*--+--+ +|| Default Argument Attribues || Description +*--+--+ +| genus-name | the block genus name of the default argument +*--+--+ +| label | the label (if genus is editable) of the argument +*--+--+ + +*** 2.1.3 BlockStubs (Advanced) + + Some block genuses may have dynamically generated blocks when its block instance is + dragged onto the block canvas. These dynamically generated blocks are called Stubs, + and they reference the parent block they were created from. Examples of stubs are + getters and setters for variables. The block genus agent-var-boolean specified below has + two stubs: a getter and a setter. + +[images/getter-setter.png] The genus agent-var-boolean has two stubs, a getter and a setter. + ++-------------- + + ... + + + + + + + + + + ++--------------- + + <
>: The genus agent-var-boolean has two stubs, a getter and a setter. + + Currently there are five stubs available, each with its own genus: + + [getter] a data block returns the value of its parent block. + + [ setter] a command block that sets the value of its parent block + + [ inc] a command block that increments the value of its parent block by a fixed value. + + [ caller] a command block that executes the commands enclosed by its parent. This + stub is used by procedure blocks to create their call blocks. + + [ agent] a data block that returns the value its parent block for a particular agent + +*** 2.1.4 LangSpecProperties + + The Codeblocks library is language independent and not all properties specified in the + language definition file can cover all the properties needed by a block language. Each + LangSpecProperty has a key-value pairing that when loaded is saved within the + properties HashMap in the BlockGenus class. + +** 2.2 BlockFamilies + + Block families provide additional convenience for the user by grouping block genuses + that have similar functionality into families. When blocks are rendered in the workspace, + blocks with families have an additional drop down box included in its graphical block. + Family members are included in this drop down box. + +[images/forward-back.png] The forward and back block genuses are in the same family. The graphical block shows its family members in its drop down. + ++-------------- + + + fd + bk + ++------------- + + <
>: The forward and back block genuses are in the same family. The graphical block shows its family members in its drop down. + +* 3 Specifying the Workspace + +** 3.1 BlockDrawerBars and BlockDrawer + + BlockDrawerBars manage BlockDrawers, which are block containers. BlockDrawerBars + contain a series of buttons, each button toggling the visibility of one block drawer. + There are four types of block drawers, each differing in behavior and functionality. + + [ Default] contains one instance of each block contained. Blocks may be dragged and + dropped within the drawer and to and from the block canvas or other block drawers. + + [ Factory] contains blocks that can produce an infinite amount of block instances. + When a block is picked from a factory drawer, a new instance is created. When a + block is dragged back to a factory drawer, the block is deleted. The blocks contained + within this drawer never move, but only produce new blocks. + + [ Page] contains blocks for a particular page + + [ Custom] Similar to the default block drawer, except that this drawer may be saved + with the project for future use. + + [] + +*--+--+ +|| BlockDrawer Attributes/Elements || Description +*--+--+ +| name | the name of this drawer. The name is displayed in the button corresponding to this drawer +*--+--+ +| type | drawer type: default, factory, page, custom. Set to “default” by default. +*--+--+ +| is-open | If “yes,” drawer is displayed at workspace startup. Set to “no” by default. +*--+--+ +| button-color | The color of the corresponding button +*--+--+ +| BlockGenusMember | the genus name a block within this drawer +*--+--+ +| Separator | Formatting property. If specified between BlockGenusMember elements, a line is drawn between the genus members in the graphical drawer. +*--+--+ +| NextLine | Formatting property. If specified between BlockGenusMember elements, the genus member after the NextLine element is drawn in the succeeding row in the drawer. +*--+--+ + + + +** 3.2 Pages + + Pages divide up and organize the block workspace. Pages may have associated block + drawers that contain blocks that are “special” to that page. + +*--+--+ +|| Page Attributes || Description +*--+--+ +| page-name | name of this page. Name is drawn on the page. +*--+--+ +| drawer-name | drawer associated with this page +*--+--+ diff --git a/openblocks-master/openblocks-master/bin/src/site/resources/images/block.png b/openblocks-master/openblocks-master/bin/src/site/resources/images/block.png new file mode 100644 index 0000000..e1b9284 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/site/resources/images/block.png differ diff --git a/openblocks-master/openblocks-master/bin/src/site/resources/images/forward-back.png b/openblocks-master/openblocks-master/bin/src/site/resources/images/forward-back.png new file mode 100644 index 0000000..1ee3db8 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/site/resources/images/forward-back.png differ diff --git a/openblocks-master/openblocks-master/bin/src/site/resources/images/getter-setter.png b/openblocks-master/openblocks-master/bin/src/site/resources/images/getter-setter.png new file mode 100644 index 0000000..d6acf03 Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/site/resources/images/getter-setter.png differ diff --git a/openblocks-master/openblocks-master/bin/src/site/resources/images/plug-socket.png b/openblocks-master/openblocks-master/bin/src/site/resources/images/plug-socket.png new file mode 100644 index 0000000..f04b40a Binary files /dev/null and b/openblocks-master/openblocks-master/bin/src/site/resources/images/plug-socket.png differ diff --git a/openblocks-master/openblocks-master/bin/src/site/site.xml b/openblocks-master/openblocks-master/bin/src/site/site.xml new file mode 100644 index 0000000..51e3f28 --- /dev/null +++ b/openblocks-master/openblocks-master/bin/src/site/site.xml @@ -0,0 +1,18 @@ + + + + openblocks + https://github.com/mikaelhg/openblocks + + + + + + + + + + + + + \ No newline at end of file diff --git a/openblocks-master/openblocks-master/bin/support/ardublock_def.xml b/openblocks-master/openblocks-master/bin/support/ardublock_def.xml new file mode 100644 index 0000000..52f499a --- /dev/null +++ b/openblocks-master/openblocks-master/bin/support/ardublock_def.xml @@ -0,0 +1,881 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reports the boolean true. + + + + + + + + + + + Reports the boolean false. + + + + + + + + + + + + + + + + this is the loop of the arduino + + + + + + + + + + Digital Var + + + + + + + + + + + Digital Var + + + + + + + + + + Read digital value from pin + + + + + + + + + + + + Read analog value from pin + + + + + + + + + + + + write digital to pin + + + + + + + + + + + + + + write digital to pin + + + + + + + + + + write digital to pin + + + + + + + + + + write analog to pin + + + + + + + + + + + + + + set a pin to pwm + + + + + + + + + + + + + + + If + + is true, the agent will run the blocks attached to + + + + The condition being + tested. + + + + The set of instructions + that is done when the condition is true. + + + + + + + + + + + + Does the first set of commands if the condition specified is + true, otherwise it will do the second set of commands. + + + The condition being + tested. + + + + The set of instructions + that is done when the condition is true. + + + + The set of instructions + that is done when the condition is false. + + + + + + + + + + + + + While Block + + + + + + + + + + + + Reports true if both of the two conditions are true. + + + + + + + + + + + + + Reports true if one or both of the two conditions are true. + + + The first condition that + must be true. + + + The second condition + that must be true. + + + + + + + + + + + + + Reports the opposite of + + . + + + The boolean (true or + false) that should be inverted. + + + + + + + + + + + + + + + Reports the sum of two numbers ( + + + + + ). + + + + + + + + + + + + + + + + + Reports the difference of two numbers ( + + - + + ). + + + + + + + + + + + + + + + + + Reports the product of two numbers ( + + x + + ). + + + + + + + + + + + + + + + + + Reports the quotient of two numbers ( + + ÷ + + ). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + program delay in x milliseconds + + + + + + + + + + + program delay in x milliseconds + + + + + + + + + + + generate a random number less than the number + + + + + + + + + + + + generate a random number less than the number + + + + + + + + + + TinkerKit LED + + + + + + + + + + + + edu/mit/blocks/codeblocks/brick.jpg + + + + + + + TinkerKit Mosfet + + + + + + + + + + + + /home/heqichen/my/project/ardublock/20110820/ardublock/src/main/resources/com/ardublock/block/Tinker_Mosfet.jpg + + + + + + + TinkerKit Relay + + + + + + + + + + + + /home/heqichen/my/project/ardublock/20110820/ardublock/src/main/resources/com/ardublock/block/Tinker_Relay.jpg + + + + + + + TinkerKit Servo + + + + + + + + + + + + /home/heqichen/my/project/ardublock/20110820/ardublock/src/main/resources/com/ardublock/block/Tinker_Servo.png + + + + + + + TinkerKit Button + + + + + + + + + + /home/heqichen/my/project/ardublock/20110820/ardublock/src/main/resources/com/ardublock/block/Tinker_Button.jpg + + + + + + + TinkerKit Accelerometer + + + + + + + + + + /home/heqichen/my/project/ardublock/20110820/ardublock/src/main/resources/com/ardublock/block/Tinker_Button.jpg + + + + + + + + + digital-high + digital-low + + + and + or + + + true + false + + + addition + subtraction + multiplication + division + modulo + + + min + max + + + sin + cos + tan + + + + + + + loop + digital-var + number-var + set-digital-var + set-number-var + + + + + loop + ifelse + if + while + + + + pin-read-digital + pin-read-analog + pin-write-digital + pin-write-analog + servo + + + + number + digital-high + digital-low + true + false + + + + and + or + not + + addition + subtraction + multiplication + division + modulo + min + max + abs + pow + sqrt + sin + cos + tan + + + delay + random + delayMicroseconds + millis + + + + Tinker_LED + + + + + + + + + + + + + /support/images/trash_open.png + /support/images/trash.png + + + diff --git a/openblocks-master/openblocks-master/bin/support/lang_def.dtd b/openblocks-master/openblocks-master/bin/support/lang_def.dtd new file mode 100644 index 0000000..10541da --- /dev/null +++ b/openblocks-master/openblocks-master/bin/support/lang_def.dtd @@ -0,0 +1,163 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/openblocks-master/openblocks-master/bin/support/lang_def.xml b/openblocks-master/openblocks-master/bin/support/lang_def.xml new file mode 100644 index 0000000..33563af --- /dev/null +++ b/openblocks-master/openblocks-master/bin/support/lang_def.xml @@ -0,0 +1,3631 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reports the value of the variable. + + + + + + + + + + + + + + Sets the value of the variable. + + + + + + + + + + + Calls the procedure of the specified name. + + + + + + + + Increments the value of the variable number. + + + + + + + + + + + Gets the value of the variable of the agent ID. + + + + + + + + + + + + + + + + + Reports the number shown. + + + + + + + + + + + + + + + Reports the text shown. + + + + + + + + + + + + + + + Reports the boolean true. + + + + + + + + + + + + + + + Reports the boolean false. + + + + + + + + + + + + + + + + + Selects a random color. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Agents moves + + steps forward. + + + Number of steps to move. + + + + + + + + + + + + + + + + + Agents moves + + steps backward. + + + Number of steps to move. + + + + + + + + + + + + + + + + + Makes agents turn + + degrees to the left. + + + Number of degrees to + turn. + + + + + + + + + + + + + + + + + Makes agents turn + + degrees to the right. + + + Number of degrees to + turn. + + + + + + + + + + + + + + + + + Heights of agents increase by + + steps. + + + Number of steps to move + up. + + + + + + + + + + + + + + + + + Heights of agents decrease by + + steps. + + + Number of steps to move + down. + + + + + + + + + + + + + + + + Sets the x and y coordinates (a.k.a. position) of an agent + + + + + + + + + + + + + + + + + + + + + + If + + is true, the agent will run the blocks attached to + + + + The condition being + tested. + + + + The set of instructions + that is done when the condition is true. + + + + + + + + + + + + + + + Does the first set of commands if the condition specified is + true, otherwise it will do the second set of commands. + + + The condition being + tested. + + + + The set of instructions + that is done when the condition is true. + + + + The set of instructions + that is done when the condition is false. + + + + + + + + + + + + + + + + Repeats some commands + + times. + + + The number of times to + repeat the command. + + + + The commands to do. + + + + + + + + + + + + + + + + Reports true if one or both of the two conditions are true. + + + The first condition that + must be true. + + + The second condition + that must be true. + + + + + + + + + + + + + + + + + Reports true if both of the two conditions are true. + + + The first condition that + must be true. + + + The second condition + that must be true. + + + + + + + + + + + + + + + + + Reports the opposite of + + . + + + The boolean (true or + false) that should be inverted. + + + + + + + + + + + + + + + + + Counts all agents that satisfy a certain condition. + + + The condition an agent + must satisfy to be counted + + + + + + + + + + + + + + + + + + + Reports the number of agents that are currently alive. + + + + + + + + + + + + + + + + + + Causes this agent to "say" the supplied text by popping up a + speech bubble in SpaceLand. + + + + + + + + + + + + + + + Displays the text attached to this block in the bottom panel + of Spaceland. + + + + + + + + + + + + + + Causes agent to play a sound with the following + + . Select a sound from the Sounds drawer and attach to this block. + + + The text name of the + sound to play. + + + + + + + + + + + + + + Returns a text representation of the given block(s) connected + to this. + + + + + + + + + + + + + + + + Appends + + to the end of + + . + + + The text to which to + append. + + + The text to append to. + + + + + + + + + + + + + + + + + + + + Reports the value of PI (approximately 3.14). + + + + + + + + + + + + + + + Reports the mathematical number + e + , which is about 2.718. + + + + + + + + + + + + + + + Reports the sum of two numbers ( + + + + + ). + + + + + + + + + + + + + + + + + + + + + Reports the difference of two numbers ( + + - + + ). + + + + + + + + + + + + + + + + + + + + + Reports the product of two numbers ( + + x + + ). + + + + + + + + + + + + + + + + + + + + + Reports the quotient of two numbers ( + + ÷ + + ). + + + + + + + + + + + + + + + + + + + + + Determines if two quantities are equal ( + + = + + ). + + + + + + + + + + + + + + + + + + + + + Determines if two quantities are different ( + + != + + ). + + + The first thing to compare. + + + The second thing to compare. + + + + + + + + + + + + + + + + + Reports whether the + + is less than the + + . + + + The first thing to compare. + + + The second thing to compare. + + + + + + + + + + + + + + + + + Reports whether the + + is less than or equal to the + + . + + + The first thing to compare. + + + The second thing to compare. + + + + + + + + + + + + + + + + + Reports whether the + + is greater than the + + . + + + The first thing to compare. + + + The second thing to compare. + + + + + + + + + + + + + + + + + Reports whether the + + is greater than or equal to the + + . + + + The first thing to compare. + + + The second thing to compare. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Reports a random integer greater than or equal to 1 and less than + or equal to + + . + + + The upper integer in the + range. + + + + + + + + + + + + + + + + + + Rounds + + to the nearest integer. + + + The number to round. + + + + + + + + + + + + + + + + Reports the whole number part of the number. + + + + + + + + + + + + + + + + Reports the integer remainder of + + divided by + + . + + + The number to divide. + + + + The number by which to + divide. + + + + + + + + + + + + + + + + + Reports the smaller value of the two numbers. + + + The first number to + compare. + + + The second number to + compare. + + + + + + + + + + + + + + + + + Reports the greatest value of the two numbers. + + + The first number to + compare. + + + The second number to + compare. + + + + + + + + + + + + + + + + + Reports the power of one number raised to another ( + + ^ + + ). + + + + + + + + + + + + + + + + + + + + + Reports the absolute value of a number. + + + A number from which to + get the absolute value. + + + + + + + + + + + + + + + + Reports the square root of + + . + + + The number whose square + root to take. + + + + + + + + + + + + + + + + A Trigonmetric function that reports the sine of the specified + angle. + + + The angle in degrees for + which the sine will be reported. + + + + + + + + + + + + + + + + A Trigonmetric function that reports the cosine of the + specified angle. + + + The angle in degrees for + which the cosine will be reported. + + + + + + + + + + + + + + + + A Trigonmetric function that reports the tangent of the + specified angle. + + + The angle in degrees for + which the tangent will be reported. + + + + + + + + + + + + + + + + Trigonometric function that reports the arcsine of the + specified number. All angles are reported in degrees. + + + A number from which to + get the arcsine. + + + + + + + + + + + + + + + + Trigonometric function that reports the arccosine of the + specified number. All angles are reported in degrees. + + + A number from which to + get the arccosine. + + + + + + + + + + + + + + + + Reports the logarithm base 10 of + + . + + The return value + x + will be the number for which 10 to the power of + x + is equal to + + . + + + + The number of which to + take the natural logarithm + + + + + + + + + + + + + + + + Reports the natural logarithm of + + . + + The return value + x + will be the number for which the mathematical constant e, which is + about 2.718, to the power of + x + is equal to + + . + + + + The number of which to + take the natural logarithm + + + + + + + + + + + + + + + + + Reports the color of the patch where the agent is standing. + + + + + + + + + + + + + + + Changes the color of the patch on which this agent is to + + . + + + The color to which to + change the patch. + + + + + + + + + + + + + + + + Reports the height of the patch where the agent is standing. + + + + + + + + + + + + + Decreases the height of the patch where the agent is standing, + smoothly connecting the edges to surrounding patches. + + How much the patch + height is decreased. + + + + + + + + + + + + + + + + Increases the height of the patch where the agent is standing, + smoothly connecting the edges to surrounding patches. + + How much the patch + height is increased. + + + + + + + + + + + + + + + + + + Sets the color of the agent to the given color. + + + + + + + + + + + + + + + Reports the color of this agent. + + + + + + + + + + + + + Sets the heading of this agent to the specified value in + degrees. + + + + + + + + + + + + + + + Reports the angle, in degrees, where the agent is heading. + + + + + + + + + + + + + + Reports the x coordinate of this agent. + + + + + + + + + + + + + Reports the y coordinate of this agent. + + + + + + + + + + + + + Reports the size, or scale, of this agent. + + + + + + + + + + + + + Sets the size of this agent's shape. + + + + + + + + + + + + + + + + Reports the ID number, or "ID" of this agent. + + + + + + + + + + + + + Pulls the agent's pen up so the agent will not stamp every + patch where it moves. + + + + + + + + + + Pulls the agent's pen down so the agent will stamp every patch + where it moves. + + + + + + + + + + Reports true if this agent's pen is down, and false otherwise. + + + + + + + + + + + + + + Reports the shape of this agent. + + + + + + + + + + + + + Reports the breed of this agent. + + + + + + + + + + + + + + Causes this agent to change its shape to the supplied shape. + + + The shape + + + + + + + + + + + + + + + Causes this agent to change its breed to the supplied breed. + + + The name of the new + breed. + + + + + + + + + + + + + + + + + Reports whether the up arrow key is being pressed. + Arrow keys have a drop down menu that allow you to select + other arrow keys. + + + + + + + + + + + + + + + Reports whether the down arrow key is being pressed. + Arrow keys have a drop down menu that allow you to select + other arrow keys. + + + + + + + + + + + + + + + Reports whether the left arrow key is being pressed. + Arrow keys have a drop down menu that allow you to select + other arrow keys. + + + + + + + + + + + + + + + Reports whether the right arrow key is being pressed. + Arrow keys have a drop down menu that allow you to select + other arrow keys. + + + + + + + + + + + + + + + Reports whether the space bar is being pressed. + + + + + + + + + + + + + + + Reports the current position along the x-axis of the joystick. + Reports -1 at the extreme left position and +1 at the extreme + right. + + + + + + + + + + + + + + + Reports the current position along the y-axis of the joystick. + Reports -10 at the extreme left position and +10 at the extreme + right. + + + + + + + + + + + + + + + Reports the current radius of the position of the joystick. + Reports 0 when the joystick is in the center and 1 when it is full + deflected in any direction. + + + + + + + + + + + + + + + Reports the current angle in degrees that the joystick is at, + with 0 at the top and 180 at the bottom. + + + + + + + + + + + + + + + Reports the angle in degrees of the direction pad on a + gamepad. + + + + + + + + + + + + + + + Reports + true + if the first joystick button is down and + false + if it is not. + + + + + + + + + + + + + + + Reports + true + if the second joystick button is down and + false + if it is not. + + + + + + + + + + + + + + + Reports + true + if the third joystick button is down and + false + if it is not. + + + + + + + + + + + + + + + Reports + true + if the fourth joystick button is down and + false + if it is not. + + + + + + + + + + + + + + + If + + is the ID number of a live agent, that agent will run the blocks + attached to + + + + The ID of the agent + being asked to run something. + + + + The set of instructions + that is run when by the asked agent. + + + + + + + + + + + + + + + Reports the ID number of the agent that is currently being + followed by the camera. + + + + + + + + + + + + + + + Reports whether over-the-soulder view is on. + + + + + + + + + + + + + + + Turns the over-the-shoulder view on. + + + + + + + + + + + + + Reports whether agent-eye view is on. + + + + + + + + + + + + + + + Turns the agent-eye view on. + + + + + + + + + + + + + Returns + true + if the aerial camera view is on and + false + if it is off. + + + + + + + + + + + + + + + Turns the agent-eye view on. + + + + + + + + + + + + + Returns + true + if the overhead camera view is on and + false + if it is off. + + + + + + + + + + + + + + + Turns + overhead + camera mode on. This is a 2D aerial view of the entire spaceland + with map view turned on. + + + + + + + + + + + + + Turns + overhead + camera mode off and goes back to the previous camera view. + + + + + + + + + + + + + + + + Defines a section of blocks as a procedure that can be called + from other sections of blocks. + + + + + + + + + + + + + + + + + + + + + + + + + + + Adds a number parameter to a procedure. + + + + + + + + + + + + + + + + + + + + + + + + Adds a boolean parameter to a procedure. + + + + + + + + + + + + + + + + + + + + + + + + Adds a text parameter to a procedure. + + + + + + + + + + + + + + + + + + + + + + + + Adds a list parameter to a procedure. + + + + + + + + + + + + + + + + + + + + + + + + + + + When switched on, agents do commands over and over. + There are different commands for each breed. + + + The breed of the agents + performing the commands attached here. + + + + + + + + support/forever_switch_on.png + + + + + + + + + + + + + + When switched on, agents do commands over and over. + There are different commands for each breed. + + + + + + + + + + + + When switched on, agents do commands once. + There are different commands for each breed. + + + The breed of the agents + performing the commands attached here. + + + + + + + + support/forever_switch_on.png + + + + + + + + + + + + + + When switched on, agents do commands once. + There are different commands for each breed. + + + + + + + + + + + + When switched on, agents do commands over and over for + + seconds. + There are different commands for each breed. + + + + The number of seconds + for which the commands are run when switched on. + + + + The breed of the agents + performing the commands attached here. + + + + + + + + + + support/forever_switch_on.png + + + + + + + + + + + + + + When switched on, agents do commands over and over for a number of + seconds. + There are different commands for each breed. + + + + + + + + + + + + This block serves as a wrapper around blocks that set up a + model. + + + + + + + + + + + + + + + + This block serves as a wrapper around blocks that set up a + model. + + + + + + + + + + + A block used to define a monitor. Mointors appear in the + runtime space where they dynamically report a value. + + + + + + + + + + + + + + + + A block used to define a monitor. Mointors appear in the + runtime space where they dynamically report a value. + + + + + + + + + + + A block used to define a slider. Sliders appear in the runtime + space where you can dynamically change the value of its attached + shared number variable. + + + + + + + + + + + + + + + + Use the slider to change the value of this slider's attached + shared number variable. + + + + + + + + + + + Defines a table that appears in the runtime space. Each input + to its sockets describes a series in the graph. Values are graphed + against time. + + + Data values to be + graphed. + + + + + + + + + + + + + + + + Use the table to moniter the value of this graph's attached + shared variable. + + + + + + + + + + + + Defines a line graph that appears in the runtime space. Each + input to its sockets describes a series in the graph. Values are + graphed against time. + + + Data values to be + graphed. + + + + + + + + + + + + + + + + Use the line graph to moniter the value of this graph's + attached shared variable. + + + + + + + + + + + + Defines a bar graph that appears in the runtime space. Each + input to its sockets describes a series in the graph. Values in the + graph may change dynamically over time. + + + Data values to be + graphed. + + + + + + + + + + + + + + + + Use the bar graph to moniter the value of this graph's + attached shared variable. + + + + + + + + + + + + Resets the terrain to flat and green, and kills all of the + agents in SpaceLand. + + + + + + + + + + + + + Kills all of the agents in SpaceLand. + + + + + + + + + + + + + Flattens the terrain in Spaceland and repaints it green. + + + + + + + + + + + + + Scatters all agents randomly around the terrain. + + + + + + + + + + + + + + Sets the score to be the given value. + + + The new value for the + score. + + + + + + + + + + + + + + + + Reports the current score. + + + + + + + + + + + + + + + + + + Creates + + number of agents of the given breed. + + + The number of agents to + create. + + + + + + + + + + + + + + + + + + + + + Creates + + number of agents of the given breed and has each do the specified + commands. + + + The number of agents to + create. + + + The commands for each + agent to do. + + + + + + + + + + + + + + + + + + + + + + + + + Reports the name of the given breed. + + + + + + + + + + + + + + + + + + Reports the number agents of this breed. + + + + + + + + + + + + + + + + + + Reports the number agents of this breed that satisfy the given condition. + + + A condition that must be + true of the counted agents. + + + + + + + + + + + + + + + + + + + + + Scatters agents of this breed across SpaceLand. + + + + + + + + + + + + + + Clears all agents of this breed. + + + + + + + + + + + + + + Constantly checks for collisions between agents. If a collision + occurs, causes the collider to run the + + code, and the collidee to run the + + code. Which agent is the collidee and which is the collider depends + on the block. For example, if a Turtle and Frog collide, the + collision block with "Turtles" as the first port and "Frogs" as the + second port will assume that the Turtle is the collider and the + Frog is the collidee. + + + This is the code that the collider runs. + + + + This is the code that + the collidee runs. The label of this port determines which breed + will be assumed to be collidee. + + + + + + + + + + + + + + + + + + + Selects a random shape. + + + + + + + + + + + + + + + + + + + /models/animals/turtle/default_icon.png + + + + + + + + + + + + + + + /models/animals/sonic/sonic_icon.png + + + + + + + + + + + + + fd + bk + + + rt + lt + + + up + down + + + penup + pendown + + + true + false + + + min + max + + + round + int + + + sin + cos + tan + + + log + ln + + + over-shoulder-on + agent-eye-on + aerial-on + + + overhead-on + overhead-off + + + overhead? + aerial? + agent-eye? + over-shoulder? + + + joy-button1? + joy-button2? + joy-button3? + joy-button4? + + + joy-xaxis + joy-yaxis + + + xcor + ycor + + + random-color + black + blue + brown + cyan + gray + green + lime + magenta + orange + pink + purple + red + sky + turquoise + white + yellow + + + keyboard-up + keyboard-down + keyboard-left + keyboard-right + keyboard-space + + + equals + not-equals + lessthan + greaterthan + lessthanorequalto + greaterthanorequalto + + + and + or + + + sum + difference + quotient + product + + + stomp + yank + + + + + + + setup + forever + runforsometime + runonce + clear-all + clear-everyone + clear-patches + set-score + score + + + fd + bk + lt + rt + up + down + setxy + + + if + ifelse + repeat + and + or + not + equals + lessthan + true + false + + + keyboard-up + keyboard-space + joy-xaxis + joy-yaxis + joy-radius + joy-angle + dpad-angle + joy-button1? + joy-button2? + joy-button3? + joy-button4? + + + stamp + pc + stomp + yank + patch-height + + + who + setc + color + setshape + shape + setbreed + breed + seth + heading + penup + pendown + pendown? + setscale + scale + + + string + say + set-status + to-string + string-append + equals + not-equals + + + number + pi + e + sum + difference + product + quotient + equals + not-equals + lessthan + greaterthan + lessthanorequalto + greaterthanorequalto + atan + random + round + int + min + max + remainder + power + abs + sqrt + sin + cos + tan + asin + acos + log + ln + + + procedure + proc-param-number + proc-param-string + proc-param-boolean + proc-param-list + + + setc + random-color + blue + cyan + green + lime + magenta + orange + pink + purple + red + sky + turquoise + white + yellow + brown + gray + black + + + + + + + + + + + + + /support/images/trash_open.png + /support/images/trash.png + + + + +