<snapdata remixID="127"><project name="nobs" app="Snap! 11.0.0, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAM8UlEQVR4AexdW4hN7xv+RuZqLkwuuTAIuZgYJONGJik1OaSJlCk5pBBJzqPJECGmUDKkRokkh6aUHHJjkGNTSk7jgtyouaGU/P/zrN+sae29v/P3rcNe+/01315rvd97eN7nfWLv2X5rjfgf/UcMpMjACEb/EQMpMkACTJF8Ks0YCZBUkCoDJMBU6afiJEDSQKoMVK4AU6WdiocMkABDJuiYCgMkwFRop6IhAyTAkAk6psKAtQD7+vrYuHHjSlZHR0cqjYiKAg8PJ/CLYtKwNzY2lnAJWxpYRDXBGY9LcCyKUdmtBAgQzc3Nw7m/fv3K1q9fH1xfuHAhIPLSpUvBdVovqA+cwAMMwAecOMcCfuzjPM1VV1cX8PX9+/cABjBi4QI2YIQPrtNcwAHOQgzACE5xDY6xD85xbbKMBDgwMBCQxStQU1NTYG5vb2dLliwpsCV1gbqoH61XjC/cA3HoK7xO8ojag1/DKkvCB75KRz0HIy9wI6pdzCk4B/cmBYwEOG3aNGHuX79+ley9efOGdXd3l9jjNKAe6hbX4OELfWR9hT6+j6KhyurYxMjy6ezJuOFxCu4xA53c8NEWoKx57HV1dSFfyWprayuxxWkQ1QM+4BTVlu2JYmztvb29wlDgwBI5yGJFMbZ2GQ7sgVNebtEMeL7aAuQF69qOHTum6+rkl1QdJ5CDwStXrhx8tftxibWraBelOwstAV65csUOxVDU2bNnh87iPbjWce0z3u6Sze7Khe4stAR45swZafczZ85kx48fl/qkvVldXa2EoOpTmcCDw7Nnz9ju3bs9ZHJLoeLC18y1BIhfB8jaefnyJZs3b57MJfW9vXv3BhhmzZoVHHkvqj55Mb5tDx48YEePHvWd1jifigtfM9cS4OzZs6UNNDQ0sEePHkl9sJnmCv+EfvHihRCGqk9hoMeNpqYmZvIm3mPpglQqLnzNXEuAhw8fLgBXfPH69Wu2a9euYnOmrn///q3Eo+pTmcCDw5w5c5jLNwseIAQpVFz4mrmWACdNmhSAsn25d++ebahRnGsd1z6NwGbc2ZUL3VloCRBcLV68GAerNWXKFKs40yCXOi79meLE11imMaG/S2yYQ/fowonuLLQFePr0aV3cBX5JEobCtvVs+0NNm9XS0mIcZhNjXCQSYMuJyQy0BQhcJonh//btWxwSX6Z1Tfvy0dCJEycY3u/p5oIvYnT9ffmZcmPKvZEA0RQALVq0CKfSBb/a2lqpT1ybqIv6qvzoQ8dPlUe9z/e4du0ae/jwIX8zYoUPfCOmRE/BEbhSFYUfuFf5RfeNBYjgc+fOMRTr6elh9fX1MLHRo0ezAwcOBHbsBcaUX4ADC7iAD3CAF7hhRx+wpbkmTpw4zNmyZcuGoeAcGLHgM7yR0gm4AhZwBw4BA5yCW9ixYDNdVgIMiwAIAKE4PpavXbs23MrUEbiADziBF7gzBXAITGdn57AYcT5kztQB3IFDcAlOwa0LQCcBuhSmWGIADJAAwQKt1BggAaZGPRUGAyRAsEArNgZUiUmAKoZoP1YGSICx0kvJVQyQAFUM0X6sDJAAY6WXkqsYIAGqGKL9WBkgAcZKLyVXMZBfAao6p/1MMEACzMQYKhcECbByZ5+JzkmAmRhD5YIgAVbu7DPROQkwE2OoXBAkwPzNvqw6IgGW1bjyB5YEmL+ZllVHJMCyGlf+wJIA8zfTsuqIBFhW48ofWBJg/mZaVh15EWB4t/Ssd14OOP/9+8ewKoVLawHiLunhOnXqVPD8kPD68ePHmeAPOEJMOBbjzATIQRCtra3D/OEOrljAi4W9QZdM/ABPuIq5BNc2II0FuH379oCsaLH9+/ezbdu2DZtAGoAOG1I4QX3gCEsDH3CG1zjCB/3gPK0FDNHhvXr1imGFeLAHn/A6jSM4KsYALsFpiAdcF/uEe7KjkQDxiIAbN27I8hXs2QAqSGB5YVIX/aAvy1JOYSY4TXydQBUFgxtwVGQWXpri1BZgf38/kz0k5fLly1xQSd9YR1RPhA+g0Rf6w3lSSzSob9++MSweDlEMz9eHDZyAG1EuEaeiGfDyaAtQdhd8EPPz509efvb371+uPS6jqB7wAaeorqw/UYytPXzIHy9+7ty5DIu3B5ssFvs+l4wTcAlOefVEM+D5aguQF6xrmz9/vq6rk19SdUpBmll075/My+oSy8sXl013FloC3LNnjxPOz58/O8XrBrvWce1TF2c5+LlyoTsLLQHeunVLyZnprVmVCT07hHf4HDFC3LJOn55hlaTDnVDx11vJRsIGHS58zFw8DcOGR44caRiRrPvUqVODguPHjw+OWX3BE4pw88es4ovi8jFzLQEuXbo0Wrfk/Pz580z2XNmSgBQMJ0+eZPh1wqdPn4TVVX0KAz1u4CF/uzPwrDgVF75mriXAI0eOSCnesGGD9NPuhAkTpPG+NlV1li9fLi2l6lMa7Gnz48ePLAvPilNx4WvmWgJ05Tap58glVceVj4ULF1qncIm1LioJFG3pzkJbgPhKSFRMZvfxPkGWv3jPtp5tf8X1da67urp03Lg+LrHchBKjLScmM9AWYF1dHWtsbJTA5W/J3nPxI9ysNvXQF/pzq2wWbfNBwybGDFWhNzgBN4VW9ZXJDLQFiLJXr15lqvdR8AtX0oTZ1EU/6CuMTfJowo+Jr88ewA040s1pitNIgACBT5OqIt3d3cHzLuCf1gJG4JDVhw/6kfnEvQcMsq+8sAefuHHI8oMjFQZwrfLh1TAWYJgExcL17t27QHDhNUgL/dI8AkeICcdinGlii9YOhweMX758YVg4x8Je1DfNc+AJVzGX4NoGm7UAo8Vqamqil5k9Lwec+KYGK7MkDgHzxaUXAQ5hSvZA1XLBAAkwF2Ms3yZIgOU7u1wgJwHmYozl2wQJsHxnlwvkJMBcjLF8myABlt/scoWYBJircZZfMyTA8ptZrhCTAHM1zvJrhgRYfjPLFWISYK7GWX7NkADLb2a5QmwkwFx1Ts1kggESYCbGULkgSICVO/tMdE4CzMQYKhcECbByZ5+JzkmAmRhD5YIgAWrNnpziYoAEGBezlFeLARKgFk3kFBcDJMC4mKW8Wgw4CbCvr481NzcHzw1paGhgFy9e1CqatBNwAR/uPAq8wJ00Bp16eO4GMGLhXCcmaR9wBw6BEZyCWxcMVgLcuHFjIDoAASD83/JVVVXs4MGDgR3gXED5igUOLOCqqqoK7t4AvMANO/rwVcs2D27kAyxYN2/eZE+ePAkWzmHDgo9tfl9x4ApYwB049DVzYwECxN27d0v6Wr16dYENfgMDAwW2pC5QF/Wj9YrxYQ99FPvBntRasWIFa2pqKig3duxYhhU1wge+UVtS56gDjsAVzqOrmFP4gfuoj+rcSIAooEoY3U/rtr2mdU37ivZoe75jxw729OlT7XD4IkY7wJOjKTem3GsLcMuWLcKWDh06xDo7O7n7pg1wkxgYRfWADzhFqWT9iWJc7NevX+eGz5gxg2HxNkUxPF8fNhkn4BKc8uqIZsDz1RbgnTt3ePGBTXXXzvfv3wd+cb+o6shwyvrzjVs2IDx9CEtUUxYrirG1yziRcYl6qlnAB0tLgB8+fICv9UrqvsaudVz7tCYog4GuXOjOQkuA+/btk1J0//59NmrUKKlPFjZ5b6SjuFR9Rn3jOsdz4vCwmrjy6+ZVceFr5loCfP78uRT3ggULgl8dSJ1S3ty6dSvD05Jkf4Wp+kyihZaWFpbmJ96wRxUXvmauJcAxY8aEuITH6upq4Z7VhucgPIEIKX/8+IEDd+n0yQ30aAQG3BzcY0qrVMChCvQxcy0Bbt68WYWFTZ48WemTpkP4CfLPnz9CGDp9CoM9beBPv/7+fk/Z7NPocOFj5loCXLVqlX0ng5GbNm0afI3/x7WOa5/xd5hcBVcudGehJUDXtnfu3OmaQis+qTpaYCROePSBZFu65RIrTex5U3cW2gLEd382GDs6OmzCrGNs69n2ZwPU5uEvYR2X2DCH7tGWE5MZaAsQoE2fDzt9+nTW2tqK0MQW6qGuSUHTvkxyi3xthmsTI6qvazflBtxjBrr5jQRYW1sb/IsSneTt7e3s9u3bOq7efVAX9XUSY6joS8fXtw9qV1VVFactua6q+u9f8pRsJGAAN8CpUwqcg3sd39DHSIBhEAD19PSElwXHdevWBSJds2ZNgT3pC9QHTuDh1QZ+7PP2krThEy9w8H7tARv24JMkJl4t4ABnvD1wjH1wztuX2awEiIT19fWB0FA4utra2rCdmQU8UXzhOfBnBuQgkN7e3hI+YRvcyswPOAv5ix7BsS1IawHaFqQ4YiDKAAkwygadJ84ACTBxyqlglAESYJQNOk+cgQIBJl6dClY8AyTAipdAugSQANPlv+KrkwArXgLpEkACTJf/iq/+fwAAAP//F98olAAAAAZJREFUAwCdDunLcNwsgAAAAABJRU5ErkJggg==</thumbnail><scenes select="1"><scene name="nobs"><notes></notes><palette><category name="magic" color="94,20,255,1"/><category name="velocity" color="0,116,143,1"/><category name="Avi&apos;s" color="253,252,5,1"/><category name="error" color="255,56,15,1"/></palette><hidden></hidden><headers></headers><code></code><blocks><block-definition s="listify %&apos;jsonString&apos;" type="reporter" category="operators"><header></header><code></code><translations>pt:os dados JSON _ em formato de lista&#xD;</translations><inputs><input type="%mlt"></input></inputs><script><block s="doReport"><block s="reportTextSplit"><block var="jsonString"/><l><option>json</option></l></block></block></script></block-definition><block-definition s="value at key %&apos;key&apos; of %&apos;lst&apos;" type="reporter" category="operators"><header></header><code></code><translations>pt:o valor com chave _ em _&#xD;</translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doForEach"><l>each item</l><block var="lst"/><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="each item"/></block><block var="key"/></list></block><script><block s="doReport"><block s="reportListItem"><l>2</l><block var="each item"/></block></block></script><list></list></block></script></block></script></block><block s="doReport"><l></l></block></script></block-definition><block-definition s="%&apos;method&apos; url: %&apos;url&apos; send: %&apos;payload&apos; headers: %&apos;headers&apos;" type="reporter" category="magic" helper="true"><header></header><code></code><translations>pt:a resposta a _ de _ enviando _ e cabeçalhos _&#xD;</translations><inputs><input type="%s" readonly="true">GET<options>GET&#xD;POST&#xD;PUT&#xD;DELETE</options></input><input type="%s">https://snap.startr.cloud</input><input type="%s"></input><input type="%mult%l" readonly="true"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>xhr_request(mth, url, dta, hdrs)</l><list><block var="method"/><block var="url"/><block var="payload"/><block var="headers"/></list></block></block></script></block-definition><block-definition s="key: %&apos;key&apos; value: %&apos;value&apos;" type="reporter" category="operators"><header></header><code></code><translations>pt:um par (chave: _ , valor: _ )&#xD;</translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block var="key"/><block var="value"/></list></block></block></script></block-definition><block-definition s="current location" type="reporter" category="sensing"><comment x="0" y="0" w="200" collapsed="false">Reports a three-item list containing the latitude and longitude of the user, and the precision of the measurements.  Works only if the user allows snap.berkeley.edu access to location data.  Some browsers also require an HTTPS connection to Snap!.</comment><header></header><code></code><translations>pt:a localização actual do dispositivo&#xD;</translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>callback</l></list></block><block s="doSetVar"><l>callback</l><block s="reportApplyExtension"><l>geo_location(acc?)</l><list><block s="reportBoolean"><l><bool>true</bool></l></block></list></block></block><block s="doWaitUntil"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="evaluate"><block var="callback"/><list></list></block></block><l>3</l></list></block></block><block s="doReport"><block s="evaluate"><block var="callback"/><list></list></block></block></script></block-definition><block-definition s="binary data from %&apos;url&apos; type %&apos;idl&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s" readonly="true" initial="1">octet<options>byte&#xD;octet&#xD;short&#xD;unsigned short&#xD;long&#xD;unsigned long&#xD;unrestricted float&#xD;unrestricted double&#xD;bigint</options></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>xhr_binary(url, webIDL_type)</l><list><block var="url"/><block var="idl"/></list></block></block></script></block-definition><block-definition s="$verticalEllipsis draw nobs %&apos;list&apos; max %&apos;valu&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></input><input type="%n" initial="1"></input></inputs><script><block s="doWarp"><script><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="list"/></block><script><block s="doDeclareVariables"><list><l>v</l></list></block><block s="doGotoObject"><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="i"/><block var="list"/></block></block></block><block s="setHeading"><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="i"/><block var="list"/></block></block></block><block s="doSetVar"><l>v</l><block s="reportRound"><block s="reportQuotient"><block s="direction"></block><block s="reportQuotient"><l>360</l><block var="valu"/></block></block></block></block><block s="setColor"><color>30,30,30,1</color></block><block s="setSize"><l>50</l></block><block s="down"></block><block s="forward"><l>0</l></block><block s="up"></block><block s="setColor"><color>255,255,255,1</color></block><block s="forward"><l>15</l></block><block s="setSize"><l>5</l></block><block s="down"></block><block s="forward"><l>5</l></block><block s="up"></block><block s="doGotoObject"><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="i"/><block var="list"/></block></block></block><block s="changeYPosition"><l>-5</l></block><block s="changeXPosition"><block s="reportQuotient"><block s="reportTextAttribute"><l><option>length</option></l><block var="v"/></block><l>2</l></block></block><block s="changeXPosition"><block s="reportVariadicProduct"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="v"/></block><l>-4</l></list></block></block><block s="setHeading"><l>90</l></block><block s="write"><block var="v"/><l>12</l></block></script></block></script></block></script></block-definition><block-definition s="is magic on?" type="reporter" category="magic"><comment x="0" y="0" w="90" collapsed="false">is Magic on&#xD;will check is JavaScript is enabled, if it isn&apos;t it will explain how to turn it on</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportIfElse"><custom-block s="JavaScript enabled?"></custom-block><custom-block s="join %mult%mlt"><list><l>You have Magic!</l></list></custom-block><custom-block s="join %mult%mlt"><list><l>Your magic is off&#xD;&#xD;To turn it on ,click on the gear in the top left&#xD;then click "JavaScript extensions" &#xD;finally check again if you have magic.</l></list></custom-block></block></block></script></block-definition><block-definition s="$verticalEllipsis hide mouse" type="command" category="magic" helper="true" space="true"><comment x="0" y="0" w="90" collapsed="false">hide mouse&#xD;will well hide your mouse, to gain your mouse back use the show mouse block</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>html</l></list><l>document.head.innerHTML +=&#xD;	html;</l></block><list><l>&lt;style id="canvas-style"&gt;canvas {cursor: none;}&lt;/style&gt;</l></list></block></script></block-definition><block-definition s="$verticalEllipsis show mouse" type="command" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">show Mouse&#xD;will show the mouse if it was hidden, by using the hide mouse block</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIf"><custom-block s="is mouse hidden"></custom-block><script><block s="doRun"><block s="reportJSFunction"><list><l>id</l></list><l>document.getElementById(id).remove()</l></block><list><l>canvas-style</l></list></block></script><list></list></block></script></block-definition><block-definition s="is mouse hidden" type="predicate" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">is mouse hidden&#xD;will report if the mouse is hidden or not</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>id</l></list><l>return !!(document.getElementById(id))</l></block><list><l>canvas-style</l></list></block></block></script></block-definition><block-definition s="join %&apos;t&apos;" type="reporter" category="magic" helper="true" space="true"><comment x="0" y="0" w="209.13761393229174" collapsed="false">&quot;magic&quot; join&#xD;may seem like the regular join but it actuly has multi-line(multi-line means if you hit enter it ads a new line)</comment><header></header><code></code><translations></translations><inputs><input type="%mult%mlt" initial="1"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><block var="t"/></list></block></block></script></block-definition><block-definition s="$verticalEllipsis repeat for %&apos;#&apos; secs %&apos;code&apos;" type="command" category="magic" helper="true"><comment x="0" y="0" w="125.42256673177083" collapsed="false">repeat for n seconds&#xD;will repeat the code you put into the &quot;C&quot; slot for n seconds</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="fork"><block s="reifyScript"><script><block s="doWait"><block var="#"/></block><block s="doSetVar"><l>a</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><list></list></block><block s="doUntil"><block var="a"/><script><block s="doRun"><block var="code"/><list></list></block></script></block></script></block-definition><block-definition s="$verticalEllipsis pen costume" type="command" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">pen costume&#xD;will it&apos;s a pen trails and add them into the costumes</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doAddToList"><block s="reportPenTrailsAsCostume"></block><block s="reportGet"><l><option>costumes</option></l></block></block><block s="doSwitchToCostume"><block s="reportListItem"><l><option>last</option></l><block s="reportGet"><l><option>costumes</option></l></block></block></block></script></block-definition><block-definition s="is %&apos;i&apos; a %&apos;tipe&apos; ?" type="predicate" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">is _ a _ ?&#xD;Has a long list of functions inside of it that will output a Boolean whether or not the thing is or is not whatever you choose on the list</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s" readonly="true"><options>prime&#xD;evan number&#xD;number&#xD;text &#xD;boolean&#xD;list&#xD;sprite&#xD;stage&#xD;costume&#xD;sound&#xD;command&#xD;reporter&#xD;agent&#xD;script</options></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="tipe"/><l>evan number</l></list></block><script><block s="doReport"><custom-block s="is %n divisible by %n"><block var="i"/><l></l></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="tipe"/><l>prime</l></list></block><script><block s="doReport"><custom-block s="is %n prime"><block var="i"/></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="tipe"/><l>number</l></list></block><script><block s="doReport"><block s="reportIsA"><block var="i"/><l><option>number</option></l></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="tipe"/><l>text</l></list></block><script><block s="doReport"><block s="reportIsA"><block var="i"/><l><option>text</option></l></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="tipe"/><l>boolean</l></list></block><script><block s="doReport"><block s="reportIsA"><block var="i"/><l><option>Boolean</option></l></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="tipe"/><l>list</l></list></block><script><block s="doReport"><block s="reportIsA"><block var="i"/><l><option>list</option></l></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="tipe"/><l>sprite</l></list></block><script><block s="doReport"><block s="reportIsA"><block var="i"/><l><option>sprite</option></l></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="tipe"/><l>stage</l></list></block><script><block s="doReport"><block s="reportIsA"><block var="i"/><l><option>stage</option></l></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="tipe"/><l>costume</l></list></block><script><block s="doReport"><block s="reportIsA"><block var="i"/><l><option>costume</option></l></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="tipe"/><l>sound</l></list></block><script><block s="doReport"><block s="reportIsA"><block var="i"/><l><option>sound</option></l></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="tipe"/><l>command</l></list></block><script><block s="doReport"><block s="reportIsA"><block var="i"/><l><option>command</option></l></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="tipe"/><l>reporter</l></list></block><script><block s="doReport"><block s="reportIsA"><block var="i"/><l><option>reporter</option></l></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="tipe"/><l>predicate</l></list></block><script><block s="doReport"><block s="reportIsA"><block var="i"/><l><option>predicate</option></l></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="tipe"/><l>agent</l></list></block><script><block s="doReport"><block s="reportIsA"><block var="i"/><l><option>agent</option></l></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="tipe"/><l>script</l></list></block><script><block s="doReport"><block s="reportIsA"><block var="i"/><l><option>script</option></l></block></block></script><list></list></block><block s="doReport"><l>I do not know</l></block></script></block-definition><block-definition s="%&apos;# 1&apos; in base %&apos;# 2&apos;" type="reporter" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">In base&#xD; will the base of whatever the second number is such as 10 in base 10 is equal to 10 but 10 in base 9 is equal to 11</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">10</input></inputs><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="# 2"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="# 2"/><l>37</l></list></block></list></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>n</l><l>base</l></list><l>return(n.toString(base))</l></block><list><block var="# 1"/><block var="# 2"/></list></block></block></script><list><block s="reportBoolean"><l><bool>true</bool></l></block><script><block s="doReport"><block s="reportJoinWords"><list><l>min 2 max 36.</l><block var="# 2"/><l>is to </l><block s="reportIfElse"><block s="reportVariadicGreaterThan"><list><block var="# 2"/><l>36</l></list></block><l>big</l><l>small</l></block></list></block></block></script></list></block></script></block-definition><block-definition s="function ( %&apos;1&apos; %&apos;c&apos; %&apos;2&apos; )" type="reporter" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">function ( _ _ _ )&#xD;max similar to &quot;is _ a _ ?&quot; except for it has three input slots and it doesn&apos;t report a Boolean instead it applies one to the other input using the middle input as the function</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s" readonly="true"><options>+&#xD;-&#xD;̣×&#xD;/&#xD;^&#xD;mod&#xD;min&#xD;max&#xD;round by&#xD;random value to&#xD;&lt;&#xD;=&#xD;&gt;&#xD;and&#xD;or&#xD;xor&#xD;split by&#xD;is a&#xD;in base</options></input><input type="%s"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="c"/><l>+</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block var="1"/><block var="2"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="c"/><l>-</l></list></block><script><block s="doReport"><block s="reportDifference"><block var="1"/><block var="2"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="c"/><l>×</l></list></block><script><block s="doReport"><block s="reportVariadicProduct"><list><block var="1"/><block var="2"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="c"/><l>/</l></list></block><script><block s="doReport"><block s="reportQuotient"><block var="1"/><block var="2"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="c"/><l>^</l></list></block><script><block s="doReport"><block s="reportPower"><block var="1"/><block var="2"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="c"/><l>mod</l></list></block><script><block s="doReport"><block s="reportModulus"><block var="1"/><block var="2"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="c"/><l>min</l></list></block><script><block s="doReport"><block s="reportVariadicMin"><list><block var="1"/><block var="2"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="c"/><l>max</l></list></block><script><block s="doReport"><block s="reportVariadicMax"><list><block var="1"/><block var="2"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="c"/><l>round by</l></list></block><script><block s="doReport"><block s="reportVariadicProduct"><list><block s="reportRound"><block s="reportQuotient"><block var="1"/><block var="2"/></block></block><block var="2"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="c"/><l>&lt;</l></list></block><script><block s="doReport"><block s="reportVariadicLessThan"><list><block var="1"/><block var="2"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="c"/><l>=</l></list></block><script><block s="doReport"><block s="reportVariadicEquals"><list><block var="1"/><block var="2"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="c"/><l>&gt;</l></list></block><script><block s="doReport"><block s="reportVariadicGreaterThan"><list><block var="1"/><block var="2"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="c"/><l>and</l></list></block><script><block s="doReport"><block s="reportVariadicAnd"><list><block var="1"/><block var="2"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="c"/><l>or</l></list></block><script><block s="doReport"><block s="reportVariadicOr"><list><block var="1"/><block var="2"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="c"/><l>xor</l></list></block><script><block s="doReport"><block s="reportVariadicAnd"><list><block s="reportVariadicOr"><list><block var="1"/><block var="2"/></list></block><block s="reportNot"><block s="reportVariadicAnd"><list><block var="1"/><block var="2"/></list></block></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="c"/><l>split by</l></list></block><script><block s="doReport"><block s="reportTextSplit"><block var="1"/><block var="2"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="c"/><l>is a</l></list></block><script><block s="doReport"><custom-block s="is %s a %s ?"><block var="1"/><block var="2"/></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="c"/><l>in base</l></list></block><script><block s="doReport"><custom-block s="%n in base %n"><block var="1"/><block var="2"/></custom-block></block></script><list></list></block><block s="doReport"><l></l></block></script></block-definition><block-definition s="$verticalEllipsis link to %&apos;page&apos;" type="command" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">link&#xD;will send the user( with their permission) to whatever site you choose</comment><header></header><code></code><translations></translations><inputs><input type="%txt">https://en.wikipedia.org/wiki/%22Hello,_World!%22_program</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>url</l></list><l>window.open(url);</l></block><list><block var="page"/></list></block></script></block-definition><block-definition s="$verticalEllipsis hide mouse %&apos;t/f&apos;" type="command" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">hide mouse bool&#xD;will hide the mouse if giving a true and show the most if given a false</comment><header></header><code></code><translations></translations><inputs><input type="%b"></input></inputs><script><block s="doIfElse"><block var="t/f"/><script><custom-block s="$verticalEllipsis hide mouse"></custom-block></script><script><custom-block s="$verticalEllipsis show mouse"></custom-block></script></block></script></block-definition><block-definition s="$verticalEllipsis export costume %&apos;costume&apos;" type="command" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">export costume&#xD; will export the costume which you provided the name of</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>§_costumesMenu</options></input></inputs><script><block s="doSetVar"><l>costume</l><block s="reportIfElse"><block s="reportIsA"><block var="costume"/><l><option>costume</option></l></block><block var="costume"/><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportGetImageAttribute"><l><option>name</option></l><l></l></block><block var="costume"/></list></block></autolambda><list></list></block><block s="reportGet"><l><option>costumes</option></l></block></block></block></block><block s="doIf"><block s="reportIsA"><block var="costume"/><l><option>costume</option></l></block><script><block s="doApplyExtension"><l>cst_export(cst, name)</l><list><block var="costume"/><l></l></list></block></script><list></list></block></script></block-definition><block-definition s="$verticalEllipsis set name of costume %&apos;costume&apos; to %&apos;name&apos;" type="command" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">set the name of costume&#xD; will set the name of the chosen costume to what you choose&#xD;</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>§_costumesMenu</options></input><input type="%s">thing</input></inputs><script><block s="doSetVar"><l>costume</l><block s="reportIfElse"><block s="reportIsA"><block var="costume"/><l><option>costume</option></l></block><block var="costume"/><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportGetImageAttribute"><l><option>name</option></l><l></l></block><block var="costume"/></list></block></autolambda><list></list></block><block s="reportGet"><l><option>costumes</option></l></block></block></block></block><block s="doIf"><block s="reportIsA"><block var="costume"/><l><option>costume</option></l></block><script><block s="doApplyExtension"><l>obj_name(obj, name)</l><list><block var="costume"/><block var="name"/></list></block></script><list></list></block></script></block-definition><block-definition s="$verticalEllipsis delete var %&apos;_names&apos;" type="command" category="variables" helper="true"><comment x="0" y="0" w="217" collapsed="false">This block deletes all the variables with the names given (inside input list).&#xD;&#xD;Each name will make only one variable deletion, and this will be the variable found following the scope order: &apos;script&apos; -&gt; &apos;sprite&apos; -&gt; &apos;global&apos;.&#xD;&#xD;If we have a &quot;testing&quot; sprite variable and also a &quot;testing&quot; global one, deleting &quot;testing&quot; will delete only the sprite one (Yes! we can also do &quot;delete var (testing, testing)&quot; to delete both.&#xD;&#xD;If one variable does not exists (in any scope) an error happens, stopping block action in that point. You can check it before with the &quot;does var (name) exists?&quot;block. </comment><header></header><code></code><translations>pt:remove as variáveis _&#xD;ca:esborra les variables _&#xD;es:borrar variables _&#xD;de:löschen var _&#xD;</translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doWarp"><script><block s="doForEach"><l>_item</l><block var="_names"/><script><block s="doApplyExtension"><l>err_ignore</l><list><custom-block s="var %s"><block var="_item"/></custom-block></list></block><block s="doApplyExtension"><l>var_delete(name)</l><list><block var="_item"/></list></block></script></block></script></block></script></block-definition><block-definition s="$verticalEllipsis set var %&apos;_name&apos; to %&apos;_value&apos;" type="command" category="variables" helper="true"><comment x="0" y="0" w="240.4931640625" collapsed="false">This block sets the given value (last input) to the variable named with the name givent (var input).&#xD;&#xD;It looks for that variable following the scope order &apos;script&apos; -&gt; &apos;sprite&apos; -&gt; &apos;global&apos; (the first match it finds).&#xD;&#xD;If that variable does not exist (in any scope) an error happens, stopping their script. You can check it before using the &quot;does var (name) exists?&quot; block. </comment><header></header><code></code><translations>ca:assigna a _ el valor _&#xD;es:asignar a _ el valor _&#xD;pt:altera _ para _&#xD;de:setze var _ auf _&#xD;</translations><inputs><input type="%s"><options>§_getVarNamesDict</options></input><input type="%s"></input></inputs><script><block s="doApplyExtension"><l>var_set(name, val)</l><list><block var="_name"/><block var="_value"/></list></block></script></block-definition><block-definition s="var %&apos;_name&apos;" type="reporter" category="variables" helper="true"><comment x="0" y="0" w="178.00000000000003" collapsed="false">This block reports the value of the variable with the name given.&#xD;&#xD;It looks for that variable following the scope order &apos;script&apos; -&gt; &apos;sprite&apos; -&gt; &apos;global&apos; (the first match it finds).&#xD;&#xD;If that variable does not exist (in any scope) an error happens, stopping their script. You can check it before using the &quot;does var (name) exists?&quot; block. </comment><header></header><code></code><translations>pt:o valor de _&#xD;</translations><inputs><input type="%s"><options>§_getVarNamesDict</options></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>var_get(name)</l><list><block var="_name"/></list></block></block></script></block-definition><block-definition s="$verticalEllipsis show var %&apos;_name&apos;" type="command" category="variables" helper="true"><comment x="0" y="0" w="181" collapsed="false">This block turns on (show) the watcher view on stage (if it was not already activated) of the variable with the given name (slot input).&#xD;&#xD;It can only access to the closest variable scope (if there different variables with the same name in different scopes) following the order &apos;script&apos; -&gt; &apos;sprite&apos; -&gt; &apos;global&apos;.&#xD;&#xD;No errors if that variable does not exist.</comment><header></header><code></code><translations>ca:mostra la variable _&#xD;es:mostrar variable _&#xD;pt:mostra a variável _&#xD;de:zeige var _&#xD;</translations><inputs><input type="%s"><options>§_getVarNamesDict</options></input></inputs><script><block s="doApplyExtension"><l>var_show(name)</l><list><block var="_name"/></list></block></script></block-definition><block-definition s="$verticalEllipsis hide var %&apos;_name&apos;" type="command" category="variables" helper="true"><comment x="0" y="0" w="181" collapsed="false">This block turns off (hide) the watcher view on stage (if it was not already activated) of the variable with the given name (slot input).&#xD;&#xD;It can only access to the closest variable scope (if there different variables with the same name in different scopes) following the order &apos;script&apos; -&gt; &apos;sprite&apos; -&gt; &apos;global&apos;.&#xD;&#xD;No errors if that variable does not exist.</comment><header></header><code></code><translations>ca:amaga la variable _&#xD;es:esconder variable _&#xD;pt:esconde a variável _&#xD;de:verstecke var _&#xD;</translations><inputs><input type="%s"><options>§_getVarNamesDict</options></input></inputs><script><block s="doApplyExtension"><l>var_hide(name)</l><list><block var="_name"/></list></block></script></block-definition><block-definition s="$verticalEllipsis create %&apos;_scope&apos; var %&apos;_names&apos;" type="command" category="variables" helper="true"><comment x="0" y="0" w="146" collapsed="false">This block creates  new variables on the selected scope: global (for all sprites), sprite (for this sprite only) or script (only for that blocks stack) with the names given (in &apos;names&apos; list).&#xD;&#xD;If there is already a variable with that name in that scope, it does nothing: no errors and no overwrites.</comment><header></header><code></code><translations>pt:cria as variáveis _ _&#xD;ca:crea les _ variables _&#xD;es:crear las _ variables _&#xD;de:erstellen _ var _&#xD;</translations><inputs><input type="%s" readonly="true">global<options>global&#xD;sprite&#xD;script</options></input><input type="%mult%txt"></input></inputs><script><block s="doWarp"><script><block s="doForEach"><l>_item</l><block var="_names"/><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><block var="_scope"/><block var="_item"/></list></block></script></block></script></block></script></block-definition><block-definition s="does var %&apos;_name&apos; exist?" type="predicate" category="variables" helper="true"><comment x="0" y="0" w="146" collapsed="false">This block reports &quot;true&quot; if there is a variable with this given name (input slot) in that context.&#xD;&#xD;It can be a global, sprite or script variable.&#xD;&#xD;Otherwise it reports &quot;false&quot;.</comment><header></header><code></code><translations>pt:a variável _ existe&#xD;ca:existeix la variable _ ?&#xD;es:existe la variable _ ?&#xD;de:existiert var _ ?&#xD;</translations><inputs><input type="%s"></input></inputs><script><block s="doApplyExtension"><l>err_try(cmd, catch, err)</l><list><block s="reifyScript"><script><block s="doApplyExtension"><l>err_ignore</l><list><block s="reportApplyExtension"><l>var_get(name)</l><list><block var="_name"/></list></block></list></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="reifyScript"><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><l></l></list></block><block s="doApplyExtension"><l>err_reset</l><list></list></block></script></block-definition><block-definition s="%&apos;num&apos; max: %&apos;max&apos; min: %&apos;min&apos;" type="reporter" category="velocity" helper="true" space="true"><comment x="0" y="0" w="90" collapsed="false">Max min takes a number and makes shere it is not to big and not to small.</comment><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">5</input><input type="%n" initial="1">10</input><input type="%n" initial="1">1</input></inputs><script><block s="doReport"><block s="reportVariadicMax"><list><block s="reportVariadicMin"><list><block var="num"/><block var="max"/></list></block><block var="min"/></list></block></block></script></block-definition><block-definition s="velocity from %&apos;here&apos; to %&apos;there&apos; , edge %&apos;edge&apos;" type="reporter" category="velocity" helper="true"><comment x="0" y="0" w="147.99999999999991" collapsed="false">The first block in velocity blocks. Velocity calculates the velocity between to positions to get from one too the other. Also it bounces of edges.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" initial="1"><options>§_destinationsMenu</options></input><input type="%s" readonly="true" initial="1"><options>§_destinationsMenu</options></input><input type="%l" initial="1"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportMonadic"><l><option>abs</option></l><block s="reportListItem"><l>1</l><block var="here"/></block></block><block s="reportListItem"><l>1</l><block var="edge"/></block></list></block><block s="reportMonadic"><l><option>neg</option></l><block s="reportListItem"><l>1</l><block s="reportDifference"><block var="here"/><block var="there"/></block></block></block><block s="reportListItem"><l>1</l><block s="reportDifference"><block var="here"/><block var="there"/></block></block></block><block s="reportIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportMonadic"><l><option>abs</option></l><block s="reportListItem"><l>2</l><block var="here"/></block></block><block s="reportListItem"><l>2</l><block var="edge"/></block></list></block><block s="reportMonadic"><l><option>neg</option></l><block s="reportListItem"><l>2</l><block s="reportDifference"><block var="here"/><block var="there"/></block></block></block><block s="reportListItem"><l>2</l><block s="reportDifference"><block var="here"/><block var="there"/></block></block></block></list></block></block></script></block-definition><block-definition s="$velocity-2 $pack-2" type="reporter" category="velocity"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportIfElse"><custom-block s="any magic?"></custom-block><custom-block s="hold %mult%repRing"><list><block s="reifyReporter"><autolambda><custom-block s="velocity from %s to %s , edge %l"><l></l><l></l><l/></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="%n max: %n min: %n"><l>5</l><l>10</l><l>1</l></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="averge %mult%n"><list><l></l></list></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="matrix of %n to %n"><l>-20</l><l>20</l></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="position x %n y %n"><l>0</l><l>0</l></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="index list of %s in %l"><l>thing</l><l/></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="# %n"><l></l></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="all but item %n in %l"><l>1</l><l/></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="// %txt %s"><l>comment</l><l></l></custom-block></autolambda><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis // %s"><l>comment</l></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis // %txt %cs"><l>comment</l><script></script></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis edge x %n y %n"><l>480</l><l>360</l></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis for %upvar = %upvar in %l %ca"><l>i</l><l>item</l><l/><script></script></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis and"></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis then"></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis gravity %l"><l/></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis express %s"><l></l></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis vacume force %n radius %n at %s"><l>5</l><l>100</l><l></l></custom-block></script><list></list></block></list></custom-block><custom-block s="is magic on?"></custom-block></block></block></script></block-definition><block-definition s="averge %&apos;num&apos;" type="reporter" category="velocity" helper="true"><comment x="0" y="0" w="90" collapsed="false">Average averages the numbers in a list.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%n" initial="1"></input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicSum"><block var="num"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="num"/></block></block></block></script></block-definition><block-definition s="matrix of %&apos;num&apos; to %&apos;other num&apos;" type="reporter" category="velocity" helper="true"><comment x="0" y="0" w="90" collapsed="false">Matrix makes a squar of positions.</comment><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">-20</input><input type="%n" initial="1">20</input></inputs><script><block s="doReport"><block s="reportCrossproduct"><list><block s="reportNumbers"><block var="num"/><block var="other num"/></block><block s="reportNumbers"><block var="num"/><block var="other num"/></block></list></block></block></script></block-definition><block-definition s="position x %&apos;num&apos; y %&apos;other_num&apos;" type="reporter" category="velocity" helper="true"><comment x="0" y="0" w="90" collapsed="false">Position x y gives you the position you gave it.</comment><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">0</input><input type="%n" initial="1">0</input></inputs><script><block s="doReport"><block s="reportNewList"><list><block var="num"/><block var="other_num"/></list></block></block></script></block-definition><block-definition s="index list of %&apos;thing&apos; in %&apos;list&apos;" type="reporter" category="velocity" helper="true"><comment x="0" y="0" w="90" collapsed="false">Gives you a list of indexes for the item you are looking for.</comment><header></header><code></code><translations></translations><inputs><input type="%s" initial="1">thing</input><input type="%l" initial="1"></input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>a</l><block s="reportNewList"><list></list></block></block><custom-block s="$verticalEllipsis for %upvar = %upvar in %l %ca"><l>i</l><l>item</l><block var="list"/><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="item"/><block var="thing"/></list></block><script><block s="doAddToList"><block var="i"/><block var="a"/></block></script><list></list></block></script></custom-block></script></block><block s="doReport"><block var="a"/></block></script></block-definition><block-definition s="# %&apos;num&apos;" type="reporter" category="velocity" helper="true"><comment x="0" y="0" w="90" collapsed="false"># gives you a number that you gave it.</comment><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"></input></inputs><script><block s="doReport"><block var="num"/></block></script></block-definition><block-definition s="all but item %&apos;num&apos; in %&apos;list&apos;" type="reporter" category="velocity" helper="true"><comment x="0" y="0" w="129.33333333333334" collapsed="false">All but item num in list gives you a list with every thing except for the number you gave it.</comment><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">1</input><input type="%l" initial="1"></input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>a</l><block s="reportNewList"><list></list></block></block><custom-block s="$verticalEllipsis for %upvar = %upvar in %l %ca"><l>i</l><l>item</l><block var="list"/><script><block s="doIf"><block s="reportVariadicNotEquals"><list><block var="i"/><block var="num"/></list></block><script><block s="doAddToList"><block var="item"/><block var="a"/></block></script><list></list></block></script></custom-block></script></block><block s="doReport"><block var="a"/></block></script></block-definition><block-definition s="// %&apos;text&apos; %&apos;thing&apos;" type="reporter" category="velocity" helper="true" space="true"><comment x="0" y="0" w="90" collapsed="false">Comment reporter holds a comment and report.</comment><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1">comment</input><input type="%s" initial="1"></input></inputs><script><block s="doReport"><block var="thing"/></block></script></block-definition><block-definition s="$verticalEllipsis // %&apos;coment&apos;" type="command" category="velocity" helper="true"><comment x="0" y="0" w="90" collapsed="false">Comment block hold a comment.</comment><header></header><code></code><translations></translations><inputs><input type="%s" initial="1">comment</input></inputs></block-definition><block-definition s="$verticalEllipsis // %&apos;comment&apos; %&apos;code&apos;" type="command" category="velocity" helper="true"><comment x="0" y="0" w="90" collapsed="false">Comment C-block hold a comment and runs the code in it.</comment><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1">comment</input><input type="%cs" initial="1"></input></inputs><script><block s="doRun"><block var="code"/><list></list></block></script></block-definition><block-definition s="$verticalEllipsis edge x %&apos;x&apos; y %&apos;y&apos;" type="command" category="velocity" helper="true"><comment x="0" y="0" w="90" collapsed="false">Edge is a if on edge,bounce that doesn&apos;t add velocity.</comment><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">480</input><input type="%n" initial="1">360</input></inputs><script><block s="doGotoObject"><block s="reportNewList"><list><custom-block s="%n max: %n min: %n"><block s="xPosition"></block><block s="reportQuotient"><block var="x"/><l>2</l></block><block s="reportMonadic"><l><option>neg</option></l><block s="reportQuotient"><block var="x"/><l>2</l></block></block></custom-block><custom-block s="%n max: %n min: %n"><block s="yPosition"></block><block s="reportQuotient"><block var="y"/><l>2</l></block><block s="reportMonadic"><l><option>neg</option></l><block s="reportQuotient"><block var="y"/><l>2</l></block></block></custom-block></list></block></block></script><scripts><script x="152.33333333333334" y="150.79999999999998"><block s="doGotoObject"><block s="reportNewList"><list><custom-block s="%n max: %n min: %n"><block s="xPosition"></block><block s="reportDifference"><l>240</l><block s="reportQuotient"><l></l><l>2</l></block></block><block s="reportVariadicSum"><list><block s="reportMonadic"><l><option>neg</option></l><l>240</l></block><block s="reportQuotient"><l></l><l>2</l></block></list></block></custom-block><custom-block s="%n max: %n min: %n"><block s="yPosition"></block><block s="reportDifference"><l>180</l><block s="reportQuotient"><l></l><l>2</l></block></block><block s="reportVariadicSum"><list><block s="reportMonadic"><l><option>neg</option></l><l>180</l></block><block s="reportQuotient"><l></l><l>2</l></block></list></block></custom-block></list></block></block></script></scripts></block-definition><block-definition s="$verticalEllipsis for %&apos;i&apos; = %&apos;item&apos; in %&apos;list&apos; %&apos;code&apos;" type="command" category="velocity" helper="true" space="true"><comment x="0" y="0" w="90" collapsed="false">For i = item in list is like a for i = 1 to 10 but mixed with a  for each item in list.</comment><header></header><code></code><translations></translations><inputs><input type="%upvar" initial="1">i</input><input type="%upvar" initial="1">item</input><input type="%l" initial="1"></input><input type="%ca" initial="1"></input></inputs><script><block s="doFor"><l>j</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="list"/></block><script><block s="doSetVar"><l>i</l><block var="j"/></block><block s="doSetVar"><l>item</l><block s="reportListItem"><block var="j"/><block var="list"/></block></block><block s="doRun"><block var="code"/><list></list></block></script></block></script></block-definition><block-definition s="$verticalEllipsis and" type="command" category="velocity" helper="true" space="true"><comment x="0" y="0" w="90" collapsed="false">And does not do anything it just makes the code more clear.</comment><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="$verticalEllipsis then" type="command" category="velocity" helper="true"><comment x="0" y="0" w="90" collapsed="false">Then does not do anything it just makes the code more clear.</comment><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="$verticalEllipsis gravity %&apos;list&apos;" type="command" category="velocity" helper="true" space="true"><comment x="0" y="0" w="90" collapsed="false">Gravity pulls you in a direction by a setron amount.</comment><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"><options>§_destinationsMenu</options></input></inputs><script><block s="changeXPosition"><block s="reportListItem"><l>1</l><block var="list"/></block></block><block s="changeYPosition"><block s="reportListItem"><l>2</l><block var="list"/></block></block></script></block-definition><block-definition s="$verticalEllipsis express %&apos;the velocity&apos;" type="command" category="velocity" helper="true"><comment x="0" y="0" w="90" collapsed="false">Express goes towards a position.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true" initial="1"><options>§_destinationsMenu</options></input></inputs><script><block s="doFaceTowards"><block s="reportVariadicSum"><list><block s="getPosition"></block><block var="the velocity"/></list></block></block><block s="doGotoObject"><block s="reportVariadicSum"><list><block s="getPosition"></block><block var="the velocity"/></list></block></block></script></block-definition><block-definition s="$verticalEllipsis invert pen down" type="command" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">invert pen down&#xD; will pick the pen up if it is currently down and put the pen down if it is currently up</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><block s="getPenDown"></block><script><block s="up"></block></script><script><block s="down"></block></script></block></script></block-definition><block-definition s="$verticalEllipsis invert hide" type="command" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">invert hide&#xD;will hide the Sprite if it is currently being shown and show the spray if it is currently being hidden</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIfElse"><block s="reportShown"></block><script><block s="hide"></block></script><script><block s="show"></block></script></block></script></block-definition><block-definition s="$verticalEllipsis delete all clones" type="command" category="Avi&apos;s" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doWarp"><script><block s="doForEach"><l>item</l><block s="reportGet"><l><option>children</option></l></block><script><block s="doTellTo"><block var="item"/><block s="reifyScript"><script><block s="removeClone"></block></script><list></list></block><list></list></block></script></block></script></block></script></block-definition><block-definition s="3D to 2D %&apos;x&apos; %&apos;y&apos; %&apos;z&apos; focal length %&apos;focal length&apos;" type="reporter" category="Avi&apos;s" helper="true"><header></header><code></code><translations></translations><inputs><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input><input type="%n">100</input></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="focal length"/><block var="x"/></list></block><block s="reportVariadicSum"><list><block var="focal length"/><block var="z"/></list></block></block><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="focal length"/><block var="y"/></list></block><block s="reportVariadicSum"><list><block var="focal length"/><block var="z"/></list></block></block></list></block></block></script></block-definition><block-definition s="is %&apos;NUM&apos; prime" type="predicate" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">is prime&#xD;will report a Boolean for whether or not the inputted number is a prime ( a prime number is a number that any other number can multiply into)</comment><header></header><code></code><translations></translations><inputs><input type="%n">0</input></inputs><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicLessThan"><list><block var="NUM"/><l>3</l></list></block><block s="reportVariadicGreaterThan"><list><block var="NUM"/><l>0</l></list></block></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doFor"><l>i</l><l>2</l><block s="reportMonadic"><l><option>sqrt</option></l><block var="NUM"/></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="NUM"/><block var="i"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block></script></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block-definition><block-definition s="is %&apos;NUM&apos; divisible by %&apos;N&apos;" type="predicate" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">is divisible by will check if the first number is divisible by the second number (what I mean by that is it checks it if there&apos;s no remainder)</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n" initial="1">2</input></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="NUM"/><block var="N"/></block><l>0</l></list></block></block></script></block-definition><block-definition s="backwords %&apos;STRING&apos;" type="reporter" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">backwords word&#xD;will flip the word</comment><header></header><code></code><translations></translations><inputs><input type="%s">word</input></inputs><script><block s="doReport"><block s="reportJoinWords"><block s="reportListAttribute"><l><option>reverse</option></l><block s="reportTextSplit"><block var="STRING"/><l><option>letter</option></l></block></block></block></block></script></block-definition><block-definition s="$XOR-0.0001 %&apos;INPUT&apos;" type="predicate" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">xor&#xD;is a xor gate( that means that it&apos;s a exclusive order it only does one or the other)</comment><header></header><code></code><translations></translations><inputs><input type="%mult%b" separator="xor" initial="2" min="2"></input></inputs><script><block s="doReport"><block s="reportVariadicNotEquals"><block var="INPUT"/></block></block></script></block-definition><block-definition s="direction from x %&apos;x1&apos; y %&apos;y1&apos; to x %&apos;x2&apos; y %&apos;y2&apos;" type="reporter" category="Avi&apos;s" helper="true"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doIf"><block s="reportVariadicLessThan"><list><block var="y2"/><block var="y1"/></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportMonadic"><l><option>atan</option></l><block s="reportQuotient"><block s="reportDifference"><block var="x2"/><block var="x1"/></block><block s="reportDifference"><block var="y2"/><block var="y1"/></block></block></block><l>180</l></list></block></block></script><list><l><bool>true</bool></l><script><block s="doReport"><block s="reportMonadic"><l><option>atan</option></l><block s="reportQuotient"><block s="reportDifference"><block var="x2"/><block var="x1"/></block><block s="reportDifference"><block var="y2"/><block var="y1"/></block></block></block></block></script></list></block></script></block-definition><block-definition s="PI" type="reporter" category="Avi&apos;s" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l>3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067982148086513282306647093844609550582231725359408128481117450284102701938521105559644622948954930381964428810975665933446128475648233786783165271201909145648566923460348610454326648213393607260249141273724587006606315588174881520920962829254091715364367892590360011330530548820466521384146951941511609433057270365759591953092186117381932611793105118548074462379962749567351885752724891227938183011949129833673362440656643086021394946395224737190702179860943702770539217176293176752384674818467669405132000568127145263560827785771342757789609173637178721468440901224953430146549585371050792279689258923542019956112129021960864034418159813629774771309960518707211349999998372978049951059731732816096318590202445945534690830264252230825334468503526193118817101000313783875288658753320838814206171776691473035982534904287554687311595628638823537875937519577818577805371712268066130019278766111959092164201989380952572010654858632788659361533818279682303019520353018529689957736225994138912517720190430128481117450284102701938521105559644622948954930381964428810975665933446128475648233786783165271201909145648566923460348610454326648213393607260249141273724587006606315588174881520920962829254091715364367892590360011330530548820466521384146951941511609433057270365759591953092186117381932611793105118548074462379962749567351885752724891227938183011949129833673362440656643086021394946395224737190702179860943702770539217176293176752384674818467669405132000568127145263560827785771342757789609173637178721468440901224953430146549585371050792279689258923542019956112129021960864034418159813629774771309960518707211349999998372978049951059731732816096318590202445945534690830264252230825334468503526193118817101000313783875288658753320838814206171776691473035982534904287554687311595628638823537875937519577818577805371712268066130019278766111959092164201989380952572010654858632788659361533818279682303019520353018529689957736225994138912517720190430128481117450284102701938521105559644622948954930381964428810975665933446128475648233786783165271201909145648566923460348610454326648213393607260249141273724587006606315588174881520920962829254091715364367892590360011330530548820466521384146951941511609433057270365759591953092186117381932611793105118548074462379962749567351885752724891227938183011949129833673362440656643086021394946395224737190702179860943702770539217176293176752384674818467669405132000568127145263560827785771342757789609173637178721468440901224953430146549585371050792279689258923542019956112129021960864034418159813629774771309960518707211349999998372978049951059731732816096318590202445945534690830264252230825334&#xD;</l></block></script><scripts><script x="25.35402488708496" y="93.65737101236978"><custom-block s="join %mult%mlt"><list><l>16tan^−1 (1/5)−4tan^−1 (1/239)</l></list></custom-block></script><script x="257.3493957519531" y="87.35821736653645"><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportPower"><block s="reportMonadic"><l><option>tan</option></l><l>16</l></block><l>-1</l></block><block s="reportQuotient"><l>1</l><l>5</l></block></list></block><block s="reportVariadicProduct"><list><block s="reportPower"><block s="reportMonadic"><l><option>tan</option></l><l>4</l></block><l>-1</l></block><block s="reportQuotient"><l>1</l><l>239</l></block></list></block></block></script></scripts></block-definition><block-definition s="QR code from %&apos;Input&apos;" type="reporter" category="Avi&apos;s" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIfElse"><custom-block s="JavaScript enabled?"></custom-block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>url</l><l>proc</l></list><l>if (!proc.img) {&#xD;  proc.img = new Image();&#xD;  proc.img.src = url;&#xD;  proc.img.onload = function() {&#xD;    proc.img.loaded=true;&#xD;  }&#xD;} else if (proc.img.loaded) {&#xD;  const costume = new Costume(proc.img);&#xD;  proc.img = null;&#xD;  return costume;&#xD;}&#xD;proc.pushContext(&apos;doYield&apos;);&#xD;proc.pushContext();</l></block><list><block s="reportJoinWords"><list><l>http://api.qrserver.com/v1/create-qr-code/?data=</l><block var="Input"/></list></block></list></block></block></script><script><block s="doReport"><block s="reportApplyExtension"><l>cst_load(url)</l><list><block s="reportJoinWords"><list><l>http://api.qrserver.com/v1/create-qr-code/?data=</l><block var="Input"/></list></block></list></block></block></script></block></script></block-definition><block-definition s="rotate %&apos;list&apos; by %&apos;num&apos;" type="reporter" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">rotate list&#xD;will rotate the list by the given value</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%n">0</input></inputs><script><block s="doWarp"><script><block s="doIfElse"><custom-block s="is %n negative"><block var="num"/></custom-block><script><block s="doRepeat"><block s="reportMonadic"><l><option>abs</option></l><block var="num"/></block><script><block s="doInsertInList"><custom-block s="pop item %n of %l"><l>1</l><block var="list"/></custom-block><l><option>last</option></l><block var="list"/></block></script></block></script><script><block s="doRepeat"><block var="num"/><script><block s="doInsertInList"><custom-block s="pop item %n of %l"><l><option>last</option></l><block var="list"/></custom-block><l>1</l><block var="list"/></block></script></block></script></block><block s="doReport"><block var="list"/></block></script></block></script></block-definition><block-definition s="JavaScript enabled?" type="predicate" category="Avi&apos;s" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><custom-block s="$verticalEllipsis safely try %cs then if %upvar %cs"><script><block s="doWarp"><script><block s="doSetVar"><l>a</l><block s="evaluate"><block s="reportJSFunction"><list></list><l>return true;</l></block><list></list></block></block></script></block></script><l>error</l><script><block s="doSetVar"><l>a</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></custom-block><block s="doReport"><block var="a"/></block></script></block-definition><block-definition s="Infinity ∞" type="reporter" category="Avi&apos;s" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportQuotient"><l>1</l><l>0</l></block></block></script></block-definition><block-definition s="$verticalEllipsis set cursor to %&apos;cursor&apos; offset x: %&apos;x&apos; y: %&apos;y&apos;" type="command" category="Avi&apos;s" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s">auto<options>auto&#xD;default&#xD;none&#xD;context-menu&#xD;help&#xD;pointer&#xD;progress&#xD;wait&#xD;cell&#xD;crosshair&#xD;text&#xD;vertical-text&#xD;alias&#xD;copy&#xD;move&#xD;no-drop&#xD;not-allowed&#xD;grab&#xD;grabbing&#xD;e-resize&#xD;n-resize&#xD;ne-resize&#xD;nw-resize&#xD;s-resize&#xD;se-resize&#xD;sw-resize&#xD;w-resize&#xD;ew-resize&#xD;ns-resize&#xD;nesw-resize&#xD;nwse-resize&#xD;col-resize&#xD;row-resize&#xD;all-scroll&#xD;zoom-in&#xD;zoom-out</options></input><input type="%n">0</input><input type="%n">0</input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportIsA"><block var="cursor"/><l><option>text</option></l></block><block s="reportIsA"><block var="cursor"/><l><option>costume</option></l></block></list></block></block><script><custom-block s="$verticalEllipsis error %txt"><block s="reportJoinWords"><list><l>expecting a string or a costume but getting a </l><block s="reportTypeOf"><block var="cursor"/></block></list></block></custom-block></script><list></list></block><block s="doRun"><block s="reportJSFunction"><list><l>cursor</l><l>x</l><l>y</l></list><l>let world = this.parentThatIsA(WorldMorph)&#xD;let cursorStyle = &apos;auto&apos;&#xD;&#xD;if (cursor instanceof SVG_Costume) {&#xD;  cursorStyle = `url(${cursor.contents.src}) ${x} ${y}, auto`&#xD;} else if (cursor instanceof Costume) {&#xD;  cursorStyle = `url(${cursor.contents.toDataURL()}) ${x} ${y}, auto`&#xD;} else {&#xD;  cursorStyle = `${cursor}`&#xD;}&#xD;&#xD;world.worldCanvas.style.cursor = cursorStyle</l></block><list><block var="cursor"/><block var="x"/><block var="y"/></list></block></script></block-definition><block-definition s="$verticalEllipsis error %&apos;msg&apos;" type="command" category="error" helper="true"><comment x="0" y="0" w="268.6666666666667" collapsed="false">Throw an error.&#xD;&#xD;Makes a red halo appear around the script that runs it,&#xD;with the input text shown in a speech balloon next to&#xD;the script, just like any Snap! error.&#xD;&#xD;This is useful to put in the second script of SAFELY TRY&#xD;after some other instructions to undo the partial work of&#xD;the first script.</comment><header></header><code></code><translations>pt:lança o erro _&#xD;pl:błąd _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doApplyExtension"><l>err_error(msg)</l><list><block var="msg"/></list></block></script></block-definition><block-definition s="username" type="reporter" category="Avi&apos;s" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>var ide = world.children[0];&#xD;return ide.cloud.username;</l></block><list></list></block></block></script></block-definition><block-definition s="$verticalEllipsis screenshot" type="command" category="Avi&apos;s" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doRun"><block s="reportJSFunction"><list></list><l>const captureAndSave = async () =&gt; {&#xD;  const canvas = document.createElement("canvas");&#xD;  const context = canvas.getContext("2d");&#xD;  const video = document.createElement("video");&#xD;&#xD;  try {&#xD;    const captureStream = await navigator.mediaDevices.getDisplayMedia();&#xD;    video.srcObject = captureStream;&#xD;    const link = await new Promise(resolve =&gt; {&#xD;      video.onloadedmetadata = () =&gt; {&#xD;        // Wait for 1 second before capturing the screenshot&#xD;        setTimeout(() =&gt; {&#xD;          canvas.width = video.videoWidth;&#xD;          canvas.height = video.videoHeight;&#xD;          context.drawImage(video, 0, 0, video.videoWidth, video.videoHeight);&#xD;          const frame = canvas.toDataURL("image/png");&#xD;&#xD;          // Create a link element to download the image&#xD;          const downloadLink = document.createElement(&apos;a&apos;);&#xD;          downloadLink.href = frame;&#xD;          downloadLink.download = &apos;screenshot.png&apos;;&#xD;          document.body.appendChild(downloadLink);&#xD;          downloadLink.click();&#xD;          document.body.removeChild(downloadLink);&#xD;&#xD;          // Resolve the promise with the link&apos;s href&#xD;          resolve(frame);&#xD;&#xD;          captureStream.getTracks().forEach(track =&gt; track.stop());&#xD;        }, 1000);&#xD;      };&#xD;      video.play();&#xD;    });&#xD;&#xD;    // Return the link instead of logging it&#xD;    return link;&#xD;  } catch (err) {&#xD;    console.error("Error: " + err);&#xD;  }&#xD;};&#xD;&#xD;(async () =&gt; {&#xD;  const link = await captureAndSave();&#xD;  console.log("Screenshot saved:", link);&#xD;})();&#xD;</l></block><list></list></block></script></block-definition><block-definition s="clone ID" type="reporter" category="Avi&apos;s" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportAskFor"><block s="reportGet"><l><option>parent</option></l></block><block s="reifyReporter"><autolambda><block s="reportListIndex"><block var="#1"/><block s="reportGet"><l><option>clones</option></l></block></block></autolambda><list><l>#1</l></list></block><list><block s="reportGet"><l><option>self</option></l></block></list></block></block></script></block-definition><block-definition s="battery %" type="reporter" category="Avi&apos;s" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>accessor</l></list></block><block s="doSetVar"><l>accessor</l><block s="evaluate"><block s="reportJSFunction"><list></list><l>var done = false,&#xD;    value = null&#xD;navigator.getBattery().then((battery) =&gt; {&#xD;    value = battery.level&#xD;    done = true&#xD;  }&#xD;)&#xD;&#xD;return new List([function() {return done}, function() {return value}])</l></block><list></list></block></block><block s="doWaitUntil"><block s="evaluate"><block s="reportListItem"><l>1</l><block var="accessor"/></block><list></list></block></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportRound"><block s="reportVariadicProduct"><list><block s="evaluate"><block s="reportListItem"><l>2</l><block var="accessor"/></block><list></list></block><l>100</l></list></block></block><l>%</l></list></block></block></script></block-definition><block-definition s="Is Charging" type="predicate" category="Avi&apos;s" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>accessor</l></list></block><block s="doSetVar"><l>accessor</l><block s="evaluate"><block s="reportJSFunction"><list></list><l>var done = false,&#xD;    value = null&#xD;navigator.getBattery().then((battery) =&gt; {&#xD;    value = battery.charging&#xD;    done = true&#xD;  }&#xD;)&#xD;&#xD;return new List([function() {return done}, function() {return value}])</l></block><list></list></block></block><block s="doWaitUntil"><block s="evaluate"><block s="reportListItem"><l>1</l><block var="accessor"/></block><list></list></block></block><block s="doReport"><block s="evaluate"><block s="reportListItem"><l>2</l><block var="accessor"/></block><list></list></block></block></script></block-definition><block-definition s="My URL" type="reporter" category="Avi&apos;s" helper="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return window. location. href</l></block><list></list></block></block></script></block-definition><block-definition s="setting %&apos;which&apos;" type="reporter" category="sensing" helper="true"><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;ca:paràmetre _&#xD;pl:ustawienie _&#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([stage.dimensions.x, stage.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="$verticalEllipsis set flag %&apos;which&apos; to %&apos;tf&apos;" type="command" category="sensing" helper="true"><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;ca:fixa el paràmetre _ a _&#xD;pl:ustaw flagę _ na _&#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="$verticalEllipsis set value %&apos;which&apos; to %&apos;value&apos;" type="command" category="sensing" helper="true"><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;ca:fixa el valor de _ a _&#xD;pl:ustaw wartość _ na _&#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="$verticalEllipsis safely try %&apos;action&apos; then if %&apos;error&apos; %&apos;handler&apos;" type="command" category="error" helper="true"><comment x="0" y="0" w="276" collapsed="false">Catch errors.&#xD;&#xD;Runs the first script.  If it succeeds, nothing else happens.&#xD;But if it has an error (something that would otherwise result&#xD;in a red halo around the block), then the second script is run,&#xD;with the text of the error message that would have been shown in the variable ERROR.</comment><header></header><code></code><translations>pt:tenta executar _ e, em caso de erro _ , executa _&#xD;ca:prova de forma segura _ i si _ _&#xD;pl:bezpiecznie spróbuj _ a jeśli _ _&#xD;</translations><inputs><input type="%cs"></input><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doApplyExtension"><l>err_try(cmd, catch, err)</l><list><block var="action"/><block var="handler"/><block var="error"/></list></block><block s="doApplyExtension"><l>err_reset</l><list></list></block></script></block-definition><block-definition s="safely try reporting %&apos;this&apos; then if %&apos;error&apos; report %&apos;that&apos;" type="reporter" category="error" helper="true"><comment x="0" y="0" w="316.6666666666667" collapsed="false">Catch errors in a reporter.&#xD;&#xD;Evaluates its first input.  If that expression successfully reports a value, this block reports that value.  If the expression causes a Snap! error,&#xD;then the final input slot is evaluated with the text of what would have&#xD;been the error message in variable ERROR.  SAFELY TRY then reports the value of that final expression.&#xD;&#xD;Sometimes you&apos;ll want to throw an error in the final expression.  You&#xD;can put an ERROR block inside a CALL block to do that.</comment><header></header><code></code><translations>ca:prova de forma segura reportant _ i si _ reportant _&#xD;pl:bezpiecznie spróbuj zgłosić _ a jeśli _ zgłoś _&#xD;</translations><inputs><input type="%anyUE"></input><input type="%upvar"></input><input type="%anyUE"></input></inputs><script><block s="doDeclareVariables"><list><l>value</l></list></block><custom-block s="$verticalEllipsis safely try %cs then if %upvar %cs"><script><block s="doSetVar"><l>value</l><block s="evaluate"><block var="this"/><list></list></block></block></script><l>err</l><script><block s="doSetVar"><l>error</l><block var="err"/></block><block s="doSetVar"><l>value</l><block s="evaluate"><block var="that"/><list></list></block></block></script></custom-block><block s="doReport"><block var="value"/></block></script></block-definition><block-definition s="lisp to code $nl %&apos;lisp&apos;" type="reporter" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">list to code&#xD;will take the text based form of coding known as lisp and turn it into snap blocks</comment><header></header><code></code><translations></translations><inputs><input type="%mlt" initial="1"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportJoinWords"><block s="reportTextSplit"><block var="lisp"/><l><option>blocks</option></l></block></block></block></script></block></script></block-definition><block-definition s="code to Lisp $nl %&apos;code&apos;" type="reporter" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">code to lisp &#xD;will take snap blocks and turn it into the text program known as lisp</comment><header></header><code></code><translations></translations><inputs><input type="%repRing" initial="1"></input></inputs><script><block s="doReport"><block s="reportListAttribute"><l><option>lines</option></l><block s="reportTextSplit"><block var="code"/><l><option>blocks</option></l></block></block></block></script></block-definition><block-definition s="not a clone" type="predicate" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">not to clone&#xD;checks if the current Sprite is not a clone</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><block s="reportGet"><l><option>parent</option></l></block><l></l></list></block></block></script></block-definition><block-definition s="$verticalEllipsis I have a block variable" type="command" category="magic" helper="true"><variables><list struct="atomic" id="2405">var</list></variables><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="I have a block variable" type="reporter" category="magic" helper="true"><variables><list struct="atomic" id="2407">var</list></variables><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l>look in me</l></block></script></block-definition><block-definition s="hide %&apos;text&apos; %&apos;bool&apos;" type="reporter" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false"> hide text&#xD;will hide the text in the first slot when the Boolean is false and show it when it is true</comment><variables><list struct="atomic" id="2412">the text</list></variables><header></header><code></code><translations></translations><inputs><input type="%mlt" initial="1"></input><input type="%b" initial="1"></input></inputs><script><block s="doIf"><block var="bool"/><script><block s="doSetVar"><l>the text</l><block var="text"/></block></script><list></list></block><block s="doReport"><block var="the text"/></block></script><scripts><script x="217.76424967447915" y="94.36632486979165"><block s="receiveSlotEvent"><l>bool</l><l><option>edited</option></l></block><block s="doIfElse"><block var="bool"/><script><block s="doSetSlot"><l>text</l><block var="the text"/></block></script><script><block s="doSetVar"><l>the text</l><block var="text"/></block><block s="doSetSlot"><l>text</l><l></l></block></script></block></script></scripts></block-definition><block-definition s="$verticalEllipsis repeat if %&apos;error&apos; %&apos;code&apos;" type="command" category="error" helper="true"><header></header><code></code><translations></translations><inputs><input type="%upvar" initial="1">error</input><input type="%ca" initial="1"></input></inputs><script><custom-block s="$verticalEllipsis safely try %cs then if %upvar %cs"><script><block s="doRun"><block var="code"/><list></list></block></script><l>error</l><script><custom-block s="$verticalEllipsis repeat if %upvar %ca"><l>error</l><script><block s="doRun"><block var="code"/><list></list></block></script></custom-block></script></custom-block></script></block-definition><block-definition s="any magic?" type="predicate" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">Any magic&#xD;will report if JavaScript is on</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><custom-block s="JavaScript enabled?"></custom-block></block></script></block-definition><block-definition s="add %&apos;things&apos; to %&apos;list&apos;" type="reporter" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">add to list &#xD;will add the item to the list but only using reporters</comment><header></header><code></code><translations></translations><inputs><input type="%mult%s" initial="1"></input><input type="%l" initial="1"></input></inputs><script><block s="doReport"><block s="reportConcatenatedLists"><list><block var="list"/><block var="things"/></list></block></block></script></block-definition><block-definition s="hold %&apos;blocks&apos;" type="reporter" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">hold&#xD;well &quot;holds&quot; a list of blocks</comment><header></header><code></code><translations></translations><inputs><input type="%mult%repRing" initial="1"></input></inputs><script><block s="doReport"><block var="blocks"/></block></script></block-definition><block-definition s="%&apos;$&apos; by %&apos;cy&apos; cypher , with exp: %&apos;exp cy&apos;" type="reporter" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">Cipher will Cipher the text using the 2 ciphers</comment><header></header><code></code><translations></translations><inputs><input type="%txt">hello world</input><input type="%txt">abcdefghijklmnopqrstuvwxyz 0123456789</input><input type="%s">abcdefghijklmnopqrstuvwxyz 0123456789</input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><block s="reportListIndex"><l></l><block s="reportTextSplit"><block var="cy"/><l><option>letter</option></l></block></block><block s="reportTextSplit"><block var="exp cy"/><l><option>letter</option></l></block></block></autolambda><list></list></block><block s="reportTextSplit"><block var="$"/><l><option>letter</option></l></block></block></list></block></block></script></block-definition><block-definition s="pop item %&apos;num&apos; of %&apos;list&apos;" type="reporter" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">pop &#xD;will remove a item from the list and report what the item was</comment><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"><options>1=1&#xD;last=$_last&#xD;&#126;&#xD;all=$_all&#xD;parent=$_parent</options></input><input type="%l" initial="1"></input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block s="reportListItem"><block var="num"/><block var="list"/></block></block><block s="doDeleteFromList"><block var="num"/><block var="a"/></block><block s="doReport"><block var="a"/></block></script></block-definition><block-definition s="is %&apos;NUM&apos; negative" type="predicate" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">is negative&#xD;will report a Boolean for whether or not the number is negative</comment><header></header><code></code><translations></translations><inputs><input type="%n">-1</input></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><block s="reportMonadic"><l><option>neg</option></l><block s="reportMonadic"><l><option>abs</option></l><block var="NUM"/></block></block><block var="NUM"/></list></block></block></script></block-definition><block-definition s="$magic-2 $pack-2" type="reporter" category="magic"><comment x="0" y="0" w="90" collapsed="false">magic pack&#xD;is a pack of all the magic blocks (which is a list of blocks that I find helpful)</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportIfElse"><custom-block s="any magic?"></custom-block><custom-block s="hold %mult%repRing"><list><block s="reifyReporter"><autolambda><custom-block s="is magic on?"></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="any magic?"></custom-block></autolambda><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis hide mouse"></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis show mouse"></custom-block></script><list></list></block><block s="reifyReporter"><autolambda><custom-block s="is mouse hidden"></custom-block></autolambda><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis hide mouse %b"><l/></custom-block></script><list></list></block><block s="reifyReporter"><autolambda><custom-block s="join %mult%mlt"><list><l></l></list></custom-block></autolambda><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis repeat for %n secs %cs"><l>1</l><script></script></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis pen costume"></custom-block></script><list></list></block><block s="reifyReporter"><autolambda><custom-block s="is %s a %s ?"><l></l><l></l></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="%n in base %n"><l>1</l><l>10</l></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="function ( %s %s %s )"><l></l><l></l><l></l></custom-block></autolambda><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis link to %txt"><l>https://en.wikipedia.org/wiki/%22Hello,_World!%22_program</l></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis export costume %s"><l></l></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis set name of costume %s to %s"><l></l><l>thing</l></custom-block></script><list></list></block><block s="reifyReporter"><autolambda><custom-block s="%s url: %s send: %s headers: %mult%l"><l>GET</l><l>https://snap.startr.cloud</l><l></l><list></list></custom-block></autolambda><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis invert pen down"></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis invert hide"></custom-block></script><list></list></block><block s="reifyReporter"><autolambda><custom-block s="is %n negative"><l>-1</l></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="is %n prime"><l>0</l></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="is %n divisible by %n"><l>1</l><l></l></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="backwords %s"><l>word</l></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="$XOR-0.0001 %mult%b"><list><l/><l/></list></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="rotate %l by %n"><l/><l>0</l></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="lisp to code %br %mlt"><l></l></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="code to Lisp %br %repRing"><block s="reifyScript"><script></script><list></list></block></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="not a clone"></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="hide %mlt %b"><l></l><l/><variables><variable name="the text"><l>0</l></variable></variables></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="add %mult%s to %l"><list><l></l></list><l/></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="hold %mult%repRing"><list><block s="reifyReporter"><script></script><list></list></block></list></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="%txt by %txt cypher , with exp: %s"><l>hello world</l><l>abcdefghijklmnopqrstuvwxyz 0123456789</l><l>abcdefghijklmnopqrstuvwxyz 0123456789</l></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="pop item %n of %l"><l></l><l/></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="distance to direction %n"><l></l></custom-block></autolambda><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis notification %br title: %txt body: %txt"><l>Magic!</l><l>This is a notification</l></custom-block></script><list></list></block><block s="reifyReporter"><autolambda><custom-block s="search for %txt in %l"><l>block</l><l/></custom-block></autolambda><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis copy %txt to clipboard"><l>text</l></custom-block></script><list></list></block></list></custom-block><custom-block s="is magic on?"></custom-block></block></block></script></block-definition><block-definition s="$verticalEllipsis vacume force %&apos;force&apos; radius %&apos;radius&apos; at %&apos;position&apos;" type="command" category="velocity" helper="true"><comment x="0" y="0" w="90" collapsed="false">Vacume pulls the velocity objects towards the chosen position. </comment><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">5</input><input type="%n" initial="1">100</input><input type="%s" readonly="true" initial="1"><options>§_destinationsMenu</options></input></inputs><script><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportRelationTo"><l><option>distance</option></l><block var="position"/></block><block var="radius"/></list></block><script><block s="doIf"><block s="reportMouseDown"></block><script><block s="doFaceTowards"><block var="position"/></block><block s="forward"><block s="reportQuotient"><block s="reportRelationTo"><l><option>distance</option></l><block var="position"/></block><block var="force"/></block></block></script><list></list></block></script><list></list></block></script></block-definition><block-definition s="error %&apos;msg&apos;" type="reporter" category="error" helper="true"><comment x="0" y="0" w="268.6666666666667" collapsed="false">Throw an error.&#xD;&#xD;Makes a red halo appear around the script that runs it,&#xD;with the input text shown in a speech balloon next to&#xD;the script, just like any Snap! error.&#xD;&#xD;This is useful to put in the second script of SAFELY TRY&#xD;after some other instructions to undo the partial work of&#xD;the first script.</comment><header></header><code></code><translations>pt:lança o erro _&#xD;pl:błąd _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doApplyExtension"><l>err_error(msg)</l><list><block var="msg"/></list></block></script></block-definition><block-definition s="$error-2 $pack-2" type="reporter" category="error"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportIfElse"><custom-block s="any magic?"></custom-block><custom-block s="hold %mult%repRing"><list><block s="reifyReporter"><autolambda><custom-block s="error %txt"><l></l></custom-block></autolambda><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis error %txt"><l></l></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis safely try %cs then if %upvar %cs"><script></script><l>error</l><script></script></custom-block></script><list></list></block><block s="reifyReporter"><autolambda><custom-block s="safely try reporting %anyUE then if %upvar report %anyUE"><l></l><l>error</l><l></l></custom-block></autolambda><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis repeat if %upvar %ca"><l>error</l><script></script></custom-block></script><list></list></block></list></custom-block><custom-block s="is magic on?"></custom-block></block></block></script></block-definition><block-definition s="$Avi´s-2 $pack-2" type="reporter" category="Avi&apos;s"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportIfElse"><custom-block s="any magic?"></custom-block><custom-block s="hold %mult%repRing"><list><block s="reifyReporter"><script><custom-block s="$verticalEllipsis delete all clones"></custom-block></script><list></list></block><block s="reifyReporter"><autolambda><custom-block s="3D to 2D %n %n %n focal length %n"><l>0</l><l>0</l><l>0</l><l>100</l></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="direction from x %n y %n to x %n y %n"><l></l><l></l><l></l><l></l></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="PI"></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="QR code from %s"><l></l></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="Infinity ∞"></custom-block></autolambda><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis set cursor to %s offset x: %n y: %n"><l>auto</l><l>0</l><l>0</l></custom-block></script><list></list></block><block s="reifyReporter"><autolambda><custom-block s="username"></custom-block></autolambda><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis screenshot"></custom-block></script><list></list></block><block s="reifyReporter"><autolambda><custom-block s="clone ID"></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="battery %"></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="Is Charging"></custom-block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="My URL"></custom-block></autolambda><list></list></block></list></custom-block><custom-block s="is magic on?"></custom-block></block></block></script></block-definition><block-definition s="$variable-2 $pack-2" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportIfElse"><custom-block s="any magic?"></custom-block><custom-block s="hold %mult%repRing"><list><block s="reifyReporter"><script><custom-block s="$verticalEllipsis delete var %mult%txt"><list></list></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis set var %s to %s"><l></l><l></l></custom-block></script><list></list></block><block s="reifyReporter"><autolambda><custom-block s="var %s"><l></l></custom-block></autolambda><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis show var %s"><l></l></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis hide var %s"><l></l></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis create %s var %mult%txt"><l>global</l><list></list></custom-block></script><list></list></block><block s="reifyReporter"><autolambda><custom-block s="does var %s exist?"><l></l></custom-block></autolambda><list></list></block></list></custom-block><custom-block s="is magic on?"></custom-block></block></block></script></block-definition><block-definition s="$settings-2 $pack-2" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportIfElse"><custom-block s="any magic?"></custom-block><custom-block s="hold %mult%repRing"><list><block s="reifyReporter"><autolambda><custom-block s="setting %s"><l></l></custom-block></autolambda><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis set flag %s to %b"><l></l><l/></custom-block></script><list></list></block><block s="reifyReporter"><script><custom-block s="$verticalEllipsis set value %s to %s"><l></l><l></l></custom-block></script><list></list></block></list></custom-block><custom-block s="is magic on?"></custom-block></block></block></script></block-definition><block-definition s="distance to direction %&apos;direction&apos;" type="reporter" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">distance to direction reports the distance from the current direction to the future direction</comment><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"><options>§_directionDialMenu</options></input></inputs><script><block s="doDeclareVariables"><list><l>a</l><l>b</l><l>c</l><l>d</l></list></block><block s="doSetVar"><l>a</l><block s="direction"></block></block><block s="doSetVar"><l>b</l><block var="direction"/></block><block s="doSetVar"><l>c</l><block s="reportDifference"><l>180</l><block var="a"/></block></block><block s="doSetVar"><l>d</l><block s="reportVariadicSum"><list><block var="b"/><block var="c"/></list></block></block><block s="doReport"><block s="reportDifference"><block s="reportModulus"><block var="d"/><l>360</l></block><l>180</l></block></block></script></block-definition><block-definition s="search for %&apos;thing&apos; in %&apos;pack&apos;" type="reporter" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">search&#xD;will search for blocks in a pack with similar names</comment><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1">block</input><input type="%l" initial="1"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportListContainsItem"><block s="reportTextSplit"><block s="reportBlockAttribute"><l><option>label</option></l><block s="reifyReporter"><script></script><list></list></block></block><l> </l></block><block var="thing"/></block></autolambda><list></list></block><block var="pack"/></block><block s="reportNewList"><list></list></block></list></block><l>Try changing the spelling</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportListContainsItem"><block s="reportTextSplit"><block s="reportBlockAttribute"><l><option>label</option></l><block s="reifyReporter"><script></script><list></list></block></block><l> </l></block><block var="thing"/></block></autolambda><list></list></block><block var="pack"/></block></block></block></script></block-definition><block-definition s="$verticalEllipsis notification $nl title: %&apos;title&apos; body: %&apos;body&apos;" type="command" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">notification&#xD;will send a notification to the user</comment><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1">Magic!</input><input type="%txt" initial="1">This is a notification</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>message</l><l>title</l></list><l>function showSimpleNotification(message = &apos;This is my first notification&apos;, title = "magic:", icon = &apos;https://snap.startr.cloud/static/img/topbar-logo.png&apos;) {&#xD;  // Check if we have permission first&#xD;  if (Notification.permission === &apos;granted&apos;) {&#xD;    const notification = new Notification(title, {&#xD;      body: message,&#xD;      icon: icon&#xD;    });&#xD;  } else if (Notification.permission !== &apos;denied&apos;) {&#xD;    // We need to ask for permission first&#xD;    Notification.requestPermission().then(permission =&gt; {&#xD;      if (permission === &apos;granted&apos;) {&#xD;        const notification = new Notification(title, {&#xD;          body: message,&#xD;          icon: icon&#xD;        });&#xD;      }&#xD;    });&#xD;  }&#xD;}&#xD;&#xD;// Example call with default values&#xD;showSimpleNotification(message, title);</l></block><list><block var="body"/><block var="title"/></list></block></script></block-definition><block-definition s="$verticalEllipsis copy %&apos;thing&apos; to clipboard" type="command" category="magic" helper="true"><comment x="0" y="0" w="90" collapsed="false">copy to clipboard &#xD;will copy whatever text you give it to the users clipboard</comment><header></header><code></code><translations></translations><inputs><input type="%txt" initial="1">text</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>clip</l></list><l>navigator.clipboard.writeText(clip)</l></block><list><block var="thing"/></list></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="true" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="3321"><pentrails>data:image/png;base64,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</pentrails><costumes><list struct="atomic" id="3322"></list></costumes><sounds><list struct="atomic" id="3323"></list></sounds><variables></variables><blocks></blocks><scripts><script x="11.111111111111109" y="11.111111111111109"><block s="receiveInteraction"><l><option>scrolled-down</option></l></block><block s="doSetVar"><l>scroll</l><l>-1</l></block><block s="doWait"><l>0.01</l></block><block s="doSetVar"><l>scroll</l><l>0</l></block></script><script x="57.77777777777778" y="137.55555555555551"><block s="receiveInteraction"><l><option>scrolled-up</option></l></block><block s="doChangeVar"><l>scroll</l><l>1</l></block><block s="doWait"><l>0.01</l></block><block s="doSetVar"><l>scroll</l><l>0</l></block></script></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="191.5" y="120" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="255,255,255,1" pen="tip" id="3348"><costumes><list struct="atomic" id="3349"></list></costumes><sounds><list struct="atomic" id="3350"></list></sounds><blocks></blocks><variables></variables><scripts><script x="71.59213595920134" y="9.333333333333334"><block s="receiveGo"></block><block s="doDeclareVariables"><list><l>nobs</l></list></block><block s="doSetVar"><l>nobs</l><block s="reportNewList"><list></list></block></block><block s="doWarp"><script><custom-block s="$verticalEllipsis for %upvar = %upvar in %l %ca"><l>i</l><l>item</l><block s="reportCrossproduct"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportNumbers"><l>-2</l><l>1</l></block><l>125</l></list></block><l>63</l></list></block><block s="reportVariadicProduct"><list><block s="reportNumbers"><l>-1</l><l>1</l></block><l>125</l></list></block></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block var="item"/><l>0</l></list></block><block var="nobs"/></block></script></custom-block></script></block><block s="doForever"><script><block s="doWarp"><script><custom-block s="$verticalEllipsis for %upvar = %upvar in %l %ca"><l>i</l><l>nob</l><block var="nobs"/><script><block s="doGotoObject"><block s="reportListItem"><l>1</l><block var="nob"/></block></block><block s="setHeading"><block s="reportListItem"><l>2</l><block var="nob"/></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportRelationTo"><l><option>distance</option></l><l><option>mouse-pointer</option></l></block><l>27</l></list></block><script><block s="turn"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="scroll"/><l>0</l></list></block><l>0</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block s="reportMonadic"><l><option>abs</option></l><block var="scroll"/></block><block var="scroll"/></list></block><block s="reportDifference"><l></l><block s="reportIfElse"><block s="reportKeyPressed"><l>shift</l></block><l>1</l><l>15</l></block></block><block s="reportIfElse"><block s="reportKeyPressed"><l>shift</l></block><l>1</l><l>15</l></block></block></block></block><block s="doIf"><block s="reportMouseDown"></block><script><block s="doIfElse"><block s="reportKeyPressed"><l>shift</l></block><script><block s="turn"><block s="reportQuotient"><custom-block s="distance to direction %n"><block s="reportRelationTo"><l><option>direction</option></l><l><option>mouse-pointer</option></l></block></custom-block><l>100</l></block></block></script><script><block s="turn"><block s="reportQuotient"><custom-block s="distance to direction %n"><block s="reportRelationTo"><l><option>direction</option></l><l><option>mouse-pointer</option></l></block></custom-block><l>20</l></block></block></script></block></script><list></list></block></script><list></list></block><block s="doReplaceInList"><block var="i"/><block var="nobs"/><block s="reportNewList"><list><block s="getPosition"></block><block s="direction"></block></list></block></block></script></custom-block></script></block><block s="clear"></block><custom-block s="$verticalEllipsis draw nobs %l max %n"><block var="nobs"/><l>100</l></custom-block></script></block></script><script x="6.666666666666667" y="238.60510819046576"><block s="hide"></block></script></scripts></sprite><watcher var="scroll" style="normal" x="10" y="10" color="243,118,29" hidden="true"/></sprites></stage><variables><variable name="scroll"><l>0</l></variable></variables></scene></scenes></project><media name="nobs" app="Snap! 11.0.0, https://snap.berkeley.edu" version="2"></media></snapdata>