<snapdata remixID="12455503"><project name="L1" app="Snap! 8.2, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="L1"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="%&apos;attribute&apos; of sound %&apos;sound&apos;" type="reporter" category="sound"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">duration<options>name&#xD;duration&#xD;length&#xD;number of channels&#xD;sample rate&#xD;samples</options></input><input type="%obj"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="attribute"/><l>name</l></list></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>sound</l></list><l>return sound.name;</l></block><list><block var="sound"/></list></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="attribute"/><l>samples</l></list></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>audioBuffer</l></list><l>var result, i;&#xD;if (audioBuffer.numberOfChannels &gt; 1) {&#xD;    result = new List();&#xD;    for (i = 0; i &lt; audioBuffer.numberOfChannels; i += 1) {&#xD;        result.add(new List(audioBuffer.getChannelData(i)));&#xD;    }&#xD;    return result;&#xD;}&#xD;return new List(audioBuffer.getChannelData(0));</l></block><list><custom-block s="%s of sound %obj"><l></l><block var="sound"/></custom-block></list></block></block></script></block><block s="doRun"><block s="reportJSFunction"><list><l>sound</l></list><l>var base64, binaryString, len, bytes, i,&#xD;    arrayBuffer, audioCtx;&#xD;if (sound.audioBuffer) {&#xD;    return;&#xD;}&#xD;base64 = sound.audio.src.split(&apos;,&apos;)[1];&#xD;binaryString =  window.atob(base64);&#xD;len = binaryString.length;&#xD;bytes = new Uint8Array(len);&#xD;for (i = 0; i &lt; len; i += 1)        {&#xD;  bytes[i] = binaryString.charCodeAt(i);&#xD;}&#xD;arrayBuffer = bytes.buffer;&#xD;Note.prototype.setupContext();&#xD;audioCtx = Note.prototype.audioContext;&#xD;audioCtx.decodeAudioData(arrayBuffer, function(buffer) {&#xD;   sound.audioBuffer = buffer;&#xD;});</l></block><list><block var="sound"/></list></block><block s="doWaitUntil"><block s="evaluate"><block s="reportJSFunction"><list><l>sound</l></list><l>return !isNil(sound.audioBuffer);</l></block><list><block var="sound"/></list></block></block><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>sound</l><l>choice</l></list><l>switch (choice) {&#xD;case &apos;sample rate&apos;:&#xD;    return sound.audioBuffer.sampleRate;&#xD;case &apos;duration&apos;:&#xD;    return sound.audioBuffer.duration;&#xD;case &apos;length&apos;:&#xD;    return sound.audioBuffer.length;&#xD;case &apos;number of channels&apos;:&#xD;    return sound.audioBuffer.numberOfChannels;&#xD;default:&#xD;    return sound.audioBuffer;&#xD;}</l></block><list><block var="sound"/><block var="attribute"/></list></block></block></script></block-definition><block-definition s="turbo %&apos;action&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>begin</l></list></block><block s="doSetVar"><l>begin</l><block s="reportGlobalFlag"><l><option>turbo mode</option></l></block></block><block s="doSetGlobalFlag"><l><option>turbo mode</option></l><l><bool>true</bool></l></block><block s="doRun"><block var="action"/><list></list></block><block s="doSetGlobalFlag"><l><option>turbo mode</option></l><block var="begin"/></block></script></block-definition><block-definition s="play %&apos;samples&apos; at %&apos;sampleRate&apos; Hz" type="command" category="sound"><comment x="0" y="0" w="164" collapsed="false">play back a sound, a list of samples (single channel), or a list of lists (multiple channels) at the given sample rate.&#xD;for demo purposes this block also fast-plots the samples on the stage</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%n">44100<options>22.05 kHz=22050&#xD;44.1 kHz=44100&#xD;88.2 kHz=88200&#xD;96 kHz=96000</options></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="samples"/><l><option>sound</option></l></block><script><block s="doSetVar"><l>samples</l><custom-block s="%s of sound %obj"><l>samples</l><block var="samples"/></custom-block></block></script></block><block s="doRun"><block s="reportJSFunction"><list><l>samples</l><l>rate</l></list><l>var audioCtx, channels, frameCount, arrayBuffer, i, source;&#xD;Note.prototype.setupContext();&#xD;audioCtx = Note.prototype.audioContext;&#xD;channels = (samples.at(1) instanceof List) ? samples.length() : 1; &#xD;frameCount = (channels === 1) ? samples.length() : samples.at(1).length(); &#xD;arrayBuffer = audioCtx.createBuffer(channels, frameCount, rate);&#xD;if (!arrayBuffer.copyToChannel) {&#xD;    arrayBuffer.copyToChannel = function (src, channel) {&#xD;        var buffer = this.getChannelData(channel);&#xD;        for (i = 0; i &lt; src.length; i += 1) {&#xD;            buffer[i] = src[i];&#xD;        }&#xD;    }&#xD;}&#xD;if (channels === 1) {&#xD;    arrayBuffer.copyToChannel(Float32Array.from(samples.asArray()), 0, 0);&#xD;} else {&#xD;    for (i = 0; i &lt; channels; i += 1) {&#xD;        arrayBuffer.copyToChannel(Float32Array.from(samples.at(i + 1).asArray()), i, 0);&#xD;    }&#xD;}&#xD;source = audioCtx.createBufferSource();&#xD;source.buffer = arrayBuffer;&#xD;source.connect(audioCtx.destination);&#xD;source.start();&#xD;source.pause = source.stop;&#xD;this.parentThatIsA(StageMorph).activeSounds.push(source);</l></block><list><block var="samples"/><block var="sampleRate"/></list></block><custom-block s="plot sound %obj"><block var="samples"/></custom-block></script></block-definition><block-definition s="%&apos;frequency&apos; Hz for %&apos;duration&apos; secs at %&apos;sample rate&apos; Hz sample rate" type="reporter" category="sound"><comment x="0" y="0" w="205" collapsed="false">generate a list of samples representing a sine wave at the given frequency, duration and sample rate</comment><header></header><code></code><translations></translations><inputs><input type="%n">440<options>a 55=55&#xD;a 110=110&#xD;a 220=220&#xD;a 440=440&#xD;a 880=880&#xD;a 1760=1760&#xD;a 3520=3520</options></input><input type="%n">1</input><input type="%n">44100<options>22.05 kHz=22050&#xD;44.1 kHz=44100&#xD;88.2 kHz=88200&#xD;96 kHz=96000</options></input></inputs><script><block s="doDeclareVariables"><list><l>output</l><l>sample period</l><l>duration in samples</l><l>time</l></list></block><block s="doSetVar"><l>sample period</l><block s="reportQuotient"><l>1</l><block var="sample rate"/></block></block><block s="doSetVar"><l>duration in samples</l><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportVariadicProduct"><list><block var="duration"/><block var="sample rate"/></list></block></block></block><block s="doSetVar"><l>time</l><l>0</l></block><block s="doSetVar"><l>output</l><block s="reportNewList"><list></list></block></block><block s="doWarp"><script><block s="doRepeat"><block var="duration in samples"/><script><block s="doAddToList"><block s="reportMonadic"><l><option>sin</option></l><custom-block s="degrees %n"><block s="reportVariadicProduct"><list><l>2</l><block s="reportVariadicProduct"><list><custom-block s="PI"></custom-block><block s="reportVariadicProduct"><list><block var="frequency"/><block var="time"/></list></block></list></block></list></block></custom-block></block><block var="output"/></block><block s="doChangeVar"><l>time</l><block var="sample period"/></block></script></block></script></block><block s="doReport"><block var="output"/></block></script></block-definition><block-definition s="PI" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l>3.141592653589793</l></block></script></block-definition><block-definition s="degrees %&apos;radians&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n">0.5</input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="radians"/><l>180</l></list></block><custom-block s="PI"></custom-block></block></block></script></block-definition><block-definition s="find first in %&apos;list&apos; such that %&apos;test&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%predRing"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="list"/><block s="reportNewList"><list></list></block></list></block><script><custom-block s="error %s"><l>item not found in list</l></custom-block></script></block><block s="doIf"><block s="evaluate"><block var="test"/><list><block s="reportListItem"><l>1</l><block var="list"/></block></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="list"/></block></block></script></block><block s="doReport"><custom-block s="find first in %l such that %predRing"><block s="reportCDR"><block var="list"/></block><block var="test"/></custom-block></block></script></block-definition><block-definition s="error %&apos;msg&apos;" type="command" category="control"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>msg</l></list><l>throw new Error(msg)</l></block><list><block var="msg"/></list></block></script></block-definition><block-definition s="sound named %&apos;name&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="find first in %l such that %predRing"><block s="reportGet"><l><option>sounds</option></l></block><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><custom-block s="%s of sound %obj"><l>name</l><block var="sound"/></custom-block><block var="name"/></list></block></autolambda><list><l>sound</l></list></block></custom-block></block></script></block-definition><block-definition s="plot sound %&apos;sound&apos;" type="command" category="pen"><comment x="0" y="0" w="164" collapsed="false">quickly plot the samples of a sound, a list of samples (single channel), or a list of lists (multiple channels) to the stage at a lower resolution.</comment><header></header><code></code><translations></translations><inputs><input type="%obj"></input></inputs><script><block s="doDeclareVariables"><list><l>samples</l><l>step</l><l>offset</l><l>i</l><l>stage height</l></list></block><block s="doSetVar"><l>stage height</l><custom-block s="stage height"></custom-block></block><block s="doIfElse"><block s="reportIsA"><block var="sound"/><l><option>sound</option></l></block><script><block s="doSetVar"><l>samples</l><custom-block s="%s of sound %obj"><l>samples</l><block var="sound"/></custom-block></block><block s="doSetVar"><l>step</l><block s="reportQuotient"><custom-block s="%s of sound %obj"><l>length</l><block var="sound"/></custom-block><block s="reportVariadicProduct"><list><custom-block s="stage width"></custom-block><l>2</l></list></block></block></block></script><script><block s="doSetVar"><l>samples</l><block var="sound"/></block></script></block><block s="clear"></block><block s="up"></block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="samples"/></block><l><option>list</option></l></block><script><block s="doSetVar"><l>step</l><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="samples"/></block></block><block s="reportVariadicProduct"><list><custom-block s="stage width"></custom-block><l>2</l></list></block></block></block><block s="doSetVar"><l>offset</l><block s="reportQuotient"><block var="stage height"/><l>4</l></block></block><custom-block s="for each %upvar of %l %cs"><l>channel</l><block var="samples"/><script><block s="doSetVar"><l>i</l><l>0</l></block><block s="gotoXY"><block s="reportQuotient"><custom-block s="stage width"></custom-block><l>-2</l></block><block var="offset"/></block><block s="down"></block><block s="setSize"><l>1</l></block><custom-block s="turbo %cs"><script><block s="doRepeat"><block s="reportVariadicProduct"><list><custom-block s="stage width"></custom-block><l>2</l></list></block><script><block s="doChangeVar"><l>i</l><block var="step"/></block><block s="gotoXY"><block s="reportVariadicSum"><list><block s="xPosition"></block><l>0.5</l></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><block s="reportMonadic"><l><option>floor</option></l><block var="i"/></block><block var="channel"/></block><block s="reportQuotient"><block var="stage height"/><l>6.4</l></block></list></block><block var="offset"/></list></block></block></script></block></script></custom-block><block s="up"></block><block s="doChangeVar"><l>offset</l><block s="reportQuotient"><custom-block s="stage height"></custom-block><l>-2</l></block></block></script></custom-block></script><script><block s="doSetVar"><l>step</l><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block var="samples"/></block><block s="reportVariadicProduct"><list><custom-block s="stage width"></custom-block><l>2</l></list></block></block></block><block s="gotoXY"><block s="reportQuotient"><custom-block s="stage width"></custom-block><l>-2</l></block><l>0</l></block><block s="down"></block><block s="setSize"><l>1</l></block><custom-block s="turbo %cs"><script><block s="doRepeat"><block s="reportVariadicProduct"><list><custom-block s="stage width"></custom-block><l>2</l></list></block><script><block s="doChangeVar"><l>i</l><block var="step"/></block><block s="gotoXY"><block s="reportVariadicSum"><list><block s="xPosition"></block><l>0.5</l></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><block s="reportMonadic"><l><option>floor</option></l><block var="i"/></block><block var="samples"/></block><block s="reportQuotient"><block var="stage height"/><l>3.2</l></block></list></block></block></script></block></script></custom-block><block s="up"></block></script></block></script></block-definition><block-definition s="stage width" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return StageMorph.prototype.dimensions.x;</l></block><list></list></block></block></script></block-definition><block-definition s="stage height" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return StageMorph.prototype.dimensions.y;</l></block><list></list></block></block></script></block-definition><block-definition s="$circleSolid-1-255-0-0 record" type="reporter" category="sensing"><comment x="0" y="0" w="192" collapsed="false">records an audio snippet and reports it as a new sound, or zero if the user cancels</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>test</l><l>pic</l></list></block><block s="doSetVar"><l>test</l><block s="evaluate"><block s="reportJSFunction"><list></list><l>var soundRecorder,&#xD;    result = false;&#xD;&#xD;soundRecorder = new SoundRecorderDialogMorph(&#xD;    function (audio) {&#xD;        if (audio) {&#xD;            result = new Sound(audio, &apos;recording&apos;);&#xD;        } else {&#xD;            result = null;&#xD;            this.destroy();&#xD;        }&#xD;    }&#xD;);&#xD;&#xD;soundRecorder.cancel = function () {&#xD;    result = null;&#xD;    this.destroy();&#xD;};&#xD;&#xD;soundRecorder.key = &apos;microphone&apos;;&#xD;soundRecorder.popUp(this.world());&#xD;return function () {return result; };</l></block><list></list></block></block><block s="doWaitUntil"><block s="evaluate"><block s="reifyScript"><script><block s="doSetVar"><l>pic</l><block s="evaluate"><block var="test"/><list></list></block></block><block s="doReport"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="pic"/><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></block></block></script><list></list></block><list></list></block></block><block s="doReport"><block var="pic"/></block></script></block-definition><block-definition s="loudness" type="reporter" category="sensing"><header></header><code></code><translations>ca:volum del so&#xD;es:volumen del sonido&#xD;</translations><inputs></inputs><script><block s="doIf"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return typeof meter == &apos;undefined&apos;</l></block><list></list></block><script><block s="doRun"><block s="reportJSFunction"><list></list><l>navigator.getUserMedia = ( navigator.getUserMedia ||&#xD;                       navigator.webkitGetUserMedia ||&#xD;                       navigator.mozGetUserMedia ||&#xD;                       navigator.msGetUserMedia);&#xD;&#xD;var audioContext = new AudioContext();&#xD;&#xD;/*&#xD;The MIT License (MIT)&#xD;&#xD;Copyright (c) 2014 Chris Wilson&#xD;&#xD;Permission is hereby granted, free of charge, to any person obtaining a copy&#xD;of this software and associated documentation files (the "Software"), to deal&#xD;in the Software without restriction, including without limitation the rights&#xD;to use, copy, modify, merge, publish, distribute, sublicense, and/or sell&#xD;copies of the Software, and to permit persons to whom the Software is&#xD;furnished to do so, subject to the following conditions:&#xD;&#xD;The above copyright notice and this permission notice shall be included in all&#xD;copies or substantial portions of the Software.&#xD;&#xD;THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR&#xD;IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,&#xD;FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE&#xD;AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER&#xD;LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,&#xD;OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE&#xD;SOFTWARE.&#xD;*/&#xD;&#xD;function createAudioMeter (audioContext,clipLevel,averaging,clipLag) {&#xD;	 var processor = audioContext.createScriptProcessor(512);&#xD;	 processor.onaudioprocess = volumeAudioProcess;&#xD;	 processor.clipping = false;&#xD;	 processor.lastClip = 0;&#xD;	 processor.volume = 0;&#xD;	 processor.clipLevel = clipLevel || 0.98;&#xD;	 processor.averaging = averaging || 0.95;&#xD;	 processor.clipLag = clipLag || 750;&#xD; 	processor.connect(audioContext.destination);&#xD; 	return processor;&#xD;};&#xD;&#xD;function volumeAudioProcess (event) {&#xD;  var buf = event.inputBuffer.getChannelData(0),&#xD;      bufLength = buf.length,&#xD; 	    sum = 0,&#xD;      x;&#xD;  for (var i=0; i&lt;bufLength; i++) {&#xD;   	x = buf[i];&#xD;   	if (Math.abs(x)&gt;=this.clipLevel) {&#xD;    		this.clipping = true;&#xD;    		this.lastClip = window.performance.now();&#xD;   	}&#xD;   	sum += x * x;&#xD;  }&#xD;  var rms =  Math.sqrt(sum / bufLength);&#xD;  this.volume = Math.max(rms, this.volume*this.averaging);&#xD;};&#xD;&#xD;function gotStream (stream) {&#xD;  mediaStreamSource = audioContext.createMediaStreamSource(stream);&#xD;  window.meter = createAudioMeter(audioContext);&#xD;  mediaStreamSource.connect(meter);&#xD;};&#xD;&#xD;navigator.getUserMedia(&#xD;  {&#xD;    "audio": {&#xD;      "mandatory": {&#xD;        "googEchoCancellation": "false",&#xD;        "googAutoGainControl": "false",&#xD;        "googNoiseSuppression": "false",&#xD;        "googHighpassFilter": "false"&#xD;      },&#xD;      "optional": []&#xD;    },&#xD;  }, gotStream, nop);</l></block><list></list></block></script></block><block s="doWaitUntil"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return typeof meter != &apos;undefined&apos;</l></block><list></list></block></block><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return Math.floor(meter.volume * 100);</l></block><list></list></block></block></script></block-definition><block-definition s="$flash map %&apos;fn&apos; over %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>fn</l><l>data</l><l>proc</l></list><l>return proc.reportAtomicMap(fn, data);</l></block><list><block var="fn"/><block var="data"/></list></block></block></script></block-definition><block-definition s="$flash keep %&apos;test&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>fn</l><l>data</l><l>proc</l></list><l>return proc.reportAtomicKeep(fn, data);</l></block><list><block var="test"/><block var="data"/></list></block></block></script></block-definition><block-definition s="$flash combine %&apos;fn&apos; with %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>fn</l><l>data</l><l>proc</l></list><l>return proc.reportAtomicCombine(fn, data);</l></block><list><block var="fn"/><block var="data"/></list></block></block></script></block-definition><block-definition s="$flash sort %&apos;data&apos; by %&apos;fn&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%predRing"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>data</l><l>fn</l><l>proc</l></list><l>return proc.reportAtomicSort(data, fn);</l></block><list><block var="data"/><block var="fn"/></list></block></block></script></block-definition><block-definition s="$flash reverse %&apos;list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>list</l></list><l>return new List(list.asArray().slice().reverse());</l></block><list><block var="list"/></list></block></block></script></block-definition><block-definition s="Leap number of hands" type="reporter" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return window.controller.frame(0).hands.length;</l></block><list></list></block></block></script></block-definition><block-definition s="Leap %&apos;pos&apos; position of hand %&apos;num&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">x<options>x&#xD;y&#xD;z</options></input><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block var="num"/><custom-block s="Leap number of hands"></custom-block></list></block></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>pos</l><l>num</l></list><l>var a = {x:0, y:1, z:2}[pos]; return window.controller.frame(0).hands[num-1].stabilizedPalmPosition[a];</l></block><list><block var="pos"/><block var="num"/></list></block></block></script><script><block s="doReport"><l>0</l></block></script></block></script></block-definition><block-definition s="Leap %&apos;pos&apos; rotation of hand %&apos;num&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">yaw<options>yaw&#xD;pitch&#xD;roll</options></input><input type="%n">1</input></inputs><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block var="num"/><custom-block s="Leap number of hands"></custom-block></list></block></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>pos</l><l>num</l></list><l>var f = window.controller.frame(0);&#xD;switch (pos){&#xD;  case "yaw":&#xD;    return f.hands[num-1].yaw();&#xD;  case "pitch":&#xD;    return f.hands[num-1].pitch();&#xD;  case "roll":&#xD;    return f.hands[num-1].roll();&#xD;};&#xD;            &#xD;        </l></block><list><block var="pos"/><block var="num"/></list></block></block></script><script><block s="doReport"><l>0</l></block></script></block></script></block-definition><block-definition s="Leap %&apos;pos&apos; position of finger %&apos;num&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">x<options>x&#xD;y&#xD;z</options></input><input type="%n">1</input></inputs><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block var="num"/><block s="evaluate"><block s="reportJSFunction"><list></list><l>return window.controller.frame(0).fingers.length;</l></block><list></list></block></list></block></block><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>pos</l><l>num</l></list><l>var a = {x:0, y:1, z:2}[pos]; return window.controller.frame(0).fingers[num-1].stabilizedTipPosition[a];</l></block><list><block var="pos"/><block var="num"/></list></block></block></script><script><block s="doReport"><l>0</l></block></script></block></script></block-definition><block-definition s="Leap hand %&apos;num&apos; is pinching" type="predicate" category="other"><header></header><code></code><translations></translations><inputs><input type="%s">1</input></inputs><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block var="num"/><custom-block s="Leap number of hands"></custom-block></list></block></block><script><block s="doReport"><block s="reportVariadicGreaterThan"><list><block s="evaluate"><block s="reportJSFunction"><list><l>num</l></list><l>return window.controller.frame(0).hands[num-1].pinchStrength;</l></block><list><block var="num"/></list></block><l>0.75</l></list></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="Leap pinch strength of hand %&apos;num&apos;" type="reporter" category="other"><header></header><code></code><translations></translations><inputs><input type="%n">1</input></inputs><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block var="num"/><custom-block s="Leap number of hands"></custom-block></list></block></block><script><block s="doReport"><block s="reportVariadicProduct"><list><block s="evaluate"><block s="reportJSFunction"><list><l>num</l></list><l>return window.controller.frame(0).hands[num-1].pinchStrength;</l></block><list><block var="num"/></list></block><l>100</l></list></block></block></script><script><block s="doReport"><l>0</l></block></script></block></script></block-definition><block-definition s="Leap $flag" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIf"><block s="evaluate"><block s="reportJSFunction"><list></list><l>return window.controller !== undefined</l></block><list></list></block><script><block s="doStopThis"><l><option>this block</option></l></block></script></block><block s="doDeclareVariables"><list><l>test</l></list></block><block s="doSetVar"><l>test</l><block s="evaluate"><block s="reportJSFunction"><list></list><l>var leapScript,&#xD;    done = false;&#xD;leapScript = document.createElement(&apos;script&apos;),&#xD;leapScript.onload = function () {&#xD;    done = true;&#xD;    console.log(&apos;leap is ready&apos;);&#xD;};&#xD;document.head.appendChild(leapScript);&#xD;leapScript.src = &apos;https://js.leapmotion.com/leap-0.6.4.min.js&apos;;&#xD;return function () {return done; }</l></block><list></list></block></block><block s="doWaitUntil"><block s="evaluate"><block var="test"/><list></list></block></block><block s="doRun"><block s="reportJSFunction"><list></list><l>window.controller = new Leap.Controller({enableGestures: true, background: true}); window.controller.connect();</l></block><list></list></block></script></block-definition><block-definition s="square %&apos;side&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doRepeat"><l>4</l><script><block s="forward"><block var="side"/></block><block s="turn"><l>90</l></block></script></block></script></block-definition><block-definition s="polygon corner: %&apos;corner&apos; side: %&apos;side&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doRepeat"><block var="corner"/><script><block s="forward"><block var="side"/></block><block s="turn"><l>45</l></block></script></block></script><scripts><script x="186.7744160625" y="106.000002"><block s="reportQuotient"><l></l><l></l></block></script></scripts></block-definition><block-definition s="label %&apos;text&apos; of size %&apos;size&apos;" type="command" category="pen"><comment x="0" y="0" w="90" collapsed="false">LABEL will stamp text on the stage at the given font size. The direction of the text is the direction the sprite is facing, and color will match the pen color.</comment><header></header><code></code><translations>de:drucke _ in Größe _&#xD;ca:etiqueta _ de mida _&#xD;es:etiqueta _ de tamaño _&#xD;fr:étiquette _ d&apos;une taille de _&#xD;</translations><inputs><input type="%txt">Hello!</input><input type="%n">12</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>text</l><l>size</l></list><l>var stage = this.parentThatIsA(StageMorph),&#xD;    context = stage.penTrails().getContext(&apos;2d&apos;),&#xD;    rotation = radians(this.direction() - 90),&#xD;    trans = new Point(&#xD;      this.center().x - stage.left(),&#xD;      this.center().y - stage.top()&#xD;    ),&#xD;    isWarped = this.Warped,&#xD;    len,&#xD;    pos;&#xD;&#xD;if (isWarped) {endWarp(); }&#xD;context.save();&#xD;context.font = size + &apos;px monospace&apos;;&#xD;context.textAlign = &apos;left&apos;;&#xD;context.textBaseline = &apos;alphabetic&apos;;&#xD;context.fillStyle = this.color.toString();&#xD;len = context.measureText(text).width;&#xD;trans = trans.multiplyBy(1 / stage.scale);&#xD;context.translate(trans.x, trans.y);&#xD;context.rotate(rotation);&#xD;context.fillText(text, 0, 0);&#xD;context.translate(-trans.x, -trans.y);&#xD;context.restore();&#xD;pos = new Point(&#xD;  len * Math.sin(radians(this.direction())),&#xD;  len * Math.cos(radians(this.direction())));&#xD;pos = pos.add(new Point(this.xPosition(), this.yPosition()));&#xD;this.gotoXY(pos.x, pos.y, false);&#xD;this.changed();&#xD;if (isWarped) {this.startWarp(); }&#xD;stage.changed();</l></block><list><block var="text"/><block var="size"/></list></block></script></block-definition><block-definition s="empty? %&apos;data&apos;" type="predicate" category="lists"><header></header><code></code><translations>de:ist _ leer?&#xD;ca:_ buida?&#xD;es:_ vacía?&#xD;fr:_ vide?&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><block var="data"/><block s="reportNewList"><list></list></block></list></block></block></script></block-definition><block-definition s="keep items such that %&apos;pred&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:behalte Elemente, die _ aus _&#xD;ca:manté els elements on _ de _&#xD;es:mantener los elementos donde _ de _&#xD;fr:garder les items tels que _ de _&#xD;</translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIfElse"><block s="evaluate"><block var="pred"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script><script><block s="doReport"><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></script></block></script></block-definition><block-definition s="combine with %&apos;function&apos; items of %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:kombiniere mit _ die Elemente von _&#xD;ca:combina amb _ els elements de _&#xD;es:combinar con _ los elementos de _&#xD;fr:combine avec _ les items de _&#xD;</translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="data"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="data"/></block></block></script></block><block s="doReport"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="combine with %repRing items of %l"><block var="function"/><block s="reportCDR"><block var="data"/></block></custom-block></list></block></block></script></block-definition><block-definition s="if %&apos;test&apos; then %&apos;true&apos; else %&apos;false&apos;" type="reporter" category="control"><header></header><code></code><translations>de:wenn _ dann _ sonst _&#xD;ca:si _ llavors _ si no _&#xD;es:si _ entonces _ sino _&#xD;fr:si _ alors _ sinon _&#xD;</translations><inputs><input type="%b"></input><input type="%anyUE"></input><input type="%anyUE"></input></inputs><script><block s="doIfElse"><block var="test"/><script><block s="doReport"><block s="evaluate"><block var="true"/><list></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="false"/><list></list></block></block></script></block></script></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; to %&apos;end&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations>de:für _ = _ bis _ _&#xD;ca:per _ = _ fins _ _&#xD;es:para _ = _ hasta _ _&#xD;fr:pour _ allant de _ à _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">10</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>step</l><l>tester</l></list></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="start"/><block var="end"/></list></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportVariadicLessThan"><list><block var="i"/><block var="end"/></list></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>step</l><l>1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="end"/></list></block></autolambda><list></list></block></block></script></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doUntil"><block s="evaluate"><block var="tester"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block><block s="doChangeVar"><l>i</l><block var="step"/></block></script></block></script></block-definition><block-definition s="join words %&apos;words&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:füge Wörter zusammen _&#xD;ca:uneix les paraules _&#xD;es:unir las palabras _&#xD;fr:fusionne les mots _&#xD;</translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="words"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="words"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportListItem"><l>1</l><block var="words"/></block></list></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportListItem"><l>2</l><block var="words"/></block></list></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="words"/></block><block s="reportCDR"><block s="reportCDR"><block var="words"/></block></block></block></custom-block></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportListItem"><l>1</l><block var="words"/></block><l> </l><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></list></block></block></script></block-definition><block-definition s="list $arrowRight sentence %&apos;data&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Liste $arrowRight Satz _&#xD;ca:llista $arrowRight frase _&#xD;es:lista $arrowRight frase _&#xD;fr:liste $arrowRight phrase _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="join words %mult%txt"><block var="data"/></custom-block></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Satz $arrowRight Liste _&#xD;ca:frase $arrowRight llista _&#xD;es:frase $arrowRight lista _&#xD;fr:phrase $arrowRight liste _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations>de:fange _ _&#xD;ca:agafa _ _&#xD;es:atrapar _ _&#xD;fr:attrape _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doRun"><block var="action"/><list></list></block></script><list><l>cont</l></list></block></block><custom-block s="ignore %s"><l>3</l></custom-block></script></block-definition><block-definition s="throw %&apos;cont&apos;" type="command" category="control"><header></header><code></code><translations>de:wirf _&#xD;ca:llança _&#xD;es:lanzar _&#xD;fr:lance _&#xD;</translations><inputs><input type="%s">catchtag</input></inputs><script><block s="doRun"><block var="cont"/><list></list></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;value&apos;" type="reporter" category="control"><header></header><code></code><translations>de:fange _ _&#xD;ca:agafa _ _&#xD;es:atrapar _ _&#xD;fr:attrape _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%anyUE"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doReport"><block s="evaluate"><block var="value"/><list></list></block></block></script><list><l>cont</l></list></block></block></script></block-definition><block-definition s="throw %&apos;tag&apos; %&apos;value&apos;" type="command" category="control"><header></header><code></code><translations>de:wirf _ _&#xD;ca:llança _ _&#xD;es:lanzar _ _&#xD;fr:lance _ _&#xD;</translations><inputs><input type="%s">catchtag</input><input type="%s"></input></inputs><script><block s="doRun"><block var="tag"/><list><block var="value"/></list></block></script></block-definition><block-definition s="for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><header></header><code></code><translations>de:für jedes _ von _ _&#xD;ca:per cada _ de _ _&#xD;es:para cada _ de _ _&#xD;fr:pour chaque _ de _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%l"></input><input type="%cs"></input></inputs><script><block s="doUntil"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><block s="doRun"><block var="action"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></block></script></block-definition><block-definition s="if %&apos;test&apos; do %&apos;action&apos; and pause all $pause-1-255-220-0" type="command" category="control"><header></header><code></code><translations>de:falls _ dann _ und pause $pause-1-255-220-0&#xD;ca:si _ fes _ i atura-ho tot $pause-1-255-220-0&#xD;es:si _ haz _ y páralo todo $pause-1-255-220-0&#xD;fr:si _ faire _ et mettre tout en pause $pause-1-255-220-0&#xD;</translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>breakpoint</l></list></block><block s="doIf"><block s="evaluate"><block var="test"/><list></list></block><script><block s="doSetVar"><l>breakpoint</l><block var="test"/></block><block s="doShowVar"><l>breakpoint</l></block><block s="doRun"><block var="action"/><list></list></block><block s="doPauseAll"></block><block s="doHideVar"><l></l></block></script></block></script></block-definition><block-definition s="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Wort $arrowRight Liste _&#xD;ca:paraula $arrowRight llista _&#xD;es:palabra $arrowRight lista _&#xD;fr:mot $arrowRight liste _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations>de:ignoriere _&#xD;ca:ignora _&#xD;es:ignorar _&#xD;fr:ignore _&#xD;</translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><header></header><code></code><translations>de:Liste $arrowRight Wort _&#xD;ca:llista $arrowRight paraula _&#xD;es:lista $arrowRight palabra _&#xD;fr:liste $arrowRight mot _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block-definition><block-definition s="%&apos;x&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block var="x"/></block></script></block-definition><block-definition s="numbers from %&apos;from&apos; to %&apos;to&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:Zahlen von _ bis _&#xD;ca:nombres des de _ a _&#xD;es:números de _ a _&#xD;fr:nombres de _ à _&#xD;</translations><inputs><input type="%n">1</input><input type="%n">10</input></inputs><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="from"/><block var="to"/></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block var="from"/><custom-block s="numbers from %n to %n"><block s="reportVariadicSum"><list><block var="from"/><l>1</l></list></block><block var="to"/></custom-block></block></block></script></block-definition><block-definition s="map %&apos;func&apos; over %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:wende _ an auf _&#xD;ca:mapeja _ sobre _&#xD;es:mapear _ sobre _&#xD;fr:appliquer _ à _&#xD;</translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block var="data"/></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="func"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><custom-block s="map %repRing over %l"><block var="func"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script></block-definition></blocks><stage name="Bühne" width="480" height="360" costume="1" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="1440"><pentrails>data:image/png;base64,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2be48MzytDjjD9ZCBycq8c5X+6bpYH5SyXd5Pmcbexrdm9UVJXqLAAJREyABRy1iFWjvu1NVfk9nlM/31LsrK9CE31d53hZ/aC5ps3zSNE+GTdUB/LgScE9+0DatnMxiB7+H4gcEEAi9AAk49CEKRwOHp6p0WrrQ2yVKwuvL2apFA/4jmhhjeLED1XuwXo9oOoyVQ0Na7GA/t62cbaEuBBBAICgBEnBQklVQTmu/n627iG+qc3ZcR717vZRdbun1h2tYeY6GlM/Qa3/Vu1ETZHyPxQ5KqU7ZCCBQTgEScDm1Y1CXkvA31I2P1qXtnA4X4LSM3rv2QTtiaNBO09zLp+omqiYdnA/5hN3FYgcxOHDoAgII7CZAAt6NhDf2JnCx9w29WVuvmaPu6Uq7G/e27UifFRY7qNdiB7qGe7rOcOdq+1q9Nmht3TVvvWFPbJjKYgcjGfI5AghEV4AEHN3YVazlej74MD2WtC4xZAs6m9wTY2mIku7E2qxNT+TtTO13il45PWd8v85473klZU9qPcShsZTHtggggEBUBUjAUY1chdu9qM+36iz4Mp2tzuietPepKocXOxjQYgd5a9bZ7qzCYge6vvtP2v++KWl76iqnW6z4QgABBKpMgARcZQEPsru6HtyhM1evu6Iv2rXcwmIHA/32KS3ocK5uopqpIea3dbDdq+/3dzew2MGuXvyOAALVJ0ACrr6YB9bjwlSVGoouPJp0TU+D6yksdjCUtmOUZBco8X5GB9erSr7f9znboIkxWOwgMHkKQgCBOAiQgOMQxQr2oTXjP6mEe6fOhJ/SwfQJJdwXNMS8OjdkDy5vYrGDCoaGqhFAIOQCJOCQBygKzdMzu1frjLc3n7TVK1Pu5Si0mTYigAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCIxX4P8DQm8JnsYi178AAAAASUVORK5CYII=</pentrails><costumes><list id="1441"><item><ref mediaID="Bühne_cst_Unbenannt"></ref></item></list></costumes><sounds><list struct="atomic" id="1442"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Stift" idx="1" x="19.999999999984766" y="20.0000000000245" heading="219.99999999996157" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="94,245,255,1" pen="tip" id="1447"><costumes><list struct="atomic" id="1448"></list></costumes><sounds><list struct="atomic" id="1449"></list></sounds><blocks></blocks><variables></variables><scripts><script x="125.999999" y="10"><block s="receiveGo"></block><block s="setColor"><color>255,155,133,1</color></block><block s="down"></block><block s="doSetVar"><l>seitenlänge</l><l>60</l></block><block s="doSetVar"><l>seitenzahl</l><l>5</l></block><block s="doRepeat"><l>100</l><script><block s="clear"></block><block s="doWarp"><script><block s="doRepeat"><block var="seitenzahl"/><script><block s="forward"><block var="seitenlänge"/></block><block s="turn"><block s="reportQuotient"><l>360</l><block var="seitenzahl"/></block></block></script></block></script></block><block s="turn"><l>100</l></block></script></block><block s="up"></block><block s="setColor"><color>138,0,130,1</color></block><block s="down"></block><block s="doSetVar"><l>seitenlänge</l><l>80</l></block><block s="doSetVar"><l>seitenzahl</l><l>5</l></block><block s="doRepeat"><l>100</l><script><block s="clear"></block><block s="doWarp"><script><block s="doRepeat"><block var="seitenzahl"/><script><block s="forward"><block var="seitenlänge"/></block><block s="turn"><block s="reportQuotient"><l>360</l><block var="seitenzahl"/></block></block></script></block></script></block><block s="turn"><l>80</l></block></script></block><block s="up"></block><block s="setColor"><color>33,245,0,1</color></block><block s="down"></block><block s="doSetVar"><l>seitenlänge</l><l>100</l></block><block s="doSetVar"><l>seitenzahl</l><l>5</l></block><block s="doRepeat"><l>100</l><script><block s="clear"></block><block s="doWarp"><script><block s="doRepeat"><block var="seitenzahl"/><script><block s="forward"><block var="seitenlänge"/></block><block s="turn"><block s="reportQuotient"><l>360</l><block var="seitenzahl"/></block></block></script></block></script></block><block s="turn"><l>60</l></block></script></block><block s="up"></block><block s="setColor"><color>94,245,255,1</color></block><block s="down"></block><block s="doSetVar"><l>seitenlänge</l><l>120</l></block><block s="doSetVar"><l>seitenzahl</l><l>5</l></block><block s="doRepeat"><l>100</l><script><block s="clear"></block><block s="doWarp"><script><block s="doRepeat"><block var="seitenzahl"/><script><block s="forward"><block var="seitenlänge"/></block><block s="turn"><block s="reportQuotient"><l>360</l><block var="seitenzahl"/></block></block></script></block></script></block><block s="turn"><l>40</l></block></script></block></script></scripts></sprite><watcher var="seitenlänge" style="normal" x="10" y="10" color="243,118,29"/><watcher var="seitenzahl" style="normal" x="10" y="31.000001999999995" color="243,118,29"/></sprites></stage><variables><variable name="seitenlänge"><l>120</l></variable><variable name="seitenzahl"><l>5</l></variable></variables></scene></scenes></project><media name="L1" app="Snap! 8.2, https://snap.berkeley.edu" version="2"><costume name="Unbenannt" center-x="240" center-y="180" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAB4KADAAQAAAABAAABaAAAAAAHwbojAAAOjklEQVR4Ae3VwQnAMAwEQcX995zk4Rq0nzH4fTAI9pmZ9/8eAQIECBAgsChwFrdMESBAgAABAldAgJ0CAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEBNgNECBAgACBQECAA3STBAgQIEBAgN0AAQIECBAIBAQ4QDdJgAABAgQE2A0QIECAAIFAQIADdJMECBAgQECA3QABAgQIEAgEBDhAN0mAAAECBATYDRAgQIAAgUBAgAN0kwQIECBAQIDdAAECBAgQCAQEOEA3SYAAAQIEPrsvA8+MDc1EAAAAAElFTkSuQmCC" mediaID="Bühne_cst_Unbenannt"/></media></snapdata>