<snapdata remixID="11130952"><project name="Custom Blocks Again" app="Snap! 10, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAABY9JREFUeF7tnU9IpHUYx58JcTY3lowxzR1ByEjxLx4ylE6VIu7FEQ/dPHm3bvmHTTKjw6ZX2Y2gW0IKiiiGIoiEByvXslkcOnSUQPJfqOXyvjTiuzPjSKzz/OD5vBd1fd95nufz/fB75/25MKHz8/Nz4YCAEoEQAiqRp6xPAAERQZVAWgG3trZkcXExpTHvbh0KhTI2nPx9aWmpdHZ2Sn5+vupwFHefQIqAU1NTUltbm9L5g952aXzxz6wTdT/6SXYPTvzz4vG4dHR0ZL2GE+wSCAi4tLQkJSUlklzJLn8t/qpNbuW9kJXUv8WV8kfbl/5K6V1fXV2d9RpOsEsgIODg4KDEYjFfnomJCWltbZXy8nKfTvSbewEBCz78XkK37sjhZ28F6P3zaqX8/u4XFxI3NDTYpcvkWQkEBBwbG5Pm5uYLefr7+2VkZMT/+fVvuwIC3v54Xc7//kuOHrwXKHJW9KbE3/n0YgVsamrK2gQn2CUQEPDw8FA2NjbS0qia/uBat+CzyBvy+O37/mscHR1JW1ubXbpMnpVAykPI+Pi41NTUXKxgyVeor6+XSCSS9QXX19dlf39fdnd3/SfhcDic9RpOsEvgRrZhMuH0Hki895UcEEgSuPY2TDpk0bt35fP2Uonezrw3mLzu3qNf5eDgwP+xoqKCBCDgEwgIuLy8LMXFxWm3YZLbKpe/FoTzJDIRfAjJxDU8/ESe7CT8W/v29rZ0dXURAQSCAl7ehjk+Ppaenh6pq6uTzc1NH5X3vbetMjAw4D+svPxSgRQ9fD8FY15jTM42vgv8e3g4Lr9sx9meQboAgYzbMAsLCzI0NCTT09MyPz8vq6urMjk5KX19fRKNRqW3t1eKCu9I0cPgezpvf/DZrRmvYv4nv8mPPz/2V8DT01NpaWkhCggEV8CrtmHSsSqJvCKvfd1+LYynH/0gW/GEf+7Kyoq/inJA4NrbMMn3fhdPL//9qa2xsVEKCwuvJLm3t+ffsr0N7bW1NfFu9RwQSHkIAQkEck2A/w+Ya+LUy/wQAhsI5JoAK2CuiVOPFRAH3CHACuhOFiY7QUCTsbszNAK6k4XJThDQZOzuDI2A7mRhshMENBm7O0MjoDtZmOwEAU3G7s7QCOhOFiY7QUCTsbszNAK6k4XJThDQZOzuDI2A7mRhshMENBm7O0MjoDtZmOwEAU3G7s7QCOhOFiY7QUCTsbszNAK6k4XJThDQZOzuDI2A7mRhshMENBm7O0MjoDtZmOwEAU3G7s7QCOhOFiY7QUCTsbszNAK6k4XJThDQZOzuDI2A7mRhshMENBm7O0MjoDtZmOwEAU3G7s7QCOhOFiY7QUCTsbszNAK6k4XJThAwQ+xVVVUyPDws3d3dJsXI1dAIeAXpWCzmf7qTd+zs7Mjc3JyUlZXlKhsTdRAwS8zep74/eyQ/cHFmZsaEJDc5JAL+TwFPTk5kdnb2JrMx8doIeM1bcCKR8G/B3kfVcjw/AgiYgWVlZaWMjo5Kulvw88PPKyEgDqgSQEBV/BRHQBxQJYCAqvgpjoA4oEoAAVXxUxwBcUCVAAKq4qc4AuKAKgEEVMVPcQTEAVUCCKiKn+IIiAOqBBBQFT/FERAHVAkgoCp+iiMgDqgSQEBV/BRHQBxQJYCAqvgpjoA4oEoAAVXxUxwBcUCVAAKq4qc4AuKAKgEEVMVPcQTEAVUCCKiKn+IIiAOqBBBQFT/FERAHVAkgoCp+iiMgDqgSQEBV/BRHQBxQJYCAqvgpjoA4oEoAAVXxUxwBcUCVAAKq4qc4AuKAKgEEVMVPcQTEAVUCCKiKn+IIiAOqBBBQFT/FERAHVAkgoCp+iiMgDqgSQEBV/BRHQBxQJYCAqvgpjoA4oEoAAVXxUxwBcUCVAAKq4qc4AuKAKoGn1HEDxq+iL+IAAAAASUVORK5CYII=</thumbnail><scenes select="1"><scene name="Custom Blocks Again"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="key %&apos;key&apos; pressed" type="predicate" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%key"><options>any&#xD;enter&#xD;shift&#xD;backspace&#xD;alt&#xD;tab&#xD;delete&#xD;insert&#xD;home&#xD;end&#xD;pageup&#xD;pagedown&#xD;scrolllock&#xD;numlock&#xD;capslock&#xD;up&#xD;down&#xD;left&#xD;right&#xD;0&#xD;1&#xD;2&#xD;3&#xD;4&#xD;5&#xD;6&#xD;7&#xD;8&#xD;9&#xD;a&#xD;b&#xD;c&#xD;d&#xD;e&#xD;f&#xD;g&#xD;h&#xD;i&#xD;j&#xD;k&#xD;l&#xD;m&#xD;n&#xD;o&#xD;p&#xD;q&#xD;r&#xD;s&#xD;t&#xD;u&#xD;v&#xD;w&#xD;x&#xD;y&#xD;z&#xD;,&#xD;.&#xD;?&#xD;/&#xD;\&#xD;|&#xD;(&#xD;)&#xD;[&#xD;]&#xD;{&#xD;&lt;&#xD;&gt;&#xD;;&#xD;:&#xD;&apos;&#xD;&quot;&#xD;!&#xD;@&#xD;#&#xD;$&#xD;%&#xD;^&#xD;&amp;&#xD;*&#xD;&#126;&#xD;*&#xD;-&#xD;+&#xD;_&#xD;=&#xD;f1&#xD;f2&#xD;f3&#xD;f4&#xD;f5&#xD;f6&#xD;f7&#xD;f8&#xD;f9&#xD;f10&#xD;f11&#xD;f12</options></input></inputs><script><block s="doDeclareVariables"><list><l>arrows</l></list></block><block s="doSetVar"><l>arrows</l><block s="reportNewList"><list><l>up</l><l>down</l><l>left</l><l>right</l></list></block></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="key"/><l>any</l></list></block></block><script><block s="doIfElse"><block s="reportNot"><block s="reportListContainsItem"><block var="arrows"/><block var="key"/></block></block><script><block s="doReport"><block s="reportKeyPressed"><block var="key"/></block></block></script><script><block s="doReport"><block s="reportKeyPressed"><block s="reportJoinWords"><list><block var="key"/><l> arrow</l></list></block></block></block></script></block></script><script><block s="doReport"><block s="reportKeyPressed"><block s="reportJoinWords"><list><block var="key"/><l> key</l></list></block></block></block></script></block></script></block-definition><block-definition s="In Editor?" type="predicate" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return location.href === parent.location.href;</l></block><list></list></block></block></script></block-definition><block-definition s="set flag %&apos;which&apos; to %&apos;tf&apos;" type="command" category="sensing"><comment x="0" y="0" w="254.66666666666666" collapsed="false">Allows changing global settings programmatically.&#xD;This block is for Boolean (checkbox) settings; use&#xD;SET VALUE for numeric or text values.&#xD;&#xD;Eisenberg&apos;s Law:  Anything you can do from the user interface you should be able to do in your program, and vice versa.  This library is just a beginning; there are many UI controls outside of the Settings menu.</comment><header></header><code></code><translations>pt:altera o valor da configuração _ para _&#xD;</translations><inputs><input type="%s" readonly="true"><options>Presentation mode&#xD;Retina display support&#xD;Long form input dialog&#xD;Plain prototype labels&#xD;Input sliders&#xD;Execute on slider change&#xD;Clicking sound&#xD;Turbo mode&#xD;Flat design&#xD;Keyboard editing&#xD;Visible stepping&#xD;Thread safe scripts&#xD;Prefer smooth animations&#xD;Flat line ends&#xD;Codification support&#xD;Inheritance support&#xD;Hyper blocks support</options></input><input type="%b"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>which</l><l>tf</l></list><l>var   stage = this.parentThatIsA(StageMorph),&#xD;        ide = stage.parentThatIsA(IDE_Morph),&#xD;        world = stage.parentThatIsA(WorldMorph),&#xD;        thisObj = this;&#xD;&#xD;if (tf != !!tf) return;&#xD;&#xD;try{&#xD;ide.savingPreferences = false;&#xD;&#xD;switch (which) {&#xD;    case &apos;Presentation mode&apos;:&#xD;        if (tf != ide.isAppMode) ide.toggleAppMode();&#xD;        break;&#xD;    case &apos;Retina display support&apos;:&#xD;        if (tf != isRetinaEnabled()) ide.toggleRetina();&#xD;        break;&#xD;    case &apos;Long form input dialog&apos;:&#xD;        if (tf != InputSlotDialogMorph.prototype.isLaunchingExpanded)&#xD;            ide.toggleLongFormInputDialog();&#xD;        break;&#xD;    case &apos;Plain prototype labels&apos;:&#xD;        if (tf != BlockLabelPlaceHolderMorph.prototype.plainLabel)&#xD;            ide.togglePlainPrototypeLabels();&#xD;        break;&#xD;    case &apos;Input sliders&apos;:&#xD;        MorphicPreferences.useSliderForInput = tf;&#xD;        break;&#xD;    case &apos;Execute on slider change&apos;:&#xD;        ArgMorph.prototype.executeOnSliderEdit = tf;&#xD;        break;&#xD;    case &apos;Clicking sound&apos;:&#xD;        if (tf != !!BlockMorph.prototype.snapSound)&#xD;            BlockMorph.prototype.toggleSnapSound();&#xD;        break;&#xD;    case &apos;Turbo mode&apos;:&#xD;        if (tf != stage.isFastTracked)&#xD;            ide.toggleFastTracking();&#xD;        break;&#xD;    case &apos;Flat design&apos;:&#xD;        if (tf == MorphicPreferences.isFlat) break;&#xD;        if (tf)&#xD;            ide.flatDesign();&#xD;        else&#xD;            ide.defaultDesign();&#xD;        break;&#xD;    case &apos;Keyboard editing&apos;:&#xD;        if (thisObj.scripts.focus &amp;&amp; !tf) {&#xD;            thisObj.scripts.focus.stopEditing();&#xD;        } else if (tf &amp;&amp; !thisObj.scripts.focus) {&#xD;            thisObj.scripts.toggleKeyboardEntry();&#xD;        };&#xD;        break;&#xD;    case &apos;Visible stepping&apos;:&#xD;        if (tf != Process.prototype.enableSingleStepping)&#xD;            ide.toggleSingleStepping();&#xD;        break;&#xD;    case &apos;Thread safe scripts&apos;:&#xD;        stage.isThreadSafe = tf;&#xD;        break;&#xD;    case &apos;Prefer smooth animations&apos;:&#xD;        if (tf != (StageMorph.prototype.frameRate &gt; 0))&#xD;            ide.toggleVariableFrameRate();&#xD;        break;&#xD;    case &apos;Flat line ends&apos;:&#xD;        SpriteMorph.prototype.useFlatLineEnds = tf;&#xD;        break;&#xD;    case &apos;Codification support&apos;:&#xD;        if (tf != StageMorph.prototype.enableCodeMapping) {&#xD;            StageMorph.prototype.enableCodeMapping = tf;&#xD;            ide.currentSprite.blocksCache.variables = null;&#xD;            ide.currentSprite.paletteCache.variables = null;&#xD;            ide.refreshPalette();&#xD;        }&#xD;        break;&#xD;    case &apos;Inheritance support&apos;:&#xD;        if (tf != StageMorph.prototype.enableInheritance) {&#xD;            StageMorph.prototype.enableInheritance = tf;&#xD;            ide.currentSprite.blocksCache.variables = null;&#xD;            ide.currentSprite.paletteCache.variables = null;&#xD;            ide.refreshPalette();&#xD;        }&#xD;        break;&#xD;    case &apos;Hyper blocks support&apos;:&#xD;        Process.prototype.enableHyperOps = tf;&#xD;        break;&#xD;};&#xD;}&#xD;finally {&#xD;ide.savingPreferences = false;&#xD;};&#xD;</l></block><list><block var="which"/><block var="tf"/></list></block></script></block-definition><block-definition s="set value %&apos;which&apos; to %&apos;value&apos;" type="command" category="sensing"><comment x="0" y="0" w="254.66666666666666" collapsed="false">Allows changing global settings programmatically.&#xD;This block is for numeric or text settings; use&#xD;SET FLAG for Boolean (checkbox) values.&#xD;&#xD;Eisenberg&apos;s Law:  Anything you can do from the user interface you should be able to do in your program, and vice versa.  This library is just a beginning; there are many UI controls outside of the Settings menu.</comment><header></header><code></code><translations>pt:altera o valor da configuração _ para _&#xD;</translations><inputs><input type="%s" readonly="true"><options>Project notes&#xD;Project name&#xD;Language&#xD;Zoom blocks&#xD;Stage size&#xD;Stage scale&#xD;Visible palette</options></input><input type="%s"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>which</l><l>value</l></list><l>var   stage = this.parentThatIsA(StageMorph),&#xD;        ide = stage.parentThatIsA(IDE_Morph),&#xD;        world = stage.parentThatIsA(WorldMorph);&#xD;&#xD;try {&#xD;ide.savingPreferences = false;&#xD;&#xD;switch (which) {&#xD;    case &apos;Project notes&apos;:&#xD;        ide.projectNotes = value;&#xD;        break;&#xD;    case &apos;Project name&apos;:&#xD;        ide.setProjectName(value);&#xD;        break;&#xD;    case &apos;Language&apos;:&#xD;        ide.setLanguage(value);&#xD;        break;&#xD;    case &apos;Zoom blocks&apos;:&#xD;        if (!isNaN(value)) ide.setBlocksScale(Math.min(value, 12));&#xD;        break;&#xD;    case &apos;Stage size&apos;:&#xD;        if ((value instanceof List) &amp;&amp; value.length()==2&#xD;                       &amp;&amp; !isNaN(value.at(1)) &amp;&amp; !isNaN(value.at(2)))&#xD;            ide.setStageExtent(new Point(value.at(1), value.at(2)));&#xD;        break;&#xD;    case &apos;Stage scale&apos;:&#xD;        ide.toggleStageSize(value != 1, Math.max(0.1, value));&#xD;        break;&#xD;    case &apos;Visible palette&apos;:&#xD;        ide.currentCategory = value.toLowerCase();&#xD;        ide.categories.children.forEach(function (each) {&#xD;                each.refresh();&#xD;        });&#xD;        ide.refreshPalette(true);&#xD;        break;&#xD;};&#xD;}&#xD;finally {ide.savingPreferences = true;&#xD;};</l></block><list><block var="which"/><block var="value"/></list></block></script></block-definition><block-definition s="authorize %&apos;user&apos;" type="command" category="control"><comment w="90" collapsed="false">Authorize user to run the project. </comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><custom-block s="setting %s"><l>User</l></custom-block><block var="user"/></list></block></block><script></script><list></list></block></script></block-definition><block-definition s="cloud var %&apos;s&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="substr %s"><block s="reportURL"><block s="reportJoinWords"><list><l>snapextensions.uni-goettingen.de/handleTextfile.php?type=read&amp;filename=./textfiles/</l><block s="reportJoinWords"><list><block var="s"/><l>_id_</l><custom-block s="cloud ID"></custom-block></list></block><l>.txt</l></list></block></block></custom-block></block></script></block-definition><block-definition s="substr %&apos;s&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>answer</l></list><l> return answer.substring(0, answer.length - 1);</l></block><list><block var="s"/></list></block></block></script></block-definition><block-definition s="cloud ID %&apos;s&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>a</l></list><l>cloudid = a</l></block><list><block var="s"/></list></block></script></block-definition><block-definition s="set cloud var %&apos;cloud&apos; to %&apos;value&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><custom-block s="ignore %s"><block s="reportURL"><block s="reportJoinWords"><list><l>snapextensions.uni-goettingen.de/handleTextfile.php?type=write&amp;content=</l><block var="value"/><l>&amp;filename=./textfiles/</l><block s="reportJoinWords"><list><block var="cloud"/><l>_id_</l><custom-block s="cloud ID"></custom-block></list></block><l>.txt</l></list></block></block></custom-block></script></block-definition><block-definition s="ignore %&apos;s&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="cloud ID" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l></l></list><l>return cloudid;</l></block><list></list></block></block></script></block-definition><block-definition s="PFP" type="command" category="looks"><header></header><code></code><translations></translations><inputs></inputs><script><block s="fork"><block s="reifyScript"><script><block s="doSwitchToCostume"><custom-block s="costume from url %s"><block s="reportJoinWords"><list><l>https://forum.snap.berkeley.edu/user_avatar/forum.snap.berkeley.edu/</l><custom-block s="setting %s"><l>User</l></custom-block><l>/120/12153_.png</l></list></block></custom-block></block></script><list></list></block><list></list></block></script></block-definition><block-definition s="setting %&apos;which&apos;" type="reporter" category="sensing"><comment x="0" y="0" w="254.66666666666666" collapsed="false">Allows reading global settings programmatically.&#xD;&#xD;Eisenberg&apos;s Law:  Anything you can do from the user interface you should be able to do in your program, and vice versa.  This library is just a beginning; there are many UI controls outside of the Settings menu.</comment><header></header><code></code><translations>pt:o valor da configuração _&#xD;</translations><inputs><input type="%s" readonly="true"><options>Project notes&#xD;Project name&#xD;User&#xD;Presentation mode&#xD;Language&#xD;Zoom blocks&#xD;Stage size&#xD;Stage scale&#xD;Retina display support&#xD;Long form input dialog&#xD;Plain prototype labels&#xD;Input sliders&#xD;Execute on slider change&#xD;Clicking sound&#xD;Turbo mode&#xD;Flat design&#xD;Keyboard editing&#xD;Visible stepping&#xD;Thread safe scripts&#xD;Prefer smooth animations&#xD;Flat line ends&#xD;Codification support&#xD;Inheritance support&#xD;Hyper blocks support&#xD;Visible palette</options></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>which</l></list><l>var stage = this.parentThatIsA(StageMorph),&#xD;    ide = stage.parentThatIsA(IDE_Morph),&#xD;    world = stage.parentThatIsA(WorldMorph);&#xD;&#xD;switch (which) {&#xD;    case &apos;Project notes&apos;:&#xD;        return ide.projectNotes;&#xD;    case &apos;Project name&apos;:&#xD;        return ide.projectName;&#xD;    case &apos;User&apos;:&#xD;        return ide.cloud.username;&#xD;    case &apos;Presentation mode&apos;:&#xD;        return ide.isAppMode;&#xD;    case &apos;Language&apos;:&#xD;        return SnapTranslator.language;&#xD;    case &apos;Zoom blocks&apos;:&#xD;        return SyntaxElementMorph.prototype.scale;&#xD;    case &apos;Stage size&apos;:&#xD;        return new List([StageMorph.prototype.dimensions.x,&#xD;                                   StageMorph.prototype.dimensions.y]);&#xD;    case &apos;Stage scale&apos;:&#xD;       return stage.scale;&#xD;    case &apos;Retina display support&apos;:&#xD;        return isRetinaEnabled();&#xD;    case &apos;Long form input dialog&apos;:&#xD;        return InputSlotDialogMorph.prototype.isLaunchingExpanded;&#xD;    case &apos;Plain prototype labels&apos;:&#xD;        return BlockLabelPlaceHolderMorph.prototype.plainLabel;&#xD;    case &apos;Input sliders&apos;:&#xD;        return MorphicPreferences.useSliderForInput;&#xD;    case &apos;Execute on slider change&apos;:&#xD;        return ArgMorph.prototype.executeOnSliderEdit;&#xD;    case &apos;Clicking sound&apos;:&#xD;        return !!BlockMorph.prototype.snapSound;&#xD;    case &apos;Turbo mode&apos;:&#xD;        return stage.isFastTracked;&#xD;    case &apos;Flat design&apos;:&#xD;        return MorphicPreferences.isFlat;&#xD;    case &apos;Keyboard editing&apos;:&#xD;        return !!this.scripts.focus;&#xD;    case &apos;Visible stepping&apos;:&#xD;        return Process.prototype.enableSingleStepping;&#xD;    case &apos;Thread safe scripts&apos;:&#xD;        return stage.isThreadSafe;&#xD;    case &apos;Prefer smooth animations&apos;:&#xD;        return StageMorph.prototype.frameRate &gt; 0;&#xD;    case &apos;Flat line ends&apos;:&#xD;        return SpriteMorph.prototype.useFlatLineEnds;&#xD;    case &apos;Codification support&apos;:&#xD;        return StageMorph.prototype.enableCodeMapping;&#xD;    case &apos;Inheritance support&apos;:&#xD;        return StageMorph.prototype.enableInheritance;&#xD;    case &apos;Hyper blocks support&apos;:&#xD;        return Process.prototype.enableHyperOps;&#xD;    default: return which;&#xD;    case &apos;Visible palette&apos;:&#xD;        return ide.currentCategory;&#xD;}</l></block><list><block var="which"/></list></block></block></script></block-definition><block-definition s="costume from url %&apos;url&apos;" type="reporter" category="looks"><comment x="0" y="0" w="96.36363636363625" collapsed="false">Credit to @programmer_user and @jens</comment><header></header><code></code><translations></translations><inputs><input type="%s">Costumes/alonzo.png<options>function () {&#xD;var obj = {};&#xD;world.children[0].getMediaList(&apos;Costumes&apos;).forEach(image =&gt; {&#xD;obj[image.name] = &apos;Costumes/&apos; + image.fileName;&#xD;})&#xD;return obj;&#xD;}</options></input></inputs><script><custom-block s="let %upvar be %s"><l>costume</l><block s="evaluate"><block s="reportJSFunction"><list><l>url</l></list><l>var img = new Image(),&#xD;    cst = null,&#xD;    canvas;&#xD;img.onload = function() {&#xD;    canvas = document.createElement(&apos;canvas&apos;);&#xD;    canvas.width = img.width;&#xD;    canvas.height = img.height;&#xD;    canvas.getContext(&apos;2d&apos;).drawImage(img, 0, 0);&#xD;    cst = new Costume(canvas);&#xD;}&#xD;img.crossOrigin = &apos;anonymous&apos;;&#xD;img.src = url;&#xD;return () =&gt; cst;</l></block><list><block var="url"/></list></block></custom-block><block s="doWaitUntil"><block s="evaluate"><block var="costume"/><list></list></block></block><block s="doReport"><block s="evaluate"><block var="costume"/><list></list></block></block></script></block-definition><block-definition s="let %&apos;var&apos; be %&apos;val&apos;" type="command" category="other"><comment x="0" y="0" w="183.33333333333334" collapsed="false">LET (FOO) BE (5)&#xD;is equivalent to&#xD;SCRIPT VARIABLES (FOO)&#xD;SET (FOO) TO (5)</comment><header></header><code></code><translations>pt:cria a variável de guião _ com valor _&#xD;</translations><inputs><input type="%upvar"></input><input type="%s"></input></inputs><script><block s="doSetVar"><l>var</l><block var="val"/></block></script></block-definition><block-definition s="username" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><custom-block s="setting %s"><l>User</l></custom-block></block></script></block-definition><block-definition s="snap! user stats" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportTextSplit"><block s="reportURL"><l>snap.berkeley.edu/api/v1/users/c</l></block><l><option>json</option></l></block></block></script></block-definition><block-definition s="ban %&apos;user&apos;" type="command" category="control"><comment w="90" collapsed="false">Ban someone from running your project.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="user"/><custom-block s="setting %s"><l>User</l></custom-block></list></block><script></script><list></list></block></script><scripts><script x="170.9814453125" y="127.83333333333331"><block s="reportListItem"><l>2</l><block s="reportListItem"><l>3</l><custom-block s="snap! user stats"></custom-block></block></block></script></scripts></block-definition><block-definition s="button %&apos;size&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%n">25</input></inputs><script><block s="doDeclareVariables"><list><l>size</l></list></block><block s="doSetVar"><l>size</l><block s="getScale"></block></block><block s="doForever"><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportTouchingObject"><l><option>mouse-pointer</option></l></block><block s="reportBoolean"><l><bool>true</bool></l></block></list></block><script><block s="setScale"><block s="reportVariadicSum"><list><block var="size"/><block var="size"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportTouchingObject"><l><option>mouse-pointer</option></l></block><block s="reportBoolean"><l><bool>true</bool></l></block></list></block></block><script><block s="setScale"><block var="size"/></block></script><list></list></block></script></block></script></block-definition><block-definition s="mod %&apos;user&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><custom-block s="cloud ID %s"><l>moderators</l></custom-block><custom-block s="set cloud var %s to %s"><l>moderators</l><block s="reportJoinWords"><list><custom-block s="cloud var %s"><l>moderators</l></custom-block><l> </l><block var="user"/><l> </l></list></block></custom-block><block s="doReport"><custom-block s="cloud var %s"><l>moderators</l></custom-block></block></script></block-definition><block-definition s="people who have ran this block" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="cloud ID %s"><l>userswhohaveranthis</l></custom-block><block s="doChangeVar"><l>exist</l><l>1</l></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="exist"/><l>2</l></list></block><script><custom-block s="set cloud var %s to %s"><l>userswhohaveranthis</l><block s="reportJoinWords"><list><custom-block s="cloud var %s"><l>userswhohaveranthis</l></custom-block><l> </l><custom-block s="setting %s"><l>User</l></custom-block><l> </l></list></block></custom-block></script><script><custom-block s="set cloud var %s to %s"><l>userswhohaveranthis</l><block s="reportJoinWords"><list><custom-block s="cloud var %s"><l>userswhohaveranthis</l></custom-block><l> </l><custom-block s="setting %s"><l>User</l></custom-block><l> </l></list></block></custom-block></script></block><block s="doReport"><custom-block s="cloud var %s"><l>userswhohaveranthis</l></custom-block></block></script><scripts><script x="12" y="242.46666666666675"><block s="doSetVar"><l>exist</l><l>0</l></block></script></scripts></block-definition><block-definition s="chat %&apos;chat&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><custom-block s="cloud ID %s"><l>chattestbyearth</l></custom-block><custom-block s="set cloud var %s to %s"><l>chattestbyearth</l><block s="reportJoinWords"><list><custom-block s="cloud var %s"><l>chattestbyearth</l></custom-block><l>  </l><custom-block s="username"></custom-block><l>: </l><block var="chat"/></list></block></custom-block></script><scripts><script x="17" y="151.83333333333331"><custom-block s="set cloud var %s to %s"><l>chattestbyearth</l><l></l></custom-block></script></scripts></block-definition><block-definition s="chat" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="cloud ID %s"><l>chattestbyearth</l></custom-block><block s="doReport"><custom-block s="cloud var %s"><l>chattestbyearth</l></custom-block></block></script></block-definition><block-definition s="times people have ran this project" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="cloud ID %s"><l>howmanyusershaveranthisprojectnumber</l></custom-block><custom-block s="set cloud var %s to %s"><l>howmanyusershaveranthisprojectnumber</l><block s="reportVariadicSum"><list><custom-block s="cloud var %s"><l>howmanyusershaveranthisprojectnumber</l></custom-block><l>1</l></list></block></custom-block><block s="doReport"><custom-block s="cloud var %s"><l>howmanyusershaveranthisprojectnumber</l></custom-block></block></script></block-definition><block-definition s="current all" type="reporter" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportJoinWords"><list><block s="xPosition"></block><l> </l><block s="yPosition"></block><l> </l><block s="direction"></block></list></block></block></script></block-definition><block-definition s="key any pressed" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doUntil"><block s="reportVariadicEquals"><list><block s="reportKeyPressed"><l><option>any key</option></l></block><block s="reportBoolean"><l><bool>true</bool></l></block></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block-definition></blocks><primitives></primitives><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="519"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADoVJREFUeF7t1cEJAAAIxDDdf2m3sJ+4wEEQuuMIECBAgACBd4F9XzRIgAABAgQIjAB7AgIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECByxcQFpoRMBzwAAAABJRU5ErkJggg==</pentrails><costumes><list struct="atomic" id="520"></list></costumes><sounds><list struct="atomic" id="521"></list></sounds><variables></variables><blocks></blocks><scripts><script x="21" y="196.33333333333334"><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><custom-block s="setting %s"><l>User</l></custom-block><l>earthrulerr</l></list></block><custom-block s="In Editor?"></custom-block></list></block></block><script><block s="doForever"><script><block s="createClone"><l><option>myself</option></l></block></script></block></script><list></list></block></script></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="0" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" costume="0" color="80,80,80,1" pen="tip" id="552"><costumes><list struct="atomic" id="553"></list></costumes><sounds><list struct="atomic" id="554"></list></sounds><blocks></blocks><variables></variables><scripts><script x="28" y="226"><custom-block s="mod %s"><l></l><comment w="210" collapsed="false">Mod users. To add perks to moderators look below. We suggest you change the cloud ID.</comment></custom-block></script><script x="28" y="295"><block s="doForEach"><l>item</l><block s="reportTextSplit"><custom-block s="cloud var %s"><l>moderators</l></custom-block><l> </l></block><script><block s="doTellTo"><l></l><block s="reifyScript"><script><block s="show"></block></script><list></list></block><list></list></block></script></block></script><comment x="28" y="381.83333333333326" w="217" collapsed="false">Suggest you make a sprite “Mod UI” that does all the perks and put in in the drop down.</comment><script x="28" y="447.83333333333326"><custom-block s="people who have ran this block"></custom-block></script><script x="28" y="534.6666666666665"><custom-block s="chat"></custom-block></script><script x="28" y="564.4999999999999"><custom-block s="times people have ran this project"><comment w="115" collapsed="false">Look below for usage.</comment></custom-block></script><script x="28" y="621.4999999999999"><block s="receiveGo"></block><block s="doRun"><custom-block s="times people have ran this project"></custom-block><list></list></block></script><script x="28" y="736.3333333333333"><custom-block s="current all"></custom-block></script><script x="28" y="766.1666666666666"><custom-block s="key any pressed"></custom-block></script><script x="510" y="565"><block s="reportJoinWords"><list><custom-block s="cloud var %s"><l>userswhohaveranthis</l></custom-block><l> </l><l></l><l> </l></list></block></script><script x="474" y="483"><custom-block s="cloud var %s"><l>userswhohaveranthis</l></custom-block></script><script x="58" y="481.6666666666665"><custom-block s="chat %s"><l>s</l><comment w="90" collapsed="false">Chat with others!</comment></custom-block></script><script x="238" y="504"><custom-block s="set cloud var %s to %s"><l>userswhohaveranthis</l><l></l></custom-block></script><script x="608" y="653"><custom-block s="cloud ID"></custom-block></script><script x="28" y="136"><custom-block s="button %n"><l>25</l><comment w="177" collapsed="false"> The number is how much the size changes when the mouse goes over it.</comment></custom-block><custom-block s="PFP"><comment w="90" collapsed="false">Put into the sprite that will be the PFP</comment></custom-block></script><script x="129" y="73"><custom-block s="ban %s"><l></l></custom-block></script><script x="203" y="28"><custom-block s="authorize %s"><l></l></custom-block></script></scripts></sprite><watcher var="v" style="normal" x="10" y="10" color="243,118,29"/><watcher var="exist" style="normal" x="10" y="31.000001999999995" color="243,118,29"/></sprites></stage><variables><variable name="v"><l>0</l></variable><variable name="exist"><l>2</l></variable></variables></scene></scenes></project><media name="Custom Blocks Again" app="Snap! 10, https://snap.berkeley.edu" version="2"></media></snapdata>