<snapdata remixID="11294705"><project name="SciSnap!" app="Snap! 10, https://snap.berkeley.edu" version="2"><notes>SciSnap! lets you runs blocks to make it techinal and hydroid.&#xD;Powered by SciSnap!</notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="SciSnap!"><notes>SciSnap! lets you runs blocks to make it techinal and hydroid.&#xD;Powered by SciSnap!</notes><palette><category name="1. SciSnap! globals" color="0,170,170,1"/><category name="2. Math tools" color="0,180,50,1"/><category name="5. PlotPad for data plots" color="150,175,80,1"/><category name="4. SQL tools" color="255,150,0,1"/><category name="7. GraphPad for graph operations" color="230,160,70,1"/><category name="8. NNPad for neural networks" color="200,100,0,1"/><category name="3. Data tools" color="220,50,0,1"/><category name="6. ImagePad for image operations" color="200,170,50,1"/><category name="0. My own blocks" color="179,120,0,1"/><category name="9. GridPad for grid operations" color="180,70,100,1"/></palette><hidden></hidden><headers></headers><code></code><blocks><block-definition s="start SciSnap!" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="143.1691406249999" collapsed="false">Initialization of SciSnap!</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/SciSnapExtensions.js</l></list></block><block s="doWarp"><script><block s="doApplyExtension"><l>SciS_addMenuItemForSciSnapManuals()</l><list></list></block><custom-block s="Switch to SciSnap! logo"></custom-block><custom-block s="set SciSnap! global variables and properties"></custom-block><block s="doApplyExtension"><l>SciS_setvalue(which,value)</l><list><l>Stage size</l><block s="reportNewList"><list><l>800</l><l>600</l></list></block></list></block><block s="doSwitchToCostume"><l>HilbertoLeft</l></block></script></block></script><scripts><script x="424" y="85.30000000000001"><block s="doApplyExtension"><l>src_load(url)</l><list><l>https://emu-online.de/SciSnapExtensions.js</l></list><comment w="90" collapsed="false">alternative server</comment></block></script></scripts></block-definition><block-definition s="set SciSnap! global variables and properties" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="220.79868031547676" collapsed="false">Creates global variables &quot;SciSnap!Properties&quot;, &quot;SciSnap!Data&quot;, and &quot;SciSnap!Messages&quot;. &#xD;Sets the default values of global SciSnap!-properties for items&#xD;typeOfData&#xD;width&#xD;height&#xD;minValue&#xD;maxValue&#xD;columns&#xD;rows&#xD;maxSetValue</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doWarp"><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>global</l><l>SciSnap!Properties</l></list></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>global</l><l>SciSnap!Data</l></list></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>global</l><l>SciSnap!Messages</l></list></block><block s="doSetVar"><l>SciSnap!Properties</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>SciSnap!Messages</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>SciSnap!Data</l><block s="reportNewList"><list></list></block></block><custom-block s="set SciSnap! global property %s to %s"><l>typeOfData</l><l>not set</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>width</l><l>not set</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>height</l><l>not set</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>minValue</l><l>not set</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>maxValue</l><l>not set</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><l>0</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>rows</l><l>0</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>maxSetValue</l><l>500</l></custom-block></script></block></script></block-definition><block-definition s="SciSnap! global property %&apos;key&apos;" type="reporter" category="1. SciSnap! globals"><comment x="0" y="0" w="143.3333333333334" collapsed="false">Returns the value of an existing global SciSnap!-property or &quot;&quot;.&#xD;&#xD;Items:&#xD;typeOfData&#xD;width&#xD;height&#xD;minValue&#xD;maxValue&#xD;columns&#xD;rows&#xD;maxSetValue</comment><header></header><code></code><translations></translations><inputs><input type="%s">minValue<options>typeOfData&#xD;width&#xD;height&#xD;minValue&#xD;maxValue&#xD;columns&#xD;rows&#xD;maxSetValue</options></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportListItem"><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="key"/><l> </l></block></block><block var="SciSnap!Properties"/></block></block></script></block></script></block-definition><block-definition s="set SciSnap! global property %&apos;name&apos; to %&apos;value&apos;" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="167.5" collapsed="false">Sets the value of an existing global SciSnap!-property or inserts it anew.&#xD;&#xD;Items:&#xD;typeOfData&#xD;width&#xD;height&#xD;minValue&#xD;maxValue&#xD;columns&#xD;rows&#xD;maxSetValue</comment><header></header><code></code><translations></translations><inputs><input type="%s">minValue<options>typeOfData&#xD;width&#xD;height&#xD;minValue&#xD;maxValue&#xD;columns&#xD;rows&#xD;maxSetValue</options></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>done</l><l>h</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>name</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="name"/><l> </l></block></block></block><block s="doSetVar"><l>done</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>h</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><block s="reportListItem"><l>1</l><l/></block></list></block><script><block s="doReplaceInList"><l>2</l><l/><block var="value"/></block><block s="doSetVar"><l>done</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="doReport"><l></l></block></script><list></list></block><block var="SciSnap!Properties"/></block></block><block s="doIf"><block s="reportNot"><block var="done"/></block><script><block s="doAddToList"><block s="reportNewList"><list><block var="name"/><block var="value"/></list></block><block var="SciSnap!Properties"/></block></script><list></list></block></script></block></script></block-definition><block-definition s="show global message title: %&apos;title&apos; $nl message: %&apos;message&apos;" type="command" category="looks"><comment x="0" y="0" w="171.99999999999997" collapsed="false">Shows the message with headline in the middle of the window.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">headline</input><input type="%txt">theMessage</input></inputs><script><block s="doWarp"><script><block s="doApplyExtension"><l>SciS_showmessage(title,message)</l><list><block var="title"/><block var="message"/></list></block></script></block></script></block-definition><block-definition s="report SciSnap! error %&apos;errortext&apos;" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="189.5" collapsed="false">Adds a new entry to SciSnap!Messages and shows the error message.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">something wrong!</input></inputs><script><block s="doAddToList"><block var="errortext"/><block var="SciSnap!Messages"/></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><l>Stage</l></block></list></block><script><custom-block s="show global message title: %txt %br message: %txt"><l>ERROR:</l><block var="errortext"/></custom-block></script><script><block s="doSayFor"><block var="errortext"/><l>1</l></block></script></block></script></block-definition><block-definition s="copy of costume %&apos;costume&apos;" type="reporter" category="looks"><comment x="0" y="0" w="143.66666666666657" collapsed="false">Reports a copy of a costume.</comment><header></header><code></code><translations></translations><inputs><input type="%obj"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_costumecopy(costume)</l><list><block var="costume"/></list></block></block></script></block-definition><block-definition s="costume of %&apos;sprite&apos;" type="reporter" category="looks"><comment x="0" y="0" w="154.1666666666665" collapsed="false">Reports the costume of a sprite.</comment><header></header><code></code><translations></translations><inputs><input type="%obj"></input></inputs><script><block s="doReport"><block s="reportAskFor"><block var="sprite"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block></block></script></block-definition><block-definition s="random" type="reporter" category="operators" space="true"><comment x="0" y="0" w="88.99989905108039" collapsed="false">Returns a random number between 0 and 1.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportRandom"><l>0.0000000000000000000001</l><l>1</l></block></block></script></block-definition><block-definition s="π" type="reporter" category="operators"><comment x="0" y="0" w="65.33333333333333" collapsed="false">Reports Pi.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l>3.141592653589793</l></block></script></block-definition><block-definition s="e" type="reporter" category="operators"><comment x="0" y="0" w="122.33333333333326" collapsed="false">Reports Euler&apos;s number.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportMonadic"><l><option>e^</option></l><l>1</l></block></block></script></block-definition><block-definition s="round %&apos;x&apos; to %&apos;n&apos; digits" type="reporter" category="operators"><comment x="0" y="0" w="127.00000000000004" collapsed="false">Rounds value x to n digits.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1.2357</input><input type="%n">2</input></inputs><script><block s="doDeclareVariables"><list><l>basis</l><l>absval</l><l>expon</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>absval</l><block s="reportMonadic"><l><option>abs</option></l><block var="x"/></block></block><block s="doSetVar"><l>basis</l><block s="reportMonadic"><l><option>10^</option></l><block s="reportVariadicProduct"><list><l>-1</l><block var="n"/></list></block></block></block><block s="doSetVar"><l>expon</l><block s="reportRound"><block s="reportMonadic"><l><option>log</option></l><block var="absval"/></block></block></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="absval"/><block var="basis"/></list></block><script><block s="doSetVar"><l>basis</l><block s="reportMonadic"><l><option>10^</option></l><block var="expon"/></block></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportQuotient"><block s="reportRound"><block s="reportVariadicProduct"><list><block s="reportQuotient"><block var="x"/><block var="basis"/></block><block s="reportMonadic"><l><option>10^</option></l><block var="n"/></block></list></block></block><block s="reportMonadic"><l><option>10^</option></l><block var="n"/></block></block><l>e</l><block var="expon"/></list></block></block></script><script><block s="doReport"><block s="reportQuotient"><block s="reportRound"><block s="reportVariadicProduct"><list><block var="x"/><block s="reportMonadic"><l><option>10^</option></l><block var="n"/></block></list></block></block><block s="reportMonadic"><l><option>10^</option></l><block var="n"/></block></block></block></script></block></script></block></script></block-definition><block-definition s="%&apos;n&apos; !" type="reporter" category="operators"><comment x="0" y="0" w="106.66666666666667" collapsed="false">The factorial function.</comment><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="n"/><l>0</l></list></block><l>1</l><block s="reportVariadicProduct"><list><block var="n"/><custom-block s="%n !"><block s="reportDifference"><block var="n"/><l>1</l></block></custom-block></list></block></block></block></script></block-definition><block-definition s="( %&apos;n&apos; ) $nl ( %&apos;k&apos; )" type="reporter" category="operators"><comment x="0" y="0" w="93.3589743589743" collapsed="false">Reports a binomial coefficient.</comment><header></header><code></code><translations></translations><inputs><input type="%n">5</input><input type="%n">3</input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportVariadicProduct"><list><l>2</l><block var="k"/></list></block><block var="n"/></list></block><script><block s="doSetVar"><l>k</l><block s="reportDifference"><block var="n"/><block var="k"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="k"/><l>1</l></list></block><script><block s="doReport"><l>1</l></block></script><list></list></block><block s="doSetVar"><l>result</l><l>1</l></block><block s="doSetVar"><l>n</l><block s="reportVariadicSum"><list><block var="n"/><l>1</l></list></block></block><block s="doFor"><l>i</l><l>1</l><block var="k"/><script><block s="doSetVar"><l>result</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="result"/><block s="reportDifference"><block var="n"/><block var="i"/></block></list></block><block var="i"/></block></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="is %&apos;data&apos; a %&apos;choice&apos;" type="predicate" category="operators"><comment x="0" y="0" w="212.35029354207427" collapsed="false">Test on vector, matrix, table, predicate, interval, list of intervals, set, dictionary or complex-number.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%txt" readonly="true">vector<options>vector&#xD;row-vector&#xD;column-vector&#xD;matrix&#xD;table&#xD;dictionary&#xD;complex-number&#xD;complex-number-Cartesian-form&#xD;complex-number-polar-form&#xD;set&#xD;comparisonOperator&#xD;interval&#xD;listOfIntervals&#xD;numericalList</options></input></inputs><script><block s="doDeclareVariables"><list><l>width</l><l>result</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>comparisonOperator</l></list></block><script><block s="doReport"><block s="reportListContainsItem"><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicNotEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><l/><l/></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><l/><l/></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block></list></block><block var="data"/></block></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>vector</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doIf"><custom-block s="is %s a %txt"><block var="data"/><l>row-vector</l></custom-block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="doReport"><custom-block s="is %s a %txt"><block var="data"/><l>column-vector</l></custom-block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>row-vector</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_isType(data,selection)</l><list><block var="data"/><l>row-vector</l></list></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>column-vector</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_isType(data,selection)</l><list><block var="data"/><l>column-vector</l></list></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>matrix</l></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="data"/></block><l><option>list</option></l></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_isType(data,selection)</l><list><block var="data"/><l>matrix</l></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>table</l></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="data"/><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="data"/></block><l><option>list</option></l></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_isType(data,selection)</l><list><block var="data"/><l>table</l></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>dictionary</l></list></block><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="data"/></block><block s="reportNewList"><list><l>key</l><l>value</l></list></block></list></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doReport"><block s="reportVariadicAnd"><list><custom-block s="is %s a %txt"><block var="data"/><l>table</l></custom-block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>2</l></list></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>interval</l></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>4</l></list></block><script><block s="doReport"><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="data"/></block><l><option>number</option></l></block><block s="reportIsA"><block s="reportListItem"><l>4</l><block var="data"/></block><l><option>number</option></l></block><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="data"/></block><block s="reportListItem"><l>4</l><block var="data"/></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="data"/></block><l>≤</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="data"/></block><l>&lt;</l></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="data"/></block><l>≤</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="data"/></block><l>&lt;</l></list></block></list></block></list></block></block></script><list></list></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>complex-number</l></list></block><script><block s="doReport"><block s="reportVariadicOr"><list><custom-block s="is %s a %txt"><block var="data"/><l>complex-number-Cartesian-form</l></custom-block><custom-block s="is %s a %txt"><block var="data"/><l>complex-number-polar-form</l></custom-block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>complex-number-Cartesian-form</l></list></block><script><block s="doReport"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>3</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="data"/></block><l>cnC</l></list></block><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="data"/></block><l><option>number</option></l></block><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="data"/></block><l><option>number</option></l></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>complex-number-polar-form</l></list></block><script><block s="doReport"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>3</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="data"/></block><l>cnP</l></list></block><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="data"/></block><l><option>number</option></l></block><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="data"/></block><l><option>number</option></l></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>listOfIntervals</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doForEach"><l>item</l><block var="data"/><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="item"/><l>interval</l></custom-block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>set</l></list></block><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="data"/></block><l>set</l></list></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>5</l></list></block></list></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doReport"><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="data"/></block><l><option>Boolean</option></l></block><block s="reportIsA"><block s="reportListItem"><l>3</l><block var="data"/></block><l><option>list</option></l></block><custom-block s="is %s a %txt"><block s="reportListItem"><l>4</l><block var="data"/></block><l>listOfIntervals</l></custom-block><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>5</l><block var="data"/></block><l></l></list></block><block s="reportIsA"><block s="reportListItem"><l>5</l><block var="data"/></block><l><option>predicate</option></l></block></list></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>numericalList</l></list></block><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportIsA"><l></l><l><option>number</option></l></block></block></autolambda><list></list></block><block var="data"/></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="substring of %&apos;aString&apos; from %&apos;from&apos; to %&apos;to&apos;" type="reporter" category="operators"><comment x="0" y="0" w="94.74358974358977" collapsed="false">Reports a substring of a string.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisString</input><input type="%n">1</input><input type="%n">4</input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_stringOperations(operation,params)</l><list><l>substring</l><block s="reportNewList"><list><block var="aString"/><block var="from"/><block var="to"/></list></block></list></block></block></script></block-definition><block-definition s="delete %&apos;choice&apos; %&apos;substring&apos; in %&apos;aString&apos;" type="reporter" category="operators"><comment x="0" y="0" w="110.19230769230774" collapsed="false">Reports a string without first/all instances of substring.</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">all<options>all&#xD;first</options></input><input type="%txt">this</input><input type="%txt">thisString</input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_stringOperations(operation,params)</l><list><l>delete</l><block s="reportNewList"><list><block var="choice"/><block var="substring"/><block var="aString"/></list></block></list></block></block></script></block-definition><block-definition s="upper case %&apos;aString&apos;" type="reporter" category="operators"><comment x="0" y="0" w="140.83333333333334" collapsed="false">Reports a string in upper case.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisString</input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_uppercase(txt)</l><list><block var="aString"/></list></block></block></script></block-definition><block-definition s="lower case %&apos;aString&apos;" type="reporter" category="operators"><comment x="0" y="0" w="144.16666666666669" collapsed="false">Reports a string in lower case.</comment><header></header><code></code><translations></translations><inputs><input type="%s">ThisString</input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_lowercase(txt)</l><list><block var="aString"/></list></block></block></script></block-definition><block-definition s="write text %&apos;theText&apos; to TXT-file %&apos;filename&apos;" type="command" category="operators"><comment x="0" y="0" w="116.14677103718192" collapsed="false">Stores a string in a file. </comment><header></header><code></code><translations></translations><inputs><input type="%txt">this text</input><input type="%txt">this file</input></inputs><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="theText"/><l><option>text</option></l></block><block s="reportIsA"><block var="filename"/><l><option>text</option></l></block></list></block><script><block s="doApplyExtension"><l>SciS_writeToFile(data,filename)</l><list><block var="theText"/><block var="filename"/></list></block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: text as data and filename required!</l></custom-block></script></block></script></block-definition><block-definition s="index of %&apos;substring&apos; in %&apos;aString&apos;" type="reporter" category="operators"><comment x="0" y="0" w="119.23076923076921" collapsed="false">Reports the index of first appearance of substring in string.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">ring</input><input type="%txt">thisString</input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>txt_indexof(sub, txt)</l><list><block var="substring"/><block var="aString"/></list></block></block></script></block-definition><block-definition s="replace %&apos;choice&apos; %&apos;substring&apos; with %&apos;replacement&apos; in %&apos;aString&apos;" type="reporter" category="operators" space="true"><comment x="0" y="0" w="99.8076923076923" collapsed="false">Reports a string with replacement instead of substring.</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">all<options>all&#xD;first</options></input><input type="%txt">this</input><input type="%txt">that</input><input type="%txt">thisString</input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_stringOperations(operation,params)</l><list><l>replace</l><block s="reportNewList"><list><block var="choice"/><block var="substring"/><block var="replacement"/><block var="aString"/></list></block></list></block></block></script></block-definition><block-definition s="datetime" type="reporter" category="sensing" space="true"><comment x="0" y="0" w="117.53846153846155" collapsed="false">Reports date and time in standard notation.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>month</l><l>hour</l><l>minute</l><l>second</l><l>day</l><l>f</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>month</l><block s="reportDate"><l><option>month</option></l></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="month"/><l>10</l></list></block><script><block s="doSetVar"><l>month</l><block s="reportJoinWords"><list><l>0</l><block var="month"/></list></block></block></script><list></list></block><block s="doSetVar"><l>day</l><block s="reportDate"><l><option>date</option></l></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="day"/><l>10</l></list></block><script><block s="doSetVar"><l>day</l><block s="reportJoinWords"><list><l>0</l><block var="day"/></list></block></block></script><list></list></block><block s="doSetVar"><l>hour</l><block s="reportDate"><l><option>hour</option></l></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="hour"/><l>10</l></list></block><script><block s="doSetVar"><l>hour</l><block s="reportJoinWords"><list><l>0</l><block var="hour"/></list></block></block></script><list></list></block><block s="doSetVar"><l>minute</l><block s="reportDate"><l><option>minute</option></l></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="minute"/><l>10</l></list></block><script><block s="doSetVar"><l>minute</l><block s="reportJoinWords"><list><l>0</l><block var="minute"/></list></block></block></script><list></list></block><block s="doSetVar"><l>second</l><block s="reportDate"><l><option>second</option></l></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="second"/><l>10</l></list></block><script><block s="doSetVar"><l>second</l><block s="reportJoinWords"><list><l>0</l><block var="second"/></list></block></block></script><list></list></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportDate"><l><option>year</option></l></block><l>-</l><block var="month"/><l>-</l><block var="day"/><l>T</l><block var="hour"/><l>:</l><block var="minute"/><l>:</l><block var="second"/></list></block></block></script></block></script></block-definition><block-definition s="datetime: %&apos;dt&apos; $arrowRight %&apos;time&apos;" type="reporter" category="sensing"><comment x="0" y="0" w="97.6923076923077" collapsed="false">Reports the selected part of the datetime.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt" readonly="true">seconds today<options>Julian Date&#xD;decimal years&#xD;days this year&#xD;hours this year&#xD;minutes this year&#xD;seconds this year&#xD;hours today&#xD;minutes today&#xD;seconds today</options></input></inputs><script><block s="doDeclareVariables"><list><l>h</l><l>m</l><l>s</l><l>hms</l><l>separator</l><l>YYYY</l><l>MM</l><l>DD</l><l>YMD</l><l>monthdays</l><l>days</l><l>JD</l><l>jm</l><l>jy</l><l>i</l><l>p</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>monthdays</l><block s="reportNewList"><list><l>31</l><l>28</l><l>31</l><l>30</l><l>31</l><l>30</l><l>31</l><l>31</l><l>30</l><l>31</l><l>30</l><l>31</l></list></block></block><block s="doSetVar"><l>separator</l><custom-block s="index of %txt in %txt"><l>T</l><block var="dt"/></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="separator"/><l>0</l></list></block><script><block s="doSetVar"><l>separator</l><custom-block s="index of %txt in %txt"><l> </l><block var="dt"/></custom-block></block></script><list></list></block><block s="doSetVar"><l>YYYY</l><custom-block s="substring of %txt from %n to %n"><block var="dt"/><l>1</l><block s="reportDifference"><block var="separator"/><l>7</l></block></custom-block></block><block s="doSetVar"><l>MM</l><custom-block s="substring of %txt from %n to %n"><block var="dt"/><block s="reportDifference"><block var="separator"/><l>5</l></block><block s="reportDifference"><block var="separator"/><l>4</l></block></custom-block></block><block s="doSetVar"><l>DD</l><custom-block s="substring of %txt from %n to %n"><block var="dt"/><block s="reportDifference"><block var="separator"/><l>2</l></block><block s="reportDifference"><block var="separator"/><l>1</l></block></custom-block></block><block s="doSetVar"><l>h</l><custom-block s="substring of %txt from %n to %n"><block var="dt"/><block s="reportVariadicSum"><list><block var="separator"/><l>1</l></list></block><block s="reportVariadicSum"><list><block var="separator"/><l>2</l></list></block></custom-block></block><block s="doSetVar"><l>m</l><custom-block s="substring of %txt from %n to %n"><block var="dt"/><block s="reportVariadicSum"><list><block var="separator"/><l>4</l></list></block><block s="reportVariadicSum"><list><block var="separator"/><l>5</l></list></block></custom-block></block><block s="doSetVar"><l>s</l><custom-block s="substring of %txt from %n to %n"><block var="dt"/><block s="reportVariadicSum"><list><block var="separator"/><l>7</l></list></block><block s="reportTextAttribute"><l><option>length</option></l><block var="dt"/></block></custom-block></block><block s="doSetVar"><l>days</l><block var="DD"/></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportDifference"><block var="MM"/><l>1</l></block></list></block><script><block s="doChangeVar"><l>days</l><block s="reportListItem"><block var="i"/><block var="monthdays"/></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="YYYY"/><l>4</l></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block var="MM"/><l>2</l></list></block></list></block><script><block s="doChangeVar"><l>days</l><l>1</l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="time"/><l>Julian Date</l></list></block><script><block s="doIf"><block s="reportVariadicLessThan"><list><block var="YYYY"/><l>0</l></list></block><script><block s="doChangeVar"><l>YYYY</l><l>1</l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="MM"/><l>2</l></list></block><script><block s="doSetVar"><l>jy</l><block var="YYYY"/></block><block s="doSetVar"><l>jm</l><block s="reportVariadicSum"><list><block var="MM"/><l>1</l></list></block></block></script><script><block s="doSetVar"><l>jy</l><block s="reportDifference"><block var="YYYY"/><l>1</l></block></block><block s="doSetVar"><l>jm</l><block s="reportVariadicSum"><list><block var="MM"/><l>13</l></list></block></block></script></block><block s="doSetVar"><l>JD</l><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportMonadic"><l><option>floor</option></l><block s="reportVariadicProduct"><list><l>365.25</l><block var="jy"/></list></block></block><block s="reportMonadic"><l><option>floor</option></l><block s="reportVariadicProduct"><list><l>30.6001</l><block var="jm"/></list></block></block></list></block><block s="reportVariadicSum"><list><block var="DD"/><l>1720995</l></list></block></list></block></block><block s="doIf"><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportVariadicSum"><list><block var="DD"/><block s="reportVariadicProduct"><list><l>31</l><block s="reportVariadicSum"><list><block var="MM"/><block s="reportVariadicProduct"><list><l>12</l><block var="YYYY"/></list></block></list></block></list></block></list></block><block s="reportVariadicSum"><list><l>15</l><block s="reportVariadicProduct"><list><l>31</l><block s="reportVariadicSum"><list><l>10</l><block s="reportVariadicProduct"><list><l>12</l><l>1582</l></list></block></list></block></list></block></list></block></list></block><script><block s="doChangeVar"><l>JD</l><block s="reportVariadicSum"><list><block s="reportDifference"><l>2</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportVariadicProduct"><list><l>0.01</l><block var="jy"/></list></block></block></block><block s="reportMonadic"><l><option>floor</option></l><block s="reportVariadicProduct"><list><block s="reportVariadicProduct"><list><l>0.01</l><l>0.25</l></list></block><block var="jy"/></list></block></block></list></block></block></script><list></list></block><block s="doReport"><block s="reportVariadicSum"><list><block var="JD"/><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportDifference"><block var="h"/><l>12</l></block><block s="reportQuotient"><block var="m"/><l>60</l></block></list></block><block s="reportQuotient"><block var="s"/><l>3600</l></block></list></block><l>24</l></block></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="time"/><l>decimal years</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block var="YYYY"/><block s="reportQuotient"><block s="reportVariadicSum"><list><block var="days"/><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block var="h"/><block s="reportQuotient"><block var="m"/><l>60</l></block></list></block><block s="reportQuotient"><block var="s"/><l>3600</l></block></list></block><l>24</l></block></list></block><l>365.252199</l></block></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="time"/><l>days this year</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block var="days"/><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block var="h"/><block s="reportQuotient"><block var="m"/><l>60</l></block></list></block><block s="reportQuotient"><block var="s"/><l>3600</l></block></list></block><l>24</l></block></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="time"/><l>hours this year</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>24</l><block var="days"/></list></block><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block var="h"/><block s="reportQuotient"><block var="m"/><l>60</l></block></list></block><block s="reportQuotient"><block var="s"/><l>3600</l></block></list></block></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="time"/><l>minutes this year</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportVariadicProduct"><list><l>24</l><l>60</l></list></block><block var="days"/></list></block><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="h"/><l>60</l></list></block><block var="m"/></list></block><block s="reportQuotient"><block var="s"/><l>60</l></block></list></block></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="time"/><l>seconds this year</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportVariadicProduct"><list><l>24</l><l>3600</l></list></block><block var="days"/></list></block><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="h"/><l>3600</l></list></block><block s="reportVariadicProduct"><list><block var="m"/><l>60</l></list></block></list></block><block var="s"/></list></block></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="time"/><l>hours today</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block var="h"/><block s="reportQuotient"><block var="m"/><l>60</l></block></list></block><block s="reportQuotient"><block var="s"/><l>3600</l></block></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="time"/><l>minutes today</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="h"/><l>60</l></list></block><block var="m"/></list></block><block s="reportQuotient"><block var="s"/><l>60</l></block></list></block></block></script><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="h"/><l>3600</l></list></block><block s="reportVariadicProduct"><list><block var="m"/><l>60</l></list></block></list></block><block var="s"/></list></block></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block-definition><block-definition s="all of %&apos;preds&apos;" type="predicate" category="operators"><comment x="0" y="0" w="247.99999999999997" collapsed="false">Takes any number of Boolean (true/false) inputs (use the left and right arrowheads to adjust the number of input slots) and reports TRUE only if all of the inputs are TRUE, otherwise FALSE.  Like AND but for multiple inputs.</comment><header></header><code></code><translations>pt:todas as afirmações _ são verdadeiras&#xD;</translations><inputs><input type="%mult%boolUE"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="preds"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="doReport"><block s="reportVariadicAnd"><list><block s="evaluate"><block s="reportListItem"><l>1</l><block var="preds"/></block><list></list></block><custom-block s="all of %mult%boolUE"><block s="reportCDR"><block var="preds"/></block></custom-block></list></block></block></script></block-definition><block-definition s="any of %&apos;preds&apos;" type="predicate" category="operators"><comment x="0" y="0" w="240" collapsed="false">Takes any number of Boolean (true/false) inputs (use the left and right arrowheads to adjust the number of input slots) and reports TRUE if at least one input is TRUE, otherwise FALSE.</comment><header></header><code></code><translations>pt:alguma das afirmações _ é verdadeira&#xD;</translations><inputs><input type="%mult%boolUE"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="preds"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doReport"><block s="reportVariadicOr"><list><block s="evaluate"><block s="reportListItem"><l>1</l><block var="preds"/></block><list></list></block><custom-block s="any of %mult%boolUE"><block s="reportCDR"><block var="preds"/></block></custom-block></list></block></block></script></block-definition><block-definition s="new costume %&apos;width&apos; %&apos;height&apos; %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="reporter" category="looks"><comment x="0" y="0" w="389.7865234374999" collapsed="false">Returns an empty costume of the given width and height with background color r/g/b.</comment><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></list></block></block></script></block-definition><block-definition s="is the global %&apos;global&apos; property %&apos;prop&apos; $nl with value %&apos;value&apos; present ?" type="predicate" category="1. SciSnap! globals"><comment x="0" y="0" w="154.16666666666669" collapsed="false">Tests the value of a property.</comment><header></header><code></code><translations></translations><inputs><input type="%b">false</input><input type="%txt">typeOfConfiguration</input><input type="%s">MathPad</input></inputs><script><block s="doIfElse"><block var="global"/><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_ispropertypresent(properties,name,value)</l><list><l>SciSnap!Properties</l><block var="prop"/><block var="value"/></list></block></block></script><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_ispropertypresent(properties,name,value)</l><list><l>myProperties</l><block var="prop"/><block var="value"/></list></block></block></script></block></script></block-definition><block-definition s="%&apos;choice&apos; %&apos;n&apos; of %&apos;table&apos; $arrowRightOutline name" type="reporter" category="3. Data tools" helper="true"><comment x="0" y="0" w="141.1904761904761" collapsed="false">Reports the row or column name of the row or column with the number entered, or reports an error message.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">column<options>column&#xD;row</options></input><input type="%n">1</input><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>firstLine</l><l>data</l><l>c</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>data</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>data</l><block var="table"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="data"/><l>table</l></custom-block></block><script><block s="doReport"><l>ERROR: only tables supported!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><block s="doReport"><l>ERROR: table is empty!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>column</l></list></block><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block></list></block></list></block><l>ERROR: index out of range!</l><block s="reportListItem"><block var="n"/><block s="reportListItem"><l>1</l><block var="data"/></block></block></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>row</l></list></block><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></list></block></list></block><l>ERROR: index out of range!</l><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="n"/><block var="data"/></block></block></block></block></script><list></list></block></script></block></script></block-definition><block-definition s="vector %&apos;items&apos;" type="reporter" category="2. Math tools" space="true"><comment x="0" y="0" w="161.38461538461547" collapsed="false">Reports a vector, built by the items.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%n"></input></inputs><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="items"/><l>row-vector</l></custom-block><script><block s="doReport"><block var="items"/></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: only numbers are allowed in vectors!</l><l>vector ...</l></custom-block></script></block></script></block-definition><block-definition s="vector dim %&apos;n&apos; with random $nl components range %&apos;min&apos; to %&apos;max&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="291.42857142857144" collapsed="false">Returns a new vector of dimension n with random elements.</comment><header></header><code></code><translations></translations><inputs><input type="%n">3</input><input type="%n">1</input><input type="%n">10</input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>j</l><l>1</l><block var="n"/><script><block s="doAddToList"><block s="reportRandom"><block var="min"/><block var="max"/></block><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="matrix of vectors %&apos;vectors&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="114.67948717948764" collapsed="false">Returns a matrix formed from the input vectors.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>length</l><l>transposed?</l><l>transposed2?</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="vectors"/></block><l>1</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: no vectors found!</l><l>matrix of vectors</l></custom-block></script><list></list></block><block s="doSetVar"><l>length</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="vectors"/></block></block></block><block s="doSetVar"><l>transposed?</l><custom-block s="is %s a %txt"><block s="reportListItem"><l>1</l><block var="vectors"/></block><l>column-vector</l></custom-block></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>vector</l><block var="vectors"/><script><block s="doSetVar"><l>transposed2?</l><custom-block s="is %s a %txt"><block var="vector"/><l>column-vector</l></custom-block></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicAnd"><list><block var="transposed?"/><block s="reportNot"><block var="transposed2?"/></block></list></block><block s="reportVariadicAnd"><list><block s="reportNot"><block var="transposed?"/></block><block var="transposed2?"/></list></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: mixed row and clumn vectors are not allowed!</l><l>matrix of vectors</l></custom-block></script><script><block s="doIf"><block var="transposed2?"/><script><block s="doSetVar"><l>vector</l><custom-block s="transpose %s"><block var="vector"/></custom-block></block></script><list></list></block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="vector"/></block><block var="length"/></list></block><script><block s="doAddToList"><block var="vector"/><block var="result"/></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: different types of vectors!</l><l>matrix of vectors</l></custom-block></script></block></script></block><block s="doIf"><block var="transposed?"/><script><block s="doSetVar"><l>result</l><custom-block s="transpose %s"><block var="result"/></custom-block></block></script><list></list></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="%&apos;n&apos; x %&apos;m&apos; matrix with random $nl components range %&apos;min&apos; to %&apos;max&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="245.0000000000001" collapsed="false">Returns a new nxm-matrix with random elements.</comment><header></header><code></code><translations></translations><inputs><input type="%n">3</input><input type="%n">2</input><input type="%n">1</input><input type="%n">10</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>row</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doIf"><custom-block s="any of %mult%boolUE"><list><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="m"/><l>1</l></list></block></list></custom-block><script><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doFor"><l>i</l><l>1</l><block var="m"/><script><block s="doSetVar"><l>row</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>j</l><l>1</l><block var="n"/><script><block s="doAddToList"><block s="reportRandom"><block var="min"/><block var="max"/></block><block var="row"/></block></script></block><block s="doAddToList"><block var="row"/><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="transpose %&apos;data&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="213.7279843444227" collapsed="false">Creates the transpose of a vector or a matrix.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doIfElse"><block s="reportNot"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block></block><script><block s="doReport"><l>ERROR: data are not transposable!</l></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><block s="doReport"><block var="data"/></block></script><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="data"/><l>vector</l></custom-block><script><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="data"/></block><l><option>list</option></l></block><script><block s="doReport"><block s="reportAtomicMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="value"/></block></block></script><list><l>value</l></list></block><block var="data"/></block></block></script><script><block s="doReport"><block s="reportAtomicMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportNewList"><list><block var="value"/></list></block></block></script><list><l>value</l></list></block><block var="data"/></block></block></script></block></script><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="data"/><l>matrix</l></custom-block><script><block s="doReport"><block s="reportListAttribute"><l><option>columns</option></l><block var="data"/></block></block></script><script><block s="doReport"><l>ERROR: data are not transposable!</l></block></script></block></script></block></script></block></script></block></script></block></script></block-definition><block-definition s="%&apos;choice&apos; of vector %&apos;data&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="211.4285714285715" collapsed="false">Determines a property of a vector.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">min<options>min&#xD;max&#xD;minpos&#xD;maxpos&#xD;number&#xD;sum&#xD;mean&#xD;median&#xD;variance&#xD;standard-deviation&#xD;softmax</options></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>help</l><l>n</l><l>sum</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="data"/><l>vector</l></custom-block></block><script><block s="doReport"><l>ERROR: only vectors supported!</l></block></script><list></list></block><block s="doSetVar"><l>data</l><custom-block s="copy of %l"><block var="data"/></custom-block></block><block s="doIf"><custom-block s="is %s a %txt"><block var="data"/><l>transposed-vector</l></custom-block><script><block s="doSetVar"><l>data</l><custom-block s="transpose %l"><block var="data"/></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>1</l></list></block><script><block s="doReport"><l></l></block></script><list></list></block><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>softmax</l></list></block><script><block s="doSetVar"><l>n</l><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block><block s="doSetVar"><l>sum</l><l>0</l></block><block s="doFor"><l>i</l><l>1</l><block var="n"/><script><block s="doChangeVar"><l>sum</l><block s="reportMonadic"><l><option>e^</option></l><block s="reportListItem"><block var="i"/><block var="data"/></block></block></block></script></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportQuotient"><block s="reportMonadic"><l><option>e^</option></l><l></l></block><block var="sum"/></block></autolambda><list></list></block><block var="data"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>median</l></list></block><script><block s="doSetVar"><l>result</l><custom-block s="sort %l with predicate %predRing"><block var="data"/><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block></custom-block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportModulus"><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block><l>2</l></block><l>1</l></list></block><script><block s="doReport"><block s="reportListItem"><block s="reportRound"><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block><l>2</l></block></block><block var="result"/></block></block></script><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportListItem"><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block><l>2</l></block><block var="result"/></block><block s="reportListItem"><block s="reportVariadicSum"><list><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block><l>2</l></block><l>1</l></list></block><block var="result"/></block></list></block><l>2</l></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>min</l></list></block><script><block s="doReport"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><block s="reportVariadicMin"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>max</l></list></block><script><block s="doReport"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><block s="reportVariadicMax"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>number</l></list></block><script><block s="doReport"><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>sum</l></list></block><script><block s="doReport"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>mean</l></list></block><script><block s="doReport"><block s="reportQuotient"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>minpos</l></list></block><script><block s="doReport"><block s="reportListIndex"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><block s="reportVariadicMin"><list><l></l><l></l></list></block></autolambda><list></list></block></block><block var="data"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>maxpos</l></list></block><script><block s="doReport"><block s="reportListIndex"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><block s="reportVariadicMax"><list><l></l><l></l></list></block></autolambda><list></list></block></block><block var="data"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="choice"/><l>variance</l></list></block><block s="reportVariadicEquals"><list><block var="choice"/><l>standard-deviation</l></list></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportApplyExtension"><l>SciS_variance(aList,mean)</l><list><block var="data"/><block s="reportQuotient"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>variance</l></list></block><script><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>standard-deviation</l></list></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block var="result"/><l>NaN</l></list></block><script><block s="doReport"><block s="reportMonadic"><l><option>sqrt</option></l><block var="result"/></block></block></script><script><block s="doReport"><l>NaN</l></block></script></block></script><list></list></block><block s="doReport"><l>ERROR: unknown option!</l></block></script></block></script></block-definition><block-definition s="linear operation %&apos;a&apos; %&apos;op&apos; %&apos;b&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="80.41758241758271" collapsed="false">Linear operations with scalars, vectors and matrices.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s" readonly="true">*<options>+&#xD;-&#xD;*&#xD;X</options></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>isAtransposed?</l><l>isBtransposed?</l><l>dimA</l><l>dimB</l><l>row</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>op</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="op"/><l> </l></block></block></block><block s="doIf"><block s="reportIsA"><block var="a"/><l><option>number</option></l></block><script><block s="doIf"><block s="reportIsA"><block var="b"/><l><option>number</option></l><comment w="119.45205479452062" collapsed="false">number number operation</comment></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>+</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block var="a"/><block var="b"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>-</l></list></block><script><block s="doReport"><block s="reportDifference"><block var="a"/><block var="b"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>*</l></list></block><script><block s="doReport"><block s="reportVariadicProduct"><list><block var="a"/><block var="b"/></list></block></block></script><list></list></block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: illegal operation between numbers!</l><l>linear operation</l></custom-block></script><list></list></block><block s="doIf"><custom-block s="is %s a %txt"><block var="b"/><l>vector</l></custom-block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="op"/><l>*</l></list></block><script><block s="doReport"><block s="reportVariadicProduct"><list><block var="a"/><block var="b"/></list></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: illegal operation between number and vector!</l><l>linear operation</l></custom-block></script></block></script><list></list></block><block s="doIf"><custom-block s="is %s a %txt"><block var="b"/><l>matrix</l></custom-block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="op"/><l>*</l></list></block><script><block s="doReport"><block s="reportVariadicProduct"><list><block var="a"/><block var="b"/></list></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: illegal operation between number and matrix!</l><l>linear operation</l></custom-block></script></block></script><list></list></block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: illegal operation with a number!</l><l>linear operation</l></custom-block></script><list></list></block><block s="doIf"><custom-block s="is %s a %txt"><block var="a"/><l>vector</l></custom-block><script><block s="doIf"><block s="reportIsA"><block var="b"/><l><option>number</option></l></block><script><block s="doReport"><custom-block s="linear operation %s %s %s"><block var="b"/><block var="op"/><block var="a"/></custom-block><comment w="125.59523809523814" collapsed="false">vector number operation.</comment></block></script><list></list></block><block s="doSetVar"><l>isAtransposed?</l><custom-block s="is %s a %txt"><block var="a"/><l>column-vector</l></custom-block></block><block s="doIf"><custom-block s="is %s a %txt"><block var="b"/><l>vector</l></custom-block><script><block s="doSetVar"><l>isBtransposed?</l><custom-block s="is %s a %txt"><block var="b"/><l>column-vector</l></custom-block></block><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="a"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="b"/></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: different length of vectors!</l><l>linear operation</l></custom-block></script><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>+</l></list></block><script><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicAnd"><list><block var="isAtransposed?"/><block var="isBtransposed?"/></list></block><block s="reportVariadicAnd"><list><block s="reportNot"><block var="isAtransposed?"/></block><block s="reportNot"><block var="isBtransposed?"/></block></list></block></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block var="a"/><block var="b"/></list></block></block></script><list><l><bool>true</bool></l><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: different types of vectors!</l><l>linear operation</l></custom-block></script></list></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>-</l></list></block><script><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicAnd"><list><block var="isAtransposed?"/><block var="isBtransposed?"/></list></block><block s="reportVariadicAnd"><list><block s="reportNot"><block var="isAtransposed?"/></block><block s="reportNot"><block var="isBtransposed?"/></block></list></block></list></block><script><block s="doReport"><block s="reportDifference"><block var="a"/><block var="b"/></block></block></script><list><l><bool>true</bool></l><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: different types of vectors!</l><l>linear operation</l></custom-block></script></list></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>*</l></list></block><script><block s="doIf"><block var="isAtransposed?"/><script><block s="doSetVar"><l>a</l><custom-block s="transpose %s"><block var="a"/></custom-block></block></script><list></list></block><block s="doIf"><block var="isBtransposed?"/><script><block s="doSetVar"><l>b</l><custom-block s="transpose %s"><block var="b"/></custom-block></block></script><list></list></block><block s="doReport"><block s="reportCombine"><block s="reportVariadicProduct"><list><block var="a"/><block var="b"/></list></block><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="op"/><l>X</l></list></block><script><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicAnd"><list><block var="isAtransposed?"/><block var="isBtransposed?"/></list></block><block s="reportVariadicAnd"><list><block s="reportNot"><block var="isAtransposed?"/></block><block s="reportNot"><block var="isBtransposed?"/></block></list></block></list></block><script><block s="doIf"><block var="isAtransposed?"/><script><block s="doSetVar"><l>a</l><custom-block s="transpose %s"><block var="a"/></custom-block></block></script><list></list></block><block s="doIf"><block var="isBtransposed?"/><script><block s="doSetVar"><l>b</l><custom-block s="transpose %s"><block var="b"/></custom-block></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="a"/></block><l>3</l></list></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="b"/></block><l>3</l></list></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="a"/></block><block s="reportListItem"><l>3</l><block var="b"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="a"/></block><block s="reportListItem"><l>2</l><block var="b"/></block></list></block></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="a"/></block><block s="reportListItem"><l>1</l><block var="b"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="a"/></block><block s="reportListItem"><l>3</l><block var="b"/></block></list></block></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="a"/></block><block s="reportListItem"><l>2</l><block var="b"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="a"/></block><block s="reportListItem"><l>1</l><block var="b"/></block></list></block></block></list></block></block><block s="doIf"><block var="isAtransposed?"/><script><block s="doSetVar"><l>result</l><custom-block s="transpose %s"><block var="result"/></custom-block></block></script><list></list></block><block s="doReport"><block var="result"/></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: wrong dimension of vectors!</l><l>linear operation</l></custom-block></script></block></script><list><l><bool>true</bool></l><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: different types of vectors!</l><l>linear operation</l></custom-block></script></list></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: wrong dimension of vectors!</l><l>linear operation</l></custom-block></script></block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: illegal vector operation!</l><l>linear operation</l></custom-block></script></block></script><list></list></block><block s="doIf"><custom-block s="is %s a %txt"><block var="b"/><l>matrix</l></custom-block><script><block s="doIf"><custom-block s="is %s a %txt"><block var="a"/><l>column-vector</l></custom-block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: the vector should be a row vector!</l><l>linear operation</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="a"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="b"/></block></list></block><block s="reportVariadicEquals"><list><block var="op"/><l>*</l></list></block></list></block><script><block s="doReport"><block s="reportCombine"><custom-block s="transpose %s"><block s="reportVariadicProduct"><list><block var="a"/><block s="reportListAttribute"><l><option>columns</option></l><block var="b"/></block></list></block></custom-block><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: illegal operation between vector and matrix!</l><l>linear operation</l></custom-block></script></block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: illegal operation!</l><l>linear operation</l></custom-block></script><list></list><comment w="119.45205479452062" collapsed="false">vector matrix operation</comment></block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: illegal operation!</l><l>linear operation</l></custom-block></script><list></list></block><block s="doIf"><custom-block s="is %s a %txt"><block var="a"/><l>matrix</l></custom-block><script><block s="doIf"><block s="reportIsA"><block var="b"/><l><option>number</option></l><comment w="119.45205479452062" collapsed="false">matrix number operation</comment></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="op"/><l>*</l></list></block><script><block s="doReport"><block s="reportVariadicProduct"><list><block var="a"/><block var="b"/></list></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: illegal operation between number and matrix!</l><l>linear operation</l></custom-block></script></block></script><list></list></block><block s="doIf"><custom-block s="is %s a %txt"><block var="b"/><l>vector</l></custom-block><script><block s="doIf"><custom-block s="is %s a %txt"><block var="b"/><l>column-vector</l></custom-block><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="a"/></block></block><block s="reportListAttribute"><l><option>length</option></l><block var="b"/></block></list></block><block s="reportVariadicEquals"><list><block var="op"/><l>*</l></list></block></list></block><script><block s="doReport"><block s="reportCombine"><custom-block s="transpose %s"><block s="reportVariadicProduct"><list><block var="a"/><custom-block s="transpose %s"><block var="b"/></custom-block></list></block></custom-block><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: illegal operation between matrix and vector!</l><l>linear operation</l></custom-block></script></block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: illegal operation!</l><l>linear operation</l></custom-block></script><list></list></block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: the vector should be a column vector!</l><l>linear operation</l></custom-block></script><list></list><comment w="119.45205479452062" collapsed="false">matrix vector operation</comment></block><block s="doIfElse"><custom-block s="is %s a %txt"><block var="b"/><l>matrix</l><comment w="119.45205479452062" collapsed="false">matrix matrix operation</comment></custom-block><script><block s="doSetVar"><l>dimA</l><block s="reportListAttribute"><l><option>dimensions</option></l><block var="a"/></block></block><block s="doSetVar"><l>dimB</l><block s="reportListAttribute"><l><option>dimensions</option></l><block var="b"/></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>+</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="dimA"/><block var="dimB"/></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block var="a"/><block var="b"/></list></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: different dimensions!</l><l>linear operation</l></custom-block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>-</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="dimA"/><block var="dimB"/></list></block><script><block s="doReport"><block s="reportDifference"><block var="a"/><block var="b"/></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: different dimensions!</l><l>linear operation</l></custom-block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>*</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="dimA"/></block><block s="reportListItem"><l>1</l><block var="dimB"/></block></list></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportCombine"><block s="reportListAttribute"><l><option>columns</option></l><block s="reportVariadicProduct"><list><block var="row"/><block s="reportListAttribute"><l><option>columns</option></l><block var="b"/></block></list></block></block><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block></script><list><l>row</l></list></block><block var="a"/></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: wrong dimensions!</l><l>linear operation</l></custom-block></script></block></script><list></list></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: illegal operation between matrices</l><l>linear operation</l></custom-block></script></block></script><list></list></block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: illegal operation</l><l>linear operation</l></custom-block></script></block></script></block-definition><block-definition s="apply %&apos;matrix&apos; to points %&apos;points&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="179.47619047619048" collapsed="false">Applies a mapping matrix to an object that is given as a matrix of points.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>i</l><l>result</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportNot"><custom-block s="is %s a %txt"><block var="points"/><l>matrix</l></custom-block></block><script><block s="doSetVar"><l>result</l><l>matrix of points required!</l></block></script><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="points"/></block><l>1</l></list></block></block><script><block s="doSetVar"><l>result</l><l>too few points!</l></block></script><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="matrix"/><l>matrix</l></custom-block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="matrix"/></block></block><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="points"/></block></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="points"/></block></list></block><script><block s="doAddToList"><custom-block s="transpose %l"><custom-block s="linear operation %s %s %s"><block var="matrix"/><l>*</l><custom-block s="transpose %l"><block s="reportListItem"><block var="i"/><block var="points"/></block></custom-block></custom-block></custom-block><block var="result"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script><script><block s="doSetVar"><l>result</l><l>wrong dimension of mapping matrix!</l></block></script></block></script><script><block s="doSetVar"><l>result</l><l>mapping matrix required!</l></block></script></block></script></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="solve %&apos;A&apos; *x= %&apos;b&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="219.04761904761926" collapsed="false">Soves a linear system of max. 50 equations.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>matrix</l><l>found</l><l>x</l><l>nonzero</l><l>help</l><l>n</l><l>solved</l><l>j</l><l>k</l><l>d</l><l>r</l><l>nonzero</l></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><custom-block s="is %s a %txt"><block var="A"/><l>matrix</l></custom-block><custom-block s="is %s a %txt"><block var="b"/><l>vector</l></custom-block></list></block></block><script><block s="doReport"><l>ERROR: wrong data types!</l></block></script><list></list><comment w="137.85714285714286" collapsed="false">some tests for correct data</comment></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="A"/></block><l>0</l></list></block><script><block s="doReport"><l>ERROR: matrix is empty!</l></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="A"/></block></block><block s="reportListAttribute"><l><option>length</option></l><block var="b"/></block></list></block></block><script><block s="doReport"><l>ERROR: wrong dimension of vector!</l></block></script><list></list></block><block s="doIf"><custom-block s="is %s a %txt"><block var="b"/><l>transposed-vector</l></custom-block><script><block s="doSetVar"><l>b</l><custom-block s="transpose %l"><block var="b"/></custom-block></block></script><list></list></block><block s="doSetVar"><l>matrix</l><block s="reportMap"><block s="reifyReporter"><script></script><list></list></block><block var="A"/></block><comment w="191.5707465277778" collapsed="false">creates matrix with attached column b</comment></block><block s="doSetVar"><l>solved</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>n</l><block s="reportListAttribute"><l><option>length</option></l><block var="A"/></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="n"/><l>50</l></list></block><script><block s="doReport"><l>ERROR: matrix too large!</l></block></script><list></list></block><block s="doFor"><l>i</l><l>1</l><block var="n"/><script><block s="doAddToList"><block s="reportListItem"><block var="i"/><block var="b"/></block><block s="reportListItem"><block var="i"/><block var="matrix"/></block></block></script></block><block s="doSetVar"><l>d</l><block s="reportListAttribute"><l><option>length</option></l><block var="matrix"/></block><comment w="106.71245659722217" collapsed="false">Try to solve matrix</comment></block><block s="doSetVar"><l>r</l><l>1</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="r"/><block var="d"/></list></block><block s="reportNot"><block var="solved"/></block></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block><l>0</l></list></block><script><block s="doSetVar"><l>nonzero</l><block s="reportVariadicSum"><list><block var="r"/><l>1</l></list></block><comment w="137.82649739583348" collapsed="false">find nonzero element</comment></block><block s="doSetVar"><l>found</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block var="found"/><block s="reportVariadicGreaterThan"><list><block var="nonzero"/><block var="d"/></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="nonzero"/><block var="matrix"/></block></block><l>0</l></list></block><script><block s="doSetVar"><l>found</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doChangeVar"><l>nonzero</l><l>1</l></block></script></block></script></block><block s="doIfElse"><block s="reportNot"><block var="found"/></block><script><block s="doReport"><l>ERROR: no solution found!</l></block></script><script><block s="doSetVar"><l>matrix</l><block s="reportMap"><block s="reifyReporter"><script><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="r"/><block var="row"/></block></block><block s="doReplaceInList"><block var="r"/><block var="row"/><block s="reportListItem"><block var="nonzero"/><block var="row"/></block></block><block s="doReplaceInList"><block var="nonzero"/><block var="row"/><block var="help"/></block><block s="doReport"><block var="row"/></block></script><list><l>row</l></list></block><block var="matrix"/></block><comment w="90" collapsed="false">swap rows</comment></block></script></block></script><list></list></block><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block><comment w="90" collapsed="false">normalize row</comment></block><block s="doReplaceInList"><block var="r"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block><l>1</l></block><block s="doSetVar"><l>k</l><block s="reportVariadicSum"><list><block var="r"/><l>1</l></list></block></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="k"/><block s="reportVariadicSum"><list><block var="d"/><l>1</l></list></block></list></block><script><block s="doReplaceInList"><block var="k"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block><block s="reportQuotient"><block s="reportListItem"><block var="k"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block><block var="help"/></block></block><block s="doChangeVar"><l>k</l><l>1</l></block></script></block><block s="doSetVar"><l>k</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="k"/><block var="d"/></list></block><script><block s="doIf"><block s="reportVariadicNotEquals"><list><block var="k"/><block var="r"/></list></block><script><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block></block></block><block s="doIf"><block s="reportVariadicNotEquals"><list><block var="help"/><l>0</l></list></block><script><block s="doReplaceInList"><block var="r"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block><l>0</l></block><block s="doSetVar"><l>j</l><block s="reportVariadicSum"><list><block var="r"/><l>1</l></list></block></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="j"/><block s="reportVariadicSum"><list><block var="d"/><l>1</l></list></block></list></block><script><block s="doReplaceInList"><block var="j"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block><block s="reportDifference"><block s="reportListItem"><block var="j"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block></block><block s="reportVariadicProduct"><list><block var="help"/><block s="reportListItem"><block var="j"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block></list></block></block></block><block s="doChangeVar"><l>j</l><l>1</l></block></script></block></script><list></list></block></script><list></list></block><block s="doChangeVar"><l>k</l><l>1</l></block></script><comment w="90" collapsed="false">diagonalize</comment></block><block s="doChangeVar"><l>r</l><l>1</l></block></script></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportListItem"><l><option>last</option></l><l/></block></block></script><list></list></block><block var="matrix"/></block></block></script></block></script></block-definition><block-definition s="apply Gauss method to matrix %&apos;A&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="228.14285714285737" collapsed="false">Reports a list of matrix A in triangle form, the rank of A, column change and column positions.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>Ab</l><l>rank</l><l>row</l><l>found</l><l>help</l><l>i</l><l>c</l><l>columchange</l><l>column positions</l><l>j</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="A"/><l>matrix</l></custom-block><comment w="137.85714285714286" collapsed="false">some tests for correct data</comment></block><script><block s="doReport"><l>ERROR: this is not a matrix!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="A"/></block><l>0</l></list></block><script><block s="doReport"><l>ERROR: matrix is empty!</l></block></script><list></list></block><block s="doSetVar"><l>Ab</l><block s="reportMap"><block s="reifyReporter"><script></script><list></list></block><block var="A"/></block><comment w="186.6028794642858" collapsed="false">a copy of A is used to let A unchanged</comment></block><block s="doSetVar"><l>rank</l><block s="reportListAttribute"><l><option>length</option></l><block var="Ab"/></block></block><block s="doSetVar"><l>row</l><l>1</l></block><block s="doSetVar"><l>columchange</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>column positions</l><block s="reportNumbers"><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="Ab"/></block></block></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="row"/><block s="reportListAttribute"><l><option>length</option></l><block var="Ab"/></block></list></block><block s="reportVariadicLessThan"><list><block var="rank"/><block s="reportListAttribute"><l><option>length</option></l><block var="Ab"/></block></list></block></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="row"/><block s="reportListItem"><block var="row"/><block var="Ab"/></block></block><l>0</l></list><comment w="155" collapsed="false">find a non zero pivot element</comment></block><script><block s="doSetVar"><l>found</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>i</l><block s="reportVariadicSum"><list><block var="row"/><l>1</l></list></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="Ab"/></block></list></block><block var="found"/></list></block><script><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="row"/><block s="reportListItem"><block var="i"/><block var="Ab"/></block></block><l>0</l></list></block></block><script><block s="doSetVar"><l>found</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="i"/><block var="Ab"/></block></block><block s="doReplaceInList"><block var="i"/><block var="Ab"/><block s="reportListItem"><block var="row"/><block var="Ab"/></block></block><block s="doReplaceInList"><block var="row"/><block var="Ab"/><block var="help"/></block></script><list></list></block><block s="doChangeVar"><l>i</l><l>1</l></block></script><comment w="90" collapsed="false">search downwards</comment></block><block s="doIf"><block s="reportNot"><block var="found"/></block><script><block s="doSetVar"><l>i</l><block s="reportVariadicSum"><list><block var="row"/><l>1</l></list></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="Ab"/></block></block><l>1</l></block></list></block><block var="found"/></list></block><script><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="i"/><block s="reportListItem"><block var="row"/><block var="Ab"/></block></block><l>0</l></list></block></block><script><block s="doSetVar"><l>found</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doFor"><l>column</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="Ab"/></block><script><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="i"/><block s="reportListItem"><block var="column"/><block var="Ab"/></block></block></block><block s="doReplaceInList"><block var="i"/><block s="reportListItem"><block var="column"/><block var="Ab"/></block><block s="reportListItem"><block var="row"/><block s="reportListItem"><block var="column"/><block var="Ab"/></block></block></block><block s="doReplaceInList"><block var="row"/><block s="reportListItem"><block var="column"/><block var="Ab"/></block><block var="help"/></block><block s="doSetVar"><l>columchange</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="row"/><block var="column positions"/></block></block><block s="doReplaceInList"><block var="row"/><block var="column positions"/><block s="reportListItem"><block var="i"/><block var="column positions"/></block></block><block s="doReplaceInList"><block var="i"/><block var="column positions"/><block var="help"/></block></script></block></script><list></list></block><block s="doChangeVar"><l>i</l><l>1</l></block></script><comment w="90" collapsed="false">search to the right</comment></block></script><list></list></block></script><list></list></block><block s="doSetVar"><l>c</l><block s="reportListItem"><block var="row"/><block s="reportListItem"><block var="row"/><block var="Ab"/></block></block></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="c"/><l>0</l></list></block></block><script><block s="doReplaceInList"><block var="row"/><block var="Ab"/><block s="reportQuotient"><block s="reportListItem"><block var="row"/><block var="Ab"/></block><block var="c"/></block></block><block s="doSetVar"><l>i</l><block s="reportVariadicSum"><list><block var="row"/><l>1</l></list></block></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="Ab"/></block></list></block><script><block s="doSetVar"><l>c</l><block s="reportListItem"><block var="row"/><block s="reportListItem"><block var="i"/><block var="Ab"/></block></block></block><block s="doReplaceInList"><block var="i"/><block var="Ab"/><block s="reportDifference"><block s="reportListItem"><block var="i"/><block var="Ab"/></block><block s="reportVariadicProduct"><list><block var="c"/><block s="reportListItem"><block var="row"/><block var="Ab"/></block></list></block></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script><script><block s="doSetVar"><l>rank</l><block s="reportDifference"><block var="row"/><l>1</l></block></block></script></block><block s="doChangeVar"><l>row</l><l>1</l></block></script></block><block s="doSetVar"><l>row</l><block var="rank"/></block><block s="doUntil"><block s="reportVariadicLessThan"><list><block var="row"/><l>1</l></list></block><script><block s="doSetVar"><l>i</l><block s="reportDifference"><block var="row"/><l>1</l></block></block><block s="doUntil"><block s="reportVariadicLessThan"><list><block var="i"/><l>1</l></list></block><script><block s="doSetVar"><l>c</l><block s="reportListItem"><block var="row"/><block s="reportListItem"><block var="i"/><block var="Ab"/></block></block></block><block s="doReplaceInList"><block var="i"/><block var="Ab"/><block s="reportDifference"><block s="reportListItem"><block var="i"/><block var="Ab"/></block><block s="reportVariadicProduct"><list><block var="c"/><block s="reportListItem"><block var="row"/><block var="Ab"/></block></list></block></block></block><block s="doChangeVar"><l>i</l><l>-1</l></block></script></block><block s="doChangeVar"><l>row</l><l>-1</l></block></script><comment w="137.85714285714286" collapsed="false">transform to diagonal form E</comment></block><block s="doReport"><block s="reportNewList"><list><block var="Ab"/><block var="rank"/><block var="columchange"/><block var="column positions"/></list></block></block></script></block></script></block-definition><block-definition s="polynomial interpolation for points %&apos;data&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="386.0812133072408" collapsed="false">Calculates the coefficients of the interpolation polynomial for a 2xn-matrix of points.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>matrix</l><l>found</l><l>x</l><l>row</l><l>help</l><l>n</l><l>solved</l><l>j</l><l>k</l><l>d</l><l>r</l><l>nonzero</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="data"/><l>matrix</l></custom-block></block><script><block s="doReport"><l>ERROR: matrix required!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>2</l></list></block><script><block s="doReport"><l>ERROR: not enough points!</l></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>2</l></list></block></block><script><block s="doReport"><l>ERROR: 2-dimensional points required!</l></block></script><list></list></block><block s="doSetVar"><l>matrix</l><block s="reportNewList"><list></list></block><comment w="191.5707465277778" collapsed="false">create matrix of powers of x and y-value</comment></block><block s="doSetVar"><l>solved</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>n</l><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="n"/><l>50</l></list></block><script><block s="doReport"><l>ERROR: matrix too large!</l></block></script><list></list></block><block s="doFor"><l>i</l><l>1</l><block var="n"/><script><block s="doSetVar"><l>row</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>j</l><block s="reportDifference"><block var="n"/><l>1</l></block></block><block s="doUntil"><block s="reportVariadicLessThan"><list><block var="j"/><l>0</l></list></block><script><block s="doSetVar"><l>x</l><l>1</l></block><block s="doSetVar"><l>k</l><block var="j"/></block><block s="doUntil"><block s="reportVariadicLessThanOrEquals"><list><block var="k"/><l>0</l></list></block><script><block s="doSetVar"><l>x</l><block s="reportVariadicProduct"><list><block var="x"/><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="i"/><block var="data"/></block></block></list></block></block><block s="doChangeVar"><l>k</l><l>-1</l></block></script></block><block s="doAddToList"><block var="x"/><block var="row"/></block><block s="doChangeVar"><l>j</l><l>-1</l></block></script></block><block s="doAddToList"><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="i"/><block var="data"/></block></block><block var="row"/></block><block s="doAddToList"><block var="row"/><block var="matrix"/></block></script></block><block s="doSetVar"><l>d</l><block s="reportListAttribute"><l><option>length</option></l><block var="matrix"/></block><comment w="106.71245659722217" collapsed="false">Try to solve matrix</comment></block><block s="doSetVar"><l>r</l><l>1</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="r"/><block var="d"/></list></block><block s="reportNot"><block var="solved"/></block></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block><l>0</l></list></block><script><block s="doSetVar"><l>nonzero</l><block s="reportVariadicSum"><list><block var="r"/><l>1</l></list></block><comment w="137.82649739583348" collapsed="false">find nonzero element</comment></block><block s="doSetVar"><l>found</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block var="found"/><block s="reportVariadicGreaterThan"><list><block var="nonzero"/><block var="d"/></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="nonzero"/><block var="matrix"/></block></block><l>0</l></list></block><script><block s="doSetVar"><l>found</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doChangeVar"><l>nonzero</l><l>1</l></block></script></block></script></block><block s="doIfElse"><block s="reportNot"><block var="found"/></block><script><block s="doReport"><l>ERROR: no solution found!</l></block></script><script><block s="doSetVar"><l>matrix</l><block s="reportMap"><block s="reifyReporter"><script><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="r"/><block var="row"/></block></block><block s="doReplaceInList"><block var="r"/><block var="row"/><block s="reportListItem"><block var="nonzero"/><block var="row"/></block></block><block s="doReplaceInList"><block var="nonzero"/><block var="row"/><block var="help"/></block><block s="doReport"><block var="row"/></block></script><list><l>row</l></list></block><block var="matrix"/></block><comment w="90" collapsed="false">swap rows</comment></block></script></block></script><list></list></block><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block><comment w="90" collapsed="false">normalize row</comment></block><block s="doReplaceInList"><block var="r"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block><l>1</l></block><block s="doSetVar"><l>k</l><block s="reportVariadicSum"><list><block var="r"/><l>1</l></list></block></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="k"/><block s="reportVariadicSum"><list><block var="d"/><l>1</l></list></block></list></block><script><block s="doReplaceInList"><block var="k"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block><block s="reportQuotient"><block s="reportListItem"><block var="k"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block><block var="help"/></block></block><block s="doChangeVar"><l>k</l><l>1</l></block></script></block><block s="doSetVar"><l>k</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="k"/><block var="d"/></list></block><script><block s="doIf"><block s="reportVariadicNotEquals"><list><block var="k"/><block var="r"/></list></block><script><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block></block></block><block s="doIf"><block s="reportVariadicNotEquals"><list><block var="help"/><l>0</l></list></block><script><block s="doReplaceInList"><block var="r"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block><l>0</l></block><block s="doSetVar"><l>j</l><block s="reportVariadicSum"><list><block var="r"/><l>1</l></list></block></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="j"/><block s="reportVariadicSum"><list><block var="d"/><l>1</l></list></block></list></block><script><block s="doReplaceInList"><block var="j"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block><block s="reportDifference"><block s="reportListItem"><block var="j"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block></block><block s="reportVariadicProduct"><list><block var="help"/><block s="reportListItem"><block var="j"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block></list></block></block></block><block s="doChangeVar"><l>j</l><l>1</l></block></script></block></script><list></list></block></script><list></list></block><block s="doChangeVar"><l>k</l><l>1</l></block></script><comment w="90" collapsed="false">diagonaize</comment></block><block s="doChangeVar"><l>r</l><l>1</l></block></script></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportListItem"><l><option>last</option></l><l/></block></block></script><list></list></block><block var="matrix"/></block></block></script></block></script></block-definition><block-definition s="%&apos;p&apos; ( %&apos;x&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="124.41780821917837" collapsed="false">Calculates the value of a polynomial for input x.</comment><header></header><code></code><translations></translations><inputs><input type="%s">polynomial as list of coefficients</input><input type="%n">1</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>grade</l><l>result</l><l>i</l></list></block><block s="doIfElse"><block s="reportNot"><custom-block s="is %s a %txt"><block var="p"/><l>row-vector</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: no polynomial found!</l><l>polynomial(x)=...</l></custom-block></script><script><block s="doSetVar"><l>grade</l><block s="reportListAttribute"><l><option>length</option></l><block var="p"/></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="grade"/><l>0</l></list></block><script><block s="doReport"><l>0</l></block></script><list></list></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="grade"/><l>1</l></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="p"/></block></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="p"/></block><block var="x"/></list></block><block s="reportListItem"><l>2</l><block var="p"/></block></list></block></block><block s="doSetVar"><l>i</l><l>3</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="grade"/></list></block><script><block s="doSetVar"><l>result</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="result"/><block var="x"/></list></block><block s="reportListItem"><block var="i"/><block var="p"/></block></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="affine transformation of %&apos;data&apos; $nl by %&apos;originalPoints&apos; --&gt; %&apos;targetPoints&apos; for MathPad" type="reporter" category="2. Math tools"><comment x="0" y="0" w="225" collapsed="false">Applies an affine transformation to a list of points.&#xD;</comment><header></header><code></code><translations></translations><inputs><input type="%l">SciSnap!Data</input><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>a11</l><l>a12</l><l>a13</l><l>a21</l><l>a22</l><l>a23</l><l>S</l><l>P1</l><l>P2</l><l>P3</l><l>Q1</l><l>Q2</l><l>Q3</l><l>ok</l><l>result</l><l>i</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><block s="doReport"><l>ERROR: at least one point required!</l></block></script><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="data"/></block><l><option>list</option></l></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>2</l></list></block></list></block></block><script><block s="doReport"><l>ERROR: dimension should be 2!</l></block></script><list></list></block></script></block></script><script><block s="doReport"><l>ERROR: list of points as data required!</l></block></script></block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doIfElse"><block s="reportIsA"><block var="originalPoints"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="originalPoints"/></block><l>3</l></list></block><script><block s="doReport"><l>ERROR: 3 original points required!</l></block></script><script><block s="doFor"><l>i</l><l>1</l><l>3</l><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><block var="i"/><block var="originalPoints"/></block><l><option>list</option></l></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><block var="i"/><block var="originalPoints"/></block></block><l>2</l></list></block></list></block></block><script><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block></script></block></script></block></script><script><block s="doReport"><l>ERROR: list of original points  required!</l></block></script></block><block s="doIfElse"><block s="reportIsA"><block var="targetPoints"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="targetPoints"/></block><l>3</l></list></block><script><block s="doReport"><l>ERROR: 3 target points required!</l></block></script><script><block s="doFor"><l>i</l><l>1</l><l>3</l><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><block var="i"/><block var="targetPoints"/></block><l><option>list</option></l></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><block var="i"/><block var="targetPoints"/></block></block><l>2</l></list></block></list></block></block><script><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block></script></block></script></block></script><script><block s="doReport"><l>ERROR: list of target points  required!</l></block></script></block><block s="doIf"><block s="reportNot"><block var="ok"/></block><script><block s="doReport"><l>ERROR: dimensions should be 2!</l></block></script><list></list></block><block s="doSetVar"><l>P1</l><block s="reportListItem"><l>1</l><block var="originalPoints"/></block></block><block s="doSetVar"><l>P2</l><block s="reportListItem"><l>2</l><block var="originalPoints"/></block></block><block s="doSetVar"><l>P3</l><block s="reportListItem"><l>3</l><block var="originalPoints"/></block></block><block s="doSetVar"><l>Q1</l><block s="reportListItem"><l>1</l><block var="targetPoints"/></block></block><block s="doSetVar"><l>Q2</l><block s="reportListItem"><l>2</l><block var="targetPoints"/></block></block><block s="doSetVar"><l>Q3</l><block s="reportListItem"><l>3</l><block var="targetPoints"/></block></block><block s="doSetVar"><l>S</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>2</l><block var="P2"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>2</l><block var="P3"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>2</l><block var="P1"/></block></block></list></block></list></block></list></block></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="S"/><l>0</l></list></block></block><script><block s="doSetVar"><l>a11</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q2"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q3"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q1"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a12</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q3"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q1"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q2"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a21</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q2"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q3"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q1"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a22</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q3"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q1"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q2"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a13</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></list></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></list></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></list></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a23</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></list></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></list></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></list></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="i"/><block var="data"/></block></block><block var="a11"/></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="i"/><block var="data"/></block></block><block var="a12"/></list></block></list></block><block var="a13"/></list></block><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="i"/><block var="data"/></block></block><block var="a21"/></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="i"/><block var="data"/></block></block><block var="a22"/></list></block></list></block><block var="a23"/></list></block></list></block><block var="result"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doReport"><l>ERROR: denominator is zero</l></block></script></block></script></block-definition><block-definition s="complex %&apos;re&apos; + %&apos;im&apos; * i" type="reporter" category="2. Math tools"><comment x="0" y="0" w="224.2857142857143" collapsed="false">Reports a complex number in Cartesian style.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">3</input></inputs><script><block s="doReport"><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block var="re"/><block var="im"/></list></block></block></script></block-definition><block-definition s="complex %&apos;r&apos; * e^i %&apos;phi&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="196.42857142857127" collapsed="false">Reports a complex number in polar style.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">30</input></inputs><script><block s="doReport"><block s="reportNewList"><list><l>complexNumberPolarStyle</l><block var="r"/><block var="phi"/></list></block></block></script></block-definition><block-definition s="complex %&apos;z&apos; polar style" type="reporter" category="2. Math tools"><comment x="0" y="0" w="200.71428571428572" collapsed="false">Reports a complex number in polar style.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number</l></custom-block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number-polar-style</l></custom-block><script><block s="doReport"><block var="z"/></block></script><script><block s="doReport"><block s="reportNewList"><list><l>complexNumberPolarStyle</l><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportListItem"><l>2</l><block var="z"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="z"/></block><block s="reportListItem"><l>3</l><block var="z"/></block></list></block></list></block></block><block s="reportMonadic"><l><option>atan</option></l><block s="reportQuotient"><block s="reportListItem"><l>3</l><block var="z"/></block><block s="reportListItem"><l>2</l><block var="z"/></block></block></block></list></block></block></script></block></script><script><block s="doReport"><l>ERROR: complex number expected!</l></block></script></block></script></block></script></block-definition><block-definition s="complex %&apos;z&apos; Cartesian style" type="reporter" category="2. Math tools"><comment x="0" y="0" w="224.2857142857143" collapsed="false">Reports a complex number in Cartesian style.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number</l></custom-block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number-Cartesian-style</l></custom-block><script><block s="doReport"><block var="z"/></block></script><script><block s="doReport"><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportMonadic"><l><option>cos</option></l><block s="reportListItem"><l>3</l><block var="z"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportMonadic"><l><option>sin</option></l><block s="reportListItem"><l>3</l><block var="z"/></block></block></list></block></list></block></block></script></block></script><script><block s="doReport"><l>ERROR: complex number expected!</l></block></script></block></script></block></script></block-definition><block-definition s="complex %&apos;choice&apos; of %&apos;z&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="191.42857142857127" collapsed="false">Reports properties of complex numbers.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">real-part<options>absolute-value&#xD;real-part&#xD;imaginary-part&#xD;phase&#xD;conjugate</options></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number</l></custom-block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>absolute-value</l></list></block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number-polar-style</l></custom-block><script><block s="doReport"><block s="reportListItem"><l>2</l><block var="z"/></block></block></script><script><block s="doReport"><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportListItem"><l>2</l><block var="z"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="z"/></block><block s="reportListItem"><l>3</l><block var="z"/></block></list></block></list></block></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>real-part</l></list></block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number-Cartesian-style</l></custom-block><script><block s="doReport"><block s="reportListItem"><l>2</l><block var="z"/></block></block></script><script><block s="doReport"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportMonadic"><l><option>cos</option></l><block s="reportListItem"><l>3</l><block var="z"/></block></block></list></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>imaginary-part</l></list></block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number-Cartesian-style</l></custom-block><script><block s="doReport"><block s="reportListItem"><l>3</l><block var="z"/></block></block></script><script><block s="doReport"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportMonadic"><l><option>sin</option></l><block s="reportListItem"><l>3</l><block var="z"/></block></block></list></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>phase</l></list></block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number-polar-style</l></custom-block><script><block s="doReport"><block s="reportListItem"><l>3</l><block var="z"/></block></block></script><script><block s="doReport"><block s="reportMonadic"><l><option>atan</option></l><block s="reportQuotient"><block s="reportListItem"><l>3</l><block var="z"/></block><block s="reportListItem"><l>2</l><block var="z"/></block></block></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>conjugate</l></list></block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number-polar-style</l></custom-block><script><block s="doReport"><block s="reportNewList"><list><l>complexNumberPolarStyle</l><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportMonadic"><l><option>neg</option></l><block s="reportListItem"><l>3</l><block var="z"/></block></block></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportMonadic"><l><option>neg</option></l><block s="reportListItem"><l>3</l><block var="z"/></block></block></list></block></block></script></block></script><list></list></block><block s="doReport"><l>ERROR: unknown operator!</l></block></script><script><block s="doReport"><l>ERROR: complex number expected!</l></block></script></block></script></block></script></block-definition><block-definition s="complex %&apos;z1&apos; %&apos;op&apos; %&apos;z2&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="240" collapsed="false">Reports arithmetic results of two complex numbers.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s" readonly="true">+<options>+&#xD;-&#xD;*&#xD;/</options></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>denominator</l></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="z1"/><l>complex-number</l></custom-block></block><script><block s="doReport"><l>ERROR: first argument is not a complex number</l></block></script><list></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="z2"/><l>complex-number</l></custom-block></block><script><block s="doReport"><l>ERROR: second argument is not a complex number</l></block></script><list></list></block><block s="doIf"><custom-block s="is %s a %txt"><block var="z1"/><l>complex-number-polar-style</l></custom-block><script><block s="doSetVar"><l>z1</l><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportMonadic"><l><option>cos</option></l><block s="reportListItem"><l>3</l><block var="z1"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportMonadic"><l><option>sin</option></l><block s="reportListItem"><l>3</l><block var="z1"/></block></block></list></block></list></block></block></script><list></list></block><block s="doIf"><custom-block s="is %s a %txt"><block var="z2"/><l>complex-number-polar-style</l></custom-block><script><block s="doSetVar"><l>z2</l><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z2"/></block><block s="reportMonadic"><l><option>cos</option></l><block s="reportListItem"><l>3</l><block var="z2"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z2"/></block><block s="reportMonadic"><l><option>sin</option></l><block s="reportListItem"><l>3</l><block var="z2"/></block></block></list></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>+</l></list></block><script><block s="doReport"><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block s="reportVariadicSum"><list><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportListItem"><l>2</l><block var="z2"/></block></list></block><block s="reportVariadicSum"><list><block s="reportListItem"><l>3</l><block var="z1"/></block><block s="reportListItem"><l>3</l><block var="z2"/></block></list></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>-</l></list></block><script><block s="doReport"><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportListItem"><l>2</l><block var="z2"/></block></block><block s="reportDifference"><block s="reportListItem"><l>3</l><block var="z1"/></block><block s="reportListItem"><l>3</l><block var="z2"/></block></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>*</l></list></block><script><block s="doReport"><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportListItem"><l>2</l><block var="z2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="z1"/></block><block s="reportListItem"><l>3</l><block var="z2"/></block></list></block></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportListItem"><l>3</l><block var="z2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="z1"/></block><block s="reportListItem"><l>2</l><block var="z2"/></block></list></block></list></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>/</l></list></block><script><block s="doSetVar"><l>denominator</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z2"/></block><block s="reportListItem"><l>2</l><block var="z2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="z2"/></block><block s="reportListItem"><l>3</l><block var="z2"/></block></list></block></list></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="denominator"/><l>0</l></list></block><script><block s="doReport"><l>ERROR: denominator is zero!</l></block></script><list></list></block><block s="doReport"><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportListItem"><l>2</l><block var="z2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="z1"/></block><block s="reportListItem"><l>3</l><block var="z2"/></block></list></block></list></block><block var="denominator"/></block><block s="reportQuotient"><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="z1"/></block><block s="reportListItem"><l>2</l><block var="z2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportListItem"><l>3</l><block var="z2"/></block></list></block></block><block var="denominator"/></block></list></block></block></script><list></list></block></script></block></script></block-definition><block-definition s="configure sprite %&apos;sprite&apos; as a MathPad $nl width: %&apos;width&apos; height: %&apos;height&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="command" category="2. Math tools"><comment x="0" y="0" w="142.5" collapsed="false">Creates a new  empty costume of the specified size and color and sets local properties</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>costumeWidth</l><l>costumeHeight</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>sprite</l><l>theStage</l></block><block s="doSetVar"><l>target</l><block s="reportObject"><l>Stage</l></block></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><script><block s="doSetVar"><l>costumeWidth</l><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block></block><block s="doSetVar"><l>costumeHeight</l><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="gotoXY"><l>0</l><l>0</l></block><block s="setHeading"><l>90</l></block><block s="show"></block></script><list></list></block><list></list></block><block s="doSetVar"><l>costumeWidth</l><block var="width"/></block><block s="doSetVar"><l>costumeHeight</l><block var="height"/></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myProperties</l></list></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myData</l></list></block><block s="doSetVar"><l>myProperties</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>myData</l><block s="reportNewList"><list></list></block></block><block s="doSwitchToCostume"><custom-block s="new costume %n %n %n %n %n"><block var="costumeWidth"/><block var="costumeHeight"/><block var="r"/><block var="g"/><block var="b"/></custom-block></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfConfiguration</l><l>MathPad</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfData</l><l>none</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>lineProperties</l><block s="reportNewList"><list><l>1</l><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>dimension</l><l>3</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>maxValue</l><l>10</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>startPoint</l><block s="reportNewList"><list><l>0</l><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><script><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doAddToList"><block s="reportNewList"><list><l>costumeProperties</l><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="r"/><block var="g"/><block var="b"/><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block var="width"/></block><l>2</l></block><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="height"/></block><l>2</l></block><block var="width"/><block var="height"/></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doAddToList"><block s="reportNewList"><list><l>costumeProperties</l><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/><l>0</l><l>0</l><block var="width"/><block var="height"/></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block></script></block><custom-block s="add centered axes to a MathPad on %txt"><block var="target"/></custom-block></script></block></script><scripts><comment x="474.1666666666667" y="108.5" w="220.16039530436274" collapsed="false">costume attributes:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;6: left offset for MathPad&#xD;    position on stage&#xD;7: upper offset for MathPad&#xD;    position on stage&#xD;&#xD;other attributes:&#xD;1: line width&#xD;2: draw only ponts, not arrows&#xD;3: dimension of coordinate system&#xD;4: max. value on scales&#xD;5: start point of arrows</comment></scripts></block-definition><block-definition s="is %&apos;sprite&apos; a MathPad?" type="predicate" category="2. Math tools"><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><l><option>myself</option></l></block><block s="reifyPredicate"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>MathPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><script><block s="doReport"><block s="reportAskFor"><l>Stage</l><block s="reifyPredicate"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>MathPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><block var="sprite"/></block><block s="reifyPredicate"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>MathPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script></block></script></block></script></block></script></block-definition><block-definition s="MathPadProperty %&apos;key&apos; of %&apos;sprite&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="86.11904761904775" collapsed="false">Returns the value of a property.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">dimensions<options>typeOfConfiguration&#xD;costumeProperties={&#xD;width=costumeWidth&#xD;height=costumeHeight&#xD;back color=backColor&#xD;offsets=offsets&#xD;front color=frontColor&#xD;}&#xD;line properties={&#xD;line width=lineWidth&#xD;line style=lineStyle&#xD;line color=lineColor&#xD;}&#xD;text properties={&#xD;text height=textHeight&#xD;orientation=textOrientation&#xD;}&#xD;closebutton properties={&#xD;with closebutton?=withCloseButton&#xD;position=closeButtonLeft&#xD;size=closeButtonSize&#xD;}&#xD;MathPad properties={&#xD;type of data=typeOfData&#xD;draw only points, not arrows=onlyPoints&#xD;dimensions&#xD;max value on scales=maxValue&#xD;min value on scales=minValue&#xD;start point for arrows=startPoint&#xD;}</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %s ?"><block var="target"/><l>MathPad</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as MathPad!</l><l>MathPadProperty ...</l></custom-block></script><list></list></block><block s="doIfElse"><custom-block s="is variable %s in the scope of %s ?"><l>myProperties</l><block var="target"/></custom-block><script><block s="doReport"><block s="reportListItem"><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="key"/><l> </l></block></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: missing variable myProperties!</l><l>MathPadProperty ...</l></custom-block></script></block></script></block></script></block-definition><block-definition s="set MathPadProperty %&apos;key&apos; of %&apos;sprite&apos; to %&apos;value&apos;" type="command" category="2. Math tools"><comment x="0" y="0" w="105.83333333333333" collapsed="false">Sets the value of an existing property or inserts it anew.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">dimensions<options>typeOfConfiguration&#xD;costumeProperties={&#xD;width=costumeWidth&#xD;height=costumeHeight&#xD;back color=backColor&#xD;offsets&#xD;front color=frontColor&#xD;}&#xD;line properties={&#xD;line width=lineWidth&#xD;line style=lineStyle&#xD;line color=lineColor&#xD;}&#xD;text properties={&#xD;text height=textHeight&#xD;orientation=textOrientation&#xD;}&#xD;closebutton properties={&#xD;with closebutton?=withCloseButton&#xD;position=closeButtonLeft&#xD;size=closeButtonSize&#xD;}&#xD;MathPad properties={&#xD;type of data=typeOfData&#xD;draw only points, not arrows=onlyPoints&#xD;dimensions&#xD;max value on scales=maxValue&#xD;min value on scales=minValue&#xD;start point for arrows=startPoint&#xD;}</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %s ?"><block var="target"/><l>MathPad</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>Target isn&apos;t configured as MathPad!</l><l>set MathPadProperty</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><custom-block s="is variable %s in the scope of %s ?"><l>myProperties</l><block var="target"/></custom-block><script><block s="doReplaceInList"><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="key"/><l> </l></block></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="value"/></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>Missing variable "myProperties"!</l><l>set MathPadProperty</l></custom-block></script></block></script></block></script></block-definition><block-definition s="set MathPad costume properties width: %&apos;width&apos; $nl height: %&apos;height&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; $nl offsets: %&apos;leftOffset&apos; %&apos;upperOffset&apos; on %&apos;sprite&apos;" type="command" category="2. Math tools"><comment x="0" y="0" w="124.32706197102944" collapsed="false">a simple way to set some costume attributes:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;6: left offset for MathPad&#xD;    position on stage&#xD;7: upper offset for MathPad&#xD;    position on stage</comment><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input><input type="%n">0</input><input type="%n">0</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a MathPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as MathPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><custom-block s="configure sprite %s as a MathPad %br width: %n height: %n color: %n %n %n"><block var="target"/><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></custom-block><custom-block s="set MathPadProperty %txt of %txt to %s"><l>costumeProperties</l><block var="target"/><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/><block var="leftOffset"/><block var="upperOffset"/></list></block></custom-block></script></block-definition><block-definition s="set MathPad properties lineWidth: %&apos;lineWidth&apos; onlyPoints? %&apos;onlyPoints&apos; $nl dimension: %&apos;dimension&apos; maxValue: %&apos;maxValue&apos; startPoint: %&apos;x&apos; %&apos;y&apos; %&apos;z&apos; $nl on %&apos;sprite&apos;" type="command" category="2. Math tools"><comment x="0" y="0" w="160.9937286376957" collapsed="false">a simple way to set some MathPad attributes:&#xD;1: line width&#xD;2: draw only ponts, not arrows&#xD;3: dimension of coordinate system&#xD;4: max. value on scales&#xD;5: start point of arrows</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%b">false</input><input type="%n">3</input><input type="%n">10</input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>oldDimension</l><l>oldMaxValue</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a MathPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as MathPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>oldDimension</l><custom-block s="MathPadProperty %txt of %txt"><l>dimension</l><block var="target"/></custom-block></block><block s="doSetVar"><l>oldMaxValue</l><custom-block s="MathPadProperty %txt of %txt"><l>maxValue</l><block var="target"/></custom-block></block><custom-block s="set MathPadProperty %txt of %txt to %s"><l>lineProperties</l><block var="target"/><block s="reportNewList"><list><block var="lineWidth"/><block var="onlyPoints"/></list></block></custom-block><custom-block s="set MathPadProperty %txt of %txt to %s"><l>dimension</l><block var="target"/><block var="dimension"/></custom-block><custom-block s="set MathPadProperty %txt of %txt to %s"><l>maxValue</l><block var="target"/><block var="maxValue"/></custom-block><custom-block s="set MathPadProperty %txt of %txt to %s"><l>startPoint</l><block var="target"/><block s="reportNewList"><list><block var="x"/><block var="y"/><block var="z"/></list></block></custom-block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicNotEquals"><list><block var="oldDimension"/><block var="dimension"/></list></block><block s="reportVariadicNotEquals"><list><block var="oldMaxValue"/><block var="maxValue"/></list></block></list></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><custom-block s="new costume %n %n %n %n %n"><block s="reportListItem"><l>1</l><custom-block s="MathPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>2</l><custom-block s="MathPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>3</l><custom-block s="MathPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>4</l><custom-block s="MathPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>5</l><custom-block s="MathPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></custom-block></block></script><list></list></block><list></list></block><custom-block s="add centered axes to a MathPad on %txt"><block var="target"/></custom-block></script><list></list></block></script></block></script></block-definition><block-definition s="add centered axes to a MathPad on %&apos;sprite&apos;" type="command" category="2. Math tools"><comment x="0" y="0" w="158.49372863769608" collapsed="false">Draws axes on a MathPad in 2 or 3 dimensions.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a MathPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as MathPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doApplyExtension"><l>SciS_mathpadaddaxes(cAttributes,type,maxValue,dimension,costume)</l><list><custom-block s="MathPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block><custom-block s="MathPadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><custom-block s="MathPadProperty %txt of %txt"><l>maxValue</l><block var="target"/></custom-block><custom-block s="MathPadProperty %txt of %txt"><l>dimension</l><block var="target"/></custom-block><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block></list></block></script></block-definition><block-definition s="plot %&apos;choice&apos; %&apos;data&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; $nl on MathPad %&apos;sprite&apos; Change startpoint? %&apos;changeStartpoint&apos;" type="command" category="2. Math tools"><comment x="0" y="0" w="439.1666666666663" collapsed="false">Draws a vector, complex number or object of points from the start point stored in the properties.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">vector<options>vector&#xD;complex-number&#xD;line-to&#xD;object-of</options></input><input type="%l"></input><input type="%n">255</input><input type="%n">0</input><input type="%n">0</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">false</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>oldStartPoint</l><l>i</l><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a MathPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as MathPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: pointlist required!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>data</l><custom-block s="copy of %l"><block var="data"/></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>object-of</l></list></block><script><block s="doIf"><block s="reportVariadicLessThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>1</l></list></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: at least two points necessary!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><custom-block s="MathPadProperty %txt of %txt"><l>dimension</l><block var="target"/></custom-block><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block></list></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: wrong dimension!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_mathpadplot(costume,data,r,g,b,maxValue,linewidth,dimension,onlypoints,cAttributes,startpoint,choice)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="data"/><block var="r"/><block var="g"/><block var="b"/><custom-block s="MathPadProperty %txt of %txt"><l>maxValue</l><block var="target"/></custom-block><block s="reportListItem"><l>1</l><custom-block s="MathPadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></block><custom-block s="MathPadProperty %txt of %txt"><l>dimension</l><block var="target"/></custom-block><block s="reportListItem"><l>2</l><custom-block s="MathPadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></block><custom-block s="MathPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block><custom-block s="MathPadProperty %txt of %txt"><l>startPoint</l><block var="target"/></custom-block><block var="choice"/></list></block></list></block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>complex-number</l></list></block><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="data"/></block><l>complexNumberCartesianStyle</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="data"/></block><l>complexNumberPolarStyle</l></list></block></list></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: complex number required!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="data"/></block><l>complexNumberPolarStyle</l></list></block><script><block s="doSetVar"><l>data</l><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="data"/></block><block s="reportMonadic"><l><option>cos</option></l><block s="reportListItem"><l>3</l><block var="data"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="data"/></block><block s="reportMonadic"><l><option>sin</option></l><block s="reportListItem"><l>3</l><block var="data"/></block></block></list></block></list></block></block></script><list></list></block><block s="doSetVar"><l>data</l><block s="reportNewList"><list><block s="reportListItem"><l>2</l><block var="data"/></block><block s="reportListItem"><l>3</l><block var="data"/></block></list></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><custom-block s="MathPadProperty %txt of %txt"><l>dimension</l><block var="target"/></custom-block><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></list></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: wrong dimension!ROR: complex number required!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_mathpadplot(costume,data,r,g,b,maxValue,linewidth,dimension,onlypoints,cAttributes,startpoint,choice)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="data"/><block var="r"/><block var="g"/><block var="b"/><custom-block s="MathPadProperty %txt of %txt"><l>maxValue</l><block var="target"/></custom-block><block s="reportListItem"><l>1</l><custom-block s="MathPadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></block><custom-block s="MathPadProperty %txt of %txt"><l>dimension</l><block var="target"/></custom-block><block s="reportListItem"><l>2</l><custom-block s="MathPadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></block><custom-block s="MathPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block><custom-block s="MathPadProperty %txt of %txt"><l>startPoint</l><block var="target"/></custom-block><block var="choice"/></list></block></list></block><block s="doIf"><block var="changeStartpoint"/><script><custom-block s="set MathPadProperty %txt of %txt to %s"><l>startPoint</l><block var="target"/><block var="data"/></custom-block></script><list></list></block></script></block></script></block-definition><block-definition s="MathPad Example 1: vektor addition" type="command" category="2. Math tools"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="configure sprite %s as a MathPad %br width: %n height: %n color: %n %n %n"><l>thisSprite</l><l>400</l><l>300</l><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="plot %s %l color: %n %n %n %br on MathPad %txt Change startpoint? %b"><l>vector</l><custom-block s="linear operation %s %s %s"><custom-block s="vector %mult%n"><list><l>3</l><l>4</l><l>0</l></list></custom-block><l>+</l><custom-block s="vector %mult%n"><list><l>-5</l><l>0</l><l>4</l></list></custom-block></custom-block><l>255</l><l>0</l><l>0</l><l>thisSprite</l><l><bool>false</bool></l></custom-block><custom-block s="plot %s %l color: %n %n %n %br on MathPad %txt Change startpoint? %b"><l>vector</l><custom-block s="vector %mult%n"><list><l>3</l><l>4</l><l>0</l></list></custom-block><l>0</l><l>0</l><l>255</l><l>thisSprite</l><l><bool>true</bool></l></custom-block><custom-block s="plot %s %l color: %n %n %n %br on MathPad %txt Change startpoint? %b"><l>vector</l><custom-block s="vector %mult%n"><list><l>-5</l><l>0</l><l>4</l></list></custom-block><l>0</l><l>255</l><l>0</l><l>thisSprite</l><l><bool>true</bool></l></custom-block></script></block-definition><block-definition s="MathPad Example 2: affine transformation" type="command" category="2. Math tools"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>triangle</l><l>image</l><l>sourcePoints</l><l>targetPoints</l></list></block><block s="doSetVar"><l>triangle</l><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>0</l></list></block><block s="reportNewList"><list><l>8</l><l>1</l></list></block><block s="reportNewList"><list><l>2</l><l>5</l></list></block></list></block></block><block s="doSetVar"><l>sourcePoints</l><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>0</l></list></block><block s="reportNewList"><list><l>0</l><l>1</l></list></block><block s="reportNewList"><list><l>1</l><l>0</l></list></block></list></block></block><block s="doSetVar"><l>targetPoints</l><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>0</l></list></block><block s="reportNewList"><list><l>0</l><l>-1</l></list></block><block s="reportNewList"><list><l>-1</l><l>0</l></list></block></list></block></block><custom-block s="configure sprite %s as a MathPad %br width: %n height: %n color: %n %n %n"><l>thisSprite</l><l>500</l><l>400</l><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="set MathPad properties lineWidth: %n onlyPoints? %b %br dimension: %n maxValue: %n startPoint: %n %n %n %br on %txt"><l>2</l><l><bool>false</bool></l><l>2</l><l>10</l><l>0</l><l>0</l><l>0</l><l>thisSprite</l></custom-block><custom-block s="plot %s %l color: %n %n %n %br on MathPad %txt Change startpoint? %b"><l>object-of</l><block var="triangle"/><l>255</l><l>0</l><l>0</l><l>thisSprite</l><l><bool>false</bool></l></custom-block><block s="doSetVar"><l>image</l><custom-block s="affine transformation of %l %br by %l --&gt; %l for MathPad"><block var="triangle"/><block var="sourcePoints"/><block var="targetPoints"/></custom-block></block><custom-block s="plot %s %l color: %n %n %n %br on MathPad %txt Change startpoint? %b"><l>object-of</l><block var="image"/><l>0</l><l>0</l><l>255</l><l>thisSprite</l><l><bool>false</bool></l></custom-block></script></block-definition><block-definition s="root of %&apos;term&apos; $nl starting at %&apos;x0&apos; by Newton´s method" type="reporter" category="2. Math tools" space="true"><comment x="0" y="0" w="117.50000000000016" collapsed="false">Returns a root of an equation calculated with Newton&apos;s method.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing">ringified term</input><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>epsilon</l><l>i</l><l>f</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="term"/><l><option>reporter</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: ringified term required!</l><l>root of ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>epsilon</l><l>0.00001</l></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doIfElse"><block s="reportIsA"><block s="evaluate"><block var="term"/><list><block var="x0"/></list></block><l><option>number</option></l></block><script><block s="doSetVar"><l>f</l><block s="evaluate"><block var="term"/><list><block var="x0"/></list></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="i"/><l>1000</l></list></block><block s="reportVariadicLessThan"><list><block s="reportMonadic"><l><option>abs</option></l><block var="f"/></block><block s="reportVariadicProduct"><list><block var="epsilon"/><block var="epsilon"/></list></block></list></block></list></block><script><block s="doChangeVar"><l>x0</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="f"/><block var="epsilon"/></list></block><block s="reportDifference"><block var="f"/><block s="evaluate"><block var="term"/><list><block s="reportVariadicSum"><list><block var="x0"/><block var="epsilon"/></list></block></list></block></block></block></block><block s="doIfElse"><block s="reportIsA"><block s="evaluate"><block var="term"/><list><block var="x0"/></list></block><l><option>number</option></l></block><script><block s="doSetVar"><l>f</l><block s="evaluate"><block var="term"/><list><block var="x0"/></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: function not defined for this value</l><l>root of ...</l></custom-block></script></block></script></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="i"/><l>1000</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: no root found!</l><l>root of ...</l></custom-block></script><script><block s="doReport"><block var="x0"/></block></script></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: function not defined for this value</l><l>root of ...</l></custom-block></script></block></script></block></script></block-definition><block-definition s="sequence element %&apos;term&apos; ( %&apos;n&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="92.66666666666667" collapsed="false">Reports an element of a sequence.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing">ringified term</input><input type="%n">1</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="term"/><l><option>reporter</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: ringified term required!</l><l>sequence element ...</l></custom-block></script><list></list></block><block s="doReport"><block s="evaluate"><block var="term"/><list><block var="n"/></list></block></block></script></block></script></block-definition><block-definition s="first %&apos;n&apos; elements of sequence %&apos;term&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="123.33333333333333" collapsed="false">Returns a list of the first n elements of a sequence.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%repRing">ringified term</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="term"/><l><option>reporter</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: ringified term required!</l><l>first n elements of sequence...</l></custom-block></script><list></list></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="term"/><list><l></l></list></block></autolambda><list></list></block><block s="reportNumbers"><l>1</l><block var="n"/></block></block></block></script></block></script></block-definition><block-definition s="sequence of secant slopes for %&apos;term&apos; $nl at %&apos;x0&apos; calculated with sequence %&apos;sequence&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="164.33333333333331" collapsed="false">Returns a list of secant slopes calculated with the given sequence.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing">ringified term</input><input type="%n">2</input><input type="%s">1/n</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="term"/><l><option>reporter</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: ringified term required!</l><l>sequence of secant slopes</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sequence"/><l>1/n</l></list></block><script><block s="doSetVar"><l>sequence</l><custom-block s="first %n elements of sequence %repRing"><l>100</l><block s="reifyReporter"><autolambda><block s="reportQuotient"><l>1</l><l></l></block></autolambda><list></list></block></custom-block></block></script><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="sequence"/><l>vector</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: list of sequence elements required!</l><l>sequence of secant slopes</l></custom-block></script><list></list></block></script></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportQuotient"><block s="reportDifference"><block s="evaluate"><block var="term"/><list><block s="reportVariadicSum"><list><block var="x0"/><block var="element"/></list></block></list></block><block s="evaluate"><block var="term"/><list><block var="x0"/></list></block></block><block var="element"/></block></autolambda><list><l>element</l></list></block><block var="sequence"/></block></block></script></block></script></block-definition><block-definition s="derivative %&apos;term&apos; ´( %&apos;x&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="126.49999999999999" collapsed="false">Reports the secant slope &quot;nearby&quot; the given point.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing">ringified term</input><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>epsilon</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="term"/><l><option>reporter</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: ringified term required!</l><l>derivative ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>epsilon</l><l>0.00001</l></block><block s="doReport"><block s="reportQuotient"><block s="reportDifference"><block s="evaluate"><block var="term"/><list><block s="reportVariadicSum"><list><block var="x"/><block var="epsilon"/></list></block></list></block><block s="evaluate"><block var="term"/><list><block var="x"/></list></block></block><block var="epsilon"/></block></block></script></block></script></block-definition><block-definition s="%&apos;n&apos; $nl ∑ %&apos;term&apos; $nl %&apos;i&apos; = %&apos;i0&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="106.6666666666667" collapsed="false">Returns a finite sum.</comment><header></header><code></code><translations></translations><inputs><input type="%n">10</input><input type="%repRing">ringified term</input><input type="%upvar"></input><input type="%n">0</input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="term"/><l><option>reporter</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: ringified term required!</l><l>∑ of ...</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="term"/><block s="reifyReporter"><script></script><list></list></block></list></block><script><block s="doSetVar"><l>term</l><block s="reifyReporter"><autolambda><block s="reportDifference"><l>0</l><l>0</l></block></autolambda><list></list></block></block></script><list></list></block><block s="doSetVar"><l>result</l><l>0</l></block><block s="doSetVar"><l>i</l><block var="i0"/></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="n"/></list></block><script><block s="doSetVar"><l>result</l><block s="reportVariadicSum"><list><block var="result"/><block s="evaluate"><block var="term"/><list><block var="i"/></list></block></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="%&apos;b&apos; $nl ∫ %&apos;term&apos; dx $nl %&apos;a&apos; $nl calculated with %&apos;n&apos; intervals" type="reporter" category="2. Math tools"><comment x="0" y="0" w="160.50000000000003" collapsed="false">Returns the integral of a term calculated with n trapezoids.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%repRing">ringified term</input><input type="%n">1</input><input type="%n">100</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>dx</l><l>x1</l><l>x2</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="term"/><l><option>reporter</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: ringified term required!</l><l>∫...dx</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="a"/><block var="b"/></list></block><script><block s="doReport"><l>0</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="n"/><l>0</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: n should be a positive value!</l><l>∫...dx</l></custom-block></script><list></list></block><block s="doSetVar"><l>dx</l><block s="reportQuotient"><block s="reportDifference"><block var="b"/><block var="a"/></block><block var="n"/></block></block><block s="doSetVar"><l>x1</l><block var="a"/></block><block s="doReport"><block s="reportCombine"><block s="reportMap"><block s="reifyReporter"><script><block s="doSetVar"><l>x2</l><block s="reportVariadicSum"><list><block var="x1"/><block var="dx"/></list></block></block><block s="doSetVar"><l>result</l><block s="reportVariadicProduct"><list><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="evaluate"><block var="term"/><list><block var="x2"/></list></block><block s="evaluate"><block var="term"/><list><block var="x1"/></list></block></list></block><l>2</l></block><block var="dx"/></list></block></block><block s="doSetVar"><l>x1</l><block var="x2"/></block><block s="doReport"><block var="result"/></block></script><list></list></block><block s="reportNumbers"><l>1</l><block var="n"/></block></block><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block></script></block></script></block-definition><block-definition s="b(N= %&apos;N&apos; p= %&apos;p&apos; k= %&apos;k&apos; )" type="reporter" category="2. Math tools" space="true"><comment x="0" y="0" w="208.46899739583327" collapsed="false">Reports coefficient of the binomial distribution b(N,p,k)=(N choose k)*p^k(1-p)^(N-k)</comment><header></header><code></code><translations></translations><inputs><input type="%n">10</input><input type="%n">0.1</input><input type="%n">2</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="k"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="k"/><block var="N"/></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="p"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="p"/><l>1</l></list></block></list></block></list></block><script><block s="doReport"><block s="reportVariadicProduct"><list><custom-block s="( %n ) %br ( %n )"><block var="N"/><block var="k"/></custom-block><block s="reportVariadicProduct"><list><block s="reportPower"><block var="p"/><block var="k"/></block><block s="reportPower"><block s="reportDifference"><l>1</l><block var="p"/></block><block s="reportDifference"><block var="N"/><block var="k"/></block></block></list></block></list></block></block></script><list></list></block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: wrong parameter!</l><l>b(...)</l></custom-block></script></block></script></block-definition><block-definition s="B x= %&apos;x&apos; (N= %&apos;N&apos; p= %&apos;p&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="189.1666666666667" collapsed="false">Reports binomial distribution B(N,p,k).</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">10</input><input type="%n">0.1</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>k</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="x"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="x"/><block var="N"/></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="p"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="p"/><l>1</l></list></block></list></block></list></block><script><block s="doSetVar"><l>result</l><l>0</l></block><block s="doSetVar"><l>k</l><l>0</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="k"/><block var="x"/></list></block><script><block s="doChangeVar"><l>result</l><block s="reportVariadicProduct"><list><custom-block s="( %n ) %br ( %n )"><block var="N"/><block var="k"/></custom-block><block s="reportVariadicProduct"><list><block s="reportPower"><block var="p"/><block var="k"/></block><block s="reportPower"><block s="reportDifference"><l>1</l><block var="p"/></block><block s="reportDifference"><block var="N"/><block var="k"/></block></block></list></block></list></block></block><block s="doChangeVar"><l>k</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script><list></list></block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: wrong parameter!</l><l>B(...)</l></custom-block></script></block></script></block-definition><block-definition s="h(N= %&apos;N&apos; M= %&apos;M&apos; n= %&apos;n&apos; k= %&apos;k&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="128.63566406249993" collapsed="false">Reports coefficient of the hypergeometric distribution.</comment><header></header><code></code><translations></translations><inputs><input type="%n">10</input><input type="%n">3</input><input type="%n">5</input><input type="%n">2</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="M"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="M"/><block var="N"/></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="n"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="n"/><block var="N"/></list></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="k"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="k"/><block var="n"/></list></block></list></block></list></block><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><custom-block s="( %n ) %br ( %n )"><block var="M"/><block var="k"/></custom-block><custom-block s="( %n ) %br ( %n )"><block s="reportDifference"><block var="N"/><block var="M"/></block><block s="reportDifference"><block var="n"/><block var="k"/></block></custom-block></list></block><custom-block s="( %n ) %br ( %n )"><block var="N"/><block var="n"/></custom-block></block></block></script><list></list></block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: wrong parameter!</l><l>h(...)</l></custom-block></script></block></script></block-definition><block-definition s="H x= %&apos;x&apos; (N= %&apos;N&apos; M= %&apos;M&apos; n= %&apos;n&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="81.50000000000001" collapsed="false">Reports hypergeometric distribution.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">10</input><input type="%n">3</input><input type="%n">5</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>k</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="x"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="x"/><block var="N"/></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="M"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="M"/><block var="N"/></list></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="n"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="n"/><block var="N"/></list></block></list></block></list></block><script><block s="doSetVar"><l>result</l><l>0</l></block><block s="doSetVar"><l>k</l><l>0</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="k"/><block var="x"/></list></block><script><block s="doChangeVar"><l>result</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><custom-block s="( %n ) %br ( %n )"><block var="M"/><block var="k"/></custom-block><custom-block s="( %n ) %br ( %n )"><block s="reportDifference"><block var="N"/><block var="M"/></block><block s="reportDifference"><block var="n"/><block var="k"/></block></custom-block></list></block><custom-block s="( %n ) %br ( %n )"><block var="N"/><block var="n"/></custom-block></block></block><block s="doChangeVar"><l>k</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script><list></list></block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: wrong parameter!</l><l>H(...)</l></custom-block></script></block></script></block-definition><block-definition s="p(θ= %&apos;theta&apos; k= %&apos;k&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="119.63566406249997" collapsed="false">Reports coefficient of the Poisson distribution.</comment><header></header><code></code><translations></translations><inputs><input type="%n">0.05</input><input type="%n">2</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="theta"/></list></block><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="k"/></list></block></list></block><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportPower"><block var="theta"/><block var="k"/></block><block s="reportMonadic"><l><option>e^</option></l><block s="reportMonadic"><l><option>neg</option></l><block var="theta"/></block></block></list></block><custom-block s="%n !"><block var="k"/></custom-block></block></block></script><list></list></block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: wrong parameter!</l><l>p(...)</l></custom-block></script></block></script></block-definition><block-definition s="P x= %&apos;x&apos; p(θ= %&apos;theta&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="76.16666666666667" collapsed="false">Reports Poisson distribution.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">0.05</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>k</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="x"/></list></block><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="theta"/></list></block></list></block><script><block s="doSetVar"><l>result</l><l>0</l></block><block s="doSetVar"><l>k</l><l>0</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="k"/><block var="x"/></list></block><script><block s="doChangeVar"><l>result</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportPower"><block var="theta"/><block var="k"/></block><block s="reportMonadic"><l><option>e^</option></l><block s="reportMonadic"><l><option>neg</option></l><block var="theta"/></block></block></list></block><custom-block s="%n !"><block var="k"/></custom-block></block></block><block s="doChangeVar"><l>k</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script><list></list></block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: wrong parameter!</l><l>P(...)</l></custom-block></script></block></script></block-definition><block-definition s="pareto (xmin= %&apos;xmin&apos; k= %&apos;k&apos; x= %&apos;x&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="115.63566406250023" collapsed="false">Reports coefficient of the Pareto distribution.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">3</input><input type="%n">2</input></inputs><script><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="x"/><block var="xmin"/></list></block><script><block s="doReport"><l>0</l></block></script><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="k"/><block s="reportPower"><block var="xmin"/><block var="k"/></block></list></block><block s="reportPower"><block var="x"/><block s="reportVariadicSum"><list><block var="k"/><l>1</l></list></block></block></block></block></script></block></script></block-definition><block-definition s="n (x= %&apos;x&apos; μ= %&apos;mue&apos; σ= %&apos;sigma&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="110.16666666666679" collapsed="false">Reports coefficient of the normal distribution.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">0</input><input type="%n">1</input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportMonadic"><l><option>e^</option></l><block s="reportVariadicProduct"><list><l>-0.5</l><block s="reportPower"><block s="reportQuotient"><block s="reportDifference"><block var="x"/><block var="mue"/></block><block var="sigma"/></block><l>2</l></block></list></block></block><block s="reportVariadicProduct"><list><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicProduct"><list><l>2</l><custom-block s="𝝅"></custom-block></list></block></block><block var="sigma"/></list></block></block></block></script></block-definition><block-definition s="columnwise %&apos;function&apos; %&apos;data&apos;" type="reporter" category="control" helper="true"><comment x="0" y="0" w="212" collapsed="false">Turns a row-wise (in Lisp terminology) function&#xD;into a column-wise one.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="errorObsolete"></block></block></script></block-definition><block-definition s="scalar -&gt; hyper %&apos;func&apos;" type="reporter" category="control" helper="true"><comment x="0" y="0" w="217.99999999999997" collapsed="false">Takes a dyadic scalar function as input, and&#xD;hyperizes it, so that it can take lists as inputs.&#xD;&#xD;Don&apos;t use on slow functions (this has compiled map calls).  Meant for use on primitives.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing"></input></inputs><script><block s="doDeclareVariables"><list><l>hyper func</l><l>scalarized</l></list></block><block s="doSetVar"><l>hyper func</l><block s="reifyReporter"><script><block s="doWarp"><script><block s="doIfElse"><block s="errorObsolete"></block><script><block s="doIfElse"><block s="errorObsolete"></block><script><block s="doReport"><block s="evaluate"><block var="func"/><list><block s="errorObsolete"></block><block s="errorObsolete"></block></list></block></block></script><script><block s="doSetVar"><l>scalarized</l><block s="errorObsolete"></block></block><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportAtomicFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>list</option></l></block></autolambda><list></list></block><block var="b"/></block></list></block><script><block s="doReport"><block s="reportAtomicMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="func"/><list><block var="scalarized"/><l></l></list></block></autolambda><list></list></block><block var="b"/></block></block></script><list></list></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="hyper func"/><list><block var="scalarized"/><l></l></list></block></autolambda><list></list></block><block var="b"/></block></block></script></block></script><script><block s="doIfElse"><block s="errorObsolete"></block><script><block s="doSetVar"><l>scalarized</l><block s="errorObsolete"></block></block><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportAtomicFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>list</option></l></block></autolambda><list></list></block><block var="a"/></block></list></block><script><block s="doReport"><block s="reportAtomicMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="func"/><list><l></l><block var="scalarized"/></list></block></autolambda><list></list></block><block var="a"/></block></block></script><list></list></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="hyper func"/><list><l></l><block var="scalarized"/></list></block></autolambda><list></list></block><block var="a"/></block></block></script><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><l></l><block s="reportAtomicFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>list</option></l></block></autolambda><list></list></block><block var="a"/></block></list></block><block s="reportVariadicEquals"><list><l></l><block s="reportAtomicFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>list</option></l></block></autolambda><list></list></block><block var="b"/></block></list></block></list></block><script><block s="doReport"><block s="errorObsolete"></block></block></script><list></list></block><block s="doReport"><block s="errorObsolete"></block></block></script></block></script></block></script></block></script><list><l>a</l><l>b</l></list></block></block><block s="doReport"><block var="hyper func"/></block></script></block-definition><block-definition s="pipe %&apos;value&apos; $arrowRight %&apos;pipe&apos;" type="reporter" category="control"><header></header><code></code><translations>pt:a aplicação a _ de _&#xD;</translations><inputs><input type="%s"></input><input type="%mult%repRing"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="pipe"/></block><script><block s="doReport"><block var="value"/></block></script><list></list></block><block s="doReport"><custom-block s="pipe %s $arrowRight %mult%repRing"><block s="evaluate"><block s="reportListItem"><l>1</l><block var="pipe"/></block><list><block var="value"/></list></block><block s="reportCDR"><block var="pipe"/></block></custom-block></block></script></block-definition><block-definition s="𝜙" type="reporter" category="2. Math tools" space="true"><comment x="0" y="0" w="90" collapsed="false">The empty set.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><custom-block s="set of { %mult%s }"><list></list></custom-block></block></script></block-definition><block-definition s="|R" type="reporter" category="2. Math tools"><comment x="0" y="0" w="148.07692307692318" collapsed="false">The real (computer-) numbers.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><custom-block s="set of {x| %n %txt x %s %s }"><l>-Infinity</l><l>≤</l><l>≤</l><l>Infinity</l></custom-block></block></script></block-definition><block-definition s="set of { %&apos;elements&apos; }" type="reporter" category="2. Math tools"><comment x="0" y="0" w="192.6738932291671" collapsed="false">Returns a set by listing the elements, predicates, and defined intervals. The three sections are treated as a disjunction: Elements belong to the set if they are enumerated, lie within intervals, or satisfy the predicate. If possible, they are defined by intervals.&#xD;The sequence is: &lt;set&gt;&lt;isNumerical&gt;&lt;list of elements&gt;&lt;list of intervals&gt;&lt;predicate&gt;.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%s"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>i</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list><l>set</l><l></l><custom-block s="%s without duplicates"><block var="elements"/></custom-block><block s="reportNewList"><list></list></block><l></l></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>3</l><block var="result"/></block></block></list></block><script><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><block var="i"/><block s="reportListItem"><l>3</l><block var="result"/></block></block><l><option>number</option></l></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><block var="i"/><block s="reportListItem"><l>3</l><block var="result"/></block></block><l>≤</l><l>≤</l><block s="reportListItem"><block var="i"/><block s="reportListItem"><l>3</l><block var="result"/></block></block></list></block><block s="reportListItem"><l>4</l><block var="result"/></block></block><block s="doDeleteFromList"><block var="i"/><block s="reportListItem"><l>3</l><block var="result"/></block></block></script><script><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script></block><block s="doReplaceInList"><l>2</l><block var="result"/><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>3</l><block var="result"/></block></block><l>0</l></list></block></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="set of {x| %&apos;predicate&apos; }" type="reporter" category="2. Math tools"><comment x="0" y="0" w="213.72311197916727" collapsed="false">Creation of a set by a predicate. &#xD;Intervals and elements should be defined by other blocks. If possible the predicate is translated to a list of intervals. &#xD;Returns a set by listing the elements, predicates, and defined intervals. The three sections are treated as a disjunction: Elements belong to the set if they are enumerated, lie within intervals, or satisfy the predicate. If possible, they are defined by intervals.&#xD;The sequence is: &lt;set&gt;&lt;isNumerical&gt;&lt;list of elements&gt;&lt;list of intervals&gt;&lt;predicate&gt;.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing">ringified predicate</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>predicateTree</l></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="predicate"/><l><option>predicate</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: parameter is not a predicate!</l><l>set of ... predicate</l></custom-block></script><list></list></block><block s="doSetVar"><l>predicateTree</l><block s="reportTextSplit"><block var="predicate"/><l><option>blocks</option></l></block></block><block s="doIfElse"><custom-block s="is predicate tree %l translateable to intervals?"><block var="predicateTree"/></custom-block><script><block s="doReport"><block s="reportNewList"><list><l>set</l><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportNewList"><list></list></block><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block var="predicateTree"/></custom-block><l></l></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><l>set</l><block s="reportBoolean"><l><bool>false</bool></l></block><block s="reportNewList"><list></list></block><block s="reportNewList"><list></list></block><block var="predicate"/></list></block></block></script></block></script></block></script></block-definition><block-definition s="set of {x| %&apos;leftLimit&apos; %&apos;op1&apos; x %&apos;op2&apos; %&apos;rightLimit&apos; }" type="reporter" category="2. Math tools"><comment x="0" y="0" w="200.8405598958334" collapsed="false">Creation of a set by one numerical interval. &#xD;Predicates and elements should be defined by other blocks. &#xD;Returns a set by listing the elements, predicates, and defined intervals. The three sections are treated as a disjunction: Elements belong to the set if they are enumerated, lie within intervals, or satisfy the predicate. If possible, they are defined by intervals.&#xD;The sequence is: &lt;set&gt;&lt;isNumerical&gt;&lt;list of elements&gt;&lt;list of intervals&gt;&lt;predicate&gt;.</comment><header></header><code></code><translations></translations><inputs><input type="%n">-Infinity<options>-Infinity</options></input><input type="%txt" readonly="true">≤<options>≤&#xD;&lt;</options></input><input type="%s" readonly="true">≤<options>≤&#xD;&lt;</options></input><input type="%s">Infinity<options>Infinity</options></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="leftLimit"/><l><option>number</option></l></block><block s="reportIsA"><block var="rightLimit"/><l><option>number</option></l></block></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="leftLimit"/><block var="rightLimit"/></list></block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: that defines no interval!</l><l>set of {x...}</l></custom-block></script><list></list></block><block s="doReport"><block s="reportNewList"><list><l>set</l><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportNewList"><list></list></block><block s="reportNewList"><list><block s="reportNewList"><list><block var="leftLimit"/><block var="op1"/><block var="op2"/><block var="rightLimit"/></list></block></list></block><l></l></list></block></block></script></block></script></block-definition><block-definition s="%&apos;element&apos; ε %&apos;set&apos; ?" type="predicate" category="2. Math tools"><comment x="0" y="0" w="223.57142857142858" collapsed="false">Reports whether &quot;element&quot; is element of &quot;set&quot;.</comment><header></header><code></code><translations></translations><inputs><input type="%s">element</input><input type="%s">set</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: second parameter is not a set!</l></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>4</l><block var="set"/></block><block s="reportNewList"><list></list></block></list></block></block><script><block s="doIf"><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="set"/></block><block var="element"/></custom-block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script><list></list></block><block s="doReport"><block s="reportListContainsItem"><block s="reportListItem"><l>3</l><block var="set"/></block><block var="element"/></block></block></script></block></script></block-definition><block-definition s="%&apos;set1&apos; %&apos;op&apos; %&apos;set2&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="194.40476190476184" collapsed="false">Reports the intersection, union, difference, or cross product of two sets.</comment><header></header><code></code><translations></translations><inputs><input type="%s">set1</input><input type="%s" readonly="true">∩<options>∩&#xD;∪&#xD;\&#xD;X</options></input><input type="%s">set2</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set1"/><l>set</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: first parameter is not a set!</l><l>set operation</l></custom-block></script><list></list><comment w="107.14285714285722" collapsed="false">are these two sets?</comment></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set2"/><l>set</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: second parameter is not a set!</l><l>set operation</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>∪</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list><l>set</l><block s="reportVariadicAnd"><list><block s="reportListItem"><l>2</l><block var="set1"/></block><block s="reportListItem"><l>2</l><block var="set2"/></block></list></block><block s="reportConcatenatedLists"><list><block s="reportListItem"><l>3</l><block var="set1"/></block><block s="reportListItem"><l>3</l><block var="set2"/></block></list></block><custom-block s="merge intervals %l"><block s="reportConcatenatedLists"><list><block s="reportListItem"><l>4</l><block var="set1"/></block><block s="reportListItem"><l>4</l><block var="set2"/></block></list></block></custom-block><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>5</l><block var="set1"/></block><l><option>predicate</option></l></block><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>5</l><block var="set2"/></block><l><option>predicate</option></l></block><block s="reportJoinWords"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><l/><l/></list></block></autolambda><list></list></block><block s="reportListItem"><l>5</l><block var="set1"/></block><block s="reportListItem"><l>5</l><block var="set2"/></block></list></block><block s="reportListItem"><l>5</l><block var="set1"/></block></block><block s="reportListItem"><l>5</l><block var="set2"/></block></block></list></block></block><block s="doReport"><custom-block s="cleaned up set %l"><block var="result"/></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>∩</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list><l>set</l><block s="reportVariadicAnd"><list><block s="reportListItem"><l>2</l><block var="set1"/></block><block s="reportListItem"><l>2</l><block var="set2"/></block></list></block><block s="reportConcatenatedLists"><list><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><block s="reportListContainsItem"><block s="reportListItem"><l>3</l><block var="set1"/></block><block var="element"/></block><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="set1"/></block><block var="element"/></custom-block><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>5</l><block var="set1"/></block><l><option>predicate</option></l></block><block s="evaluate"><block s="reportListItem"><l>5</l><block var="set1"/></block><list><block var="element"/></list></block><block s="reportBoolean"><l><bool>false</bool></l></block></block></list></block></autolambda><list><l>element</l></list></block><block s="reportListItem"><l>3</l><block var="set2"/></block></block><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><l/></block><block var="element"/></custom-block><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>5</l><block var="set1"/></block><l><option>predicate</option></l></block><block s="evaluate"><block s="reportListItem"><l>5</l><block var="set1"/></block><list><block var="element"/></list></block><block s="reportBoolean"><l><bool>false</bool></l></block></block></list></block></autolambda><list><l>element</l></list></block><block s="reportListItem"><l>3</l><block var="set1"/></block></block></list></block><l></l><l></l></list></block></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportIsA"><block s="reportListItem"><l>5</l><block var="set1"/></block><l><option>predicate</option></l></block><block s="reportIsA"><block s="reportListItem"><l>5</l><block var="set2"/></block><l><option>predicate</option></l></block></list></block><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set1"/></block></block><l>0</l></list></block><script><block s="doReplaceInList"><l>5</l><block var="set1"/><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>5</l><block var="set1"/></block><l><option>predicate</option></l></block><block s="reportJoinWords"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><l/><l/></list></block></autolambda><list></list></block><block s="reportListItem"><l>5</l><block var="set1"/></block><custom-block s="interval list %l $arrowRightThin predicate"><block s="reportListItem"><l>4</l><block var="set1"/></block></custom-block></list></block><custom-block s="interval list %l $arrowRightThin predicate"><block s="reportListItem"><l>4</l><block var="set1"/></block></custom-block></block></block><block s="doReplaceInList"><l>4</l><block var="set1"/><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set2"/></block></block><l>0</l></list></block><script><block s="doReplaceInList"><l>5</l><block var="set2"/><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>5</l><block var="set2"/></block><l><option>predicate</option></l></block><block s="reportJoinWords"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><l/><l/></list></block></autolambda><list></list></block><block s="reportListItem"><l>5</l><block var="set2"/></block><custom-block s="interval list %l $arrowRightThin predicate"><block s="reportListItem"><l>4</l><block var="set2"/></block></custom-block></list></block><custom-block s="interval list %l $arrowRightThin predicate"><block s="reportListItem"><l>4</l><block var="set2"/></block></custom-block></block></block><block s="doReplaceInList"><l>4</l><block var="set2"/><block s="reportNewList"><list></list></block></block></script><list></list></block></script><list></list></block><block s="doReplaceInList"><l>4</l><block var="result"/><custom-block s="intersect interval lists %l and %l"><block s="reportListItem"><l>4</l><block var="set1"/></block><block s="reportListItem"><l>4</l><block var="set2"/></block></custom-block></block><block s="doReplaceInList"><l>5</l><block var="result"/><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>5</l><block var="set1"/></block><l><option>predicate</option></l></block><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>5</l><block var="set2"/></block><l><option>predicate</option></l></block><block s="reportJoinWords"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><l/><l/></list></block></autolambda><list></list></block><block s="reportListItem"><l>5</l><block var="set1"/></block><block s="reportListItem"><l>5</l><block var="set2"/></block></list></block><l></l></block><l></l></block></block><block s="doReport"><custom-block s="cleaned up set %l"><block var="result"/></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>\</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list><l>set</l><block s="reportVariadicAnd"><list><block s="reportListItem"><l>2</l><block var="set1"/></block><block s="reportListItem"><l>2</l><block var="set2"/></block></list></block><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportListContainsItem"><block s="reportListItem"><l>3</l><block var="set2"/></block><block var="element"/></block><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="set2"/></block><block var="element"/></custom-block></list></block></block></autolambda><list><l>element</l></list></block><block s="reportListItem"><l>3</l><block var="set1"/></block></block><block s="reportNewList"><list></list></block><l></l></list></block><comment w="118" collapsed="false">Listed elements are from set1, but not listed in set2 or part of the intervals of set2 ...</comment></block><block s="doIf"><block s="reportVariadicNotEquals"><list><block s="reportListItem"><l>5</l><block var="set2"/></block><l></l></list></block><script><block s="doReplaceInList"><l>3</l><block var="result"/><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="evaluate"><block s="reportListItem"><l>5</l><block var="set2"/></block><list><block var="value"/></list></block></block></autolambda><list><l>value</l></list></block><block s="reportListItem"><l>3</l><block var="result"/></block></block><comment w="179.33333333333334" collapsed="false">... or covered by the predicate of set2.</comment></block></script><list></list></block><block s="doReplaceInList"><l>4</l><block var="result"/><custom-block s="difference of interval lists %l and %l"><block s="reportListItem"><l>4</l><block var="set1"/></block><block s="reportListItem"><l>4</l><block var="set2"/></block></custom-block><comment w="267.3333333333333" collapsed="false">interval list of set1 and nor covered from interval list of set2</comment></block><block s="doIf"><block s="reportVariadicNotEquals"><list><block s="reportListItem"><l>5</l><block var="set2"/></block><l></l></list></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListItem"><l>5</l><block var="set1"/></block><l></l></list></block><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set1"/></block></block><l>0</l></list></block><script><block s="doReplaceInList"><l>5</l><block var="result"/><block s="reportJoinWords"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><l/><l/></list></block></autolambda><list></list></block><block s="reportJoinWords"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><l/><l/></list></block></autolambda><list></list></block><block s="reportListItem"><l>5</l><block var="set1"/></block><custom-block s="interval list %l $arrowRightThin predicate"><block s="reportListItem"><l>4</l><block var="set1"/></block></custom-block></list></block><block s="reportJoinWords"><list><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block><block s="reportListItem"><l>5</l><block var="set2"/></block></list></block></list></block></block></script><script><block s="doReplaceInList"><l>5</l><block var="result"/><block s="reportJoinWords"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><l/><l/></list></block></autolambda><list></list></block><block s="reportListItem"><l>5</l><block var="set1"/></block><block s="reportJoinWords"><list><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block><block s="reportListItem"><l>5</l><block var="set2"/></block></list></block></list></block></block></script></block></script><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set1"/></block></block><l>0</l></list></block><script><block s="doReplaceInList"><l>5</l><block var="result"/><block s="reportJoinWords"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><l/><l/></list></block></autolambda><list></list></block><custom-block s="interval list %l $arrowRightThin predicate"><block s="reportListItem"><l>4</l><block var="set1"/></block></custom-block><block s="reportJoinWords"><list><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block><block s="reportListItem"><l>5</l><block var="set2"/></block></list></block></list></block></block><block s="doReplaceInList"><l>4</l><block var="result"/><block s="reportNewList"><list></list></block></block></script><script><block s="doReplaceInList"><l>5</l><block var="result"/><block s="reportJoinWords"><list><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block><block s="reportListItem"><l>5</l><block var="set2"/></block></list></block></block></script></block></script></block></script><list></list><comment w="396.6666666666667" collapsed="false">If set2 has a predicate, we have to transform the interval list of set1 into a predicate.</comment></block><block s="doReport"><custom-block s="cleaned up set %l"><block var="result"/></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>X</l></list></block><script><block s="doSetVar"><l>set1</l><custom-block s="copy of %s"><block var="set1"/></custom-block></block><block s="doSetVar"><l>set2</l><custom-block s="copy of %s"><block var="set2"/></custom-block></block><block s="doReplaceInList"><l>3</l><block var="set1"/><block s="reportConcatenatedLists"><list><block s="reportListItem"><l>3</l><block var="set1"/></block><custom-block s="numbers in interval list %l"><block s="reportListItem"><l>4</l><block var="set1"/></block></custom-block></list></block></block><block s="doReplaceInList"><l>3</l><block var="set2"/><block s="reportConcatenatedLists"><list><block s="reportListItem"><l>3</l><block var="set2"/></block><custom-block s="numbers in interval list %l"><block s="reportListItem"><l>4</l><block var="set2"/></block></custom-block></list></block></block><block s="doReplaceInList"><l>4</l><block var="set1"/><custom-block s="extract numbers from interval list %l"><block s="reportListItem"><l>4</l><block var="set1"/></block></custom-block></block><block s="doReplaceInList"><l>4</l><block var="set2"/><custom-block s="extract numbers from interval list %l"><block s="reportListItem"><l>4</l><block var="set2"/></block></custom-block></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set1"/></block></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set2"/></block></block><l>0</l></list></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: impossible operation with infinite sets!</l><l>set operation</l></custom-block></script><list></list></block><block s="doReport"><block s="reportNewList"><list><l>set</l><block s="reportVariadicAnd"><list><block s="reportListItem"><l>2</l><block var="set1"/></block><block s="reportListItem"><l>2</l><block var="set2"/></block></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListAttribute"><l><option>flatten</option></l><l/></block></autolambda><list></list></block><block s="reportCrossproduct"><list><block s="reportListItem"><l>3</l><block var="set1"/></block><block s="reportListItem"><l>3</l><block var="set2"/></block></list></block></block><block s="reportNewList"><list></list></block><l></l></list></block></block></script><list></list></block></script></block></script></block-definition><block-definition s="evaluate predicate %&apos;predicate&apos; with %&apos;param&apos;" type="predicate" category="2. Math tools" helper="true"><comment x="0" y="0" w="118.3333333333333" collapsed="false">Evaluates the predicate with a given parameter.</comment><header></header><code></code><translations></translations><inputs><input type="%s">ringified predicate</input><input type="%s"></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportIsA"><block var="predicate"/><l><option>predicate</option></l></block><script><block s="doReport"><block s="evaluate"><block var="predicate"/><list><block var="param"/></list></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block></script></block-definition><block-definition s="evaluate intervals %&apos;intervals&apos; with %&apos;x&apos;" type="predicate" category="2. Math tools" helper="true"><comment x="0" y="0" w="118.65384615384613" collapsed="false">Evaluates the intervals with a given parameter.</comment><header></header><code></code><translations></translations><inputs><input type="%l">ringified predicate</input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportVariadicOr"><list><block s="reportNot"><block s="reportIsA"><block var="x"/><l><option>number</option></l></block></block><block s="reportNot"><custom-block s="is %s a %txt"><block var="intervals"/><l>listOfIntervals</l></custom-block></block></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doForEach"><l>interval</l><block var="intervals"/><script><block s="doSetVar"><l>result</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval"/></block><l>&lt;</l></list></block><script><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>1</l><block var="interval"/></block><block var="x"/></list></block><script><block s="doSetVar"><l>result</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script><script><block s="doIf"><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="interval"/></block><block var="x"/></list></block><script><block s="doSetVar"><l>result</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval"/></block><l>&lt;</l></list></block><script><block s="doIf"><block s="reportVariadicLessThan"><list><block var="x"/><block s="reportListItem"><l>4</l><block var="interval"/></block></list></block><script><block s="doIf"><block var="result"/><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script><list></list></block></script><script><block s="doIf"><block s="reportVariadicLessThanOrEquals"><list><block var="x"/><block s="reportListItem"><l>4</l><block var="interval"/></block></list></block><script><block s="doIf"><block var="result"/><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script><list></list></block></script></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="%&apos;set1&apos; ∩ %&apos;set2&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="194.40476190476184" collapsed="false">Reports the intersection of two sets.</comment><header></header><code></code><translations></translations><inputs><input type="%s">set1</input><input type="%s">set2</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set1"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: first parameter is not a set!</l></block></script><list></list><comment w="107.14285714285722" collapsed="false">are these two sets?</comment></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set2"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: second parameter is not a set!</l></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list><l>set</l><block s="reportVariadicAnd"><list><block s="reportListItem"><l>2</l><block var="set1"/></block><block s="reportListItem"><l>2</l><block var="set2"/></block></list></block><block s="reportConcatenatedLists"><list><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><block s="reportListContainsItem"><block s="reportListItem"><l>3</l><block var="set1"/></block><block var="element"/></block><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="set1"/></block><block var="element"/></custom-block></list></block></autolambda><list><l>element</l></list></block><block s="reportListItem"><l>3</l><block var="set2"/></block></block><block s="reportKeep"><block s="reifyPredicate"><autolambda><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="set2"/></block><block var="element"/></custom-block></autolambda><list><l>element</l></list></block><block s="reportListItem"><l>3</l><block var="set1"/></block></block></list></block><custom-block s="intersect interval lists %l and %l"><block s="reportListItem"><l>4</l><block var="set1"/></block><block s="reportListItem"><l>4</l><block var="set2"/></block></custom-block><l></l></list></block></block><block s="doReport"><custom-block s="cleaned up set %l"><block var="result"/></custom-block></block></script></block></script></block-definition><block-definition s="%&apos;set1&apos; ∪ %&apos;set2&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="139.16666666666669" collapsed="false">Reports the union of two sets.</comment><header></header><code></code><translations></translations><inputs><input type="%s">set1</input><input type="%s">set2</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set1"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: first parameter is not a set!</l></block></script><list></list><comment w="107.14285714285722" collapsed="false">are these two sets?</comment></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set2"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: second parameter is not a set!</l></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list><l>set</l><block s="reportVariadicAnd"><list><block s="reportListItem"><l>2</l><block var="set1"/></block><block s="reportListItem"><l>2</l><block var="set2"/></block></list></block><block s="reportConcatenatedLists"><list><block s="reportListItem"><l>3</l><block var="set1"/></block><block s="reportListItem"><l>3</l><block var="set2"/></block></list></block><custom-block s="merge intervals %l"><block s="reportConcatenatedLists"><list><block s="reportListItem"><l>4</l><block var="set1"/></block><block s="reportListItem"><l>4</l><block var="set2"/></block></list></block></custom-block><l></l></list></block></block><block s="doReport"><custom-block s="cleaned up set %l"><block var="result"/></custom-block></block></script></block></script></block-definition><block-definition s="%&apos;set1&apos; \ %&apos;set2&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="212.85714285714297" collapsed="false">Reports the difference between two sets.</comment><header></header><code></code><translations></translations><inputs><input type="%s">set1</input><input type="%s">set2</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>n</l><l>m</l><l>interval1</l><l>interval2</l><l>difference</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set1"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: first parameter is not a set!</l></block></script><list></list><comment w="107.14285714285722" collapsed="false">are these two sets?</comment></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set2"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: second parameter is not a set!</l></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list><l>set</l><block s="reportVariadicAnd"><list><block s="reportListItem"><l>2</l><block var="set1"/></block><block s="reportListItem"><l>2</l><block var="set2"/></block></list></block><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportListContainsItem"><block s="reportListItem"><l>3</l><block var="set2"/></block><block var="element"/></block><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="set2"/></block><block var="element"/></custom-block></list></block></block></autolambda><list><l>element</l></list></block><block s="reportListItem"><l>3</l><block var="set1"/></block></block><block s="reportNewList"><list></list></block><l></l></list></block></block><block s="doIf"><block s="reportNot"><block s="reportListItem"><l>2</l><block var="result"/></block></block><script><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set1"/></block></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set2"/></block></block><l>0</l></list></block></list></block><script><block s="doReport"><l>ERROR: impossible operation for not numerical sets.</l></block></script><script><block s="doReport"><block s="reportNewList"><list><l>set</l><block s="reportListItem"><l>2</l><block var="result"/></block><block s="reportListItem"><l>3</l><block var="result"/></block><block s="reportListItem"><l>4</l><block var="set1"/></block><l></l></list></block></block></script></block></script><list></list></block><block s="doSetVar"><l>set1</l><custom-block s="copy of %l"><block var="set1"/></custom-block></block><block s="doSetVar"><l>set2</l><custom-block s="copy of %l"><block var="set2"/></custom-block></block><block s="doReplaceInList"><l>4</l><block var="set2"/><block s="reportConcatenatedLists"><list><block s="reportListItem"><l>4</l><block var="set2"/></block><custom-block s="list of numbers %l $arrowRightOutline list of intervals"><block s="reportListItem"><l>3</l><block var="set2"/></block></custom-block></list></block></block><block s="doReplaceInList"><l>3</l><block var="set2"/><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>m</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="m"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set2"/></block></block></list></block><script><block s="doSetVar"><l>interval2</l><block s="reportListItem"><block var="m"/><block s="reportListItem"><l>4</l><block var="set2"/></block></block></block><block s="doSetVar"><l>n</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set1"/></block></block></list></block><script><block s="doSetVar"><l>interval1</l><block s="reportListItem"><block var="n"/><block s="reportListItem"><l>4</l><block var="set1"/></block></block></block><block s="doSetVar"><l>difference</l><custom-block s="difference of interval %l and %l"><block var="interval1"/><block var="interval2"/></custom-block></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="difference"/></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><custom-block s="intersect two intervals %l %l"><block var="interval1"/><block var="interval2"/></custom-block></block><l>0</l></list></block></list></block><script><block s="doReplaceInList"><l>4</l><block var="set1"/><block s="reportConcatenatedLists"><list><block s="reportListItem"><l>4</l><block var="set1"/></block><block var="difference"/></list></block></block><block s="doDeleteFromList"><block var="n"/><block s="reportListItem"><l>4</l><block var="set1"/></block></block></script><list></list></block><block s="doChangeVar"><l>n</l><l>1</l></block></script></block><block s="doChangeVar"><l>m</l><l>1</l></block></script><comment w="120" collapsed="false">compare the mth interval with all intervals of set1</comment></block><block s="doReplaceInList"><l>4</l><block var="result"/><custom-block s="merge intervals %l"><block s="reportListItem"><l>4</l><block var="set1"/></block></custom-block></block><block s="doReport"><custom-block s="cleaned up set %l"><block var="result"/></custom-block></block></script></block></script></block-definition><block-definition s="%&apos;set1&apos; X %&apos;set2&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="250.16666666666677" collapsed="false">Reports the Cartesian product between two sets.</comment><header></header><code></code><translations></translations><inputs><input type="%s">set1</input><input type="%s">set2</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>term1</l><l>term2</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set1"/><l>set</l></custom-block><comment w="107.14285714285722" collapsed="false">are these two sets?</comment></block><script><block s="doReport"><l>ERROR: first parameter is not a set!</l></block></script><list></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set2"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: second parameter is not a set!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set1"/></block></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set2"/></block></block><l>0</l></list></block></list></block><script><block s="doReport"><l>ERROR: impossible operation with infinite sets!</l></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list><l>set</l><block s="reportVariadicAnd"><list><block s="reportListItem"><l>2</l><block var="set1"/></block><block s="reportListItem"><l>2</l><block var="set2"/></block></list></block><block s="reportNewList"><list></list></block><block s="reportNewList"><list></list></block><l></l></list></block></block><block s="doForEach"><l>item_1</l><block s="reportListItem"><l>3</l><block var="set1"/></block><script><block s="doForEach"><l>item_2</l><block s="reportListItem"><l>3</l><block var="set2"/></block><script><block s="doIfElse"><block s="reportIsA"><block var="item_1"/><l><option>list</option></l></block><script><block s="doSetVar"><l>term1</l><block var="item_1"/></block></script><script><block s="doSetVar"><l>term1</l><block s="reportNewList"><list><block var="item_1"/></list></block></block></script></block><block s="doIfElse"><block s="reportIsA"><block var="item_2"/><l><option>list</option></l></block><script><block s="doSetVar"><l>term2</l><block var="item_2"/></block></script><script><block s="doSetVar"><l>term2</l><block s="reportNewList"><list><block var="item_2"/></list></block></block></script></block><block s="doAddToList"><block s="reportConcatenatedLists"><list><block var="term1"/><block var="term2"/></list></block><block s="reportListItem"><l>3</l><block var="result"/></block></block></script></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="is %&apos;set1&apos; ⊆ %&apos;set2&apos; ?" type="predicate" category="2. Math tools"><comment x="0" y="0" w="108.57142857142861" collapsed="false">Is set1 subset of set2?</comment><header></header><code></code><translations></translations><inputs><input type="%s">set1</input><input type="%s">set2</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>notCoveredIntervals</l></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set1"/><l>set</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: first parameter is not a set!</l><l>is set1 ⊆ set2</l></custom-block></script><list></list><comment w="107.14285714285722" collapsed="false">are these two sets?</comment></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set2"/><l>set</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: second parameter is not a set!</l><l>is set1 ⊆ set2</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicNotEquals"><list><block s="reportListItem"><l>5</l><block var="set1"/></block><l></l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: question cann&apos;t be answered yet for unreducible predicates in set1!</l><l>is set1 ⊆ set2</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicNotEquals"><list><block s="reportListItem"><l>5</l><block var="set2"/></block><l></l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: question cann&apos;t be answered yet for unreducible predicates in set2!</l><l>is set1 ⊆ set2</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListItem"><l>5</l><block var="set2"/></block><l></l></list></block><script><block s="doSetVar"><l>notCoveredIntervals</l><custom-block s="intervals %l not covered by predicate %s"><block s="reportListItem"><l>4</l><block var="set1"/></block><block s="reportListItem"><l>5</l><block var="set2"/></block></custom-block></block></script><script><block s="doSetVar"><l>notCoveredIntervals</l><block s="reportListItem"><l>4</l><block var="set1"/></block></block></script></block><block s="doForEach"><l>interval</l><block var="notCoveredIntervals"/><script><block s="doIf"><block s="reportNot"><custom-block s="is interval %l subinterval of interval list %l ?"><block var="interval"/><block s="reportListItem"><l>4</l><block var="set2"/></block></custom-block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block></script></block><block s="doForEach"><l>element</l><block s="reportListItem"><l>3</l><block var="set1"/></block><script><block s="doIf"><block s="reportNot"><block s="reportVariadicOr"><list><custom-block s="evaluate predicate %s with %s"><block s="reportListItem"><l>5</l><block var="set2"/></block><block var="element"/></custom-block><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="set2"/></block><block var="element"/></custom-block><block s="reportListContainsItem"><block s="reportListItem"><l>3</l><block var="set2"/></block><block var="element"/></block></list></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block><comment w="144.2857142857143" collapsed="false">item is not element of set2</comment></block></script><list></list></block></script><comment w="116.16666666666674" collapsed="false">Compare elements</comment></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block-definition><block-definition s="is %&apos;set1&apos; = %&apos;set2&apos; ?" type="predicate" category="2. Math tools"><comment x="0" y="0" w="142.3076923076923" collapsed="false">Are theses two sets equal?</comment><header></header><code></code><translations></translations><inputs><input type="%s">set1</input><input type="%s">set2</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set1"/><l>set</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: first parameter is not a set!</l><l>ist set1 = set2</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set2"/><l>set</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: second parameter is not a set!</l><l>ist set1 = set2</l></custom-block></script><list></list></block><block s="doReport"><block s="reportVariadicAnd"><list><custom-block s="is %s ⊆ %s ?"><block var="set1"/><block var="set2"/></custom-block><custom-block s="is %s ⊆ %s ?"><block var="set2"/><block var="set1"/></custom-block></list></block></block></script></block></script></block-definition><block-definition s="%&apos;n&apos; elements of %&apos;set&apos; (numbers ε |N)" type="reporter" category="2. Math tools"><comment x="0" y="0" w="187.91208791208803" collapsed="false">Reports up to n elements of a set. Numers are natural numbers smaller than maxSetValue in SciSnap!-properties.</comment><header></header><code></code><translations></translations><inputs><input type="%n">10</input><input type="%s">set</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>result</l><l>i</l></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: second parameter is not a set!</l></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportListItem"><l>3</l><block var="set"/></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set"/></block></block><l>0</l></list></block><script><block s="doSetVar"><l>i</l><l>0</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="i"/><custom-block s="SciSnap! global property %s"><l>maxSetValue</l></custom-block></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>2</l><block var="n"/></list></block><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>3</l><block var="set"/></block></block></list></block></list></block></list></block><script><block s="doIf"><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="set"/></block><block var="i"/></custom-block><script><block s="doAddToList"><block var="i"/><block var="result"/></block></script><list></list></block><block s="doChangeVar"><l>i</l><l>1</l></block></script><comment w="135.71428571428572" collapsed="false">maxSetValue should be close to infinity ;-)</comment></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportListIndex"><block var="value"/><block var="list"/></block><block var="index"/></list></block></autolambda><list><l>value</l><l>index</l><l>list</l></list></block><block var="result"/></block><comment w="57.142857142857146" collapsed="false">clean up</comment></block><block s="doUntil"><block s="reportVariadicLessThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block><block var="n"/></list></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="result"/></block></script></block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="result"/></block><l><option>list</option></l></block><script><block s="doReport"><block s="reportApplyExtension"><l>lst_sort(list, fn)</l><list><block var="result"/><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>1</l><l/></block><block s="reportListItem"><l>1</l><l/></block></list></block></autolambda><list></list></block></list></block></block></script><script><block s="doReport"><block s="reportApplyExtension"><l>lst_sort(list, fn)</l><list><block var="result"/><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block></block></script></block></script></block></script></block-definition><block-definition s="%&apos;a&apos; $arrowRightThin %&apos;b&apos; ?" type="predicate" category="other" helper="true"><comment x="0" y="0" w="67.5" collapsed="false">implication</comment><header></header><code></code><translations></translations><inputs><input type="%s">1</input><input type="%n">0</input></inputs><script><block s="doReport"><block s="reportVariadicOr"><list><block s="reportNot"><custom-block s="number %n $arrowRightOutline boolean"><block var="a"/></custom-block></block><custom-block s="number %n $arrowRightOutline boolean"><block var="b"/></custom-block></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; $arrowLeftRightThin %&apos;b&apos; ?" type="predicate" category="other" helper="true"><comment x="0" y="0" w="90" collapsed="false">equivalence</comment><header></header><code></code><translations></translations><inputs><input type="%s">1</input><input type="%s">0</input></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><custom-block s="number %n $arrowRightOutline boolean"><block var="a"/></custom-block><custom-block s="number %n $arrowRightOutline boolean"><block var="b"/></custom-block></list></block></block></script></block-definition><block-definition s="number %&apos;x&apos; $arrowRightOutline boolean" type="reporter" category="other" helper="true"><comment x="0" y="0" w="163.3333333333337" collapsed="false">Converts numbers to booleans</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportIsA"><block var="x"/><l><option>number</option></l></block><script><block s="doReport"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="x"/><l>0</l></list></block></block></block></script><script><block s="doReport"><block var="x"/></block></script></block></script></block></script></block-definition><block-definition s="boolean %&apos;x&apos; $arrowRightOutline number" type="reporter" category="other" helper="true"><comment x="0" y="0" w="179.16666666666669" collapsed="false">Converts booleans to numbers</comment><header></header><code></code><translations></translations><inputs><input type="%b">true</input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportIsA"><block var="x"/><l><option>Boolean</option></l></block><script><block s="doIfElse"><block var="x"/><script><block s="doReport"><l>1</l></block></script><script><block s="doReport"><l>0</l></block></script></block></script><script><block s="doReport"><block var="x"/></block></script></block></script></block></script></block-definition><block-definition s="element %&apos;element&apos; $arrowRightOutline text" type="reporter" category="2. Math tools"><comment x="0" y="0" w="138.24542124542145" collapsed="false">Reports simple types, sets and lists as string.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>is first element</l><l>elements</l><l>i</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportIsA"><block var="element"/><l><option>number</option></l></block><script><block s="doReport"><block s="reportJoinWords"><list><l></l><block var="element"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportIsA"><block var="element"/><l><option>Boolean</option></l></block><script><block s="doIfElse"><block var="element"/><script><block s="doReport"><l>true</l></block></script><script><block s="doReport"><l>false</l></block></script></block></script><list></list></block><block s="doIf"><block s="reportIsA"><block var="element"/><l><option>text</option></l></block><script><block s="doReport"><block var="element"/></block></script><list></list></block><block s="doIf"><block s="reportIsA"><block var="element"/><l><option>list</option></l></block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="element"/><l>set</l></custom-block><script><block s="doSetVar"><l>result</l><l>{</l></block><block s="doSetVar"><l>is first element</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>elements</l><block s="reportListItem"><l>3</l><block var="element"/></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="element"/></block></block><l>0</l></list></block><script><block s="doSetVar"><l>i</l><l>0</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="i"/><custom-block s="SciSnap! global property %s"><l>maxSetValue</l></custom-block></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="elements"/></block><block s="reportVariadicSum"><list><l>40</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>3</l><block var="element"/></block></block></list></block></list></block></list></block><script><block s="doIf"><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="element"/></block><block var="i"/></custom-block><script><block s="doAddToList"><block var="i"/><block var="elements"/></block></script><list></list></block><block s="doIf"><custom-block s="evaluate predicate %s with %s"><block s="reportListItem"><l>5</l><block var="element"/></block><block var="i"/></custom-block><script><block s="doAddToList"><block var="i"/><block var="result"/></block></script><list></list></block><block s="doChangeVar"><l>i</l><l>1</l></block></script><comment w="135.71428571428572" collapsed="false">maxSetValue should be close to infinity ;-)</comment></block></script><list></list></block><block s="doSetVar"><l>elements</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportListIndex"><block var="value"/><block var="list"/></block><block var="index"/></list></block></autolambda><list><l>value</l><l>index</l><l>list</l></list></block><block var="elements"/></block></block><block s="doUntil"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="elements"/></block><l>20</l></list></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="elements"/></block></script></block><block s="doForEach"><l>item</l><block var="elements"/><script><block s="doIfElse"><block var="is first element"/><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><custom-block s="element %s $arrowRightOutline text"><block var="item"/></custom-block></list></block></block><block s="doSetVar"><l>is first element</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l>,</l><custom-block s="element %s $arrowRightOutline text"><block var="item"/></custom-block></list></block></block></script></block></script></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="elements"/></block><l>18</l></list></block><script><block s="doReport"><block s="reportJoinWords"><list><block var="result"/><l>,...}</l></list></block></block></script><script><block s="doReport"><block s="reportJoinWords"><list><block var="result"/><l>}</l></list></block></block></script></block></script><script><block s="doSetVar"><l>result</l><l>[</l></block><block s="doUntil"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="element"/></block><l>20</l></list></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="element"/></block></script></block><block s="doSetVar"><l>is first element</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doForEach"><l>item</l><block var="element"/><script><block s="doIfElse"><block var="is first element"/><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><custom-block s="element %s $arrowRightOutline text"><block var="item"/></custom-block></list></block></block><block s="doSetVar"><l>is first element</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l>,</l><custom-block s="element %s $arrowRightOutline text"><block var="item"/></custom-block></list></block></block></script></block></script></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="element"/></block><l>18</l></list></block><script><block s="doReport"><block s="reportJoinWords"><list><block var="result"/><l>,...]</l></list></block></block></script><script><block s="doReport"><block s="reportJoinWords"><list><block var="result"/><l>]</l></list></block></block></script></block></script></block></script><list></list></block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: no simple type!</l><l>elements --&gt; text</l></custom-block></script></block></script></block-definition><block-definition s="text %&apos;text&apos; $arrowRightOutline elements" type="reporter" category="2. Math tools"><comment x="0" y="0" w="124.00000000000004" collapsed="false">Converts a string to a list of elements.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">1,2,[3,4],{6,7,8..12}</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>inputlist</l><l>element</l><l>substring</l><l>i</l><l>element1</l><l>element2</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>text</l><block s="reportTextSplit"><block var="text"/><l>,</l></block></block><block s="doUntil"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="text"/></block><l>1</l></list></block><script><block s="doSetVar"><l>element</l><custom-block s="replace %txt %txt with %txt in %txt"><l>all</l><l> </l><l></l><block s="reportListItem"><l>1</l><block var="text"/></block></custom-block></block><block s="doDeleteFromList"><l>1</l><block var="text"/></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="element"/></block><l>0</l></list></block><script><block s="doIfElse"><block s="reportIsA"><block var="element"/><l><option>number</option></l><comment w="90" collapsed="false">find numbers</comment></block><script><block s="doAddToList"><block var="element"/><block var="result"/></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="element"/><l>true</l></list><comment w="90" collapsed="false">find booleans</comment></block><script><block s="doAddToList"><block s="reportBoolean"><l><bool>true</bool></l></block><block var="result"/></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="element"/><l>false</l></list></block><script><block s="doAddToList"><block s="reportBoolean"><l><bool>false</bool></l></block><block var="result"/></block></script><script><block s="doSetVar"><l>i</l><custom-block s="index of %txt in %txt"><l>.</l><block var="element"/></custom-block><comment w="110.6666666666667" collapsed="false">find number intervals</comment></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="i"/><l>0</l></list></block><script><block s="doSetVar"><l>element1</l><custom-block s="substring of %txt from %n to %n"><block var="element"/><l>1</l><block s="reportDifference"><block var="i"/><l>1</l></block></custom-block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportLetter"><block s="reportVariadicSum"><list><block var="i"/><l>1</l></list></block><block var="element"/></block><l>.</l></list></block><script><block s="doSetVar"><l>element2</l><custom-block s="substring of %txt from %n to %n"><block var="element"/><block s="reportVariadicSum"><list><block var="i"/><l>2</l></list></block><block s="reportTextAttribute"><l><option>length</option></l><block var="element"/></block></custom-block></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="element1"/><l><option>number</option></l></block><block s="reportIsA"><block var="element2"/><l><option>number</option></l></block></list></block><script><block s="doSetVar"><l>i</l><block var="element1"/></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="element2"/></list></block><script><block s="doAddToList"><block var="i"/><block var="result"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: missing number close to ".."</l><l>text --&gt; elements</l></custom-block></script></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: missing "."</l><l>text --&gt; elements</l></custom-block></script></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportLetter"><l>1</l><block var="element"/></block><l>[</l></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><custom-block s="index of %txt in %txt"><l>]</l><block var="element"/></custom-block><l>0</l></list></block><script><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="text"/></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><custom-block s="index of %txt in %txt"><l>]</l><block s="reportListItem"><l>1</l><block var="text"/></block></custom-block><l>0</l></list></block></list></block><script><block s="doSetVar"><l>element</l><block s="reportJoinWords"><list><block var="element"/><l>,</l><block s="reportListItem"><l>1</l><block var="text"/></block></list></block></block><block s="doDeleteFromList"><l>1</l><block var="text"/></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><custom-block s="index of %txt in %txt"><l>]</l><block s="reportListItem"><l>1</l><block var="text"/></block></custom-block><l>0</l></list></block><block s="reportVariadicEquals"><list><custom-block s="index of %txt in %txt"><l>]</l><block var="element"/></custom-block><l>0</l></list></block></list></block><script><block s="doSetVar"><l>element</l><block s="reportJoinWords"><list><block var="element"/><l>,</l><block s="reportListItem"><l>1</l><block var="text"/></block></list></block></block><block s="doDeleteFromList"><l>1</l><block var="text"/></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><custom-block s="index of %txt in %txt"><l>]</l><block var="element"/></custom-block><l>0</l></list></block><script><block s="doSetVar"><l>i</l><custom-block s="index of %txt in %txt"><l>]</l><block var="element"/></custom-block></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="i"/><l>2</l></list></block><script><block s="doAddToList"><custom-block s="text %txt $arrowRightOutline elements"><custom-block s="substring of %txt from %n to %n"><block var="element"/><l>2</l><block s="reportDifference"><block var="i"/><l>1</l></block></custom-block></custom-block><block var="result"/></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: missing "]"</l><l>text --&gt; elements</l></custom-block></script></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: missing "]"</l><l>text --&gt; elements</l></custom-block></script></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportLetter"><l>1</l><block var="element"/></block><l>{</l></list><comment w="90" collapsed="false">find sets</comment></block><script><block s="doIf"><block s="reportVariadicEquals"><list><custom-block s="index of %txt in %txt"><l>}</l><block var="element"/></custom-block><l>0</l></list></block><script><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="text"/></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><custom-block s="index of %txt in %txt"><l>}</l><block s="reportListItem"><l>1</l><block var="text"/></block></custom-block><l>0</l></list></block></list></block><script><block s="doSetVar"><l>element</l><block s="reportJoinWords"><list><block var="element"/><l>,</l><block s="reportListItem"><l>1</l><block var="text"/></block></list></block></block><block s="doDeleteFromList"><l>1</l><block var="text"/></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><custom-block s="index of %txt in %txt"><l>}</l><block s="reportListItem"><l>1</l><block var="text"/></block></custom-block><l>0</l></list></block><block s="reportVariadicEquals"><list><custom-block s="index of %txt in %txt"><l>}</l><block var="element"/></custom-block><l>0</l></list></block></list></block><script><block s="doSetVar"><l>element</l><block s="reportJoinWords"><list><block var="element"/><l>,</l><block s="reportListItem"><l>1</l><block var="text"/></block></list></block></block><block s="doDeleteFromList"><l>1</l><block var="text"/></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><custom-block s="index of %txt in %txt"><l>}</l><block var="element"/></custom-block><l>0</l></list></block><script><block s="doSetVar"><l>i</l><custom-block s="index of %txt in %txt"><l>}</l><block var="element"/></custom-block></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="i"/><l>2</l></list></block><script><block s="doSetVar"><l>element1</l><block s="reportNewList"><list><l>set</l><l></l><block s="reportNewList"><list></list></block><block s="reportNewList"><list></list></block><l></l></list></block></block><block s="doReplaceInList"><l>3</l><block var="element1"/><custom-block s="text %txt $arrowRightOutline elements"><custom-block s="substring of %txt from %n to %n"><block var="element"/><l>2</l><block s="reportDifference"><block var="i"/><l>1</l></block></custom-block></custom-block></block><block s="doReplaceInList"><l>2</l><block var="element1"/><custom-block s="is %s a %txt"><block s="reportListItem"><l>3</l><block var="element1"/></block><l>numericalList</l></custom-block></block><block s="doAddToList"><block var="element1"/><block var="result"/></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: missing "}"</l><l>text --&gt; elements</l></custom-block></script></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: missing "}"</l><l>text --&gt; elements</l></custom-block></script></block></script><script><block s="doAddToList"><block var="element"/><block var="result"/><comment w="171.99999999999997" collapsed="false">other elements interpreted as string</comment></block></script></block></script><comment w="90" collapsed="false">find lists</comment></block></script></block></script></block></script></block></script></block></script><list></list></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="merge intervals %&apos;theIntervals&apos;" type="reporter" category="2. Math tools" helper="true"><comment x="0" y="0" w="322.5" collapsed="false">Intervals should be of structure [leftLimit,operator1,operator2,rightLimit]</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>n</l><l>m</l><l>interval1</l><l>interval2</l><l>merged?</l><l>leftMarker</l><l>rightMarker</l><l>i</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="theIntervals"/><l>listOfIntervals</l></custom-block></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="theIntervals"/><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block var="theIntervals"/></block></script><script><block s="doReport"><l>ERROR: intervals necessary!</l></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="theIntervals"/></block><l>2</l></list></block><script><block s="doReport"><block var="theIntervals"/></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportMap"><block s="reifyReporter"><script></script><list></list></block><block var="theIntervals"/></block></block><block s="doSetVar"><l>n</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block></list></block><script><block s="doSetVar"><l>interval1</l><block s="reportListItem"><block var="n"/><block var="result"/></block><comment w="105.83333333333333" collapsed="false">compare the nth interval with the rest</comment></block><block s="doSetVar"><l>merged?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>m</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="m"/><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="m"/><block var="n"/></list></block><script><block s="doChangeVar"><l>m</l><l>1</l></block></script><script><block s="doSetVar"><l>interval2</l><block s="reportListItem"><block var="m"/><block var="result"/></block></block><block s="doIfElse"><custom-block s="are intervals %l and %l overlapping?"><block var="interval1"/><block var="interval2"/></custom-block><script><block s="doSetVar"><l>leftMarker</l><block s="reportIfElse"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>1</l><block var="interval2"/></block></list></block><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>2</l><block var="interval1"/></block></list></block><block s="reportIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>1</l><block var="interval2"/></block></list></block><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="interval2"/></block><block s="reportListItem"><l>2</l><block var="interval2"/></block></list></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval1"/></block><l>&lt;</l></list></block><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>2</l><block var="interval1"/></block></list></block><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="interval2"/></block><block s="reportListItem"><l>2</l><block var="interval2"/></block></list></block></block></block></block><comment w="90" collapsed="false">determine new limits</comment></block><block s="doSetVar"><l>rightMarker</l><block s="reportIfElse"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>4</l><block var="interval1"/></block><block s="reportListItem"><l>4</l><block var="interval2"/></block></list></block><block s="reportNewList"><list><block s="reportListItem"><l>4</l><block var="interval2"/></block><block s="reportListItem"><l>3</l><block var="interval2"/></block></list></block><block s="reportIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>4</l><block var="interval1"/></block><block s="reportListItem"><l>4</l><block var="interval2"/></block></list></block><block s="reportNewList"><list><block s="reportListItem"><l>4</l><block var="interval1"/></block><block s="reportListItem"><l>3</l><block var="interval1"/></block></list></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval1"/></block><l>&lt;</l></list></block><block s="reportNewList"><list><block s="reportListItem"><l>4</l><block var="interval2"/></block><block s="reportListItem"><l>3</l><block var="interval2"/></block></list></block><block s="reportNewList"><list><block s="reportListItem"><l>4</l><block var="interval1"/></block><block s="reportListItem"><l>3</l><block var="interval1"/></block></list></block></block></block></block></block><block s="doSetVar"><l>merged?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doReplaceInList"><block var="n"/><block var="result"/><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="leftMarker"/></block><block s="reportListItem"><l>2</l><block var="leftMarker"/></block><block s="reportListItem"><l>2</l><block var="rightMarker"/></block><block s="reportListItem"><l>1</l><block var="rightMarker"/></block></list></block><comment w="90" collapsed="false">replace two intervals by the new one</comment></block><block s="doDeleteFromList"><block var="m"/><block var="result"/></block></script><script><block s="doChangeVar"><l>m</l><l>1</l></block></script></block></script></block></script></block><block s="doIf"><block s="reportNot"><block var="merged?"/></block><script><block s="doChangeVar"><l>n</l><l>1</l></block></script><list></list></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="predicate tree %&apos;tree&apos; $arrowRightThin list of intervals" type="reporter" category="2. Math tools" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportListContainsItem"><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicNotEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><block s="reportListItem"><l>1</l><block var="tree"/></block></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l></l></list></block><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block s="reportListItem"><l>3</l><block var="tree"/></block><l><option>number</option></l></block></block><script><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>3</l><block var="tree"/></block><l><option>list</option></l></block><script><block s="doReplaceInList"><l>3</l><block var="tree"/><block s="evaluate"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>3</l><block var="tree"/></block></block><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="trim %txt by %mult%txt"><block var="value"/><list><l>[</l><l>]</l></list></custom-block></autolambda><list><l>value</l></list></block><block s="reportCDR"><block s="reportListItem"><l>3</l><block var="tree"/></block></block></block></block></block></script><list></list></block></script><list></list></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="tree"/></block><l></l></list></block><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="tree"/></block><l><option>number</option></l></block></block><script><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="tree"/></block><l><option>list</option></l></block><script><block s="doReplaceInList"><l>2</l><block var="tree"/><block s="evaluate"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="trim %txt by %mult%txt"><block var="value"/><list><l>[</l><l>]</l></list></custom-block></autolambda><list><l>value</l></list></block><block s="reportCDR"><block s="reportListItem"><l>2</l><block var="tree"/></block></block></block></block></block></script><list></list></block></script><list></list></block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l></l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="tree"/></block><l></l></list></block></list></block><script><block s="doReport"><l>ERROR: senseless predicate</l></block></script><list></list></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l></l></list></block><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><block s="reportListItem"><l>3</l><block var="tree"/></block><l>≤</l><l>≤</l><block s="reportListItem"><l>3</l><block var="tree"/></block></list></block></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l>≤</l><l>≤</l><block s="reportListItem"><l>2</l><block var="tree"/></block></list></block></list></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicNotEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l></l></list></block><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>-Infinity</l><l>&lt;</l><l>&lt;</l><block s="reportListItem"><l>3</l><block var="tree"/></block></list></block><block s="reportNewList"><list><block s="reportListItem"><l>3</l><block var="tree"/></block><l>&lt;</l><l>&lt;</l><l>Infinity</l></list></block></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>-Infinity</l><l>&lt;</l><l>&lt;</l><block s="reportListItem"><l>2</l><block var="tree"/></block></list></block><block s="reportNewList"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l>&lt;</l><l>&lt;</l><l>Infinity</l></list></block></list></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l></l></list></block><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>-Infinity</l><l>≤</l><l>≤</l><block s="reportListItem"><l>3</l><block var="tree"/></block></list></block></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l>≤</l><l>≤</l><l>Infinity</l></list></block></list></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l></l></list></block><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><block s="reportListItem"><l>3</l><block var="tree"/></block><l>≤</l><l>≤</l><l>Infinity</l></list></block></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>-Infinity</l><l>≤</l><l>≤</l><block s="reportListItem"><l>2</l><block var="tree"/></block></list></block></list></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l></l></list></block><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>-Infinity</l><l>≤</l><l>&lt;</l><block s="reportListItem"><l>3</l><block var="tree"/></block></list></block></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l>&lt;</l><l>≤</l><l>Infinity</l></list></block></list></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l></l></list></block><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><block s="reportListItem"><l>3</l><block var="tree"/></block><l>&lt;</l><l>≤</l><l>Infinity</l></list></block></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>-Infinity</l><l>≤</l><l>&lt;</l><block s="reportListItem"><l>2</l><block var="tree"/></block></list></block></list></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><l/><l/></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="intersect interval lists %l and %l"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportListItem"><l>2</l><block var="tree"/></block></custom-block><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportListItem"><l>3</l><block var="tree"/></block></custom-block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><l/><l/></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="merge interval lists %l and %l"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportListItem"><l>2</l><block var="tree"/></block></custom-block><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportListItem"><l>3</l><block var="tree"/></block></custom-block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicNotEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><block s="reportCDR"><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="reifyPredicate"><autolambda><block s="reportVariadicNotEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><block s="reportCDR"><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><block s="reportCDR"><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><block s="reportCDR"><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><block s="reportCDR"><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><block s="reportCDR"><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><l/><l/></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><l/><l/></list></block></autolambda><list></list></block><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block><block s="reportListItem"><l>3</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block></list></block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><l/><l/></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><l/><l/></list></block></autolambda><list></list></block><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block><block s="reportNewList"><list><l>not</l><block s="reportListItem"><l>3</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block></list></block></custom-block></block></script><list></list></block></script><list></list></block></script></block></script></block-definition><block-definition s="intersect two intervals %&apos;interval1&apos; %&apos;interval2&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="322.5" collapsed="false">Intervals should be of structure [leftLimit,operator1,operator2,rightLimit]</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>leftEdge</l><l>rightEdge</l><l>op1</l><l>op2</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><custom-block s="is %s a %txt"><block var="interval1"/><l>interval</l></custom-block><custom-block s="is %s a %txt"><block var="interval2"/><l>interval</l></custom-block></list></block></block><script><block s="doReport"><l>ERROR: intervals required!</l></block></script><list></list></block><block s="doIf"><block s="reportNot"><custom-block s="are intervals %l and %l overlapping?"><block var="interval1"/><block var="interval2"/></custom-block></block><script><block s="doReport"><block s="reportNewList"><list></list></block><comment w="90" collapsed="false">an empty interval</comment></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>1</l><block var="interval2"/></block></list></block><script><block s="doSetVar"><l>leftEdge</l><block s="reportListItem"><l>1</l><block var="interval2"/></block></block><block s="doSetVar"><l>op1</l><block s="reportListItem"><l>2</l><block var="interval2"/></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>1</l><block var="interval2"/></block></list></block><script><block s="doSetVar"><l>leftEdge</l><block s="reportListItem"><l>1</l><block var="interval2"/></block></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval1"/></block><l>&lt;</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval2"/></block><l>&lt;</l></list></block></list></block><script><block s="doSetVar"><l>op1</l><l>&lt;</l></block></script><script><block s="doSetVar"><l>op1</l><l>≤</l></block></script></block></script><script><block s="doSetVar"><l>leftEdge</l><block s="reportListItem"><l>1</l><block var="interval1"/></block></block><block s="doSetVar"><l>op1</l><block s="reportListItem"><l>2</l><block var="interval1"/></block></block></script></block></script><comment w="82.00716145833326" collapsed="false">define left edge and operator</comment></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>4</l><block var="interval1"/></block><block s="reportListItem"><l>4</l><block var="interval2"/></block></list></block><script><block s="doSetVar"><l>rightEdge</l><block s="reportListItem"><l>4</l><block var="interval1"/></block></block><block s="doSetVar"><l>op2</l><block s="reportListItem"><l>3</l><block var="interval1"/></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>4</l><block var="interval1"/></block><block s="reportListItem"><l>4</l><block var="interval2"/></block></list></block><script><block s="doSetVar"><l>rightEdge</l><block s="reportListItem"><l>4</l><block var="interval1"/></block></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval1"/></block><l>&lt;</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval2"/></block><l>&lt;</l></list></block></list></block><script><block s="doSetVar"><l>op2</l><l>&lt;</l></block></script><script><block s="doSetVar"><l>op2</l><l>≤</l></block></script></block></script><script><block s="doSetVar"><l>rightEdge</l><block s="reportListItem"><l>4</l><block var="interval2"/></block></block><block s="doSetVar"><l>op2</l><block s="reportListItem"><l>3</l><block var="interval2"/></block></block></script></block></script><comment w="82.00716145833326" collapsed="false">define right edge and operator</comment></block><block s="doReport"><block s="reportNewList"><list><block var="leftEdge"/><block var="op1"/><block var="op2"/><block var="rightEdge"/></list></block></block></script></block></script></block-definition><block-definition s="intersect interval lists %&apos;intervals1&apos; and %&apos;intervals2&apos;" type="reporter" category="2. Math tools" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>m</l><l>n</l><l>interval</l><l>e</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicOr"><list><custom-block s="is %s a %txt"><block var="intervals1"/><l>listOfIntervals</l></custom-block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="intervals1"/></block><l>0</l></list></block></list></block><block s="reportVariadicOr"><list><custom-block s="is %s a %txt"><block var="intervals2"/><l>listOfIntervals</l></custom-block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="intervals2"/></block><l>0</l></list></block></list></block></list></block></block><script><block s="doReport"><l>ERROR: interval lists required!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="intervals1"/></block><l>1</l></list></block><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="intervals2"/></block><l>1</l></list></block></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>n</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block var="intervals1"/></block></list></block><script><block s="doSetVar"><l>m</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="m"/><block s="reportListAttribute"><l><option>length</option></l><block var="intervals2"/></block></list></block><script><block s="doSetVar"><l>interval</l><custom-block s="intersect intervals %l %l"><block s="reportListItem"><block var="n"/><block var="intervals1"/></block><block s="reportListItem"><block var="m"/><block var="intervals2"/></block></custom-block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="interval"/></block><l>0</l></list></block><script><block s="doAddToList"><block var="interval"/><block var="result"/></block></script><list></list></block><block s="doChangeVar"><l>m</l><l>1</l></block></script></block><block s="doChangeVar"><l>n</l><l>1</l></block></script></block><block s="doReport"><custom-block s="merge intervals %l"><block var="result"/></custom-block></block></script></block></script></block-definition><block-definition s="merge interval lists %&apos;intervals1&apos; and %&apos;intervals2&apos;" type="reporter" category="2. Math tools" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>n</l><l>c</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><custom-block s="is %s a %txt"><block var="intervals1"/><l>listOfIntervals</l></custom-block><custom-block s="is %s a %txt"><block var="intervals2"/><l>listOfIntervals</l></custom-block></list></block></block><script><block s="doReport"><l>ERROR: interval lists required!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="intervals1"/></block><l>1</l></list></block><script><block s="doReport"><block var="intervals2"/></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="intervals2"/></block><l>1</l></list></block><script><block s="doReport"><block var="intervals1"/></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportMap"><block s="reifyReporter"><script></script><list></list></block><block var="intervals1"/></block></block><block s="doSetVar"><l>n</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block var="intervals2"/></block></list></block><script><block s="doAddToList"><block s="reportListItem"><block var="n"/><block var="intervals2"/></block><block var="result"/></block><block s="doChangeVar"><l>n</l><l>1</l></block></script></block><block s="doReport"><custom-block s="merge intervals %l"><block var="result"/></custom-block></block></script></block></script></block-definition><block-definition s="is interval %&apos;interval&apos; subinterval of interval list %&apos;intervals&apos; ?" type="predicate" category="2. Math tools" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>isSubinterval</l><l>b</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="interval"/><l>interval</l></custom-block></block><script><block s="doReport"><l>ERROR: interval required!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="intervals"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="intervals"/><l>listOfIntervals</l></custom-block></block><script><block s="doReport"><l>ERROR: interval list required!</l></block></script><list></list></block><block s="doForEach"><l>item</l><custom-block s="merge intervals %l"><block var="intervals"/></custom-block><script><block s="doIf"><block s="reportVariadicEquals"><list><custom-block s="intersect intervals %l %l"><block var="interval"/><block var="item"/></custom-block><block var="interval"/></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="elements of %&apos;elements&apos; not covered by predicate %&apos;predicate&apos;" type="reporter" category="2. Math tools" helper="true"><comment x="0" y="0" w="269" collapsed="false">Returns all elements of a list not covered by the predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>coveredElements</l><l>b</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>coveredElements</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><custom-block s="evaluate predicate %s with %s"><block var="predicate"/><block var="element"/></custom-block></autolambda><list><l>element</l></list></block><block var="elements"/></block></block><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportListContainsItem"><block var="coveredElements"/><l></l></block></block></autolambda><list></list></block><block var="elements"/></block></block></script></block></script></block-definition><block-definition s="elements of %&apos;elements&apos; not covered by intervals %&apos;intervals&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="269" collapsed="false">Returns all elements of a list not covered by the intervals.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>coveredElements</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>coveredElements</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><custom-block s="evaluate intervals %l with %s"><block var="intervals"/><block var="element"/></custom-block></autolambda><list><l>element</l></list></block><block var="elements"/></block></block><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportListContainsItem"><block var="coveredElements"/><l></l></block></block></autolambda><list></list></block><block var="elements"/></block></block></script></block></script></block-definition><block-definition s="cleaned up set %&apos;set&apos;" type="reporter" category="2. Math tools" helper="true"><comment x="0" y="0" w="224.6666666666666" collapsed="false">Returns a set only with elements in item 3 not covered by the intervals or the predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>i</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: parameter is not a set!</l></block></script><list></list></block><block s="doSetVar"><l>result</l><custom-block s="copy of %s"><block var="set"/></custom-block></block><block s="doReplaceInList"><l>3</l><block var="result"/><custom-block s="%s without duplicates"><custom-block s="elements %l not covered by intervals %l"><block s="reportListItem"><l>3</l><block var="result"/></block><block s="reportListItem"><l>4</l><block var="result"/></block></custom-block></custom-block></block><block s="doReplaceInList"><l>3</l><block var="result"/><block s="reportApplyExtension"><l>lst_sort(list, fn)</l><list><custom-block s="%s without duplicates"><custom-block s="elements %l not covered by predicate %s"><block s="reportListItem"><l>3</l><block var="result"/></block><block s="reportListItem"><l>5</l><block var="result"/></block></custom-block></custom-block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block></block><block s="doIf"><block s="reportVariadicNotEquals"><list><block s="reportListItem"><l>5</l><block var="result"/></block><l></l></list></block><script><block s="doReplaceInList"><l>4</l><block var="result"/><custom-block s="intervals %l not covered by predicate %s"><block s="reportListItem"><l>4</l><block var="result"/></block><block s="reportListItem"><l>5</l><block var="result"/></block></custom-block></block></script><list></list></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>3</l><block var="result"/></block></block></list></block><script><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><block var="i"/><block s="reportListItem"><l>3</l><block var="result"/></block></block><l><option>number</option></l></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><block var="i"/><block s="reportListItem"><l>3</l><block var="result"/></block></block><l>≤</l><l>≤</l><block s="reportListItem"><block var="i"/><block s="reportListItem"><l>3</l><block var="result"/></block></block></list></block><block s="reportListItem"><l>4</l><block var="result"/></block></block><block s="doDeleteFromList"><block var="i"/><block s="reportListItem"><l>3</l><block var="result"/></block></block></script><script><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script></block><block s="doReplaceInList"><l>2</l><block var="result"/><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>3</l><block var="result"/></block></block><l>0</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>5</l><block var="result"/></block><l></l></list></block></list></block></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="is %&apos;predicateTree&apos; translatable to intervals?" type="predicate" category="other" helper="true"><comment x="0" y="0" w="306.15384615384613" collapsed="false">Test wether the predicate is translatable to a list of intervals.</comment><header></header><code></code><translations></translations><inputs><input type="%l">ringified predicate</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="predicateTree"/><l><option>list</option></l></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doIf"><custom-block s="is %s a %txt"><block s="reportListItem"><l>1</l><block var="predicateTree"/></block><l>comparisonOperator</l></custom-block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="predicateTree"/></block><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="is %l translatable to intervals?"><block s="reportListItem"><l>2</l><block var="predicateTree"/></block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="predicateTree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><l/><l/></list></block></autolambda><list></list></block></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="predicateTree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><l/><l/></list></block></autolambda><list></list></block></list></block></list></block><script><block s="doReport"><block s="reportVariadicAnd"><list><custom-block s="is %l translatable to intervals?"><block s="reportListItem"><l>2</l><block var="predicateTree"/></block></custom-block><custom-block s="is %l translatable to intervals?"><block s="reportListItem"><l>3</l><block var="predicateTree"/></block></custom-block></list></block></block></script><list></list></block><block s="doReport"><block s="reportVariadicAnd"><list><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="predicateTree"/></block><l></l></list></block><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="predicateTree"/></block><l><option>number</option></l></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="predicateTree"/></block><l></l></list></block><block s="reportIsA"><block s="reportListItem"><l>3</l><block var="predicateTree"/></block><l><option>number</option></l></block></list></block></list></block></block></script><list></list></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="difference of interval %&apos;interval1&apos; and %&apos;interval2&apos;" type="reporter" category="2. Math tools" helper="true"><comment x="0" y="0" w="322.5" collapsed="false">Intervals should be of structure [leftLimit,operator1,operator2,rightLimit]</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>leftEdge</l><l>rightEdge</l><l>op1</l><l>op2</l><l>intersection</l><l>result</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><custom-block s="is %s a %txt"><block var="interval1"/><l>interval</l></custom-block><custom-block s="is %s a %txt"><block var="interval2"/><l>interval</l></custom-block></list></block></block><script><block s="doReport"><l>ERROR: intervals required!</l></block></script><list></list></block><block s="doSetVar"><l>interval1</l><custom-block s="copy of %s"><block var="interval1"/></custom-block></block><block s="doSetVar"><l>interval2</l><custom-block s="copy of %s"><block var="interval2"/></custom-block></block><block s="doSetVar"><l>intersection</l><custom-block s="intersect intervals %l %l"><block var="interval1"/><block var="interval2"/></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="intersection"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportNewList"><list><block var="interval1"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="interval1"/><block var="intersection"/></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>1</l><block var="intersection"/></block></list></block><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval1"/></block><l>≤</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="intersection"/></block><l>&lt;</l></list></block></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="intersection"/></block><l>≤</l><l>≤</l><block s="reportListItem"><l>1</l><block var="intersection"/></block></list></block><block var="result"/></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>4</l><block var="intersection"/></block><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><script><block s="doSetVar"><l>leftEdge</l><block s="reportListItem"><l>4</l><block var="intersection"/></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="intersection"/></block><l>≤</l></list></block><script><block s="doSetVar"><l>op1</l><l>&lt;</l></block></script><script><block s="doSetVar"><l>op1</l><l>≤</l></block></script></block><block s="doAddToList"><block s="reportNewList"><list><block var="leftEdge"/><block var="op1"/><block s="reportListItem"><l>3</l><block var="interval1"/></block><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><block var="result"/></block></script><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval1"/></block><l>≤</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="intersection"/></block><l>&lt;</l></list></block></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><l>4</l><block var="intersection"/></block><l>≤</l><l>≤</l><block s="reportListItem"><l>4</l><block var="intersection"/></block></list></block><block var="result"/></block></script><list></list></block></script></block><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>1</l><block var="intersection"/></block><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="intersection"/></block><l>&lt;</l></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>2</l><block var="interval1"/></block><l>≤</l><block s="reportListItem"><l>1</l><block var="intersection"/></block></list></block><block var="result"/></block></script><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>2</l><block var="interval1"/></block><l>&lt;</l><block s="reportListItem"><l>1</l><block var="intersection"/></block></list></block><block var="result"/></block></script></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>4</l><block var="intersection"/></block><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><script><block s="doSetVar"><l>leftEdge</l><block s="reportListItem"><l>4</l><block var="intersection"/></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="intersection"/></block><l>≤</l></list></block><script><block s="doSetVar"><l>op1</l><l>&lt;</l></block></script><script><block s="doSetVar"><l>op1</l><l>≤</l></block></script></block><block s="doAddToList"><block s="reportNewList"><list><block var="leftEdge"/><block var="op1"/><block s="reportListItem"><l>3</l><block var="interval1"/></block><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><block var="result"/></block></script><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval1"/></block><l>≤</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="intersection"/></block><l>&lt;</l></list></block></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><l>4</l><block var="intersection"/></block><l>≤</l><l>≤</l><block s="reportListItem"><l>4</l><block var="intersection"/></block></list></block><block var="result"/></block></script><list></list></block></script></block><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="intersection"/></block><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>2</l><block var="interval1"/></block><l>&lt;</l><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><block var="result"/></block></script><list></list></block><block s="doReplaceInList"><l>4</l><block var="result"/><custom-block s="merge intervals %l"><block s="reportListItem"><l>4</l><block var="result"/></block></custom-block></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="list of numbers %&apos;numbers&apos; $arrowRightOutline list of intervals" type="reporter" category="2. Math tools" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><block var="numbers"/><script><block s="doAddToList"><block s="reportNewList"><list><block var="item"/><l>≤</l><l>≤</l><block var="item"/></list></block><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="are intervals %&apos;interval1&apos; and %&apos;interval2&apos; overlapping?" type="predicate" category="2. Math tools" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><custom-block s="is %s a %txt"><block var="interval1"/><l>interval</l></custom-block><custom-block s="is %s a %txt"><block var="interval2"/><l>interval</l></custom-block></list></block></block><script><block s="doReport"><l>ERROR: intervals required!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="interval2"/></block><block s="reportListItem"><l>1</l><block var="interval1"/></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>4</l><block var="interval2"/></block><block s="reportListItem"><l>1</l><block var="interval1"/></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>4</l><block var="interval2"/></block><block s="reportListItem"><l>1</l><block var="interval1"/></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval2"/></block><l>&lt;</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval1"/></block><l>≤</l></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval2"/></block><l>≤</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval1"/></block><l>&lt;</l></list></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval2"/></block><l>&lt;</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval1"/></block><l>&lt;</l></list></block></list></block></list></block></list></block></list></block></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>4</l><block var="interval2"/></block><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>1</l><block var="interval2"/></block><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="interval2"/></block><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval2"/></block><l>&lt;</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval1"/></block><l>≤</l></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval2"/></block><l>≤</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval1"/></block><l>&lt;</l></list></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval2"/></block><l>&lt;</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval1"/></block><l>&lt;</l></list></block></list></block></list></block></list></block></list></block></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block-definition><block-definition s="configure %&apos;sprite&apos; as a PlotPad width: %&apos;width&apos; $nl height: %&apos;height&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="115" collapsed="false">Creates a new  empty costume of the specified size and color and sets the local properties</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>costumeWidth</l><l>costumeHeight</l><l>yIntervals</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>sprite</l><l>theStage</l></block><block s="doSetVar"><l>target</l><block s="reportObject"><l>Stage</l></block></block><block s="doSetVar"><l>costumeWidth</l><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block></block><block s="doSetVar"><l>costumeHeight</l><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="gotoXY"><l>0</l><l>0</l></block><block s="setHeading"><l>90</l></block><block s="show"></block></script><list></list></block><list></list></block><block s="doSetVar"><l>costumeWidth</l><block var="width"/></block><block s="doSetVar"><l>costumeHeight</l><block var="height"/></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myProperties</l></list></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myData</l></list></block><block s="doSetVar"><l>myProperties</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>myData</l><block s="reportNewList"><list></list></block></block><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="costumeWidth"/><block var="costumeHeight"/><block var="r"/><block var="g"/><block var="b"/></list></block></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfConfiguration</l><l>PlotPad</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfData</l><l>none</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>lineProperties</l><block s="reportNewList"><list><l>continuous</l><l>1</l><l>0</l><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>markerProperties</l><block s="reportNewList"><list><l>square</l><l>5</l><block s="reportBoolean"><l><bool>false</bool></l></block><l>255</l><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>dataProperties</l><block s="reportNewList"><list><l>notSet</l><l>notSet</l><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>scaleOffsets</l><block s="reportNewList"><list><l>60</l><l>10</l><l>35</l><l>50</l></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>labels</l><block s="reportNewList"><list><l></l><l></l><l></l><l>18</l><l>16</l><l>16</l><l></l><l></l></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>ranges</l><block s="reportNewList"><list><l>-10</l><l>10</l><l>-10</l><l>10</l></list></block></list></block><block var="myProperties"/></block><block s="doSetVar"><l>yIntervals</l><block s="reportRound"><block s="reportVariadicProduct"><list><l>6</l><block s="reportQuotient"><block var="height"/><block var="width"/></block></list></block></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="yIntervals"/><l>3</l></list></block><script><block s="doSetVar"><l>yIntervals</l><l>3</l></block></script><list></list></block><block s="doAddToList"><block s="reportNewList"><list><l>scaleProperties</l><block s="reportNewList"><list><l>2</l><l>2</l><l>12</l><l>12</l><l>6</l><block var="yIntervals"/><l>-10</l><l>-10</l><l>2</l><l>2</l><l>1</l><l>1</l><l>6</l><l>0</l><l>0</l><block s="reportBoolean"><l><bool>false</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doAddToList"><block s="reportNewList"><list><l>costumeProperties</l><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="r"/><block var="g"/><block var="b"/><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block var="width"/></block><l>2</l></block><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="height"/></block><l>2</l></block><l>0</l><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doAddToList"><block s="reportNewList"><list><l>costumeProperties</l><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block></script></block></script></block></script><scripts><comment x="721.6666666666665" y="25.166666666666657" w="195" collapsed="false">costume properties:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;6: left offset for Image position on stage&#xD;7: upper offset for Image position on stage&#xD;8: front color red&#xD;9: front color green&#xD;10: front color blue&#xD;&#xD;line properties:&#xD;1: line width&#xD;2: line style&#xD;3: line color red&#xD;4: line color green&#xD;5: lineColor blue&#xD;&#xD;marker properties:&#xD;1: marker style&#xD;2: marker width&#xD;3: marker connected&#xD;4: marker color red&#xD;5: marker color green&#xD;6: marker color blue&#xD;&#xD;data properties:&#xD;1: minValue&#xD;2: maxValue&#xD;3: columns&#xD;4: rows&#xD;&#xD;scale offsets:&#xD;1:left offset&#xD;2: right offset&#xD;3: upper offset&#xD;4: lower offset&#xD;&#xD;labels:&#xD;1: title&#xD;2: x label&#xD;3: y label&#xD;4: title height&#xD;5: x label height&#xD;6: y label height&#xD;7: x unit&#xD;8: y unit&#xD;&#xD;ranges:&#xD;1: x left&#xD;2: x right&#xD;3: y lower &#xD;4: y upper&#xD;&#xD;scale properties:&#xD;1: scales x precision&#xD;2: scales y precision&#xD;3: scales x textheight&#xD;4: scales y textheight&#xD;5: scales x intervals&#xD;6: scales y intervals&#xD;7: scales x start&#xD;8: scales y start&#xD;9: scales x step&#xD;10: scales y step&#xD;11: scales x scaling&#xD;12: scales y scaling&#xD;13: scales ticlength&#xD;14: scales x minitics&#xD;15: scales y minitics&#xD;16: scales x grid&#xD;17: scales y grid&#xD;18: scales x centered&#xD;19: scales y centered&#xD;20: scales show x scale&#xD;21: scales show y scale&#xD;22: plot border</comment></scripts></block-definition><block-definition s="is %&apos;sprite&apos; a PlotPad?" type="predicate" category="5. PlotPad for data plots"><comment x="0" y="0" w="134" collapsed="false">Reports whether the sprite is configured as a PlotPad.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><l><option>myself</option></l></block><block s="reifyReporter"><autolambda><custom-block s="is %s a %s ?"><l>thisSprite</l><l>PlotPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><l>Stage</l></block><block s="reifyReporter"><autolambda><custom-block s="is %s a %s ?"><l>thisSprite</l><l>PlotPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><block var="sprite"/></block><block s="reifyReporter"><autolambda><custom-block s="is %s a %s ?"><l>thisSprite</l><l>PlotPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script></block></script></block></script></block></script></block-definition><block-definition s="PlotPadProperty %&apos;key&apos; of %&apos;sprite&apos;" type="reporter" category="5. PlotPad for data plots"><comment x="0" y="0" w="95" collapsed="false">Reads the value of an existing property.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">typeOfConfiguration<options>typeOfConfiguration&#xD;plots&#xD;costumeProperties={&#xD;width=costumeWidth&#xD;height=costumeHeight&#xD;back color=backColor&#xD;offsets=offsets&#xD;front color=frontColor&#xD;}&#xD;line properties={&#xD;line width=lineWidth&#xD;line style=lineStyle&#xD;line color=lineColor&#xD;fill color=fillColor&#xD;}&#xD;text properties={&#xD;text height=textHeight&#xD;orientation=textOrientation&#xD;}&#xD;closebutton properties={&#xD;with closebutton?=withCloseButton&#xD;position=closeButtonLeft&#xD;size=closeButtonSize&#xD;}&#xD;marker properties={&#xD;marker style=markerStyle&#xD;marker width=markerWidth&#xD;marker connected=markerConnected&#xD;marker color=markerColor&#xD;}&#xD;data properties={&#xD;minValue=minValue&#xD;maxValue=maxValue&#xD;columns=columns&#xD;rows=rows&#xD;}&#xD;scale offsets={&#xD;left offset=scaleLeftOffset&#xD;right offset=scaleRightOffset&#xD;upper offset=scaleUpperOffset&#xD;lower offset=scaleLowerOffset&#xD;}&#xD;labels={&#xD;title=title&#xD;x label=xLabel&#xD;y label=yLabel&#xD;title height=titleHeight&#xD;x label height=xLabelHeight&#xD;y label height=yLabelHeight&#xD;x unit=xUnit&#xD;y unit=yUnit&#xD;}&#xD;ranges={&#xD;x left=xLeft&#xD;x right=xRight&#xD;y lower=yLower&#xD;y upper=yUpper&#xD;}&#xD;scale properties={&#xD;scales x precision=scalesXprecision&#xD;scales y precision=scalesYprecision&#xD;scales x textheight=scalesXtextheight&#xD;scales y textheight=scalesYtextheight&#xD;scales x intervals=scalesXintervals&#xD;scales y intervals=scalesYintervals&#xD;scales x start=scalesXstart&#xD;scales y start=scalesYstart&#xD;scales x step=scalesXstep&#xD;scales y step=scalesYstep&#xD;scales x scaling=scalesXscaling&#xD;scales y scaling=scalesYscaling&#xD;scales ticlength=scalesTiclength&#xD;scales x minitics=scalesXminitics&#xD;scales y minitics=scalesYminitics&#xD;scales x grid=scalesXgrid&#xD;scales y grid=scalesYgrid&#xD;scales x centered=scalesXcentered&#xD;scales y centered=scalesYcentered&#xD;scales show x scale=scalesShowXscale&#xD;scales show y scale=scalesShowYscale&#xD;plot border=plotBorder&#xD;pretty formated=pretty&#xD;y-axis starts with 0=start0&#xD;}</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as PlotPad!</l><l>PlotPadProperty of ...</l></custom-block></script><list></list></block><block s="doIfElse"><custom-block s="is variable %s in the scope of %s ?"><l>myProperties</l><block var="target"/></custom-block><script><block s="doReport"><block s="reportListItem"><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="key"/><l> </l></block></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: missing variable myProperties!</l><l>PlotPadProperty of ...</l></custom-block></script></block></script></block></script></block-definition><block-definition s="set PlotPadProperty %&apos;key&apos; of %&apos;sprite&apos; to %&apos;value&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="128.97435897435886" collapsed="false">Sets the value of an existing property or inserts it anew.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">typeOfConfiguration<options>typeOfConfiguration&#xD;plots&#xD;costumeProperties={&#xD;width=costumeWidth&#xD;height=costumeHeight&#xD;back color=backColor&#xD;offsets=offsets&#xD;front color=frontColor&#xD;}&#xD;line properties={&#xD;line width=lineWidth&#xD;line style=lineStyle&#xD;line color=lineColor&#xD;fill color=fillColor&#xD;}&#xD;text properties={&#xD;text height=textHeight&#xD;orientation=textOrientation&#xD;}&#xD;closebutton properties={&#xD;with closebutton?=withCloseButton&#xD;position=closeButtonLeft&#xD;size=closeButtonSize&#xD;}&#xD;marker properties={&#xD;marker style=markerStyle&#xD;marker width=markerWidth&#xD;marker connected=markerConnected&#xD;marker color=markerColor&#xD;}&#xD;data properties={&#xD;minValue=minValue&#xD;maxValue=maxValue&#xD;columns=columns&#xD;rows=rows&#xD;}&#xD;scale offsets={&#xD;left offset=scaleLeftOffset&#xD;right offset=scaleRightOffset&#xD;upper offset=scaleUpperOffset&#xD;lower offset=scaleLowerOffset&#xD;}&#xD;labels={&#xD;title=title&#xD;x label=xLabel&#xD;y label=yLabel&#xD;title height=titleHeight&#xD;x label height=xLabelHeight&#xD;y label height=yLabelHeight&#xD;x unit=xUnit&#xD;y unit=yUnit&#xD;}&#xD;ranges={&#xD;x left=xLeft&#xD;x right=xRight&#xD;y lower=yLower&#xD;y upper=yUpper&#xD;}&#xD;scale properties={&#xD;scales x precision=scalesXprecision&#xD;scales y precision=scalesYprecision&#xD;scales x textheight=scalesXtextheight&#xD;scales y textheight=scalesYtextheight&#xD;scales x intervals=scalesXintervals&#xD;scales y intervals=scalesYintervals&#xD;scales x start=scalesXstart&#xD;scales y start=scalesYstart&#xD;scales x step=scalesXstep&#xD;scales y step=scalesYstep&#xD;scales x scaling=scalesXscaling&#xD;scales y scaling=scalesYscaling&#xD;scales ticlength=scalesTiclength&#xD;scales x minitics=scalesXminitics&#xD;scales y minitics=scalesYminitics&#xD;scales x grid=scalesXgrid&#xD;scales y grid=scalesYgrid&#xD;scales x centered=scalesXcentered&#xD;scales y centered=scalesYcentered&#xD;scales show x scale=scalesShowXscale&#xD;scales show y scale=scalesShowYscale&#xD;plot border=plotBorder&#xD;pretty formated=pretty&#xD;y-axis starts with 0=start0&#xD;}</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as PlotPad!</l><l>set PlotPadProperty</l></custom-block></script><list></list></block><block s="doIfElse"><custom-block s="is variable %s in the scope of %s ?"><l>myProperties</l><block var="target"/></custom-block><script><block s="doReplaceInList"><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="key"/><l> </l></block></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="value"/></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: Missing variable "myProperties"!</l><l>set PlotPadProperty</l></custom-block></script></block></script></block></script></block-definition><block-definition s="set PlotPad costume properties width: %&apos;width&apos; height: %&apos;height&apos; $nl back color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; front color: %&apos;rFront&apos; %&apos;gFront&apos; %&apos;bFront&apos; $nl offsets: %&apos;leftOffset&apos; %&apos;upperOffset&apos; on %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="117.66039530436237" collapsed="false">a simple way to set some costume attributes:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;6: left offset for Image&#xD;    position on stage&#xD;7: upper offset for Image&#xD;    position on stage&#xD;8: front color red&#xD;9: front color green&#xD;10: front color blue</comment><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input><input type="%n">180</input><input type="%n">180</input><input type="%n">180</input><input type="%n">0</input><input type="%n">0</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>costumeProperties</l><l>theStage</l><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="r"/><block var="g"/><block var="b"/><block var="leftOffset"/><block var="upperOffset"/><block var="rFront"/><block var="gFront"/><block var="bFront"/></list></block></custom-block></script><script><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>costumeProperties</l><block var="target"/><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/><block var="leftOffset"/><block var="upperOffset"/><block var="rFront"/><block var="gFront"/><block var="bFront"/></list></block></custom-block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></list></block></block></script><list></list></block><list></list></block></script></block></script></block-definition><block-definition s="set PlotPad line properties style: %&apos;style&apos; $nl width: %&apos;lineWidth&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; on %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="105.68386840820362" collapsed="false">a simple way to set some net attributes:&#xD;line properties:&#xD;1: line style&#xD;2: lineWidth&#xD;3: line color red&#xD;4: line color green&#xD;5: lineColor blue</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">continuous<options>continuous&#xD;dashed&#xD;dash-dot&#xD;dot-dot&#xD;rainbow&#xD;inverse-rainbow</options></input><input type="%n">1</input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>lineProperties</l><block var="target"/><block s="reportNewList"><list><block var="style"/><block var="lineWidth"/><block var="r"/><block var="g"/><block var="b"/></list></block></custom-block></script></block></script></block-definition><block-definition s="set PlotPad marker properties style: %&apos;style&apos; width: %&apos;width&apos; $nl color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; connected? %&apos;connected&apos; on %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="105.68386840820362" collapsed="false">a simple way to set some net attributes:&#xD;marker properties:&#xD;1: marker style&#xD;2: marker width&#xD;3: marker connected&#xD;4: marker color red&#xD;5: marker color green&#xD;6: marker color blue</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">square<options>none&#xD;o_circle&#xD;._point&#xD;+_plus&#xD;x_ex&#xD;square&#xD;triangle</options></input><input type="%n">5</input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input><input type="%b">false</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>markerProperties</l><block var="target"/><block s="reportNewList"><list><block var="style"/><block var="width"/><block var="connected"/><block var="r"/><block var="g"/><block var="b"/></list></block></custom-block></script></block></script></block-definition><block-definition s="set PlotPad scale properties precision: %&apos;xprecision&apos; %&apos;yprecision&apos; $nl textheight: %&apos;xtextheight&apos; %&apos;ytextheight&apos; number of intervals: %&apos;nx&apos; %&apos;ny&apos; $nl on %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="152.3076923076923" collapsed="false">Sets some properties for scales.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">2</input><input type="%n">12</input><input type="%n">12</input><input type="%n">10</input><input type="%n">10</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>scaleProperties</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>scaleProperties</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block><block s="doReplaceInList"><l>1</l><block var="scaleProperties"/><block var="xprecision"/></block><block s="doReplaceInList"><l>2</l><block var="scaleProperties"/><block var="yprecision"/></block><block s="doReplaceInList"><l>3</l><block var="scaleProperties"/><block var="xtextheight"/></block><block s="doReplaceInList"><l>4</l><block var="scaleProperties"/><block var="ytextheight"/></block><block s="doReplaceInList"><l>5</l><block var="scaleProperties"/><block var="nx"/></block><block s="doReplaceInList"><l>6</l><block var="scaleProperties"/><block var="ny"/></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scaleProperties</l><block var="target"/><block var="scaleProperties"/></custom-block></script></block></script></block-definition><block-definition s="set PlotPad labels on %&apos;sprite&apos; to $nl title: %&apos;newTitle&apos; titleheight: %&apos;tHeight&apos; $nl x-label: %&apos;newXLabel&apos; xLabelheight: %&apos;xHeight&apos; $nl y-label: %&apos;newYLabel&apos; yLabelheight: %&apos;yHeight&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="140.3846153846154" collapsed="false">Sets the labels and textheights of the diagrams of a PlotPad and redraws them.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%txt">Diagram Title</input><input type="%n">18</input><input type="%txt">x-label</input><input type="%n">16</input><input type="%txt">y-label</input><input type="%n">16</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as PlotPad!</l><l>set PlotPad labels</l></custom-block></script><list></list></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>title</l><block var="target"/><block var="newTitle"/></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>xLabel</l><block var="target"/><block var="newXLabel"/></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>yLabel</l><block var="target"/><block var="newYLabel"/></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>titleHeight</l><block var="target"/><block var="tHeight"/></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>xLabelHeight</l><block var="target"/><block var="xHeight"/></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>yLabelHeight</l><block var="target"/><block var="yHeight"/></custom-block><custom-block s="add axes and scales to PlotPad %txt"><block var="target"/></custom-block></script></block></script></block-definition><block-definition s="set PlotPad offsets from edges on %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="187.1666676666667" collapsed="false">Sets the distances of the diagram axes to the edges of the Sketchpad.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>leftOffset</l><l>rightOffset</l><l>target</l><l>upperOffset</l><l>lowerOffset</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as PlotPad!</l><l>set PlotPad offsets</l></custom-block></script><list></list></block><block s="doSetVar"><l>upperOffset</l><block s="reportVariadicProduct"><list><l>1</l><custom-block s="PlotPadProperty %txt of %txt"><l>scalesXtextheight</l><block var="target"/></custom-block></list></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><custom-block s="PlotPadProperty %txt of %txt"><l>title</l><block var="target"/></custom-block></block><l>0</l></list></block><script><block s="doChangeVar"><l>upperOffset</l><block s="reportVariadicProduct"><list><l>1</l><custom-block s="PlotPadProperty %txt of %txt"><l>titleHeight</l><block var="target"/></custom-block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><custom-block s="PlotPadProperty %txt of %txt"><l>scalesTiclength</l><block var="target"/></custom-block><l>0</l></list></block><script><block s="doChangeVar"><l>upperOffset</l><block s="reportVariadicProduct"><list><l>-1</l><custom-block s="PlotPadProperty %txt of %txt"><l>scalesTiclength</l><block var="target"/></custom-block></list></block></block></script><list></list></block><block s="doSetVar"><l>lowerOffset</l><block s="reportVariadicProduct"><list><l>1</l><custom-block s="PlotPadProperty %txt of %txt"><l>scalesXtextheight</l><block var="target"/></custom-block></list></block></block><block s="doIf"><block s="reportNot"><custom-block s="PlotPadProperty %txt of %txt"><l>scalesYcentered</l><block var="target"/></custom-block></block><script><block s="doChangeVar"><l>lowerOffset</l><block s="reportVariadicProduct"><list><l>1</l><custom-block s="PlotPadProperty %txt of %txt"><l>scalesXtextheight</l><block var="target"/></custom-block></list></block></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><custom-block s="PlotPadProperty %txt of %txt"><l>xLabel</l><block var="target"/></custom-block></block><l>0</l></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><custom-block s="PlotPadProperty %txt of %txt"><l>scalesXscaling</l><block var="target"/></custom-block><l>0.99</l></list></block><block s="reportVariadicGreaterThan"><list><custom-block s="PlotPadProperty %txt of %txt"><l>scalesXscaling</l><block var="target"/></custom-block><l>1.01</l></list></block></list></block></list></block><script><block s="doChangeVar"><l>lowerOffset</l><block s="reportVariadicProduct"><list><l>1.5</l><custom-block s="PlotPadProperty %txt of %txt"><l>xLabelHeight</l><block var="target"/></custom-block></list></block></block></script><list></list></block></script><list></list></block><block s="doSetVar"><l>rightOffset</l><block s="reportVariadicProduct"><list><l>1.5</l><custom-block s="PlotPadProperty %txt of %txt"><l>scalesYtextheight</l><block var="target"/></custom-block></list></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><custom-block s="PlotPadProperty %txt of %txt"><l>scalesTiclength</l><block var="target"/></custom-block><l>0</l></list></block><script><block s="doChangeVar"><l>rightOffset</l><block s="reportVariadicProduct"><list><l>-1</l><custom-block s="PlotPadProperty %txt of %txt"><l>scalesTiclength</l><block var="target"/></custom-block></list></block></block></script><list></list></block><block s="doSetVar"><l>leftOffset</l><block s="reportVariadicProduct"><list><l>1</l><custom-block s="PlotPadProperty %txt of %txt"><l>scalesYtextheight</l><block var="target"/></custom-block></list></block></block><block s="doIf"><block s="reportNot"><custom-block s="PlotPadProperty %txt of %txt"><l>scalesXcentered</l><block var="target"/></custom-block></block><script><block s="doChangeVar"><l>leftOffset</l><block s="reportVariadicProduct"><list><l>3</l><custom-block s="PlotPadProperty %txt of %txt"><l>scalesYtextheight</l><block var="target"/></custom-block></list></block></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><custom-block s="PlotPadProperty %txt of %txt"><l>yLabel</l><block var="target"/></custom-block></block><l>0</l></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><custom-block s="PlotPadProperty %txt of %txt"><l>scalesYscaling</l><block var="target"/></custom-block><l>0.99</l></list></block><block s="reportVariadicGreaterThan"><list><custom-block s="PlotPadProperty %txt of %txt"><l>scalesYscaling</l><block var="target"/></custom-block><l>1.01</l></list></block></list></block></list></block><script><block s="doChangeVar"><l>leftOffset</l><block s="reportVariadicProduct"><list><l>1</l><custom-block s="PlotPadProperty %txt of %txt"><l>yLabelHeight</l><block var="target"/></custom-block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><custom-block s="PlotPadProperty %txt of %txt"><l>scalesTiclength</l><block var="target"/></custom-block><l>0</l></list></block><script><block s="doChangeVar"><l>leftOffset</l><block s="reportVariadicProduct"><list><l>-1</l><custom-block s="PlotPadProperty %txt of %txt"><l>scalesTiclength</l><block var="target"/></custom-block></list></block></block></script><list></list></block></script><list></list></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scaleLeftOffset</l><block var="target"/><block var="leftOffset"/></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scaleRightOffset</l><block var="target"/><block var="rightOffset"/></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scaleUpperOffset</l><block var="target"/><block var="upperOffset"/></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scaleLowerOffset</l><block var="target"/><block var="lowerOffset"/></custom-block></script></block></script></block-definition><block-definition s="set PlotPad ranges for x: %&apos;xLeft&apos; %&apos;xRight&apos; y: %&apos;yLower&apos; %&apos;yUpper&apos; $nl with border? %&apos;border&apos; of %&apos;percent&apos; pretty formatted? %&apos;pretty&apos; $nl on %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="119.1666666666667" collapsed="false">Sets the ranges for the axes of the diagrams of a Sketchpad.</comment><header></header><code></code><translations></translations><inputs><input type="%n">-10</input><input type="%n">10</input><input type="%n">-10</input><input type="%n">10</input><input type="%b">false</input><input type="%n">0.1</input><input type="%b">true</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>dx</l><l>dy</l><l>target</l><l>ranges</l><l>scaleProperties</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>ranges</l><block s="reportNewList"><list><block var="xLeft"/><block var="xRight"/><block var="yLower"/><block var="yUpper"/></list></block></block><block s="doIf"><block var="border"/><script><block s="doSetVar"><l>dx</l><block s="reportVariadicProduct"><list><block var="percent"/><block s="reportDifference"><block var="xRight"/><block var="xLeft"/></block></list></block></block><block s="doSetVar"><l>dy</l><block s="reportVariadicProduct"><list><block var="percent"/><block s="reportDifference"><block var="yUpper"/><block var="yLower"/></block></list></block></block><block s="doSetVar"><l>ranges</l><block s="reportNewList"><list><block s="reportDifference"><block var="xLeft"/><block var="dx"/></block><block s="reportVariadicSum"><list><block var="xRight"/><block var="dx"/></list></block><block s="reportDifference"><block var="yLower"/><block var="dy"/></block><block s="reportVariadicSum"><list><block var="yUpper"/><block var="dy"/></list></block></list></block></block></script><list></list></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>ranges</l><block var="target"/><block var="ranges"/></custom-block><block s="doIfElse"><block var="pretty"/><script><custom-block s="set pretty ranges on PlotPad %txt"><block var="target"/></custom-block></script><script><block s="doSetVar"><l>scaleProperties</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block><block s="doReplaceInList"><l>7</l><block var="scaleProperties"/><block s="reportListItem"><l>1</l><block var="ranges"/></block></block><block s="doReplaceInList"><l>9</l><block var="scaleProperties"/><block s="reportQuotient"><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="ranges"/></block><block s="reportListItem"><l>1</l><block var="ranges"/></block></block><block s="reportListItem"><l>5</l><block var="scaleProperties"/></block></block></block><block s="doReplaceInList"><l>11</l><block var="scaleProperties"/><l>1</l></block><block s="doReplaceInList"><l>14</l><block var="scaleProperties"/><l>1</l></block><block s="doReplaceInList"><l>8</l><block var="scaleProperties"/><block s="reportListItem"><l>3</l><block var="ranges"/></block></block><block s="doReplaceInList"><l>10</l><block var="scaleProperties"/><block s="reportQuotient"><block s="reportDifference"><block s="reportListItem"><l>4</l><block var="ranges"/></block><block s="reportListItem"><l>3</l><block var="ranges"/></block></block><block s="reportListItem"><l>6</l><block var="scaleProperties"/></block></block></block><block s="doReplaceInList"><l>12</l><block var="scaleProperties"/><l>1</l></block><block s="doReplaceInList"><l>15</l><block var="scaleProperties"/><l>1</l></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scaleProperties</l><block var="target"/><block var="scaleProperties"/></custom-block></script></block></script></block></script></block-definition><block-definition s="add graph %&apos;aFunction&apos; to PlotPad %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots" space="true"><comment x="0" y="0" w="220" collapsed="false">Draws the graph of a function given as rigified Snap!-function or coefficient-list of a polynomial. </comment><header></header><code></code><translations></translations><inputs><input type="%s">ringified operator or polynomial</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>oldPlots</l><l>isNew</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as PlotPad!</l><l>add graph to PlotPad</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportIsA"><block var="aFunction"/><l><option>reporter</option></l></block><custom-block s="is %s a %txt"><block var="aFunction"/><l>vector</l></custom-block></list></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="evaluate"><block s="reifyReporter"><autolambda><block s="reportApplyExtension"><l>SciS_addGraphToPlotpad(costume,properties,aFunction,proc)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="aFunction"/></list></block></autolambda><list></list></block><list></list></block></list></block><block s="doSetVar"><l>oldPlots</l><custom-block s="PlotPadProperty %txt of %txt"><l>plots</l><block var="target"/></custom-block></block><block s="doSetVar"><l>isNew</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doForEach"><l>entry</l><block var="oldPlots"/><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="entry"/></block><l>function</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="entry"/></block><block var="aFunction"/></list></block></list></block><script><block s="doSetVar"><l>isNew</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block></script></block><block s="doIf"><block var="isNew"/><script><block s="doAddToList"><block s="reportNewList"><list><l>function</l><block var="aFunction"/></list></block><block var="oldPlots"/></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>plots</l><block var="target"/><block var="oldPlots"/></custom-block></script><list></list></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: ringified operator necessary!</l><l>add graph to PlotPad</l></custom-block></script></block></script></block-definition><block-definition s="add dataplot of numeric data: %&apos;data&apos; to PlotPad %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="195.83333333333334" collapsed="false">Draws the data points of a two-dimensional table with numerical values. With a lot of additions from Rick Hessman. Thanks!</comment><header></header><code></code><translations></translations><inputs><input type="%s">myData</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>target</l><l>oldPlots</l><l>isNew</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as PlotPad!</l><l>add numeric dataplot to PlotPad</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>myData</l></list></block><script><block s="doSetVar"><l>source</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block><l>2</l></list></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: only matrices supported!</l><l>add numeric dataplot to PlotPad</l></custom-block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_addNumericDataplotToPlotPad(costume,properties,data)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="source"/></list></block></list></block></script></block><block s="doSetVar"><l>oldPlots</l><custom-block s="PlotPadProperty %txt of %txt"><l>plots</l><block var="target"/></custom-block></block><block s="doSetVar"><l>isNew</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doForEach"><l>entry</l><block var="oldPlots"/><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="entry"/></block><l>numericData</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="entry"/></block><block var="source"/></list></block></list></block><script><block s="doSetVar"><l>isNew</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block></script></block><block s="doIf"><block var="isNew"/><script><block s="doAddToList"><block s="reportNewList"><list><l>numericData</l><block var="source"/></list></block><block var="oldPlots"/></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>plots</l><block var="target"/><block var="oldPlots"/></custom-block></script><list></list></block></script></block></script></block-definition><block-definition s="add dataplot of mixed data: %&apos;data&apos; $nl y-scale? %&apos;yScaled&apos; x-scale? %&apos;xScaled&apos; to PlotPad %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="208.33333333333334" collapsed="false">Draws the data points of a two-dimensional table with numerical values in column 2. &#xD;Text values should be used to set the x-label.</comment><header></header><code></code><translations></translations><inputs><input type="%s">myData</input><input type="%b">true</input><input type="%b">true</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>target</l><l>oldPlots</l><l>isNew</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as PlotPad!</l><l>add mixed dataplot to PlotPad</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>myData</l></list></block><script><block s="doSetVar"><l>source</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doIfElse"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: table data necessary!</l><l>add mixed dataplot to PlotPad</l></custom-block></script><script><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesShowXscale</l><block var="target"/><block var="xScaled"/></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesShowYscale</l><block var="target"/><block var="yScaled"/></custom-block><custom-block s="clear %txt on %s"><l>costume</l><block var="target"/></custom-block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_addMixedDataplotToPlotPad(costume,properties,data)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="source"/></list></block></list></block><block s="doSetVar"><l>oldPlots</l><custom-block s="PlotPadProperty %txt of %txt"><l>plots</l><block var="target"/></custom-block></block><block s="doSetVar"><l>isNew</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doForEach"><l>entry</l><block var="oldPlots"/><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="entry"/></block><l>mixedData</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="entry"/></block><block var="source"/></list></block></list></block><script><block s="doSetVar"><l>isNew</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block></script></block><block s="doIf"><block var="isNew"/><script><block s="doAddToList"><block s="reportNewList"><list><l>mixedData</l><block var="source"/></list></block><block var="oldPlots"/></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>plots</l><block var="target"/><block var="oldPlots"/></custom-block></script><list></list></block><custom-block s="add axes and scales to PlotPad %txt"><block var="target"/></custom-block></script></block></script></block></script></block-definition><block-definition s="add histogram of %&apos;data&apos; with %&apos;n&apos; groups $nl pretty formated? %&apos;prettyFormatted&apos; to PlotPad %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="146.33333333333326" collapsed="false">Draws a histogram of histogram data.With a lot of additions by Rick Hessman. Thanks!</comment><header></header><code></code><translations></translations><inputs><input type="%s">myData</input><input type="%n">10</input><input type="%b">true</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>ranges</l><l>pretty</l><l>dx</l><l>source</l><l>min</l><l>max</l><l>result</l><l>target</l><l>delta</l><l>h</l><l>i</l><l>x</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>myData</l></list></block><script><block s="doSetVar"><l>source</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>vector</l></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: vector required!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>0</l></list></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: empty data!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><custom-block s="is %s a %txt"><block var="source"/><l>transposed-vector</l></custom-block><script><block s="doSetVar"><l>source</l><custom-block s="transpose %l"><block var="source"/></custom-block></block></script><list></list></block><block s="doSetVar"><l>min</l><block s="reportCombine"><block var="source"/><block s="reifyReporter"><autolambda><block s="reportVariadicMin"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block><block s="doSetVar"><l>max</l><block s="reportCombine"><block var="source"/><block s="reifyReporter"><autolambda><block s="reportVariadicMax"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block><block s="doSetVar"><l>delta</l><block s="reportQuotient"><block s="reportDifference"><block var="max"/><block var="min"/></block><block var="n"/></block></block><block s="doSetVar"><l>h</l><block s="reportVariadicSum"><list><block var="min"/><block s="reportQuotient"><block var="delta"/><l>2</l></block></list></block></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><block var="n"/><script><block s="doAddToList"><block s="reportNewList"><list><block var="h"/><l>0</l></list></block><block var="result"/></block><block s="doChangeVar"><l>h</l><block var="delta"/></block></script></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></list></block><script><block s="doSetVar"><l>x</l><block s="reportListItem"><block var="i"/><block var="source"/></block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="x"/><l><option>number</option></l></block></block><script><block s="doSetVar"><l>x</l><block s="reportListItem"><l>1</l><block var="x"/></block></block></script><list></list></block><block s="doIf"><block s="reportIsA"><block var="x"/><l><option>number</option></l></block><script><block s="doSetVar"><l>h</l><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block s="reportDifference"><block var="x"/><block var="min"/></block><block var="delta"/></block></block></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="h"/><l>1</l></list></block><script><block s="doSetVar"><l>h</l><l>1</l></block></script><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="h"/><block var="n"/></list></block><script><block s="doSetVar"><l>h</l><block var="n"/></block></script><list></list></block></script></block><block s="doReplaceInList"><l>2</l><block s="reportListItem"><block var="h"/><block var="result"/></block><block s="reportVariadicSum"><list><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="h"/><block var="result"/></block></block><l>1</l></list></block></block></script><list></list></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doSetVar"><l>source</l><block var="result"/></block><custom-block s="get ranges for PlotPad %txt %br from %s with border %n"><block var="target"/><block var="source"/><l>0.1</l></custom-block><block s="doIf"><block var="prettyFormatted"/><script><custom-block s="set pretty ranges on PlotPad %txt"><block var="target"/></custom-block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_addHistogramToPlotpad(costume,ranges,offsets,lineattributes,data,datapointattributes)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="PlotPadProperty %txt of %txt"><l>ranges</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>scaleOffsets</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block><block var="source"/><custom-block s="PlotPadProperty %txt of %txt"><l>markerProperties</l><block var="target"/></custom-block></list></block></list></block></script></block></script></block-definition><block-definition s="add axes and scales to PlotPad %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="226.3153515625" collapsed="false">Draws and labels the axes of a PlotPad.&#xD;With lot of additions of Rick Hessman. Thanks!</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as PlotPad!</l><l>add axes und scales to PlotPad</l></custom-block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_addAxesAndScalesToPlotpad(costume,properties)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></list></block></block></script><list></list></block><list></list></block></script></block></script><scripts><script x="403" y="218.94999999999996"><custom-block s="clear %txt on %s"><l>costume</l><block var="target"/></custom-block><custom-block s="restore PlotPad content of %s"><block var="target"/></custom-block></script></scripts></block-definition><block-definition s="clear plot of %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite</input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block s="reportAttributeOf"><l><option>width</option></l><block var="target"/></block><block s="reportAttributeOf"><l><option>height</option></l><block var="target"/></block><block s="reportListItem"><l>3</l><custom-block s="PlotPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>4</l><custom-block s="PlotPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>5</l><custom-block s="PlotPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></list></block></list></block></script></block></script></block-definition><block-definition s="set pretty ranges on PlotPad %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="311.3333333333333" collapsed="false">Sets the ranges to &quot;pretty&quot; values. Many thanks to Rick Hessman!</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>pretty</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as PlotPad!</l><l>set pretty ranges on PlotPad</l></custom-block></script><list></list></block><block s="doSetVar"><l>pretty</l><custom-block s="pretty values for a PlotPad from %n %br to %n with %n intervals"><custom-block s="PlotPadProperty %txt of %txt"><l>xLeft</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>xRight</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>scalesXintervals</l><block var="target"/></custom-block></custom-block><comment w="156.80952380952382" collapsed="false">get dictionary of pretty x-values.</comment></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesXstart</l><block var="target"/><block s="reportListItem"><l>start</l><block var="pretty"/></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesXstep</l><block var="target"/><block s="reportListItem"><l>step</l><block var="pretty"/></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesXscaling</l><block var="target"/><block s="reportListItem"><l>scaling</l><block var="pretty"/></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesXintervals</l><block var="target"/><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><block s="reportVariadicProduct"><list><l>6</l><custom-block s="PlotPadProperty %txt of %txt"><l>scalesXtextheight</l><block var="target"/></custom-block></list></block></block></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesXprecision</l><block var="target"/><block s="reportListItem"><l>precision</l><block var="pretty"/></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesXminitics</l><block var="target"/><block s="reportListItem"><l>minitics</l><block var="pretty"/></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>xLeft</l><block var="target"/><block s="reportListItem"><l>start</l><block var="pretty"/></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>xRight</l><block var="target"/><block s="reportListItem"><l>stop</l><block var="pretty"/></block></custom-block><block s="doSetVar"><l>pretty</l><custom-block s="pretty values for a PlotPad from %n %br to %n with %n intervals"><custom-block s="PlotPadProperty %txt of %txt"><l>yLower</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>yUpper</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>scalesYintervals</l><block var="target"/></custom-block></custom-block><comment w="156.80952380952382" collapsed="false">get dictionary of pretty y-values.</comment></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesYstart</l><block var="target"/><block s="reportListItem"><l>start</l><block var="pretty"/></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesYstep</l><block var="target"/><block s="reportListItem"><l>step</l><block var="pretty"/></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesYscaling</l><block var="target"/><block s="reportListItem"><l>scaling</l><block var="pretty"/></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesYintervals</l><block var="target"/><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>height</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><block s="reportVariadicProduct"><list><l>8</l><custom-block s="PlotPadProperty %txt of %txt"><l>scalesYtextheight</l><block var="target"/></custom-block></list></block></block></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesYprecision</l><block var="target"/><block s="reportListItem"><l>precision</l><block var="pretty"/></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesYminitics</l><block var="target"/><block s="reportListItem"><l>minitics</l><block var="pretty"/></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>yLower</l><block var="target"/><block s="reportListItem"><l>start</l><block var="pretty"/></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>yUpper</l><block var="target"/><block s="reportListItem"><l>stop</l><block var="pretty"/></block></custom-block><custom-block s="add axes and scales to PlotPad %txt"><block var="target"/></custom-block></script></block></script></block-definition><block-definition s="pretty values for a PlotPad from %&apos;min&apos; $nl to %&apos;max&apos; with %&apos;num&apos; intervals" type="reporter" category="5. PlotPad for data plots"><comment x="0" y="0" w="164.33333333333317" collapsed="false">&quot;Pretty&quot; scaling from Rick Hessman. Many thanks!</comment><header></header><code></code><translations></translations><inputs><input type="%n">-10</input><input type="%n">10</input><input type="%n">6</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>sign</l><l>pretty</l><l>between</l><l>places</l><l>delta</l><l>dtic</l><l>scaling</l><l>index</l><l>n</l><l>result</l><l>nint</l></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="num"/><l>3</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: num-value &lt;3 senseless</l><l>pretty values for a PlotPad</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block s="reportMonadic"><l><option>abs</option></l><block var="min"/></block><l>2000</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportMonadic"><l><option>abs</option></l><block var="max"/></block><l>2000</l></list></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doAddToList"><block s="reportNewList"><list><l>start</l><block var="min"/></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>stop</l><block var="max"/></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>step</l><block s="reportQuotient"><block s="reportDifference"><block var="max"/><block var="min"/></block><block var="num"/></block></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>scaling</l><l>1</l></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>intervals</l><block var="num"/></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>precision</l><l>0</l></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>minitics</l><l>1</l></list></block><block var="result"/></block><block s="doReport"><block var="result"/></block></script><list></list><comment w="196.32285529908663" collapsed="false">Numbers are too big for pretty printing.</comment></block><block s="doSetVar"><l>nint</l><block var="num"/></block><block s="doSetVar"><l>pretty</l><block s="reportNewList"><list><l>0.001</l><l>0.002</l><l>0.005</l><l>0.01</l><l>0.02</l><l>0.05</l><l>0.1</l><l>0.2</l><l>0.5</l><l>1</l><l>2</l><l>5</l><l>10</l><l>20</l><l>50</l><l>100</l><l>200</l><l>500</l><l>1000</l><l>2000</l></list></block></block><block s="doSetVar"><l>between</l><block s="reportNewList"><list><l>9</l><l>1</l><l>3</l><l>4</l><l>1</l><l>3</l><l>4</l><l>1</l><l>3</l><l>4</l><l>1</l><l>3</l><l>4</l><l>1</l><l>3</l><l>4</l><l>1</l><l>3</l><l>4</l><l>1</l></list></block></block><block s="doSetVar"><l>places</l><block s="reportNewList"><list><l>3</l><l>3</l><l>3</l><l>2</l><l>2</l><l>2</l><l>1</l><l>1</l><l>1</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l></list></block></block><block s="doSetVar"><l>sign</l><block s="reportMonadic"><l><option>sign</option></l><block s="reportDifference"><block var="max"/><block var="min"/></block></block></block><block s="doRepeat"><l>2</l><script><block s="doSetVar"><l>delta</l><block s="reportMonadic"><l><option>abs</option></l><block s="reportQuotient"><block s="reportDifference"><block var="max"/><block var="min"/></block><block var="nint"/></block></block></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="delta"/><l>0.001</l></list></block><block s="reportVariadicLessThan"><list><block var="delta"/><l>2000</l></list></block></list></block><script><block s="doSetVar"><l>scaling</l><l>1</l></block></script><script><block s="doSetVar"><l>scaling</l><block s="reportMonadic"><l><option>10^</option></l><block s="reportMonadic"><l><option>floor</option></l><block s="reportMonadic"><l><option>log</option></l><block s="reportVariadicProduct"><list><l>0.5</l><block s="reportVariadicSum"><list><block s="reportMonadic"><l><option>abs</option></l><block var="max"/></block><block s="reportMonadic"><l><option>abs</option></l><block var="min"/></block></list></block></list></block></block></block></block></block></script></block><block s="doSetVar"><l>index</l><l>1</l></block><block s="doFor"><l>i</l><l>2</l><block s="reportListAttribute"><l><option>length</option></l><block var="pretty"/></block><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="delta"/><block s="reportVariadicProduct"><list><block s="reportListItem"><block var="i"/><block var="pretty"/></block><block var="scaling"/></list></block></list></block><script><block s="doSetVar"><l>index</l><block var="i"/></block></script><list></list></block></script></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicLessThan"><list><block var="index"/><block s="reportListAttribute"><l><option>length</option></l><block var="pretty"/></block></list></block><block s="reportVariadicGreaterThan"><list><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block var="delta"/><block s="reportVariadicProduct"><list><block s="reportListItem"><block var="index"/><block var="pretty"/></block><block var="scaling"/></list></block></block></block><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block var="delta"/><block s="reportVariadicProduct"><list><block s="reportListItem"><block s="reportVariadicSum"><list><block var="index"/><l>1</l></list></block><block var="pretty"/></block><block var="scaling"/></list></block></block></block></list></block></list></block><script><block s="doSetVar"><l>index</l><block s="reportVariadicSum"><list><block var="index"/><l>1</l></list></block></block></script><list></list></block><block s="doSetVar"><l>dtic</l><block s="reportVariadicProduct"><list><block s="reportListItem"><block var="index"/><block var="pretty"/></block><block var="sign"/></list></block></block><block s="doSetVar"><l>nint</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportMonadic"><l><option>abs</option></l><block s="reportQuotient"><block s="reportDifference"><block var="max"/><block var="min"/></block><block s="reportVariadicProduct"><list><block var="dtic"/><block var="scaling"/></list></block></block></block></block></block></script></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>delta</l><block s="reportVariadicProduct"><list><block var="dtic"/><block var="scaling"/></list></block></block><block s="doSetVar"><l>n</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="min"/><block var="delta"/></block></block></block><block s="doAddToList"><block s="reportNewList"><list><l>start</l><block s="reportVariadicProduct"><list><block var="n"/><block var="dtic"/></list></block></list><comment w="192.76999879201261" collapsed="false">start*scaling is the actual starting value (start is the value displayed next to the tic)</comment></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>stop</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="n"/><block var="dtic"/></list></block><block s="reportVariadicProduct"><list><block s="reportVariadicSum"><list><block var="nint"/><l>1</l></list></block><block var="dtic"/></list></block></list></block></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>step</l><block var="dtic"/></list></block><block var="result"/><comment w="392.5133314895631" collapsed="false">step*scaling is the actual stepping value (step is the difference between the tic labels).</comment></block><block s="doAddToList"><block s="reportNewList"><list><l>scaling</l><block var="scaling"/></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>intervals</l><block var="nint"/></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>precision</l><block s="reportListItem"><block var="index"/><block var="places"/></block></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>minitics</l><block s="reportListItem"><block var="index"/><block var="between"/></block></list></block><block var="result"/></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="get ranges for PlotPad %&apos;sprite&apos; $nl from %&apos;data&apos; with border %&apos;percent&apos;" type="command" category="5. PlotPad for data plots"><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s">myData</input><input type="%n">0.1</input></inputs><script><block s="doDeclareVariables"><list><l>ranges</l><l>dx</l><l>dy</l><l>source</l><l>target</l><l>scaleProperties</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as PlotPad!</l><l>get ranges for PlotPad</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>myData</l></list></block><script><block s="doSetVar"><l>source</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>2</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: wrong data!</l><l>get ranges for PlotPad</l></custom-block></script><script><block s="doSetVar"><l>ranges</l><custom-block s="ranges of 2-dim table %l"><block var="source"/></custom-block></block><block s="doSetVar"><l>dx</l><block s="reportVariadicProduct"><list><block var="percent"/><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="ranges"/></block><block s="reportListItem"><l>1</l><block var="ranges"/></block></block></list></block></block></script></block><block s="doSetVar"><l>dy</l><block s="reportVariadicProduct"><list><block var="percent"/><block s="reportDifference"><block s="reportListItem"><l>4</l><block var="ranges"/></block><block s="reportListItem"><l>3</l><block var="ranges"/></block></block></list></block></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>xLeft</l><block var="target"/><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="ranges"/></block><block var="dx"/></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>xRight</l><block var="target"/><block s="reportVariadicSum"><list><block s="reportListItem"><l>2</l><block var="ranges"/></block><block var="dx"/></list></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>yLower</l><block var="target"/><block s="reportDifference"><block s="reportListItem"><l>3</l><block var="ranges"/></block><block var="dy"/></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>yUpper</l><block var="target"/><block s="reportVariadicSum"><list><block s="reportListItem"><l>4</l><block var="ranges"/></block><block var="dy"/></list></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesXstart</l><block var="target"/><block s="reportListItem"><l>1</l><block var="ranges"/></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesXstep</l><block var="target"/><block s="reportQuotient"><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="ranges"/></block><block s="reportListItem"><l>1</l><block var="ranges"/></block></block><custom-block s="PlotPadProperty %txt of %txt"><l>scalesXintervals</l><block var="target"/></custom-block></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesXscaling</l><block var="target"/><l>1</l></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesXminitics</l><block var="target"/><l>1</l></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesYstart</l><block var="target"/><block s="reportListItem"><l>3</l><block var="ranges"/></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesYstep</l><block var="target"/><block s="reportQuotient"><block s="reportDifference"><block s="reportListItem"><l>4</l><block var="ranges"/></block><block s="reportListItem"><l>3</l><block var="ranges"/></block></block><custom-block s="PlotPadProperty %txt of %txt"><l>scalesYintervals</l><block var="target"/></custom-block></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesYscaling</l><block var="target"/><l>1</l></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesYminitics</l><block var="target"/><l>1</l></custom-block></script></block></script></block-definition><block-definition s="ranges of 2-dim table %&apos;data&apos;" type="reporter" category="5. PlotPad for data plots" helper="true"><comment x="0" y="0" w="218.33333333333312" collapsed="false">Calculates the ranges of two columns of a table.&#xD;</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportNot"><custom-block s="is %s a %txt"><block var="data"/><l>matrix</l></custom-block></block><script><block s="doReport"><l>ERROR: matrix required!</l></block></script><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>2</l></list></block></block><script><block s="doReport"><l>ERROR: 2-dimensional matrix required!</l></block></script><script><block s="doReport"><block s="reportNewList"><list><block s="reportCombine"><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>1</l><block var="data"/><l><bool>true</bool></l></custom-block><block s="reifyReporter"><autolambda><block s="reportVariadicMin"><list><l></l><l></l></list></block></autolambda><list></list></block></block><block s="reportCombine"><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>1</l><block var="data"/><l><bool>true</bool></l></custom-block><block s="reifyReporter"><autolambda><block s="reportVariadicMax"><list><l></l><l></l></list></block></autolambda><list></list></block></block><block s="reportCombine"><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>2</l><block var="data"/><l><bool>true</bool></l></custom-block><block s="reifyReporter"><autolambda><block s="reportVariadicMin"><list><l></l><l></l></list></block></autolambda><list></list></block></block><block s="reportCombine"><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>2</l><block var="data"/><l><bool>true</bool></l></custom-block><block s="reifyReporter"><autolambda><block s="reportVariadicMax"><list><l></l><l></l></list></block></autolambda><list></list></block></block></list></block></block></script></block></script></block></script></block></script></block-definition><block-definition s="convert value %&apos;pos&apos; to coordinate %&apos;coordinate&apos; $nl of PlotPad %&apos;sprite&apos;" type="reporter" category="5. PlotPad for data plots" space="true"><comment x="0" y="0" w="135.1666666666667" collapsed="false">Conversion of coordinates.</comment><header></header><code></code><translations></translations><inputs><input type="%n">100</input><input type="%s" readonly="true">xp<options>xp&#xD;yp&#xD;x&#xD;y</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>x0</l><l>diagramWidth</l><l>y0</l><l>diagramHeight</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as PlotPad!</l><l>convert value to coordinate</l></custom-block></script><list></list></block><block s="doSetVar"><l>diagramWidth</l><block s="reportDifference"><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="PlotPadProperty %txt of %txt"><l>scaleLeftOffset</l><block var="target"/></custom-block></block></block><block s="doSetVar"><l>diagramHeight</l><block s="reportDifference"><block s="reportDifference"><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>height</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="PlotPadProperty %txt of %txt"><l>scaleLowerOffset</l><block var="target"/></custom-block></block><custom-block s="PlotPadProperty %txt of %txt"><l>scaleUpperOffset</l><block var="target"/></custom-block></block></block><block s="doSetVar"><l>x0</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><custom-block s="PlotPadProperty %txt of %txt"><l>xLeft</l><block var="target"/></custom-block><block var="diagramWidth"/></list></block><block s="reportDifference"><custom-block s="PlotPadProperty %txt of %txt"><l>xLeft</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>xRight</l><block var="target"/></custom-block></block></block></block><block s="doSetVar"><l>y0</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><custom-block s="PlotPadProperty %txt of %txt"><l>yUpper</l><block var="target"/></custom-block><block var="diagramHeight"/></list></block><block s="reportDifference"><custom-block s="PlotPadProperty %txt of %txt"><l>yUpper</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>yLower</l><block var="target"/></custom-block></block></block></block><block s="doSetVar"><l>coordinate</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="coordinate"/><l> </l></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="coordinate"/><l>xp</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block var="x0"/><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="pos"/><block var="diagramWidth"/></list></block><block s="reportDifference"><custom-block s="PlotPadProperty %txt of %txt"><l>xRight</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>xLeft</l><block var="target"/></custom-block></block></block></list></block><custom-block s="PlotPadProperty %txt of %txt"><l>scaleLeftOffset</l><block var="target"/></custom-block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="coordinate"/><l>yp</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportDifference"><block var="y0"/><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="pos"/><block var="diagramHeight"/></list></block><block s="reportDifference"><custom-block s="PlotPadProperty %txt of %txt"><l>yUpper</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>yLower</l><block var="target"/></custom-block></block></block></block><custom-block s="PlotPadProperty %txt of %txt"><l>scaleUpperOffset</l><block var="target"/></custom-block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="coordinate"/><l>x</l></list></block><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportDifference"><block var="pos"/><custom-block s="PlotPadProperty %txt of %txt"><l>scaleLeftOffset</l><block var="target"/></custom-block></block><block var="x0"/></block><block s="reportDifference"><custom-block s="PlotPadProperty %txt of %txt"><l>xRight</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>xLeft</l><block var="target"/></custom-block></block></list></block><block var="diagramWidth"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="coordinate"/><l>y</l></list></block><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="y0"/><block s="reportDifference"><block var="pos"/><custom-block s="PlotPadProperty %txt of %txt"><l>scaleUpperOffset</l><block var="target"/></custom-block></block></block><block s="reportDifference"><custom-block s="PlotPadProperty %txt of %txt"><l>yUpper</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>yLower</l><block var="target"/></custom-block></block></list></block><block var="diagramHeight"/></block></block></script><list></list></block></script></block></script></block-definition><block-definition s="PlotPad %&apos;selection&apos; on %&apos;sprite&apos; by mouse" type="reporter" category="5. PlotPad for data plots"><comment x="0" y="0" w="128.33333333333334" collapsed="false">Obtaining coordinates of a PlotPad at mouseposition.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">costume-coordinates<options>costume-coordinates&#xD;graph-coordinates</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>targetCostumeWidth</l><l>targetCostumeHeight</l><l>targetXPosition</l><l>targetYPosition</l><l>targetSize</l><l>x</l><l>y</l><l>x0</l><l>y0</l><l>targetCostume</l><l>xLeft</l><l>xRight</l><l>yLower</l><l>yUpper</l><l>diagramWidth</l><l>diagramHeight</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as PlotPad!</l><l>PlotPad ... by mouse</l></custom-block></script><list></list></block><block s="doSetVar"><l>selection</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="selection"/><l> </l></block></block></block><block s="doSetVar"><l>targetCostume</l><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block></block><block s="doSetVar"><l>targetCostumeWidth</l><block s="reportGetImageAttribute"><l><option>width</option></l><block var="targetCostume"/></block></block><block s="doSetVar"><l>targetCostumeHeight</l><block s="reportGetImageAttribute"><l><option>height</option></l><block var="targetCostume"/></block></block><block s="doSetVar"><l>targetXPosition</l><block s="reportAttributeOf"><l><option>x position</option></l><block var="target"/></block></block><block s="doSetVar"><l>targetYPosition</l><block s="reportAttributeOf"><l><option>y position</option></l><block var="target"/></block></block><block s="doSetVar"><l>targetSize</l><block s="reportAttributeOf"><l><option>size</option></l><block var="target"/></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>costume-coordinates</l></list><comment w="121.68283420138891" collapsed="false">costume coordinates.</comment></block><script><block s="doWarp"><script><block s="doSetVar"><l>x</l><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block s="reportMouseX"></block><block var="targetXPosition"/></block><block var="targetSize"/></block></list></block><block s="reportQuotient"><block var="targetCostumeWidth"/><l>2</l></block></list></block><l>1</l></list></block></block></block><block s="doSetVar"><l>y</l><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block var="targetYPosition"/><block s="reportMouseY"></block></block><block var="targetSize"/></block></list></block><block s="reportQuotient"><block var="targetCostumeHeight"/><l>2</l></block></list></block><l>1</l></list></block></block></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block var="targetCostumeWidth"/></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block var="targetCostumeHeight"/></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><block var="x"/><block var="y"/></list></block></block></script></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>graph-coordinates</l></list><comment w="121.68283420138891" collapsed="false">costume coordinates.</comment></block><script><block s="doWarp"><script><block s="doSetVar"><l>x</l><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block s="reportMouseX"></block><block var="targetXPosition"/></block><block var="targetSize"/></block></list></block><block s="reportQuotient"><block var="targetCostumeWidth"/><l>2</l></block></list></block><l>1</l></list></block></block></block><block s="doSetVar"><l>y</l><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block var="targetYPosition"/><block s="reportMouseY"></block></block><block var="targetSize"/></block></list></block><block s="reportQuotient"><block var="targetCostumeHeight"/><l>2</l></block></list></block><l>1</l></list></block></block></block><block s="doSetVar"><l>xLeft</l><custom-block s="PlotPadProperty %txt of %txt"><l>xLeft</l><block var="target"/></custom-block></block><block s="doSetVar"><l>xRight</l><custom-block s="PlotPadProperty %txt of %txt"><l>xRight</l><block var="target"/></custom-block></block><block s="doSetVar"><l>yLower</l><custom-block s="PlotPadProperty %txt of %txt"><l>yLower</l><block var="target"/></custom-block></block><block s="doSetVar"><l>yUpper</l><custom-block s="PlotPadProperty %txt of %txt"><l>yUpper</l><block var="target"/></custom-block></block><block s="doSetVar"><l>diagramWidth</l><block s="reportDifference"><block s="reportDifference"><block var="targetCostumeWidth"/><custom-block s="PlotPadProperty %txt of %txt"><l>scaleLeftOffset</l><block var="target"/></custom-block></block><custom-block s="PlotPadProperty %txt of %txt"><l>scaleRightOffset</l><block var="target"/></custom-block></block></block><block s="doSetVar"><l>diagramHeight</l><block s="reportDifference"><block s="reportDifference"><block var="targetCostumeHeight"/><custom-block s="PlotPadProperty %txt of %txt"><l>scaleUpperOffset</l><block var="target"/></custom-block></block><custom-block s="PlotPadProperty %txt of %txt"><l>scaleLowerOffset</l><block var="target"/></custom-block></block></block><block s="doSetVar"><l>x0</l><block s="reportVariadicProduct"><list><block s="reportQuotient"><block var="xLeft"/><block s="reportDifference"><block var="xLeft"/><block var="xRight"/></block></block><block var="diagramWidth"/></list></block></block><block s="doSetVar"><l>y0</l><block s="reportVariadicProduct"><list><block s="reportQuotient"><block var="yUpper"/><block s="reportDifference"><block var="yUpper"/><block var="yLower"/></block></block><block var="diagramHeight"/></list></block></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block var="targetCostumeWidth"/></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block var="targetCostumeHeight"/></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportDifference"><block var="x"/><block var="x0"/></block><custom-block s="PlotPadProperty %txt of %txt"><l>scaleLeftOffset</l><block var="target"/></custom-block></block><block s="reportDifference"><block var="xRight"/><block var="xLeft"/></block></list></block><block var="diagramWidth"/></block><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportVariadicSum"><list><block s="reportDifference"><block var="y0"/><block var="y"/></block><custom-block s="PlotPadProperty %txt of %txt"><l>scaleUpperOffset</l><block var="target"/></custom-block></list></block><block s="reportDifference"><block var="yUpper"/><block var="yLower"/></block></list></block><block var="diagramHeight"/></block></list></block></block></script></block></script></block></script><list></list></block></script></block-definition><block-definition s="EXAMPLE 1: $nl Plot of random data width %&apos;w&apos; height %&apos;h&apos; $nl title %&apos;title&apos; labels %&apos;xlab&apos; %&apos;ylab&apos; $nl line %&apos;lstyle&apos; marker %&apos;mstyle&apos; color %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="command" category="5. PlotPad for data plots"><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%txt"></input><input type="%txt">x</input><input type="%txt">y</input><input type="%txt">continuous</input><input type="%txt">o_circle</input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input></inputs><script><custom-block s="import %s from %br %s to SciSnap!Data"><l>table-(CSV)-data</l><custom-block s="%n random points near %repRing %br between %n and %n range %n"><l>20</l><block s="reifyReporter"><autolambda><block s="reportDifference"><block s="reportVariadicProduct"><list><l>0.3</l><block s="reportPower"><l></l><l>3</l></block></list></block><l></l></block></autolambda><list></list></block><l>-5</l><l>5</l><l>2</l></custom-block></custom-block><block s="doSetVar"><l>SciSnap!Data</l><custom-block s="%s sorted by column %s %br ascending %b considering headline? %b"><l>SciSnap!Data</l><l>1</l><l><bool>true</bool></l><l><bool>true</bool></l></custom-block></block><custom-block s="configure %txt as a PlotPad width: %n %br height: %n color: %n %n %n"><l>thisSprite</l><block var="w"/><block var="h"/><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="get ranges for PlotPad %txt %br from %s with border %n"><l>thisSprite</l><block var="SciSnap!Data"/><l>0.07</l></custom-block><custom-block s="set pretty ranges on PlotPad %txt"><l>thisSprite</l></custom-block><custom-block s="set PlotPad labels on %s to %br title: %txt titleheight: %n %br x-label: %txt xLabelheight: %n %br y-label: %txt yLabelheight: %n"><l>thisSprite</l><block var="title"/><l>18</l><block var="xlab"/><l>16</l><block var="ylab"/><l>16</l></custom-block><custom-block s="set PlotPad line properties style: %txt %br width: %n color: %n %n %n on %txt"><block var="lstyle"/><l>1</l><l>0</l><l>0</l><l>0</l><l>thisSprite</l></custom-block><custom-block s="set PlotPad marker properties style: %txt width: %n %br color: %n %n %n connected? %b on %txt"><block var="mstyle"/><l>5</l><block var="r"/><block var="g"/><block var="b"/><l><bool>true</bool></l><l>thisSprite</l></custom-block><custom-block s="add dataplot of numeric data: %s to PlotPad %txt"><block var="SciSnap!Data"/><l>thisSprite</l></custom-block><custom-block s="add axes and scales to PlotPad %txt"><l>thisSprite</l></custom-block></script></block-definition><block-definition s="EXAMPLE 2: $nl Histogram of random data width %&apos;w&apos; height %&apos;h&apos; $nl title %&apos;title&apos; labels %&apos;xlab&apos; %&apos;ylab&apos; line %&apos;lstyle&apos; color %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="command" category="5. PlotPad for data plots"><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%txt"></input><input type="%txt">x</input><input type="%txt">y</input><input type="%txt">continuous</input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input></inputs><script><custom-block s="import %s from %br %s to SciSnap!Data"><l>table-(CSV)-data</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>1</l><custom-block s="%n random points near %repRing %br between %n and %n range %n"><l>500</l><block s="reifyReporter"><autolambda><block s="reportDifference"><block s="reportPower"><l></l><l>3</l></block><l></l></block></autolambda><list></list></block><l>-5</l><l>5</l><l>2</l></custom-block><l><bool>true</bool></l></custom-block></custom-block><custom-block s="configure %txt as a PlotPad width: %n %br height: %n color: %n %n %n"><l>thisSprite</l><block var="w"/><block var="h"/><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="set PlotPad labels on %s to %br title: %txt titleheight: %n %br x-label: %txt xLabelheight: %n %br y-label: %txt yLabelheight: %n"><l>thisSprite</l><block var="title"/><l>18</l><block var="xlab"/><l>16</l><block var="ylab"/><l>16</l></custom-block><custom-block s="add histogram of %s with %n groups %br pretty formated? %b to PlotPad %txt"><block var="SciSnap!Data"/><l>10</l><l><bool>true</bool></l><l>thisSprite</l></custom-block><custom-block s="add axes and scales to PlotPad %txt"><l>thisSprite</l></custom-block></script></block-definition><block-definition s="Example 3: $nl Simple plot of data: %&apos;data&apos; $nl x: %&apos;x&apos; y: %&apos;y&apos; width: %&apos;w&apos; height: %&apos;h&apos; $nl title: %&apos;t&apos; labels: %&apos;xlab&apos; %&apos;ylab&apos; $nl line: %&apos;l&apos; marker: %&apos;m&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="command" category="5. PlotPad for data plots"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%n">0</input><input type="%n">0</input><input type="%n">600</input><input type="%n">400</input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%txt" readonly="true">continuous<options>none&#xD;continuous&#xD;dashed&#xD;dash-dot&#xD;dot-dot&#xD;rainbow&#xD;inverse rainbow</options></input><input type="%txt" readonly="true">square<options>none&#xD;o_circle&#xD;._point&#xD;+_plus&#xD;x_ex&#xD;square&#xD;triangle</options></input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input></inputs><script><custom-block s="configure %txt as a PlotPad width: %n %br height: %n color: %n %n %n"><l>thisSprite</l><block var="w"/><block var="h"/><l>245</l><l>245</l><l>245</l></custom-block><block s="gotoXY"><block var="x"/><block var="y"/></block><custom-block s="get ranges for PlotPad %txt %br from %s with border %n"><l>thisSprite</l><block var="data"/><l>0.07</l></custom-block><custom-block s="set pretty ranges on PlotPad %txt"><l>thisSprite</l></custom-block><custom-block s="set PlotPad labels on %s to %br title: %txt titleheight: %n %br x-label: %txt xLabelheight: %n %br y-label: %txt yLabelheight: %n"><l>thisSprite</l><block var="t"/><l>18</l><block var="xlab"/><l>16</l><block var="ylab"/><l>16</l></custom-block><custom-block s="set PlotPad line properties style: %txt %br width: %n color: %n %n %n on %txt"><block var="l"/><l>1</l><block var="r"/><block var="g"/><block var="b"/><l>thisSprite</l></custom-block><custom-block s="set PlotPad marker properties style: %txt width: %n %br color: %n %n %n connected? %b on %txt"><block var="m"/><l>5</l><block var="r"/><block var="g"/><block var="b"/><l><bool>true</bool></l><l>thisSprite</l></custom-block><custom-block s="add axes and scales to PlotPad %txt"><l>thisSprite</l></custom-block><custom-block s="add dataplot of numeric data: %s to PlotPad %txt"><block var="data"/><l>thisSprite</l></custom-block></script></block-definition><block-definition s="Switch to SciSnap! logo" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="138.33333333333334" collapsed="false">Changes the Snap!-Logo. ;-)</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doApplyExtension"><l>SciS_SetSciSnapLogo()</l><list></list></block></script></block-definition><block-definition s="configure SQL" type="command" category="4. SQL tools" space="true"><comment x="0" y="0" w="231.26365661621094" collapsed="false">Creates SQL variables and sets some properties.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doWarp"><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>global</l><l>SQLData</l></list></block><block s="doSetVar"><l>SQLData</l><block s="reportNewList"><list></list></block></block><custom-block s="set SciSnap! global property %txt to %s"><l>typeOfConfiguration</l><l>SQL</l></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>typeOfData</l><l>not set</l></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>connection</l><l></l></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>connected</l><block s="reportBoolean"><l><bool>false</bool></l></block></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>databases</l><block s="reportNewList"><list></list></block></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>currentDatabase</l><l></l></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>tables</l><block s="reportNewList"><list></list></block></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>currentTable</l><l></l></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>attributes</l><block s="reportNewList"><list></list></block></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>columns</l><l>0</l></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>rows</l><l>0</l></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>minValue</l><l>not set</l></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>maxValue</l><l>not set</l></custom-block><block s="doSwitchToCostume"><l>SQLDisconnected</l></block></script></block></script></block-definition><block-definition s="is SQL configured?" type="predicate" category="4. SQL tools"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><custom-block s="SciSnap! global property %s"><l>typeOfConfiguration</l></custom-block><l>SQL</l></list></block></block></script></block-definition><block-definition s="connect to database server" type="command" category="4. SQL tools"><comment x="0" y="0" w="180.18768601190536" collapsed="false">Establishes connection and sets the corresponding properties. Change parameters if necessary. </comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>databases</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is SQL configured?"></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: please configure SciSnap! for SQL first!</l><l>connect to database server</l></custom-block></script><list></list></block><custom-block s="set SciSnap! global property %txt to %s"><l>connection</l><l>https://snapextensions.uni-goettingen.de/mysqlquery.php?server=db1&amp;user=snapexuser&amp;password=snap!user</l></custom-block><block s="doIfElse"><block s="reportVariadicEquals"><list><custom-block s="substring of %txt from %n to %n"><block s="reportURL"><block s="reportJoinWords"><list><custom-block s="SciSnap! global property %s"><l>connection</l></custom-block><l>&amp;type=connect</l></list></block></block><l>1</l><l>2</l></custom-block><l>ok</l></list></block><script><custom-block s="set SciSnap! global property %txt to %s"><l>connected</l><block s="reportBoolean"><l><bool>true</bool></l></block></custom-block><block s="doSwitchToCostume"><l>SQLConnected</l></block><block s="doSetVar"><l>databases</l><block s="reportTextSplit"><block s="reportURL"><block s="reportJoinWords"><list><custom-block s="SciSnap! global property %s"><l>connection</l></custom-block><l>&amp;type=getDBs</l></list></block></block><l><option>line</option></l></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="databases"/></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block s="reportListItem"><l><option>last</option></l><block var="databases"/></block></block><l>0</l></list></block></list></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="databases"/></block></script></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="databases"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><custom-block s="substring of %txt from %n to %n"><block s="reportListItem"><l>1</l><block var="databases"/></block><l>1</l><l>5</l></custom-block><l>ERROR</l></list></block></list></block><script><custom-block s="set SciSnap! global property %txt to %s"><l>databases</l><block s="reportNewList"><list></list></block></custom-block></script><script><custom-block s="set SciSnap! global property %txt to %s"><l>databases</l><block var="databases"/></custom-block></script></block></script><script><custom-block s="set SciSnap! global property %txt to %s"><l>connected</l><block s="reportBoolean"><l><bool>false</bool></l></block></custom-block><block s="doSwitchToCostume"><l>SQLDisconnected</l></block></script></block></script></block></script></block-definition><block-definition s="import SQL-data from %&apos;source&apos; to SQLData" type="command" category="4. SQL tools"><comment x="0" y="0" w="135.83333333333334" collapsed="false">Imports the results of an SQL-query to SQLData and sets the corresponding properties.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is SQL configured?"></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: please configure SciSnap! for SQL first!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportIsA"><block var="source"/><l><option>list</option></l></block><script><block s="doSetVar"><l>SQLData</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><script><block s="doAddToList"><block s="reportTextSplit"><block s="reportListItem"><block var="i"/><block var="source"/></block><l>,</l></block><block var="SQLData"/></block></script></block><custom-block s="set SciSnap! global property %s to %s"><l>typeOfData</l><l>table</l></custom-block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="SQLData"/></block><l>0</l></list></block><script><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><l>0</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>rows</l><l>0</l></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>rows</l><block s="reportListAttribute"><l><option>length</option></l><block var="SQLData"/></block></custom-block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="SQLData"/></block><l><option>list</option></l></block><script><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="SQLData"/></block></block></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><l>1</l></custom-block></script></block></script></block><custom-block s="set SciSnap! global property %s to %s"><l>minValue</l><l>notSet</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>maxValue</l><l>notSet</l></custom-block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only import from lists</l></custom-block></script></block></script></block></script></block-definition><block-definition s="read databases" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="220.6666666666666" collapsed="false">Reports a list of databases on the server and sets the corresponding properties.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>databases</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is SQL configured?"></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: SQL isn&apos;t configured yet!</l><l>read databases</l></custom-block></script><list></list></block><block s="doSetVar"><l>databases</l><block s="reportTextSplit"><block s="reportURL"><block s="reportJoinWords"><list><custom-block s="SciSnap! global property %s"><l>connection</l></custom-block><l>&amp;type=getDBs</l></list></block></block><l><option>line</option></l></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="databases"/></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block s="reportListItem"><l><option>last</option></l><block var="databases"/></block></block><l>0</l></list></block></list></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="databases"/></block></script></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="databases"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><custom-block s="substring of %txt from %n to %n"><block s="reportListItem"><l>1</l><block var="databases"/></block><l>1</l><l>5</l></custom-block><l>ERROR</l></list></block></list></block><script><custom-block s="set SciSnap! global property %txt to %s"><l>databases</l><block s="reportNewList"><list></list></block></custom-block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: reading of databases has failed!</l><l>read databases</l></custom-block></script><script><custom-block s="set SciSnap! global property %txt to %s"><l>databases</l><block var="databases"/></custom-block><block s="doReport"><block var="databases"/></block></script></block></script></block></script></block-definition><block-definition s="choose database no. %&apos;n&apos;" type="command" category="4. SQL tools"><comment x="0" y="0" w="182.40882873535156" collapsed="false">Selects one of the databases and sets the corresponding properties.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input></inputs><script><block s="doDeclareVariables"><list><l>tables</l><l>dummy</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is SQL configured?"></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: please configure SciSnap! for SQL first!</l><l>choose database no.</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><custom-block s="SciSnap! global property %s"><l>databases</l></custom-block></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: index out of range!</l><l>choose database no.</l></custom-block></script><list></list></block><custom-block s="set SciSnap! global property %txt to %s"><l>currentDatabase</l><block s="reportListItem"><block var="n"/><custom-block s="SciSnap! global property %s"><l>databases</l></custom-block></block></custom-block><block s="doSetVar"><l>dummy</l><block s="reportURL"><block s="reportJoinWords"><list><custom-block s="SciSnap! global property %s"><l>connection</l></custom-block><l>&amp;command=</l><block s="reportJoinWords"><list><l>USE </l><custom-block s="SciSnap! global property %s"><l>currentDatabase</l></custom-block></list></block></list></block></block></block><custom-block s="set SciSnap! global property %txt to %s"><l>tables</l><block s="reportNewList"><list></list></block></custom-block><block s="doSetVar"><l>tables</l><block s="reportTextSplit"><block s="reportURL"><block s="reportJoinWords"><list><custom-block s="SciSnap! global property %s"><l>connection</l></custom-block><l>&amp;command=</l><block s="reportJoinWords"><list><l>SHOW TABLES FROM </l><custom-block s="SciSnap! global property %s"><l>currentDatabase</l></custom-block><l>&amp;type=getTables</l></list></block></list></block></block><l><option>line</option></l></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="tables"/></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block s="reportListItem"><l><option>last</option></l><block var="tables"/></block></block><l>0</l></list></block></list></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="tables"/></block></script></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="tables"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><custom-block s="substring of %txt from %n to %n"><block s="reportListItem"><l>1</l><block var="tables"/></block><l>1</l><l>5</l></custom-block><l>ERROR</l></list></block></list></block><script><custom-block s="set SciSnap! global property %txt to %s"><l>tables</l><block s="reportNewList"><list></list></block></custom-block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: no tables accessable!</l><l>choose database no.</l></custom-block></script><script><custom-block s="set SciSnap! global property %txt to %s"><l>tables</l><block var="tables"/></custom-block></script></block></script></block></script></block-definition><block-definition s="read tables" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="392.7626953124997" collapsed="false">Reports a list of tables of the chosen database and sets the corresponding properties.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>tables</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is SQL configured?"></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: SQL isn&apos;t configured yet!</l><l>read tables</l></custom-block></script><list></list></block><block s="doSetVar"><l>tables</l><block s="reportTextSplit"><block s="reportURL"><block s="reportJoinWords"><list><custom-block s="SciSnap! global property %s"><l>connection</l></custom-block><l>&amp;command=</l><block s="reportJoinWords"><list><l>SHOW TABLES FROM </l><custom-block s="SciSnap! global property %s"><l>currentDatabase</l></custom-block><l>&amp;type=getTables</l></list></block></list></block></block><l><option>line</option></l></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="tables"/></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block s="reportListItem"><l><option>last</option></l><block var="tables"/></block></block><l>0</l></list></block></list></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="tables"/></block></script></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="tables"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><custom-block s="substring of %txt from %n to %n"><block s="reportListItem"><l>1</l><block var="tables"/></block><l>1</l><l>5</l></custom-block><l>ERROR</l></list></block></list></block><script><custom-block s="set SciSnap! global property %txt to %s"><l>tables</l><block s="reportNewList"><list></list></block></custom-block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: no tables accessable!</l><l>read tables</l></custom-block></script><script><custom-block s="set SciSnap! global property %txt to %s"><l>tables</l><block var="tables"/></custom-block></script></block><block s="doReport"><block var="tables"/></block></script></block></script></block-definition><block-definition s="attributes of table no. %&apos;n&apos;" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="213.86197916666674" collapsed="false">Reads the attributes of the specified table and sets the corresponding properties.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>columns</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is SQL configured?"></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: SQL isn&apos;t configured yet!</l><l>attributes of table no.</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><custom-block s="SciSnap! global property %s"><l>tables</l></custom-block></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: table doesn&apos;t exist!</l><l>attributes of table no.</l></custom-block></script><script><block s="doSetVar"><l>columns</l><block s="reportTextSplit"><block s="reportURL"><block s="reportJoinWords"><list><custom-block s="SciSnap! global property %s"><l>connection</l></custom-block><l>&amp;command=</l><block s="reportJoinWords"><list><l>SHOW COLUMNS FROM </l><block s="reportListItem"><block var="n"/><custom-block s="SciSnap! global property %s"><l>tables</l></custom-block></block></list></block><l>&amp;type=getColumns&amp;database=</l><custom-block s="SciSnap! global property %s"><l>currentDatabase</l></custom-block></list></block></block><l><option>line</option></l></block></block><block s="doUntil"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l><option>last</option></l><block var="columns"/></block><l></l></list></block></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="columns"/></block></script></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="columns"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><custom-block s="substring of %txt from %n to %n"><block s="reportListItem"><l>1</l><block var="columns"/></block><l>1</l><l>5</l></custom-block><l>ERROR</l></list></block></list></block><script><custom-block s="set SciSnap! global property %txt to %s"><l>attributes</l><block s="reportNewList"><list></list></block></custom-block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: reading of attributes has failed!</l><l>attributes of table no.</l></custom-block></script><script><custom-block s="set SciSnap! global property %txt to %s"><l>attributes</l><block var="columns"/></custom-block></script></block><block s="doReport"><block var="columns"/></block></script></block></script></block></script></block-definition><block-definition s="choose table no. %&apos;n&apos;" type="command" category="4. SQL tools"><comment x="0" y="0" w="163.10389383951835" collapsed="false">Selects one of the tables and sets the corresponding properties.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>columns</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is SQL configured?"></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: please configure SciSnap! for SQL first!</l><l>choose table no.</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><custom-block s="SciSnap! global property %s"><l>tables</l></custom-block></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: index out of range!</l><l>choose database no.</l></custom-block></script><script><custom-block s="set SciSnap! global property %txt to %s"><l>currentTable</l><block s="reportListItem"><block var="n"/><custom-block s="SciSnap! global property %s"><l>tables</l></custom-block></block></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>attributes</l><block s="reportNewList"><list></list></block></custom-block><block s="doSetVar"><l>columns</l><block s="reportTextSplit"><block s="reportURL"><block s="reportJoinWords"><list><custom-block s="SciSnap! global property %s"><l>connection</l></custom-block><l>&amp;command=</l><block s="reportJoinWords"><list><l>SHOW COLUMNS FROM </l><block s="reportListItem"><block var="n"/><custom-block s="SciSnap! global property %s"><l>tables</l></custom-block></block><l>&amp;type=getColumns&amp;database=</l><custom-block s="SciSnap! global property %s"><l>currentDatabase</l></custom-block></list></block></list></block></block><l><option>line</option></l></block></block><block s="doUntil"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l><option>last</option></l><block var="columns"/></block><l></l></list></block></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="columns"/></block></script></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="columns"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><custom-block s="substring of %txt from %n to %n"><block s="reportListItem"><l>1</l><block var="columns"/></block><l>1</l><l>5</l></custom-block><l>ERROR</l></list></block></list></block><script><custom-block s="set SciSnap! global property %txt to %s"><l>attributes</l><block s="reportNewList"><list></list></block></custom-block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: table not accessable!</l><l>choose database no.</l></custom-block></script><script><custom-block s="set SciSnap! global property %txt to %s"><l>attributes</l><block var="columns"/></custom-block></script></block></script></block></script></block></script></block-definition><block-definition s="SELECT %&apos;what&apos; %&apos;attribs&apos; FROM %&apos;mytables&apos; WHERE %&apos;cond&apos;" type="reporter" category="4. SQL tools" space="true"><comment x="0" y="0" w="57.16666666666697" collapsed="false">Generates a simplified SQL query.</comment><header></header><code></code><translations></translations><inputs><input type="%s"><options>*&#xD;DISTINCT</options></input><input type="%mult%txt"></input><input type="%mult%txt"></input><input type="%b"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>i</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><l>SELECT </l></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="what"/><l>*</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l>* FROM </l></list></block></block></script><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="what"/><l>DISTINCT</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l>DISTINCT </l></list></block></block></script><list></list></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="attribs"/></block><l>1</l></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="attribs"/></block><l>,</l></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="attribs"/></block><l> FROM </l></list></block></block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="mytables"/></block><l>0</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: tables missing!</l><l>SELECT simple</l></custom-block></script><script><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="mytables"/></block><l>1</l></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="mytables"/></block><l>,</l></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="mytables"/></block></list></block></block></script></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="cond"/></block><l>2</l></list></block><script><block s="doReport"><block var="result"/></block></script><script><block s="doReport"><block s="reportJoinWords"><list><block var="result"/><l> WHERE </l><block var="cond"/></list></block></block></script></block></script></block></script></block-definition><block-definition s="SELECT %&apos;what&apos; %&apos;attribs&apos; FROM %&apos;mytables&apos; WHERE %&apos;cond&apos; $nl GROUP BY %&apos;groupattribs&apos; HAVING %&apos;havcond&apos; ORDER BY %&apos;orderatts&apos; %&apos;how&apos; LIMIT %&apos;n&apos;" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="104.16666666666667" collapsed="false">Generates an almost complete SQL query.</comment><header></header><code></code><translations></translations><inputs><input type="%s"><options>*&#xD;DISTINCT</options></input><input type="%mult%txt"></input><input type="%mult%txt"></input><input type="%b"></input><input type="%mult%txt"></input><input type="%b"></input><input type="%mult%txt"></input><input type="%txt" readonly="true">ASC<options>ASC&#xD;DESC</options></input><input type="%n">10</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>i</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><l>SELECT </l></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="what"/><l>*</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l>* FROM </l></list></block></block></script><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="what"/><l>DISTINCT</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l>DISTINCT </l></list></block></block></script><list></list></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="attribs"/></block><l>1</l></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="attribs"/></block><l>,</l></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="attribs"/></block><l> FROM </l></list></block></block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="mytables"/></block><l>0</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: tables missing!</l><l>SELECT full</l></custom-block></script><script><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="mytables"/></block><l>1</l></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="mytables"/></block><l>,</l></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="mytables"/></block></list></block></block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="cond"/></block><l>2</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l> WHERE </l><block var="cond"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="groupattribs"/></block><l>0</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l> GROUP BY </l></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="groupattribs"/></block><l>1</l></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="groupattribs"/></block><l>,</l></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="groupattribs"/></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="havcond"/></block><l>2</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l> HAVING </l><block var="havcond"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="orderatts"/></block><l>0</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l> ORDER BY </l></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="orderatts"/></block><l>1</l></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="orderatts"/></block><l>,</l></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="orderatts"/></block></list></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="how"/><l>ASC</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l> ASC</l></list></block></block></script><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="how"/><l>DESC</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l> DESC</l></list></block></block></script><list></list></block></script></block><block s="doIf"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="n"/><l>0</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l> LIMIT </l><block var="n"/></list></block></block></script><list></list></block></script><list></list></block></script><list></list></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="exec SQL-command %&apos;query&apos;" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="113.33333333333333" collapsed="false">Executes an SQL query.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>query2</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is SQL configured?"></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: SQL isn&apos;t configured yet!</l><l>exec SQL-command</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="query"/><l>:</l></block></block><l>ERROR</l></list></block><script><block s="doReport"><block var="query"/></block></script><script><block s="doSetVar"><l>query2</l><l></l></block><block s="doFor"><l>i</l><l>1</l><block s="reportTextAttribute"><l><option>length</option></l><block var="query"/></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportLetter"><block var="i"/><block var="query"/></block><l>%</l></list></block><script><block s="doSetVar"><l>query2</l><block s="reportJoinWords"><list><block var="query2"/><l>%25</l></list></block></block></script><script><block s="doSetVar"><l>query2</l><block s="reportJoinWords"><list><block var="query2"/><block s="reportLetter"><block var="i"/><block var="query"/></block></list></block></block></script></block></script><comment w="160" collapsed="false">replaces &quot;%&quot; with &quot;%25&quot; to prevent trouble with the url-block.</comment></block><block s="doSetVar"><l>result</l><block s="reportTextSplit"><block s="reportURL"><block s="reportJoinWords"><list><custom-block s="SciSnap! global property %s"><l>connection</l></custom-block><l>&amp;type=query&amp;query=</l><block var="query2"/><l>&amp;database=</l><custom-block s="SciSnap! global property %s"><l>currentDatabase</l></custom-block></list></block></block><l><option>line</option></l></block></block></script></block><block s="doUntil"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l><option>last</option></l><block var="result"/></block><l></l></list></block></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="%&apos;a&apos; = %&apos;b&apos;" type="predicate" category="4. SQL tools" space="true"><comment x="0" y="0" w="125.83333333333333" collapsed="false">Returns an SQL predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>(</l><block var="a"/><l> = </l><block var="b"/><l>)</l></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; &lt; %&apos;b&apos;" type="predicate" category="4. SQL tools"><comment x="0" y="0" w="125.83333333333333" collapsed="false">Returns an SQL predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>(</l><block var="a"/><l> &lt; </l><block var="b"/><l>)</l></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; &gt; %&apos;b&apos;" type="predicate" category="4. SQL tools"><comment x="0" y="0" w="127.5" collapsed="false">Returns an SQL predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>(</l><block var="a"/><l> &gt; </l><block var="b"/><l>)</l></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; OR %&apos;b&apos;" type="predicate" category="4. SQL tools"><comment x="0" y="0" w="124.1666666666667" collapsed="false">Returns an SQL predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>(</l><block var="a"/><l> OR </l><block var="b"/><l>)</l></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; AND %&apos;b&apos;" type="predicate" category="4. SQL tools"><comment x="0" y="0" w="131.66666666666669" collapsed="false">Returns an SQL predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>(</l><block var="a"/><l> AND </l><block var="b"/><l>)</l></list></block></block></script></block-definition><block-definition s="NOT %&apos;a&apos;" type="predicate" category="4. SQL tools"><comment x="0" y="0" w="126.6666666666667" collapsed="false">Returns an SQL predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>NOT(</l><block var="a"/><l>)</l></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; IN ( %&apos;liste&apos; )" type="predicate" category="4. SQL tools"><comment x="0" y="0" w="124.1666666666667" collapsed="false">Returns an SQL predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><block var="a"/><l> IN (</l><block var="liste"/><l>)</l></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; LIKE %&apos;b&apos;" type="predicate" category="4. SQL tools"><comment x="0" y="0" w="130.83333333333334" collapsed="false">Returns an SQL predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>(</l><block var="a"/><l> LIKE </l><block var="b"/><l>)</l></list></block></block></script></block-definition><block-definition s="AVG ( %&apos;a&apos; )" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="125" collapsed="false">Returns an SQL value.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>AVG(</l><block var="a"/><l>)</l></list></block></block></script></block-definition><block-definition s="COUNT ( %&apos;a&apos; )" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="115.83333333333333" collapsed="false">Returns an SQL value.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>COUNT(</l><block var="a"/><l>)</l></list></block></block></script></block-definition><block-definition s="MIN ( %&apos;a&apos; )" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="112.5" collapsed="false">Returns an SQL value.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>MIN(</l><block var="a"/><l>)</l></list></block></block></script></block-definition><block-definition s="MAX ( %&apos;a&apos; )" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="120.83333333333333" collapsed="false">Returns an SQL value.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>MAX(</l><block var="a"/><l>)</l></list></block></block></script></block-definition><block-definition s="SUM ( %&apos;a&apos; )" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="118.33333333333333" collapsed="false">Returns an SQL value.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>SUM(</l><block var="a"/><l>)</l></list></block></block></script></block-definition><block-definition s="configure %&apos;sprite&apos; as a GraphPad width: %&apos;width&apos; $nl height: %&apos;height&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="301.6666666666667" collapsed="false">Creates a new  empty costume of the specified size and color and sets local properties. If sprite is the stage, the old costume# of stage is stored. So you can draw graphs on maps, for example.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>props</l></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><script><block s="doSetVar"><l>width</l><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block></block><block s="doSetVar"><l>height</l><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block></block></script><list></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>sprite</l><l>theStage</l></block><block s="doSetVar"><l>target</l><block s="reportObject"><l>Stage</l></block></block><block s="doSetVar"><l>width</l><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block></block><block s="doSetVar"><l>height</l><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myProperties</l></list></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myData</l></list></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>adjacencyMatrix</l></list></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>vertexList</l></list></block><block s="doSetVar"><l>myProperties</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>myData</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>adjacencyMatrix</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>vertexList</l><block s="reportNewList"><list></list></block></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfConfiguration</l><l>GraphPad</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfData</l><l>none</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>costumeProperties</l><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>vertexProperties</l><block s="reportNewList"><list><block s="reportNewList"><list><block s="reportRound"><block s="reportVariadicProduct"><list><l>0.1</l><block var="width"/></list></block></block><block s="reportRound"><block s="reportVariadicProduct"><list><l>0.9</l><block var="width"/></list></block></block><block s="reportRound"><block s="reportVariadicProduct"><list><l>0.1</l><block var="height"/></list></block></block><block s="reportRound"><block s="reportVariadicProduct"><list><l>0.9</l><block var="height"/></list></block></block></list></block><l>3</l><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>edgeProperties</l><block s="reportNewList"><list><l>1</l><l>0</l><l>0</l><l>0</l><block s="reportBoolean"><l><bool>false</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><script><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>oldStageCostume</l></list></block><block s="doIfElse"><block s="reportIsA"><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><l><option>costume</option></l></block><script><block s="doSetVar"><l>oldStageCostume</l><custom-block s="copy of costume %obj"><block s="reportGet"><l><option>costume</option></l></block></custom-block></block><block s="doSwitchToCostume"><block var="oldStageCostume"/></block><block s="doSetVar"><l>props</l><custom-block s="GraphPadProperty %txt of %txt"><l>costumeProperties</l><l>theStage</l></custom-block></block><block s="doReplaceInList"><l>1</l><block var="props"/><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block></block><block s="doReplaceInList"><l>2</l><block var="props"/><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>height</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block></block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>costumeProperties</l><l>theStage</l><block var="props"/></custom-block></script><script><block s="doSetVar"><l>oldStageCostume</l><l>null</l></block><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></list></block></block></script></block></script><list></list></block><list></list></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="gotoXY"><l>0</l><l>0</l></block><block s="setHeading"><l>90</l></block><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></list></block></block><block s="show"></block></script><list></list></block><list></list></block></script></block></script></block></script><scripts><comment x="475" y="98.00000000000011" w="286.6666666666667" collapsed="false">costume properties:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;&#xD;vertex properties:&#xD;1: ranges for random coordinates (xLeft,xRight, yUpper,yLower)&#xD;2: minimal radius of a vertex, should be changed is vertices are &#xD;    not growing with number of edges&#xD;3: boolean: vertices grow with number of connected edges&#xD;4: boolean: vertex content is shown. If there is no content, &#xD;    the vertex number is shown&#xD;&#xD;edge properties:&#xD;1: line width&#xD;2: line color red&#xD;3: line color green&#xD;4: line color blue&#xD;5: boolean: edge is directed&#xD;6: boolean: edge has a weight&#xD;7: boolean: edge shows weight</comment></scripts></block-definition><block-definition s="is %&apos;sprite&apos; a GraphPad?" type="predicate" category="7. GraphPad for graph operations"><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><l><option>myself</option></l></block><block s="reifyReporter"><autolambda><custom-block s="is %s a %s ?"><l>thisSprite</l><l>GraphPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><script><block s="doReport"><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><custom-block s="is %s a %s ?"><l>thisSprite</l><l>GraphPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><block var="sprite"/></block><block s="reifyReporter"><autolambda><custom-block s="is %s a %s ?"><l>thisSprite</l><l>GraphPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script></block></script></block></script></block></script></block-definition><block-definition s="GraphPadProperty %&apos;key&apos; of %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations"><comment x="0" y="0" w="95" collapsed="false">Reads the value of an existing property.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">typeOfConfiguration<options>typeOfConfiguration&#xD;typeOfData&#xD;costumeProperties={&#xD;width=costumeWidth&#xD;height=costumeHeight&#xD;back color=backColor&#xD;offsets=offsets&#xD;front color=frontColor&#xD;initial costume=initialCostume&#xD;}&#xD;text properties={&#xD;text height=textHeight&#xD;orientation=textOrientation&#xD;}&#xD;closebutton properties={&#xD;with closebutton?=withCloseButton&#xD;position=closeButtonLeft&#xD;size=closeButtonSize&#xD;}&#xD;ranges for vertices={&#xD;x left=xLeft&#xD;x right=xRight&#xD;y lower=yLower&#xD;y upper=yUpper&#xD;}&#xD;vertex properties={&#xD;minimal radius=verticesMinRadius&#xD;vertices can grow=verticesGrowing&#xD;vertices show content=verticesContentShown&#xD;}&#xD;edge properties={&#xD;edge width=lineWidth&#xD;edge style=lineStyle&#xD;edge color=lineColor&#xD;fill color=fillColor&#xD;edges are directed=edgesDirected&#xD;edges have weights=edgesWithWeights&#xD;edges show weights=edgesShowWeights&#xD;}</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad!</l><l>GraphPadProperty of ...</l></custom-block></script><list></list></block><block s="doIfElse"><custom-block s="is variable %s in the scope of %s ?"><l>myProperties</l><block var="target"/></custom-block><script><block s="doReport"><block s="reportListItem"><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="key"/><l> </l></block></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: missing variable myProperties!</l><l>GraphPadProperty of ...</l></custom-block></script></block></script></block></script></block-definition><block-definition s="set GraphPadProperty %&apos;key&apos; of %&apos;sprite&apos; to %&apos;value&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="128" collapsed="false">Sets the value of an existing property or inserts it anew.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">typeOfConfiguration<options>typeOfConfiguration&#xD;typeOfData&#xD;costumeProperties={&#xD;width=costumeWidth&#xD;height=costumeHeight&#xD;back color=backColor&#xD;offsets=offsets&#xD;front color=frontColor&#xD;initial costume=initialCostume&#xD;}&#xD;text properties={&#xD;text height=textHeight&#xD;orientation=textOrientation&#xD;}&#xD;closebutton properties={&#xD;with closebutton?=withCloseButton&#xD;position=closeButtonLeft&#xD;size=closeButtonSize&#xD;}&#xD;ranges for vertices={&#xD;x left=xLeft&#xD;x right=xRight&#xD;y lower=yLower&#xD;y upper=yUpper&#xD;}&#xD;vertex properties={&#xD;minimal radius=verticesMinRadius&#xD;vertices can grow=verticesGrowing&#xD;vertices show content=verticesContentShown&#xD;}&#xD;edge properties={&#xD;edge width=lineWidth&#xD;edge style=lineStyle&#xD;edge color=lineColor&#xD;fill color=fillColor&#xD;edges are directed=edgesDirected&#xD;edges have weights=edgesWithWeights&#xD;edges show weights=edgesShowWeights&#xD;}</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad</l><l>set GraphPadProperty</l></custom-block></script><list></list></block><block s="doIfElse"><custom-block s="is variable %s in the scope of %s ?"><l>myProperties</l><block var="target"/></custom-block><script><block s="doReplaceInList"><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="key"/><l> </l></block></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="value"/></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: Missing variable "myProperties"!</l><l>set GraphPadProperty</l></custom-block></script></block></script></block></script></block-definition><block-definition s="set GraphPad costume properties width: %&apos;width&apos; $nl height: %&apos;height&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="119.32706197102902" collapsed="false">a simple way to set some costume attributes.&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue</comment><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>costumeProperties</l><block var="target"/><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></list></block></custom-block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></list></block></block></script><list></list></block><list></list></block></script></block></script></block-definition><block-definition s="set GraphPad vertex properties minSize: %&apos;minSize&apos; $nl growing? %&apos;isGrowing&apos; showsContent? %&apos;showsContent&apos; on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="197.2010396321616" collapsed="false">a simple way to set some vertex attributes:&#xD;1: ranges for random coordinates&#xD;    (xLeft,xRight, yUpper,yLower)&#xD;2: minimal radius of a vertex, should be&#xD;    changed is vertices are not growing&#xD;    with number of edges&#xD;3: boolean: vertices grow with number&#xD;    of connected edges&#xD;4: boolean: vertex content is shown. &#xD;    If there is no content, the vertex&#xD;    number is shown</comment><header></header><code></code><translations></translations><inputs><input type="%n">3</input><input type="%b">true</input><input type="%b">false</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad</l><l>set GraphPad vertex properties</l></custom-block></script><list></list></block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>verticesMinRadius</l><block var="target"/><block var="minSize"/></custom-block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>verticesGrowing</l><block var="target"/><block var="isGrowing"/></custom-block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>verticesContentShown</l><block var="target"/><block var="showsContent"/></custom-block></script></block></script></block-definition><block-definition s="set GraphPad edge properties lineWidth: %&apos;lineWidth&apos; $nl color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; directed? %&apos;isDirected&apos; weighted? %&apos;withWeights&apos; $nl showsWeight? %&apos;showWeight&apos; on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="119.32706197102902" collapsed="false">a simple way to set some edge attributes:&#xD;1: line width&#xD;2: line color red&#xD;3: line color green&#xD;4: line color blue&#xD;5: boolean: edge is directed&#xD;6: boolean: edge has a weight&#xD;7: boolean: edge shows&#xD;    weight</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>edgeProperties</l><block var="target"/><block s="reportNewList"><list><block var="lineWidth"/><block var="r"/><block var="g"/><block var="b"/><block var="isDirected"/><block var="withWeights"/><block var="showWeight"/></list></block></custom-block></script></block></script></block-definition><block-definition s="new vertex at %&apos;x&apos; %&apos;y&apos; content: %&apos;value&apos; on graph of %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><header></header><code></code><translations></translations><inputs><input type="%n">100</input><input type="%n">100</input><input type="%s"></input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><custom-block s="add %n random vertices to graph on %txt"><l>1</l><block var="target"/></custom-block><custom-block s="move vertex %n of graph on %txt to %n %n"><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><block var="target"/><block var="x"/><block var="y"/></custom-block><custom-block s="change content of vertex %n to %txt of graph on %txt"><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><block var="value"/><block var="target"/></custom-block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script></block-definition><block-definition s="add %&apos;n&apos; random vertices to graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="214.16666666666686" collapsed="false">adds n vertices to the vertexList of a GraphPad:&#xD;Vertex attributes have the following order:&#xD;1: x&#xD;2: y&#xD;3: size&#xD;4: content&#xD;5: isMarked&#xD;6: colorNr&#xD;7: numberOfLinks&#xD;&#xD;parameter &apos;null&apos; means &apos;random vertices&apos;</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>dummy</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad</l><l>add ... random vertices to graph</l></custom-block></script><list></list></block><block s="doSetVar"><l>dummy</l><block s="reportApplyExtension"><l>SciS_addVerticesToGraph(n,amatrix,vlist,properties,point)</l><list><block var="n"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><l>null</l></list></block></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script></block></script></block-definition><block-definition s="move vertex %&apos;n&apos; of graph on %&apos;sprite&apos; to %&apos;x&apos; %&apos;y&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="130.83333333333334" collapsed="false">Moves a vertex to another position measured in Snap! sprite-coordinates</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">100</input><input type="%n">100</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>width</l><l>height</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicLessThanOrEquals"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block><script><block s="doSetVar"><l>width</l><block s="reportListItem"><l>1</l><custom-block s="GraphPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></block><block s="doSetVar"><l>height</l><block s="reportListItem"><l>2</l><custom-block s="GraphPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></block><block s="doReplaceInList"><l>1</l><block s="reportListItem"><block var="n"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportQuotient"><block var="width"/><l>2</l></block><block var="x"/></list></block></block></block><block s="doReplaceInList"><l>2</l><block s="reportListItem"><block var="n"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><block s="reportRound"><block s="reportDifference"><block s="reportQuotient"><block var="height"/><l>2</l></block><block var="y"/></block></block></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: index out of range!</l></custom-block></script></block></script></block></script></block-definition><block-definition s="add %&apos;n&apos; random edges to graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="150" collapsed="false">Creates n new edges randomly.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>result</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad</l><l>add ... random edges to graph</l></custom-block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportApplyExtension"><l>SciS_addRandomEdgesToGraph(amatrix,n,properties,vlist)</l><list><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block><block var="n"/><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></list></block></block><custom-block s="set %txt of %txt to %s"><l>adjacencyMatrix</l><block var="target"/><block s="reportListItem"><l>1</l><block var="result"/></block></custom-block><custom-block s="set %txt of %txt to %s"><l>vertexList</l><block var="target"/><block s="reportListItem"><l>2</l><block var="result"/></block></custom-block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script></block></script></block-definition><block-definition s="add edge from vertex %&apos;v1&apos; to vertex %&apos;v2&apos; to graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations" space="true"><comment x="0" y="0" w="107.5" collapsed="false">Creates a new edge between two vertices.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">2</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>vertex1</l><l>vertex2</l><l>weight</l><l>e</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad</l><l>add edge from vertex ... to vertex ...</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v1"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v1"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v2"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v2"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block></list></block><script><block s="doSetVar"><l>vertex1</l><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doSetVar"><l>vertex2</l><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doIfElse"><custom-block s="GraphPadProperty %txt of %txt"><l>edgesWithWeights</l><block var="target"/></custom-block><script><block s="doSetVar"><l>weight</l><block s="reportRound"><block s="reportQuotient"><custom-block s="Euclidean distance between %br point %mult%s and point %mult%s"><list><block s="reportListItem"><l>1</l><block var="vertex1"/></block><block s="reportListItem"><l>2</l><block var="vertex1"/></block></list><list><block s="reportListItem"><l>1</l><block var="vertex2"/></block><block s="reportListItem"><l>2</l><block var="vertex2"/></block></list></custom-block><l>10</l></block></block></block></script><script><block s="doSetVar"><l>weight</l><l>1</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="v2"/><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block></block><l>X</l></list></block><script><block s="doReplaceInList"><l>7</l><block var="vertex1"/><block s="reportVariadicSum"><list><block s="reportListItem"><l>7</l><block var="vertex1"/></block><l>1</l></list></block></block><block s="doReplaceInList"><l>6</l><block var="vertex2"/><block s="reportListItem"><l>6</l><block var="vertex1"/></block></block><block s="doReplaceInList"><block var="v2"/><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block><block var="weight"/></block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="v1"/><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block></block><l>X</l></list></block><block s="reportNot"><custom-block s="GraphPadProperty %txt of %txt"><l>edgesDirected</l><block var="target"/></custom-block></block></list></block><script><block s="doReplaceInList"><l>7</l><block var="vertex2"/><block s="reportVariadicSum"><list><block s="reportListItem"><l>7</l><block var="vertex2"/></block><l>1</l></list></block></block><block s="doReplaceInList"><block var="v1"/><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block><block var="weight"/></block></script><list></list></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: index out of range!</l><l>add edge from vertex ... to vertex ...</l></custom-block></script></block></script></block></script></block-definition><block-definition s="draw graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations" space="true"><comment x="0" y="0" w="155" collapsed="false">draws the graph on a GraphPad.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>initialCostume</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad</l><l>draw graph on GraphPad</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><custom-block s="GraphPadProperty %txt of %txt"><l>initialCostume</l><block var="target"/></custom-block><l><option>costume</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target has no property &apos;initialCostume&apos;!</l><l>draw graph on GraphPad</l></custom-block></script><list></list></block><block s="doSetVar"><l>initialCostume</l><custom-block s="copy of costume %s"><custom-block s="GraphPadProperty %txt of %txt"><l>initialCostume</l><block var="target"/></custom-block></custom-block></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><custom-block s="GraphPadProperty %txt of %txt"><l>initialCostume</l><block var="target"/></custom-block></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_drawGraphOnGraphPad(amatrix,vlist,properties)</l><list><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></list></block></list></block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>initialCostume</l><block var="target"/><block var="initialCostume"/></custom-block></script></block></script></block-definition><block-definition s="delete vertex %&apos;n&apos; of graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations" space="true"><comment x="0" y="0" w="90" collapsed="false">Deletes a vertex.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad</l><l>delete vertex ... of graph</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="n"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><l>1</l></list></block><script><custom-block s="set %txt of %txt to %s"><l>vertexList</l><block var="target"/><block s="reportNewList"><list></list></block></custom-block><custom-block s="set %txt of %txt to %s"><l>adjacencyMatrix</l><block var="target"/><block s="reportNewList"><list></list></block></custom-block></script><script><block s="doDeleteFromList"><block var="n"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><block s="doDeleteFromList"><block var="n"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block><block s="doForEach"><l>item</l><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block><script><block s="doDeleteFromList"><block var="n"/><block var="item"/></block></script></block></script></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script><list></list></block></script></block></script></block-definition><block-definition s="delete edge from vertex %&apos;v1&apos; to vertex %&apos;v2&apos; $nl of graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="90" collapsed="false">Deletes an edge.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">2</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>vertex1</l><l>vertex2</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad</l><l>delete edge from vertex ... to vertex ...</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v1"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v1"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v2"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v2"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block></list></block><script><block s="doSetVar"><l>vertex1</l><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doSetVar"><l>vertex2</l><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><block var="v2"/><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block></block><l>0</l></list></block><script><block s="doReplaceInList"><l>7</l><block var="vertex1"/><block s="reportDifference"><block s="reportListItem"><l>7</l><block var="vertex1"/></block><l>1</l></block></block><block s="doReplaceInList"><block var="v2"/><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block><l>X</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><block var="v1"/><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block></block><l>0</l></list></block><block s="reportNot"><custom-block s="GraphPadProperty %txt of %txt"><l>edgesDirected</l><block var="target"/></custom-block></block></list></block><script><block s="doReplaceInList"><l>7</l><block var="vertex2"/><block s="reportDifference"><block s="reportListItem"><l>7</l><block var="vertex2"/></block><l>1</l></block></block><block s="doReplaceInList"><block var="v1"/><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block><l>X</l></block></script><list></list></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: index out of range!</l><l>delete edge from vertex ... to vertex ...</l></custom-block></script></block></script></block></script></block-definition><block-definition s="weight of edge from vertex %&apos;v1&apos; to vertex %&apos;v2&apos; $nl of graph on %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations"><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%s">2</input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>vertex1</l><l>vertex2</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad!</l><l>weight of edge ...</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v1"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v1"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v2"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v2"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block></list></block><script><block s="doSetVar"><l>vertex1</l><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doSetVar"><l>vertex2</l><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doIfElse"><custom-block s="GraphPadProperty %txt of %txt"><l>edgesWithWeights</l><block var="target"/></custom-block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListItem"><block var="v2"/><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block></block><l>X</l></list></block><script><block s="doReport"><block s="reportListItem"><block var="v2"/><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: there is no connection between these vertices!</l><l>weight of edge ...</l></custom-block></script></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: in this Graph edges have no weights!</l><l>weight of edge ...</l></custom-block></script></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: index out of range!</l><l>weight of edge ...</l></custom-block></script></block></script></block></script></block-definition><block-definition s="change weight of edge from vertex %&apos;v1&apos; to vertex %&apos;v2&apos; $nl to %&apos;weight&apos; of graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="132.5" collapsed="false">Sets the weight of an edge.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">2</input><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>vertex1</l><l>vertex2</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad</l><l>change weight of edge ...</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v1"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v1"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v2"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v2"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block></list></block><script><block s="doSetVar"><l>vertex1</l><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doSetVar"><l>vertex2</l><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doIfElse"><custom-block s="GraphPadProperty %txt of %txt"><l>edgesWithWeights</l><block var="target"/></custom-block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListItem"><block var="v2"/><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block></block><l>X</l></list></block><script><block s="doReplaceInList"><block var="v2"/><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block><block var="weight"/></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicNotEquals"><list><block s="reportListItem"><block var="v1"/><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block></block><l>X</l></list></block><block s="reportNot"><custom-block s="GraphPadProperty %txt of %txt"><l>edgesDirected</l><block var="target"/></custom-block></block></list></block><script><block s="doReplaceInList"><block var="v1"/><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block><block var="weight"/></block></script><list></list></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: there is no connection between these vertices!</l><l>change weight of edge ...</l></custom-block></script></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: in this Graph edges have no weights!</l><l>change weight of edge ...</l></custom-block></script></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: index out of range!</l><l>change weight of edge ...</l></custom-block></script></block></script></block></script></block-definition><block-definition s="ask for new weight of graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations" space="true"><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>n1</l><l>n2</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad</l><l>ask for new weight of graph ...</l></custom-block></script><list></list></block><block s="doAsk"><l>from vertex nr</l></block><block s="doIf"><block s="reportIsA"><block s="getLastAnswer"></block><l><option>number</option></l></block><script><block s="doSetVar"><l>n1</l><block s="getLastAnswer"></block></block><block s="doAsk"><l>to vertex nr</l></block><block s="doIf"><block s="reportIsA"><block s="getLastAnswer"></block><l><option>number</option></l></block><script><block s="doSetVar"><l>n2</l><block s="getLastAnswer"></block></block><block s="doAsk"><l>new weight</l></block><block s="doIf"><block s="reportIsA"><block s="getLastAnswer"></block><l><option>number</option></l></block><script><custom-block s="change weight of edge from vertex %n to vertex %n %br to %n of graph on %txt"><block var="n1"/><block var="n2"/><block s="getLastAnswer"></block><block var="target"/></custom-block></script><list></list></block></script><list></list></block></script><list></list></block></script></block></script></block-definition><block-definition s="ask for new start vertex width of graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="142.5" collapsed="false">Input for start vertex.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad</l><l>aske for new start vertex width</l></custom-block></script><list></list></block><block s="doAsk"><l>new start vertexwidth (1....20)</l></block><block s="doIf"><block s="reportIsA"><block s="getLastAnswer"></block><l><option>number</option></l></block><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block s="getLastAnswer"></block><l>0</l></list></block><block s="reportVariadicLessThan"><list><block s="getLastAnswer"></block><l>21</l></list></block></list></block><script><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>verticesMinRadius</l><block var="target"/><block s="getLastAnswer"></block></custom-block></script><list></list></block></script><list></list></block></script></block></script></block-definition><block-definition s="content of vertex %&apos;n&apos; of graph on %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations"><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>vertex1</l><l>vertex2</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad!</l><l>content of vertex ..-. of graph</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="n"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><script><block s="doReport"><block s="reportListItem"><l>4</l><block s="reportListItem"><block var="n"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: index out of range!</l><l>content of vertex ..-. of graph</l></custom-block></script></block></script></block></script></block-definition><block-definition s="change content of vertex %&apos;n1&apos; to %&apos;value&apos; of graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="133.33333333333334" collapsed="false">Sets the content of a vertex.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%txt"></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>vertex</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad</l><l>change content of vertex ...</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="n1"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="n1"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><script><block s="doSetVar"><l>vertex</l><block s="reportListItem"><block var="n1"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doReplaceInList"><l>4</l><block s="reportListItem"><block var="n1"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><block var="value"/></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: index out of range!</l><l>change content of vertex ...</l></custom-block></script></block></script></block></script></block-definition><block-definition s="ask for new vertex content in graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="145" collapsed="false">Input for a new vertex content.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>nr</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad</l><l>ask for new vertex content</l></custom-block></script><list></list></block><block s="doAsk"><l>vertex number</l></block><block s="doIf"><block s="reportIsA"><block s="getLastAnswer"></block><l><option>number</option></l></block><script><block s="doSetVar"><l>nr</l><block s="getLastAnswer"></block></block><block s="doAsk"><l>new value</l></block><custom-block s="change content of vertex %n to %txt of graph on %txt"><block var="nr"/><block s="getLastAnswer"></block><block var="target"/></custom-block></script><list></list></block></script></block></script></block-definition><block-definition s="set marker of vertex %&apos;n&apos; of graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="131.5491383870445" collapsed="false">Tells a vertex to be marked.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad</l><l>set marker of vertex ...</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="n"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><script><block s="doReplaceInList"><l>5</l><block s="reportListItem"><block var="n"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><block s="reportBoolean"><l><bool>true</bool></l></block></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script><list></list></block></script></block></script></block-definition><block-definition s="remove marker of vertex %&apos;n&apos; of graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="94.04913838704452" collapsed="false">Deletes a marker.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad</l><l>remove marker of vertex</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="n"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><script><block s="doReplaceInList"><l>5</l><block s="reportListItem"><block var="n"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><block s="reportBoolean"><l><bool>false</bool></l></block></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script><list></list></block></script></block></script></block-definition><block-definition s="remove all markers of graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="94.04913838704452" collapsed="false">Deletes all markers.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad</l><l>remove all markers of graph</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doForEach"><l>item</l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block><script><block s="doReplaceInList"><l>5</l><block var="item"/><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script></block></script></block-definition><block-definition s="depth first search of content %&apos;cont&apos; $nl starting at vertex %&apos;nr&apos; of graph on %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations" space="true"><comment x="0" y="0" w="132.5" collapsed="false">Depth first search in a graph.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad!</l><l>depth first search ...</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="nr"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="nr"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_depthFirstSearch(amatrix,vlist,cont,n)</l><list><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block><block var="cont"/><block var="nr"/></list></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: index out of range!</l><l>depth first search ...</l></custom-block></script></block></script></block></script></block-definition><block-definition s="breadth first search of content %&apos;cont&apos; $nl starting at vertex %&apos;nr&apos; of graph on %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations"><comment x="0" y="0" w="146.66666666666669" collapsed="false">Breadth first search in a graph.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>nextVertices</l><l>vertexNr</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad!</l><l>breadth first search</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="nr"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="nr"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_breadthFirstSearch(amatrix,vlist,cont,n)</l><list><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block><block var="cont"/><block var="nr"/></list></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: index out of range!</l><l>breadth first search</l></custom-block></script></block></script></block></script></block-definition><block-definition s="distance on %&apos;sprite&apos; from vertex %&apos;v1&apos; to vertex %&apos;v2&apos;" type="reporter" category="7. GraphPad for graph operations"><comment x="0" y="0" w="111.6666666666667" collapsed="false">Reports the Euclidean distance of two vertices.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">1</input><input type="%n">2</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>vertex1</l><l>vertex2</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad!</l><l>distance on ... from ... to ...</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v1"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v1"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v2"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v2"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block></list></block><script><block s="doSetVar"><l>vertex1</l><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doSetVar"><l>vertex2</l><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doReport"><block s="reportRound"><block s="reportQuotient"><custom-block s="Euclidean distance between %br point %mult%s and point %mult%s"><list><block s="reportListItem"><l>1</l><block var="vertex1"/></block><block s="reportListItem"><l>2</l><block var="vertex1"/></block></list><list><block s="reportListItem"><l>1</l><block var="vertex2"/></block><block s="reportListItem"><l>2</l><block var="vertex2"/></block></list></custom-block><l>10</l></block></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: index out of range!</l><l>distance on ... from ... to ...</l></custom-block></script></block></script></block></script></block-definition><block-definition s="shortest path in graph from vertex %&apos;startVertex&apos; $nl to vertex %&apos;endVertex&apos; on %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations"><comment x="0" y="0" w="147.8313293457031" collapsed="false">Shortes path between two vertices, using Dijkstra-method.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">2</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad!</l><l>shortest path on graph</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="startVertex"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="startVertex"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="endVertex"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="endVertex"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block></list></block><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_shortestPath(amatrix,start,end)</l><list><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block><block var="startVertex"/><block var="endVertex"/></list></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: index out of range!</l><l>shortest path on graph</l></custom-block></script></block></script></block></script></block-definition><block-definition s="list of all shortest paths in graph from vertex %&apos;startVertex&apos; $nl to all connected vertices of graph on %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations"><comment x="0" y="0" w="195.11549479166646" collapsed="false">Shortes paths between startVertex and all connected vertices, using Dijkstra-method.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad!</l><l>list of all shortest paths</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="startVertex"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="startVertex"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_allShortestPaths(amatrix,start)</l><list><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block><block var="startVertex"/></list></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: index out of range!</l><l>list of all shortest paths</l></custom-block></script></block></script></block></script></block-definition><block-definition s="vertexnumber at %&apos;x&apos; %&apos;y&apos; of graph on %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations"><comment x="0" y="0" w="155" collapsed="false">Returns the vertexnumber of a vertex near (x|y), if there is one.</comment><header></header><code></code><translations></translations><inputs><input type="%n">100</input><input type="%n">50</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GraphPad!</l></block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_vertexnumberAtGraph(vlist,cAttributes,vAttributes,x,y)</l><list><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block><custom-block s="GraphPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block><custom-block s="GraphPadProperty %txt of %txt"><l>vertexProperties</l><block var="target"/></custom-block><block var="x"/><block var="y"/></list></block></block></script></block></script></block-definition><block-definition s="point %&apos;x&apos; %&apos;y&apos; on sprite/stage $arrowRightOutline point on graph %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations"><header></header><code></code><translations></translations><inputs><input type="%n">0</input><input type="%n">0</input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>targetSize</l><l>targetX</l><l>targetY</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GraphPad!</l></block></script><list></list></block><block s="doSetVar"><l>targetSize</l><block s="reportAttributeOf"><l><option>size</option></l><block var="target"/></block></block><block s="doReport"><block s="reportNewList"><list><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block var="x"/><block s="reportAttributeOf"><l><option>x position</option></l><block var="target"/></block></block><block var="targetSize"/></block></list></block><l>1</l></list></block></block><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block var="y"/><block s="reportAttributeOf"><l><option>y position</option></l><block var="target"/></block></block><block var="targetSize"/></block></list></block><l>1</l></list></block></block></list></block></block></script></block></script></block-definition><block-definition s="vertexnumber of %&apos;content&apos; in graph of %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations"><comment x="0" y="0" w="150.83333333333334" collapsed="false">Reports the vertexnumber of the vertex with the specified content. If not found then reports 0.</comment><header></header><code></code><translations></translations><inputs><input type="%s">Peter</input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>nr</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad!</l><l>vertexnumber with content ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>nr</l><l>0</l></block><block s="doForEach"><l>item</l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block><script><block s="doChangeVar"><l>nr</l><l>1</l></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>4</l><block var="item"/></block><block var="content"/></list></block><script><block s="doReport"><block var="nr"/></block></script><list></list></block></script></block><block s="doReport"><l>0</l></block></script></block></script></block-definition><block-definition s="Graph example 1: small worlds (needs some seconds)" type="reporter" category="7. GraphPad for graph operations"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="configure %s as a GraphPad width: %n %br height: %n color: %n %n %n"><l>thisSprite</l><l>400</l><l>300</l><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="add %n random vertices to graph on %txt"><l>100</l><l>thisSprite</l></custom-block><custom-block s="add %n random edges to graph on %txt"><l>100</l><l>thisSprite</l></custom-block><block s="doSayFor"><l>mean distance between the nodes: ...</l><l>2</l></block><block s="doReport"><custom-block s="%s of vector %l"><l>mean</l><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="%s of vector %l"><l>mean</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>2</l><custom-block s="list of all shortest paths in graph from vertex %n %br to all connected vertices of graph on %txt"><l></l><l>thisSprite</l></custom-block><l><bool>true</bool></l></custom-block></custom-block></autolambda><list></list></block><block s="reportNumbers"><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="vertexList"/></block></block></block></custom-block></block></script></block-definition><block-definition s="Graph example 2: distribution of links" type="command" category="7. GraphPad for graph operations"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>diagramSprite</l></list></block><custom-block s="configure %s as a GraphPad width: %n %br height: %n color: %n %n %n"><l>thisSprite</l><l>400</l><l>300</l><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="add %n random vertices to graph on %txt"><l>100</l><l>thisSprite</l></custom-block><custom-block s="add %n random edges to graph on %txt"><l>100</l><l>thisSprite</l></custom-block><block s="doWait"><l>1</l></block><block s="doSetVar"><l>SciSnap!Data</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIfElse"><block s="reportIsA"><l></l><l><option>number</option></l></block><script><block s="doReport"><l></l></block></script><script><block s="doReport"><l>0</l></block></script></block></script><list></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="%s of vector %l"><l>number</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicNotEquals"><list><l></l><l>X</l></list></block></autolambda><list></list></block><l/></block></custom-block></autolambda><list></list></block><block var="adjacencyMatrix"/></block></block></block><block s="doSetVar"><l>diagramSprite</l><custom-block s="create a duplicate of %obj %br with name %txt"><block s="reportGet"><l><option>self</option></l></block><l>DiagramSprite</l></custom-block></block><custom-block s="configure %txt as a PlotPad width: %n %br height: %n color: %n %n %n"><l>DiagramSprite</l><l>400</l><l>300</l><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="set PlotPad labels on %s to %br title: %txt titleheight: %n %br x-label: %txt xLabelheight: %n %br y-label: %txt yLabelheight: %n"><l>DiagramSprite</l><l>Edges per Node</l><l>18</l><l>Number of Edges</l><l>16</l><l>Number of Vertices</l><l>16</l></custom-block><custom-block s="add histogram of %s with %n groups %br pretty formated? %b to PlotPad %txt"><block var="SciSnap!Data"/><l>10</l><l><bool>true</bool></l><l>DiagramSprite</l></custom-block><custom-block s="add axes and scales to PlotPad %txt"><l>DiagramSprite</l></custom-block></script></block-definition><block-definition s="create a duplicate of %&apos;sprite&apos; $nl with name %&apos;spriteName&apos;" type="reporter" category="control" helper="true"><header></header><code></code><translations></translations><inputs><input type="%obj"></input><input type="%txt">spriteName</input></inputs><script><block s="doDeclareVariables"><list><l>existingSprites</l><l>newSprite</l></list></block><block s="doSetVar"><l>existingSprites</l><block s="reportGet"><l><option>other sprites</option></l></block></block><block s="doApplyExtension"><l>SciS_createDuplicate(sprite,spriteName)</l><list><block var="sprite"/><block var="spriteName"/></list></block><block s="doForEach"><l>item</l><block s="reportGet"><l><option>other sprites</option></l></block><script><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><block var="existingSprites"/><block var="item"/></block></block><script><block s="doSetVar"><l>newSprite</l><block var="item"/></block></script><list></list></block></script></block><block s="doReport"><block var="newSprite"/></block></script></block-definition><block-definition s="create a permanent clone of %&apos;sprite&apos; $nl with name %&apos;spriteName&apos;" type="reporter" category="control" helper="true"><header></header><code></code><translations></translations><inputs><input type="%obj"></input><input type="%txt">spriteName</input></inputs><script><block s="doDeclareVariables"><list><l>existingSprites</l><l>newSprite</l></list></block><block s="doSetVar"><l>existingSprites</l><block s="reportGet"><l><option>other sprites</option></l></block></block><block s="doApplyExtension"><l>SciS_createPermanentClone(sprite,spriteName)</l><list><block var="sprite"/><block var="spriteName"/></list></block><block s="doForEach"><l>item</l><block s="reportGet"><l><option>other sprites</option></l></block><script><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><block var="existingSprites"/><block var="item"/></block></block><script><block s="doSetVar"><l>newSprite</l><block var="item"/></block></script><list></list></block></script></block><block s="doReport"><block var="newSprite"/></block></script></block-definition><block-definition s="import Sprite" type="command" category="control"><comment x="0" y="0" w="163.78016826923104" collapsed="false">Imports a stored sprite from a file selected with filepicker.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>ready</l><l>b</l></list></block><block s="doSetVar"><l>ready</l><block s="reportApplyExtension"><l>SciS_importSprite(params)</l><list><block s="reportNewList"><list><l>1</l></list></block></list></block></block><block s="doWaitUntil"><block s="reportListItem"><l>1</l><block s="evaluate"><block var="ready"/><list></list></block></block></block><block s="doApplyExtension"><l>SciS_importSprite(params)</l><list><block s="reportNewList"><list><l>2</l><block s="reportListItem"><l>2</l><block s="evaluate"><block var="ready"/><list></list></block></block></list></block></list></block></script></block-definition><block-definition s="change SpriteName to %&apos;newName&apos;" type="command" category="control" helper="true"><header></header><code></code><translations></translations><inputs><input type="%txt">new name</input></inputs><script><block s="doApplyExtension"><l>SciS_changeSpritenameTo(newName)</l><list><block var="newName"/></list></block></script></block-definition><block-definition s="import library to category %&apos;category&apos;" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="402.9591145833335" collapsed="false">Imports stored blocks to another palette. All blocks should be from the same category!</comment><header></header><code></code><translations></translations><inputs><input type="%s">Looks</input></inputs><script><block s="doDeclareVariables"><list><l>library</l><l>oldcat</l><l>begin</l><l>end</l><l>ok</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>category</l><custom-block s="lower case %s"><block var="category"/></custom-block></block><block s="doSetVar"><l>ok</l><block s="reportApplyExtension"><l>SciS_importLibrary1(catName)</l><list><block var="category"/></list></block></block><block s="doIf"><block s="reportNot"><block var="ok"/></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: unknown category!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>library</l><custom-block s="read file with filepicker"></custom-block></block><block s="doSetVar"><l>begin</l><block s="reportVariadicSum"><list><custom-block s="index of %txt in %txt"><l>category=</l><block var="library"/></custom-block><l>10</l></list></block></block><block s="doSetVar"><l>end</l><custom-block s="index of %txt in %txt"><l>"</l><custom-block s="substring of %txt from %n to %n"><block var="library"/><block var="begin"/><block s="reportVariadicSum"><list><block var="begin"/><l>50</l></list></block></custom-block></custom-block></block><block s="doSetVar"><l>oldcat</l><custom-block s="substring of %txt from %n to %n"><block var="library"/><block var="begin"/><block s="reportDifference"><block s="reportVariadicSum"><list><block var="begin"/><block var="end"/></list></block><l>2</l></block></custom-block></block><block s="doSetVar"><l>library</l><custom-block s="replace %txt %txt with %txt in %txt"><l>all</l><block s="reportJoinWords"><list><l>"</l><block var="oldcat"/><l>"</l></list></block><block s="reportJoinWords"><list><l>"</l><custom-block s="lower case %s"><block var="category"/></custom-block><l>"</l></list></block><block var="library"/></custom-block></block><block s="doApplyExtension"><l>SciS_importLibrary2(src)</l><list><block var="library"/></list></block></script></block></script></block-definition><block-definition s="configure %&apos;sprite&apos; as a NeuralNetPad width: %&apos;width&apos; $nl height: %&apos;height&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="command" category="8. NNPad for neural networks"><comment x="0" y="0" w="178.33333333333334" collapsed="false">Creates a new  empty costume of the specified size and color ans sets local properties for a NeuralNet.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>costumeWidth</l><l>costumeHeight</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>sprite</l><l>theStage</l></block><block s="doSetVar"><l>costumeWidth</l><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block></block><block s="doSetVar"><l>costumeHeight</l><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="gotoXY"><l>0</l><l>0</l></block><block s="setHeading"><l>90</l></block><block s="show"></block></script><list></list></block><list></list></block><block s="doSetVar"><l>costumeWidth</l><block var="width"/></block><block s="doSetVar"><l>costumeHeight</l><block var="height"/></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myProperties</l></list></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myData</l></list></block><block s="doSetVar"><l>myProperties</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>myData</l><block s="reportNewList"><list></list></block></block><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="costumeWidth"/><block var="costumeHeight"/><block var="r"/><block var="g"/><block var="b"/></list></block></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfConfiguration</l><l>NNPad</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfData</l><l>weights</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>netProperties</l><block s="reportNewList"><list><l>0</l><l>0</l><block var="width"/><block var="height"/></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>edgeProperties</l><block s="reportNewList"><list><l>1</l><l>0</l><l>0</l><l>0</l><block s="reportBoolean"><l><bool>false</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doAddToList"><block s="reportNewList"><list><l>costumeProperties</l><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="r"/><block var="g"/><block var="b"/><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block var="width"/></block><l>2</l></block><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="height"/></block><l>2</l></block></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doAddToList"><block s="reportNewList"><list><l>costumeProperties</l><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block></script></block></script></block></script><scripts><comment x="462.61067708333337" y="113.30555555555554" w="192.5" collapsed="false">costume properties:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;6: left offset for NN position on stage&#xD;7: upper offset for NN position on stage&#xD;&#xD;neural net properties:&#xD;1: number of layers&#xD;2: layer width&#xD;3: width of NN image&#xD;4: height of NN image</comment></scripts></block-definition><block-definition s="is %&apos;sprite&apos; a NNPad?" type="predicate" category="8. NNPad for neural networks"><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><l><option>myself</option></l></block><block s="reifyReporter"><autolambda><custom-block s="is %s a %s ?"><l>thisSprite</l><l>NNPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><script><block s="doReport"><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><custom-block s="is %s a %s ?"><l>thisSprite</l><l>NNPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><block var="sprite"/></block><block s="reifyReporter"><autolambda><custom-block s="is %s a %s ?"><l>thisSprite</l><l>NNPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script></block></script></block></script></block></script></block-definition><block-definition s="NNPadProperty %&apos;key&apos; of %&apos;sprite&apos;" type="reporter" category="8. NNPad for neural networks"><comment x="0" y="0" w="92.5" collapsed="false">Reads the value of an existing property.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">numberOfLayers<options>typeOfConfiguration&#xD;typeOfData&#xD;costumeProperties={&#xD;width=costumeWidth&#xD;height=costumeHeight&#xD;back color=backColor&#xD;offsets=offsets&#xD;front color=frontColor&#xD;}&#xD;line properties={&#xD;line width=lineWidth&#xD;line style=lineStyle&#xD;line color=lineColor&#xD;fill color=fillColor&#xD;}&#xD;text properties={&#xD;text height=textHeight&#xD;orientation=textOrientation&#xD;}&#xD;closebutton properties={&#xD;with closebutton?=withCloseButton&#xD;position=closeButtonLeft&#xD;size=closeButtonSize&#xD;}&#xD;net properties={&#xD;number of layers=numberOfLayers&#xD;layer width=layerWidth&#xD;net width=netWidth&#xD;net height=netHeight&#xD;input list=inputs&#xD;}</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a NNPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as NNPad</l><l>set NNPadProperty</l></custom-block></script><list></list></block><block s="doIfElse"><custom-block s="is variable %s in the scope of %s ?"><l>myProperties</l><block var="target"/></custom-block><script><block s="doReport"><block s="reportListItem"><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="key"/><l> </l></block></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: Missing variable "myProperties"!</l><l>set NNPadProperty</l></custom-block></script></block></script></block></script></block-definition><block-definition s="set NNPadProperty %&apos;key&apos; of %&apos;sprite&apos; to %&apos;value&apos;" type="command" category="8. NNPad for neural networks"><comment x="0" y="0" w="131.66666666666669" collapsed="false">Sets the value of an existing property or inserts it anew.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">numberOfLayers<options>typeOfConfiguration&#xD;typeOfData&#xD;costumeProperties={&#xD;width=costumeWidth&#xD;height=costumeHeight&#xD;back color=backColor&#xD;offsets=offsets&#xD;front color=frontColor&#xD;}&#xD;line properties={&#xD;line width=lineWidth&#xD;line style=lineStyle&#xD;line color=lineColor&#xD;fill color=fillColor&#xD;}&#xD;text properties={&#xD;text height=textHeight&#xD;orientation=textOrientation&#xD;}&#xD;closebutton properties={&#xD;with closebutton?=withCloseButton&#xD;position=closeButtonLeft&#xD;size=closeButtonSize&#xD;}&#xD;net properties={&#xD;number of layers=numberOfLayers&#xD;layer width=layerWidth&#xD;net width=netWidth&#xD;net height=netHeight&#xD;input list=inputs&#xD;}</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a NNPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as NNPad</l><l>set NNPadProperty</l></custom-block></script><list></list></block><block s="doIfElse"><custom-block s="is variable %s in the scope of %s ?"><l>myProperties</l><block var="target"/></custom-block><script><block s="doReplaceInList"><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="key"/><l> </l></block></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="value"/></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: Missing variable "myProperties"!</l><l>set NNPadProperty</l></custom-block></script></block></script></block></script></block-definition><block-definition s="set NNPad costume properties width: %&apos;width&apos; $nl height: %&apos;height&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; $nl offsets: %&apos;leftOffset&apos; %&apos;upperOffset&apos; on %&apos;sprite&apos;" type="command" category="8. NNPad for neural networks"><comment x="0" y="0" w="214.32706197102902" collapsed="false">a simple way to set some costume attributes:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;6: left offset for NN&#xD;    position on stage&#xD;7: upper offset for NN&#xD;    position on stage</comment><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input><input type="%n">0</input><input type="%n">0</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a NNPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as NNPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><custom-block s="set NNPadProperty %txt of %txt to %s"><l>costumeProperties</l><block var="target"/><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/><block var="leftOffset"/><block var="upperOffset"/></list></block></custom-block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></list></block></block></script><list></list></block><list></list></block></script></block></script></block-definition><block-definition s="set NNPad properties numberOfLayers: %&apos;layers&apos; layerWidth: %&apos;layerWidth&apos; $nl imageWidth: %&apos;netWidth&apos; imageHeight: %&apos;netHeight&apos; on %&apos;sprite&apos;" type="command" category="8. NNPad for neural networks"><comment x="0" y="0" w="196.82706197102902" collapsed="false">a simple way to set some net attributes:&#xD;1: number of layers&#xD;2: layer width&#xD;3: width of NN image&#xD;4: height of NN image</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">3</input><input type="%n">400</input><input type="%n">300</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a NNPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as NNPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><custom-block s="set NNPadProperty %txt of %txt to %s"><l>netProperties</l><block var="target"/><block s="reportNewList"><list><block var="layers"/><block var="layerWidth"/><block var="netWidth"/><block var="netHeight"/></list></block></custom-block></script></block></script></block-definition><block-definition s="NN output of %&apos;n&apos; layer with input %&apos;input&apos; on %&apos;sprite&apos;" type="reporter" category="8. NNPad for neural networks"><comment x="0" y="0" w="173.33333333333334" collapsed="false">Reports the output of the nth layer of a neural network with given input.</comment><header></header><code></code><translations></translations><inputs><input type="%s">last<options>1&#xD;last</options></input><input type="%l"></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a NNPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as NNPad!</l></block></script><list></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="input"/><l>vector</l></custom-block></block><script><block s="doReport"><l>ERROR: wrong data format, numerical input required!</l></block></script><list></list></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><custom-block s="NNPadProperty %txt of %txt"><l>netProperties</l><block var="target"/></custom-block></block><block s="reportListAttribute"><l><option>length</option></l><block var="input"/></block></list></block></block><script><block s="doReport"><l>ERROR: the input should match the net width</l></block></script><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_NNoutput(weights,width,depth,n,input)</l><list><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block s="reportListItem"><l>2</l><custom-block s="NNPadProperty %txt of %txt"><l>netProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>1</l><custom-block s="NNPadProperty %txt of %txt"><l>netProperties</l><block var="target"/></custom-block></block><block var="n"/><block var="input"/></list></block></block></script></block></script></block></script></block-definition><block-definition s="NN add new weights for %&apos;depth&apos; layers of width %&apos;width&apos; on %&apos;sprite&apos;" type="command" category="8. NNPad for neural networks" space="true"><comment x="0" y="0" w="146.4285714285717" collapsed="false">Creates a fully connected neural network of perceptrons. Inputs should be connected to layer 1, outputs to last layer.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">3</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>row</l><l>matrix</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a NNPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as NNPad</l><l>NN add new weights</l></custom-block></script><list></list></block><custom-block s="set %txt of %txt to %s"><l>myData</l><block var="target"/><block s="reportNewList"><list></list></block></custom-block><block s="doRepeat"><block var="depth"><comment w="115.85714185714295" collapsed="false">one matrix for each layer</comment></block><script><block s="doSetVar"><l>matrix</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block var="width"/><script><block s="doSetVar"><l>row</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>j</l><l>1</l><block var="width"/><script><block s="doAddToList"><custom-block s="random"></custom-block><block var="row"/></block></script></block><block s="doAddToList"><l>1</l><block var="row"/></block><block s="doAddToList"><block var="row"/><block var="matrix"/></block></script></block><block s="doAddToList"><block var="matrix"/><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block></script></block><custom-block s="set NNPadProperty %txt of %txt to %s"><l>numberOfLayers</l><block var="target"/><block var="depth"/></custom-block><custom-block s="set NNPadProperty %txt of %txt to %s"><l>layerWidth</l><block var="target"/><block var="width"/></custom-block><custom-block s="NN show status on %txt"><block var="target"/></custom-block></script></block></script></block-definition><block-definition s="NN show status with input %&apos;input&apos; on %&apos;sprite&apos;" type="command" category="8. NNPad for neural networks"><comment x="0" y="0" w="133.33333333333334" collapsed="false">Draws the nodes and current status of connections of an NN as new costume.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>depth</l><l>layerOutputs</l><l>netWidth</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a NNPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as NNPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>netWidth</l><block s="reportListItem"><l>2</l><custom-block s="NNPadProperty %txt of %txt"><l>netProperties</l><block var="target"/></custom-block></block></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="netWidth"/><block s="reportListAttribute"><l><option>length</option></l><block var="input"/></block></list></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: input doesn&apos;t match netwidth!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doSetVar"><l>depth</l><block s="reportListItem"><l>1</l><custom-block s="NNPadProperty %txt of %txt"><l>netProperties</l><block var="target"/></custom-block></block></block><block s="doSetVar"><l>layerOutputs</l><block s="reportNewList"><list></list></block></block><block s="doAddToList"><block var="input"/><block var="layerOutputs"/></block><block s="doFor"><l>i</l><l>1</l><block var="depth"/><script><block s="doAddToList"><custom-block s="NN output of %s layer with input %l on %txt"><block var="i"/><block var="input"/><block var="target"/></custom-block><block var="layerOutputs"/></block></script></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_NNshowStatus(cAttributes,nAttributes,weights,outputs,costume,sprite)</l><list><custom-block s="NNPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block><custom-block s="NNPadProperty %txt of %txt"><l>netProperties</l><block var="target"/></custom-block><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block var="layerOutputs"/><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="sprite"/></list></block></list></block></script></block></script></block-definition><block-definition s="teach NN with input %&apos;input&apos; and target output %&apos;output&apos; by back- $nl propagation with learning factor %&apos;eta&apos; on %&apos;sprite&apos;" type="command" category="8. NNPad for neural networks" space="true"><comment x="0" y="0" w="154.83333333333331" collapsed="false">A block for teaching a neural net.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input><input type="%n">0.1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>width</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a NNPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as NNPad</l><l>teach NN</l></custom-block></script><list></list></block><block s="doSetVar"><l>width</l><custom-block s="NNPadProperty %txt of %txt"><l>layerWidth</l><block var="target"/></custom-block></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block var="width"/><block s="reportListAttribute"><l><option>length</option></l><block var="input"/></block></list></block><block s="reportVariadicEquals"><list><block var="width"/><block s="reportListAttribute"><l><option>length</option></l><block var="output"/></block></list></block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: data don&apos;t match netwidth!</l><l>teach NN</l></custom-block></script><script><custom-block s="set NNPadProperty %txt of %txt to %s"><l>inputs</l><block var="target"/><block var="input"/></custom-block><custom-block s="set %txt of %txt to %s"><l>myData</l><block var="target"/><block s="reportApplyExtension"><l>SciS_NNteach(weights,width,depth,input,output,eta)</l><list><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block var="width"/><custom-block s="NNPadProperty %txt of %txt"><l>numberOfLayers</l><block var="target"/></custom-block><block var="input"/><block var="output"/><block var="eta"/></list></block></custom-block></script></block></script></block></script></block-definition><block-definition s="NN Example 1 on %&apos;sprite&apos;" type="command" category="8. NNPad for neural networks"><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><custom-block s="configure %s as a NeuralNetPad width: %n %br height: %n color: %n %n %n"><block var="sprite"/><l>600</l><l>300</l><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="NN add new weights for %n layers of width %n on %txt"><l>2</l><l>20</l><block var="sprite"/></custom-block><block s="doRepeat"><l>100</l><script><custom-block s="teach NN with input %l and target output %l by back- %br propagation with learning factor %n on %txt"><block s="reportNumbers"><l>1</l><l>20</l></block><block s="reportNewList"><list><l>1</l><l>0</l><l>0</l><l>-1</l><l>0</l><l>0</l><l>0</l><l>1</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>1</l><l>-1</l><l>-1</l><l>-1</l><l>0</l><l>0</l><l>0</l></list></block><l>0.1</l><block var="sprite"/></custom-block><custom-block s="NN show status with input %l on %txt"><block s="reportNumbers"><l>1</l><l>20</l></block><block var="sprite"/></custom-block></script></block></script></block-definition><block-definition s="new ( temporary? %&apos;temporary&apos; ) sprite" type="reporter" category="control" helper="true"><comment x="0" y="0" w="165.58447588584482" collapsed="false">creates a temporary or static Sprite.</comment><header></header><code></code><translations></translations><inputs><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>newSprite</l><l>copy</l></list></block><block s="doWarp"><script><block s="doRun"><block s="reportJSFunction"><list></list><l>this.parent.parent.addNewSprite();</l></block><list></list></block><block s="doSetVar"><l>newSprite</l><block s="reportListItem"><l><option>last</option></l><block s="reportGet"><l><option>other sprites</option></l></block></block></block><block s="doIf"><block var="temporary"/><script><block s="doSetVar"><l>copy</l><block s="newClone"><block var="newSprite"/></block></block><block s="doTellTo"><block var="newSprite"/><block s="reifyScript"><script><block s="doApplyExtension"><l>SciS_removeThisSprite()</l><list></list></block></script><list></list></block><list></list></block><block s="doSetVar"><l>newSprite</l><block var="copy"/></block></script><list></list></block><block s="doTellTo"><block var="newSprite"/><block s="reifyScript"><script><block s="gotoXY"><block s="reportRandom"><l>-100</l><l>-50</l></block><block s="reportRandom"><l>100</l><l>150</l></block></block></script><list></list></block><list></list></block><block s="doReport"><block var="newSprite"/></block></script></block></script><scripts><script x="532.0000000000001" y="103.58333333333334"><block s="doApplyExtension"><l>SciS_createNewSprite()</l><list></list></block></script></scripts></block-definition><block-definition s="Example 4: regression line" type="command" category="5. PlotPad for data plots"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>regressionData</l><l>data</l></list></block><block s="doSetVar"><l>data</l><custom-block s="%n random points near a straight x-range %n %n %br gradient %n y-axis-intercept %n range %n"><l>150</l><l>-5</l><l>5</l><l>1</l><l>0</l><l>4</l></custom-block></block><block s="doSetVar"><l>regressionData</l><custom-block s="regression line parameters of %s"><block var="data"/></custom-block></block><custom-block s="configure %txt as a PlotPad width: %n %br height: %n color: %n %n %n"><l>thisSprite</l><l>400</l><l>300</l><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="set PlotPad labels on %s to %br title: %txt titleheight: %n %br x-label: %txt xLabelheight: %n %br y-label: %txt yLabelheight: %n"><l>thisSprite</l><l>Random data with regression line</l><l>18</l><l>x-values</l><l>16</l><l>y-values</l><l>16</l></custom-block><custom-block s="set PlotPad marker properties style: %txt width: %n %br color: %n %n %n connected? %b on %txt"><l>square</l><l>5</l><l>0</l><l>255</l><l>0</l><l><bool>false</bool></l><l>thisSprite</l></custom-block><custom-block s="set PlotPad ranges for x: %n %n y: %n %n %br with border? %b of %n pretty formatted? %b %br on %txt"><l>-5</l><l>5</l><l>-5</l><l>5</l><l><bool>false</bool></l><l>0.1</l><l><bool>true</bool></l><l>thisSprite</l></custom-block><custom-block s="add dataplot of numeric data: %s to PlotPad %txt"><block var="data"/><l>thisSprite</l></custom-block><custom-block s="set PlotPad line properties style: %txt %br width: %n color: %n %n %n on %txt"><l>continuous</l><l>2</l><l>255</l><l>0</l><l>0</l><l>thisSprite</l></custom-block><custom-block s="add graph %s to PlotPad %txt"><block var="regressionData"/><l>thisSprite</l></custom-block><custom-block s="add axes and scales to PlotPad %txt"><l>thisSprite</l></custom-block></script></block-definition><block-definition s="remove this sprite" type="command" category="control"><comment x="0" y="0" w="142.46510416666678" collapsed="false">Removes the calling sprite.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doApplyExtension"><l>SciS_removeThisSprite()</l><list></list></block></script></block-definition><block-definition s="%&apos;choice&apos; %&apos;name&apos; of %&apos;table&apos; $arrowRightOutline number" type="reporter" category="other" helper="true"><comment x="0" y="0" w="272.1666666666668" collapsed="false">Reports the row or column number of the row or column with the name entered, or reports an error message. If the the name is a number You can mark this with a  # (e.g. #123).</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">column<options>column&#xD;row</options></input><input type="%s">name</input><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>firstLine</l><l>data</l><l>i</l><l>n</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>data</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>data</l><block var="table"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="data"/><l>table</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: only tables supported!</l><l>row/column ... of ... --&gt; number</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: table is empty!</l><l>row/column ... of ... --&gt; number</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>0</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: table is empty!</l><l>row/column ... of ... --&gt; number</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>column</l></list></block><script><block s="doSetVar"><l>firstLine</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><block s="doIf"><block s="reportIsA"><block var="name"/><l><option>number</option></l></block><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="name"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="name"/><block s="reportListAttribute"><l><option>length</option></l><block var="firstLine"/></block></list></block></list></block><script><block s="doReport"><block var="name"/></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: index out of range!</l><l>row/column ... of ... --&gt; number</l></custom-block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>first</l></list></block><script><block s="doReport"><l>1</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>last</l></list></block><script><block s="doReport"><block s="reportListAttribute"><l><option>length</option></l><block var="firstLine"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportLetter"><l>1</l><block var="name"/></block><l>#</l></list></block><script><block s="doSetVar"><l>name</l><custom-block s="substring of %txt from %n to %n"><block var="name"/><l>2</l><block s="reportTextAttribute"><l><option>length</option></l><block var="name"/></block></custom-block></block></script><list></list></block><block s="doSetVar"><l>n</l><l>0</l></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="n"/><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="firstLine"/></block></list></block></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="i"/><block var="firstLine"/></block><block var="name"/></list></block><script><block s="doSetVar"><l>n</l><block var="i"/></block></script><list></list></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="n"/><l>0</l></list></block><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="name"/></block><l>1</l></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportUnicode"><block var="name"/></block><block s="reportUnicode"><l>A</l></block></list></block><block s="reportVariadicLessThanOrEquals"><list><block s="reportUnicode"><block var="name"/></block><block s="reportUnicode"><l>Z</l></block></list></block></list></block></list></block><script><block s="doSetVar"><l>n</l><block s="reportDifference"><block s="reportUnicode"><block var="name"/></block><l>64</l></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block var="firstLine"/></block></list></block><script><block s="doSetVar"><l>n</l><l>0</l></block></script><list></list></block></script><list></list></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="n"/><l>0</l></list></block><script><block s="doReport"><block var="n"/></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: name not found!</l><l>row/column ... of ... --&gt; number</l></custom-block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>row</l></list></block><script><block s="doIf"><block s="reportIsA"><block var="name"/><l><option>number</option></l></block><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="name"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="name"/><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></list></block></list></block><script><block s="doReport"><block var="name"/></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: index out of range!</l><l>row/column ... of ... --&gt; number</l></custom-block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>first</l></list></block><script><block s="doReport"><l>1</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>last</l></list></block><script><block s="doReport"><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportLetter"><l>1</l><block var="name"/></block><l>#</l></list></block><script><block s="doSetVar"><l>name</l><custom-block s="substring of %txt from %n to %n"><block var="name"/><l>2</l><block s="reportTextAttribute"><l><option>length</option></l><block var="name"/></block></custom-block></block></script><list></list></block><block s="doSetVar"><l>n</l><l>0</l></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="n"/><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></list></block></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="i"/><block var="data"/></block></block><block var="name"/></list></block><script><block s="doSetVar"><l>n</l><block var="i"/></block></script><list></list></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="n"/><l>0</l></list></block><script><block s="doReport"><block var="n"/></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: name not found!</l><l>row/column ... of ... --&gt; number</l></custom-block></script></block></script><list></list></block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: something wrong!</l><l>row/column ... of ... --&gt; number</l></custom-block></script></block></script></block-definition><block-definition s="input dialog on %&apos;sprite&apos; with title %&apos;title&apos; $nl and items %&apos;items&apos;" type="reporter" category="sensing" space="true"><comment x="0" y="0" w="140.83333333333334" collapsed="false">Input dialog for a list of items. Click item by mouse and then ok. Returns the selected item.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;anotherSprite</options></input><input type="%txt">title</input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>result</l><l>height</l><l>width</l><l>clickpoint</l><l>ok</l><l>x</l><l>y</l><l>costume</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="target"/><l><option>sprite</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: sprite required!</l><l>input dialog on ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>result</l><l>0</l></block><block s="doSetVar"><l>costume</l><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block></block><block s="doSetVar"><l>height</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListAttribute"><l><option>length</option></l><block var="items"/></block><l>25</l></list></block><l>70</l></list></block></block><block s="doSetVar"><l>width</l><block s="reportTextAttribute"><l><option>length</option></l><block var="title"/></block></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="items"/></block><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block s="reportListItem"><block var="i"/><block var="items"/></block></block><block var="width"/></list></block><script><block s="doSetVar"><l>width</l><block s="reportTextAttribute"><l><option>length</option></l><block s="reportListItem"><block var="i"/><block var="items"/></block></block></block></script><list></list></block></script></block><block s="doSetVar"><l>width</l><block s="reportVariadicProduct"><list><l>8</l><block s="reportVariadicSum"><list><block var="width"/><block s="reportTextAttribute"><l><option>length</option></l><l> (click on it)</l></block></list></block></list></block></block><block s="doSetVar"><l>costume</l><block s="reportGet"><l><option>costume</option></l></block></block><custom-block s="configure %s as an ImagePad width: %n height: %n %br color: %txt with close-button? %b left? %b size: %n"><block var="target"/><block var="width"/><block var="height"/><l>lightGray</l><l><bool>false</bool></l><l><bool>false</bool></l><l>15</l></custom-block><custom-block s="set ImagePad line properties style: %txt %br width: %n color: %mult%s fill color: %mult%s on %txt"><l>continuous</l><l>1</l><list><l>black</l></list><list><l>lightGray</l></list><block var="target"/></custom-block><custom-block s="draw text %txt at: %mult%s height: %n horizontal? %b %br on %txt using Snap! coordinates? %b"><block s="reportJoinWords"><list><block var="title"/><l> (click on it)</l></list></block><list><l>10</l><l>20</l></list><l>18</l><l><bool>true</bool></l><block var="target"/><l><bool>false</bool></l></custom-block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="items"/></block><script><custom-block s="draw text %txt at: %mult%s height: %n horizontal? %b %br on %txt using Snap! coordinates? %b"><block s="reportJoinWords"><list><block var="i"/><l>: </l><block s="reportListItem"><block var="i"/><block var="items"/></block></list></block><list><l>15</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="i"/><l>25</l></list></block><l>30</l></list></block></list><l>18</l><l><bool>true</bool></l><block var="target"/><l><bool>false</bool></l></custom-block></script></block><custom-block s="%txt rectangle from: %mult%s to: %mult%s on %txt %br using Snap! coordinates? %b"><l>draw</l><list><l>25</l><block s="reportDifference"><block var="height"/><l>30</l></block></list><list><l>50</l><block s="reportDifference"><block var="height"/><l>5</l></block></list><block var="target"/><l><bool>false</bool></l></custom-block><custom-block s="draw text %txt at: %mult%s height: %n horizontal? %b %br on %txt using Snap! coordinates? %b"><block var="result"/><list><l>28</l><block s="reportDifference"><block var="height"/><l>12</l></block></list><l>18</l><l><bool>true</bool></l><block var="target"/><l><bool>false</bool></l></custom-block><custom-block s="%txt rectangle from: %mult%s to: %mult%s on %txt %br using Snap! coordinates? %b"><l>draw</l><list><l>70</l><block s="reportDifference"><block var="height"/><l>30</l></block></list><list><l>100</l><block s="reportDifference"><block var="height"/><l>5</l></block></list><block var="target"/><l><bool>false</bool></l></custom-block><custom-block s="draw text %txt at: %mult%s height: %n horizontal? %b %br on %txt using Snap! coordinates? %b"><l>ok</l><list><l>75</l><block s="reportDifference"><block var="height"/><l>12</l></block></list><l>18</l><l><bool>true</bool></l><block var="target"/><l><bool>false</bool></l></custom-block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><custom-block s="set flag %s to %b"><l>draggable</l><l><bool>false</bool></l></custom-block></script><list></list></block><list></list></block></script></block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doUntil"><block var="ok"/><script><block s="show"></block><block s="doIf"><block s="reportMouseDown"></block><script><block s="doWaitUntil"><block s="reportNot"><block s="reportMouseDown"></block></block></block><block s="doWarp"><script><block s="doSetVar"><l>clickpoint</l><custom-block s="%s on %txt by mouse %br using Snap! coordinates %b"><l>costumeCoordinates</l><block var="target"/><l><bool>false</bool></l></custom-block></block><block s="doSetVar"><l>x</l><block s="reportListItem"><l>1</l><block var="clickpoint"/></block></block><block s="doSetVar"><l>y</l><block s="reportListItem"><l>2</l><block var="clickpoint"/></block></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="x"/><l>15</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="x"/><block s="reportVariadicSum"><list><block var="width"/><l>35</l></list></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="y"/><l>38</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="y"/><block s="reportDifference"><block var="height"/><l>35</l></block></list></block></list></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportVariadicSum"><list><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block s="reportDifference"><block var="y"/><l>38</l></block><l>25</l></block></block><l>1</l></list></block></block><custom-block s="%txt rectangle from: %mult%s to: %mult%s on %txt %br using Snap! coordinates? %b"><l>fill</l><list><l>27</l><block s="reportDifference"><block var="height"/><l>28</l></block></list><list><l>48</l><block s="reportDifference"><block var="height"/><l>7</l></block></list><block var="target"/><l><bool>false</bool></l></custom-block><custom-block s="draw text %txt at: %mult%s height: %n horizontal? %b %br on %txt using Snap! coordinates? %b"><block var="result"/><list><l>28</l><block s="reportDifference"><block var="height"/><l>12</l></block></list><l>18</l><l><bool>true</bool></l><block var="target"/><l><bool>false</bool></l></custom-block><block s="show"></block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="x"/><l>70</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="x"/><l>100</l></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="y"/><block s="reportDifference"><block var="height"/><l>30</l></block></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="x"/><block s="reportDifference"><block var="height"/><l>5</l></block></list></block></list></block></list></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><custom-block s="set flag %s to %b"><l>draggable</l><l><bool>true</bool></l></custom-block></script><list></list></block><list></list></block><block s="doSwitchToCostume"><block var="costume"/></block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="result"/><l>0</l></list></block><script><block s="doReport"><block s="reportListItem"><block var="result"/><block var="items"/></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: index out of bounds!</l><l>input dialog on ...</l></custom-block></script></block></script><list></list></block></script></block></script><list></list></block></script></block></script></block-definition><block-definition s="empty table" type="reporter" category="3. Data tools" space="true"><comment x="0" y="0" w="114.1666666666667" collapsed="false">Returns an empty table.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block-definition><block-definition s="%&apos;n&apos; x %&apos;m&apos; table initialized with %&apos;value&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="191.6666666666667" collapsed="false">Reports a new table initialized with value.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">3</input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>row</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>row</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><block var="n"/><script><block s="doAddToList"><block var="value"/><block var="row"/></block></script></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><block var="m"/><script><block s="doAddToList"><custom-block s="copy of %l"><block var="row"/></custom-block><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="new %&apos;n&apos; by %&apos;m&apos; table with labels: %&apos;labels&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="172.5" collapsed="false">Reports a table with labeled columns.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">0</input><input type="%mult%s"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>row</l><l>i</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>row</l><block s="reportNewList"><list></list></block></block><block s="doIf"><block s="reportIsA"><block var="labels"/><l><option>list</option></l></block><script><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="n"/></list></block><script><block s="doIfElse"><block s="reportVariadicLessThanOrEquals"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="labels"/></block></list></block><script><block s="doAddToList"><block s="reportListItem"><block var="i"/><block var="labels"/></block><block var="row"/></block></script><script><block s="doAddToList"><l>...</l><block var="row"/></block></script></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doAddToList"><block var="row"/><block var="result"/></block><block s="doSetVar"><l>row</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><block var="n"/><script><block s="doAddToList"><l></l><block var="row"/></block></script></block><block s="doRepeat"><block var="m"/><script><block s="doAddToList"><custom-block s="copy of %l"><block var="row"/></custom-block><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doReport"><l>ERROR: labels required!</l></block></script></block></script></block-definition><block-definition s="copy of %&apos;list&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="198.83333333333326" collapsed="false">Reports the copy of a list or an empty list.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_copyOf(theList)</l><list><block var="list"/></list></block></block></script></block-definition><block-definition s="import %&apos;choice&apos; from $nl %&apos;source&apos; to SciSnap!Data" type="command" category="3. Data tools"><comment x="0" y="0" w="373.6977306547621" collapsed="false">Imports table-CSV-data, costume-data, SQL-data or FITS-data to SciSnap!Data.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">costume-(RGB)-data<options>table-(CSV)-data&#xD;costume-(RGB)-data&#xD;SQL-(query)-data&#xD;FITS-data</options></input><input type="%s">current-costume<options>current-costume&#xD;filepicker&#xD;other-source</options></input></inputs><script><block s="doDeclareVariables"><list><l>header</l><l>imagedata</l><l>h</l><l>min</l><l>max</l><l>w</l><l>h</l><l>copy</l><l>ready</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="source"/><l>filepicker</l></list></block><script><block s="doSetVar"><l>ready</l><block s="reportApplyExtension"><l>SciS_readFileWithFilepicker()</l><list></list></block></block><block s="doWaitUntil"><block s="reportListItem"><l>1</l><block s="evaluate"><block var="ready"/><list></list></block></block></block><block s="doSetVar"><l>source</l><block s="reportListItem"><l>2</l><block s="evaluate"><block var="ready"/><list></list></block></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>FITS-data</l></list></block><script><block s="doIfElse"><block s="reportNot"><block s="reportIsA"><block var="source"/><l><option>text</option></l></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: FITS data have to be text!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doSetVar"><l>imagedata</l><block s="reportApplyExtension"><l>SciS_extractFITSdata(FITSdata)</l><list><block var="source"/></list></block></block><custom-block s="set SciSnap! global variables and properties"></custom-block><block s="doSetVar"><l>SciSnap!Data</l><block s="reportListItem"><l>6</l><block var="imagedata"/></block></block><custom-block s="set SciSnap! global property %s to %s"><l>typeOfData</l><l>FITS</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>width</l><block s="reportListItem"><l>1</l><block var="imagedata"/></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>height</l><block s="reportListItem"><l>2</l><block var="imagedata"/></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>minValue</l><block s="reportListItem"><l>3</l><block var="imagedata"/></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>maxValue</l><block s="reportListItem"><l>4</l><block var="imagedata"/></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><l>1</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>rows</l><block s="reportListAttribute"><l><option>length</option></l><block var="SciSnap!Data"/></block></custom-block><block s="doSetVar"><l>header</l><block s="reportListItem"><l>5</l><block var="imagedata"/></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="header"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="header"/></block></block><l></l></list></block></list></block><script><custom-block s="set SciSnap! global property %s to %s"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="header"/></block></block><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="header"/></block></block></custom-block><block s="doDeleteFromList"><l>1</l><block var="header"/></block></script></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>table-(CSV)-data</l></list></block><script><block s="doIfElse"><block s="reportNot"><block s="reportIsA"><block var="source"/><l><option>list</option></l></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only import from tables!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doSetVar"><l>w</l><custom-block s="SciSnap! global property %s"><l>width</l></custom-block></block><block s="doSetVar"><l>h</l><custom-block s="SciSnap! global property %s"><l>height</l></custom-block></block><custom-block s="set SciSnap! global variables and properties"></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>width</l><block var="w"/></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>height</l><block var="h"/></custom-block><block s="doSetVar"><l>copy</l><custom-block s="copy of %l"><block var="source"/></custom-block></block><block s="doSetVar"><l>SciSnap!Data</l><block s="reportApplyExtension"><l>SciS_importCSVdata(data)</l><list><block var="copy"/></list></block></block><custom-block s="set SciSnap! global property %s to %s"><l>typeOfData</l><l>table</l></custom-block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="SciSnap!Data"/></block><l>0</l></list></block><script><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><l>0</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>rows</l><l>0</l></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>rows</l><block s="reportListAttribute"><l><option>length</option></l><block var="SciSnap!Data"/></block></custom-block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="SciSnap!Data"/></block><l><option>list</option></l></block><script><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="SciSnap!Data"/></block></block></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><l>1</l></custom-block></script></block></script></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicLessThan"><list><custom-block s="SciSnap! global property %s"><l>columns</l></custom-block><l>10</l></list></block><block s="reportVariadicLessThan"><list><custom-block s="SciSnap! global property %s"><l>rows</l></custom-block><l>1000</l></list></block></list></block><script><block s="doSetVar"><l>min</l><custom-block s="%s of vector %l"><l>min</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>1</l><l>SciSnap!Data</l><l><bool>true</bool></l></custom-block></custom-block></block><block s="doSetVar"><l>max</l><custom-block s="%s of vector %l"><l>max</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>1</l><l>SciSnap!Data</l><l><bool>true</bool></l></custom-block></custom-block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><custom-block s="SciSnap! global property %s"><l>columns</l></custom-block><l>1</l></list></block><script><block s="doFor"><l>i</l><l>2</l><custom-block s="SciSnap! global property %s"><l>columns</l></custom-block><script><block s="doSetVar"><l>h</l><custom-block s="%s of vector %l"><l>min</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="i"/><l>SciSnap!Data</l><l><bool>true</bool></l></custom-block></custom-block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="h"/><block var="min"/></list></block><script><block s="doSetVar"><l>min</l><block var="h"/></block></script><list></list></block><block s="doSetVar"><l>h</l><custom-block s="%s of vector %l"><l>max</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="i"/><l>SciSnap!Data</l><l><bool>true</bool></l></custom-block></custom-block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="h"/><block var="max"/></list></block><script><block s="doSetVar"><l>max</l><block var="h"/></block></script><list></list></block></script></block></script><list></list></block><custom-block s="set SciSnap! global property %s to %s"><l>minValue</l><block var="min"/></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>maxValue</l><block var="max"/></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>minValue</l><l>not set</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>maxValue</l><l>not set</l></custom-block></script></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>costume-(RGB)-data</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="source"/><l>current-costume</l></list></block><script><block s="doSetVar"><l>source</l><block s="reportGet"><l><option>costume</option></l></block></block></script><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="source"/><l><option>costume</option></l></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only import from costumes!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block></script></block><block s="doIf"><block s="reportIsA"><block var="source"/><l><option>costume</option></l></block><script><custom-block s="set SciSnap! global variables and properties"></custom-block><block s="doSetVar"><l>SciSnap!Data</l><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="source"/></block></block><custom-block s="set SciSnap! global property %s to %s"><l>typeOfData</l><l>RGB</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>width</l><block s="reportGetImageAttribute"><l><option>width</option></l><block var="source"/></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>height</l><block s="reportGetImageAttribute"><l><option>height</option></l><block var="source"/></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>rows</l><block s="reportListAttribute"><l><option>length</option></l><block var="SciSnap!Data"/></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="SciSnap!Data"/></block></block></custom-block><block s="doSetVar"><l>min</l><l></l></block><block s="doSetVar"><l>max</l><l></l></block><block s="doFor"><l>i</l><l>2</l><custom-block s="SciSnap! global property %s"><l>columns</l></custom-block><script><block s="doSetVar"><l>h</l><l></l></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="h"/><block var="min"/></list></block><script><block s="doSetVar"><l>min</l><block var="h"/></block></script><list></list></block><block s="doSetVar"><l>h</l><l></l></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="h"/><block var="max"/></list></block><script><block s="doSetVar"><l>max</l><block var="h"/></block></script><list></list></block></script></block><custom-block s="set SciSnap! global property %s to %s"><l>minValue</l><block var="min"/></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>maxValue</l><block var="max"/></custom-block></script><list></list></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>SQL-(query)-data</l></list></block><script><block s="doSetVar"><l>SciSnap!Data</l><block s="reportNewList"><list></list></block></block><block s="doIfElse"><block s="reportIsA"><block var="source"/><l><option>list</option></l></block><script><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><script><block s="doAddToList"><block s="reportTextSplit"><block s="reportListItem"><block var="i"/><block var="source"/></block><l>,</l></block><block var="SciSnap!Data"/></block></script></block><custom-block s="set SciSnap! global property %s to %s"><l>typeOfData</l><l>table</l></custom-block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="SciSnap!Data"/></block><l>0</l></list></block><script><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><l>0</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>rows</l><l>0</l></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>rows</l><block s="reportListAttribute"><l><option>length</option></l><block var="SciSnap!Data"/></block></custom-block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="SciSnap!Data"/></block><l><option>list</option></l></block><script><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="SciSnap!Data"/></block></block></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><l>1</l></custom-block></script></block></script></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicLessThan"><list><custom-block s="SciSnap! global property %s"><l>columns</l></custom-block><l>10</l></list></block><block s="reportVariadicLessThan"><list><custom-block s="SciSnap! global property %s"><l>rows</l></custom-block><l>1000</l></list></block></list></block><script><block s="doSetVar"><l>min</l><custom-block s="%s of vector %l"><l>min</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>1</l><block var="SciSnap!Data"/><l><bool>true</bool></l></custom-block></custom-block></block><block s="doSetVar"><l>max</l><custom-block s="%s of vector %l"><l>max</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>1</l><block var="SciSnap!Data"/><l><bool>true</bool></l></custom-block></custom-block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><custom-block s="SciSnap! global property %s"><l>columns</l></custom-block><l>1</l></list></block><script><block s="doFor"><l>i</l><l>2</l><custom-block s="SciSnap! global property %s"><l>columns</l></custom-block><script><block s="doSetVar"><l>h</l><custom-block s="%s of vector %l"><l>min</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="i"/><block var="SciSnap!Data"/><l><bool>true</bool></l></custom-block></custom-block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="h"/><block var="min"/></list></block><script><block s="doSetVar"><l>min</l><block var="h"/></block></script><list></list></block><block s="doSetVar"><l>h</l><custom-block s="%s of vector %l"><l>max</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="i"/><block var="SciSnap!Data"/><l><bool>true</bool></l></custom-block></custom-block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="h"/><block var="max"/></list></block><script><block s="doSetVar"><l>max</l><block var="h"/></block></script><list></list></block></script></block></script><list></list></block><custom-block s="set SciSnap! global property %s to %s"><l>minValue</l><block var="min"/></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>maxValue</l><block var="max"/></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>minValue</l><l>not set</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>maxValue</l><l>not set</l></custom-block></script></block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only import from tables!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block></script><list></list></block></script></block></script></block-definition><block-definition s="read file with filepicker" type="reporter" category="3. Data tools" helper="true"><comment x="0" y="0" w="153.5" collapsed="false">Reads a file using the filepicker.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>ready</l><l>b</l></list></block><block s="doSetVar"><l>ready</l><block s="reportApplyExtension"><l>SciS_readFileWithFilepicker()</l><list></list></block></block><block s="doWaitUntil"><block s="reportListItem"><l>1</l><block s="evaluate"><block var="ready"/><list></list></block></block></block><block s="doReport"><block s="reportListItem"><l>2</l><block s="evaluate"><block var="ready"/><list></list></block></block></block></script></block-definition><block-definition s="write %&apos;data&apos; to CSV-file %&apos;filename&apos;" type="command" category="3. Data tools"><comment x="0" y="0" w="170.1791359325606" collapsed="false">Stores a list in a CSV file.&#xD;JS-code copied from Snap!-code.</comment><header></header><code></code><translations></translations><inputs><input type="%s">SciSnap!Data</input><input type="%txt">filename</input></inputs><script><block s="doDeclareVariables"><list><l>source</l></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doIfElse"><block s="reportNot"><block s="reportIsA"><block var="source"/><l><option>list</option></l></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only lists supported!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doApplyExtension"><l>SciS_writetoCSVfile(data,filename)</l><list><block var="source"/><block var="filename"/></list></block></script></block></script></block-definition><block-definition s="%&apos;n&apos; random points with ranges x: %&apos;xmin&apos; %&apos;xmax&apos; $nl y: %&apos;ymin&apos; %&apos;ymax&apos; inside of a %&apos;shape&apos;" type="reporter" category="3. Data tools" space="true"><comment x="0" y="0" w="197.04212454212438" collapsed="false">Reports randomly distributed points in the form of a rectangle, circle, or ring.</comment><header></header><code></code><translations></translations><inputs><input type="%n">100</input><input type="%n">-100</input><input type="%n">100</input><input type="%n">-100</input><input type="%n">100</input><input type="%s" readonly="true">square<options>square&#xD;circle&#xD;ring</options></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>r</l><l>alpha</l><l>d</l><l>x0</l><l>y0</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="shape"/><l>square</l></list></block><script><block s="doRepeat"><block var="n"/><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportRandom"><block var="xmin"/><block var="xmax"/></block><block s="reportRandom"><block var="ymin"/><block var="ymax"/></block></list></block><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="shape"/><l>circle</l></list></block><script><block s="doSetVar"><l>r</l><block s="reportQuotient"><custom-block s="%s of %s"><l>min</l><block s="reportNewList"><list><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block var="xmax"/><block var="xmin"/></block></block><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block var="ymax"/><block var="ymin"/></block></block></list></block></custom-block><l>2</l></block></block><block s="doSetVar"><l>x0</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block var="xmin"/><block var="xmax"/></list></block><l>2</l></block></block><block s="doSetVar"><l>y0</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block var="ymin"/><block var="ymax"/></list></block><l>2</l></block></block><block s="doRepeat"><block var="n"/><script><block s="doSetVar"><l>alpha</l><block s="reportVariadicProduct"><list><l>360</l><custom-block s="random"></custom-block></list></block></block><block s="doSetVar"><l>d</l><block s="reportVariadicProduct"><list><block var="r"/><custom-block s="random"></custom-block></list></block></block><block s="doAddToList"><block s="reportNewList"><list><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="d"/><block s="reportMonadic"><l><option>sin</option></l><block var="alpha"/></block></list></block><block var="x0"/></list></block></block><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="d"/><block s="reportMonadic"><l><option>cos</option></l><block var="alpha"/></block></list></block><block var="y0"/></list></block></block></list></block><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="shape"/><l>ring</l></list></block><script><block s="doSetVar"><l>r</l><block s="reportQuotient"><custom-block s="%s of %s"><l>min</l><block s="reportNewList"><list><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block var="xmax"/><block var="xmin"/></block></block><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block var="ymax"/><block var="ymin"/></block></block></list></block></custom-block><l>2</l></block></block><block s="doSetVar"><l>x0</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block var="xmin"/><block var="xmax"/></list></block><l>2</l></block></block><block s="doSetVar"><l>y0</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block var="ymin"/><block var="ymax"/></list></block><l>2</l></block></block><block s="doRepeat"><block var="n"/><script><block s="doSetVar"><l>alpha</l><block s="reportVariadicProduct"><list><l>360</l><custom-block s="random"></custom-block></list></block></block><block s="doSetVar"><l>d</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="r"/><block s="reportVariadicSum"><list><custom-block s="random"></custom-block><l>2</l></list></block></list></block><l>3</l></block></block><block s="doAddToList"><block s="reportNewList"><list><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="d"/><block s="reportMonadic"><l><option>sin</option></l><block var="alpha"/></block></list></block><block var="x0"/></list></block></block><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="d"/><block s="reportMonadic"><l><option>cos</option></l><block var="alpha"/></block></list></block><block var="y0"/></list></block></block></list></block><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script><list></list></block></script></block></script></block-definition><block-definition s="%&apos;n&apos; random points near a straight x-range %&apos;xmin&apos; %&apos;xmax&apos; $nl gradient %&apos;m&apos; y-axis-intercept %&apos;b&apos; range %&apos;delta&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="336.55251141552526" collapsed="false">Creates new random data in the specified ranges swaying by a straight.</comment><header></header><code></code><translations></translations><inputs><input type="%n">10</input><input type="%n">-5</input><input type="%n">5</input><input type="%n">1</input><input type="%n">0</input><input type="%n">2</input></inputs><script><block s="doDeclareVariables"><list><l>data</l><l>x</l><l>y</l><l>diff</l><l>i</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>data</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>diff</l><block s="reportDifference"><block var="xmax"/><block var="xmin"/></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="n"/></list></block><script><block s="doSetVar"><l>x</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><custom-block s="random"></custom-block><block var="diff"/></list></block><block var="xmin"/></list></block></block><block s="doSetVar"><l>y</l><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="m"/><block var="x"/></list></block><block s="reportVariadicProduct"><list><block var="delta"/><block s="reportDifference"><custom-block s="random"></custom-block><l>0.5</l></block></list></block></list></block><block var="b"/></list></block></block><block s="doAddToList"><block s="reportNewList"><list><block var="x"/><block var="y"/></list></block><block var="data"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="data"/></block></script></block></script></block-definition><block-definition s="%&apos;n&apos; random points near %&apos;f&apos; $nl between %&apos;xmin&apos; and %&apos;xmax&apos; range %&apos;range&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="130.68681318681342" collapsed="false">Generates a list of points &quot;near&quot; a given graph.</comment><header></header><code></code><translations></translations><inputs><input type="%n">20</input><input type="%repRing"></input><input type="%n">-5</input><input type="%n">5</input><input type="%n">2</input></inputs><script><block s="doDeclareVariables"><list><l>x</l><l>y</l><l>data</l><l>random</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportIsA"><block var="f"/><l><option>reporter</option></l></block><script><block s="doSetVar"><l>data</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><block var="n"/><script><block s="doSetVar"><l>random</l><custom-block s="random"></custom-block></block><block s="doSetVar"><l>x</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="xmax"/><block var="xmin"/></block><block var="random"/></list></block><block var="xmin"/></list></block></block><block s="doSetVar"><l>y</l><block s="evaluate"><block var="f"/><list><block var="x"/></list></block></block><block s="doSetVar"><l>random</l><custom-block s="random"></custom-block></block><block s="doAddToList"><block s="reportNewList"><list><block var="x"/><block s="reportVariadicSum"><list><block var="y"/><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="random"/><l>0.5</l></block><block var="range"/></list></block></list></block></list></block><block var="data"/></block></script></block><block s="doReport"><block var="data"/></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: reporter with ring required!</l><l>n random points near ...</l></custom-block></script></block></script></block></script></block-definition><block-definition s="transpose table or list %&apos;data&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="198.0136986301369" collapsed="false">Creates the transpose of a table or a list.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block></block><script><block s="doReport"><l>ERROR: data are not transposable!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><block s="doReport"><block var="data"/></block></script><list></list></block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="data"/></block><l><option>list</option></l></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>1</l></list></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="value"/></block></block></script><list><l>value</l></list></block><block var="data"/></block></block></script><list></list></block></script><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportNewList"><list><block var="value"/></list></block></block></script><list><l>value</l></list></block><block var="data"/></block></block></script></block><block s="doIf"><custom-block s="is %s a %txt"><block var="data"/><l>table</l></custom-block><script><block s="doReport"><block s="reportListAttribute"><l><option>columns</option></l><block var="data"/></block></block></script><list></list></block><block s="doReport"><l>ERROR: data are not transposable!</l></block></script></block></script></block-definition><block-definition s="add %&apos;choice&apos; %&apos;newContent&apos; to %&apos;table&apos;" type="command" category="3. Data tools"><comment x="0" y="0" w="256.1904761904763" collapsed="false">Adds a row, a column, or  column headers to a table.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">row<options>row&#xD;column&#xD;column-headers</options></input><input type="%l"></input><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>tablewidth</l><l>item</l><l>target</l><l>i</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>target</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>target</l><block var="table"/></block></script></block><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="target"/><l>table</l></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only tables supported!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>row</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="target"/></block><l>0</l></list></block><script><block s="doIfElse"><block s="reportIsA"><block var="newContent"/><l><option>list</option></l></block><script><block s="doAddToList"><block var="newContent"/><block var="target"/></block></script><script><block s="doAddToList"><block s="reportNewList"><list><block var="newContent"/></list></block><block var="target"/></block></script></block></script><script><block s="doSetVar"><l>tablewidth</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="target"/></block></block></block><block s="doIfElse"><block s="reportIsA"><block var="newContent"/><l><option>list</option></l></block><script><block s="doSetVar"><l>item</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="tablewidth"/></list></block><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="newContent"/></block></list></block><script><block s="doAddToList"><l></l><block var="item"/></block></script><script><block s="doAddToList"><block s="reportListItem"><block var="i"/><block var="newContent"/></block><block var="item"/></block></script></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script><script><block s="doSetVar"><l>item</l><block s="reportNewList"><list><block var="newContent"/></list></block></block><block s="doSetVar"><l>i</l><l>2</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="tablewidth"/></list></block><script><block s="doAddToList"><l></l><block var="item"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script></block><block s="doAddToList"><block var="item"/><block var="target"/></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>column</l></list></block><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="newContent"/><l><option>list</option></l></block></block><script><block s="doSetVar"><l>newContent</l><block s="reportNewList"><list><block var="newContent"/></list></block></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="target"/></block><l>0</l></list></block><script><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="newContent"/></block></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><block var="i"/><block var="newContent"/></block></list></block><block var="target"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script><script><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="target"/></block></list></block><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="newContent"/></block></list></block><script><block s="doAddToList"><l></l><block s="reportListItem"><block var="i"/><block var="target"/></block></block></script><script><block s="doAddToList"><block s="reportListItem"><block var="i"/><block var="newContent"/></block><block s="reportListItem"><block var="i"/><block var="target"/></block></block></script></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>column-headers</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="target"/></block><l>0</l></list></block><script><block s="doIfElse"><block s="reportIsA"><block var="newContent"/><l><option>list</option></l></block><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="newContent"/></block><l>0</l></list></block><script><block s="doAddToList"><block var="newContent"/><block var="target"/></block></script><list></list></block></script><script><block s="doAddToList"><block s="reportNewList"><list><block var="newContent"/></list></block><block var="target"/></block></script></block></script><script><block s="doSetVar"><l>tablewidth</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="target"/></block></block></block><block s="doIfElse"><block s="reportIsA"><block var="newContent"/><l><option>list</option></l></block><script><block s="doSetVar"><l>item</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="tablewidth"/></list></block><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="newContent"/></block></list></block><script><block s="doAddToList"><l></l><block var="item"/></block></script><script><block s="doAddToList"><block s="reportListItem"><block var="i"/><block var="newContent"/></block><block var="item"/></block></script></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script><script><block s="doSetVar"><l>item</l><block s="reportNewList"><list><block var="newContent"/></list></block></block><block s="doSetVar"><l>i</l><l>2</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="tablewidth"/></list></block><script><block s="doAddToList"><l></l><block var="item"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script></block><block s="doInsertInList"><block var="item"/><l>1</l><block var="target"/></block></script></block></script><list></list></block></script></block></script></block-definition><block-definition s="%&apos;choice&apos; %&apos;name&apos; of %&apos;data&apos; with first item? %&apos;WithFirstItem&apos;" type="reporter" category="3. Data tools" space="true"><comment x="0" y="0" w="277.16666666666663" collapsed="false">Reports the row or column of a table identified by number or name, or reports an error message. If the the name is a number You can mark this with a  # (e.g. #123).</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">row<options>row&#xD;column</options></input><input type="%s">numberOrName<options>first&#xD;last&#xD;numberOrName</options></input><input type="%s">SciSnap!Data</input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>table</l><l>result</l><l>n</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>table</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>table</l><block var="data"/></block></script></block><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="table"/><l>table</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: only tables supported!</l><l>row/column of data</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>row</l></list></block><script><block s="doSetVar"><l>n</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>row</l><block var="name"/><block var="table"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>first</l></list></block><script><block s="doSetVar"><l>n</l><l>1</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>last</l></list></block><script><block s="doSetVar"><l>n</l><block s="reportListAttribute"><l><option>length</option></l><block var="table"/></block></block></script><list></list></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown row name!</l><l>row/column of data</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block var="table"/></block></list></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: row index out of range!</l><l>row/column of data</l></custom-block></script><script><block s="doSetVar"><l>result</l><custom-block s="copy of %s"><block s="reportListItem"><block var="n"/><block var="table"/></block></custom-block></block><block s="doIf"><block s="reportNot"><block var="WithFirstItem"/></block><script><block s="doDeleteFromList"><l>1</l><block var="result"/></block></script><list></list></block><block s="doReport"><block var="result"/></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>column</l></list></block><script><block s="doSetVar"><l>n</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="name"/><block var="table"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>first</l></list></block><script><block s="doSetVar"><l>n</l><l>1</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>last</l></list></block><script><block s="doSetVar"><l>n</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="table"/></block></block></block></script><list></list></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown column name!</l><l>row/column of data</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="table"/></block></block></list></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: column index out of range!</l><l>row/column of data</l></custom-block></script><script><block s="doSetVar"><l>result</l><block s="reportMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportListItem"><block var="n"/><l/></block></block></script><list></list></block><block var="table"/></block></block><block s="doIf"><block s="reportNot"><block var="WithFirstItem"/></block><script><block s="doDeleteFromList"><l>1</l><block var="result"/></block></script><list></list></block><block s="doReport"><block var="result"/></block></script></block></script><list></list></block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: something wrong!</l><l>row/column of data</l></custom-block></script></block></script></block-definition><block-definition s="delete %&apos;choice&apos; %&apos;name&apos; of %&apos;data&apos;" type="command" category="3. Data tools"><comment x="0" y="0" w="159.6666666666666" collapsed="false">Deletes a row or column of a table. identified by number or name, or reports an error message. If the the name is a number You can mark this with a  # (e.g. #123).</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">row<options>row&#xD;column</options></input><input type="%s">numberOrName<options>first&#xD;last&#xD;numberOrName</options></input><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>table</l><l>result</l><l>n</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>table</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>table</l><block var="data"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="table"/><l>table</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: only data in tables are deletable!</l><l>delete ... of table</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>row</l></list></block><script><block s="doSetVar"><l>n</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>row</l><block var="name"/><block var="table"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>first</l></list></block><script><block s="doSetVar"><l>n</l><l>1</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>last</l></list></block><script><block s="doSetVar"><l>n</l><block s="reportListAttribute"><l><option>length</option></l><block var="table"/></block></block></script><list></list></block></script><list></list></block><block s="doIf"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block><script><block s="doDeleteFromList"><block var="n"/><block var="table"/></block></script><list></list></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>column</l></list></block><script><block s="doSetVar"><l>n</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="name"/><block var="table"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>first</l></list></block><script><block s="doSetVar"><l>n</l><l>1</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>last</l></list></block><script><block s="doSetVar"><l>n</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="table"/></block></block></block></script><list></list></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown column name!</l><l>delete ... of table</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="table"/></block></block></list></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: column index out of range!</l><l>delete ... of table</l></custom-block></script><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="table"/></block></block><l>1</l></list></block><block s="reportVariadicEquals"><list><block var="n"/><l>1</l></list></block></list></block><script><block s="doDeleteFromList"><l><option>all</option></l><block var="table"/></block></script><script><block s="doSetVar"><l>result</l><block s="reportMap"><block s="reifyReporter"><script><block s="doDeleteFromList"><block var="n"/><block var="item"/></block><block s="doReport"><l></l></block></script><list><l>item</l></list></block><block var="table"/></block></block></script></block></script></block></script><list></list></block></script></block></script></block-definition><block-definition s="element %&apos;xName&apos; %&apos;yName&apos; of %&apos;table&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="130.83333333333306" collapsed="false">Reports the element a position x|y of a table, identified by numbers or names.</comment><header></header><code></code><translations></translations><inputs><input type="%s">numberOrName</input><input type="%s">numberOrName</input><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>x</l><l>y</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="table"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: only tables supported!</l><l>element of ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>x</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="xName"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="x"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown column name!</l><l>element of ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>y</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>row</l><block var="yName"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="y"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown row name!</l><l>element of ...</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="y"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="y"/><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="x"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></list></block></list></block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: coordinates out of range!</l><l>element of ...</l></custom-block></script><script><block s="doReport"><block s="reportListItem"><block var="x"/><block s="reportListItem"><block var="y"/><block var="source"/></block></block></block></script></block></script></block></script></block-definition><block-definition s="set element %&apos;xName&apos; %&apos;yName&apos; of %&apos;table&apos; to %&apos;value&apos;" type="command" category="3. Data tools"><comment x="0" y="0" w="120.11904761904766" collapsed="false">Replaces the value at position x|y of a table.</comment><header></header><code></code><translations></translations><inputs><input type="%s">numberOrName</input><input type="%s">numberOrName</input><input type="%s">SciSnap!Data</input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>x</l><l>y</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="table"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: operation only defined for tables!</l><l>set element of table to value</l></custom-block></script><list></list></block><block s="doSetVar"><l>x</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="xName"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="x"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown column name!</l><l>set element of table to value</l></custom-block></script><list></list></block><block s="doSetVar"><l>y</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>row</l><block var="yName"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="y"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown row name!</l><l>set element of table to value</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="y"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="y"/><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="x"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></list></block></list></block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: coordinates out of range!</l><l>set element of table to value</l></custom-block></script><script><block s="doReplaceInList"><block var="x"/><block s="reportListItem"><block var="y"/><block var="source"/></block><block var="value"/></block></script></block></script></block></script></block-definition><block-definition s="columns %&apos;columns&apos; of %&apos;table&apos; $nl from row %&apos;startnr&apos; to %&apos;endnr&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="100.42857142857069" collapsed="false">Reports the columns from row startnr to row endnr.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%s"></input><input type="%s">SciSnap!Data</input><input type="%s">numberOrName</input><input type="%s">last<options>last&#xD;numberOrName</options></input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>colNumbers</l><l>n</l><l>result</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="table"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: only tables supported!</l><l>columns of ...</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="endnr"/><l>last</l></list></block><script><block s="doSetVar"><l>endnr</l><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></block></script><list></list></block><block s="doSetVar"><l>startnr</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>row</l><block var="startnr"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="startnr"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown row name!</l><l>columns of ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>endnr</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>row</l><block var="endnr"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="endnr"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown row name!</l><l>columns of ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>colNumbers</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><block var="columns"/><script><block s="doIfElse"><block s="reportIsA"><block var="item"/><l><option>number</option></l></block><script><block s="doAddToList"><block var="item"/><block var="colNumbers"/></block></script><script><block s="doSetVar"><l>n</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="item"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown column name!</l><l>columns of ...</l></custom-block></script><list></list></block><block s="doAddToList"><block var="n"/><block var="colNumbers"/></block></script></block></script></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_columncopy(data,cols,start,stop)</l><list><block var="source"/><block var="colNumbers"/><block var="startnr"/><block var="endnr"/></list></block></block></script></block></script></block-definition><block-definition s="subsection of %&apos;choice&apos; in %&apos;data&apos; from $nl %&apos;b1Name&apos; %&apos;b2Name&apos; to %&apos;e1Name&apos; %&apos;e2Name&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="124.57142857142848" collapsed="false">Reports a subsection of an image or table.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">RGB-data<options>table-data&#xD;matrix-data&#xD;list-data&#xD;RGB-data&#xD;FITS-data</options></input><input type="%s">SciSnap!Data</input><input type="%s">numberOrName</input><input type="%s">numberOrName</input><input type="%s">numberOrName</input><input type="%s">numberOrName</input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>width</l><l>height</l><l>begin</l><l>end</l><l>b1</l><l>b2</l><l>e1</l><l>e2</l><l>result</l><l>dummy</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>list-data</l></list></block><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="b1Name"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown start number!</l><l>subsection of ...</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="e1Name"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown end number!</l><l>subsection of ...</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="source"/><l><option>list</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: list required</l><l>subsection of ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>dummy</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="index"/><block var="b1Name"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="index"/><block var="e1Name"/></list></block></list></block><script><block s="doAddToList"><block var="value"/><block var="result"/></block></script><list></list></block><block s="doReport"><l></l></block></script><list><l>value</l><l>index</l></list></block><block var="source"/></block></block><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="choice"/><l>table-data</l></list></block><block s="reportVariadicEquals"><list><block var="choice"/><l>matrix-data</l></list></block></list></block><script><block s="doIf"><block s="reportNot"><block s="reportVariadicOr"><list><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: table or matrix required</l><l>subsection of ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>b1</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="b1Name"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="b1"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown column name!</l><l>subsection of ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>b2</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>row</l><block var="b2Name"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="b2"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown row name!</l><l>subsection of ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>e1</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="e1Name"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="e1"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown column name!</l><l>subsection of ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>e2</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>row</l><block var="e2Name"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="e2"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown row name!</l><l>subsection of ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>begin</l><block s="reportNewList"><list><block var="b1"/><block var="b2"/></list></block></block><block s="doSetVar"><l>end</l><block s="reportNewList"><list><block var="e1"/><block var="e2"/></list></block></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_subsection(data,begin,end)</l><list><block var="source"/><block var="begin"/><block var="end"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="choice"/><l>RGB-data</l></list></block><block s="reportVariadicEquals"><list><block var="choice"/><l>FITS-data</l></list></block></list></block><script><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: please import image-data to SciSnap!Data first!</l><l>subsection of ...</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>RGB-data</l></list></block><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><custom-block s="SciSnap! global property %s"><l>typeOfData</l></custom-block><l>RGB</l></list></block><custom-block s="is %s a %txt"><block var="SciSnap!Data"/><l>matrix</l></custom-block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: wrong data!</l><l>subsection of ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>width</l><custom-block s="SciSnap! global property %s"><l>width</l></custom-block></block><block s="doSetVar"><l>height</l><custom-block s="SciSnap! global property %s"><l>height</l></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>FITS-data</l></list></block><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><custom-block s="SciSnap! global property %s"><l>typeOfData</l></custom-block><l>FITS</l></list></block><custom-block s="is %s a %txt"><block var="SciSnap!Data"/><l>vector</l></custom-block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: wrong data!</l><l>subsection of ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>width</l><custom-block s="SciSnap! global property %s"><l>width</l></custom-block></block><block s="doSetVar"><l>height</l><custom-block s="SciSnap! global property %s"><l>height</l></custom-block></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="source"/><l><option>list</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: list required</l><l>subsection of ...</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="b1Name"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown start number!</l><l>subsection of ...</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="b2Name"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown start number!</l><l>subsection of ...</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="e1Name"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown end number!</l><l>subsection of ...</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="e2Name"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown end number!</l><l>subsection of ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>begin</l><block s="reportNewList"><list><block var="b1Name"/><block var="b2Name"/></list></block></block><block s="doSetVar"><l>end</l><block s="reportNewList"><list><block var="e1Name"/><block var="e2Name"/></list></block></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_subsectionImage(data,begin,end,width,height)</l><list><block var="source"/><block var="begin"/><block var="end"/><block var="width"/><block var="height"/></list></block></block></script><list></list></block></script></block></script></block-definition><block-definition s="select rows of %&apos;table&apos; where $nl column %&apos;name&apos; is %&apos;op&apos; %&apos;value&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="138.33333333333334" collapsed="false">Determines the rows of a table with certain properties.</comment><header></header><code></code><translations></translations><inputs><input type="%s">SciSnap!Data</input><input type="%s">numberOrName</input><input type="%s" readonly="true">less-than<options>less-than&#xD;greater-than&#xD;equal-to&#xD;different-from</options></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>n</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><custom-block s="copy of %s"><block var="table"/></custom-block></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: only tables supported!</l><l>select rows of ... where ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>n</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="name"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown column name!</l><l>select rows of ... where ...</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></list></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: column index out of range!</l><l>select rows of ... where ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>op</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="op"/><l><option>whitespace</option></l></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>less-than</l></list></block><script><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><block s="reportListItem"><block var="n"/><l/></block><block var="value"/></list></block></autolambda><list></list></block><block var="source"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>greater-than</l></list></block><script><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><block var="n"/><l/></block><block var="value"/></list></block></autolambda><list></list></block><block var="source"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>equal-to</l></list></block><script><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="n"/><l/></block><block var="value"/></list></block></autolambda><list></list></block><block var="source"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>different-from</l></list></block><script><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="n"/><l/></block><block var="value"/></list></block></block></autolambda><list></list></block><block var="source"/></block></block></script><list></list></block></script></block></script></block-definition><block-definition s="count values in %&apos;data&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="220" collapsed="false">counts the appearances of the values of a list.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>sortedData</l><l>countedValues</l><l>value</l><l>n</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportVariadicNotEquals"><list><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>list</option></l></block></autolambda><list></list></block><block s="reportNewList"><list><l>A</l><l>B</l><l>C</l></list></block></block><l></l></list></block><script><block s="doReport"><l>ERROR: simple list required!</l></block></script><list></list></block><block s="doSetVar"><l>sortedData</l><custom-block s="sort %l with predicate %predRing"><block var="data"/><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block></custom-block></block><block s="doSetVar"><l>countedValues</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>value</l><block s="reportListItem"><l>1</l><block var="sortedData"/></block></block><block s="doSetVar"><l>n</l><l>0</l></block><block s="doForEach"><l>item</l><block var="sortedData"/><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="item"/><block var="value"/></list></block><script><block s="doChangeVar"><l>n</l><l>1</l></block></script><script><block s="doAddToList"><block s="reportNewList"><list><block var="value"/><block var="n"/></list></block><block var="countedValues"/></block><block s="doSetVar"><l>value</l><block var="item"/></block><block s="doSetVar"><l>n</l><l>1</l></block></script></block></script></block><block s="doAddToList"><block s="reportNewList"><list><block var="value"/><block var="n"/></list></block><block var="countedValues"/></block><block s="doReport"><block var="countedValues"/></block></script></block></script></block-definition><block-definition s="entropy of %&apos;data&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="168" collapsed="false">returns the entropy of a list of data</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><l>0</l></block><block s="doForEach"><l>item</l><custom-block s="count values in %l"><block var="data"/></custom-block><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>2</l><block var="item"/></block><l>0</l></list></block><script><block s="doChangeVar"><l>result</l><block s="reportMonadic"><l><option>neg</option></l><block s="reportVariadicProduct"><list><block s="reportQuotient"><block s="reportListItem"><l>2</l><block var="item"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block><block s="reportMonadic"><l><option>ln</option></l><block s="reportQuotient"><block s="reportListItem"><l>2</l><block var="item"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></block></list></block></block></block></script><list></list></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="%&apos;data&apos; without duplicates" type="reporter" category="3. Data tools"><comment x="0" y="0" w="222.33333333333348" collapsed="false">Copy of corresponding Snap!-library-block: &#xD;Reports a new list whose items are the same as in the input list, except that if two or more equal items appear in the input list, only the last one is kept in the result.</comment><header></header><code></code><translations></translations><inputs><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>b</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicOr"><list><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block><block s="reportIsA"><block var="source"/><l><option>list</option></l></block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: only tables supported!</l><l>... without duplicates</l></custom-block></script><script><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportListIndex"><block var="value"/><block var="list"/></block><block var="index"/></list></block></autolambda><list><l>value</l><l>index</l><l>list</l></list></block><block var="source"/></block></block></script></block></script></block></script></block-definition><block-definition s="%&apos;data&apos; normalized by %&apos;choice&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="142.5" collapsed="false">Normalizes a table by dividing it by the specified value.</comment><header></header><code></code><translations></translations><inputs><input type="%s">SciSnap!Data</input><input type="%s">mean<options>mean&#xD;max&#xD;number&#xD;sum&#xD;median&#xD;softmax</options></input></inputs><script><block s="doDeclareVariables"><list><l>divisor</l><l>source</l><l>n</l><l>sum</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doIfElse"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>vector</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: only vectors supported!</l><l>... normalized by ...</l></custom-block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="choice"/><l>mean</l></list></block><script><block s="doSetVar"><l>divisor</l><custom-block s="%s of %s"><l>mean</l><block var="source"/></custom-block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="choice"/><l>max</l></list></block><script><block s="doSetVar"><l>divisor</l><custom-block s="%s of %s"><l>max</l><block var="source"/></custom-block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="choice"/><l>number</l></list></block><script><block s="doSetVar"><l>divisor</l><custom-block s="%s of %s"><l>number</l><block var="source"/></custom-block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="choice"/><l>sum</l></list></block><script><block s="doSetVar"><l>divisor</l><custom-block s="%s of %s"><l>sum</l><block var="source"/></custom-block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="choice"/><l>median</l></list></block><script><block s="doSetVar"><l>divisor</l><custom-block s="%s of %s"><l>median</l><block var="source"/></custom-block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="choice"/><l>softmax</l></list></block><script><block s="doReport"><custom-block s="%s of %s"><l>softmax</l><block var="source"/></custom-block></block></script><script><block s="doIfElse"><block s="reportIsA"><block var="choice"/><l><option>number</option></l></block><script><block s="doSetVar"><l>divisor</l><block var="choice"/></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: illegal operation!</l><l>... normalized by ...</l></custom-block></script></block></script></block></script></block></script></block></script></block></script></block></script></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="divisor"/><l>0</l></list></block></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportQuotient"><l></l><block var="divisor"/></block></autolambda><list></list></block><block var="source"/></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: divisor is 0!</l><l>... normalized by ...</l></custom-block></script></block></script></block></script></block></script></block-definition><block-definition s="%&apos;data&apos; compressed with $nl factor %&apos;n&apos; by averaging" type="reporter" category="3. Data tools"><comment x="0" y="0" w="137.85714285714297" collapsed="false">Reports a compressed version of a vector or matrix.</comment><header></header><code></code><translations></translations><inputs><input type="%s">SciSnap!Data</input><input type="%n">2</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>h</l><l>source</l><l>i</l><l>j</l><l>isMatrix</l><l>columnNr</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doSetVar"><l>isMatrix</l><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportVariadicOr"><list><custom-block s="is %s a %txt"><block var="source"/><l>vector</l></custom-block><block var="isMatrix"/></list></block></block><script><block s="doReport"><l>ERROR: vector required!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block></list></block><script><block s="doReport"><l>ERROR: impossible operation!</l></block></script><list></list></block><block s="doIf"><block s="reportNot"><block var="isMatrix"/></block><script><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="source"/></block><l><option>list</option></l></block><script><block s="doSetVar"><l>source</l><custom-block s="transpose table or list %l"><block var="source"/></custom-block></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportVariadicSum"><list><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><block var="n"/></block><l>1</l></list></block></list></block><script><block s="doSetVar"><l>h</l><block s="reportListItem"><block var="i"/><block var="source"/></block></block><block s="doSetVar"><l>j</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThanOrEquals"><list><block var="j"/><block var="n"/></list></block><script><block s="doSetVar"><l>h</l><block s="reportVariadicSum"><list><block var="h"/><block s="reportListItem"><block s="reportVariadicSum"><list><block var="i"/><block var="j"/></list></block><block var="source"/></block></list></block></block><block s="doChangeVar"><l>j</l><l>1</l></block></script></block><block s="doAddToList"><block s="reportQuotient"><block var="h"/><block var="n"/></block><block var="result"/></block><block s="doChangeVar"><l>i</l><block var="n"/></block></script></block><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doSetVar"><l>result</l><custom-block s="empty table"></custom-block></block><block s="doSetVar"><l>columnNr</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="columnNr"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></list></block><script><custom-block s="add %s %l to %s"><l>column</l><custom-block s="%s compressed with %br factor %n by averaging"><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="columnNr"/><block var="source"/><l><bool>true</bool></l></custom-block><block var="n"/></custom-block><block var="result"/></custom-block><block s="doChangeVar"><l>columnNr</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="%&apos;typeOfPooling&apos; pooling of %&apos;data&apos; $nl with stride %&apos;stride&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="140.99999999999991" collapsed="false">Pooling operation with matrices, images and vectors. On the top of the result are the new dimensions.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">max<options>max&#xD;mean</options></input><input type="%s">SciSnap!Data</input><input type="%n">2</input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>typeOfData</l><l>width</l><l>height</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block><block s="doSetVar"><l>typeOfData</l><custom-block s="SciSnap! global property %s"><l>typeOfData</l></custom-block></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block><block s="doIfElse"><custom-block s="is %s a %txt"><block var="source"/><l>vector</l></custom-block><script><block s="doSetVar"><l>typeOfData</l><l>vector</l></block></script><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block><script><block s="doSetVar"><l>typeOfData</l><l>matrix</l></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: only defined for matrices, images, and vectors!</l><l>pooling of ...</l></custom-block></script></block></script></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="stride"/><l>1</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: stride is too small!</l><l>pooling of ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>typeOfPooling</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="typeOfPooling"/><l> </l></block></block></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="typeOfData"/><l>matrix</l></list></block><block s="reportVariadicEquals"><list><block var="typeOfData"/><l>vector</l></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="typeOfData"/><l>FITS</l></list></block><block s="reportVariadicEquals"><list><block var="typeOfData"/><l>RGB</l></list></block></list></block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: only defined for images, tables, and lists!</l><l>pooling of ...</l></custom-block></script><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="typeOfData"/><l>vector</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>0</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: no data found!</l><l>pooling of ...</l></custom-block></script><script><block s="doSetVar"><l>width</l><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></block><block s="doSetVar"><l>height</l><l>1</l></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="typeOfData"/><l>matrix</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>0</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: no data found!</l><l>pooling of ...</l></custom-block></script><script><block s="doSetVar"><l>width</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></block><block s="doSetVar"><l>height</l><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="typeOfData"/><l>FITS</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>0</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: no data found!</l><l>pooling of ...</l></custom-block></script><script><block s="doSetVar"><l>width</l><l>1</l></block><block s="doSetVar"><l>height</l><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="typeOfData"/><l>RGB</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>0</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: no data found!</l><l>pooling of ...</l></custom-block></script><script><block s="doSetVar"><l>width</l><custom-block s="SciSnap! global property %s"><l>width</l></custom-block></block><block s="doSetVar"><l>height</l><custom-block s="SciSnap! global property %s"><l>height</l></custom-block></block></script></block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_pooling(data,width,height,typeOfPooling,stride,typeOfData)</l><list><block var="source"/><block var="width"/><block var="height"/><block var="typeOfPooling"/><block var="stride"/><block var="typeOfData"/></list></block></block></script></block></script></block></script></block-definition><block-definition s="sort %&apos;data&apos; with predicate %&apos;fn&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="107.5" collapsed="false">Reports a sorted list.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%predRing"></input></inputs><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="data"/><l><option>list</option></l></block><block s="reportIsA"><block var="fn"/><l><option>predicate</option></l></block></list></block><script><block s="doReport"><block s="reportApplyExtension"><l>lst_sort(list, fn)</l><list><block var="data"/><block var="fn"/></list></block></block></script><script><block s="doReport"><l>ERROR: list and predicate required!</l></block></script></block></script></block-definition><block-definition s="%&apos;table&apos; sorted by column %&apos;name&apos; $nl ascending %&apos;ascending&apos; considering headline? %&apos;withHeadline&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="101.66666666666667" collapsed="false">Sorts a list or table.</comment><header></header><code></code><translations></translations><inputs><input type="%s">SciSnap!Data</input><input type="%s">numberOrName</input><input type="%b">true</input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>result</l><l>headline</l><l>n</l><l>isTable</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="table"/></block></script></block><block s="doSetVar"><l>isTable</l><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block></block><block s="doIf"><block s="reportNot"><block var="isTable"/></block><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="source"/><l><option>list</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: only tables and lists supported!</l><l>... sorted by column ...</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListAttribute"><l><option>dimensions</option></l><block var="source"/></block></block><l>1</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: only tables and lists supported!</l><l>... sorted by column ...</l></custom-block></script><list></list></block></script><list></list></block><block s="doIfElse"><block var="isTable"/><script><block s="doSetVar"><l>n</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="name"/><block var="source"/></custom-block></block></script><script><block s="doSetVar"><l>n</l><l>1</l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown column name!</l><l>... sorted by column ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>result</l><custom-block s="copy of %s"><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block var="withHeadline"/></block><script><block s="doSetVar"><l>headline</l><block s="reportListItem"><l>1</l><block var="result"/></block></block><block s="doDeleteFromList"><l>1</l><block var="result"/></block></script><list></list></block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="result"/></block><l><option>list</option></l></block><script><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="result"/></block></block></list></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: index out of range!</l><l>... sorted by column ...</l></custom-block></script><list></list></block><block s="doIfElse"><block var="ascending"/><script><block s="doSetVar"><l>result</l><block s="evaluate"><block s="reifyReporter"><autolambda><custom-block s="sort %s with predicate %predRing"><block var="result"/><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><block s="reportListItem"><block var="column"/><l/></block><block s="reportListItem"><block var="column"/><l/></block></list></block></autolambda><list></list></block></custom-block></autolambda><list><l>column</l></list></block><list><block var="n"/></list></block></block></script><script><block s="doSetVar"><l>result</l><block s="evaluate"><block s="reifyReporter"><autolambda><custom-block s="sort %s with predicate %predRing"><block var="result"/><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><block var="column"/><l/></block><block s="reportListItem"><block var="column"/><l/></block></list></block></autolambda><list></list></block></custom-block></autolambda><list><l>column</l></list></block><list><block var="n"/></list></block></block></script></block></script><script><block s="doIfElse"><block var="ascending"/><script><block s="doSetVar"><l>result</l><block s="evaluate"><block s="reifyReporter"><autolambda><custom-block s="sort %s with predicate %predRing"><block var="result"/><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block></custom-block></autolambda><list><l>column</l></list></block><list><block var="n"/></list></block></block></script><script><block s="doSetVar"><l>result</l><block s="evaluate"><block s="reifyReporter"><autolambda><custom-block s="sort %s with predicate %predRing"><block var="result"/><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><l></l><l></l></list></block></autolambda><list></list></block></custom-block></autolambda><list><l>column</l></list></block><list><block var="n"/></list></block></block></script></block></script></block><block s="doIf"><block s="reportNot"><block var="withHeadline"/></block><script><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="result"/></block><l><option>list</option></l></block><script><custom-block s="add %s %s to %s"><l>column-headers</l><block var="headline"/><block var="result"/></custom-block></script><script><block s="doInsertInList"><block var="headline"/><l>1</l><block var="result"/></block></script></block></script><list></list></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="%&apos;choice&apos; of column %&apos;kName&apos; of %&apos;table&apos; $nl grouped by column %&apos;name&apos; considering headline? %&apos;withHeadline&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="201.66666666666666" collapsed="false">Determines a group of properties of a table.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">mean<options>min&#xD;max&#xD;number&#xD;sum&#xD;mean</options></input><input type="%s">numberOrName</input><input type="%s">SciSnap!Data</input><input type="%s">numberOrName</input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>copy</l><l>source</l><l>groupcolumn</l><l>valuecolumn</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="table"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: only tables supported!</l><l>... of column ... grouped by ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>groupcolumn</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="name"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="groupcolumn"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown column name!</l><l>... of column ... grouped by ...</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="groupcolumn"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="groupcolumn"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></list></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: column index out of range!</l><l>... of column ... grouped by ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>valuecolumn</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="kName"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="valuecolumn"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown column name!</l><l>... of column ... grouped by ...</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="valuecolumn"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="valuecolumn"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></list></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: column index out of range!</l><l>... of column ... grouped by ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doSetVar"><l>copy</l><block s="evaluate"><block s="reifyReporter"><autolambda><custom-block s="%s sorted by column %s %br ascending %b considering headline? %b"><block var="source"/><block var="groupcolumn"/><l><bool>true</bool></l><block var="withHeadline"/></custom-block></autolambda><list></list></block><list></list></block></block><block s="doIf"><block s="reportNot"><block var="withHeadline"/></block><script><block s="doDeleteFromList"><l>1</l><block var="copy"/></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="copy"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_groupeddata(aTable,compaircolumn,operation,groupcolumn)</l><list><block var="copy"/><block var="valuecolumn"/><block var="choice"/><block var="groupcolumn"/></list></block></block></script></block></script></block-definition><block-definition s="%&apos;choice&apos; of column %&apos;xName&apos; and %&apos;yName&apos; $nl of %&apos;table&apos; considering headline? %&apos;withHeadline&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="199.42307692307688" collapsed="false">Calculates the ranges, the covariance or the correlation between two columns of a table.&#xD;</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">ranges<options>ranges&#xD;covariance&#xD;correlation</options></input><input type="%s">numberOrName</input><input type="%s">numberOrName</input><input type="%s">SciSnap!Data</input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>copy</l><l>n</l><l>m</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="table"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: only tables supported!</l><l>ranges/covariance ... of </l></custom-block></script><list></list></block><block s="doSetVar"><l>n</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="xName"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown column name!</l><l>ranges/covariance ... of </l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></list></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: column index out of range!</l><l>ranges/covariance ... of </l></custom-block></script><list></list></block><block s="doSetVar"><l>m</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="yName"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="m"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown column name!</l><l>ranges/covariance ... of </l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="m"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="m"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></list></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: column index out of range!</l><l>ranges/covariance ... of </l></custom-block></script><list></list></block><block s="doSetVar"><l>copy</l><custom-block s="copy of %s"><block var="source"/></custom-block></block><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doIf"><block s="reportNot"><block var="withHeadline"/></block><script><block s="doDeleteFromList"><l>1</l><block var="copy"/></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="copy"/></block><l>1</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: bad data!</l><l>ranges/covariance ... of </l></custom-block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_propertiesoftable(selection,table,x,y)</l><list><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block><block var="copy"/><block var="n"/><block var="m"/></list></block></block></script></block></script></block-definition><block-definition s="regression line parameters of %&apos;data&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="125.66666666666691" collapsed="false">Calculates the parameters of a regression line.</comment><header></header><code></code><translations></translations><inputs><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>meanX</l><l>meanY</l><l>denominator</l><l>numerator</l><l>m</l><l>b</l><l>source</l><l>sumX</l><l>sumY</l><l>dummy</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doIfElse"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: matrix required!</l><l>regression line parameters of ...</l></custom-block></script><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block><l>2</l></list></block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: wrong data format!</l><l>regression line parameters of ...</l></custom-block></script><list></list></block></script></block><block s="doSetVar"><l>sumX</l><l>0</l></block><block s="doSetVar"><l>sumY</l><l>0</l></block><block s="doSetVar"><l>numerator</l><l>0</l></block><block s="doSetVar"><l>denominator</l><l>0</l></block><block s="doSetVar"><l>dummy</l><block s="reportMap"><block s="reifyReporter"><script><block s="doChangeVar"><l>sumX</l><block s="reportListItem"><l>1</l><l/></block></block><block s="doChangeVar"><l>sumY</l><block s="reportListItem"><l>2</l><l/></block></block><block s="doReport"><l></l></block></script><list></list></block><block var="source"/></block></block><block s="doSetVar"><l>meanX</l><block s="reportQuotient"><block var="sumX"/><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></block></block><block s="doSetVar"><l>meanY</l><block s="reportQuotient"><block var="sumY"/><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></block></block><block s="doSetVar"><l>dummy</l><block s="reportMap"><block s="reifyReporter"><script><block s="doChangeVar"><l>numerator</l><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>1</l><l/></block><block var="meanX"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><l/></block><block var="meanY"/></block></list></block></block><block s="doChangeVar"><l>denominator</l><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>1</l><l/></block><block var="meanX"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><l/></block><block var="meanX"/></block></list></block></block><block s="doReport"><l></l></block></script><list></list></block><block var="source"/></block></block><block s="doSetVar"><l>m</l><block s="reportQuotient"><block var="numerator"/><block var="denominator"/></block></block><block s="doSetVar"><l>b</l><block s="reportDifference"><block var="meanY"/><block s="reportVariadicProduct"><list><block var="m"/><block var="meanX"/></list></block></block></block><block s="doReport"><block s="reportNewList"><list><block var="m"/><block var="b"/></list></block></block></script></block></script></block-definition><block-definition s="%&apos;k&apos; next neighbors of %&apos;point&apos; $nl in %&apos;data&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="229.00000000000003" collapsed="false">Determines the next k neighbours of a point in data. The class of the point has to be in column 3.</comment><header></header><code></code><translations></translations><inputs><input type="%n">5</input><input type="%l"></input><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>neighbors</l><l>points</l><l>result</l><l>dummy</l><l>x1</l><l>y1</l><l>x2</l><l>y2</l><l>class</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>points</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>points</l><block var="data"/></block></script></block><block s="doIfElse"><block s="reportNot"><custom-block s="is %s a %txt"><block var="points"/><l>table</l></custom-block></block><script><block s="doReport"><l>ERROR: table requested!</l></block></script><script><block s="doIfElse"><block s="reportNot"><custom-block s="is %s a %txt"><block var="point"/><l>vector</l></custom-block></block><script><block s="doReport"><l>ERROR: vector requested!</l></block></script><script><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="k"/><l>2</l></list></block><script><block s="doReport"><l>ERROR: number of neighbors too small!</l></block></script><script><block s="doSetVar"><l>neighbors</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>x1</l><block s="reportListItem"><l>1</l><block var="point"/></block></block><block s="doSetVar"><l>y1</l><block s="reportListItem"><l>2</l><block var="point"/></block></block><block s="doSetVar"><l>dummy</l><block s="reportMap"><block s="reifyReporter"><script><block s="doSetVar"><l>x2</l><block s="reportListItem"><l>1</l><block var="point2"/></block></block><block s="doSetVar"><l>y2</l><block s="reportListItem"><l>2</l><block var="point2"/></block></block><block s="doSetVar"><l>class</l><block s="reportListItem"><l><option>last</option></l><block var="point2"/></block></block><block s="doAddToList"><block s="reportNewList"><list><block var="x2"/><block var="y2"/><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="x1"/><block var="x2"/></block><block s="reportDifference"><block var="x1"/><block var="x2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="y1"/><block var="y2"/></block><block s="reportDifference"><block var="y1"/><block var="y2"/></block></list></block></list></block></block><block var="class"/></list></block><block var="neighbors"/></block><block s="doReport"><l></l></block></script><list><l>point2</l></list></block><block var="points"/></block></block><block s="doSetVar"><l>neighbors</l><custom-block s="%s sorted by column %s %br ascending %b considering headline? %b"><block var="neighbors"/><l>3</l><l><bool>true</bool></l><l><bool>true</bool></l></custom-block></block><block s="doReport"><custom-block s="subsection of %s in %s from %br %s %s to %s %s"><l>table-data</l><block var="neighbors"/><l>1</l><l>1</l><l>4</l><block var="k"/></custom-block></block></script></block></script></block></script></block></script></block></script></block-definition><block-definition s="convolution kernel %&apos;kernel&apos; applied $nl to %&apos;typeOfData&apos; %&apos;data&apos; width %&apos;width&apos; height %&apos;height&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="107.33333333333348" collapsed="false">Applies a convolution to a table with FITS, RGB, or table values.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s" readonly="true">table<options>image&#xD;table</options></input><input type="%s">SciSnap!Data</input><input type="%n">100</input><input type="%n">100</input></inputs><script><block s="doDeclareVariables"><list><l>w</l><l>h</l><l>t</l><l>m</l><l>source</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="data"/><l>matrix</l></custom-block><script><block s="doSetVar"><l>source</l><block var="data"/></block></script><script><block s="doReport"><l>ERROR: wrong data type!</l></block></script></block></script></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="source"/><l><option>list</option></l></block><custom-block s="is %s a %txt"><block var="kernel"/><l>matrix</l></custom-block></list></block></block><script><block s="doReport"><l>ERROR: wrong data format!</l></block></script><script><block s="doSetVar"><l>h</l><block s="reportListAttribute"><l><option>length</option></l><block var="kernel"/></block></block><block s="doSetVar"><l>w</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="kernel"/></block></block></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportNot"><block s="reportVariadicEquals"><list><block var="w"/><block var="h"/></list></block></block><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportVariadicProduct"><list><l>2</l><block s="reportRound"><block s="reportQuotient"><block var="w"/><l>2</l></block></block></list></block><block var="w"/></list></block><block s="reportVariadicEquals"><list><block s="reportVariadicProduct"><list><l>2</l><block s="reportRound"><block s="reportQuotient"><block var="h"/><l>2</l></block></block></list></block><block var="h"/></list></block></list></block></list></block><script><block s="doReport"><l>ERROR: wrong kernel!</l></block></script><script><block s="doSetVar"><l>typeOfData</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="typeOfData"/><l> </l></block></block></block><block s="doSetVar"><l>m</l><block s="reportRound"><block s="reportQuotient"><block var="w"/><l>2</l></block></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="typeOfData"/><l>image</l></list></block><script><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="source"/></block><l><option>number</option></l></block><script><block s="doSetVar"><l>t</l><l>FITS</l></block></script><script><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="source"/></block><l><option>list</option></l></block><script><block s="doSetVar"><l>t</l><l>RGB</l></block></script><script><block s="doReport"><l>ERROR wrong data format!</l></block></script></block></script></block></script><script><block s="doSetVar"><l>t</l><l>table</l></block><block s="doSetVar"><l>width</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></block><block s="doSetVar"><l>height</l><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></block></script></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_convolution(kernel,data,width,height,typeOfData,mIndex,kWidth)</l><list><block var="kernel"/><block var="source"/><block var="width"/><block var="height"/><block var="t"/><block var="m"/><block var="w"/></list></block></block></script></block></script></block></script></block></script></block-definition><block-definition s="%&apos;k&apos; -means clustering for %&apos;data&apos; $nl with Euclidean metrics" type="reporter" category="3. Data tools"><comment x="0" y="0" w="167.33333333333348" collapsed="false">Custering of n-dimensional data with k-means-method. Cluster numbers are attached to the data.</comment><header></header><code></code><translations></translations><inputs><input type="%n">3</input><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>source</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><custom-block s="copy of %s"><block var="SciSnap!Data"/></custom-block></block></script><script><block s="doSetVar"><l>source</l><custom-block s="copy of %s"><block var="data"/></custom-block></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: operation only defined for matrices!</l><l>k-means clusering .. Euclidean</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><block var="k"/></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: too few data!</l><l>k-means clusering .. Euclidean</l></custom-block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_k-means-clustering(k,data)</l><list><block var="k"/><block var="source"/></list></block></block></script></block></script></block-definition><block-definition s="%&apos;k&apos; -means clustering for %&apos;data&apos; with metric %&apos;metric&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="185.33333333333348" collapsed="false">Custering of n-dimensional data with k-means-method. A metric has to be delivered as a ringified term. Cluster numbers are attached to the data.</comment><header></header><code></code><translations></translations><inputs><input type="%n">3</input><input type="%s">SciSnap!Data</input><input type="%repRing">ringified operator</input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>result</l><l>minmax</l><l>dimension</l><l>centers</l><l>center</l><l>anyChanges</l><l>minDistance</l><l>distance</l><l>nearestCenter</l><l>dummy</l><l>dummy2</l><l>n</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block></block><script><block s="doReport"><l>ERROR: only defined for matrices!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><block var="k"/></list></block><script><block s="doReport"><l>ERROR: too few data!</l></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="metric"/><l><option>reporter</option></l></block></block><script><block s="doReport"><l>ERROR: ringified operator for metric required!</l></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportConcatenatedLists"><list><l/><block s="reportNewList"><list><l>0</l></list></block></list></block></block></script><list></list></block><block var="source"/><comment w="161.66666666666669" collapsed="false">add cluster number 0 to data</comment></block></block><block s="doSetVar"><l>dimension</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></block><block s="doSetVar"><l>minmax</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block var="dimension"/><script><block s="doAddToList"><block s="reportNewList"><list><custom-block s="%s of vector %l"><l>min</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="i"/><block var="source"/><l><bool>true</bool></l></custom-block></custom-block><custom-block s="%s of vector %l"><l>max</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="i"/><block var="source"/><l><bool>true</bool></l></custom-block></custom-block></list></block><block var="minmax"/></block></script><comment w="175" collapsed="false">calculate min and max for all columns</comment></block><block s="doSetVar"><l>centers</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block var="k"/><script><block s="doSetVar"><l>center</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>m</l><l>1</l><block var="dimension"/><script><block s="doAddToList"><block s="reportRandom"><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="m"/><block var="minmax"/></block></block><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="m"/><block var="minmax"/></block></block></block><block var="center"/></block></script><comment w="133.33333333333334" collapsed="false">choose k random centers</comment></block><block s="doAddToList"><block var="i"/><block var="center"/></block><block s="doAddToList"><block var="center"/><block var="centers"/></block></script><comment w="189.55696614583346" collapsed="false">calculate min and max for all columns</comment></block><block s="doSetVar"><l>anyChanges</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>n</l><l>0</l></block><block s="doUntil"><block s="reportNot"><block var="anyChanges"/></block><script><block s="doChangeVar"><l>n</l><l>1</l></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="n"/><l>2000</l></list></block><script><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doSetVar"><l>anyChanges</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>dummy</l><block s="reportAtomicMap"><block s="reifyReporter"><script><block s="doSetVar"><l>minDistance</l><l>100000000</l></block><block s="doSetVar"><l>nearestCenter</l><l>0</l></block><block s="doSetVar"><l>dummy2</l><block s="reportMap"><block s="reifyReporter"><script><block s="doSetVar"><l>distance</l><block s="evaluate"><block var="metric"/><list><block var="point"/><block var="center"/></list></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="distance"/><block var="minDistance"/></list></block><script><block s="doSetVar"><l>nearestCenter</l><block s="reportListItem"><block s="reportVariadicSum"><list><block var="dimension"/><l>1</l></list></block><block var="center"/></block></block><block s="doSetVar"><l>minDistance</l><block var="distance"/></block></script><list></list></block><block s="doReport"><l></l></block></script><list><l>center</l></list></block><block var="centers"/></block></block><block s="doIf"><block s="reportVariadicNotEquals"><list><block var="nearestCenter"/><block s="reportListItem"><block s="reportVariadicSum"><list><block var="dimension"/><l>1</l></list></block><block var="point"/></block></list></block><script><block s="doReplaceInList"><block s="reportVariadicSum"><list><block var="dimension"/><l>1</l></list></block><block var="point"/><block var="nearestCenter"/></block><block s="doSetVar"><l>anyChanges</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="doReport"><l></l></block></script><list><l>point</l></list></block><block var="result"/></block><comment w="90" collapsed="false">build clusters</comment></block><block s="doIf"><block var="anyChanges"/><script><block s="doFor"><l>i</l><l>1</l><block var="k"/><script><block s="doSetVar"><l>dummy</l><custom-block s="select rows of %s where %br column %s is %s %s"><block var="result"/><block s="reportVariadicSum"><list><block var="dimension"/><l>1</l></list></block><l>equal-to</l><block var="i"/></custom-block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="dummy"/></block><l>0</l></list></block><script><block s="doFor"><l>m</l><l>1</l><block var="dimension"/><script><block s="doReplaceInList"><block var="m"/><block s="reportListItem"><block var="i"/><block var="centers"/></block><custom-block s="%s of vector %l"><l>mean</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="m"/><block var="dummy"/><l><bool>true</bool></l></custom-block></custom-block></block></script></block></script><list></list></block></script><comment w="90" collapsed="false">adjust centers</comment></block></script><list></list></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="Levenshtein-distance of %&apos;s1&apos; and %&apos;s2&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="90" collapsed="false">Metric for Strtings.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">Saturday</input><input type="%txt">Sunday</input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_LevenshteinDistance(s1,s2)</l><list><block var="s1"/><block var="s2"/></list></block></block></script></block-definition><block-definition s="DBSCAN clustering for %&apos;data&apos; radius %&apos;r&apos; minMembers %&apos;minMembers&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="177.66666666666674" collapsed="false">labels of data: -1 not visited, 0 visited, -2 noise, &gt;0 clusternr</comment><header></header><code></code><translations></translations><inputs><input type="%s">SciSnap!Data</input><input type="%n">50</input><input type="%n">5</input></inputs><script><block s="doDeclareVariables"><list><l>source</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><custom-block s="copy of %l"><block var="SciSnap!Data"/></custom-block></block></script><script><block s="doSetVar"><l>source</l><custom-block s="copy of %l"><block var="data"/></custom-block></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block></block><script><block s="doReport"><l>ERROR: only defined for matrices!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>2</l></list></block><script><block s="doReport"><l>ERROR: too few data!</l></block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_DBSCAN(data,r,minMembers)</l><list><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportConcatenatedLists"><list><l/><block s="reportNewList"><list><l>-1</l></list></block></list></block></autolambda><list></list></block><block var="source"/></block><block var="r"/><block var="minMembers"/></list></block></block></script></block></script></block-definition><block-definition s="decision tree ID3 for %&apos;data&apos; $nl with labeled data in last column" type="reporter" category="3. Data tools"><comment x="0" y="0" w="306" collapsed="false">reports a ID3 decision tree constructed on the base of labeled data</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>countedValues</l><l>information gains</l><l>newData</l><l>links</l><l>compareColumn</l><l>values</l><l>nTotal</l><l>result</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="data"/><l>table</l></custom-block><comment w="90" collapsed="false">wrong data</comment></block><script><block s="doReport"><l>ERROR: table required!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list><comment w="90" collapsed="false">empty dataset</comment></block><script><block s="doReport"><l>empty dataset</l></block></script><list></list></block><block s="doSetVar"><l>countedValues</l><custom-block s="count values in %l"><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>last</l><block var="data"/><l><bool>true</bool></l></custom-block></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="countedValues"/></block><l>1</l></list></block><script><block s="doReport"><block s="reportNewList"><list><l>leaf</l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="countedValues"/></block></block></list></block></block></script><list></list><comment w="122.00000000000001" collapsed="false">only one result --&gt; ready</comment></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>1</l></list></block><script><block s="doReport"><block s="reportNewList"><list><l>leaf (unambiguous)</l><block s="reportListItem"><l>1</l><block s="reportListItem"><block s="reportRandom"><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="countedValues"/></block></block><block var="countedValues"/></block></block></list></block></block></script><list></list><comment w="122.00000000000001" collapsed="false">only one attribut left --&gt; ready</comment></block><block s="doSetVar"><l>information gains</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>1</l></block><script><block s="doSetVar"><l>nTotal</l><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block><block s="doSetVar"><l>result</l><custom-block s="entropy of %l"><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>last</l><block var="data"/><l><bool>true</bool></l></custom-block></custom-block></block><block s="doSetVar"><l>values</l><custom-block s="count values in %l"><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="i"/><block var="data"/><l><bool>true</bool></l></custom-block></custom-block></block><block s="doForEach"><l>item</l><block var="values"/><script><block s="doSetVar"><l>result</l><block s="reportDifference"><block var="result"/><block s="reportVariadicProduct"><list><block s="reportQuotient"><block s="reportListItem"><l>2</l><block var="item"/></block><block var="nTotal"/></block><custom-block s="entropy of %l"><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>last</l><custom-block s="select rows of %s where %br column %s is %s %s"><block var="data"/><block var="i"/><l>equal-to</l><block s="reportListItem"><l>1</l><block var="item"/></block></custom-block><l><bool>true</bool></l></custom-block></custom-block></list></block></block></block></script></block><block s="doAddToList"><block s="reportNewList"><list><block var="i"/><block var="result"/></list></block><block var="information gains"/></block></script><comment w="209" collapsed="false">calculate information gains for all attributes</comment></block><block s="doSetVar"><l>information gains</l><custom-block s="%s sorted by column %s %br ascending %b considering headline? %b"><block var="information gains"/><l>2</l><l><bool>false</bool></l><l><bool>true</bool></l></custom-block></block><block s="doSetVar"><l>compareColumn</l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="information gains"/></block></block><comment w="165" collapsed="false">take attribute with max information gain as compare criterion</comment></block><block s="doSetVar"><l>countedValues</l><custom-block s="count values in %l"><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="compareColumn"/><block var="data"/><l><bool>true</bool></l></custom-block></custom-block></block><block s="doSetVar"><l>links</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><block var="countedValues"/><script><block s="doSetVar"><l>newData</l><custom-block s="select rows of %s where %br column %s is %s %s"><block var="data"/><block var="compareColumn"/><l>equal-to</l><block s="reportListItem"><l>1</l><block var="item"/></block></custom-block></block><custom-block s="delete %s %s of %s"><l>column</l><block var="compareColumn"/><block var="newData"/></custom-block><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="item"/></block><custom-block s="decision tree ID3 for %l %br with labeled data in last column"><block var="newData"/></custom-block></list></block><block var="links"/></block></script><comment w="257" collapsed="false">recursive construction of ID3 trees for all other attributes</comment></block><block s="doReport"><block s="reportNewList"><list><l>node</l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="information gains"/></block></block><block var="links"/></list></block></block></script></block></script></block-definition><block-definition s="SQL-Example 1: simple query" type="command" category="4. SQL tools"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="configure SQL"></custom-block><block s="doShowVar"><l>SQLData</l></block><custom-block s="connect to database server"></custom-block><custom-block s="choose database no. %n"><l>2</l></custom-block><custom-block s="import SQL-data from %l to SQLData"><custom-block s="exec SQL-command %txt"><custom-block s="SELECT %s %mult%txt FROM %mult%txt WHERE %b"><l>*</l><list></list><list><l>schueler</l></list><l/></custom-block></custom-block></custom-block></script></block-definition><block-definition s="configure %&apos;sprite&apos; as an ImagePad width: %&apos;width&apos; $nl height: %&apos;height&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="142.5" collapsed="false">Creates a new  empty costume of the specified size and color and sets local properties</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>costumeWidth</l><l>costumeHeight</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>sprite</l><l>theStage</l></block><block s="doSetVar"><l>costumeWidth</l><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block></block><block s="doSetVar"><l>costumeHeight</l><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="gotoXY"><l>0</l><l>0</l></block><block s="setHeading"><l>90</l></block><block s="show"></block></script><list></list></block><list></list></block><block s="doSetVar"><l>costumeWidth</l><block var="width"/></block><block s="doSetVar"><l>costumeHeight</l><block var="height"/></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myProperties</l></list></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myData</l></list></block><block s="doSetVar"><l>myProperties</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>myData</l><block s="reportNewList"><list></list></block></block><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="costumeWidth"/><block var="costumeHeight"/><block var="r"/><block var="g"/><block var="b"/></list></block></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfConfiguration</l><l>ImagePad</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfData</l><l>none</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>lineProperties</l><block s="reportNewList"><list><l>continuous</l><l>1</l><l>0</l><l>0</l><l>0</l><l>180</l><l>180</l><l>180</l></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>dataProperties</l><block s="reportNewList"><list><l>notSet</l><l>notSet</l><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>imageProperties</l><block s="reportNewList"><list><l>notSet</l><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doAddToList"><block s="reportNewList"><list><l>costumeProperties</l><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="r"/><block var="g"/><block var="b"/><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block var="width"/></block><l>2</l></block><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="height"/></block><l>2</l></block></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doAddToList"><block s="reportNewList"><list><l>costumeProperties</l><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block></script></block></script></block></script><scripts><comment x="486.6666666666667" y="78.5" w="192.5" collapsed="false">costume properties:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;6: left offset for Image position on stage&#xD;7: upper offset for Image position on stage&#xD;&#xD;line properties:&#xD;1: lineWidth&#xD;2: line color red&#xD;3: line color green&#xD;4: lineColor blue&#xD;&#xD;data properties:&#xD;1: minValue&#xD;2: maxValue&#xD;3: columns&#xD;4: rows&#xD;&#xD;image properties:&#xD;1: type (RGB,FITS)&#xD;2: imageWidth&#xD;3: imageHeight&#xD;</comment></scripts></block-definition><block-definition s="is %&apos;sprite&apos; an ImagePad?" type="predicate" category="6. ImagePad for image operations"><comment x="0" y="0" w="134" collapsed="false">Reports whether the sprite is configured as an ImagePad.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><l><option>myself</option></l></block><block s="reifyReporter"><autolambda><custom-block s="is %s a %s ?"><l>thisSprite</l><l>ImagePad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><l>Stage</l></block><block s="reifyReporter"><autolambda><custom-block s="is %s a %s ?"><l>thisSprite</l><l>ImagePad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><block var="sprite"/></block><block s="reifyReporter"><autolambda><custom-block s="is %s a %s ?"><l>thisSprite</l><l>ImagePad</l></custom-block></autolambda><list></list></block><list></list></block></block></script></block></script></block></script></block></script></block-definition><block-definition s="ImagePadProperty %&apos;key&apos; of %&apos;sprite&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="95" collapsed="false">Reads the value of an existing property.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">typeOfConfiguration<options>typeOfConfiguration&#xD;typeOfData&#xD;costumeProperties={&#xD;width=costumeWidth&#xD;height=costumeHeight&#xD;back color=backColor&#xD;offsets=offsets&#xD;front color=frontColor&#xD;}&#xD;text properties={&#xD;text height=textHeight&#xD;orientation=textOrientation&#xD;}&#xD;closebutton properties={&#xD;with closebutton?=withCloseButton&#xD;position=closeButtonLeft&#xD;size=closeButtonSize&#xD;}&#xD;data properties={&#xD;minValue=minValue&#xD;maxValue=maxValue&#xD;columns=columns&#xD;rows=rows&#xD;mean value=mean&#xD;standard deviation=stddev&#xD;}&#xD;image properties ={&#xD;image type=imageType&#xD;image width=imageWidth&#xD;image height=imageHeight&#xD;image real size=imageRealSize&#xD;}</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as ImagePad!</l><l>ImgePadProperty of ...</l></custom-block></script><list></list></block><block s="doIfElse"><custom-block s="is variable %s in the scope of %s ?"><l>myProperties</l><block var="target"/></custom-block><script><block s="doReport"><block s="reportListItem"><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="key"/><l> </l></block></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: missing variable myProperties!</l><l>ImgePadProperty of ...</l></custom-block></script></block></script></block></script></block-definition><block-definition s="set ImagePadProperty %&apos;key&apos; of %&apos;sprite&apos; to %&apos;value&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="128" collapsed="false">Sets the value of an existing property or inserts it anew.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">typeOfConfiguration<options>typeOfConfiguration&#xD;typeOfData&#xD;costumeProperties={&#xD;width=costumeWidth&#xD;height=costumeHeight&#xD;back color=backColor&#xD;offsets=offsets&#xD;front color=frontColor&#xD;}&#xD;line properties={&#xD;line width=lineWidth&#xD;line style=lineStyle&#xD;line color=lineColor&#xD;fill color=fillColor&#xD;}&#xD;text properties={&#xD;text height=textHeight&#xD;orientation=textOrientation&#xD;}&#xD;closebutton properties={&#xD;with closebutton?=withCloseButton&#xD;position=closeButtonLeft&#xD;size=closeButtonSize&#xD;}&#xD;data properties={&#xD;minValue=minValue&#xD;maxValue=maxValue&#xD;columns=columns&#xD;rows=rows&#xD;mean value=mean&#xD;standard deviation=stddev&#xD;}&#xD;image properties ={&#xD;image type=imageType&#xD;image width=imageWidth&#xD;image height=imageHeight&#xD;image real size=imageRealSize&#xD;}</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as ImagePad</l><l>set ImagePadProperty</l></custom-block></script><list></list></block><block s="doIfElse"><custom-block s="is variable %s in the scope of %s ?"><l>myProperties</l><block var="target"/></custom-block><script><block s="doReplaceInList"><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="key"/><l> </l></block></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="value"/></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: Missing variable "myProperties"!</l><l>set ImagePadProperty</l></custom-block></script></block></script></block></script></block-definition><block-definition s="set ImagePad costume properties width: %&apos;width&apos; $nl height: %&apos;height&apos; back color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; $nl offsets: %&apos;leftOffset&apos; %&apos;upperOffset&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="117.66039530436237" collapsed="false">a simple way to set some costume attributes:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;6: left offset for Image&#xD;    position on stage&#xD;7: upper offset for Image&#xD;    position on stage</comment><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input><input type="%n">0</input><input type="%n">0</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>costumeProperties</l><l>theStage</l><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="r"/><block var="g"/><block var="b"/><block var="leftOffset"/><block var="upperOffset"/></list></block></custom-block></script><script><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>costumeProperties</l><block var="target"/><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/><block var="leftOffset"/><block var="upperOffset"/></list></block></custom-block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></list></block></block></script><list></list></block><list></list></block></script></block></script></block-definition><block-definition s="set ImagePad line properties style: %&apos;style&apos; $nl width: %&apos;lineWidth&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; $nl fill color: %&apos;rfill&apos; %&apos;gfill&apos; %&apos;bfill&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="105.68386840820364" collapsed="false">a simple way to set some net attributes:&#xD;line properties:&#xD;1: line style&#xD;2: lineWidth&#xD;3: line color red&#xD;4: line color green&#xD;5: lineColor blue&#xD;6: fill color red&#xD;6: fill color green&#xD;8: fill color blue</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">continuous<options>continuous&#xD;dashed&#xD;dash-dot&#xD;dot-dot</options></input><input type="%n">1</input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input><input type="%n">180</input><input type="%n">180</input><input type="%n">180</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>lineProperties</l><block var="target"/><block s="reportNewList"><list><block var="style"/><block var="lineWidth"/><block var="r"/><block var="g"/><block var="b"/><block var="rfill"/><block var="gfill"/><block var="bfill"/></list></block></custom-block></script></block></script></block-definition><block-definition s="add %&apos;color&apos; image of %&apos;data&apos; to ImagePad $nl min/max: %&apos;min&apos; %&apos;max&apos; log? %&apos;log&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="143.16666666666666" collapsed="false">Generates an image from the FITS or RGB data of the DataSprite in gray or false colors</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">gray<options>gray&#xD;false-color&#xD;RGB</options></input><input type="%s">myData</input><input type="%n">0</input><input type="%n">255</input><input type="%b">false</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>pixels</l><l>source</l><l>gray</l><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>color</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="color"/><l> </l></block></block></block><block s="doSetVar"><l>source</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>myData</l></list></block><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block var="data"/></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>FITS</l></list></block><script><block s="doSetVar"><l>gray</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="color"/><l>gray</l></list></block><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block></block></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>pixels</l><block s="reportApplyExtension"><l>SciS_FITSpixelsOnStageForImagePad(data,min,max,gray,log,pixels,cAttributes,iAttributes)</l><list><block var="source"/><block var="min"/><block var="max"/><block var="gray"/><block var="log"/><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>pixels</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><l>theStage</l></custom-block><custom-block s="ImagePadProperty %txt of %txt"><l>imageProperties</l><l>theStage</l></custom-block></list></block></block><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportNewCostume"><block var="pixels"/><block s="reportListItem"><l>1</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><l>theStage</l></custom-block></block><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><l>theStage</l></custom-block></block></block></list></block></script><script><block s="doSetVar"><l>pixels</l><block s="reportApplyExtension"><l>SciS_FITSpixelsOnSpriteForImagePad(data,min,max,gray,log,iAttributes)</l><list><block var="source"/><block var="min"/><block var="max"/><block var="gray"/><block var="log"/><custom-block s="ImagePadProperty %txt of %txt"><l>imageProperties</l><block var="target"/></custom-block></list></block></block><block s="doTellTo"><block var="target"/><block s="reifyReporter"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportNewCostume"><block var="pixels"/><block s="reportListItem"><l>1</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></block></list></block></script></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>RGB</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="color"/><l>RGB</l></list></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportNewCostume"><block var="source"/><block s="reportListItem"><l>1</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></block></list></block></script><script><block s="doSetVar"><l>gray</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="color"/><l>gray</l></list></block><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block></block></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>pixels</l><block s="reportApplyExtension"><l>SciS_RGBpixelsOnStageForImagePad(data,min,max,gray,log,pixels,cAttributes,iAttributes)</l><list><block var="source"/><block var="min"/><block var="max"/><block var="gray"/><block var="log"/><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>pixels</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><l>theStage</l></custom-block><custom-block s="ImagePadProperty %txt of %txt"><l>imageProperties</l><l>theStage</l></custom-block></list></block></block><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportNewCostume"><block var="pixels"/><block s="reportListItem"><l>1</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><l>theStage</l></custom-block></block><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><l>theStage</l></custom-block></block></block></list></block></script><script><block s="doSetVar"><l>pixels</l><block s="reportApplyExtension"><l>SciS_RGBpixelsOnSpriteForImagePad(data,min,max,gray,log)</l><list><block var="source"/><block var="min"/><block var="max"/><block var="gray"/><block var="log"/></list></block></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportNewCostume"><block var="pixels"/><block s="reportListItem"><l>1</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></block></list></block></script></block></script></block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only RGB- and FITS-images supported!</l></custom-block></script></block></script></block></script></block></script></block-definition><block-definition s="import %&apos;choice&apos; from %&apos;source&apos; $nl to %&apos;data&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="118.57142857142861" collapsed="false">Imports costume-data or FITS-data to a data list.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">costume(RGB)data<options>costume(RGB)data&#xD;FITSData</options></input><input type="%s" readonly="true">currentCostume<options>currentCostume&#xD;filepicker&#xD;list with dimensions at top</options></input><input type="%s">myData</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>header</l><l>imagedata</l><l>costumeData</l><l>min</l><l>max</l><l>w</l><l>h</l><l>target</l><l>input</l><l>costumeData</l><l>ready</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="source"/><l>filepicker</l></list></block><script><block s="doSetVar"><l>ready</l><block s="reportApplyExtension"><l>SciS_readFileWithFilepicker()</l><list></list></block></block><block s="doWaitUntil"><block s="reportListItem"><l>1</l><block s="evaluate"><block var="ready"/><list></list></block></block></block><block s="doSetVar"><l>source</l><block s="reportListItem"><l>2</l><block s="evaluate"><block var="ready"/><list></list></block></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>FITSData</l></list></block><script><block s="doIfElse"><block s="reportNot"><block s="reportIsA"><block var="source"/><l><option>text</option></l></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: FITS data have to be text!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doSetVar"><l>imagedata</l><block s="reportApplyExtension"><l>SciS_extractFITSdata(FITSdata)</l><list><block var="source"/></list></block></block><block s="doSetVar"><l>w</l><block s="reportListItem"><l>1</l><block var="imagedata"/></block></block><block s="doSetVar"><l>h</l><block s="reportListItem"><l>2</l><block var="imagedata"/></block></block><block s="doSetVar"><l>min</l><block s="reportListItem"><l>3</l><block var="imagedata"/></block></block><block s="doSetVar"><l>max</l><block s="reportListItem"><l>4</l><block var="imagedata"/></block></block><block s="doSetVar"><l>costumeData</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSetVar"><l>myProperties</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>myData</l><l></l></block></script><list></list></block><list><block s="reportListItem"><l>6</l><block var="imagedata"/></block></list></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfConfiguration</l><l>ImagePad</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfData</l><l>FITS</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>lineProperties</l><block s="reportNewList"><list><l>1</l><l>0</l><l>0</l><l>0</l></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>dataProperties</l><block s="reportNewList"><list><block var="min"/><block var="max"/><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>6</l><block var="imagedata"/></block></block></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>imageProperties</l><block s="reportNewList"><list><l>FITS</l><block var="w"/><block var="h"/></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doSetVar"><l>header</l><block s="reportListItem"><l>5</l><block var="imagedata"/></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="header"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="header"/></block></block><l></l></list></block></list></block><script><custom-block s="set ImagePadProperty %txt of %txt to %s"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="header"/></block></block><block var="target"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="header"/></block></block></custom-block><block s="doDeleteFromList"><l>1</l><block var="header"/></block></script></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doReplaceInList"><l>6</l><block var="costumeData"/><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block var="w"/></block><l>2</l></block></block><block s="doReplaceInList"><l>7</l><block var="costumeData"/><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="h"/></block><l>2</l></block></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>costumeProperties</l><block var="target"/><block var="costumeData"/></custom-block></script><script><block s="doReplaceInList"><l>1</l><block var="costumeData"/><block var="w"/></block><block s="doReplaceInList"><l>2</l><block var="costumeData"/><block var="h"/></block><block s="doReplaceInList"><l>6</l><block var="costumeData"/><l>0</l></block><block s="doReplaceInList"><l>7</l><block var="costumeData"/><l>0</l></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>costumeProperties</l><block var="target"/><block var="costumeData"/></custom-block></script></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>costume(RGB)data</l></list></block><script><block s="doSetVar"><l>input</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="source"/><l>currentCostume</l></list></block><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="source"/></block></block><block s="doIfElse"><block s="reportIsA"><block var="input"/><l><option>costume</option></l></block><script><block s="doSetVar"><l>w</l><block s="reportGetImageAttribute"><l><option>width</option></l><block var="input"/></block></block><block s="doSetVar"><l>h</l><block s="reportGetImageAttribute"><l><option>height</option></l><block var="input"/></block></block><block s="doSetVar"><l>input</l><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="input"/></block></block></script><script><block s="doIfElse"><block s="reportIsA"><block var="input"/><l><option>list</option></l></block><script><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="input"/></block><l>3</l></list></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: too few data!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>w</l><block s="reportListItem"><l>1</l><block var="input"/></block></block><block s="doSetVar"><l>h</l><block s="reportListItem"><l>2</l><block var="input"/></block></block><block s="doDeleteFromList"><l>1</l><block var="input"/></block><block s="doDeleteFromList"><l>1</l><block var="input"/></block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: costume or costume data required!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block></script></block><block s="doSetVar"><l>costumeData</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="doSetVar"><l>min</l><block s="reportCombine"><block var="input"/><block s="reifyReporter"><autolambda><block s="reportVariadicMin"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block><block s="doSetVar"><l>min</l><block s="reportVariadicMin"><list><block s="reportListItem"><l>1</l><block var="min"/></block><block s="reportVariadicMin"><list><block s="reportListItem"><l>2</l><block var="min"/></block><block s="reportListItem"><l>3</l><block var="min"/></block></list></block></list></block></block><block s="doSetVar"><l>max</l><block s="reportCombine"><block var="input"/><block s="reifyReporter"><autolambda><block s="reportVariadicMax"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block><block s="doSetVar"><l>max</l><block s="reportVariadicMax"><list><block s="reportListItem"><l>1</l><block var="max"/></block><block s="reportVariadicMax"><list><block s="reportListItem"><l>2</l><block var="max"/></block><block s="reportListItem"><l>3</l><block var="max"/></block></list></block></list></block></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSetVar"><l>myProperties</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>myData</l><l></l></block></script><list></list></block><list><block var="input"/></list></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfConfiguration</l><l>ImagePad</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfData</l><l>RGB</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>lineProperties</l><block s="reportNewList"><list><l>1</l><l>0</l><l>0</l><l>0</l></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>dataProperties</l><block s="reportNewList"><list><block var="min"/><block var="max"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="input"/></block></block><block s="reportListAttribute"><l><option>length</option></l><block var="input"/></block></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>imageProperties</l><block s="reportNewList"><list><l>RGB</l><block var="w"/><block var="h"/></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doReplaceInList"><l>6</l><block var="costumeData"/><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block var="w"/></block><l>2</l></block></block><block s="doReplaceInList"><l>7</l><block var="costumeData"/><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="h"/></block><l>2</l></block></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>costumeProperties</l><block var="target"/><block var="costumeData"/></custom-block></script><script><block s="doReplaceInList"><l>1</l><block var="costumeData"/><block var="w"/></block><block s="doReplaceInList"><l>2</l><block var="costumeData"/><block var="h"/></block><block s="doReplaceInList"><l>6</l><block var="costumeData"/><l>0</l></block><block s="doReplaceInList"><l>7</l><block var="costumeData"/><l>0</l></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>costumeProperties</l><block var="target"/><block var="costumeData"/></custom-block></script></block></script><list></list></block></script></block></script></block-definition><block-definition s="draw line from %&apos;x1&apos; %&apos;y1&apos; to %&apos;x2&apos; %&apos;y2&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="153.10468750000004" collapsed="false">Draws a line on present costume using line properties. Attention: JS coordinates are used. </comment><header></header><code></code><translations></translations><inputs><input type="%n">10</input><input type="%n">10</input><input type="%n">100</input><input type="%n">100</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_drawLineOnImagepad(costume,x1,y1,x2,y2,lineAttributes)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="x1"/><block var="y1"/><block var="x2"/><block var="y2"/><custom-block s="ImagePadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></list></block></block></script><list></list></block><list></list></block></script></block></script></block-definition><block-definition s="draw rectangle from %&apos;x1&apos; %&apos;y1&apos; to %&apos;x2&apos; %&apos;y2&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="130.83333333333334" collapsed="false">Draws a rectangle on present costume using line properties. Attention: JS coordinates are used. </comment><header></header><code></code><translations></translations><inputs><input type="%n">10</input><input type="%n">10</input><input type="%n">100</input><input type="%n">100</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>x</l><l>y</l><l>w</l><l>h</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="x1"/><block var="x2"/></list></block><script><block s="doSetVar"><l>x</l><block var="x2"/></block><block s="doSetVar"><l>w</l><block s="reportDifference"><block var="x1"/><block var="x2"/></block></block></script><script><block s="doSetVar"><l>x</l><block var="x1"/></block><block s="doSetVar"><l>w</l><block s="reportDifference"><block var="x2"/><block var="x1"/></block></block></script></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="y1"/><block var="y2"/></list></block><script><block s="doSetVar"><l>y</l><block var="y2"/></block><block s="doSetVar"><l>h</l><block s="reportDifference"><block var="y1"/><block var="y2"/></block></block></script><script><block s="doSetVar"><l>y</l><block var="y1"/></block><block s="doSetVar"><l>h</l><block s="reportDifference"><block var="y2"/><block var="y1"/></block></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_drawRectangleOnImagepad(costume,x1,y1,width,height,lineAttributes)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="x"/><block var="y"/><block var="w"/><block var="h"/><custom-block s="ImagePadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></list></block></list></block></script></block></script></block-definition><block-definition s="fill rectangle from %&apos;x1&apos; %&apos;y1&apos; to %&apos;x2&apos; %&apos;y2&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="164.6575342465754" collapsed="false">Fills a rectangle on present costume using surface properties. Attention: JS coordinates are used.</comment><header></header><code></code><translations></translations><inputs><input type="%n">10</input><input type="%n">10</input><input type="%n">100</input><input type="%n">100</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>x</l><l>y</l><l>w</l><l>h</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="x1"/><block var="x2"/></list></block><script><block s="doSetVar"><l>x</l><block var="x2"/></block><block s="doSetVar"><l>w</l><block s="reportDifference"><block var="x1"/><block var="x2"/></block></block></script><script><block s="doSetVar"><l>x</l><block var="x1"/></block><block s="doSetVar"><l>w</l><block s="reportDifference"><block var="x2"/><block var="x1"/></block></block></script></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="y1"/><block var="y2"/></list></block><script><block s="doSetVar"><l>y</l><block var="y2"/></block><block s="doSetVar"><l>h</l><block s="reportDifference"><block var="y1"/><block var="y2"/></block></block></script><script><block s="doSetVar"><l>y</l><block var="y1"/></block><block s="doSetVar"><l>h</l><block s="reportDifference"><block var="y2"/><block var="y1"/></block></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_fillRectangleOnImagepad(costume,x1,y1,width,height,lineAttributes)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="x"/><block var="y"/><block var="w"/><block var="h"/><custom-block s="ImagePadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></list></block></list></block></script></block></script></block-definition><block-definition s="draw circle center: %&apos;x&apos; %&apos;y&apos; radius: %&apos;radius&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="215.6098307291664" collapsed="false">Draws a circle on present costume using line properties. Attention: JS coordinates are used.</comment><header></header><code></code><translations></translations><inputs><input type="%n">100</input><input type="%n">100</input><input type="%n">20</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_drawCircleOnImagepad(costume,x,y,radius,lineAttributes)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="x"/><block var="y"/><block var="radius"/><custom-block s="ImagePadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></list></block></list></block></script></block-definition><block-definition s="fill circle center: %&apos;x&apos; %&apos;y&apos; radius: %&apos;radius&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="160.5251141552513" collapsed="false">Fills a circle on present costume using surface properties. Attention: JS coordinates are used.</comment><header></header><code></code><translations></translations><inputs><input type="%n">100</input><input type="%n">100</input><input type="%n">20</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_fillCircleOnImagepad(costume,x,y,radius,lineAttributes)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="x"/><block var="y"/><block var="radius"/><custom-block s="ImagePadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></list></block></list></block></script></block-definition><block-definition s="draw text %&apos;text&apos; at %&apos;x&apos; %&apos;y&apos; height: %&apos;height&apos; $nl horizontal? %&apos;horizontal&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="158.33333333333334" collapsed="false">Draws a text on present costume using line properties. Attention: JS coordinates are used.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">my text</input><input type="%n">100</input><input type="%n">50</input><input type="%n">12</input><input type="%b">true</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_drawTextOnImagepad(costume,x,y,text,height,horizontal,lineAttributes)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="x"/><block var="y"/><block var="text"/><block var="height"/><block var="horizontal"/><custom-block s="ImagePadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></list></block></list></block></script></block-definition><block-definition s="set RGB at %&apos;x&apos; %&apos;y&apos; on %&apos;sprite&apos; to %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="186.66666666666669" collapsed="false">Sets the RGB value al (x|y) on costume. Attention: JS-coordinates are used!</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">255</input><input type="%n">100</input><input type="%n">30</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>props</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block s="reportListItem"><l>1</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: coordinates out of range!</l></custom-block></script><script><block s="doSetVar"><l>props</l><custom-block s="ImagePadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></block><block s="doReplaceInList"><l>3</l><block var="props"/><block var="r"/></block><block s="doReplaceInList"><l>4</l><block var="props"/><block var="g"/></block><block s="doReplaceInList"><l>5</l><block var="props"/><block var="b"/></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>lineProperties</l><block var="target"/><block var="props"/></custom-block><custom-block s="draw line from %n %n to %n %n on %txt"><block s="reportDifference"><block var="x"/><l>1</l></block><block var="y"/><block var="x"/><block var="y"/><block var="target"/></custom-block></script></block></script></block></script><scripts><script x="79.86230468750023" y="797.9166666666656"><block s="reportNewList"><list><l></l><l></l><l></l></list></block></script></scripts></block-definition><block-definition s="RGB at %&apos;x&apos; %&apos;y&apos; on %&apos;sprite&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="263.41324200913243" collapsed="false">Reports the RGB value at the position (x|y) of the costume. JS-code-snippets copied from Snap!-code. Attention: JS-coordinates are used!</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>b</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as ImagePad!</l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block s="reportListItem"><l>1</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><block s="doReport"><l>ERROR: coordinates out of range!</l></block></script><script><block s="doReport"><block s="reportListItem"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="y"/><l>1</l></block><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block></list></block><block var="x"/></list></block><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>pixels</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block></block></block></script></block></script></block></script></block-definition><block-definition s="set image value of myData at %&apos;x&apos; %&apos;y&apos; $nl on %&apos;sprite&apos; to %&apos;value&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="163.3333333333337" collapsed="false">Sets the value at (x|y) in myData. Attention: JS-coordinates are used!</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>RGB</l></list></block><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>FITS</l></list></block></list></block><script><block s="doSetVar"><l>x</l><block s="reportRound"><block var="x"/></block></block><block s="doSetVar"><l>y</l><block s="reportRound"><block var="y"/></block></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>imageProperties</l><block var="target"/></custom-block></block></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block s="reportListItem"><l>3</l><custom-block s="ImagePadProperty %txt of %txt"><l>imageProperties</l><block var="target"/></custom-block></block></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: coordinates out of range!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>1</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block><l><option>list</option></l></block><block s="reportIsA"><block var="value"/><l><option>list</option></l></block></list></block><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>1</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block><l><option>number</option></l></block><block s="reportIsA"><block var="value"/><l><option>number</option></l></block></list></block></list></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: wrong data format!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doReplaceInList"><block s="reportVariadicSum"><list><block var="x"/><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="y"/><l>1</l></block><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>imageProperties</l><block var="target"/></custom-block></block></list></block></list></block><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block var="value"/></block></script></block></script></block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only RGB- and FITS-data supported!</l></custom-block></script></block></script></block></script></block-definition><block-definition s="image value of myData at %&apos;x&apos; %&apos;y&apos; on %&apos;sprite&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="170" collapsed="false">Reads the data value at the position (x/y) of an image stored in myData.&#xD;Attention: JS-coordinates are used!</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as ImagePad!</l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>RGB</l></list></block><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>FITS</l></list></block></list></block><script><block s="doSetVar"><l>x</l><block s="reportRound"><block var="x"/></block></block><block s="doSetVar"><l>y</l><block s="reportRound"><block var="y"/></block></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>imageProperties</l><block var="target"/></custom-block></block></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block s="reportListItem"><l>3</l><custom-block s="ImagePadProperty %txt of %txt"><l>imageProperties</l><block var="target"/></custom-block></block></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><block s="doReport"><l>ERROR: coordinates out of range!</l></block></script><script><block s="doReport"><block s="reportListItem"><block s="reportVariadicSum"><list><block var="x"/><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="y"/><l>1</l></block><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>imageProperties</l><block var="target"/></custom-block></block></list></block></list></block><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block></block></script></block></script><script><block s="doReport"><l>ERROR: only defined for image data!</l></block></script></block></script></block></script></block-definition><block-definition s="%&apos;selection&apos; on %&apos;sprite&apos; by mouse" type="reporter" category="9. GridPad for grid operations"><comment x="0" y="0" w="168.33333333333334" collapsed="false">Obtaining data with the mouse from a grid stored in myData.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">cellValue<options>cell value=cellValue&#xD;cell coodinates=cellCoordinates&#xD;costume coordinates=costumeCoordinates</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>x</l><l>y</l><l>target</l><l>targetCostume</l><l>targetCostumeWidth</l><l>targetCostumeHeight</l><l>targetXPosition</l><l>targetYPosition</l><l>targetSize</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GridPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GridPad!</l><l>cellValue/... by mouse</l></custom-block></script><list></list></block><block s="doSetVar"><l>selection</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="selection"/><l> </l></block></block></block><block s="doSetVar"><l>targetCostume</l><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block></block><block s="doSetVar"><l>targetCostumeWidth</l><block s="reportGetImageAttribute"><l><option>width</option></l><block var="targetCostume"/></block></block><block s="doSetVar"><l>targetCostumeHeight</l><block s="reportGetImageAttribute"><l><option>height</option></l><block var="targetCostume"/></block></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>targetXPosition</l><block s="reportMonadic"><l><option>neg</option></l><block s="reportRound"><block s="reportQuotient"><block var="targetCostumeWidth"/><l>2</l></block></block></block></block><block s="doSetVar"><l>targetYPosition</l><block s="reportRound"><block s="reportQuotient"><block var="targetCostumeHeight"/><l>2</l></block></block></block><block s="doSetVar"><l>targetSize</l><l>100</l></block><block s="doSetVar"><l>x</l><block s="reportDifference"><block s="reportMouseX"></block><block var="targetXPosition"/></block></block><block s="doSetVar"><l>y</l><block s="reportDifference"><block var="targetYPosition"/><block s="reportMouseY"></block></block></block></script><script><block s="doSetVar"><l>targetXPosition</l><block s="reportAttributeOf"><l><option>x position</option></l><block var="target"/></block></block><block s="doSetVar"><l>targetYPosition</l><block s="reportAttributeOf"><l><option>y position</option></l><block var="target"/></block></block><block s="doSetVar"><l>targetSize</l><block s="reportAttributeOf"><l><option>size</option></l><block var="target"/></block></block><block s="doSetVar"><l>x</l><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block s="reportMouseX"></block><block var="targetXPosition"/></block><block var="targetSize"/></block></list></block><block s="reportQuotient"><block var="targetCostumeWidth"/><l>2</l></block></list></block><l>1</l></list></block></block></block><block s="doSetVar"><l>y</l><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block var="targetYPosition"/><block s="reportMouseY"></block></block><block var="targetSize"/></block></list></block><block s="reportQuotient"><block var="targetCostumeHeight"/><l>2</l></block></list></block><l>1</l></list></block></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>costumeCoordinates</l></list><comment w="121.68283420138891" collapsed="false">costume coordinates.</comment></block><script><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block var="targetCostumeWidth"/></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block var="targetCostumeHeight"/></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><block var="x"/><block var="y"/></list></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>cellCoordinates</l></list></block><script><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block var="targetCostumeWidth"/></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block var="targetCostumeHeight"/></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="x"/><custom-block s="GridPadProperty %txt of %txt"><l>numberOfGridColumns</l><block var="target"/></custom-block></list></block><block var="targetCostumeWidth"/></block></block><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="y"/><custom-block s="GridPadProperty %txt of %txt"><l>numberOfGridRows</l><block var="target"/></custom-block></list></block><block var="targetCostumeHeight"/></block></block></list></block></block></script></block></script><list></list><comment w="90" collapsed="false">coordinates of a grid cell</comment></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>cellValue</l></list></block><script><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block var="targetCostumeWidth"/></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block var="targetCostumeHeight"/></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><script><block s="doReport"><block s="reportListItem"><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="x"/><custom-block s="GridPadProperty %txt of %txt"><l>numberOfGridColumns</l><block var="target"/></custom-block></list></block><block var="targetCostumeWidth"/></block></block><block s="reportListItem"><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="y"/><custom-block s="GridPadProperty %txt of %txt"><l>numberOfGridRows</l><block var="target"/></custom-block></list></block><block var="targetCostumeHeight"/></block></block><block var="myData"/></block></block></block></script></block></script><list></list><comment w="90" collapsed="false">value of a grid cell</comment></block></script></block></script></block-definition><block-definition s="affine transformation of costume %&apos;costume&apos; $nl by %&apos;originalPoints&apos; --&gt; %&apos;targetPoints&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="210.83333333333334" collapsed="false">Applies an affine transformation to a costume.&#xD;</comment><header></header><code></code><translations></translations><inputs><input type="%s">currentCostume</input><input type="%l"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>a11</l><l>a12</l><l>a13</l><l>a21</l><l>a22</l><l>a23</l><l>S</l><l>P1</l><l>P2</l><l>P3</l><l>Q1</l><l>Q2</l><l>Q3</l><l>target</l><l>imagetype</l><l>width</l><l>height</l><l>data</l><l>ok</l></list></block><block s="doSetVar"><l>costume</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="costume"/><l>currentCostume</l></list></block><block s="reportGet"><l><option>costume</option></l></block><block var="costume"/></block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="costume"/><l><option>costume</option></l></block></block><script><block s="doReport"><l>ERROR: costume required!</l></block></script><list></list></block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doIfElse"><block s="reportIsA"><block var="originalPoints"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="originalPoints"/></block><l>3</l></list></block><script><block s="doReport"><l>ERROR: 3 original points required!</l></block></script><script><block s="doFor"><l>i</l><l>1</l><l>3</l><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><block var="i"/><block var="originalPoints"/></block><l><option>list</option></l></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><block var="i"/><block var="originalPoints"/></block></block><l>2</l></list></block></list></block></block><script><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block></script></block></script></block></script><script><block s="doReport"><l>ERROR: list of original points  required!</l></block></script></block><block s="doIfElse"><block s="reportIsA"><block var="targetPoints"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="targetPoints"/></block><l>3</l></list></block><script><block s="doReport"><l>ERROR: 3 target points required!</l></block></script><script><block s="doFor"><l>i</l><l>1</l><l>3</l><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><block var="i"/><block var="targetPoints"/></block><l><option>list</option></l></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><block var="i"/><block var="targetPoints"/></block></block><l>2</l></list></block></list></block></block><script><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block></script></block></script></block></script><script><block s="doReport"><l>ERROR: list of target points  required!</l></block></script></block><block s="doIf"><block s="reportNot"><block var="ok"/></block><script><block s="doReport"><l>ERROR: dimensions should be 2!</l></block></script><list></list></block><block s="doSetVar"><l>P1</l><block s="reportListItem"><l>1</l><block var="originalPoints"/></block></block><block s="doSetVar"><l>P2</l><block s="reportListItem"><l>2</l><block var="originalPoints"/></block></block><block s="doSetVar"><l>P3</l><block s="reportListItem"><l>3</l><block var="originalPoints"/></block></block><block s="doSetVar"><l>Q1</l><block s="reportListItem"><l>1</l><block var="targetPoints"/></block></block><block s="doSetVar"><l>Q2</l><block s="reportListItem"><l>2</l><block var="targetPoints"/></block></block><block s="doSetVar"><l>Q3</l><block s="reportListItem"><l>3</l><block var="targetPoints"/></block></block><block s="doSetVar"><l>S</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>2</l><block var="P2"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>2</l><block var="P3"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>2</l><block var="P1"/></block></block></list></block></list></block></list></block></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="S"/><l>0</l></list></block></block><script><block s="doSetVar"><l>a11</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q2"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q3"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q1"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a12</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q3"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q1"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q2"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a21</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q2"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q3"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q1"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a22</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q3"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q1"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q2"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a13</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></list></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></list></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></list></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a23</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></list></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></list></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></list></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_affineTransformation(a11,a12,a13,a21,a22,a23,w,h,data,typeOfData)</l><list><block var="a11"/><block var="a12"/><block var="a13"/><block var="a21"/><block var="a22"/><block var="a23"/><block s="reportGetImageAttribute"><l><option>width</option></l><block var="costume"/></block><block s="reportGetImageAttribute"><l><option>height</option></l><block var="costume"/></block><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="costume"/></block><l>RGB</l></list></block></block></script><list></list></block><block s="doReport"><l>ERROR: denominator is zero</l></block></script></block></script></block-definition><block-definition s="brightness around %&apos;x&apos; %&apos;y&apos; within radius %&apos;r&apos; $nl of myData of ImagePad %&apos;sprite&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="192.61904761904816" collapsed="false">Reports the brightness of a FITS or RGB image around x|y in a circle with radius r.&#xD;Attention: JS-coordinates are used!</comment><header></header><code></code><translations></translations><inputs><input type="%n">100</input><input type="%n">100</input><input type="%n">10</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>data</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as ImagePad!</l></block></script><list></list></block><block s="doSetVar"><l>data</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="data"/><l><option>list</option></l></block><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>FITS</l></list></block><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>RGB</l></list></block></list></block></list></block></block><script><block s="doReport"><l>ERROR: only FITS or RGB data supported!</l></block></script><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_brightnessAround(data,xpos,ypos,r,width,height,typeOfData)</l><list><block var="data"/><block var="x"/><block var="y"/><block var="r"/><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>height</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block></list></block></block></script></block></script></block></script></block-definition><block-definition s="draw list of points %&apos;data&apos; as %&apos;shape&apos; size: %&apos;size&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="321.8186688427511" collapsed="false">Draws a list of &quot;point&quot; as &quot;balls&quot;. Attention: JS-coordinates are used!</comment><header></header><code></code><translations></translations><inputs><input type="%s">myData</input><input type="%s" readonly="true">circles<options>circles&#xD;squares</options></input><input type="%n">5</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>source</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>source</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>myData</l></list></block><block var="myData"/><block var="data"/></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only definied for matrices!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>0</l></list></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: missing data!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block><l>2</l></list></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: coordinates in a plane needed!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_drawListOfPoints(costume,data,shape,size,lineAttributes)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="columns %mult%s of %s %br from row %s to %s"><list><l>1</l><l>2</l></list><block var="source"/><l>1</l><l>last</l></custom-block><block var="shape"/><block var="size"/><custom-block s="ImagePadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></list></block></list></block></script></block-definition><block-definition s="Example 1: slice data of FITS-image" type="command" category="6. ImagePad for image operations"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>sliceData</l><l>diagram</l></list></block><custom-block s="configure %s as an ImagePad width: %n %br height: %n color: %n %n %n"><l>thisSprite</l><l>400</l><l>300</l><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="import %s from %s %br to %s on %txt"><l>FITSData</l><l>currentCostume</l><l>myData</l><l>thisSprite</l></custom-block><custom-block s="add %s image of %s to ImagePad %br min/max: %n %n log? %b on %txt"><l>gray</l><l>myData</l><l>0</l><custom-block s="%s of vector %l"><l>max</l><block var="myData"/></custom-block><l><bool>false</bool></l><l>thisSprite</l></custom-block><block s="setScale"><l>200</l></block><block s="doSetVar"><l>sliceData</l><custom-block s="%s on %txt by mouse"><l>slice-data</l><l>thisSprite</l></custom-block></block><block s="doSetVar"><l>diagram</l><block s="newClone"><l><option>myself</option></l></block></block><block s="doTellTo"><block var="diagram"/><block s="reifyScript"><script><block s="setScale"><l>100</l></block><custom-block s="configure %txt as a PlotPad width: %n %br height: %n color: %n %n %n"><l>thisSprite</l><l>400</l><l>300</l><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="get ranges for PlotPad %txt %br from %s with border %n"><l>thisSprite</l><block var="sliceData"/><l>0.1</l></custom-block><custom-block s="set PlotPad line properties style: %txt %br width: %n color: %n %n %n on %txt"><l>continuous</l><l>1</l><l>0</l><l>0</l><l>0</l><l>thisSprite</l></custom-block><custom-block s="set PlotPad marker properties style: %txt width: %n %br color: %n %n %n connected? %b on %txt"><l>square</l><l>5</l><l>0</l><l>0</l><l>0</l><l><bool>true</bool></l><l>thisSprite</l></custom-block><custom-block s="add dataplot of numeric data: %s to PlotPad %txt"><block var="sliceData"/><l>thisSprite</l></custom-block><custom-block s="add axes and scales to PlotPad %txt"><l>thisSprite</l></custom-block></script><list></list></block><list></list></block></script></block-definition><block-definition s="Example 2: false color image of moon crater albertarius" type="command" category="6. ImagePad for image operations"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="configure %s as an ImagePad width: %n %br height: %n color: %n %n %n"><l>thisSprite</l><l>400</l><l>300</l><l>245</l><l>245</l><l>245</l></custom-block><block s="doSwitchToCostume"><l>albategnius</l></block><block s="setScale"><l>100</l></block><block s="doWait"><l>1</l></block><custom-block s="import %s from %s %br to %s on %txt"><l>costume(RGB)data</l><l>currentCostume</l><l>myData</l><l>thisSprite</l></custom-block><custom-block s="add %s image of %s to ImagePad %br min/max: %n %n log? %b on %txt"><l>false-color</l><l>myData</l><l>0</l><l>255</l><l><bool>true</bool></l><l>thisSprite</l></custom-block></script></block-definition><block-definition s="empty" type="command" category="0. My own blocks"><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="copy current costume of %&apos;sprite&apos; to sprite costumes" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIfElse"><block s="reportIsA"><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><l><option>costume</option></l></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doAddToList"><block s="reportGet"><l><option>costume</option></l></block><block s="reportGet"><l><option>costumes</option></l></block></block></script><list></list></block><list></list></block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: no costume there!</l></custom-block></script></block></script></block-definition><block-definition s="vertexnumber of graph on %&apos;sprite&apos; at mouse position" type="reporter" category="7. GraphPad for graph operations"><comment x="0" y="0" w="188" collapsed="false">Returns the vertexnumber of a vertex near mouse position, if there is one.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GraphPad!</l></block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_vertexnumberAtGraph(vlist,cAttributes,vAttributes,x,y)</l><list><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block><custom-block s="GraphPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block><custom-block s="GraphPadProperty %txt of %txt"><l>vertexProperties</l><block var="target"/></custom-block><block s="reportDifference"><block s="reportMouseX"></block><block s="reportAttributeOf"><l><option>x position</option></l><block var="target"/></block></block><block s="reportDifference"><block s="reportMouseY"></block><block s="reportAttributeOf"><l><option>y position</option></l><block var="target"/></block></block></list></block></block></script></block></script></block-definition><block-definition s="classify %&apos;data&apos; with ID3-tree %&apos;tree&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="269" collapsed="false">returns the class of a dataset using an ID3-decision-tree</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>colNumber</l><l>compareData</l><l>ready</l><l>i</l><l>item</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>compareData</l><custom-block s="copy of %l"><block var="data"/></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><l>leaf</l></list></block><script><block s="doReport"><block s="reportJoinWords"><list><l>result: </l><block s="reportListItem"><l>2</l><block var="tree"/></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><l>leaf (unambiguous)</l></list></block><script><block s="doReport"><block s="reportJoinWords"><list><l>result (unambiguous): </l><block s="reportListItem"><l>2</l><block var="tree"/></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><l>node</l></list></block><script><block s="doSetVar"><l>colNumber</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="doSetVar"><l>ready</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>3</l><block var="tree"/></block></block></list></block><block var="ready"/></list></block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><block var="i"/><block s="reportListItem"><l>3</l><block var="tree"/></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="colNumber"/><block var="compareData"/></block><block s="reportListItem"><l>1</l><block var="item"/></block></list></block><script><block s="doSetVar"><l>ready</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doDeleteFromList"><block var="colNumber"/><block var="compareData"/></block><block s="doReport"><custom-block s="classify %l with ID3-tree %l"><block var="compareData"/><block s="reportListItem"><l>2</l><block var="item"/></block></custom-block></block></script><list></list></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script><list></list></block><block s="doReport"><l>ERROR: no sensefull data to compare found!</l></block></script></block></script></block-definition><block-definition s="error %&apos;msg&apos;" type="command" category="control"><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;</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="INFO &quot;My own blocks&quot;" type="command" category="0. My own blocks"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="show global message title: %txt %br message: %txt"><l>INFO about "My own blocks"</l><l>This category is the right place to keep your own newly developed blocks.&#xD;(For teachers: this makes the correction of student projects much easier, because their results are not scattered over the other categories). </l></custom-block></script></block-definition><block-definition s="create a %&apos;what&apos; ( of %&apos;sprite&apos; ) $nl with name %&apos;spriteName&apos;" type="reporter" category="control"><comment x="0" y="0" w="87" collapsed="false">Creates a new sprite, a duplicate, or a permanent clone.</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">duplicate<options>permanent Clone =permanentClone&#xD;duplicate&#xD;new sprite=newSprite</options></input><input type="%s">thisSprite<options>thisSprite&#xD;anotherSprite</options></input><input type="%txt">spriteName</input></inputs><script><block s="doDeclareVariables"><list><l>existingSprites</l><l>newSprite</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="target"/><l><option>sprite</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: sprite required!</l><l>create sprite/...</l></custom-block></script><list></list></block><block s="doSetVar"><l>what</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><custom-block s="trim %txt by %mult%txt"><block var="what"/><list><l> </l></list></custom-block><l> </l></block></block></block><block s="doSetVar"><l>existingSprites</l><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>other sprites</option></l></block></autolambda><list></list></block><list></list></block></block><block s="doApplyExtension"><l>SciS_createObject(operation,sprite,spriteName)</l><list><block var="what"/><block var="target"/><block var="spriteName"/></list></block><block s="doForEach"><l>item</l><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>other sprites</option></l></block></autolambda><list></list></block><list></list></block><script><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><block var="existingSprites"/><block var="item"/></block></block><script><block s="doSetVar"><l>newSprite</l><block var="item"/></block></script><list></list></block></script></block><block s="doIf"><block s="reportIsA"><block var="newSprite"/><l><option>sprite</option></l></block><script><custom-block s="change SpriteName of %s to %txt"><block var="newSprite"/><block var="spriteName"/></custom-block><custom-block s="select sprite %s"><block var="target"/></custom-block><block s="doReport"><block var="newSprite"/></block></script><list></list></block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>something wrong!</l><l>create new sprite of sprite</l></custom-block></script></block></script></block-definition><block-definition s="is JavaScript enabled?" type="predicate" category="sensing"><comment x="0" y="0" w="238.3035156249999" collapsed="false">Returns &quot;true&quot; if JavaScript is enabled, else &quot;false&quot;.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>test</l></list></block><custom-block s="safely try %cs then if %upvar %cs"><script><block s="doSetVar"><l>test</l><block s="evaluate"><block s="reportJSFunction"><list></list><l>return &apos;ok&apos;;</l></block><list></list></block></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><l>error</l><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></custom-block></script></block-definition><block-definition s="is key %&apos;n&apos; pressed?" type="predicate" category="sensing"><comment x="0" y="0" w="135.4999999999999" collapsed="false">Returns &quot;true&quot; if the key no. n is pressed, else &quot;false&quot;.</comment><header></header><code></code><translations></translations><inputs><input type="%n">27</input></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><block var="n"/><block s="reportApplyExtension"><l>SciS_currentKeyPressed()</l><list></list></block></list></block></block></script></block-definition><block-definition s="setting %&apos;which&apos;" type="reporter" category="sensing"><comment x="0" y="0" w="254.66666666666666" collapsed="false">Allows reading global settings programmatically.&#xD;&#xD;Eisenberg&apos;s Law:  Anything you can do from the user interface you should be able to do in your program, and vice versa.  This library is just a beginning; there are many UI controls outside of the Settings menu.</comment><header></header><code></code><translations>pt:o valor da configuração _&#xD;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="set flag %&apos;which&apos; to %&apos;tf&apos;" type="command" category="sensing"><comment x="0" y="0" w="254.66666666666666" collapsed="false">Allows changing global settings programmatically.&#xD;This block is for Boolean (checkbox) settings; use&#xD;SET VALUE for numeric or text values.&#xD;&#xD;Eisenberg&apos;s Law:  Anything you can do from the user interface you should be able to do in your program, and vice versa.  This library is just a beginning; there are many UI controls outside of the Settings menu.</comment><header></header><code></code><translations>pt:altera o valor da configuração _ para _&#xD;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="%&apos;a&apos; %&apos;assertion&apos; %&apos;b&apos; ?" type="predicate" category="2. Math tools" helper="true"><header></header><code></code><translations></translations><inputs><input type="%b">false</input><input type="%s" readonly="true">implies --&gt;<options>implies --&gt;&#xD;is equivalent to &lt;--&gt;</options></input><input type="%b">true</input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="assertion"/><l>implies --&gt;</l></list></block><script><block s="doReport"><block s="reportVariadicOr"><list><block s="reportNot"><block var="a"/></block><block var="b"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="assertion"/><l>is equivalent to &lt;--&gt;</l></list></block><script><block s="doReport"><block s="reportVariadicEquals"><list><block var="a"/><block var="b"/></list></block></block></script><list></list></block><block s="doReport"><l>ERROR: something went wrong!</l></block></script></block-definition><block-definition s="intersect intervals %&apos;interval1&apos; %&apos;interval2&apos;" type="reporter" category="2. Math tools" helper="true"><comment x="0" y="0" w="322.5" collapsed="false">Intervals should be of structure [leftLimit,operator1,operator2,rightLimit]</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>leftEdge</l><l>rightEdge</l><l>op1</l><l>op2</l><l>e</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><custom-block s="is %s a %txt"><block var="interval1"/><l>interval</l></custom-block><custom-block s="is %s a %txt"><block var="interval2"/><l>interval</l></custom-block></list></block></block><script><block s="doReport"><l>ERROR: intervals required!</l></block></script><list></list></block><block s="doIf"><block s="reportNot"><custom-block s="are intervals %l and %l overlapping?"><block var="interval1"/><block var="interval2"/></custom-block></block><script><block s="doReport"><block s="reportNewList"><list></list></block><comment w="90" collapsed="false">an empty interval</comment></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>1</l><block var="interval2"/></block></list></block><script><block s="doSetVar"><l>leftEdge</l><block s="reportListItem"><l>1</l><block var="interval2"/></block></block><block s="doSetVar"><l>op1</l><block s="reportListItem"><l>2</l><block var="interval2"/></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>1</l><block var="interval2"/></block></list></block><script><block s="doSetVar"><l>leftEdge</l><block s="reportListItem"><l>1</l><block var="interval2"/></block></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval1"/></block><l>&lt;</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval2"/></block><l>&lt;</l></list></block></list></block><script><block s="doSetVar"><l>op1</l><l>&lt;</l></block></script><script><block s="doSetVar"><l>op1</l><l>≤</l></block></script></block></script><script><block s="doSetVar"><l>leftEdge</l><block s="reportListItem"><l>1</l><block var="interval1"/></block></block><block s="doSetVar"><l>op1</l><block s="reportListItem"><l>2</l><block var="interval1"/></block></block></script></block></script><comment w="82.00716145833326" collapsed="false">define left edge and operator</comment></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>4</l><block var="interval1"/></block><block s="reportListItem"><l>4</l><block var="interval2"/></block></list></block><script><block s="doSetVar"><l>rightEdge</l><block s="reportListItem"><l>4</l><block var="interval1"/></block></block><block s="doSetVar"><l>op2</l><block s="reportListItem"><l>3</l><block var="interval1"/></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>4</l><block var="interval1"/></block><block s="reportListItem"><l>4</l><block var="interval2"/></block></list></block><script><block s="doSetVar"><l>rightEdge</l><block s="reportListItem"><l>4</l><block var="interval1"/></block></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval1"/></block><l>&lt;</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval2"/></block><l>&lt;</l></list></block></list></block><script><block s="doSetVar"><l>op2</l><l>&lt;</l></block></script><script><block s="doSetVar"><l>op2</l><l>≤</l></block></script></block></script><script><block s="doSetVar"><l>rightEdge</l><block s="reportListItem"><l>4</l><block var="interval2"/></block></block><block s="doSetVar"><l>op2</l><block s="reportListItem"><l>3</l><block var="interval2"/></block></block></script></block></script><comment w="82.00716145833326" collapsed="false">define right edge and operator</comment></block><block s="doReport"><block s="reportNewList"><list><block var="leftEdge"/><block var="op1"/><block var="op2"/><block var="rightEdge"/></list></block></block></script></block></script></block-definition><block-definition s="elements %&apos;elements&apos; not covered by intervals %&apos;intervals&apos;" type="reporter" category="2. Math tools" helper="true"><comment x="0" y="0" w="269" collapsed="false">Returns all elements of a list not covered by the intervals.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>coveredElements</l><l>b</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>coveredElements</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><custom-block s="evaluate intervals %l with %s"><block var="intervals"/><block var="element"/></custom-block></autolambda><list><l>element</l></list></block><block var="elements"/></block></block><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportListContainsItem"><block var="coveredElements"/><l></l></block></block></autolambda><list></list></block><block var="elements"/></block></block></script></block></script></block-definition><block-definition s="elements %&apos;elements&apos; not covered by predicate %&apos;predicate&apos;" type="reporter" category="2. Math tools" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>coveredElements</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>coveredElements</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="evaluate"><block var="predicate"/><list><block var="element"/></list></block></autolambda><list><l>element</l></list></block><block var="elements"/></block></block><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportListContainsItem"><block var="coveredElements"/><l></l></block></block></autolambda><list></list></block><block var="elements"/></block></block></script></block></script></block-definition><block-definition s="intervals %&apos;intervals&apos; not covered by predicate %&apos;predicate&apos;" type="reporter" category="2. Math tools" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="interval"/></block><block s="reportListItem"><l>4</l><block var="interval"/></block></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval"/></block><l>≤</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval"/></block><l>≤</l></list></block><block s="reportVariadicNotEquals"><list><block s="reportMonadic"><l><option>abs</option></l><block s="reportListItem"><l>1</l><block var="interval"/></block></block><l>Infinity</l></list></block><block s="evaluate"><block var="predicate"/><list><block s="reportListItem"><l>1</l><block var="interval"/></block></list></block></list></block></block></autolambda><list><l>interval</l></list></block><block var="intervals"/></block></block></script></block-definition><block-definition s="is predicate tree %&apos;predicateTree&apos; translateable to intervals?" type="predicate" category="2. Math tools" helper="true"><comment x="0" y="0" w="110.153846153846" collapsed="false">Test wether the predicate is translatable to a list of intervals.</comment><header></header><code></code><translations></translations><inputs><input type="%l">ringified predicate</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="predicateTree"/><l><option>list</option></l></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doIf"><custom-block s="is %s a %txt"><block s="reportListItem"><l>1</l><block var="predicateTree"/></block><l>comparisonOperator</l></custom-block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="predicateTree"/></block><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="is predicate tree %l translateable to intervals?"><block s="reportListItem"><l>2</l><block var="predicateTree"/></block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="predicateTree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><l/><l/></list></block></autolambda><list></list></block></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="predicateTree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><l/><l/></list></block></autolambda><list></list></block></list></block></list></block><script><block s="doReport"><block s="reportVariadicAnd"><list><custom-block s="is predicate tree %l translateable to intervals?"><block s="reportListItem"><l>2</l><block var="predicateTree"/></block></custom-block><custom-block s="is predicate tree %l translateable to intervals?"><block s="reportListItem"><l>3</l><block var="predicateTree"/></block></custom-block></list></block></block></script><list></list></block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="predicateTree"/></block><l><option>text</option></l></block><script><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="predicateTree"/></block><l></l></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportLetter"><l>1</l><block s="reportListItem"><l>2</l><block var="predicateTree"/></block></block><l>[</l></list></block><block s="reportVariadicEquals"><list><block s="reportLetter"><l><option>last</option></l><block s="reportListItem"><l>2</l><block var="predicateTree"/></block></block><l>]</l></list></block></list></block></list></block><script><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>3</l><block var="predicateTree"/></block><l><option>number</option></l></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>3</l><block var="predicateTree"/></block><l><option>list</option></l></block><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>3</l><block var="predicateTree"/></block></block><l>0</l></list></block><script><block s="doIf"><block s="reportIsA"><block s="evaluate"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>3</l><block var="predicateTree"/></block></block><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="value"/></block><l>0</l></list></block><script><block s="doReport"><custom-block s="substring of %txt from %n to %n"><block var="value"/><l>2</l><block s="reportDifference"><block s="reportTextAttribute"><l><option>length</option></l><block var="value"/></block><l>1</l></block></custom-block></block></script><list></list></block><block s="doReport"><block var="value"/></block></script><list><l>value</l></list></block><block s="reportCDR"><block s="reportListItem"><l>3</l><block var="predicateTree"/></block></block></block></block><l><option>number</option></l></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script><list></list></block></script><list></list></block></script><list></list></block></script><script><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>3</l><block var="predicateTree"/></block><l><option>text</option></l></block><script><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="predicateTree"/></block><l></l></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportLetter"><l>1</l><block s="reportListItem"><l>3</l><block var="predicateTree"/></block></block><l>[</l></list></block><block s="reportVariadicEquals"><list><block s="reportLetter"><l><option>last</option></l><block s="reportListItem"><l>3</l><block var="predicateTree"/></block></block><l></l></list></block></list></block></list></block><script><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="predicateTree"/></block><l><option>number</option></l></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="predicateTree"/></block><l><option>list</option></l></block><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>2</l><block var="predicateTree"/></block></block><l>0</l></list></block><script><block s="doIf"><block s="reportIsA"><block s="evaluate"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="predicateTree"/></block></block><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="value"/></block><l>0</l></list></block><script><block s="doReport"><custom-block s="substring of %txt from %n to %n"><block var="value"/><l>2</l><block s="reportDifference"><block s="reportTextAttribute"><l><option>length</option></l><block var="value"/></block><l>1</l></block></custom-block></block></script><list></list></block><block s="doReport"><block var="value"/></block></script><list><l>value</l></list></block><block s="reportCDR"><block s="reportListItem"><l>2</l><block var="predicateTree"/></block></block></block></block><l><option>number</option></l></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script><list></list></block></script><list></list></block></script><list></list></block></script><list></list></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block></script></block></script></block-definition><block-definition s="difference of interval lists %&apos;intervals1&apos; and %&apos;intervals2&apos;" type="reporter" category="2. Math tools" helper="true"><comment x="0" y="0" w="120" collapsed="false">determines intervals1 \ intervals2</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>m</l><l>n</l><l>interval2</l><l>interval1</l><l>difference</l><l>result</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><custom-block s="is %s a %txt"><block var="intervals1"/><l>listOfIntervals</l></custom-block><custom-block s="is %s a %txt"><block var="intervals2"/><l>listOfIntervals</l></custom-block></list></block></block><script><block s="doReport"><l>ERROR: two interval lists required!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="intervals1"/><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="intervals2"/><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block var="intervals1"/></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>m</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="m"/><block s="reportListAttribute"><l><option>length</option></l><block var="intervals2"/></block></list></block><script><block s="doSetVar"><l>interval2</l><block s="reportListItem"><block var="m"/><block var="intervals2"/></block></block><block s="doSetVar"><l>n</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block var="intervals1"/></block></list></block><script><block s="doSetVar"><l>interval1</l><block s="reportListItem"><block var="n"/><block var="intervals1"/></block></block><block s="doSetVar"><l>difference</l><custom-block s="difference of interval %l and %l"><block var="interval1"/><block var="interval2"/></custom-block></block><block s="doForEach"><l>interval</l><block var="difference"/><script><block s="doAddToList"><block var="interval"/><block var="result"/></block></script></block><block s="doChangeVar"><l>n</l><l>1</l></block></script></block><block s="doChangeVar"><l>m</l><l>1</l></block></script></block><block s="doReport"><custom-block s="merge intervals %l"><block var="result"/></custom-block></block></script></block></script><scripts><script x="202.33333333333334" y="486.8888888888889"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><custom-block s="intersect intervals %l %l"><block var="interval1"/><block var="interval2"/></custom-block></block><l>0</l></list></block></script></scripts></block-definition><block-definition s="numbers in interval list %&apos;intervals&apos;" type="reporter" category="2. Math tools" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="intervals"/><l>listOfIntervals</l></custom-block></block><script><block s="doReport"><l>ERROR: interval list required!</l></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>interval</l><block var="intervals"/><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="interval"/></block><block s="reportListItem"><l>4</l><block var="interval"/></block></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval"/></block><l>≤</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval"/></block><l>≤</l></list></block></list></block><script><block s="doAddToList"><block s="reportListItem"><l>1</l><block var="interval"/></block><block var="result"/></block></script><list></list></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="interval list %&apos;intervals&apos; $arrowRightThin predicate" type="reporter" category="2. Math tools" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>result</l><l>predicate</l><l>i</l></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="intervals"/><l>listOfIntervals</l></custom-block></block><script><block s="doReport"><l>ERROR: interval list required!</l></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>interval</l><block var="intervals"/><script><block s="doAddToList"><custom-block s="interval %l $arrowRightThin predicate"><block var="interval"/></custom-block><block var="result"/></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block><l>0</l></list></block><script><block s="doReport"><l></l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block><l>1</l></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="result"/></block></block></script><list></list></block><block s="doSetVar"><l>predicate</l><block s="reportJoinWords"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><l/><l/></list></block></autolambda><list></list></block><block s="reportListItem"><l>1</l><block var="result"/></block><block s="reportListItem"><l>2</l><block var="result"/></block></list></block></block><block s="doSetVar"><l>i</l><l>3</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block></list></block><script><block s="doSetVar"><l>predicate</l><block s="reportJoinWords"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><l/><l/></list></block></autolambda><list></list></block><block var="predicate"/><block s="reportListItem"><block var="i"/><block var="result"/></block></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="predicate"/></block></script></block></script></block-definition><block-definition s="interval %&apos;interval&apos; $arrowRightThin predicate" type="predicate" category="2. Math tools" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>p1</l><l>p2</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="interval"/><l>interval</l></custom-block></block><script><block s="doReport"><l>ERROR: interval required!</l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval"/></block><l>&lt;</l></list></block><script><block s="doSetVar"><l>p1</l><block s="reportJoinWords"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reportListItem"><l>1</l><block var="interval"/></block></list></block></block></script><script><block s="doSetVar"><l>p1</l><block s="reportJoinWords"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reportListItem"><l>1</l><block var="interval"/></block></list></block></block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval"/></block><l>&lt;</l></list></block><script><block s="doSetVar"><l>p2</l><block s="reportJoinWords"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block><l></l><block s="reportListItem"><l>4</l><block var="interval"/></block></list></block></block></script><script><block s="doSetVar"><l>p2</l><block s="reportJoinWords"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><l></l><block s="reportListItem"><l>4</l><block var="interval"/></block></list></block></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><l/><l/></list></block></autolambda><list></list></block><block var="p1"/><block var="p2"/></list></block></block></script></block></script></block-definition><block-definition s="extract numbers from interval list %&apos;intervals&apos;" type="reporter" category="2. Math tools" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>i</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="intervals"/><l>listOfIntervals</l></custom-block></block><script><block s="doReport"><l>ERROR: interval list required!</l></block></script><list></list></block><block s="doSetVar"><l>intervals</l><custom-block s="copy of %s"><block var="intervals"/></custom-block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="intervals"/></block></list></block><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="i"/><block var="intervals"/></block></block><block s="reportListItem"><l>4</l><block s="reportListItem"><block var="i"/><block var="intervals"/></block></block></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="i"/><block var="intervals"/></block></block><l>≤</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block s="reportListItem"><block var="i"/><block var="intervals"/></block></block><l>≤</l></list></block></list></block><script><block s="doDeleteFromList"><block var="i"/><block var="intervals"/></block></script><script><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script></block><block s="doReport"><block var="intervals"/></block></script></block></script></block-definition><block-definition s="INFO &quot;Math tools&quot;" type="command" category="2. Math tools"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="show global message title: %txt %br message: %txt"><custom-block s="translate %txt"><l>INFO about "Math tools"</l></custom-block><custom-block s="translate %txt"><l>This category contains blocks from different mathematical fields.&#xD;From linear algebra there are vectors and matrices that can be created in different ways. The properties of vectors, e.g. minimum, variance or standard deviation, can be determined directly.&#xD;With scalars, vectors, and matrices all arithmetic operations can be performed. With the help of matrices, mappings are realized or systems of equations are solved.&#xD;Complex numbers in Cartesian (cnC) or polar form (cnP) can also be calculated.&#xD;Vectors and complex numbers as well as figures defined by vectors are displayed on a MathPad in two or three dimensions. The MathPad can also show numerical sets.&#xD;From numerical mathematics come blocks for determining the roots of a function, series and series elements, and derivatives. Finite series and integrals are also calculated.&#xD;For frequency analyses, a block for the Fast Fourier Transformation (FFT) as well as its inverse serves. In addition, the frequency spectrum can be output.&#xD;For statistical purposes, blocks of the usual distribution functions are available.&#xD;Sets can be defined by an enumeration of elements, intervals or predicates. After that, blocks are available for all set operations.&#xD;If possible, sets are converted into interval lists. If this does not succeed, then the subset and the equality predicate are not determined in some cases.&#xD;There are some more hidden blocks for dealing with sets, e.g. to merge interval lists, to determine their intersection, to turn predicates into intervals, and so on.&#xD;You can find them in the list "export blocks" from the file menu.</l></custom-block></custom-block></script></block-definition><block-definition s="random vector dim %&apos;n&apos; $nl range %&apos;min&apos; to %&apos;max&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="98.65934065934077" collapsed="false">Returns a new vector of dimension n with random elements.</comment><header></header><code></code><translations></translations><inputs><input type="%n">3</input><input type="%n">1</input><input type="%n">10</input></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportRandom"><block var="min"/><block var="max"/></block></autolambda><list></list></block><block s="reportNumbers"><l>1</l><block var="n"/></block></block></block></script></block-definition><block-definition s="random %&apos;n&apos; x %&apos;m&apos; matrix $nl range %&apos;min&apos; to %&apos;max&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="129.76299579326923" collapsed="false">Returns a new nxm-matrix with random elements.</comment><header></header><code></code><translations></translations><inputs><input type="%n">3</input><input type="%n">2</input><input type="%n">1</input><input type="%n">10</input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="m"/><l>1</l></list></block></list></block><script><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doFor"><l>i</l><l>1</l><block var="m"/><script><block s="doAddToList"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportRandom"><block var="min"/><block var="max"/></block></autolambda><list></list></block><block s="reportNumbers"><l>1</l><block var="n"/></block></block><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="transpose %&apos;data&apos;" type="reporter" category="2. Math tools" space="true"><comment x="0" y="0" w="114.83909545553388" collapsed="false">Creates the transpose of a vector, matrix, or table.</comment><header></header><code></code><translations></translations><inputs><input type="%s">vector or matrix</input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: vector or matrix required!</l><l>transpose vector or matrix</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><block s="doReport"><block var="data"/></block></script><script><block s="doSetVar"><l>result</l><block s="reportApplyExtension"><l>SciS_transpose(data)</l><list><block var="data"/></list></block></block><block s="doIf"><block s="reportIsA"><block var="result"/><l><option>text</option></l></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><block var="result"/><l>transpose vector or matrix</l></custom-block></script><list></list></block><block s="doReport"><block var="result"/></block></script></block></script></block></script></block-definition><block-definition s="%&apos;choice&apos; of %&apos;data&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="211.42857142857147" collapsed="false">Determines a property of a matrix or vector.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">min<options>min&#xD;max&#xD;minpos&#xD;maxpos&#xD;number&#xD;sum&#xD;mean&#xD;median&#xD;variance&#xD;standard-deviation&#xD;softmax</options></input><input type="%s">matrix or vector</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>mean</l><l>sum</l><l>isVector</l><l>dim</l><l>posX</l><l>posY</l><l>pos</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: only lists supported!</l><l>... of matrix or vector</l></custom-block></script><list></list></block><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doIfElse"><custom-block s="is %s a %txt"><block var="data"/><l>vector</l></custom-block><script><block s="doSetVar"><l>isVector</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doIf"><custom-block s="is %s a %txt"><block var="data"/><l>column-vector</l></custom-block><script><block s="doSetVar"><l>data</l><custom-block s="transpose %s"><block var="data"/></custom-block></block></script><list></list></block></script><script><block s="doSetVar"><l>isVector</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>1</l></list></block><script><block s="doSetVar"><l>dim</l><l>0</l></block></script><script><block s="doSetVar"><l>dim</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block></block></script></block><block s="doSetVar"><l>data</l><block s="reportListAttribute"><l><option>flatten</option></l><block var="data"/></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>softmax</l></list></block><script><block s="doIfElse"><block var="isVector"/><script><block s="doSetVar"><l>sum</l><block s="reportVariadicSum"><block s="reportMonadic"><l><option>e^</option></l><block var="data"/></block></block></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportQuotient"><block s="reportMonadic"><l><option>e^</option></l><l></l></block><block var="sum"/></block></autolambda><list></list></block><block var="data"/></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: softmax is only defined for vectors!</l><l>... of matrix or vector</l></custom-block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>median</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportListAttribute"><l><option>sorted</option></l><block var="data"/></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportModulus"><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block><l>2</l></block><l>1</l></list></block><script><block s="doReport"><block s="reportListItem"><block s="reportRound"><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block><l>2</l></block></block><block var="result"/></block></block></script><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportListItem"><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block><l>2</l></block><block var="result"/></block><block s="reportListItem"><block s="reportVariadicSum"><list><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block><l>2</l></block><l>1</l></list></block><block var="result"/></block></list></block><l>2</l></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>min</l></list></block><script><block s="doReport"><block s="reportVariadicMin"><block var="data"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>max</l></list></block><script><block s="doReport"><block s="reportVariadicMax"><block var="data"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>number</l></list></block><script><block s="doReport"><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>sum</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><block var="data"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>mean</l></list></block><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicSum"><block var="data"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>minpos</l></list></block><script><block s="doIfElse"><block var="isVector"/><script><block s="doReport"><block s="reportListIndex"><block s="reportVariadicMin"><block var="data"/></block><block var="data"/></block></block></script><script><block s="doSetVar"><l>pos</l><block s="reportListIndex"><block s="reportVariadicMin"><block var="data"/></block><block var="data"/></block></block><block s="doSetVar"><l>posX</l><block s="reportModulus"><block var="pos"/><block var="dim"/></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="posX"/><l>0</l></list></block><script><block s="doSetVar"><l>posX</l><block var="dim"/></block></script><list></list></block><block s="doSetVar"><l>posY</l><l>1</l></block><block s="doUntil"><block s="reportVariadicLessThanOrEquals"><list><block var="pos"/><block var="dim"/></list></block><script><block s="doChangeVar"><l>pos</l><block s="reportMonadic"><l><option>neg</option></l><block var="dim"/></block></block><block s="doChangeVar"><l>posY</l><l>1</l></block></script></block><block s="doReport"><block s="reportNewList"><list><block var="posX"/><block var="posY"/></list></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>maxpos</l></list></block><script><block s="doIfElse"><block var="isVector"/><script><block s="doReport"><block s="reportListIndex"><block s="reportVariadicMax"><block var="data"/></block><block var="data"/></block></block></script><script><block s="doSetVar"><l>pos</l><block s="reportListIndex"><block s="reportVariadicMax"><block var="data"/></block><block var="data"/></block></block><block s="doSetVar"><l>posX</l><block s="reportModulus"><block var="pos"/><block var="dim"/></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="posX"/><l>0</l></list></block><script><block s="doSetVar"><l>posX</l><block var="dim"/></block></script><list></list></block><block s="doSetVar"><l>posY</l><l>1</l></block><block s="doUntil"><block s="reportVariadicLessThanOrEquals"><list><block var="pos"/><block var="dim"/></list></block><script><block s="doChangeVar"><l>pos</l><block s="reportMonadic"><l><option>neg</option></l><block var="dim"/></block></block><block s="doChangeVar"><l>posY</l><l>1</l></block><block s="doReport"><block s="reportNewList"><list><block var="posX"/><block var="posY"/></list></block></block></script></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="choice"/><l>variance</l></list></block><block s="reportVariadicEquals"><list><block var="choice"/><l>standard-deviation</l></list></block></list></block><script><block s="doSetVar"><l>mean</l><block s="reportQuotient"><block s="reportVariadicSum"><block var="data"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></block><block s="doSetVar"><l>result</l><block s="reportApplyExtension"><l>SciS_variance(data,mean)</l><list><block var="data"/><block var="mean"/></list></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>variance</l></list></block><script><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>standard-deviation</l></list></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block var="result"/><l>NaN</l></list></block><script><block s="doReport"><block s="reportMonadic"><l><option>sqrt</option></l><block var="result"/></block></block></script><script><block s="doReport"><l>NaN</l></block></script></block></script><list></list></block></script><list></list></block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown option!</l><l>... of matrix or vector</l></custom-block></script></block></script></block-definition><block-definition s="apply %&apos;matrix&apos; to %&apos;points&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="179.4761904761905" collapsed="false">Applies a mapping matrix to an object that is given as a matrix of points.</comment><header></header><code></code><translations></translations><inputs><input type="%s">matrix</input><input type="%s">list of points</input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportNot"><custom-block s="is %s a %txt"><block var="points"/><l>matrix</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: object as matrix of points required!</l><l>apply ... to list of points</l></custom-block></script><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="points"/></block><l>0</l></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: at least one point required!</l><l>apply ... to list of points</l></custom-block></script><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="matrix"/><l>matrix</l></custom-block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="matrix"/></block></block><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="points"/></block></block></list></block><script><block s="doReport"><custom-block s="transpose %s"><custom-block s="linear operation %s %s %s"><block var="matrix"/><l>*</l><custom-block s="transpose %s"><block var="points"/></custom-block></custom-block></custom-block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: wrong dimension of mapping matrix!</l><l>apply ... to list of points</l></custom-block></script></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: mapping matrix required!</l><l>apply ... to list of points</l></custom-block></script></block></script></block></script></block></script></block></script></block-definition><block-definition s="solve %&apos;A&apos; *x= %&apos;b&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="219.04761904761926" collapsed="false">Solves a linear system of max. 50 equations.</comment><header></header><code></code><translations></translations><inputs><input type="%s">matrix</input><input type="%s">column vector</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>matrix</l><l>found</l><l>x</l><l>nonzero</l><l>help</l><l>solved</l><l>j</l><l>k</l><l>d</l><l>r</l></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="A"/><l>matrix</l></custom-block><comment w="137.85714285714286" collapsed="false">some tests for correct data</comment></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: missing matrix!</l><l>solve A*x=b</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="b"/><l>column-vector</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: missing column-vector!</l><l>solve A*x=b</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="A"/></block><l>0</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: matrix is empty!</l><l>solve A*x=b</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="A"/></block></block><block s="reportListAttribute"><l><option>length</option></l><block var="b"/></block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: wrong dimension of vector!</l><l>solve A*x=b</l></custom-block></script><list></list></block><block s="doSetVar"><l>b</l><custom-block s="transpose %s"><block var="b"/></custom-block></block><block s="doSetVar"><l>matrix</l><block s="reportMap"><block s="reifyReporter"><script></script><list></list></block><block var="A"/></block><comment w="191.5707465277778" collapsed="false">create matrix with attached column b</comment></block><block s="doSetVar"><l>solved</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="A"/></block><l>50</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: matrix too large!</l><l>solve A*x=b</l></custom-block></script><list></list></block><custom-block s="add %s %s to %s"><l>column</l><block var="b"/><block var="A"/><comment w="191.5707465277778" collapsed="false">create matrix with attached column b</comment></custom-block><block s="doSetVar"><l>d</l><block s="reportListAttribute"><l><option>length</option></l><block var="matrix"/></block><comment w="106.71245659722217" collapsed="false">Try to solve matrix</comment></block><block s="doSetVar"><l>r</l><l>1</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="r"/><block var="d"/></list></block><block s="reportNot"><block var="solved"/></block></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block><l>0</l></list></block><script><block s="doSetVar"><l>nonzero</l><block s="reportVariadicSum"><list><block var="r"/><l>1</l></list></block><comment w="137.82649739583348" collapsed="false">find nonzero element</comment></block><block s="doSetVar"><l>found</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block var="found"/><block s="reportVariadicGreaterThan"><list><block var="nonzero"/><block var="d"/></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="nonzero"/><block var="matrix"/></block></block><l>0</l></list></block><script><block s="doSetVar"><l>found</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doChangeVar"><l>nonzero</l><l>1</l></block></script></block></script></block><block s="doIfElse"><block s="reportNot"><block var="found"/></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: no solution found!</l><l>solve A*x=b</l></custom-block></script><script><block s="doSetVar"><l>matrix</l><block s="reportMap"><block s="reifyReporter"><script><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="r"/><block var="row"/></block></block><block s="doReplaceInList"><block var="r"/><block var="row"/><block s="reportListItem"><block var="nonzero"/><block var="row"/></block></block><block s="doReplaceInList"><block var="nonzero"/><block var="row"/><block var="help"/></block><block s="doReport"><block var="row"/></block></script><list><l>row</l></list></block><block var="matrix"/></block><comment w="90" collapsed="false">swap rows</comment></block></script></block></script><list></list></block><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block><comment w="90" collapsed="false">normalize row</comment></block><block s="doReplaceInList"><block var="r"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block><l>1</l></block><block s="doSetVar"><l>k</l><block s="reportVariadicSum"><list><block var="r"/><l>1</l></list></block></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="k"/><block s="reportVariadicSum"><list><block var="d"/><l>1</l></list></block></list></block><script><block s="doReplaceInList"><block var="k"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block><block s="reportQuotient"><block s="reportListItem"><block var="k"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block><block var="help"/></block></block><block s="doChangeVar"><l>k</l><l>1</l></block></script></block><block s="doSetVar"><l>k</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="k"/><block var="d"/></list></block><script><block s="doIf"><block s="reportVariadicNotEquals"><list><block var="k"/><block var="r"/></list></block><script><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block></block></block><block s="doIf"><block s="reportVariadicNotEquals"><list><block var="help"/><l>0</l></list></block><script><block s="doReplaceInList"><block var="r"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block><l>0</l></block><block s="doSetVar"><l>j</l><block s="reportVariadicSum"><list><block var="r"/><l>1</l></list></block></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="j"/><block s="reportVariadicSum"><list><block var="d"/><l>1</l></list></block></list></block><script><block s="doReplaceInList"><block var="j"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block><block s="reportDifference"><block s="reportListItem"><block var="j"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block></block><block s="reportVariadicProduct"><list><block var="help"/><block s="reportListItem"><block var="j"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block></list></block></block></block><block s="doChangeVar"><l>j</l><l>1</l></block></script></block></script><list></list></block></script><list></list></block><block s="doChangeVar"><l>k</l><l>1</l></block></script><comment w="90" collapsed="false">diagonalize</comment></block><block s="doChangeVar"><l>r</l><l>1</l></block></script></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportListItem"><l><option>last</option></l><l/></block></block></script><list></list></block><block var="matrix"/></block></block></script></block></script></block-definition><block-definition s="apply Gauss method to %&apos;A&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="228.14285714285742" collapsed="false">Reports a list of matrix A in triangle form, the rank of A, column change and column positions.</comment><header></header><code></code><translations></translations><inputs><input type="%s">matrix</input></inputs><script><block s="doDeclareVariables"><list><l>Ab</l><l>rank</l><l>row</l><l>found</l><l>help</l><l>i</l><l>c</l><l>columchange</l><l>column positions</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="A"/><l>matrix</l></custom-block><comment w="137.85714285714286" collapsed="false">some tests for correct data</comment></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: this is not a matrix!</l><l>aooly Gauss method ...</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="A"/></block><l>0</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: matrix is empty!</l><l>aooly Gauss method ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>Ab</l><block s="reportMap"><block s="reifyReporter"><script></script><list></list></block><block var="A"/></block><comment w="186.6028794642858" collapsed="false">a copy of A is used to let A unchanged</comment></block><block s="doSetVar"><l>rank</l><block s="reportListAttribute"><l><option>length</option></l><block var="Ab"/></block></block><block s="doSetVar"><l>row</l><l>1</l></block><block s="doSetVar"><l>columchange</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>column positions</l><block s="reportNumbers"><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="Ab"/></block></block></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="row"/><block s="reportListAttribute"><l><option>length</option></l><block var="Ab"/></block></list></block><block s="reportVariadicLessThan"><list><block var="rank"/><block s="reportListAttribute"><l><option>length</option></l><block var="Ab"/></block></list></block></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="row"/><block s="reportListItem"><block var="row"/><block var="Ab"/></block></block><l>0</l></list><comment w="155" collapsed="false">find a non zero pivot element</comment></block><script><block s="doSetVar"><l>found</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>i</l><block s="reportVariadicSum"><list><block var="row"/><l>1</l></list></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="Ab"/></block></list></block><block var="found"/></list></block><script><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="row"/><block s="reportListItem"><block var="i"/><block var="Ab"/></block></block><l>0</l></list></block></block><script><block s="doSetVar"><l>found</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="i"/><block var="Ab"/></block></block><block s="doReplaceInList"><block var="i"/><block var="Ab"/><block s="reportListItem"><block var="row"/><block var="Ab"/></block></block><block s="doReplaceInList"><block var="row"/><block var="Ab"/><block var="help"/></block></script><list></list></block><block s="doChangeVar"><l>i</l><l>1</l></block></script><comment w="90" collapsed="false">search downwards</comment></block><block s="doIf"><block s="reportNot"><block var="found"/></block><script><block s="doSetVar"><l>i</l><block s="reportVariadicSum"><list><block var="row"/><l>1</l></list></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="Ab"/></block></block><l>1</l></block></list></block><block var="found"/></list></block><script><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="i"/><block s="reportListItem"><block var="row"/><block var="Ab"/></block></block><l>0</l></list></block></block><script><block s="doSetVar"><l>found</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doFor"><l>column</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="Ab"/></block><script><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="i"/><block s="reportListItem"><block var="column"/><block var="Ab"/></block></block></block><block s="doReplaceInList"><block var="i"/><block s="reportListItem"><block var="column"/><block var="Ab"/></block><block s="reportListItem"><block var="row"/><block s="reportListItem"><block var="column"/><block var="Ab"/></block></block></block><block s="doReplaceInList"><block var="row"/><block s="reportListItem"><block var="column"/><block var="Ab"/></block><block var="help"/></block><block s="doSetVar"><l>columchange</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="row"/><block var="column positions"/></block></block><block s="doReplaceInList"><block var="row"/><block var="column positions"/><block s="reportListItem"><block var="i"/><block var="column positions"/></block></block><block s="doReplaceInList"><block var="i"/><block var="column positions"/><block var="help"/></block></script></block></script><list></list></block><block s="doChangeVar"><l>i</l><l>1</l></block></script><comment w="90" collapsed="false">search to the right</comment></block></script><list></list></block></script><list></list></block><block s="doSetVar"><l>c</l><block s="reportListItem"><block var="row"/><block s="reportListItem"><block var="row"/><block var="Ab"/></block></block></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="c"/><l>0</l></list></block></block><script><block s="doReplaceInList"><block var="row"/><block var="Ab"/><block s="reportQuotient"><block s="reportListItem"><block var="row"/><block var="Ab"/></block><block var="c"/></block></block><block s="doSetVar"><l>i</l><block s="reportVariadicSum"><list><block var="row"/><l>1</l></list></block></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="Ab"/></block></list></block><script><block s="doSetVar"><l>c</l><block s="reportListItem"><block var="row"/><block s="reportListItem"><block var="i"/><block var="Ab"/></block></block></block><block s="doReplaceInList"><block var="i"/><block var="Ab"/><block s="reportDifference"><block s="reportListItem"><block var="i"/><block var="Ab"/></block><block s="reportVariadicProduct"><list><block var="c"/><block s="reportListItem"><block var="row"/><block var="Ab"/></block></list></block></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script><script><block s="doSetVar"><l>rank</l><block s="reportDifference"><block var="row"/><l>1</l></block></block></script></block><block s="doChangeVar"><l>row</l><l>1</l></block></script></block><block s="doSetVar"><l>row</l><block var="rank"/></block><block s="doUntil"><block s="reportVariadicLessThan"><list><block var="row"/><l>1</l></list></block><script><block s="doSetVar"><l>i</l><block s="reportDifference"><block var="row"/><l>1</l></block></block><block s="doUntil"><block s="reportVariadicLessThan"><list><block var="i"/><l>1</l></list></block><script><block s="doSetVar"><l>c</l><block s="reportListItem"><block var="row"/><block s="reportListItem"><block var="i"/><block var="Ab"/></block></block></block><block s="doReplaceInList"><block var="i"/><block var="Ab"/><block s="reportDifference"><block s="reportListItem"><block var="i"/><block var="Ab"/></block><block s="reportVariadicProduct"><list><block var="c"/><block s="reportListItem"><block var="row"/><block var="Ab"/></block></list></block></block></block><block s="doChangeVar"><l>i</l><l>-1</l></block></script></block><block s="doChangeVar"><l>row</l><l>-1</l></block></script><comment w="137.85714285714286" collapsed="false">transform to diagonal form E</comment></block><block s="doReport"><block s="reportNewList"><list><block var="Ab"/><block var="rank"/><block var="columchange"/><block var="column positions"/></list></block></block></script></block></script></block-definition><block-definition s="polynomial interpolation for %&apos;data&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="139.41454664057406" collapsed="false">Calculates the coefficients of the interpolation polynomial for a 2xn-matrix of points.</comment><header></header><code></code><translations></translations><inputs><input type="%s">list of points</input></inputs><script><block s="doDeclareVariables"><list><l>matrix</l><l>found</l><l>x</l><l>row</l><l>help</l><l>n</l><l>solved</l><l>j</l><l>k</l><l>d</l><l>r</l><l>nonzero</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="data"/><l>matrix</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: matrix required!</l><l>polynomial interpolation for ...</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>2</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: not enough points!</l><l>polynomial interpolation for ...</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>2</l></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: 2-dimensional points required!</l><l>polynomial interpolation for ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>matrix</l><block s="reportNewList"><list></list></block><comment w="191.5707465277778" collapsed="false">create matrix of powers of x and y-value</comment></block><block s="doSetVar"><l>solved</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>n</l><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="n"/><l>50</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: too many points!</l><l>polynomial interpolation for ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>data</l><block s="reportListAttribute"><l><option>sorted</option></l><block var="data"/></block></block><block s="doFor"><l>i</l><l>1</l><block var="n"/><script><block s="doSetVar"><l>row</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>j</l><block s="reportDifference"><block var="n"/><l>1</l></block></block><block s="doUntil"><block s="reportVariadicLessThan"><list><block var="j"/><l>0</l></list></block><script><block s="doSetVar"><l>x</l><l>1</l></block><block s="doSetVar"><l>k</l><block var="j"/></block><block s="doUntil"><block s="reportVariadicLessThanOrEquals"><list><block var="k"/><l>0</l></list></block><script><block s="doSetVar"><l>x</l><block s="reportVariadicProduct"><list><block var="x"/><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="i"/><block var="data"/></block></block></list></block></block><block s="doChangeVar"><l>k</l><l>-1</l></block></script></block><block s="doAddToList"><block var="x"/><block var="row"/></block><block s="doChangeVar"><l>j</l><l>-1</l></block></script></block><block s="doAddToList"><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="i"/><block var="data"/></block></block><block var="row"/></block><block s="doAddToList"><block var="row"/><block var="matrix"/></block></script></block><block s="doSetVar"><l>d</l><block s="reportListAttribute"><l><option>length</option></l><block var="matrix"/></block><comment w="106.71245659722217" collapsed="false">Try to solve matrix</comment></block><block s="doSetVar"><l>r</l><l>1</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="r"/><block var="d"/></list></block><block s="reportNot"><block var="solved"/></block></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block><l>0</l></list></block><script><block s="doSetVar"><l>nonzero</l><block s="reportVariadicSum"><list><block var="r"/><l>1</l></list></block><comment w="137.82649739583348" collapsed="false">find nonzero element</comment></block><block s="doSetVar"><l>found</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block var="found"/><block s="reportVariadicGreaterThan"><list><block var="nonzero"/><block var="d"/></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="nonzero"/><block var="matrix"/></block></block><l>0</l></list></block><script><block s="doSetVar"><l>found</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doChangeVar"><l>nonzero</l><l>1</l></block></script></block></script></block><block s="doIfElse"><block s="reportNot"><block var="found"/></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: no solution found!</l><l>polynomial interpolation for ...</l></custom-block></script><script><block s="doSetVar"><l>matrix</l><block s="reportMap"><block s="reifyReporter"><script><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="r"/><block var="row"/></block></block><block s="doReplaceInList"><block var="r"/><block var="row"/><block s="reportListItem"><block var="nonzero"/><block var="row"/></block></block><block s="doReplaceInList"><block var="nonzero"/><block var="row"/><block var="help"/></block><block s="doReport"><block var="row"/></block></script><list><l>row</l></list></block><block var="matrix"/></block><comment w="90" collapsed="false">swap rows</comment></block></script></block></script><list></list></block><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block><comment w="90" collapsed="false">normalize row</comment></block><block s="doReplaceInList"><block var="r"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block><l>1</l></block><block s="doSetVar"><l>k</l><block s="reportVariadicSum"><list><block var="r"/><l>1</l></list></block></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="k"/><block s="reportVariadicSum"><list><block var="d"/><l>1</l></list></block></list></block><script><block s="doReplaceInList"><block var="k"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block><block s="reportQuotient"><block s="reportListItem"><block var="k"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block><block var="help"/></block></block><block s="doChangeVar"><l>k</l><l>1</l></block></script></block><block s="doSetVar"><l>k</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="k"/><block var="d"/></list></block><script><block s="doIf"><block s="reportVariadicNotEquals"><list><block var="k"/><block var="r"/></list></block><script><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block></block></block><block s="doIf"><block s="reportVariadicNotEquals"><list><block var="help"/><l>0</l></list></block><script><block s="doReplaceInList"><block var="r"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block><l>0</l></block><block s="doSetVar"><l>j</l><block s="reportVariadicSum"><list><block var="r"/><l>1</l></list></block></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="j"/><block s="reportVariadicSum"><list><block var="d"/><l>1</l></list></block></list></block><script><block s="doReplaceInList"><block var="j"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block><block s="reportDifference"><block s="reportListItem"><block var="j"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block></block><block s="reportVariadicProduct"><list><block var="help"/><block s="reportListItem"><block var="j"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block></list></block></block></block><block s="doChangeVar"><l>j</l><l>1</l></block></script></block></script><list></list></block></script><list></list></block><block s="doChangeVar"><l>k</l><l>1</l></block></script><comment w="90" collapsed="false">diagonaize</comment></block><block s="doChangeVar"><l>r</l><l>1</l></block></script></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportListItem"><l><option>last</option></l><l/></block></block></script><list></list></block><block var="matrix"/></block></block></script></block></script></block-definition><block-definition s="affine transformation of %&apos;data&apos; $nl by %&apos;originalPoints&apos; --&gt; %&apos;targetPoints&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="96.94142127403848" collapsed="false">Applies an affine transformation to a list of points.&#xD;</comment><header></header><code></code><translations></translations><inputs><input type="%s">list of points</input><input type="%s">3 original points</input><input type="%s">3 target points</input></inputs><script><block s="doDeclareVariables"><list><l>a11</l><l>a12</l><l>a13</l><l>a21</l><l>a22</l><l>a23</l><l>S</l><l>P1</l><l>P2</l><l>P3</l><l>Q1</l><l>Q2</l><l>Q3</l><l>ok</l><l>result</l><l>i</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: at least one point required!</l><l>affine transformation of ...</l></custom-block></script><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="data"/></block><l><option>list</option></l></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>2</l></list></block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: dimension should be 2!</l><l>affine transformation of ...</l></custom-block></script><list></list></block></script></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: list of points as data required!</l><l>affine transformation of ...</l></custom-block></script></block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doIfElse"><block s="reportIsA"><block var="originalPoints"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="originalPoints"/></block><l>3</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: 3 original points required!</l><l>affine transformation of ...</l></custom-block></script><script><block s="doFor"><l>i</l><l>1</l><l>3</l><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><block var="i"/><block var="originalPoints"/></block><l><option>list</option></l></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><block var="i"/><block var="originalPoints"/></block></block><l>2</l></list></block></list></block></block><script><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block></script></block></script></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: list of original points  required!</l><l>affine transformation of ...</l></custom-block></script></block><block s="doIfElse"><block s="reportIsA"><block var="targetPoints"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="targetPoints"/></block><l>3</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: 3 target points required!</l><l>affine transformation of ...</l></custom-block></script><script><block s="doFor"><l>i</l><l>1</l><l>3</l><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><block var="i"/><block var="targetPoints"/></block><l><option>list</option></l></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><block var="i"/><block var="targetPoints"/></block></block><l>2</l></list></block></list></block></block><script><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block></script></block></script></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: list of target points  required!</l><l>affine transformation of ...</l></custom-block></script></block><block s="doIf"><block s="reportNot"><block var="ok"/></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: dimensions should be 2!</l><l>affine transformation of ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>P1</l><block s="reportListItem"><l>1</l><block var="originalPoints"/></block></block><block s="doSetVar"><l>P2</l><block s="reportListItem"><l>2</l><block var="originalPoints"/></block></block><block s="doSetVar"><l>P3</l><block s="reportListItem"><l>3</l><block var="originalPoints"/></block></block><block s="doSetVar"><l>Q1</l><block s="reportListItem"><l>1</l><block var="targetPoints"/></block></block><block s="doSetVar"><l>Q2</l><block s="reportListItem"><l>2</l><block var="targetPoints"/></block></block><block s="doSetVar"><l>Q3</l><block s="reportListItem"><l>3</l><block var="targetPoints"/></block></block><block s="doSetVar"><l>S</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>2</l><block var="P2"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>2</l><block var="P3"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>2</l><block var="P1"/></block></block></list></block></list></block></list></block></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="S"/><l>0</l></list></block></block><script><block s="doSetVar"><l>a11</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q2"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q3"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q1"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a12</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q3"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q1"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q2"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a21</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q2"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q3"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q1"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a22</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q3"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q1"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q2"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a13</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></list></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></list></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></list></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a23</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></list></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></list></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></list></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="i"/><block var="data"/></block></block><block var="a11"/></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="i"/><block var="data"/></block></block><block var="a12"/></list></block></list></block><block var="a13"/></list></block><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="i"/><block var="data"/></block></block><block var="a21"/></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="i"/><block var="data"/></block></block><block var="a22"/></list></block></list></block><block var="a23"/></list></block></list></block><block var="result"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script><list></list></block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: denominator is zero</l><l>affine transformation of ...</l></custom-block></script></block></script></block-definition><block-definition s="%&apos;re&apos; + %&apos;im&apos; * i" type="reporter" category="2. Math tools" space="true"><comment x="0" y="0" w="122.28571428571438" collapsed="false">Reports a complex number in Cartesian form.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">3</input></inputs><script><block s="doReport"><block s="reportNewList"><list><l>cnC</l><block var="re"/><block var="im"/></list></block></block></script></block-definition><block-definition s="%&apos;r&apos; * e^i %&apos;phi&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="106.42857142857126" collapsed="false">Reports a complex number in polar form.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">30</input></inputs><script><block s="doReport"><block s="reportNewList"><list><l>cnP</l><block var="r"/><block var="phi"/></list></block></block></script></block-definition><block-definition s="%&apos;z&apos; $arrowRightThin %&apos;selection&apos; - form" type="reporter" category="2. Math tools"><comment x="0" y="0" w="130.71428571428555" collapsed="false">Reports a complex number in polar or Cartesian form.</comment><header></header><code></code><translations></translations><inputs><input type="%s">complex number</input><input type="%txt" readonly="true">polar<options>polar&#xD;Cartesian</options></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number</l></custom-block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="selection"/><l>polar</l></list></block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number-polar-form</l></custom-block><script><block s="doReport"><block var="z"/></block></script><script><block s="doReport"><block s="reportNewList"><list><l>cnP</l><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportListItem"><l>2</l><block var="z"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="z"/></block><block s="reportListItem"><l>3</l><block var="z"/></block></list></block></list></block></block><block s="reportMonadic"><l><option>atan</option></l><block s="reportQuotient"><block s="reportListItem"><l>3</l><block var="z"/></block><block s="reportListItem"><l>2</l><block var="z"/></block></block></block></list></block></block></script></block></script><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number-Cartesian-form</l></custom-block><script><block s="doReport"><block var="z"/></block></script><script><block s="doReport"><block s="reportNewList"><list><l>cnC</l><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportMonadic"><l><option>cos</option></l><block s="reportListItem"><l>3</l><block var="z"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportMonadic"><l><option>sin</option></l><block s="reportListItem"><l>3</l><block var="z"/></block></block></list></block></list></block></block></script></block></script></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: complex number expected!</l><l>complex number --&gt; complex number</l></custom-block></script></block></script></block></script></block-definition><block-definition s="%&apos;choice&apos; of a %&apos;z&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="191.42857142857125" collapsed="false">Reports properties of complex numbers.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">real-part<options>absolute-value&#xD;real-part&#xD;imaginary-part&#xD;phase&#xD;conjugate</options></input><input type="%s">complex number</input></inputs><script><block s="doWarp"><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number</l></custom-block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>absolute-value</l></list></block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number-polar-form</l></custom-block><script><block s="doReport"><block s="reportListItem"><l>2</l><block var="z"/></block></block></script><script><block s="doReport"><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportListItem"><l>2</l><block var="z"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="z"/></block><block s="reportListItem"><l>3</l><block var="z"/></block></list></block></list></block></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>real-part</l></list></block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number-Cartesian-form</l></custom-block><script><block s="doReport"><block s="reportListItem"><l>2</l><block var="z"/></block></block></script><script><block s="doReport"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportMonadic"><l><option>cos</option></l><block s="reportListItem"><l>3</l><block var="z"/></block></block></list></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>imaginary-part</l></list></block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number-Cartesian-form</l></custom-block><script><block s="doReport"><block s="reportListItem"><l>3</l><block var="z"/></block></block></script><script><block s="doReport"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportMonadic"><l><option>sin</option></l><block s="reportListItem"><l>3</l><block var="z"/></block></block></list></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>phase</l></list></block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number-polar-form</l></custom-block><script><block s="doReport"><block s="reportListItem"><l>3</l><block var="z"/></block></block></script><script><block s="doReport"><block s="reportMonadic"><l><option>atan</option></l><block s="reportQuotient"><block s="reportListItem"><l>3</l><block var="z"/></block><block s="reportListItem"><l>2</l><block var="z"/></block></block></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>conjugate</l></list></block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number-polar-form</l></custom-block><script><block s="doReport"><block s="reportNewList"><list><l>cnP</l><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportMonadic"><l><option>neg</option></l><block s="reportListItem"><l>3</l><block var="z"/></block></block></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><l>cnC</l><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportMonadic"><l><option>neg</option></l><block s="reportListItem"><l>3</l><block var="z"/></block></block></list></block></block></script></block></script><list></list></block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown operator!</l><l>... of complex number</l></custom-block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: complex number expected!</l><l>... of complex number</l></custom-block></script></block></script></block></script></block-definition><block-definition s="complex operation %&apos;z1&apos; %&apos;op&apos; %&apos;z2&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="240" collapsed="false">Reports arithmetic results of two complex numbers.</comment><header></header><code></code><translations></translations><inputs><input type="%s">z1</input><input type="%s" readonly="true">+<options>+&#xD;-&#xD;*&#xD;/</options></input><input type="%s">z2</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>denominator</l></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="z1"/><l>complex-number</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: first argument is not a complex number</l><l>complex operation ...</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="z2"/><l>complex-number</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: second argument is not a complex number</l><l>complex operation ...</l></custom-block></script><list></list></block><block s="doIf"><custom-block s="is %s a %txt"><block var="z1"/><l>complex-number-polar-form</l></custom-block><script><block s="doSetVar"><l>z1</l><block s="reportNewList"><list><l>cnC</l><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportMonadic"><l><option>cos</option></l><block s="reportListItem"><l>3</l><block var="z1"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportMonadic"><l><option>sin</option></l><block s="reportListItem"><l>3</l><block var="z1"/></block></block></list></block></list></block></block></script><list></list></block><block s="doIf"><custom-block s="is %s a %txt"><block var="z2"/><l>complex-number-polar-form</l></custom-block><script><block s="doSetVar"><l>z2</l><block s="reportNewList"><list><l>cnC</l><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z2"/></block><block s="reportMonadic"><l><option>cos</option></l><block s="reportListItem"><l>3</l><block var="z2"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z2"/></block><block s="reportMonadic"><l><option>sin</option></l><block s="reportListItem"><l>3</l><block var="z2"/></block></block></list></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>+</l></list></block><script><block s="doReport"><block s="reportNewList"><list><l>cnC</l><block s="reportVariadicSum"><list><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportListItem"><l>2</l><block var="z2"/></block></list></block><block s="reportVariadicSum"><list><block s="reportListItem"><l>3</l><block var="z1"/></block><block s="reportListItem"><l>3</l><block var="z2"/></block></list></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>-</l></list></block><script><block s="doReport"><block s="reportNewList"><list><l>cnC</l><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportListItem"><l>2</l><block var="z2"/></block></block><block s="reportDifference"><block s="reportListItem"><l>3</l><block var="z1"/></block><block s="reportListItem"><l>3</l><block var="z2"/></block></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>*</l></list></block><script><block s="doReport"><block s="reportNewList"><list><l>cnC</l><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportListItem"><l>2</l><block var="z2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="z1"/></block><block s="reportListItem"><l>3</l><block var="z2"/></block></list></block></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportListItem"><l>3</l><block var="z2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="z1"/></block><block s="reportListItem"><l>2</l><block var="z2"/></block></list></block></list></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>/</l></list></block><script><block s="doSetVar"><l>denominator</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z2"/></block><block s="reportListItem"><l>2</l><block var="z2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="z2"/></block><block s="reportListItem"><l>3</l><block var="z2"/></block></list></block></list></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="denominator"/><l>0</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: denominator is zero!</l><l>complex operation ...</l></custom-block></script><list></list></block><block s="doReport"><block s="reportNewList"><list><l>cnC</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportListItem"><l>2</l><block var="z2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="z1"/></block><block s="reportListItem"><l>3</l><block var="z2"/></block></list></block></list></block><block var="denominator"/></block><block s="reportQuotient"><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="z1"/></block><block s="reportListItem"><l>2</l><block var="z2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportListItem"><l>3</l><block var="z2"/></block></list></block></block><block var="denominator"/></block></list></block></block></script><list></list></block></script></block></script></block-definition><block-definition s="configure %&apos;sprite&apos; as a MathPad width: %&apos;width&apos; height: %&apos;height&apos; $nl color: %&apos;color&apos; with close-button %&apos;withCloseButton?&apos; left? %&apos;left?&apos; size: %&apos;closeButtonSize&apos;" type="command" category="2. Math tools" space="true"><comment x="0" y="0" w="142.5" collapsed="false">Creates a new  empty costume of the specified size and color and sets local properties</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">400</input><input type="%n">300</input><input type="%txt" readonly="true">lightGray<options>black&#xD;gray&#xD;lightGray&#xD;white&#xD;red&#xD;orange&#xD;yellow&#xD;green&#xD;cyan&#xD;blue&#xD;magenta</options></input><input type="%b">false</input><input type="%b">false</input><input type="%n">15</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>costumeWidth</l><l>costumeHeight</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><custom-block s="configure %txt as a SketchPad width: %n height: %n %br color: %s with close-button %b left? %b size: %n"><block var="target"/><block var="width"/><block var="height"/><block var="color"/><block var="withCloseButton?"/><block var="left?"/><block var="closeButtonSize"/></custom-block><block s="doReplaceInList"><l>typeOfConfiguration</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><l>MathPad</l></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfData</l><l>unknown</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>onlyPoints</l><block s="reportBoolean"><l><bool>false</bool></l></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>withGrid?</l><block s="reportBoolean"><l><bool>false</bool></l></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>dimensions</l><l>3</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>xMin</l><l>-10</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>xMax</l><l>10</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>yMin</l><l>-10</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>yMax</l><l>10</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>zMin</l><l>-10</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>zMax</l><l>10</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>startPoint</l><block s="reportNewList"><list><l>0</l><l>0</l><l>0</l></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_MathpadAddAxes(costume,properties)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></list></block></list></block></script></block></script><scripts><comment x="491.5000000000002" y="85.16666666666666" w="181.49372863769622" collapsed="false">costume attributes and line attributes same as SketchPad:&#xD;&#xD;other attributes:&#xD;- draw only ponts, not arrows&#xD;- dimension of coordinate system&#xD;- max. value on scales&#xD;- start point of arrows</comment></scripts></block-definition><block-definition s="new dictionary" type="reporter" category="lists" space="true"><comment x="0" y="0" w="140.66666666666666" collapsed="false">Reports an empty dictionary.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>key</l><l>value</l></list></block></list></block></block></script></block-definition><block-definition s="create %&apos;_scope&apos; var %&apos;_names&apos;" type="command" category="variables"><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="%&apos;color&apos; as %&apos;colortype&apos;" type="reporter" category="pen"><comment x="0" y="0" w="192.952380952381" collapsed="false">Reports an RGB-value specified by name, number, tree or four values, or list. Default value is gray.</comment><header></header><code></code><translations></translations><inputs><input type="%s">gray<options>black&#xD;gray&#xD;lightGray&#xD;white&#xD;red&#xD;orange&#xD;yellow&#xD;green&#xD;cyan&#xD;blue&#xD;magenta</options></input><input type="%txt" readonly="true">RGB-value<options>RGB-value&#xD;RGBA-value</options></input></inputs><script><block s="doDeclareVariables"><list><l>colors</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>colors</l><block s="reportNewList"><list><block s="reportNewList"><list><l>black</l><block s="reportNewList"><list><l>0</l><l>0</l><l>0</l></list></block></list></block><block s="reportNewList"><list><l>red</l><block s="reportNewList"><list><l>255</l><l>0</l><l>0</l></list></block></list></block><block s="reportNewList"><list><l>green</l><block s="reportNewList"><list><l>0</l><l>255</l><l>0</l></list></block></list></block><block s="reportNewList"><list><l>blue</l><block s="reportNewList"><list><l>0</l><l>0</l><l>255</l></list></block></list></block><block s="reportNewList"><list><l>gray</l><block s="reportNewList"><list><l>180</l><l>180</l><l>180</l></list></block></list></block><block s="reportNewList"><list><l>orange</l><block s="reportNewList"><list><l>255</l><l>165</l><l>0</l></list></block></list></block><block s="reportNewList"><list><l>cyan</l><block s="reportNewList"><list><l>0</l><l>255</l><l>255</l></list></block></list></block><block s="reportNewList"><list><l>magenta</l><block s="reportNewList"><list><l>255</l><l>0</l><l>255</l></list></block></list></block><block s="reportNewList"><list><l>yellow</l><block s="reportNewList"><list><l>255</l><l>255</l><l>0</l></list></block></list></block><block s="reportNewList"><list><l>white</l><block s="reportNewList"><list><l>255</l><l>255</l><l>255</l></list></block></list></block><block s="reportNewList"><list><l>lightGray</l><block s="reportNewList"><list><l>230</l><l>230</l><l>230</l></list></block></list></block></list></block></block><block s="doIf"><block s="reportIsA"><block var="color"/><l><option>list</option></l></block><script><block s="doIf"><custom-block s="is %s a %txt"><block var="color"/><l>vector</l></custom-block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="color"/></block><l>3</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="colortype"/><l>RGB-value</l></list></block><script><block s="doReport"><block var="color"/></block></script><script><block s="doReport"><block s="reportConcatenatedLists"><list><block var="color"/><block s="reportNewList"><list><l>255</l></list></block></list></block></block></script></block></script><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="color"/></block><l>4</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="colortype"/><l>RGB-value</l></list></block><script><block s="doReport"><custom-block s="subsection of %s in %s from %br %s %s to %s %s"><l>list-data</l><block s="reportNewList"><list><l>1</l><l>2</l><l>3</l><l>4</l></list></block><l>1</l><l>1</l><l>3</l><l>1</l></custom-block></block></script><script><block s="doReport"><block var="color"/></block></script></block></script><l><bool>true</bool></l><script><block s="doReport"><custom-block s="%s as %txt"><l>gray</l><block var="colortype"/></custom-block></block></script></list></block></script><list><l><bool>true</bool></l><script><block s="doReport"><custom-block s="%s as %txt"><l>gray</l><block var="colortype"/></custom-block></block></script></list></block></script><list><block s="reportIsA"><block var="color"/><l><option>number</option></l></block><script><block s="doSetVar"><l>color</l><block s="reportListItem"><block var="color"/><block var="colors"/></block></block><block s="doIfElse"><block s="reportIsA"><block var="color"/><l><option>list</option></l></block><script><block s="doReport"><custom-block s="%s as %txt"><block s="reportListItem"><l>2</l><block var="color"/></block><block var="colortype"/></custom-block></block></script><script><block s="doReport"><custom-block s="%s as %txt"><l>gray</l><block var="colortype"/></custom-block></block></script></block></script><block s="reportIsA"><block var="color"/><l><option>text</option></l></block><script><block s="doSetVar"><l>color</l><block s="reportListItem"><block var="color"/><block var="colors"/></block></block><block s="doIfElse"><block s="reportIsA"><block var="color"/><l><option>list</option></l></block><script><block s="doReport"><custom-block s="%s as %txt"><block var="color"/><block var="colortype"/></custom-block></block></script><script><block s="doReport"><custom-block s="%s as %txt"><l>gray</l><block var="colortype"/></custom-block></block></script></block></script><l><bool>true</bool></l><script><block s="doReport"><custom-block s="%s as %txt"><l>gray</l><block var="colortype"/></custom-block></block></script></list></block></script></block></script></block-definition><block-definition s="new costume size: %&apos;width&apos; %&apos;height&apos; %&apos;color&apos;" type="reporter" category="looks" space="true"><comment x="0" y="0" w="126.4531901041667" collapsed="false">Returns an empty costume of the given width and height with background color given as text or list.</comment><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%s" readonly="true">lightGray<options>black&#xD;gray&#xD;lightGray&#xD;white&#xD;red&#xD;orange&#xD;yellow&#xD;green&#xD;cyan&#xD;blue&#xD;magenta</options></input></inputs><script><block s="doWarp"><script><block s="doSetVar"><l>color</l><custom-block s="%s as %txt"><block var="color"/><l>RGB-value</l></custom-block></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,color)</l><list><block var="width"/><block var="height"/><block var="color"/></list></block></block></script></block></script></block-definition><block-definition s="is variable %&apos;varname&apos; in the scope of %&apos;sprite&apos; ?" type="predicate" category="variables"><comment x="0" y="0" w="118.6666666666668" collapsed="false">Reports true if the varname is part of the scope of the sprite. the varname is not used case-sensitive!</comment><header></header><code></code><translations></translations><inputs><input type="%s">varname</input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportIsA"><block var="target"/><l><option>sprite</option></l></block><block s="reportIsA"><block var="target"/><l><option>stage</option></l></block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: sprite or stage required!</l><l>thisBlock</l></custom-block></script><list></list></block><block s="doReport"><block s="reportListContainsItem"><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportApplyExtension"><l>var_names(scope)</l><list><l></l></list></block></autolambda><list></list></block><list><l>sprite</l></list></block><block var="varname"/></block></block></script></block></script></block-definition><block-definition s="set MathPad costume properties width: %&apos;width&apos; height: %&apos;height&apos; $nl color: %&apos;color&apos; offsets: %&apos;leftOffset&apos; %&apos;upperOffset&apos; $nl with close-button %&apos;closeButton&apos; left? %&apos;left?&apos; size %&apos;size&apos; on %&apos;sprite&apos;" type="command" category="2. Math tools"><comment x="0" y="0" w="124.32706197102944" collapsed="false">a simple way to set some costume attributes:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;6: left offset for MathPad&#xD;    position on stage&#xD;7: upper offset for MathPad&#xD;    position on stage&#xD;8: close-button properties</comment><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%mult%s"></input><input type="%n">0</input><input type="%n">0</input><input type="%b">true</input><input type="%b">false</input><input type="%n">15</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %s ?"><block var="target"/><l>MathPad</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>Target isn&apos;t configured as MathPad!</l><l>set MathPad costume properties</l></custom-block></script><list></list></block><custom-block s="configure %s as a MathPad width: %n height: %n %br color: %txt with close-button %b left? %b size: %n"><block var="target"/><block var="width"/><block var="height"/><custom-block s="variadic color %mult%s $arrowRightOutline RGB(A)-value"><block var="color"/></custom-block><block var="closeButton"/><block var="left?"/><block var="size"/></custom-block><block s="doReplaceInList"><l>offsets</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block s="reportNewList"><list><block var="leftOffset"/><block var="upperOffset"/></list></block></block></script></block></script></block-definition><block-definition s="set MathPad properties lineWidth: %&apos;lineWidth&apos; onlyPoints? %&apos;onlyPoints&apos; grid? %&apos;withGrid?&apos; $nl dimension: %&apos;dimensions&apos; xMin: %&apos;xMin&apos; xMax: %&apos;xMax&apos; yMin: %&apos;yMin&apos; yMax: %&apos;yMax&apos; $nl zMin: %&apos;zMin&apos; zMax: %&apos;zMax&apos; startPoint: %&apos;x&apos; %&apos;y&apos; %&apos;z&apos; on %&apos;sprite&apos;" type="command" category="2. Math tools"><comment x="0" y="0" w="160.99372863769568" collapsed="false">a simple way to set some MathPad attributes:&#xD;1: line width&#xD;2: draw only ponts, not arrows&#xD;3: dimension of coordinate system&#xD;4: max. value on scales&#xD;5: start point of arrows</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%b">false</input><input type="%b"></input><input type="%n">3</input><input type="%n">-10</input><input type="%n">10</input><input type="%n">-10</input><input type="%n">10</input><input type="%n">-10</input><input type="%n">10</input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>oldDimensions</l><l>oldXmax</l><l>oldXmin</l><l>oldYmin</l><l>oldYmax</l><l>oldZmin</l><l>oldZmax</l><l>oldWithGrid?</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %s ?"><block var="target"/><l>MathPad</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>Target isn&apos;t configured as MathPad!</l><l>set MathPad properties</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="xMin"/><block var="xMax"/></list></block><block s="reportVariadicGreaterThanOrEquals"><list><block var="yMin"/><block var="yMax"/></list></block><block s="reportVariadicGreaterThanOrEquals"><list><block var="zMin"/><block var="zMax"/></list></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>Irregular ranges!</l><l>set MathPad properties</l></custom-block></script><list></list></block><block s="doSetVar"><l>oldDimensions</l><block s="reportListItem"><l>dimensions</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block><block s="doSetVar"><l>oldXmax</l><block s="reportListItem"><l>xMax</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block><block s="doSetVar"><l>oldXmin</l><block s="reportListItem"><l>xMin</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block><block s="doSetVar"><l>oldYmax</l><block s="reportListItem"><l>yMax</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block><block s="doSetVar"><l>oldYmin</l><block s="reportListItem"><l>yMin</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block><block s="doSetVar"><l>oldZmin</l><block s="reportListItem"><l>zMin</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block><block s="doSetVar"><l>oldZmax</l><block s="reportListItem"><l>zMax</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block><block s="doSetVar"><l>oldWithGrid?</l><block s="reportListItem"><l>withGrid?</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block><block s="doReplaceInList"><l>lineWidth</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="lineWidth"/></block><block s="doReplaceInList"><l>onlyPoints</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="onlyPoints"/></block><block s="doReplaceInList"><l>dimensions</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="dimensions"/></block><block s="doReplaceInList"><l>xMin</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="xMin"/></block><block s="doReplaceInList"><l>xMax</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="xMax"/></block><block s="doReplaceInList"><l>yMin</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="yMin"/></block><block s="doReplaceInList"><l>yMax</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="yMax"/></block><block s="doReplaceInList"><l>zMin</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="zMin"/></block><block s="doReplaceInList"><l>zMax</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="zMax"/></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dimensions"/><l>3</l></list></block><script><block s="doReplaceInList"><l>startPoint</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block s="reportNewList"><list><block var="x"/><block var="y"/><block var="z"/></list></block></block></script><list><block s="reportVariadicEquals"><list><block var="dimensions"/><l>2</l></list></block><script><block s="doReplaceInList"><l>startPoint</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block s="reportNewList"><list><block var="x"/><block var="y"/></list></block></block></script><block s="reportVariadicNotEquals"><list><block var="dimensions"/><l>1</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>Irregular dimension!</l><l>set MathPad properties</l></custom-block></script></list></block><block s="doReplaceInList"><l>withGrid?</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="withGrid?"/></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicNotEquals"><list><block var="oldDimensions"/><block var="dimensions"/></list></block><block s="reportVariadicNotEquals"><list><block var="oldXmax"/><block var="xMax"/></list></block><block s="reportVariadicNotEquals"><list><block var="oldXmin"/><block var="xMin"/></list></block><block s="reportVariadicNotEquals"><list><block var="oldYmax"/><block var="yMax"/></list></block><block s="reportVariadicNotEquals"><list><block var="oldYmin"/><block var="yMin"/></list></block><block s="reportVariadicNotEquals"><list><block var="oldZmin"/><block var="zMin"/></list></block><block s="reportVariadicNotEquals"><list><block var="oldZmax"/><block var="zMax"/></list></block><block s="reportVariadicNotEquals"><list><block var="oldWithGrid?"/><block var="withGrid?"/></list></block></list></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><custom-block s="new costume size: %n %n %s"><custom-block s="MathPadProperty %txt of %txt"><l>costumeWidth</l><block var="target"/></custom-block><custom-block s="MathPadProperty %txt of %txt"><l>costumeHeight</l><block var="target"/></custom-block><custom-block s="MathPadProperty %txt of %txt"><l>backColor</l><block var="target"/></custom-block></custom-block></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_MathpadAddAxes(costume,properties)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></list></block></block></script><list></list></block><list></list></block></script><list></list></block></script></block></script></block-definition><block-definition s="plot %&apos;choice&apos; %&apos;data&apos; color: %&apos;color&apos; on MathPad %&apos;sprite&apos; $nl Change startpoint? %&apos;changeStartpoint&apos;" type="command" category="2. Math tools"><comment x="0" y="0" w="164.4999999999994" collapsed="false">Draws a vector, complex number, or object of points from the start point stored in the properties.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">vector<options>vector&#xD;complex-number&#xD;line-to&#xD;object-of</options></input><input type="%l"></input><input type="%s" readonly="true">black<options>black&#xD;gray&#xD;lightGray&#xD;white&#xD;red&#xD;orange&#xD;yellow&#xD;green&#xD;cyan&#xD;blue&#xD;magenta</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">false</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %s ?"><block var="target"/><l>MathPad</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>Target isn&apos;t configured as MathPad!</l><l>plot ... on MathPad</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>Data are required as list!</l><l>plot ... on MathPad</l></custom-block></script><list></list></block><custom-block s="set MathPadProperty %txt of %txt to %s"><l>typeOfData</l><block var="target"/><block var="choice"/></custom-block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>object-of</l></list></block><script><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>1</l></list></block><block s="reportNot"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="data"/></block><l><option>list</option></l></block></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>At least two points necessary!</l><l>plot ... on MathPad</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>dimensions</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>Wrong dimension!</l><l>plot ... on MathPad</l></custom-block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_MathpadAddAxes(costume,properties)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></list></block></list></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>complex-number</l></list></block><script><block s="doIf"><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="data"/></block><l>cnC</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="data"/></block><l>cnP</l></list></block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>Complex number required!</l><l>plot ... on MathPad</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>dimensions</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><l>2</l></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>Wrong dimension!</l><l>plot ... on MathPad</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="data"/></block><l>cnP</l></list></block><script><block s="doSetVar"><l>data</l><block s="reportNewList"><list><l>cnC</l><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="data"/></block><block s="reportMonadic"><l><option>cos</option></l><block s="reportListItem"><l>3</l><block var="data"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="data"/></block><block s="reportMonadic"><l><option>sin</option></l><block s="reportListItem"><l>3</l><block var="data"/></block></block></list></block></list></block></block></script><list></list></block><block s="doSetVar"><l>data</l><block s="reportNewList"><list><block s="reportListItem"><l>2</l><block var="data"/></block><block s="reportListItem"><l>3</l><block var="data"/></block></list></block></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_MathPadPlot(costume,data,color,properties,choice)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="data"/><custom-block s="%s as %txt"><block var="color"/><l>RGB-value</l></custom-block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="choice"/></list></block></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_MathpadAddAxes(costume,properties)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></list></block></list></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="choice"/><l>vector</l></list></block><block s="reportVariadicEquals"><list><block var="choice"/><l>line-to</l></list></block></list></block><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="data"/><l>vector</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>Vector required!</l><l>plot ... on MathPad</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>dimensions</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>Wrong dimension!</l><l>plot ... on MathPad</l></custom-block></script><list></list></block><block s="doIf"><custom-block s="is %s a %txt"><block var="data"/><l>column-vector</l></custom-block><script><block s="doSetVar"><l>data</l><custom-block s="transpose %s"><block var="data"/></custom-block></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_MathPadPlot(costume,data,color,properties,choice)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="data"/><custom-block s="%s as %txt"><block var="color"/><l>RGB-value</l></custom-block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="choice"/></list></block></list></block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block var="changeStartpoint"/><block s="reportVariadicNotEquals"><list><block var="choice"/><l>object-of</l></list></block></list></block><script><block s="doReplaceInList"><l>startPoint</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="data"/></block></script><list></list></block></script></block></script></block-definition><block-definition s="plot set %&apos;set&apos; setname: %&apos;setname&apos; $nl color: %&apos;color&apos; linewidth: %&apos;linewidth&apos; level(1..5): %&apos;level&apos; on MathPad %&apos;sprite&apos; $nl" type="command" category="2. Math tools"><comment x="0" y="0" w="124.49999999999937" collapsed="false">Draws members of a set.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%txt">set1</input><input type="%s" readonly="true">black<options>black&#xD;gray&#xD;lightGray&#xD;white&#xD;red&#xD;orange&#xD;yellow&#xD;green&#xD;cyan&#xD;blue&#xD;magenta</options></input><input type="%n">1</input><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>width</l><l>height</l><l>properties</l><l>dl</l><l>x</l><l>xmin</l><l>xmax</l><l>x0</l><l>leftOffset</l><l>upperOffset</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %s ?"><block var="target"/><l>MathPad</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>Target isn&apos;t configured as MathPad!</l><l>plot set</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set"/><l>set</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>Set required!</l><l>plot set</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>dimensions</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><l>1</l></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>Dimension should be "1"!</l><l>plot set</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><block s="reportNumbers"><l>1</l><l>5</l></block><block var="level"/></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>Wrong level!</l><l>plot set</l></custom-block></script><list></list></block><block s="doSetVar"><l>properties</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doSetVar"><l>width</l><block s="reportListItem"><l>width</l><block var="properties"/></block></block><block s="doSetVar"><l>height</l><block s="reportListItem"><l>height</l><block var="properties"/></block></block><block s="doSetVar"><l>xmin</l><block s="reportListItem"><l>xMin</l><block var="properties"/></block></block><block s="doSetVar"><l>xmax</l><block s="reportListItem"><l>xMax</l><block var="properties"/></block></block><block s="doSetVar"><l>leftOffset</l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>offsets</l><block var="properties"/></block></block></block><block s="doSetVar"><l>upperOffset</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>offsets</l><block var="properties"/></block></block></block><block s="doSetVar"><l>dl</l><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block s="reportDifference"><block var="height"/><l>30</l></block><l>5</l></block></block></block><block s="doSetVar"><l>level</l><block s="reportVariadicSum"><list><l>30</l><block s="reportVariadicProduct"><list><block var="dl"/><block var="level"/></list></block></list></block></block><block s="doSetVar"><l>x0</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportMonadic"><l><option>neg</option></l><block var="xmin"/></block><block var="width"/></list></block><block s="reportDifference"><block var="xmax"/><block var="xmin"/></block></block></block><block s="doIfElse"><block s="reportIsA"><block var="color"/><l><option>list</option></l></block><script><block s="doSetVar"><l>color</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="color"/></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="color"/></block><l>3</l></list></block><script><block s="doSetVar"><l>color</l><block s="reportNewList"><list><l>255</l><l>0</l><l>2</l></list></block></block></script><list></list></block></script><script><block s="doIfElse"><block s="reportIsA"><block var="color"/><l><option>text</option></l></block><script><block s="doSetVar"><l>color</l><custom-block s="%s as %txt"><block var="color"/><l>RGB-value</l></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="color"/><l></l></list></block><script><block s="doSetVar"><l>color</l><block s="reportNewList"><list><l>255</l><l>0</l><l>230</l></list></block></block></script><list></list></block></script><script><block s="doSetVar"><l>color</l><block s="reportNewList"><list><l>255</l><l>0</l><l>230</l></list></block></block></script></block></script></block><custom-block s="set MathPadProperty %txt of %txt to %s"><l>lineColor</l><block var="target"/><block var="color"/></custom-block><custom-block s="set MathPadProperty %txt of %txt to %s"><l>lineWidth</l><block var="target"/><block var="linewidth"/></custom-block><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_MathPadPlotSet(set,setname,properties,atY,costume)</l><list><block var="set"/><block var="setname"/><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block s="reportVariadicSum"><list><block s="reportDifference"><block var="height"/><block var="level"/></block><block var="upperOffset"/><l>20</l></list></block><custom-block s="costume of %s"><block var="target"/></custom-block></list></block></block></script></block></script></block-definition><block-definition s="MathPad Example: vektor addition" type="command" category="2. Math tools" space="true"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="configure %s as a MathPad width: %n height: %n %br color: %txt with close-button %b left? %b size: %n"><l>theStage</l><l>400</l><l>300</l><l>lightGray</l><l><bool>true</bool></l><l><bool>true</bool></l><l>15</l></custom-block><custom-block s="plot %s %l color: %s on MathPad %txt %br Change startpoint? %b"><l>vector</l><custom-block s="linear operation %s %s %s"><custom-block s="vector %mult%n"><list><l>3</l><l>4</l><l>0</l></list></custom-block><l>+</l><custom-block s="vector %mult%n"><list><l>-5</l><l>0</l><l>4</l></list></custom-block></custom-block><l>red</l><l>theStage</l><l><bool>false</bool></l></custom-block><custom-block s="plot %s %l color: %s on MathPad %txt %br Change startpoint? %b"><l>vector</l><custom-block s="vector %mult%n"><list><l>3</l><l>4</l><l>0</l></list></custom-block><l>green</l><l>theStage</l><l><bool>true</bool></l></custom-block><custom-block s="plot %s %l color: %s on MathPad %txt %br Change startpoint? %b"><l>vector</l><custom-block s="vector %mult%n"><list><l>-5</l><l>0</l><l>4</l></list></custom-block><l>blue</l><l>theStage</l><l><bool>false</bool></l></custom-block></script></block-definition><block-definition s="MathPad Example: affine transformation" type="command" category="2. Math tools"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>triangle</l><l>image</l><l>sourcePoints</l><l>targetPoints</l></list></block><block s="doSetVar"><l>triangle</l><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>0</l></list></block><block s="reportNewList"><list><l>8</l><l>1</l></list></block><block s="reportNewList"><list><l>2</l><l>5</l></list></block></list></block></block><block s="doSetVar"><l>sourcePoints</l><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>0</l></list></block><block s="reportNewList"><list><l>0</l><l>1</l></list></block><block s="reportNewList"><list><l>1</l><l>0</l></list></block></list></block></block><block s="doSetVar"><l>targetPoints</l><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>0</l></list></block><block s="reportNewList"><list><l>0</l><l>-1</l></list></block><block s="reportNewList"><list><l>-1</l><l>0</l></list></block></list></block></block><custom-block s="configure %s as a MathPad width: %n height: %n %br color: %txt with close-button %b left? %b size: %n"><l>thisSprite</l><l>500</l><l>400</l><l>lightGray</l><l><bool>false</bool></l><l><bool>false</bool></l><l>15</l></custom-block><custom-block s="set MathPad properties lineWidth: %n onlyPoints? %b grid? %b %br dimension: %n xMin: %n xMax: %n yMin: %n yMax: %n %br zMin: %n zMax: %n startPoint: %n %n %n on %txt"><l>1</l><l><bool>false</bool></l><l><bool>true</bool></l><l>2</l><l>-10</l><l>10</l><l>-10</l><l>10</l><l>-10</l><l>10</l><l>0</l><l>0</l><l>0</l><l>thisSprite</l></custom-block><custom-block s="plot %s %l color: %s on MathPad %txt %br Change startpoint? %b"><l>object-of</l><block var="triangle"/><l>red</l><l>thisSprite</l><l><bool>false</bool></l></custom-block><block s="doSetVar"><l>image</l><custom-block s="affine transformation of %s %br by %s --&gt; %s"><block var="triangle"/><block var="sourcePoints"/><block var="targetPoints"/></custom-block></block><custom-block s="plot %s %l color: %s on MathPad %txt %br Change startpoint? %b"><l>object-of</l><block var="image"/><l>blue</l><l>thisSprite</l><l><bool>false</bool></l></custom-block></script></block-definition><block-definition s="MathPad Example: set operations" type="command" category="2. Math tools"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>set1</l><l>set2</l></list></block><block s="doSetVar"><l>set1</l><custom-block s="set of {x| %repRing }"><block s="reifyReporter"><autolambda><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><l></l><l>-5</l></list></block><block s="reportVariadicLessThan"><list><l></l><l>7</l></list></block></list></block></autolambda><list></list></block></custom-block></block><block s="doSetVar"><l>set2</l><custom-block s="set of {x| %repRing }"><block s="reifyReporter"><autolambda><block s="reportVariadicEquals"><list><block s="reportModulus"><l></l><l>2</l></block><l>0</l></list></block></autolambda><list></list></block></custom-block></block><custom-block s="configure %s as a MathPad width: %n height: %n %br color: %txt with close-button %b left? %b size: %n"><l>thisSprite</l><l>600</l><l>300</l><l>lightGray</l><l><bool>true</bool></l><l><bool>false</bool></l><l>15</l></custom-block><custom-block s="set MathPad properties lineWidth: %n onlyPoints? %b grid? %b %br dimension: %n xMin: %n xMax: %n yMin: %n yMax: %n %br zMin: %n zMax: %n startPoint: %n %n %n on %txt"><l>1</l><l><bool>false</bool></l><l><bool>true</bool></l><l>1</l><l>-20</l><l>20</l><l>-10</l><l>10</l><l>-10</l><l>10</l><l>0</l><l>0</l><l>0</l><l>thisSprite</l></custom-block><custom-block s="plot set %l setname: %txt %br color: %s linewidth: %n level(1..5): %n on MathPad %txt %br"><block var="set1"/><l>set1: (x&gt;-5)&amp;&amp;(x&lt;7)</l><l>red</l><l>1</l><l>4</l><l>thisSprite</l></custom-block><custom-block s="plot set %l setname: %txt %br color: %s linewidth: %n level(1..5): %n on MathPad %txt %br"><block var="set2"/><l>set2: even numbers</l><l>red</l><l>2</l><l>3</l><l>thisSprite</l></custom-block><custom-block s="plot set %l setname: %txt %br color: %s linewidth: %n level(1..5): %n on MathPad %txt %br"><custom-block s="%s %s %s"><block var="set1"/><l>∩</l><block var="set2"/></custom-block><l>se1 ∩ set2</l><l>red</l><l>2</l><l>2</l><l>thisSprite</l></custom-block><custom-block s="plot set %l setname: %txt %br color: %s linewidth: %n level(1..5): %n on MathPad %txt %br"><custom-block s="%s %s %s"><block var="set1"/><l>∪</l><block var="set2"/></custom-block><l>se1 ∪ set2</l><l>red</l><l>1</l><l>1</l><l>thisSprite</l></custom-block></script></block-definition><block-definition s="rename costume %&apos;costume&apos; to %&apos;newName&apos;" type="command" category="looks"><comment x="0" y="0" w="90" collapsed="false">Changes the name of a costume.</comment><header></header><code></code><translations></translations><inputs><input type="%s">a costume</input><input type="%txt">new costume name</input></inputs><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="costume"/><l><option>costume</option></l></block><block s="reportIsA"><block var="newName"/><l><option>text</option></l></block></list></block><script><block s="doApplyExtension"><l>SciS_renameCostume(costume,newName)</l><list><block var="costume"/><block var="newName"/></list></block></script><list><l><bool>true</bool></l><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: costume required!</l><l>rename costume</l></custom-block></script></list></block></script></block-definition><block-definition s="add key %&apos;key&apos; value %&apos;value&apos; to dictionary %&apos;dictionary&apos;" type="command" category="lists"><comment x="0" y="0" w="79.33333333333333" collapsed="false">Adds or replaces an entry in a dictionary.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="dictionary"/><l>dictionary</l></custom-block><script><block s="doIfElse"><block s="reportIsA"><block var="key"/><l><option>number</option></l></block><script><block s="doIfElse"><block s="reportListContainsItem"><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>1</l><block var="dictionary"/><l><bool>false</bool></l></custom-block><block var="key"/></block><script><block s="doReplaceInList"><block s="reportListIndex"><block var="key"/><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>1</l><block var="dictionary"/><l><bool>true</bool></l></custom-block></block><block var="dictionary"/><block s="reportNewList"><list><block var="key"/><block var="value"/></list></block></block></script><script><block s="doAddToList"><block s="reportNewList"><list><block var="key"/><block var="value"/></list></block><block var="dictionary"/></block></script></block></script><script><block s="doReplaceInList"><block var="key"/><block var="dictionary"/><block var="value"/></block></script></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: dictionary required!</l><l>add key/value to dictionary</l></custom-block></script></block></script></block></script></block-definition><block-definition s="set value %&apos;which&apos; to %&apos;value&apos;" type="command" category="sensing"><comment x="0" y="0" w="254.66666666666666" collapsed="false">Allows changing global settings programmatically.&#xD;This block is for numeric or text settings; use&#xD;SET FLAG for Boolean (checkbox) values.&#xD;&#xD;Eisenberg&apos;s Law:  Anything you can do from the user interface you should be able to do in your program, and vice versa.  This library is just a beginning; there are many UI controls outside of the Settings menu.</comment><header></header><code></code><translations>pt:altera o valor da configuração _ para _&#xD;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="set %&apos;varname&apos; of %&apos;sprite&apos; to %&apos;value&apos;" type="command" category="variables"><comment x="0" y="0" w="94.66666666666667" collapsed="false">Sets a local variable of a sprite to the specified value.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">varname</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s">anyValue</input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><block var="varname"/><block var="value"/></list></block></script></block></script></block-definition><block-definition s="get %&apos;varname&apos; of sprite %&apos;spritename&apos;" type="reporter" category="variables"><comment x="0" y="0" w="90" collapsed="false">Reports the value of a local variable.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">varname</input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="spritename"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="spritename"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="spritename"/></block></block></block></block><block s="doIf"><custom-block s="is variable %s in the scope of %s ?"><block var="varname"/><block var="target"/></custom-block><script><block s="doReport"><block s="reportAttributeOf"><block var="varname"/><block var="target"/></block></block></script><list></list></block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: variable don&apos;t exist.</l><l>get ... of sprite</l></custom-block></script></block></script></block-definition><block-definition s="delete var %&apos;_names&apos;" type="command" category="variables"><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><l></l></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="value of key %&apos;key&apos; in dictionary %&apos;dictionary&apos;" type="reporter" category="lists"><comment x="0" y="0" w="95.33333333333333" collapsed="false">Reports the value assigned to the key.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="dictionary"/><l>dictionary</l></custom-block><script><block s="doIfElse"><block s="reportIsA"><block var="key"/><l><option>number</option></l></block><script><block s="doIfElse"><block s="reportListContainsItem"><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>1</l><block var="dictionary"/><l><bool>false</bool></l></custom-block><block var="key"/></block><script><block s="doReport"><block s="reportListItem"><l>2</l><block s="reportListItem"><block s="reportListIndex"><block var="key"/><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>1</l><block var="dictionary"/><l><bool>true</bool></l></custom-block></block><block var="dictionary"/></block></block></block></script><script><block s="doReport"><l></l></block></script></block></script><script><block s="doReport"><block s="reportListItem"><block var="key"/><block var="dictionary"/></block></block></script></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: dictionary required!</l><l>value of key in dictionary</l></custom-block></script></block></script></block></script></block-definition><block-definition s="replace value of key %&apos;key&apos; in dictionary %&apos;dictionary&apos; with %&apos;new value&apos;" type="command" category="lists"><comment x="0" y="0" w="90" collapsed="false">Replaces the value assigned to the key with a new value.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input><input type="%s"></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="dictionary"/><l>dictionary</l></custom-block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><custom-block s="value of key %s in dictionary %l"><block var="key"/><block var="dictionary"/></custom-block><l></l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown key!</l><l>replace value in dictionary</l></custom-block></script><script><custom-block s="add key %s value %s to dictionary %l"><block var="key"/><block var="new value"/><block var="dictionary"/></custom-block></script></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: dictionary required!</l><l>add key/value to dictionary</l></custom-block></script></block></script></block></script></block-definition><block-definition s="remove entry of key %&apos;key&apos; in dictionary %&apos;dictionary&apos;" type="command" category="lists"><comment x="0" y="0" w="90" collapsed="false">Removes the entry of a key.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="dictionary"/><l>dictionary</l></custom-block><script><block s="doIfElse"><block s="reportIsA"><block var="key"/><l><option>number</option></l></block><script><block s="doIf"><block s="reportListContainsItem"><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>1</l><block var="dictionary"/><l><bool>false</bool></l></custom-block><block var="key"/></block><script><block s="doDeleteFromList"><block s="reportListIndex"><block var="key"/><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>1</l><block var="dictionary"/><l><bool>true</bool></l></custom-block></block><block var="dictionary"/></block></script><list></list></block></script><script><block s="doDeleteFromList"><block var="key"/><block var="dictionary"/></block></script></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: dictionary required!</l><l>remove entry in dictionary</l></custom-block></script></block></script></block></script></block-definition><block-definition s="read dictionary from JSON file" type="reporter" category="lists"><comment x="0" y="0" w="98" collapsed="false">Reports the content of a selected file.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><custom-block s="read %s -file with filepicker"><l>JSON</l></custom-block></block></script></block-definition><block-definition s="write dictionary %&apos;dictionary&apos; to JSON file %&apos;filename&apos;" type="command" category="lists"><comment x="0" y="0" w="90" collapsed="false">Stores a dictionary as a JSON file.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s">filename<options>filename&#xD;filepicker</options></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="dictionary"/><l>dictionary</l></custom-block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="filename"/><l>filepicker</l></list></block><script><block s="doSetVar"><l>filename</l><block s="reportListItem"><l>1</l><custom-block s="select %s with filepicker"><l>file</l></custom-block></block></block></script><list></list></block><custom-block s="write %s to %s -file %txt"><block var="dictionary"/><l>JSON</l><block var="filename"/></custom-block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: dictionary required!</l><l>write dictionary</l></custom-block></script></block></script></block></script></block-definition><block-definition s="copy of costume %&apos;theCostume&apos;" type="reporter" category="looks"><comment x="0" y="0" w="143.66666666666657" collapsed="false">Reports a copy of a costume.</comment><header></header><code></code><translations></translations><inputs><input type="%s">a costume</input></inputs><script><block s="doIfElse"><block s="reportIsA"><block var="theCostume"/><l><option>costume</option></l></block><script><block s="doReport"><block s="reportNewCostume"><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="theCostume"/></block><block s="reportGetImageAttribute"><l><option>width</option></l><block var="theCostume"/></block><block s="reportGetImageAttribute"><l><option>height</option></l><block var="theCostume"/></block></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: costume required!</l><l>copy of costume</l></custom-block></script></block></script></block-definition><block-definition s="costume of %&apos;sprite&apos;" type="reporter" category="looks"><comment x="0" y="0" w="154.1666666666665" collapsed="false">Reports the costume of a sprite or the stage.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>costume</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportIsA"><block var="target"/><l><option>sprite</option></l></block><block s="reportIsA"><block var="target"/><l><option>stage</option></l></block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: sprite or stage required!</l><l>costume of ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>costume</l><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block></block><block s="doIfElse"><block s="reportIsA"><block var="target"/><l><option>sprite</option></l></block><script><block s="doReport"><block var="costume"/></block></script><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="costume"/><l>0</l></list></block><script><block s="doReport"><custom-block s="new costume size: %n %n %s"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><l>white</l></custom-block></block></script><list></list></block><block s="doReport"><block var="costume"/></block></script></block></script></block-definition><block-definition s="show %&apos;aList&apos; as dialog" type="command" category="looks" space="true"><comment x="0" y="0" w="172.76888020833348" collapsed="false">Displays a list in a dialog window.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doApplyExtension"><l>SciS_showAsDialog(theList)</l><list><block var="aList"/></list></block></script></block-definition><block-definition s="close all open dialog windows" type="command" category="looks"><comment x="0" y="0" w="90" collapsed="false">This command closes all open dialog windows in a brutal way. ;-)</comment><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="safely try %cs then if %upvar %cs"><script><block s="doSwitchToScene"><l><option>next</option></l><list></list></block></script><l>error</l><script></script></custom-block></script></block-definition><block-definition s="safely try %&apos;action&apos; then if %&apos;error&apos; %&apos;handler&apos;" type="command" category="control" 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;</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="layer" type="reporter" category="looks" space="true"><comment x="0" y="0" w="90" collapsed="false">Reports the current layer of a sprite.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_layer()</l><list></list></block></block></script></block-definition><block-definition s="set layer to %&apos;n&apos;" type="command" category="looks"><comment x="0" y="0" w="90" collapsed="false">Sets the layer of a sprite.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">0</input></inputs><script><block s="doWarp"><script><block s="goToLayer"><l><option>back</option></l></block><block s="goBack"><block s="reportMonadic"><l><option>neg</option></l><block var="n"/></block></block></script></block></script></block-definition><block-definition s="set cursor %&apos;which&apos;" type="command" category="looks" space="true"><comment x="0" y="0" w="214.07122395833343" collapsed="false">Selects the specified costume for the cursor.</comment><header></header><code></code><translations></translations><inputs><input type="%s">pointer<options>auto&#xD;cell&#xD;copy&#xD;crosshair&#xD;default&#xD;grab&#xD;grabbing&#xD;help&#xD;move&#xD;not-allowed&#xD;pointer&#xD;progress&#xD;text&#xD;wait&#xD;zoom-in&#xD;zoom-out&#xD;n-resize&#xD;s-resize&#xD;e-resize&#xD;w-resize&#xD;ne-resize&#xD;se-resize&#xD;nw-resize&#xD;sw-resize</options></input></inputs><script><block s="doApplyExtension"><l>SciS_setCursor(cur,proc)</l><list><block var="which"/><l></l></list><comment w="183.8461538461538" collapsed="false">Many thanks to helicoptur on the Snap! user forum!</comment></block></script></block-definition><block-definition s="𝝅" type="reporter" category="operators"><comment x="0" y="0" w="65.33333333333333" collapsed="false">Reports Pi.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l>3.141592653589793</l></block></script></block-definition><block-definition s="%&apos;function&apos; of %&apos;data&apos; sampled with %&apos;f&apos; Hz" type="reporter" category="2. Math tools"><comment x="0" y="0" w="208.99999999999991" collapsed="false">Reports either &#xD;- data Fourier transformed to frequency-space&#xD;- &quot;raw&quot; FFT (Fast Forier Transformation) data formatted as SciSnap! complex numbers&#xD;- or iFFT real data</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">frequency_spectrum<options>frequency_spectrum&#xD;complex_FFTdata&#xD;iFFT_of_FFTdata</options></input><input type="%l"></input><input type="%n">100</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>1</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: no data available!</l><l>... sampled with ... Hz</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="function"/><l>iFFT_of_FFTdata</l></list></block><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="data"/><l>matrix</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: complex data required!</l><l>... sampled with ... Hz</l></custom-block></script><list></list></block></script><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="data"/><l>vector</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: vector required!</l><l>... sampled with ... Hz</l></custom-block></script><list></list></block></script></block><block s="doReport"><block s="evaluate"><block s="reifyReporter"><autolambda><block s="reportApplyExtension"><l>SciS_FFTops(data,freq,choice)</l><list></list></block></autolambda><list></list></block><list><custom-block s="copy of %s"><block var="data"/></custom-block><block var="f"/><block var="function"/></list></block></block></script></block></script></block-definition><block-definition s="is %&apos;element&apos; ε %&apos;set&apos; ?" type="predicate" category="2. Math tools"><comment x="0" y="0" w="124.90476190476211" collapsed="false">Reports whether &quot;element&quot; is element of &quot;set&quot;.</comment><header></header><code></code><translations></translations><inputs><input type="%s">element</input><input type="%s">set</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportVariadicAnd"><list><custom-block s="is %s numerical?"><block var="set"/></custom-block><custom-block s="is %s a %txt"><block var="element"/><l>complex-number</l></custom-block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><custom-block s="%s of a %s"><l>imaginary-part</l><block var="element"/></custom-block><l>0</l></list></block><script><block s="doSetVar"><l>element</l><custom-block s="%s of a %s"><l>real-part</l><block var="element"/></custom-block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script><list></list></block></script></block><block s="doIfElse"><custom-block s="is %s a %txt"><block var="set"/><l>set</l></custom-block><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_isElementOfSet(set,element,proc)</l><list><block var="set"/><block var="element"/></list></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: set required!</l><l>is ... ε ...</l></custom-block></script></block></script></block-definition><block-definition s="%&apos;n&apos; elements ε |N of %&apos;set&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="187.91208791208803" collapsed="false">Reports up to n elements of a set. Numers are natural numbers smaller than maxSetValue in SciSnap!-properties.</comment><header></header><code></code><translations></translations><inputs><input type="%n">10</input><input type="%s">set</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>result</l><l>i</l></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set"/><l>set</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: second parameter is not a set!</l><l>n elements of set</l></custom-block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportListItem"><l>3</l><block var="set"/></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set"/></block></block><l>0</l></list></block><script><block s="doSetVar"><l>i</l><l>0</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="i"/><custom-block s="SciSnap! global property %s"><l>maxSetValue</l></custom-block></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>2</l><block var="n"/></list></block><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>3</l><block var="set"/></block></block></list></block></list></block></list></block><script><block s="doIf"><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="set"/></block><block var="i"/></custom-block><script><block s="doAddToList"><block var="i"/><block var="result"/></block></script><list></list></block><block s="doIf"><custom-block s="evaluate predicate %s with %s"><block s="reportListItem"><l>5</l><block var="set"/></block><block var="i"/></custom-block><script><block s="doAddToList"><block var="i"/><block var="result"/></block></script><list></list></block><block s="doChangeVar"><l>i</l><l>1</l></block></script><comment w="135.71428571428572" collapsed="false">maxSetValue should be close to infinity ;-)</comment></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportListIndex"><block var="value"/><block var="list"/></block><block var="index"/></list></block></autolambda><list><l>value</l><l>index</l><l>list</l></list></block><block var="result"/></block><comment w="57.14285714285713" collapsed="false">clean up</comment></block><block s="doUntil"><block s="reportVariadicLessThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block><block var="n"/></list></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="result"/></block></script></block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="result"/></block><l><option>list</option></l></block><script><block s="doReport"><block s="reportApplyExtension"><l>lst_sort(list, fn)</l><list><block var="result"/><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>1</l><l/></block><block s="reportListItem"><l>1</l><l/></block></list></block></autolambda><list></list></block></list></block></block></script><script><block s="doReport"><block s="reportApplyExtension"><l>lst_sort(list, fn)</l><list><block var="result"/><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block></block></script></block></script></block></script></block-definition><block-definition s="section %&apos;choice&apos; of %&apos;set&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="200.38095238095238" collapsed="false">Reports the enumerated elements and numbers written as intervals of the set.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">elements<options>elements&#xD;intervals&#xD;predicate</options></input><input type="%s">this set</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set"/><l>set</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: parameter is not a set!</l><l>... of set</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>elements</l></list></block><script><block s="doReport"><block s="reportConcatenatedLists"><list><block s="reportListItem"><l>3</l><block var="set"/></block><custom-block s="numbers in interval list %l"><block s="reportListItem"><l>4</l><block var="set"/></block></custom-block></list></block></block></script><list><block s="reportVariadicEquals"><list><block var="choice"/><l>intervals</l></list></block><script><block s="doReport"><block s="reportListItem"><l>4</l><block var="set"/></block></block></script><block s="reportVariadicEquals"><list><block var="choice"/><l>predicate</l></list></block><script><block s="doReport"><block s="reportListItem"><l>5</l><block var="set"/></block></block></script><l><bool>true</bool></l><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: wrong option!</l><l>... of set</l></custom-block></script></list></block></script></block></script></block-definition><block-definition s="%&apos;type&apos; edge of interval %&apos;interval&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="131.5" collapsed="false">Returns the value of the left or right edge of an interval.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">left<options>left&#xD;right</options></input><input type="%s"></input></inputs><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="interval"/><l>interval</l></custom-block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="type"/><l>left</l></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="interval"/></block></block></script><script><block s="doReport"><block s="reportListItem"><l>4</l><block var="interval"/></block></block></script></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: interval missing!</l><l>left edge of interval</l></custom-block></script></block></script></block-definition><block-definition s="INFO &quot;Data tools&quot;" type="command" category="3. Data tools"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="show global message title: %txt %br message: %txt"><custom-block s="translate %txt"><l>INFO about "Data tools"</l></custom-block><custom-block s="translate %txt"><l>This category contains blocks to deal with data, mainly organized as tables.&#xD;Data can be imported from different sources, or can be created in different ways. If they are imported to the SciSnap!Data-variable, some properties - i.e. min, max, numer of columns, ... -&#xD;are determined and saved in SciSnap!Properties. The access to table elements can be performed by indices or labels in the first row or column - i.e. data(name, 33).&#xD;Blocks to work with parts of tables are available - i.e. to get subsections. For tables and subsection properties like ranges, mean, covariance or correlations can be calculated.&#xD;To tables some methods of machine learning can be applied - i.e. regression line calculation, k-means-clustering with different metrics, k-next-neighbours, DBSCAN or ID3 decision tree. &#xD;You can also perform pooling operations, calculate the entropy, or use convolution kernels i.e. for image operations like edge detection.&#xD;If the content of a table is numerical, so the table is a matrix, you can use the blocks of the Math-tools.</l></custom-block></custom-block></script></block-definition><block-definition s="copy of %&apos;data&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="198.83333333333326" collapsed="false">Reports the copy of a list or an empty list.</comment><header></header><code></code><translations></translations><inputs><input type="%s">table or list</input></inputs><script><block s="doIfElse"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_copyOf(theList)</l><list><block var="data"/></list></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: only tables or lists can be copied!</l><l>copy of ...</l></custom-block></script></block></script></block-definition><block-definition s="data %&apos;data&apos; as %&apos;type&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="90" collapsed="false">Type conversions</comment><header></header><code></code><translations></translations><inputs><input type="%s">table or list</input><input type="%s" readonly="true">CSV<options>DATAASTEXT&#xD;CSV&#xD;JSON</options></input></inputs><script><block s="doIfElse"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_convertData(data,type)</l><list><block var="data"/><block var="type"/></list></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: only tables or lists can be converted!</l><l>data ... as ...</l></custom-block></script></block></script></block-definition><block-definition s="%&apos;n&apos; x %&apos;m&apos; table $nl initialized with %&apos;value&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="101.66666666666679" collapsed="false">Reports a new table initialized with value.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">3</input><input type="%s">a value</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>row</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>row</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><block var="n"/><script><block s="doAddToList"><block var="value"/><block var="row"/></block></script></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><block var="m"/><script><block s="doAddToList"><custom-block s="copy of %s"><block var="row"/></custom-block><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="%&apos;n&apos; by %&apos;m&apos; table $nl with labels: %&apos;labels&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="98.5" collapsed="false">Reports a table with labeled columns.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">3</input><input type="%mult%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>row</l><l>i</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>row</l><block s="reportNewList"><list></list></block></block><block s="doIf"><block s="reportIsA"><block var="labels"/><l><option>list</option></l></block><script><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="n"/></list></block><script><block s="doIfElse"><block s="reportVariadicLessThanOrEquals"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="labels"/></block></list></block><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block s="reportListItem"><block var="i"/><block var="labels"/></block></block><l>0</l></list></block><script><block s="doAddToList"><block s="reportListItem"><block var="i"/><block var="labels"/></block><block var="row"/></block></script><script><block s="doAddToList"><l>...</l><block var="row"/></block></script></block></script><script><block s="doAddToList"><l>...</l><block var="row"/></block></script></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doAddToList"><block var="row"/><block var="result"/></block><block s="doSetVar"><l>row</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><block var="n"/><script><block s="doAddToList"><l></l><block var="row"/></block></script></block><block s="doRepeat"><block var="m"/><script><block s="doAddToList"><custom-block s="copy of %s"><block var="row"/></custom-block><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script><list></list></block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: labels required!</l><l>new ... table with labels</l></custom-block></script></block></script></block-definition><block-definition s="%&apos;n&apos; random points near a straight line $nl x-range %&apos;xmin&apos; %&apos;xmax&apos; gradient %&apos;m&apos; $nl y-axis-intercept %&apos;b&apos; range %&apos;delta&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="182.266797129811" collapsed="false">Creates new random data in the specified ranges swaying by a straight.</comment><header></header><code></code><translations></translations><inputs><input type="%n">10</input><input type="%n">-5</input><input type="%n">5</input><input type="%n">1</input><input type="%n">0</input><input type="%n">2</input></inputs><script><block s="doDeclareVariables"><list><l>data</l><l>x</l><l>y</l><l>diff</l><l>i</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>data</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>diff</l><block s="reportDifference"><block var="xmax"/><block var="xmin"/></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="n"/></list></block><script><block s="doSetVar"><l>x</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><custom-block s="random"></custom-block><block var="diff"/></list></block><block var="xmin"/></list></block></block><block s="doSetVar"><l>y</l><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="m"/><block var="x"/></list></block><block s="reportVariadicProduct"><list><block var="delta"/><block s="reportDifference"><custom-block s="random"></custom-block><l>0.5</l></block></list></block></list></block><block var="b"/></list></block></block><block s="doAddToList"><block s="reportNewList"><list><block var="x"/><block var="y"/></list></block><block var="data"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="data"/></block></script></block></script></block-definition><block-definition s="add %&apos;choice&apos; %&apos;newContent&apos; to %&apos;table&apos;" type="command" category="3. Data tools"><comment x="0" y="0" w="147.61904761904785" collapsed="false">Adds a row, a column, or  column headers to a table.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">row<options>row&#xD;column&#xD;column-headers</options></input><input type="%s">a list</input><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>tablewidth</l><l>item</l><l>target</l><l>i</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>target</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>target</l><block var="table"/></block></script></block><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="target"/><l>table</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: only tables supported!</l><l>add ... to ..</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>row</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="target"/></block><l>0</l></list></block><script><block s="doIfElse"><block s="reportIsA"><block var="newContent"/><l><option>list</option></l></block><script><block s="doAddToList"><block var="newContent"/><block var="target"/></block></script><script><block s="doAddToList"><block s="reportNewList"><list><block var="newContent"/></list></block><block var="target"/></block></script></block></script><script><block s="doSetVar"><l>tablewidth</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="target"/></block></block></block><block s="doIfElse"><block s="reportIsA"><block var="newContent"/><l><option>list</option></l></block><script><block s="doSetVar"><l>item</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="tablewidth"/></list></block><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="newContent"/></block></list></block><script><block s="doAddToList"><l></l><block var="item"/></block></script><script><block s="doAddToList"><block s="reportListItem"><block var="i"/><block var="newContent"/></block><block var="item"/></block></script></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script><script><block s="doSetVar"><l>item</l><block s="reportNewList"><list><block var="newContent"/></list></block></block><block s="doSetVar"><l>i</l><l>2</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="tablewidth"/></list></block><script><block s="doAddToList"><l></l><block var="item"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script></block><block s="doAddToList"><block var="item"/><block var="target"/></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>column</l></list></block><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="newContent"/><l><option>list</option></l></block></block><script><block s="doSetVar"><l>newContent</l><block s="reportNewList"><list><block var="newContent"/></list></block></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="target"/></block><l>0</l></list></block><script><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="newContent"/></block></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><block var="i"/><block var="newContent"/></block></list></block><block var="target"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script><script><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="target"/></block></list></block><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="newContent"/></block></list></block><script><block s="doAddToList"><l></l><block s="reportListItem"><block var="i"/><block var="target"/></block></block></script><script><block s="doAddToList"><block s="reportListItem"><block var="i"/><block var="newContent"/></block><block s="reportListItem"><block var="i"/><block var="target"/></block></block></script></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>column-headers</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="target"/></block><l>0</l></list></block><script><block s="doIfElse"><block s="reportIsA"><block var="newContent"/><l><option>list</option></l></block><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="newContent"/></block><l>0</l></list></block><script><block s="doAddToList"><block var="newContent"/><block var="target"/></block></script><list></list></block></script><script><block s="doAddToList"><block s="reportNewList"><list><block var="newContent"/></list></block><block var="target"/></block></script></block></script><script><block s="doSetVar"><l>tablewidth</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="target"/></block></block></block><block s="doIfElse"><block s="reportIsA"><block var="newContent"/><l><option>list</option></l></block><script><block s="doSetVar"><l>item</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="tablewidth"/></list></block><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="newContent"/></block></list></block><script><block s="doAddToList"><l>...</l><block var="item"/></block></script><script><block s="doAddToList"><block s="reportListItem"><block var="i"/><block var="newContent"/></block><block var="item"/></block></script></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script><script><block s="doSetVar"><l>item</l><block s="reportNewList"><list><block var="newContent"/></list></block></block><block s="doSetVar"><l>i</l><l>2</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="tablewidth"/></list></block><script><block s="doAddToList"><l>...</l><block var="item"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script></block><block s="doInsertInList"><block var="item"/><l>1</l><block var="target"/></block></script></block></script><list></list></block></script></block></script></block-definition><block-definition s="count values in %&apos;data&apos;" type="reporter" category="3. Data tools" space="true"><comment x="0" y="0" w="129.5" collapsed="false">counts the appearances of the values of a list or table.</comment><header></header><code></code><translations></translations><inputs><input type="%s">a table or list</input></inputs><script><block s="doDeclareVariables"><list><l>sortedData</l><l>countedValues</l><l>value</l><l>n</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportNot"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: table or list required!</l><l>count values in ...</l></custom-block></script><script><block s="doSetVar"><l>sortedData</l><block s="reportListAttribute"><l><option>sorted</option></l><block s="reportListAttribute"><l><option>flatten</option></l><block var="data"/></block></block></block><block s="doSetVar"><l>countedValues</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>value</l><block s="reportListItem"><l>1</l><block var="sortedData"/></block></block><block s="doSetVar"><l>n</l><l>0</l></block><block s="doForEach"><l>item</l><block var="sortedData"/><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="item"/><block var="value"/></list></block><script><block s="doChangeVar"><l>n</l><l>1</l></block></script><script><block s="doAddToList"><block s="reportNewList"><list><block var="value"/><block var="n"/></list></block><block var="countedValues"/></block><block s="doSetVar"><l>value</l><block var="item"/></block><block s="doSetVar"><l>n</l><l>1</l></block></script></block></script></block><block s="doAddToList"><block s="reportNewList"><list><block var="value"/><block var="n"/></list></block><block var="countedValues"/></block><block s="doReport"><block var="countedValues"/></block></script></block></script></block></script></block-definition><block-definition s="sort %&apos;data&apos; with predicate %&apos;fn&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="107.5" collapsed="false">Reports a sorted list.</comment><header></header><code></code><translations></translations><inputs><input type="%s">a list</input><input type="%predRing"></input></inputs><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="data"/><l><option>list</option></l></block><block s="reportIsA"><block var="fn"/><l><option>predicate</option></l></block></list></block><script><block s="doReport"><block s="reportApplyExtension"><l>lst_sort(list, fn)</l><list><block var="data"/><block var="fn"/></list></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: list and predicate required!</l><l>sort ... with predicate</l></custom-block></script></block></script></block-definition><block-definition s="entropy of %&apos;data&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="168.00000000000003" collapsed="false">returns the entropy of a list of data</comment><header></header><code></code><translations></translations><inputs><input type="%s">a table or list</input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block><script><block s="doSetVar"><l>result</l><l>0</l></block><block s="doForEach"><l>item</l><custom-block s="count values in %s"><block var="data"/></custom-block><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>2</l><block var="item"/></block><l>0</l></list></block><script><block s="doChangeVar"><l>result</l><block s="reportMonadic"><l><option>neg</option></l><block s="reportVariadicProduct"><list><block s="reportQuotient"><block s="reportListItem"><l>2</l><block var="item"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block><block s="reportMonadic"><l><option>ln</option></l><block s="reportQuotient"><block s="reportListItem"><l>2</l><block var="item"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></block></list></block></block></block></script><list></list></block></script></block><block s="doReport"><block var="result"/></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: table or list required!</l><l>entropy of ...</l></custom-block></script></block></script></block></script></block-definition><block-definition s="%&apos;data&apos; vertical compressed $nl with factor %&apos;n&apos; by averaging" type="reporter" category="3. Data tools"><comment x="0" y="0" w="117.1428571428573" collapsed="false">Reports a vector or matrix with compressed columnsonly columns .</comment><header></header><code></code><translations></translations><inputs><input type="%s">SciSnap!Data</input><input type="%n">2</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>h</l><l>source</l><l>i</l><l>j</l><l>isMatrix</l><l>columnNr</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doSetVar"><l>isMatrix</l><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportVariadicOr"><list><custom-block s="is %s a %txt"><block var="source"/><l>vector</l></custom-block><block var="isMatrix"/></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: vector or matrix required!</l><l>... vertical compressed ...</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: impossible operation!</l><l>... vertical compressed ...</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><block var="isMatrix"/></block><script><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="source"/></block><l><option>list</option></l></block><script><block s="doSetVar"><l>source</l><l></l></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportVariadicSum"><list><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><block var="n"/></block><l>1</l></list></block></list></block><script><block s="doSetVar"><l>h</l><block s="reportListItem"><block var="i"/><block var="source"/></block></block><block s="doSetVar"><l>j</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThanOrEquals"><list><block var="j"/><block var="n"/></list></block><script><block s="doSetVar"><l>h</l><block s="reportVariadicSum"><list><block var="h"/><block s="reportListItem"><block s="reportVariadicSum"><list><block var="i"/><block var="j"/></list></block><block var="source"/></block></list></block></block><block s="doChangeVar"><l>j</l><l>1</l></block></script></block><block s="doAddToList"><block s="reportQuotient"><block var="h"/><block var="n"/></block><block var="result"/></block><block s="doChangeVar"><l>i</l><block var="n"/></block></script></block><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doSetVar"><l>result</l><custom-block s="empty table"></custom-block></block><block s="doSetVar"><l>columnNr</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="columnNr"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></list></block><script><custom-block s="add %s %s to %s"><l>column</l><custom-block s="%s vertical compressed %br with factor %n by averaging"><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="columnNr"/><block var="source"/><l><bool>true</bool></l></custom-block><block var="n"/></custom-block><block var="result"/></custom-block><block s="doChangeVar"><l>columnNr</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="%&apos;k&apos; next neighbors of %&apos;point&apos; $nl in %&apos;data&apos;" type="reporter" category="3. Data tools" space="true"><comment x="0" y="0" w="229.00000000000009" collapsed="false">Determines the next k neighbours of a point in data. The classes of the points have to be in column 3. Reports a list with columns x, y, distance, class.</comment><header></header><code></code><translations></translations><inputs><input type="%n">5</input><input type="%s">2-dim point</input><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>neighbors</l><l>points</l><l>result</l><l>dummy</l><l>x1</l><l>y1</l><l>x2</l><l>y2</l><l>class</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>points</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>points</l><block var="data"/></block></script></block><block s="doIfElse"><block s="reportNot"><custom-block s="is %s a %txt"><block var="points"/><l>table</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: table required!</l><l>k next neighbours of ...</l></custom-block></script><script><block s="doIfElse"><block s="reportNot"><custom-block s="is %s a %txt"><block var="point"/><l>vector</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: vector required!</l><l>k next neighbours of ...</l></custom-block></script><script><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="k"/><l>2</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: number of neighbors too small!</l><l>k next neighbours of ...</l></custom-block></script><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="point"/></block><l>2</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: 2 dimensional point required!</l><l>k next neighbours of ...</l></custom-block></script><script><block s="doSetVar"><l>neighbors</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>x1</l><block s="reportListItem"><l>1</l><block var="point"/></block></block><block s="doSetVar"><l>y1</l><block s="reportListItem"><l>2</l><block var="point"/></block></block><block s="doSetVar"><l>dummy</l><block s="reportMap"><block s="reifyReporter"><script><block s="doSetVar"><l>x2</l><block s="reportListItem"><l>1</l><block var="point2"/></block></block><block s="doSetVar"><l>y2</l><block s="reportListItem"><l>2</l><block var="point2"/></block></block><block s="doSetVar"><l>class</l><block s="reportListItem"><l><option>last</option></l><block var="point2"/></block></block><block s="doAddToList"><block s="reportNewList"><list><block var="x2"/><block var="y2"/><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="x1"/><block var="x2"/></block><block s="reportDifference"><block var="x1"/><block var="x2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="y1"/><block var="y2"/></block><block s="reportDifference"><block var="y1"/><block var="y2"/></block></list></block></list></block></block><block var="class"/></list></block><block var="neighbors"/></block><block s="doReport"><l></l></block></script><list><l>point2</l></list></block><block var="points"/></block></block><block s="doSetVar"><l>neighbors</l><custom-block s="%s sorted by column %s %br ascending %b considering headline? %b"><block var="neighbors"/><l>3</l><l><bool>true</bool></l><l><bool>true</bool></l></custom-block></block><block s="doReport"><custom-block s="subsection of %s in %s from %br %s %s to %s %s"><l>table-data</l><block var="neighbors"/><l>1</l><l>1</l><l>4</l><block var="k"/></custom-block></block></script></block></script></block></script></block></script></block></script></block></script></block-definition><block-definition s="convolution kernel %&apos;kernel&apos; applied $nl to %&apos;typeOfData&apos; %&apos;data&apos; width %&apos;width&apos; height %&apos;height&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="107.33333333333348" collapsed="false">Applies a convolution to a table with FITS, RGB, or table values.</comment><header></header><code></code><translations></translations><inputs><input type="%s">a kernel</input><input type="%s" readonly="true">table<options>image&#xD;table</options></input><input type="%s">SciSnap!Data</input><input type="%n">100</input><input type="%n">100</input></inputs><script><block s="doDeclareVariables"><list><l>w</l><l>h</l><l>t</l><l>m</l><l>source</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="data"/><l>matrix</l></custom-block><script><block s="doSetVar"><l>source</l><block var="data"/></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: wrong data type!</l><l>convolution kernel ... applied to ...</l></custom-block></script></block></script></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="source"/><l><option>list</option></l></block><custom-block s="is %s a %txt"><block var="kernel"/><l>matrix</l></custom-block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: wrong data format!</l><l>convolution kernel ... applied to ...</l></custom-block></script><script><block s="doSetVar"><l>h</l><block s="reportListAttribute"><l><option>length</option></l><block var="kernel"/></block></block><block s="doSetVar"><l>w</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="kernel"/></block></block></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportNot"><block s="reportVariadicEquals"><list><block var="w"/><block var="h"/></list></block></block><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportVariadicProduct"><list><l>2</l><block s="reportRound"><block s="reportQuotient"><block var="w"/><l>2</l></block></block></list></block><block var="w"/></list></block><block s="reportVariadicEquals"><list><block s="reportVariadicProduct"><list><l>2</l><block s="reportRound"><block s="reportQuotient"><block var="h"/><l>2</l></block></block></list></block><block var="h"/></list></block></list></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: wrong kernel!</l><l>convolution kernel ... applied to ...</l></custom-block></script><script><block s="doSetVar"><l>typeOfData</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="typeOfData"/><l> </l></block></block></block><block s="doSetVar"><l>m</l><block s="reportRound"><block s="reportQuotient"><block var="w"/><l>2</l></block></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="typeOfData"/><l>image</l></list></block><script><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="source"/></block><l><option>number</option></l></block><script><block s="doSetVar"><l>t</l><l>FITS</l></block></script><script><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="source"/></block><l><option>list</option></l></block><script><block s="doSetVar"><l>t</l><l>RGB</l></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: wrong data format!</l><l>convolution kernel ... applied to ...</l></custom-block></script></block></script></block></script><script><block s="doSetVar"><l>t</l><l>table</l></block><block s="doSetVar"><l>width</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></block><block s="doSetVar"><l>height</l><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></block></script></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_convolution(kernel,data,width,height,typeOfData,mIndex,kWidth)</l><list><block var="kernel"/><block var="source"/><block var="width"/><block var="height"/><block var="t"/><block var="m"/><block var="w"/></list></block></block></script></block></script></block></script></block></script></block-definition><block-definition s="%&apos;k&apos; -means clustering for %&apos;data&apos; $nl with metric %&apos;metric&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="185.33333333333357" collapsed="false">Custering of n-dimensional data with k-means-method. A metric has to be delivered as a ringified term. Cluster numbers are attached to the data.</comment><header></header><code></code><translations></translations><inputs><input type="%n">3</input><input type="%s">SciSnap!Data</input><input type="%repRing">ringified operator</input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>result</l><l>minmax</l><l>dimension</l><l>centers</l><l>center</l><l>anyChanges</l><l>minDistance</l><l>distance</l><l>nearestCenter</l><l>dummy</l><l>dummy2</l><l>n</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: only defined for matrices!</l><l>k-means clustering with own metric</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><block var="k"/></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: too few data!</l><l>k-means clustering with own metric</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="metric"/><l><option>reporter</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: ringified operator for metric required!</l><l>k-means clustering with own metric</l></custom-block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportConcatenatedLists"><list><l/><block s="reportNewList"><list><l>0</l></list></block></list></block></block></script><list></list></block><block var="source"/><comment w="161.66666666666666" collapsed="false">add cluster number 0 to data</comment></block></block><block s="doSetVar"><l>dimension</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></block><block s="doSetVar"><l>minmax</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block var="dimension"/><script><block s="doAddToList"><block s="reportNewList"><list><custom-block s="%s of %s"><l>min</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="i"/><block var="source"/><l><bool>true</bool></l></custom-block></custom-block><custom-block s="%s of %s"><l>max</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="i"/><block var="source"/><l><bool>true</bool></l></custom-block></custom-block></list></block><block var="minmax"/></block></script><comment w="175" collapsed="false">calculate min and max for all columns</comment></block><block s="doSetVar"><l>centers</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block var="k"/><script><block s="doSetVar"><l>center</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>m</l><l>1</l><block var="dimension"/><script><block s="doAddToList"><block s="reportRandom"><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="m"/><block var="minmax"/></block></block><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="m"/><block var="minmax"/></block></block></block><block var="center"/></block></script><comment w="133.33333333333334" collapsed="false">choose k random centers</comment></block><block s="doAddToList"><block var="i"/><block var="center"/></block><block s="doAddToList"><block var="center"/><block var="centers"/></block></script><comment w="189.55696614583346" collapsed="false">calculate min and max for all columns</comment></block><block s="doSetVar"><l>anyChanges</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>n</l><l>0</l></block><block s="doUntil"><block s="reportNot"><block var="anyChanges"/></block><script><block s="doChangeVar"><l>n</l><l>1</l></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="n"/><l>2000</l></list></block><script><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doSetVar"><l>anyChanges</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>dummy</l><block s="reportAtomicMap"><block s="reifyReporter"><script><block s="doSetVar"><l>minDistance</l><l>100000000</l></block><block s="doSetVar"><l>nearestCenter</l><l>0</l></block><block s="doSetVar"><l>dummy2</l><block s="reportMap"><block s="reifyReporter"><script><block s="doSetVar"><l>distance</l><block s="evaluate"><block var="metric"/><list><block var="point"/><block var="center"/></list></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="distance"/><block var="minDistance"/></list></block><script><block s="doSetVar"><l>nearestCenter</l><block s="reportListItem"><block s="reportVariadicSum"><list><block var="dimension"/><l>1</l></list></block><block var="center"/></block></block><block s="doSetVar"><l>minDistance</l><block var="distance"/></block></script><list></list></block><block s="doReport"><l></l></block></script><list><l>center</l></list></block><block var="centers"/></block></block><block s="doIf"><block s="reportVariadicNotEquals"><list><block var="nearestCenter"/><block s="reportListItem"><block s="reportVariadicSum"><list><block var="dimension"/><l>1</l></list></block><block var="point"/></block></list></block><script><block s="doReplaceInList"><block s="reportVariadicSum"><list><block var="dimension"/><l>1</l></list></block><block var="point"/><block var="nearestCenter"/></block><block s="doSetVar"><l>anyChanges</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="doReport"><l></l></block></script><list><l>point</l></list></block><block var="result"/></block><comment w="90" collapsed="false">build clusters</comment></block><block s="doIf"><block var="anyChanges"/><script><block s="doFor"><l>i</l><l>1</l><block var="k"/><script><block s="doSetVar"><l>dummy</l><custom-block s="select rows of %s where %br column %s is %s %s"><block var="result"/><block s="reportVariadicSum"><list><block var="dimension"/><l>1</l></list></block><l>equal-to</l><block var="i"/></custom-block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="dummy"/></block><l>0</l></list></block><script><block s="doFor"><l>m</l><l>1</l><block var="dimension"/><script><block s="doReplaceInList"><block var="m"/><block s="reportListItem"><block var="i"/><block var="centers"/></block><custom-block s="%s of %s"><l>mean</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="m"/><block var="dummy"/><l><bool>true</bool></l></custom-block></custom-block></block></script></block></script><list></list></block></script><comment w="90" collapsed="false">adjust centers</comment></block></script><list></list></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="DBSCAN clustering for %&apos;data&apos; $nl radius %&apos;r&apos; minMembers %&apos;minMembers&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="177.66666666666674" collapsed="false">labels of data: -1 not visited, 0 visited, -2 noise, &gt;0 clusternr</comment><header></header><code></code><translations></translations><inputs><input type="%s">SciSnap!Data</input><input type="%n">50</input><input type="%n">5</input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>b</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><custom-block s="copy of %s"><block var="SciSnap!Data"/></custom-block></block></script><script><block s="doSetVar"><l>source</l><custom-block s="copy of %s"><block var="data"/></custom-block></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: only defined for matrices!</l><l>DBSCAN clustering</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>2</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: too few data!</l><l>DBSCAN clustering</l></custom-block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_DBSCAN(data,r,minMembers)</l><list><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportConcatenatedLists"><list><l/><block s="reportNewList"><list><l>-1</l></list></block></list></block></autolambda><list></list></block><block var="source"/></block><block var="r"/><block var="minMembers"/></list></block></block></script></block></script></block-definition><block-definition s="decision tree ID3 for %&apos;data&apos; $nl with labeled data in last column" type="reporter" category="3. Data tools"><comment x="0" y="0" w="179.28571428571445" collapsed="false">reports an ID3 decision tree constructed on the base of labeled data</comment><header></header><code></code><translations></translations><inputs><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>countedValues</l><l>information gains</l><l>newData</l><l>links</l><l>compareColumn</l><l>values</l><l>nTotal</l><l>result</l><l>source</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><custom-block s="copy of %s"><block var="SciSnap!Data"/></custom-block></block></script><script><block s="doSetVar"><l>source</l><custom-block s="copy of %s"><block var="data"/></custom-block></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block><comment w="90" collapsed="false">wrong data</comment></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: table required!</l><l>decision tree ID3 for ...</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>0</l></list><comment w="90" collapsed="false">empty dataset</comment></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: empty dataset!</l><l>decision tree ID3 for ...</l></custom-block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_ID3Tree(data)</l><list><block var="source"/></list></block></block></script></block></script></block-definition><block-definition s="classify %&apos;data&apos; with ID3-tree %&apos;tree&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="153.28571428571422" collapsed="false">returns the class of a dataset using an ID3-decision-tree</comment><header></header><code></code><translations></translations><inputs><input type="%s">data</input><input type="%s">this ID3-tree</input></inputs><script><block s="doDeclareVariables"><list><l>colNumber</l><l>compareData</l><l>ready</l><l>i</l><l>item</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="data"/><l><option>list</option></l></block><block s="reportIsA"><block var="tree"/><l><option>list</option></l></block></list></block><comment w="68.57142857142857" collapsed="false">wrong data</comment></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR:lists required!</l><l>classify with ID3-tree</l></custom-block></script><list></list></block><block s="doSetVar"><l>compareData</l><custom-block s="copy of %s"><block var="data"/></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><l>leaf</l></list></block><script><block s="doReport"><block s="reportJoinWords"><list><l>result: </l><block s="reportListItem"><l>2</l><block var="tree"/></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><l>leaf (unambiguous)</l></list></block><script><block s="doReport"><block s="reportJoinWords"><list><l>result (unambiguous): </l><block s="reportListItem"><l>2</l><block var="tree"/></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><l>node</l></list></block><script><block s="doSetVar"><l>colNumber</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="doSetVar"><l>ready</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>3</l><block var="tree"/></block></block></list></block><block var="ready"/></list></block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><block var="i"/><block s="reportListItem"><l>3</l><block var="tree"/></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="colNumber"/><block var="compareData"/></block><block s="reportListItem"><l>1</l><block var="item"/></block></list></block><script><block s="doSetVar"><l>ready</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doDeleteFromList"><block var="colNumber"/><block var="compareData"/></block><block s="doReport"><custom-block s="classify %s with ID3-tree %s"><block var="compareData"/><block s="reportListItem"><l>2</l><block var="item"/></block></custom-block></block></script><list></list></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script><list></list></block><block s="doReport"><l>ERROR: no sensefull data to compare found!</l></block></script></block></script><scripts><script x="42" y="708.7499999999995"><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: no sensefull data to compare found!</l><l>classify with ID3-tree</l></custom-block></script></scripts></block-definition><block-definition s="INFO &quot;PlotPad&quot; for dealing with diagrams" type="command" category="5. PlotPad for data plots"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="show global message title: %txt %br message: %txt"><custom-block s="translate %txt"><l>INFO about "PlotPad for data plots"</l></custom-block><custom-block s="translate %txt"><l>This category contains blocks to use any sprite or the stage as a sketchpad for plots.&#xD;In the beginning the properties for the used "pad" are set to standard values, which can be changed by corresponding blocks.&#xD;Blocks are available for drawing the graphs of any functions as well as for plots of numerical and mixed data or histograms.&#xD;The scales can be automatically set to "pretty" values. Some examples explain how to use them.</l></custom-block></custom-block></script></block-definition><block-definition s="configure %&apos;sprite&apos; as a PlotPad width: %&apos;width&apos; height: %&apos;height&apos; $nl color: %&apos;color&apos; with close-button? %&apos;withCloseButton?&apos; left? %&apos;left?&apos; size: %&apos;closeButtonSize&apos;" type="command" category="5. PlotPad for data plots" space="true"><comment x="0" y="0" w="140.7142857142859" collapsed="false">Creates a new empty costume of the specified size and color and sets the local properties.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">400</input><input type="%n">300</input><input type="%txt" readonly="true">lightGray<options>black&#xD;gray&#xD;lightGray&#xD;whitered&#xD;orange&#xD;yellow&#xD;green&#xD;cyan&#xD;blue&#xD;magenta</options></input><input type="%b">false</input><input type="%b">false</input><input type="%n">15</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>yIntervals</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><custom-block s="configure %txt as a SketchPad width: %n height: %n %br color: %s with close-button %b left? %b size: %n"><block var="target"/><block var="width"/><block var="height"/><block var="color"/><block var="withCloseButton?"/><block var="left?"/><block var="closeButtonSize"/></custom-block><block s="doReplaceInList"><l>typeOfConfiguration</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><l>PlotPad</l></block><block s="doAddToList"><block s="reportNewList"><list><l>plots</l><block s="reportNewList"><list></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>pretty</l><block s="reportBoolean"><l><bool>true</bool></l></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>start0</l><block s="reportBoolean"><l><bool>false</bool></l></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>markerStyle</l><l>square</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>markerWidth</l><l>5</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>markerConnected</l><block s="reportBoolean"><l><bool>false</bool></l></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>markerColor</l><block s="reportNewList"><list><l>255</l><l>0</l><l>0</l></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>minValue</l><l>notSet</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>maxValue</l><l>notSet</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>columns</l><l>0</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>rows</l><l>0</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>scaleLeftOffset</l><l>60</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>scaleRightOffset</l><l>10</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>scaleUpperOffset</l><l>35</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>scaleLowerOffset</l><l>50</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>title</l><l></l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>xLabel</l><l></l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>yLabel</l><l></l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>titleHeight</l><l>18</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>xLabelHeight</l><l>16</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>yLabelHeight</l><l>16</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>xUnit</l><l></l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>yUnit</l><l></l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>xLeft</l><l>-10</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>xRight</l><l>10</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>yLower</l><l>-10</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>yUpper</l><l>10</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doSetVar"><l>yIntervals</l><block s="reportRound"><block s="reportVariadicProduct"><list><l>6</l><block s="reportQuotient"><block var="height"/><block var="width"/></block></list></block></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="yIntervals"/><l>3</l></list></block><script><block s="doSetVar"><l>yIntervals</l><l>3</l></block></script><list></list></block><block s="doAddToList"><block s="reportNewList"><list><l>scalesXprecision</l><l>2</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>scalesYprecision</l><l>2</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>scalesXtextheight</l><l>12</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>scalesYtextheight</l><l>12</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>scalesXintervals</l><l>6</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>scalesYintervals</l><block var="yIntervals"/></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>scalesXstart</l><l>-10</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>scalesYstart</l><l>-10</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>scalesXstep</l><l>2</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>scalesYstep</l><l>2</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>scalesXscaling</l><l>1</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>scalesYscaling</l><l>1</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>scalesTiclength</l><l>6</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>scalesXminitics</l><l>0</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>scalesYminitics</l><l>0</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>scalesXgrid</l><block s="reportBoolean"><l><bool>false</bool></l></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>scalesYgrid</l><block s="reportBoolean"><l><bool>false</bool></l></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>scalesXcentered</l><block s="reportBoolean"><l><bool>false</bool></l></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>scalesYcentered</l><block s="reportBoolean"><l><bool>false</bool></l></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>scalesShowXscale</l><block s="reportBoolean"><l><bool>true</bool></l></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>scalesShowYscale</l><block s="reportBoolean"><l><bool>true</bool></l></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>plotBorder</l><block s="reportBoolean"><l><bool>true</bool></l></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><custom-block s="add axes and scales to PlotPad %txt"><block var="target"/></custom-block></script></block></script><scripts><comment x="488.3364690144856" y="89.25000000000016" w="181.49372863769622" collapsed="false">Costume attributes and line attributes same as SketchPad.&#xD;&#xD;other attributes:&#xD;&#xD;plots&#xD;&#xD;marker properties:&#xD;1: marker style&#xD;2: marker width&#xD;3: marker connected&#xD;4: marker color red&#xD;5: marker color green&#xD;6: marker color blue&#xD;&#xD;data properties:&#xD;1: minValue&#xD;2: maxValue&#xD;3: columns&#xD;4: rows&#xD;&#xD;scale offsets:&#xD;1:left offset&#xD;2: right offset&#xD;3: upper offset&#xD;4: lower offset&#xD;&#xD;labels:&#xD;1: title&#xD;2: x label&#xD;3: y label&#xD;4: title height&#xD;5: x label height&#xD;6: y label height&#xD;7: x unit&#xD;8: y unit&#xD;&#xD;ranges:&#xD;1: x left&#xD;2: x right&#xD;3: y lower &#xD;4: y upper&#xD;&#xD;scale properties:&#xD;1: scales x precision&#xD;2: scales y precision&#xD;3: scales x textheight&#xD;4: scales y textheight&#xD;5: scales x intervals&#xD;6: scales y intervals&#xD;7: scales x start&#xD;8: scales y start&#xD;9: scales x step&#xD;10: scales y step&#xD;11: scales x scaling&#xD;12: scales y scaling&#xD;13: scales ticlength&#xD;14: scales x minitics&#xD;15: scales y minitics&#xD;16: scales x grid&#xD;17: scales y grid&#xD;18: scales x centered&#xD;19: scales y centered&#xD;20: scales show x scale&#xD;21: scales show y scale&#xD;22: plot border</comment></scripts></block-definition><block-definition s="set PlotPad costume properties width: %&apos;width&apos; height: %&apos;height&apos; $nl back color: %&apos;backcolor&apos; front color: %&apos;frontcolor&apos; $nl offsets: %&apos;leftOffset&apos; %&apos;upperOffset&apos; on %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="120.32706197102907" collapsed="false">a simple way to set some costume attributes:&#xD;1: width&#xD;2: height&#xD;3: back color&#xD;4: front color&#xD;5: left offset for plot&#xD;    position on stage&#xD;6: upper offset for plot&#xD;    position on stage&#xD;</comment><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%mult%s"></input><input type="%mult%s"></input><input type="%n">0</input><input type="%n">0</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as PlotPad!</l><l>set PlotPad costume properties</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>costumeWidth</l><l>theStage</l><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>costumeHeight</l><l>theStage</l><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>backColor</l><l>theStage</l><custom-block s="variadic color %mult%s $arrowRightOutline RGB(A)-value"><block var="backcolor"/></custom-block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>offsets</l><l>theStage</l><block s="reportNewList"><list><block var="leftOffset"/><block var="upperOffset"/></list></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>frontColor</l><l>theStage</l><custom-block s="variadic color %mult%s $arrowRightOutline RGB(A)-value"><block var="frontcolor"/></custom-block></custom-block></script><script><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>costumeWidth</l><block var="target"/><block var="width"/></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>costumeHeight</l><block var="target"/><block var="height"/></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>backColor</l><block var="target"/><custom-block s="variadic color %mult%s $arrowRightOutline RGB(A)-value"><block var="backcolor"/></custom-block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>offsets</l><block var="target"/><block s="reportNewList"><list><block var="leftOffset"/><block var="upperOffset"/></list></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>frontColor</l><block var="target"/><custom-block s="variadic color %mult%s $arrowRightOutline RGB(A)-value"><block var="frontcolor"/></custom-block></custom-block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><custom-block s="new costume size: %n %n %s"><block var="width"/><block var="height"/><custom-block s="PlotPadProperty %txt of %txt"><l>backColor</l><block var="target"/></custom-block></custom-block></block></script><list></list></block><list></list></block><custom-block s="adjust close-button of %s"><block var="target"/></custom-block><custom-block s="add axes and scales to PlotPad %txt"><block var="target"/></custom-block></script></block></script></block-definition><block-definition s="set PlotPad line properties style: %&apos;style&apos; $nl width: %&apos;lineWidth&apos; color: %&apos;color&apos; on %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="105.68386840820362" collapsed="false">a simple way to set some net attributes:&#xD;line properties:&#xD;1: line style&#xD;2: lineWidth&#xD;3: line color red&#xD;4: line color green&#xD;5: lineColor blue</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">continuous<options>continuous&#xD;dashed&#xD;dash-dot&#xD;dot-dot&#xD;rainbow&#xD;inverse-rainbow</options></input><input type="%n">1</input><input type="%mult%s"></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as PlotPad!</l><l>set PlotPad line properties</l></custom-block></script><list></list></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>lineStyle</l><block var="target"/><block var="style"/></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>lineWidth</l><block var="target"/><block var="lineWidth"/></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>lineColor</l><block var="target"/><custom-block s="variadic color %mult%s $arrowRightOutline RGB(A)-value"><block var="color"/></custom-block></custom-block></script></block></script></block-definition><block-definition s="set PlotPad marker properties style: %&apos;style&apos; width: %&apos;width&apos; $nl color: %&apos;color&apos; connected? %&apos;connected&apos; on %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="105.68386840820362" collapsed="false">a simple way to set some net attributes:&#xD;marker properties:&#xD;1: marker style&#xD;2: marker width&#xD;3: marker connected&#xD;4: marker color red&#xD;5: marker color green&#xD;6: marker color blue</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">square<options>none&#xD;o_circle&#xD;._point&#xD;+_plus&#xD;x_ex&#xD;square&#xD;triangle</options></input><input type="%n">5</input><input type="%mult%s"></input><input type="%b">false</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as PlotPad!</l><l>set PlotPad marker properties</l></custom-block></script><list></list></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>markerStyle</l><block var="target"/><block var="style"/></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>markerWidth</l><block var="target"/><block var="width"/></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>markerConnected</l><block var="target"/><block var="connected"/></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>markerColor</l><block var="target"/><custom-block s="variadic color %mult%s $arrowRightOutline RGB(A)-value"><block var="color"/></custom-block></custom-block></script></block></script></block-definition><block-definition s="set PlotPad scale properties precision: %&apos;xprecision&apos; %&apos;yprecision&apos; $nl textheight: %&apos;xtextheight&apos; %&apos;ytextheight&apos; number of intervals: %&apos;nx&apos; %&apos;ny&apos; $nl on %&apos;sprite&apos; pretty formated? %&apos;pretty&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="152.3076923076923" collapsed="false">Sets some properties for scales and redraws them.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">2</input><input type="%n">12</input><input type="%n">12</input><input type="%n">10</input><input type="%n">10</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">false</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>scaleProperties</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as PlotPad!</l><l>set PlotPad scale properties</l></custom-block></script><list></list></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesXprecision</l><block var="target"/><block var="xprecision"/></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesYprecision</l><block var="target"/><block var="yprecision"/></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesXtextheight</l><block var="target"/><block var="xtextheight"/></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesYtextheight</l><block var="target"/><block var="ytextheight"/></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesXintervals</l><block var="target"/><block var="nx"/></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesYintervals</l><block var="target"/><block var="ny"/></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesXstart</l><block var="target"/><custom-block s="PlotPadProperty %txt of %txt"><l>xLeft</l><block var="target"/></custom-block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesXstep</l><block var="target"/><block s="reportQuotient"><block s="reportDifference"><custom-block s="PlotPadProperty %txt of %txt"><l>xRight</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>xLeft</l><block var="target"/></custom-block></block><custom-block s="PlotPadProperty %txt of %txt"><l>scalesXintervals</l><block var="target"/></custom-block></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesXscaling</l><block var="target"/><l>1</l></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesXminitics</l><block var="target"/><l>1</l></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesYstart</l><block var="target"/><custom-block s="PlotPadProperty %txt of %txt"><l>yLower</l><block var="target"/></custom-block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesYstep</l><block var="target"/><block s="reportQuotient"><block s="reportDifference"><custom-block s="PlotPadProperty %txt of %txt"><l>yUpper</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>yLower</l><block var="target"/></custom-block></block><custom-block s="PlotPadProperty %txt of %txt"><l>scalesYintervals</l><block var="target"/></custom-block></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesYscaling</l><block var="target"/><l>1</l></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesYminitics</l><block var="target"/><l>1</l></custom-block><custom-block s="add axes and scales to PlotPad %txt"><block var="target"/></custom-block></script></block></script></block-definition><block-definition s="set PlotPad ranges for x: %&apos;xLeft&apos; %&apos;xRight&apos; y: %&apos;yLower&apos; %&apos;yUpper&apos; $nl with border? %&apos;border&apos; of %&apos;percent&apos; on %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="119.1666666666667" collapsed="false">Sets the ranges for the axes of the diagrams of a PlotPad and redraws it..</comment><header></header><code></code><translations></translations><inputs><input type="%n">-10</input><input type="%n">10</input><input type="%n">-10</input><input type="%n">10</input><input type="%b">false</input><input type="%n">0.1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>dx</l><l>dy</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as PlotPad!</l><l>set PlotPad ranges</l></custom-block></script><list></list></block><block s="doIfElse"><block var="border"/><script><block s="doSetVar"><l>dx</l><block s="reportVariadicProduct"><list><block var="percent"/><block s="reportDifference"><block var="xRight"/><block var="xLeft"/></block></list></block></block><block s="doSetVar"><l>dy</l><block s="reportVariadicProduct"><list><block var="percent"/><block s="reportDifference"><block var="yUpper"/><block var="yLower"/></block></list></block></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>xLeft</l><block var="target"/><block s="reportDifference"><block var="xLeft"/><block var="dx"/></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>xRight</l><block var="target"/><block s="reportVariadicSum"><list><block var="xRight"/><block var="dx"/></list></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>yLower</l><block var="target"/><block s="reportDifference"><block var="yLower"/><block var="dy"/></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>yUpper</l><block var="target"/><block s="reportVariadicSum"><list><block var="yUpper"/><block var="dy"/></list></block></custom-block></script><script><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>xLeft</l><block var="target"/><block var="xLeft"/></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>xRight</l><block var="target"/><block var="xRight"/></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>yLower</l><block var="target"/><block var="yLower"/></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>yUpper</l><block var="target"/><block var="yUpper"/></custom-block></script></block><block s="doIfElse"><custom-block s="PlotPadProperty %txt of %txt"><l>pretty</l><block var="target"/></custom-block><script><custom-block s="set pretty ranges on PlotPad %txt"><block var="target"/></custom-block></script><script><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesXstart</l><block var="target"/><custom-block s="PlotPadProperty %txt of %txt"><l>xLeft</l><block var="target"/></custom-block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesXstep</l><block var="target"/><block s="reportQuotient"><block s="reportDifference"><custom-block s="PlotPadProperty %txt of %txt"><l>xRight</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>xLeft</l><block var="target"/></custom-block></block><custom-block s="PlotPadProperty %txt of %txt"><l>scalesXintervals</l><block var="target"/></custom-block></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesXscaling</l><block var="target"/><l>1</l></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesXminitics</l><block var="target"/><l>1</l></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesYstart</l><block var="target"/><custom-block s="PlotPadProperty %txt of %txt"><l>yLower</l><block var="target"/></custom-block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesYstep</l><block var="target"/><block s="reportQuotient"><block s="reportDifference"><custom-block s="PlotPadProperty %txt of %txt"><l>yUpper</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>yLower</l><block var="target"/></custom-block></block><custom-block s="PlotPadProperty %txt of %txt"><l>scalesYintervals</l><block var="target"/></custom-block></block></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesYscaling</l><block var="target"/><l>1</l></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesYminitics</l><block var="target"/><l>1</l></custom-block><custom-block s="add axes and scales to PlotPad %txt"><block var="target"/></custom-block></script></block></script></block></script></block-definition><block-definition s="add histogram of %&apos;data&apos; with %&apos;n&apos; groups $nl to PlotPad %&apos;sprite&apos; y-axis starting with 0? %&apos;start0&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="146.33333333333326" collapsed="false">Draws a histogram of histogram data.With a lot of additions by Rick Hessman. Thanks!</comment><header></header><code></code><translations></translations><inputs><input type="%s">myData</input><input type="%n">10</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>ranges</l><l>pretty</l><l>dx</l><l>source</l><l>min</l><l>max</l><l>result</l><l>target</l><l>delta</l><l>h</l><l>i</l><l>x</l><l>oldPlots</l><l>isNew</l><l>histgramData</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as PlotPad!</l><l>add histogram to PlotPad</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>myData</l></list></block><script><block s="doSetVar"><l>source</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>vector</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: vector required!</l><l>add histogram to PlotPad</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>0</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: empty data!</l><l>add histogram to PlotPad</l></custom-block></script><list></list></block><custom-block s="clear %txt on %s"><l>costume</l><block var="target"/></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>start0</l><block var="target"/><block var="start0"/></custom-block><block s="doIf"><custom-block s="is %s a %txt"><block var="source"/><l>transposed-vector</l></custom-block><script><block s="doSetVar"><l>source</l><custom-block s="transpose %s"><block var="source"/></custom-block></block></script><list></list></block><block s="doSetVar"><l>min</l><block s="reportCombine"><block var="source"/><block s="reifyReporter"><autolambda><block s="reportVariadicMin"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block><block s="doSetVar"><l>max</l><block s="reportCombine"><block var="source"/><block s="reifyReporter"><autolambda><block s="reportVariadicMax"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block><block s="doSetVar"><l>delta</l><block s="reportQuotient"><block s="reportDifference"><block var="max"/><block var="min"/></block><block var="n"/></block></block><block s="doSetVar"><l>h</l><block s="reportVariadicSum"><list><block var="min"/><block s="reportQuotient"><block var="delta"/><l>2</l></block></list></block></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><block var="n"/><script><block s="doAddToList"><block s="reportNewList"><list><block var="h"/><l>0</l></list></block><block var="result"/></block><block s="doChangeVar"><l>h</l><block var="delta"/></block></script></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></list></block><script><block s="doSetVar"><l>x</l><block s="reportListItem"><block var="i"/><block var="source"/></block></block><block s="doSetVar"><l>h</l><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block s="reportDifference"><block var="x"/><block var="min"/></block><block var="delta"/></block></block></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="h"/><l>1</l></list></block><script><block s="doSetVar"><l>h</l><l>1</l></block></script><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="h"/><block var="n"/></list></block><script><block s="doSetVar"><l>h</l><block var="n"/></block></script><list></list></block></script></block><block s="doReplaceInList"><l>2</l><block s="reportListItem"><block var="h"/><block var="result"/></block><block s="reportVariadicSum"><list><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="h"/><block var="result"/></block></block><l>1</l></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doSetVar"><l>histgramData</l><block var="result"/></block><custom-block s="get ranges for PlotPad %txt %br from %s with border %n"><block var="target"/><block var="histgramData"/><l>0</l></custom-block><block s="doIf"><block var="start0"/><script><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>yLower</l><block var="target"/><l>0</l></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesYstart</l><block var="target"/><l>0</l></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scalesYstep</l><block var="target"/><block s="reportQuotient"><block s="reportDifference"><custom-block s="PlotPadProperty %txt of %txt"><l>yUpper</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>yLower</l><block var="target"/></custom-block></block><custom-block s="PlotPadProperty %txt of %txt"><l>scalesYintervals</l><block var="target"/></custom-block></block></custom-block></script><list></list></block><block s="doIf"><custom-block s="PlotPadProperty %txt of %txt"><l>pretty</l><block var="target"/></custom-block><script><custom-block s="set pretty ranges on PlotPad %txt"><block var="target"/></custom-block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_addHistogramToPlotpad(costume,properties,data)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="histgramData"/></list></block></list></block><custom-block s="add axes and scales to PlotPad %txt"><block var="target"/></custom-block><block s="doSetVar"><l>oldPlots</l><custom-block s="PlotPadProperty %txt of %txt"><l>plots</l><block var="target"/></custom-block></block><block s="doSetVar"><l>isNew</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doForEach"><l>entry</l><block var="oldPlots"/><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="entry"/></block><l>histogram</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="entry"/></block><block var="source"/></list></block></list></block><script><block s="doSetVar"><l>isNew</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block></script></block><block s="doIf"><block var="isNew"/><script><block s="doAddToList"><block s="reportNewList"><list><l>histogram</l><block var="source"/><block var="n"/></list></block><block var="oldPlots"/></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>plots</l><block var="target"/><block var="oldPlots"/></custom-block><custom-block s="add axes and scales to PlotPad %txt"><block var="target"/></custom-block></script><list></list></block></script></block></script></block-definition><block-definition s="clear %&apos;choice&apos; on %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots" space="true"><comment x="0" y="0" w="90" collapsed="false">Clears the plot area of a PlotPad.</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">plotArea<options>plotArea&#xD;plotData&#xD;costume</options></input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>oldFillColor</l><l>closeButtonSize</l><l>width</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as PlotPad!</l><l>clear plot on PlotPad</l></custom-block></script><list></list></block><block s="doSetVar"><l>oldFillColor</l><custom-block s="PlotPadProperty %txt of %txt"><l>fillColor</l><block var="target"/></custom-block></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>fillColor</l><block var="target"/><custom-block s="PlotPadProperty %txt of %txt"><l>backColor</l><block var="target"/></custom-block></custom-block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>plotArea</l></list></block><script><custom-block s="%txt rectangle from: %mult%s to: %mult%s on %txt %br using Snap! coordinates? %b"><l>fill</l><list><block s="reportVariadicSum"><list><custom-block s="PlotPadProperty %txt of %txt"><l>scaleLeftOffset</l><block var="target"/></custom-block><l>1</l></list></block><block s="reportVariadicSum"><list><custom-block s="PlotPadProperty %txt of %txt"><l>scaleUpperOffset</l><block var="target"/></custom-block><l>1</l></list></block></list><list><block s="reportDifference"><block s="reportDifference"><custom-block s="PlotPadProperty %txt of %txt"><l>costumeWidth</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>scaleRightOffset</l><block var="target"/></custom-block></block><l>1</l></block><block s="reportDifference"><block s="reportDifference"><custom-block s="PlotPadProperty %txt of %txt"><l>costumeHeight</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>scaleLowerOffset</l><block var="target"/></custom-block></block><l>1</l></block></list><block var="target"/><l><bool>false</bool></l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>costume</l></list></block><script><custom-block s="%txt rectangle from: %mult%s to: %mult%s on %txt %br using Snap! coordinates? %b"><l>fill</l><list><l>1</l><l>1</l></list><list><block s="reportDifference"><custom-block s="PlotPadProperty %txt of %txt"><l>costumeWidth</l><block var="target"/></custom-block><l>1</l></block><block s="reportDifference"><custom-block s="PlotPadProperty %txt of %txt"><l>costumeHeight</l><block var="target"/></custom-block><l>1</l></block></list><block var="target"/><l><bool>false</bool></l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>plotData</l></list></block><script><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>plots</l><block var="target"/><block s="reportNewList"><list></list></block></custom-block></script><list></list></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>fillColor</l><block var="target"/><block var="oldFillColor"/></custom-block><custom-block s="adjust close-button of %s"><block var="target"/></custom-block></script></block></script></block-definition><block-definition s="restore PlotPad content of %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="171.33333333333334" collapsed="false">Restores the last plotson the PlotPad.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as PlotPad!</l><l>restore PlotPad content</l></custom-block></script><list></list></block><block s="doForEach"><l>plot</l><custom-block s="PlotPadProperty %txt of %txt"><l>plots</l><block var="target"/></custom-block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="plot"/></block><l>function</l></list></block><script><custom-block s="add graph %s to PlotPad %txt"><block s="reportListItem"><l>2</l><block var="plot"/></block><block var="target"/></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="plot"/></block><l>numericData</l></list></block><script><custom-block s="add dataplot of numeric data: %s to PlotPad %txt"><block s="reportListItem"><l>2</l><block var="plot"/></block><block var="target"/></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="plot"/></block><l>mixedData</l></list></block><script><custom-block s="add dataplot of mixed data: %s %br y-scale? %b x-scale? %b to PlotPad %txt"><block s="reportListItem"><l>2</l><block var="plot"/></block><custom-block s="PlotPadProperty %txt of %txt"><l>scalesShowYscale</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>scalesShowXscale</l><block var="target"/></custom-block><block var="target"/></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="plot"/></block><l>histogram</l></list></block><script><custom-block s="add histogram of %s with %n groups %br to PlotPad %txt y-axis starting with 0? %b"><block s="reportListItem"><l>2</l><block var="plot"/></block><block s="reportListItem"><l>3</l><block var="plot"/></block><block var="target"/><custom-block s="PlotPadProperty %txt of %txt"><l>pretty</l><block var="target"/></custom-block></custom-block></script><list></list></block></script></block></script></block></script></block-definition><block-definition s="Example: $nl Plot of random data width %&apos;w&apos; height %&apos;h&apos; $nl line %&apos;lstyle&apos; marker %&apos;mstyle&apos; color %&apos;color&apos;" type="command" category="5. PlotPad for data plots" space="true"><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%txt">continuous</input><input type="%txt">o_circle</input><input type="%mult%s">0</input></inputs><script><custom-block s="import %s from %s to SciSnap!Data"><l>CSV-data</l><custom-block s="%n random points near %repRing %br between %n and %n range %n"><l>20</l><block s="reifyReporter"><autolambda><block s="reportDifference"><block s="reportVariadicProduct"><list><l>0.3</l><block s="reportPower"><l></l><l>3</l></block></list></block><l></l></block></autolambda><list></list></block><l>-5</l><l>5</l><l>2</l></custom-block></custom-block><block s="doSetVar"><l>SciSnap!Data</l><custom-block s="%s sorted by column %s %br ascending %b considering headline? %b"><l>SciSnap!Data</l><l>1</l><l><bool>true</bool></l><l><bool>true</bool></l></custom-block></block><custom-block s="configure %txt as a PlotPad width: %n height: %n %br color: %txt with close-button? %b left? %b size: %n"><l>thisSprite</l><block var="w"/><block var="h"/><l>lightGray</l><l><bool>true</bool></l><l><bool>true</bool></l><l>10</l></custom-block><custom-block s="get ranges for PlotPad %txt %br from %s with border %n"><l>thisSprite</l><block var="SciSnap!Data"/><l>0.07</l></custom-block><custom-block s="set pretty ranges on PlotPad %txt"><l>thisSprite</l></custom-block><custom-block s="set PlotPad labels on %s to %br title: %txt titleheight: %n %br x-label: %txt xLabelheight: %n %br y-label: %txt yLabelheight: %n"><l>thisSprite</l><l>Plot of random data close to a polynom</l><l>18</l><l>x</l><l>16</l><l>y</l><l>16</l></custom-block><custom-block s="set PlotPad line properties style: %txt %br width: %n color: %mult%s on %txt"><block var="lstyle"/><l>1</l><list><custom-block s="variadic color %mult%s $arrowRightOutline RGB(A)-value"><block var="color"/></custom-block></list><l>thisSprite</l></custom-block><custom-block s="set PlotPad marker properties style: %txt width: %n %br color: %mult%s connected? %b on %txt"><block var="mstyle"/><l>5</l><list><custom-block s="variadic color %mult%s $arrowRightOutline RGB(A)-value"><block var="color"/></custom-block></list><l><bool>true</bool></l><l>thisSprite</l></custom-block><custom-block s="add dataplot of numeric data: %s to PlotPad %txt"><block var="SciSnap!Data"/><l>thisSprite</l></custom-block><custom-block s="add axes and scales to PlotPad %txt"><l>thisSprite</l></custom-block></script></block-definition><block-definition s="Example: $nl Histogram of random data width %&apos;w&apos; height %&apos;h&apos; $nl line %&apos;lstyle&apos; color %&apos;color&apos;" type="command" category="5. PlotPad for data plots"><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%txt">continuous</input><input type="%mult%s"></input></inputs><script><custom-block s="configure %txt as a PlotPad width: %n height: %n %br color: %txt with close-button? %b left? %b size: %n"><l>thisSprite</l><block var="w"/><block var="h"/><block var="color"/><l><bool>true</bool></l><l><bool>false</bool></l><l>15</l></custom-block><custom-block s="set PlotPad labels on %s to %br title: %txt titleheight: %n %br x-label: %txt xLabelheight: %n %br y-label: %txt yLabelheight: %n"><l>thisSprite</l><l>Histogram of random data</l><l>18</l><l>x</l><l>16</l><l>y</l><l>16</l></custom-block><custom-block s="add histogram of %s with %n groups %br to PlotPad %txt y-axis starting with 0? %b"><custom-block s="random vector dim %n %br range %n to %n"><l>1000</l><l>1</l><l>99</l></custom-block><l>10</l><l>thisSprite</l><l><bool>true</bool></l></custom-block><custom-block s="add axes and scales to PlotPad %txt"><l>thisSprite</l></custom-block></script></block-definition><block-definition s="Example: $nl Simple plot of data: %&apos;data&apos; $nl x: %&apos;x&apos; y: %&apos;y&apos; width: %&apos;w&apos; height: %&apos;h&apos; $nl title: %&apos;t&apos; labels: %&apos;xlab&apos; %&apos;ylab&apos; $nl line: %&apos;l&apos; marker: %&apos;m&apos; color: %&apos;color&apos;" type="command" category="5. PlotPad for data plots"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%n">0</input><input type="%n">0</input><input type="%n">600</input><input type="%n">400</input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%txt" readonly="true">continuous<options>none&#xD;continuous&#xD;dashed&#xD;dash-dot&#xD;dot-dot&#xD;rainbow&#xD;inverse rainbow</options></input><input type="%txt" readonly="true">square<options>none&#xD;o_circle&#xD;._point&#xD;+_plus&#xD;x_ex&#xD;square&#xD;triangle</options></input><input type="%mult%s">0</input></inputs><script><custom-block s="configure %txt as a PlotPad width: %n height: %n %br color: %txt with close-button? %b left? %b size: %n"><l>thisSprite</l><block var="w"/><block var="h"/><block var="color"/><l><bool>false</bool></l><l><bool>true</bool></l><l>15</l></custom-block><block s="gotoXY"><block var="x"/><block var="y"/></block><block s="doIf"><block s="reportListIsEmpty"><block var="data"/></block><script><block s="doSetVar"><l>data</l><custom-block s="sort %s with predicate %predRing"><custom-block s="%n random points near %repRing %br between %n and %n range %n"><l>100</l><block s="reifyReporter"><autolambda><block s="reportDifference"><block s="reportPower"><l></l><l>3</l></block><block s="reportVariadicProduct"><list><l>3</l><l></l></list></block></block></autolambda><list></list></block><l>-5</l><l>5</l><l>2</l></custom-block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>1</l><l/></block><block s="reportListItem"><l>1</l><l/></block></list></block></autolambda><list></list></block></custom-block></block></script><list></list></block><custom-block s="get ranges for PlotPad %txt %br from %s with border %n"><l>thisSprite</l><block var="data"/><l>0.07</l></custom-block><custom-block s="set pretty ranges on PlotPad %txt"><l>thisSprite</l></custom-block><custom-block s="set PlotPad labels on %s to %br title: %txt titleheight: %n %br x-label: %txt xLabelheight: %n %br y-label: %txt yLabelheight: %n"><l>thisSprite</l><block var="t"/><l>18</l><block var="xlab"/><l>16</l><block var="ylab"/><l>16</l></custom-block><custom-block s="set PlotPad line properties style: %txt %br width: %n color: %mult%s on %txt"><block var="l"/><l>1</l><block var="r"/><block var="g"/></custom-block><custom-block s="set PlotPad marker properties style: %txt width: %n %br color: %mult%s connected? %b on %txt"><block var="m"/><l>5</l><block var="r"/><block var="g"/><block var="b"/></custom-block><custom-block s="add axes and scales to PlotPad %txt"><l>thisSprite</l></custom-block><custom-block s="add dataplot of numeric data: %s to PlotPad %txt"><block var="data"/><l>thisSprite</l></custom-block></script></block-definition><block-definition s="Example: regression line" type="command" category="5. PlotPad for data plots"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>regressionData</l><l>data</l></list></block><block s="doSetVar"><l>data</l><custom-block s="%n random points near a straight line %br x-range %n %n gradient %n %br y-axis-intercept %n range %n"><l>150</l><l>-5</l><l>5</l><l>1</l><l>0</l><l>4</l></custom-block></block><block s="doSetVar"><l>regressionData</l><custom-block s="regression line parameters of %s"><block var="data"/></custom-block></block><custom-block s="configure %txt as a PlotPad width: %n height: %n %br color: %txt with close-button? %b left? %b size: %n"><l>thisSprite</l><l>400</l><l>300</l><l>lightGray</l><l><bool>true</bool></l><l><bool>true</bool></l><l>15</l></custom-block><custom-block s="set PlotPad labels on %s to %br title: %txt titleheight: %n %br x-label: %txt xLabelheight: %n %br y-label: %txt yLabelheight: %n"><l>thisSprite</l><l>Random data with regression line</l><l>18</l><l>x-values</l><l>16</l><l>y-values</l><l>16</l></custom-block><custom-block s="set PlotPad marker properties style: %txt width: %n %br color: %mult%s connected? %b on %txt"><l>square</l><l>5</l><list><l>red</l></list><l><bool>false</bool></l><l>thisSprite</l></custom-block><custom-block s="set PlotPad ranges for x: %n %n y: %n %n %br with border? %b of %n on %txt"><l>-5</l><l>5</l><l>-5</l><l>5</l><l><bool>false</bool></l><l>0.1</l><l>thisSprite</l></custom-block><custom-block s="add dataplot of numeric data: %s to PlotPad %txt"><block var="data"/><l>thisSprite</l></custom-block><custom-block s="set PlotPad line properties style: %txt %br width: %n color: %mult%s on %txt"><l>continuous</l><l>2</l><list><l>red</l></list><l>thisSprite</l></custom-block><custom-block s="add graph %s to PlotPad %txt"><block var="regressionData"/><l>thisSprite</l></custom-block><custom-block s="add axes and scales to PlotPad %txt"><l>thisSprite</l></custom-block></script></block-definition><block-definition s="change SpriteName of %&apos;sprite&apos; to %&apos;newName&apos;" type="command" category="control"><comment x="0" y="0" w="69.23076923076923" collapsed="false">Changes the spritename.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;anotherSprite</options></input><input type="%txt">new name</input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="target"/><l><option>sprite</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: sprite required!</l><l>remove sprite ...</l></custom-block></script><list></list></block><block s="doApplyExtension"><l>SciS_changeSpritenameTo(sprite,newName)</l><list><block var="target"/><block var="newName"/></list></block></script></block></script></block-definition><block-definition s="list of sprites with names $nl starting with %&apos;name&apos;" type="reporter" category="control"><comment x="0" y="0" w="90" collapsed="false">Reports a list of sprites with similar names. Used when &quot;cleaning up&quot;.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisName</input></inputs><script><block s="doDeclareVariables"><list><l>sprites</l><l>length</l><l>result</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>length</l><block s="reportTextAttribute"><l><option>length</option></l><block var="name"/></block></block><block s="doSetVar"><l>sprites</l><block s="reportGet"><l><option>other sprites</option></l></block></block><block s="doAddToList"><block s="reportGet"><l><option>self</option></l></block><block var="sprites"/></block><block s="doForEach"><l>sprite</l><block var="sprites"/><script><block s="doIf"><block s="reportVariadicEquals"><list><custom-block s="substring of %txt from %n to %n"><block s="reportAskFor"><block var="sprite"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>name</option></l></block></autolambda><list></list></block><list></list></block><l>1</l><block var="length"/></custom-block><block var="name"/></list></block><script><block s="doAddToList"><block var="sprite"/><block var="result"/></block></script><list></list></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="list %&apos;theList&apos; contains %&apos;thisItem&apos; anywhere" type="predicate" category="lists" space="true"><comment x="0" y="0" w="90" collapsed="false">Checks whether an element is anywhere in a list.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s">this value</input></inputs><script><block s="doWarp"><script><block s="doForEach"><l>item</l><block var="theList"/><script><block s="doIfElse"><block s="reportIsA"><block var="item"/><l><option>list</option></l></block><script><block s="doIf"><custom-block s="list %l contains %s anywhere"><block var="item"/><block var="thisItem"/></custom-block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="item"/><block var="thisItem"/></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="INFO &quot;SQL tools&quot;" type="command" category="4. SQL tools"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="show global message title: %txt %br message: %txt"><custom-block s="translate %txt"><l>INFO about "SQL tools"</l></custom-block><custom-block s="translate %txt"><l>This category contains blocks for making SQL queries to databases.&#xD;The default is a server of the University of Goettingen, which provides different databases.&#xD;First, one of the databases should be selected. Then their tables and, if necessary, attributes can be displayed.&#xD;It is recommended to display these values permanently as "dialogs" to make it easier to compose SQL queries.&#xD;SQL queries can be created simple or more complex. The results of the two blocks produce texts.&#xD;These can be executed using the "exec SQL-command" block. Consequently, SQL statements can also be entered directly there.&#xD;The usual predicates and operators are available as blocks for generating SQL queries.&#xD;No changes can be made to the databases.</l></custom-block></custom-block></script></block-definition><block-definition s="import query result %&apos;source&apos; to SQLData" type="command" category="4. SQL tools" space="true"><comment x="0" y="0" w="135.83333333333334" collapsed="false">Imports the results of an SQL-query to SQLData and sets the corresponding properties.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is SQL configured?"></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: please configure SciSnap! for SQL first!</l><l>import SQL-data</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportIsA"><block var="source"/><l><option>list</option></l></block><script><block s="doSetVar"><l>SQLData</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><script><block s="doAddToList"><block s="reportTextSplit"><block s="reportListItem"><block var="i"/><block var="source"/></block><l>,</l></block><block var="SQLData"/></block></script></block><custom-block s="set SciSnap! global property %txt to %s"><l>typeOfData</l><l>table</l></custom-block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="SQLData"/></block><l>0</l></list></block><script><custom-block s="set SciSnap! global property %txt to %s"><l>columns</l><l>0</l></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>rows</l><l>0</l></custom-block></script><script><custom-block s="set SciSnap! global property %txt to %s"><l>rows</l><block s="reportListAttribute"><l><option>length</option></l><block var="SQLData"/></block></custom-block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="SQLData"/></block><l><option>list</option></l></block><script><custom-block s="set SciSnap! global property %txt to %s"><l>columns</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="SQLData"/></block></block></custom-block></script><script><custom-block s="set SciSnap! global property %txt to %s"><l>columns</l><l>1</l></custom-block></script></block><custom-block s="set SciSnap! global property %txt to %s"><l>minValue</l><l>not set</l></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>maxValue</l><l>not set</l></custom-block></script></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: only SQL import from lists!</l><l>import SQL-data</l></custom-block></script></block></script></block></script></block-definition><block-definition s="SQL-Example: simple query" type="command" category="4. SQL tools" space="true"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="configure SQL"></custom-block><block s="doShowVar"><l>SQLData</l></block><custom-block s="connect to database server"></custom-block><custom-block s="choose database no. %n"><l>2</l></custom-block><custom-block s="import query result %l to SQLData"><custom-block s="exec SQL-command %txt"><custom-block s="SELECT %s %mult%txt FROM %mult%txt WHERE %b"><l>*</l><list></list><list><l>schueler</l></list><l/></custom-block></custom-block></custom-block></script></block-definition><block-definition s="SQL-Example: a bit advanced query" type="command" category="4. SQL tools"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="configure SQL"></custom-block><block s="doShowVar"><l>SQLData</l></block><custom-block s="connect to database server"></custom-block><custom-block s="choose database no. %n"><l>2</l></custom-block><custom-block s="import query result %l to SQLData"><custom-block s="exec SQL-command %txt"><custom-block s="SELECT %s %mult%txt FROM %mult%txt WHERE %b %br GROUP BY %mult%txt HAVING %b ORDER BY %mult%txt %txt LIMIT %n"><l></l><list><l>Name</l><custom-block s="AVG ( %txt )"><l>Punkte</l></custom-block></list><list><l>schueler</l><l>hatkurs</l></list><custom-block s="%txt = %txt"><l>schueler.ID_Nummer</l><l>hatkurs.ID_Nummer</l></custom-block><list><l>Name</l></list><l/><list><custom-block s="AVG ( %txt )"><l>Punkte</l></custom-block></list><l>DESC</l><l>10</l></custom-block></custom-block></custom-block></script></block-definition><block-definition s="where is the %&apos;block&apos; block used?" type="reporter" category="sensing" space="true"><comment x="0" y="0" w="192.66666666666666" collapsed="false">Partly copied von Brian Harvey&apos;s manual.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing"></input></inputs><script><block s="doDeclareVariables"><list><l>header</l></list></block><block s="doSetVar"><l>header</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="block"/><l><option>blocks</option></l></block></block></block><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><custom-block s="list %l contains %s anywhere"><block s="reportTextSplit"><block s="reportBlockAttribute"><l><option>definition</option></l><block s="reifyReporter"><script></script><list></list></block></block><l><option>blocks</option></l></block><block var="header"/></custom-block></autolambda><list></list></block><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportBlockAttribute"><l><option>custom?</option></l><block s="reifyReporter"><script></script><list></list></block></block></autolambda><list></list></block><block s="reportGet"><l><option>blocks</option></l></block></block></block></block></script></block-definition><block-definition s="make a drop at %&apos;x&apos; %&apos;y&apos; bounded by a rectangle %&apos;width&apos; %&apos;height&apos; $nl shifted by %&apos;dx&apos; %&apos;dy&apos; percent, main color %&apos;color&apos; $nl with %&apos;n&apos; particles on %&apos;sprite&apos;" type="command" category="pen"><comment x="0" y="0" w="136.66666666666666" collapsed="false">Inspired by the &quot;drip painting&quot; of Jackson Pollock. ;-)</comment><header></header><code></code><translations></translations><inputs><input type="%n">0</input><input type="%n">0</input><input type="%n">50</input><input type="%n">50</input><input type="%n">-30</input><input type="%n">20</input><input type="%s" readonly="true">red<options>black&#xD;gray&#xD;lightGray&#xD;white&#xD;red&#xD;orange&#xD;yellow&#xD;green&#xD;cyan&#xD;blue&#xD;magenta</options></input><input type="%n">100</input><input type="%s">thisSprite<options>thisSprite&#xD;anotherSprite&#xD;theStage</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>costume</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportIsA"><block var="target"/><l><option>sprite</option></l></block><block s="reportIsA"><block var="target"/><l><option>stage</option></l></block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>target isn&apos;t a sprite</l><l>make a drop</l></custom-block></script><list></list></block><block s="doSetVar"><l>dx</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="width"/><block var="dx"/></list></block><l>100</l></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportMonadic"><l><option>abs</option></l><block var="dx"/></block><block var="width"/></list></block><script><block s="doSetVar"><l>dx</l><block var="width"/></block></script><list></list></block><block s="doSetVar"><l>dy</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="height"/><block var="dy"/></list></block><l>100</l></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportMonadic"><l><option>abs</option></l><block var="dy"/></block><block var="height"/></list></block><script><block s="doSetVar"><l>dy</l><block var="height"/></block></script><list></list></block><block s="doSetVar"><l>costume</l><custom-block s="copy of costume %s"><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block></custom-block></block><block s="doSetVar"><l>color</l><custom-block s="%s as %txt"><block var="color"/><l>RGB-value</l></custom-block></block><block s="doIf"><block s="reportIsA"><block var="costume"/><l><option>costume</option></l></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_drip(xa,ya,width,height,dx,dy,color,costume,n)</l><list><block var="x"/><block var="y"/><block var="width"/><block var="height"/><block var="dx"/><block var="dy"/><block var="color"/><block var="costume"/><block var="n"/></list></block></list></block></script><list></list></block></script></block></script></block-definition><block-definition s="list length %&apos;n&apos; initialized with %&apos;value&apos;" type="reporter" category="lists"><comment x="0" y="0" w="90" collapsed="false">Creates a list of the specified length, filled with the specified entry.</comment><header></header><code></code><translations></translations><inputs><input type="%n">10</input><input type="%s">anything</input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><block var="n"/><script><block s="doAddToList"><block var="value"/><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="Example: &quot;drip painting&quot;" type="command" category="pen" space="true"><comment x="0" y="0" w="153.2734375" collapsed="false">Inspired by Jackson Pollock ;-)</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>shift</l><l>width</l><l>height</l><l>deltaX</l><l>deltaY</l></list></block><block s="doWarp"><script><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><custom-block s="new costume size: %n %n %s"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block s="reportNewList"><list><l>220</l><l>200</l><l>225</l></list></block></custom-block></list></block><block s="doForever"><script><block s="doSetVar"><l>shift</l><block s="reportRandom"><l>-20</l><l>20</l></block></block><block s="doSetVar"><l>width</l><block s="reportRandom"><l>20</l><l>200</l></block></block><block s="doSetVar"><l>height</l><block s="reportRandom"><l>20</l><l>200</l></block></block><block s="doSetVar"><l>deltaX</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="shift"/><block var="width"/><l>3</l></list></block><l>100</l></block></block><block s="doSetVar"><l>deltaY</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="shift"/><block var="height"/><l>3</l></list></block><l>100</l></block></block><custom-block s="make a drop at %n %n bounded by a rectangle %n %n %br shifted by %n %n percent, main color %s %br with %n particles on %s"><block s="reportRandom"><block s="reportMonadic"><l><option>neg</option></l><block var="deltaX"/></block><block s="reportDifference"><l>600</l><block var="deltaX"/></block></block><block s="reportRandom"><block s="reportMonadic"><l><option>neg</option></l><block var="deltaY"/></block><block s="reportDifference"><l>400</l><block var="deltaY"/></block></block><block var="width"/><block var="height"/><block var="shift"/><block var="shift"/><block s="reportNewList"><list><block s="reportRandom"><l>50</l><l>255</l></block><block s="reportRandom"><l>50</l><l>255</l></block><block s="reportRandom"><l>50</l><l>255</l></block></list></block><block s="reportRandom"><l>10</l><l>100</l></block><l>theStage</l></custom-block></script></block></script></block></script></block-definition><block-definition s="INFO &quot;ImagePad&quot; for dealing with images" type="command" category="6. ImagePad for image operations"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="show global message title: %txt %br message: %txt"><custom-block s="translate %txt"><l>INFO about "ImagePad for image operations"</l></custom-block><custom-block s="translate %txt"><l>This category contains blocks for using any sprite or the stage as a sketchpad for image display and processing.&#xD;Initially, the properties for the "pad" used are set to default values, which can be changed using the corresponding blocks.&#xD;Blocks are available for importing and displaying image data, manipulating values, working with the mouse, affine transformations, etc.&#xD;The blocks for drawing standard shapes can be found in SciSnap! globals.&#xD;For working with images that are larger than the sprite, a "window" can be defined for an image.&#xD;In this window, the image "behind" can then be moved, enlarged/shrunk etc. using the mouse.&#xD;Some examples explain how to use the blocks.&#xD;</l></custom-block></custom-block></script></block-definition><block-definition s="configure %&apos;sprite&apos; as an ImagePad width: %&apos;width&apos; height: %&apos;height&apos; $nl color: %&apos;color&apos; with close-button? %&apos;withCloseButton?&apos; left? %&apos;left?&apos; size: %&apos;closeButtonSize&apos;" type="command" category="6. ImagePad for image operations" space="true"><comment x="0" y="0" w="142.5" collapsed="false">Creates a new  empty costume of the specified size and color and sets local properties</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">400</input><input type="%n">300</input><input type="%txt" readonly="true">lightGray<options>black&#xD;gray&#xD;lightGray&#xD;white&#xD;red&#xD;orange&#xD;yellow&#xD;green&#xD;cyan&#xD;blue&#xD;magenta</options></input><input type="%b">false</input><input type="%b">false</input><input type="%n">15</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>costumeWidth</l><l>costumeHeight</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><custom-block s="configure %txt as a SketchPad width: %n height: %n %br color: %s with close-button %b left? %b size: %n"><block var="target"/><block var="width"/><block var="height"/><block var="color"/><block var="withCloseButton?"/><block var="left?"/><block var="closeButtonSize"/></custom-block><block s="doReplaceInList"><l>typeOfConfiguration</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><l>ImagePad</l></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfData</l><l>none</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>minValue</l><l>notSet</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>maxValue</l><l>notSet</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>columns</l><l>0</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>rows</l><l>0</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>mean</l><l>not set</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>stddev</l><l>not set</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>imageType</l><l>not set</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>imageWidth</l><l>not set</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>imageHeight</l><l>not set</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>imageRealSize</l><l>not set</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></script></block></script><scripts><comment x="520.8333333333335" y="80.16666666666683" w="192.5" collapsed="false">Costume attributes and line attributes same as SketchPad.&#xD;&#xD;other attributes:&#xD;&#xD;data properties:&#xD;minValue&#xD;maxValue&#xD;columns&#xD;rows&#xD;mean of values&#xD;stddev of values&#xD;&#xD;image properties:&#xD;image type (RGB,FITS)&#xD;imageWidth&#xD;imageHeight&#xD;imageRealSize&#xD;</comment></scripts></block-definition><block-definition s="set ImagePad costume properties width: %&apos;width&apos; height: %&apos;height&apos; $nl back color: %&apos;color&apos; offsets: %&apos;leftOffset&apos; %&apos;upperOffset&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="117.66039530436255" collapsed="false">a simple way to set some costume attributes:&#xD;1: width&#xD;2: height&#xD;3: back color &#xD;4: left offset for Image&#xD;    position on stage&#xD;4: upper offset for Image&#xD;    position on stage</comment><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%mult%s"></input><input type="%n">0</input><input type="%n">0</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as ImagePad</l><l>set ImagePad costume properties</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>costumeWidth</l><block var="target"/><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>costumeHeight</l><block var="target"/><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>backColor</l><block var="target"/><custom-block s="variadic color %mult%s $arrowRightOutline RGB(A)-value"><block var="color"/></custom-block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>offsets</l><block var="target"/><block s="reportNewList"><list><block var="leftOffset"/><block var="upperOffset"/></list></block></custom-block></script><script><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>costumeWidth</l><block var="target"/><block var="width"/></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>costumeHeight</l><block var="target"/><block var="height"/></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>backColor</l><block var="target"/><custom-block s="variadic color %mult%s $arrowRightOutline RGB(A)-value"><block var="color"/></custom-block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>offsets</l><block var="target"/><block s="reportNewList"><list><block var="leftOffset"/><block var="upperOffset"/></list></block></custom-block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><custom-block s="new costume size: %n %n %s"><custom-block s="ImagePadProperty %txt of %txt"><l>costumeWidth</l><block var="target"/></custom-block><custom-block s="ImagePadProperty %txt of %txt"><l>costumeHeight</l><block var="target"/></custom-block><custom-block s="ImagePadProperty %txt of %txt"><l>backColor</l><block var="target"/></custom-block></custom-block></block></script><list></list></block><list></list></block><custom-block s="adjust close-button of %s"><block var="target"/></custom-block></script></block></script></block-definition><block-definition s="set ImagePad line properties style: %&apos;style&apos; $nl width: %&apos;lineWidth&apos; color: %&apos;color&apos; fill color: %&apos;fillColor&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="105.68386840820362" collapsed="false">a simple way to set some net attributes:&#xD;line properties:&#xD;1: line style&#xD;2: lineWidth&#xD;3: line color &#xD;4: fill color</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">continuous<options>continuous&#xD;dashed&#xD;dash-dot&#xD;dot-dot</options></input><input type="%n">1</input><input type="%mult%s"></input><input type="%mult%s"></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as ImagePad</l><l>set ImagePad line properties</l></custom-block></script><list></list></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>lineWidth</l><block var="target"/><block var="lineWidth"/></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>lineStyle</l><block var="target"/><block var="style"/></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>lineColor</l><block var="target"/><custom-block s="variadic color %mult%s $arrowRightOutline RGB(A)-value"><block var="color"/></custom-block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>fillColor</l><block var="target"/><custom-block s="variadic color %mult%s $arrowRightOutline RGB(A)-value"><block var="fillColor"/></custom-block></custom-block></script></block></script></block-definition><block-definition s="import image data from %&apos;data&apos; $nl to myData of %&apos;sprite&apos; and set properties" type="command" category="6. ImagePad for image operations" space="true"><comment x="0" y="0" w="186.11111111111117" collapsed="false">if source is not SciSnap!Data data should have the image dimensions in the last row as (width,height,&quot;dimensions&quot;).</comment><header></header><code></code><translations></translations><inputs><input type="%s">SciSnap!Data<options>SciSnap!Data&#xD;currentCostume&#xD;anotherList</options></input><input type="%s">thisSprite<options>thisSprite&#xD;anotherSprite&#xD;theStage</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as ImagePad</l><l>import image data</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>data</l><custom-block s="copy of %s"><block var="SciSnap!Data"/></custom-block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><custom-block s="SciSnap! global property %s"><l>typeOfData</l></custom-block><l>RGB</l></list></block><script><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>typeOfData</l><block var="target"/><l>RGB</l></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>imageType</l><block var="target"/><l>RGB</l></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>imageWidth</l><block var="target"/><block s="reportListItem"><l>1</l><block s="reportListItem"><l><option>last</option></l><block var="data"/></block></block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>imageHeight</l><block var="target"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l><option>last</option></l><block var="data"/></block></block></custom-block><block s="doDeleteFromList"><l><option>last</option></l><block var="data"/></block><custom-block s="set %txt of %txt to %s"><l>myData</l><block var="target"/><block var="data"/></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>minValue</l><block var="target"/><custom-block s="SciSnap! global property %s"><l>minValue</l></custom-block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>maxValue</l><block var="target"/><custom-block s="SciSnap! global property %s"><l>maxValue</l></custom-block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>rows</l><block var="target"/><custom-block s="SciSnap! global property %s"><l>rows</l></custom-block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>columns</l><block var="target"/><custom-block s="SciSnap! global property %s"><l>columns</l></custom-block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>minValue</l><block var="target"/><custom-block s="%s of %s"><l>min</l><block var="data"/></custom-block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>maxValue</l><block var="target"/><custom-block s="%s of %s"><l>max</l><block var="data"/></custom-block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>mean</l><block var="target"/><custom-block s="%s of %s"><l>mean</l><block var="data"/></custom-block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>stddev</l><block var="target"/><custom-block s="%s of %s"><l>standard-deviation</l><block var="data"/></custom-block></custom-block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><custom-block s="SciSnap! global property %s"><l>typeOfData</l></custom-block><l>FITS</l></list></block><script><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>typeOfData</l><block var="target"/><l>FITS</l></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>imageType</l><block var="target"/><l>FITS</l></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>imageWidth</l><block var="target"/><custom-block s="SciSnap! global property %s"><l>width</l></custom-block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>imageHeight</l><block var="target"/><custom-block s="SciSnap! global property %s"><l>height</l></custom-block></custom-block><custom-block s="set %txt of %txt to %s"><l>myData</l><block var="target"/><custom-block s="copy of %s"><block var="SciSnap!Data"/></custom-block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>minValue</l><block var="target"/><custom-block s="SciSnap! global property %s"><l>minValue</l></custom-block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>maxValue</l><block var="target"/><custom-block s="SciSnap! global property %s"><l>maxValue</l></custom-block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>rows</l><block var="target"/><custom-block s="SciSnap! global property %s"><l>rows</l></custom-block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>columns</l><block var="target"/><custom-block s="SciSnap! global property %s"><l>columns</l></custom-block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>mean</l><block var="target"/><custom-block s="%s of %s"><l>mean</l><block var="SciSnap!Data"/></custom-block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>stddev</l><block var="target"/><custom-block s="%s of %s"><l>standard-deviation</l><block var="SciSnap!Data"/></custom-block></custom-block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: no image data in SciSnap!Data available!</l><l>import image data</l></custom-block></script></block></script></block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="data"/><l>currentCostume</l></list></block><script><block s="doIfElse"><block s="reportIsA"><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><l><option>costume</option></l></block><script><custom-block s="set %txt of %txt to %s"><l>myData</l><block var="target"/><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>pixels</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>typeOfData</l><block var="target"/><l>RGB</l></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>costumeWidth</l><block var="target"/><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>costumeHeight</l><block var="target"/><block s="reportGetImageAttribute"><l><option>height</option></l><l><option>current</option></l></block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>imageType</l><block var="target"/><l>RGB</l></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>imageWidth</l><block var="target"/><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>imageHeight</l><block var="target"/><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>height</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>rows</l><block var="target"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>columns</l><block var="target"/><l>4</l></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>minValue</l><block var="target"/><custom-block s="%s of %s"><l>min</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></custom-block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>maxValue</l><block var="target"/><custom-block s="%s of %s"><l>max</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></custom-block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>mean</l><block var="target"/><custom-block s="%s of %s"><l>mean</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></custom-block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>stddev</l><block var="target"/><custom-block s="%s of %s"><l>standard-deviation</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></custom-block></custom-block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: no costume data available!</l><l>import image data</l></custom-block></script></block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: list data required!</l><l>import image data</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: data list is empty!</l><l>import image data</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="data"/></block><l><option>list</option></l></block><script><block s="doIf"><block s="reportVariadicNotEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>4</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: RGB data required!</l><l>import image data</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicNotEquals"><list><block s="reportListItem"><l>3</l><block s="reportListItem"><l><option>last</option></l><block var="data"/></block></block><l>dimensions</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: dimensions in last row of data required!</l><l>import image data</l></custom-block></script><list></list></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>typeOfData</l><block var="target"/><l>RGB</l></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>columns</l><block var="target"/><l>4</l></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>imageWidth</l><block var="target"/><block s="reportListItem"><l>1</l><block s="reportListItem"><l><option>last</option></l><block var="data"/></block></block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>imageHeight</l><block var="target"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l><option>last</option></l><block var="data"/></block></block></custom-block><custom-block s="set %txt of %txt to %s"><l>myData</l><block var="target"/><custom-block s="copy of %s"><block var="data"/></custom-block></custom-block><block s="doDeleteFromList"><l><option>last</option></l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>rows</l><block var="target"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>minValue</l><block var="target"/><custom-block s="%s of %s"><l>min</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></custom-block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>maxValue</l><block var="target"/><custom-block s="%s of %s"><l>max</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></custom-block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>mean</l><block var="target"/><custom-block s="%s of %s"><l>mean</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></custom-block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>stddev</l><block var="target"/><custom-block s="%s of %s"><l>standard-deviation</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></custom-block></custom-block></script><script><block s="doIfElse"><block s="reportNot"><block s="reportIsA"><block s="reportListItem"><l><option>last</option></l><block var="data"/></block><l><option>list</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: dimensions in last row of data required!</l><l>import image data</l></custom-block></script><script><block s="doIf"><block s="reportVariadicNotEquals"><list><block s="reportListItem"><l>3</l><block s="reportListItem"><l><option>last</option></l><block var="data"/></block></block><l>dimensions</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: dimensions in last row of data required!</l><l>import image data</l></custom-block></script><list></list></block></script></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>typeOfData</l><block var="target"/><l>FITS</l></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>imageWidth</l><block var="target"/><block s="reportListItem"><l>1</l><block s="reportListItem"><l><option>last</option></l><block var="data"/></block></block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>imageHeight</l><block var="target"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l><option>last</option></l><block var="data"/></block></block></custom-block><custom-block s="set %txt of %txt to %s"><l>myData</l><block var="target"/><custom-block s="copy of %s"><block var="data"/></custom-block></custom-block><block s="doDeleteFromList"><l><option>last</option></l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>rows</l><block var="target"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>columns</l><block var="target"/><l>1</l></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>minValue</l><block var="target"/><custom-block s="%s of %s"><l>min</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></custom-block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>maxValue</l><block var="target"/><custom-block s="%s of %s"><l>max</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></custom-block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>mean</l><block var="target"/><custom-block s="%s of %s"><l>mean</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></custom-block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>stddev</l><block var="target"/><custom-block s="%s of %s"><l>standard-deviation</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></custom-block></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: oops...anything went wrong!</l><l>import image data</l></custom-block></script></block></script></block-definition><block-definition s="%&apos;selection&apos; %&apos;color&apos; image log? %&apos;log&apos; alpha %&apos;alpha&apos; $nl from myData on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="176.39570312500018" collapsed="false">Generates, adds or mixes an image (with offsets) from the FITS or RGB data (placed in myData) in different colors.</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">create<options>create&#xD;add&#xD;mix</options></input><input type="%s" readonly="true">gray<options>gray&#xD;red&#xD;green&#xD;blue&#xD;false-color&#xD;RGB</options></input><input type="%b">false</input><input type="%n">255<options>255&#xD;0</options></input><input type="%s">thisSprite<options>thisSprite&#xD;anotherSprite&#xD;theStage</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>costume</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as ImagePad</l><l>add image to ImagePad</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>FITS</l></list></block><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>RGB</l></list></block></list></block><block s="reportIsA"><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><l><option>list</option></l></block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: invalid image data!</l><l>add image to ImagePad</l></custom-block></script><list></list></block><block s="doSetVar"><l>color</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="color"/><l> </l></block></block></block><block s="doSetVar"><l>selection</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="selection"/><l> </l></block></block></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block var="color"/><l>RGB</l></list></block><block s="reportVariadicNotEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>RGB</l></list></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: RGB-images only createable with RGB-data!</l><l>add image to ImagePad</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="selection"/><l>create</l></list></block><block s="reportNot"><block s="reportIsA"><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><l><option>costume</option></l></block></block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><custom-block s="new costume size: %n %n %s"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><l>lightGray</l></custom-block></block></script><list></list></block><list></list></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>offsets</l><l>theStage</l><block s="reportNewList"><list><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><custom-block s="ImagePadProperty %txt of %txt"><l>imageWidth</l><l>theStage</l></custom-block></block><l>2</l></block><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><custom-block s="ImagePadProperty %txt of %txt"><l>imageHeight</l><l>theStage</l></custom-block></block><l>2</l></block></list></block></custom-block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><custom-block s="new costume size: %n %n %s"><custom-block s="ImagePadProperty %txt of %txt"><l>imageWidth</l><block var="target"/></custom-block><custom-block s="ImagePadProperty %txt of %txt"><l>imageHeight</l><block var="target"/></custom-block><l>lightGray</l></custom-block></block></script><list></list></block><list></list></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>offsets</l><block var="target"/><block s="reportNewList"><list><l>0</l><l>0</l></list></block></custom-block></script></block></script><list></list></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>costumeWidth</l><block var="target"/><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>costumeHeight</l><block var="target"/><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>height</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block></custom-block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_addImageToImagePad(data,properties,color,log,alpha,pixels,selection)</l><list><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="color"/><block var="log"/><block var="alpha"/><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>pixels</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><block var="selection"/></list></block></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block></block><script><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><block s="reportListItem"><l>1</l><custom-block s="setting %s"><l>Stage size</l></custom-block></block></list></block><block s="reportVariadicGreaterThan"><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>height</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><block s="reportListItem"><l>2</l><custom-block s="setting %s"><l>Stage size</l></custom-block></block></list></block></list></block><script><custom-block s="set %txt to full size, bounded by %br left %n right %n top %n bottom %n"><block var="target"/><block s="reportQuotient"><block s="reportListItem"><l>1</l><custom-block s="setting %s"><l>Stage size</l></custom-block></block><l>-2</l></block><block s="reportQuotient"><block s="reportListItem"><l>1</l><custom-block s="setting %s"><l>Stage size</l></custom-block></block><l>2</l></block><block s="reportQuotient"><block s="reportListItem"><l>2</l><custom-block s="setting %s"><l>Stage size</l></custom-block></block><l>2</l></block><block s="reportQuotient"><block s="reportListItem"><l>2</l><custom-block s="setting %s"><l>Stage size</l></custom-block></block><l>-2</l></block></custom-block></script><list></list></block><custom-block s="adjust close-button of %s"><block var="target"/></custom-block></script><list></list></block></script></block></script></block-definition><block-definition s="draw list of points %&apos;data&apos; as %&apos;shape&apos; size: %&apos;size&apos; on %&apos;sprite&apos; $nl using Snap! coordinates? %&apos;snap!Coordinates&apos; with noise? %&apos;withNoise?&apos; range: %&apos;range&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="106.81866884275091" collapsed="false">Draws a list of &quot;points&quot; in different &quot;shapes&quot;. </comment><header></header><code></code><translations></translations><inputs><input type="%s">myData</input><input type="%s" readonly="true">circles<options>circles&#xD;squares</options></input><input type="%n">5</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">false</input><input type="%b">false</input><input type="%n">20</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>source</l><l>x0</l><l>y0</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as ImagePad</l><l>draw list of points on ImgePad</l></custom-block></script><list></list></block><block s="doSetVar"><l>source</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>myData</l></list></block><block var="myData"/><block var="data"/></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: only definied for matrices!</l><l>draw list of points on ImgePad</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>0</l></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: missing data!</l><l>draw list of points on ImgePad</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block><l>2</l></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: coordinates in a plane needed!</l><l>draw list of points on ImgePad</l></custom-block></script><list></list></block><block s="doSetVar"><l>source</l><custom-block s="columns %mult%s of %s %br from row %s to %s"><list><l>1</l><l>2</l></list><block var="source"/><l>1</l><l>last</l></custom-block></block><block s="doIf"><block var="snap!Coordinates"/><script><block s="doSetVar"><l>x0</l><block s="reportQuotient"><block s="reportAttributeOf"><l><option>width</option></l><block var="target"/></block><l>2</l></block></block><block s="doSetVar"><l>y0</l><block s="reportQuotient"><block s="reportAttributeOf"><l><option>height</option></l><block var="target"/></block><l>2</l></block></block><block s="doSetVar"><l>source</l><block s="reportMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportNewList"><list><block s="reportVariadicSum"><list><block var="x0"/><block s="reportListItem"><l>1</l><block var="value"/></block></list></block><block s="reportDifference"><block var="y0"/><block s="reportListItem"><l>2</l><block var="value"/></block></block></list></block></block></script><list><l>value</l></list></block><block var="source"/></block></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_drawListOfPoints(costume,data,shape,size,properties,withNoise,range)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="source"/><block var="shape"/><block var="size"/><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="withNoise?"/><block var="range"/></list></block></list></block></script></block-definition><block-definition s="set %&apos;color&apos; at %&apos;position&apos; on %&apos;sprite&apos; to %&apos;value&apos; $nl using Snap! coordinates %&apos;snap!Coordinates&apos;" type="command" category="6. ImagePad for image operations" space="true"><comment x="0" y="0" w="186.66666666666666" collapsed="false">Sets the RGB or image data value at (x|y) on costume or myData of target. </comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">RGB<options>RGB&#xD;image data in myData</options></input><input type="%mult%s"></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s">an appropriate value</input><input type="%b">false</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>x</l><l>y</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as ImagePad</l><l>set value on ImagePad</l></custom-block></script><list></list></block><block s="doSetVar"><l>position</l><custom-block s="variadic position %mult%s $arrowRightOutline position"><block var="position"/></custom-block></block><block s="doSetVar"><l>x</l><block s="reportListItem"><l>1</l><block var="position"/></block></block><block s="doSetVar"><l>y</l><block s="reportListItem"><l>2</l><block var="position"/></block></block><block s="doIf"><block var="snap!Coordinates"/><script><block s="doSetVar"><l>x</l><block s="reportVariadicSum"><list><block s="reportQuotient"><block s="reportAttributeOf"><l><option>width</option></l><block var="target"/></block><l>2</l></block><block var="x"/></list></block></block><block s="doSetVar"><l>y</l><block s="reportDifference"><block s="reportQuotient"><block s="reportAttributeOf"><l><option>height</option></l><block var="target"/></block><l>2</l></block><block var="y"/></block></block></script><list></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="position"/><l>vector</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: coordinates required!</l><l>set value on ImagePad</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="color"/><l>RGB</l></list></block><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="value"/><l><option>list</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: RGB data required!</l><l>set value on ImagePad</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="value"/></block><l>3</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="value"/></block><l>4</l></list></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: RGB data required!</l><l>set value on ImagePad</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="value"/><l>vector</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: RGB data required!</l><l>set value on ImagePad</l></custom-block></script><list></list></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>lineColor</l><block var="target"/><block var="value"/></custom-block><custom-block s="draw line from %mult%s to %mult%s on %txt %br using Snap! coordinates? %b"><list><block s="reportDifference"><block var="x"/><l>1</l></block><block var="y"/></list><list><block var="x"/><block var="y"/></list><l>thisSprite</l><l><bool>false</bool></l></custom-block></script><list><l><bool>true</bool></l><script><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>RGB</l></list></block><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>FITS</l></list></block></list></block><script><block s="doSetVar"><l>x</l><block s="reportRound"><block var="x"/></block></block><block s="doSetVar"><l>y</l><block s="reportRound"><block var="y"/></block></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><custom-block s="ImagePadProperty %txt of %txt"><l>imageWidth</l><block var="target"/></custom-block></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><custom-block s="ImagePadProperty %txt of %txt"><l>imageHeight</l><block var="target"/></custom-block></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: coordinates out of range!</l><l>set value on ImagePad</l></custom-block></script><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>1</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block><l><option>list</option></l></block><block s="reportIsA"><block var="value"/><l><option>list</option></l></block></list></block><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>1</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block><l><option>number</option></l></block><block s="reportIsA"><block var="value"/><l><option>number</option></l></block></list></block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: wrong data format!</l><l>set value on ImagePad</l></custom-block></script><script><block s="doReplaceInList"><block s="reportVariadicSum"><list><block var="x"/><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="y"/><l>1</l></block><custom-block s="ImagePadProperty %txt of %txt"><l>imageWidth</l><block var="target"/></custom-block></list></block></list></block><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block var="value"/></block></script></block></script></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: only RGB- and FITS-data supported!</l><l>set value on ImagePad</l></custom-block></script></block></script></list></block></script></block></script></block-definition><block-definition s="%&apos;selection&apos; at %&apos;position&apos; on %&apos;sprite&apos; $nl using Snap! coordinates %&apos;snap!Coordinates&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="144.52435312024363" collapsed="false">Reports the RGB value at the position (x|y) of the costume. </comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">RGB(A)<options>RGB(A)&#xD;image data of myData =imageData</options></input><input type="%mult%s"></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">false</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>x</l><l>y</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as ImagePad!</l><l>RGB/... at ... on ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>position</l><custom-block s="variadic position %mult%s $arrowRightOutline position"><block var="position"/></custom-block></block><block s="doSetVar"><l>x</l><block s="reportListItem"><l>1</l><block var="position"/></block></block><block s="doSetVar"><l>y</l><block s="reportListItem"><l>2</l><block var="position"/></block></block><block s="doIf"><block var="snap!Coordinates"/><script><block s="doSetVar"><l>x</l><block s="reportVariadicSum"><list><block s="reportQuotient"><block s="reportAttributeOf"><l><option>width</option></l><block var="target"/></block><l>2</l></block><block var="x"/></list></block></block><block s="doSetVar"><l>y</l><block s="reportDifference"><block s="reportQuotient"><block s="reportAttributeOf"><l><option>height</option></l><block var="target"/></block><l>2</l></block><block var="y"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><custom-block s="ImagePadProperty %txt of %txt"><l>costumeWidth</l><block var="target"/></custom-block></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><custom-block s="ImagePadProperty %txt of %txt"><l>costumeHeight</l><block var="target"/></custom-block></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: coordinates out of range!</l><l>RGB/... at ... on ...</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>RGB(A)</l></list></block><script><block s="doReport"><block s="reportListItem"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="y"/><l>1</l></block><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block></list></block><block var="x"/></list></block><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>pixels</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block></block></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>RGB</l></list></block><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>FITS</l></list></block></list></block><script><block s="doSetVar"><l>x</l><block s="reportRound"><block var="x"/></block></block><block s="doSetVar"><l>y</l><block s="reportRound"><block var="y"/></block></block><block s="doReport"><block s="reportListItem"><block s="reportVariadicSum"><list><block var="x"/><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="y"/><l>1</l></block><custom-block s="ImagePadProperty %txt of %txt"><l>imageWidth</l><block var="target"/></custom-block></list></block></list></block><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: no image data available in myData!</l><l>RGB/... at ... on ...</l></custom-block></script></block></script></block></script></block-definition><block-definition s="%&apos;selection&apos; on %&apos;sprite&apos; by mouse $nl using Snap! coordinates %&apos;snap!Coordinates&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="168.33333333333334" collapsed="false">Obtaining data with the mouse from an image stored in myData.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">imageValue<options>image value=imageValue&#xD;RGB value=RGBvalue&#xD;costume coordinates=costumeCoordinates&#xD;slice values from costume=costumeSlice&#xD;slice values from myData=dataSlice&#xD;line data=lineData&#xD;circle data=circleData&#xD;brightness</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">false</input></inputs><script><block s="doDeclareVariables"><list><l>h</l><l>result</l><l>i</l><l>m</l><l>pixel</l><l>dist</l><l>dx</l><l>dy</l><l>points</l><l>x1</l><l>y1</l><l>x2</l><l>y2</l><l>x</l><l>y</l><l>p1</l><l>p2</l><l>w</l><l>h</l><l>secondCostume</l><l>ok</l><l>xold</l><l>yold</l><l>radius</l><l>sumOfValues</l><l>value</l><l>center</l><l>costume</l><l>target</l><l>targetCostume</l><l>targetCostumeWidth</l><l>targetCostumeHeight</l><l>targetXPosition</l><l>targetYPosition</l><l>targetSize</l><l>isDraggable</l><l>targetPixels</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as ImagePad!</l><l>imageValue/... on ... by mouse</l></custom-block></script><list></list></block><block s="doSetVar"><l>selection</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="selection"/><l> </l></block></block></block><block s="doSetVar"><l>isDraggable</l><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>draggable?</option></l></block></autolambda><list></list></block><list></list></block></block><block s="doSetVar"><l>targetCostume</l><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="targetCostume"/><l><option>costume</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: no costume available!</l><l>imageValue/... on ... by mouse</l></custom-block></script><list></list></block><block s="doSetVar"><l>targetCostumeWidth</l><block s="reportGetImageAttribute"><l><option>width</option></l><block var="targetCostume"/></block></block><block s="doSetVar"><l>targetCostumeHeight</l><block s="reportGetImageAttribute"><l><option>height</option></l><block var="targetCostume"/></block></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>targetXPosition</l><block s="reportMonadic"><l><option>neg</option></l><block s="reportRound"><block s="reportQuotient"><block var="targetCostumeWidth"/><l>2</l></block></block></block></block><block s="doSetVar"><l>targetYPosition</l><block s="reportRound"><block s="reportQuotient"><block var="targetCostumeHeight"/><l>2</l></block></block></block><block s="doSetVar"><l>targetSize</l><l>100</l></block><block s="doSetVar"><l>x</l><block s="reportDifference"><block s="reportMouseX"></block><block var="targetXPosition"/></block></block><block s="doSetVar"><l>y</l><block s="reportDifference"><block var="targetYPosition"/><block s="reportMouseY"></block></block></block></script><script><block s="doSetVar"><l>targetXPosition</l><block s="reportAttributeOf"><l><option>x position</option></l><block var="target"/></block></block><block s="doSetVar"><l>targetYPosition</l><block s="reportAttributeOf"><l><option>y position</option></l><block var="target"/></block></block><block s="doSetVar"><l>targetSize</l><block s="reportAttributeOf"><l><option>size</option></l><block var="target"/></block></block><block s="doSetVar"><l>x</l><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block s="reportMouseX"></block><block var="targetXPosition"/></block><block var="targetSize"/></block></list></block><block s="reportQuotient"><block var="targetCostumeWidth"/><l>2</l></block></list></block><l>1</l></list></block></block></block><block s="doSetVar"><l>y</l><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block var="targetYPosition"/><block s="reportMouseY"></block></block><block var="targetSize"/></block></list></block><block s="reportQuotient"><block var="targetCostumeHeight"/><l>2</l></block></list></block><l>1</l></list></block></block></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>costumeCoordinates</l></list><comment w="121.68283420138891" collapsed="false">costume coordinates.</comment></block><script><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block var="targetCostumeWidth"/></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block var="targetCostumeHeight"/></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><script><block s="doIf"><block var="snap!Coordinates"/><script><block s="doSetVar"><l>x</l><block s="reportDifference"><block var="x"/><block s="reportQuotient"><block s="reportAttributeOf"><l><option>width</option></l><block var="target"/></block><l>2</l></block></block></block><block s="doSetVar"><l>y</l><block s="reportDifference"><block s="reportQuotient"><block s="reportAttributeOf"><l><option>height</option></l><block var="target"/></block><l>2</l></block><block var="y"/></block></block></script><list></list></block><block s="doReport"><block s="reportNewList"><list><block s="reportRound"><block var="x"/></block><block s="reportRound"><block var="y"/></block></list></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>imageValue</l></list><comment w="121.68283420138891" collapsed="false">image value.</comment></block><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>RGB</l></list></block><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>FITS</l></list></block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: only defined for image data in FITS or RGB format!</l><l>imageValue/... on ... by mouse</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block var="targetCostumeWidth"/></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block var="targetCostumeHeight"/></list></block><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: coordinates out of range!</l><l>imageValue/... on ... by mouse</l></custom-block></script><script><block s="doReport"><block s="reportListItem"><block s="reportVariadicSum"><list><block var="x"/><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="y"/><l>1</l></block><block var="targetCostumeWidth"/></list></block></list></block><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block></block></script></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>RGBvalue</l></list><comment w="121.68283420138891" collapsed="false">RGB value.</comment></block><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>RGB</l></list></block><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>FITS</l></list></block></list></block></block><script><block s="doReport"><l>ERROR: only defined for image data in FITS or RGB format!</l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block var="targetCostumeWidth"/></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block var="targetCostumeHeight"/></list></block><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: coordinates out of range!</l><l>imageValue/... on ... by mouse</l></custom-block></script><script><block s="doReport"><block s="reportListItem"><block s="reportVariadicSum"><list><block var="x"/><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="y"/><l>1</l></block><block var="targetCostumeWidth"/></list></block></list></block><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="targetCostume"/></block></block></block></script></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>lineData</l></list></block><script><block s="doWarp"><script><block s="doSetVar"><l>w</l><block var="targetCostumeWidth"/></block><block s="doSetVar"><l>h</l><block var="targetCostumeHeight"/></block><block s="doSetVar"><l>secondCostume</l><block s="reportNewCostume"><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="targetCostume"/></block><block var="targetCostumeWidth"/><block var="targetCostumeHeight"/></block></block><custom-block s="set ImagePad line properties style: %txt %br width: %n color: %mult%s fill color: %mult%s on %txt"><l>continuous</l><l>1</l><list><l>orange</l></list><list><l>yellow</l></list><block var="target"/></custom-block><block s="doIf"><block s="reportNot"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><custom-block s="set flag %s to %b"><l>draggable</l><l><bool>false</bool></l></custom-block></script><list></list></block><list></list></block></script><list></list></block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doUntil"><block var="ok"/><script><block s="doIf"><block s="reportMouseDown"></block><script><block s="doSetVar"><l>p1</l><custom-block s="%s on %txt by mouse %br using Snap! coordinates %b"><l>costumeCoordinates</l><block var="target"/><l><bool>false</bool></l></custom-block></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="p1"/></block><l>1</l></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="p1"/></block><block var="w"/></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>2</l><block var="p1"/></block><l>1</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>2</l><block var="p1"/></block><block var="h"/></list></block></list></block></list></block></list></block><script><block s="doSetVar"><l>xold</l><block s="reportListItem"><l>1</l><block var="p1"/></block></block><block s="doSetVar"><l>yold</l><block s="reportListItem"><l>2</l><block var="p1"/></block></block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script><list></list></block></script></block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doUntil"><block var="ok"/><script><block s="doSetVar"><l>p2</l><custom-block s="%s on %txt by mouse %br using Snap! coordinates %b"><l>costumeCoordinates</l><block var="target"/><l><bool>false</bool></l></custom-block></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="p2"/></block><block var="xold"/></list></block></block><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="p2"/></block><block var="yold"/></list></block></block></list></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportNewCostume"><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="secondCostume"/></block><block var="targetCostumeWidth"/><block var="targetCostumeHeight"/></block></list></block><block s="doSetVar"><l>xold</l><block s="reportListItem"><l>1</l><block var="p2"/></block></block><block s="doSetVar"><l>yold</l><block s="reportListItem"><l>2</l><block var="p2"/></block></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_drawOnCostume(operation,costume,params,properties)</l><list><l>drawLine</l><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="p1"/></block><block s="reportListItem"><l>2</l><block var="p1"/></block><block s="reportListItem"><l>1</l><block var="p2"/></block><block s="reportListItem"><l>2</l><block var="p2"/></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></list></block></block></script><list></list></block><list></list></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportMouseDown"></block></block><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="p2"/></block><l>1</l></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="p2"/></block><block var="w"/></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>2</l><block var="p2"/></block><l>1</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>2</l><block var="p2"/></block><block var="h"/></list></block></list></block></list></block></list></block><script><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script><list></list></block></script></block><block s="doIf"><block s="reportNot"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><custom-block s="set flag %s to %b"><l>draggable</l><l><bool>false</bool></l></custom-block></script><list></list></block><list></list></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block var="secondCostume"/></list></block><block s="doIf"><block var="snap!Coordinates"/><script><block s="doReplaceInList"><l>1</l><block var="p1"/><block s="reportRound"><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="p1"/></block><block s="reportQuotient"><block s="reportAttributeOf"><l><option>width</option></l><block var="target"/></block><l>2</l></block></block></block></block><block s="doReplaceInList"><l>2</l><block var="p1"/><block s="reportRound"><block s="reportDifference"><block s="reportQuotient"><block s="reportAttributeOf"><l><option>height</option></l><block var="target"/></block><l>2</l></block><block s="reportListItem"><l>2</l><block var="p1"/></block></block></block></block><block s="doReplaceInList"><l>1</l><block var="p2"/><block s="reportRound"><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="p2"/></block><block s="reportQuotient"><block s="reportAttributeOf"><l><option>width</option></l><block var="target"/></block><l>2</l></block></block></block></block><block s="doReplaceInList"><l>2</l><block var="p2"/><block s="reportRound"><block s="reportDifference"><block s="reportQuotient"><block s="reportAttributeOf"><l><option>height</option></l><block var="target"/></block><l>2</l></block><block s="reportListItem"><l>2</l><block var="p2"/></block></block></block></block></script><list></list></block><custom-block s="set flag %s to %b"><l>draggable</l><block var="isDraggable"/></custom-block><block s="doReport"><block s="reportNewList"><list><block var="p1"/><block var="p2"/></list></block></block></script><list></list><comment w="90" collapsed="false">line data</comment></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="selection"/><l>costumeSlice</l></list></block><block s="reportVariadicEquals"><list><block var="selection"/><l>dataSlice</l></list></block></list><comment w="90" collapsed="false">slice data</comment></block><script><block s="doSetVar"><l>costume</l><block s="reportNewCostume"><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="targetCostume"/></block><block var="targetCostumeWidth"/><block var="targetCostumeHeight"/></block></block><block s="doSetVar"><l>points</l><custom-block s="%s on %txt by mouse %br using Snap! coordinates %b"><l>lineData</l><block var="target"/><l><bool>false</bool></l></custom-block></block><block s="doWarp"><script><block s="doSetVar"><l>dist</l><block s="reportRound"><custom-block s="Euclidean distance between %br point %mult%s and point %mult%s"><list><block s="reportListItem"><l>1</l><block var="points"/></block></list><list><block s="reportListItem"><l>2</l><block var="points"/></block></list></custom-block></block></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="dist"/><l>2</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: points are too close together!</l><l>imageValue/... on ... by mouse</l></custom-block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="selection"/><l>costumeSlice</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportApplyExtension"><l>SciS_collectSliceData(p1,p2,dist,imageData,width,height,imageType)</l><list><block s="reportListItem"><l>1</l><block var="points"/></block><block s="reportListItem"><l>2</l><block var="points"/></block><block var="dist"/><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>pixels</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><block var="targetCostumeWidth"/><block var="targetCostumeHeight"/><l>RGB</l></list></block></block></script><script><block s="doSetVar"><l>result</l><block s="reportApplyExtension"><l>SciS_collectSliceData(p1,p2,dist,imageData,width,height,imageType)</l><list><block s="reportListItem"><l>1</l><block var="points"/></block><block s="reportListItem"><l>2</l><block var="points"/></block><block var="dist"/><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block var="targetCostumeWidth"/><block var="targetCostumeHeight"/><custom-block s="ImagePadProperty %txt of %txt"><l>imageType</l><block var="target"/></custom-block></list></block></block></script></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block var="costume"/></list></block><block s="doReport"><block var="result"/></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>circleData</l></list><comment w="90" collapsed="false">circle data</comment></block><script><block s="doWarp"><script><block s="doSetVar"><l>w</l><block var="targetCostumeWidth"/></block><block s="doSetVar"><l>h</l><block var="targetCostumeHeight"/></block><block s="doSetVar"><l>secondCostume</l><block s="reportNewCostume"><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="targetCostume"/></block><block var="targetCostumeWidth"/><block var="targetCostumeHeight"/></block></block><block s="doSetVar"><l>costume</l><block s="reportNewCostume"><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="targetCostume"/></block><block var="targetCostumeWidth"/><block var="targetCostumeHeight"/></block></block><custom-block s="set ImagePad line properties style: %txt %br width: %n color: %mult%s fill color: %mult%s on %txt"><l>continuous</l><l>1</l><list><l>orange</l></list><list><l>yellow</l></list><l>thisSprite</l></custom-block><block s="doIf"><block s="reportNot"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><custom-block s="set flag %s to %b"><l>draggable</l><l><bool>false</bool></l></custom-block></script><list></list></block><list></list></block></script><list></list></block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doUntil"><block var="ok"/><script><block s="doIf"><block s="reportMouseDown"></block><script><block s="doSetVar"><l>p1</l><custom-block s="%s on %txt by mouse %br using Snap! coordinates %b"><l>costumeCoordinates</l><block var="target"/><l><bool>false</bool></l></custom-block></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="p1"/></block><l>1</l></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="p1"/></block><block var="w"/></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>2</l><block var="p1"/></block><l>1</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>2</l><block var="p1"/></block><block var="h"/></list></block></list></block></list></block></list></block><script><block s="doSetVar"><l>xold</l><block s="reportListItem"><l>1</l><block var="p1"/></block></block><block s="doSetVar"><l>yold</l><block s="reportListItem"><l>2</l><block var="p1"/></block></block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script><list></list></block></script></block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doUntil"><block var="ok"/><script><block s="doSetVar"><l>p2</l><custom-block s="%s on %txt by mouse %br using Snap! coordinates %b"><l>costumeCoordinates</l><block var="target"/><l><bool>false</bool></l></custom-block></block><block s="doSetVar"><l>radius</l><block s="reportRound"><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="p1"/></block><block s="reportListItem"><l>1</l><block var="p2"/></block></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="p1"/></block><block s="reportListItem"><l>1</l><block var="p2"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="p1"/></block><block s="reportListItem"><l>2</l><block var="p2"/></block></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="p1"/></block><block s="reportListItem"><l>2</l><block var="p2"/></block></block></list></block></list></block></block></block></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportNewCostume"><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="secondCostume"/></block><block var="targetCostumeWidth"/><block var="targetCostumeHeight"/></block></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_drawOnCostume(operation,costume,params,properties)</l><list><l>drawCircle</l><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block s="reportConcatenatedLists"><list><block var="p1"/><block s="reportNewList"><list><block var="radius"/></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></list></block></block></script><list></list></block><list></list></block><block s="doIf"><block s="reportNot"><block s="reportMouseDown"></block></block><script><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script></block><block s="doIf"><block s="reportNot"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><custom-block s="set flag %s to %b"><l>draggable</l><block var="isDraggable"/></custom-block></script><list></list></block><list></list></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block var="secondCostume"/></list></block><block s="doIf"><block var="snap!Coordinates"/><script><block s="doReplaceInList"><l>1</l><block var="p1"/><block s="reportRound"><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="p1"/></block><block s="reportQuotient"><block s="reportAttributeOf"><l><option>width</option></l><block var="target"/></block><l>2</l></block></block></block></block><block s="doReplaceInList"><l>2</l><block var="p1"/><block s="reportRound"><block s="reportDifference"><block s="reportQuotient"><block s="reportAttributeOf"><l><option>height</option></l><block var="target"/></block><l>2</l></block><block s="reportListItem"><l>2</l><block var="p1"/></block></block></block></block></script><list></list></block><block s="doReport"><block s="reportNewList"><list><block var="p1"/><block var="radius"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>brightness</l></list></block><script><block s="doSetVar"><l>h</l><custom-block s="%s on %txt by mouse %br using Snap! coordinates %b"><l>circleData</l><block var="target"/><l><bool>false</bool></l></custom-block></block><custom-block s="set flag %s to %b"><l>draggable</l><block var="isDraggable"/></custom-block><block s="doReport"><block s="reportApplyExtension"><l>SciS_brightness(data,xpos,ypos,r,width,height,typeOfData,typeOfArea)</l><list><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="h"/></block></block><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="h"/></block></block><block s="reportListItem"><l>2</l><block var="h"/></block><block var="targetCostumeWidth"/><block var="targetCostumeHeight"/><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>circle</l></list></block></block></script><list></list><comment w="90" collapsed="false">brightness</comment></block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: unknown selection</l><l>imageValue/... on ... by mouse</l></custom-block></script></block-definition><block-definition s="affine transformation of costume %&apos;costume&apos; $nl by %&apos;originalPoints&apos; --&gt; %&apos;targetPoints&apos; using Snap! coordinates %&apos;snap!Coordinates&apos;" type="reporter" category="6. ImagePad for image operations" space="true"><comment x="0" y="0" w="210.83333333333334" collapsed="false">Applies an affine transformation to a costume.&#xD;</comment><header></header><code></code><translations></translations><inputs><input type="%s">currentCostume</input><input type="%l"></input><input type="%l"></input><input type="%b">false</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>a11</l><l>a12</l><l>a13</l><l>a21</l><l>a22</l><l>a23</l><l>S</l><l>P1</l><l>P2</l><l>P3</l><l>Q1</l><l>Q2</l><l>Q3</l><l>width</l><l>height</l><l>ok</l></list></block><block s="doSetVar"><l>costume</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="costume"/><l>currentCostume</l></list></block><block s="reportGet"><l><option>costume</option></l></block><block var="costume"/></block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="costume"/><l><option>costume</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: costume required!</l><l>affine transformation of costume ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doIfElse"><block s="reportIsA"><block var="originalPoints"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="originalPoints"/></block><l>3</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: 3 original points required!</l><l>affine transformation of costume ...</l></custom-block></script><script><block s="doFor"><l>i</l><l>1</l><l>3</l><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><block var="i"/><block var="originalPoints"/></block><l><option>list</option></l></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><block var="i"/><block var="originalPoints"/></block></block><l>2</l></list></block></list></block></block><script><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block></script></block></script></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: list of original points  required!</l><l>affine transformation of costume ...</l></custom-block></script></block><block s="doIfElse"><block s="reportIsA"><block var="targetPoints"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="targetPoints"/></block><l>3</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: 3 target points required!</l><l>affine transformation of costume ...</l></custom-block></script><script><block s="doFor"><l>i</l><l>1</l><l>3</l><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><block var="i"/><block var="targetPoints"/></block><l><option>list</option></l></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><block var="i"/><block var="targetPoints"/></block></block><l>2</l></list></block></list></block></block><script><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block></script></block></script></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: list of target points  required!</l><l>affine transformation of costume ...</l></custom-block></script></block><block s="doIf"><block s="reportNot"><block var="ok"/></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: dimensions should be 2!</l><l>affine transformation of costume ...</l></custom-block></script><list></list></block><block s="doIf"><block var="snap!Coordinates"/><script><block s="doSetVar"><l>width</l><block s="reportGetImageAttribute"><l><option>width</option></l><block var="costume"/></block></block><block s="doSetVar"><l>height</l><block s="reportGetImageAttribute"><l><option>height</option></l><block var="costume"/></block></block><block s="doReplaceInList"><l>1</l><block var="originalPoints"/><block s="reportNewList"><list><block s="reportVariadicSum"><list><block s="reportQuotient"><block var="width"/><l>2</l></block><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="originalPoints"/></block></block></list></block><block s="reportDifference"><block s="reportQuotient"><block var="height"/><l>2</l></block><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="originalPoints"/></block></block></block></list></block></block><block s="doReplaceInList"><l>2</l><block var="originalPoints"/><block s="reportNewList"><list><block s="reportVariadicSum"><list><block s="reportQuotient"><block var="width"/><l>2</l></block><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="originalPoints"/></block></block></list></block><block s="reportDifference"><block s="reportQuotient"><block var="height"/><l>2</l></block><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block var="originalPoints"/></block></block></block></list></block></block><block s="doReplaceInList"><l>3</l><block var="originalPoints"/><block s="reportNewList"><list><block s="reportVariadicSum"><list><block s="reportQuotient"><block var="width"/><l>2</l></block><block s="reportListItem"><l>1</l><block s="reportListItem"><l>3</l><block var="originalPoints"/></block></block></list></block><block s="reportDifference"><block s="reportQuotient"><block var="height"/><l>2</l></block><block s="reportListItem"><l>2</l><block s="reportListItem"><l>3</l><block var="originalPoints"/></block></block></block></list></block></block><block s="doReplaceInList"><l>1</l><block var="targetPoints"/><block s="reportNewList"><list><block s="reportVariadicSum"><list><block s="reportQuotient"><block var="width"/><l>2</l></block><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="targetPoints"/></block></block></list></block><block s="reportDifference"><block s="reportQuotient"><block var="height"/><l>2</l></block><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="targetPoints"/></block></block></block></list></block></block><block s="doReplaceInList"><l>2</l><block var="targetPoints"/><block s="reportNewList"><list><block s="reportVariadicSum"><list><block s="reportQuotient"><block var="width"/><l>2</l></block><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="targetPoints"/></block></block></list></block><block s="reportDifference"><block s="reportQuotient"><block var="height"/><l>2</l></block><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block var="targetPoints"/></block></block></block></list></block></block><block s="doReplaceInList"><l>3</l><block var="targetPoints"/><block s="reportNewList"><list><block s="reportVariadicSum"><list><block s="reportQuotient"><block var="width"/><l>2</l></block><block s="reportListItem"><l>1</l><block s="reportListItem"><l>3</l><block var="targetPoints"/></block></block></list></block><block s="reportDifference"><block s="reportQuotient"><block var="height"/><l>2</l></block><block s="reportListItem"><l>2</l><block s="reportListItem"><l>3</l><block var="targetPoints"/></block></block></block></list></block></block></script><list></list></block><block s="doSetVar"><l>P1</l><block s="reportListItem"><l>1</l><block var="originalPoints"/></block></block><block s="doSetVar"><l>P2</l><block s="reportListItem"><l>2</l><block var="originalPoints"/></block></block><block s="doSetVar"><l>P3</l><block s="reportListItem"><l>3</l><block var="originalPoints"/></block></block><block s="doSetVar"><l>Q1</l><block s="reportListItem"><l>1</l><block var="targetPoints"/></block></block><block s="doSetVar"><l>Q2</l><block s="reportListItem"><l>2</l><block var="targetPoints"/></block></block><block s="doSetVar"><l>Q3</l><block s="reportListItem"><l>3</l><block var="targetPoints"/></block></block><block s="doSetVar"><l>S</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>2</l><block var="P2"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>2</l><block var="P3"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>2</l><block var="P1"/></block></block></list></block></list></block></list></block></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="S"/><l>0</l></list></block></block><script><block s="doSetVar"><l>a11</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q2"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q3"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q1"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a12</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q3"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q1"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q2"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a21</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q2"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q3"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q1"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a22</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q3"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q1"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q2"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a13</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></list></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></list></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></list></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a23</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></list></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></list></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></list></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_affineTransformation(a11,a12,a13,a21,a22,a23,w,h,data,typeOfData)</l><list><block var="a11"/><block var="a12"/><block var="a13"/><block var="a21"/><block var="a22"/><block var="a23"/><block s="reportGetImageAttribute"><l><option>width</option></l><block var="costume"/></block><block s="reportGetImageAttribute"><l><option>height</option></l><block var="costume"/></block><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="costume"/></block><l>RGB</l></list></block></block></script><list></list></block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: denominator is zero</l><l>affine transformation of costume ...</l></custom-block></script></block></script></block-definition><block-definition s="brightness around %&apos;position&apos; within radius %&apos;r&apos; $nl calculated with %&apos;source&apos; of ImagePad %&apos;sprite&apos; $nl using Snap! coordinates %&apos;snap!Coordinates&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="192.61904761904816" collapsed="false">Reports the brightness of a FITS or RGB image around x|y in a circle with radius r.&#xD;Attention: JS-coordinates are used!</comment><header></header><code></code><translations></translations><inputs><input type="%mult%s"></input><input type="%n">10</input><input type="%s" readonly="true">myData<options>myData&#xD;costume</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">false</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>data</l><l>x</l><l>y</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as ImagePad!</l><l>brightness around ...</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="source"/><l>myData</l></list></block><script><block s="doSetVar"><l>data</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block></script><script><block s="doSetVar"><l>data</l><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>pixels</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>typeOfData</l><block var="target"/><l>RGB</l></custom-block></script></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="data"/><l><option>list</option></l></block><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>FITS</l></list></block><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>RGB</l></list></block></list></block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: only FITS or RGB data supported!</l><l>brightness around ...</l></custom-block></script><script><block s="doSetVar"><l>position</l><custom-block s="variadic position %mult%s $arrowRightOutline position"><block var="position"/></custom-block></block><block s="doSetVar"><l>x</l><block s="reportListItem"><l>1</l><block var="position"/></block></block><block s="doSetVar"><l>y</l><block s="reportListItem"><l>2</l><block var="position"/></block></block><block s="doIf"><block var="snap!Coordinates"/><script><block s="doSetVar"><l>x</l><block s="reportVariadicSum"><list><block s="reportQuotient"><block s="reportAttributeOf"><l><option>width</option></l><block var="target"/></block><l>2</l></block><block var="x"/></list></block></block><block s="doSetVar"><l>y</l><block s="reportDifference"><block s="reportQuotient"><block s="reportAttributeOf"><l><option>height</option></l><block var="target"/></block><l>2</l></block><block var="y"/></block></block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_brightness(data,xpos,ypos,r,width,height,typeOfData,typeOfArea)</l><list><block var="data"/><block var="x"/><block var="y"/><block var="r"/><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>height</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>circle</l></list></block></block></script></block></script></block></script></block-definition><block-definition s="remove sprite %&apos;sprite&apos;" type="command" category="control" space="true"><comment x="0" y="0" w="142.46510416666678" collapsed="false">Removes the calling sprite.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="target"/><l><option>sprite</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: sprite required!</l><l>remove sprite ...</l></custom-block></script><list></list></block><block s="doApplyExtension"><l>SciS_removeSprite(sprite)</l><list><block var="target"/></list></block></script></block></script></block-definition><block-definition s="select sprite %&apos;sprite&apos;" type="command" category="control"><comment x="0" y="0" w="123.59999999999998" collapsed="false">Selects a sprite as active.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportIsA"><block var="target"/><l><option>sprite</option></l></block><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block></list></block><script><block s="doApplyExtension"><l>SciS_selectSprite(sprite)</l><list><block var="target"/></list></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: sprite required!</l><l>select sprite</l></custom-block></script></block></script></block></script></block-definition><block-definition s="let %&apos;sprite&apos; respond to %&apos;event&apos;" type="command" category="0. My own blocks" space="true"><comment x="0" y="0" w="108.66666666666667" collapsed="false">This block is called by dynamically generated event handlers. You should define what is to happen for the corresponding sprites. Two examples are included for the LineTool and the SquareTool.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s" readonly="true">receiveGo<options>receiveGo&#xD;receiveKey enter&#xD;receiveKey space&#xD;receiveKey +&#xD;receiveKey -&#xD;receiveKey up arrow&#xD;receiveKey down arrow&#xD;receiveKey left arrow&#xD;receiveKey right arrow&#xD;receiveInteraction clicked&#xD;receiveInteraction pressed&#xD;receiveInteraction mouse-entered&#xD;receiveInteraction mouse-departed&#xD;receiveInteraction scrolled up&#xD;receiveInteraction scrolleddown&#xD;receiveMessage</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="target"/><block s="reportObject"><l>TheLineTool</l></block></list></block><block s="reportVariadicEquals"><list><block var="target"/><block s="reportObject"><l>LineEnd1</l></block></list></block><block s="reportVariadicEquals"><list><block var="target"/><block s="reportObject"><l>LineEnd2</l></block></list></block></list></block><script><custom-block s="let part %s of the TheLineTool respond to %s"><block var="target"/><block var="event"/></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><custom-block s="substring of %txt from %n to %n"><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>name</option></l></block></autolambda><list></list></block><list></list></block><l>1</l><l>10</l></custom-block><l>SquareTool</l></list></block><script><custom-block s="let SquareTool %s respond to %s"><block var="target"/><block var="event"/></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>name</option></l></block></autolambda><list></list></block><list></list></block><l>TheNewSprite</l></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="event"/><l>receiveKey +</l></list></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="changeScale"><l>10</l></block></script><list></list></block><list></list></block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block var="event"/><l>receiveKey -</l></list></block><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportAttributeOf"><l><option>size</option></l><block var="target"/></block><l>20</l></list></block></list></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="changeScale"><l>-10</l></block></script><list></list></block><list></list></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="event"/><l>receiveInteraction clicked</l></list></block><script><custom-block s="remove sprite %s"><block var="target"/></custom-block></script><list></list></block></script><list></list></block></script></block></script></block-definition><block-definition s="image data %&apos;image1&apos; width %&apos;width1&apos; height %&apos;height1&apos; $nl %&apos;operation&apos; image data %&apos;image2&apos; width %&apos;width2&apos; height %&apos;height2&apos; $nl with offsets %&apos;xOffset&apos; %&apos;yOffset&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="210.66666666666666" collapsed="false">Arthmetic with image data (FITS or RGB).&#xD;RGB data are normalized to the range 0 ..255.&#xD;The last element of the result contains the dimensions of the imagge.</comment><header></header><code></code><translations></translations><inputs><input type="%l">of image1</input><input type="%n">100</input><input type="%n">100</input><input type="%txt" readonly="true">+<options>+&#xD;-&#xD;*&#xD;/</options></input><input type="%l">of image2</input><input type="%n">100</input><input type="%n">100</input><input type="%n">0</input><input type="%n">0</input></inputs><script><block s="doDeclareVariables"><list><l>imageType1</l><l>imageType2</l></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="image1"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="image2"/></block><l>0</l></list></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: no imagedata available!</l><l>image data arithmetic</l></custom-block></script><list></list></block><block s="doSetVar"><l>imageType1</l><block s="reportIfElse"><custom-block s="is %s a %txt"><block var="image1"/><l>vector</l></custom-block><l>FITS</l><block s="reportIfElse"><custom-block s="is %s a %txt"><block var="image1"/><l>matrix</l></custom-block><block s="reportIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="image1"/></block></block><l>3</l></list></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="image1"/></block></block><l>4</l></list></block></list></block><l>RGB</l><l>unknown</l></block><l>unknown</l></block></block></block><block s="doSetVar"><l>imageType2</l><block s="reportIfElse"><custom-block s="is %s a %txt"><block var="image2"/><l>vector</l></custom-block><l>FITS</l><block s="reportIfElse"><custom-block s="is %s a %txt"><block var="image2"/><l>matrix</l></custom-block><block s="reportIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="image2"/></block></block><l>3</l></list></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="image2"/></block></block><l>4</l></list></block></list></block><l>RGB</l><l>unknown</l></block><l>unknown</l></block></block></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="imageType1"/><l>unknown</l></list></block><block s="reportVariadicEquals"><list><block var="imageType2"/><l>unknown</l></list></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: only FITS or RGB data processable!</l><l>image data arithmetic</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicNotEquals"><list><block var="imageType1"/><block var="imageType2"/></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: only data of the same type processable!</l><l>image data arithmetic</l></custom-block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_imageArithmetic(image1,image2,imageType,xOffset,yOffset,width1,height1,width2,height2,operation)</l><list><block var="image1"/><block var="image2"/><block var="imageType1"/><block var="xOffset"/><block var="yOffset"/><block var="width1"/><block var="height1"/><block var="width2"/><block var="height2"/><block var="operation"/></list></block></block></script></block-definition><block-definition s="Example: slice data of an image" type="command" category="6. ImagePad for image operations" space="true"><comment x="0" y="0" w="237.3333333333334" collapsed="false">Configure the sprite as an ImagePad and load an image as costume!</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>sliceData</l><l>diagram</l></list></block><custom-block s="configure %s as an ImagePad width: %n height: %n %br color: %txt with close-button? %b left? %b size: %n"><l>thisSprite</l><l>400</l><l>300</l><l>lightGray</l><l><bool>false</bool></l><l><bool>true</bool></l><l>15</l></custom-block><block s="doSwitchToCostume"><l>Tempel</l></block><block s="doSetVar"><l>sliceData</l><custom-block s="%s on %txt by mouse %br using Snap! coordinates %b"><l>costumeSlice</l><l>thisSprite</l><l><bool>false</bool></l></custom-block></block><block s="doSetVar"><l>sliceData</l><block s="reportMap"><block s="reifyReporter"><script><block s="doDeleteFromList"><l>4</l><block s="reportListItem"><l>2</l><block var="value"/></block></block><block s="doReport"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="value"/></block><custom-block s="%s of %s"><l>mean</l><block s="reportListItem"><l>2</l><block var="value"/></block></custom-block></list></block></block></script><list><l>value</l></list></block><block var="sliceData"/></block></block><block s="doSetVar"><l>diagram</l><block s="newClone"><l><option>myself</option></l></block></block><block s="doTellTo"><block var="diagram"/><block s="reifyScript"><script><custom-block s="configure %txt as a PlotPad width: %n height: %n %br color: %txt with close-button? %b left? %b size: %n"><l>thisSprite</l><l>400</l><l>300</l><l>lightGray</l><l><bool>false</bool></l><l><bool>false</bool></l><l>15</l></custom-block><custom-block s="set PlotPad labels on %s to %br title: %txt titleheight: %n %br x-label: %txt xLabelheight: %n %br y-label: %txt yLabelheight: %n"><l>thisSprite</l><l>Slice Diagram</l><l>18</l><l>distance</l><l>16</l><l>brightness</l><l>16</l></custom-block><custom-block s="set PlotPad line properties style: %txt %br width: %n color: %mult%s on %txt"><l>continuous</l><l>1</l><list><l>black</l></list><l>thisSprite</l></custom-block><custom-block s="set PlotPad marker properties style: %txt width: %n %br color: %mult%s connected? %b on %txt"><l>none</l><l>5</l><list><l>red</l></list><l><bool>true</bool></l><l>thisSprite</l></custom-block><custom-block s="get ranges for PlotPad %txt %br from %s with border %n"><l>thisSprite</l><block var="sliceData"/><l>0.1</l></custom-block><custom-block s="set pretty ranges on PlotPad %txt"><l>thisSprite</l></custom-block><custom-block s="add dataplot of numeric data: %s to PlotPad %txt"><block var="sliceData"/><l>thisSprite</l></custom-block><custom-block s="add axes and scales to PlotPad %txt"><l>thisSprite</l></custom-block></script><list></list></block><list></list></block></script></block-definition><block-definition s="Example: false color image of moon crater Albertarius" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="237.3333333333334" collapsed="false">An image of Albategnius should be loaded as costume of the sprite!</comment><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="configure %s as an ImagePad width: %n height: %n %br color: %txt with close-button? %b left? %b size: %n"><l>thisSprite</l><l>400</l><l>300</l><l>245</l><l><bool>false</bool></l><l><bool>false</bool></l><l>15</l></custom-block><block s="doSwitchToCostume"><l>albategnius</l></block><custom-block s="import image data from %s %br to myData of %s and set properties"><l>currentCostume</l><l>thisSprite</l></custom-block><custom-block s="%txt %s image log? %b alpha %n %br from myData on %s"><l>create</l><l>false-color</l><l><bool>true</bool></l><l>255</l><l>thisSprite</l></custom-block></script></block-definition><block-definition s="Example: random points on an image" type="command" category="6. ImagePad for image operations"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="configure %s as an ImagePad width: %n height: %n %br color: %txt with close-button? %b left? %b size: %n"><l>thisSprite</l><l>400</l><l>300</l><l>green</l><l><bool>true</bool></l><l><bool>false</bool></l><l>15</l></custom-block><block s="doSetVar"><l>myData</l><custom-block s="%n random points with ranges x: %n %n %br y: %n %n inside of a %s"><l>100</l><l>10</l><l>390</l><l>10</l><l>290</l><l>square</l></custom-block></block><custom-block s="draw list of points %s as %s size: %n on %txt %br using Snap! coordinates? %b with noise? %b range: %n"><l>myData</l><l>circles</l><l>5</l><l>thisSprite</l><l><bool>false</bool></l><l><bool>true</bool></l><l>50</l></custom-block></script></block-definition><block-definition s="Example: space modulation" type="command" category="6. ImagePad for image operations"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>positions</l><l>numberOfPoints</l><l>t</l><l>a</l><l>newPositions</l><l>s</l><l>costume</l></list></block><block s="bubble"><l>One moment, please!</l></block><block s="doWarp"><script><custom-block s="start SciSnap! stage: %n X %n"><l>600</l><l>700</l></custom-block><custom-block s="configure %txt as a SketchPad width: %n height: %n %br color: %s with close-button %b left? %b size: %n"><l>thisSprite</l><l>600</l><l>100</l><l>lightGray</l><l><bool>false</bool></l><l><bool>false</bool></l><l>15</l></custom-block><block s="doWait"><l>2</l></block><block s="bubble"><l></l></block><block s="gotoXY"><l>0</l><l>300</l></block><block s="show"></block><custom-block s="set SketchPadProperty %txt of %txt to %s"><l>fillColor</l><l>thisSprite</l><custom-block s="%s as %txt"><l>black</l><l>RGB-value</l></custom-block></custom-block><custom-block s="set SketchPadProperty %txt of %txt to %s"><l>lineColor</l><l>thisSprite</l><custom-block s="%s as %txt"><l>black</l><l>RGB-value</l></custom-block></custom-block><custom-block s="draw text %txt at: %mult%s height: %n horizontal? %b %br on %txt using Snap! coordinates? %b"><l>Space-Modulation</l><list><l>150</l><l>50</l></list><l>40</l><l><bool>true</bool></l><l>thisSprite</l><l><bool>false</bool></l></custom-block><custom-block s="draw text %txt at: %mult%s height: %n horizontal? %b %br on %txt using Snap! coordinates? %b"><l>inspired by Bart Vegter, The Eye Museum Amsterdam</l><list><l>80</l><l>80</l></list><l>20</l><l><bool>true</bool></l><l>thisSprite</l><l><bool>false</bool></l></custom-block><custom-block s="configure %s as an ImagePad width: %n height: %n %br color: %txt with close-button? %b left? %b size: %n"><l>theStage</l><l>600</l><l>700</l><l>white</l><l><bool>false</bool></l><l><bool>false</bool></l><l>15</l></custom-block><custom-block s="set SketchPadProperty %txt of %txt to %s"><l>fillColor</l><l>theStage</l><custom-block s="%s as %txt"><l>black</l><l>RGB-value</l></custom-block></custom-block><custom-block s="%txt rectangle from: %mult%s to: %mult%s on %txt %br using Snap! coordinates? %b"><l>fill</l><list><l>0</l><l>0</l></list><list><l>600</l><l>700</l></list><l>theStage</l><l><bool>false</bool></l></custom-block><custom-block s="set SketchPadProperty %txt of %txt to %s"><l>fillColor</l><l>theStage</l><custom-block s="%s as %txt"><l>white</l><l>RGB-value</l></custom-block></custom-block><block s="doSetVar"><l>costume</l><custom-block s="copy of costume %s"><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block></custom-block></block><block s="doSetVar"><l>numberOfPoints</l><block s="reportVariadicProduct"><list><l>14</l><l>14</l></list></block></block><block s="doSetVar"><l>positions</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>y</l><l>1</l><l>70</l><script><block s="doFor"><l>x</l><l>1</l><l>70</l><script><block s="doAddToList"><block s="reportNewList"><list><block var="x"/><block var="y"/><block s="reportVariadicSum"><list><l>-1440</l><block s="reportVariadicProduct"><list><block var="x"/><l>40</l></list></block></list></block><block s="reportDifference"><l>1380</l><block s="reportVariadicProduct"><list><block var="y"/><l>40</l></list></block></block><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="x"/><l>35.5</l></block><block s="reportDifference"><block var="x"/><l>35.5</l></block></list></block><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="y"/><l>35.5</l></block><block s="reportDifference"><block var="y"/><l>35.5</l></block></list></block></list></block></block></list></block><block var="positions"/></block></script></block></script></block><block s="doSetVar"><l>t</l><l>0</l></block><block s="doSetVar"><l>a</l><l>0.1</l></block></script></block><block s="doRepeat"><l>225</l><script><block s="doSetVar"><l>s</l><block s="reportVariadicProduct"><list><l>0.5</l><block var="a"/><block var="t"/><block var="t"/></list></block></block><block s="doSetVar"><l>newPositions</l><block s="reportAtomicMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportNewList"><list><block s="reportDifference"><block s="reportListItem"><l>3</l><block var="position"/></block><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="s"/><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="position"/></block><l>35.5</l></block></list></block><block s="reportListItem"><l>5</l><block var="position"/></block></block></block><block s="reportDifference"><block s="reportListItem"><l>4</l><block var="position"/></block><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="s"/><block s="reportDifference"><l>35.5</l><block s="reportListItem"><l>2</l><block var="position"/></block></block></list></block><block s="reportListItem"><l>5</l><block var="position"/></block></block></block></list></block></block></script><list><l>position</l></list></block><block var="positions"/></block></block><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doSwitchToCostume"><custom-block s="copy of costume %s"><block var="costume"/></custom-block></block></script><list></list></block><list></list></block><custom-block s="draw list of points %s as %s size: %n on %txt %br using Snap! coordinates? %b with noise? %b range: %n"><block var="newPositions"/><l>circles</l><l>2</l><l>theStage</l><l><bool>true</bool></l><l><bool>true</bool></l><l>100</l></custom-block><block s="doChangeVar"><l>t</l><l>1</l></block></script></block></script></block-definition><block-definition s="INFO &quot;SciSnap! globals&quot;" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="99.33333333333333" collapsed="false">Creates an Infobox about this category. </comment><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="show global message title: %txt %br message: %txt"><custom-block s="translate %txt"><l>INFO about "SciSnap! globals!"</l></custom-block><custom-block s="translate %txt"><l>This category contains blocks to convert Snap! to SciSnap!, i.e. to create the corresponding variables,&#xD;to add some new blocks to the standard categories, and to create the new categories as well as the costumes of SciSnap!.&#xD;Furthermore, there are blocks for configuring and using "SketchPads", e.g. to draw on them or to close them&#xD;by mouseclick. The SketchPads of the other categories - e.g. the PlotPad, MathPad, ... - are based on this functionality.&#xD;The category "SciSnap! globals" also contains blocks for reading and writing different file types&#xD;as well as file or file-list selection with the mouse.&#xD;Finally, there is a block to display error messages and save them in the SciSnap!Messages variable.</l></custom-block></custom-block></script></block-definition><block-definition s="INFO &quot;Window to ImagePads&quot;" type="command" category="6. ImagePad for image operations" space="true"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="show global message title: %txt %br message: %txt"><custom-block s="translate %txt"><l>INFO about "Window to ImagePads"</l></custom-block><custom-block s="translate %txt"><l>A "window" is an ImagePad, used to display other ImagePads which are switched to the "hide"-modus.&#xD;The "currrent image" of a window can be scrolled, magnified or shrinked in the background.&#xD;The part behind the window is displayed in the window using the paste command.&#xD;Its "instruments" can be used to measure distances or brightness in the window.&#xD;</l></custom-block></custom-block></script></block-definition><block-definition s="configure %&apos;sprite&apos; as a window to ImagePad %&apos;ImagePad&apos;" type="command" category="6. ImagePad for image operations" space="true"><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s">anotherSprite<options>anotherSprite&#xD;theStage&#xD;thisSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doSetVar"><l>ImagePad</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="ImagePad"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="ImagePad"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="ImagePad"/></block></block></block></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block var="ImagePad"/></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: Don&apos;t use the same sprite as window!</l><l>configure as a window</l></custom-block></script><script><block s="doIfElse"><custom-block s="is %s an ImagePad?"><block var="ImagePad"/></custom-block><script><custom-block s="configure %s as an ImagePad width: %n height: %n %br color: %txt with close-button? %b left? %b size: %n"><block var="target"/><l>20</l><l>20</l><l>245</l><l><bool>false</bool></l><l><bool>false</bool></l><l>15</l></custom-block><custom-block s="set ImagePad line properties style: %txt %br width: %n color: %mult%s fill color: %mult%s on %txt"><l>continuous</l><l>1</l><list><l>black</l></list><list><l>lightGray</l></list><block var="target"/></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>magnification</l><block var="target"/><l>20</l></custom-block><block s="doIf"><block s="reportNot"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="gotoXY"><l>0</l><l>0</l></block><block s="doSwitchToCostume"><custom-block s="new costume size: %n %n %s"><l></l><l></l><l>lightGray</l></custom-block></block><block s="setScale"><l>100</l></block><block s="show"></block></script><list></list></block><list><block s="reportVariadicMin"><list><block s="reportAttributeOf"><l><option>width</option></l><block var="ImagePad"/></block><block s="reportListItem"><l>1</l><custom-block s="setting %s"><l>Stage size</l></custom-block></block></list></block><block s="reportVariadicMin"><list><block s="reportAttributeOf"><l><option>height</option></l><block var="ImagePad"/></block><block s="reportListItem"><l>2</l><custom-block s="setting %s"><l>Stage size</l></custom-block></block></list></block></list></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><custom-block s="create %s var %mult%txt"><l>sprite</l><list><l>myImages</l><l>currentImage</l><l>myLineTool</l><l>mySquareTools</l></list></custom-block></script><list></list></block><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><custom-block s="set flag %s to %b"><l>draggable</l><l><bool>false</bool></l></custom-block></script><list></list></block><list></list></block><custom-block s="set %txt of %txt to %s"><l>myImages</l><block var="target"/><block s="reportNewList"><list><block var="ImagePad"/></list></block></custom-block><custom-block s="set %txt of %txt to %s"><l>currentImage</l><block var="target"/><block var="ImagePad"/></custom-block><custom-block s="set %txt of %txt to %s"><l>myLineTool</l><block var="target"/><l>not set</l></custom-block><custom-block s="set %txt of %txt to %s"><l>mySquareTools</l><block var="target"/><block s="reportNewList"><list></list></block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>costumeWidth</l><block var="target"/><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block></custom-block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>costumeHeight</l><block var="target"/><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>height</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block></custom-block><block s="doTellTo"><block var="ImagePad"/><block s="reifyScript"><script><block s="doPasteOn"><block var="target"/></block><block s="hide"></block></script><list></list></block><list></list></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: Sprite isn&apos;t configured as ImagePad.</l><l>configure as a window</l></custom-block></script></block></script></block></script></block></script></block-definition><block-definition s="is %&apos;sprite&apos; a window to Imagepads?" type="predicate" category="6. ImagePad for image operations"><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doReport"><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportListContainsItem"><l/><l></l></block></autolambda><list></list></block><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportApplyExtension"><l>var_names(scope)</l><list><l>sprite</l></list></block></autolambda><list></list></block><list></list></block><l>myImages</l></list></block></block></script></block></script></block-definition><block-definition s="%&apos;selection&apos; ImagePad %&apos;imagePad&apos; to/from image stack $nl of window %&apos;sprite&apos; and adjust width/height %&apos;adjust&apos;" type="command" category="6. ImagePad for image operations"><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">add<options>add&#xD;remove</options></input><input type="%obj"></input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>n</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block var="imagePad"/></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: sprites shouldn&apos;t be indentical!</l><l>add .. to image stack</l></custom-block></script><script><block s="doIfElse"><custom-block s="is %s an ImagePad?"><block var="imagePad"/></custom-block><script><block s="doIfElse"><custom-block s="is %txt a window to Imagepads?"><block var="target"/></custom-block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="selection"/><l>add</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListIndex"><block var="imagePad"/><block s="reportAttributeOf"><l>myImages</l><block var="target"/></block></block><l>0</l></list></block><script><block s="doAddToList"><block var="imagePad"/><block s="reportAttributeOf"><l>myImages</l><block var="target"/></block></block><block s="doTellTo"><block var="imagePad"/><block s="reifyScript"><script><block s="hide"></block></script><list></list></block><list></list></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: Image already exists in imagestack!</l><l>add .. to image stack</l></custom-block></script></block></script><script><block s="doSetVar"><l>n</l><block s="reportListIndex"><block var="imagePad"/><block s="reportAttributeOf"><l>myImages</l><block var="target"/></block></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="n"/><l>0</l></list></block><script><block s="doDeleteFromList"><block var="n"/><block s="reportAttributeOf"><l>myImages</l><block var="target"/></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportAttributeOf"><l>currentImage</l><block var="target"/></block><block var="imagePad"/></list></block><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>myImages</l><block var="target"/></block></block><l>0</l></list></block><script><custom-block s="set %txt of %txt to %s"><l>currentImage</l><block var="target"/><block s="reportListItem"><l>1</l><block s="reportAttributeOf"><l>myImages</l><block var="target"/></block></block></custom-block><custom-block s="switch to %s image of window %s %br and adjust width/height %b"><l>1</l><block var="target"/><block var="adjust"/></custom-block></script><script><custom-block s="switch to %s image of window %s %br and adjust width/height %b"><l>next</l><block var="target"/><block var="adjust"/></custom-block></script></block></script><list></list></block></script><list></list></block></script></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: second sprite isn&apos;t configured as Window!</l><l>add .. to image stack</l></custom-block></script></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: first sprite isn&apos;t configured as ImagePad!</l><l>add .. to image stack</l></custom-block></script></block></script></block></script></block></script></block-definition><block-definition s="switch to %&apos;selection&apos; image of window %&apos;sprite&apos; $nl and adjust width/height %&apos;adjust&apos;" type="command" category="6. ImagePad for image operations"><header></header><code></code><translations></translations><inputs><input type="%s">next<options>next&#xD;first&#xD;last&#xD;any number = number</options></input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>n</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIfElse"><custom-block s="is %txt a window to Imagepads?"><block var="target"/></custom-block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="selection"/><l>next</l></list></block><script><block s="doSetVar"><l>n</l><block s="reportListIndex"><block var="currentImage"/><block s="reportAttributeOf"><l>myImages</l><block var="target"/></block></block></block><block s="doChangeVar"><l>n</l><l>1</l></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>myImages</l><block var="target"/></block></block></list></block><script><block s="doSetVar"><l>n</l><l>1</l></block></script><list></list></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="selection"/><l>first</l></list></block><script><block s="doSetVar"><l>n</l><l>1</l></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="selection"/><l>last</l></list></block><script><block s="doSetVar"><l>n</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>myImages</l><block var="target"/></block></block></block></script><script><block s="doIfElse"><block s="reportIsA"><block var="selection"/><l><option>number</option></l></block><script><block s="doSetVar"><l>n</l><block var="selection"/></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: wrong parameter!</l><l>switch to image of window</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block></script></block></script></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>myImages</l><block var="target"/></block></block><l>1</l></list></block><script><block s="doSetVar"><l>n</l><l>0</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>myImages</l><block var="target"/></block></block></list></block><script><block s="doSetVar"><l>n</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>myImages</l><block var="target"/></block></block></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="n"/><l>0</l></list></block><script><custom-block s="set %txt of %txt to %s"><l>currentImage</l><block var="target"/><block s="reportListItem"><block var="n"/><block s="reportAttributeOf"><l>myImages</l><block var="target"/></block></block></custom-block><block s="doIf"><block var="adjust"/><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><custom-block s="new costume size: %n %n %s"><block s="reportAttributeOf"><l><option>width</option></l><block s="reportListItem"><block var="n"/><block s="reportAttributeOf"><l>myImages</l><block var="target"/></block></block></block><block s="reportAttributeOf"><l><option>height</option></l><block s="reportListItem"><block var="n"/><block s="reportAttributeOf"><l>myImages</l><block var="target"/></block></block></block><l>lightGray</l></custom-block></list></block></script><list></list></block><block s="doTellTo"><block s="reportAttributeOf"><l>currentImage</l><block var="target"/></block><block s="reifyScript"><script><block s="doPasteOn"><block var="target"/></block></script><list></list></block><list></list></block></script><script><custom-block s="set %txt of %txt to %s"><l>currentImage</l><block var="target"/><l>not set</l></custom-block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><custom-block s="new costume size: %n %n %s"><block s="reportAttributeOf"><l><option>width</option></l><block var="target"/></block><block s="reportAttributeOf"><l><option>height</option></l><block var="target"/></block><l>lightGray</l></custom-block></list></block></script></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: sprite isn&apos;t configured as Window!</l><l>switch to image of window</l></custom-block></script></block></script></block></script></block-definition><block-definition s="update window %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %txt a window to Imagepads?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: Target isn&apos;t configured as an ImagePad!</l><l>update window</l></custom-block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><custom-block s="new costume size: %n %n %s"><block s="reportAttributeOf"><l><option>width</option></l><block var="target"/></block><block s="reportAttributeOf"><l><option>height</option></l><block var="target"/></block><l>lightGray</l></custom-block></list></block><block s="doTellTo"><block s="reportAttributeOf"><l>currentImage</l><block var="target"/></block><block s="reifyScript"><script><block s="doPasteOn"><block var="target"/></block></script><list></list></block><list></list></block></script></block></script></block-definition><block-definition s="magnify or shrink image on window %&apos;sprite&apos; by %&apos;n&apos; %" type="command" category="6. ImagePad for image operations" space="true"><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">25</input></inputs><script><block s="doDeclareVariables"><list><l>new size</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %txt a window to Imagepads?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: Target isn&apos;t configured as a window to an ImagePad!</l><l>magnify or shrink image on window</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block s="reportAttributeOf"><l>currentImage</l><block var="target"/></block></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: imagestack is empty!</l><l>magnify or shrink image on window</l></custom-block></script><list></list></block><block s="doSetVar"><l>new size</l><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>size</option></l><block s="reportAttributeOf"><l>currentImage</l><block var="target"/></block></block><block var="n"/></list></block></block><block s="doIf"><block s="reportVariadicLessThanOrEquals"><list><block var="new size"/><l>5</l></list></block><script><block s="doSetVar"><l>new size</l><l>5</l></block></script><list></list></block><block s="doTellTo"><block s="reportAttributeOf"><l>currentImage</l><block var="target"/></block><block s="reifyScript"><script><block s="setScale"><l></l></block></script><list></list></block><list><block var="new size"/></list></block><custom-block s="update window %s"><block var="target"/></custom-block><custom-block s="update tool positions on %s"><block var="target"/></custom-block></script></block></script></block-definition><block-definition s="move image of window %&apos;sprite&apos; by %&apos;dx&apos; %&apos;dy&apos;" type="command" category="6. ImagePad for image operations"><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">10</input><input type="%n">10</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>image</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %txt a window to Imagepads?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: Target isn&apos;t configured as a window to an ImagePad!</l><l>move image on window</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block s="reportAttributeOf"><l>currentImage</l><block var="target"/></block></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: imagestack is empty!</l><l>move image on window</l></custom-block></script><list></list></block><block s="doSetVar"><l>image</l><block s="reportAttributeOf"><l>currentImage</l><block var="target"/></block></block><block s="doTellTo"><block var="image"/><block s="reifyScript"><script><block s="changeXPosition"><l></l></block><block s="changeYPosition"><l></l></block><block s="doPasteOn"><l></l></block></script><list></list></block><list><block var="dx"/><block var="dy"/><block var="target"/></list></block><custom-block s="update window %s"><block var="target"/></custom-block><custom-block s="update tool positions on %s"><block var="target"/></custom-block></script></block></script><scripts><script x="446" y="252.50000000000009"><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>left</option></l><block var="image"/></block><block var="dx"/></list></block><block s="reportAttributeOf"><l><option>left</option></l><block var="target"/></block></list></block><script><block s="doSetVar"><l>dx</l><block s="reportDifference"><block s="reportAttributeOf"><l><option>left</option></l><block var="target"/></block><block s="reportAttributeOf"><l><option>left</option></l><block var="image"/></block></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>right</option></l><block var="image"/></block><block var="dx"/></list></block><block s="reportAttributeOf"><l><option>right</option></l><block var="target"/></block></list></block><script><block s="doSetVar"><l>dx</l><block s="reportDifference"><block s="reportAttributeOf"><l><option>right</option></l><block var="target"/></block><block s="reportAttributeOf"><l><option>right</option></l><block var="image"/></block></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>bottom</option></l><block var="image"/></block><block var="dy"/></list></block><block s="reportAttributeOf"><l><option>bottom</option></l><block var="target"/></block></list></block><script><block s="doSetVar"><l>dy</l><block s="reportDifference"><block s="reportAttributeOf"><l><option>bottom</option></l><block var="target"/></block><block s="reportAttributeOf"><l><option>bottom</option></l><block var="image"/></block></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>top</option></l><block var="image"/></block><block var="dy"/></list></block><block s="reportAttributeOf"><l><option>top</option></l><block var="target"/></block></list></block><script><block s="doSetVar"><l>dy</l><block s="reportDifference"><block s="reportAttributeOf"><l><option>top</option></l><block var="target"/></block><block s="reportAttributeOf"><l><option>top</option></l><block var="image"/></block></block></block></script><list></list></block></script></scripts></block-definition><block-definition s="scroll image of window %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>dx</l><l>dy</l><l>oldMouseX</l><l>oldMouseY</l><l>target</l><l>isDraggable</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %txt a window to Imagepads?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: Target isn&apos;t configured as a window to an ImagePad!</l><l>scroll image on window</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block s="reportAttributeOf"><l>currentImage</l><block var="target"/></block></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: imagestack is empty!</l><l>scroll image on window</l></custom-block></script><list></list></block><block s="doSetVar"><l>isDraggable</l><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>draggable?</option></l></block></autolambda><list></list></block><list></list></block></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><custom-block s="set flag %s to %b"><l>draggable</l><l><bool>false</bool></l></custom-block></script><list></list></block><list></list></block><block s="doSetVar"><l>oldMouseX</l><block s="reportMouseX"></block></block><block s="doSetVar"><l>oldMouseY</l><block s="reportMouseY"></block></block><block s="doUntil"><block s="reportNot"><block s="reportMouseDown"></block></block><script><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicNotEquals"><list><block var="oldMouseX"/><block s="reportMouseX"></block></list></block><block s="reportVariadicNotEquals"><list><block var="oldMouseY"/><block s="reportMouseY"></block></list></block></list></block><script><block s="doWarp"><script><block s="doSetVar"><l>dx</l><block s="reportDifference"><block s="reportMouseX"></block><block var="oldMouseX"/></block></block><block s="doSetVar"><l>dy</l><block s="reportDifference"><block s="reportMouseY"></block><block var="oldMouseY"/></block></block><custom-block s="move image of window %s by %n %n"><block var="target"/><block var="dx"/><block var="dy"/></custom-block><block s="doSetVar"><l>oldMouseX</l><block s="reportMouseX"></block></block><block s="doSetVar"><l>oldMouseY</l><block s="reportMouseY"></block></block><custom-block s="update tool positions on %s"><block var="target"/></custom-block></script></block></script><list></list></block></script></block><block s="doIf"><block var="isDraggable"/><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><custom-block s="set flag %s to %b"><l>draggable</l><l><bool>true</bool></l></custom-block></script><list></list></block><list></list></block></script><list></list></block></script></block-definition><block-definition s="stage position %&apos;position&apos; $arrowRightOutline %&apos;selection&apos; on %&apos;sprite&apos; $nl using Snap! coordinates %&apos;snap!Coordinates&apos;" type="reporter" category="6. ImagePad for image operations" space="true"><comment x="0" y="0" w="199.33333333333317" collapsed="false">Stage coordinates are alternatively described as Snap! or JavaScript coordinates, window and image coordinates are always JavaScript coordinates.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%s"></input><input type="%txt" readonly="true">window-position<options>window-position&#xD;image-position&#xD;image-value</options></input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">false</input></inputs><script><block s="doDeclareVariables"><list><l>imageOffsets</l><l>windowOffsets</l><l>imageSize</l><l>target</l><l>xi</l><l>yi</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>position</l><custom-block s="variadic position %mult%s $arrowRightOutline position"><block var="position"/></custom-block></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doSetVar"><l>selection</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="selection"/><l> </l></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %txt a window to Imagepads?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target is not a window to an ImagePad!</l><l>stage position --&gt; ...</l></custom-block></script><list></list></block><block s="doIf"><block var="snap!Coordinates"/><script><block s="doSetVar"><l>position</l><block s="reportNewList"><list><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="position"/></block><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block></block><block s="reportDifference"><block s="reportAttributeOf"><l><option>top</option></l><l>Stage</l></block><block s="reportListItem"><l>2</l><block var="position"/></block></block></list></block><comment w="90" collapsed="false">From now on only JS-coordinates!</comment></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>window-position</l></list></block><script><block s="doSetVar"><l>windowOffsets</l><block s="reportNewList"><list><block s="reportDifference"><block s="reportAttributeOf"><l><option>left</option></l><block var="target"/></block><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block></block><block s="reportDifference"><block s="reportAttributeOf"><l><option>top</option></l><l>Stage</l></block><block s="reportAttributeOf"><l><option>top</option></l><block var="target"/></block></block></list></block></block><block s="doReport"><block s="reportNewList"><list><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="position"/></block><block s="reportListItem"><l>1</l><block var="windowOffsets"/></block></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="position"/></block><block s="reportListItem"><l>2</l><block var="windowOffsets"/></block></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="selection"/><l>image-position</l></list></block><block s="reportVariadicEquals"><list><block var="selection"/><l>image-value</l></list></block></list></block><script><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block s="reportAttributeOf"><l>currentImage</l><block var="target"/></block></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: no ImagePad available!</l><l>stage position --&gt; ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>imageOffsets</l><block s="reportNewList"><list><block s="reportDifference"><block s="reportAttributeOf"><l><option>left</option></l><block s="reportAttributeOf"><l>currentImage</l><block var="target"/></block></block><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block></block><block s="reportDifference"><block s="reportAttributeOf"><l><option>top</option></l><l>Stage</l></block><block s="reportAttributeOf"><l><option>top</option></l><block s="reportAttributeOf"><l>currentImage</l><block var="target"/></block></block></block></list></block></block><block s="doSetVar"><l>imageSize</l><block s="reportQuotient"><block s="reportAskFor"><block s="reportAttributeOf"><l>currentImage</l><block var="target"/></block><block s="reifyReporter"><autolambda><block s="getScale"></block></autolambda><list></list></block><list></list></block><l>100</l></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="imageSize"/><l>NaN</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: no Image properties available!</l><l>stage position --&gt; ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>xi</l><block s="reportQuotient"><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="position"/></block><block s="reportListItem"><l>1</l><block var="imageOffsets"/></block></block><block var="imageSize"/></block></block><block s="doSetVar"><l>yi</l><block s="reportQuotient"><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="position"/></block><block s="reportListItem"><l>2</l><block var="imageOffsets"/></block></block><block var="imageSize"/></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="selection"/><l>image-position</l></list></block><script><block s="doReport"><block s="reportNewList"><list><block var="xi"/><block var="yi"/></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="xi"/><custom-block s="ImagePadProperty %txt of %txt"><l>imageWidth</l><block s="reportAttributeOf"><l>currentImage</l><block var="target"/></block></custom-block></list></block><block s="reportVariadicGreaterThan"><list><block var="yi"/><custom-block s="ImagePadProperty %txt of %txt"><l>imageHeight</l><block s="reportAttributeOf"><l>currentImage</l><block var="target"/></block></custom-block></list></block><block s="reportVariadicLessThan"><list><block var="xi"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="yi"/><l>1</l></list></block></list></block><script><block s="doReport"><l>NaN</l></block></script><script><block s="doReport"><custom-block s="%txt at %mult%s on %txt %br using Snap! coordinates %b"><l>imageData</l><list><block var="xi"/><block var="yi"/></list><block s="reportAttributeOf"><l>currentImage</l><block var="target"/></block><l><bool>false</bool></l></custom-block></block></script></block></script></block></script><list></list></block><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: wrong selection!</l><l>stage position --&gt; ...</l></custom-block></script></block></script></block-definition><block-definition s="%&apos;selection&apos; %&apos;position&apos; on %&apos;sprite&apos; $arrowRightOutline stage position $nl using Snap! coordinates %&apos;snap!Coordinates&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="199.33333333333317" collapsed="false">Stage coordinates are alternatively described as Snap! or JavaScript coordinates, window and image coordinates are always JavaScript coordinates.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">window-position<options>window-position&#xD;image-position</options></input><input type="%mult%s"></input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">false</input></inputs><script><block s="doDeclareVariables"><list><l>imageOffsets</l><l>imageSize</l><l>target</l><l>result</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>position</l><custom-block s="variadic position %mult%s $arrowRightOutline position"><block var="position"/></custom-block></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %txt a window to Imagepads?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target is not a window to an ImagePad!</l><l>window-position/... --&gt; stage position</l></custom-block></script><list></list></block><block s="doSetVar"><l>selection</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="selection"/><l> </l></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>window-position</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list><block s="reportDifference"><block s="reportVariadicSum"><list><block s="reportListItem"><l>1</l><block var="position"/></block><block s="reportAttributeOf"><l><option>left</option></l><block var="target"/></block></list></block><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block></block><block s="reportDifference"><block s="reportVariadicSum"><list><block s="reportListItem"><l>2</l><block var="position"/></block><block s="reportAttributeOf"><l><option>top</option></l><l>Stage</l></block></list></block><block s="reportAttributeOf"><l><option>top</option></l><block var="target"/></block></block></list></block></block><block s="doIfElse"><block var="snap!Coordinates"/><script><block s="doReport"><block s="reportNewList"><list><block s="reportVariadicSum"><list><block s="reportListItem"><l>1</l><block var="result"/></block><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block></list></block><block s="reportDifference"><block s="reportAttributeOf"><l><option>top</option></l><l>Stage</l></block><block s="reportListItem"><l>2</l><block var="result"/></block></block></list></block></block></script><script><block s="doReport"><block var="result"/></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>image-position</l></list></block><script><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block s="reportAttributeOf"><l>currentImage</l><block var="target"/></block></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target is not an ImagePad!</l><l>window-position/... --&gt; stage position</l></custom-block></script><list></list></block><block s="doSetVar"><l>imageSize</l><block s="reportQuotient"><block s="reportAskFor"><block s="reportAttributeOf"><l>currentImage</l><block var="target"/></block><block s="reifyReporter"><autolambda><block s="getScale"></block></autolambda><list></list></block><list></list></block><l>100</l></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="imageSize"/><l>NaN</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: no Image properties available!</l><l>window-position/... --&gt; stage position</l></custom-block></script><list></list></block><block s="doSetVar"><l>imageOffsets</l><block s="reportNewList"><list><block s="reportDifference"><block s="reportAttributeOf"><l><option>left</option></l><block s="reportAttributeOf"><l>currentImage</l><block var="target"/></block></block><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block></block><block s="reportDifference"><block s="reportAttributeOf"><l><option>top</option></l><l>Stage</l></block><block s="reportAttributeOf"><l><option>top</option></l><block s="reportAttributeOf"><l>currentImage</l><block var="target"/></block></block></block></list></block></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list><block s="reportDifference"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="imageSize"/><block s="reportListItem"><l>1</l><block var="position"/></block></list></block><block s="reportAttributeOf"><l><option>left</option></l><block s="reportAttributeOf"><l>currentImage</l><block var="target"/></block></block></list></block><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block></block><block s="reportDifference"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="imageSize"/><block s="reportListItem"><l>2</l><block var="position"/></block></list></block><block s="reportAttributeOf"><l><option>top</option></l><l>Stage</l></block></list></block><block s="reportAttributeOf"><l><option>top</option></l><block s="reportAttributeOf"><l>currentImage</l><block var="target"/></block></block></block></list></block></block></script><list></list></block><block s="doIfElse"><block var="snap!Coordinates"/><script><block s="doReport"><block s="reportNewList"><list><block s="reportVariadicSum"><list><block s="reportListItem"><l>1</l><block var="result"/></block><block s="reportAttributeOf"><l><option>left</option></l><l>Stage</l></block></list></block><block s="reportDifference"><block s="reportAttributeOf"><l><option>top</option></l><l>Stage</l></block><block s="reportListItem"><l>2</l><block var="result"/></block></block></list></block></block></script><script><block s="doReport"><block var="result"/></block></script></block></script></block></script></block-definition><block-definition s="position %&apos;position&apos; is in window %&apos;sprite&apos;" type="predicate" category="6. ImagePad for image operations"><header></header><code></code><translations></translations><inputs><input type="%mult%s"></input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: Target isn&apos;t configured as an ImagePad!</l><l>position is in the window</l></custom-block></script><list></list></block><block s="doSetVar"><l>position</l><custom-block s="variadic position %mult%s $arrowRightOutline position"><block var="position"/></custom-block></block><block s="doReport"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>1</l><block var="position"/></block><block s="reportAttributeOf"><l><option>left</option></l><block var="target"/></block></list></block><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>1</l><block var="position"/></block><block s="reportAttributeOf"><l><option>right</option></l><block var="target"/></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>2</l><block var="position"/></block><block s="reportAttributeOf"><l><option>bottom</option></l><block var="target"/></block></list></block><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>2</l><block var="position"/></block><block s="reportAttributeOf"><l><option>top</option></l><block var="target"/></block></list></block></list></block></list></block></block></script></block></script></block-definition><block-definition s="is %&apos;sprite&apos; deleted?" type="predicate" category="control"><comment x="0" y="0" w="90" collapsed="false">Checks whether the specified sprite is in the list of deleted sprites.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>allTheSprites</l><l>dummy</l><l>target</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportIsA"><block var="sprite"/><l><option>sprite</option></l></block><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block var="sprite"/></block></block></script><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></script></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="target"/><l><option>sprite</option></l></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="doSetVar"><l>allTheSprites</l><block s="reportGet"><l><option>other sprites</option></l></block></block><custom-block s="safely try %cs then if %upvar %cs"><script><block s="doAddToList"><block s="reportGet"><l><option>self</option></l></block><block var="allTheSprites"/></block></script><l>error</l><script><block s="doSetVar"><l>dummy</l><l>0</l></block></script></custom-block><block s="doReport"><block s="reportNot"><block s="reportListContainsItem"><block var="allTheSprites"/><block var="target"/></block></block></block></script></block></script></block-definition><block-definition s="attach part %&apos;part&apos; to sprite %&apos;sprite&apos;" type="command" category="control" space="true"><comment x="0" y="0" w="98.8" collapsed="false">Attaches a sprite as part of another sprite.</comment><header></header><code></code><translations></translations><inputs><input type="%s">a part</input><input type="%s">thisSprite<options>thisSprite&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>aPart</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block><block s="doSetVar"><l>aPart</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="part"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="part"/></block></block></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="target"/><l><option>sprite</option></l></block><block s="reportIsA"><block var="aPart"/><l><option>sprite</option></l></block></list></block><script><block s="doTellTo"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportApplyExtension"><l>SciS_attach part(choice,part)</l><list><l>attach</l><block var="aPart"/></list></block></autolambda><list></list></block><list></list></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: operation works only with sprites!</l><l>attach part</l></custom-block></script></block></script></block-definition><block-definition s="start SciSnap! stage: %&apos;width&apos; X %&apos;height&apos;" type="command" category="1. SciSnap! globals" space="true"><comment x="0" y="0" w="143.1691406249999" collapsed="false">Initialization of SciSnap!</comment><header></header><code></code><translations></translations><inputs><input type="%n">800</input><input type="%n">600</input></inputs><script><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/SciSnap3Extensions.js</l></list></block><block s="doWarp"><script><block s="doApplyExtension"><l>SciS_addMenuItemForSciSnapManuals()</l><list></list></block><block s="doApplyExtension"><l>SciS_SetSciSnapLogo()</l><list></list><comment w="138.33333333333334" collapsed="false">Changes the Snap!-Logo. ;-)</comment></block><custom-block s="set value %s to %s"><l>Stage size</l><block s="reportNewList"><list><block var="width"/><block var="height"/></list></block></custom-block><custom-block s="create SciSnap! global variables and properties"></custom-block><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><l>Empty</l></list></block><block s="doSwitchToCostume"><l>HilbertoRight</l></block><block s="gotoXY"><l>0</l><l>0</l></block><block s="doSayFor"><l>Hi!</l><l>2</l></block></script></block></script><scripts><script x="335" y="71.83333333333331"><block s="doApplyExtension"><l>src_load(url)</l><list><l>https://emu-online.de/SciSnap3Extensions.js</l></list><comment w="90" collapsed="false">alternative server</comment></block></script></scripts></block-definition><block-definition s="create costume data" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="109.33333333333333" collapsed="false">Creates a text-file &quot;SciSnap!Costumes&quot; from present costumes.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>data</l></list></block><block s="doWarp"><script><block s="bubble"><l>This may take some time!</l></block><custom-block s="create %s var %mult%txt"><l>global</l><list><l>SciSnap!Costumes</l></list></custom-block><block s="doSetVar"><l>SciSnap!Costumes</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>costume</l><block s="reportGet"><l><option>costumes</option></l></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportGetImageAttribute"><l><option>name</option></l><block var="costume"/></block><block s="reportGetImageAttribute"><l><option>width</option></l><block var="costume"/></block><block s="reportGetImageAttribute"><l><option>height</option></l><block var="costume"/></block><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="costume"/></block></list></block><block var="SciSnap!Costumes"/></block></script></block><block s="doSetVar"><l>data</l><l>""</l></block><block s="doForEach"><l>item</l><block var="SciSnap!Costumes"/><script><block s="doSetVar"><l>data</l><block s="reportJoinWords"><list><block var="data"/><l>+"</l><block s="reportListItem"><l>1</l><block var="item"/></block><l>,</l><block s="reportListItem"><l>2</l><block var="item"/></block><l>,</l><block s="reportListItem"><l>3</l><block var="item"/></block><l>,"</l></list></block></block><block s="doForEach"><l>values</l><block s="reportListItem"><l>4</l><block var="item"/></block><script><block s="doSetVar"><l>data</l><block s="reportJoinWords"><list><block var="data"/><l>+"</l><block s="reportListItem"><l>1</l><block var="values"/></block><l>,</l><block s="reportListItem"><l>2</l><block var="values"/></block><l>,</l><block s="reportListItem"><l>3</l><block var="values"/></block><l>,</l><block s="reportListItem"><l>4</l><block var="values"/></block><l>,"</l></list></block></block></script></block></script></block><custom-block s="write %s to %s -file %txt"><block var="data"/><l>TEXT</l><l>SciSnap!Costumes</l></custom-block><custom-block s="delete var %mult%txt"><list><l>SciSnap!Costumes</l></list></custom-block><block s="bubble"><l></l></block></script></block></script></block-definition><block-definition s="create SciSnap! costumes" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="135.1655598958333" collapsed="false">Creates and stores different SciSnap! costumes.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doWarp"><script><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/SciSnap3Costumedata.js</l></list></block><custom-block s="create %s var %mult%txt"><l>global</l><list><l>SciSnap!Costumes</l></list></custom-block><block s="doShowVar"><l>SciSnap!Costumes</l></block><block s="doSetVar"><l>SciSnap!Costumes</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><block s="reportApplyExtension"><l>SciS_costumeData()</l><list></list></block><script><block s="bubble"><block s="reportJoinWords"><list><l>costume "</l><block s="reportListItem"><l>1</l><block var="item"/></block><l>" is processed.</l></list></block></block><block s="doAddToList"><block s="reportNewCostume"><block s="reportListItem"><l>4</l><block var="item"/></block><block s="reportListItem"><l>2</l><block var="item"/></block><block s="reportListItem"><l>3</l><block var="item"/></block></block><block var="SciSnap!Costumes"/></block><custom-block s="rename costume %s to %txt"><block s="reportListItem"><l><option>last</option></l><block var="SciSnap!Costumes"/></block><block s="reportListItem"><l>1</l><block var="item"/></block></custom-block></script></block><block s="doSayFor"><l>ready!</l><l>1</l></block></script></block></script><scripts><script x="360.98193359375" y="76.75"><block s="doApplyExtension"><l>src_load(url)</l><list><l>https://emu-online.de/SciSnap3Costumedata.js</l></list><comment w="90" collapsed="false">alternative server</comment></block></script></scripts></block-definition><block-definition s="create SciSnap! global variables and properties" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="220.79868031547676" collapsed="false">Creates global variables &quot;SciSnap!Properties&quot;, &quot;SciSnap!Data&quot;, and &quot;SciSnap!Messages&quot;. &#xD;Sets the default values of global SciSnap!-properties for items&#xD;typeOfData&#xD;width&#xD;height&#xD;minValue&#xD;maxValue&#xD;columns&#xD;rows&#xD;maxSetValue</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doWarp"><script><custom-block s="create %s var %mult%txt"><l>global</l><list><l>SciSnap!Properties</l><l>SciSnap!Data</l><l>SciSnap!Messages</l></list><comment w="220.79868031547676" collapsed="false">Creates global variables &quot;SciSnap!Properties&quot;, &quot;SciSnap!Data&quot;, and &quot;SciSnap!Messages&quot;. &#xD;Sets the default values of global SciSnap!-properties for items&#xD;typeOfData&#xD;width&#xD;height&#xD;minValue&#xD;maxValue&#xD;columns&#xD;rows&#xD;maxSetValue</comment></custom-block><block s="doSetVar"><l>SciSnap!Properties</l><custom-block s="new dictionary"></custom-block></block><block s="doSetVar"><l>SciSnap!Messages</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>SciSnap!Data</l><block s="reportNewList"><list></list></block></block><custom-block s="add key %s value %s to dictionary %l"><l>typeOfData</l><l>not set</l><block var="SciSnap!Properties"/></custom-block><custom-block s="add key %s value %s to dictionary %l"><l>width</l><l>not set</l><block var="SciSnap!Properties"/></custom-block><custom-block s="add key %s value %s to dictionary %l"><l>height</l><l>not set</l><block var="SciSnap!Properties"/></custom-block><custom-block s="add key %s value %s to dictionary %l"><l>minValue</l><l>not set</l><block var="SciSnap!Properties"/></custom-block><custom-block s="add key %s value %s to dictionary %l"><l>maxValue</l><l>not set</l><block var="SciSnap!Properties"/></custom-block><custom-block s="add key %s value %s to dictionary %l"><l>columns</l><l>0</l><block var="SciSnap!Properties"/></custom-block><custom-block s="add key %s value %s to dictionary %l"><l>rows</l><l>0</l><block var="SciSnap!Properties"/></custom-block><custom-block s="add key %s value %s to dictionary %l"><l>maxSetValue</l><l>500</l><block var="SciSnap!Properties"/></custom-block></script></block></script></block-definition><block-definition s="set SciSnap! global property %&apos;key&apos; to %&apos;value&apos;" type="command" category="1. SciSnap! globals" space="true"><comment x="0" y="0" w="128.97435897435886" collapsed="false">Sets the value of an existing property or inserts it anew.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">typeOfData<options>typeOfData&#xD;width&#xD;height&#xD;minValue&#xD;maxValue&#xD;columns&#xD;rows&#xD;maxSetValue</options></input><input type="%s"></input></inputs><script><block s="doReplaceInList"><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="key"/><l> </l></block></block><block var="SciSnap!Properties"/><block var="value"/></block></script></block-definition><block-definition s="configure %&apos;sprite&apos; as a SketchPad width: %&apos;width&apos; height: %&apos;height&apos; $nl color: %&apos;color&apos; with close-button %&apos;withCloseButton?&apos; left? %&apos;left?&apos; size: %&apos;closeButtonSize&apos;" type="command" category="1. SciSnap! globals" space="true"><comment x="0" y="0" w="150.3846153846154" collapsed="false">Creates a new  empty costume of the specified size and color and sets the local properties.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">400</input><input type="%n">300</input><input type="%s" readonly="true">lightGray<options>black&#xD;gray&#xD;lightGray&#xD;white&#xD;red&#xD;orange&#xD;yellow&#xD;green&#xD;cyan&#xD;blue&#xD;magenta</options></input><input type="%b">false</input><input type="%b" readonly="true">false<options>left&#xD;right</options></input><input type="%n">15</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>costumeWidth</l><l>costumeHeight</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportIsA"><block var="target"/><l><option>sprite</option></l></block><block s="reportIsA"><block var="target"/><l><option>stage</option></l></block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: sprite or stage required!</l><l>configure ... as a SketchPad</l></custom-block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><custom-block s="create %s var %mult%txt"><l>sprite</l><list><l>myProperties</l><l>myData</l><l>myCloseButton</l></list></custom-block></script><list></list></block><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSetVar"><l>myProperties</l><custom-block s="new dictionary"></custom-block></block><block s="doSetVar"><l>myData</l><block s="reportNewList"><list></list></block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="myCloseButton"/><l><option>sprite</option></l></block></block><script><block s="doIfElse"><custom-block s="is %s deleted?"><block var="myCloseButton"/></custom-block><script><block s="doSetVar"><l>myCloseButton</l><l>not set</l></block></script><script><custom-block s="remove sprite %s"><block var="myCloseButton"/></custom-block><block s="doSetVar"><l>myCloseButton</l><l>not set</l></block></script></block></script><list></list></block></script><list></list></block><list></list></block><block s="doIfElse"><block s="reportIsA"><block var="color"/><l><option>list</option></l></block><script><block s="doSetVar"><l>color</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>number</option></l></block></autolambda><list></list></block><block var="color"/></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="color"/></block><l>3</l></list></block><script><block s="doSetVar"><l>color</l><block s="reportNewList"><list><l>230</l><l>230</l><l>230</l></list></block></block></script><list></list></block></script><script><block s="doIfElse"><block s="reportIsA"><block var="color"/><l><option>text</option></l></block><script><block s="doSetVar"><l>color</l><custom-block s="%s as %txt"><block var="color"/><l>RGB-value</l></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="color"/><l></l></list></block><script><block s="doSetVar"><l>color</l><block s="reportNewList"><list><l>230</l><l>230</l><l>230</l></list></block></block></script><list></list></block></script><script><block s="doSetVar"><l>color</l><block s="reportNewList"><list><l>230</l><l>230</l><l>230</l></list></block></block></script></block></script></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>costumeWidth</l><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block></block><block s="doSetVar"><l>costumeHeight</l><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block></block></script><script><block s="doSetVar"><l>costumeWidth</l><block var="width"/></block><block s="doSetVar"><l>costumeHeight</l><block var="height"/></block></script></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfConfiguration</l><l>SketchPad</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>lineWidth</l><l>1</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>lineStyle</l><l>continuous</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>lineColor</l><block s="reportNewList"><list><l>0</l><l>0</l><l>0</l></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>fillColor</l><block s="reportNewList"><list><l>180</l><l>180</l><l>180</l></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>textHeight</l><l>12</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>textOrientation</l><block s="reportBoolean"><l><bool>true</bool></l></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>withCloseButton</l><block var="withCloseButton?"/></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>closeButtonLeft</l><block var="left?"/></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>closeButtonSize</l><block var="closeButtonSize"/></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>backColor</l><block var="color"/></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>frontColor</l><block s="reportNewList"><list><l>0</l><l>0</l><l>0</l></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>costumeWidth</l><block var="costumeWidth"/></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>costumeHeight</l><block var="costumeHeight"/></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>width</l><block var="width"/></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>height</l><block var="height"/></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>offsets</l><block s="reportNewList"><list><block s="reportQuotient"><block s="reportDifference"><block var="costumeWidth"/><block var="width"/></block><l>2</l></block><block s="reportQuotient"><block s="reportDifference"><block var="costumeHeight"/><block var="height"/></block><l>2</l></block></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doIfElse"><block s="reportIsA"><block var="target"/><l><option>sprite</option></l></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="gotoXY"><l>0</l><l>0</l></block><block s="setHeading"><l>90</l></block><block s="doSwitchToCostume"><custom-block s="new costume size: %n %n %s"><block var="width"/><block var="height"/><block var="color"/></custom-block></block><block s="show"></block></script><list></list></block><list></list></block><custom-block s="adjust close-button of %s"><block var="target"/></custom-block></script><script><custom-block s="set SketchPadProperty %txt of %txt to %s"><l>fillColor</l><l>theStage</l><block var="color"/></custom-block><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doSwitchToCostume"><custom-block s="new costume size: %n %n %s"><block var="costumeWidth"/><block var="costumeHeight"/><block var="color"/></custom-block></block></script><list></list></block><list></list></block></script></block></script></block></script><scripts><comment x="470.07692307692406" y="114.39743589743644" w="195" collapsed="false">costume properties:&#xD;1: width&#xD;2: height&#xD;3: back color RGB&#xD;4: offsets for position on stage&#xD;5: front color RGB&#xD;&#xD;line properties:&#xD;1: line width&#xD;2: line style&#xD;3: line color RGB&#xD;4: fill color RGB&#xD;&#xD;text properties:&#xD;1: text height&#xD;2. orientation (horizontal=true)&#xD;&#xD;closebutton properties:&#xD;1: with closebutton?&#xD;2: position (left=true)&#xD;3: closeButtonSize</comment></scripts></block-definition><block-definition s="is %&apos;sprite&apos; a %&apos;pad&apos; ?" type="predicate" category="1. SciSnap! globals"><comment x="0" y="0" w="112.00000000000001" collapsed="false">Test on different SketchPad types.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s" readonly="true">SketchPad<options>SketchPad&#xD;MathPad&#xD;PlotPad&#xD;ImagePad&#xD;GraphPad&#xD;NNPad&#xD;GridPad</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportIsA"><block var="target"/><l><option>sprite</option></l></block><block s="reportIsA"><block var="target"/><l><option>stage</option></l></block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: sprite or stage required!</l><l>is ... a SketchPad</l></custom-block></script><list></list></block><block s="doIf"><custom-block s="is variable %s in the scope of %s ?"><l>myProperties</l><block var="target"/></custom-block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="pad"/><l>SketchPad</l></list></block><script><block s="doReport"><block s="reportListContainsItem"><block s="reportNewList"><list><l>SketchPad</l><l>PlotPad</l><l>ImagePad</l><l>GraphPad</l><l>NNPad</l><l>MathPad</l><l>GridPad</l></list></block><block s="reportListItem"><l>typeOfConfiguration</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block></block></script><script><block s="doReport"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>typeOfConfiguration</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block var="pad"/></list></block></block></script></block></script><list></list></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="reshape and clear SketchPad %&apos;sprite&apos; $nl to width: %&apos;width&apos; height: %&apos;height&apos;" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="137.71794871794887" collapsed="false">Reshapes and cleares the costume of a SketchPad.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">400</input><input type="%n">300</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>costumeWidth</l><l>costumeHeight</l><l>size</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportIsA"><block var="target"/><l><option>sprite</option></l></block><block s="reportIsA"><block var="target"/><l><option>stage</option></l></block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: sprite or stage required!</l><l>reshape and clear SketchPad</l></custom-block></script><list></list></block><block s="doIfElse"><custom-block s="is %s a %s ?"><block var="target"/><l>SketchPad</l></custom-block><script><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>costumeWidth</l><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block></block><block s="doSetVar"><l>costumeHeight</l><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block></block></script><script><block s="doSetVar"><l>costumeWidth</l><block var="width"/></block><block s="doSetVar"><l>costumeHeight</l><block var="height"/></block></script></block><block s="doReplaceInList"><l>costumeWidth</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="costumeWidth"/></block><block s="doReplaceInList"><l>costumeHeight</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="costumeHeight"/></block><block s="doReplaceInList"><l>offsets</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block s="reportNewList"><list><block s="reportQuotient"><block s="reportDifference"><block var="costumeWidth"/><block var="width"/></block><l>2</l></block><block s="reportQuotient"><block s="reportDifference"><block var="costumeHeight"/><block var="height"/></block><l>2</l></block></list></block></block><block s="doIfElse"><block s="reportIsA"><block var="target"/><l><option>sprite</option></l></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><custom-block s="new costume size: %n %n %s"><block var="costumeWidth"/><block var="costumeHeight"/><custom-block s="SketchPadProperty %txt of %txt"><l>backColor</l><l>thisSprite</l></custom-block></custom-block></block></script><list></list></block><list></list></block><custom-block s="adjust close-button of %s"><block var="target"/></custom-block></script><script><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doSwitchToCostume"><custom-block s="new costume size: %n %n %s"><block var="costumeWidth"/><block var="costumeHeight"/><l>white</l></custom-block></block></script><list></list></block><list></list></block><custom-block s="set SketchPadProperty %txt of %txt to %s"><l>fillColor</l><l>thisSprite</l><custom-block s="SketchPadProperty %txt of %txt"><l>backColor</l><l>theStage</l></custom-block></custom-block><custom-block s="%txt rectangle from: %mult%s to: %mult%s on %txt %br using Snap! coordinates? %b"><l>draw</l><list><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block var="width"/></block><l>2</l></block><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="height"/></block><l>2</l></block></list><list><block s="reportVariadicSum"><list><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block var="width"/></block><l>2</l></block><block var="width"/></list></block><block s="reportVariadicSum"><list><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="height"/></block><l>2</l></block><block var="height"/></list></block></list><l>theStage</l><l><bool>false</bool></l></custom-block><custom-block s="%txt rectangle from: %mult%s to: %mult%s on %txt %br using Snap! coordinates? %b"><l>fill</l><list><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block var="width"/></block><l>2</l></block><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="height"/></block><l>2</l></block></list><list><block s="reportVariadicSum"><list><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block var="width"/></block><l>2</l></block><block var="width"/></list></block><block s="reportVariadicSum"><list><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="height"/></block><l>2</l></block><block var="height"/></list></block></list><l>theStage</l><l><bool>false</bool></l></custom-block></script></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>Target isn&apos;t configured as SketchPad!</l><l>reshape SketchPad</l></custom-block></script></block></script></block></script></block-definition><block-definition s="delete SketchPad %&apos;sprite&apos;" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="115.59999999999998" collapsed="false">Deletes a SketchPad.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block><block s="doIf"><custom-block s="is %s a %s ?"><block var="target"/><l>SketchPad</l></custom-block><script><block s="doIf"><custom-block s="is variable %s in the scope of %s ?"><l>myCloseButton</l><block var="target"/></custom-block><script><block s="doIf"><block s="reportIsA"><block s="reportAttributeOf"><l>myCloseButton</l><block var="target"/></block><l><option>sprite</option></l></block><script><block s="doIf"><block s="reportNot"><custom-block s="is %s deleted?"><block s="reportAttributeOf"><l>myCloseButton</l><block var="target"/></block></custom-block></block><script><custom-block s="remove sprite %s"><block s="reportAttributeOf"><l>myCloseButton</l><block var="target"/></block></custom-block></script><list></list></block></script><list></list></block></script><list></list></block><custom-block s="remove sprite %s"><block var="target"/></custom-block></script><list></list></block></script></block-definition><block-definition s="adjust close-button of %&apos;sprite&apos;" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="90" collapsed="false">If necessary, place the close button in the correct position.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>closeButton</l><l>left?</l><l>size</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><custom-block s="is %s a %s ?"><block var="target"/><l>SketchPad</l></custom-block><script><block s="doIf"><block s="reportNot"><custom-block s="is %s deleted?"><block s="reportAttributeOf"><l>myCloseButton</l><block var="target"/></block></custom-block></block><script><custom-block s="remove sprite %s"><block s="reportAttributeOf"><l>myCloseButton</l><block var="target"/></block></custom-block></script><list></list></block><custom-block s="set %txt of %txt to %s"><l>myCloseButton</l><block var="target"/><l>not set</l></custom-block><block s="doIf"><custom-block s="SketchPadProperty %txt of %txt"><l>withCloseButton</l><block var="target"/></custom-block><script><block s="doSetVar"><l>left?</l><custom-block s="SketchPadProperty %txt of %txt"><l>closeButtonLeft</l><block var="target"/></custom-block></block><block s="doSetVar"><l>size</l><custom-block s="SketchPadProperty %txt of %txt"><l>closeButtonSize</l><block var="target"/></custom-block></block><block s="doSetVar"><l>closeButton</l><custom-block s="create a %txt ( of %s ) %br with name %txt"><l>newSprite</l><l>thisSprite</l><block s="reportJoinWords"><list><l>closeButton</l><block s="reportVariadicSum"><list><block s="reportListAttribute"><l><option>length</option></l><custom-block s="list of sprites with names %br starting with %txt"><l>closeButton</l></custom-block></block><l>1</l></list></block></list></block></custom-block></block><block s="doTellTo"><block var="closeButton"/><block s="reifyScript"><script><custom-block s="create %s var %mult%txt"><l>sprite</l><list><l>myProperties</l></list></custom-block><block s="doSetVar"><l>myProperties</l><custom-block s="new dictionary"></custom-block></block><block s="doSwitchToCostume"><custom-block s="new costume size: %n %n %s"><block var="size"/><block var="size"/><l>lightGray</l></custom-block></block><block s="show"></block></script><list></list></block><list></list></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfConfiguration</l><l>SketchPad</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="closeButton"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>lineWidth</l><l>1</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="closeButton"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>lineStyle</l><l>continuous</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="closeButton"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>lineColor</l><block s="reportNewList"><list><l>0</l><l>0</l><l>0</l></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="closeButton"/></block></block><custom-block s="%txt rectangle from: %mult%s to: %mult%s on %txt %br using Snap! coordinates? %b"><l>draw</l><list><l>0</l><l>0</l></list><list><block var="size"/><block var="size"/></list><block var="closeButton"/><l><bool>false</bool></l></custom-block><custom-block s="draw line from %mult%s to %mult%s on %txt %br using Snap! coordinates? %b"><list><l>0</l><l>0</l></list><list><block var="size"/><block var="size"/></list><block var="closeButton"/><l><bool>false</bool></l></custom-block><custom-block s="draw line from %mult%s to %mult%s on %txt %br using Snap! coordinates? %b"><list><block var="size"/><l>0</l></list><list><l>0</l><block var="size"/></list><block var="closeButton"/><l><bool>false</bool></l></custom-block><block s="doTellTo"><block var="closeButton"/><block s="reifyScript"><script><custom-block s="set layer to %txt"><l></l></custom-block></script><list></list></block><list><block s="reportVariadicSum"><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><custom-block s="layer"></custom-block></autolambda><list></list></block><list></list></block><l>1</l></list></block></list></block><block s="doIfElse"><block var="left?"/><script><block s="doTellTo"><block var="closeButton"/><block s="reifyScript"><script><block s="gotoXY"><l></l><l></l></block></script><list></list></block><list><block s="reportDifference"><block s="reportAttributeOf"><l><option>x position</option></l><block var="target"/></block><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>width</option></l><block var="target"/></block><block var="size"/></block><l>2</l></block></block><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>y position</option></l><block var="target"/></block><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>height</option></l><block var="target"/></block><block var="size"/></block><l>2</l></block></list></block></list></block></script><script><block s="doTellTo"><block var="closeButton"/><block s="reifyScript"><script><block s="gotoXY"><l></l><l></l></block></script><list></list></block><list><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>x position</option></l><block var="target"/></block><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>width</option></l><block var="target"/></block><block var="size"/></block><l>2</l></block></list></block><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>y position</option></l><block var="target"/></block><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>height</option></l><block var="target"/></block><block var="size"/></block><l>2</l></block></list></block></list></block></script></block><custom-block s="attach part %s to sprite %s"><block var="closeButton"/><block var="target"/></custom-block><block s="doTellTo"><block var="closeButton"/><block s="reifyScript"><script><custom-block s="on %txt run %cmdRing"><l>mouseClickLeft</l><block s="reifyScript"><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><custom-block s="remove sprite %s"><block var="target"/></custom-block></script><list></list></block><list></list></block></script><list></list></block></custom-block></script><list></list></block><list></list></block><custom-block s="set %txt of %txt to %s"><l>myCloseButton</l><block var="target"/><block var="closeButton"/></custom-block></script><list></list></block></script><list></list></block></script></block></script></block-definition><block-definition s="%&apos;selection&apos; %&apos;toolType&apos; - tool for window %&apos;sprite&apos; size %&apos;size&apos;" type="command" category="6. ImagePad for image operations" space="true"><comment x="0" y="0" w="123.33333333333333" collapsed="false">This block is used to create/remove dynamically tools for a window.</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">create<options>create&#xD;remove</options></input><input type="%txt" readonly="true">line<options>line&#xD;a square</options></input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">30</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>lineEnd1</l><l>lineEnd2</l><l>lineTool</l><l>x</l><l>y</l><l>size/2</l><l>result</l><l>caller</l><l>squareTool</l><l>size/5</l><l>apertureTool</l><l>n</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %txt a window to Imagepads?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: sprite isn&apos;t configured as a window!</l><l>create line tool</l></custom-block></script><list></list></block><block s="doSetVar"><l>caller</l><block s="reportObject"><l><option>myself</option></l></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="toolType"/><l>line</l></list><comment w="225.40859375000005" collapsed="false">Create or remove TheLineTool with its ends.</comment></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="selection"/><l>create</l></list></block><script><custom-block s="%txt %txt - tool for window %s size %n"><l>remove</l><l>line</l><block var="target"/><l>15</l></custom-block><block s="doSetVar"><l>lineTool</l><custom-block s="create a %txt ( of %s ) %br with name %txt"><l>newSprite</l><l>thisSprite</l><l>TheLineTool</l></custom-block></block><custom-block s="set %txt of %txt to %s"><l>myLineTool</l><block var="target"/><block var="lineTool"/></custom-block><block s="doTellTo"><l>TheLineTool</l><block s="reifyScript"><script><custom-block s="create %s var %mult%txt"><l>sprite</l><list><l>myImagePosition</l><l>myWindow</l><l>myLineEnd1</l><l>myLineEnd2</l><l>isMoving</l></list></custom-block></script><list></list></block><list></list></block><custom-block s="set %txt of %txt to %s"><l>myWindow</l><l>TheLineTool</l><block var="target"/></custom-block><custom-block s="set %txt of %txt to %s"><l>isMoving</l><l>TheLineTool</l><block s="reportBoolean"><l><bool>false</bool></l></block></custom-block><block s="doTellTo"><l>TheLineTool</l><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block><block s="gotoXY"><l></l><l></l></block></script><list></list></block><list><custom-block s="new costume size: %n %n %s"><block var="size"/><block var="size"/><l>yellow</l></custom-block><block s="reportAttributeOf"><l><option>x position</option></l><block var="target"/></block><block s="reportAttributeOf"><l><option>y position</option></l><block var="target"/></block></list></block><custom-block s="install eventhandler %s for %s"><l>receiveInteraction pressed</l><l>TheLineTool</l></custom-block><custom-block s="install eventhandler %s for %s"><l>receiveInteraction mouse-departed</l><l>TheLineTool</l></custom-block><block s="doSetVar"><l>lineEnd1</l><custom-block s="create a %txt ( of %s ) %br with name %txt"><l>newSprite</l><l>thisSprite</l><l>LineEnd1</l></custom-block></block><block s="doTellTo"><l>LineEnd1</l><block s="reifyScript"><script><custom-block s="create %s var %mult%txt"><l>sprite</l><list><l>myImagePosition</l><l>isMoving</l></list></custom-block></script><list></list></block><list></list></block><custom-block s="set %txt of %txt to %s"><l>isMoving</l><l>LineEnd1</l><block s="reportBoolean"><l><bool>false</bool></l></block></custom-block><block s="doTellTo"><l>LineEnd1</l><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block><block s="gotoXY"><l></l><l></l></block></script><list></list></block><list><block s="reportNewCostume"><block s="reportApplyExtension"><l>SciS_changeToolCostume(size,tool,color)</l><list><block var="size"/><l>lineEnd1</l><custom-block s="%s as %txt"><l>orange</l><l>RGB-value</l></custom-block></list></block><block var="size"/><block var="size"/></block><block s="reportDifference"><block s="reportAttributeOf"><l><option>x position</option></l><block var="target"/></block><block s="reportQuotient"><block s="reportAttributeOf"><l><option>width</option></l><block var="target"/></block><l>4</l></block></block><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>y position</option></l><block var="target"/></block><block s="reportQuotient"><block s="reportAttributeOf"><l><option>height</option></l><block var="target"/></block><l>4</l></block></list></block></list></block><custom-block s="install eventhandler %s for %s"><l>receiveInteraction pressed</l><l>LineEnd1</l></custom-block><custom-block s="install eventhandler %s for %s"><l>receiveInteraction mouse-departed</l><l>LineEnd1</l></custom-block><custom-block s="set %txt of %txt to %s"><l>myLineEnd1</l><l>TheLineTool</l><block var="lineEnd1"/></custom-block><block s="doSetVar"><l>lineEnd2</l><custom-block s="create a %txt ( of %s ) %br with name %txt"><l>newSprite</l><l>thisSprite</l><l>LineEnd2</l></custom-block></block><block s="doTellTo"><l>LineEnd2</l><block s="reifyScript"><script><custom-block s="create %s var %mult%txt"><l>sprite</l><list><l>myImagePosition</l><l>isMoving</l></list></custom-block></script><list></list></block><list></list></block><custom-block s="set %txt of %txt to %s"><l>isMoving</l><l>LineEnd2</l><block s="reportBoolean"><l><bool>false</bool></l></block></custom-block><block s="doTellTo"><l>LineEnd2</l><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block><block s="gotoXY"><l></l><l></l></block></script><list></list></block><list><block s="reportNewCostume"><block s="reportApplyExtension"><l>SciS_changeToolCostume(size,tool,color)</l><list><block var="size"/><l>lineEnd1</l><custom-block s="%s as %txt"><l>magenta</l><l>RGB-value</l></custom-block></list></block><block var="size"/><block var="size"/></block><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>x position</option></l><block var="target"/></block><block s="reportQuotient"><block s="reportAttributeOf"><l><option>width</option></l><block var="target"/></block><l>4</l></block></list></block><block s="reportDifference"><block s="reportAttributeOf"><l><option>y position</option></l><block var="target"/></block><block s="reportQuotient"><block s="reportAttributeOf"><l><option>height</option></l><block var="target"/></block><l>4</l></block></block></list></block><custom-block s="install eventhandler %s for %s"><l>receiveInteraction pressed</l><l>LineEnd2</l></custom-block><custom-block s="install eventhandler %s for %s"><l>receiveInteraction mouse-departed</l><l>LineEnd2</l></custom-block><custom-block s="set %txt of %txt to %s"><l>myLineEnd2</l><l>TheLineTool</l><block var="lineEnd2"/></custom-block><custom-block s="update tool coordinates on %s"><block var="target"/></custom-block><custom-block s="set SketchPadProperty %txt of %txt to %s"><l>lineColor</l><block var="target"/><custom-block s="%s as %txt"><l>yellow</l><l>RGB-value</l></custom-block></custom-block><custom-block s="set SketchPadProperty %txt of %txt to %s"><l>lineWidth</l><block var="target"/><l>2</l></custom-block><custom-block s="draw line from %mult%s to %mult%s on %txt %br using Snap! coordinates? %b"><list><custom-block s="stage position %mult%s $arrowRightOutline %txt on %s %br using Snap! coordinates %b"><list><block s="reportAttributeOf"><l><option>position</option></l><l>LineEnd1</l></block></list><l>window-position</l><block var="target"/><l><bool>true</bool></l></custom-block></list><list><custom-block s="stage position %mult%s $arrowRightOutline %txt on %s %br using Snap! coordinates %b"><list><block s="reportAttributeOf"><l><option>position</option></l><l>LineEnd2</l></block></list><l>window-position</l><block var="target"/><l><bool>true</bool></l></custom-block></list><block var="target"/><l><bool>false</bool></l></custom-block></script><script><block s="doIf"><block s="reportIsA"><block s="reportObject"><l>LineEnd1</l></block><l><option>sprite</option></l></block><script><custom-block s="remove sprite %s"><l>LineEnd1</l></custom-block></script><list></list></block><block s="doIf"><block s="reportIsA"><block s="reportObject"><l>LineEnd2</l></block><l><option>sprite</option></l></block><script><custom-block s="remove sprite %s"><l>LineEnd2</l></custom-block></script><list></list></block><block s="doIf"><block s="reportIsA"><block s="reportObject"><l>TheLineTool</l></block><l><option>sprite</option></l></block><script><custom-block s="remove sprite %s"><l>TheLineTool</l></custom-block></script><list></list></block><custom-block s="update window %s"><block var="target"/></custom-block><custom-block s="set %txt of %txt to %s"><l>myLineTool</l><block var="target"/><l>not set</l></custom-block></script></block><custom-block s="update tool positions on %s"><block var="target"/></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="toolType"/><l>a square</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="selection"/><l>create</l></list></block><script><block s="doSetVar"><l>n</l><block s="reportVariadicSum"><list><block s="reportListAttribute"><l><option>length</option></l><custom-block s="list of sprites with names %br starting with %txt"><l>SquareTool</l></custom-block></block><l>1</l></list></block></block><block s="doSetVar"><l>squareTool</l><custom-block s="create a %txt ( of %s ) %br with name %txt"><l>newSprite</l><l>thisSprite</l><block s="reportJoinWords"><list><l>SquareTool</l><l>-</l><block var="n"/></list></block></custom-block></block><block s="doTellTo"><block var="squareTool"/><block s="reifyScript"><script><custom-block s="create %s var %mult%txt"><l>sprite</l><list><l>myImagePosition</l><l>myWindow</l><l>isActive</l></list></custom-block></script><list></list></block><list></list></block><block s="doAddToList"><block var="squareTool"/><block s="reportAttributeOf"><l>mySquareTools</l><block var="target"/></block></block><custom-block s="set %txt of %txt to %s"><l>myWindow</l><block var="squareTool"/><block var="target"/></custom-block><custom-block s="set %txt of %txt to %s"><l>isActive</l><block var="squareTool"/><block s="reportBoolean"><l><bool>false</bool></l></block></custom-block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="size"/><l>200</l></list></block><script><block s="doSetVar"><l>size</l><l>200</l></block></script><list></list></block><block s="doTellTo"><block var="squareTool"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block><block s="gotoXY"><l></l><l></l></block></script><list></list></block><list><block s="reportNewCostume"><block s="reportApplyExtension"><l>SciS_changeToolCostume(size,tool,color)</l><list><block var="size"/><l>squareTool</l><custom-block s="%s as %txt"><l>orange</l><l>RGB-value</l></custom-block></list></block><block var="size"/><block var="size"/></block><block s="reportAttributeOf"><l><option>x position</option></l><block var="target"/></block><block s="reportAttributeOf"><l><option>y position</option></l><block var="target"/></block></list></block><block s="doTellTo"><block var="squareTool"/><block s="reifyScript"><script><block s="gotoXY"><l></l><l></l></block></script><list></list></block><list><block s="reportRandom"><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>left</option></l><block var="target"/></block><block var="size"/></list></block><block s="reportDifference"><block s="reportAttributeOf"><l><option>right</option></l><block var="target"/></block><block var="size"/></block></block><block s="reportRandom"><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>bottom</option></l><block var="target"/></block><block var="size"/></list></block><block s="reportDifference"><block s="reportAttributeOf"><l><option>top</option></l><block var="target"/></block><block var="size"/></block></block></list></block><custom-block s="install eventhandler %s for %s"><l>receiveInteraction pressed</l><block var="squareTool"/></custom-block><custom-block s="install eventhandler %s for %s"><l>receiveInteraction mouse-departed</l><block var="squareTool"/></custom-block><custom-block s="install eventhandler %s for %s"><l>receiveKey +</l><block var="squareTool"/></custom-block><custom-block s="install eventhandler %s for %s"><l>receiveKey -</l><block var="squareTool"/></custom-block><custom-block s="install eventhandler %s for %s"><l>receiveKey up arrow</l><block var="squareTool"/></custom-block><custom-block s="install eventhandler %s for %s"><l>receiveKey down arrow</l><block var="squareTool"/></custom-block><custom-block s="install eventhandler %s for %s"><l>receiveKey left arrow</l><block var="squareTool"/></custom-block><custom-block s="install eventhandler %s for %s"><l>receiveKey right arrow</l><block var="squareTool"/></custom-block><custom-block s="update tool coordinates on %s"><block var="target"/></custom-block></script><script><block s="doSetVar"><l>squareTool</l><block s="reportListItem"><l><option>last</option></l><block s="reportAttributeOf"><l>mySquareTools</l><block var="target"/></block></block></block><block s="doIf"><block s="reportIsA"><block s="reportObject"><block var="squareTool"/></block><l><option>sprite</option></l></block><script><block s="doDeleteFromList"><l><option>last</option></l><block s="reportAttributeOf"><l>mySquareTools</l><block var="target"/></block></block><custom-block s="remove sprite %s"><block var="squareTool"/></custom-block><custom-block s="update window %s"><block var="target"/></custom-block></script><list></list></block></script></block></script><list></list><comment w="225.40859375000005" collapsed="false">Create or remove a SquareTool.</comment></block><custom-block s="select sprite %s"><block var="caller"/></custom-block></script></block></script></block-definition><block-definition s="%&apos;selection&apos; %&apos;tool&apos; of window %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">show<options>show&#xD;hide</options></input><input type="%txt" readonly="true">TheLineTool<options>TheLineTool&#xD;TheSquareTool</options></input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>lineEnd1</l><l>lineEnd2</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %txt a window to Imagepads?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: sprite is not a window!</l><l>show/hide line tool</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="tool"/><l>TheLineTool</l></list></block><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block s="reportObject"><l>TheLineTool</l></block><l><option>sprite</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: no linetool available!</l><l>show/hide line tool</l></custom-block></script><list></list></block><block s="doSetVar"><l>tool</l><block s="reportObject"><l>TheLineTool</l></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="selection"/><l>show</l></list></block><script><block s="doSetVar"><l>lineEnd1</l><block s="reportAttributeOf"><l>myLineEnd1</l><l>TheLineTool</l></block></block><block s="doSetVar"><l>lineEnd2</l><block s="reportAttributeOf"><l>myLineEnd2</l><l>TheLineTool</l></block></block><custom-block s="update window %s"><block var="target"/></custom-block><block s="doTellTo"><l>TheLineTool</l><block s="reifyScript"><script><block s="doGotoObject"><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>position</option></l><l>LineEnd1</l></block><block s="reportAttributeOf"><l><option>position</option></l><l>LineEnd2</l></block></list></block><l>2</l></block></block></script><list></list></block><list></list></block><block s="doIfElse"><custom-block s="position %mult%s is in window %s"><list><block s="reportAttributeOf"><l><option>position</option></l><l>TheLineTool</l></block></list><block var="target"/></custom-block><script><block s="doTellTo"><l>TheLineTool</l><block s="reifyScript"><script><block s="show"></block><block s="goToLayer"><l><option>front</option></l></block></script><list></list></block><list></list></block></script><script><block s="doTellTo"><l>TheLineTool</l><block s="reifyScript"><script><block s="hide"></block></script><list></list></block><list></list></block></script></block><block s="doIfElse"><custom-block s="position %mult%s is in window %s"><list><block s="reportAttributeOf"><l><option>position</option></l><l>LineEnd1</l></block></list><block var="target"/></custom-block><script><block s="doTellTo"><l>LineEnd1</l><block s="reifyScript"><script><block s="show"></block><block s="goToLayer"><l><option>front</option></l></block></script><list></list></block><list></list></block></script><script><block s="doTellTo"><l>LineEnd1</l><block s="reifyScript"><script><block s="hide"></block></script><list></list></block><list></list></block></script></block><block s="doIfElse"><custom-block s="position %mult%s is in window %s"><list><block s="reportAttributeOf"><l><option>position</option></l><l>LineEnd2</l></block></list><block var="target"/></custom-block><script><block s="doTellTo"><l>LineEnd2</l><block s="reifyScript"><script><block s="show"></block><block s="goToLayer"><l><option>front</option></l></block></script><list></list></block><list></list></block></script><script><block s="doTellTo"><l>LineEnd2</l><block s="reifyScript"><script><block s="hide"></block></script><list></list></block><list></list></block></script></block><custom-block s="set SketchPadProperty %txt of %txt to %s"><l>lineColor</l><block var="target"/><custom-block s="%s as %txt"><l>yellow</l><l>RGB-value</l></custom-block></custom-block><custom-block s="set SketchPadProperty %txt of %txt to %s"><l>lineWidth</l><block var="target"/><l>2</l></custom-block><custom-block s="update tool coordinates on %s"><block var="target"/></custom-block><custom-block s="draw line from %mult%s to %mult%s on %txt %br using Snap! coordinates? %b"><list><custom-block s="stage position %mult%s $arrowRightOutline %txt on %s %br using Snap! coordinates %b"><list><block s="reportAttributeOf"><l><option>position</option></l><l>LineEnd1</l></block></list><l>window-position</l><block var="target"/><l><bool>true</bool></l></custom-block></list><list><custom-block s="stage position %mult%s $arrowRightOutline %txt on %s %br using Snap! coordinates %b"><list><block s="reportAttributeOf"><l><option>position</option></l><l>LineEnd2</l></block></list><l>window-position</l><block var="target"/><l><bool>true</bool></l></custom-block></list><block var="target"/><l><bool>false</bool></l></custom-block></script><script><block s="doTellTo"><l>LineEnd1</l><block s="reifyScript"><script><block s="hide"></block></script><list></list></block><list></list></block><block s="doTellTo"><l>LineEnd2</l><block s="reifyScript"><script><block s="hide"></block></script><list></list></block><list></list></block><block s="doTellTo"><l>TheLineTool</l><block s="reifyScript"><script><block s="hide"></block></script><list></list></block><list></list></block><custom-block s="update window %s"><block var="target"/></custom-block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="tool"/><l>TheSquareTool</l></list></block><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block s="reportObject"><l>TheSquareTool</l></block><l><option>sprite</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: no squaretool available!</l><l>show/hide line tool</l></custom-block></script><list></list></block><block s="doSetVar"><l>tool</l><block s="reportObject"><l>TheSquareTool</l></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="selection"/><l>show</l></list></block><script><custom-block s="update tool positions on %s"><block var="target"/></custom-block></script><script><block s="doTellTo"><l>TheSquareTool</l><block s="reifyScript"><script><block s="hide"></block></script><list></list></block><list></list></block></script></block></script><list></list></block></script></block></script></block-definition><block-definition s="update tool positions on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations" space="true"><comment x="0" y="0" w="138.65395220588252" collapsed="false">Moves tools to new positions corresponding to their image coordinates.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %txt a window to Imagepads?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: sprite isn&apos;t configured as a window!</l><l>update tool positions</l></custom-block></script><list></list></block><block s="doIf"><block s="reportIsA"><block s="reportObject"><l>TheLineTool</l></block><l><option>sprite</option></l></block><script><block s="doTellTo"><l>LineEnd1</l><block s="reifyScript"><script><block s="doGotoObject"><custom-block s="%s %mult%s on %s $arrowRightOutline stage position %br using Snap! coordinates %b"><l>image-position</l><list><block s="reportAttributeOf"><l>myImagePosition</l><l>LineEnd1</l></block></list><block var="target"/><l><bool>true</bool></l></custom-block></block></script><list></list></block><list></list></block><block s="doTellTo"><l>LineEnd2</l><block s="reifyScript"><script><block s="doGotoObject"><custom-block s="%s %mult%s on %s $arrowRightOutline stage position %br using Snap! coordinates %b"><l>image-position</l><list><block s="reportAttributeOf"><l>myImagePosition</l><l>LineEnd2</l></block></list><block var="target"/><l><bool>true</bool></l></custom-block></block></script><list></list></block><list></list></block><block s="doTellTo"><l>TheLineTool</l><block s="reifyScript"><script><block s="doGotoObject"><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportAttributeOf"><l><option>position</option></l><l>LineEnd1</l></block><block s="reportAttributeOf"><l><option>position</option></l><l>LineEnd2</l></block></list></block><l>2</l></block></block></script><list></list></block><list></list></block><custom-block s="%txt %txt of window %s"><l>show</l><l>TheLineTool</l><block var="target"/></custom-block></script><list></list></block><block s="doIf"><block s="reportIsA"><block s="reportObject"><l>TheSquareTool</l></block><l><option>sprite</option></l></block><script><block s="doTellTo"><l>TheSquareTool</l><block s="reifyScript"><script><block s="doGotoObject"><custom-block s="%s %mult%s on %s $arrowRightOutline stage position %br using Snap! coordinates %b"><l>image-position</l><list><block s="reportAttributeOf"><l>myImagePosition</l><l>TheSquareTool</l></block></list><block var="target"/><l><bool>true</bool></l></custom-block></block><block s="setScale"><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportAttributeOf"><l><option>width</option></l><block s="reportAttributeOf"><l>currentImage</l><block var="target"/></block></block><custom-block s="ImagePadProperty %txt of %txt"><l>costumeWidth</l><block s="reportAttributeOf"><l>currentImage</l><block var="target"/></block></custom-block></block></list></block></block><block s="show"></block></script><list></list></block><list></list></block></script><list></list></block></script></block></script></block-definition><block-definition s="update tool coordinates on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %txt a window to Imagepads?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: sprite isn&apos;t configured as a window!</l><l>update tool coordinates</l></custom-block></script><list></list></block><block s="doIf"><block s="reportIsA"><block s="reportObject"><l>TheLineTool</l></block><l><option>sprite</option></l></block><script><custom-block s="set %txt of %txt to %s"><l>myImagePosition</l><l>TheLineTool</l><custom-block s="stage position %mult%s $arrowRightOutline %txt on %s %br using Snap! coordinates %b"><list><block s="reportAttributeOf"><l><option>position</option></l><l>TheLineTool</l></block></list><l>image-position</l><block var="target"/><l><bool>true</bool></l></custom-block></custom-block><custom-block s="set %txt of %txt to %s"><l>myImagePosition</l><l>LineEnd1</l><custom-block s="stage position %mult%s $arrowRightOutline %txt on %s %br using Snap! coordinates %b"><list><block s="reportAttributeOf"><l><option>position</option></l><l>LineEnd1</l></block></list><l>image-position</l><block var="target"/><l><bool>true</bool></l></custom-block></custom-block><custom-block s="set %txt of %txt to %s"><l>myImagePosition</l><l>LineEnd2</l><custom-block s="stage position %mult%s $arrowRightOutline %txt on %s %br using Snap! coordinates %b"><list><block s="reportAttributeOf"><l><option>position</option></l><l>LineEnd2</l></block></list><l>image-position</l><block var="target"/><l><bool>true</bool></l></custom-block></custom-block></script><list></list></block><block s="doForEach"><l>squareTool</l><block s="reportAttributeOf"><l>mySquareTools</l><block var="target"/></block><script><custom-block s="set %txt of %txt to %s"><l>myImagePosition</l><block var="squareTool"/><custom-block s="stage position %mult%s $arrowRightOutline %txt on %s %br using Snap! coordinates %b"><list><block s="reportAttributeOf"><l><option>position</option></l><block var="squareTool"/></block></list><l>image-position</l><block var="target"/><l><bool>true</bool></l></custom-block></custom-block></script></block></script></block></script></block-definition><block-definition s="move %&apos;tool&apos; %&apos;direction&apos;" type="command" category="6. ImagePad for image operations"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">LineTool<options>LineTool&#xD;SquareTool</options></input><input type="%s" readonly="true">left<options>left&#xD;right&#xD;up&#xD;down</options></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="tool"/><l>LineTool</l></list></block><script><block s="doIf"><block s="reportIsA"><block s="reportObject"><l>TheLineTool</l></block><l><option>sprite</option></l></block><script><block s="doSetVar"><l>tool</l><block s="reportObject"><l>TheLineTool</l></block></block><custom-block s="%txt %txt of window %s"><l>hide</l><l>TheLineTool</l><block s="reportAttributeOf"><l>myWindow</l><l>TheLineTool</l></block></custom-block></script><list></list></block></script><list><block s="reportVariadicEquals"><list><block var="tool"/><l>SquareTool</l></list></block><script><block s="doIf"><block s="reportIsA"><block s="reportObject"><l>TheSquareTool</l></block><l><option>sprite</option></l></block><script><block s="doSetVar"><l>tool</l><block s="reportObject"><l>TheSquareTool</l></block></block></script><list></list></block></script><block s="reportNot"><block s="reportIsA"><block var="tool"/><l><option>sprite</option></l></block></block><script><block s="doStopThis"><l><option>this block</option></l></block></script></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="direction"/><l>left</l></list></block><script><block s="doTellTo"><block var="tool"/><block s="reifyScript"><script><block s="changeXPosition"><l>-1</l></block></script><list></list></block><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="tool"/><block s="reportObject"><l>TheLineTool</l></block></list></block><script><block s="doTellTo"><l>LineEnd1</l><block s="reifyScript"><script><block s="changeXPosition"><l>-1</l></block></script><list></list></block><list></list></block><block s="doTellTo"><l>LineEnd2</l><block s="reifyScript"><script><block s="changeXPosition"><l>-1</l></block></script><list></list></block><list></list></block><custom-block s="%txt %txt of window %s"><l>show</l><l>TheLineTool</l><block s="reportAttributeOf"><l>myWindow</l><l>TheLineTool</l></block></custom-block></script><list></list></block></script><list><block s="reportVariadicEquals"><list><block var="direction"/><l>right</l></list></block><script><block s="doTellTo"><block var="tool"/><block s="reifyScript"><script><block s="changeXPosition"><l>1</l></block></script><list></list></block><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="tool"/><block s="reportObject"><l>TheLineTool</l></block></list></block><script><block s="doTellTo"><l>LineEnd1</l><block s="reifyScript"><script><block s="changeXPosition"><l>1</l></block></script><list></list></block><list></list></block><block s="doTellTo"><l>LineEnd2</l><block s="reifyScript"><script><block s="changeXPosition"><l>1</l></block></script><list></list></block><list></list></block><custom-block s="%txt %txt of window %s"><l>show</l><l>TheLineTool</l><block s="reportAttributeOf"><l>myWindow</l><l>TheLineTool</l></block></custom-block></script><list></list></block></script><block s="reportVariadicEquals"><list><block var="direction"/><l>up</l></list></block><script><block s="doTellTo"><block var="tool"/><block s="reifyScript"><script><block s="changeYPosition"><l>1</l></block></script><list></list></block><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="tool"/><block s="reportObject"><l>TheLineTool</l></block></list></block><script><block s="doTellTo"><l>LineEnd1</l><block s="reifyScript"><script><block s="changeYPosition"><l>1</l></block></script><list></list></block><list></list></block><block s="doTellTo"><l>LineEnd2</l><block s="reifyScript"><script><block s="changeYPosition"><l>1</l></block></script><list></list></block><list></list></block><custom-block s="%txt %txt of window %s"><l>show</l><l>TheLineTool</l><block s="reportAttributeOf"><l>myWindow</l><l>TheLineTool</l></block></custom-block></script><list></list></block></script><block s="reportVariadicEquals"><list><block var="direction"/><l>down</l></list></block><script><block s="doTellTo"><block var="tool"/><block s="reifyScript"><script><block s="changeYPosition"><l>-1</l></block></script><list></list></block><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="tool"/><block s="reportObject"><l>TheLineTool</l></block></list></block><script><block s="doTellTo"><l>LineEnd1</l><block s="reifyScript"><script><block s="changeYPosition"><l>-1</l></block></script><list></list></block><list></list></block><block s="doTellTo"><l>LineEnd2</l><block s="reifyScript"><script><block s="changeYPosition"><l>-1</l></block></script><list></list></block><list></list></block><custom-block s="%txt %txt of window %s"><l>show</l><l>TheLineTool</l><block s="reportAttributeOf"><l>myWindow</l><l>TheLineTool</l></block></custom-block></script><list></list></block></script></list></block></script></block></script></block-definition><block-definition s="detach all parts from %&apos;sprite&apos;" type="command" category="control"><comment x="0" y="0" w="234.86035156249997" collapsed="false">Cancels the connection between attached sprites.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block><block s="doIfElse"><block s="reportIsA"><block var="target"/><l><option>sprite</option></l></block><script><block s="doTellTo"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportApplyExtension"><l>SciS_attach part(choice,part)</l><list><l>detach</l><block var="target"/></list></block></autolambda><list></list></block><list></list></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: operation works only with sprites!</l><l>detach part</l></custom-block></script></block></script></block-definition><block-definition s="on %&apos;event&apos; run %&apos;aScript&apos;" type="command" category="control"><comment x="0" y="0" w="196" collapsed="false">Adds an event handler to a sprite. Resets the event handler with the standard sprite operation if the script is empty.</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">mouseClickLeft<options>mouseDownLeft&#xD;mouseDownRight&#xD;mouseClickLeft&#xD;mouseClickRight&#xD;mouseDoubleClick&#xD;mouseEnter&#xD;mouseLeave&#xD;mouseEnterDragging&#xD;mouseLeaveDragging&#xD;mouseEnterBounds&#xD;mouseLeaveBounds&#xD;mouseMove&#xD;mouseScroll</options></input><input type="%cmdRing"></input></inputs><script><block s="doSetVar"><l>event</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><custom-block s="trim %txt by %mult%txt"><block var="event"/><list><l> </l></list></custom-block><l> </l></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="aScript"/><block s="reifyScript"><script></script><list></list></block></list></block><script><block s="doSetVar"><l>aScript</l><l>reset</l></block></script><list></list></block><block s="doRun"><block s="reifyScript"><script><block s="doApplyExtension"><l>SciS_onEventRun(aFunction,event)</l><list><l></l><l></l></list></block></script><list></list></block><list><block var="aScript"/><block var="event"/></list></block></script></block-definition><block-definition s="trim %&apos;aString&apos; by %&apos;chars&apos;" type="reporter" category="operators"><comment x="0" y="0" w="202.10569411057682" collapsed="false">Deletes leading and trailing as parameter defined characters in a string.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">..this string...</input><input type="%mult%txt"></input></inputs><script><block s="doWarp"><script><block s="doForEach"><l>char</l><block var="chars"/><script><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="aString"/></block><l>0</l></list></block><block s="reportVariadicNotEquals"><list><block s="reportLetter"><l>1</l><block var="aString"/></block><block var="char"/></list></block></list></block><script><block s="doSetVar"><l>aString</l><custom-block s="delete %txt %txt in %txt"><l>first</l><block var="char"/><block var="aString"/></custom-block></block></script></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="aString"/></block><l>0</l></list></block><block s="reportVariadicNotEquals"><list><block s="reportLetter"><l><option>last</option></l><block var="aString"/></block><block var="char"/></list></block></list></block><script><block s="doSetVar"><l>aString</l><custom-block s="substring of %txt from %n to %n"><block var="aString"/><l>1</l><block s="reportDifference"><block s="reportTextAttribute"><l><option>length</option></l><block var="aString"/></block><l>1</l></block></custom-block></block></script></block></script></block><block s="doReport"><block var="aString"/></block></script></block></script></block-definition><block-definition s="Euclidean distance between $nl point %&apos;p1&apos; and point %&apos;p2&apos;" type="reporter" category="operators" space="true"><comment x="0" y="0" w="100.8" collapsed="false">Reports the Euclidean distance of to points.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%s"></input><input type="%mult%s"></input></inputs><script><block s="doDeclareVariables"><list><l>x1</l><l>y1</l><l>x2</l><l>y2</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>p1</l><custom-block s="variadic position %mult%s $arrowRightOutline position"><block var="p1"/></custom-block></block><block s="doSetVar"><l>p2</l><custom-block s="variadic position %mult%s $arrowRightOutline position"><block var="p2"/></custom-block></block><block s="doSetVar"><l>x1</l><block s="reportListItem"><l>1</l><block var="p1"/></block></block><block s="doSetVar"><l>y1</l><block s="reportListItem"><l>2</l><block var="p1"/></block></block><block s="doSetVar"><l>x2</l><block s="reportListItem"><l>1</l><block var="p2"/></block></block><block s="doSetVar"><l>y2</l><block s="reportListItem"><l>2</l><block var="p2"/></block></block><block s="doReport"><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="x1"/><block var="x2"/></block><block s="reportDifference"><block var="x1"/><block var="x2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="y1"/><block var="y2"/></block><block s="reportDifference"><block var="y1"/><block var="y2"/></block></list></block></list></block></block></block></script></block></script></block-definition><block-definition s="Levenshtein distance of %&apos;s1&apos; and %&apos;s2&apos;" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Metric for Strings.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">Saturday</input><input type="%txt">Sunday</input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_LevenshteinDistance(s1,s2)</l><list><block var="s1"/><block var="s2"/></list></block></block></script></block-definition><block-definition s="delete all closeButtons" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="196" collapsed="false">Deletes any &quot;remaining&quot; close buttons.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>sprites</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>sprites</l><block s="reportGet"><l><option>other sprites</option></l></block></block><block s="doAddToList"><block s="reportGet"><l><option>self</option></l></block><block var="sprites"/></block><block s="doForEach"><l>sprite</l><block var="sprites"/><script><block s="doIf"><block s="reportVariadicEquals"><list><custom-block s="substring of %txt from %n to %n"><block s="reportAskFor"><block var="sprite"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>name</option></l></block></autolambda><list></list></block><list></list></block><l>1</l><l>11</l></custom-block><l>closeButton</l></list></block><script><custom-block s="remove sprite %s"><block var="sprite"/></custom-block></script><list></list></block></script></block></script></block></script></block-definition><block-definition s="set SketchPadProperty %&apos;key&apos; of %&apos;sprite&apos; to %&apos;value&apos;" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="128.97435897435886" collapsed="false">Sets the value of an existing property or inserts it anew.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">typeOfConfiguration<options>typeOfConfiguration&#xD;costumeProperties={&#xD;width=costumeWidth&#xD;height=costumeHeight&#xD;back color=backColor&#xD;offsets for Image position=imageOffsets&#xD;front color=frontColor&#xD;}&#xD;line properties={&#xD;line width=lineWidth&#xD;line style=lineStyle&#xD;line color=lineColor&#xD;fill color=fillColor&#xD;}&#xD;text properties={&#xD;1: text height=textHeight&#xD;2. orientation=textOrientation&#xD;}&#xD;closebutton properties={&#xD;with closebutton?=withCloseButton&#xD;position=closeButtonLeft&#xD;size=closeButtonSize&#xD;}</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIfElse"><custom-block s="is variable %s in the scope of %s ?"><l>myProperties</l><block var="target"/></custom-block><script><block s="doReplaceInList"><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="key"/><l> </l></block></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="value"/></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>Missing variable "myProperties"!</l><l>set SketchPadProperty</l></custom-block></script></block></script></block></script></block-definition><block-definition s="SketchPadProperty %&apos;key&apos; of %&apos;sprite&apos;" type="reporter" category="1. SciSnap! globals"><comment x="0" y="0" w="95" collapsed="false">Reads the value of an existing property.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">typeOfConfiguration<options>typeOfConfiguration&#xD;costumeProperties={&#xD;width=costumeWidth&#xD;height=costumeHeight&#xD;back color=backColor&#xD;offsets for Image position=imageOffsets&#xD;front color=frontColor&#xD;}&#xD;line properties={&#xD;line width=lineWidth&#xD;line style=lineStyle&#xD;line color=lineColor&#xD;fill color=fillColor&#xD;}&#xD;text properties={&#xD;1: text height=textHeight&#xD;2. orientation=textOrientation&#xD;}&#xD;closebutton properties={&#xD;with closebutton?=withCloseButton&#xD;position=closeButtonLeft&#xD;size=closeButtonSize&#xD;}</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIfElse"><custom-block s="is variable %s in the scope of %s ?"><l>myProperties</l><block var="target"/></custom-block><script><block s="doReport"><block s="reportListItem"><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="key"/><l> </l></block></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: missing variable myProperties!</l><l>SketchPadProperty of ...</l></custom-block></script></block></script></block></script></block-definition><block-definition s="draw line from %&apos;position1&apos; to %&apos;position2&apos; on %&apos;sprite&apos; $nl using Snap! coordinates? %&apos;snap!Coordinates&apos;" type="command" category="1. SciSnap! globals" space="true"><comment x="0" y="0" w="147.77135416666673" collapsed="false">Draws a line on present costume using line properties. Coordinates can be used as Snap! or JS coordinates.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%s"></input><input type="%mult%s"></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">false</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>x0</l><l>y0</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %s ?"><block var="target"/><l>SketchPad</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>Sprite isn&apos;t configured as a SketchPad!</l><l>draw line ...</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>position1</l><custom-block s="variadic position %mult%s $arrowRightOutline position"><block var="position1"/></custom-block></block><block s="doSetVar"><l>position2</l><custom-block s="variadic position %mult%s $arrowRightOutline position"><block var="position2"/></custom-block></block><block s="doIf"><block var="snap!Coordinates"/><script><block s="doSetVar"><l>x0</l><block s="reportQuotient"><block s="reportAttributeOf"><l><option>width</option></l><block var="target"/></block><l>2</l></block></block><block s="doSetVar"><l>y0</l><block s="reportQuotient"><block s="reportAttributeOf"><l><option>height</option></l><block var="target"/></block><l>2</l></block></block><block s="doReplaceInList"><l>1</l><block var="position1"/><block s="reportVariadicSum"><list><block var="x0"/><block s="reportListItem"><l>1</l><block var="position1"/></block></list></block></block><block s="doReplaceInList"><l>2</l><block var="position1"/><block s="reportDifference"><block var="y0"/><block s="reportListItem"><l>2</l><block var="position1"/></block></block></block><block s="doReplaceInList"><l>1</l><block var="position2"/><block s="reportVariadicSum"><list><block var="x0"/><block s="reportListItem"><l>1</l><block var="position2"/></block></list></block></block><block s="doReplaceInList"><l>2</l><block var="position2"/><block s="reportDifference"><block var="y0"/><block s="reportListItem"><l>2</l><block var="position2"/></block></block></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_drawOnCostume(operation,costume,params,properties)</l><list><l>drawLine</l><custom-block s="copy of costume %s"><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block></custom-block><block s="reportConcatenatedLists"><list><block var="position1"/><block var="position2"/></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></list></block></block></script><list></list></block><list></list></block></script></block></script></block-definition><block-definition s="%&apos;modus&apos; rectangle from: %&apos;position1&apos; to: %&apos;position2&apos; on %&apos;sprite&apos; $nl using Snap! coordinates? %&apos;snap!Coordinates&apos;" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="130.83333333333334" collapsed="false">Draws a rectangle on present costume using line properties. Coordinates can be used as Snap! or JS coordinates.</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">draw<options>draw&#xD;fill</options></input><input type="%mult%s"></input><input type="%mult%s"></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">false</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>x0</l><l>y0</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %s ?"><block var="target"/><l>SketchPad</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>Sprite isn&apos;t configured as a SketchPad!</l><l>draw rectangle ...</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>position1</l><custom-block s="variadic position %mult%s $arrowRightOutline position"><block var="position1"/></custom-block></block><block s="doSetVar"><l>position2</l><custom-block s="variadic position %mult%s $arrowRightOutline position"><block var="position2"/></custom-block></block><block s="doIf"><block var="snap!Coordinates"/><script><block s="doSetVar"><l>x0</l><block s="reportQuotient"><block s="reportAttributeOf"><l><option>width</option></l><block var="target"/></block><l>2</l></block></block><block s="doSetVar"><l>y0</l><block s="reportQuotient"><block s="reportAttributeOf"><l><option>height</option></l><block var="target"/></block><l>2</l></block></block><block s="doReplaceInList"><l>1</l><block var="position1"/><block s="reportVariadicSum"><list><block var="x0"/><block s="reportListItem"><l>1</l><block var="position1"/></block></list></block></block><block s="doReplaceInList"><l>2</l><block var="position1"/><block s="reportDifference"><block var="y0"/><block s="reportListItem"><l>2</l><block var="position1"/></block></block></block><block s="doReplaceInList"><l>1</l><block var="position2"/><block s="reportVariadicSum"><list><block var="x0"/><block s="reportListItem"><l>1</l><block var="position2"/></block></list></block></block><block s="doReplaceInList"><l>2</l><block var="position2"/><block s="reportDifference"><block var="y0"/><block s="reportListItem"><l>2</l><block var="position2"/></block></block></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_drawOnCostume(operation,costume,params,properties)</l><list><block s="reportJoinWords"><list><block var="modus"/><l>Rect</l></list></block><custom-block s="copy of costume %s"><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block></custom-block><block s="reportConcatenatedLists"><list><block var="position1"/><block var="position2"/></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></list></block></block></script><list></list></block><list></list></block></script></block></script></block-definition><block-definition s="%&apos;modus&apos; circle center: %&apos;position1&apos; radius: %&apos;radius&apos; on %&apos;sprite&apos; $nl using Snap! coordinates? %&apos;snap!Coordinates&apos;" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="130.83333333333334" collapsed="false">Draws or fills a rectangle on present costume using line properties. Coordinates can be used as Snap! or JS coordinates.</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true" irreplaceable="true">draw<options>draw&#xD;fill</options></input><input type="%mult%s"></input><input type="%n">20</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">false</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>x0</l><l>y0</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %s ?"><block var="target"/><l>SketchPad</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>Sprite isn&apos;t configured as a SketchPad!</l><l>draw circle ...</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>position1</l><custom-block s="variadic position %mult%s $arrowRightOutline position"><block var="position1"/></custom-block></block><block s="doIf"><block var="snap!Coordinates"/><script><block s="doSetVar"><l>x0</l><block s="reportQuotient"><block s="reportAttributeOf"><l><option>width</option></l><block var="target"/></block><l>2</l></block></block><block s="doSetVar"><l>y0</l><block s="reportQuotient"><block s="reportAttributeOf"><l><option>height</option></l><block var="target"/></block><l>2</l></block></block><block s="doReplaceInList"><l>1</l><block var="position1"/><block s="reportVariadicSum"><list><block var="x0"/><block s="reportListItem"><l>1</l><block var="position1"/></block></list></block></block><block s="doReplaceInList"><l>2</l><block var="position1"/><block s="reportDifference"><block var="y0"/><block s="reportListItem"><l>2</l><block var="position1"/></block></block></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_drawOnCostume(operation,costume,params,properties)</l><list><block s="reportJoinWords"><list><block var="modus"/><l>Circle</l></list></block><custom-block s="copy of costume %s"><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block></custom-block><block s="reportConcatenatedLists"><list><block var="position1"/><block s="reportNewList"><list><block var="radius"/></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></list></block></block></script><list></list></block><list></list></block></script></block></script></block-definition><block-definition s="draw text %&apos;text&apos; at: %&apos;position1&apos; height: %&apos;height&apos; horizontal? %&apos;horizontal?&apos; $nl on %&apos;sprite&apos; using Snap! coordinates? %&apos;snap!Coordinates&apos;" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="147.77135416666673" collapsed="false">Draws a text on present costume using line properties. The text is drawn horizontal or vertical. Coordinates can be used as Snap! or JS coordinates.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">my text</input><input type="%mult%s"></input><input type="%n">12</input><input type="%b"></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">false</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>x0</l><l>y0</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %s ?"><block var="target"/><l>SketchPad</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>Sprite isn&apos;t configured as a SketchPad!</l><l>draw text ...</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>position1</l><custom-block s="variadic position %mult%s $arrowRightOutline position"><block var="position1"/></custom-block></block><block s="doIf"><block var="snap!Coordinates"/><script><block s="doSetVar"><l>x0</l><block s="reportQuotient"><block s="reportAttributeOf"><l><option>width</option></l><block var="target"/></block><l>2</l></block></block><block s="doSetVar"><l>y0</l><block s="reportQuotient"><block s="reportAttributeOf"><l><option>height</option></l><block var="target"/></block><l>2</l></block></block><block s="doReplaceInList"><l>1</l><block var="position1"/><block s="reportVariadicSum"><list><block var="x0"/><block s="reportListItem"><l>1</l><block var="position1"/></block></list></block></block><block s="doReplaceInList"><l>2</l><block var="position1"/><block s="reportDifference"><block var="y0"/><block s="reportListItem"><l>2</l><block var="position1"/></block></block></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_drawOnCostume(operation,costume,params,properties)</l><list><l>drawText</l><custom-block s="copy of costume %s"><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block></custom-block><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="position1"/></block><block s="reportListItem"><l>2</l><block var="position1"/></block><block var="text"/><block var="height"/><block var="horizontal?"/></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></list></block></block></script><list></list></block><list></list></block></script></block></script></block-definition><block-definition s="width of text %&apos;text&apos; in height %&apos;height&apos; on %&apos;sprite&apos;" type="reporter" category="1. SciSnap! globals"><comment x="0" y="0" w="90" collapsed="false">Reports the width of the text, if drawn on a Sprite.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">my text</input><input type="%n">18</input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIfElse"><custom-block s="is %s a %s ?"><block var="target"/><l>SketchPad</l></custom-block><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_drawOnCostume(operation,costume,params,properties)</l><list><l>widthOfText</l><custom-block s="copy of costume %s"><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block></custom-block><block s="reportNewList"><list><block var="text"/><block var="height"/></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></list></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: sprite isn&apos;t configured as a SketchPad!</l><l>width of text ...</l></custom-block></script></block></script></block></script></block-definition><block-definition s="Example: rectangles, inspired by Frank Stella" type="command" category="1. SciSnap! globals" space="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>n</l></list></block><block s="doWarp"><script><custom-block s="start SciSnap! stage: %n X %n"><l>600</l><l>600</l></custom-block><block s="hide"></block><block s="doWait"><l>4</l></block><custom-block s="configure %txt as a SketchPad width: %n height: %n %br color: %s with close-button %b left? %b size: %n"><l>theStage</l><l>600</l><l>600</l><l>lightGray</l><l><bool>false</bool></l><l><bool>false</bool></l><l>15</l></custom-block><block s="doForever"><script><custom-block s="set SketchPadProperty %txt of %txt to %s"><l>fillColor</l><l>theStage</l><custom-block s="%s as %txt"><l>black</l><l>RGB-value</l></custom-block></custom-block><custom-block s="%txt rectangle from: %mult%s to: %mult%s on %txt %br using Snap! coordinates? %b"><l>fill</l><list><l>50</l><l>50</l></list><list><l>550</l><l>550</l></list><l>theStage</l><l><bool>false</bool></l></custom-block><custom-block s="set SketchPadProperty %txt of %txt to %s"><l>lineColor</l><l>theStage</l><custom-block s="%s as %txt"><l>white</l><l>RGB-value</l></custom-block></custom-block><block s="doSetVar"><l>n</l><l>0</l></block><block s="doFor"><l>i</l><l>1</l><block s="reportRandom"><l>1</l><l>4</l></block><script><custom-block s="%txt rectangle from: %mult%s to: %mult%s on %txt %br using Snap! coordinates? %b"><l>draw</l><list><block s="reportVariadicSum"><list><l>50</l><block s="reportVariadicProduct"><list><block var="n"/><l>20</l></list></block></list></block><block s="reportVariadicSum"><list><l>50</l><block s="reportVariadicProduct"><list><block var="n"/><l>20</l></list></block></list></block></list><list><block s="reportDifference"><l>550</l><block s="reportVariadicProduct"><list><block var="n"/><l>20</l></list></block></block><block s="reportDifference"><l>550</l><block s="reportVariadicProduct"><list><block var="n"/><l>20</l></list></block></block></list><l>theStage</l><l><bool>false</bool></l></custom-block><block s="doChangeVar"><l>n</l><l>1</l></block></script></block><block s="doFor"><l>i</l><block var="n"/><block s="reportRandom"><l>5</l><l>15</l></block><script><custom-block s="set SketchPadProperty %txt of %txt to %s"><l>fillColor</l><l>theStage</l><block s="reportNewList"><list><block s="reportDifference"><l>255</l><block s="reportVariadicProduct"><list><block var="i"/><block s="reportRandom"><l>15</l><l>25</l></block></list></block></block><block s="reportVariadicProduct"><list><block var="i"/><block s="reportQuotient"><block s="reportRandom"><l>150</l><l>255</l></block><block s="reportDifference"><l>15</l><block var="n"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="i"/><block s="reportQuotient"><l>155</l><block s="reportDifference"><l>15</l><block var="n"/></block></block></list></block><block s="reportRandom"><l>5</l><l>50</l></block></list></block></list></block></custom-block><custom-block s="%txt rectangle from: %mult%s to: %mult%s on %txt %br using Snap! coordinates? %b"><l>fill</l><list><block s="reportVariadicSum"><list><l>50</l><block s="reportVariadicProduct"><list><block var="i"/><l>20</l></list></block></list></block><block s="reportVariadicSum"><list><l>50</l><block s="reportVariadicProduct"><list><block var="i"/><l>20</l></list></block></list></block></list><list><block s="reportDifference"><l>550</l><block s="reportVariadicProduct"><list><block var="i"/><l>20</l></list></block></block><block s="reportDifference"><l>550</l><block s="reportVariadicProduct"><list><block var="i"/><l>20</l></list></block></block></list><l>theStage</l><l><bool>false</bool></l></custom-block></script></block><block s="gotoXY"><l>025</l><l>-240</l></block><block s="doWait"><l>2</l></block></script></block></script></block></script></block-definition><block-definition s="Example: circles" type="command" category="1. SciSnap! globals"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="configure %txt as a SketchPad width: %n height: %n %br color: %s with close-button %b left? %b size: %n"><l>thisSprite</l><l>400</l><l>300</l><l>lightGray</l><l><bool>false</bool></l><l><bool>false</bool></l><l>15</l></custom-block><block s="doRepeat"><l>300</l><script><custom-block s="%txt circle center: %mult%s radius: %n on %txt %br using Snap! coordinates? %b"><l>draw</l><list><block s="reportRandom"><l>1</l><l>400</l></block><block s="reportRandom"><l>1</l><l>300</l></block></list><block s="reportRandom"><l>10</l><l>100</l></block><l>thisSprite</l><l><bool>false</bool></l></custom-block></script></block></script></block-definition><block-definition s="Example: why?" type="command" category="1. SciSnap! globals"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>vanishingPoint</l><l>x</l><l>y</l><l>height</l></list></block><block s="doSetVar"><l>vanishingPoint</l><block s="reportNewList"><list><block s="reportRandom"><l>150</l><l>650</l></block><block s="reportRandom"><l>20</l><l>350</l></block></list></block></block><custom-block s="configure %txt as a SketchPad width: %n height: %n %br color: %s with close-button %b left? %b size: %n"><l>theStage</l><l>400</l><l>300</l><l>lightGray</l><l><bool>false</bool></l><l><bool>false</bool></l><l>15</l></custom-block><block s="doWarp"><script><block s="doRepeat"><l>300</l><script><block s="doSetVar"><l>x</l><block s="reportRandom"><l>1</l><l>780</l></block></block><block s="doSetVar"><l>y</l><block s="reportRandom"><l>1</l><l>590</l></block></block><block s="doSetVar"><l>height</l><block s="reportQuotient"><custom-block s="Euclidean distance between %br point %mult%s and point %mult%s"><block var="vanishingPoint"/><list><block var="x"/><block var="y"/></list></custom-block><l>15</l></block></block><custom-block s="set SketchPadProperty %txt of %txt to %s"><l>lineColor</l><l>theStage</l><custom-block s="%s as %txt"><block s="reportRandom"><l>1</l><l>11</l></block><l>RGB-value</l></custom-block></custom-block><custom-block s="draw text %txt at: %mult%s height: %n horizontal? %b %br on %txt using Snap! coordinates? %b"><l>why?</l><list><block var="x"/><block var="y"/></list><block var="height"/><l><bool>true</bool></l><l>theStage</l><l><bool>false</bool></l></custom-block></script></block></script></block></script></block-definition><block-definition s="read %&apos;type&apos; data from URL %&apos;url&apos;" type="reporter" category="1. SciSnap! globals" space="true"><comment x="0" y="0" w="197.33333333333326" collapsed="false">Returns the content of a TEXT, CSV, RGB, JSON or FITS file from a URL. RGB-data should have the dimensions in the last row, otherwise use CSV.</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">TEXT<options>TEXT&#xD;CSV&#xD;RGB&#xD;JSON&#xD;FITS</options></input><input type="%txt">this url</input></inputs><script><block s="doDeclareVariables"><list><l>filedata</l><l>filetype</l><l>result</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>filetype</l><block var="url"/></block><block s="doUntil"><block s="reportVariadicLessThan"><list><custom-block s="index of %txt in %txt"><l>.</l><block var="filetype"/></custom-block><l>1</l></list></block><script><block s="doSetVar"><l>filetype</l><custom-block s="delete %txt %txt in %txt"><l>first</l><custom-block s="substring of %txt from %n to %n"><block var="filetype"/><l>1</l><custom-block s="index of %txt in %txt"><l>.</l><block var="filetype"/></custom-block></custom-block><block var="filetype"/></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="type"/><l>TEXT</l></list></block><script><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>upper case</option></l><block var="filetype"/></block><l>TXT</l></list></block><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>upper case</option></l><block var="filetype"/></block><l>TEXT</l></list></block></list></block><script><block s="doReport"><block s="reportURL"><block var="url"/></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: filetype doesn&apos;t match!</l><l>read data from URL</l></custom-block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="type"/><l>CSV</l></list></block><block s="reportVariadicEquals"><list><block var="type"/><l>RGB</l></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>upper case</option></l><block var="filetype"/></block><l>CSV</l></list></block><script><block s="doReport"><block s="reportTextSplit"><block s="reportURL"><block var="url"/></block><l><option>csv</option></l></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: filetype doesn&apos;t match!</l><l>read data from URL</l></custom-block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="type"/><l>JSON</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>upper case</option></l><block var="filetype"/></block><l>JSON</l></list></block><script><block s="doReport"><block s="reportTextSplit"><block s="reportURL"><block var="url"/></block><l><option>json</option></l></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: filetype doesn&apos;t match!</l><l>read data from URL</l></custom-block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="type"/><l>FITS</l></list></block><script><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>upper case</option></l><block var="filetype"/></block><l>FITS</l></list></block><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>upper case</option></l><block var="filetype"/></block><l>FTS</l></list></block></list></block><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_readFITSdataFromArrayBuffer(arraybuffer)</l><list><block s="reportApplyExtension"><l>SciS_fetchBinary(url)</l><list><block var="url"/></list></block></list></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: filetype doesn&apos;t match!</l><l>read data from URL</l></custom-block></script></block></script><list></list></block></script></block></script></block-definition><block-definition s="read %&apos;type&apos; -file with filepicker" type="reporter" category="1. SciSnap! globals"><comment x="0" y="0" w="197.33333333333326" collapsed="false">Returns the content of a TEXT, CSV, RGB, JSON or FITS file, selected with filepicker. RGB-data should have the dimensions in the last row, otherwise use CSV.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">TEXT<options>TEXT&#xD;CSV&#xD;RGB&#xD;JSON&#xD;FITS</options></input></inputs><script><block s="doDeclareVariables"><list><l>filedata</l><l>filetype</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>filedata</l><custom-block s="select %s with filepicker"><l>file</l></custom-block></block><block s="doIfElse"><block s="reportNot"><block s="reportIsA"><block var="filedata"/><l><option>list</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: oops - something went wrong!</l><l>read file with filepicker</l></custom-block></script><script><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="filedata"/></block><l><option>list</option></l></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: choose only one file, please!</l><l>read file with filepicker</l></custom-block></script><script><block s="doSetVar"><l>filetype</l><block s="reportListItem"><l>1</l><block var="filedata"/></block></block><block s="doUntil"><block s="reportVariadicLessThan"><list><custom-block s="index of %txt in %txt"><l>.</l><block var="filetype"/></custom-block><l>1</l></list></block><script><block s="doSetVar"><l>filetype</l><custom-block s="delete %txt %txt in %txt"><l>first</l><custom-block s="substring of %txt from %n to %n"><block var="filetype"/><l>1</l><custom-block s="index of %txt in %txt"><l>.</l><block var="filetype"/></custom-block></custom-block><block var="filetype"/></custom-block></block></script></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block var="type"/><l>TEXT</l></list></block><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>upper case</option></l><block var="filetype"/></block><l>TXT</l></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="type"/><l>CSV</l></list></block><block s="reportVariadicEquals"><list><block var="type"/><l>RGB</l></list></block></list></block><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>upper case</option></l><block var="filetype"/></block><l>CSV</l></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block var="type"/><l>JSON</l></list></block><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>upper case</option></l><block var="filetype"/></block><l>JSON</l></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block var="type"/><l>FITS</l></list></block><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>upper case</option></l><block var="filetype"/></block><l>FITS</l></list></block><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>upper case</option></l><block var="filetype"/></block><l>FTS</l></list></block></list></block></list></block></list></block><script><block s="doReport"><custom-block s="read file as BLOB %s"><block s="reportListItem"><l>2</l><block var="filedata"/></block></custom-block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: filetype doesn&apos;t match!</l><l>read file with filepicker</l></custom-block></script></block></script></block></script></block></script></block></script></block-definition><block-definition s="select %&apos;choice&apos; with filepicker" type="reporter" category="1. SciSnap! globals"><comment x="0" y="0" w="328.66666666666663" collapsed="false">Returns a list with one or more elements consisting of [filename/BLOB].</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">file<options>file&#xD;filelist</options></input></inputs><script><block s="doDeclareVariables"><list><l>ready</l></list></block><block s="doSetVar"><l>ready</l><block s="reportApplyExtension"><l>SciS_selectFileWithFilepicker(choice)</l><list><block var="choice"/></list></block></block><block s="doWaitUntil"><block s="reportListItem"><l>1</l><block s="evaluate"><block var="ready"/><list></list></block></block></block><block s="doReport"><block s="reportListItem"><l>2</l><block s="evaluate"><block var="ready"/><list></list></block></block></block></script></block-definition><block-definition s="read file as BLOB %&apos;source&apos;" type="reporter" category="1. SciSnap! globals"><comment x="0" y="0" w="205.33333333333334" collapsed="false">Returns the content of a TEXT, CSV, JSON or FITS file. The &quot;source&quot; could either be a BLOB or a list of filename and BLOB. RGB-data should have the dimensions in the last row, otherwise use CSV.</comment><header></header><code></code><translations></translations><inputs><input type="%s">this file</input></inputs><script><block s="doDeclareVariables"><list><l>ready</l></list></block><block s="doIf"><block s="reportIsA"><block var="source"/><l><option>list</option></l></block><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="source"/></block><l><option>text</option></l></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>2</l></list></block></list></block><script><block s="doSetVar"><l>source</l><block s="reportListItem"><l>2</l><block var="source"/></block></block></script><list></list></block></script><list></list></block><block s="doSetVar"><l>ready</l><block s="reportApplyExtension"><l>SciS_readFileAsBLOB(source)</l><list><block var="source"/></list></block></block><block s="doWaitUntil"><block s="reportListItem"><l>1</l><block s="evaluate"><block var="ready"/><list></list></block></block></block><block s="doReport"><block s="reportListItem"><l>2</l><block s="evaluate"><block var="ready"/><list></list></block></block></block></script></block-definition><block-definition s="write %&apos;data&apos; to %&apos;type&apos; -file %&apos;filename&apos;" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="124.1791359325606" collapsed="false">Saves the data to a file of the specified type.</comment><header></header><code></code><translations></translations><inputs><input type="%s">SciSnap!Data<options>SciSnap!Data&#xD;costumeData&#xD;other RGB data</options></input><input type="%s" readonly="true">TEXT<options>TEXT&#xD;CSV&#xD;RGB&#xD;JSON</options></input><input type="%txt">this file</input></inputs><script><block s="doDeclareVariables"><list><l>source</l></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>costumeData</l></list></block><script><block s="doIfElse"><block s="reportIsA"><block s="reportGet"><l><option>costume</option></l></block><l><option>costume</option></l></block><script><block s="doSetVar"><l>source</l><block s="reportGetImageAttribute"><l><option>pixels</option></l><l><option>current</option></l></block></block><block s="doAddToList"><block s="reportNewList"><list><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block><block s="reportGetImageAttribute"><l><option>height</option></l><l><option>current</option></l></block><l>dimensions</l><l></l></list></block><block var="source"/></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>no costume data available!</l><l>write to ...file</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="type"/><l>TEXT</l></list></block><script><block s="doIfElse"><block s="reportIsA"><block var="source"/><l><option>text</option></l></block><script><block s="doApplyExtension"><l>SciS_write(data,type,filename)</l><list><block var="source"/><l>TEXT</l><block var="filename"/></list></block></script><script><block s="doIfElse"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block><script><block s="doApplyExtension"><l>SciS_write(data,type,filename)</l><list><block var="source"/><l>DATAASTEXT</l><block var="filename"/></list></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>Wrong data type!</l><l>write to ...file</l></custom-block></script></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="type"/><l>CSV</l></list></block><block s="reportVariadicEquals"><list><block var="type"/><l>RGB</l></list></block></list></block><script><block s="doSayFor"><block var="source"/><l>2</l></block><block s="doIfElse"><block s="reportIsA"><block var="source"/><l><option>list</option></l></block><script><block s="doApplyExtension"><l>SciS_write(data,type,filename)</l><list><block var="source"/><l>CSV</l><block var="filename"/></list></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>Wrong data type!</l><l>write to ...file</l></custom-block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="type"/><l>JSON</l></list></block><script><block s="doIfElse"><block s="reportIsA"><block var="source"/><l><option>list</option></l></block><script><block s="doApplyExtension"><l>SciS_write(data,type,filename)</l><list><block var="source"/><l>JSON</l><block var="filename"/></list></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>Wrong data type!</l><l>write to ...file</l></custom-block></script></block></script><list></list></block></script></block-definition><block-definition s="import %&apos;choice&apos; from %&apos;source&apos; to SciSnap!Data" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="177.26915922619068" collapsed="false">Imports text, table-CSV-data, costume-data, JSON-data, or FITS-data from current costume, a file or an URL to SciSnap!Data.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">CSV-data<options>TEXT-data&#xD;CSV-data&#xD;RGB-data&#xD;JSON-data&#xD;FITS-data&#xD;TEXT-BLOB&#xD;CSV-BLOB&#xD;JSON-BLOB&#xD;FITS-BLOB</options></input><input type="%s">filepicker<options>current-costume=costume&#xD;filepicker&#xD;URL</options></input></inputs><script><block s="doDeclareVariables"><list><l>data</l><l>properties</l><l>isBLOB?</l><l>posSeparator</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doSetVar"><l>posSeparator</l><custom-block s="index of %txt in %txt"><l>-</l><block var="choice"/></custom-block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="posSeparator"/><l>1</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: wrong choice-parameter!</l><l>import ... to SciSnap!Data</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>isBLOB?</l><block s="reportVariadicEquals"><list><custom-block s="substring of %txt from %n to %n"><block var="choice"/><block s="reportVariadicSum"><list><block var="posSeparator"/><l>1</l></list></block><block s="reportTextAttribute"><l><option>length</option></l><block var="choice"/></block></custom-block><l>BLOB</l></list></block></block><block s="doSetVar"><l>choice</l><custom-block s="substring of %txt from %n to %n"><block var="choice"/><l>1</l><block s="reportDifference"><block var="posSeparator"/><l>1</l></block></custom-block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="source"/><l>filepicker</l></list></block><script><block s="doSetVar"><l>source</l><custom-block s="read %s -file with filepicker"><block var="choice"/></custom-block></block></script><list><block var="isBLOB?"/><script><block s="doSetVar"><l>source</l><custom-block s="read file as BLOB %s"><block var="source"/></custom-block></block></script><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="source"/><l><option>text</option></l></block><block s="reportVariadicNotEquals"><list><block var="source"/><l>costume</l></list></block></list></block><script><block s="doSetVar"><l>source</l><custom-block s="read %txt data from URL %txt"><block var="choice"/><block var="source"/></custom-block></block></script></list></block><block s="doWarp"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="source"/><l>ERROR: oops - something went wrong!</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: opps...something went wrong!</l><l>import ... to SciSnap!Data</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block var="source"/><l>costume</l></list></block><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="choice"/><l>RGB</l></list></block><block s="reportVariadicEquals"><list><block var="choice"/><l>CSV</l></list></block></list></block></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: invalid combination of parameters!</l><l>import ... to SciSnap!Data</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="source"/><l>costume</l></list></block><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><custom-block s="costume of %s"><l>thisSprite</l></custom-block><l><option>costume</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: no costume data available!</l><l>import ... to SciSnap!Data</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><custom-block s="create SciSnap! global variables and properties"></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>typeOfData</l><block var="choice"/></custom-block><block s="doSetVar"><l>SciSnap!Data</l><block s="reportGetImageAttribute"><l><option>pixels</option></l><l><option>current</option></l></block></block><block s="doSetVar"><l>data</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><block var="value"/><l><option>number</option></l></block></autolambda><list><l>value</l></list></block><block s="reportListAttribute"><l><option>sorted</option></l><block s="reportListAttribute"><l><option>flatten</option></l><block var="SciSnap!Data"/></block></block></block></block><custom-block s="set SciSnap! global property %txt to %s"><l>width</l><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>height</l><block s="reportGetImageAttribute"><l><option>height</option></l><l><option>current</option></l></block></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>minValue</l><block s="reportListItem"><l>1</l><block var="data"/></block></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>maxValue</l><block s="reportListItem"><l><option>last</option></l><block var="data"/></block></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>columns</l><l>4</l></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>rows</l><block s="reportListAttribute"><l><option>length</option></l><block var="SciSnap!Data"/></block></custom-block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>RGB</l></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block><block s="reportGetImageAttribute"><l><option>height</option></l><l><option>current</option></l></block><l>dimensions</l><l></l></list></block><block var="SciSnap!Data"/></block></script><list></list></block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>TEXT</l></list></block><script><block s="doIfElse"><block s="reportNot"><block s="reportIsA"><block var="source"/><l><option>text</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: opps...something went wrong!</l><l>import ... to SciSnap!Data</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><custom-block s="create SciSnap! global variables and properties"></custom-block><block s="doSetVar"><l>SciSnap!Data</l><block var="source"/></block><custom-block s="set SciSnap! global property %txt to %s"><l>typeOfData</l><l>TEXT</l></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>width</l><block s="reportTextAttribute"><l><option>length</option></l><block var="SciSnap!Data"/></block></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>height</l><l>1</l></custom-block></script></block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>JSON</l></list></block><script><block s="doIfElse"><block s="reportNot"><block s="reportIsA"><block var="source"/><l><option>list</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: opps...something went wrong!</l><l>import ... to SciSnap!Data</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><custom-block s="create SciSnap! global variables and properties"></custom-block><block s="doSetVar"><l>SciSnap!Data</l><block var="source"/></block><custom-block s="set SciSnap! global property %txt to %s"><l>typeOfData</l><l>JSON</l></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>width</l><block s="reportListItem"><l>2</l><block s="reportListAttribute"><l><option>dimensions</option></l><block var="SciSnap!Data"/></block></block></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>height</l><block s="reportListItem"><l>1</l><block s="reportListAttribute"><l><option>dimensions</option></l><block var="SciSnap!Data"/></block></block></custom-block><block s="doSetVar"><l>data</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><block var="value"/><l><option>number</option></l></block></autolambda><list><l>value</l></list></block><block s="reportListAttribute"><l><option>sorted</option></l><block s="reportListAttribute"><l><option>flatten</option></l><block var="SciSnap!Data"/></block></block></block></block><custom-block s="set SciSnap! global property %txt to %s"><l>minValue</l><block s="reportListItem"><l>1</l><block var="data"/></block></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>maxValue</l><block s="reportListItem"><l><option>last</option></l><block var="data"/></block></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>columns</l><custom-block s="SciSnap! global property %s"><l>width</l></custom-block></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>rows</l><custom-block s="SciSnap! global property %s"><l>height</l></custom-block></custom-block></script></block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="choice"/><l>RGB</l></list></block><block s="reportVariadicEquals"><list><block var="choice"/><l>CSV</l></list></block></list></block><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="source"/><l><option>list</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: opps...something went wrong!</l><l>import ... to SciSnap!Data</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>0</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: no data found!</l><l>import ... to SciSnap!Data</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="choice"/><l>RGB</l></list></block><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="source"/></block><l><option>list</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: invalid dimension of data!</l><l>import ... to SciSnap!Data</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicNotEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block><l>4</l></list></block><block s="reportVariadicNotEquals"><list><block s="reportListItem"><l>3</l><block s="reportListItem"><l><option>last</option></l><block var="source"/></block></block><l>dimensions</l></list></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: no RGB data found!</l><l>import ... to SciSnap!Data</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><custom-block s="create SciSnap! global variables and properties"></custom-block><block s="doDeleteFromList"><l><option>last</option></l><block var="source"/></block></script><script><custom-block s="create SciSnap! global variables and properties"></custom-block></script></block><custom-block s="set SciSnap! global property %txt to %s"><l>typeOfData</l><block var="choice"/></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>height</l><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></custom-block><block s="doSetVar"><l>SciSnap!Data</l><custom-block s="copy of %s"><block var="source"/></custom-block></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>10000</l></list></block><script><block s="doSetVar"><l>data</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportIsA"><block var="value"/><l><option>number</option></l></block></autolambda><list><l>value</l></list></block><block s="reportListAttribute"><l><option>sorted</option></l><block s="reportListAttribute"><l><option>flatten</option></l><block var="source"/></block></block></block></block><custom-block s="set SciSnap! global property %txt to %s"><l>minValue</l><block s="reportListItem"><l>1</l><block var="data"/></block></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>maxValue</l><block s="reportListItem"><l><option>last</option></l><block var="data"/></block></custom-block></script><script><custom-block s="set SciSnap! global property %txt to %s"><l>minValue</l><l>not set</l></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>maxValue</l><l>not set</l></custom-block></script></block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="SciSnap!Data"/></block><l><option>list</option></l></block><script><custom-block s="set SciSnap! global property %txt to %s"><l>width</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="SciSnap!Data"/></block></block></custom-block></script><script><custom-block s="set SciSnap! global property %txt to %s"><l>width</l><l>1</l></custom-block></script></block><custom-block s="set SciSnap! global property %txt to %s"><l>columns</l><custom-block s="SciSnap! global property %s"><l>width</l></custom-block></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>rows</l><custom-block s="SciSnap! global property %s"><l>height</l></custom-block></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>FITS</l></list></block><script><block s="doWarp"><script><block s="doIfElse"><block s="reportIsA"><block var="source"/><l><option>list</option></l></block><script><custom-block s="create SciSnap! global variables and properties"></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>typeOfData</l><l>FITS</l></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>header</l><block s="reportListItem"><l>1</l><block var="source"/></block></custom-block><block s="doSetVar"><l>properties</l><block s="reportListItem"><l>2</l><block var="source"/></block></block><custom-block s="set SciSnap! global property %txt to %s"><l>minValue</l><block s="reportListItem"><l>3</l><block var="source"/></block></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>maxValue</l><block s="reportListItem"><l>4</l><block var="source"/></block></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>sum</l><block s="reportListItem"><l>5</l><block var="source"/></block></custom-block><block s="doSetVar"><l>SciSnap!Data</l><block s="reportListItem"><l>6</l><block var="source"/></block></block><custom-block s="set SciSnap! global property %txt to %s"><l>currentFilename</l><block s="reportListItem"><l>7</l><block var="source"/></block></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>width</l><block s="reportListItem"><l>NAXIS1</l><block s="reportListItem"><l>2</l><block var="source"/></block></block></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>height</l><block s="reportListItem"><l>NAXIS2</l><block s="reportListItem"><l>2</l><block var="source"/></block></block></custom-block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="SciSnap!Data"/></block><l>0</l></list></block><script><custom-block s="set SciSnap! global property %txt to %s"><l>mean</l><block s="reportQuotient"><block s="reportListItem"><l>5</l><block var="source"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="SciSnap!Data"/></block></block></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>stddev</l><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportApplyExtension"><l>SciS_variance(data,mean)</l><list><block var="SciSnap!Data"/><block s="reportQuotient"><block s="reportListItem"><l>5</l><block var="source"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="SciSnap!Data"/></block></block></list></block></block></custom-block></script><list><l><bool>true</bool></l><script><custom-block s="set SciSnap! global property %txt to %s"><l>mean</l><l>not set</l></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>stddev</l><l>not set</l></custom-block></script></list></block><custom-block s="set SciSnap! global property %txt to %s"><l>rows</l><block s="reportListAttribute"><l><option>length</option></l><block var="SciSnap!Data"/></block></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>columns</l><l>1</l></custom-block><custom-block s="set SciSnap! global property %txt to %s"><l>times</l><l>1</l></custom-block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="properties"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="properties"/></block></block><l></l></list></block></list></block><script><custom-block s="set SciSnap! global property %txt to %s"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="properties"/></block></block><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="properties"/></block></block></custom-block><block s="doDeleteFromList"><l>1</l><block var="properties"/></block></script></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: opps...something went wrong!</l><l>import ... to SciSnap!Data</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block></script></block></script><list></list></block></script></block-definition><block-definition s="report SciSnap! error %&apos;errortext&apos; $nl from %&apos;sender&apos; and stop all scripts" type="command" category="1. SciSnap! globals" space="true"><comment x="0" y="0" w="152.16666666666669" collapsed="false">Adds a new entry to SciSnap!Messages, shows the error message, and stopps all.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">something wrong!</input><input type="%txt">thisBlock</input></inputs><script><block s="doWarp"><script><block s="doSetVar"><l>sender</l><block s="reportJoinWords"><list><l>&lt;</l><block var="sender"/><custom-block s="translate %txt"><l>&gt; signals: </l></custom-block></list></block></block><block s="doUntil"><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="errortext"/></block><block s="reportVariadicSum"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="sender"/></block><l>6</l></list></block></list></block><script><block s="doSetVar"><l>errortext</l><block s="reportJoinWords"><list><l> </l><block var="errortext"/><l> </l></list></block></block></script></block><block s="doAddToList"><block s="reportJoinWords"><list><block var="sender"/><custom-block s="translate %txt"><block var="errortext"/></custom-block></list></block><block var="SciSnap!Messages"/></block><custom-block s="show global message title: %txt %br message: %txt"><block var="sender"/><custom-block s="translate %txt"><block var="errortext"/></custom-block></custom-block><block s="doStopThis"><l><option>all</option></l></block></script></block></script></block-definition><block-definition s="INFO &quot;GraphPad&quot; for dealing with graphs" type="command" category="7. GraphPad for graph operations"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="show global message title: %txt %br message: %txt"><custom-block s="translate %txt"><l>INFO about "GraphPad"</l></custom-block><custom-block s="translate %txt"><l>This category contains blocks for using any sprite or the stage as a sketch pad for displaying graphs,&#xD;i.e. systems made up of vertices ("nodes") and edges.&#xD;The graphs can be directed or undirected, provided with weights and arranged in a targeted or random manner.&#xD;Some standard procedures such as depth first or width first search etc. are implemented.&#xD;The properties of the "pad" used are initially set to default values, which can be changed using the corresponding blocks.&#xD;Some examples explain how the blocks can be used.</l></custom-block></custom-block></script></block-definition><block-definition s="configure %&apos;sprite&apos; as a GraphPad width: %&apos;width&apos; height: %&apos;height&apos; $nl color: %&apos;Color&apos; with close-button? %&apos;withCloseButton?&apos; left? %&apos;left?&apos; size: %&apos;closeButtonSize&apos;" type="command" category="7. GraphPad for graph operations" space="true"><comment x="0" y="0" w="160.16666666666674" collapsed="false">Creates a new  empty costume of the specified size and color and sets local properties. </comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">400</input><input type="%n">300</input><input type="%s" readonly="true">lightGray<options>black&#xD;gray&#xD;lightGray&#xD;white&#xD;red&#xD;orange&#xD;yellow&#xD;green&#xD;cyan&#xD;blue&#xD;magenta</options></input><input type="%b">false</input><input type="%b">true</input><input type="%n">15</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>costumeWidth</l><l>costumeHeight</l><l>oldStageCostume</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doIfElse"><block s="reportIsA"><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><l><option>costume</option></l></block><script><block s="doSetVar"><l>oldStageCostume</l><custom-block s="copy of costume %s"><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block></custom-block></block></script><script><block s="doSetVar"><l>oldStageCostume</l><l>null</l></block></script></block></script><list></list></block><custom-block s="configure %txt as a SketchPad width: %n height: %n %br color: %s with close-button %b left? %b size: %n"><block var="target"/><block var="width"/><block var="height"/><l>lightGray</l><block var="withCloseButton?"/><block var="left?"/><block var="closeButtonSize"/></custom-block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><custom-block s="create %s var %mult%txt"><l>sprite</l><list><l>adjacencyMatrix</l><l>vertexList</l></list></custom-block></script><list></list></block><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSetVar"><l>adjacencyMatrix</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>vertexList</l><block s="reportNewList"><list></list></block></block></script><list></list></block><list></list></block><block s="doReplaceInList"><l>typeOfConfiguration</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><l>GraphPad</l></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfData</l><l>none</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>xLeft</l><l>1</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>xRight</l><block var="width"/></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>yUpper</l><l>1</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>yLower</l><block var="height"/></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>verticesMinRadius</l><l>3</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>verticesGrowing</l><block s="reportBoolean"><l><bool>true</bool></l></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>verticesContentShown</l><block s="reportBoolean"><l><bool>false</bool></l></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>edgesDirected</l><block s="reportBoolean"><l><bool>false</bool></l></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>edgesWithWeights</l><block s="reportBoolean"><l><bool>true</bool></l></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>edgesShowWeights</l><block s="reportBoolean"><l><bool>false</bool></l></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>initialCostume</l><l>null</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doIf"><block s="reportIsA"><block var="oldStageCostume"/><l><option>costume</option></l></block><script><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block var="oldStageCostume"/></list></block></script><list><l><bool>true</bool></l><script><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>fillColor</l><l>theStage</l><custom-block s="%s as %txt"><block var="Color"/><l>RGB-value</l></custom-block></custom-block><custom-block s="%txt rectangle from: %mult%s to: %mult%s on %txt %br using Snap! coordinates? %b"><l>fill</l><list><block s="reportListItem"><l>1</l><custom-block s="GraphPadProperty %txt of %txt"><l>offsets</l><l>theStage</l></custom-block></block><block s="reportListItem"><l>2</l><custom-block s="GraphPadProperty %txt of %txt"><l>offsets</l><l>theStage</l></custom-block></block></list><list><block s="reportVariadicSum"><list><block s="reportListItem"><l>1</l><custom-block s="GraphPadProperty %txt of %txt"><l>offsets</l><l>theStage</l></custom-block></block><block var="width"/></list></block><block s="reportVariadicSum"><list><block s="reportListItem"><l>2</l><custom-block s="GraphPadProperty %txt of %txt"><l>offsets</l><l>theStage</l></custom-block></block><block var="height"/></list></block></list><l>theStage</l><l><bool>false</bool></l></custom-block></script></list></block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>lineColor</l><l>theStage</l><custom-block s="%s as %txt"><l>black</l><l>RGB-value</l></custom-block></custom-block><custom-block s="%txt rectangle from: %mult%s to: %mult%s on %txt %br using Snap! coordinates? %b"><l>draw</l><list><block s="reportListItem"><l>1</l><custom-block s="GraphPadProperty %txt of %txt"><l>offsets</l><l>theStage</l></custom-block></block><block s="reportListItem"><l>2</l><custom-block s="GraphPadProperty %txt of %txt"><l>offsets</l><l>theStage</l></custom-block></block></list><list><block s="reportVariadicSum"><list><block s="reportListItem"><l>1</l><custom-block s="GraphPadProperty %txt of %txt"><l>offsets</l><l>theStage</l></custom-block></block><block var="width"/></list></block><block s="reportVariadicSum"><list><block s="reportListItem"><l>2</l><custom-block s="GraphPadProperty %txt of %txt"><l>offsets</l><l>theStage</l></custom-block></block><block var="height"/></list></block></list><l>theStage</l><l><bool>false</bool></l></custom-block></script><list><l><bool>true</bool></l><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><custom-block s="new costume size: %n %n %s"><block var="width"/><block var="height"/><block var="Color"/></custom-block></list></block><custom-block s="set SketchPadProperty %txt of %txt to %s"><l>lineColor</l><block var="target"/><custom-block s="%s as %txt"><l>black</l><l>RGB-value</l></custom-block></custom-block><custom-block s="%txt rectangle from: %mult%s to: %mult%s on %txt %br using Snap! coordinates? %b"><l>draw</l><list><l>0</l><l>0</l></list><list><block var="width"/><block var="height"/></list><block var="target"/><l><bool>false</bool></l></custom-block></script></list></block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>initialCostume</l><block var="target"/><custom-block s="copy of costume %s"><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block></custom-block></custom-block></script></block></script><scripts><comment x="481.8333333333333" y="90.50000000000057" w="307.1666666666667" collapsed="false">Costume attributes and line attributes same as SketchPad.&#xD;&#xD;other attributes:&#xD;initial costume, maybe a map&#xD;vertex ranges for random coordinates&#xD;xLeft&#xD;xRight&#xD;yUpper&#xD;yLower&#xD;&#xD;vertex properties:&#xD;minimal radius of a vertex (should be changed if vertices &#xD;are not growing with number of edges) = verticesMinRadius&#xD;vertices grow with number of connected edges =  verticesGrowing&#xD;vertex content is shown (If there is no content the vertex number is shown) = verticesContentShown&#xD;&#xD;edge properties:&#xD;edge width=lineWidth&#xD;edge style=lineStyle&#xD;edge color=lineColor&#xD;fill color=fillColor&#xD;edges are directed=edgesDirected&#xD;edges have weights=edgesWithWeights&#xD;edges show weights=edgesShowWeights</comment></scripts></block-definition><block-definition s="set GraphPad costume properties width: %&apos;width&apos; height: %&apos;height&apos; $nl back color: %&apos;color&apos; on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="119.32706197102902" collapsed="false">a simple way to set some costume attributes.&#xD;1: width&#xD;2: height&#xD;3: back color </comment><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%mult%s"></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad</l><l>set GraphPad costume properties</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>costumeWidth</l><block var="target"/><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block></custom-block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>costumeHeight</l><block var="target"/><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block></custom-block></script><script><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>costumeWidth</l><block var="target"/><block var="width"/></custom-block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>costumeHeight</l><block var="target"/><block var="height"/></custom-block></script></block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>backColor</l><block var="target"/><custom-block s="variadic color %mult%s $arrowRightOutline RGB(A)-value"><block var="color"/></custom-block></custom-block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><custom-block s="new costume size: %n %n %s"><custom-block s="GraphPadProperty %txt of %txt"><l>costumeWidth</l><block var="target"/></custom-block><custom-block s="GraphPadProperty %txt of %txt"><l>costumeHeight</l><block var="target"/></custom-block><custom-block s="GraphPadProperty %txt of %txt"><l>backColor</l><block var="target"/></custom-block></custom-block></block></script><list></list></block><list></list></block><custom-block s="adjust close-button of %s"><block var="target"/></custom-block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>xLeft</l><block var="target"/><block s="reportRound"><block s="reportVariadicProduct"><list><l>0.1</l><block var="width"/></list></block></block></custom-block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>xRight</l><block var="target"/><block s="reportRound"><block s="reportVariadicProduct"><list><l>0.9</l><block var="width"/></list></block></block></custom-block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>yLower</l><block var="target"/><block s="reportRound"><block s="reportVariadicProduct"><list><l>0.9</l><block var="height"/></list></block></block></custom-block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>yUpper</l><block var="target"/><block s="reportRound"><block s="reportVariadicProduct"><list><l>0.1</l><block var="height"/></list></block></block></custom-block></script></block></script></block-definition><block-definition s="set GraphPad edge properties lineWidth: %&apos;lineWidth&apos; $nl color: %&apos;color&apos; directed? %&apos;isDirected&apos; weighted? %&apos;withWeights&apos; $nl showsWeight? %&apos;showWeight&apos; on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="130.32706197102902" collapsed="false">a simple way to set some edge attributes:&#xD;1: line width&#xD;2: line color &#xD;3: boolean: edge is directed&#xD;4: boolean: edge has a weight&#xD;5: boolean: edge shows&#xD;    weight</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%mult%s"></input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad</l><l>set GraphPad edge properties</l></custom-block></script><list></list></block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>lineWidth</l><block var="target"/><block var="lineWidth"/></custom-block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>lineColor</l><block var="target"/><custom-block s="variadic color %mult%s $arrowRightOutline RGB(A)-value"><block var="color"/></custom-block></custom-block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>edgesDirected</l><block var="target"/><block var="isDirected"/></custom-block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>edgesWithWeights</l><block var="target"/><block var="withWeights"/></custom-block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>edgesShowWeights</l><block var="target"/><block var="showWeight"/></custom-block></script></block></script></block-definition><block-definition s="new vertex at %&apos;position&apos; content: %&apos;value&apos; on graph of %&apos;sprite&apos; $nl using Snap! coordinates? %&apos;snap!Coordinates&apos;" type="command" category="7. GraphPad for graph operations" space="true"><comment x="0" y="0" w="227.99999999999997" collapsed="false">adds a vertex at position. Snap!coordinates means: zero is in the middle of the graph</comment><header></header><code></code><translations></translations><inputs><input type="%mult%s"></input><input type="%s"></input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>offsets</l><l>dummy</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad</l><l>new vertex at ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>offsets</l><custom-block s="GraphPadProperty %txt of %txt"><l>offsets</l><block var="target"/></custom-block></block><block s="doSetVar"><l>position</l><custom-block s="variadic position %mult%s $arrowRightOutline position"><block var="position"/></custom-block></block><block s="doIf"><block var="snap!Coordinates"/><script><block s="doSetVar"><l>position</l><block s="reportNewList"><list><block s="reportDifference"><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="position"/></block><block s="reportAttributeOf"><l><option>left</option></l><block var="target"/></block></block><block s="reportListItem"><l>1</l><block var="offsets"/></block></block><block s="reportDifference"><block s="reportDifference"><block s="reportAttributeOf"><l><option>top</option></l><block var="target"/></block><block s="reportListItem"><l>2</l><block var="position"/></block></block><block s="reportListItem"><l>2</l><block var="offsets"/></block></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>1</l><block var="position"/></block><custom-block s="GraphPadProperty %txt of %txt"><l>xLeft</l><block var="target"/></custom-block></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>2</l><block var="position"/></block><custom-block s="GraphPadProperty %txt of %txt"><l>yUpper</l><block var="target"/></custom-block></list></block><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="position"/></block><custom-block s="GraphPadProperty %txt of %txt"><l>xRight</l><block var="target"/></custom-block></list></block><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>2</l><block var="position"/></block><custom-block s="GraphPadProperty %txt of %txt"><l>yLower</l><block var="target"/></custom-block></list></block></list></block><script><block s="doSetVar"><l>dummy</l><block s="reportApplyExtension"><l>SciS_addVerticesToGraph(n,amatrix,vlist,properties,point)</l><list><l>1</l><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="position"/></list></block></block></script><list></list></block><block s="doReplaceInList"><l>4</l><block s="reportListItem"><l><option>last</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><block var="value"/></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script></block></script></block-definition><block-definition s="move vertex %&apos;n&apos; of graph on %&apos;sprite&apos; to %&apos;position&apos; $nl using Snap! coordinates? %&apos;snap!Coordinates&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="130.83333333333334" collapsed="false">Moves a vertex to another position measured in Snap! sprite-coordinates</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%mult%s">100</input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>offsets</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad</l><l>move vertex ... of graph</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicLessThanOrEquals"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block><script><block s="doSetVar"><l>position</l><custom-block s="variadic position %mult%s $arrowRightOutline position"><block var="position"/></custom-block></block><block s="doSetVar"><l>offsets</l><custom-block s="GraphPadProperty %txt of %txt"><l>offsets</l><block var="target"/></custom-block></block><block s="doIf"><block var="snap!Coordinates"/><script><block s="doSetVar"><l>position</l><block s="reportNewList"><list><block s="reportDifference"><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="position"/></block><block s="reportAttributeOf"><l><option>left</option></l><block var="target"/></block></block><block s="reportListItem"><l>1</l><block var="offsets"/></block></block><block s="reportDifference"><block s="reportDifference"><block s="reportAttributeOf"><l><option>top</option></l><block var="target"/></block><block s="reportListItem"><l>2</l><block var="position"/></block></block><block s="reportListItem"><l>2</l><block var="offsets"/></block></block></list></block></block></script><list></list></block><block s="doReplaceInList"><l>1</l><block s="reportListItem"><block var="n"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><block s="reportListItem"><l>1</l><block var="position"/></block></block><block s="doReplaceInList"><l>2</l><block s="reportListItem"><block var="n"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><block s="reportListItem"><l>2</l><block var="position"/></block></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: index out of range!</l><l>move vertex ... of graph</l></custom-block></script></block></script></block></script></block-definition><block-definition s="vertexnumber at %&apos;position&apos; of graph on %&apos;sprite&apos; $nl using Snap! coordinates? %&apos;snap!Coordinates&apos;" type="reporter" category="7. GraphPad for graph operations"><comment x="0" y="0" w="155" collapsed="false">Returns the vertexnumber of a vertex near (x|y), if there is one.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%n"></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>offsets</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GraphPad!</l><l>vertexnumber at ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>position</l><custom-block s="variadic position %mult%s $arrowRightOutline position"><block var="position"/></custom-block></block><block s="doSetVar"><l>offsets</l><custom-block s="GraphPadProperty %txt of %txt"><l>offsets</l><block var="target"/></custom-block></block><block s="doIf"><block var="snap!Coordinates"/><script><block s="doSetVar"><l>position</l><block s="reportNewList"><list><block s="reportDifference"><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="position"/></block><block s="reportAttributeOf"><l><option>left</option></l><block var="target"/></block></block><block s="reportListItem"><l>1</l><block var="offsets"/></block></block><block s="reportDifference"><block s="reportDifference"><block s="reportAttributeOf"><l><option>top</option></l><block var="target"/></block><block s="reportListItem"><l>2</l><block var="position"/></block></block><block s="reportListItem"><l>2</l><block var="offsets"/></block></block></list></block></block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_vertexnumberAtGraph(vlist,properties,position)</l><list><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="position"/></list></block></block></script></block></script></block-definition><block-definition s="Graph Example: small worlds (needs some seconds)" type="command" category="7. GraphPad for graph operations" space="true"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="configure %s as a GraphPad width: %n height: %n %br color: %s with close-button? %b left? %b size: %n"><l>thisSprite</l><l>400</l><l>300</l><l>lightGray</l><l><bool>false</bool></l><l><bool>true</bool></l><l></l></custom-block><block s="bubble"><l>mean distance between the nodes: ...</l></block><block s="doRepeat"><l>100</l><script><custom-block s="add %n random vertices to graph on %txt"><l>1</l><l>thisSprite</l></custom-block><custom-block s="add %n random edges to graph on %txt"><l>1</l><l>thisSprite</l></custom-block></script></block><block s="bubble"><custom-block s="round %n to %n digits"><custom-block s="%s of %s"><l>mean</l><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="%s of %s"><l>mean</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>2</l><custom-block s="list of all shortest paths in graph from vertex %n %br to all connected vertices of graph on %txt"><l></l><l>thisSprite</l></custom-block><l><bool>true</bool></l></custom-block></custom-block></autolambda><list></list></block><block s="reportNumbers"><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="vertexList"/></block></block></block></custom-block><l>2</l></custom-block></block></script></block-definition><block-definition s="Graph Example: distribution of links" type="command" category="7. GraphPad for graph operations"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>diagramSprite</l></list></block><block s="bubble"><l></l></block><custom-block s="configure %s as a GraphPad width: %n height: %n %br color: %s with close-button? %b left? %b size: %n"><l>thisSprite</l><l>400</l><l>300</l><l>lightGray</l><l><bool>false</bool></l><l><bool>true</bool></l><l></l></custom-block><custom-block s="add %n random vertices to graph on %txt"><l>100</l><l>thisSprite</l></custom-block><custom-block s="add %n random edges to graph on %txt"><l>100</l><l>thisSprite</l></custom-block><block s="doSetVar"><l>SciSnap!Data</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIfElse"><block s="reportIsA"><l></l><l><option>number</option></l></block><script><block s="doReport"><l></l></block></script><script><block s="doReport"><l>0</l></block></script></block></script><list></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="%s of %s"><l>number</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicNotEquals"><list><l></l><l>X</l></list></block></autolambda><list></list></block><l/></block></custom-block></autolambda><list></list></block><block var="adjacencyMatrix"/></block></block></block><block s="doSetVar"><l>diagramSprite</l><custom-block s="create a %txt ( of %s ) %br with name %txt"><l>duplicate</l><block s="reportGet"><l><option>self</option></l></block><l>DiagramSprite</l></custom-block></block><custom-block s="configure %txt as a PlotPad width: %n height: %n %br color: %txt with close-button? %b left? %b size: %n"><l>DiagramSprite</l><l>400</l><l>300</l><l>lightGray</l><l><bool>false</bool></l><l><bool>true</bool></l><l>15</l></custom-block><custom-block s="set PlotPad labels on %s to %br title: %txt titleheight: %n %br x-label: %txt xLabelheight: %n %br y-label: %txt yLabelheight: %n"><l>DiagramSprite</l><l>Edges per Node</l><l>18</l><l>Number of Edges</l><l>16</l><l>Number of Vertices</l><l>16</l></custom-block><custom-block s="add histogram of %s with %n groups %br to PlotPad %txt y-axis starting with 0? %b"><block var="SciSnap!Data"/><l>6</l><l>DiagramSprite</l><l><bool>true</bool></l></custom-block><custom-block s="add axes and scales to PlotPad %txt"><l>DiagramSprite</l></custom-block></script></block-definition><block-definition s="INFO &quot;NNPad&quot; for dealing with Neural Nets" type="command" category="8. NNPad for neural networks"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="show global message title: %txt %br message: %txt"><custom-block s="translate %txt"><l>INFO about "NNPad for Neural Net operations"</l></custom-block><custom-block s="translate %txt"><l>This category contains blocks for using any sprite or the stage as a sketch pad for displaying neural networks.&#xD;These consist of fully connected layers of perceptrons. The width and depth of the network can be set.&#xD;The backpropagation method is used as the learning method.&#xD;The weights in the networks are indicated by coloring of the edges: positive values appear green, negative values red.&#xD;Values close to zero are shown in gray. These colorings can be used to see how and what a network learns.&#xD;The properties of the "pad" used are initially set to default values, which can be changed using the corresponding blocks.&#xD;Some examples explain how the blocks are used.</l></custom-block></custom-block></script></block-definition><block-definition s="configure %&apos;sprite&apos; as a NeuralNetPad width: %&apos;width&apos; height: %&apos;height&apos; $nl color: %&apos;color&apos; with close-button? %&apos;withCloseButton?&apos; left? %&apos;left?&apos; size: %&apos;closeButtonSize&apos;" type="command" category="8. NNPad for neural networks" space="true"><comment x="0" y="0" w="178.33333333333334" collapsed="false">Creates a new  empty costume of the specified size and color ans sets local properties for a NeuralNet.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">400</input><input type="%n">300</input><input type="%s" readonly="true">lightGray<options>black&#xD;gray&#xD;lightGray&#xD;white&#xD;red&#xD;orange&#xD;yellow&#xD;green&#xD;cyan&#xD;blue&#xD;magenta</options></input><input type="%b">false</input><input type="%b">false</input><input type="%n">15</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>costumeWidth</l><l>costumeHeight</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><custom-block s="configure %txt as a SketchPad width: %n height: %n %br color: %s with close-button %b left? %b size: %n"><block var="target"/><block var="width"/><block var="height"/><block var="color"/><block var="withCloseButton?"/><block var="left?"/><block var="closeButtonSize"/></custom-block><block s="doReplaceInList"><l>typeOfConfiguration</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><l>NNPad</l></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfData</l><l>weights</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>numberOfLayers</l><l>0</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>layerWidth</l><l>0</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>netWidth</l><block var="width"/></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>netHeight</l><block var="height"/></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>inputs</l><block s="reportNewList"><list></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></script></block></script><scripts><comment x="462.61067708333366" y="113.30555555555561" w="192.5" collapsed="false">costume properties:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;6: left offset for NN position on stage&#xD;7: upper offset for NN position on stage&#xD;&#xD;neural net properties:&#xD;1: number of layers&#xD;2: layer width&#xD;3: width of NN&#xD;4: height of NN</comment></scripts></block-definition><block-definition s="set NNPad costume properties width: %&apos;width&apos; height: %&apos;height&apos; $nl color: %&apos;color&apos; offsets: %&apos;offsets&apos; on %&apos;sprite&apos;" type="command" category="8. NNPad for neural networks"><comment x="0" y="0" w="209.18420482817183" collapsed="false">a simple way to set some costume attributes:&#xD;1: width&#xD;2: height&#xD;3: back color &#xD;4: offsets for NN position on stage</comment><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%mult%s"></input><input type="%mult%n"></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a NNPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as NNPad</l><l>set NNPad costume properties</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><custom-block s="set NNPadProperty %txt of %txt to %s"><l>costumeWidth</l><block var="target"/><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block></custom-block><custom-block s="set NNPadProperty %txt of %txt to %s"><l>costumeHeight</l><block var="target"/><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block></custom-block><custom-block s="set NNPadProperty %txt of %txt to %s"><l>offsets</l><block var="target"/><custom-block s="variadic position %mult%s $arrowRightOutline position"><block var="offsets"/></custom-block></custom-block></script><script><custom-block s="set NNPadProperty %txt of %txt to %s"><l>costumeWidth</l><block var="target"/><block var="width"/></custom-block><custom-block s="set NNPadProperty %txt of %txt to %s"><l>costumeHeight</l><block var="target"/><block var="height"/></custom-block><custom-block s="set NNPadProperty %txt of %txt to %s"><l>offsets</l><block var="target"/><block s="reportNewList"><list><l>0</l><l>0</l></list></block></custom-block></script></block><custom-block s="set NNPadProperty %txt of %txt to %s"><l>netWidth</l><block var="target"/><block var="width"/></custom-block><custom-block s="set NNPadProperty %txt of %txt to %s"><l>netHeight</l><block var="target"/><block var="height"/></custom-block><custom-block s="set NNPadProperty %txt of %txt to %s"><l>offsets</l><block var="target"/><block s="reportNewList"><list><l>0</l><l>0</l></list></block></custom-block><custom-block s="set NNPadProperty %txt of %txt to %s"><l>backColor</l><block var="target"/><custom-block s="variadic color %mult%s $arrowRightOutline RGB(A)-value"><block var="color"/></custom-block></custom-block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><custom-block s="new costume size: %n %n %s"><custom-block s="NNPadProperty %txt of %txt"><l>costumeWidth</l><block var="target"/></custom-block><custom-block s="NNPadProperty %txt of %txt"><l>costumeHeight</l><block var="target"/></custom-block><custom-block s="NNPadProperty %txt of %txt"><l>backColor</l><block var="target"/></custom-block></custom-block></block></script><list></list></block><list></list></block><custom-block s="adjust close-button of %s"><block var="target"/></custom-block></script></block></script></block-definition><block-definition s="set NNPad net properties numberOfLayers: %&apos;layers&apos; layerWidth: %&apos;layerWidth&apos; $nl on %&apos;sprite&apos;" type="command" category="8. NNPad for neural networks"><comment x="0" y="0" w="196.82706197102902" collapsed="false">a simple way to set net attributes:&#xD;1: number of layers&#xD;2: layer width</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">3</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a NNPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as NNPad</l><l>setNNPad net properties</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><custom-block s="set NNPadProperty %txt of %txt to %s"><l>numberOfLayers</l><block var="target"/><block var="layers"/></custom-block><custom-block s="set NNPadProperty %txt of %txt to %s"><l>layerWidth</l><block var="target"/><block var="layerWidth"/></custom-block></script></block></script></block-definition><block-definition s="NN output of %&apos;n&apos; layer on %&apos;sprite&apos;" type="reporter" category="8. NNPad for neural networks"><comment x="0" y="0" w="173.33333333333334" collapsed="false">Reports the output of the nth layer of a neural network with given input.</comment><header></header><code></code><translations></translations><inputs><input type="%s">last<options>1&#xD;last</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>input</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a NNPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: sprite isn&apos;t configured as NNPad!</l><l>NN output</l></custom-block></script><list></list></block><block s="doSetVar"><l>input</l><custom-block s="NNPadProperty %txt of %txt"><l>inputs</l><block var="target"/></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="input"/></block><l>0</l></list></block><script><custom-block s="set NNPadProperty %txt of %txt to %s"><l>inputs</l><block var="target"/><block s="reportNumbers"><l>1</l><custom-block s="NNPadProperty %txt of %txt"><l>layerWidth</l><block var="target"/></custom-block></block></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="input"/><l>vector</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: wrong data format, numerical input required!</l><l>NN output</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicEquals"><list><custom-block s="NNPadProperty %txt of %txt"><l>layerWidth</l><block var="target"/></custom-block><block s="reportListAttribute"><l><option>length</option></l><block var="input"/></block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: the input should match the net width!</l><l>NN output</l></custom-block></script><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_NNoutput(weights,width,depth,n,input)</l><list><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><custom-block s="NNPadProperty %txt of %txt"><l>layerWidth</l><block var="target"/></custom-block><custom-block s="NNPadProperty %txt of %txt"><l>numberOfLayers</l><block var="target"/></custom-block><block var="n"/><block var="input"/></list></block></block></script></block></script></block></script></block-definition><block-definition s="NN show status on %&apos;sprite&apos;" type="command" category="8. NNPad for neural networks"><comment x="0" y="0" w="185.33333333333334" collapsed="false">Draws the nodes and current status of connections of an NN as new costume.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>layerOutputs</l><l>netWidth</l><l>depth</l><l>input</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a NNPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as NNPad</l><l>NN show status</l></custom-block></script><list></list></block><block s="doSetVar"><l>input</l><custom-block s="NNPadProperty %txt of %txt"><l>inputs</l><block var="target"/></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="input"/></block><l>0</l></list></block><script><custom-block s="set NNPadProperty %txt of %txt to %s"><l>inputs</l><block var="target"/><block s="reportNumbers"><l>1</l><custom-block s="NNPadProperty %txt of %txt"><l>layerWidth</l><block var="target"/></custom-block></block></custom-block><block s="doSetVar"><l>input</l><custom-block s="NNPadProperty %txt of %txt"><l>inputs</l><block var="target"/></custom-block></block></script><list></list></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicEquals"><list><custom-block s="NNPadProperty %txt of %txt"><l>layerWidth</l><block var="target"/></custom-block><block s="reportListAttribute"><l><option>length</option></l><block var="input"/></block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: input doesn&apos;t match netwidth!</l><l>NN show status</l></custom-block></script><script><block s="doSetVar"><l>depth</l><custom-block s="NNPadProperty %txt of %txt"><l>numberOfLayers</l><block var="target"/></custom-block></block><block s="doSetVar"><l>layerOutputs</l><block s="reportNewList"><list></list></block></block><block s="doAddToList"><block var="input"/><block var="layerOutputs"/></block><block s="doFor"><l>i</l><l>1</l><block var="depth"/><script><block s="doAddToList"><custom-block s="NN output of %s layer on %txt"><block var="i"/><block var="target"/></custom-block><block var="layerOutputs"/></block></script></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_NNshowStatus(properties,weights,outputs,costume,isStage)</l><list><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block var="layerOutputs"/><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block></list></block></list></block></script></block></script></block-definition><block-definition s="NN Example: on %&apos;sprite&apos;" type="command" category="8. NNPad for neural networks" space="true"><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><custom-block s="configure %s as a NeuralNetPad width: %n height: %n %br color: %s with close-button? %b left? %b size: %n"><block var="sprite"/><l>600</l><l>300</l><l>lightGray</l><l><bool>true</bool></l><l><bool>false</bool></l><l>15</l></custom-block><custom-block s="NN add new weights for %n layers of width %n on %txt"><l>2</l><l>20</l><block var="sprite"/></custom-block><block s="doRepeat"><l>300</l><script><custom-block s="teach NN with input %l and target output %l by back- %br propagation with learning factor %n on %txt"><block s="reportNumbers"><l>1</l><l>20</l></block><block s="reportNewList"><list><l>1</l><l>0</l><l>0</l><l>-1</l><l>0</l><l>0</l><l>0</l><l>1</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>1</l><l>-1</l><l>-1</l><l>-1</l><l>0</l><l>0</l><l>0</l></list></block><l>0.1</l><block var="sprite"/></custom-block><custom-block s="NN show status on %txt"><block var="sprite"/></custom-block></script></block></script></block-definition><block-definition s="INFO &quot;GridPad&quot; for dealing with cellular automata" type="command" category="9. GridPad for grid operations"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="show global message title: %txt %br message: %txt"><custom-block s="translate %txt"><l>INFO about "GridPad for grid operations"</l></custom-block><custom-block s="translate %txt"><l>This category contains blocks for using any sprite or the stage as a sketch pad for displaying grids that are used for cellular automata, for example.&#xD;Blocks are available for determining neighborhoods, processing neighboring blocks with settable properties, etc.&#xD;The colors of the cells are determined via color codes ("numerical values").&#xD;The properties of the "pad" used are initially set to default values, which can be changed using the corresponding blocks.&#xD;Some examples explain how the blocks are used.</l></custom-block></custom-block></script></block-definition><block-definition s="configure %&apos;sprite&apos; as an GridPad width: %&apos;width&apos; height: %&apos;height&apos; $nl color: %&apos;color&apos; with close-button? %&apos;withCloseButton?&apos; left? %&apos;left?&apos; size: %&apos;closeButtonSize&apos;" type="command" category="9. GridPad for grid operations" space="true"><comment x="0" y="0" w="142.5" collapsed="false">Creates a new  empty costume of the specified size and color and sets local properties</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">400</input><input type="%n">300</input><input type="%txt" readonly="true">lightGray<options>black&#xD;gray&#xD;lightGray&#xD;white&#xD;red&#xD;orange&#xD;yellow&#xD;green&#xD;cyan&#xD;blue&#xD;magenta</options></input><input type="%b">false</input><input type="%b">false</input><input type="%n">15</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>costumeWidth</l><l>costumeHeight</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><custom-block s="configure %txt as a SketchPad width: %n height: %n %br color: %s with close-button %b left? %b size: %n"><block var="target"/><block var="width"/><block var="height"/><block var="color"/><block var="withCloseButton?"/><block var="left?"/><block var="closeButtonSize"/></custom-block><block s="doReplaceInList"><l>typeOfConfiguration</l><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><l>GridPad</l></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfData</l><l>number</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>numberOfGridRows</l><block s="reportRound"><block s="reportQuotient"><block var="height"/><l>10</l></block></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>numberOfGridColumns</l><block s="reportRound"><block s="reportQuotient"><block var="width"/><l>10</l></block></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>cellWidth</l><l>10</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>cellHeight</l><l>10</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>withGridLines</l><block s="reportBoolean"><l><bool>true</bool></l></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>cellColors</l><block s="reportNewList"><list><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>0</l><l>0</l></list></block></list></block><block s="reportNewList"><list><block s="reportNewList"><list><l>255</l><l>0</l><l>0</l></list></block></list></block><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>255</l><l>0</l></list></block></list></block><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>0</l><l>255</l></list></block></list></block><block s="reportNewList"><list><block s="reportNewList"><list><l>180</l><l>180</l><l>180</l></list></block></list></block><block s="reportNewList"><list><block s="reportNewList"><list><l>255</l><l>165</l><l>0</l></list></block></list></block><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>255</l><l>255</l></list></block></list></block><block s="reportNewList"><list><block s="reportNewList"><list><l>255</l><l>0</l><l>255</l></list></block></list></block><block s="reportNewList"><list><block s="reportNewList"><list><l>255</l><l>255</l><l>0</l></list></block></list></block><block s="reportNewList"><list><block s="reportNewList"><list><l>230</l><l>230</l><l>230</l></list></block></list></block><block s="reportNewList"><list><block s="reportNewList"><list><l>255</l><l>255</l><l>255</l></list></block></list></block></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="color"/><l>black</l></list></block><script><block s="doSetVar"><l>color</l><l>1</l></block></script><list><block s="reportVariadicEquals"><list><block var="color"/><l>red</l></list></block><script><block s="doSetVar"><l>color</l><l>2</l></block></script><block s="reportVariadicEquals"><list><block var="color"/><l>green</l></list></block><script><block s="doSetVar"><l>color</l><l>3</l></block></script><block s="reportVariadicEquals"><list><block var="color"/><l>blue</l></list></block><script><block s="doSetVar"><l>color</l><l>4</l></block></script><block s="reportVariadicEquals"><list><block var="color"/><l>gray</l></list></block><script><block s="doSetVar"><l>color</l><l>5</l></block></script><block s="reportVariadicEquals"><list><block var="color"/><l>orange</l></list></block><script><block s="doSetVar"><l>color</l><l>6</l></block></script><block s="reportVariadicEquals"><list><block var="color"/><l>cyan</l></list></block><script><block s="doSetVar"><l>color</l><l>7</l></block></script><block s="reportVariadicEquals"><list><block var="color"/><l>magenta</l></list></block><script><block s="doSetVar"><l>color</l><l>8</l></block></script><block s="reportVariadicEquals"><list><block var="color"/><l>yellow</l></list></block><script><block s="doSetVar"><l>color</l><l>9</l></block></script><block s="reportVariadicEquals"><list><block var="color"/><l>white</l></list></block><script><block s="doSetVar"><l>color</l><l>10</l></block></script><l><bool>true</bool></l><script><block s="doSetVar"><l>color</l><l>11</l></block></script></list></block><custom-block s="set %txt of %txt to %s"><l>myData</l><block var="target"/><custom-block s="%n x %n table %br initialized with %s"><block s="reportRound"><block s="reportQuotient"><block var="width"/><l>10</l></block></block><block s="reportRound"><block s="reportQuotient"><block var="height"/><l>10</l></block></block><block var="color"/></custom-block></custom-block><custom-block s="add grid %s on %s"><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block var="target"/></custom-block></script></block></script><scripts><comment x="512.8333333333335" y="114.16666666666693" w="192.5" collapsed="false">Costume attributes and line attributes same as SketchPad.&#xD;&#xD;other attributes:&#xD;numberOfGridColumns&#xD;numberOfGridRows&#xD;cellWidth&#xD;cellHeight&#xD;cellColors&#xD;&#xD;1: black&#xD;2: red&#xD;3: green&#xD;4: blue&#xD;5: gray&#xD;6: orange&#xD;7: cyan&#xD;8: magenta&#xD;9: yellow&#xD;10: lightGray&#xD;11: white&#xD;&#xD;&#xD;</comment></scripts></block-definition><block-definition s="is %&apos;sprite&apos; a GridPad?" type="predicate" category="9. GridPad for grid operations"><comment x="0" y="0" w="134" collapsed="false">Reports whether the sprite is configured as a GridPad.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><l><option>myself</option></l></block><block s="reifyReporter"><autolambda><custom-block s="is %s a %s ?"><l>thisSprite</l><l>GridPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><l>Stage</l></block><block s="reifyReporter"><autolambda><custom-block s="is %s a %s ?"><l>thisSprite</l><l>GridPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><block var="sprite"/></block><block s="reifyReporter"><autolambda><custom-block s="is %s a %s ?"><l>thisSprite</l><l>GridPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script></block></script></block></script></block></script></block-definition><block-definition s="set GridPadProperty %&apos;key&apos; of %&apos;sprite&apos; to %&apos;value&apos;" type="command" category="9. GridPad for grid operations"><comment x="0" y="0" w="128" collapsed="false">Sets the value of an existing property or inserts it anew.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">typeOfConfiguration<options>typeOfConfiguration&#xD;typeOfData&#xD;costumeProperties={&#xD;width=costumeWidth&#xD;height=costumeHeight&#xD;back color=backColor&#xD;offsets=offsets&#xD;front color=frontColor&#xD;}&#xD;line properties={&#xD;line width=lineWidth&#xD;line style=lineStyle&#xD;line color=lineColor&#xD;fill color=fillColor&#xD;}&#xD;text properties={&#xD;text height=textHeight&#xD;orientation=textOrientation&#xD;}&#xD;closebutton properties={&#xD;with closebutton?=withCloseButton&#xD;position=closeButtonLeft&#xD;size=closeButtonSize&#xD;}&#xD;grid proterties={&#xD;number of grid columns=numberOfGridColumns&#xD;number of grid rows=numberOfGridRows&#xD;cell width=cellWidth&#xD;cell height=cellHeight&#xD;cell colors=cellColors&#xD;with grid lines=withGridLines&#xD;}</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GridPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GridPad</l><l>set GridPadProperty</l></custom-block></script><list></list></block><block s="doIfElse"><custom-block s="is variable %s in the scope of %s ?"><l>myProperties</l><block var="target"/></custom-block><script><block s="doReplaceInList"><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="key"/><l> </l></block></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="value"/></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: Missing variable "myProperties"!</l><l>set GridPadProperty</l></custom-block></script></block></script></block></script></block-definition><block-definition s="GridPadProperty %&apos;key&apos; of %&apos;sprite&apos;" type="reporter" category="9. GridPad for grid operations"><comment x="0" y="0" w="95" collapsed="false">Reads the value of an existing property.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">typeOfConfiguration<options>typeOfConfiguration&#xD;typeOfData&#xD;costumeProperties={&#xD;width=costumeWidth&#xD;height=costumeHeight&#xD;back color=backColor&#xD;offsets=offsets&#xD;front color=frontColor&#xD;}&#xD;text properties={&#xD;text height=textHeight&#xD;orientation=textOrientation&#xD;}&#xD;closebutton properties={&#xD;with closebutton?=withCloseButton&#xD;position=closeButtonLeft&#xD;size=closeButtonSize&#xD;}&#xD;grid properties={&#xD;number of grid columns=numberOfGridColumns&#xD;number of grid rows=numberOfGridRows&#xD;cell width=cellWidth&#xD;cell height=cellHeight&#xD;cell colors=cellColors&#xD;with grid lines=withGridLines&#xD;}</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GridPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GridPad!</l><l>GridPadProperty of ...</l></custom-block></script><list></list></block><block s="doIfElse"><custom-block s="is variable %s in the scope of %s ?"><l>myProperties</l><block var="target"/></custom-block><script><block s="doReport"><block s="reportListItem"><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="key"/><l> </l></block></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: missing variable myProperties!</l><l>GridPadProperty of ...</l></custom-block></script></block></script></block></script></block-definition><block-definition s="set GridPad costume properties width: %&apos;width&apos; height: %&apos;height&apos; $nl back color: %&apos;color&apos; offsets: %&apos;leftOffset&apos; %&apos;upperOffset&apos; on %&apos;sprite&apos;" type="command" category="9. GridPad for grid operations"><comment x="0" y="0" w="117.66039530436255" collapsed="false">a simple way to set some costume attributes:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;6: left offset for Image&#xD;    position on stage&#xD;7: upper offset for Image&#xD;    position on stage</comment><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%mult%s"></input><input type="%n">0</input><input type="%n">0</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GridPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GridPad</l><l>set GridPad costume properties</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><custom-block s="set GridPadProperty %txt of %txt to %s"><l>costumeWidth</l><block var="target"/><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block></custom-block><custom-block s="set GridPadProperty %txt of %txt to %s"><l>costumeHeight</l><block var="target"/><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block></custom-block><custom-block s="set GridPadProperty %txt of %txt to %s"><l>backColor</l><block var="target"/><custom-block s="variadic color %mult%s $arrowRightOutline RGB(A)-value"><block var="color"/></custom-block></custom-block><custom-block s="set GridPadProperty %txt of %txt to %s"><l>offsets</l><block var="target"/><block s="reportNewList"><list><block var="leftOffset"/><block var="upperOffset"/></list></block></custom-block></script><script><custom-block s="set GridPadProperty %txt of %txt to %s"><l>costumeWidth</l><block var="target"/><block var="width"/></custom-block><custom-block s="set GridPadProperty %txt of %txt to %s"><l>costumeHeight</l><block var="target"/><block var="height"/></custom-block><custom-block s="set GridPadProperty %txt of %txt to %s"><l>backColor</l><block var="target"/><custom-block s="variadic color %mult%s $arrowRightOutline RGB(A)-value"><block var="color"/></custom-block></custom-block><custom-block s="set GridPadProperty %txt of %txt to %s"><l>offsets</l><block var="target"/><block s="reportNewList"><list><block var="leftOffset"/><block var="upperOffset"/></list></block></custom-block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><custom-block s="new costume size: %n %n %s"><custom-block s="GridPadProperty %txt of %txt"><l>costumeWidth</l><block var="target"/></custom-block><custom-block s="GridPadProperty %txt of %txt"><l>costumeHeight</l><block var="target"/></custom-block><custom-block s="GridPadProperty %txt of %txt"><l>backColor</l><block var="target"/></custom-block></custom-block></block></script><list></list></block><list></list></block><custom-block s="adjust close-button of %s"><block var="target"/></custom-block></script></block></script></block-definition><block-definition s="set GridPad line properties style: %&apos;style&apos; $nl width: %&apos;lineWidth&apos; color: %&apos;color&apos; fill color: %&apos;fillColor&apos; on %&apos;sprite&apos;" type="command" category="9. GridPad for grid operations"><comment x="0" y="0" w="105.68386840820362" collapsed="false">a simple way to set some net attributes:&#xD;line properties:&#xD;1: line style&#xD;2: lineWidth&#xD;3: line color &#xD;4: fill color</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">continuous<options>continuous&#xD;dashed&#xD;dash-dot&#xD;dot-dot</options></input><input type="%n">1</input><input type="%mult%s"></input><input type="%mult%s"></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GridPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as ImagePad</l><l>set ImagePad line properties</l></custom-block></script><list></list></block><custom-block s="set GridPadProperty %txt of %txt to %s"><l>lineWidth</l><block var="target"/><block var="lineWidth"/></custom-block><custom-block s="set GridPadProperty %txt of %txt to %s"><l>lineStyle</l><block var="target"/><block var="style"/></custom-block><custom-block s="set GridPadProperty %txt of %txt to %s"><l>lineColor</l><block var="target"/><custom-block s="variadic color %mult%s $arrowRightOutline RGB(A)-value"><block var="color"/></custom-block></custom-block><custom-block s="set GridPadProperty %txt of %txt to %s"><l>fillColor</l><block var="target"/><custom-block s="variadic color %mult%s $arrowRightOutline RGB(A)-value"><block var="fillColor"/></custom-block></custom-block></script></block></script></block-definition><block-definition s="set GridPad grid properties on %&apos;sprite&apos; $nl horizontal cells: %&apos;hNumber&apos; vertical cells: %&apos;vNumber&apos; $nl initial cell colornumber: %&apos;cellcolor&apos; with grid lines? %&apos;withLines&apos;" type="command" category="9. GridPad for grid operations"><comment x="0" y="0" w="140.9937286376957" collapsed="false">a simple way to set some grid attributes:&#xD;1: number of horizontal cells&#xD;2: number of vertical cells&#xD;3: cell width&#xD;4: cell height&#xD;&#xD;grid data are stored in myData</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">40</input><input type="%n">30</input><input type="%n">11</input><input type="%b">true</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>wh</l><l>ws</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GridPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GridPad</l><l>set GridPad grid properties</l></custom-block></script><list></list></block><block s="doSetVar"><l>wh</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><custom-block s="GridPadProperty %txt of %txt"><l>costumeWidth</l><block var="target"/></custom-block><block var="hNumber"/></block></block></block><block s="doSetVar"><l>ws</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><custom-block s="GridPadProperty %txt of %txt"><l>costumeHeight</l><block var="target"/></custom-block><block var="vNumber"/></block></block></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="wh"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="ws"/><l>1</l></list></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: cell size is too small!</l><l>set GridPad grid properties</l></custom-block></script><list></list></block><custom-block s="set GridPadProperty %txt of %txt to %s"><l>numberOfGridRows</l><block var="target"/><block var="vNumber"/></custom-block><custom-block s="set GridPadProperty %txt of %txt to %s"><l>numberOfGridColumns</l><block var="target"/><block var="hNumber"/></custom-block><custom-block s="set GridPadProperty %txt of %txt to %s"><l>cellWidth</l><block var="target"/><block var="ws"/></custom-block><custom-block s="set GridPadProperty %txt of %txt to %s"><l>cellHeight</l><block var="target"/><block var="wh"/></custom-block><custom-block s="set GridPadProperty %txt of %txt to %s"><l>cellHeight</l><block var="target"/><block var="wh"/></custom-block><custom-block s="set GridPadProperty %txt of %txt to %s"><l>withGridLines</l><block var="target"/><block var="withLines"/></custom-block><custom-block s="set %txt of %txt to %s"><l>myData</l><block var="target"/><custom-block s="%n x %n table %br initialized with %s"><block var="hNumber"/><block var="vNumber"/><block var="cellcolor"/></custom-block></custom-block><custom-block s="add grid %s on %s"><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block var="target"/></custom-block></script></block></script></block></script></block-definition><block-definition s="add grid %&apos;theGrid&apos; on %&apos;sprite&apos;" type="command" category="9. GridPad for grid operations" space="true"><comment x="0" y="0" w="163.00000000000003" collapsed="false">Draws a grid on an GridPad.</comment><header></header><code></code><translations></translations><inputs><input type="%s">myData</input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>data</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GridPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GridPad</l><l>add grid</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="theGrid"/><l>myData</l></list></block><script><block s="doSetVar"><l>data</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block></script><script><block s="doSetVar"><l>data</l><block var="theGrid"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="data"/><l>matrix</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: matrix data required!</l><l>add grid</l></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><custom-block s="GridPadProperty %txt of %txt"><l>numberOfGridColumns</l><l>thisSprite</l></custom-block><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block></list></block><block s="reportVariadicEquals"><list><custom-block s="GridPadProperty %txt of %txt"><l>numberOfGridRows</l><l>thisSprite</l></custom-block><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></list></block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: wrong grid dimensions!</l><l>add grid</l></custom-block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_addGridToGridPad(costume,properties,withLines,data)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><custom-block s="GridPadProperty %txt of %txt"><l>withGridLines</l><block var="target"/></custom-block><block var="data"/></list></block></list></block></script></block></script></block-definition><block-definition s="fill cells on %&apos;sprite&apos; range x: %&apos;xmin&apos; %&apos;xmax&apos; y: %&apos;ymin&apos; %&apos;ymax&apos; $nl randomly with color numbers %&apos;numbers&apos;" type="command" category="9. GridPad for grid operations" space="true"><comment x="0" y="0" w="281" collapsed="false">Fills a grid or a part of a grid with one of the specified values.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">1</input><input type="%s">xMax</input><input type="%n">1</input><input type="%s">yMax</input><input type="%mult%n"></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GridPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GridPad</l><l>fill cells on ...</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="xmax"/><l>xMax</l></list></block><script><block s="doSetVar"><l>xmax</l><custom-block s="GridPadProperty %txt of %txt"><l>numberOfGridColumns</l><block var="target"/></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="ymax"/><l>yMax</l></list></block><script><block s="doSetVar"><l>ymax</l><custom-block s="GridPadProperty %txt of %txt"><l>numberOfGridRows</l><block var="target"/></custom-block></block></script><list></list></block><custom-block s="set %txt of %txt to %s"><l>myData</l><block var="target"/><block s="reportApplyExtension"><l>SciS_fillOnGridPadGridRandomlyOnImagePad(xMin,xMax,yMin,yMax,numbers,data)</l><list><block var="xmin"/><block var="xmax"/><block var="ymin"/><block var="ymax"/><block var="numbers"/><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></list></block></custom-block></script></block><custom-block s="add grid %s on %s"><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block var="target"/></custom-block></script></block-definition><block-definition s="set cell value on %&apos;sprite&apos; to %&apos;value&apos; by mouse" type="command" category="9. GridPad for grid operations"><comment x="0" y="0" w="145.83333333333334" collapsed="false">sets the value of a grid cell</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>targetCostume</l><l>targetCostumeWidth</l><l>targetCostumeHeight</l><l>targetXPosition</l><l>targetYPosition</l><l>targetSize</l><l>x</l><l>y</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GridPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GridPad!</l><l>set cell value by mouse</l></custom-block></script><list></list></block><block s="doSetVar"><l>targetCostume</l><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block></block><block s="doSetVar"><l>targetCostumeWidth</l><block s="reportGetImageAttribute"><l><option>width</option></l><block var="targetCostume"/></block></block><block s="doSetVar"><l>targetCostumeHeight</l><block s="reportGetImageAttribute"><l><option>height</option></l><block var="targetCostume"/></block></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>targetXPosition</l><block s="reportMonadic"><l><option>neg</option></l><block s="reportRound"><block s="reportQuotient"><block var="targetCostumeWidth"/><l>2</l></block></block></block></block><block s="doSetVar"><l>targetYPosition</l><block s="reportRound"><block s="reportQuotient"><block var="targetCostumeHeight"/><l>2</l></block></block></block><block s="doSetVar"><l>targetSize</l><l>100</l></block><block s="doSetVar"><l>x</l><block s="reportDifference"><block s="reportMouseX"></block><block var="targetXPosition"/></block></block><block s="doSetVar"><l>y</l><block s="reportDifference"><block var="targetYPosition"/><block s="reportMouseY"></block></block></block></script><script><block s="doSetVar"><l>targetXPosition</l><block s="reportAttributeOf"><l><option>x position</option></l><block var="target"/></block></block><block s="doSetVar"><l>targetYPosition</l><block s="reportAttributeOf"><l><option>y position</option></l><block var="target"/></block></block><block s="doSetVar"><l>targetSize</l><block s="reportAttributeOf"><l><option>size</option></l><block var="target"/></block></block><block s="doSetVar"><l>x</l><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block s="reportMouseX"></block><block var="targetXPosition"/></block><block var="targetSize"/></block></list></block><block s="reportQuotient"><block var="targetCostumeWidth"/><l>2</l></block></list></block><l>1</l></list></block></block></block><block s="doSetVar"><l>y</l><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block var="targetYPosition"/><block s="reportMouseY"></block></block><block var="targetSize"/></block></list></block><block s="reportQuotient"><block var="targetCostumeHeight"/><l>2</l></block></list></block><l>1</l></list></block></block></block></script></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><block var="x"/><block var="targetCostumeWidth"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="y"/><block var="targetCostumeHeight"/></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicGreaterThanOrEquals"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><block s="doReplaceInList"><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block var="x"/><custom-block s="GridPadProperty %txt of %txt"><l>cellWidth</l><block var="target"/></custom-block></block></block><block s="reportListItem"><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block var="y"/><custom-block s="GridPadProperty %txt of %txt"><l>cellHeight</l><block var="target"/></custom-block></block></block><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block><block var="value"/></block></script><list></list></block><custom-block s="add grid %s on %s"><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block var="target"/></custom-block></script></block></script></block-definition><block-definition s="set cell value on %&apos;sprite&apos; at %&apos;x&apos; %&apos;y&apos; to %&apos;value&apos; $nl with grid lines? %&apos;withLines&apos;" type="command" category="9. GridPad for grid operations"><comment x="0" y="0" w="227" collapsed="false">Sets the value of a grid cell an shows the result.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">1</input><input type="%n">1</input><input type="%n">2</input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GridPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GridPad</l><l>set cell value at ... to ...</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicGreaterThanOrEquals"><list><block var="y"/><l>1</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="x"/><custom-block s="GridPadProperty %txt of %txt"><l>numberOfGridColumns</l><block var="target"/></custom-block></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="y"/><custom-block s="GridPadProperty %txt of %txt"><l>numberOfGridRows</l><block var="target"/></custom-block></list></block></list></block><script><block s="doReplaceInList"><block var="x"/><block s="reportListItem"><block var="y"/><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block><block var="value"/></block><custom-block s="add grid %s on %s"><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block var="target"/></custom-block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: indices out of bounds!</l><l>set cell value at ... to ...</l></custom-block></script></block></script></block></script></block-definition><block-definition s="cell value on %&apos;sprite&apos; at %&apos;x&apos; %&apos;y&apos;" type="reporter" category="9. GridPad for grid operations"><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">1</input><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GridPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GridPad</l><l> cell value at ...</l></custom-block></script><list></list></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicGreaterThanOrEquals"><list><block var="y"/><l>1</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="x"/><custom-block s="GridPadProperty %txt of %txt"><l>numberOfGridColumns</l><block var="target"/></custom-block></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="y"/><custom-block s="GridPadProperty %txt of %txt"><l>numberOfGridRows</l><block var="target"/></custom-block></list></block></list></block><script><block s="doReport"><block s="reportListItem"><block var="x"/><block s="reportListItem"><block var="y"/><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: indices out of bounds!</l><l>set cell value at ... to ...</l></custom-block></script></block></script></block></script></block-definition><block-definition s="%&apos;typeOfNeighborhood&apos; -neighborhood as torus? %&apos;asTorus&apos; of %&apos;x&apos; %&apos;y&apos; $nl on %&apos;sprite&apos;" type="reporter" category="9. GridPad for grid operations" space="true"><comment x="0" y="0" w="165.83333333333334" collapsed="false">Reports the Moore- or v.-Neumann-neighborhood of a cell. &#xD;Order: north,east,south,west</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">Moore<options>Moore&#xD;vonNeumann</options></input><input type="%b">false</input><input type="%n">1</input><input type="%n">1</input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GridPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GridPad</l><l>... neighborhood of ...</l></custom-block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_neighborhoodInGridOnImagePad(data,properties,x,y,isTorus,typeOfNeighborhood)</l><list><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block><block var="x"/><block var="y"/><block var="asTorus"/><block var="typeOfNeighborhood"/></list></block></block></script></block-definition><block-definition s="all cells on %&apos;sprite&apos; as torus? %&apos;isTorus&apos; swapped %&apos;n&apos; times $nl randomly inside radius %&apos;range&apos; range x: %&apos;xmin&apos; %&apos;xmax&apos; y: %&apos;ymin&apos; %&apos;ymax&apos;" type="reporter" category="9. GridPad for grid operations" space="true"><comment x="0" y="0" w="194.99999999999977" collapsed="false">Swaps the cell values of a grid randomly.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">true</input><input type="%n">1</input><input type="%n">1</input><input type="%n">1</input><input type="%s">xMax</input><input type="%n">1</input><input type="%s">yMax</input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GridPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GridPad</l><l>all cells ... swapped ...</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="xmax"/><l>xMax</l></list></block><script><block s="doSetVar"><l>xmax</l><custom-block s="GridPadProperty %txt of %txt"><l>numberOfGridColumns</l><block var="target"/></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="ymax"/><l>yMax</l></list></block><script><block s="doSetVar"><l>ymax</l><custom-block s="GridPadProperty %txt of %txt"><l>numberOfGridRows</l><block var="target"/></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="xmin"/><l>1</l></list></block><script><block s="doSetVar"><l>xmin</l><l>1</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="xmax"/><custom-block s="GridPadProperty %txt of %txt"><l>numberOfGridColumns</l><block var="target"/></custom-block></list></block><script><block s="doSetVar"><l>xmax</l><custom-block s="GridPadProperty %txt of %txt"><l>numberOfGridColumns</l><block var="target"/></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="ymin"/><l>1</l></list></block><script><block s="doSetVar"><l>ymin</l><l>1</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="ymax"/><custom-block s="GridPadProperty %txt of %txt"><l>numberOfGridRows</l><block var="target"/></custom-block></list></block><script><block s="doSetVar"><l>ymax</l><custom-block s="GridPadProperty %txt of %txt"><l>numberOfGridRows</l><block var="target"/></custom-block></block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_swapCellsOfGridOnGridPad(data,n,isTorus,range,xMin,xMax,yMin,yMax)</l><list><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block var="n"/><block var="isTorus"/><block s="reportMonadic"><l><option>abs</option></l><block var="range"/></block><block var="xmin"/><block var="xmax"/><block var="ymin"/><block var="ymax"/></list></block></block></script></block></script></block-definition><block-definition s="all cells on %&apos;sprite&apos; as torus? %&apos;isTorus&apos; with value %&apos;oldValue&apos; $nl take value %&apos;ifValue&apos; if number of surrounding value %&apos;surrValue&apos; is %&apos;operator&apos; %&apos;n&apos; $nl else take value %&apos;elseValue&apos; with noise? %&apos;withNoise&apos; of %&apos;noise&apos; % $nl range x: %&apos;xmin&apos; %&apos;xmax&apos; y: %&apos;ymin&apos; %&apos;ymax&apos;" type="reporter" category="9. GridPad for grid operations"><comment x="0" y="0" w="299" collapsed="false">Counts the surrounding values and changes it if necessary.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">true</input><input type="%s">any<options>any</options></input><input type="%n">2</input><input type="%n">2</input><input type="%s" readonly="true">greater-than<options>greater-than&#xD;equal-to&#xD;smaller-than&#xD;different-from</options></input><input type="%n">4</input><input type="%n">1</input><input type="%b">false</input><input type="%n">5</input><input type="%n">1</input><input type="%s">xMax</input><input type="%n">1</input><input type="%s">yMax</input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GridPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target isn&apos;t configured as GridPad</l><l>all cells ... with value ...</l></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="xmax"/><l>xMax</l></list></block><script><block s="doSetVar"><l>xmax</l><custom-block s="GridPadProperty %txt of %txt"><l>numberOfGridColumns</l><block var="target"/></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="ymax"/><l>yMax</l></list></block><script><block s="doSetVar"><l>ymax</l><custom-block s="GridPadProperty %txt of %txt"><l>numberOfGridRows</l><block var="target"/></custom-block></block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_changeSurroundingValuesOfGridOnGridPad(data,ifValue,elseValue,surrValue,op,n,isTorus,withNoise,noise,xMin,xMax,yMin,yMax,oldValue)</l><list><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block var="ifValue"/><block var="elseValue"/><block var="surrValue"/><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="operator"/><l> </l></block></block><block var="n"/><block var="isTorus"/><block var="withNoise"/><block var="noise"/><block var="xmin"/><block var="xmax"/><block var="ymin"/><block var="ymax"/><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="oldValue"/><l> </l></block></block></list></block></block></script></block></script></block-definition><block-definition s="all cells on %&apos;sprite&apos; as torus? %&apos;isTorus&apos; take %&apos;operation&apos; $nl of surrounding cells x: %&apos;xmin&apos; %&apos;xmax&apos; y: %&apos;ymin&apos; %&apos;ymax&apos; range: %&apos;range&apos;" type="reporter" category="9. GridPad for grid operations"><comment x="0" y="0" w="196.99999999999997" collapsed="false">Replaces the cell values of a grid depending on the features of the neighbors.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">true</input><input type="%s" readonly="true">sum<options>sum&#xD;min&#xD;max&#xD;mean</options></input><input type="%n">1</input><input type="%s">xMax</input><input type="%n">1</input><input type="%s">yMax</input><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GridPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GridPad</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="xmax"/><l>xMax</l></list></block><script><block s="doSetVar"><l>xmax</l><custom-block s="GridPadProperty %txt of %txt"><l>numberOfGridColumns</l><block var="target"/></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="ymax"/><l>yMax</l></list></block><script><block s="doSetVar"><l>ymax</l><custom-block s="GridPadProperty %txt of %txt"><l>numberOfGridRows</l><block var="target"/></custom-block></block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_replaceValuesOfGridOnImagePad(data,operation,isTorus,xMin,xMax,yMin,yMax,range)</l><list><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="operation"/><l> </l></block></block><block var="isTorus"/><block var="xmin"/><block var="xmax"/><block var="ymin"/><block var="ymax"/><block s="reportMonadic"><l><option>abs</option></l><block var="range"/></block></list></block></block></script></block-definition><block-definition s="combine grid1 %&apos;grid1&apos; and grid2 %&apos;grid2&apos; by value1= %&apos;value1&apos; %&apos;operator&apos; value2= %&apos;value2&apos; $nl to %&apos;ifValue&apos; else %&apos;elseValue&apos;" type="reporter" category="9. GridPad for grid operations"><comment x="0" y="0" w="113" collapsed="false">Combines two grids.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input><input type="%n">1</input><input type="%s" readonly="true">or<options>and&#xD;or&#xD;xor&#xD;not-and&#xD;not-or&#xD;not-xor&#xD;minus</options></input><input type="%n">2</input><input type="%n">1</input><input type="%n">2</input></inputs><script><block s="doDeclareVariables"><list><l>xMax</l><l>yMax</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><custom-block s="is %s a %txt"><block var="grid1"/><l>matrix</l></custom-block><custom-block s="is %s a %txt"><block var="grid2"/><l>matrix</l></custom-block></list></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: matrices required!</l><l>combine grids ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>xMax</l><block s="reportIfElse"><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="grid1"/></block></block><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="grid2"/></block></block></list></block><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="grid1"/></block></block><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="grid2"/></block></block></block></block><block s="doSetVar"><l>yMax</l><block s="reportIfElse"><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="grid1"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="grid2"/></block></list></block><block s="reportListAttribute"><l><option>length</option></l><block var="grid1"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="grid2"/></block></block></block></script></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_combineGridsOnGridPad(grid1,grid2,value1,operator,value2,ifValue,elseValue,xMax,yMax)</l><list><block var="grid1"/><block var="grid2"/><block var="value1"/><block var="operator"/><block var="value2"/><block var="ifValue"/><block var="elseValue"/><block var="xMax"/><block var="yMax"/></list></block></block></script></block-definition><block-definition s="Example: plot of mixed data" type="command" category="5. PlotPad for data plots"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="configure %txt as a PlotPad width: %n height: %n %br color: %txt with close-button? %b left? %b size: %n"><l>thisSprite</l><l>400</l><l>300</l><l>lightGray</l><l><bool>true</bool></l><l><bool>false</bool></l><l>15</l></custom-block><block s="doSetVar"><l>myData</l><custom-block s="empty table"></custom-block></block><custom-block s="add %s %s to %s"><l>row</l><block s="reportNewList"><list><l>Meier</l><l>5</l></list></block><block var="myData"/></custom-block><custom-block s="add %s %s to %s"><l>row</l><block s="reportNewList"><list><l>Miller</l><l>7</l></list></block><block var="myData"/></custom-block><custom-block s="add %s %s to %s"><l>row</l><block s="reportNewList"><list><l>Hansen</l><l>3</l></list></block><block var="myData"/></custom-block><custom-block s="set PlotPad labels on %s to %br title: %txt titleheight: %n %br x-label: %txt xLabelheight: %n %br y-label: %txt yLabelheight: %n"><l>thisSprite</l><l>Plot of mixed data</l><l>18</l><l> Meier                    Miller                    Hansen </l><l>16</l><l>sales</l><l>16</l></custom-block><custom-block s="add dataplot of mixed data: %s %br y-scale? %b x-scale? %b to PlotPad %txt"><l>myData</l><l><bool>true</bool></l><l><bool>false</bool></l><l>thisSprite</l></custom-block><custom-block s="add axes and scales to PlotPad %txt"><l>thisSprite</l></custom-block></script></block-definition><block-definition s="set %&apos;sprite&apos; to full size, bounded by $nl left %&apos;left&apos; right %&apos;right&apos; top %&apos;top&apos; bottom %&apos;bottom&apos;" type="command" category="looks" space="true"><comment x="0" y="0" w="122.40000000000002" collapsed="false">Sets the size of a sprite so that it fits into the specified stage area.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;anotherSprite</options></input><input type="%n">-200</input><input type="%n">200</input><input type="%n">200</input><input type="%n">-200</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>spriteWidth</l><l>spriteHeight</l><l>windowWidth</l><l>windowHeight</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="setScale"><l>100</l></block></script><list></list></block><list></list></block><block s="doSetVar"><l>spriteWidth</l><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block></block><block s="doSetVar"><l>spriteHeight</l><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>height</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block></block><block s="doSetVar"><l>windowWidth</l><block s="reportRound"><block s="reportDifference"><block var="right"/><block var="left"/></block></block></block><block s="doSetVar"><l>windowHeight</l><block s="reportRound"><block s="reportDifference"><block var="top"/><block var="bottom"/></block></block></block><block s="doIf"><block s="reportNot"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block></block><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportQuotient"><block var="spriteWidth"/><block var="windowWidth"/></block><block s="reportQuotient"><block var="spriteHeight"/><block var="windowHeight"/></block></list></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="setScale"><l></l></block></script><list></list></block><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block var="windowWidth"/><block var="spriteWidth"/></block></list></block></list></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="setScale"><l></l></block></script><list></list></block><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block var="windowHeight"/><block var="spriteHeight"/></block></list></block></list></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="gotoXY"><block s="reportRound"><block s="reportQuotient"><block s="reportVariadicSum"><list><block var="right"/><block var="left"/></list></block><l>2</l></block></block><block s="reportRound"><block s="reportQuotient"><block s="reportVariadicSum"><list><block var="top"/><block var="bottom"/></list></block><l>2</l></block></block></block></script><list></list></block><list></list></block></script><list></list></block></script></block></script></block-definition><block-definition s="convert %&apos;position&apos; on %&apos;sprite&apos; to %&apos;choice&apos; - coordinates" type="reporter" category="6. ImagePad for image operations" space="true"><header></header><code></code><translations></translations><inputs><input type="%mult%s"></input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s" readonly="true">JavaScript<options>JavaScript&#xD;Snap!</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: target is not an ImagePad!</l><l>convert ... coordinates to ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>position</l><custom-block s="variadic position %mult%s $arrowRightOutline position"><block var="position"/></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>JavaScript</l></list></block><script><block s="doReport"><block s="reportNewList"><list><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="position"/></block><block s="reportAttributeOf"><l><option>left</option></l><block var="target"/></block></block><block s="reportDifference"><block s="reportAttributeOf"><l><option>top</option></l><block var="target"/></block><block s="reportListItem"><l>2</l><block var="position"/></block></block></list></block></block></script><list></list></block><block s="doReport"><block s="reportNewList"><list><block s="reportVariadicSum"><list><block s="reportListItem"><l>1</l><block var="position"/></block><block s="reportAttributeOf"><l><option>left</option></l><block var="target"/></block></list></block><block s="reportDifference"><block s="reportAttributeOf"><l><option>top</option></l><block var="target"/></block><block s="reportListItem"><l>2</l><block var="position"/></block></block></list></block></block></script></block></script></block-definition><block-definition s="let part %&apos;sprite&apos; of the TheLineTool respond to %&apos;event&apos;" type="command" category="6. ImagePad for image operations" space="true"><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s" readonly="true">receiveGo<options>receiveGo&#xD;receiveKey enter&#xD;receiveKey space&#xD;receiveKey +&#xD;receiveKey -&#xD;receiveKey up arrow&#xD;receiveKey down arrow&#xD;receiveKey left arrow&#xD;receiveKey right arrow&#xD;receiveInteraction clicked&#xD;receiveInteraction pressed&#xD;receiveInteraction mouse-entered&#xD;receiveInteraction mouse-departed&#xD;receiveInteraction scrolled up&#xD;receiveInteraction scrolleddown&#xD;receiveMessage</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>data</l><l>dist</l><l>slice</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="target"/><block s="reportObject"><l>TheLineTool</l></block></list></block><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportNot"><block s="reportAttributeOf"><l>isMoving</l><l>LineEnd1</l></block></block><block s="reportNot"><block s="reportAttributeOf"><l>isMoving</l><l>LineEnd2</l></block></block></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="event"/><l>receiveInteraction pressed</l></list></block><script><block s="doIfElse"><custom-block s="is key %n pressed?"><l>16</l></custom-block><script><custom-block s="update tool coordinates on %s"><block s="reportAttributeOf"><l>myWindow</l><l>TheLineTool</l></block></custom-block><block s="doSetVar"><l>data</l><block s="reportNewList"><list><l>Data of TheLineTool</l></list></block></block><block s="doAddToList"><block s="reportJoinWords"><list><l>datetime: </l><custom-block s="datetime"></custom-block></list></block><block var="data"/></block><block s="doAddToList"><block s="reportNewList"><list><l>position of LineEnd1: </l><block s="reportAttributeOf"><l>myImagePosition</l><l>LineEnd1</l></block></list></block><block var="data"/></block><block s="doAddToList"><block s="reportNewList"><list><l>position of LineEnd2: </l><block s="reportAttributeOf"><l>myImagePosition</l><l>LineEnd2</l></block></list></block><block var="data"/></block><block s="doSetVar"><l>dist</l><block s="reportRound"><custom-block s="Euclidean distance between %br point %mult%s and point %mult%s"><list><block s="reportAttributeOf"><l>myImagePosition</l><l>LineEnd1</l></block></list><list><block s="reportAttributeOf"><l>myImagePosition</l><l>LineEnd2</l></block></list></custom-block></block></block><block s="doAddToList"><block s="reportNewList"><list><l>length: </l><block var="dist"/></list></block><block var="data"/></block><block s="doTellTo"><l>LineEnd1</l><block s="reifyScript"><script><block s="doFaceTowards"><l>LineEnd2</l></block></script><list></list></block><list></list></block><block s="doAddToList"><block s="reportNewList"><list><l>angle: </l><block s="reportAttributeOf"><l><option>direction</option></l><l>LineEnd1</l></block></list></block><block var="data"/></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="dist"/><l>2</l></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: points are too close together!</l><l>let sprite respond to event</l></custom-block></script><script><block s="doSetVar"><l>slice</l><block s="reportApplyExtension"><l>SciS_collectSliceData(p1,p2,dist,imageData,width,height,imageType)</l><list><block s="reportAttributeOf"><l>myImagePosition</l><l>LineEnd1</l></block><block s="reportAttributeOf"><l>myImagePosition</l><l>LineEnd2</l></block><block var="dist"/><block s="reportAttributeOf"><l>myData</l><block s="reportAttributeOf"><l>currentImage</l><block s="reportAttributeOf"><l>myWindow</l><l>TheLineTool</l></block></block></block><custom-block s="ImagePadProperty %txt of %txt"><l>imageWidth</l><block s="reportAttributeOf"><l>currentImage</l><block s="reportAttributeOf"><l>myWindow</l><l>TheLineTool</l></block></block></custom-block><custom-block s="ImagePadProperty %txt of %txt"><l>imageHeight</l><block s="reportAttributeOf"><l>currentImage</l><block s="reportAttributeOf"><l>myWindow</l><l>TheLineTool</l></block></block></custom-block><custom-block s="ImagePadProperty %txt of %txt"><l>imageType</l><block s="reportAttributeOf"><l>currentImage</l><block s="reportAttributeOf"><l>myWindow</l><l>TheLineTool</l></block></block></custom-block></list></block></block><block s="doAddToList"><block s="reportNewList"><list><l>slice: </l><block var="slice"/></list></block><block var="data"/></block><custom-block s="set %txt of %txt to %s"><l>myData</l><block s="reportAttributeOf"><l>myWindow</l><l>TheLineTool</l></block><block var="data"/></custom-block><block s="doTellTo"><l>TheLineTool</l><block s="reifyScript"><script><block s="doSayFor"><l>Slice data are stored in myData of the window.</l><l>2</l></block></script><list></list></block><list></list></block></script></block></script><script><custom-block s="attach part %s to sprite %s"><block s="reportObject"><l>LineEnd1</l></block><block s="reportObject"><l>TheLineTool</l></block></custom-block><custom-block s="attach part %s to sprite %s"><block s="reportObject"><l>LineEnd2</l></block><block s="reportObject"><l>TheLineTool</l></block></custom-block><custom-block s="set %txt of %txt to %s"><l>isMoving</l><l>TheLineTool</l><block s="reportBoolean"><l><bool>true</bool></l></block></custom-block><custom-block s="update window %s"><block s="reportAttributeOf"><l>myWindow</l><l>TheLineTool</l></block></custom-block></script></block></script><list><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block var="event"/><l>receiveInteraction mouse-departed</l></list></block><block s="reportAttributeOf"><l>isMoving</l><l>TheLineTool</l></block></list></block><script><custom-block s="set %txt of %txt to %s"><l>isMoving</l><l>TheLineTool</l><block s="reportBoolean"><l><bool>false</bool></l></block></custom-block><custom-block s="detach all parts from %s"><block s="reportObject"><l>TheLineTool</l></block></custom-block><custom-block s="%txt %txt of window %s"><l>show</l><l>TheLineTool</l><block s="reportAttributeOf"><l>myWindow</l><l>TheLineTool</l></block></custom-block></script></list></block><custom-block s="select sprite %s"><block s="reportAttributeOf"><l>myWindow</l><l>TheLineTool</l></block></custom-block></script><list></list></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="target"/><block s="reportObject"><l>LineEnd1</l></block></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="event"/><l>receiveInteraction pressed</l></list></block><script><custom-block s="set %txt of %txt to %s"><l>isMoving</l><l>LineEnd1</l><block s="reportBoolean"><l><bool>true</bool></l></block></custom-block><custom-block s="update window %s"><block s="reportAttributeOf"><l>myWindow</l><l>TheLineTool</l></block></custom-block></script><list><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block var="event"/><l>receiveInteraction mouse-departed</l></list></block><block s="reportAttributeOf"><l>isMoving</l><l>LineEnd1</l></block></list></block><script><custom-block s="set %txt of %txt to %s"><l>isMoving</l><l>LineEnd1</l><block s="reportBoolean"><l><bool>false</bool></l></block></custom-block><custom-block s="update tool coordinates on %s"><block s="reportAttributeOf"><l>myWindow</l><l>TheLineTool</l></block></custom-block><custom-block s="%txt %txt of window %s"><l>show</l><l>TheLineTool</l><block s="reportAttributeOf"><l>myWindow</l><l>TheLineTool</l></block></custom-block></script></list></block><custom-block s="select sprite %s"><block s="reportAttributeOf"><l>myWindow</l><l>TheLineTool</l></block></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="target"/><block s="reportObject"><l>LineEnd2</l></block></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="event"/><l>receiveInteraction pressed</l></list></block><script><custom-block s="set %txt of %txt to %s"><l>isMoving</l><l>LineEnd2</l><block s="reportBoolean"><l><bool>true</bool></l></block></custom-block><custom-block s="update window %s"><block s="reportAttributeOf"><l>myWindow</l><l>TheLineTool</l></block></custom-block></script><list><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block var="event"/><l>receiveInteraction mouse-departed</l></list></block><block s="reportAttributeOf"><l>isMoving</l><l>LineEnd2</l></block></list></block><script><custom-block s="set %txt of %txt to %s"><l>isMoving</l><l>LineEnd2</l><block s="reportBoolean"><l><bool>false</bool></l></block></custom-block><custom-block s="update tool coordinates on %s"><block s="reportAttributeOf"><l>myWindow</l><l>TheLineTool</l></block></custom-block><custom-block s="%txt %txt of window %s"><l>show</l><l>TheLineTool</l><block s="reportAttributeOf"><l>myWindow</l><l>TheLineTool</l></block></custom-block></script></list></block><custom-block s="select sprite %s"><block s="reportAttributeOf"><l>myWindow</l><l>TheLineTool</l></block></custom-block></script><list></list></block></script></block></script><scripts><script x="55.66666666666659" y="2780.0000000000005"><custom-block s="update tool positions on %s"><block s="reportAttributeOf"><l>myWindow</l><l>TheSquareTool</l></block></custom-block><block s="doSetVar"><l>data</l><block s="reportNewList"><list><l>Data of TheSquareTool</l></list></block></block><block s="doAddToList"><block s="reportJoinWords"><list><l>datetime: </l><custom-block s="datetime"></custom-block></list></block><block var="data"/></block><block s="doAddToList"><block s="reportNewList"><list><l>position of TheSquareTool: </l><block s="reportAttributeOf"><l>myImagePosition</l><l>TheSquareTool</l></block></list></block><block var="data"/></block><block s="doAddToList"><block s="reportNewList"><list><l>current width of TheSquareTool: </l><block s="reportAttributeOf"><l><option>width</option></l><l>TheSquareTool</l></block></list></block><block var="data"/></block><block s="doAddToList"><block s="reportNewList"><list><l>brightness: </l><block s="reportApplyExtension"><l>SciS_brightness(data,xpos,ypos,r,width,height,typeOfData,typeOfArea)</l><list><block s="reportAttributeOf"><l>myData</l><block s="reportAttributeOf"><l>currentImage</l><block s="reportAttributeOf"><l>myWindow</l><l>TheSquareTool</l></block></block></block><block s="reportListItem"><l>1</l><block s="reportAttributeOf"><l>myImagePosition</l><l>TheSquareTool</l></block></block><block s="reportListItem"><l>2</l><block s="reportAttributeOf"><l>myImagePosition</l><l>TheSquareTool</l></block></block><block s="reportQuotient"><block s="reportAttributeOf"><l><option>width</option></l><l>TheSquareTool</l></block><l>2</l></block><custom-block s="ImagePadProperty %txt of %txt"><l>imageWidth</l><block s="reportAttributeOf"><l>currentImage</l><block s="reportAttributeOf"><l>myWindow</l><l>TheSquareTool</l></block></block></custom-block><custom-block s="ImagePadProperty %txt of %txt"><l>imageHeight</l><block s="reportAttributeOf"><l>currentImage</l><block s="reportAttributeOf"><l>myWindow</l><l>TheSquareTool</l></block></block></custom-block><custom-block s="ImagePadProperty %txt of %txt"><l>imageType</l><block s="reportAttributeOf"><l>currentImage</l><block s="reportAttributeOf"><l>myWindow</l><l>TheSquareTool</l></block></block></custom-block><l>square</l></list></block></list></block><block var="data"/></block><custom-block s="set %txt of %txt to %s"><l>myData</l><block s="reportAttributeOf"><l>myWindow</l><l>TheSquareTool</l></block><block var="data"/></custom-block></script><script x="429.3333333333332" y="2579.8611111111118"><block s="doIf"><block s="reportVariadicAnd"><list><l/><l/></list></block><script><block s="doTellTo"><l>TheSquareTool</l><block s="reifyScript"><script><block s="doIf"><block s="reportVariadicLessThan"><list><l></l><l>300</l></list></block><script><block s="changeScale"><l>10</l></block></script><list></list></block></script><list></list></block><list><block s="reportAttributeOf"><l><option>size</option></l><l>TheSquareTool</l></block></list></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="event"/><l>receiveInteraction scrolleddown</l></list></block><script><block s="doTellTo"><l>TheSquareTool</l><block s="reifyScript"><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><l></l><l>20</l></list></block><script><block s="changeScale"><l>-10</l></block></script><list></list></block></script><list></list></block><list><block s="reportAttributeOf"><l><option>size</option></l><l>TheSquareTool</l></block></list></block></script><list></list></block></script></scripts></block-definition><block-definition s="let SquareTool %&apos;tool&apos; respond to %&apos;event&apos;" type="command" category="6. ImagePad for image operations"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s" readonly="true">receiveGo<options>receiveGo&#xD;receiveKey enter&#xD;receiveKey space&#xD;receiveKey +&#xD;receiveKey -&#xD;receiveKey up arrow&#xD;receiveKey down arrow&#xD;receiveKey left arrow&#xD;receiveKey right arrow&#xD;receiveInteraction clicked&#xD;receiveInteraction pressed&#xD;receiveInteraction mouse-entered&#xD;receiveInteraction mouse-departed&#xD;receiveInteraction scrolled up&#xD;receiveInteraction scrolleddown&#xD;receiveMessage&#xD;getData</options></input></inputs><script><block s="doDeclareVariables"><list><l>data</l><l>size/5</l><l>result</l><l>size</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportIsA"><block var="tool"/><l><option>sprite</option></l></block><script><block s="doSetVar"><l>size</l><block s="reportAskFor"><block var="tool"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="event"/><l>receiveInteraction pressed</l></list></block><block s="reportVariadicEquals"><list><block var="event"/><l>getData</l></list></block></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="event"/><l>receiveInteraction pressed</l></list></block><script><custom-block s="set %txt of %txt to %s"><l>isActive</l><block var="tool"/><block s="reportNot"><block s="reportAttributeOf"><l>isActive</l><block var="tool"/></block></block></custom-block></script><list></list></block><block s="doSetVar"><l>size/5</l><block s="reportQuotient"><block var="size"/><l>5</l></block></block><block s="doIfElse"><block s="reportAttributeOf"><l>isActive</l><block var="tool"/></block><script><block s="doTellTo"><block var="tool"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportNewCostume"><block s="reportApplyExtension"><l>SciS_changeToolCostume(size,tool,color)</l><list><block var="size"/><l>squareTool</l><custom-block s="%s as %txt"><l>green</l><l>RGB-value</l></custom-block></list></block><block var="size"/><block var="size"/></block></list></block></script><script><block s="doTellTo"><block var="tool"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportNewCostume"><block s="reportApplyExtension"><l>SciS_changeToolCostume(size,tool,color)</l><list><block var="size"/><l>squareTool</l><custom-block s="%s as %txt"><l>orange</l><l>RGB-value</l></custom-block></list></block><block var="size"/><block var="size"/></block></list></block></script></block><block s="doIf"><block s="reportVariadicOr"><list><custom-block s="is key %n pressed?"><l>16</l></custom-block><block s="reportVariadicEquals"><list><block var="event"/><l>getData</l></list></block></list></block><script><custom-block s="update tool coordinates on %s"><block s="reportAttributeOf"><l>myWindow</l><block var="tool"/></block></custom-block><block s="doSetVar"><l>data</l><block s="reportNewList"><list><block s="reportJoinWords"><list><l>Data of </l><block s="reportAskFor"><block var="tool"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>name</option></l></block></autolambda><list></list></block><list></list></block><l>: </l></list></block></list></block></block><block s="doAddToList"><block s="reportNewList"><list><l>datetime: </l><custom-block s="datetime"></custom-block></list></block><block var="data"/></block><block s="doAddToList"><block s="reportNewList"><list><l>position: </l><block s="reportAttributeOf"><l>myImagePosition</l><block var="tool"/></block></list></block><block var="data"/></block><block s="doAddToList"><block s="reportNewList"><list><l>current width: </l><block s="reportAttributeOf"><l><option>width</option></l><block var="tool"/></block></list></block><block var="data"/></block><block s="doAddToList"><block s="reportNewList"><list><l>brightness: </l><block s="reportApplyExtension"><l>SciS_brightness(data,xpos,ypos,r,width,height,typeOfData,typeOfArea)</l><list><block s="reportAttributeOf"><l>myData</l><block s="reportAttributeOf"><l>currentImage</l><block s="reportAttributeOf"><l>myWindow</l><block var="tool"/></block></block></block><block s="reportListItem"><l>1</l><block s="reportAttributeOf"><l>myImagePosition</l><block var="tool"/></block></block><block s="reportListItem"><l>2</l><block s="reportAttributeOf"><l>myImagePosition</l><block var="tool"/></block></block><block s="reportVariadicProduct"><list><block s="reportMonadic"><l><option>sqrt</option></l><l>2</l></block><block s="reportQuotient"><block s="reportVariadicProduct"><list><l>2</l><block s="reportAskFor"><block var="tool"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block></list></block><l>5</l></block></list></block><custom-block s="ImagePadProperty %txt of %txt"><l>imageWidth</l><block s="reportAttributeOf"><l>currentImage</l><block s="reportAttributeOf"><l>myWindow</l><block var="tool"/></block></block></custom-block><custom-block s="ImagePadProperty %txt of %txt"><l>imageHeight</l><block s="reportAttributeOf"><l>currentImage</l><block s="reportAttributeOf"><l>myWindow</l><block var="tool"/></block></block></custom-block><custom-block s="ImagePadProperty %txt of %txt"><l>imageType</l><block s="reportAttributeOf"><l>currentImage</l><block s="reportAttributeOf"><l>myWindow</l><block var="tool"/></block></block></custom-block><l>circle</l></list></block></list></block><block var="data"/></block><custom-block s="set %txt of %txt to %s"><l>myData</l><block s="reportAttributeOf"><l>myWindow</l><block var="tool"/></block><block var="data"/></custom-block><block s="doTellTo"><block var="tool"/><block s="reifyScript"><script><block s="doSayFor"><l>Brightness data are stored in myData of the window.</l><l>3</l></block></script><list></list></block><list></list></block></script><list></list></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="event"/><l>receiveInteraction mouse-departed</l></list></block><script><custom-block s="update tool coordinates on %s"><block s="reportAttributeOf"><l>myWindow</l><block var="tool"/></block></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block var="event"/><l>receiveKey +</l></list></block><block s="reportAttributeOf"><l>isActive</l><block var="tool"/></block></list></block><script><block s="doIf"><block s="reportVariadicLessThanOrEquals"><list><block var="size"/><l>190</l></list></block><script><block s="doChangeVar"><l>size</l><l>10</l></block><block s="doTellTo"><block var="tool"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportNewCostume"><block s="reportApplyExtension"><l>SciS_changeToolCostume(size,tool,color)</l><list><block var="size"/><l>squareTool</l><custom-block s="%s as %txt"><l>green</l><l>RGB-value</l></custom-block></list></block><block var="size"/><block var="size"/></block></list></block></script><list></list></block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block var="event"/><l>receiveKey -</l></list></block><block s="reportAttributeOf"><l>isActive</l><block var="tool"/></block></list></block><script><block s="doIf"><block s="reportVariadicGreaterThanOrEquals"><list><block var="size"/><l>30</l></list></block><script><block s="doChangeVar"><l>size</l><l>-10</l></block><block s="doTellTo"><block var="tool"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportNewCostume"><block s="reportApplyExtension"><l>SciS_changeToolCostume(size,tool,color)</l><list><block var="size"/><l>squareTool</l><custom-block s="%s as %txt"><l>green</l><l>RGB-value</l></custom-block></list></block><block var="size"/><block var="size"/></block></list></block></script><list></list></block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block var="event"/><l>receiveKey left arrow</l></list></block><block s="reportAttributeOf"><l>isActive</l><block var="tool"/></block></list></block><script><block s="doGotoObject"><block s="reportVariadicSum"><list><block s="getPosition"></block><block s="reportNewList"><list><l>-1</l><l>0</l></list></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block var="event"/><l>receiveKey right arrow</l></list></block><block s="reportAttributeOf"><l>isActive</l><block var="tool"/></block></list></block><script><block s="doGotoObject"><block s="reportVariadicSum"><list><block s="getPosition"></block><block s="reportNewList"><list><l>1</l><l>0</l></list></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block var="event"/><l>receiveKey up arrow</l></list></block><block s="reportAttributeOf"><l>isActive</l><block var="tool"/></block></list></block><script><block s="doGotoObject"><block s="reportVariadicSum"><list><block s="getPosition"></block><block s="reportNewList"><list><l>0</l><l>1</l></list></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block var="event"/><l>receiveKey down arrow</l></list></block><block s="reportAttributeOf"><l>isActive</l><block var="tool"/></block></list></block><script><block s="doGotoObject"><block s="reportVariadicSum"><list><block s="getPosition"></block><block s="reportNewList"><list><l>0</l><l>-1</l></list></block></list></block></block></script><list></list></block></script><list></list></block></script></block></script></block-definition><block-definition s="Example: Use of a window to an image" type="command" category="6. ImagePad for image operations" space="true"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>theImage</l><l>theWindow</l></list></block><block s="doSetVar"><l>theImage</l><block s="newClone"><l><option>myself</option></l></block></block><custom-block s="configure %s as an ImagePad width: %n height: %n %br color: %txt with close-button? %b left? %b size: %n"><block var="theImage"/><l>400</l><l>300</l><l>lightGray</l><l><bool>false</bool></l><l><bool>false</bool></l><l>15</l></custom-block><block s="doTellTo"><block var="theImage"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block><block s="gotoXY"><l>0</l><l>0</l></block></script><list></list></block><list><block s="reportListItem"><l>20</l><block s="reportGet"><l><option>costumes</option></l></block></block></list></block><block s="doSetVar"><l>theWindow</l><block s="newClone"><l><option>myself</option></l></block></block><custom-block s="configure %txt as a window to ImagePad %s"><block var="theWindow"/><block var="theImage"/></custom-block><block s="doRepeat"><l>3</l><script><custom-block s="magnify or shrink image on window %s by %n %"><block var="theWindow"/><l>10</l></custom-block><block s="doWait"><l>1</l></block></script></block><block s="doRepeat"><l>3</l><script><custom-block s="move image of window %s by %n %n"><block var="theWindow"/><l>20</l><l>20</l></custom-block><block s="doWait"><l>1</l></block></script></block></script></block-definition><block-definition s="Example: get line data with the LineTool" type="command" category="6. ImagePad for image operations"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>theImage</l><l>theWindow</l></list></block><block s="doSetVar"><l>theImage</l><block s="newClone"><l><option>myself</option></l></block></block><custom-block s="configure %s as an ImagePad width: %n height: %n %br color: %txt with close-button? %b left? %b size: %n"><block var="theImage"/><l>400</l><l>300</l><l>lightGray</l><l><bool>false</bool></l><l><bool>false</bool></l><l>15</l></custom-block><block s="doTellTo"><block var="theImage"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block><block s="gotoXY"><l>0</l><l>0</l></block></script><list></list></block><list><block s="reportListItem"><l>20</l><block s="reportGet"><l><option>costumes</option></l></block></block></list></block><block s="doSetVar"><l>theWindow</l><block s="newClone"><l><option>myself</option></l></block></block><custom-block s="configure %txt as a window to ImagePad %s"><block var="theWindow"/><block var="theImage"/></custom-block><custom-block s="%txt %txt - tool for window %s size %n"><l>remove</l><l>line</l><block var="theWindow"/><l>15</l></custom-block><custom-block s="%txt %txt - tool for window %s size %n"><l>create</l><l>line</l><block var="theWindow"/><l>15</l></custom-block><block s="doTellTo"><l>TheLineTool</l><block s="reifyScript"><script><block s="bubble"><l>Move the LineTool or its ends with the mouse. Shift-click on the yellow LineTool to get data.</l></block></script><list></list></block><list></list></block></script></block-definition><block-definition s="Example: get brightness data with SquareTools" type="command" category="6. ImagePad for image operations"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>theImage</l><l>theWindow</l></list></block><block s="doSwitchToCostume"><l>HilbertoLeft</l></block><block s="bubble"><l></l></block><block s="doSetVar"><l>theImage</l><custom-block s="create a %txt ( of %s ) %br with name %txt"><l>newSprite</l><l>thisSprite</l><l>TheImage</l></custom-block></block><custom-block s="configure %s as an ImagePad width: %n height: %n %br color: %txt with close-button? %b left? %b size: %n"><block var="theImage"/><l>400</l><l>300</l><l>lightGray</l><l><bool>false</bool></l><l><bool>false</bool></l><l>15</l></custom-block><block s="doTellTo"><block var="theImage"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block><block s="gotoXY"><l>0</l><l>0</l></block></script><list></list></block><list><block s="reportListItem"><l>20</l><block s="reportGet"><l><option>costumes</option></l></block></block></list></block><block s="doSetVar"><l>theWindow</l><custom-block s="create a %txt ( of %s ) %br with name %txt"><l>newSprite</l><l>thisSprite</l><l>TheWindow</l></custom-block></block><custom-block s="configure %txt as a window to ImagePad %s"><block var="theWindow"/><block var="theImage"/></custom-block><block s="doTellTo"><block var="theImage"/><block s="reifyScript"><script><custom-block s="import image data from %s %br to myData of %s and set properties"><l>currentCostume</l><block var="theImage"/></custom-block></script><list></list></block><list></list></block><block s="gotoXY"><l>-200</l><l>150</l></block><block s="goToLayer"><l><option>front</option></l></block><block s="bubble"><l>Activate SquareTools by mouseclick, enlarge or reduce activated SquareTools by +/- keys, move them by arrow keys. Get data by shift-click on a SquareTool.</l></block><custom-block s="%txt %txt - tool for window %s size %n"><l>create</l><l>a square</l><l>TheWindow</l><l>50</l></custom-block><block s="doTellTo"><block s="reportListItem"><l>1</l><custom-block s="get %txt of sprite %s"><l>mySquareTools</l><block var="theWindow"/></custom-block></block><block s="reifyScript"><script><block s="gotoXY"><l>0</l><l>0</l></block></script><list></list></block><list></list></block><custom-block s="%txt %txt - tool for window %s size %n"><l>create</l><l>a square</l><l>TheWindow</l><l>50</l></custom-block><custom-block s="%txt %txt - tool for window %s size %n"><l>create</l><l>a square</l><l>TheWindow</l><l>50</l></custom-block></script></block-definition><block-definition s="Example: graphical noise" type="command" category="looks" space="true"><comment x="0" y="0" w="172.8603515625" collapsed="false">Random graphic, inspired by &quot;Merzbild 1a - the psychiatrist&quot; &#xD;painted by Kurt Schwitters.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>stamp</l></list></block><custom-block s="start SciSnap! stage: %n X %n"><l>800</l><l>600</l></custom-block><block s="hide"></block><custom-block s="show global message title: %txt %br message: %txt"><l>headline</l><l>Load your favorite picture as a background for the stage! Then press the space bar. Stop image creation with mouseclick.</l></custom-block><block s="doWaitUntil"><block s="reportKeyPressed"><l><option>space</option></l></block></block><block s="doSetVar"><l>stamp</l><custom-block s="create a %txt ( of %s ) %br with name %txt"><l>duplicate</l><l>thisSprite</l><l>Hilberto</l></custom-block></block><block s="doTellTo"><block var="stamp"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><custom-block s="new costume size: %n %n %s"><block s="reportRandom"><l>20</l><l>50</l></block><block s="reportRandom"><l>20</l><l>50</l></block><l>lightGray</l></custom-block></list></block><block s="doUntil"><block s="reportMouseDown"></block><script><block s="doTellTo"><block var="stamp"/><block s="reifyScript"><script><block s="gotoXY"><block s="reportRandom"><l>-400</l><l>400</l></block><block s="reportRandom"><l>-300</l><l>300</l></block></block></script><list></list></block><list></list></block><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doPasteOn"><l></l></block></script><list></list></block><list><block var="stamp"/></list></block><block s="doTellTo"><block var="stamp"/><block s="reifyScript"><script><block s="turnLeft"><block s="reportRandom"><l>1</l><l>360</l></block></block><block s="forward"><block s="reportRandom"><l>5</l><l>20</l></block></block><block s="doPasteOn"><l>Stage</l></block></script><list></list></block><list></list></block></script></block><custom-block s="remove sprite %s"><block var="stamp"/></custom-block><block s="doSwitchToCostume"><l>HilbertoLeft</l></block><block s="gotoXY"><l>350</l><l>-250</l></block><block s="show"></block></script></block-definition><block-definition s="Example: create dynamically a new sprite $nl that responds to three events" type="command" category="0. My own blocks" space="true"><comment x="0" y="0" w="144.4999999999999" collapsed="false">The reaction of the sprite must be defined in the block &quot;let &lt;sprite&gt; respond to &lt;event&gt;&quot;.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>newSprite</l></list></block><block s="doSetVar"><l>newSprite</l><custom-block s="create a %txt ( of %s ) %br with name %txt"><l>newSprite</l><l>thisSprite</l><l>TheNewSprite</l><comment w="90" collapsed="false">create a new sprite</comment></custom-block></block><block s="doTellTo"><block var="newSprite"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block><block s="gotoXY"><l>0</l><l>0</l></block></script><list></list></block><list><block s="reportListItem"><l>5</l><block s="reportAskFor"><l>Hilberto</l><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costumes</option></l></block></autolambda><list></list></block><list></list></block></block></list><comment w="90" collapsed="false">choose costume</comment></block><custom-block s="install eventhandler %s for %s"><l>receiveKey +</l><block var="newSprite"/><comment w="119.189453125" collapsed="false">add three event handler</comment></custom-block><custom-block s="install eventhandler %s for %s"><l>receiveKey -</l><block var="newSprite"/></custom-block><custom-block s="install eventhandler %s for %s"><l>receiveInteraction clicked</l><block var="newSprite"/></custom-block><block s="doTellTo"><block var="newSprite"/><block s="reifyScript"><script><block s="bubble"><l></l></block></script><list></list></block><list><l>Let me grow/shrink by pressing the +/- buttons or delete me by mouse click.</l></list><comment w="90" collapsed="false">choose costume</comment></block></script></block-definition><block-definition s="variadic position %&apos;position&apos; $arrowRightOutline position" type="reporter" category="1. SciSnap! globals" space="true"><comment x="0" y="0" w="126.00000000000011" collapsed="false">Converts a variadic position parameter into a position.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%s"></input></inputs><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="position"/></block><l>2</l></list></block><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="position"/></block><l><option>number</option></l></block><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="position"/></block><l><option>number</option></l></block></list></block><script><block s="doReport"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="position"/></block><block s="reportListItem"><l>2</l><block var="position"/></block></list></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: position or two numbers expected!</l><l>variadic position --&gt; position</l></custom-block></script></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="position"/></block><l>1</l></list></block><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="position"/></block><l><option>list</option></l></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="position"/></block></block><l>2</l></list></block><block s="reportIsA"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="position"/></block></block><l><option>number</option></l></block><block s="reportIsA"><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="position"/></block></block><l><option>number</option></l></block></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="position"/></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: position or two numbers expected!</l><l>variadic position --&gt; position</l></custom-block></script></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: position or two numbers expected!</l><l>variadic position --&gt; position</l></custom-block></script></block></script></block></script><scripts><script x="375.5" y="474"><block s="doReport"><block s="reportNewList"><list><l>1</l><l>1</l></list></block></block></script></scripts></block-definition><block-definition s="variadic color %&apos;color&apos; $arrowRightOutline RGB(A)-value" type="reporter" category="1. SciSnap! globals"><comment x="0" y="0" w="152.85714285714297" collapsed="false">Converts a variadic color parameter into a RGB(A)-value.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%s"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="color"/></block><l>3</l></list></block><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="color"/></block><l><option>number</option></l></block><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="color"/></block><l><option>number</option></l></block><block s="reportIsA"><block s="reportListItem"><l>3</l><block var="color"/></block><l><option>number</option></l></block></list></block><script><block s="doReport"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="color"/></block><block s="reportListItem"><l>2</l><block var="color"/></block><block s="reportListItem"><l>3</l><block var="color"/></block></list></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: three RGB-values expected!</l><l>variadic color --&gt; RGB(A) value</l></custom-block></script></block></script><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="color"/></block><l>4</l></list></block><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="color"/></block><l><option>number</option></l></block><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="color"/></block><l><option>number</option></l></block><block s="reportIsA"><block s="reportListItem"><l>3</l><block var="color"/></block><l><option>number</option></l></block><block s="reportIsA"><block s="reportListItem"><l>4</l><block var="color"/></block><l><option>number</option></l></block></list></block><script><block s="doReport"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="color"/></block><block s="reportListItem"><l>2</l><block var="color"/></block><block s="reportListItem"><l>3</l><block var="color"/></block><block s="reportListItem"><l>4</l><block var="color"/></block></list></block></block></script><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: four RGBA-values expected!</l><l>variadic color --&gt; RGB(A) value</l></custom-block></script></block></script><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="color"/></block><l>1</l></list></block><script><block s="doSetVar"><l>color</l><block s="reportListItem"><l>1</l><block var="color"/></block></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportIsA"><block var="color"/><l><option>number</option></l></block><block s="reportIsA"><block var="color"/><l><option>text</option></l></block></list></block><script><block s="doReport"><custom-block s="%s as %txt"><block var="color"/><l>RGB-value</l></custom-block></block></script><list><block s="reportIsA"><block var="color"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="color"/></block><l>3</l></list></block><script><block s="doReport"><custom-block s="%s as %txt"><block var="color"/><l>RGB-value</l></custom-block></block></script><script><block s="doReport"><custom-block s="%s as %txt"><block var="color"/><l>RGBA-value</l></custom-block></block></script></block></script><l><bool>true</bool></l><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: RGB(A)-values, color number, or color name expected!</l><l>variadic color --&gt; RGB(A) value</l></custom-block></script></list></block></script><l><bool>true</bool></l><script><block s="doReport"><block s="reportNewList"><list><l>0</l><l>0</l><l>0</l></list></block></block></script></list></block></script></block-definition><block-definition s="translate %&apos;text&apos;" type="reporter" category="1. SciSnap! globals" space="true"><comment x="0" y="0" w="90" collapsed="false">Currently not used.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">any text</input></inputs><script><block s="doReport"><block var="text"/></block></script></block-definition><block-definition s="apply Wolfram automaton no %&apos;no&apos; to grid %&apos;grid&apos; $nl with colors for 0: %&apos;color0&apos; and 1: %&apos;color1&apos;" type="reporter" category="9. GridPad for grid operations" space="true"><comment x="0" y="0" w="237" collapsed="false">Applies a Wolfram Cellular Automaton to a grid.</comment><header></header><code></code><translations></translations><inputs><input type="%n">30</input><input type="%l"></input><input type="%n">3</input><input type="%n">1</input></inputs><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="grid"/><l>matrix</l></custom-block></block><script><block s="doReport"><l>ERROR: grid expected!</l></block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_applyWolframAutomatonToAgridOnGridPad(no,grid,color0,color1)</l><list><block var="no"/><block var="grid"/><block var="color0"/><block var="color1"/></list></block></block></script></block-definition><block-definition s="is %&apos;set&apos; numerical?" type="predicate" category="2. Math tools"><comment x="0" y="0" w="114.66666666666669" collapsed="false">Reports whether the set is numerical or not.</comment><header></header><code></code><translations></translations><inputs><input type="%s">this set</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set"/><l>set</l></custom-block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: parameter is not a set!</l><l>is set numerical?</l></custom-block></script><list></list></block><block s="doReport"><block s="reportListItem"><l>2</l><block var="set"/></block></block></script></block></script></block-definition><block-definition s="install eventhandler %&apos;event&apos; for %&apos;sprite&apos;" type="command" category="control"><comment x="0" y="0" w="117.59999999999998" collapsed="false">Installs an event handling method for a sprite.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">receiveGo<options>receiveGo&#xD;receiveKey enter&#xD;receiveKeyspace&#xD;receiveKey +&#xD;receiveKey -&#xD;receiveKey up arrow&#xD;receiveKey down arrow&#xD;receiveKey left arrow&#xD;receiveKey right arrow&#xD;receiveInteraction clicked&#xD;receiveInteraction pressed&#xD;receiveInteraction mouse-entered&#xD;receiveInteraction mouse-departed&#xD;receiveInteraction scrolled up&#xD;receiveInteraction scrolleddown&#xD;receiveMessage</options></input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>caller</l><l>xml</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="target"/><l><option>sprite</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: sprite required!</l><l>install eventhandler for ...</l></custom-block></script><list></list></block><block s="doSetVar"><l>caller</l><block s="reportGet"><l><option>self</option></l></block></block><block s="doSetVar"><l>xml</l><block s="reportJoinWords"><list><l>&lt;script app="Snap! 9.0, https://snap.berkeley.edu" version="2"&gt;&lt;script&gt;&lt;block s="</l></list></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><custom-block s="index of %txt in %txt"><l>Go</l><block var="event"/></custom-block><l>0</l></list></block><script><block s="doSetVar"><l>xml</l><block s="reportJoinWords"><list><block var="xml"/><l>receiveGo"&gt;</l></list></block></block></script><list><block s="reportVariadicGreaterThan"><list><custom-block s="index of %txt in %txt"><l>Key</l><block var="event"/></custom-block><l>0</l></list></block><script><block s="doSetVar"><l>xml</l><block s="reportJoinWords"><list><block var="xml"/><l>receiveKey"&gt;&lt;l&gt;&lt;option&gt;</l><custom-block s="substring of %txt from %n to %n"><block var="event"/><l>12</l><block s="reportTextAttribute"><l><option>length</option></l><block var="event"/></block></custom-block><l>&lt;/option&gt;&lt;/l&gt;&lt;list&gt;&lt;/list&gt;</l></list></block></block></script><block s="reportVariadicGreaterThan"><list><custom-block s="index of %txt in %txt"><l>receiveMessage</l><block var="event"/></custom-block><l>0</l></list></block><script><block s="doSetVar"><l>xml</l><block s="reportJoinWords"><list><block var="xml"/><l>receiveMessage"&gt;&lt;l&gt;&lt;option&gt;any message&lt;/option&gt;&lt;/l&gt;&lt;list&gt;&lt;/list&gt;</l></list></block></block></script><block s="reportVariadicGreaterThan"><list><custom-block s="index of %txt in %txt"><l>receiveInteraction</l><block var="event"/></custom-block><l>0</l></list></block><script><block s="doSetVar"><l>xml</l><block s="reportJoinWords"><list><block var="xml"/><l>receiveInteraction"&gt;&lt;l&gt;&lt;option&gt;</l><custom-block s="substring of %txt from %n to %n"><block var="event"/><l>20</l><block s="reportTextAttribute"><l><option>length</option></l><block var="event"/></block></custom-block><l>&lt;/option&gt;&lt;/l&gt;&lt;list&gt;&lt;/list&gt;</l></list></block></block></script></list></block><block s="doSetVar"><l>xml</l><block s="reportJoinWords"><list><block var="xml"/><l>&lt;/block&gt;&lt;custom-block s="let %s respond to %s"&gt;&lt;block s="reportObject"&gt;&lt;l&gt;&lt;option&gt;myself&lt;/option&gt;&lt;/l&gt;&lt;/block&gt;&lt;l&gt;</l><block var="event"/><l>&lt;/l&gt;&lt;/custom-block&gt;&lt;/script&gt;&lt;/script&gt;</l></list></block></block><custom-block s="select sprite %s"><block var="target"/></custom-block><block s="doRun"><block s="reifyScript"><script><block s="doApplyExtension"><l>SciS_installEventHandler(data)</l><list><l></l></list></block></script><list></list></block><list><block var="xml"/></list></block><custom-block s="select sprite %s"><block var="caller"/></custom-block></script></block></script></block-definition><block-definition s="Example: diffusion" type="command" category="9. GridPad for grid operations" space="true"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="configure %s as an GridPad width: %n height: %n %br color: %txt with close-button? %b left? %b size: %n"><l>thisSprite</l><l>400</l><l>400</l><l>lightGray</l><l><bool>false</bool></l><l><bool>false</bool></l><l>15</l></custom-block><custom-block s="set GridPad grid properties on %s %br horizontal cells: %n vertical cells: %n %br initial cell colornumber: %n with grid lines? %b"><l>thisSprite</l><l>400</l><l>400</l><l>4</l><l><bool>false</bool></l></custom-block><custom-block s="fill cells on %s range x: %n %s y: %n %s %br randomly with color numbers %mult%n"><l>thisSprite</l><l>150</l><l>250</l><l>150</l><l>250</l><list><l>2</l></list></custom-block><custom-block s="add grid %s on %s"><l>myData</l><l>thisSprite</l></custom-block><block s="doForever"><script><block s="doSetVar"><l>myData</l><custom-block s="all cells on %s as torus? %b swapped %n times %br randomly inside radius %n range x: %n %s y: %n %s"><l>thisSprite</l><l><bool>true</bool></l><l>1</l><l>5</l><l>1</l><l>xMax</l><l>1</l><l>yMax</l></custom-block></block><custom-block s="add grid %s on %s"><l>myData</l><l>thisSprite</l></custom-block></script></block></script></block-definition><block-definition s="Example: Wolfram Automaton No. 30" type="command" category="9. GridPad for grid operations"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="configure %s as an GridPad width: %n height: %n %br color: %txt with close-button? %b left? %b size: %n"><l>thisSprite</l><l>400</l><l>300</l><l>lightGray</l><l><bool>false</bool></l><l><bool>false</bool></l><l>15</l></custom-block><custom-block s="set GridPad grid properties on %s %br horizontal cells: %n vertical cells: %n %br initial cell colornumber: %n with grid lines? %b"><l>thisSprite</l><l>400</l><l>300</l><l>11</l><l><bool>false</bool></l></custom-block><custom-block s="set cell value on %s at %n %n to %n %br with grid lines? %b"><l>thisSprite</l><l>200</l><l>1</l><l>1</l><l><bool>false</bool></l></custom-block><custom-block s="add grid %s on %s"><custom-block s="apply Wolfram automaton no %n to grid %l %br with colors for 0: %n and 1: %n"><l>30</l><block var="myData"/><l>11</l><l>1</l></custom-block><l>thisSprite</l></custom-block></script></block-definition><block-definition s="extract pure text from %&apos;text&apos;" type="reporter" category="operators" space="true"><comment x="0" y="0" w="250.66666666666666" collapsed="false">Extracts the words in upper case from a text, e.g. for statistical analysis or cryptographic purposes. </comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>c</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>text</l><block s="reportTextAttribute"><l><option>upper case</option></l><block var="text"/></block></block><block s="doSetVar"><l>text</l><custom-block s="replace %txt %txt with %txt in %txt"><l>all</l><l>Ä</l><l>AE</l><block var="text"/></custom-block></block><block s="doSetVar"><l>text</l><custom-block s="replace %txt %txt with %txt in %txt"><l>all</l><l>Ö</l><l>OE</l><block var="text"/></custom-block></block><block s="doSetVar"><l>text</l><custom-block s="replace %txt %txt with %txt in %txt"><l>all</l><l>Ü</l><l>UE</l><block var="text"/></custom-block></block><block s="doSetVar"><l>text</l><custom-block s="replace %txt %txt with %txt in %txt"><l>all</l><l>Ü</l><l>UE</l><block var="text"/></custom-block></block><block s="doSetVar"><l>result</l><l></l></block><block s="doFor"><l>i</l><l>1</l><block s="reportTextAttribute"><l><option>length</option></l><block var="text"/></block><script><block s="doSetVar"><l>c</l><block s="reportLetter"><block var="i"/><block var="text"/></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportUnicode"><block var="c"/></block><l>13</l></list></block><script><block s="doSetVar"><l>c</l><l> </l></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="c"/><l> </l></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="c"/><l>A</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="c"/><l>Z</l></list></block></list></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block var="c"/></list></block></block></script><list></list></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="prepare data für naive Bayes text classification $nl from text list of category 1 %&apos;textlist1&apos; $nl and text list of other categories %&apos;textlist2&apos;" type="reporter" category="operators"><comment x="0" y="0" w="224" collapsed="false">Reports a list [p(category1), p(category2), LagrangeSmoothing1, LagrangeSmoothing2,  probabilities1, probabilities2) for naive Bayes classification of texts.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>pCat1</l><l>pCat2</l><l>text1</l><l>text2</l><l>total vocabulary</l><l>vocabulary1</l><l>vocabulary2</l><l>lengthTotalVocabulary</l><l>lengthVocabulary1</l><l>lengthVocabulary2</l><l>conditional probabilities1</l><l>conditional probabilities2</l><l>countedWords1</l><l>countedWords2</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="textlist1"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="textlist2"/></block><l>0</l></list></block></list></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>two lists of texts necessary!</l><l>prepare data for Bayes classification</l></custom-block></script><list></list></block><block s="doSetVar"><l>pCat1</l><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block var="textlist1"/></block><block s="reportVariadicSum"><list><block s="reportListAttribute"><l><option>length</option></l><block var="textlist1"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="textlist2"/></block></list></block></block></block><block s="doSetVar"><l>pCat2</l><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block var="textlist2"/></block><block s="reportVariadicSum"><list><block s="reportListAttribute"><l><option>length</option></l><block var="textlist1"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="textlist2"/></block></list></block></block></block><block s="doSetVar"><l>text1</l><block s="reportListItem"><l>1</l><block var="textlist1"/></block></block><block s="doFor"><l>i</l><l>2</l><block s="reportListAttribute"><l><option>length</option></l><block var="textlist1"/></block><script><block s="doSetVar"><l>text1</l><block s="reportJoinWords"><list><block var="text1"/><l> </l><block s="reportListItem"><block var="i"/><block var="textlist1"/></block></list></block></block></script></block><block s="doSetVar"><l>text2</l><block s="reportListItem"><l>1</l><block var="textlist2"/></block></block><block s="doFor"><l>i</l><l>2</l><block s="reportListAttribute"><l><option>length</option></l><block var="textlist2"/></block><script><block s="doSetVar"><l>text2</l><block s="reportJoinWords"><list><block var="text2"/><l> </l><block s="reportListItem"><block var="i"/><block var="textlist2"/></block></list></block></block></script></block><block s="doSetVar"><l>text1</l><custom-block s="extract pure text from %txt"><block var="text1"/></custom-block></block><block s="doSetVar"><l>text2</l><custom-block s="extract pure text from %txt"><block var="text2"/></custom-block></block><block s="doSetVar"><l>countedWords1</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><l/></block></block><l>0</l></list></block></autolambda><list></list></block><custom-block s="count values in %s"><block s="reportTextSplit"><block var="text1"/><l> </l></block></custom-block></block></block><block s="doSetVar"><l>countedWords2</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><l/></block></block><l>0</l></list></block></autolambda><list></list></block><custom-block s="count values in %s"><block s="reportTextSplit"><block var="text2"/><l> </l></block></custom-block></block></block><block s="doSetVar"><l>vocabulary1</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>1</l><block var="countedWords1"/><l><bool>true</bool></l></custom-block></block><block s="doSetVar"><l>vocabulary2</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>1</l><block var="countedWords2"/><l><bool>true</bool></l></custom-block></block><block s="doSetVar"><l>total vocabulary</l><custom-block s="sort %s with predicate %predRing"><custom-block s="%s without duplicates"><block s="reportConcatenatedLists"><list><block var="vocabulary1"/><block var="vocabulary2"/></list></block></custom-block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block></custom-block></block><block s="doSetVar"><l>lengthTotalVocabulary</l><block s="reportListAttribute"><l><option>length</option></l><block var="total vocabulary"/></block></block><block s="doSetVar"><l>lengthVocabulary1</l><block s="reportListAttribute"><l><option>length</option></l><block var="vocabulary1"/></block></block><block s="doSetVar"><l>lengthVocabulary2</l><block s="reportListAttribute"><l><option>length</option></l><block var="vocabulary2"/></block></block><block s="doSetVar"><l>conditional probabilities1</l><block s="reportMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="value"/></block><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportListItem"><l>2</l><block var="value"/></block><l>1</l></list></block><block s="reportVariadicSum"><list><block var="lengthVocabulary1"/><block var="lengthTotalVocabulary"/></list></block></block></list></block></block></script><list><l>value</l></list></block><block var="countedWords1"/></block></block><block s="doSetVar"><l>conditional probabilities2</l><block s="reportMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="value"/></block><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportListItem"><l>2</l><block var="value"/></block><l>1</l></list></block><block s="reportVariadicSum"><list><block var="lengthVocabulary2"/><block var="lengthTotalVocabulary"/></list></block></block></list></block></block></script><list><l>value</l></list></block><block var="countedWords2"/></block></block><block s="doReport"><block s="reportNewList"><list><block var="pCat1"/><block var="pCat2"/><block s="reportQuotient"><l>1</l><block s="reportVariadicSum"><list><block var="lengthVocabulary1"/><block var="lengthTotalVocabulary"/></list></block></block><block s="reportQuotient"><l>1</l><block s="reportVariadicSum"><list><block var="lengthVocabulary2"/><block var="lengthTotalVocabulary"/></list></block></block><block var="conditional probabilities1"/><block var="conditional probabilities2"/></list></block></block></script></block></script><scripts><script x="1405.4332031249996" y="435.21666666666687"><block var="text2"/></script></scripts></block-definition><block-definition s="naive Bayes classification of %&apos;text&apos; $nl based on trained data %&apos;trained data&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt">this text</input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>wordlist</l><l>result1</l><l>result2</l><l>factor</l><l>LagrangeSmoothing1</l><l>LagrangeSmoothing2</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>wordlist</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><l></l></block><l>0</l></list></block></autolambda><list></list></block><block s="reportTextSplit"><custom-block s="extract pure text from %txt"><block var="text"/></custom-block><l> </l></block></block></block><block s="doSetVar"><l>result1</l><block s="reportListItem"><l>1</l><block var="trained data"/></block></block><block s="doSetVar"><l>result2</l><block s="reportListItem"><l>2</l><block var="trained data"/></block></block><block s="doForEach"><l>word</l><block var="wordlist"/><script><block s="doSetVar"><l>factor</l><block s="reportListItem"><block var="word"/><block s="reportListItem"><l>5</l><block var="trained data"/></block></block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="factor"/><l><option>number</option></l></block></block><script><block s="doSetVar"><l>factor</l><block s="reportListItem"><l>3</l><block var="trained data"/></block></block></script><list></list></block><block s="doSetVar"><l>result1</l><block s="reportVariadicProduct"><list><block var="result1"/><block var="factor"/></list></block></block><block s="doSetVar"><l>factor</l><block s="reportListItem"><block var="word"/><block s="reportListItem"><l>6</l><block var="trained data"/></block></block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="factor"/><l><option>number</option></l></block></block><script><block s="doSetVar"><l>factor</l><block s="reportListItem"><l>4</l><block var="trained data"/></block></block></script><list></list></block><block s="doSetVar"><l>result2</l><block s="reportVariadicProduct"><list><block var="result2"/><block var="factor"/></list></block></block></script></block><block s="doReport"><block s="reportNewList"><list><block s="reportQuotient"><block var="result1"/><block s="reportVariadicSum"><list><block var="result1"/><block var="result2"/></list></block></block><block s="reportQuotient"><block var="result2"/><block s="reportVariadicSum"><list><block var="result1"/><block var="result2"/></list></block></block></list></block></block></script></block></script></block-definition><block-definition s="list %&apos;list&apos; from item %&apos;start&apos; to item %&apos;end&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%n">1</input><input type="%n">2</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>i</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="list"/><l><option>list</option></l></block></block><script><custom-block s="report SciSnap! error %txt %br from %txt and stop all scripts"><l>ERROR: list required!</l><l>part of list</l></custom-block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="end"/></list></block><script><block s="doAddToList"><block s="reportListItem"><block var="i"/><block var="list"/></block><block var="result"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition></blocks><primitives></primitives><stage name="Stage" width="800" height="600" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="81479"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAyAAAAJYCAYAAACadoJwAAAAAXNSR0IArs4c6QAAIABJREFUeF7t1zENAAAMw7CVP+mxyOURqGTtyc4RIECAAAECBAgQIEAgEli0Y4YAAQIECBAgQIAAAQInQDwBAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIEAB/8+bAAAFmklEQVSAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAgIED8AAECBAgQIECAAAECmYAAyagNESBAgAABAgQIECAgQPwAAQIECBAgQIAAAQKZgADJqA0RIECAAAECBAgQICBA/AABAgQIECBAgAABApmAAMmoDREgQIAAAQIECBAg8MpvAllhbH9NAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="81480"></list></costumes><sounds><list struct="atomic" id="81481"></list></sounds><variables><variable name="myProperties"><list id="81483"><item><list struct="atomic" id="81484">typeOfConfiguration,ImagePad</list></item><item><list struct="atomic" id="81485">typeOfData,none</list></item><item><list id="81486"><item><l>lineProperties</l></item><item><list struct="atomic" id="81487">continuous,1,0,0,0,245,245,245</list></item></list></item><item><list id="81488"><item><l>dataProperties</l></item><item><list struct="atomic" id="81489">notSet,notSet,0,0</list></item></list></item><item><list id="81490"><item><l>imageProperties</l></item><item><list struct="atomic" id="81491">notSet,0,0</list></item></list></item><item><list id="81492"><item><l>costumeProperties</l></item><item><list struct="atomic" id="81493">800,600,245,245,245,200,240</list></item></list></item></list></variable><variable name="myData"><list struct="atomic" id="81494"></list></variable></variables><blocks></blocks><scripts><script x="20" y="123"><block s="receiveInteraction"><l><option>stopped</option></l></block><block s="doSetVar"><l>started</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script x="548" y="309.83333333333337"><custom-block s="set value %s to %s"><l>Stage size</l><l>1</l></custom-block></script><script x="20" y="246"><block s="receiveGo"></block><custom-block s="start SciSnap!"></custom-block><block s="doBroadcast"><l></l><list></list></block><block s="doBroadcast"><l>start</l><list></list></block></script></scripts><sprites select="1"><sprite name="Hilberto" idx="1" x="0" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" costume="3" color="80,80,80,1" pen="tip" id="81518"><costumes><list id="81519"><item><ref mediaID="Hilberto_cst_Untitled"></ref></item><item><ref mediaID="Hilberto_cst_HilbertoLeft"></ref></item><item><ref mediaID="Hilberto_cst_HilbertoRight"></ref></item></list></costumes><sounds><list struct="atomic" id="81520"></list></sounds><blocks></blocks><variables><variable name="myProperties"><list id="81523"><item><list struct="atomic" id="81524">typeOfConfiguration,ImagePad</list></item><item><list struct="atomic" id="81525">typeOfData,none</list></item><item><list id="81526"><item><l>lineProperties</l></item><item><list struct="atomic" id="81527">continuous,1,0,0,0,180,180,180</list></item></list></item><item><list id="81528"><item><l>dataProperties</l></item><item><list struct="atomic" id="81529">notSet,notSet,0,0</list></item></list></item><item><list id="81530"><item><l>imageProperties</l></item><item><list struct="atomic" id="81531">notSet,0,0</list></item></list></item><item><list id="81532"><item><l>costumeProperties</l></item><item><list struct="atomic" id="81533">400,300,245,245,245,0,0</list></item></list></item></list></variable><variable name="myData"><list struct="atomic" id="81534"></list></variable><variable name="myCloseButton"><l>not set</l></variable></variables><scripts><script x="75" y="202.33333333333337"><block s="receiveMessage"><l>start</l><list></list></block><block s="doForever"><script><block s="gotoXY"><l>0</l><l>0</l></block></script></block></script><script x="20" y="10"><block s="receiveGo"></block><custom-block s="start SciSnap! stage: %n X %n"><l>800</l><l>600</l></custom-block><block s="doBroadcast"><l></l><list></list></block><block s="doBroadcast"><l>start</l><list></list></block></script></scripts></sprite><watcher var="SQLData" style="normal" x="10.000000000000455" y="9.999999999999936" color="243,118,29" extX="200" extY="149.99999999999994"/><watcher var="SciSnap!Data" style="normal" x="10.000000000000455" y="183.00000200000008" color="243,118,29" hidden="true"/><watcher var="SciSnap!Messages" style="normal" x="10.000000000000455" y="276.00000400000005" color="243,118,29" hidden="true"/><watcher var="SciSnap!Properties" style="normal" x="10.000000000000455" y="369.0000059999993" color="243,118,29" hidden="true"/><watcher scope="Hilberto" var="myData" style="normal" x="10.000000000000455" y="506.9999980000007" color="243,118,29" hidden="true"/><watcher var="started" style="normal" x="10" y="10" color="243,118,29" hidden="true"/><watcher var="SciSnap!Costumes" style="normal" x="10" y="34.000002" color="243,118,29" extX="80" extY="70"/></sprites></stage><variables><variable name="SciSnap!Properties"><list id="81566"><item><list struct="atomic" id="81567">key,value</list></item><item><list struct="atomic" id="81568">typeOfData,not set</list></item><item><list struct="atomic" id="81569">width,not set</list></item><item><list struct="atomic" id="81570">height,not set</list></item><item><list struct="atomic" id="81571">minValue,not set</list></item><item><list struct="atomic" id="81572">maxValue,not set</list></item><item><list struct="atomic" id="81573">columns,0</list></item><item><list struct="atomic" id="81574">rows,0</list></item><item><list struct="atomic" id="81575">maxSetValue,500</list></item></list></variable><variable name="SciSnap!Data"><list struct="atomic" id="81576"></list></variable><variable name="SciSnap!Messages"><list struct="atomic" id="81577"></list></variable><variable name="SQLData"><list id="81578"><item><list struct="atomic" id="81579">1997-12.06.81-1,Arkson,Ecki,12.06.1981,Novozybkov,russisch,m,sonst.,77077,Burgberg,,01.08.1995,01.08.1997,IGS,Jo,Bi,,x,</list></item><item><list struct="atomic" id="81580">1998-16.07.80-1,Brummer,Steffi,16.07.1980,Wolfsburg,deutsch,w,kath.,77077,Burgberg,Ortsteilhausen,01.08.1997,01.08.1998,IGS,Hf,Bz,,,</list></item><item><list struct="atomic" id="81581">1998-23.08.81-1,Benner,Janina,23.08.1981,Goettingen,deutsch,w,ohne Konf.,77077,Burgberg,,01.08.1992,01.08.1998,IGS,a,Bt,,,</list></item><item><list struct="atomic" id="81582">1998-23.09.80-1,Bergmann,Alice,23.09.1980,Duderstadt,deutsch,w,kath.,77088,Lanndsdorf,Ortsteilhausen,01.08.1999,01.08.1998,GY,,Bt,,,</list></item><item><list struct="atomic" id="81583">1998-20.08.80-3,Batton,Alina,20.08.1980,Goettingen,deutsch,w,evang.,77088,Lanndsdorf,,01.08.1992,01.08.1998,IGS,Wl,Bi,,,</list></item><item><list struct="atomic" id="81584">1998-07.03.80-4,Beusberg,Christina,07.03.1980,Northeim,deutsch,w,kath.,77088,Lanndsdorf,,01.08.1999,01.08.1998,GY,,St,,,</list></item><item><list struct="atomic" id="81585">1998-14.06.81-5,Boemmel,Hugo,14.06.1981,Goettingen,deutsch,m,evang.,77088,Lanndsdorf,Ortsteilhausen,01.08.1992,01.08.1998,IGS,Bi,Fr,,,</list></item><item><list struct="atomic" id="81586">1998-20.06.80-1,Burgmann,Inga,20.06.1980,Goettingen,deutsch,w,kath.,77077,Burgberg,Ortsteilhausen,01.08.1999,01.08.1998,GY,,Go,,,</list></item><item><list struct="atomic" id="81587">1998-08.06.80-3,Borneberg,Erwin,08.06.1980,Goettingen,deutsch,m,ohne Konf.,77088,Lanndsdorf,,01.08.1992,01.08.1998,IGS,Hf,Br,,,</list></item><item><list struct="atomic" id="81588">1998-05.11.81-6,Berg,Leni,05.11.1981,Wittingen,deutsch,w,evang.,77077,Burgberg,,01.08.1998,01.08.1998,RS,La,La,,,</list></item><item><list struct="atomic" id="81589">1998-27.03.80-3,Gruen,Karl,27.03.1980,Goettingen,deutsch,m,ohne Konf.,77077,Burgberg,Ortsteilhausen,01.08.1992,01.08.1998,IGS,Bi,Bi,,,</list></item><item><list struct="atomic" id="81590">1998-08.06.81-1,Brummel,Otto,08.06.1981,Ludwigshafen,deutsch,m,evang.,77077,Burgberg,Ortsteilhausen,01.08.1993,01.08.1998,IGS,Bi,Bi,,,</list></item><item><list struct="atomic" id="81591">1998-22.03.81-6,Bahn,Johann,22.03.1981,Berlin-Kaulsdorf,deutsch,m,ohne Konf.,77077,Burgberg,,01.08.1995,01.08.1998,IGS,Hf,Bz,,,</list></item><item><list struct="atomic" id="81592">1997-11.01.80-4,Klopp,Daniel,11.01.1980,Goettingen,deutsch,m,kath.,77077,Burgberg,,01.08.1991,01.08.1997,IGS,Bi,Bz,x,,</list></item><item><list struct="atomic" id="81593">1998-02.10.81-8,Dazniel,Yili,02.10.1981,Goettingen,deutsch,w,ohne Konf.,77077,Burgberg,,01.08.1998,01.08.1998,KGS,Wl,Br,,,</list></item><item><list struct="atomic" id="81594">1997-15.01.81-8,Doepper,Maria,15.01.1981,Heidelberg,deutsch,w,evang.,77077,Burgberg,,01.08.1992,01.08.1997,IGS,Ft,Bt,,x,</list></item><item><list struct="atomic" id="81595">1998-05.07.81-1,Aehrlich,Hanna,05.07.1981,Goettingen,deutsch,w,evang.,77077,Burgberg,Ortsteilhausen,01.08.1992,01.08.1998,IGS,Bi,Bt,,,</list></item><item><list struct="atomic" id="81596">1998-23.06.80-2,Meyer,Ingrid,23.06.1980,Goettingen,deutsch,w,evang.,77077,Burgberg,Ortsteilhausen,01.08.1992,01.08.1998,IGS,Wg,Wg,,,</list></item><item><list struct="atomic" id="81597">1996-19.05.80-1,Eltzmann,Herbert,19.05.1980,Thedinghausen,deutsch,m,ohne Konf.,77077,Burgberg,,01.08.1991,01.08.1996,IGS,Hf,Fr,x,,</list></item><item><list struct="atomic" id="81598">1998-04.06.81-1,Feige,Lore,04.06.1981,Marburg,deutsch,w,ohne Konf.,77077,Burgberg,--,01.08.1998,01.08.1998,Gesamt,Wl,Br,,,</list></item><item><list struct="atomic" id="81599">1998-24.05.80-9,Fischer,Adaline,24.05.1980,Witzenhausen,deutsch,w,evang.,77088,Lanndsdorf,--,01.08.1998,01.08.1998,IGS,Hf,Bz,,,</list></item><item><list struct="atomic" id="81600">1998-20.08.80-4,Frugich,Heli,20.08.1980,Riekenrode,deutsch,w,ohne Konf.,77077,Burgberg,Ortsteilhausen,01.08.1992,01.08.1998,IGS,Go,Fr,,,</list></item><item><list struct="atomic" id="81601">1998-13.05.81-4,Freimann,Sven,13.05.1981,Goettingen,deutsch,m,evang.,77077,Burgberg,Ortsteilhausen,01.08.1998,01.08.1998,RS,La,Go,,,</list></item><item><list struct="atomic" id="81602">1998-26.03.81-9,Donnertag,Kati,26.03.1981,Goettingen,deutsch,w,evang.,77088,Lanndsdorf,Ortsteilhausen,01.08.1992,01.08.1998,IGS,Wg,Wg,,,</list></item><item><list struct="atomic" id="81603">1997-27.02.80-6,Feint,Armin,27.02.1980,Goettingen,deutsch,m,indian....,77077,Burgberg,--,01.02.1998,01.08.1997,GY,Wg,Fr,x,,</list></item><item><list struct="atomic" id="81604">1998-22.10.80-1,Frack,Benni,22.10.1980,Goettingen,deutsch,m,ohne Konf.,77088,Lanndsdorf,,01.08.1992,01.08.1998,IGS,a,St,,,</list></item><item><list struct="atomic" id="81605">1998-27.07.81-1,Genauer,Anne,27.07.1981,Goettingen,deutsch,w,ohne Konf.,77077,Burgberg,,01.08.1992,01.08.1998,IGS,Wl,Br,,,</list></item><item><list struct="atomic" id="81606">1998-21.09.81-1,Gallus,Swantje,21.09.1981,Goettingen,deutsch,w,ohne Konf.,77077,Burgberg,Ortsteilhausen,01.08.1992,01.08.1998,IGS,Wl,St,,,</list></item><item><list struct="atomic" id="81607">1998-14.02.80-8,Gurke,Lisa,14.02.1980,Goettingen,deutsch,w,evang.,77077,Burgberg,,01.08.1992,01.08.1998,IGS,Go,Go,,,</list></item><item><list struct="atomic" id="81608">1998-05.05.80-5,Galit,Tatjana,05.05.1980,Goettingen,deutsch,w,evang.,77077,Burgberg,,01.08.1992,01.08.1998,IGS,Bi,Bi,,,</list></item><item><list struct="atomic" id="81609">1998-03.07.81-2,Kirsche,Erna,03.07.1981,Tuebingen,deutsch,w,evang.,77088,Lanndsdorf,Ortsteilhausen,01.08.1992,01.08.1998,IGS,Wg,Fr,,,</list></item><item><list struct="atomic" id="81610">1998-11.04.81-6,Hofenberg,Max,11.04.1981,Goettingen,deutsch,m,kath.,77077,Burgberg,,01.08.1992,01.08.1998,IGS,a,St,,,</list></item><item><list struct="atomic" id="81611">1998-20.05.81-3,Hoppel,Marie Henrike,20.05.1981,Goettingen,deutsch,w,ohne Konf.,77088,Lanndsdorf,,01.08.1992,01.08.1998,IGS,La,La,,,</list></item><item><list struct="atomic" id="81612">1998-09.04.80-1,Hermann,Wiebke,09.04.1980,Goettingen,deutsch,w,ohne Konf.,77077,Burgberg,Ortsteilhausen,01.08.1992,01.08.1998,IGS,La,La,,,</list></item><item><list struct="atomic" id="81613">1997-25.09.81-3,Heeres,Alexander,25.09.1981,Goettingen,deutsch,m,evang.,77077,Burgberg,Ortsteilhausen,01.08.1999,01.08.1997,GY,,Bz,,X,</list></item><item><list struct="atomic" id="81614">1998-04.01.80-2,Hankel,Peter,04.01.1980,Duderstadt,deutsch,m,kath.,77088,Lanndsdorf,Ortsteilhausen,01.08.1998,01.08.1998,BBS,Go,Go,,,</list></item><item><list struct="atomic" id="81615">1998-04.03.81-6,Enzmann,Annalena,04.03.1981,Goettingen,deutsch,w,ohne Konf.,77077,Burgberg,Ortsteilhausen,01.08.1992,01.08.1998,IGS,Bi,Bi,,,</list></item><item><list struct="atomic" id="81616">1997-09.03.80-9,Hogel,Tanja,09.03.1980,Kassel,deutsch,w,evang.,77077,Burgberg,,21.05.1996,01.08.1997,IGS,Jo,Bi,,x,</list></item><item><list struct="atomic" id="81617">1998-24.05.80-9,Hacker,Maria,24.05.1980,Duderstadt,deutsch,w,kath.,77088,Lanndsdorf,,01.08.1999,01.08.1998,GY,,St,,,</list></item><item><list struct="atomic" id="81618">1997-09.04.81-1,Antolni,Max,09.04.1981,Kasachstan,russisch,m,evang.,77077,Burgberg,,01.11.1995,01.08.1997,IGS,Jo,Bt,,x,</list></item><item><list struct="atomic" id="81619">1997-11.07.80-4,Jakob,Lise,11.07.1980,Goettingen,deutsch,w,evang.,77077,Burgberg,,01.08.1991,01.08.1997,IGS,Ki,Wg,,x,</list></item><item><list struct="atomic" id="81620">1997-11.02.81-3,Juckel,Jan,11.02.1981,Goettingen,deutsch,m,evang.,77088,Lanndsdorf,,01.08.1991,01.08.1997,IGS,Go,Go,x,,</list></item><item><list struct="atomic" id="81621">1997-01.05.80-5,Jonke,Ella,01.05.1980,Hannover,deutsch,w,evang.,77077,Burgberg,,01.08.1997,01.08.1997,RS,Jo,Bt,,,</list></item><item><list struct="atomic" id="81622">1997-13.04.80-2,Jindermann,Joerg,13.04.1980,Goettingen,deutsch,m,evang.,77077,Burgberg,,01.08.1991,01.08.1997,IGS,Ki,Fr,,x,</list></item><item><list struct="atomic" id="81623">1997-06.10.81-8,Karbel,Ulli,06.10.1981,Hannover,deutsch,m,evang.,77088,Lanndsdorf,,01.08.1999,01.08.1997,GY,,La,,X,</list></item><item><list struct="atomic" id="81624">1998-01.11.81-5,Knusel,Karin,01.11.1981,Goettingen,deutsch,w,ohne Konf.,77077,Burgberg,Ortsteilhausen,01.08.1992,01.08.1998,IGS,La,La,,,</list></item><item><list struct="atomic" id="81625">1998-04.08.80-5,Klappe,Nadine,04.08.1980,Uslar,deutsch,w,evang.,77088,Lanndsdorf,Ortsteilhausen,01.08.1998,01.08.1998,RS,Hf,Bz,,,</list></item><item><list struct="atomic" id="81626">1998-16.11.80-8,Klinger,Susi,16.11.1980,,deutsch,w,,77088,Lanndsdorf,Ortsteilhausen,01.08.1998,01.08.1998,,,La,,,</list></item><item><list struct="atomic" id="81627">1998-10.07.81-8,Knupler,Christian,10.07.1981,Goettingen,deutsch,m,evang.,77077,Burgberg,,01.08.1999,01.08.1998,GY,,La,,,</list></item><item><list struct="atomic" id="81628">1998-16.08.80-1,Kamillo,Benni,16.08.1980,Goettingen,deutsch,m,evang.,77088,Lanndsdorf,,01.08.1992,01.08.1998,IGS,Bi,Wg,,,</list></item><item><list struct="atomic" id="81629">1998-15.03.80-8,Krumel,Rike,15.03.1980,Goettingen,deutsch,w,ohne Konf.,77088,Lanndsdorf,Ortsteilhausen,01.08.1992,01.08.1998,IGS,La,Bz,,,</list></item><item><list struct="atomic" id="81630">1998-12.02.1980,Krueter,Anna,12.02.1980,Goslar,deutsch,w,ohne Konf.,77077,Burgberg,,01.08.1992,01.08.1998,IGS,Wl,St,,,</list></item><item><list struct="atomic" id="81631">1998-09.08.80-7,Krahn,Max,09.08.1980,Goettingen,deutsch,m,ohne Konf.,77077,Burgberg,,01.08.1992,01.08.1998,IGS,a,Go,,,</list></item><item><list struct="atomic" id="81632">1998-12.02.80-1,Kahlmeier,Annika,12.02.1980,Goettingen,deutsch,w,ohne Konf.,77077,Burgberg,,01.08.1992,01.08.1998,IGS,a,Bt,,,</list></item><item><list struct="atomic" id="81633">1997-19.07.81-2,Hanogin,Dan,19.07.1981,Naumburg,afrikanisch,m,evang.,77077,Burgberg,,01.08.1999,01.08.1997,GY,,Fr,,x,</list></item><item><list struct="atomic" id="81634">1998-24.05.81-9,Laufental,Martin,24.05.1981,Goettingen,deutsch,m,ohne Konf.,77077,Burgberg,,01.08.1992,01.08.1998,IGS,Go,Wg,,,</list></item><item><list struct="atomic" id="81635">1998-02.11.80-2,Luhr,Erna Luisa,02.11.1980,Goettingen,deutsch,w,ohne Konf.,77077,Burgberg,Ortsteilhausen,01.08.1992,01.08.1998,IGS,La,Bt,,,</list></item><item><list struct="atomic" id="81636">1998-07.10.81-2,Lawonski,Mariana,07.10.1981,Leipzig,deutsch,w,ohne Konf.,77077,Burgberg,,01.08.1998,01.08.1998,KGS,Wl,Fr,,,</list></item><item><list struct="atomic" id="81637">1997-16.07.81-8,Mohrabi,Anna,16.07.1981,Teheran/Iran,iranisch,w,moslem,77077,Burgberg,--,01.08.1998,01.08.1997,GY,Wl,Br,x,,</list></item><item><list struct="atomic" id="81638">1998-15.08.80-9,Moll,Insa,15.08.1980,Goettingen,deutsch,w,evang.,77088,Lanndsdorf,,01.08.1992,01.08.1998,IGS,Wl,Bi,,,</list></item><item><list struct="atomic" id="81639">1998-04.08.80-7,Merzner,Birgit,04.08.1980,Goettingen,deutsch,w,evang.,77088,Lanndsdorf,Ortsteilhausen,01.08.1992,01.08.1998,IGS,La,Bz,,,</list></item><item><list struct="atomic" id="81640">1998-25.01.81-9,Mannhaus,Lia,25.01.1981,Goettingen,deutsch,w,evang.,77077,Burgberg,Ortsteilhausen,01.08.1992,01.08.1998,IGS,a,Wg,,,</list></item><item><list struct="atomic" id="81641">1998-02.09.81-6,Maier,Kathrin,02.09.1981,Goettingen,deutsch,w,ohne Konf.,77088,Lanndsdorf,Ortsteilhausen,01.08.1992,01.08.1998,IGS,Go,Go,,,</list></item><item><list struct="atomic" id="81642">1998-12.02.81-9,Mueller,Karin,12.02.1981,Goettingen,deutsch,w,evang.,77088,Lanndsdorf,,01.08.1992,01.08.1998,IGS,Go,Fr,,,</list></item><item><list struct="atomic" id="81643">1997-03.08.80-6,Mueller,Sabine,03.08.1980,Goettingen,deutsch,w,ohne Konf.,77077,Burgberg,Ortsteilhausen,01.08.1991,01.08.1997,IGS,Hf,Go,x,,</list></item><item><list struct="atomic" id="81644">1998-07.10.81-3,Otto,Tanja,07.10.1981,Goettingen,deutsch,w,ohne Konf.,77077,Burgberg,,01.08.1992,01.08.1998,IGS,Wl,Wg,,,</list></item><item><list struct="atomic" id="81645">1998-16.02.81-9,Ottmer,juergen,16.02.1981,Kassel,deutsch,m,ohne Konf.,77077,Burgberg,,01.08.1998,01.08.1998,VHS,Go,Go,,,</list></item><item><list struct="atomic" id="81646">1998-12.05.81-7,Pogenberg,Eva,12.05.1981,Hattingen,deutsch,w,kath.,77077,Burgberg,Ortsteilhausen,25.05.1994,01.08.1998,IGS,La,Bt,,,</list></item><item><list struct="atomic" id="81647">1998-27.02.80-4,Pfaffner,Lena,27.02.1980,Hamburg,deutsch,w,ohne Konf.,77088,Lanndsdorf,Ortsteilhausen,01.08.1992,01.08.1998,IGS,La,La,,,</list></item><item><list struct="atomic" id="81648">1998-02.01.80-1,Palowski,Martin,02.01.1980,Graudenz/Polen,deutsch,m,kath.,77088,Lanndsdorf,,01.08.1999,01.08.1998,GY,,St,,,</list></item><item><list struct="atomic" id="81649">1998-08.03.81-6,Perburg,Malte,08.03.1981,Goettingen,deutsch,m,evang.,77088,Lanndsdorf,Ortsteilhausen,01.08.1992,01.08.1998,IGS,Bi,Bi,,,</list></item><item><list struct="atomic" id="81650">1998-03.11.81-5,Quartin,Hermann,03.11.1981,Adelebsen,deutsch,m,evang.,77088,Lanndsdorf,Ortsteilhausen,01.08.1991,01.08.1998,IGS,Hf,Br,,,</list></item><item><list struct="atomic" id="81651">1998-20.11.81-5,Ruf,Hans,20.11.1981,Arbil/Irak,irakisch,m,islam.,77077,Burgberg,Ortsteilhausen,01.08.1997,01.08.1998,IGS,Go,La,,,</list></item><item><list struct="atomic" id="81652">1998-05.02.80-4,Reinsberg,Lina,05.02.1980,Goettingen,deutsch,w,ohne Konf.,77077,Burgberg,,01.08.1992,01.08.1998,IGS,a,St,,,</list></item><item><list struct="atomic" id="81653">1998-27.07.80-5,Reinsberg,Armin,27.07.1980,Goettingen,deutsch,m,ohne Konf.,77077,Burgberg,,01.08.1992,01.08.1998,IGS,a,Bt,,,</list></item><item><list struct="atomic" id="81654">1998-09.11.81-9,Rose,Stefan,09.11.1981,Goettingen,deutsch,m,ohne Konf.,77088,Lanndsdorf,,01.08.1992,01.08.1998,IGS,Bi,La,,,</list></item><item><list struct="atomic" id="81655">1997-23.07.81-5,Rosmeier,Jessi,23.07.1981,Goettingen,deutsch,w,ohne Konf.,77077,Burgberg,Ortsteilhausen,01.08.1998,01.08.1997,GY,Wg,Wg,x,,</list></item><item><list struct="atomic" id="81656">1998-24.10.80-7,Rassin,Sabine,24.10.1980,Goettingen,deutsch,w,evang.,77088,Lanndsdorf,,01.08.1992,01.08.1998,IGS,a,Go,,,</list></item><item><list struct="atomic" id="81657">1998-19.02.80-8,Rawe,Anna,19.02.1980,Goettingen,deutsch,w,ohne Konf.,77077,Burgberg,,01.08.1992,01.08.1998,IGS,Wl,St,,,</list></item><item><list struct="atomic" id="81658">1998-20.10.80-7,Schaumann,Felix,20.10.1980,Hildesheim,deutsch,m,evang.,77077,Burgberg,Ortsteilhausen,01.08.1992,01.08.1998,IGS,Bi,Bi,,,</list></item><item><list struct="atomic" id="81659">1998-22.03.81-2,Schirberg,Jan Reza,22.03.1981,Goettingen,deutsch,m,ohne Konf.,77077,Burgberg,,01.08.1992,01.08.1998,IGS,Hf,Bi,,,</list></item><item><list struct="atomic" id="81660">1998-24.01.81-9,Schmidt,Sascha,24.01.1981,Goettingen,deutsch,m,ohne Konf.,77088,Lanndsdorf,Ortsteilhausen,01.08.1992,01.08.1998,IGS,Bi,La,,,</list></item><item><list struct="atomic" id="81661">1997-26.08.81-2,Schmitt,Anna,26.08.1981,Uslar,deutsch,w,evang.,77088,Lanndsdorf,,01.08.1997,01.08.1997,RS Usl,Bi,Fr,,,</list></item><item><list struct="atomic" id="81662">1998-09.05.81-6,Schaeler,Else,09.05.1981,Northeim,deutsch,w,ohne Konf.,77088,Lanndsdorf,Ortsteilhausen,01.08.1992,01.08.1998,IGS,Wg,Bi,,,</list></item><item><list struct="atomic" id="81663">1998-21.02.81-5,Schwarzmann,Kati,21.02.1981,Braunschweig,deutsch,w,ohne Konf.,77088,Lanndsdorf,--,01.08.1998,01.08.1998,RS,Bi,Bt,,,</list></item><item><list struct="atomic" id="81664">1998-24.07.80-8,Siedler,Kati,24.07.1980,Goettingen,deutsch,w,ohne Konf.,77077,Burgberg,,01.08.1992,01.08.1998,IGS,Wl,St,,,</list></item><item><list struct="atomic" id="81665">1997-18.09.81-4,Sickel,Sonja,18.09.1981,Uslar,deutsch,w,ohne Konf.,77077,Burgberg,,01.08.1998,01.08.1997,GY,Hf,Bz,x,,</list></item><item><list struct="atomic" id="81666">1998-13.10.80-3,Samovicz,Tina,13.10.1980,Goettingen,deutsch,w,evang.,77077,Burgberg,,01.08.1992,01.08.1998,IGS,Wg,Wg,,,</list></item><item><list struct="atomic" id="81667">1998-20.08.81-8,Staller,Steffi,20.08.1981,Bad Karlshafen,deutsch,w,kath.,77088,Lanndsdorf,Ortsteilhausen,01.08.1998,01.08.1998,IGS,Hf,Bz,,,</list></item><item><list struct="atomic" id="81668">1997-01.02.81-7,Stapelberg,Angela,01.02.1981,Northeim,deutsch,w,evang.,77077,Burgberg,,01.08.1998,01.08.1997,GY,Wl,St,x,,</list></item><item><list struct="atomic" id="81669">1998-12.11.80-7,Strohtmann,Martin,12.11.1980,Goettingen,deutsch,m,evang.,77077,Burgberg,Ortsteilhausen,01.08.1992,01.08.1998,IGS,Bi,La,,,</list></item><item><list struct="atomic" id="81670">1998-26.08.81-7,Stohtmann,Karl,26.08.1981,Goettingen,deutsch,m,evang.,77077,Burgberg,Ortsteilhausen,01.08.1992,01.08.1998,IGS,Hf,Wg,,,</list></item><item><list struct="atomic" id="81671">1998-16.08.81-1,Tabler,Johanna,16.08.1981,Celle,deutsch,w,ohne Konf.,77077,Burgberg,Ortsteilhausen,01.08.1992,01.08.1998,IGS,Hf,Br,,,</list></item><item><list struct="atomic" id="81672">1998-08.07.81-4,Tohler,Susanne,08.07.1981,Northeim,deutsch,w,evang.,77088,Lanndsdorf,,01.08.1999,01.08.1998,GY,,Go,,,</list></item><item><list struct="atomic" id="81673">1998-12.08.80-5,Telling,Kathrin,12.08.1980,Duderstadt,deutsch,w,kath.,77077,Burgberg,,01.08.1998,01.08.1998,BBS,La,Br,,,</list></item><item><list struct="atomic" id="81674">1998-12.02.81-1,Vollmann,Ingo Mohamed,12.02.1981,Goettingen,deutsch,m,islam.,77077,Burgberg,,01.08.1992,01.08.1998,IGS,Go,Go,,,</list></item><item><list struct="atomic" id="81675">1998-13.08.80-1,Vestmann,Florian,13.08.1980,Goettingen,deutsch,m,ohne Konf.,77077,Burgberg,Ortsteilhausen,01.08.1992,01.08.1998,IGS,Bi,Fr,,,</list></item><item><list struct="atomic" id="81676">1998-27.11.81-7,Wichtig,Florian,27.11.1981,Goettingen,deutsch,m,evang.,77077,Burgberg,Ortsteilhausen,01.08.1992,01.08.1998,IGS,La,Wg,,,</list></item><item><list struct="atomic" id="81677">1999-22.01.81-3,Wuchtig,Kristin,22.01.1981,Luebeck,deutsch,w,evang.,77077,Burgberg,,01.08.1999,01.08.1999,GY,,La,,,</list></item><item><list struct="atomic" id="81678">1998-24.02.81-6,Wertmann,Mandana,24.02.1981,Goettingen,deutsch,w,ohne Konf.,77077,Burgberg,,01.08.1992,01.08.1998,IGS,Wg,Fr,,,</list></item><item><list struct="atomic" id="81679">1998-09.10.80-4,Wastmeier,Dorothea-Friederike,09.10.1980,Uslar,deutsch,w,evang.,77088,Lanndsdorf,Ortsteilhausen,01.08.1998,01.08.1998,IGS,Hf,Bz,,,</list></item><item><list struct="atomic" id="81680">1998-12.06.81-4,Wustberg,Linda Maria,12.06.1981,Goettingen,deutsch,w,evang.,77077,Burgberg,,01.08.1992,01.08.1998,IGS,Wg,Bz,,,</list></item><item><list struct="atomic" id="81681">1998-05.03.80-2,Wassermann,Marie,05.03.1980,Goettingen,deutsch,w,evang.,77088,Lanndsdorf,,01.08.1992,01.08.1998,IGS,Wg,Bi,,,</list></item><item><list struct="atomic" id="81682">1998-27.01.81-6,Wurstner,Michael,27.01.1981,Goettingen,deutsch,m,ohne Konf.,77077,Burgberg,,01.08.1992,01.08.1998,IGS,Wg,Bi,,,</list></item><item><list struct="atomic" id="81683">1998-21.08.80-1,Wattberg,Katharina,21.08.1980,Goettingen,deutsch,w,evang.,77088,Lanndsdorf,Ortsteilhausen,03.02.1997,01.08.1998,IGS,La,Go,,,</list></item><item><list struct="atomic" id="81684">1998-19.10.80-3,Wohltat,Hanna,19.10.1980,Goettingen,deutsch,w,ohne Konf.,77088,Lanndsdorf,,01.08.1992,01.08.1998,IGS,Go,Go,,,</list></item><item><list struct="atomic" id="81685">1998-27.11.81-7,Yazmir,Habib,27.11.1981,Goettingen,tuerkisch,m,sonst.,77077,Burgberg,,01.08.1992,01.08.1998,IGS,Bi,Go,,,</list></item><item><list struct="atomic" id="81686">1998-08.09.81-1,Zinn,Julia,08.09.1981,Goettingen,deutsch,w,ohne Konf.,77077,Burgberg,Ortsteilhausen,01.08.1992,01.08.1998,IGS,Wl,Fr,,,</list></item><item><list struct="atomic" id="81687">1997-20.06.81-3,Meyer,Sven,20.06.1981,Muenchen,deutsch,m,evang.,77088,Lanndsdorf,,,01.08.1997,IGS,Kd,Go,,x,</list></item><item><list struct="atomic" id="81688">2000-09.11.80-7,Korznoi,Andrey,09.11.1980,Moskau,russisch,m,orthodox,77077,Burgberg,Ortsteilhausen,01.02.2000,01.02.2000,KGS,,La,,,</list></item><item><list struct="atomic" id="81689">1997-17.04.80-2,Knabbe,John,17.04.1980,Goettingen,deutsch,m,evang.,77088,Lanndsdorf,,,01.08.1997,IGS,Vq,Bt,,,x</list></item><item><list struct="atomic" id="81690">2000-10.08.80-1,Krumme,David,10.08.1980,Goettingen,deutsch,m,evang.,77077,Burgberg,,01.08.2000,01.08.2000,GY,,Bi,,,</list></item></list></variable><variable name="started"><bool>false</bool></variable><variable name="SciSnap!Costumes"><list id="81691"><item><ref mediaID="4"></ref></item><item><ref mediaID="5"></ref></item><item><ref mediaID="6"></ref></item><item><ref mediaID="7"></ref></item><item><ref mediaID="8"></ref></item><item><ref mediaID="9"></ref></item><item><ref mediaID="10"></ref></item><item><ref mediaID="11"></ref></item><item><ref mediaID="12"></ref></item><item><ref mediaID="13"></ref></item><item><ref mediaID="14"></ref></item><item><ref mediaID="15"></ref></item><item><ref mediaID="16"></ref></item><item><ref mediaID="17"></ref></item><item><ref mediaID="18"></ref></item><item><ref mediaID="19"></ref></item><item><ref mediaID="20"></ref></item><item><ref mediaID="21"></ref></item><item><ref mediaID="22"></ref></item></list></variable></variables></scene><scene name="Offline Version"><notes></notes><palette><category name="1. SciSnap! globals" color="0,170,170,1"/><category name="5. PlotPad for data plots" color="150,175,80,1"/><category name="4. SQL tools" color="255,150,0,1"/><category name="7. GraphPad for graph operations" color="210,160,0,1"/><category name="8. NNPad for neural networks" color="200,100,0,1"/><category name="3. Data tools" color="220,50,0,1"/><category name="0. My own blocks" color="179,120,0,1"/><category name="2. Math tools" color="0,180,50,1"/><category name="6. ImagePad for image operations" color="200,170,50,1"/></palette><hidden></hidden><headers></headers><code></code><blocks><block-definition s="show global message title: %&apos;title&apos; $nl message: %&apos;message&apos;" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="172" collapsed="false">Shows the message with headline in the middle of the window.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">headline</input><input type="%txt">theMessage</input></inputs><script><block s="doApplyExtension"><l>SciS_showmessage(title,message)</l><list><block s="reportJoinWords"><list><block var="title"/><l></l></list></block><block s="reportJoinWords"><list><block var="message"/><l></l></list></block></list></block></script></block-definition><block-definition s="report SciSnap! error %&apos;errortext&apos;" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="189.5" collapsed="false">Adds a new entry to SciSnap!Messages and shows the error message.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">something wrong!</input></inputs><script><block s="doAddToList"><block var="errortext"/><block var="SciSnap!Messages"/></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><l>Stage</l></block></list></block><script><custom-block s="show global message title: %txt %br message: %txt"><l>ERROR:</l><block var="errortext"/></custom-block></script><script><block s="doSayFor"><block var="errortext"/><l>1</l></block></script></block></script></block-definition><block-definition s="copy of costume %&apos;costume&apos;" type="reporter" category="looks"><comment x="0" y="0" w="143.66666666666657" collapsed="false">Reports a copy of a costume.</comment><header></header><code></code><translations></translations><inputs><input type="%obj"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_costumecopy(costume)</l><list><block var="costume"/></list></block></block></script></block-definition><block-definition s="costume of %&apos;sprite&apos;" type="reporter" category="looks"><comment x="0" y="0" w="154.1666666666665" collapsed="false">Reports the costume of a sprite.</comment><header></header><code></code><translations></translations><inputs><input type="%obj"></input></inputs><script><block s="doReport"><block s="reportAskFor"><block var="sprite"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block></block></script></block-definition><block-definition s="random" type="reporter" category="operators"><comment x="0" y="0" w="204.3845144356957" collapsed="false">Returns a random number between 0 and 1.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportRandom"><l>0.0000000000000000000001</l><l>1</l></block></block></script></block-definition><block-definition s="π" type="reporter" category="operators"><comment x="0" y="0" w="65.33333333333333" collapsed="false">Reports Pi.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><l>3.141592653589793</l></block></script></block-definition><block-definition s="e" type="reporter" category="operators"><comment x="0" y="0" w="122.33333333333326" collapsed="false">Reports Euler&apos;s number.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportMonadic"><l><option>e^</option></l><l>1</l></block></block></script></block-definition><block-definition s="round %&apos;x&apos; to %&apos;n&apos; digits" type="reporter" category="operators"><comment x="0" y="0" w="127.00000000000001" collapsed="false">Rounds value x to n digits.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1.2357</input><input type="%n">2</input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportRound"><block s="reportVariadicProduct"><list><block var="x"/><block s="reportMonadic"><l><option>10^</option></l><block var="n"/></block></list></block></block><block s="reportMonadic"><l><option>10^</option></l><block var="n"/></block></block></block></script></block-definition><block-definition s="%&apos;n&apos; !" type="reporter" category="operators"><comment x="0" y="0" w="90" collapsed="false">Reports n faculty.</comment><header></header><code></code><translations></translations><inputs><input type="%n">5</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportVariadicLessThan"><list><block var="n"/><l>0</l></list></block><script><block s="doReport"><l>NaN</l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="n"/><l>0</l></list></block><script><block s="doReport"><l>1</l></block></script><script><block s="doReport"><block s="reportVariadicProduct"><list><block var="n"/><custom-block s="%n !"><block s="reportDifference"><block var="n"/><l>1</l></block></custom-block></list></block></block></script></block></script></block></script></block-definition><block-definition s="( %&apos;n&apos; ) $nl ( %&apos;k&apos; )" type="reporter" category="operators"><comment x="0" y="0" w="155.66666666666663" collapsed="false">Reports a binomial coefficient.</comment><header></header><code></code><translations></translations><inputs><input type="%n">5</input><input type="%n">3</input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportVariadicProduct"><list><l>2</l><block var="k"/></list></block><block var="n"/></list></block><script><block s="doSetVar"><l>k</l><block s="reportDifference"><block var="n"/><block var="k"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="k"/><l>1</l></list></block><script><block s="doReport"><l>1</l></block></script><list></list></block><block s="doSetVar"><l>result</l><l>1</l></block><block s="doSetVar"><l>n</l><block s="reportVariadicSum"><list><block var="n"/><l>1</l></list></block></block><block s="doFor"><l>i</l><l>1</l><block var="k"/><script><block s="doSetVar"><l>result</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="result"/><block s="reportDifference"><block var="n"/><block var="i"/></block></list></block><block var="i"/></block></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="is %&apos;data&apos; a %&apos;choice&apos;" type="predicate" category="1. SciSnap! globals"><comment x="0" y="0" w="212.35029354207427" collapsed="false">Test on vector, matrix, table, predicate, interval, list of intervals, set, or complex-number.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%txt" readonly="true">vector<options>vector&#xD;transposed-vector&#xD;matrix&#xD;table&#xD;complex-number&#xD;complex-number-Cartesian-style&#xD;complex-number-polar-style&#xD;set&#xD;comparisonOperator&#xD;interval&#xD;listOfIntervals&#xD;numericalList</options></input></inputs><script><block s="doDeclareVariables"><list><l>width</l><l>result</l><l>dummy</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>comparisonOperator</l></list></block><script><block s="doReport"><block s="reportListContainsItem"><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicNotEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><l/><l/></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><l/><l/></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block></list></block><block var="data"/></block></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>complex-number</l></list></block><script><block s="doReport"><block s="reportVariadicOr"><list><custom-block s="is %s a %txt"><block var="data"/><l>complex-number-Cartesian-style</l></custom-block><custom-block s="is %s a %txt"><block var="data"/><l>complex-number-polar-style</l></custom-block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>complex-number-Cartesian-style</l></list></block><script><block s="doReport"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>3</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="data"/></block><l>complexNumberCartesianStyle</l></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="data"/></block><l><option>number</option></l></block><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="data"/></block><l><option>number</option></l></block></list></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>complex-number-polar-style</l></list></block><script><block s="doReport"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>3</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="data"/></block><l>complexNumberPolarStyle</l></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="data"/></block><l><option>number</option></l></block><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="data"/></block><l><option>number</option></l></block></list></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>transposed-vector</l></list></block><script><block s="doReport"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="value"/><l><option>list</option></l></block><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="value"/></block><l>1</l></list></block><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="value"/></block><l><option>number</option></l></block></list></block></list></block></block></autolambda><list><l>value</l></list></block><block var="data"/></block></block><l>0</l></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>vector</l></list></block><script><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="data"/></block><l><option>list</option></l></block><script><block s="doReport"><custom-block s="is %s a %txt"><block var="data"/><l>transposed-vector</l></custom-block></block></script><script><block s="doReport"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportIsA"><l></l><l><option>number</option></l></block></block></autolambda><list></list></block><block var="data"/></block></block><l>0</l></list></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>matrix</l></list></block><script><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>1</l></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="data"/></block><l><option>list</option></l></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doSetVar"><l>width</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="width"/><l>1</l></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_isMatrix(data)</l><list><block var="data"/></list></block></block></script></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>table</l></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="data"/><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="data"/></block><l><option>list</option></l></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doSetVar"><l>width</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_isTable(data)</l><list><block var="data"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>interval</l></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>4</l></list></block><script><block s="doReport"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="data"/></block><l><option>number</option></l></block><block s="reportIsA"><block s="reportListItem"><l>4</l><block var="data"/></block><l><option>number</option></l></block></list></block><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="data"/></block><block s="reportListItem"><l>4</l><block var="data"/></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="data"/></block><l>≤</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="data"/></block><l>&lt;</l></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="data"/></block><l>≤</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="data"/></block><l>&lt;</l></list></block></list></block></list></block></list></block></block></script><list></list></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>listOfIntervals</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doSetVar"><l>result</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doForEach"><l>item</l><block var="data"/><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="item"/><l>interval</l></custom-block></block><script><block s="doSetVar"><l>result</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block></script></block><block s="doReport"><block var="result"/></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>set</l></list></block><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="data"/></block><l>set</l></list></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>5</l></list></block></list></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doReport"><custom-block s="all of %mult%boolUE"><list><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="data"/></block><l><option>Boolean</option></l></block><block s="reportIsA"><block s="reportListItem"><l>3</l><block var="data"/></block><l><option>list</option></l></block><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>4</l><block var="data"/></block><block s="reportNewList"><list></list></block></list></block><custom-block s="is %s a %txt"><block s="reportListItem"><l>4</l><block var="data"/></block><l>listOfIntervals</l></custom-block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>5</l><block var="data"/></block><l></l></list></block><block s="reportIsA"><block s="reportListItem"><l>5</l><block var="data"/></block><l><option>predicate</option></l></block></list></block></list></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>numericalList</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doForEach"><l>item</l><block var="data"/><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="item"/><l><option>number</option></l></block></block><script><block s="doSetVar"><l>result</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doReport"><block var="result"/></block></script><list></list></block></script></block><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script><scripts><script x="375.9951171875" y="1253.6666666666665"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><block s="reportVariadicNotEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="row"/></block><block var="width"/></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportIsA"><block var="value"/><l><option>number</option></l></block></block></autolambda><list><l>value</l></list></block><block var="row"/></block></block><l>0</l></list></block></list></block></autolambda><list><l>row</l></list></block><block var="data"/></block></block><l>0</l></list></block></script><script x="236" y="1856.8333333333328"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicNotEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="row"/></block><block var="width"/></list></block></autolambda><list><l>row</l></list></block><block var="data"/></block></block><l>0</l></list></block></script></scripts></block-definition><block-definition s="substring of %&apos;aString&apos; from %&apos;from&apos; to %&apos;to&apos;" type="reporter" category="operators"><comment x="0" y="0" w="141.66666666666669" collapsed="false">Reports a substring of a string.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisString</input><input type="%n">1</input><input type="%n">4</input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_substring(aString,from,to)</l><list><block var="aString"/><block var="from"/><block var="to"/></list></block></block></script></block-definition><block-definition s="delete %&apos;choice&apos; %&apos;substring&apos; in %&apos;aString&apos;" type="reporter" category="operators"><comment x="0" y="0" w="252.5" collapsed="false">Reports a string without first/all instances of substring.</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">all<options>all&#xD;first</options></input><input type="%txt">this</input><input type="%txt">thisString</input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_delete(substring,aString,choice)</l><list><block var="substring"/><block var="aString"/><block var="choice"/></list></block></block></script></block-definition><block-definition s="upper case %&apos;aString&apos;" type="reporter" category="operators"><comment x="0" y="0" w="140.83333333333334" collapsed="false">Reports a string in upper case.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisString</input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_uppercase(txt)</l><list><block var="aString"/></list></block></block></script></block-definition><block-definition s="lower case %&apos;aString&apos;" type="reporter" category="operators"><comment x="0" y="0" w="144.16666666666669" collapsed="false">Reports a string in lower case.</comment><header></header><code></code><translations></translations><inputs><input type="%s">ThisString</input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_lowercase(txt)</l><list><block var="aString"/></list></block></block></script></block-definition><block-definition s="write text %&apos;theText&apos; to TXT-file %&apos;filename&apos;" type="command" category="operators"><comment x="0" y="0" w="116.14677103718192" collapsed="false">Stores a string in a file. </comment><header></header><code></code><translations></translations><inputs><input type="%txt">this text</input><input type="%txt">this file</input></inputs><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="theText"/><l><option>text</option></l></block><block s="reportIsA"><block var="filename"/><l><option>text</option></l></block></list></block><script><block s="doApplyExtension"><l>SciS_writeToFile(data,filename)</l><list><block var="theText"/><block var="filename"/></list></block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: text as data and filename required!</l></custom-block></script></block></script></block-definition><block-definition s="index of %&apos;substring&apos; in %&apos;aString&apos;" type="reporter" category="operators"><comment x="0" y="0" w="270" collapsed="false">Reports the index of first appearance of substring in string.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">ring</input><input type="%txt">thisString</input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_indexof(sub,txt)</l><list><block var="substring"/><block var="aString"/></list></block></block></script></block-definition><block-definition s="replace %&apos;choice&apos; %&apos;substring&apos; with %&apos;replacement&apos; in %&apos;aString&apos;" type="reporter" category="operators"><comment x="0" y="0" w="277.5" collapsed="false">Reports a string with replacement instead of substring.</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">all<options>all&#xD;first</options></input><input type="%txt">this</input><input type="%txt">that</input><input type="%txt">thisString</input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_replace(substring,replacement,aString,choice)</l><list><block var="substring"/><block var="replacement"/><block var="aString"/><block var="choice"/></list></block></block></script></block-definition><block-definition s="datetime" type="reporter" category="sensing"><comment x="0" y="0" w="206" collapsed="false">Reports date and time in standard notation.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>month</l><l>hour</l><l>minute</l><l>second</l><l>day</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>month</l><block s="reportDate"><l><option>month</option></l></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="month"/><l>10</l></list></block><script><block s="doSetVar"><l>month</l><block s="reportJoinWords"><list><l>0</l><block var="month"/></list></block></block></script><list></list></block><block s="doSetVar"><l>day</l><block s="reportDate"><l><option>date</option></l></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="day"/><l>10</l></list></block><script><block s="doSetVar"><l>day</l><block s="reportJoinWords"><list><l>0</l><block var="day"/></list></block></block></script><list></list></block><block s="doSetVar"><l>hour</l><block s="reportDate"><l><option>hour</option></l></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="hour"/><l>10</l></list></block><script><block s="doSetVar"><l>hour</l><block s="reportJoinWords"><list><l>0</l><block var="hour"/></list></block></block></script><list></list></block><block s="doSetVar"><l>minute</l><block s="reportDate"><l><option>minute</option></l></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="minute"/><l>10</l></list></block><script><block s="doSetVar"><l>minute</l><block s="reportJoinWords"><list><l>0</l><block var="minute"/></list></block></block></script><list></list></block><block s="doSetVar"><l>second</l><block s="reportDate"><l><option>second</option></l></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="second"/><l>10</l></list></block><script><block s="doSetVar"><l>second</l><block s="reportJoinWords"><list><l>0</l><block var="second"/></list></block></block></script><list></list></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportDate"><l><option>year</option></l></block><l>-</l><block var="month"/><l>-</l><block var="day"/><l>T</l><block var="hour"/><l>:</l><block var="minute"/><l>:</l><block var="second"/></list></block></block></script></block></script></block-definition><block-definition s="datetime: %&apos;dt&apos; $arrowRight %&apos;time&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt" readonly="true">seconds today<options>Julian Date&#xD;decimal years&#xD;days this year&#xD;hours this year&#xD;minutes this year&#xD;seconds this year&#xD;hours today&#xD;minutes today&#xD;seconds today</options></input></inputs><script><block s="doDeclareVariables"><list><l>h</l><l>m</l><l>s</l><l>hms</l><l>separator</l><l>YYYY</l><l>MM</l><l>DD</l><l>YMD</l><l>monthdays</l><l>days</l><l>JD</l><l>jm</l><l>jy</l><l>i</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>monthdays</l><block s="reportNewList"><list><l>31</l><l>28</l><l>31</l><l>30</l><l>31</l><l>30</l><l>31</l><l>31</l><l>30</l><l>31</l><l>30</l><l>31</l></list></block></block><block s="doSetVar"><l>separator</l><custom-block s="index of %txt in %txt"><l>T</l><block var="dt"/></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="separator"/><l>0</l></list></block><script><block s="doSetVar"><l>separator</l><custom-block s="index of %txt in %txt"><l> </l><block var="dt"/></custom-block></block></script><list></list></block><block s="doSetVar"><l>YYYY</l><custom-block s="substring of %txt from %n to %n"><block var="dt"/><l>1</l><block s="reportDifference"><block var="separator"/><l>7</l></block></custom-block></block><block s="doSetVar"><l>MM</l><custom-block s="substring of %txt from %n to %n"><block var="dt"/><block s="reportDifference"><block var="separator"/><l>5</l></block><block s="reportDifference"><block var="separator"/><l>4</l></block></custom-block></block><block s="doSetVar"><l>DD</l><custom-block s="substring of %txt from %n to %n"><block var="dt"/><block s="reportDifference"><block var="separator"/><l>2</l></block><block s="reportDifference"><block var="separator"/><l>1</l></block></custom-block></block><block s="doSetVar"><l>h</l><custom-block s="substring of %txt from %n to %n"><block var="dt"/><block s="reportVariadicSum"><list><block var="separator"/><l>1</l></list></block><block s="reportVariadicSum"><list><block var="separator"/><l>2</l></list></block></custom-block></block><block s="doSetVar"><l>m</l><custom-block s="substring of %txt from %n to %n"><block var="dt"/><block s="reportVariadicSum"><list><block var="separator"/><l>4</l></list></block><block s="reportVariadicSum"><list><block var="separator"/><l>5</l></list></block></custom-block></block><block s="doSetVar"><l>s</l><custom-block s="substring of %txt from %n to %n"><block var="dt"/><block s="reportVariadicSum"><list><block var="separator"/><l>7</l></list></block><block s="reportTextAttribute"><l><option>length</option></l><block var="dt"/></block></custom-block></block><block s="doSetVar"><l>days</l><block var="DD"/></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportDifference"><block var="MM"/><l>1</l></block></list></block><script><block s="doChangeVar"><l>days</l><block s="reportListItem"><block var="i"/><block var="monthdays"/></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="YYYY"/><l>4</l></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block var="MM"/><l>2</l></list></block></list></block><script><block s="doChangeVar"><l>days</l><l>1</l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="time"/><l>Julian Date</l></list></block><script><block s="doIf"><block s="reportVariadicLessThan"><list><block var="YYYY"/><l>0</l></list></block><script><block s="doChangeVar"><l>YYYY</l><l>1</l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="MM"/><l>2</l></list></block><script><block s="doSetVar"><l>jy</l><block var="YYYY"/></block><block s="doSetVar"><l>jm</l><block s="reportVariadicSum"><list><block var="MM"/><l>1</l></list></block></block></script><script><block s="doSetVar"><l>jy</l><block s="reportDifference"><block var="YYYY"/><l>1</l></block></block><block s="doSetVar"><l>jm</l><block s="reportVariadicSum"><list><block var="MM"/><l>13</l></list></block></block></script></block><block s="doSetVar"><l>JD</l><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportMonadic"><l><option>floor</option></l><block s="reportVariadicProduct"><list><l>365.25</l><block var="jy"/></list></block></block><block s="reportMonadic"><l><option>floor</option></l><block s="reportVariadicProduct"><list><l>30.6001</l><block var="jm"/></list></block></block></list></block><block s="reportVariadicSum"><list><block var="DD"/><l>1720995</l></list></block></list></block></block><block s="doIf"><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportVariadicSum"><list><block var="DD"/><block s="reportVariadicProduct"><list><l>31</l><block s="reportVariadicSum"><list><block var="MM"/><block s="reportVariadicProduct"><list><l>12</l><block var="YYYY"/></list></block></list></block></list></block></list></block><block s="reportVariadicSum"><list><l>15</l><block s="reportVariadicProduct"><list><l>31</l><block s="reportVariadicSum"><list><l>10</l><block s="reportVariadicProduct"><list><l>12</l><l>1582</l></list></block></list></block></list></block></list></block></list></block><script><block s="doChangeVar"><l>JD</l><block s="reportVariadicSum"><list><block s="reportDifference"><l>2</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportVariadicProduct"><list><l>0.01</l><block var="jy"/></list></block></block></block><block s="reportMonadic"><l><option>floor</option></l><block s="reportVariadicProduct"><list><block s="reportVariadicProduct"><list><l>0.01</l><l>0.25</l></list></block><block var="jy"/></list></block></block></list></block></block></script><list></list></block><block s="doReport"><block s="reportVariadicSum"><list><block var="JD"/><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportDifference"><block var="h"/><l>12</l></block><block s="reportQuotient"><block var="m"/><l>60</l></block></list></block><block s="reportQuotient"><block var="s"/><l>3600</l></block></list></block><l>24</l></block></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="time"/><l>decimal years</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block var="YYYY"/><block s="reportQuotient"><block s="reportVariadicSum"><list><block var="days"/><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block var="h"/><block s="reportQuotient"><block var="m"/><l>60</l></block></list></block><block s="reportQuotient"><block var="s"/><l>3600</l></block></list></block><l>24</l></block></list></block><l>365.252199</l></block></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="time"/><l>days this year</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block var="days"/><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block var="h"/><block s="reportQuotient"><block var="m"/><l>60</l></block></list></block><block s="reportQuotient"><block var="s"/><l>3600</l></block></list></block><l>24</l></block></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="time"/><l>hours this year</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>24</l><block var="days"/></list></block><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block var="h"/><block s="reportQuotient"><block var="m"/><l>60</l></block></list></block><block s="reportQuotient"><block var="s"/><l>3600</l></block></list></block></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="time"/><l>minutes this year</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportVariadicProduct"><list><l>24</l><l>60</l></list></block><block var="days"/></list></block><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="h"/><l>60</l></list></block><block var="m"/></list></block><block s="reportQuotient"><block var="s"/><l>60</l></block></list></block></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="time"/><l>seconds this year</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportVariadicProduct"><list><l>24</l><l>3600</l></list></block><block var="days"/></list></block><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="h"/><l>3600</l></list></block><block s="reportVariadicProduct"><list><block var="m"/><l>60</l></list></block></list></block><block var="s"/></list></block></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="time"/><l>hours today</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block var="h"/><block s="reportQuotient"><block var="m"/><l>60</l></block></list></block><block s="reportQuotient"><block var="s"/><l>3600</l></block></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="time"/><l>minutes today</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="h"/><l>60</l></list></block><block var="m"/></list></block><block s="reportQuotient"><block var="s"/><l>60</l></block></list></block></block></script><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="h"/><l>3600</l></list></block><block s="reportVariadicProduct"><list><block var="m"/><l>60</l></list></block></list></block><block var="s"/></list></block></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block-definition><block-definition s="all of %&apos;preds&apos;" type="predicate" category="operators"><comment x="0" y="0" w="247.99999999999997" collapsed="false">Takes any number of Boolean (true/false) inputs (use the left and right arrowheads to adjust the number of input slots) and reports TRUE only if all of the inputs are TRUE, otherwise FALSE.  Like AND but for multiple inputs.</comment><header></header><code></code><translations>pt:todas as afirmações _ são verdadeiras&#xD;</translations><inputs><input type="%mult%boolUE"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="preds"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="doReport"><block s="reportVariadicAnd"><list><block s="evaluate"><block s="reportListItem"><l>1</l><block var="preds"/></block><list></list></block><custom-block s="all of %mult%boolUE"><block s="reportCDR"><block var="preds"/></block></custom-block></list></block></block></script></block-definition><block-definition s="any of %&apos;preds&apos;" type="predicate" category="operators"><comment x="0" y="0" w="240" collapsed="false">Takes any number of Boolean (true/false) inputs (use the left and right arrowheads to adjust the number of input slots) and reports TRUE if at least one input is TRUE, otherwise FALSE.</comment><header></header><code></code><translations>pt:alguma das afirmações _ é verdadeira&#xD;</translations><inputs><input type="%mult%boolUE"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="preds"/></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doReport"><block s="reportVariadicOr"><list><block s="evaluate"><block s="reportListItem"><l>1</l><block var="preds"/></block><list></list></block><custom-block s="any of %mult%boolUE"><block s="reportCDR"><block var="preds"/></block></custom-block></list></block></block></script></block-definition><block-definition s="new costume %&apos;width&apos; %&apos;height&apos; %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="reporter" category="looks"><comment x="0" y="0" w="389.7865234374999" collapsed="false">Returns an empty costume of the given width and height with background color r/g/b.</comment><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></list></block></block></script></block-definition><block-definition s="%&apos;choice&apos; %&apos;n&apos; of %&apos;table&apos; $arrowRightOutline name" type="reporter" category="other" helper="true"><comment x="0" y="0" w="258.33333333333337" collapsed="false">Reports the row or column name of the row or column with the number entered, or reports an error message.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">column<options>column&#xD;row</options></input><input type="%n">1</input><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>firstLine</l><l>data</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>data</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>data</l><block var="table"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="data"/><l>table</l></custom-block></block><script><block s="doReport"><l>ERROR: only tables supported!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><block s="doReport"><l>ERROR: table is empty!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>column</l></list></block><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block></list></block></list></block><l>ERROR: index out of range!</l><block s="reportListItem"><block var="n"/><block s="reportListItem"><l>1</l><block var="data"/></block></block></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>row</l></list></block><script><block s="doReport"><block s="reportIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></list></block></list></block><l>ERROR: index out of range!</l><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="n"/><block var="data"/></block></block></block></block></script><list></list></block></script></block></script></block-definition><block-definition s="evaluate predicate %&apos;predicate&apos; with %&apos;param&apos;" type="predicate" category="other" helper="true"><comment x="0" y="0" w="118.33333333333327" collapsed="false">Evaluates the predicate with a given parameter.</comment><header></header><code></code><translations></translations><inputs><input type="%s">ringified predicate</input><input type="%s"></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportIsA"><block var="predicate"/><l><option>predicate</option></l></block><script><block s="doReport"><block s="evaluate"><block var="predicate"/><list><block var="param"/></list></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block></script></block-definition><block-definition s="evaluate intervals %&apos;intervals&apos; with %&apos;x&apos;" type="predicate" category="other" helper="true"><comment x="0" y="0" w="118.65384615384613" collapsed="false">Evaluates the intervals with a given parameter.</comment><header></header><code></code><translations></translations><inputs><input type="%l">ringified predicate</input><input type="%s"></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportVariadicOr"><list><block s="reportNot"><block s="reportIsA"><block var="x"/><l><option>number</option></l></block></block><block s="reportNot"><custom-block s="is %s a %txt"><block var="intervals"/><l>listOfIntervals</l></custom-block></block></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doForEach"><l>item</l><block var="intervals"/><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="item"/></block><l>&lt;</l></list></block><script><block s="doIf"><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="item"/></block><block var="x"/></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block></script><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>1</l><block var="item"/></block><block var="x"/></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="item"/></block><l>&lt;</l></list></block><script><block s="doIf"><block s="reportVariadicGreaterThanOrEquals"><list><block var="x"/><block s="reportListItem"><l>4</l><block var="item"/></block></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block></script><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="x"/><block s="reportListItem"><l>4</l><block var="item"/></block></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></script></block-definition><block-definition s="%&apos;set1&apos; ∩ %&apos;set2&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="194.40476190476184" collapsed="false">Reports the intersection of two sets.</comment><header></header><code></code><translations></translations><inputs><input type="%s">set1</input><input type="%s">set2</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set1"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: first parameter is not a set!</l></block></script><list></list><comment w="107.14285714285722" collapsed="false">are these two sets?</comment></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set2"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: second parameter is not a set!</l></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list><l>set</l><block s="reportVariadicAnd"><list><block s="reportListItem"><l>2</l><block var="set1"/></block><block s="reportListItem"><l>2</l><block var="set2"/></block></list></block><block s="reportConcatenatedLists"><list><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><block s="reportListContainsItem"><block s="reportListItem"><l>3</l><block var="set1"/></block><block var="element"/></block><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="set1"/></block><block var="element"/></custom-block></list></block></autolambda><list><l>element</l></list></block><block s="reportListItem"><l>3</l><block var="set2"/></block></block><block s="reportKeep"><block s="reifyPredicate"><autolambda><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="set2"/></block><block var="element"/></custom-block></autolambda><list><l>element</l></list></block><block s="reportListItem"><l>3</l><block var="set1"/></block></block></list></block><custom-block s="intersect interval lists %l and %l"><block s="reportListItem"><l>4</l><block var="set1"/></block><block s="reportListItem"><l>4</l><block var="set2"/></block></custom-block><l></l></list></block></block><block s="doReport"><custom-block s="cleaned up set %l"><block var="result"/></custom-block></block></script></block></script></block-definition><block-definition s="%&apos;set1&apos; ∪ %&apos;set2&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="139.16666666666669" collapsed="false">Reports the union of two sets.</comment><header></header><code></code><translations></translations><inputs><input type="%s">set1</input><input type="%s">set2</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set1"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: first parameter is not a set!</l></block></script><list></list><comment w="107.14285714285722" collapsed="false">are these two sets?</comment></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set2"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: second parameter is not a set!</l></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list><l>set</l><block s="reportVariadicAnd"><list><block s="reportListItem"><l>2</l><block var="set1"/></block><block s="reportListItem"><l>2</l><block var="set2"/></block></list></block><block s="reportConcatenatedLists"><list><block s="reportListItem"><l>3</l><block var="set1"/></block><block s="reportListItem"><l>3</l><block var="set2"/></block></list></block><custom-block s="merge intervals %l"><block s="reportConcatenatedLists"><list><block s="reportListItem"><l>4</l><block var="set1"/></block><block s="reportListItem"><l>4</l><block var="set2"/></block></list></block></custom-block><l></l></list></block></block><block s="doReport"><custom-block s="cleaned up set %l"><block var="result"/></custom-block></block></script></block></script></block-definition><block-definition s="%&apos;set1&apos; \ %&apos;set2&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="212.85714285714297" collapsed="false">Reports the difference between two sets.</comment><header></header><code></code><translations></translations><inputs><input type="%s">set1</input><input type="%s">set2</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>n</l><l>m</l><l>interval1</l><l>interval2</l><l>difference</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set1"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: first parameter is not a set!</l></block></script><list></list><comment w="107.14285714285722" collapsed="false">are these two sets?</comment></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set2"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: second parameter is not a set!</l></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list><l>set</l><block s="reportVariadicAnd"><list><block s="reportListItem"><l>2</l><block var="set1"/></block><block s="reportListItem"><l>2</l><block var="set2"/></block></list></block><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportListContainsItem"><block s="reportListItem"><l>3</l><block var="set2"/></block><block var="element"/></block><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="set2"/></block><block var="element"/></custom-block></list></block></block></autolambda><list><l>element</l></list></block><block s="reportListItem"><l>3</l><block var="set1"/></block></block><block s="reportNewList"><list></list></block><l></l></list></block></block><block s="doIf"><block s="reportNot"><block s="reportListItem"><l>2</l><block var="result"/></block></block><script><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set1"/></block></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set2"/></block></block><l>0</l></list></block></list></block><script><block s="doReport"><l>ERROR: impossible operation for not numerical sets.</l></block></script><script><block s="doReport"><block s="reportNewList"><list><l>set</l><block s="reportListItem"><l>2</l><block var="result"/></block><block s="reportListItem"><l>3</l><block var="result"/></block><block s="reportListItem"><l>4</l><block var="set1"/></block><l></l></list></block></block></script></block></script><list></list></block><block s="doSetVar"><l>set1</l><custom-block s="copy of %l"><block var="set1"/></custom-block></block><block s="doSetVar"><l>set2</l><custom-block s="copy of %l"><block var="set2"/></custom-block></block><block s="doReplaceInList"><l>4</l><block var="set2"/><block s="reportConcatenatedLists"><list><block s="reportListItem"><l>4</l><block var="set2"/></block><custom-block s="list of numbers %l $arrowRightOutline list of intervals"><block s="reportListItem"><l>3</l><block var="set2"/></block></custom-block></list></block></block><block s="doReplaceInList"><l>3</l><block var="set2"/><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>m</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="m"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set2"/></block></block></list></block><script><block s="doSetVar"><l>interval2</l><block s="reportListItem"><block var="m"/><block s="reportListItem"><l>4</l><block var="set2"/></block></block></block><block s="doSetVar"><l>n</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set1"/></block></block></list></block><script><block s="doSetVar"><l>interval1</l><block s="reportListItem"><block var="n"/><block s="reportListItem"><l>4</l><block var="set1"/></block></block></block><block s="doSetVar"><l>difference</l><custom-block s="difference of interval %l and %l"><block var="interval1"/><block var="interval2"/></custom-block></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="difference"/></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><custom-block s="intersect two intervals %l %l"><block var="interval1"/><block var="interval2"/></custom-block></block><l>0</l></list></block></list></block><script><block s="doReplaceInList"><l>4</l><block var="set1"/><block s="reportConcatenatedLists"><list><block s="reportListItem"><l>4</l><block var="set1"/></block><block var="difference"/></list></block></block><block s="doDeleteFromList"><block var="n"/><block s="reportListItem"><l>4</l><block var="set1"/></block></block></script><list></list></block><block s="doChangeVar"><l>n</l><l>1</l></block></script></block><block s="doChangeVar"><l>m</l><l>1</l></block></script><comment w="120" collapsed="false">compare the mth interval with all intervals of set1</comment></block><block s="doReplaceInList"><l>4</l><block var="result"/><custom-block s="merge intervals %l"><block s="reportListItem"><l>4</l><block var="set1"/></block></custom-block></block><block s="doReport"><custom-block s="cleaned up set %l"><block var="result"/></custom-block></block></script></block></script></block-definition><block-definition s="%&apos;set1&apos; X %&apos;set2&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="250.16666666666677" collapsed="false">Reports the Cartesian product between two sets.</comment><header></header><code></code><translations></translations><inputs><input type="%s">set1</input><input type="%s">set2</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>term1</l><l>term2</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set1"/><l>set</l></custom-block><comment w="107.14285714285722" collapsed="false">are these two sets?</comment></block><script><block s="doReport"><l>ERROR: first parameter is not a set!</l></block></script><list></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set2"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: second parameter is not a set!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set1"/></block></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set2"/></block></block><l>0</l></list></block></list></block><script><block s="doReport"><l>ERROR: impossible operation with infinite sets!</l></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list><l>set</l><block s="reportVariadicAnd"><list><block s="reportListItem"><l>2</l><block var="set1"/></block><block s="reportListItem"><l>2</l><block var="set2"/></block></list></block><block s="reportNewList"><list></list></block><block s="reportNewList"><list></list></block><l></l></list></block></block><block s="doForEach"><l>item_1</l><block s="reportListItem"><l>3</l><block var="set1"/></block><script><block s="doForEach"><l>item_2</l><block s="reportListItem"><l>3</l><block var="set2"/></block><script><block s="doIfElse"><block s="reportIsA"><block var="item_1"/><l><option>list</option></l></block><script><block s="doSetVar"><l>term1</l><block var="item_1"/></block></script><script><block s="doSetVar"><l>term1</l><block s="reportNewList"><list><block var="item_1"/></list></block></block></script></block><block s="doIfElse"><block s="reportIsA"><block var="item_2"/><l><option>list</option></l></block><script><block s="doSetVar"><l>term2</l><block var="item_2"/></block></script><script><block s="doSetVar"><l>term2</l><block s="reportNewList"><list><block var="item_2"/></list></block></block></script></block><block s="doAddToList"><block s="reportConcatenatedLists"><list><block var="term1"/><block var="term2"/></list></block><block s="reportListItem"><l>3</l><block var="result"/></block></block></script></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="%&apos;a&apos; $arrowRightThin %&apos;b&apos; ?" type="predicate" category="other" helper="true"><comment x="0" y="0" w="67.5" collapsed="false">implication</comment><header></header><code></code><translations></translations><inputs><input type="%s">1</input><input type="%n">0</input></inputs><script><block s="doReport"><block s="reportVariadicOr"><list><block s="reportNot"><custom-block s="number %n $arrowRightOutline boolean"><block var="a"/></custom-block></block><custom-block s="number %n $arrowRightOutline boolean"><block var="b"/></custom-block></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; $arrowLeftRightThin %&apos;b&apos; ?" type="predicate" category="other" helper="true"><comment x="0" y="0" w="90" collapsed="false">equivalence</comment><header></header><code></code><translations></translations><inputs><input type="%s">1</input><input type="%s">0</input></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><custom-block s="number %n $arrowRightOutline boolean"><block var="a"/></custom-block><custom-block s="number %n $arrowRightOutline boolean"><block var="b"/></custom-block></list></block></block></script></block-definition><block-definition s="number %&apos;x&apos; $arrowRightOutline boolean" type="reporter" category="other" helper="true"><comment x="0" y="0" w="163.3333333333337" collapsed="false">Converts numbers to booleans</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportIsA"><block var="x"/><l><option>number</option></l></block><script><block s="doReport"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="x"/><l>0</l></list></block></block></block></script><script><block s="doReport"><block var="x"/></block></script></block></script></block></script></block-definition><block-definition s="boolean %&apos;x&apos; $arrowRightOutline number" type="reporter" category="other" helper="true"><comment x="0" y="0" w="179.16666666666666" collapsed="false">Converts booleans to numbers</comment><header></header><code></code><translations></translations><inputs><input type="%b">true</input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportIsA"><block var="x"/><l><option>Boolean</option></l></block><script><block s="doIfElse"><block var="x"/><script><block s="doReport"><l>1</l></block></script><script><block s="doReport"><l>0</l></block></script></block></script><script><block s="doReport"><block var="x"/></block></script></block></script></block></script></block-definition><block-definition s="merge intervals %&apos;theIntervals&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="322.5" collapsed="false">Intervals should be of structure [leftLimit,operator1,operator2,rightLimit]</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>n</l><l>m</l><l>interval1</l><l>interval2</l><l>merged?</l><l>leftMarker</l><l>rightMarker</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="theIntervals"/><l>listOfIntervals</l></custom-block></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="theIntervals"/><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block var="theIntervals"/></block></script><script><block s="doReport"><l>ERROR: intervals necessary!</l></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="theIntervals"/></block><l>2</l></list></block><script><block s="doReport"><block var="theIntervals"/></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportMap"><block s="reifyReporter"><script></script><list></list></block><block var="theIntervals"/></block></block><block s="doSetVar"><l>n</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block></list></block><script><block s="doSetVar"><l>interval1</l><block s="reportListItem"><block var="n"/><block var="result"/></block><comment w="105.83333333333333" collapsed="false">compare the nth interval with the rest</comment></block><block s="doSetVar"><l>merged?</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>m</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="m"/><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="m"/><block var="n"/></list></block><script><block s="doChangeVar"><l>m</l><l>1</l></block></script><script><block s="doSetVar"><l>interval2</l><block s="reportListItem"><block var="m"/><block var="result"/></block></block><block s="doIfElse"><custom-block s="are intervals %l and %l overlapping?"><block var="interval1"/><block var="interval2"/></custom-block><script><block s="doSetVar"><l>leftMarker</l><block s="reportIfElse"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>1</l><block var="interval2"/></block></list></block><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>2</l><block var="interval1"/></block></list></block><block s="reportIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>1</l><block var="interval2"/></block></list></block><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="interval2"/></block><block s="reportListItem"><l>2</l><block var="interval2"/></block></list></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval1"/></block><l>&lt;</l></list></block><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>2</l><block var="interval1"/></block></list></block><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="interval2"/></block><block s="reportListItem"><l>2</l><block var="interval2"/></block></list></block></block></block></block><comment w="90" collapsed="false">determine new limits</comment></block><block s="doSetVar"><l>rightMarker</l><block s="reportIfElse"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>4</l><block var="interval1"/></block><block s="reportListItem"><l>4</l><block var="interval2"/></block></list></block><block s="reportNewList"><list><block s="reportListItem"><l>4</l><block var="interval2"/></block><block s="reportListItem"><l>3</l><block var="interval2"/></block></list></block><block s="reportIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>4</l><block var="interval1"/></block><block s="reportListItem"><l>4</l><block var="interval2"/></block></list></block><block s="reportNewList"><list><block s="reportListItem"><l>4</l><block var="interval1"/></block><block s="reportListItem"><l>3</l><block var="interval1"/></block></list></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval1"/></block><l>&lt;</l></list></block><block s="reportNewList"><list><block s="reportListItem"><l>4</l><block var="interval2"/></block><block s="reportListItem"><l>3</l><block var="interval2"/></block></list></block><block s="reportNewList"><list><block s="reportListItem"><l>4</l><block var="interval1"/></block><block s="reportListItem"><l>3</l><block var="interval1"/></block></list></block></block></block></block></block><block s="doSetVar"><l>merged?</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doReplaceInList"><block var="n"/><block var="result"/><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="leftMarker"/></block><block s="reportListItem"><l>2</l><block var="leftMarker"/></block><block s="reportListItem"><l>2</l><block var="rightMarker"/></block><block s="reportListItem"><l>1</l><block var="rightMarker"/></block></list></block><comment w="90" collapsed="false">replace two intervals by the new one</comment></block><block s="doDeleteFromList"><block var="m"/><block var="result"/></block></script><script><block s="doChangeVar"><l>m</l><l>1</l></block></script></block></script></block></script></block><block s="doIf"><block s="reportNot"><block var="merged?"/></block><script><block s="doChangeVar"><l>n</l><l>1</l></block></script><list></list></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="predicate tree %&apos;tree&apos; $arrowRightThin list of intervals" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportListContainsItem"><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicNotEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><block s="reportListItem"><l>1</l><block var="tree"/></block></block><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l></l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="tree"/></block><l></l></list></block></list></block><script><block s="doReport"><l>ERROR: senseless predicate</l></block></script><list></list></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l></l></list></block><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><block s="reportListItem"><l>3</l><block var="tree"/></block><l>≤</l><l>≤</l><block s="reportListItem"><l>3</l><block var="tree"/></block></list></block></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l>≤</l><l>≤</l><block s="reportListItem"><l>2</l><block var="tree"/></block></list></block></list></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicNotEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l></l></list></block><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>-Infinity</l><l>&lt;</l><l>&lt;</l><block s="reportListItem"><l>3</l><block var="tree"/></block></list></block><block s="reportNewList"><list><block s="reportListItem"><l>3</l><block var="tree"/></block><l>&lt;</l><l>&lt;</l><l>Infinity</l></list></block></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>-Infinity</l><l>&lt;</l><l>&lt;</l><block s="reportListItem"><l>2</l><block var="tree"/></block></list></block><block s="reportNewList"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l>&lt;</l><l>&lt;</l><l>Infinity</l></list></block></list></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l></l></list></block><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>-Infinity</l><l>≤</l><l>≤</l><block s="reportListItem"><l>3</l><block var="tree"/></block></list></block></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l>≤</l><l>≤</l><l>Infinity</l></list></block></list></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l></l></list></block><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><block s="reportListItem"><l>3</l><block var="tree"/></block><l>≤</l><l>≤</l><l>Infinity</l></list></block></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>-Infinity</l><l>≤</l><l>≤</l><block s="reportListItem"><l>2</l><block var="tree"/></block></list></block></list></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l></l></list></block><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>-Infinity</l><l>≤</l><l>&lt;</l><block s="reportListItem"><l>3</l><block var="tree"/></block></list></block></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l>&lt;</l><l>≤</l><l>Infinity</l></list></block></list></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="tree"/></block><l></l></list></block><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><block s="reportListItem"><l>3</l><block var="tree"/></block><l>&lt;</l><l>≤</l><l>Infinity</l></list></block></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list><l>-Infinity</l><l>≤</l><l>&lt;</l><block s="reportListItem"><l>2</l><block var="tree"/></block></list></block></list></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><l/><l/></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="intersect interval lists %l and %l"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportListItem"><l>2</l><block var="tree"/></block></custom-block><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportListItem"><l>3</l><block var="tree"/></block></custom-block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><l/><l/></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="merge interval lists %l and %l"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportListItem"><l>2</l><block var="tree"/></block></custom-block><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportListItem"><l>3</l><block var="tree"/></block></custom-block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicNotEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><block s="reportCDR"><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="reifyPredicate"><autolambda><block s="reportVariadicNotEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><block s="reportCDR"><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><block s="reportCDR"><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><block s="reportCDR"><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><block s="reportCDR"><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportConcatenatedLists"><list><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThanOrEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block><block s="reportCDR"><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><l/><l/></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><l/><l/></list></block></autolambda><list></list></block><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block><block s="reportListItem"><l>3</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block></list></block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><l/><l/></list></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><l/><l/></list></block></autolambda><list></list></block><block s="reportNewList"><list><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block><block s="reportNewList"><list><l>not</l><block s="reportListItem"><l>3</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block></list></block></list></block></custom-block></block></script><list></list></block></script><list></list></block></script></block></script></block-definition><block-definition s="intersect two intervals %&apos;interval1&apos; %&apos;interval2&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="322.5" collapsed="false">Intervals should be of structure [leftLimit,operator1,operator2,rightLimit]</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>leftEdge</l><l>rightEdge</l><l>op1</l><l>op2</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><custom-block s="is %s a %txt"><block var="interval1"/><l>interval</l></custom-block><custom-block s="is %s a %txt"><block var="interval2"/><l>interval</l></custom-block></list></block></block><script><block s="doReport"><l>ERROR: intervals required!</l></block></script><list></list></block><block s="doIf"><block s="reportNot"><custom-block s="are intervals %l and %l overlapping?"><block var="interval1"/><block var="interval2"/></custom-block></block><script><block s="doReport"><block s="reportNewList"><list></list></block><comment w="90" collapsed="false">an empty interval</comment></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>1</l><block var="interval2"/></block></list></block><script><block s="doSetVar"><l>leftEdge</l><block s="reportListItem"><l>1</l><block var="interval2"/></block></block><block s="doSetVar"><l>op1</l><block s="reportListItem"><l>2</l><block var="interval2"/></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>1</l><block var="interval2"/></block></list></block><script><block s="doSetVar"><l>leftEdge</l><block s="reportListItem"><l>1</l><block var="interval2"/></block></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval1"/></block><l>&lt;</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval2"/></block><l>&lt;</l></list></block></list></block><script><block s="doSetVar"><l>op1</l><l>&lt;</l></block></script><script><block s="doSetVar"><l>op1</l><l>≤</l></block></script></block></script><script><block s="doSetVar"><l>leftEdge</l><block s="reportListItem"><l>1</l><block var="interval1"/></block></block><block s="doSetVar"><l>op1</l><block s="reportListItem"><l>2</l><block var="interval1"/></block></block></script></block></script><comment w="82.00716145833326" collapsed="false">define left edge and operator</comment></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>4</l><block var="interval1"/></block><block s="reportListItem"><l>4</l><block var="interval2"/></block></list></block><script><block s="doSetVar"><l>rightEdge</l><block s="reportListItem"><l>4</l><block var="interval1"/></block></block><block s="doSetVar"><l>op2</l><block s="reportListItem"><l>3</l><block var="interval1"/></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>4</l><block var="interval1"/></block><block s="reportListItem"><l>4</l><block var="interval2"/></block></list></block><script><block s="doSetVar"><l>rightEdge</l><block s="reportListItem"><l>4</l><block var="interval1"/></block></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval1"/></block><l>&lt;</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval2"/></block><l>&lt;</l></list></block></list></block><script><block s="doSetVar"><l>op2</l><l>&lt;</l></block></script><script><block s="doSetVar"><l>op2</l><l>≤</l></block></script></block></script><script><block s="doSetVar"><l>rightEdge</l><block s="reportListItem"><l>4</l><block var="interval2"/></block></block><block s="doSetVar"><l>op2</l><block s="reportListItem"><l>3</l><block var="interval2"/></block></block></script></block></script><comment w="82.00716145833326" collapsed="false">define right edge and operator</comment></block><block s="doReport"><block s="reportNewList"><list><block var="leftEdge"/><block var="op1"/><block var="op2"/><block var="rightEdge"/></list></block></block></script></block></script></block-definition><block-definition s="intersect interval lists %&apos;intervals1&apos; and %&apos;intervals2&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>m</l><l>n</l><l>interval</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicOr"><list><custom-block s="is %s a %txt"><block var="intervals1"/><l>listOfIntervals</l></custom-block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="intervals1"/></block><l>0</l></list></block></list></block><block s="reportVariadicOr"><list><custom-block s="is %s a %txt"><block var="intervals2"/><l>listOfIntervals</l></custom-block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="intervals2"/></block><l>0</l></list></block></list></block></list></block></block><script><block s="doReport"><l>ERROR: interval lists required!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="intervals1"/></block><l>1</l></list></block><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="intervals2"/></block><l>1</l></list></block></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>n</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block var="intervals1"/></block></list></block><script><block s="doSetVar"><l>m</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="m"/><block s="reportListAttribute"><l><option>length</option></l><block var="intervals2"/></block></list></block><script><block s="doSetVar"><l>interval</l><custom-block s="intersect two intervals %l %l"><block s="reportListItem"><block var="n"/><block var="intervals1"/></block><block s="reportListItem"><block var="m"/><block var="intervals2"/></block></custom-block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="interval"/></block><l>0</l></list></block><script><block s="doAddToList"><block var="interval"/><block var="result"/></block></script><list></list></block><block s="doChangeVar"><l>m</l><l>1</l></block></script></block><block s="doChangeVar"><l>n</l><l>1</l></block></script></block><block s="doReport"><custom-block s="merge intervals %l"><block var="result"/></custom-block></block></script></block></script></block-definition><block-definition s="merge interval lists %&apos;intervals1&apos; and %&apos;intervals2&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>n</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><custom-block s="is %s a %txt"><block var="intervals1"/><l>listOfIntervals</l></custom-block><custom-block s="is %s a %txt"><block var="intervals2"/><l>listOfIntervals</l></custom-block></list></block></block><script><block s="doReport"><l>ERROR: interval lists required!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="intervals1"/></block><l>1</l></list></block><script><block s="doReport"><block var="intervals2"/></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="intervals2"/></block><l>1</l></list></block><script><block s="doReport"><block var="intervals1"/></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportMap"><block s="reifyReporter"><script></script><list></list></block><block var="intervals1"/></block></block><block s="doSetVar"><l>n</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block var="intervals2"/></block></list></block><script><block s="doAddToList"><block s="reportListItem"><block var="n"/><block var="intervals2"/></block><block var="result"/></block><block s="doChangeVar"><l>n</l><l>1</l></block></script></block><block s="doReport"><custom-block s="merge intervals %l"><block var="result"/></custom-block></block></script></block></script></block-definition><block-definition s="is interval %&apos;interval&apos; subinterval of interval list %&apos;intervals&apos; ?" type="predicate" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>isSubinterval</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="interval"/><l>interval</l></custom-block></block><script><block s="doReport"><l>ERROR: interval required!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="intervals"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="intervals"/><l>listOfIntervals</l></custom-block></block><script><block s="doReport"><l>ERROR: interval list required!</l></block></script><list></list></block><block s="doForEach"><l>item</l><custom-block s="merge intervals %l"><block var="intervals"/></custom-block><script><block s="doIf"><block s="reportVariadicEquals"><list><custom-block s="intersect two intervals %l %l"><block var="interval"/><block var="item"/></custom-block><block var="interval"/></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="elements of %&apos;elements&apos; not covered by predicate %&apos;predicate&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="269" collapsed="false">Returns all elements of a list not covered by the predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>coveredElements</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>coveredElements</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><custom-block s="evaluate predicate %s with %s"><block var="predicate"/><block var="element"/></custom-block></autolambda><list><l>element</l></list></block><block var="elements"/></block></block><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportListContainsItem"><block var="coveredElements"/><l></l></block></block></autolambda><list></list></block><block var="elements"/></block></block></script></block></script></block-definition><block-definition s="elements of %&apos;elements&apos; not covered by intervals %&apos;intervals&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="269" collapsed="false">Returns all elements of a list not covered by the intervals.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>coveredElements</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>coveredElements</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><custom-block s="evaluate intervals %l with %s"><block var="intervals"/><block var="element"/></custom-block></autolambda><list><l>element</l></list></block><block var="elements"/></block></block><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportListContainsItem"><block var="coveredElements"/><l></l></block></block></autolambda><list></list></block><block var="elements"/></block></block></script></block></script></block-definition><block-definition s="cleaned up set %&apos;set&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: parameter is not a set!</l></block></script><list></list></block><block s="doSetVar"><l>result</l><custom-block s="copy of %l"><block var="set"/></custom-block></block><block s="doReplaceInList"><l>3</l><block var="result"/><block s="reportApplyExtension"><l>lst_sort(list, fn)</l><list><custom-block s="%s without duplicates"><custom-block s="elements of %l not covered by intervals %l"><block s="reportListItem"><l>3</l><block var="set"/></block><block s="reportListItem"><l>4</l><block var="set"/></block></custom-block></custom-block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="is %&apos;predicateTree&apos; translatable to intervals?" type="predicate" category="other" helper="true"><comment x="0" y="0" w="306.15384615384613" collapsed="false">Test wether the predicate is translatable to a list of intervals.</comment><header></header><code></code><translations></translations><inputs><input type="%l">ringified predicate</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="predicateTree"/><l><option>list</option></l></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doIf"><custom-block s="is %s a %txt"><block s="reportListItem"><l>1</l><block var="predicateTree"/></block><l>comparisonOperator</l></custom-block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="predicateTree"/></block><block s="reifyPredicate"><autolambda><block s="reportNot"><l/></block></autolambda><list></list></block></list></block><script><block s="doReport"><custom-block s="is %l translatable to intervals?"><block s="reportListItem"><l>2</l><block var="predicateTree"/></block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="predicateTree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><l/><l/></list></block></autolambda><list></list></block></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="predicateTree"/></block><block s="reifyPredicate"><autolambda><block s="reportVariadicAnd"><list><l/><l/></list></block></autolambda><list></list></block></list></block></list></block><script><block s="doReport"><block s="reportVariadicAnd"><list><custom-block s="is %l translatable to intervals?"><block s="reportListItem"><l>2</l><block var="predicateTree"/></block></custom-block><custom-block s="is %l translatable to intervals?"><block s="reportListItem"><l>3</l><block var="predicateTree"/></block></custom-block></list></block></block></script><list></list></block><block s="doReport"><block s="reportVariadicAnd"><list><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="predicateTree"/></block><l></l></list></block><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="predicateTree"/></block><l><option>number</option></l></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="predicateTree"/></block><l></l></list></block><block s="reportIsA"><block s="reportListItem"><l>3</l><block var="predicateTree"/></block><l><option>number</option></l></block></list></block></list></block></block></script><list></list></block><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="difference of interval %&apos;interval1&apos; and %&apos;interval2&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="322.5" collapsed="false">Intervals should be of structure [leftLimit,operator1,operator2,rightLimit]</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>leftEdge</l><l>rightEdge</l><l>op1</l><l>op2</l><l>intersection</l><l>result</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><custom-block s="is %s a %txt"><block var="interval1"/><l>interval</l></custom-block><custom-block s="is %s a %txt"><block var="interval2"/><l>interval</l></custom-block></list></block></block><script><block s="doReport"><l>ERROR: intervals required!</l></block></script><list></list></block><block s="doSetVar"><l>interval1</l><custom-block s="copy of %l"><block var="interval1"/></custom-block></block><block s="doSetVar"><l>interval2</l><custom-block s="copy of %l"><block var="interval2"/></custom-block></block><block s="doSetVar"><l>intersection</l><custom-block s="intersect two intervals %l %l"><block var="interval1"/><block var="interval2"/></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="intersection"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportNewList"><list><block var="interval1"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="interval1"/><block var="intersection"/></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>1</l><block var="intersection"/></block></list></block><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval1"/></block><l>≤</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="intersection"/></block><l>&lt;</l></list></block></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="intersection"/></block><l>≤</l><l>≤</l><block s="reportListItem"><l>1</l><block var="intersection"/></block></list></block><block var="result"/></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>4</l><block var="intersection"/></block><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><script><block s="doSetVar"><l>leftEdge</l><block s="reportListItem"><l>4</l><block var="intersection"/></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="intersection"/></block><l>≤</l></list></block><script><block s="doSetVar"><l>op1</l><l>&lt;</l></block></script><script><block s="doSetVar"><l>op1</l><l>≤</l></block></script></block><block s="doAddToList"><block s="reportNewList"><list><block var="leftEdge"/><block var="op1"/><block s="reportListItem"><l>3</l><block var="interval1"/></block><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><block var="result"/></block></script><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval1"/></block><l>≤</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="intersection"/></block><l>&lt;</l></list></block></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><l>4</l><block var="intersection"/></block><l>≤</l><l>≤</l><block s="reportListItem"><l>4</l><block var="intersection"/></block></list></block><block var="result"/></block></script><list></list></block></script></block><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>1</l><block var="intersection"/></block><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="intersection"/></block><l>&lt;</l></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>2</l><block var="interval1"/></block><l>≤</l><block s="reportListItem"><l>1</l><block var="intersection"/></block></list></block><block var="result"/></block></script><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>2</l><block var="interval1"/></block><l>&lt;</l><block s="reportListItem"><l>1</l><block var="intersection"/></block></list></block><block var="result"/></block></script></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>4</l><block var="intersection"/></block><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><script><block s="doSetVar"><l>leftEdge</l><block s="reportListItem"><l>4</l><block var="intersection"/></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="intersection"/></block><l>≤</l></list></block><script><block s="doSetVar"><l>op1</l><l>&lt;</l></block></script><script><block s="doSetVar"><l>op1</l><l>≤</l></block></script></block><block s="doAddToList"><block s="reportNewList"><list><block var="leftEdge"/><block var="op1"/><block s="reportListItem"><l>3</l><block var="interval1"/></block><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><block var="result"/></block></script><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval1"/></block><l>≤</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="intersection"/></block><l>&lt;</l></list></block></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><l>4</l><block var="intersection"/></block><l>≤</l><l>≤</l><block s="reportListItem"><l>4</l><block var="intersection"/></block></list></block><block var="result"/></block></script><list></list></block></script></block><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="intersection"/></block><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="interval1"/></block><block s="reportListItem"><l>2</l><block var="interval1"/></block><l>&lt;</l><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><block var="result"/></block></script><list></list></block><block s="doReplaceInList"><l>4</l><block var="result"/><custom-block s="merge intervals %l"><block s="reportListItem"><l>4</l><block var="result"/></block></custom-block></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="list of numbers %&apos;numbers&apos; $arrowRightOutline list of intervals" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><block var="numbers"/><script><block s="doAddToList"><block s="reportNewList"><list><block var="item"/><l>≤</l><l>≤</l><block var="item"/></list></block><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="are intervals %&apos;interval1&apos; and %&apos;interval2&apos; overlapping?" type="predicate" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><custom-block s="is %s a %txt"><block var="interval1"/><l>interval</l></custom-block><custom-block s="is %s a %txt"><block var="interval2"/><l>interval</l></custom-block></list></block></block><script><block s="doReport"><l>ERROR: intervals required!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="interval2"/></block><block s="reportListItem"><l>1</l><block var="interval1"/></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>4</l><block var="interval2"/></block><block s="reportListItem"><l>1</l><block var="interval1"/></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>4</l><block var="interval2"/></block><block s="reportListItem"><l>1</l><block var="interval1"/></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval2"/></block><l>&lt;</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval1"/></block><l>≤</l></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval2"/></block><l>≤</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval1"/></block><l>&lt;</l></list></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval2"/></block><l>&lt;</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval1"/></block><l>&lt;</l></list></block></list></block></list></block></list></block></list></block></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>4</l><block var="interval2"/></block><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>1</l><block var="interval2"/></block><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="interval2"/></block><block s="reportListItem"><l>4</l><block var="interval1"/></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval2"/></block><l>&lt;</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval1"/></block><l>≤</l></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval2"/></block><l>≤</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval1"/></block><l>&lt;</l></list></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="interval2"/></block><l>&lt;</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>3</l><block var="interval1"/></block><l>&lt;</l></list></block></list></block></list></block></list></block></list></block></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block-definition><block-definition s="configure %&apos;sprite&apos; as a PlotPad width: %&apos;width&apos; $nl height: %&apos;height&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="115" collapsed="false">Creates a new  empty costume of the specified size and color and sets the local properties</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>costumeWidth</l><l>costumeHeight</l><l>yIntervals</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>sprite</l><l>theStage</l></block><block s="doSetVar"><l>target</l><block s="reportObject"><l>Stage</l></block></block><block s="doSetVar"><l>costumeWidth</l><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block></block><block s="doSetVar"><l>costumeHeight</l><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="gotoXY"><l>0</l><l>0</l></block><block s="setHeading"><l>90</l></block><block s="show"></block></script><list></list></block><list></list></block><block s="doSetVar"><l>costumeWidth</l><block var="width"/></block><block s="doSetVar"><l>costumeHeight</l><block var="height"/></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myProperties</l></list></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myData</l></list></block><block s="doSetVar"><l>myProperties</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>myData</l><block s="reportNewList"><list></list></block></block><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="costumeWidth"/><block var="costumeHeight"/><block var="r"/><block var="g"/><block var="b"/></list></block></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfConfiguration</l><l>PlotPad</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfData</l><l>none</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>lineProperties</l><block s="reportNewList"><list><l>continuous</l><l>1</l><l>0</l><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>markerProperties</l><block s="reportNewList"><list><l>square</l><l>5</l><block s="reportBoolean"><l><bool>false</bool></l></block><l>255</l><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>dataProperties</l><block s="reportNewList"><list><l>notSet</l><l>notSet</l><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>scaleOffsets</l><block s="reportNewList"><list><l>60</l><l>10</l><l>35</l><l>50</l></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>labels</l><block s="reportNewList"><list><l></l><l></l><l></l><l>18</l><l>16</l><l>16</l><l></l><l></l></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>ranges</l><block s="reportNewList"><list><l>-10</l><l>10</l><l>-10</l><l>10</l></list></block></list></block><block var="myProperties"/></block><block s="doSetVar"><l>yIntervals</l><block s="reportRound"><block s="reportVariadicProduct"><list><l>6</l><block s="reportQuotient"><block var="height"/><block var="width"/></block></list></block></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="yIntervals"/><l>3</l></list></block><script><block s="doSetVar"><l>yIntervals</l><l>3</l></block></script><list></list></block><block s="doAddToList"><block s="reportNewList"><list><l>scaleProperties</l><block s="reportNewList"><list><l>2</l><l>2</l><l>12</l><l>12</l><l>6</l><block var="yIntervals"/><l>-10</l><l>-10</l><l>2</l><l>2</l><l>1</l><l>1</l><l>6</l><l>0</l><l>0</l><block s="reportBoolean"><l><bool>false</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doAddToList"><block s="reportNewList"><list><l>costumeProperties</l><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="r"/><block var="g"/><block var="b"/><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block var="width"/></block><l>2</l></block><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="height"/></block><l>2</l></block><l>0</l><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doAddToList"><block s="reportNewList"><list><l>costumeProperties</l><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block></script></block></script></block></script><scripts><comment x="721.6666666666665" y="25.166666666666657" w="195" collapsed="false">costume properties:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;6: left offset for Image position on stage&#xD;7: upper offset for Image position on stage&#xD;8: front color red&#xD;9: front color green&#xD;10: front color blue&#xD;&#xD;line properties:&#xD;1: line width&#xD;2: line style&#xD;3: line color red&#xD;4: line color green&#xD;5: lineColor blue&#xD;&#xD;marker properties:&#xD;1: marker style&#xD;2: marker width&#xD;3: marker connected&#xD;4: marker color red&#xD;5: marker color green&#xD;6: marker color blue&#xD;&#xD;data properties:&#xD;1: minValue&#xD;2: maxValue&#xD;3: columns&#xD;4: rows&#xD;&#xD;scale offsets:&#xD;1:left offset&#xD;2: right offset&#xD;3: upper offset&#xD;4: lower offset&#xD;&#xD;labels:&#xD;1: title&#xD;2: x label&#xD;3: y label&#xD;4: title height&#xD;5: x label height&#xD;6: y label height&#xD;7: x unit&#xD;8: y unit&#xD;&#xD;ranges:&#xD;1: x left&#xD;2: x right&#xD;3: y lower &#xD;4: y upper&#xD;&#xD;scale properties:&#xD;1: scales x precision&#xD;2: scales y precision&#xD;3: scales x textheight&#xD;4: scales y textheight&#xD;5: scales x intervals&#xD;6: scales y intervals&#xD;7: scales x start&#xD;8: scales y start&#xD;9: scales x step&#xD;10: scales y step&#xD;11: scales x scaling&#xD;12: scales y scaling&#xD;13: scales ticlength&#xD;14: scales x minitics&#xD;15: scales y minitics&#xD;16: scales x grid&#xD;17: scales y grid&#xD;18: scales x centered&#xD;19: scales y centered&#xD;20: scales show x scale&#xD;21: scales show y scale&#xD;22: plot border</comment></scripts></block-definition><block-definition s="is %&apos;sprite&apos; a PlotPad?" type="predicate" category="5. PlotPad for data plots"><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><l><option>myself</option></l></block><block s="reifyReporter"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>PlotPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><l>Stage</l></block><block s="reifyReporter"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>PlotPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><block var="sprite"/></block><block s="reifyReporter"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>PlotPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script></block></script></block></script></block></script></block-definition><block-definition s="PlotPadProperty %&apos;name&apos; of %&apos;sprite&apos;" type="reporter" category="5. PlotPad for data plots"><comment x="0" y="0" w="95" collapsed="false">Reads the value of an existing property.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">costumeProperties<options>typeOfConfiguration&#xD;typeOfData&#xD;costumeProperties&#xD;lineProperties&#xD;markerProperties&#xD;dataProperties&#xD;scaleOffsets&#xD;labels&#xD;ranges&#xD;scaleProperties</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>h</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as PlotPad!</l></block></script><list></list></block><block s="doSetVar"><l>result</l><l>not found</l></block><block s="doSetVar"><l>name</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="name"/><l> </l></block></block></block><block s="doSetVar"><l>h</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><block s="reportListItem"><l>1</l><l/></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportListItem"><l>2</l><l/></block></block></script><list></list></block><block s="doReport"><l></l></block></script><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="set PlotPadProperty %&apos;name&apos; of %&apos;sprite&apos; to %&apos;value&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="128.97435897435886" collapsed="false">Sets the value of an existing property or inserts it anew.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">costumeProperties<options>typeOfConfiguration&#xD;typeOfData&#xD;costumeProperties&#xD;lineProperties&#xD;markerProperties&#xD;dataProperties&#xD;scaleOffsets&#xD;labels&#xD;ranges&#xD;scaleProperties</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>done</l><l>h</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>name</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="name"/><l> </l></block></block></block><block s="doSetVar"><l>done</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>h</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><block s="reportListItem"><l>1</l><l/></block></list></block><script><block s="doReplaceInList"><l>2</l><l/><block var="value"/></block><block s="doSetVar"><l>done</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="doReport"><l></l></block></script><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block><block s="doIf"><block s="reportNot"><block var="done"/></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doAddToList"><l></l><l/></block></script><list></list></block><list><block s="reportNewList"><list><block var="name"/><block var="value"/></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></list></block></script><list></list></block></script></block></script></block-definition><block-definition s="set PlotPad costume properties width: %&apos;width&apos; height: %&apos;height&apos; $nl back color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; front color: %&apos;rFront&apos; %&apos;gFront&apos; %&apos;bFront&apos; $nl offsets: %&apos;leftOffset&apos; %&apos;upperOffset&apos; on %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="117.66039530436235" collapsed="false">a simple way to set some costume attributes:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;6: left offset for Image&#xD;    position on stage&#xD;7: upper offset for Image&#xD;    position on stage&#xD;8: front color red&#xD;9: front color green&#xD;10: front color blue</comment><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input><input type="%n">180</input><input type="%n">180</input><input type="%n">180</input><input type="%n">0</input><input type="%n">0</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>costumeProperties</l><l>theStage</l><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="r"/><block var="g"/><block var="b"/><block var="leftOffset"/><block var="upperOffset"/><block var="rFront"/><block var="gFront"/><block var="bFront"/></list></block></custom-block></script><script><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>costumeProperties</l><block var="target"/><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/><block var="leftOffset"/><block var="upperOffset"/><block var="rFront"/><block var="gFront"/><block var="bFront"/></list></block></custom-block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></list></block></block></script><list></list></block><list></list></block></script></block></script></block-definition><block-definition s="set PlotPad line properties style: %&apos;style&apos; $nl width: %&apos;lineWidth&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; on %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="105.68386840820362" collapsed="false">a simple way to set some net attributes:&#xD;line properties:&#xD;1: line style&#xD;2: lineWidth&#xD;3: line color red&#xD;4: line color green&#xD;5: lineColor blue</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">continuous<options>continuous&#xD;dashed&#xD;dash-dot&#xD;dot-dot&#xD;rainbow&#xD;inverse-rainbow</options></input><input type="%n">1</input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>lineProperties</l><block var="target"/><block s="reportNewList"><list><block var="style"/><block var="lineWidth"/><block var="r"/><block var="g"/><block var="b"/></list></block></custom-block></script></block></script></block-definition><block-definition s="set PlotPad marker properties style: %&apos;style&apos; width: %&apos;width&apos; $nl color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; connected? %&apos;connected&apos; on %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="105.68386840820362" collapsed="false">a simple way to set some net attributes:&#xD;marker properties:&#xD;1: marker style&#xD;2: marker width&#xD;3: marker connected&#xD;4: marker color red&#xD;5: marker color green&#xD;6: marker color blue</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">square<options>none&#xD;o_circle&#xD;._point&#xD;+_plus&#xD;x_ex&#xD;square&#xD;triangle</options></input><input type="%n">5</input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input><input type="%b">false</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>markerProperties</l><block var="target"/><block s="reportNewList"><list><block var="style"/><block var="width"/><block var="connected"/><block var="r"/><block var="g"/><block var="b"/></list></block></custom-block></script></block></script></block-definition><block-definition s="set PlotPad scale properties precision: %&apos;xprecision&apos; %&apos;yprecision&apos; $nl textheight: %&apos;xtextheight&apos; %&apos;ytextheight&apos; number of intervals: %&apos;nx&apos; %&apos;ny&apos; $nl on %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="152.3076923076923" collapsed="false">Sets some properties for scales.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">2</input><input type="%n">12</input><input type="%n">12</input><input type="%n">10</input><input type="%n">10</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>scaleProperties</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>scaleProperties</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block><block s="doReplaceInList"><l>1</l><block var="scaleProperties"/><block var="xprecision"/></block><block s="doReplaceInList"><l>2</l><block var="scaleProperties"/><block var="yprecision"/></block><block s="doReplaceInList"><l>3</l><block var="scaleProperties"/><block var="xtextheight"/></block><block s="doReplaceInList"><l>4</l><block var="scaleProperties"/><block var="ytextheight"/></block><block s="doReplaceInList"><l>5</l><block var="scaleProperties"/><block var="nx"/></block><block s="doReplaceInList"><l>6</l><block var="scaleProperties"/><block var="ny"/></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scaleProperties</l><block var="target"/><block var="scaleProperties"/></custom-block></script></block></script></block-definition><block-definition s="set PlotPad labels on %&apos;sprite&apos; to $nl title: %&apos;newTitle&apos; titleheight: %&apos;tHeight&apos; $nl x-label: %&apos;newXLabel&apos; xLabelheight: %&apos;xHeight&apos; $nl y-label: %&apos;newYLabel&apos; yLabelheight: %&apos;yHeight&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="140.3846153846154" collapsed="false">Sets the labels and textheights of the diagrams of a PlotPad.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%txt">Diagram Title</input><input type="%n">18</input><input type="%txt">x-label</input><input type="%n">16</input><input type="%txt">y-label</input><input type="%n">16</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>labels</l><block var="target"/><block s="reportNewList"><list><block var="newTitle"/><block var="newXLabel"/><block var="newYLabel"/><block var="tHeight"/><block var="xHeight"/><block var="yHeight"/><l></l><l></l></list></block></custom-block><custom-block s="set PlotPad offsets from edges on %txt"><block var="target"/></custom-block></script></block></script></block-definition><block-definition s="set PlotPad offsets from edges on %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="187.1666676666667" collapsed="false">Sets the distances of the diagram axes to the edges of the Sketchpad.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>leftOffset</l><l>rightOffset</l><l>target</l><l>upperOffset</l><l>lowerOffset</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>upperOffset</l><block s="reportVariadicProduct"><list><l>1</l><block s="reportListItem"><l>3</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block></list><comment w="90" collapsed="false">UPPER OFFSET</comment></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><custom-block s="PlotPadProperty %txt of %txt"><l>labels</l><block var="target"/></custom-block></block></block><l>0</l></list></block><script><block s="doChangeVar"><l>upperOffset</l><block s="reportVariadicProduct"><list><l>1</l><block s="reportListItem"><l>4</l><custom-block s="PlotPadProperty %txt of %txt"><l>labels</l><block var="target"/></custom-block></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>13</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block><l>0</l></list></block><script><block s="doChangeVar"><l>upperOffset</l><block s="reportVariadicProduct"><list><l>-1</l><block s="reportListItem"><l>13</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block></list></block></block></script><list></list></block><block s="doSetVar"><l>lowerOffset</l><block s="reportVariadicProduct"><list><l>1</l><block s="reportListItem"><l>3</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block></list></block><comment w="90" collapsed="false">LOWER OFFSET</comment></block><block s="doIf"><block s="reportNot"><block s="reportListItem"><l>19</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block></block><script><block s="doChangeVar"><l>lowerOffset</l><block s="reportVariadicProduct"><list><l>1</l><block s="reportListItem"><l>3</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block></list></block></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block s="reportListItem"><l>2</l><custom-block s="PlotPadProperty %txt of %txt"><l>labels</l><block var="target"/></custom-block></block></block><l>0</l></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>11</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block><l>0.99</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>11</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block><l>1.01</l></list></block></list></block></list></block><script><block s="doChangeVar"><l>lowerOffset</l><block s="reportVariadicProduct"><list><l>1.5</l><block s="reportListItem"><l>5</l><custom-block s="PlotPadProperty %txt of %txt"><l>labels</l><block var="target"/></custom-block></block></list></block></block></script><list></list></block></script><list></list></block><block s="doSetVar"><l>rightOffset</l><block s="reportVariadicProduct"><list><l>1.5</l><block s="reportListItem"><l>4</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block></list></block><comment w="90" collapsed="false">RIGHT OFFSET.</comment></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>13</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block><l>0</l></list></block><script><block s="doChangeVar"><l>rightOffset</l><block s="reportVariadicProduct"><list><l>-1</l><block s="reportListItem"><l>13</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block></list></block></block></script><list></list></block><block s="doSetVar"><l>leftOffset</l><block s="reportVariadicProduct"><list><l>1</l><block s="reportListItem"><l>4</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block></list></block><comment w="90" collapsed="false">LEFT OFFSET</comment></block><block s="doIf"><block s="reportNot"><block s="reportListItem"><l>18</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block></block><script><block s="doChangeVar"><l>leftOffset</l><block s="reportVariadicProduct"><list><l>3</l><block s="reportListItem"><l>4</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block></list></block></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block s="reportListItem"><l>3</l><custom-block s="PlotPadProperty %txt of %txt"><l>labels</l><block var="target"/></custom-block></block></block><l>0</l></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>12</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block><l>0.99</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>12</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block><l>1.01</l></list></block></list></block></list></block><script><block s="doChangeVar"><l>leftOffset</l><block s="reportVariadicProduct"><list><l>1</l><block s="reportListItem"><l>6</l><custom-block s="PlotPadProperty %txt of %txt"><l>labels</l><block var="target"/></custom-block></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>13</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block><l>0</l></list></block><script><block s="doChangeVar"><l>leftOffset</l><block s="reportVariadicProduct"><list><l>-1</l><block s="reportListItem"><l>13</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block></list></block></block></script><list></list></block></script><list></list></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scaleOffsets</l><block var="target"/><block s="reportNewList"><list><block var="leftOffset"/><block var="rightOffset"/><block var="upperOffset"/><block var="lowerOffset"/></list></block></custom-block></script></block></script></block-definition><block-definition s="set PlotPad ranges for x: %&apos;xLeft&apos; %&apos;xRight&apos; y: %&apos;yLower&apos; %&apos;yUpper&apos; $nl with border? %&apos;border&apos; of %&apos;percent&apos; pretty formatted? %&apos;pretty&apos; $nl on %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="119.1666666666667" collapsed="false">Sets the ranges for the axes of the diagrams of a Sketchpad.</comment><header></header><code></code><translations></translations><inputs><input type="%n">-10</input><input type="%n">10</input><input type="%n">-10</input><input type="%n">10</input><input type="%b">false</input><input type="%n">0.1</input><input type="%b">true</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>dx</l><l>dy</l><l>target</l><l>ranges</l><l>scaleProperties</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>ranges</l><block s="reportNewList"><list><block var="xLeft"/><block var="xRight"/><block var="yLower"/><block var="yUpper"/></list></block></block><block s="doIf"><block var="border"/><script><block s="doSetVar"><l>dx</l><block s="reportVariadicProduct"><list><block var="percent"/><block s="reportDifference"><block var="xRight"/><block var="xLeft"/></block></list></block></block><block s="doSetVar"><l>dy</l><block s="reportVariadicProduct"><list><block var="percent"/><block s="reportDifference"><block var="yUpper"/><block var="yLower"/></block></list></block></block><block s="doSetVar"><l>ranges</l><block s="reportNewList"><list><block s="reportDifference"><block var="xLeft"/><block var="dx"/></block><block s="reportVariadicSum"><list><block var="xRight"/><block var="dx"/></list></block><block s="reportDifference"><block var="yLower"/><block var="dy"/></block><block s="reportVariadicSum"><list><block var="yUpper"/><block var="dy"/></list></block></list></block></block></script><list></list></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>ranges</l><block var="target"/><block var="ranges"/></custom-block><block s="doIfElse"><block var="pretty"/><script><custom-block s="set pretty ranges on PlotPad %txt"><block var="target"/></custom-block></script><script><block s="doSetVar"><l>scaleProperties</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block><block s="doReplaceInList"><l>7</l><block var="scaleProperties"/><block s="reportListItem"><l>1</l><block var="ranges"/></block></block><block s="doReplaceInList"><l>9</l><block var="scaleProperties"/><block s="reportQuotient"><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="ranges"/></block><block s="reportListItem"><l>1</l><block var="ranges"/></block></block><block s="reportListItem"><l>5</l><block var="scaleProperties"/></block></block></block><block s="doReplaceInList"><l>11</l><block var="scaleProperties"/><l>1</l></block><block s="doReplaceInList"><l>14</l><block var="scaleProperties"/><l>1</l></block><block s="doReplaceInList"><l>8</l><block var="scaleProperties"/><block s="reportListItem"><l>3</l><block var="ranges"/></block></block><block s="doReplaceInList"><l>10</l><block var="scaleProperties"/><block s="reportQuotient"><block s="reportDifference"><block s="reportListItem"><l>4</l><block var="ranges"/></block><block s="reportListItem"><l>3</l><block var="ranges"/></block></block><block s="reportListItem"><l>6</l><block var="scaleProperties"/></block></block></block><block s="doReplaceInList"><l>12</l><block var="scaleProperties"/><l>1</l></block><block s="doReplaceInList"><l>15</l><block var="scaleProperties"/><l>1</l></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scaleProperties</l><block var="target"/><block var="scaleProperties"/></custom-block></script></block></script></block></script></block-definition><block-definition s="add graph %&apos;aFunction&apos; to PlotPad %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="220" collapsed="false">Draws the graph of a function given as rigified Snap!-function or coefficient-list of a polynomial. </comment><header></header><code></code><translations></translations><inputs><input type="%s">ringified operator or polynomial</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportIsA"><block var="aFunction"/><l><option>reporter</option></l></block><custom-block s="is %s a %txt"><block var="aFunction"/><l>vector</l></custom-block></list></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="evaluate"><block s="reifyReporter"><autolambda><block s="reportApplyExtension"><l>SciS_addGraphToPlotpad(costume,ranges,offsets,lineattributes,aFunction,proc)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="PlotPadProperty %txt of %txt"><l>ranges</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>scaleOffsets</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block><block var="aFunction"/></list></block></autolambda><list></list></block><list></list></block></list></block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: ringified operator necessary!</l></custom-block></script></block></script></block-definition><block-definition s="add dataplot of numeric data: %&apos;data&apos; to PlotPad %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="195.83333333333334" collapsed="false">Draws the data points of a two-dimensional table with numerical values. With a lot of additions from Rick Hessman. Thanks!</comment><header></header><code></code><translations></translations><inputs><input type="%s">myData</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>myData</l></list></block><script><block s="doSetVar"><l>source</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block><l>2</l></list></block></list></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only matrices supported!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_addNumericDataplotToPlotpad(costume,ranges,offsets,labels,lineattributes,dataattributes,data)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="PlotPadProperty %txt of %txt"><l>ranges</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>scaleOffsets</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>labels</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>markerProperties</l><block var="target"/></custom-block><block var="source"/></list></block></list></block></script></block></script></block></script></block-definition><block-definition s="add dataplot of mixed data: %&apos;data&apos; $nl y-scale? %&apos;yScaled&apos; x-scale? %&apos;xScaled&apos; to PlotPad %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="208.33333333333334" collapsed="false">Draws the data points of a two-dimensional table with numerical values in column 2. &#xD;Text values should be used to set the x-label.</comment><header></header><code></code><translations></translations><inputs><input type="%s">myData</input><input type="%b">true</input><input type="%b">true</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>wasXscaled?</l><l>wasYscaled?</l><l>target</l><l>scaleProperties</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>myData</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><custom-block s="PlotPadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>table</l></list></block><script><block s="doSetVar"><l>source</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: table data necessary!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doIfElse"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: table data necessary!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_addMixedDataplotToPlotpad(costume,ranges,offsets,labels,lineattributes,dataattributes,data)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="PlotPadProperty %txt of %txt"><l>ranges</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>scaleOffsets</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>labels</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>markerProperties</l><block var="target"/></custom-block><block var="source"/></list></block></list></block></script></block><block s="doSetVar"><l>scaleProperties</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block><block s="doSetVar"><l>wasXscaled?</l><block s="reportListItem"><l>20</l><block var="scaleProperties"/></block></block><block s="doSetVar"><l>wasYscaled?</l><block s="reportListItem"><l>21</l><block var="scaleProperties"/></block></block><block s="doReplaceInList"><l>20</l><block var="scaleProperties"/><block var="xScaled"/></block><block s="doReplaceInList"><l>21</l><block var="scaleProperties"/><block var="yScaled"/></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scaleProperties</l><block var="target"/><block var="scaleProperties"/></custom-block></script></block></script></block-definition><block-definition s="add histogram of %&apos;data&apos; with %&apos;n&apos; groups $nl pretty formated? %&apos;prettyFormatted&apos; to PlotPad %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="146.33333333333326" collapsed="false">Draws a histogram of histogram data.With a lot of additions by Rick Hessman. Thanks!</comment><header></header><code></code><translations></translations><inputs><input type="%s">myData</input><input type="%n">10</input><input type="%b">true</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>ranges</l><l>pretty</l><l>dx</l><l>source</l><l>min</l><l>max</l><l>result</l><l>target</l><l>delta</l><l>h</l><l>i</l><l>x</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>myData</l></list></block><script><block s="doSetVar"><l>source</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>vector</l></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: vector required!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>0</l></list></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: empty data!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><custom-block s="is %s a %txt"><block var="source"/><l>transposed-vector</l></custom-block><script><block s="doSetVar"><l>source</l><custom-block s="transpose %l"><block var="source"/></custom-block></block></script><list></list></block><block s="doSetVar"><l>min</l><block s="reportCombine"><block var="source"/><block s="reifyReporter"><autolambda><block s="reportVariadicMin"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block><block s="doSetVar"><l>max</l><block s="reportCombine"><block var="source"/><block s="reifyReporter"><autolambda><block s="reportVariadicMax"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block><block s="doSetVar"><l>delta</l><block s="reportQuotient"><block s="reportDifference"><block var="max"/><block var="min"/></block><block var="n"/></block></block><block s="doSetVar"><l>h</l><block s="reportVariadicSum"><list><block var="min"/><block s="reportQuotient"><block var="delta"/><l>2</l></block></list></block></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><block var="n"/><script><block s="doAddToList"><block s="reportNewList"><list><block var="h"/><l>0</l></list></block><block var="result"/></block><block s="doChangeVar"><l>h</l><block var="delta"/></block></script></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></list></block><script><block s="doSetVar"><l>x</l><block s="reportListItem"><block var="i"/><block var="source"/></block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="x"/><l><option>number</option></l></block></block><script><block s="doSetVar"><l>x</l><block s="reportListItem"><l>1</l><block var="x"/></block></block></script><list></list></block><block s="doIf"><block s="reportIsA"><block var="x"/><l><option>number</option></l></block><script><block s="doSetVar"><l>h</l><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block s="reportDifference"><block var="x"/><block var="min"/></block><block var="delta"/></block></block></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="h"/><l>1</l></list></block><script><block s="doSetVar"><l>h</l><l>1</l></block></script><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="h"/><block var="n"/></list></block><script><block s="doSetVar"><l>h</l><block var="n"/></block></script><list></list></block></script></block><block s="doReplaceInList"><l>2</l><block s="reportListItem"><block var="h"/><block var="result"/></block><block s="reportVariadicSum"><list><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="h"/><block var="result"/></block></block><l>1</l></list></block></block></script><list></list></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doSetVar"><l>source</l><block var="result"/></block><custom-block s="get ranges for PlotPad %txt %br from %s with border %n"><block var="target"/><block var="source"/><l>0.1</l></custom-block><block s="doIf"><block var="prettyFormatted"/><script><custom-block s="set pretty ranges on PlotPad %txt"><block var="target"/></custom-block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_addHistogramToPlotpad(costume,ranges,offsets,lineattributes,data,datapointattributes)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="PlotPadProperty %txt of %txt"><l>ranges</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>scaleOffsets</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block><block var="source"/><custom-block s="PlotPadProperty %txt of %txt"><l>markerProperties</l><block var="target"/></custom-block></list></block></list></block></script></block></script></block-definition><block-definition s="add axes and scales to PlotPad %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="226.3153515625" collapsed="false">Draws and labels the axes of a PlotPad.&#xD;With lot of additions of Rick Hessman. Thanks!</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_addAxesAndScalesToPlotpad(costume,scaleattributes,labels,offsets,ranges,plotcolors)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>labels</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>scaleOffsets</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>ranges</l><block var="target"/></custom-block><custom-block s="PlotPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></list></block></list></block></script></block></script></block-definition><block-definition s="clear plot of %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite</input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block s="reportAttributeOf"><l><option>width</option></l><block var="target"/></block><block s="reportAttributeOf"><l><option>height</option></l><block var="target"/></block><block s="reportListItem"><l>3</l><custom-block s="PlotPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>4</l><custom-block s="PlotPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>5</l><custom-block s="PlotPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></list></block></list></block></script></block></script></block-definition><block-definition s="set pretty ranges on PlotPad %&apos;sprite&apos;" type="command" category="5. PlotPad for data plots"><comment x="0" y="0" w="311.3333333333333" collapsed="false">Sets the ranges to &quot;pretty&quot; values. Many thanks to Rick Hessman!</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>pretty</l><l>target</l><l>scaleProperties</l><l>ranges</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>scaleProperties</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block><block s="doSetVar"><l>ranges</l><custom-block s="PlotPadProperty %txt of %txt"><l>ranges</l><block var="target"/></custom-block></block><block s="doSetVar"><l>pretty</l><custom-block s="pretty values for a PlotPad from %n %br to %n with %n intervals"><block s="reportListItem"><l>1</l><block var="ranges"/></block><block s="reportListItem"><l>2</l><block var="ranges"/></block><block s="reportListItem"><l>5</l><block var="scaleProperties"/></block></custom-block><comment w="89.66666666666667" collapsed="false">get dictionary of pretty values.</comment></block><block s="doReplaceInList"><l>7</l><block var="scaleProperties"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="pretty"/></block></block></block><block s="doReplaceInList"><l>9</l><block var="scaleProperties"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>3</l><block var="pretty"/></block></block></block><block s="doReplaceInList"><l>11</l><block var="scaleProperties"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>4</l><block var="pretty"/></block></block></block><block s="doReplaceInList"><l>5</l><block var="scaleProperties"/><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><block s="reportVariadicProduct"><list><l>6</l><block s="reportListItem"><l>3</l><block var="scaleProperties"/></block></list></block></block></block></block><block s="doReplaceInList"><l>1</l><block var="scaleProperties"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>6</l><block var="pretty"/></block></block></block><block s="doReplaceInList"><l>14</l><block var="scaleProperties"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>7</l><block var="pretty"/></block></block></block><block s="doSetVar"><l>pretty</l><custom-block s="pretty values for a PlotPad from %n %br to %n with %n intervals"><block s="reportListItem"><l>3</l><block var="ranges"/></block><block s="reportListItem"><l>4</l><block var="ranges"/></block><block s="reportListItem"><l>6</l><block var="scaleProperties"/></block></custom-block><comment w="89.66666666666667" collapsed="false">get dictionary of pretty values.</comment></block><block s="doReplaceInList"><l>8</l><block var="scaleProperties"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="pretty"/></block></block></block><block s="doReplaceInList"><l>10</l><block var="scaleProperties"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>3</l><block var="pretty"/></block></block></block><block s="doReplaceInList"><l>12</l><block var="scaleProperties"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>4</l><block var="pretty"/></block></block></block><block s="doReplaceInList"><l>6</l><block var="scaleProperties"/><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>height</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><block s="reportVariadicProduct"><list><l>8</l><block s="reportListItem"><l>4</l><block var="scaleProperties"/></block></list></block></block></block></block><block s="doReplaceInList"><l>2</l><block var="scaleProperties"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>6</l><block var="pretty"/></block></block></block><block s="doReplaceInList"><l>15</l><block var="scaleProperties"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>7</l><block var="pretty"/></block></block></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>ranges</l><block var="target"/><block var="ranges"/></custom-block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scaleProperties</l><block var="target"/><block var="scaleProperties"/></custom-block></script></block></script><scripts><script x="452.66666666666674" y="398.6666666666667"><block s="doReplaceInList"><l>1</l><block var="ranges"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="pretty"/></block></block></block><block s="doReplaceInList"><l>2</l><block var="ranges"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block var="pretty"/></block></block></block></script><script x="455.16666666666674" y="773.6666666666666"><block s="doReplaceInList"><l>3</l><block var="ranges"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="pretty"/></block></block></block><block s="doReplaceInList"><l>4</l><block var="ranges"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block var="pretty"/></block></block></block></script></scripts></block-definition><block-definition s="pretty values for a PlotPad from %&apos;min&apos; $nl to %&apos;max&apos; with %&apos;num&apos; intervals" type="reporter" category="5. PlotPad for data plots"><comment x="0" y="0" w="164.3333333333332" collapsed="false">&quot;Pretty&quot; scaling from Rick Hessman. Many thanks!</comment><header></header><code></code><translations></translations><inputs><input type="%n">-10</input><input type="%n">10</input><input type="%n">6</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>nix</l><l>sign</l><l>pretty</l><l>between</l><l>places</l><l>delta</l><l>dtic</l><l>scaling</l><l>index</l><l>n</l><l>result</l><l>nint</l></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="num"/><l>3</l></list></block><script><block s="doReport"><l>ERROR: num-value &lt;3 senseless</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block s="reportMonadic"><l><option>abs</option></l><block var="min"/></block><l>2000</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportMonadic"><l><option>abs</option></l><block var="max"/></block><l>2000</l></list></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>delta</l><block s="reportVariadicProduct"><list><block var="dtic"/><block var="scaling"/></list></block></block><block s="doSetVar"><l>n</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="min"/><block var="delta"/></block></block></block><block s="doAddToList"><block s="reportNewList"><list><l>start</l><block var="min"/></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>stop</l><block var="max"/></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>step</l><block s="reportQuotient"><block s="reportDifference"><block var="max"/><block var="min"/></block><block var="num"/></block></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>scaling</l><l>1</l></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>intervals</l><block var="num"/></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>precision</l><l>0</l></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>minitics</l><l>1</l></list></block><block var="result"/></block><block s="doReport"><block var="result"/></block></script><list></list><comment w="196.32285529908663" collapsed="false">Numbers are too big for pretty printing.</comment></block><block s="doSetVar"><l>nint</l><block var="num"/></block><block s="doSetVar"><l>pretty</l><block s="reportNewList"><list><l>0.001</l><l>0.002</l><l>0.005</l><l>0.01</l><l>0.02</l><l>0.05</l><l>0.1</l><l>0.2</l><l>0.5</l><l>1</l><l>2</l><l>5</l><l>10</l><l>20</l><l>50</l><l>100</l><l>200</l><l>500</l><l>1000</l><l>2000</l></list></block></block><block s="doSetVar"><l>between</l><block s="reportNewList"><list><l>9</l><l>1</l><l>3</l><l>4</l><l>1</l><l>3</l><l>4</l><l>1</l><l>3</l><l>4</l><l>1</l><l>3</l><l>4</l><l>1</l><l>3</l><l>4</l><l>1</l><l>3</l><l>4</l><l>1</l></list></block></block><block s="doSetVar"><l>places</l><block s="reportNewList"><list><l>3</l><l>3</l><l>3</l><l>2</l><l>2</l><l>2</l><l>1</l><l>1</l><l>1</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l></list></block></block><block s="doSetVar"><l>sign</l><block s="reportMonadic"><l><option>sign</option></l><block s="reportDifference"><block var="max"/><block var="min"/></block></block></block><block s="doRepeat"><l>2</l><script><block s="doSetVar"><l>delta</l><block s="reportMonadic"><l><option>abs</option></l><block s="reportQuotient"><block s="reportDifference"><block var="max"/><block var="min"/></block><block var="nint"/></block></block></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="delta"/><l>0.001</l></list></block><block s="reportVariadicLessThan"><list><block var="delta"/><l>2000</l></list></block></list></block><script><block s="doSetVar"><l>scaling</l><l>1</l></block></script><script><block s="doSetVar"><l>scaling</l><block s="reportMonadic"><l><option>10^</option></l><block s="reportMonadic"><l><option>floor</option></l><block s="reportMonadic"><l><option>log</option></l><block s="reportVariadicProduct"><list><l>0.5</l><block s="reportVariadicSum"><list><block s="reportMonadic"><l><option>abs</option></l><block var="max"/></block><block s="reportMonadic"><l><option>abs</option></l><block var="min"/></block></list></block></list></block></block></block></block></block></script></block><block s="doSetVar"><l>index</l><l>1</l></block><block s="doFor"><l>i</l><l>2</l><block s="reportListAttribute"><l><option>length</option></l><block var="pretty"/></block><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="delta"/><block s="reportVariadicProduct"><list><block s="reportListItem"><block var="i"/><block var="pretty"/></block><block var="scaling"/></list></block></list></block><script><block s="doSetVar"><l>index</l><block var="i"/></block></script><list></list></block></script></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicLessThan"><list><block var="index"/><block s="reportListAttribute"><l><option>length</option></l><block var="pretty"/></block></list></block><block s="reportVariadicGreaterThan"><list><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block var="delta"/><block s="reportVariadicProduct"><list><block s="reportListItem"><block var="index"/><block var="pretty"/></block><block var="scaling"/></list></block></block></block><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block var="delta"/><block s="reportVariadicProduct"><list><block s="reportListItem"><block s="reportVariadicSum"><list><block var="index"/><l>1</l></list></block><block var="pretty"/></block><block var="scaling"/></list></block></block></block></list></block></list></block><script><block s="doSetVar"><l>index</l><block s="reportVariadicSum"><list><block var="index"/><l>1</l></list></block></block></script><list></list></block><block s="doSetVar"><l>dtic</l><block s="reportVariadicProduct"><list><block s="reportListItem"><block var="index"/><block var="pretty"/></block><block var="sign"/></list></block></block><block s="doSetVar"><l>nint</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportMonadic"><l><option>abs</option></l><block s="reportQuotient"><block s="reportDifference"><block var="max"/><block var="min"/></block><block s="reportVariadicProduct"><list><block var="dtic"/><block var="scaling"/></list></block></block></block></block></block></script></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>delta</l><block s="reportVariadicProduct"><list><block var="dtic"/><block var="scaling"/></list></block></block><block s="doSetVar"><l>n</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="min"/><block var="delta"/></block></block></block><block s="doAddToList"><block s="reportNewList"><list><l>start</l><block s="reportVariadicProduct"><list><block var="n"/><block var="dtic"/></list></block></list><comment w="192.76999879201264" collapsed="false">start*scaling is the actual starting value (start is the value displayed next to the tic)</comment></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>stop</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="n"/><block var="dtic"/></list></block><block s="reportVariadicProduct"><list><block s="reportVariadicSum"><list><block var="nint"/><l>1</l></list></block><block var="dtic"/></list></block></list></block></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>step</l><block var="dtic"/></list></block><block var="result"/><comment w="392.5133314895631" collapsed="false">step*scaling is the actual stepping value (step is the difference between the tic labels).</comment></block><block s="doAddToList"><block s="reportNewList"><list><l>scaling</l><block var="scaling"/></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>intervals</l><block var="nint"/></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>precision</l><block s="reportListItem"><block var="index"/><block var="places"/></block></list></block><block var="result"/></block><block s="doAddToList"><block s="reportNewList"><list><l>minitics</l><block s="reportListItem"><block var="index"/><block var="between"/></block></list></block><block var="result"/></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="get ranges for PlotPad %&apos;sprite&apos; $nl from %&apos;data&apos; with border %&apos;percent&apos;" type="command" category="5. PlotPad for data plots"><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s">myData</input><input type="%n">0.1</input></inputs><script><block s="doDeclareVariables"><list><l>ranges</l><l>dx</l><l>dy</l><l>source</l><l>target</l><l>scaleProperties</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as PlotPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>myData</l></list></block><script><block s="doSetVar"><l>source</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>2</l></list></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: wrong data!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doSetVar"><l>ranges</l><custom-block s="ranges of 2-dim table %l"><block var="source"/></custom-block></block><block s="doSetVar"><l>dx</l><block s="reportVariadicProduct"><list><block var="percent"/><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="ranges"/></block><block s="reportListItem"><l>1</l><block var="ranges"/></block></block></list></block></block></script></block><block s="doSetVar"><l>dy</l><block s="reportVariadicProduct"><list><block var="percent"/><block s="reportDifference"><block s="reportListItem"><l>4</l><block var="ranges"/></block><block s="reportListItem"><l>3</l><block var="ranges"/></block></block></list></block></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>ranges</l><block var="target"/><block s="reportNewList"><list><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="ranges"/></block><block var="dx"/></block><block s="reportVariadicSum"><list><block s="reportListItem"><l>2</l><block var="ranges"/></block><block var="dx"/></list></block><block s="reportDifference"><block s="reportListItem"><l>3</l><block var="ranges"/></block><block var="dy"/></block><block s="reportVariadicSum"><list><block s="reportListItem"><l>4</l><block var="ranges"/></block><block var="dy"/></list></block></list></block></custom-block><block s="doSetVar"><l>scaleProperties</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleProperties</l><block var="target"/></custom-block></block><block s="doReplaceInList"><l>7</l><block var="scaleProperties"/><block s="reportListItem"><l>1</l><block var="ranges"/></block></block><block s="doReplaceInList"><l>9</l><block var="scaleProperties"/><block s="reportQuotient"><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="ranges"/></block><block s="reportListItem"><l>1</l><block var="ranges"/></block></block><block s="reportListItem"><l>5</l><block var="scaleProperties"/></block></block></block><block s="doReplaceInList"><l>11</l><block var="scaleProperties"/><l>1</l></block><block s="doReplaceInList"><l>14</l><block var="scaleProperties"/><l>1</l></block><block s="doReplaceInList"><l>8</l><block var="scaleProperties"/><block s="reportListItem"><l>3</l><block var="ranges"/></block></block><block s="doReplaceInList"><l>10</l><block var="scaleProperties"/><block s="reportQuotient"><block s="reportDifference"><block s="reportListItem"><l>4</l><block var="ranges"/></block><block s="reportListItem"><l>3</l><block var="ranges"/></block></block><block s="reportListItem"><l>6</l><block var="scaleProperties"/></block></block></block><block s="doReplaceInList"><l>12</l><block var="scaleProperties"/><l>1</l></block><block s="doReplaceInList"><l>15</l><block var="scaleProperties"/><l>1</l></block><custom-block s="set PlotPadProperty %txt of %txt to %s"><l>scaleProperties</l><block var="target"/><block var="scaleProperties"/></custom-block></script></block></script></block-definition><block-definition s="ranges of 2-dim table %&apos;data&apos;" type="reporter" category="5. PlotPad for data plots"><comment x="0" y="0" w="218.33333333333314" collapsed="false">Calculates the ranges of two columns of a table.&#xD;</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportNot"><custom-block s="is %s a %txt"><block var="data"/><l>matrix</l></custom-block></block><script><block s="doReport"><l>ERROR: matrix required!</l></block></script><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>2</l></list></block></block><script><block s="doReport"><l>ERROR: 2-dimensional matrix required!</l></block></script><script><block s="doReport"><block s="reportNewList"><list><block s="reportCombine"><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>1</l><block var="data"/><l><bool>true</bool></l></custom-block><block s="reifyReporter"><autolambda><block s="reportVariadicMin"><list><l></l><l></l></list></block></autolambda><list></list></block></block><block s="reportCombine"><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>1</l><block var="data"/><l><bool>true</bool></l></custom-block><block s="reifyReporter"><autolambda><block s="reportVariadicMax"><list><l></l><l></l></list></block></autolambda><list></list></block></block><block s="reportCombine"><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>2</l><block var="data"/><l><bool>true</bool></l></custom-block><block s="reifyReporter"><autolambda><block s="reportVariadicMin"><list><l></l><l></l></list></block></autolambda><list></list></block></block><block s="reportCombine"><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>2</l><block var="data"/><l><bool>true</bool></l></custom-block><block s="reifyReporter"><autolambda><block s="reportVariadicMax"><list><l></l><l></l></list></block></autolambda><list></list></block></block></list></block></block></script></block></script></block></script></block></script></block-definition><block-definition s="convert value %&apos;pos&apos; to coordinate %&apos;coordinate&apos; $nl of PlotPad %&apos;sprite&apos;" type="reporter" category="5. PlotPad for data plots"><comment x="0" y="0" w="135.1666666666667" collapsed="false">Conversion of coordinates.</comment><header></header><code></code><translations></translations><inputs><input type="%n">100</input><input type="%s" readonly="true">xp<options>xp&#xD;yp&#xD;x&#xD;y</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>x0</l><l>diagramWidth</l><l>y0</l><l>diagramHeight</l><l>offsets</l><l>ranges</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as PlotPad!</l></block></script><list></list></block><block s="doSetVar"><l>offsets</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleOffsets</l><block var="target"/></custom-block></block><block s="doSetVar"><l>ranges</l><custom-block s="PlotPadProperty %txt of %txt"><l>ranges</l><block var="target"/></custom-block></block><block s="doSetVar"><l>diagramWidth</l><block s="reportDifference"><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><block s="reportListItem"><l>1</l><block var="offsets"/></block></block></block><block s="doSetVar"><l>diagramHeight</l><block s="reportDifference"><block s="reportDifference"><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>height</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><block s="reportListItem"><l>3</l><block var="offsets"/></block></block><block s="reportListItem"><l>4</l><block var="offsets"/></block></block></block><block s="doSetVar"><l>x0</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="ranges"/></block><block var="diagramWidth"/></list></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="ranges"/></block><block s="reportListItem"><l>2</l><block var="ranges"/></block></block></block></block><block s="doSetVar"><l>y0</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>4</l><block var="ranges"/></block><block var="diagramHeight"/></list></block><block s="reportDifference"><block s="reportListItem"><l>4</l><block var="ranges"/></block><block s="reportListItem"><l>3</l><block var="ranges"/></block></block></block></block><block s="doSetVar"><l>coordinate</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="coordinate"/><l> </l></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="coordinate"/><l>xp</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block var="x0"/><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="pos"/><block var="diagramWidth"/></list></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="ranges"/></block><block s="reportListItem"><l>1</l><block var="ranges"/></block></block></block></list></block><block s="reportListItem"><l>1</l><block var="offsets"/></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="coordinate"/><l>yp</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block s="reportDifference"><block var="y0"/><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="pos"/><block var="diagramHeight"/></list></block><block s="reportDifference"><block s="reportListItem"><l>4</l><block var="ranges"/></block><block s="reportListItem"><l>3</l><block var="ranges"/></block></block></block></block><block s="reportListItem"><l>3</l><block var="offsets"/></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="coordinate"/><l>x</l></list></block><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportDifference"><block var="pos"/><block s="reportListItem"><l>1</l><block var="offsets"/></block></block><block var="x0"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="ranges"/></block><block s="reportListItem"><l>1</l><block var="ranges"/></block></block></list></block><block var="diagramWidth"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="coordinate"/><l>y</l></list></block><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="y0"/><block s="reportDifference"><block var="pos"/><block s="reportListItem"><l>3</l><block var="offsets"/></block></block></block><block s="reportDifference"><block s="reportListItem"><l>4</l><block var="ranges"/></block><block s="reportListItem"><l>3</l><block var="ranges"/></block></block></list></block><block var="diagramHeight"/></block></block></script><list></list></block></script></block></script></block-definition><block-definition s="PlotPad %&apos;selection&apos; on %&apos;sprite&apos; by mouse" type="reporter" category="5. PlotPad for data plots"><comment x="0" y="0" w="128.33333333333334" collapsed="false">Obtaining coordinates of a PlotPad by mouse.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">costume-coordinates<options>costume-coordinates&#xD;graph-coordinates</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>targetCostumeWidth</l><l>targetCostumeHeight</l><l>targetXPosition</l><l>targetYPosition</l><l>targetSize</l><l>x</l><l>y</l><l>x0</l><l>y0</l><l>targetCostume</l><l>xLeft</l><l>xRight</l><l>yLower</l><l>yUpper</l><l>diagramWidth</l><l>diagramHeight</l><l>offsets</l><l>ranges</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a PlotPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as PlotPad!</l></block></script><list></list></block><block s="doSetVar"><l>selection</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="selection"/><l> </l></block></block></block><block s="doSetVar"><l>targetCostume</l><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block></block><block s="doSetVar"><l>targetCostumeWidth</l><block s="reportGetImageAttribute"><l><option>width</option></l><block var="targetCostume"/></block></block><block s="doSetVar"><l>targetCostumeHeight</l><block s="reportGetImageAttribute"><l><option>height</option></l><block var="targetCostume"/></block></block><block s="doSetVar"><l>targetXPosition</l><block s="reportAttributeOf"><l><option>x position</option></l><block var="target"/></block></block><block s="doSetVar"><l>targetYPosition</l><block s="reportAttributeOf"><l><option>y position</option></l><block var="target"/></block></block><block s="doSetVar"><l>targetSize</l><block s="reportAttributeOf"><l><option>size</option></l><block var="target"/></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>costume-coordinates</l></list><comment w="121.68283420138891" collapsed="false">costume coordinates.</comment></block><script><block s="doWarp"><script><block s="doSetVar"><l>x</l><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block s="reportMouseX"></block><block var="targetXPosition"/></block><block var="targetSize"/></block></list></block><block s="reportQuotient"><block var="targetCostumeWidth"/><l>2</l></block></list></block><l>1</l></list></block></block></block><block s="doSetVar"><l>y</l><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block var="targetYPosition"/><block s="reportMouseY"></block></block><block var="targetSize"/></block></list></block><block s="reportQuotient"><block var="targetCostumeHeight"/><l>2</l></block></list></block><l>1</l></list></block></block></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block var="targetCostumeWidth"/></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block var="targetCostumeHeight"/></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><block var="x"/><block var="y"/></list></block></block></script></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>graph-coordinates</l></list><comment w="121.68283420138891" collapsed="false">costume coordinates.</comment></block><script><block s="doWarp"><script><block s="doSetVar"><l>x</l><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block s="reportMouseX"></block><block var="targetXPosition"/></block><block var="targetSize"/></block></list></block><block s="reportQuotient"><block var="targetCostumeWidth"/><l>2</l></block></list></block><l>1</l></list></block></block></block><block s="doSetVar"><l>y</l><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block var="targetYPosition"/><block s="reportMouseY"></block></block><block var="targetSize"/></block></list></block><block s="reportQuotient"><block var="targetCostumeHeight"/><l>2</l></block></list></block><l>1</l></list></block></block></block><block s="doSetVar"><l>offsets</l><custom-block s="PlotPadProperty %txt of %txt"><l>scaleOffsets</l><block var="target"/></custom-block></block><block s="doSetVar"><l>ranges</l><custom-block s="PlotPadProperty %txt of %txt"><l>ranges</l><block var="target"/></custom-block></block><block s="doSetVar"><l>xLeft</l><block s="reportListItem"><l>1</l><block var="ranges"/></block></block><block s="doSetVar"><l>xRight</l><block s="reportListItem"><l>2</l><block var="ranges"/></block></block><block s="doSetVar"><l>yLower</l><block s="reportListItem"><l>3</l><block var="ranges"/></block></block><block s="doSetVar"><l>yUpper</l><block s="reportListItem"><l>4</l><block var="ranges"/></block></block><block s="doSetVar"><l>diagramWidth</l><block s="reportDifference"><block s="reportDifference"><block var="targetCostumeWidth"/><block s="reportListItem"><l>1</l><block var="offsets"/></block></block><block s="reportListItem"><l>2</l><block var="offsets"/></block></block></block><block s="doSetVar"><l>diagramHeight</l><block s="reportDifference"><block s="reportDifference"><block var="targetCostumeHeight"/><block s="reportListItem"><l>3</l><block var="offsets"/></block></block><block s="reportListItem"><l>4</l><block var="offsets"/></block></block></block><block s="doSetVar"><l>x0</l><block s="reportVariadicProduct"><list><block s="reportQuotient"><block var="xLeft"/><block s="reportDifference"><block var="xLeft"/><block var="xRight"/></block></block><block var="diagramWidth"/></list></block></block><block s="doSetVar"><l>y0</l><block s="reportVariadicProduct"><list><block s="reportQuotient"><block var="yUpper"/><block s="reportDifference"><block var="yUpper"/><block var="yLower"/></block></block><block var="diagramHeight"/></list></block></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block var="targetCostumeWidth"/></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block var="targetCostumeHeight"/></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportDifference"><block var="x"/><block var="x0"/></block><block s="reportListItem"><l>1</l><block var="offsets"/></block></block><block s="reportDifference"><block var="xRight"/><block var="xLeft"/></block></list></block><block var="diagramWidth"/></block><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportVariadicSum"><list><block s="reportDifference"><block var="y0"/><block var="y"/></block><block s="reportListItem"><l>3</l><block var="offsets"/></block></list></block><block s="reportDifference"><block var="yUpper"/><block var="yLower"/></block></list></block><block var="diagramHeight"/></block></list></block></block></script></block></script></block></script><list></list></block></script></block-definition><block-definition s="EXAMPLE 1: $nl Plot of random data width %&apos;w&apos; height %&apos;h&apos; $nl title %&apos;title&apos; labels %&apos;xlab&apos; %&apos;ylab&apos; $nl line %&apos;lstyle&apos; marker %&apos;mstyle&apos; color %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="command" category="5. PlotPad for data plots"><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%txt"></input><input type="%txt">x</input><input type="%txt">y</input><input type="%txt">continuous</input><input type="%txt">o_circle</input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input></inputs><script><custom-block s="import %s from %br %s to SciSnap!Data"><l>table-(CSV)-data</l><custom-block s="%n random points near %repRing %br between %n and %n range %n"><l>20</l><block s="reifyReporter"><autolambda><block s="reportDifference"><block s="reportVariadicProduct"><list><l>0.3</l><block s="reportPower"><l></l><l>3</l></block></list></block><l></l></block></autolambda><list></list></block><l>-5</l><l>5</l><l>2</l></custom-block></custom-block><block s="doSetVar"><l>SciSnap!Data</l><custom-block s="%s sorted by column %s %br ascending %b considering headline? %b"><l>SciSnap!Data</l><l>1</l><l><bool>true</bool></l><l><bool>true</bool></l></custom-block></block><custom-block s="configure %txt as a PlotPad width: %n %br height: %n color: %n %n %n"><l>thisSprite</l><block var="w"/><block var="h"/><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="get ranges for PlotPad %txt %br from %s with border %n"><l>thisSprite</l><block var="SciSnap!Data"/><l>0.07</l></custom-block><custom-block s="set pretty ranges on PlotPad %txt"><l>thisSprite</l></custom-block><custom-block s="set PlotPad labels on %s to %br title: %txt titleheight: %n %br x-label: %txt xLabelheight: %n %br y-label: %txt yLabelheight: %n"><l>thisSprite</l><block var="title"/><l>18</l><block var="xlab"/><l>16</l><block var="ylab"/><l>16</l></custom-block><custom-block s="set PlotPad line properties style: %txt %br width: %n color: %n %n %n on %txt"><block var="lstyle"/><l>1</l><l>0</l><l>0</l><l>0</l><l>thisSprite</l></custom-block><custom-block s="set PlotPad marker properties style: %txt width: %n %br color: %n %n %n connected? %b on %txt"><block var="mstyle"/><l>5</l><block var="r"/><block var="g"/><block var="b"/><l><bool>true</bool></l><l>thisSprite</l></custom-block><custom-block s="add dataplot of numeric data: %s to PlotPad %txt"><block var="SciSnap!Data"/><l>thisSprite</l></custom-block><custom-block s="add axes and scales to PlotPad %txt"><l>thisSprite</l></custom-block></script></block-definition><block-definition s="EXAMPLE 2: $nl Histogram of random data width %&apos;w&apos; height %&apos;h&apos; $nl title %&apos;title&apos; labels %&apos;xlab&apos; %&apos;ylab&apos; line %&apos;lstyle&apos; color %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="command" category="5. PlotPad for data plots"><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%txt"></input><input type="%txt">x</input><input type="%txt">y</input><input type="%txt">continuous</input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input></inputs><script><custom-block s="import %s from %br %s to SciSnap!Data"><l>table-(CSV)-data</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>1</l><custom-block s="%n random points near %repRing %br between %n and %n range %n"><l>500</l><block s="reifyReporter"><autolambda><block s="reportDifference"><block s="reportPower"><l></l><l>3</l></block><l></l></block></autolambda><list></list></block><l>-5</l><l>5</l><l>2</l></custom-block><l><bool>true</bool></l></custom-block></custom-block><custom-block s="configure %txt as a PlotPad width: %n %br height: %n color: %n %n %n"><l>thisSprite</l><block var="w"/><block var="h"/><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="set PlotPad labels on %s to %br title: %txt titleheight: %n %br x-label: %txt xLabelheight: %n %br y-label: %txt yLabelheight: %n"><l>thisSprite</l><block var="title"/><l>18</l><block var="xlab"/><l>16</l><block var="ylab"/><l>16</l></custom-block><custom-block s="add histogram of %s with %n groups %br pretty formated? %b to PlotPad %txt"><block var="SciSnap!Data"/><l>10</l><l><bool>true</bool></l><l>thisSprite</l></custom-block><custom-block s="add axes and scales to PlotPad %txt"><l>thisSprite</l></custom-block></script></block-definition><block-definition s="Example 3: $nl Simple plot of data: %&apos;data&apos; $nl x: %&apos;x&apos; y: %&apos;y&apos; width: %&apos;w&apos; height: %&apos;h&apos; $nl title: %&apos;t&apos; labels: %&apos;xlab&apos; %&apos;ylab&apos; $nl line: %&apos;l&apos; marker: %&apos;m&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="command" category="5. PlotPad for data plots"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%n">0</input><input type="%n">0</input><input type="%n">600</input><input type="%n">400</input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%txt" readonly="true">continuous<options>none&#xD;continuous&#xD;dashed&#xD;dash-dot&#xD;dot-dot&#xD;rainbow&#xD;inverse rainbow</options></input><input type="%txt" readonly="true">square<options>none&#xD;o_circle&#xD;._point&#xD;+_plus&#xD;x_ex&#xD;square&#xD;triangle</options></input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input></inputs><script><custom-block s="configure %txt as a PlotPad width: %n %br height: %n color: %n %n %n"><l>thisSprite</l><block var="w"/><block var="h"/><l>245</l><l>245</l><l>245</l></custom-block><block s="gotoXY"><block var="x"/><block var="y"/></block><custom-block s="get ranges for PlotPad %txt %br from %s with border %n"><l>thisSprite</l><block var="data"/><l>0.07</l></custom-block><custom-block s="set pretty ranges on PlotPad %txt"><l>thisSprite</l></custom-block><custom-block s="set PlotPad labels on %s to %br title: %txt titleheight: %n %br x-label: %txt xLabelheight: %n %br y-label: %txt yLabelheight: %n"><l>thisSprite</l><block var="t"/><l>18</l><block var="xlab"/><l>16</l><block var="ylab"/><l>16</l></custom-block><custom-block s="set PlotPad line properties style: %txt %br width: %n color: %n %n %n on %txt"><block var="l"/><l>1</l><block var="r"/><block var="g"/><block var="b"/><l>thisSprite</l></custom-block><custom-block s="set PlotPad marker properties style: %txt width: %n %br color: %n %n %n connected? %b on %txt"><block var="m"/><l>5</l><block var="r"/><block var="g"/><block var="b"/><l><bool>true</bool></l><l>thisSprite</l></custom-block><custom-block s="add axes and scales to PlotPad %txt"><l>thisSprite</l></custom-block><custom-block s="add dataplot of numeric data: %s to PlotPad %txt"><block var="data"/><l>thisSprite</l></custom-block></script></block-definition><block-definition s="configure SQL" type="command" category="4. SQL tools"><comment x="0" y="0" w="231.26365661621094" collapsed="false">Creates SQL variables and sets some properties.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doWarp"><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>global</l><l>SQLData</l></list></block><block s="doSetVar"><l>SQLData</l><block s="reportNewList"><list></list></block></block><custom-block s="set SciSnap! global property %s to %s"><l>typeOfConfiguration</l><l>SQL</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>typeOfData</l><l>none</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>connection</l><l></l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>connected</l><block s="reportBoolean"><l><bool>false</bool></l></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>databases</l><block s="reportNewList"><list></list></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>currentDatabase</l><l></l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>tables</l><block s="reportNewList"><list></list></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>currentTable</l><l></l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>attributes</l><block s="reportNewList"><list></list></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><l>0</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>rows</l><l>0</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>minValue</l><l>notSet</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>maxValue</l><l>notSet</l></custom-block><block s="doSwitchToCostume"><l>SQLDisconnected</l></block></script></block></script></block-definition><block-definition s="is SQL configured?" type="predicate" category="4. SQL tools"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><l><option>myself</option></l></block><block s="reifyReporter"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>true</bool></l><l>typeOfConfiguration</l><l>SQL</l></custom-block></autolambda><list></list></block><list></list></block></block></script></block-definition><block-definition s="connect to database server" type="command" category="4. SQL tools"><comment x="0" y="0" w="180.18768601190536" collapsed="false">Establishes connection and sets the corresponding properties. Change parameters if necessary. </comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>dbs</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is SQL configured?"></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: please configure SciSnap! for SQL first!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><custom-block s="set SciSnap! global property %s to %s"><l>connection</l><l>https://snapextensions.uni-goettingen.de/mysqlquery.php?server=db1&amp;user=snapexuser&amp;password=snap!user</l></custom-block><block s="doIfElse"><block s="reportVariadicEquals"><list><custom-block s="substring of %txt from %n to %n"><block s="reportURL"><block s="reportJoinWords"><list><custom-block s="SciSnap! global property %s"><l>connection</l></custom-block><l>&amp;type=connect</l></list></block></block><l>1</l><l>2</l></custom-block><l>ok</l></list></block><script><custom-block s="set SciSnap! global property %s to %s"><l>connected</l><block s="reportBoolean"><l><bool>true</bool></l></block></custom-block><block s="doSwitchToCostume"><l>SQLConnected</l></block><block s="doSetVar"><l>dbs</l><block s="reportTextSplit"><block s="reportURL"><block s="reportJoinWords"><list><custom-block s="SciSnap! global property %s"><l>connection</l></custom-block><l>&amp;type=getDBs</l></list></block></block><l><option>line</option></l></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="dbs"/></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block s="reportListItem"><l><option>last</option></l><block var="dbs"/></block></block><l>0</l></list></block></list></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="dbs"/></block></script></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="dbs"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><custom-block s="substring of %txt from %n to %n"><block s="reportListItem"><l>1</l><block var="dbs"/></block><l>1</l><l>5</l></custom-block><l>ERROR</l></list></block></list></block><script><custom-block s="set SciSnap! global property %s to %s"><l>databases</l><block s="reportNewList"><list></list></block></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>databases</l><block var="dbs"/></custom-block><block s="doSwitchToCostume"><l>SQLConnected</l></block></script></block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>connected</l><block s="reportBoolean"><l><bool>false</bool></l></block></custom-block><block s="doSwitchToCostume"><l>SQLDisconnected</l></block></script></block></script></block></script></block-definition><block-definition s="import SQL-data from %&apos;source&apos; to SQLData" type="command" category="4. SQL tools"><comment x="0" y="0" w="135.83333333333334" collapsed="false">Imports the results of an SQL-query to SQLData and sets the corresponding properties.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is SQL configured?"></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: please configure SciSnap! for SQL first!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportIsA"><block var="source"/><l><option>list</option></l></block><script><block s="doSetVar"><l>SQLData</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><script><block s="doAddToList"><block s="reportTextSplit"><block s="reportListItem"><block var="i"/><block var="source"/></block><l>,</l></block><block var="SQLData"/></block></script></block><custom-block s="set SciSnap! global property %s to %s"><l>typeOfData</l><l>table</l></custom-block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="SQLData"/></block><l>0</l></list></block><script><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><l>0</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>rows</l><l>0</l></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>rows</l><block s="reportListAttribute"><l><option>length</option></l><block var="SQLData"/></block></custom-block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="SQLData"/></block><l><option>list</option></l></block><script><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="SQLData"/></block></block></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><l>1</l></custom-block></script></block></script></block><custom-block s="set SciSnap! global property %s to %s"><l>minValue</l><l>notSet</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>maxValue</l><l>notSet</l></custom-block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only import from lists</l></custom-block></script></block></script></block></script></block-definition><block-definition s="read databases" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="220.66666666666663" collapsed="false">Reports a list of databases on the server and sets the corresponding properties.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>dbs</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is SQL configured?"></custom-block></block><script><block s="doReport"><l>ERROR: SQL isn&apos;t configured yet!</l></block></script><list></list></block><block s="doSetVar"><l>dbs</l><block s="reportTextSplit"><block s="reportURL"><block s="reportJoinWords"><list><custom-block s="SciSnap! global property %s"><l>connection</l></custom-block><l>&amp;type=getDBs</l></list></block></block><l><option>line</option></l></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="dbs"/></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block s="reportListItem"><l><option>last</option></l><block var="dbs"/></block></block><l>0</l></list></block></list></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="dbs"/></block></script></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="dbs"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><custom-block s="substring of %txt from %n to %n"><block s="reportListItem"><l>1</l><block var="dbs"/></block><l>1</l><l>5</l></custom-block><l>ERROR</l></list></block></list></block><script><custom-block s="set SciSnap! global property %s to %s"><l>databases</l><block s="reportNewList"><list></list></block></custom-block><block s="doReport"><l>ERROR: reading of databases has failed!</l></block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>databases</l><block var="dbs"/></custom-block><block s="doReport"><block var="dbs"/></block></script></block></script></block></script></block-definition><block-definition s="choose database no. %&apos;n&apos;" type="command" category="4. SQL tools"><comment x="0" y="0" w="182.40882873535156" collapsed="false">Selects one of the databases and sets the corresponding properties.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input></inputs><script><block s="doDeclareVariables"><list><l>tables</l><l>result</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is SQL configured?"></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: please configure SciSnap! for SQL first!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><custom-block s="SciSnap! global property %s"><l>databases</l></custom-block></block></list></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: index out of range!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><custom-block s="set SciSnap! global property %s to %s"><l>currentDatabase</l><block s="reportListItem"><block var="n"/><custom-block s="SciSnap! global property %s"><l>databases</l></custom-block></block></custom-block><block s="doSetVar"><l>result</l><block s="reportURL"><block s="reportJoinWords"><list><custom-block s="SciSnap! global property %s"><l>connection</l></custom-block><l>&amp;command=</l><block s="reportJoinWords"><list><l>USE </l><custom-block s="SciSnap! global property %s"><l>currentDatabase</l></custom-block></list></block></list></block></block></block><custom-block s="set SciSnap! global property %s to %s"><l>tables</l><block s="reportNewList"><list></list></block></custom-block><block s="doSetVar"><l>tables</l><block s="reportTextSplit"><block s="reportURL"><block s="reportJoinWords"><list><custom-block s="SciSnap! global property %s"><l>connection</l></custom-block><l>&amp;command=</l><block s="reportJoinWords"><list><l>SHOW TABLES FROM </l><custom-block s="SciSnap! global property %s"><l>currentDatabase</l></custom-block><l>&amp;type=getTables</l></list></block></list></block></block><l><option>line</option></l></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="tables"/></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block s="reportListItem"><l><option>last</option></l><block var="tables"/></block></block><l>0</l></list></block></list></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="tables"/></block></script></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="tables"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><custom-block s="substring of %txt from %n to %n"><block s="reportListItem"><l>1</l><block var="tables"/></block><l>1</l><l>5</l></custom-block><l>ERROR</l></list></block></list></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: no tables accessable!</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>tables</l><block s="reportNewList"><list></list></block></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>tables</l><block var="tables"/></custom-block></script></block></script></block></script></block-definition><block-definition s="read tables" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="392.7626953124997" collapsed="false">Reports a list of tables of the chosen database and sets the corresponding properties.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>tbls</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is SQL configured?"></custom-block></block><script><block s="doReport"><l>ERROR: SQL isn&apos;t configured yet!</l></block></script><list></list></block><block s="doSetVar"><l>tbls</l><block s="reportTextSplit"><block s="reportURL"><block s="reportJoinWords"><list><custom-block s="SciSnap! global property %s"><l>connection</l></custom-block><l>&amp;command=</l><block s="reportJoinWords"><list><l>SHOW TABLES FROM </l><custom-block s="SciSnap! global property %s"><l>currentDatabase</l></custom-block><l>&amp;type=getTables</l></list></block></list></block></block><l><option>line</option></l></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="tbls"/></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block s="reportListItem"><l><option>last</option></l><block var="tbls"/></block></block><l>0</l></list></block></list></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="tbls"/></block></script></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="tbls"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><custom-block s="substring of %txt from %n to %n"><block s="reportListItem"><l>1</l><block var="tbls"/></block><l>1</l><l>5</l></custom-block><l>ERROR</l></list></block></list></block><script><custom-block s="set SciSnap! global property %s to %s"><l>tables</l><block s="reportNewList"><list></list></block></custom-block><block s="doReport"><l>ERROR: no tables accessable!</l></block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>tables</l><block var="tbls"/></custom-block></script></block><block s="doReport"><block var="tbls"/></block></script></block></script></block-definition><block-definition s="attributes of table no. %&apos;n&apos;" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="213.8619791666667" collapsed="false">Reads the attributes of the specified table and sets the corresponding properties.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>clmns</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is SQL configured?"></custom-block></block><script><block s="doReport"><l>ERROR: SQL isn&apos;t configured yet!</l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><custom-block s="SciSnap! global property %s"><l>tables</l></custom-block></block></list></block><script><block s="doReport"><l>ERROR: table doesn&apos;t exist!</l></block></script><script><block s="doSetVar"><l>clmns</l><block s="reportTextSplit"><block s="reportURL"><block s="reportJoinWords"><list><custom-block s="SciSnap! global property %s"><l>connection</l></custom-block><l>&amp;command=</l><block s="reportJoinWords"><list><l>SHOW COLUMNS FROM </l><block s="reportListItem"><block var="n"/><custom-block s="SciSnap! global property %s"><l>tables</l></custom-block></block></list></block><l>&amp;type=getColumns&amp;database=</l><custom-block s="SciSnap! global property %s"><l>currentDatabase</l></custom-block></list></block></block><l><option>line</option></l></block></block><block s="doUntil"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l><option>last</option></l><block var="clmns"/></block><l></l></list></block></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="clmns"/></block></script></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="clmns"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><custom-block s="substring of %txt from %n to %n"><block s="reportListItem"><l>1</l><block var="clmns"/></block><l>1</l><l>5</l></custom-block><l>ERROR</l></list></block></list></block><script><custom-block s="set SciSnap! global property %s to %s"><l>attributes</l><block s="reportNewList"><list></list></block></custom-block><block s="doReport"><l>ERROR: reading of attributes has failed!</l></block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>attributes</l><block var="clmns"/></custom-block></script></block><block s="doReport"><block var="clmns"/></block></script></block></script></block></script></block-definition><block-definition s="choose table no. %&apos;n&apos;" type="command" category="4. SQL tools"><comment x="0" y="0" w="163.10389383951835" collapsed="false">Selects one of the tables and sets the corresponding properties.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>clmns</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is SQL configured?"></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: please configure SciSnap! for SQL first!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><custom-block s="SciSnap! global property %s"><l>tables</l></custom-block></block></list></block></block><script><custom-block s="set SciSnap! global property %s to %s"><l>currentTable</l><block s="reportListItem"><block var="n"/><custom-block s="SciSnap! global property %s"><l>tables</l></custom-block></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>attributes</l><block s="reportNewList"><list></list></block></custom-block><block s="doSetVar"><l>clmns</l><block s="reportTextSplit"><block s="reportURL"><block s="reportJoinWords"><list><custom-block s="SciSnap! global property %s"><l>connection</l></custom-block><l>&amp;command=</l><block s="reportJoinWords"><list><l>SHOW COLUMNS FROM </l><block s="reportListItem"><block var="n"/><custom-block s="SciSnap! global property %s"><l>tables</l></custom-block></block></list></block><l>&amp;type=getColumns&amp;database=</l><custom-block s="SciSnap! global property %s"><l>currentDatabase</l></custom-block></list></block></block><l><option>line</option></l></block></block><block s="doUntil"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l><option>last</option></l><block var="clmns"/></block><l></l></list></block></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="clmns"/></block></script></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="clmns"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><custom-block s="substring of %txt from %n to %n"><block s="reportListItem"><l>1</l><block var="clmns"/></block><l>1</l><l>5</l></custom-block><l>ERROR</l></list></block></list></block><script><custom-block s="set SciSnap! global property %s to %s"><l>attributes</l><block s="reportNewList"><list></list></block></custom-block><custom-block s="report SciSnap! error %txt"><l>ERROR: table not accessable!</l></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>attributes</l><block var="clmns"/></custom-block></script></block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>currentTable</l><block s="reportNewList"><list></list></block></custom-block><custom-block s="report SciSnap! error %txt"><l>ERROR: table not accessable!</l></custom-block></script></block></script></block></script></block-definition><block-definition s="SELECT %&apos;what&apos; %&apos;attribs&apos; FROM %&apos;mytables&apos; WHERE %&apos;cond&apos;" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="174.16666666666666" collapsed="false">Generates a simplified SQL query.</comment><header></header><code></code><translations></translations><inputs><input type="%s"><options>*&#xD;DISTINCT</options></input><input type="%mult%txt"></input><input type="%mult%txt"></input><input type="%b"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>i</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><l>SELECT </l></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="what"/><l>*</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l>* FROM </l></list></block></block></script><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="what"/><l>DISTINCT</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l>DISTINCT </l></list></block></block></script><list></list></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="attribs"/></block><l>1</l></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="attribs"/></block><l>,</l></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="attribs"/></block><l> FROM </l></list></block></block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="mytables"/></block><l>0</l></list></block><script><block s="doReport"><l>ERROR: tables missing!</l></block></script><script><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="mytables"/></block><l>1</l></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="mytables"/></block><l>,</l></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="mytables"/></block></list></block></block></script></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="cond"/></block><l>2</l></list></block><script><block s="doReport"><block var="result"/></block></script><script><block s="doReport"><block s="reportJoinWords"><list><block var="result"/><l> WHERE </l><block var="cond"/></list></block></block></script></block></script></block></script></block-definition><block-definition s="SELECT %&apos;what&apos; %&apos;attribs&apos; FROM %&apos;mytables&apos; WHERE %&apos;cond&apos; $nl GROUP BY %&apos;groupattribs&apos; HAVING %&apos;havcond&apos; ORDER BY %&apos;orderatts&apos; %&apos;how&apos; LIMIT %&apos;n&apos;" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="104.16666666666667" collapsed="false">Generates an almost complete SQL query.</comment><header></header><code></code><translations></translations><inputs><input type="%s"><options>*&#xD;DISTINCT</options></input><input type="%mult%txt"></input><input type="%mult%txt"></input><input type="%b"></input><input type="%mult%txt"></input><input type="%b"></input><input type="%mult%txt"></input><input type="%txt" readonly="true">ASC<options>ASC&#xD;DESC</options></input><input type="%n">10</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>i</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><l>SELECT </l></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="what"/><l>*</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l>* FROM </l></list></block></block></script><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="what"/><l>DISTINCT</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l>DISTINCT </l></list></block></block></script><list></list></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="attribs"/></block><l>1</l></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="attribs"/></block><l>,</l></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="attribs"/></block><l> FROM </l></list></block></block></script></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="mytables"/></block><l>0</l></list></block><script><block s="doReport"><l>ERROR: tables missing!</l></block></script><script><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="mytables"/></block><l>1</l></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="mytables"/></block><l>,</l></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="mytables"/></block></list></block></block></script></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="cond"/></block><l>2</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l> WHERE </l><block var="cond"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="groupattribs"/></block><l>0</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l> GROUP BY </l></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="groupattribs"/></block><l>1</l></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="groupattribs"/></block><l>,</l></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="groupattribs"/></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="havcond"/></block><l>2</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l> HAVING </l><block var="havcond"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="orderatts"/></block><l>0</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l> ORDER BY </l></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="orderatts"/></block><l>1</l></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="orderatts"/></block><l>,</l></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportListItem"><block var="i"/><block var="orderatts"/></block></list></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="how"/><l>ASC</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l> ASC</l></list></block></block></script><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="how"/><l>DESC</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l> DESC</l></list></block></block></script><list></list></block></script></block><block s="doIf"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="n"/><l>0</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l> LIMIT </l><block var="n"/></list></block></block></script><list></list></block></script><list></list></block></script><list></list></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="exec SQL-command %&apos;query&apos;" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="113.33333333333333" collapsed="false">Executes an SQL query.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>query2</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is SQL configured?"></custom-block></block><script><block s="doReport"><l>ERROR: SQL isn&apos;t configured yet!</l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="query"/><l>:</l></block></block><l>ERROR</l></list></block><script><block s="doReport"><block var="query"/></block></script><script><block s="doSetVar"><l>query2</l><l></l></block><block s="doFor"><l>i</l><l>1</l><block s="reportTextAttribute"><l><option>length</option></l><block var="query"/></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportLetter"><block var="i"/><block var="query"/></block><l>%</l></list></block><script><block s="doSetVar"><l>query2</l><block s="reportJoinWords"><list><block var="query2"/><l>%25</l></list></block></block></script><script><block s="doSetVar"><l>query2</l><block s="reportJoinWords"><list><block var="query2"/><block s="reportLetter"><block var="i"/><block var="query"/></block></list></block></block></script></block></script><comment w="160" collapsed="false">replaces &quot;%&quot; with &quot;%25&quot; to prevent trouble with the url-block.</comment></block><block s="doSetVar"><l>result</l><block s="reportTextSplit"><block s="reportURL"><block s="reportJoinWords"><list><custom-block s="SciSnap! global property %s"><l>connection</l></custom-block><l>&amp;type=query&amp;query=</l><block var="query2"/><l>&amp;database=</l><custom-block s="SciSnap! global property %s"><l>currentDatabase</l></custom-block></list></block></block><l><option>line</option></l></block></block></script></block><block s="doUntil"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l><option>last</option></l><block var="result"/></block><l></l></list></block></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="%&apos;a&apos; = %&apos;b&apos;" type="predicate" category="4. SQL tools"><comment x="0" y="0" w="125.83333333333333" collapsed="false">Returns an SQL predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>(</l><block var="a"/><l> = </l><block var="b"/><l>)</l></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; &lt; %&apos;b&apos;" type="predicate" category="4. SQL tools"><comment x="0" y="0" w="125.83333333333333" collapsed="false">Returns an SQL predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>(</l><block var="a"/><l> &lt; </l><block var="b"/><l>)</l></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; &gt; %&apos;b&apos;" type="predicate" category="4. SQL tools"><comment x="0" y="0" w="127.5" collapsed="false">Returns an SQL predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>(</l><block var="a"/><l> &gt; </l><block var="b"/><l>)</l></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; OR %&apos;b&apos;" type="predicate" category="4. SQL tools"><comment x="0" y="0" w="124.16666666666667" collapsed="false">Returns an SQL predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>(</l><block var="a"/><l> OR </l><block var="b"/><l>)</l></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; AND %&apos;b&apos;" type="predicate" category="4. SQL tools"><comment x="0" y="0" w="131.66666666666669" collapsed="false">Returns an SQL predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>(</l><block var="a"/><l> AND </l><block var="b"/><l>)</l></list></block></block></script></block-definition><block-definition s="NOT %&apos;a&apos;" type="predicate" category="4. SQL tools"><comment x="0" y="0" w="126.66666666666667" collapsed="false">Returns an SQL predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>NOT(</l><block var="a"/><l>)</l></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; IN ( %&apos;liste&apos; )" type="predicate" category="4. SQL tools"><comment x="0" y="0" w="124.16666666666667" collapsed="false">Returns an SQL predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><block var="a"/><l> IN (</l><block var="liste"/><l>)</l></list></block></block></script></block-definition><block-definition s="%&apos;a&apos; LIKE %&apos;b&apos;" type="predicate" category="4. SQL tools"><comment x="0" y="0" w="130.83333333333334" collapsed="false">Returns an SQL predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>(</l><block var="a"/><l> LIKE </l><block var="b"/><l>)</l></list></block></block></script></block-definition><block-definition s="AVG ( %&apos;a&apos; )" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="125" collapsed="false">Returns an SQL value.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>AVG(</l><block var="a"/><l>)</l></list></block></block></script></block-definition><block-definition s="COUNT ( %&apos;a&apos; )" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="115.83333333333333" collapsed="false">Returns an SQL value.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>COUNT(</l><block var="a"/><l>)</l></list></block></block></script></block-definition><block-definition s="MIN ( %&apos;a&apos; )" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="112.5" collapsed="false">Returns an SQL value.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>MIN(</l><block var="a"/><l>)</l></list></block></block></script></block-definition><block-definition s="MAX ( %&apos;a&apos; )" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="120.83333333333333" collapsed="false">Returns an SQL value.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>MAX(</l><block var="a"/><l>)</l></list></block></block></script></block-definition><block-definition s="SUM ( %&apos;a&apos; )" type="reporter" category="4. SQL tools"><comment x="0" y="0" w="118.33333333333333" collapsed="false">Returns an SQL value.</comment><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>SUM(</l><block var="a"/><l>)</l></list></block></block></script></block-definition><block-definition s="configure %&apos;sprite&apos; as a GraphPad width: %&apos;width&apos; $nl height: %&apos;height&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="301.6666666666667" collapsed="false">Creates a new  empty costume of the specified size and color and sets local properties. If sprite is the stage, the old costume# of stage is stored. So you can draw graphs on maps, for example.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>props</l></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><script><block s="doSetVar"><l>width</l><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block></block><block s="doSetVar"><l>height</l><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block></block></script><list></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>sprite</l><l>theStage</l></block><block s="doSetVar"><l>target</l><block s="reportObject"><l>Stage</l></block></block><block s="doSetVar"><l>width</l><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block></block><block s="doSetVar"><l>height</l><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myProperties</l></list></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myData</l></list></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>adjacencyMatrix</l></list></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>vertexList</l></list></block><block s="doSetVar"><l>myProperties</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>myData</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>adjacencyMatrix</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>vertexList</l><block s="reportNewList"><list></list></block></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfConfiguration</l><l>GraphPad</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfData</l><l>none</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>costumeProperties</l><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>vertexProperties</l><block s="reportNewList"><list><block s="reportNewList"><list><block s="reportRound"><block s="reportVariadicProduct"><list><l>0.1</l><block var="width"/></list></block></block><block s="reportRound"><block s="reportVariadicProduct"><list><l>0.9</l><block var="width"/></list></block></block><block s="reportRound"><block s="reportVariadicProduct"><list><l>0.1</l><block var="height"/></list></block></block><block s="reportRound"><block s="reportVariadicProduct"><list><l>0.9</l><block var="height"/></list></block></block></list></block><l>3</l><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>edgeProperties</l><block s="reportNewList"><list><l>1</l><l>0</l><l>0</l><l>0</l><block s="reportBoolean"><l><bool>false</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><script><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>oldStageCostume</l></list></block><block s="doIfElse"><block s="reportIsA"><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><l><option>costume</option></l></block><script><block s="doSetVar"><l>oldStageCostume</l><custom-block s="copy of costume %obj"><block s="reportGet"><l><option>costume</option></l></block></custom-block></block><block s="doSwitchToCostume"><block var="oldStageCostume"/></block><block s="doSetVar"><l>props</l><custom-block s="GraphPadProperty %txt of %txt"><l>costumeProperties</l><l>theStage</l></custom-block></block><block s="doReplaceInList"><l>1</l><block var="props"/><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block></block><block s="doReplaceInList"><l>2</l><block var="props"/><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>height</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block></block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>costumeProperties</l><l>theStage</l><block var="props"/></custom-block></script><script><block s="doSetVar"><l>oldStageCostume</l><l>null</l></block><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></list></block></block></script></block></script><list></list></block><list></list></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="gotoXY"><l>0</l><l>0</l></block><block s="setHeading"><l>90</l></block><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></list></block></block><block s="show"></block></script><list></list></block><list></list></block></script></block></script></block></script><scripts><comment x="475" y="98.00000000000011" w="286.6666666666667" collapsed="false">costume properties:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;&#xD;vertex properties:&#xD;1: ranges for random coordinates (xLeft,xRight, yUpper,yLower)&#xD;2: minimal radius of a vertex, should be changed is vertices are &#xD;    not growing with number of edges&#xD;3: boolean: vertices grow with number of connected edges&#xD;4: boolean: vertex content is shown. If there is no content, &#xD;    the vertex number is shown&#xD;&#xD;edge properties:&#xD;1: line width&#xD;2: line color red&#xD;3: line color green&#xD;4: line color blue&#xD;5: boolean: edge is directed&#xD;6: boolean: edge has a weight&#xD;7: boolean: edge shows weight</comment></scripts></block-definition><block-definition s="is %&apos;sprite&apos; a GraphPad?" type="predicate" category="7. GraphPad for graph operations"><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><l><option>myself</option></l></block><block s="reifyReporter"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>GraphPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><script><block s="doReport"><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>GraphPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><block var="sprite"/></block><block s="reifyReporter"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>GraphPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script></block></script></block></script></block></script></block-definition><block-definition s="GraphPadProperty %&apos;name&apos; of %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations"><comment x="0" y="0" w="181.66666666666666" collapsed="false">Reads the value of an existing property.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">costumeProperties<options>typeOfConfiguration&#xD;typeOfData&#xD;costumeProperties&#xD;vertexProperties&#xD;edgeProperties</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>h</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GraphPad!</l></block></script><list></list></block><block s="doSetVar"><l>result</l><l>not found</l></block><block s="doSetVar"><l>name</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="name"/><l> </l></block></block></block><block s="doSetVar"><l>h</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><block s="reportListItem"><l>1</l><l/></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportListItem"><l>2</l><l/></block></block></script><list></list></block><block s="doReport"><l></l></block></script><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="set GraphPadProperty %&apos;name&apos; of %&apos;sprite&apos; to %&apos;value&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="132.5" collapsed="false">Sets the value of an existing property or inserts it anew.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">costumeProperties<options>typeOfConfiguration&#xD;typeOfData&#xD;costumeProperties&#xD;vertexProperties&#xD;edgeProperties</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>done</l><l>h</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>name</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="name"/><l> </l></block></block></block><block s="doSetVar"><l>done</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>h</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><block s="reportListItem"><l>1</l><l/></block></list></block><script><block s="doReplaceInList"><l>2</l><l/><block var="value"/></block><block s="doSetVar"><l>done</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="doReport"><l></l></block></script><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block><block s="doIf"><block s="reportNot"><block var="done"/></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doAddToList"><l></l><l/></block></script><list></list></block><list><block s="reportNewList"><list><block var="name"/><block var="value"/></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></list></block></script><list></list></block></script></block></script></block-definition><block-definition s="set GraphPad costume properties width: %&apos;width&apos; $nl height: %&apos;height&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="119.32706197102902" collapsed="false">a simple way to set some costume attributes.&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue</comment><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>costumeProperties</l><block var="target"/><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></list></block></custom-block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></list></block></block></script><list></list></block><list></list></block></script></block></script></block-definition><block-definition s="set GraphPad vertex properties minSize: %&apos;minSize&apos; $nl growing? %&apos;isGrowing&apos; showsContent? %&apos;showsContent&apos; on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="197.2010396321616" collapsed="false">a simple way to set some vertex attributes:&#xD;1: ranges for random coordinates&#xD;    (xLeft,xRight, yUpper,yLower)&#xD;2: minimal radius of a vertex, should be&#xD;    changed is vertices are not growing&#xD;    with number of edges&#xD;3: boolean: vertices grow with number&#xD;    of connected edges&#xD;4: boolean: vertex content is shown. &#xD;    If there is no content, the vertex&#xD;    number is shown</comment><header></header><code></code><translations></translations><inputs><input type="%n">3</input><input type="%b">true</input><input type="%b">false</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>vertexProperties</l><block var="target"/><block s="reportNewList"><list><block s="reportListItem"><l>1</l><custom-block s="GraphPadProperty %txt of %txt"><l>vertexProperties</l><block var="target"/></custom-block></block><block var="minSize"/><block var="isGrowing"/><block var="showsContent"/></list></block><comment w="133.9111328125" collapsed="false">The ranges are maintained. </comment></custom-block></script></block></script></block-definition><block-definition s="set GraphPad edge properties lineWidth: %&apos;lineWidth&apos; $nl color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; directed? %&apos;isDirected&apos; weighted? %&apos;withWeights&apos; $nl showsWeight? %&apos;showWeight&apos; on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="119.32706197102902" collapsed="false">a simple way to set some edge attributes:&#xD;1: line width&#xD;2: line color red&#xD;3: line color green&#xD;4: line color blue&#xD;5: boolean: edge is directed&#xD;6: boolean: edge has a weight&#xD;7: boolean: edge shows&#xD;    weight</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input><input type="%b">false</input><input type="%b">false</input><input type="%b">false</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>edgeProperties</l><block var="target"/><block s="reportNewList"><list><block var="lineWidth"/><block var="r"/><block var="g"/><block var="b"/><block var="isDirected"/><block var="withWeights"/><block var="showWeight"/></list></block></custom-block></script></block></script></block-definition><block-definition s="new vertex at %&apos;x&apos; %&apos;y&apos; content: %&apos;value&apos; on graph of %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><header></header><code></code><translations></translations><inputs><input type="%n">100</input><input type="%n">100</input><input type="%s"></input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><custom-block s="add %n random vertices to graph on %txt"><l>1</l><block var="target"/></custom-block><custom-block s="move vertex %n of graph on %txt to %n %n"><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><block var="target"/><block var="x"/><block var="y"/></custom-block><custom-block s="change content of vertex %n to %txt of graph on %txt"><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><block var="value"/><block var="target"/></custom-block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script></block-definition><block-definition s="add %&apos;n&apos; random vertices to graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="214.16666666666686" collapsed="false">adds n vertices to the vertexList of a GraphPad:&#xD;Vertex attributes have the following order:&#xD;1: x&#xD;2: y&#xD;3: size&#xD;4: content&#xD;5: isMarked&#xD;6: colorNr&#xD;7: numberOfLinks</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><l>vertexList</l><block s="reportApplyExtension"><l>SciS_addVerticesToVertexlist(n,vlist,vAttributes)</l><list><block var="n"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block><custom-block s="GraphPadProperty %txt of %txt"><l>vertexProperties</l><block var="target"/></custom-block></list></block></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><l>adjacencyMatrix</l><block s="reportApplyExtension"><l>SciS_addVerticesToAdjacencymatrix(n,amatrix)</l><list><block var="n"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></list></block></list></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script></block></script></block-definition><block-definition s="move vertex %&apos;n&apos; of graph on %&apos;sprite&apos; to %&apos;x&apos; %&apos;y&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="130.83333333333334" collapsed="false">Moves a vertex to another position measured in Snap! sprite-coordinates</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">100</input><input type="%n">100</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>width</l><l>height</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicLessThanOrEquals"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block><script><block s="doSetVar"><l>width</l><block s="reportListItem"><l>1</l><custom-block s="GraphPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></block><block s="doSetVar"><l>height</l><block s="reportListItem"><l>2</l><custom-block s="GraphPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></block><block s="doReplaceInList"><l>1</l><block s="reportListItem"><block var="n"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportQuotient"><block var="width"/><l>2</l></block><block var="x"/></list></block></block></block><block s="doReplaceInList"><l>2</l><block s="reportListItem"><block var="n"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><block s="reportRound"><block s="reportDifference"><block s="reportQuotient"><block var="height"/><l>2</l></block><block var="y"/></block></block></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: index out of range!</l></custom-block></script></block></script></block></script></block-definition><block-definition s="add %&apos;n&apos; random edges to graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="150" collapsed="false">Creates n new edges randomly.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>result</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportApplyExtension"><l>SciS_addRandomEdgesToGraph(amatrix,n,lAttributes,vlist)</l><list><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block><block var="n"/><custom-block s="GraphPadProperty %txt of %txt"><l>edgeProperties</l><block var="target"/></custom-block><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></list></block></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><l>adjacencyMatrix</l><block s="reportListItem"><l>1</l><block var="result"/></block></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><l>vertexList</l><block s="reportListItem"><l>2</l><block var="result"/></block></list></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script></block></script></block-definition><block-definition s="add edge from vertex %&apos;v1&apos; to vertex %&apos;v2&apos; to graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="107.5" collapsed="false">Creates a new edge between two vertices.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">2</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>vertex1</l><l>vertex2</l><l>weight</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v1"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v1"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v2"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v2"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block></list></block><script><block s="doSetVar"><l>vertex1</l><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doSetVar"><l>vertex2</l><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doIfElse"><block s="reportListItem"><l>6</l><custom-block s="GraphPadProperty %txt of %txt"><l>edgeProperties</l><block var="target"/></custom-block></block><script><block s="doSetVar"><l>weight</l><block s="reportRound"><block s="reportQuotient"><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="vertex1"/></block><block s="reportListItem"><l>1</l><block var="vertex2"/></block></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="vertex1"/></block><block s="reportListItem"><l>1</l><block var="vertex2"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="vertex1"/></block><block s="reportListItem"><l>2</l><block var="vertex2"/></block></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="vertex1"/></block><block s="reportListItem"><l>2</l><block var="vertex2"/></block></block></list></block></list></block></block><l>10</l></block></block></block></script><script><block s="doSetVar"><l>weight</l><l>1</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="v2"/><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block></block><l>X</l></list></block><script><block s="doReplaceInList"><l>7</l><block var="vertex1"/><block s="reportVariadicSum"><list><block s="reportListItem"><l>7</l><block var="vertex1"/></block><l>1</l></list></block></block><block s="doReplaceInList"><l>6</l><block var="vertex2"/><block s="reportListItem"><l>6</l><block var="vertex1"/></block></block><block s="doReplaceInList"><block var="v2"/><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block><block var="weight"/></block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="v1"/><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block></block><l>X</l></list></block><block s="reportNot"><block s="reportListItem"><l>5</l><custom-block s="GraphPadProperty %txt of %txt"><l>edgeProperties</l><block var="target"/></custom-block></block></block></list></block><script><block s="doReplaceInList"><l>7</l><block var="vertex2"/><block s="reportVariadicSum"><list><block s="reportListItem"><l>7</l><block var="vertex2"/></block><l>1</l></list></block></block><block s="doReplaceInList"><block var="v1"/><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block><block var="weight"/></block></script><list></list></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: index out of range!</l></custom-block></script></block></script></block></script></block-definition><block-definition s="draw graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="155" collapsed="false">draws the graph on a GraphPad.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>oldCostume</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doIfElse"><block s="reportIsA"><block s="reportAttributeOf"><l>oldStageCostume</l><l>Stage</l></block><l><option>costume</option></l></block><script><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doSwitchToCostume"><block s="reportAttributeOf"><l>oldStageCostume</l><l>Stage</l></block></block></script><list></list></block><list></list></block><block s="doSetVar"><l>oldCostume</l><custom-block s="copy of costume %obj"><custom-block s="costume of %obj"><block s="reportObject"><l>Stage</l></block></custom-block></custom-block></block></script><script><block s="doSetVar"><l>oldCostume</l><l>null</l></block></script></block></script><script><block s="doSetVar"><l>oldCostume</l><l>null</l></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_drawGraph(amatrix,vlist,cAttributes,vAttributes,lAttributes,oldCostume)</l><list><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block><custom-block s="GraphPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block><custom-block s="GraphPadProperty %txt of %txt"><l>vertexProperties</l><block var="target"/></custom-block><custom-block s="GraphPadProperty %txt of %txt"><l>edgeProperties</l><block var="target"/></custom-block><block var="oldCostume"/></list></block></list></block></script></block></script></block-definition><block-definition s="delete vertex %&apos;n&apos; of graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="90" collapsed="false">Deletes a vertex.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="n"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><l>1</l></list></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><l>vertexList</l><block s="reportNewList"><list></list></block></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><l>adjacencyMatrix</l><block s="reportNewList"><list></list></block></list></block></script><script><block s="doDeleteFromList"><block var="n"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><block s="doDeleteFromList"><block var="n"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block><block s="doForEach"><l>item</l><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block><script><block s="doDeleteFromList"><block var="n"/><block var="item"/></block></script></block></script></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script><list></list></block></script></block></script></block-definition><block-definition s="delete edge from vertex %&apos;v1&apos; to vertex %&apos;v2&apos; $nl of graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="90" collapsed="false">Deletes an edge.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">2</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>vertex1</l><l>vertex2</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v1"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v1"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v2"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v2"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block></list></block><script><block s="doSetVar"><l>vertex1</l><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doSetVar"><l>vertex2</l><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><block var="v2"/><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block></block><l>0</l></list></block><script><block s="doReplaceInList"><l>7</l><block var="vertex1"/><block s="reportDifference"><block s="reportListItem"><l>7</l><block var="vertex1"/></block><l>1</l></block></block><block s="doReplaceInList"><block var="v2"/><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block><l>X</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><block var="v1"/><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block></block><l>0</l></list></block><block s="reportNot"><block s="reportListItem"><l>5</l><custom-block s="GraphPadProperty %txt of %txt"><l>edgeProperties</l><block var="target"/></custom-block></block></block></list></block><script><block s="doReplaceInList"><l>7</l><block var="vertex2"/><block s="reportDifference"><block s="reportListItem"><l>7</l><block var="vertex2"/></block><l>1</l></block></block><block s="doReplaceInList"><block var="v1"/><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block><l>X</l></block></script><list></list></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: index out of range!</l></custom-block></script></block></script></block></script></block-definition><block-definition s="weight of edge from vertex %&apos;v1&apos; to vertex %&apos;v2&apos; $nl of graph on %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations"><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%s">2</input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>vertex1</l><l>vertex2</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GraphPad!</l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v1"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v1"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v2"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v2"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block></list></block><script><block s="doSetVar"><l>vertex1</l><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doSetVar"><l>vertex2</l><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doIfElse"><block s="reportListItem"><l>6</l><custom-block s="GraphPadProperty %txt of %txt"><l>edgeProperties</l><block var="target"/></custom-block></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListItem"><block var="v2"/><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block></block><l>X</l></list></block><script><block s="doReport"><block s="reportListItem"><block var="v2"/><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block></block></block></script><script><block s="doReport"><l>ERROR: there is no connection between these vertices!</l></block></script></block></script><script><block s="doReport"><l>ERROR: in this Graph edges have no weights!</l></block></script></block></script><script><block s="doReport"><l>ERROR: index out of range!</l></block></script></block></script></block></script></block-definition><block-definition s="change weight of edge from vertex %&apos;v1&apos; to vertex %&apos;v2&apos; $nl to %&apos;weight&apos; of graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="132.5" collapsed="false">Sets the weight of an edge.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">2</input><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>vertex1</l><l>vertex2</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v1"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v1"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v2"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v2"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block></list></block><script><block s="doSetVar"><l>vertex1</l><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doSetVar"><l>vertex2</l><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doIfElse"><block s="reportListItem"><l>6</l><custom-block s="GraphPadProperty %txt of %txt"><l>edgeProperties</l><block var="target"/></custom-block></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListItem"><block var="v2"/><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block></block><l>X</l></list></block><script><block s="doReplaceInList"><block var="v2"/><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block><block var="weight"/></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicNotEquals"><list><block s="reportListItem"><block var="v1"/><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block></block><l>X</l></list></block><block s="reportNot"><block s="reportListItem"><l>5</l><custom-block s="GraphPadProperty %txt of %txt"><l>edgeProperties</l><block var="target"/></custom-block></block></block></list></block><script><block s="doReplaceInList"><block var="v1"/><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block></block><block var="weight"/></block></script><list></list></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: there is no connection between these vertices!</l></custom-block></script></block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: in this Graph edges have no weights!</l></custom-block></script></block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: index out of range!</l></custom-block></script></block></script></block></script></block-definition><block-definition s="ask for new weight of graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>n1</l><l>n2</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doAsk"><l>from vertex nr</l></block><block s="doIf"><block s="reportIsA"><block s="getLastAnswer"></block><l><option>number</option></l></block><script><block s="doSetVar"><l>n1</l><block s="getLastAnswer"></block></block><block s="doAsk"><l>to vertex nr</l></block><block s="doIf"><block s="reportIsA"><block s="getLastAnswer"></block><l><option>number</option></l></block><script><block s="doSetVar"><l>n2</l><block s="getLastAnswer"></block></block><block s="doAsk"><l>new weight</l></block><block s="doIf"><block s="reportIsA"><block s="getLastAnswer"></block><l><option>number</option></l></block><script><custom-block s="change weight of edge from vertex %n to vertex %n %br to %n of graph on %txt"><block var="n1"/><block var="n2"/><block s="getLastAnswer"></block><block var="target"/></custom-block></script><list></list></block></script><list></list></block></script><list></list></block></script></block></script></block-definition><block-definition s="ask for new start vertex width of graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="142.5" collapsed="false">Input for start vertex.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>property</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doAsk"><l>new start vertexwidth (1....20)</l></block><block s="doIf"><block s="reportIsA"><block s="getLastAnswer"></block><l><option>number</option></l></block><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block s="getLastAnswer"></block><l>0</l></list></block><block s="reportVariadicLessThan"><list><block s="getLastAnswer"></block><l>21</l></list></block></list></block><script><block s="doSetVar"><l>property</l><custom-block s="GraphPadProperty %txt of %txt"><l>vertexProperties</l><block var="target"/></custom-block></block><block s="doReplaceInList"><l>2</l><block var="property"/><block s="getLastAnswer"></block></block><custom-block s="set GraphPadProperty %txt of %txt to %s"><l>vertexProperties</l><block var="target"/><block var="property"/></custom-block></script><list></list></block></script><list></list></block></script></block></script></block-definition><block-definition s="content of vertex %&apos;n&apos; of graph on %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations"><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>vertex1</l><l>vertex2</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GraphPad!</l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="n"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><script><block s="doReport"><block s="reportListItem"><l>4</l><block s="reportListItem"><block var="n"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block></block></script><script><block s="doReport"><l>ERROR: index out of range!</l></block></script></block></script></block></script></block-definition><block-definition s="change content of vertex %&apos;n1&apos; to %&apos;value&apos; of graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="133.33333333333334" collapsed="false">Sets the content of a vertex.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%txt"></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>vertex</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="n1"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="n1"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><script><block s="doSetVar"><l>vertex</l><block s="reportListItem"><block var="n1"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doReplaceInList"><l>4</l><block s="reportListItem"><block var="n1"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><block var="value"/></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: index out of range!</l></custom-block></script></block></script></block></script></block-definition><block-definition s="ask for new vertex content in graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="145" collapsed="false">Input for a new vertex content.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>nr</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doAsk"><l>vertex number</l></block><block s="doIf"><block s="reportIsA"><block s="getLastAnswer"></block><l><option>number</option></l></block><script><block s="doSetVar"><l>nr</l><block s="getLastAnswer"></block></block><block s="doAsk"><l>new value</l></block><custom-block s="change content of vertex %n to %txt of graph on %txt"><block var="nr"/><block s="getLastAnswer"></block><block var="target"/></custom-block></script><list></list></block></script></block></script></block-definition><block-definition s="set marker of vertex %&apos;n&apos; of graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="131.5491383870445" collapsed="false">Tells a vertex to be marked.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="n"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><script><block s="doReplaceInList"><l>5</l><block s="reportListItem"><block var="n"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><block s="reportBoolean"><l><bool>true</bool></l></block></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script><list></list></block></script></block></script></block-definition><block-definition s="remove marker of vertex %&apos;n&apos; of graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="94.04913838704452" collapsed="false">Deletes a marker.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="n"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><script><block s="doReplaceInList"><l>5</l><block s="reportListItem"><block var="n"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block><block s="reportBoolean"><l><bool>false</bool></l></block></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script><list></list></block></script></block></script></block-definition><block-definition s="remove all markers of graph on %&apos;sprite&apos;" type="command" category="7. GraphPad for graph operations"><comment x="0" y="0" w="94.04913838704452" collapsed="false">Deletes all markers.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GraphPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doForEach"><l>item</l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block><script><block s="doReplaceInList"><l>5</l><block var="item"/><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><custom-block s="draw graph on %txt"><block var="target"/></custom-block></script></block></script></block-definition><block-definition s="depth first search of content %&apos;cont&apos; $nl starting at vertex %&apos;nr&apos; of graph on %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations"><comment x="0" y="0" w="132.5" collapsed="false">Depth first search in a graph.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GraphPad!</l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="nr"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="nr"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_depthFirstSearch(amatrix,vlist,cont,n)</l><list><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block><block var="cont"/><block var="nr"/></list></block></block></script><script><block s="doReport"><l>ERROR: index out of range!</l></block></script></block></script></block></script></block-definition><block-definition s="breadth first search of content %&apos;cont&apos; $nl starting at vertex %&apos;nr&apos; of graph on %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations"><comment x="0" y="0" w="146.66666666666669" collapsed="false">Breadth first search in a graph.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>nextVertices</l><l>vertexNr</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GraphPad!</l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="nr"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="nr"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_breadthFirstSearch(amatrix,vlist,cont,n)</l><list><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block><block var="cont"/><block var="nr"/></list></block></block></script><script><block s="doReport"><l>ERROR: index out of range!</l></block></script></block></script></block></script></block-definition><block-definition s="distance on %&apos;sprite&apos; from vertex %&apos;v1&apos; to vertex %&apos;v2&apos;" type="reporter" category="7. GraphPad for graph operations"><comment x="0" y="0" w="111.66666666666667" collapsed="false">Reports the distance of two vertices.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">1</input><input type="%n">2</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>vertex1</l><l>vertex2</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GraphPad!</l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v1"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v1"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="v2"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="v2"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block></list></block><script><block s="doSetVar"><l>vertex1</l><block s="reportListItem"><block var="v1"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doSetVar"><l>vertex2</l><block s="reportListItem"><block var="v2"/><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></block><block s="doReport"><block s="reportRound"><block s="reportQuotient"><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="vertex1"/></block><block s="reportListItem"><l>1</l><block var="vertex2"/></block></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="vertex1"/></block><block s="reportListItem"><l>1</l><block var="vertex2"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="vertex1"/></block><block s="reportListItem"><l>2</l><block var="vertex2"/></block></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="vertex1"/></block><block s="reportListItem"><l>2</l><block var="vertex2"/></block></block></list></block></list></block></block><l>10</l></block></block></block></script><script><block s="doReport"><l>ERROR: index out of range!</l></block></script></block></script></block></script></block-definition><block-definition s="shortest path in graph from vertex %&apos;startVertex&apos; $nl to vertex %&apos;endVertex&apos; on %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations"><comment x="0" y="0" w="147.8313293457031" collapsed="false">Shortes path between two vertices, using Dijkstra-method.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">2</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>completedVertices</l><l>distances</l><l>openTuples</l><l>result</l><l>actualTuple</l><l>i</l><l>j</l><l>k</l><l>actualDistance</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GraphPad!</l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="startVertex"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="startVertex"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="endVertex"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="endVertex"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block></list></block><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_shortestPath(amatrix,start,end)</l><list><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block><block var="startVertex"/><block var="endVertex"/></list></block></block></script><script><block s="doReport"><l>ERROR: index out of range!</l></block></script></block></script></block></script></block-definition><block-definition s="list of all shortest paths in graph from vertex %&apos;startVertex&apos; $nl to all connected vertices of graph on %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations"><comment x="0" y="0" w="195.11549479166646" collapsed="false">Shortes paths between startVertex and all connected vertices, using Dijkstra-method.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>completedVertices</l><l>distances</l><l>openTuples</l><l>result</l><l>actualTuple</l><l>i</l><l>j</l><l>k</l><l>actualDistance</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GraphPad!</l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="startVertex"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="startVertex"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block></block></list></block></list></block><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_allShortestPaths(amatrix,start)</l><list><block s="reportAttributeOf"><l>adjacencyMatrix</l><block var="target"/></block><block var="startVertex"/></list></block></block></script><script><block s="doReport"><l>ERROR: index out of range!</l></block></script></block></script></block></script></block-definition><block-definition s="vertexnumber at %&apos;x&apos; %&apos;y&apos; of graph on %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations"><comment x="0" y="0" w="155" collapsed="false">Returns the vertexnumber of a vertex near (x|y), if there is one.</comment><header></header><code></code><translations></translations><inputs><input type="%n">100</input><input type="%n">50</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GraphPad!</l></block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_vertexnumberAtGraph(vlist,cAttributes,vAttributes,x,y)</l><list><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block><custom-block s="GraphPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block><custom-block s="GraphPadProperty %txt of %txt"><l>vertexProperties</l><block var="target"/></custom-block><block var="x"/><block var="y"/></list></block></block></script></block></script></block-definition><block-definition s="point %&apos;x&apos; %&apos;y&apos; on sprite/stage $arrowRightOutline point on graph %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations"><header></header><code></code><translations></translations><inputs><input type="%n">0</input><input type="%n">0</input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>targetSize</l><l>targetX</l><l>targetY</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GraphPad!</l></block></script><list></list></block><block s="doSetVar"><l>targetSize</l><block s="reportAttributeOf"><l><option>size</option></l><block var="target"/></block></block><block s="doReport"><block s="reportNewList"><list><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block var="x"/><block s="reportAttributeOf"><l><option>x position</option></l><block var="target"/></block></block><block var="targetSize"/></block></list></block><l>1</l></list></block></block><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block var="y"/><block s="reportAttributeOf"><l><option>y position</option></l><block var="target"/></block></block><block var="targetSize"/></block></list></block><l>1</l></list></block></block></list></block></block></script></block></script></block-definition><block-definition s="vertexnumber of %&apos;content&apos; in graph of %&apos;sprite&apos;" type="reporter" category="7. GraphPad for graph operations"><comment x="0" y="0" w="150.83333333333334" collapsed="false">Reports the vertexnumber of the vertex with the specified content. If not found then reports 0.</comment><header></header><code></code><translations></translations><inputs><input type="%s">Peter</input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>nr</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GraphPad!</l></block></script><list></list></block><block s="doSetVar"><l>nr</l><l>0</l></block><block s="doForEach"><l>item</l><block s="reportAttributeOf"><l>vertexList</l><l>FamilyTree</l></block><script><block s="doChangeVar"><l>nr</l><l>1</l></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>4</l><block var="item"/></block><block var="content"/></list></block><script><block s="doReport"><block var="nr"/></block></script><list></list></block></script></block><block s="doReport"><block var="nr"/></block></script></block></script></block-definition><block-definition s="Graph example 1: small worlds (needs some seconds)" type="reporter" category="7. GraphPad for graph operations"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="configure %s as a GraphPad width: %n %br height: %n color: %n %n %n"><l>thisSprite</l><l>400</l><l>300</l><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="add %n random vertices to graph on %txt"><l>100</l><l>thisSprite</l></custom-block><custom-block s="add %n random edges to graph on %txt"><l>100</l><l>thisSprite</l></custom-block><block s="doSayFor"><l>mean distance between the nodes: ...</l><l>2</l></block><block s="doReport"><custom-block s="%s of vector %l"><l>mean</l><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="%s of vector %l"><l>mean</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>2</l><custom-block s="list of all shortest paths in graph from vertex %n %br to all connected vertices of graph on %txt"><l></l><l>thisSprite</l></custom-block><l><bool>true</bool></l></custom-block></custom-block></autolambda><list></list></block><block s="reportNumbers"><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="vertexList"/></block></block></block></custom-block></block></script></block-definition><block-definition s="Graph example 2: distribution of links" type="command" category="7. GraphPad for graph operations"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>diagramSprite</l></list></block><custom-block s="configure %s as a GraphPad width: %n %br height: %n color: %n %n %n"><l>thisSprite</l><l>400</l><l>300</l><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="add %n random vertices to graph on %txt"><l>100</l><l>thisSprite</l></custom-block><custom-block s="add %n random edges to graph on %txt"><l>100</l><l>thisSprite</l></custom-block><block s="doWait"><l>1</l></block><block s="doSetVar"><l>SciSnap!Data</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIfElse"><block s="reportIsA"><l></l><l><option>number</option></l></block><script><block s="doReport"><l></l></block></script><script><block s="doReport"><l>0</l></block></script></block></script><list></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="%s of vector %l"><l>number</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicNotEquals"><list><l></l><l>X</l></list></block></autolambda><list></list></block><l/></block></custom-block></autolambda><list></list></block><block var="adjacencyMatrix"/></block></block></block><block s="doSetVar"><l>diagramSprite</l><custom-block s="create a duplicate of %obj %br with name %txt"><block s="reportGet"><l><option>self</option></l></block><l>DiagramSprite</l></custom-block></block><custom-block s="configure %txt as a PlotPad width: %n %br height: %n color: %n %n %n"><l>DiagramSprite</l><l>400</l><l>300</l><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="set PlotPad labels on %s to %br title: %txt titleheight: %n %br x-label: %txt xLabelheight: %n %br y-label: %txt yLabelheight: %n"><l>DiagramSprite</l><l>Edges per Node</l><l>18</l><l>Number of Edges</l><l>16</l><l>Number of Vertices</l><l>16</l></custom-block><custom-block s="add histogram of %s with %n groups %br pretty formated? %b to PlotPad %txt"><block var="SciSnap!Data"/><l>10</l><l><bool>true</bool></l><l>DiagramSprite</l></custom-block><custom-block s="add axes and scales to PlotPad %txt"><l>DiagramSprite</l></custom-block></script></block-definition><block-definition s="create a duplicate of %&apos;sprite&apos; $nl with name %&apos;spriteName&apos;" type="reporter" category="control" helper="true"><header></header><code></code><translations></translations><inputs><input type="%obj"></input><input type="%txt">spriteName</input></inputs><script><block s="doDeclareVariables"><list><l>existingSprites</l><l>newSprite</l></list></block><block s="doSetVar"><l>existingSprites</l><block s="reportGet"><l><option>other sprites</option></l></block></block><block s="doApplyExtension"><l>SciS_createDuplicate(sprite,spriteName)</l><list><block var="sprite"/><block var="spriteName"/></list></block><block s="doForEach"><l>item</l><block s="reportGet"><l><option>other sprites</option></l></block><script><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><block var="existingSprites"/><block var="item"/></block></block><script><block s="doSetVar"><l>newSprite</l><block var="item"/></block></script><list></list></block></script></block><block s="doReport"><block var="newSprite"/></block></script></block-definition><block-definition s="create a permanent clone of %&apos;sprite&apos; $nl with name %&apos;spriteName&apos;" type="reporter" category="control" helper="true"><header></header><code></code><translations></translations><inputs><input type="%obj"></input><input type="%txt">spriteName</input></inputs><script><block s="doDeclareVariables"><list><l>existingSprites</l><l>newSprite</l></list></block><block s="doSetVar"><l>existingSprites</l><block s="reportGet"><l><option>other sprites</option></l></block></block><block s="doApplyExtension"><l>SciS_createPermanentClone(sprite,spriteName)</l><list><block var="sprite"/><block var="spriteName"/></list></block><block s="doForEach"><l>item</l><block s="reportGet"><l><option>other sprites</option></l></block><script><block s="doIf"><block s="reportNot"><block s="reportListContainsItem"><block var="existingSprites"/><block var="item"/></block></block><script><block s="doSetVar"><l>newSprite</l><block var="item"/></block></script><list></list></block></script></block><block s="doReport"><block var="newSprite"/></block></script></block-definition><block-definition s="import Sprite" type="command" category="control"><comment x="0" y="0" w="203.01093750000027" collapsed="false">Imports a stored sprite from a file.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>ready</l></list></block><block s="doSetVar"><l>ready</l><block s="reportApplyExtension"><l>SciS_importSprite1()</l><list></list></block></block><block s="doWaitUntil"><block s="reportListItem"><l>1</l><block s="evaluate"><block var="ready"/><list></list></block></block></block><block s="doApplyExtension"><l>SciS_importSprite2(data)</l><list><block s="reportListItem"><l>2</l><block s="evaluate"><block var="ready"/><list></list></block></block></list></block></script></block-definition><block-definition s="change SpriteName to %&apos;newName&apos;" type="command" category="control" helper="true"><header></header><code></code><translations></translations><inputs><input type="%txt">new name</input></inputs><script><block s="doApplyExtension"><l>SciS_changeSpritenameTo(newName)</l><list><block var="newName"/></list></block></script></block-definition><block-definition s="import library to category %&apos;category&apos;" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="402.9591145833335" collapsed="false">Imports stored blocks to another palette. All blocks should be from the same category!</comment><header></header><code></code><translations></translations><inputs><input type="%s">Looks</input></inputs><script><block s="doDeclareVariables"><list><l>library</l><l>oldcat</l><l>begin</l><l>end</l><l>ok</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>category</l><custom-block s="lower case %s"><block var="category"/></custom-block></block><block s="doSetVar"><l>ok</l><block s="reportApplyExtension"><l>SciS_importLibrary1(catName)</l><list><block var="category"/></list></block></block><block s="doIf"><block s="reportNot"><block var="ok"/></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: unknown category!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>library</l><custom-block s="read file with filepicker"></custom-block></block><block s="doSetVar"><l>begin</l><block s="reportVariadicSum"><list><custom-block s="index of %txt in %txt"><l>category=</l><block var="library"/></custom-block><l>10</l></list></block></block><block s="doSetVar"><l>end</l><custom-block s="index of %txt in %txt"><l>"</l><custom-block s="substring of %txt from %n to %n"><block var="library"/><block var="begin"/><block s="reportVariadicSum"><list><block var="begin"/><l>50</l></list></block></custom-block></custom-block></block><block s="doSetVar"><l>oldcat</l><custom-block s="substring of %txt from %n to %n"><block var="library"/><block var="begin"/><block s="reportDifference"><block s="reportVariadicSum"><list><block var="begin"/><block var="end"/></list></block><l>2</l></block></custom-block></block><block s="doSetVar"><l>library</l><custom-block s="replace %txt %txt with %txt in %txt"><l>all</l><block s="reportJoinWords"><list><l>"</l><block var="oldcat"/><l>"</l></list></block><block s="reportJoinWords"><list><l>"</l><custom-block s="lower case %s"><block var="category"/></custom-block><l>"</l></list></block><block var="library"/></custom-block></block><block s="doApplyExtension"><l>SciS_importLibrary2(src)</l><list><block var="library"/></list></block></script></block></script></block-definition><block-definition s="configure %&apos;sprite&apos; as a NeuralNetPad width: %&apos;width&apos; $nl height: %&apos;height&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="command" category="8. NNPad for neural networks"><comment x="0" y="0" w="178.33333333333334" collapsed="false">Creates a new  empty costume of the specified size and color ans sets local properties for a NeuralNet.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>costumeWidth</l><l>costumeHeight</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>sprite</l><l>theStage</l></block><block s="doSetVar"><l>costumeWidth</l><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block></block><block s="doSetVar"><l>costumeHeight</l><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="gotoXY"><l>0</l><l>0</l></block><block s="setHeading"><l>90</l></block><block s="show"></block></script><list></list></block><list></list></block><block s="doSetVar"><l>costumeWidth</l><block var="width"/></block><block s="doSetVar"><l>costumeHeight</l><block var="height"/></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myProperties</l></list></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myData</l></list></block><block s="doSetVar"><l>myProperties</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>myData</l><block s="reportNewList"><list></list></block></block><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="costumeWidth"/><block var="costumeHeight"/><block var="r"/><block var="g"/><block var="b"/></list></block></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfConfiguration</l><l>NNPad</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfData</l><l>weights</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>netProperties</l><block s="reportNewList"><list><l>0</l><l>0</l><block var="width"/><block var="height"/></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>edgeProperties</l><block s="reportNewList"><list><l>1</l><l>0</l><l>0</l><l>0</l><block s="reportBoolean"><l><bool>false</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doAddToList"><block s="reportNewList"><list><l>costumeProperties</l><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="r"/><block var="g"/><block var="b"/><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block var="width"/></block><l>2</l></block><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="height"/></block><l>2</l></block></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doAddToList"><block s="reportNewList"><list><l>costumeProperties</l><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block></script></block></script></block></script><scripts><comment x="462.6106770833333" y="113.30555555555554" w="192.5" collapsed="false">costume properties:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;6: left offset for NN position on stage&#xD;7: upper offset for NN position on stage&#xD;&#xD;neural net properties:&#xD;1: number of layers&#xD;2: layer width&#xD;3: width of NN image&#xD;4: height of NN image</comment></scripts></block-definition><block-definition s="is %&apos;sprite&apos; a NNPad?" type="predicate" category="8. NNPad for neural networks"><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><l><option>myself</option></l></block><block s="reifyReporter"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>NNPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><script><block s="doReport"><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>NNPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><block var="sprite"/></block><block s="reifyReporter"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>NNPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script></block></script></block></script></block></script></block-definition><block-definition s="NNPadProperty %&apos;name&apos; of %&apos;sprite&apos;" type="reporter" category="8. NNPad for neural networks"><comment x="0" y="0" w="92.5" collapsed="false">Reads the value of an existing property.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">netProperties<options>typeOfConfiguration&#xD;typeOfData&#xD;costumeProperties&#xD;netProperties</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>h</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a NNPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as NNPad!</l></block></script><list></list></block><block s="doSetVar"><l>result</l><l>not found</l></block><block s="doSetVar"><l>name</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="name"/><l> </l></block></block></block><block s="doSetVar"><l>h</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><block s="reportListItem"><l>1</l><l/></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportListItem"><l>2</l><l/></block></block></script><list></list></block><block s="doReport"><l></l></block></script><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="set NNPadProperty %&apos;name&apos; of %&apos;sprite&apos; to %&apos;value&apos;" type="command" category="8. NNPad for neural networks"><comment x="0" y="0" w="131.66666666666669" collapsed="false">Sets the value of an existing property or inserts it anew.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">netProperties<options>typeOfConfiguration&#xD;typeOfData&#xD;costumeProperties&#xD;netProperties</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>done</l><l>h</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a NNPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as NNPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>name</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="name"/><l> </l></block></block></block><block s="doSetVar"><l>done</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>h</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><block s="reportListItem"><l>1</l><l/></block></list></block><script><block s="doReplaceInList"><l>2</l><l/><block var="value"/></block><block s="doSetVar"><l>done</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="doReport"><l></l></block></script><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block><block s="doIf"><block s="reportNot"><block var="done"/></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doAddToList"><l></l><l/></block></script><list></list></block><list><block s="reportNewList"><list><block var="name"/><block var="value"/></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></list></block></script><list></list></block></script></block></script></block-definition><block-definition s="set NNPad costume properties width: %&apos;width&apos; $nl height: %&apos;height&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; $nl offsets: %&apos;leftOffset&apos; %&apos;upperOffset&apos; on %&apos;sprite&apos;" type="command" category="8. NNPad for neural networks"><comment x="0" y="0" w="214.32706197102902" collapsed="false">a simple way to set some costume attributes:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;6: left offset for NN&#xD;    position on stage&#xD;7: upper offset for NN&#xD;    position on stage</comment><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input><input type="%n">0</input><input type="%n">0</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a NNPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as NNPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><custom-block s="set NNPadProperty %txt of %txt to %s"><l>costumeProperties</l><block var="target"/><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/><block var="leftOffset"/><block var="upperOffset"/></list></block></custom-block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></list></block></block></script><list></list></block><list></list></block></script></block></script></block-definition><block-definition s="set NNPad properties numberOfLayers: %&apos;layers&apos; layerWidth: %&apos;layerWidth&apos; $nl imageWidth: %&apos;netWidth&apos; imageHeight: %&apos;netHeight&apos; on %&apos;sprite&apos;" type="command" category="8. NNPad for neural networks"><comment x="0" y="0" w="196.82706197102902" collapsed="false">a simple way to set some net attributes:&#xD;1: number of layers&#xD;2: layer width&#xD;3: width of NN image&#xD;4: height of NN image</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">3</input><input type="%n">400</input><input type="%n">300</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a NNPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as NNPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><custom-block s="set NNPadProperty %txt of %txt to %s"><l>netProperties</l><block var="target"/><block s="reportNewList"><list><block var="layers"/><block var="layerWidth"/><block var="netWidth"/><block var="netHeight"/></list></block></custom-block></script></block></script></block-definition><block-definition s="NN output of %&apos;n&apos; layer with input %&apos;input&apos; on %&apos;sprite&apos;" type="reporter" category="8. NNPad for neural networks"><comment x="0" y="0" w="173.33333333333334" collapsed="false">Reports the output of the nth layer of a neural network with given input.</comment><header></header><code></code><translations></translations><inputs><input type="%s">last<options>1&#xD;last</options></input><input type="%l"></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a NNPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as NNPad!</l></block></script><list></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="input"/><l>vector</l></custom-block></block><script><block s="doReport"><l>ERROR: wrong data format, numerical input required!</l></block></script><list></list></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><custom-block s="NNPadProperty %txt of %txt"><l>netProperties</l><block var="target"/></custom-block></block><block s="reportListAttribute"><l><option>length</option></l><block var="input"/></block></list></block></block><script><block s="doReport"><l>ERROR: the input should match the net width</l></block></script><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_NNoutput(weights,width,depth,n,input)</l><list><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block s="reportListItem"><l>2</l><custom-block s="NNPadProperty %txt of %txt"><l>netProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>1</l><custom-block s="NNPadProperty %txt of %txt"><l>netProperties</l><block var="target"/></custom-block></block><block var="n"/><block var="input"/></list></block></block></script></block></script></block></script></block-definition><block-definition s="NN add new weights for %&apos;depth&apos; layers of width %&apos;width&apos; on %&apos;sprite&apos;" type="command" category="8. NNPad for neural networks"><comment x="0" y="0" w="146.42857142857167" collapsed="false">Creates a fully connected neural network of perceptrons. Inputs should be connected to layer 1, outputs to last layer.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">3</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>weights</l><l>row</l><l>matrix</l><l>target</l><l>properties</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a NNPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as NNPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><l>myData</l><block s="reportNewList"><list></list></block></list></block><block s="doRepeat"><block var="depth"><comment w="115.85714185714295" collapsed="false">one matrix for each layer</comment></block><script><block s="doSetVar"><l>matrix</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block var="width"/><script><block s="doSetVar"><l>row</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>j</l><l>1</l><block var="width"/><script><block s="doAddToList"><custom-block s="random"></custom-block><block var="row"/></block></script></block><block s="doAddToList"><l>1</l><block var="row"/></block><block s="doAddToList"><block var="row"/><block var="matrix"/></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doAddToList"><l></l><l/></block></script><list></list></block><list><block var="matrix"/><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></list></block></script></block><block s="doSetVar"><l>properties</l><custom-block s="NNPadProperty %txt of %txt"><l>netProperties</l><block var="target"/></custom-block></block><custom-block s="set NNPadProperty %txt of %txt to %s"><l>netProperties</l><block var="target"/><block s="reportNewList"><list><block var="depth"/><block var="width"/><block s="reportListItem"><l>3</l><block var="properties"/></block><block s="reportListItem"><l>4</l><block var="properties"/></block></list></block></custom-block><custom-block s="set NNPadProperty %txt of %txt to %s"><l>typeOfData</l><block var="target"/><l>weights</l></custom-block></script></block></script></block-definition><block-definition s="NN show status with input %&apos;input&apos; on %&apos;sprite&apos;" type="command" category="8. NNPad for neural networks"><comment x="0" y="0" w="133.33333333333334" collapsed="false">Draws the nodes and current status of connections of an NN as new costume.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>depth</l><l>layerOutputs</l><l>netWidth</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a NNPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as NNPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>netWidth</l><block s="reportListItem"><l>2</l><custom-block s="NNPadProperty %txt of %txt"><l>netProperties</l><block var="target"/></custom-block></block></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="netWidth"/><block s="reportListAttribute"><l><option>length</option></l><block var="input"/></block></list></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: input doesn&apos;t match netwidth!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doSetVar"><l>depth</l><block s="reportListItem"><l>1</l><custom-block s="NNPadProperty %txt of %txt"><l>netProperties</l><block var="target"/></custom-block></block></block><block s="doSetVar"><l>layerOutputs</l><block s="reportNewList"><list></list></block></block><block s="doAddToList"><block var="input"/><block var="layerOutputs"/></block><block s="doFor"><l>i</l><l>1</l><block var="depth"/><script><block s="doAddToList"><custom-block s="NN output of %s layer with input %l on %txt"><block var="i"/><block var="input"/><block var="target"/></custom-block><block var="layerOutputs"/></block></script></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_NNshowStatus(cAttributes,nAttributes,weights,outputs,costume,sprite)</l><list><custom-block s="NNPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block><custom-block s="NNPadProperty %txt of %txt"><l>netProperties</l><block var="target"/></custom-block><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block var="layerOutputs"/><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="sprite"/></list></block></list></block></script></block></script></block-definition><block-definition s="teach NN with input %&apos;input&apos; and target output %&apos;output&apos; by back- $nl propagation with learning factor %&apos;eta&apos; on %&apos;sprite&apos;" type="command" category="8. NNPad for neural networks"><comment x="0" y="0" w="154.83333333333331" collapsed="false">A block for teaching a neural net.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input><input type="%n">0.1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>width</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a NNPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as NNPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>width</l><block s="reportListItem"><l>2</l><custom-block s="NNPadProperty %txt of %txt"><l>netProperties</l><block var="target"/></custom-block></block></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block var="width"/><block s="reportListAttribute"><l><option>length</option></l><block var="input"/></block></list></block><block s="reportVariadicEquals"><list><block var="width"/><block s="reportListAttribute"><l><option>length</option></l><block var="output"/></block></list></block></list></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: data don&apos;t match netwidth!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><l>myData</l><block s="reportApplyExtension"><l>SciS_NNteach(weights,width,depth,input,output,eta)</l><list><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block var="width"/><block s="reportListItem"><l>1</l><custom-block s="NNPadProperty %txt of %txt"><l>netProperties</l><block var="target"/></custom-block></block><block var="input"/><block var="output"/><block var="eta"/></list></block></list></block></script></block></script></block></script></block-definition><block-definition s="NN Example 1 on %&apos;sprite&apos;" type="command" category="8. NNPad for neural networks"><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><custom-block s="configure %s as a NeuralNetPad width: %n %br height: %n color: %n %n %n"><block var="sprite"/><l>600</l><l>300</l><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="NN add new weights for %n layers of width %n on %txt"><l>2</l><l>20</l><block var="sprite"/></custom-block><block s="doRepeat"><l>100</l><script><custom-block s="teach NN with input %l and target output %l by back- %br propagation with learning factor %n on %txt"><block s="reportNumbers"><l>1</l><l>20</l></block><block s="reportNewList"><list><l>1</l><l>0</l><l>0</l><l>-1</l><l>0</l><l>0</l><l>0</l><l>1</l><l>0</l><l>0</l><l>0</l><l>0</l><l>0</l><l>1</l><l>-1</l><l>-1</l><l>-1</l><l>0</l><l>0</l><l>0</l></list></block><l>0.1</l><block var="sprite"/></custom-block><custom-block s="NN show status with input %l on %txt"><block s="reportNumbers"><l>1</l><l>20</l></block><block var="sprite"/></custom-block></script></block></script></block-definition><block-definition s="new ( temporary? %&apos;temporary&apos; ) sprite" type="reporter" category="control" helper="true"><comment x="0" y="0" w="165.58447588584482" collapsed="false">creates a temporary or static Sprite.</comment><header></header><code></code><translations></translations><inputs><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>newSprite</l><l>copy</l></list></block><block s="doWarp"><script><block s="doRun"><block s="reportJSFunction"><list></list><l>this.parent.parent.addNewSprite();</l></block><list></list></block><block s="doSetVar"><l>newSprite</l><block s="reportListItem"><l><option>last</option></l><block s="reportGet"><l><option>other sprites</option></l></block></block></block><block s="doIf"><block var="temporary"/><script><block s="doSetVar"><l>copy</l><block s="newClone"><block var="newSprite"/></block></block><block s="doTellTo"><block var="newSprite"/><block s="reifyScript"><script><block s="doApplyExtension"><l>SciS_removeThisSprite()</l><list></list></block></script><list></list></block><list></list></block><block s="doSetVar"><l>newSprite</l><block var="copy"/></block></script><list></list></block><block s="doTellTo"><block var="newSprite"/><block s="reifyScript"><script><block s="gotoXY"><block s="reportRandom"><l>-100</l><l>-50</l></block><block s="reportRandom"><l>100</l><l>150</l></block></block></script><list></list></block><list></list></block><block s="doReport"><block var="newSprite"/></block></script></block></script><scripts><script x="532.0000000000001" y="103.58333333333333"><block s="doApplyExtension"><l>SciS_createNewSprite()</l><list></list></block></script></scripts></block-definition><block-definition s="Example 4: regression line" type="command" category="5. PlotPad for data plots"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>regressionData</l><l>data</l></list></block><block s="doSetVar"><l>data</l><custom-block s="%n random points near a straight x-range %n %n %br gradient %n y-axis-intercept %n range %n"><l>150</l><l>-5</l><l>5</l><l>1</l><l>0</l><l>4</l></custom-block></block><block s="doSetVar"><l>regressionData</l><custom-block s="regression line parameters of %s"><block var="data"/></custom-block></block><custom-block s="configure %txt as a PlotPad width: %n %br height: %n color: %n %n %n"><l>thisSprite</l><l>400</l><l>300</l><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="set PlotPad labels on %s to %br title: %txt titleheight: %n %br x-label: %txt xLabelheight: %n %br y-label: %txt yLabelheight: %n"><l>thisSprite</l><l>Random data with regression line</l><l>18</l><l>x-values</l><l>16</l><l>y-values</l><l>16</l></custom-block><custom-block s="set PlotPad marker properties style: %txt width: %n %br color: %n %n %n connected? %b on %txt"><l>square</l><l>5</l><l>0</l><l>255</l><l>0</l><l><bool>false</bool></l><l>thisSprite</l></custom-block><custom-block s="set PlotPad ranges for x: %n %n y: %n %n %br with border? %b of %n pretty formatted? %b %br on %txt"><l>-5</l><l>5</l><l>-5</l><l>5</l><l><bool>false</bool></l><l>0.1</l><l><bool>true</bool></l><l>thisSprite</l></custom-block><custom-block s="add dataplot of numeric data: %s to PlotPad %txt"><block var="data"/><l>thisSprite</l></custom-block><custom-block s="set PlotPad line properties style: %txt %br width: %n color: %n %n %n on %txt"><l>continuous</l><l>2</l><l>255</l><l>0</l><l>0</l><l>thisSprite</l></custom-block><custom-block s="add graph %s to PlotPad %txt"><block var="regressionData"/><l>thisSprite</l></custom-block><custom-block s="add axes and scales to PlotPad %txt"><l>thisSprite</l></custom-block></script></block-definition><block-definition s="remove this sprite" type="command" category="control"><comment x="0" y="0" w="142.46510416666678" collapsed="false">Removes the calling sprite.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doApplyExtension"><l>SciS_removeThisSprite()</l><list></list></block></script></block-definition><block-definition s="%&apos;choice&apos; %&apos;name&apos; of %&apos;table&apos; $arrowRightOutline number" type="reporter" category="other" helper="true"><comment x="0" y="0" w="272.1666666666668" collapsed="false">Reports the row or column number of the row or column with the name entered, or reports an error message. If the the name is a number You can mark this with a  # (e.g. #123).</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">column<options>column&#xD;row</options></input><input type="%s">name</input><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>firstLine</l><l>data</l><l>i</l><l>n</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>data</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>data</l><block var="table"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="data"/><l>table</l></custom-block></block><script><block s="doReport"><l>ERROR: only tables supported!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><block s="doReport"><l>ERROR: table is empty!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>0</l></list></block><script><block s="doReport"><l>ERROR: table is empty!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>column</l></list></block><script><block s="doSetVar"><l>firstLine</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><block s="doIf"><block s="reportIsA"><block var="name"/><l><option>number</option></l></block><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="name"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="name"/><block s="reportListAttribute"><l><option>length</option></l><block var="firstLine"/></block></list></block></list></block><script><block s="doReport"><block var="name"/></block></script><script><block s="doReport"><l>ERROR: index out of range!</l></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>first</l></list></block><script><block s="doReport"><l>1</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>last</l></list></block><script><block s="doReport"><block s="reportListAttribute"><l><option>length</option></l><block var="firstLine"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportLetter"><l>1</l><block var="name"/></block><l>#</l></list></block><script><block s="doSetVar"><l>name</l><custom-block s="substring of %txt from %n to %n"><block var="name"/><l>2</l><block s="reportTextAttribute"><l><option>length</option></l><block var="name"/></block></custom-block></block></script><list></list></block><block s="doSetVar"><l>n</l><l>0</l></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="n"/><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="firstLine"/></block></list></block></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="i"/><block var="firstLine"/></block><block var="name"/></list></block><script><block s="doSetVar"><l>n</l><block var="i"/></block></script><list></list></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="n"/><l>0</l></list></block><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="name"/></block><l>1</l></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportUnicode"><block var="name"/></block><block s="reportUnicode"><l>A</l></block></list></block><block s="reportVariadicLessThanOrEquals"><list><block s="reportUnicode"><block var="name"/></block><block s="reportUnicode"><l>Z</l></block></list></block></list></block></list></block><script><block s="doSetVar"><l>n</l><block s="reportDifference"><block s="reportUnicode"><block var="name"/></block><l>64</l></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block var="firstLine"/></block></list></block><script><block s="doSetVar"><l>n</l><l>0</l></block></script><list></list></block></script><list></list></block></script><list></list></block><block s="doReport"><block s="reportIfElse"><block s="reportVariadicGreaterThan"><list><block var="n"/><l>0</l></list></block><block var="n"/><l>ERROR: name not found!</l></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>row</l></list></block><script><block s="doIf"><block s="reportIsA"><block var="name"/><l><option>number</option></l></block><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="name"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="name"/><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></list></block></list></block><script><block s="doReport"><block var="name"/></block></script><script><block s="doReport"><l>ERROR: index out of range!</l></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>first</l></list></block><script><block s="doReport"><l>1</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>last</l></list></block><script><block s="doReport"><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportLetter"><l>1</l><block var="name"/></block><l>#</l></list></block><script><block s="doSetVar"><l>name</l><custom-block s="substring of %txt from %n to %n"><block var="name"/><l>2</l><block s="reportTextAttribute"><l><option>length</option></l><block var="name"/></block></custom-block></block></script><list></list></block><block s="doSetVar"><l>n</l><l>0</l></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="n"/><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></list></block></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="i"/><block var="data"/></block></block><block var="name"/></list></block><script><block s="doSetVar"><l>n</l><block var="i"/></block></script><list></list></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block s="reportIfElse"><block s="reportVariadicGreaterThan"><list><block var="n"/><l>0</l></list></block><block var="n"/><l>ERROR: name not found!</l></block></block></script><list></list></block><block s="doReport"><l>ERROR: something wrong!</l></block></script></block></script></block-definition><block-definition s="input dialog on %&apos;sprite&apos; with title %&apos;title&apos; $nl and items %&apos;items&apos;" type="reporter" category="sensing"><comment x="0" y="0" w="140.83333333333334" collapsed="false">Input dialog for a list of items. Click item by mouse and then ok. Returns the selected item.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%txt">title</input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>result</l><l>height</l><l>width</l><l>clickpoint</l><l>ok</l><l>x</l><l>y</l><l>costume</l></list></block><block s="doSetVar"><l>result</l><l>0</l></block><block s="doSetVar"><l>height</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListAttribute"><l><option>length</option></l><block var="items"/></block><l>25</l></list></block><l>70</l></list></block></block><block s="doSetVar"><l>width</l><l>0</l></block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="items"/></block><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block s="reportListItem"><block var="i"/><block var="items"/></block></block><block var="width"/></list></block><script><block s="doSetVar"><l>width</l><block s="reportTextAttribute"><l><option>length</option></l><block s="reportListItem"><block var="i"/><block var="items"/></block></block></block></script><list></list></block></script></block><block s="doSetVar"><l>width</l><block s="reportVariadicProduct"><list><l>9</l><block var="width"/></list></block></block><block s="doSetVar"><l>costume</l><block s="reportGet"><l><option>costume</option></l></block></block><custom-block s="configure %s as an ImagePad width: %n %br height: %n color: %n %n %n"><block var="sprite"/><l>400</l><block var="height"/><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="set ImagePad line properties style: %txt %br width: %n color: %n %n %n %br fill color: %n %n %n on %txt"><l>continuous</l><l>1</l><l>0</l><l>0</l><l>0</l><l>245</l><l>245</l><l>245</l><block var="sprite"/></custom-block><custom-block s="draw text %txt at %n %n height: %n %br horizontal? %b on %txt"><block s="reportJoinWords"><list><block var="title"/><l> (click on it)</l></list></block><l>10</l><l>20</l><l>18</l><l><bool>true</bool></l><block var="sprite"/></custom-block><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="items"/></block><script><custom-block s="draw text %txt at %n %n height: %n %br horizontal? %b on %txt"><block s="reportJoinWords"><list><block var="i"/><l>: </l><block s="reportListItem"><block var="i"/><block var="items"/></block></list></block><l>15</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="i"/><l>25</l></list></block><l>30</l></list></block><l>16</l><l><bool>true</bool></l><block var="sprite"/></custom-block></script></block><custom-block s="draw rectangle from %n %n to %n %n on %txt"><l>25</l><block s="reportDifference"><block var="height"/><l>30</l></block><l>50</l><block s="reportDifference"><block var="height"/><l>5</l></block><block var="sprite"/></custom-block><custom-block s="draw text %txt at %n %n height: %n %br horizontal? %b on %txt"><block var="result"/><l>28</l><block s="reportDifference"><block var="height"/><l>12</l></block><l>18</l><l><bool>true</bool></l><block var="sprite"/></custom-block><custom-block s="draw rectangle from %n %n to %n %n on %txt"><l>70</l><block s="reportDifference"><block var="height"/><l>30</l></block><l>100</l><block s="reportDifference"><block var="height"/><l>5</l></block><block var="sprite"/></custom-block><custom-block s="draw text %txt at %n %n height: %n %br horizontal? %b on %txt"><l>ok</l><l>75</l><block s="reportDifference"><block var="height"/><l>12</l></block><l>18</l><l><bool>true</bool></l><block var="sprite"/></custom-block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doUntil"><block var="ok"/><script><block s="doIf"><block s="reportMouseDown"></block><script><block s="doSetVar"><l>clickpoint</l><custom-block s="%s on %txt by mouse"><l>costume-coordinates</l><block var="sprite"/></custom-block></block><block s="doWarp"><script><block s="doSetVar"><l>x</l><block s="reportListItem"><l>1</l><block var="clickpoint"/></block></block><block s="doSetVar"><l>y</l><block s="reportListItem"><l>2</l><block var="clickpoint"/></block></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="x"/><l>15</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="x"/><block s="reportVariadicSum"><list><block var="width"/><l>35</l></list></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="y"/><l>38</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="y"/><block s="reportDifference"><block var="height"/><l>35</l></block></list></block></list></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportVariadicSum"><list><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block s="reportDifference"><block var="y"/><l>38</l></block><l>25</l></block></block><l>1</l></list></block></block><custom-block s="fill rectangle from %n %n to %n %n on %txt"><l>27</l><block s="reportDifference"><block var="height"/><l>28</l></block><l>48</l><block s="reportDifference"><block var="height"/><l>7</l></block><block var="sprite"/></custom-block><custom-block s="draw text %txt at %n %n height: %n %br horizontal? %b on %txt"><block var="result"/><l>28</l><block s="reportDifference"><block var="height"/><l>12</l></block><l>18</l><l><bool>true</bool></l><block var="sprite"/></custom-block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="x"/><l>70</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="x"/><l>100</l></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="y"/><block s="reportDifference"><block var="height"/><l>30</l></block></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="x"/><block s="reportDifference"><block var="height"/><l>5</l></block></list></block></list></block></list></block><script><block s="doSwitchToCostume"><block var="costume"/></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="result"/><l>0</l></list></block><script><block s="doReport"><block s="reportListItem"><block var="result"/><block var="items"/></block></block></script><script><block s="doReport"><l>ERROR: index out of bounds!</l></block></script></block></script><list></list></block></script></block></script><list></list></block></script></block></script></block-definition><block-definition s="empty table" type="reporter" category="3. Data tools"><comment x="0" y="0" w="114.1666666666667" collapsed="false">Returns an empty table.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block-definition><block-definition s="%&apos;n&apos; x %&apos;m&apos; table initialized with %&apos;value&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="191.6666666666667" collapsed="false">Reports a new table initialized with value.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">3</input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>row</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>row</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><block var="n"/><script><block s="doAddToList"><block var="value"/><block var="row"/></block></script></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><block var="m"/><script><block s="doAddToList"><custom-block s="copy of %l"><block var="row"/></custom-block><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="new %&apos;n&apos; by %&apos;m&apos; table with labels: %&apos;labels&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="172.5" collapsed="false">Reports a table with labeled columns.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">0</input><input type="%mult%s"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>row</l><l>i</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>row</l><block s="reportNewList"><list></list></block></block><block s="doIf"><block s="reportIsA"><block var="labels"/><l><option>list</option></l></block><script><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="n"/></list></block><script><block s="doIfElse"><block s="reportVariadicLessThanOrEquals"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="labels"/></block></list></block><script><block s="doAddToList"><block s="reportListItem"><block var="i"/><block var="labels"/></block><block var="row"/></block></script><script><block s="doAddToList"><l>...</l><block var="row"/></block></script></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doAddToList"><block var="row"/><block var="result"/></block><block s="doSetVar"><l>row</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><block var="n"/><script><block s="doAddToList"><l></l><block var="row"/></block></script></block><block s="doRepeat"><block var="m"/><script><block s="doAddToList"><custom-block s="copy of %l"><block var="row"/></custom-block><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doReport"><l>ERROR: labels required!</l></block></script></block></script></block-definition><block-definition s="copy of %&apos;list&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="198.83333333333326" collapsed="false">Reports the copy of a list or an empty list.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_copyOf(theList)</l><list><block var="list"/></list></block></block></script></block-definition><block-definition s="import %&apos;choice&apos; from $nl %&apos;source&apos; to SciSnap!Data" type="command" category="3. Data tools"><comment x="0" y="0" w="373.6977306547621" collapsed="false">Imports table-CSV-data, costume-data, SQL-data or FITS-data to SciSnap!Data.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">costume-(RGB)-data<options>table-(CSV)-data&#xD;costume-(RGB)-data&#xD;SQL-(query)-data&#xD;FITS-data</options></input><input type="%s">current-costume<options>current-costume&#xD;filepicker&#xD;other-source</options></input></inputs><script><block s="doDeclareVariables"><list><l>header</l><l>imagedata</l><l>h</l><l>min</l><l>max</l><l>w</l><l>h</l><l>copy</l><l>ready</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="source"/><l>filepicker</l></list></block><script><block s="doSetVar"><l>ready</l><block s="reportApplyExtension"><l>SciS_readFileWithFilepicker()</l><list></list></block></block><block s="doWaitUntil"><block s="reportListItem"><l>1</l><block s="evaluate"><block var="ready"/><list></list></block></block></block><block s="doSetVar"><l>source</l><block s="reportListItem"><l>2</l><block s="evaluate"><block var="ready"/><list></list></block></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>FITS-data</l></list></block><script><block s="doIfElse"><block s="reportNot"><block s="reportIsA"><block var="source"/><l><option>text</option></l></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: FITS data have to be text!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doSetVar"><l>imagedata</l><block s="reportApplyExtension"><l>SciS_extractFITSdata(FITSdata)</l><list><block var="source"/></list></block></block><custom-block s="set SciSnap! global variables and properties"></custom-block><block s="doSetVar"><l>SciSnap!Data</l><block s="reportListItem"><l>6</l><block var="imagedata"/></block></block><custom-block s="set SciSnap! global property %s to %s"><l>typeOfData</l><l>FITS</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>width</l><block s="reportListItem"><l>1</l><block var="imagedata"/></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>height</l><block s="reportListItem"><l>2</l><block var="imagedata"/></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>minValue</l><block s="reportListItem"><l>3</l><block var="imagedata"/></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>maxValue</l><block s="reportListItem"><l>4</l><block var="imagedata"/></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><l>1</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>rows</l><block s="reportListAttribute"><l><option>length</option></l><block var="SciSnap!Data"/></block></custom-block><block s="doSetVar"><l>header</l><block s="reportListItem"><l>5</l><block var="imagedata"/></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="header"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="header"/></block></block><l></l></list></block></list></block><script><custom-block s="set SciSnap! global property %s to %s"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="header"/></block></block><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="header"/></block></block></custom-block><block s="doDeleteFromList"><l>1</l><block var="header"/></block></script></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>table-(CSV)-data</l></list></block><script><block s="doIfElse"><block s="reportNot"><block s="reportIsA"><block var="source"/><l><option>list</option></l></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only import from tables!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doSetVar"><l>w</l><custom-block s="SciSnap! global property %s"><l>width</l></custom-block></block><block s="doSetVar"><l>h</l><custom-block s="SciSnap! global property %s"><l>height</l></custom-block></block><custom-block s="set SciSnap! global variables and properties"></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>width</l><block var="w"/></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>height</l><block var="h"/></custom-block><block s="doSetVar"><l>copy</l><custom-block s="copy of %l"><block var="source"/></custom-block></block><block s="doSetVar"><l>SciSnap!Data</l><block s="reportApplyExtension"><l>SciS_importCSVdata(data)</l><list><block var="copy"/></list></block></block><custom-block s="set SciSnap! global property %s to %s"><l>typeOfData</l><l>table</l></custom-block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="SciSnap!Data"/></block><l>0</l></list></block><script><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><l>0</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>rows</l><l>0</l></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>rows</l><block s="reportListAttribute"><l><option>length</option></l><block var="SciSnap!Data"/></block></custom-block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="SciSnap!Data"/></block><l><option>list</option></l></block><script><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="SciSnap!Data"/></block></block></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><l>1</l></custom-block></script></block></script></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicLessThan"><list><custom-block s="SciSnap! global property %s"><l>columns</l></custom-block><l>10</l></list></block><block s="reportVariadicLessThan"><list><custom-block s="SciSnap! global property %s"><l>rows</l></custom-block><l>1000</l></list></block></list></block><script><block s="doSetVar"><l>min</l><custom-block s="%s of vector %l"><l>min</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>1</l><l>SciSnap!Data</l><l><bool>true</bool></l></custom-block></custom-block></block><block s="doSetVar"><l>max</l><custom-block s="%s of vector %l"><l>max</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>1</l><l>SciSnap!Data</l><l><bool>true</bool></l></custom-block></custom-block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><custom-block s="SciSnap! global property %s"><l>columns</l></custom-block><l>1</l></list></block><script><block s="doFor"><l>i</l><l>2</l><custom-block s="SciSnap! global property %s"><l>columns</l></custom-block><script><block s="doSetVar"><l>h</l><custom-block s="%s of vector %l"><l>min</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="i"/><l>SciSnap!Data</l><l><bool>true</bool></l></custom-block></custom-block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="h"/><block var="min"/></list></block><script><block s="doSetVar"><l>min</l><block var="h"/></block></script><list></list></block><block s="doSetVar"><l>h</l><custom-block s="%s of vector %l"><l>max</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="i"/><l>SciSnap!Data</l><l><bool>true</bool></l></custom-block></custom-block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="h"/><block var="max"/></list></block><script><block s="doSetVar"><l>max</l><block var="h"/></block></script><list></list></block></script></block></script><list></list></block><custom-block s="set SciSnap! global property %s to %s"><l>minValue</l><block var="min"/></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>maxValue</l><block var="max"/></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>minValue</l><l>not set</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>maxValue</l><l>not set</l></custom-block></script></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>costume-(RGB)-data</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="source"/><l>current-costume</l></list></block><script><block s="doSetVar"><l>source</l><block s="reportGet"><l><option>costume</option></l></block></block></script><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="source"/><l><option>costume</option></l></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only import from costumes!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block></script></block><block s="doIf"><block s="reportIsA"><block var="source"/><l><option>costume</option></l></block><script><custom-block s="set SciSnap! global variables and properties"></custom-block><block s="doSetVar"><l>SciSnap!Data</l><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="source"/></block></block><custom-block s="set SciSnap! global property %s to %s"><l>typeOfData</l><l>RGB</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>width</l><block s="reportGetImageAttribute"><l><option>width</option></l><block var="source"/></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>height</l><block s="reportGetImageAttribute"><l><option>height</option></l><block var="source"/></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>rows</l><block s="reportListAttribute"><l><option>length</option></l><block var="SciSnap!Data"/></block></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="SciSnap!Data"/></block></block></custom-block><block s="doSetVar"><l>min</l><l></l></block><block s="doSetVar"><l>max</l><l></l></block><block s="doFor"><l>i</l><l>2</l><custom-block s="SciSnap! global property %s"><l>columns</l></custom-block><script><block s="doSetVar"><l>h</l><l></l></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="h"/><block var="min"/></list></block><script><block s="doSetVar"><l>min</l><block var="h"/></block></script><list></list></block><block s="doSetVar"><l>h</l><l></l></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="h"/><block var="max"/></list></block><script><block s="doSetVar"><l>max</l><block var="h"/></block></script><list></list></block></script></block><custom-block s="set SciSnap! global property %s to %s"><l>minValue</l><block var="min"/></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>maxValue</l><block var="max"/></custom-block></script><list></list></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>SQL-(query)-data</l></list></block><script><block s="doSetVar"><l>SciSnap!Data</l><block s="reportNewList"><list></list></block></block><block s="doIfElse"><block s="reportIsA"><block var="source"/><l><option>list</option></l></block><script><block s="doFor"><l>i</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><script><block s="doAddToList"><block s="reportTextSplit"><block s="reportListItem"><block var="i"/><block var="source"/></block><l>,</l></block><block var="SciSnap!Data"/></block></script></block><custom-block s="set SciSnap! global property %s to %s"><l>typeOfData</l><l>table</l></custom-block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="SciSnap!Data"/></block><l>0</l></list></block><script><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><l>0</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>rows</l><l>0</l></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>rows</l><block s="reportListAttribute"><l><option>length</option></l><block var="SciSnap!Data"/></block></custom-block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="SciSnap!Data"/></block><l><option>list</option></l></block><script><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="SciSnap!Data"/></block></block></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><l>1</l></custom-block></script></block></script></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicLessThan"><list><custom-block s="SciSnap! global property %s"><l>columns</l></custom-block><l>10</l></list></block><block s="reportVariadicLessThan"><list><custom-block s="SciSnap! global property %s"><l>rows</l></custom-block><l>1000</l></list></block></list></block><script><block s="doSetVar"><l>min</l><custom-block s="%s of vector %l"><l>min</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>1</l><block var="SciSnap!Data"/><l><bool>true</bool></l></custom-block></custom-block></block><block s="doSetVar"><l>max</l><custom-block s="%s of vector %l"><l>max</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>1</l><block var="SciSnap!Data"/><l><bool>true</bool></l></custom-block></custom-block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><custom-block s="SciSnap! global property %s"><l>columns</l></custom-block><l>1</l></list></block><script><block s="doFor"><l>i</l><l>2</l><custom-block s="SciSnap! global property %s"><l>columns</l></custom-block><script><block s="doSetVar"><l>h</l><custom-block s="%s of vector %l"><l>min</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="i"/><block var="SciSnap!Data"/><l><bool>true</bool></l></custom-block></custom-block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="h"/><block var="min"/></list></block><script><block s="doSetVar"><l>min</l><block var="h"/></block></script><list></list></block><block s="doSetVar"><l>h</l><custom-block s="%s of vector %l"><l>max</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="i"/><block var="SciSnap!Data"/><l><bool>true</bool></l></custom-block></custom-block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="h"/><block var="max"/></list></block><script><block s="doSetVar"><l>max</l><block var="h"/></block></script><list></list></block></script></block></script><list></list></block><custom-block s="set SciSnap! global property %s to %s"><l>minValue</l><block var="min"/></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>maxValue</l><block var="max"/></custom-block></script><script><custom-block s="set SciSnap! global property %s to %s"><l>minValue</l><l>not set</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>maxValue</l><l>not set</l></custom-block></script></block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only import from tables!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block></script><list></list></block></script></block></script></block-definition><block-definition s="read file with filepicker" type="reporter" category="3. Data tools" helper="true"><comment x="0" y="0" w="153.5" collapsed="false">Reads a file using the filepicker.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>ready</l></list></block><block s="doSetVar"><l>ready</l><block s="reportApplyExtension"><l>SciS_readFileWithFilepicker()</l><list></list></block></block><block s="doWaitUntil"><block s="reportListItem"><l>1</l><block s="evaluate"><block var="ready"/><list></list></block></block></block><block s="doReport"><block s="reportListItem"><l>2</l><block s="evaluate"><block var="ready"/><list></list></block></block></block></script></block-definition><block-definition s="write %&apos;data&apos; to CSV-file %&apos;filename&apos;" type="command" category="3. Data tools"><comment x="0" y="0" w="170.1791359325606" collapsed="false">Stores a list in a CSV file.&#xD;JS-code copied from Snap!-code.</comment><header></header><code></code><translations></translations><inputs><input type="%s">SciSnap!Data</input><input type="%txt">filename</input></inputs><script><block s="doDeclareVariables"><list><l>source</l></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doIfElse"><block s="reportNot"><block s="reportIsA"><block var="source"/><l><option>list</option></l></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only lists supported!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doApplyExtension"><l>SciS_writetoCSVfile(data,filename)</l><list><block var="source"/><block var="filename"/></list></block></script></block></script></block-definition><block-definition s="%&apos;n&apos; random points with ranges x: %&apos;xmin&apos; %&apos;xmax&apos; $nl y: %&apos;ymin&apos; %&apos;ymax&apos; inside of a %&apos;shape&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="357.75641025641033" collapsed="false">Reports randomly distributed points in the form of a rectangle, circle, or ring.</comment><header></header><code></code><translations></translations><inputs><input type="%n">100</input><input type="%n">-100</input><input type="%n">100</input><input type="%n">-100</input><input type="%n">100</input><input type="%s" readonly="true">square<options>square&#xD;circle&#xD;ring</options></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>r</l><l>alpha</l><l>d</l><l>x0</l><l>y0</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="shape"/><l>square</l></list></block><script><block s="doRepeat"><block var="n"/><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportRandom"><block var="xmin"/><block var="xmax"/></block><block s="reportRandom"><block var="ymin"/><block var="ymax"/></block></list></block><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="shape"/><l>circle</l></list></block><script><block s="doSetVar"><l>r</l><block s="reportQuotient"><custom-block s="%s of vector %l"><l>min</l><block s="reportNewList"><list><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block var="xmax"/><block var="xmin"/></block></block><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block var="ymax"/><block var="ymin"/></block></block></list></block></custom-block><l>2</l></block></block><block s="doSetVar"><l>x0</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block var="xmin"/><block var="xmax"/></list></block><l>2</l></block></block><block s="doSetVar"><l>y0</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block var="ymin"/><block var="ymax"/></list></block><l>2</l></block></block><block s="doRepeat"><block var="n"/><script><block s="doSetVar"><l>alpha</l><block s="reportVariadicProduct"><list><l>360</l><custom-block s="random"></custom-block></list></block></block><block s="doSetVar"><l>d</l><block s="reportVariadicProduct"><list><block var="r"/><custom-block s="random"></custom-block></list></block></block><block s="doAddToList"><block s="reportNewList"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="d"/><block s="reportMonadic"><l><option>sin</option></l><block var="alpha"/></block></list></block><block var="x0"/></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="d"/><block s="reportMonadic"><l><option>cos</option></l><block var="alpha"/></block></list></block><block var="y0"/></list></block></list></block><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="shape"/><l>ring</l></list></block><script><block s="doSetVar"><l>r</l><block s="reportQuotient"><custom-block s="%s of vector %l"><l>min</l><block s="reportNewList"><list><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block var="xmax"/><block var="xmin"/></block></block><block s="reportMonadic"><l><option>abs</option></l><block s="reportDifference"><block var="ymax"/><block var="ymin"/></block></block></list></block></custom-block><l>2</l></block></block><block s="doSetVar"><l>x0</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block var="xmin"/><block var="xmax"/></list></block><l>2</l></block></block><block s="doSetVar"><l>y0</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block var="ymin"/><block var="ymax"/></list></block><l>2</l></block></block><block s="doRepeat"><block var="n"/><script><block s="doSetVar"><l>alpha</l><block s="reportVariadicProduct"><list><l>360</l><custom-block s="random"></custom-block></list></block></block><block s="doSetVar"><l>d</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="r"/><block s="reportVariadicSum"><list><custom-block s="random"></custom-block><l>2</l></list></block></list></block><l>3</l></block></block><block s="doAddToList"><block s="reportNewList"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="d"/><block s="reportMonadic"><l><option>sin</option></l><block var="alpha"/></block></list></block><block var="x0"/></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="d"/><block s="reportMonadic"><l><option>cos</option></l><block var="alpha"/></block></list></block><block var="y0"/></list></block></list></block><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script><list></list></block></script></block></script></block-definition><block-definition s="%&apos;n&apos; random points near a straight x-range %&apos;xmin&apos; %&apos;xmax&apos; $nl gradient %&apos;m&apos; y-axis-intercept %&apos;b&apos; range %&apos;delta&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="336.55251141552526" collapsed="false">Creates new random data in the specified ranges swaying by a straight.</comment><header></header><code></code><translations></translations><inputs><input type="%n">10</input><input type="%n">-5</input><input type="%n">5</input><input type="%n">1</input><input type="%n">0</input><input type="%n">2</input></inputs><script><block s="doDeclareVariables"><list><l>data</l><l>x</l><l>y</l><l>diff</l><l>i</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>data</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>diff</l><block s="reportDifference"><block var="xmax"/><block var="xmin"/></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="n"/></list></block><script><block s="doSetVar"><l>x</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><custom-block s="random"></custom-block><block var="diff"/></list></block><block var="xmin"/></list></block></block><block s="doSetVar"><l>y</l><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="m"/><block var="x"/></list></block><block s="reportVariadicProduct"><list><block var="delta"/><block s="reportDifference"><custom-block s="random"></custom-block><l>0.5</l></block></list></block></list></block><block var="b"/></list></block></block><block s="doAddToList"><block s="reportNewList"><list><block var="x"/><block var="y"/></list></block><block var="data"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="data"/></block></script></block></script></block-definition><block-definition s="%&apos;n&apos; random points near %&apos;f&apos; $nl between %&apos;xmin&apos; and %&apos;xmax&apos; range %&apos;range&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="217.11538461538473" collapsed="false">Generates a list of points &quot;near&quot; a given graph.</comment><header></header><code></code><translations></translations><inputs><input type="%n">20</input><input type="%repRing"></input><input type="%n">-5</input><input type="%n">5</input><input type="%n">2</input></inputs><script><block s="doDeclareVariables"><list><l>x</l><l>y</l><l>data</l><l>random</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportIsA"><block var="f"/><l><option>reporter</option></l></block><script><block s="doSetVar"><l>data</l><block s="reportNewList"><list></list></block></block><block s="doRepeat"><block var="n"/><script><block s="doSetVar"><l>random</l><custom-block s="random"></custom-block></block><block s="doSetVar"><l>x</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="xmax"/><block var="xmin"/></block><block var="random"/></list></block><block var="xmin"/></list></block></block><block s="doSetVar"><l>y</l><block s="evaluate"><block var="f"/><list><block var="x"/></list></block></block><block s="doSetVar"><l>random</l><custom-block s="random"></custom-block></block><block s="doAddToList"><block s="reportNewList"><list><block var="x"/><block s="reportVariadicSum"><list><block var="y"/><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="random"/><l>0.5</l></block><block var="range"/></list></block></list></block></list></block><block var="data"/></block></script></block><block s="doReport"><block var="data"/></block></script><script><block s="doReport"><l>ERROR: reporter with ring required!</l></block></script></block></script></block></script></block-definition><block-definition s="transpose table or list %&apos;data&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="198.0136986301369" collapsed="false">Creates the transpose of a table or a list.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block></block><script><block s="doReport"><l>ERROR: data are not transposable!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><block s="doReport"><block var="data"/></block></script><list></list></block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="data"/></block><l><option>list</option></l></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>1</l></list></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="value"/></block></block></script><list><l>value</l></list></block><block var="data"/></block></block></script><list></list></block></script><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportNewList"><list><block var="value"/></list></block></block></script><list><l>value</l></list></block><block var="data"/></block></block></script></block><block s="doIf"><custom-block s="is %s a %txt"><block var="data"/><l>table</l></custom-block><script><block s="doReport"><block s="reportListAttribute"><l><option>columns</option></l><block var="data"/></block></block></script><list></list></block><block s="doReport"><l>ERROR: data are not transposable!</l></block></script></block></script></block-definition><block-definition s="add %&apos;choice&apos; %&apos;newContent&apos; to %&apos;table&apos;" type="command" category="3. Data tools"><comment x="0" y="0" w="256.1904761904763" collapsed="false">Adds a row, a column, or  column headers to a table.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">row<options>row&#xD;column&#xD;column-headers</options></input><input type="%l"></input><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>tablewidth</l><l>item</l><l>target</l><l>i</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>target</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>target</l><block var="table"/></block></script></block><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="target"/><l>table</l></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only tables supported!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>row</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="target"/></block><l>0</l></list></block><script><block s="doIfElse"><block s="reportIsA"><block var="newContent"/><l><option>list</option></l></block><script><block s="doAddToList"><block var="newContent"/><block var="target"/></block></script><script><block s="doAddToList"><block s="reportNewList"><list><block var="newContent"/></list></block><block var="target"/></block></script></block></script><script><block s="doSetVar"><l>tablewidth</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="target"/></block></block></block><block s="doIfElse"><block s="reportIsA"><block var="newContent"/><l><option>list</option></l></block><script><block s="doSetVar"><l>item</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="tablewidth"/></list></block><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="newContent"/></block></list></block><script><block s="doAddToList"><l></l><block var="item"/></block></script><script><block s="doAddToList"><block s="reportListItem"><block var="i"/><block var="newContent"/></block><block var="item"/></block></script></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script><script><block s="doSetVar"><l>item</l><block s="reportNewList"><list><block var="newContent"/></list></block></block><block s="doSetVar"><l>i</l><l>2</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="tablewidth"/></list></block><script><block s="doAddToList"><l></l><block var="item"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script></block><block s="doAddToList"><block var="item"/><block var="target"/></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>column</l></list></block><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="newContent"/><l><option>list</option></l></block></block><script><block s="doSetVar"><l>newContent</l><block s="reportNewList"><list><block var="newContent"/></list></block></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="target"/></block><l>0</l></list></block><script><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="newContent"/></block></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><block var="i"/><block var="newContent"/></block></list></block><block var="target"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script><script><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="target"/></block></list></block><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="newContent"/></block></list></block><script><block s="doAddToList"><l></l><block s="reportListItem"><block var="i"/><block var="target"/></block></block></script><script><block s="doAddToList"><block s="reportListItem"><block var="i"/><block var="newContent"/></block><block s="reportListItem"><block var="i"/><block var="target"/></block></block></script></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>column-headers</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="target"/></block><l>0</l></list></block><script><block s="doIfElse"><block s="reportIsA"><block var="newContent"/><l><option>list</option></l></block><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="newContent"/></block><l>0</l></list></block><script><block s="doAddToList"><block var="newContent"/><block var="target"/></block></script><list></list></block></script><script><block s="doAddToList"><block s="reportNewList"><list><block var="newContent"/></list></block><block var="target"/></block></script></block></script><script><block s="doSetVar"><l>tablewidth</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="target"/></block></block></block><block s="doIfElse"><block s="reportIsA"><block var="newContent"/><l><option>list</option></l></block><script><block s="doSetVar"><l>item</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="tablewidth"/></list></block><script><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="newContent"/></block></list></block><script><block s="doAddToList"><l></l><block var="item"/></block></script><script><block s="doAddToList"><block s="reportListItem"><block var="i"/><block var="newContent"/></block><block var="item"/></block></script></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script><script><block s="doSetVar"><l>item</l><block s="reportNewList"><list><block var="newContent"/></list></block></block><block s="doSetVar"><l>i</l><l>2</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="tablewidth"/></list></block><script><block s="doAddToList"><l></l><block var="item"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script></block><block s="doInsertInList"><block var="item"/><l>1</l><block var="target"/></block></script></block></script><list></list></block></script></block></script></block-definition><block-definition s="%&apos;choice&apos; %&apos;name&apos; of %&apos;data&apos; with first item? %&apos;WithFirstItem&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="277.16666666666663" collapsed="false">Reports the row or column of a table identified by number or name, or reports an error message. If the the name is a number You can mark this with a  # (e.g. #123).</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">row<options>row&#xD;column</options></input><input type="%s">numberOrName<options>first&#xD;last&#xD;numberOrName</options></input><input type="%s">SciSnap!Data</input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>table</l><l>result</l><l>n</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>table</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>table</l><block var="data"/></block></script></block><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="table"/><l>table</l></custom-block></block><script><block s="doReport"><l>ERROR: only tables supported!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>row</l></list></block><script><block s="doSetVar"><l>n</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>row</l><block var="name"/><block var="table"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>first</l></list></block><script><block s="doSetVar"><l>n</l><l>1</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>last</l></list></block><script><block s="doSetVar"><l>n</l><block s="reportListAttribute"><l><option>length</option></l><block var="table"/></block></block></script><list></list></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown row name!</l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block var="table"/></block></list></block></list></block><script><block s="doReport"><l>ERROR: row index out of range!</l></block></script><script><block s="doSetVar"><l>result</l><custom-block s="copy of %l"><block s="reportListItem"><block var="n"/><block var="table"/></block></custom-block></block><block s="doIf"><block s="reportNot"><block var="WithFirstItem"/></block><script><block s="doDeleteFromList"><l>1</l><block var="result"/></block></script><list></list></block><block s="doReport"><block var="result"/></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>column</l></list></block><script><block s="doSetVar"><l>n</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="name"/><block var="table"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>first</l></list></block><script><block s="doSetVar"><l>n</l><l>1</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>last</l></list></block><script><block s="doSetVar"><l>n</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="table"/></block></block></block></script><list></list></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown column name!</l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="table"/></block></block></list></block></list></block><script><block s="doReport"><l>ERROR: column index out of range!</l></block></script><script><block s="doSetVar"><l>result</l><block s="reportMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportListItem"><block var="n"/><l/></block></block></script><list></list></block><block var="table"/></block></block><block s="doIf"><block s="reportNot"><block var="WithFirstItem"/></block><script><block s="doDeleteFromList"><l>1</l><block var="result"/></block></script><list></list></block><block s="doReport"><block var="result"/></block></script></block></script><list></list></block><block s="doReport"><l>ERROR: something wrong!</l></block></script></block></script></block-definition><block-definition s="delete %&apos;choice&apos; %&apos;name&apos; of %&apos;data&apos;" type="command" category="3. Data tools"><comment x="0" y="0" w="159.6666666666666" collapsed="false">Deletes a row or column of a table. identified by number or name, or reports an error message. If the the name is a number You can mark this with a  # (e.g. #123).</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">row<options>row&#xD;column</options></input><input type="%s">numberOrName<options>first&#xD;last&#xD;numberOrName</options></input><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>table</l><l>result</l><l>n</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>table</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>table</l><block var="data"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="table"/><l>table</l></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only data in tables are deletable!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>row</l></list></block><script><block s="doSetVar"><l>n</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>row</l><block var="name"/><block var="table"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>first</l></list></block><script><block s="doSetVar"><l>n</l><l>1</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>last</l></list></block><script><block s="doSetVar"><l>n</l><block s="reportListAttribute"><l><option>length</option></l><block var="table"/></block></block></script><list></list></block></script><list></list></block><block s="doIf"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block><script><block s="doDeleteFromList"><block var="n"/><block var="table"/></block></script><list></list></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>column</l></list></block><script><block s="doSetVar"><l>n</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="name"/><block var="table"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>first</l></list></block><script><block s="doSetVar"><l>n</l><l>1</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>last</l></list></block><script><block s="doSetVar"><l>n</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="table"/></block></block></block></script><list></list></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: unknown column name!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="table"/></block></block></list></block></list></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: column index out of range!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="table"/></block></block><l>1</l></list></block><block s="reportVariadicEquals"><list><block var="n"/><l>1</l></list></block></list></block><script><block s="doDeleteFromList"><l><option>all</option></l><block var="table"/></block></script><script><block s="doSetVar"><l>result</l><block s="reportMap"><block s="reifyReporter"><script><block s="doDeleteFromList"><block var="n"/><block var="item"/></block><block s="doReport"><l></l></block></script><list><l>item</l></list></block><block var="table"/></block></block></script></block></script></block></script><list></list></block></script></block></script></block-definition><block-definition s="element %&apos;xName&apos; %&apos;yName&apos; of %&apos;table&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="175.83333333333334" collapsed="false">Reports the element a position x|y of a table, identified by numbers or names.</comment><header></header><code></code><translations></translations><inputs><input type="%s">numberOrName</input><input type="%s">numberOrName</input><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>x</l><l>y</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="table"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block></block><script><block s="doReport"><l>ERROR: only tables supported!</l></block></script><list></list></block><block s="doSetVar"><l>x</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="xName"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="x"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown column name!</l></block></script><list></list></block><block s="doSetVar"><l>y</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>row</l><block var="yName"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="y"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown row name!</l></block></script><list></list></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="y"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="y"/><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="x"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></list></block></list></block></list></block></block><script><block s="doReport"><l>ERROR: coordinates out of range!</l></block></script><script><block s="doReport"><block s="reportListItem"><block var="x"/><block s="reportListItem"><block var="y"/><block var="source"/></block></block></block></script></block></script></block></script></block-definition><block-definition s="set element %&apos;xName&apos; %&apos;yName&apos; of %&apos;table&apos; to %&apos;value&apos;" type="command" category="3. Data tools"><comment x="0" y="0" w="205.83333333333314" collapsed="false">Replaces the value at position x|y of a table.</comment><header></header><code></code><translations></translations><inputs><input type="%s">numberOrName</input><input type="%s">numberOrName</input><input type="%s">SciSnap!Data</input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>x</l><l>y</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="table"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: operation only defined for tables!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>x</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="xName"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="x"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: unknown column name!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>y</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>row</l><block var="yName"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="y"/><l><option>number</option></l></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: unknown row name!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="y"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="y"/><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><l>0</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="x"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></list></block></list></block></list></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: coordinates out of range!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doReplaceInList"><block var="x"/><block s="reportListItem"><block var="y"/><block var="source"/></block><block var="value"/></block></script></block></script></block></script></block-definition><block-definition s="columns %&apos;columns&apos; of %&apos;table&apos; $nl from row %&apos;startnr&apos; to %&apos;endnr&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="118.99999999999933" collapsed="false">Reports the columns from row startnr to row endnr.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%s"></input><input type="%s">SciSnap!Data</input><input type="%s">numberOrName</input><input type="%s">last<options>last&#xD;numberOrName</options></input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>colNumbers</l><l>n</l><l>result</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="table"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block></block><script><block s="doReport"><l>ERROR: only tables supported!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="endnr"/><l>last</l></list></block><script><block s="doSetVar"><l>endnr</l><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></block></script><list></list></block><block s="doSetVar"><l>startnr</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>row</l><block var="startnr"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="startnr"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown row name!</l></block></script><list></list></block><block s="doSetVar"><l>endnr</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>row</l><block var="endnr"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="endnr"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown row name!</l></block></script><list></list></block><block s="doSetVar"><l>colNumbers</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><block var="columns"/><script><block s="doIfElse"><block s="reportIsA"><block var="item"/><l><option>number</option></l></block><script><block s="doAddToList"><block var="item"/><block var="colNumbers"/></block></script><script><block s="doSetVar"><l>n</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="item"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown column name!</l></block></script><list></list></block><block s="doAddToList"><block var="n"/><block var="colNumbers"/></block></script></block></script></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_columncopy(data,cols,start,stop)</l><list><block var="source"/><block var="colNumbers"/><block var="startnr"/><block var="endnr"/></list></block></block></script></block></script></block-definition><block-definition s="subsection of %&apos;choice&apos; in %&apos;data&apos; from $nl %&apos;b1Name&apos; %&apos;b2Name&apos; to %&apos;e1Name&apos; %&apos;e2Name&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="196" collapsed="false">Reports a subsection of an image or table.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">RGB-data<options>table-data&#xD;matrix-data&#xD;list-data&#xD;RGB-data&#xD;FITS-data</options></input><input type="%s">SciSnap!Data</input><input type="%s">numberOrName</input><input type="%s">numberOrName</input><input type="%s">numberOrName</input><input type="%s">numberOrName</input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>width</l><l>height</l><l>begin</l><l>end</l><l>b1</l><l>b2</l><l>e1</l><l>e2</l><l>result</l><l>dummy</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>list-data</l></list></block><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="b1Name"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown start number!</l></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="e1Name"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown end number!</l></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="source"/><l><option>list</option></l></block></block><script><block s="doReport"><l>ERROR: list required</l></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>dummy</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="index"/><block var="b1Name"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="index"/><block var="e1Name"/></list></block></list></block><script><block s="doAddToList"><block var="value"/><block var="result"/></block></script><list></list></block><block s="doReport"><l></l></block></script><list><l>value</l><l>index</l></list></block><block var="source"/></block></block><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="choice"/><l>table-data</l></list></block><block s="reportVariadicEquals"><list><block var="choice"/><l>matrix-data</l></list></block></list></block><script><block s="doIf"><block s="reportNot"><block s="reportVariadicOr"><list><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block></list></block></block><script><block s="doReport"><l>ERROR: table or matrix required</l></block></script><list></list></block><block s="doSetVar"><l>b1</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="b1Name"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="b1"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown column name!</l></block></script><list></list></block><block s="doSetVar"><l>b2</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>row</l><block var="b2Name"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="b2"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown row name!</l></block></script><list></list></block><block s="doSetVar"><l>e1</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="e1Name"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="e1"/><l><option>number</option></l></block></block><script><block s="doReport"><l>XXXERROR: unknown column name!</l></block></script><list></list></block><block s="doSetVar"><l>e2</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>row</l><block var="e2Name"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="e2"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown row name!</l></block></script><list></list></block><block s="doSetVar"><l>begin</l><block s="reportNewList"><list><block var="b1"/><block var="b2"/></list></block></block><block s="doSetVar"><l>end</l><block s="reportNewList"><list><block var="e1"/><block var="e2"/></list></block></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_subsection(data,begin,end)</l><list><block var="source"/><block var="begin"/><block var="end"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="choice"/><l>RGB-data</l></list></block><block s="reportVariadicEquals"><list><block var="choice"/><l>FITS-data</l></list></block></list></block><script><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block></block><script><block s="doReport"><l>ERROR: please import image-data to SciSnap!Data first!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>RGB-data</l></list></block><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><custom-block s="SciSnap! global property %s"><l>typeOfData</l></custom-block><l>RGB</l></list></block><custom-block s="is %s a %txt"><block var="SciSnap!Data"/><l>matrix</l></custom-block></list></block></block><script><block s="doReport"><l>ERROR: wrong data!</l></block></script><list></list></block><block s="doSetVar"><l>width</l><custom-block s="SciSnap! global property %s"><l>width</l></custom-block></block><block s="doSetVar"><l>height</l><custom-block s="SciSnap! global property %s"><l>height</l></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>FITS-data</l></list></block><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><custom-block s="SciSnap! global property %s"><l>typeOfData</l></custom-block><l>FITS</l></list></block><custom-block s="is %s a %txt"><block var="SciSnap!Data"/><l>vector</l></custom-block></list></block></block><script><block s="doReport"><l>ERROR: wrong data!</l></block></script><list></list></block><block s="doSetVar"><l>width</l><custom-block s="SciSnap! global property %s"><l>width</l></custom-block></block><block s="doSetVar"><l>height</l><custom-block s="SciSnap! global property %s"><l>height</l></custom-block></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="source"/><l><option>list</option></l></block></block><script><block s="doReport"><l>ERROR: list required</l></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="b1Name"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown start number!</l></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="b2Name"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown start number!</l></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="e1Name"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown end number!</l></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="e2Name"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown end number!</l></block></script><list></list></block><block s="doSetVar"><l>begin</l><block s="reportNewList"><list><block var="b1Name"/><block var="b2Name"/></list></block></block><block s="doSetVar"><l>end</l><block s="reportNewList"><list><block var="e1Name"/><block var="e2Name"/></list></block></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_subsectionImage(data,begin,end,width,height)</l><list><block var="source"/><block var="begin"/><block var="end"/><block var="width"/><block var="height"/></list></block></block></script><list></list></block></script></block></script></block-definition><block-definition s="select rows of %&apos;table&apos; where $nl column %&apos;name&apos; is %&apos;op&apos; %&apos;value&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="138.33333333333334" collapsed="false">Determines the rows of a table with certain properties.</comment><header></header><code></code><translations></translations><inputs><input type="%s">SciSnap!Data</input><input type="%s">numberOrName</input><input type="%s" readonly="true">less-than<options>less-than&#xD;greater-than&#xD;equal-to&#xD;different-from</options></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>n</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><custom-block s="copy of %l"><block var="SciSnap!Data"/></custom-block></block></script><script><block s="doSetVar"><l>source</l><custom-block s="copy of %l"><block var="table"/></custom-block></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block></block><script><block s="doReport"><l>ERROR: only tables supported!</l></block></script><list></list></block><block s="doSetVar"><l>n</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="name"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown column name!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></list></block></list></block><script><block s="doReport"><l>ERROR: column index out of range!</l></block></script><list></list></block><block s="doSetVar"><l>op</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="op"/><l><option>whitespace</option></l></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>less-than</l></list></block><script><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><block s="reportListItem"><block var="n"/><l/></block><block var="value"/></list></block></autolambda><list></list></block><block var="source"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>greater-than</l></list></block><script><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><block var="n"/><l/></block><block var="value"/></list></block></autolambda><list></list></block><block var="source"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>equal-to</l></list></block><script><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="n"/><l/></block><block var="value"/></list></block></autolambda><list></list></block><block var="source"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>different-from</l></list></block><script><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="n"/><l/></block><block var="value"/></list></block></block></autolambda><list></list></block><block var="source"/></block></block></script><list></list></block></script></block></script></block-definition><block-definition s="count values in %&apos;data&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="220" collapsed="false">counts the appearances of the values of a list.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>sortedData</l><l>countedValues</l><l>value</l><l>n</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportVariadicNotEquals"><list><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>list</option></l></block></autolambda><list></list></block><block s="reportNewList"><list><l>A</l><l>B</l><l>C</l></list></block></block><l></l></list></block><script><block s="doReport"><l>ERROR: simple list required!</l></block></script><list></list></block><block s="doSetVar"><l>sortedData</l><custom-block s="sort %l with predicate %predRing"><block var="data"/><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block></custom-block></block><block s="doSetVar"><l>countedValues</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>value</l><block s="reportListItem"><l>1</l><block var="sortedData"/></block></block><block s="doSetVar"><l>n</l><l>0</l></block><block s="doForEach"><l>item</l><block var="sortedData"/><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="item"/><block var="value"/></list></block><script><block s="doChangeVar"><l>n</l><l>1</l></block></script><script><block s="doAddToList"><block s="reportNewList"><list><block var="value"/><block var="n"/></list></block><block var="countedValues"/></block><block s="doSetVar"><l>value</l><block var="item"/></block><block s="doSetVar"><l>n</l><l>1</l></block></script></block></script></block><block s="doAddToList"><block s="reportNewList"><list><block var="value"/><block var="n"/></list></block><block var="countedValues"/></block><block s="doReport"><block var="countedValues"/></block></script></block></script></block-definition><block-definition s="entropy of %&apos;data&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="168" collapsed="false">returns the entropy of a list of data</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><l>0</l></block><block s="doForEach"><l>item</l><custom-block s="count values in %l"><block var="data"/></custom-block><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><l>2</l><block var="item"/></block><l>0</l></list></block><script><block s="doChangeVar"><l>result</l><block s="reportMonadic"><l><option>neg</option></l><block s="reportVariadicProduct"><list><block s="reportQuotient"><block s="reportListItem"><l>2</l><block var="item"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block><block s="reportMonadic"><l><option>ln</option></l><block s="reportQuotient"><block s="reportListItem"><l>2</l><block var="item"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></block></list></block></block></block></script><list></list></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="%&apos;data&apos; without duplicates" type="reporter" category="3. Data tools"><comment x="0" y="0" w="222.33333333333348" collapsed="false">Copy of corresponding Snap!-library-block: &#xD;Reports a new list whose items are the same as in the input list, except that if two or more equal items appear in the input list, only the last one is kept in the result.</comment><header></header><code></code><translations></translations><inputs><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>source</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicOr"><list><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block><block s="reportIsA"><block var="source"/><l><option>list</option></l></block></list></block></block><script><block s="doReport"><l>ERROR: only tables supported!</l></block></script><script><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportListIndex"><block var="value"/><block var="list"/></block><block var="index"/></list></block></autolambda><list><l>value</l><l>index</l><l>list</l></list></block><block var="source"/></block></block></script></block></script></block></script></block-definition><block-definition s="%&apos;data&apos; normalized by %&apos;choice&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="142.5" collapsed="false">Normalizes a table by dividing it by the specified value.</comment><header></header><code></code><translations></translations><inputs><input type="%s">SciSnap!Data</input><input type="%s">mean<options>mean&#xD;max&#xD;number&#xD;sum&#xD;median&#xD;softmax</options></input></inputs><script><block s="doDeclareVariables"><list><l>divisor</l><l>source</l><l>n</l><l>sum</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doIfElse"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>vector</l></custom-block></block><script><block s="doReport"><l>ERROR: only vectors supported!</l></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="choice"/><l>mean</l></list></block><script><block s="doSetVar"><l>divisor</l><custom-block s="%s of vector %l"><l>mean</l><block var="source"/></custom-block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="choice"/><l>max</l></list></block><script><block s="doSetVar"><l>divisor</l><custom-block s="%s of vector %l"><l>max</l><block var="source"/></custom-block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="choice"/><l>number</l></list></block><script><block s="doSetVar"><l>divisor</l><custom-block s="%s of vector %l"><l>number</l><block var="source"/></custom-block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="choice"/><l>sum</l></list></block><script><block s="doSetVar"><l>divisor</l><custom-block s="%s of vector %l"><l>sum</l><block var="source"/></custom-block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="choice"/><l>median</l></list></block><script><block s="doSetVar"><l>divisor</l><custom-block s="%s of vector %l"><l>median</l><block var="source"/></custom-block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="choice"/><l>softmax</l></list></block><script><block s="doReport"><custom-block s="%s of vector %l"><l>softmax</l><block var="source"/></custom-block></block></script><script><block s="doIfElse"><block s="reportIsA"><block var="choice"/><l><option>number</option></l></block><script><block s="doSetVar"><l>divisor</l><block var="choice"/></block></script><script><block s="doReport"><l>ERROR: illegal operation!</l></block></script></block></script></block></script></block></script></block></script></block></script></block></script></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="divisor"/><l>0</l></list></block></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportQuotient"><l></l><block var="divisor"/></block></autolambda><list></list></block><block var="source"/></block></block></script><script><block s="doReport"><l>ERROR: divisor is 0!</l></block></script></block></script></block></script></block></script></block-definition><block-definition s="%&apos;data&apos; compressed with $nl factor %&apos;n&apos; by averaging" type="reporter" category="3. Data tools"><comment x="0" y="0" w="137.85714285714297" collapsed="false">Reports a compressed version of a vector or matrix.</comment><header></header><code></code><translations></translations><inputs><input type="%s">SciSnap!Data</input><input type="%n">2</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>h</l><l>source</l><l>i</l><l>j</l><l>isMatrix</l><l>columnNr</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doSetVar"><l>isMatrix</l><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportVariadicOr"><list><custom-block s="is %s a %txt"><block var="source"/><l>vector</l></custom-block><block var="isMatrix"/></list></block></block><script><block s="doReport"><l>ERROR: vector required!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block></list></block><script><block s="doReport"><l>ERROR: impossible operation!</l></block></script><list></list></block><block s="doIf"><block s="reportNot"><block var="isMatrix"/></block><script><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="source"/></block><l><option>list</option></l></block><script><block s="doSetVar"><l>source</l><custom-block s="transpose table or list %l"><block var="source"/></custom-block></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportVariadicSum"><list><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><block var="n"/></block><l>1</l></list></block></list></block><script><block s="doSetVar"><l>h</l><block s="reportListItem"><block var="i"/><block var="source"/></block></block><block s="doSetVar"><l>j</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThanOrEquals"><list><block var="j"/><block var="n"/></list></block><script><block s="doSetVar"><l>h</l><block s="reportVariadicSum"><list><block var="h"/><block s="reportListItem"><block s="reportVariadicSum"><list><block var="i"/><block var="j"/></list></block><block var="source"/></block></list></block></block><block s="doChangeVar"><l>j</l><l>1</l></block></script></block><block s="doAddToList"><block s="reportQuotient"><block var="h"/><block var="n"/></block><block var="result"/></block><block s="doChangeVar"><l>i</l><block var="n"/></block></script></block><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doSetVar"><l>result</l><custom-block s="empty table"></custom-block></block><block s="doSetVar"><l>columnNr</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="columnNr"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></list></block><script><custom-block s="add %s %l to %s"><l>column</l><custom-block s="%s compressed with %br factor %n by averaging"><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="columnNr"/><block var="source"/><l><bool>true</bool></l></custom-block><block var="n"/></custom-block><block var="result"/></custom-block><block s="doChangeVar"><l>columnNr</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="%&apos;typeOfPooling&apos; pooling of %&apos;data&apos; $nl with stride %&apos;stride&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="141" collapsed="false">Pooling operation with matrices, images and vectors.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">max<options>max&#xD;mean</options></input><input type="%s">SciSnap!Data</input><input type="%n">2</input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>typeOfData</l><l>width</l><l>height</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block><block s="doSetVar"><l>typeOfData</l><custom-block s="SciSnap! global property %s"><l>typeOfData</l></custom-block></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block><block s="doIfElse"><custom-block s="is %s a %txt"><block var="source"/><l>vector</l></custom-block><script><block s="doSetVar"><l>typeOfData</l><l>vector</l></block></script><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block><script><block s="doSetVar"><l>typeOfData</l><l>matrix</l></block></script><script><block s="doReport"><l>ERROR: only defined for matrices, images, and vectors!</l></block></script></block></script></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="stride"/><l>1</l></list></block><script><block s="doReport"><l>ERROR: stride is too small!</l></block></script><list></list></block><block s="doSetVar"><l>typeOfPooling</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="typeOfPooling"/><l> </l></block></block></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="typeOfData"/><l>matrix</l></list></block><block s="reportVariadicEquals"><list><block var="typeOfData"/><l>vector</l></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="typeOfData"/><l>FITS</l></list></block><block s="reportVariadicEquals"><list><block var="typeOfData"/><l>RGB</l></list></block></list></block></list></block></block><script><block s="doReport"><l>ERROR: only defined for images, tables, and lists!</l></block></script><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="typeOfData"/><l>vector</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>0</l></list></block><script><block s="doReport"><l>ERROR: no data found!</l></block></script><script><block s="doSetVar"><l>width</l><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></block><block s="doSetVar"><l>height</l><l>1</l></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="typeOfData"/><l>matrix</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>0</l></list></block><script><block s="doReport"><l>ERROR: no data found!</l></block></script><script><block s="doSetVar"><l>width</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></block><block s="doSetVar"><l>height</l><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="typeOfData"/><l>FITS</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>0</l></list></block><script><block s="doReport"><l>ERROR: no data found!</l></block></script><script><block s="doSetVar"><l>width</l><l>1</l></block><block s="doSetVar"><l>height</l><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="typeOfData"/><l>RGB</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>0</l></list></block><script><block s="doReport"><l>ERROR: no data found!</l></block></script><script><block s="doSetVar"><l>width</l><custom-block s="SciSnap! global property %s"><l>width</l></custom-block></block><block s="doSetVar"><l>height</l><custom-block s="SciSnap! global property %s"><l>height</l></custom-block></block></script></block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_pooling(data,width,height,typeOfPooling,stride,typeOfData)</l><list><block var="source"/><block var="width"/><block var="height"/><block var="typeOfPooling"/><block var="stride"/><block var="typeOfData"/></list></block></block></script></block></script></block></script></block-definition><block-definition s="sort %&apos;data&apos; with predicate %&apos;fn&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="107.5" collapsed="false">Reports a sorted list.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%predRing"></input></inputs><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="data"/><l><option>list</option></l></block><block s="reportIsA"><block var="fn"/><l><option>predicate</option></l></block></list></block><script><block s="doReport"><block s="reportApplyExtension"><l>lst_sort(list, fn)</l><list><block var="data"/><block var="fn"/></list></block></block></script><script><block s="doReport"><l>ERROR: list and predicate required!</l></block></script></block></script></block-definition><block-definition s="%&apos;table&apos; sorted by column %&apos;name&apos; $nl ascending %&apos;ascending&apos; considering headline? %&apos;withHeadline&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="101.66666666666667" collapsed="false">Sorts a list or table.</comment><header></header><code></code><translations></translations><inputs><input type="%s">SciSnap!Data</input><input type="%s">numberOrName</input><input type="%b">true</input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>result</l><l>headline</l><l>n</l><l>isTable</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="table"/></block></script></block><block s="doSetVar"><l>isTable</l><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportVariadicOr"><list><block var="isTable"/><block s="reportIsA"><block var="source"/><l><option>list</option></l></block></list></block></block><script><block s="doReport"><l>ERROR: only tables and lists supported!</l></block></script><list></list></block><block s="doIfElse"><block var="isTable"/><script><block s="doSetVar"><l>n</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="name"/><block var="source"/></custom-block></block></script><script><block s="doSetVar"><l>n</l><l>1</l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown column name!</l></block></script><list></list></block><block s="doSetVar"><l>result</l><custom-block s="copy of %l"><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block var="withHeadline"/></block><script><block s="doSetVar"><l>headline</l><block s="reportListItem"><l>1</l><block var="result"/></block></block><block s="doDeleteFromList"><l>1</l><block var="result"/></block></script><list></list></block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="result"/></block><l><option>list</option></l></block><script><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="result"/></block></block></list></block></list></block><script><block s="doReport"><l>ERROR: index out of range!</l></block></script><list></list></block><block s="doIfElse"><block var="ascending"/><script><block s="doSetVar"><l>result</l><block s="evaluate"><block s="reifyReporter"><autolambda><custom-block s="sort %l with predicate %predRing"><block var="result"/><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><block s="reportListItem"><block var="column"/><l/></block><block s="reportListItem"><block var="column"/><l/></block></list></block></autolambda><list></list></block></custom-block></autolambda><list><l>column</l></list></block><list><block var="n"/></list></block></block></script><script><block s="doSetVar"><l>result</l><block s="evaluate"><block s="reifyReporter"><autolambda><custom-block s="sort %l with predicate %predRing"><block var="result"/><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><block s="reportListItem"><block var="column"/><l/></block><block s="reportListItem"><block var="column"/><l/></block></list></block></autolambda><list></list></block></custom-block></autolambda><list><l>column</l></list></block><list><block var="n"/></list></block></block></script></block></script><script><block s="doIfElse"><block var="ascending"/><script><block s="doSetVar"><l>result</l><block s="evaluate"><block s="reifyReporter"><autolambda><custom-block s="sort %l with predicate %predRing"><block var="result"/><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block></custom-block></autolambda><list><l>column</l></list></block><list><block var="n"/></list></block></block></script><script><block s="doSetVar"><l>result</l><block s="evaluate"><block s="reifyReporter"><autolambda><custom-block s="sort %l with predicate %predRing"><block var="result"/><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><l></l><l></l></list></block></autolambda><list></list></block></custom-block></autolambda><list><l>column</l></list></block><list><block var="n"/></list></block></block></script></block></script></block><block s="doIf"><block s="reportNot"><block var="withHeadline"/></block><script><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="result"/></block><l><option>list</option></l></block><script><custom-block s="add %s %l to %s"><l>column-headers</l><block var="headline"/><block var="result"/></custom-block></script><script><block s="doInsertInList"><block var="headline"/><l>1</l><block var="result"/></block></script></block></script><list></list></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="%&apos;choice&apos; of column %&apos;kName&apos; of %&apos;table&apos; $nl grouped by column %&apos;name&apos; considering headline? %&apos;withHeadline&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="201.66666666666666" collapsed="false">Determines a group of properties of a table.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">mean<options>min&#xD;max&#xD;number&#xD;sum&#xD;mean</options></input><input type="%s">numberOrName</input><input type="%s">SciSnap!Data</input><input type="%s">numberOrName</input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>copy</l><l>source</l><l>groupcolumn</l><l>valuecolumn</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="table"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block></block><script><block s="doReport"><l>ERROR: only tables supported!</l></block></script><list></list></block><block s="doSetVar"><l>groupcolumn</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="name"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="groupcolumn"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown column name!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="groupcolumn"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="groupcolumn"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></list></block></list></block><script><block s="doReport"><l>ERROR: column index out of range!</l></block></script><list></list></block><block s="doSetVar"><l>valuecolumn</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="kName"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="valuecolumn"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown column name!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="valuecolumn"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="valuecolumn"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></list></block></list></block><script><block s="doReport"><l>ERROR: column index out of range!</l></block></script><list></list></block><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doSetVar"><l>copy</l><block s="evaluate"><block s="reifyReporter"><autolambda><custom-block s="%s sorted by column %s %br ascending %b considering headline? %b"><block var="source"/><block var="column"/><l><bool>true</bool></l><block var="withHeadline"/></custom-block></autolambda><list><l>column</l></list></block><list><block var="groupcolumn"/></list></block></block><block s="doIf"><block s="reportNot"><block var="withHeadline"/></block><script><block s="doDeleteFromList"><l>1</l><block var="copy"/></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="copy"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_groupeddata(aTable,compaircolumn,operation,groupcolumn)</l><list><block var="copy"/><block var="valuecolumn"/><block var="choice"/><block var="groupcolumn"/></list></block></block></script></block></script></block-definition><block-definition s="%&apos;choice&apos; of column %&apos;xName&apos; and %&apos;yName&apos; $nl of %&apos;table&apos; considering headline? %&apos;withHeadline&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="199.4230769230769" collapsed="false">Calculates the ranges, the covariance or the correlation between two columns of a table.&#xD;</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">ranges<options>ranges&#xD;covariance&#xD;correlation</options></input><input type="%s">numberOrName</input><input type="%s">numberOrName</input><input type="%s">SciSnap!Data</input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>copy</l><l>n</l><l>m</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="table"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="table"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>table</l></custom-block></block><script><block s="doReport"><l>ERROR: only tables supported!</l></block></script><list></list></block><block s="doSetVar"><l>n</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="xName"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="n"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown column name!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></list></block></list></block><script><block s="doReport"><l>ERROR: column index out of range!</l></block></script><list></list></block><block s="doSetVar"><l>m</l><custom-block s="%s %s of %s $arrowRightOutline number"><l>column</l><block var="yName"/><block var="source"/></custom-block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="m"/><l><option>number</option></l></block></block><script><block s="doReport"><l>ERROR: unknown column name!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="m"/><l>1</l></list></block><block s="reportVariadicGreaterThan"><list><block var="m"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></list></block></list></block><script><block s="doReport"><l>ERROR: column index out of range!</l></block></script><list></list></block><block s="doSetVar"><l>copy</l><custom-block s="copy of %l"><block var="source"/></custom-block></block><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doIf"><block s="reportNot"><block var="withHeadline"/></block><script><block s="doDeleteFromList"><l>1</l><block var="copy"/></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="copy"/></block><l>1</l></list></block><script><block s="doReport"><l>ERROR: bad data!</l></block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_propertiesoftable(selection,table,x,y)</l><list><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block><block var="copy"/><block var="n"/><block var="m"/></list></block></block></script></block></script></block-definition><block-definition s="regression line parameters of %&apos;data&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="220.66666666666674" collapsed="false">Calculates the parameters of a regression line.</comment><header></header><code></code><translations></translations><inputs><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>meanX</l><l>meanY</l><l>denominator</l><l>numerator</l><l>m</l><l>b</l><l>source</l><l>sumX</l><l>sumY</l><l>dummy</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doIfElse"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block></block><script><block s="doReport"><l>ERROR: matrix required!</l></block></script><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block><l>2</l></list></block></list></block></block><script><block s="doReport"><l>ERROR: wrong data format!</l></block></script><list></list></block></script></block><block s="doSetVar"><l>sumX</l><l>0</l></block><block s="doSetVar"><l>sumY</l><l>0</l></block><block s="doSetVar"><l>numerator</l><l>0</l></block><block s="doSetVar"><l>denominator</l><l>0</l></block><block s="doSetVar"><l>dummy</l><block s="reportMap"><block s="reifyReporter"><script><block s="doChangeVar"><l>sumX</l><block s="reportListItem"><l>1</l><l/></block></block><block s="doChangeVar"><l>sumY</l><block s="reportListItem"><l>2</l><l/></block></block><block s="doReport"><l></l></block></script><list></list></block><block var="source"/></block></block><block s="doSetVar"><l>meanX</l><block s="reportQuotient"><block var="sumX"/><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></block></block><block s="doSetVar"><l>meanY</l><block s="reportQuotient"><block var="sumY"/><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></block></block><block s="doSetVar"><l>dummy</l><block s="reportMap"><block s="reifyReporter"><script><block s="doChangeVar"><l>numerator</l><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>1</l><l/></block><block var="meanX"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><l/></block><block var="meanY"/></block></list></block></block><block s="doChangeVar"><l>denominator</l><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>1</l><l/></block><block var="meanX"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><l/></block><block var="meanX"/></block></list></block></block><block s="doReport"><l></l></block></script><list></list></block><block var="source"/></block></block><block s="doSetVar"><l>m</l><block s="reportQuotient"><block var="numerator"/><block var="denominator"/></block></block><block s="doSetVar"><l>b</l><block s="reportDifference"><block var="meanY"/><block s="reportVariadicProduct"><list><block var="m"/><block var="meanX"/></list></block></block></block><block s="doReport"><block s="reportNewList"><list><block var="m"/><block var="b"/></list></block></block></script></block></script></block-definition><block-definition s="%&apos;k&apos; next neighbors of %&apos;point&apos; $nl in %&apos;data&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="229.00000000000003" collapsed="false">Determines the next k neighbours of a point in data. The class of the point has to be in column 3.</comment><header></header><code></code><translations></translations><inputs><input type="%n">5</input><input type="%l"></input><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>neighbors</l><l>points</l><l>result</l><l>dummy</l><l>x1</l><l>y1</l><l>x2</l><l>y2</l><l>class</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>points</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>points</l><block var="data"/></block></script></block><block s="doIfElse"><block s="reportNot"><custom-block s="is %s a %txt"><block var="points"/><l>table</l></custom-block></block><script><block s="doReport"><l>ERROR: table requested!</l></block></script><script><block s="doIfElse"><block s="reportNot"><custom-block s="is %s a %txt"><block var="point"/><l>vector</l></custom-block></block><script><block s="doReport"><l>ERROR: vector requested!</l></block></script><script><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="k"/><l>2</l></list></block><script><block s="doReport"><l>ERROR: number of neighbors too small!</l></block></script><script><block s="doSetVar"><l>neighbors</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>x1</l><block s="reportListItem"><l>1</l><block var="point"/></block></block><block s="doSetVar"><l>y1</l><block s="reportListItem"><l>2</l><block var="point"/></block></block><block s="doSetVar"><l>dummy</l><block s="reportMap"><block s="reifyReporter"><script><block s="doSetVar"><l>x2</l><block s="reportListItem"><l>1</l><block var="point2"/></block></block><block s="doSetVar"><l>y2</l><block s="reportListItem"><l>2</l><block var="point2"/></block></block><block s="doSetVar"><l>class</l><block s="reportListItem"><l><option>last</option></l><block var="point2"/></block></block><block s="doAddToList"><block s="reportNewList"><list><block var="x2"/><block var="y2"/><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="x1"/><block var="x2"/></block><block s="reportDifference"><block var="x1"/><block var="x2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="y1"/><block var="y2"/></block><block s="reportDifference"><block var="y1"/><block var="y2"/></block></list></block></list></block></block><block var="class"/></list></block><block var="neighbors"/></block><block s="doReport"><l></l></block></script><list><l>point2</l></list></block><block var="points"/></block></block><block s="doSetVar"><l>neighbors</l><custom-block s="%s sorted by column %s %br ascending %b considering headline? %b"><block var="neighbors"/><l>3</l><l><bool>true</bool></l><l><bool>true</bool></l></custom-block></block><block s="doReport"><custom-block s="subsection of %s in %s from %br %s %s to %s %s"><l>table-data</l><block var="neighbors"/><l>1</l><l>1</l><l>4</l><block var="k"/></custom-block></block></script></block></script></block></script></block></script></block></script></block-definition><block-definition s="convolution kernel %&apos;kernel&apos; applied $nl to %&apos;typeOfData&apos; %&apos;data&apos; width %&apos;width&apos; height %&apos;height&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="107.33333333333348" collapsed="false">Applies a convolution to a table with FITS, RGB, or table values.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s" readonly="true">table<options>image&#xD;table</options></input><input type="%s">SciSnap!Data</input><input type="%n">100</input><input type="%n">100</input></inputs><script><block s="doDeclareVariables"><list><l>w</l><l>h</l><l>t</l><l>m</l><l>source</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="data"/><l>matrix</l></custom-block><script><block s="doSetVar"><l>source</l><block var="data"/></block></script><script><block s="doReport"><l>ERROR: wrong data type!</l></block></script></block></script></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="source"/><l><option>list</option></l></block><custom-block s="is %s a %txt"><block var="kernel"/><l>matrix</l></custom-block></list></block></block><script><block s="doReport"><l>ERROR: wrong data format!</l></block></script><script><block s="doSetVar"><l>h</l><block s="reportListAttribute"><l><option>length</option></l><block var="kernel"/></block></block><block s="doSetVar"><l>w</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="kernel"/></block></block></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportNot"><block s="reportVariadicEquals"><list><block var="w"/><block var="h"/></list></block></block><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportVariadicProduct"><list><l>2</l><block s="reportRound"><block s="reportQuotient"><block var="w"/><l>2</l></block></block></list></block><block var="w"/></list></block><block s="reportVariadicEquals"><list><block s="reportVariadicProduct"><list><l>2</l><block s="reportRound"><block s="reportQuotient"><block var="h"/><l>2</l></block></block></list></block><block var="h"/></list></block></list></block></list></block><script><block s="doReport"><l>ERROR: wrong kernel!</l></block></script><script><block s="doSetVar"><l>typeOfData</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="typeOfData"/><l> </l></block></block></block><block s="doSetVar"><l>m</l><block s="reportRound"><block s="reportQuotient"><block var="w"/><l>2</l></block></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="typeOfData"/><l>image</l></list></block><script><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="source"/></block><l><option>number</option></l></block><script><block s="doSetVar"><l>t</l><l>FITS</l></block></script><script><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="source"/></block><l><option>list</option></l></block><script><block s="doSetVar"><l>t</l><l>RGB</l></block></script><script><block s="doReport"><l>ERROR wrong data format!</l></block></script></block></script></block></script><script><block s="doSetVar"><l>t</l><l>table</l></block><block s="doSetVar"><l>width</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></block><block s="doSetVar"><l>height</l><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block></block></script></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_convolution(kernel,data,width,height,typeOfData,mIndex,kWidth)</l><list><block var="kernel"/><block var="source"/><block var="width"/><block var="height"/><block var="t"/><block var="m"/><block var="w"/></list></block></block></script></block></script></block></script></block></script></block-definition><block-definition s="%&apos;k&apos; -means clustering for %&apos;data&apos; $nl with Euclidean metrics" type="reporter" category="3. Data tools"><comment x="0" y="0" w="167.33333333333348" collapsed="false">Custering of n-dimensional data with k-means-method. Cluster numbers are attached to the data.</comment><header></header><code></code><translations></translations><inputs><input type="%n">3</input><input type="%s">SciSnap!Data</input></inputs><script><block s="doDeclareVariables"><list><l>source</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><custom-block s="copy of %l"><block var="SciSnap!Data"/></custom-block></block></script><script><block s="doSetVar"><l>source</l><custom-block s="copy of %l"><block var="data"/></custom-block></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block></block><script><block s="doReport"><l>ERROR: only defined for matrices!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><block var="k"/></list></block><script><block s="doReport"><l>ERROR: too few data!</l></block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_k-means-clustering(k,data)</l><list><block var="k"/><block var="source"/></list></block></block></script></block></script></block-definition><block-definition s="%&apos;k&apos; -means clustering for %&apos;data&apos; with metric %&apos;metric&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="185.33333333333348" collapsed="false">Custering of n-dimensional data with k-means-method. A metric has to be delivered as a ringified term. Cluster numbers are attached to the data.</comment><header></header><code></code><translations></translations><inputs><input type="%n">3</input><input type="%s">SciSnap!Data</input><input type="%repRing">ringified operator</input></inputs><script><block s="doDeclareVariables"><list><l>source</l><l>result</l><l>minmax</l><l>dimension</l><l>centers</l><l>center</l><l>anyChanges</l><l>minDistance</l><l>distance</l><l>nearestCenter</l><l>dummy</l><l>dummy2</l><l>n</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><block var="SciSnap!Data"/></block></script><script><block s="doSetVar"><l>source</l><block var="data"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block></block><script><block s="doReport"><l>ERROR: only defined for matrices!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><block var="k"/></list></block><script><block s="doReport"><l>ERROR: too few data!</l></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="metric"/><l><option>reporter</option></l></block></block><script><block s="doReport"><l>ERROR: ringified operator for metric required!</l></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportConcatenatedLists"><list><l/><block s="reportNewList"><list><l>0</l></list></block></list></block></block></script><list></list></block><block var="source"/><comment w="161.66666666666669" collapsed="false">add cluster number 0 to data</comment></block></block><block s="doSetVar"><l>dimension</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block></block><block s="doSetVar"><l>minmax</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block var="dimension"/><script><block s="doAddToList"><block s="reportNewList"><list><custom-block s="%s of vector %l"><l>min</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="i"/><block var="source"/><l><bool>true</bool></l></custom-block></custom-block><custom-block s="%s of vector %l"><l>max</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="i"/><block var="source"/><l><bool>true</bool></l></custom-block></custom-block></list></block><block var="minmax"/></block></script><comment w="175" collapsed="false">calculate min and max for all columns</comment></block><block s="doSetVar"><l>centers</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block var="k"/><script><block s="doSetVar"><l>center</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>m</l><l>1</l><block var="dimension"/><script><block s="doAddToList"><block s="reportRandom"><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="m"/><block var="minmax"/></block></block><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="m"/><block var="minmax"/></block></block></block><block var="center"/></block></script><comment w="133.33333333333334" collapsed="false">choose k random centers</comment></block><block s="doAddToList"><block var="i"/><block var="center"/></block><block s="doAddToList"><block var="center"/><block var="centers"/></block></script><comment w="189.55696614583346" collapsed="false">calculate min and max for all columns</comment></block><block s="doSetVar"><l>anyChanges</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>n</l><l>0</l></block><block s="doUntil"><block s="reportNot"><block var="anyChanges"/></block><script><block s="doChangeVar"><l>n</l><l>1</l></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="n"/><l>2000</l></list></block><script><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doSetVar"><l>anyChanges</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>dummy</l><block s="reportAtomicMap"><block s="reifyReporter"><script><block s="doSetVar"><l>minDistance</l><l>100000000</l></block><block s="doSetVar"><l>nearestCenter</l><l>0</l></block><block s="doSetVar"><l>dummy2</l><block s="reportMap"><block s="reifyReporter"><script><block s="doSetVar"><l>distance</l><block s="evaluate"><block var="metric"/><list><block var="point"/><block var="center"/></list></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="distance"/><block var="minDistance"/></list></block><script><block s="doSetVar"><l>nearestCenter</l><block s="reportListItem"><block s="reportVariadicSum"><list><block var="dimension"/><l>1</l></list></block><block var="center"/></block></block><block s="doSetVar"><l>minDistance</l><block var="distance"/></block></script><list></list></block><block s="doReport"><l></l></block></script><list><l>center</l></list></block><block var="centers"/></block></block><block s="doIf"><block s="reportVariadicNotEquals"><list><block var="nearestCenter"/><block s="reportListItem"><block s="reportVariadicSum"><list><block var="dimension"/><l>1</l></list></block><block var="point"/></block></list></block><script><block s="doReplaceInList"><block s="reportVariadicSum"><list><block var="dimension"/><l>1</l></list></block><block var="point"/><block var="nearestCenter"/></block><block s="doSetVar"><l>anyChanges</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="doReport"><l></l></block></script><list><l>point</l></list></block><block var="result"/></block><comment w="90" collapsed="false">build clusters</comment></block><block s="doIf"><block var="anyChanges"/><script><block s="doFor"><l>i</l><l>1</l><block var="k"/><script><block s="doSetVar"><l>dummy</l><custom-block s="select rows of %s where %br column %s is %s %s"><block var="result"/><block s="reportVariadicSum"><list><block var="dimension"/><l>1</l></list></block><l>equal-to</l><block var="i"/></custom-block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="dummy"/></block><l>0</l></list></block><script><block s="doFor"><l>m</l><l>1</l><block var="dimension"/><script><block s="doReplaceInList"><block var="m"/><block s="reportListItem"><block var="i"/><block var="centers"/></block><custom-block s="%s of vector %l"><l>mean</l><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="m"/><block var="dummy"/><l><bool>true</bool></l></custom-block></custom-block></block></script></block></script><list></list></block></script><comment w="90" collapsed="false">adjust centers</comment></block></script><list></list></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="Levenshtein-distance of %&apos;s1&apos; and %&apos;s2&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="90" collapsed="false">Metric for Strtings.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">Saturday</input><input type="%txt">Sunday</input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_LevenshteinDistance(s1,s2)</l><list><block var="s1"/><block var="s2"/></list></block></block></script></block-definition><block-definition s="DBSCAN clustering for %&apos;data&apos; radius %&apos;r&apos; minMembers %&apos;minMembers&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="177.66666666666674" collapsed="false">labels of data: -1 not visited, 0 visited, -2 noise, &gt;0 clusternr</comment><header></header><code></code><translations></translations><inputs><input type="%s">SciSnap!Data</input><input type="%n">50</input><input type="%n">5</input></inputs><script><block s="doDeclareVariables"><list><l>source</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>SciSnap!Data</l></list></block><script><block s="doSetVar"><l>source</l><custom-block s="copy of %l"><block var="SciSnap!Data"/></custom-block></block></script><script><block s="doSetVar"><l>source</l><custom-block s="copy of %l"><block var="data"/></custom-block></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block></block><script><block s="doReport"><l>ERROR: only defined for matrices!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>2</l></list></block><script><block s="doReport"><l>ERROR: too few data!</l></block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_DBSCAN(data,r,minMembers)</l><list><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportConcatenatedLists"><list><l/><block s="reportNewList"><list><l>-1</l></list></block></list></block></autolambda><list></list></block><block var="source"/></block><block var="r"/><block var="minMembers"/></list></block></block></script></block></script></block-definition><block-definition s="decision tree ID3 for %&apos;data&apos; $nl with labeled data in last column" type="reporter" category="3. Data tools"><comment x="0" y="0" w="306" collapsed="false">reports a ID3 decision tree constructed on the base of labeled data</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>countedValues</l><l>information gains</l><l>newData</l><l>links</l><l>compareColumn</l><l>values</l><l>nTotal</l><l>result</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="data"/><l>table</l></custom-block><comment w="90" collapsed="false">wrong data</comment></block><script><block s="doReport"><l>ERROR: table required!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list><comment w="90" collapsed="false">empty dataset</comment></block><script><block s="doReport"><l>empty dataset</l></block></script><list></list></block><block s="doSetVar"><l>countedValues</l><custom-block s="count values in %l"><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>last</l><block var="data"/><l><bool>true</bool></l></custom-block></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="countedValues"/></block><l>1</l></list></block><script><block s="doReport"><block s="reportNewList"><list><l>leaf</l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="countedValues"/></block></block></list></block></block></script><list></list><comment w="122.00000000000001" collapsed="false">only one result --&gt; ready</comment></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>1</l></list></block><script><block s="doReport"><block s="reportNewList"><list><l>leaf (unambiguous)</l><block s="reportListItem"><l>1</l><block s="reportListItem"><block s="reportRandom"><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="countedValues"/></block></block><block var="countedValues"/></block></block></list></block></block></script><list></list><comment w="122.00000000000001" collapsed="false">only one attribut left --&gt; ready</comment></block><block s="doSetVar"><l>information gains</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>1</l></block><script><block s="doSetVar"><l>nTotal</l><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block><block s="doSetVar"><l>result</l><custom-block s="entropy of %l"><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>last</l><block var="data"/><l><bool>true</bool></l></custom-block></custom-block></block><block s="doSetVar"><l>values</l><custom-block s="count values in %l"><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="i"/><block var="data"/><l><bool>true</bool></l></custom-block></custom-block></block><block s="doForEach"><l>item</l><block var="values"/><script><block s="doSetVar"><l>result</l><block s="reportDifference"><block var="result"/><block s="reportVariadicProduct"><list><block s="reportQuotient"><block s="reportListItem"><l>2</l><block var="item"/></block><block var="nTotal"/></block><custom-block s="entropy of %l"><custom-block s="%s %s of %s with first item? %b"><l>column</l><l>last</l><custom-block s="select rows of %s where %br column %s is %s %s"><block var="data"/><block var="i"/><l>equal-to</l><block s="reportListItem"><l>1</l><block var="item"/></block></custom-block><l><bool>true</bool></l></custom-block></custom-block></list></block></block></block></script></block><block s="doAddToList"><block s="reportNewList"><list><block var="i"/><block var="result"/></list></block><block var="information gains"/></block></script><comment w="209" collapsed="false">calculate information gains for all attributes</comment></block><block s="doSetVar"><l>information gains</l><custom-block s="%s sorted by column %s %br ascending %b considering headline? %b"><block var="information gains"/><l>2</l><l><bool>false</bool></l><l><bool>true</bool></l></custom-block></block><block s="doSetVar"><l>compareColumn</l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="information gains"/></block></block><comment w="165" collapsed="false">take attribute with max information gain as compare criterion</comment></block><block s="doSetVar"><l>countedValues</l><custom-block s="count values in %l"><custom-block s="%s %s of %s with first item? %b"><l>column</l><block var="compareColumn"/><block var="data"/><l><bool>true</bool></l></custom-block></custom-block></block><block s="doSetVar"><l>links</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><block var="countedValues"/><script><block s="doSetVar"><l>newData</l><custom-block s="select rows of %s where %br column %s is %s %s"><block var="data"/><block var="compareColumn"/><l>equal-to</l><block s="reportListItem"><l>1</l><block var="item"/></block></custom-block></block><custom-block s="delete %s %s of %s"><l>column</l><block var="compareColumn"/><block var="newData"/></custom-block><block s="doAddToList"><block s="reportNewList"><list><block s="reportListItem"><l>1</l><block var="item"/></block><custom-block s="decision tree ID3 for %l %br with labeled data in last column"><block var="newData"/></custom-block></list></block><block var="links"/></block></script><comment w="257" collapsed="false">recursive construction of ID3 trees for all other attributes</comment></block><block s="doReport"><block s="reportNewList"><list><l>node</l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="information gains"/></block></block><block var="links"/></list></block></block></script></block></script></block-definition><block-definition s="SQL-Example 1: simple query" type="command" category="4. SQL tools"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="configure SQL"></custom-block><block s="doShowVar"><l>SQLData</l></block><custom-block s="connect to database server"></custom-block><custom-block s="choose database no. %n"><l>2</l></custom-block><custom-block s="import SQL-data from %l to SQLData"><custom-block s="exec SQL-command %txt"><custom-block s="SELECT %s %mult%txt FROM %mult%txt WHERE %b"><l>*</l><list></list><list><l>schueler</l></list><l/></custom-block></custom-block></custom-block></script></block-definition><block-definition s="empty" type="command" category="0. My own blocks"><header></header><code></code><translations></translations><inputs></inputs></block-definition><block-definition s="copy current costume of %&apos;sprite&apos; to sprite costumes" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIfElse"><block s="reportIsA"><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><l><option>costume</option></l></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doAddToList"><block s="reportGet"><l><option>costume</option></l></block><block s="reportGet"><l><option>costumes</option></l></block></block></script><list></list></block><list></list></block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: no costume there!</l></custom-block></script></block></script></block-definition><block-definition s="vertexnumber of graph on %&apos;sprite&apos; at mouse position" type="reporter" category="7. GraphPad for graph operations"><comment x="0" y="0" w="188" collapsed="false">Returns the vertexnumber of a vertex near mouse position, if there is one.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a GraphPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GraphPad!</l></block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_vertexnumberAtGraph(vlist,cAttributes,vAttributes,x,y)</l><list><block s="reportAttributeOf"><l>vertexList</l><block var="target"/></block><custom-block s="GraphPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block><custom-block s="GraphPadProperty %txt of %txt"><l>vertexProperties</l><block var="target"/></custom-block><block s="reportDifference"><block s="reportMouseX"></block><block s="reportAttributeOf"><l><option>x position</option></l><block var="target"/></block></block><block s="reportDifference"><block s="reportMouseY"></block><block s="reportAttributeOf"><l><option>y position</option></l><block var="target"/></block></block></list></block></block></script></block></script></block-definition><block-definition s="classify %&apos;data&apos; with ID3-tree %&apos;tree&apos;" type="reporter" category="3. Data tools"><comment x="0" y="0" w="269" collapsed="false">returns the class of a dataset using an ID3-decision-tree</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>colNumber</l><l>compareData</l><l>ready</l><l>i</l><l>item</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>compareData</l><custom-block s="copy of %l"><block var="data"/></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><l>leaf</l></list></block><script><block s="doReport"><block s="reportJoinWords"><list><l>result: </l><block s="reportListItem"><l>2</l><block var="tree"/></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><l>leaf (unambiguous)</l></list></block><script><block s="doReport"><block s="reportJoinWords"><list><l>result (unambiguous): </l><block s="reportListItem"><l>2</l><block var="tree"/></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="tree"/></block><l>node</l></list></block><script><block s="doSetVar"><l>colNumber</l><block s="reportListItem"><l>2</l><block var="tree"/></block></block><block s="doSetVar"><l>ready</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>3</l><block var="tree"/></block></block></list></block><block var="ready"/></list></block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><block var="i"/><block s="reportListItem"><l>3</l><block var="tree"/></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="colNumber"/><block var="compareData"/></block><block s="reportListItem"><l>1</l><block var="item"/></block></list></block><script><block s="doSetVar"><l>ready</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doDeleteFromList"><block var="colNumber"/><block var="compareData"/></block><block s="doReport"><custom-block s="classify %l with ID3-tree %l"><block var="compareData"/><block s="reportListItem"><l>2</l><block var="item"/></block></custom-block></block></script><list></list></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script><list></list></block><block s="doReport"><l>ERROR: no sensefull data to compare found!</l></block></script></block></script></block-definition><block-definition s="vector %&apos;items&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="172.5" collapsed="false">Reports a vector, built by the items.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%n"></input></inputs><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="items"/><l>vector</l></custom-block><script><block s="doReport"><block var="items"/></block></script><script><block s="doReport"><l>ERROR: only numbers are allowed in vectors!</l></block></script></block></script></block-definition><block-definition s="vector dim %&apos;n&apos; with random $nl components range %&apos;min&apos; to %&apos;max&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="291.42857142857144" collapsed="false">Returns a new vector of dimension n with random elements.</comment><header></header><code></code><translations></translations><inputs><input type="%n">3</input><input type="%n">1</input><input type="%n">10</input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>j</l><l>1</l><block var="n"/><script><block s="doAddToList"><block s="reportRandom"><block var="min"/><block var="max"/></block><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="matrix of vectors %&apos;vectors&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="220.8333333333337" collapsed="false">Returns a matrix formed from the input vectors.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>length</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="vectors"/></block><l>2</l></list></block><script><block s="doReport"><l>ERROR: more vectors necessary!</l></block></script><list></list></block><block s="doSetVar"><l>length</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="vectors"/></block></block></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><block var="vectors"/><script><block s="doIfElse"><block s="reportVariadicAnd"><list><custom-block s="is %s a %txt"><block var="item"/><l>vector</l></custom-block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="item"/></block><block var="length"/></list></block></list></block><script><block s="doAddToList"><block var="item"/><block var="result"/></block></script><script><block s="doReport"><l>ERROR: different types of vectors!</l></block></script></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="%&apos;n&apos; x %&apos;m&apos; matrix with random $nl components range %&apos;min&apos; to %&apos;max&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="245.0000000000001" collapsed="false">Returns a new nxm-matrix with random elements.</comment><header></header><code></code><translations></translations><inputs><input type="%n">3</input><input type="%n">2</input><input type="%n">1</input><input type="%n">10</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>row</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doIf"><custom-block s="any of %mult%boolUE"><list><block s="reportVariadicLessThan"><list><block var="n"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="m"/><l>1</l></list></block></list></custom-block><script><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doFor"><l>i</l><l>1</l><block var="m"/><script><block s="doSetVar"><l>row</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>j</l><l>1</l><block var="n"/><script><block s="doAddToList"><block s="reportRandom"><block var="min"/><block var="max"/></block><block var="row"/></block></script></block><block s="doAddToList"><block var="row"/><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="transpose %&apos;data&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="213.7279843444227" collapsed="false">Creates the transpose of a vector or a matrix.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doIfElse"><block s="reportNot"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block></block><script><block s="doReport"><l>ERROR: data are not transposable!</l></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><block s="doReport"><block var="data"/></block></script><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="data"/><l>vector</l></custom-block><script><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="data"/></block><l><option>list</option></l></block><script><block s="doReport"><block s="reportAtomicMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="value"/></block></block></script><list><l>value</l></list></block><block var="data"/></block></block></script><script><block s="doReport"><block s="reportAtomicMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportNewList"><list><block var="value"/></list></block></block></script><list><l>value</l></list></block><block var="data"/></block></block></script></block></script><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="data"/><l>matrix</l></custom-block><script><block s="doReport"><block s="reportListAttribute"><l><option>columns</option></l><block var="data"/></block></block></script><script><block s="doReport"><l>ERROR: data are not transposable!</l></block></script></block></script></block></script></block></script></block></script></block></script></block-definition><block-definition s="%&apos;choice&apos; of vector %&apos;data&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="211.42857142857147" collapsed="false">Determines a property of a vector.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">min<options>min&#xD;max&#xD;minpos&#xD;maxpos&#xD;number&#xD;sum&#xD;mean&#xD;median&#xD;variance&#xD;standard-deviation&#xD;softmax</options></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>help</l><l>n</l><l>sum</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="data"/><l>vector</l></custom-block></block><script><block s="doReport"><l>ERROR: only vectors supported!</l></block></script><list></list></block><block s="doSetVar"><l>data</l><custom-block s="copy of %l"><block var="data"/></custom-block></block><block s="doIf"><custom-block s="is %s a %txt"><block var="data"/><l>transposed-vector</l></custom-block><script><block s="doSetVar"><l>data</l><custom-block s="transpose %l"><block var="data"/></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>1</l></list></block><script><block s="doReport"><l></l></block></script><list></list></block><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>softmax</l></list></block><script><block s="doSetVar"><l>n</l><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block><block s="doSetVar"><l>sum</l><l>0</l></block><block s="doFor"><l>i</l><l>1</l><block var="n"/><script><block s="doChangeVar"><l>sum</l><block s="reportMonadic"><l><option>e^</option></l><block s="reportListItem"><block var="i"/><block var="data"/></block></block></block></script></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportQuotient"><block s="reportMonadic"><l><option>e^</option></l><l></l></block><block var="sum"/></block></autolambda><list></list></block><block var="data"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>median</l></list></block><script><block s="doSetVar"><l>result</l><custom-block s="sort %l with predicate %predRing"><block var="data"/><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block></custom-block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportModulus"><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block><l>2</l></block><l>1</l></list></block><script><block s="doReport"><block s="reportListItem"><block s="reportRound"><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block><l>2</l></block></block><block var="result"/></block></block></script><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportListItem"><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block><l>2</l></block><block var="result"/></block><block s="reportListItem"><block s="reportVariadicSum"><list><block s="reportQuotient"><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block><l>2</l></block><l>1</l></list></block><block var="result"/></block></list></block><l>2</l></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>min</l></list></block><script><block s="doReport"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><block s="reportVariadicMin"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>max</l></list></block><script><block s="doReport"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><block s="reportVariadicMax"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>number</l></list></block><script><block s="doReport"><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>sum</l></list></block><script><block s="doReport"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>mean</l></list></block><script><block s="doReport"><block s="reportQuotient"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>minpos</l></list></block><script><block s="doReport"><block s="reportListIndex"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><block s="reportVariadicMin"><list><l></l><l></l></list></block></autolambda><list></list></block></block><block var="data"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>maxpos</l></list></block><script><block s="doReport"><block s="reportListIndex"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><block s="reportVariadicMax"><list><l></l><l></l></list></block></autolambda><list></list></block></block><block var="data"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="choice"/><l>variance</l></list></block><block s="reportVariadicEquals"><list><block var="choice"/><l>standard-deviation</l></list></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportApplyExtension"><l>SciS_variance(aList,mean)</l><list><block var="data"/><block s="reportQuotient"><block s="reportCombine"><block var="data"/><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>variance</l></list></block><script><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>standard-deviation</l></list></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block var="result"/><l>NaN</l></list></block><script><block s="doReport"><block s="reportMonadic"><l><option>sqrt</option></l><block var="result"/></block></block></script><script><block s="doReport"><l>NaN</l></block></script></block></script><list></list></block><block s="doReport"><l>ERROR: unknown option!</l></block></script></block></script></block-definition><block-definition s="linear operation %&apos;a&apos; %&apos;op&apos; %&apos;b&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="261.90476190476187" collapsed="false">Linear operations with scalars, vectors and matrices.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s" readonly="true">*<options>+&#xD;-&#xD;*&#xD;X</options></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>rowsA</l><l>rowsB</l><l>colsA</l><l>colsB</l><l>transposed</l><l>row</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>op</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="op"/><l> </l></block></block></block><block s="doIf"><block s="reportIsA"><block var="a"/><l><option>number</option></l></block><script><block s="doIf"><block s="reportIsA"><block var="b"/><l><option>number</option></l><comment w="119.45205479452062" collapsed="false">number number operation</comment></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>+</l></list></block><script><block s="doReport"><block s="reportVariadicSum"><list><block var="a"/><block var="b"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>-</l></list></block><script><block s="doReport"><block s="reportDifference"><block var="a"/><block var="b"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>*</l></list></block><script><block s="doReport"><block s="reportVariadicProduct"><list><block var="a"/><block var="b"/></list></block></block></script><list></list></block><block s="doReport"><l>ERROR: illegal operation between numbers!</l></block></script><list></list></block><block s="doIf"><custom-block s="is %s a %txt"><block var="b"/><l>vector</l></custom-block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="op"/><l>*</l></list></block><script><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="b"/></block><l><option>list</option></l></block><script><block s="doReport"><custom-block s="transpose %l"><block s="reportVariadicProduct"><list><block var="a"/><custom-block s="transpose %l"><block var="b"/></custom-block></list></block></custom-block></block></script><script><block s="doReport"><block s="reportVariadicProduct"><list><block var="a"/><block var="b"/></list></block></block></script></block></script><script><block s="doReport"><l>ERROR: illegal operation between number and vector!</l></block></script></block></script><list></list></block><block s="doIf"><custom-block s="is %s a %txt"><block var="b"/><l>matrix</l></custom-block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="op"/><l>*</l></list></block><script><block s="doReport"><block s="reportVariadicProduct"><list><block var="a"/><block var="b"/></list></block></block></script><script><block s="doReport"><l>ERROR: illegal operation between number and matrix!</l></block></script></block></script><list></list></block><block s="doReport"><l>ERROR: illegal operation with numbers!</l></block></script><list></list></block><block s="doIf"><custom-block s="is %s a %txt"><block var="a"/><l>vector</l></custom-block><script><block s="doIf"><block s="reportIsA"><block var="b"/><l><option>number</option></l></block><script><block s="doReport"><custom-block s="linear operation %s %s %s"><block var="b"/><block var="op"/><block var="a"/></custom-block><comment w="125.59523809523814" collapsed="false">vector number operation.</comment></block></script><list></list></block><block s="doIf"><custom-block s="is %s a %txt"><block var="b"/><l>vector</l></custom-block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="a"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="b"/></block></list></block><script><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="a"/></block><l><option>list</option></l></block><script><block s="doSetVar"><l>a</l><custom-block s="transpose %l"><block var="a"/></custom-block></block><block s="doSetVar"><l>transposed</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doSetVar"><l>transposed</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>+</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportVariadicSum"><list><block var="a"/><block var="b"/></list></block></block><block s="doIf"><block var="transposed"/><script><block s="doSetVar"><l>result</l><custom-block s="transpose %l"><block var="result"/></custom-block></block></script><list></list></block><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>-</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportDifference"><block var="a"/><block var="b"/></block></block><block s="doIf"><block var="transposed"/><script><block s="doSetVar"><l>result</l><custom-block s="transpose %l"><block var="result"/></custom-block></block></script><list></list></block><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>*</l></list></block><script><block s="doReport"><block s="reportCombine"><block s="reportVariadicProduct"><list><block var="a"/><block var="b"/></list></block><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="op"/><l>X</l></list></block><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="a"/></block><l>3</l></list></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="b"/></block><l>3</l></list></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="a"/></block><block s="reportListItem"><l>3</l><block var="b"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="a"/></block><block s="reportListItem"><l>2</l><block var="b"/></block></list></block></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="a"/></block><block s="reportListItem"><l>1</l><block var="b"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="a"/></block><block s="reportListItem"><l>3</l><block var="b"/></block></list></block></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="a"/></block><block s="reportListItem"><l>2</l><block var="b"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="a"/></block><block s="reportListItem"><l>1</l><block var="b"/></block></list></block></block></list></block></block><block s="doIf"><block var="transposed"/><script><block s="doSetVar"><l>result</l><custom-block s="transpose %l"><block var="result"/></custom-block></block></script><list></list></block><block s="doReport"><block var="result"/></block></script><script><block s="doReport"><l>ERROR: wrong dimension of vectors!</l></block></script></block></script><script><block s="doReport"><l>ERROR: wrong dimension of vectors!</l></block></script></block></script><script><block s="doReport"><l>ERROR: different length of vectors!</l></block></script></block></script><list></list></block><block s="doIf"><custom-block s="is %s a %txt"><block var="b"/><l>matrix</l></custom-block><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="a"/></block><l><option>number</option></l></block><block s="reportVariadicEquals"><list><block var="op"/><l>*</l></list></block></list></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="a"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="b"/></block></list></block></list></block><script><block s="doReport"><custom-block s="linear operation %s %s %s"><custom-block s="transpose %l"><block var="b"/></custom-block><l>*</l><custom-block s="transpose %l"><block var="a"/></custom-block></custom-block></block></script><script><block s="doReport"><l>ERROR: illegal operation between vector and matrix!</l></block></script></block></script><list></list><comment w="119.45205479452062" collapsed="false">vector matrix operation</comment></block><block s="doReport"><l>ERROR: illegal operation with vectors!</l></block></script><list></list></block><block s="doIf"><custom-block s="is %s a %txt"><block var="a"/><l>matrix</l></custom-block><script><block s="doIf"><block s="reportIsA"><block var="b"/><l><option>number</option></l><comment w="119.45205479452062" collapsed="false">matrix number operation</comment></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="op"/><l>*</l></list></block><script><block s="doReport"><block s="reportVariadicProduct"><list><block var="a"/><block var="b"/></list></block></block></script><script><block s="doReport"><l>ERROR: illegal operation between number and matrix!</l></block></script></block></script><list></list></block><block s="doIf"><custom-block s="is %s a %txt"><block var="b"/><l>vector</l></custom-block><script><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="a"/></block><l><option>list</option></l></block><block s="reportVariadicEquals"><list><block var="op"/><l>*</l></list></block></list></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="a"/></block></block><block s="reportListAttribute"><l><option>length</option></l><block var="b"/></block></list></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>row</l><block var="a"/><script><block s="doAddToList"><block s="reportCombine"><block s="reportVariadicProduct"><list><block var="row"/><custom-block s="transpose %l"><block var="b"/></custom-block></list></block><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block><block var="result"/></block></script></block><block s="doReport"><custom-block s="transpose %l"><block var="result"/></custom-block></block></script><script><block s="doReport"><l>ERROR: illegal operation between matrix and vector!</l></block></script></block></script><list></list><comment w="119.45205479452062" collapsed="false">matrix vector operation</comment></block><block s="doIfElse"><custom-block s="is %s a %txt"><block var="b"/><l>matrix</l><comment w="119.45205479452062" collapsed="false">matrix matrix operation</comment></custom-block><script><block s="doSetVar"><l>rowsA</l><block s="reportListAttribute"><l><option>length</option></l><block var="a"/></block></block><block s="doSetVar"><l>rowsB</l><block s="reportListAttribute"><l><option>length</option></l><block var="b"/></block></block><block s="doSetVar"><l>colsA</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="a"/></block></block></block><block s="doSetVar"><l>colsB</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="b"/></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>+</l></list></block><script><block s="doIfElse"><custom-block s="all of %mult%boolUE"><list><block s="reportVariadicEquals"><list><block var="rowsA"/><block var="rowsB"/></list></block><block s="reportVariadicEquals"><list><block var="colsA"/><block var="colsB"/></list></block></list></custom-block><script><block s="doReport"><block s="reportVariadicSum"><list><block var="a"/><block var="b"/></list></block></block></script><script><block s="doReport"><l>ERROR: different dimensions!</l></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>-</l></list></block><script><block s="doIfElse"><custom-block s="all of %mult%boolUE"><list><block s="reportVariadicEquals"><list><block var="rowsA"/><block var="rowsB"/></list></block><block s="reportVariadicEquals"><list><block var="colsA"/><block var="colsB"/></list></block></list></custom-block><script><block s="doReport"><block s="reportDifference"><block var="a"/><block var="b"/></block></block></script><script><block s="doReport"><l>ERROR: different dimensions!</l></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>*</l></list></block><script><block s="doIf"><custom-block s="any of %mult%boolUE"><list><block s="reportVariadicEquals"><list><block var="rowsA"/><l>0</l></list></block><block s="reportVariadicEquals"><list><block var="rowsB"/><l>0</l></list></block><block s="reportVariadicEquals"><list><block var="colsA"/><l>0</l></list></block><block s="reportVariadicEquals"><list><block var="colsB"/><l>0</l></list></block></list></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="colsA"/><block var="rowsB"/></list></block><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>b</l><custom-block s="transpose %l"><block var="b"/></custom-block></block><block s="doForEach"><l>rowA</l><block var="a"/><script><block s="doSetVar"><l>row</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>columnB</l><block var="b"/><script><block s="doAddToList"><block s="reportCombine"><block s="reportVariadicProduct"><list><block var="rowA"/><block var="columnB"/></list></block><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block></block><block var="row"/></block></script></block><block s="doAddToList"><block var="row"/><block var="result"/></block></script></block><block s="doReport"><block var="result"/></block></script><script><block s="doReport"><l>ERROR: wrong dimensions!</l></block></script></block><block s="doReport"><l>ERROR: wrong operation!</l></block></script><list></list></block></script><script><block s="doReport"><l>ERROR: illegal operation between matrices</l></block></script></block></script><list></list></block><block s="doReport"><l>ERROR: illegal operation</l></block></script></block></script></block-definition><block-definition s="apply %&apos;matrix&apos; to points %&apos;points&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="179.47619047619048" collapsed="false">Applies a mapping matrix to an object that is given as a matrix of points.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>i</l><l>result</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportNot"><custom-block s="is %s a %txt"><block var="points"/><l>matrix</l></custom-block></block><script><block s="doSetVar"><l>result</l><l>matrix of points required!</l></block></script><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="points"/></block><l>1</l></list></block></block><script><block s="doSetVar"><l>result</l><l>too few points!</l></block></script><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="matrix"/><l>matrix</l></custom-block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="matrix"/></block></block><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="points"/></block></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="points"/></block></list></block><script><block s="doAddToList"><custom-block s="transpose %l"><custom-block s="linear operation %s %s %s"><block var="matrix"/><l>*</l><custom-block s="transpose %l"><block s="reportListItem"><block var="i"/><block var="points"/></block></custom-block></custom-block></custom-block><block var="result"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script><script><block s="doSetVar"><l>result</l><l>wrong dimension of mapping matrix!</l></block></script></block></script><script><block s="doSetVar"><l>result</l><l>mapping matrix required!</l></block></script></block></script></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="solve %&apos;A&apos; *x= %&apos;b&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="219.04761904761926" collapsed="false">Soves a linear system of max. 50 equations.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>matrix</l><l>found</l><l>x</l><l>nonzero</l><l>help</l><l>n</l><l>solved</l><l>j</l><l>k</l><l>d</l><l>r</l><l>nonzero</l></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><custom-block s="is %s a %txt"><block var="A"/><l>matrix</l></custom-block><custom-block s="is %s a %txt"><block var="b"/><l>vector</l></custom-block></list></block></block><script><block s="doReport"><l>ERROR: wrong data types!</l></block></script><list></list><comment w="137.85714285714286" collapsed="false">some tests for correct data</comment></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="A"/></block><l>0</l></list></block><script><block s="doReport"><l>ERROR: matrix is empty!</l></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="A"/></block></block><block s="reportListAttribute"><l><option>length</option></l><block var="b"/></block></list></block></block><script><block s="doReport"><l>ERROR: wrong dimension of vector!</l></block></script><list></list></block><block s="doIf"><custom-block s="is %s a %txt"><block var="b"/><l>transposed-vector</l></custom-block><script><block s="doSetVar"><l>b</l><custom-block s="transpose %l"><block var="b"/></custom-block></block></script><list></list></block><block s="doSetVar"><l>matrix</l><block s="reportMap"><block s="reifyReporter"><script></script><list></list></block><block var="A"/></block><comment w="191.5707465277778" collapsed="false">creates matrix with attached column b</comment></block><block s="doSetVar"><l>solved</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>n</l><block s="reportListAttribute"><l><option>length</option></l><block var="A"/></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="n"/><l>50</l></list></block><script><block s="doReport"><l>ERROR: matrix too large!</l></block></script><list></list></block><block s="doFor"><l>i</l><l>1</l><block var="n"/><script><block s="doAddToList"><block s="reportListItem"><block var="i"/><block var="b"/></block><block s="reportListItem"><block var="i"/><block var="matrix"/></block></block></script></block><block s="doSetVar"><l>d</l><block s="reportListAttribute"><l><option>length</option></l><block var="matrix"/></block><comment w="106.71245659722217" collapsed="false">Try to solve matrix</comment></block><block s="doSetVar"><l>r</l><l>1</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="r"/><block var="d"/></list></block><block s="reportNot"><block var="solved"/></block></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block><l>0</l></list></block><script><block s="doSetVar"><l>nonzero</l><block s="reportVariadicSum"><list><block var="r"/><l>1</l></list></block><comment w="137.82649739583348" collapsed="false">find nonzero element</comment></block><block s="doSetVar"><l>found</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block var="found"/><block s="reportVariadicGreaterThan"><list><block var="nonzero"/><block var="d"/></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="nonzero"/><block var="matrix"/></block></block><l>0</l></list></block><script><block s="doSetVar"><l>found</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doChangeVar"><l>nonzero</l><l>1</l></block></script></block></script></block><block s="doIfElse"><block s="reportNot"><block var="found"/></block><script><block s="doReport"><l>ERROR: no solution found!</l></block></script><script><block s="doSetVar"><l>matrix</l><block s="reportMap"><block s="reifyReporter"><script><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="r"/><block var="row"/></block></block><block s="doReplaceInList"><block var="r"/><block var="row"/><block s="reportListItem"><block var="nonzero"/><block var="row"/></block></block><block s="doReplaceInList"><block var="nonzero"/><block var="row"/><block var="help"/></block><block s="doReport"><block var="row"/></block></script><list><l>row</l></list></block><block var="matrix"/></block><comment w="90" collapsed="false">swap rows</comment></block></script></block></script><list></list></block><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block><comment w="90" collapsed="false">normalize row</comment></block><block s="doReplaceInList"><block var="r"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block><l>1</l></block><block s="doSetVar"><l>k</l><block s="reportVariadicSum"><list><block var="r"/><l>1</l></list></block></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="k"/><block s="reportVariadicSum"><list><block var="d"/><l>1</l></list></block></list></block><script><block s="doReplaceInList"><block var="k"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block><block s="reportQuotient"><block s="reportListItem"><block var="k"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block><block var="help"/></block></block><block s="doChangeVar"><l>k</l><l>1</l></block></script></block><block s="doSetVar"><l>k</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="k"/><block var="d"/></list></block><script><block s="doIf"><block s="reportVariadicNotEquals"><list><block var="k"/><block var="r"/></list></block><script><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block></block></block><block s="doIf"><block s="reportVariadicNotEquals"><list><block var="help"/><l>0</l></list></block><script><block s="doReplaceInList"><block var="r"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block><l>0</l></block><block s="doSetVar"><l>j</l><block s="reportVariadicSum"><list><block var="r"/><l>1</l></list></block></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="j"/><block s="reportVariadicSum"><list><block var="d"/><l>1</l></list></block></list></block><script><block s="doReplaceInList"><block var="j"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block><block s="reportDifference"><block s="reportListItem"><block var="j"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block></block><block s="reportVariadicProduct"><list><block var="help"/><block s="reportListItem"><block var="j"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block></list></block></block></block><block s="doChangeVar"><l>j</l><l>1</l></block></script></block></script><list></list></block></script><list></list></block><block s="doChangeVar"><l>k</l><l>1</l></block></script><comment w="90" collapsed="false">diagonalize</comment></block><block s="doChangeVar"><l>r</l><l>1</l></block></script></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportListItem"><l><option>last</option></l><l/></block></block></script><list></list></block><block var="matrix"/></block></block></script></block></script></block-definition><block-definition s="apply Gauss method to matrix %&apos;A&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="228.14285714285737" collapsed="false">Reports a list of matrix A in triangle form, the rank of A, column change and column positions.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>Ab</l><l>rank</l><l>row</l><l>found</l><l>help</l><l>i</l><l>c</l><l>columchange</l><l>column positions</l><l>j</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="A"/><l>matrix</l></custom-block><comment w="137.85714285714286" collapsed="false">some tests for correct data</comment></block><script><block s="doReport"><l>ERROR: this is not a matrix!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="A"/></block><l>0</l></list></block><script><block s="doReport"><l>ERROR: matrix is empty!</l></block></script><list></list></block><block s="doSetVar"><l>Ab</l><block s="reportMap"><block s="reifyReporter"><script></script><list></list></block><block var="A"/></block><comment w="186.6028794642858" collapsed="false">a copy of A is used to let A unchanged</comment></block><block s="doSetVar"><l>rank</l><block s="reportListAttribute"><l><option>length</option></l><block var="Ab"/></block></block><block s="doSetVar"><l>row</l><l>1</l></block><block s="doSetVar"><l>columchange</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>column positions</l><block s="reportNumbers"><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="Ab"/></block></block></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="row"/><block s="reportListAttribute"><l><option>length</option></l><block var="Ab"/></block></list></block><block s="reportVariadicLessThan"><list><block var="rank"/><block s="reportListAttribute"><l><option>length</option></l><block var="Ab"/></block></list></block></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="row"/><block s="reportListItem"><block var="row"/><block var="Ab"/></block></block><l>0</l></list><comment w="155" collapsed="false">find a non zero pivot element</comment></block><script><block s="doSetVar"><l>found</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>i</l><block s="reportVariadicSum"><list><block var="row"/><l>1</l></list></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="Ab"/></block></list></block><block var="found"/></list></block><script><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="row"/><block s="reportListItem"><block var="i"/><block var="Ab"/></block></block><l>0</l></list></block></block><script><block s="doSetVar"><l>found</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="i"/><block var="Ab"/></block></block><block s="doReplaceInList"><block var="i"/><block var="Ab"/><block s="reportListItem"><block var="row"/><block var="Ab"/></block></block><block s="doReplaceInList"><block var="row"/><block var="Ab"/><block var="help"/></block></script><list></list></block><block s="doChangeVar"><l>i</l><l>1</l></block></script><comment w="90" collapsed="false">search downwards</comment></block><block s="doIf"><block s="reportNot"><block var="found"/></block><script><block s="doSetVar"><l>i</l><block s="reportVariadicSum"><list><block var="row"/><l>1</l></list></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportDifference"><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="Ab"/></block></block><l>1</l></block></list></block><block var="found"/></list></block><script><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="i"/><block s="reportListItem"><block var="row"/><block var="Ab"/></block></block><l>0</l></list></block></block><script><block s="doSetVar"><l>found</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doFor"><l>column</l><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="Ab"/></block><script><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="i"/><block s="reportListItem"><block var="column"/><block var="Ab"/></block></block></block><block s="doReplaceInList"><block var="i"/><block s="reportListItem"><block var="column"/><block var="Ab"/></block><block s="reportListItem"><block var="row"/><block s="reportListItem"><block var="column"/><block var="Ab"/></block></block></block><block s="doReplaceInList"><block var="row"/><block s="reportListItem"><block var="column"/><block var="Ab"/></block><block var="help"/></block><block s="doSetVar"><l>columchange</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="row"/><block var="column positions"/></block></block><block s="doReplaceInList"><block var="row"/><block var="column positions"/><block s="reportListItem"><block var="i"/><block var="column positions"/></block></block><block s="doReplaceInList"><block var="i"/><block var="column positions"/><block var="help"/></block></script></block></script><list></list></block><block s="doChangeVar"><l>i</l><l>1</l></block></script><comment w="90" collapsed="false">search to the right</comment></block></script><list></list></block></script><list></list></block><block s="doSetVar"><l>c</l><block s="reportListItem"><block var="row"/><block s="reportListItem"><block var="row"/><block var="Ab"/></block></block></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="c"/><l>0</l></list></block></block><script><block s="doReplaceInList"><block var="row"/><block var="Ab"/><block s="reportQuotient"><block s="reportListItem"><block var="row"/><block var="Ab"/></block><block var="c"/></block></block><block s="doSetVar"><l>i</l><block s="reportVariadicSum"><list><block var="row"/><l>1</l></list></block></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="Ab"/></block></list></block><script><block s="doSetVar"><l>c</l><block s="reportListItem"><block var="row"/><block s="reportListItem"><block var="i"/><block var="Ab"/></block></block></block><block s="doReplaceInList"><block var="i"/><block var="Ab"/><block s="reportDifference"><block s="reportListItem"><block var="i"/><block var="Ab"/></block><block s="reportVariadicProduct"><list><block var="c"/><block s="reportListItem"><block var="row"/><block var="Ab"/></block></list></block></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script><script><block s="doSetVar"><l>rank</l><block s="reportDifference"><block var="row"/><l>1</l></block></block></script></block><block s="doChangeVar"><l>row</l><l>1</l></block></script></block><block s="doSetVar"><l>row</l><block var="rank"/></block><block s="doUntil"><block s="reportVariadicLessThan"><list><block var="row"/><l>1</l></list></block><script><block s="doSetVar"><l>i</l><block s="reportDifference"><block var="row"/><l>1</l></block></block><block s="doUntil"><block s="reportVariadicLessThan"><list><block var="i"/><l>1</l></list></block><script><block s="doSetVar"><l>c</l><block s="reportListItem"><block var="row"/><block s="reportListItem"><block var="i"/><block var="Ab"/></block></block></block><block s="doReplaceInList"><block var="i"/><block var="Ab"/><block s="reportDifference"><block s="reportListItem"><block var="i"/><block var="Ab"/></block><block s="reportVariadicProduct"><list><block var="c"/><block s="reportListItem"><block var="row"/><block var="Ab"/></block></list></block></block></block><block s="doChangeVar"><l>i</l><l>-1</l></block></script></block><block s="doChangeVar"><l>row</l><l>-1</l></block></script><comment w="137.85714285714286" collapsed="false">transform to diagonal form E</comment></block><block s="doReport"><block s="reportNewList"><list><block var="Ab"/><block var="rank"/><block var="columchange"/><block var="column positions"/></list></block></block></script></block></script></block-definition><block-definition s="polynomial interpolation for points %&apos;data&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="386.0812133072407" collapsed="false">Calculates the coefficients of the interpolation polynomial for a 2xn-matrix of points.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>matrix</l><l>found</l><l>x</l><l>row</l><l>help</l><l>n</l><l>solved</l><l>j</l><l>k</l><l>d</l><l>r</l><l>nonzero</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="data"/><l>matrix</l></custom-block></block><script><block s="doReport"><l>ERROR: matrix required!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>2</l></list></block><script><block s="doReport"><l>ERROR: not enough points!</l></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>2</l></list></block></block><script><block s="doReport"><l>ERROR: 2-dimensional points required!</l></block></script><list></list></block><block s="doSetVar"><l>matrix</l><block s="reportNewList"><list></list></block><comment w="191.5707465277778" collapsed="false">create matrix of powers of x and y-value</comment></block><block s="doSetVar"><l>solved</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>n</l><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="n"/><l>50</l></list></block><script><block s="doReport"><l>ERROR: matrix too large!</l></block></script><list></list></block><block s="doFor"><l>i</l><l>1</l><block var="n"/><script><block s="doSetVar"><l>row</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>j</l><block s="reportDifference"><block var="n"/><l>1</l></block></block><block s="doUntil"><block s="reportVariadicLessThan"><list><block var="j"/><l>0</l></list></block><script><block s="doSetVar"><l>x</l><l>1</l></block><block s="doSetVar"><l>k</l><block var="j"/></block><block s="doUntil"><block s="reportVariadicLessThanOrEquals"><list><block var="k"/><l>0</l></list></block><script><block s="doSetVar"><l>x</l><block s="reportVariadicProduct"><list><block var="x"/><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="i"/><block var="data"/></block></block></list></block></block><block s="doChangeVar"><l>k</l><l>-1</l></block></script></block><block s="doAddToList"><block var="x"/><block var="row"/></block><block s="doChangeVar"><l>j</l><l>-1</l></block></script></block><block s="doAddToList"><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="i"/><block var="data"/></block></block><block var="row"/></block><block s="doAddToList"><block var="row"/><block var="matrix"/></block></script></block><block s="doSetVar"><l>d</l><block s="reportListAttribute"><l><option>length</option></l><block var="matrix"/></block><comment w="106.71245659722217" collapsed="false">Try to solve matrix</comment></block><block s="doSetVar"><l>r</l><l>1</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="r"/><block var="d"/></list></block><block s="reportNot"><block var="solved"/></block></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block><l>0</l></list></block><script><block s="doSetVar"><l>nonzero</l><block s="reportVariadicSum"><list><block var="r"/><l>1</l></list></block><comment w="137.82649739583348" collapsed="false">find nonzero element</comment></block><block s="doSetVar"><l>found</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block var="found"/><block s="reportVariadicGreaterThan"><list><block var="nonzero"/><block var="d"/></list></block></list></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="nonzero"/><block var="matrix"/></block></block><l>0</l></list></block><script><block s="doSetVar"><l>found</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doChangeVar"><l>nonzero</l><l>1</l></block></script></block></script></block><block s="doIfElse"><block s="reportNot"><block var="found"/></block><script><block s="doReport"><l>ERROR: no solution found!</l></block></script><script><block s="doSetVar"><l>matrix</l><block s="reportMap"><block s="reifyReporter"><script><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="r"/><block var="row"/></block></block><block s="doReplaceInList"><block var="r"/><block var="row"/><block s="reportListItem"><block var="nonzero"/><block var="row"/></block></block><block s="doReplaceInList"><block var="nonzero"/><block var="row"/><block var="help"/></block><block s="doReport"><block var="row"/></block></script><list><l>row</l></list></block><block var="matrix"/></block><comment w="90" collapsed="false">swap rows</comment></block></script></block></script><list></list></block><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block><comment w="90" collapsed="false">normalize row</comment></block><block s="doReplaceInList"><block var="r"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block><l>1</l></block><block s="doSetVar"><l>k</l><block s="reportVariadicSum"><list><block var="r"/><l>1</l></list></block></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="k"/><block s="reportVariadicSum"><list><block var="d"/><l>1</l></list></block></list></block><script><block s="doReplaceInList"><block var="k"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block><block s="reportQuotient"><block s="reportListItem"><block var="k"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block><block var="help"/></block></block><block s="doChangeVar"><l>k</l><l>1</l></block></script></block><block s="doSetVar"><l>k</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="k"/><block var="d"/></list></block><script><block s="doIf"><block s="reportVariadicNotEquals"><list><block var="k"/><block var="r"/></list></block><script><block s="doSetVar"><l>help</l><block s="reportListItem"><block var="r"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block></block></block><block s="doIf"><block s="reportVariadicNotEquals"><list><block var="help"/><l>0</l></list></block><script><block s="doReplaceInList"><block var="r"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block><l>0</l></block><block s="doSetVar"><l>j</l><block s="reportVariadicSum"><list><block var="r"/><l>1</l></list></block></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="j"/><block s="reportVariadicSum"><list><block var="d"/><l>1</l></list></block></list></block><script><block s="doReplaceInList"><block var="j"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block><block s="reportDifference"><block s="reportListItem"><block var="j"/><block s="reportListItem"><block var="k"/><block var="matrix"/></block></block><block s="reportVariadicProduct"><list><block var="help"/><block s="reportListItem"><block var="j"/><block s="reportListItem"><block var="r"/><block var="matrix"/></block></block></list></block></block></block><block s="doChangeVar"><l>j</l><l>1</l></block></script></block></script><list></list></block></script><list></list></block><block s="doChangeVar"><l>k</l><l>1</l></block></script><comment w="90" collapsed="false">diagonaize</comment></block><block s="doChangeVar"><l>r</l><l>1</l></block></script></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><script><block s="doReport"><block s="reportListItem"><l><option>last</option></l><l/></block></block></script><list></list></block><block var="matrix"/></block></block></script></block></script></block-definition><block-definition s="%&apos;p&apos; ( %&apos;x&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="244.41780821917828" collapsed="false">Calculates the value of a polynomial for input x.</comment><header></header><code></code><translations></translations><inputs><input type="%s">polynomial as list of coefficients</input><input type="%n">1</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>grade</l><l>result</l><l>i</l></list></block><block s="doIfElse"><block s="reportNot"><custom-block s="is %s a %txt"><block var="p"/><l>vector</l></custom-block></block><script><block s="doReport"><l>ERROR: no polynomial found!</l></block></script><script><block s="doSetVar"><l>grade</l><block s="reportListAttribute"><l><option>length</option></l><block var="p"/></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="grade"/><l>0</l></list></block><script><block s="doReport"><l>0</l></block></script><list></list></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="grade"/><l>1</l></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="p"/></block></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="p"/></block><block var="x"/></list></block><block s="reportListItem"><l>2</l><block var="p"/></block></list></block></block><block s="doSetVar"><l>i</l><l>3</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="grade"/></list></block><script><block s="doSetVar"><l>result</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block var="result"/><block var="x"/></list></block><block s="reportListItem"><block var="i"/><block var="p"/></block></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="affine transformation of %&apos;data&apos; $nl by %&apos;originalPoints&apos; --&gt; %&apos;targetPoints&apos; for MathPad" type="reporter" category="2. Math tools"><comment x="0" y="0" w="225" collapsed="false">Applies an affine transformation to a list of points.&#xD;</comment><header></header><code></code><translations></translations><inputs><input type="%l">SciSnap!Data</input><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>a11</l><l>a12</l><l>a13</l><l>a21</l><l>a22</l><l>a23</l><l>S</l><l>P1</l><l>P2</l><l>P3</l><l>Q1</l><l>Q2</l><l>Q3</l><l>ok</l><l>result</l><l>i</l></list></block><block s="doWarp"><script><block s="doIfElse"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><block s="doReport"><l>ERROR: at least one point required!</l></block></script><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="data"/></block><l><option>list</option></l></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block><l>2</l></list></block></list></block></block><script><block s="doReport"><l>ERROR: dimension should be 2!</l></block></script><list></list></block></script></block></script><script><block s="doReport"><l>ERROR: list of points as data required!</l></block></script></block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doIfElse"><block s="reportIsA"><block var="originalPoints"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="originalPoints"/></block><l>3</l></list></block><script><block s="doReport"><l>ERROR: 3 original points required!</l></block></script><script><block s="doFor"><l>i</l><l>1</l><l>3</l><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><block var="i"/><block var="originalPoints"/></block><l><option>list</option></l></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><block var="i"/><block var="originalPoints"/></block></block><l>2</l></list></block></list></block></block><script><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block></script></block></script></block></script><script><block s="doReport"><l>ERROR: list of original points  required!</l></block></script></block><block s="doIfElse"><block s="reportIsA"><block var="targetPoints"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="targetPoints"/></block><l>3</l></list></block><script><block s="doReport"><l>ERROR: 3 target points required!</l></block></script><script><block s="doFor"><l>i</l><l>1</l><l>3</l><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><block var="i"/><block var="targetPoints"/></block><l><option>list</option></l></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><block var="i"/><block var="targetPoints"/></block></block><l>2</l></list></block></list></block></block><script><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block></script></block></script></block></script><script><block s="doReport"><l>ERROR: list of target points  required!</l></block></script></block><block s="doIf"><block s="reportNot"><block var="ok"/></block><script><block s="doReport"><l>ERROR: dimensions should be 2!</l></block></script><list></list></block><block s="doSetVar"><l>P1</l><block s="reportListItem"><l>1</l><block var="originalPoints"/></block></block><block s="doSetVar"><l>P2</l><block s="reportListItem"><l>2</l><block var="originalPoints"/></block></block><block s="doSetVar"><l>P3</l><block s="reportListItem"><l>3</l><block var="originalPoints"/></block></block><block s="doSetVar"><l>Q1</l><block s="reportListItem"><l>1</l><block var="targetPoints"/></block></block><block s="doSetVar"><l>Q2</l><block s="reportListItem"><l>2</l><block var="targetPoints"/></block></block><block s="doSetVar"><l>Q3</l><block s="reportListItem"><l>3</l><block var="targetPoints"/></block></block><block s="doSetVar"><l>S</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>2</l><block var="P2"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>2</l><block var="P3"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>2</l><block var="P1"/></block></block></list></block></list></block></list></block></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="S"/><l>0</l></list></block></block><script><block s="doSetVar"><l>a11</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q2"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q3"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q1"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a12</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q3"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q1"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q2"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a21</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q2"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q3"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q1"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a22</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q3"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q1"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q2"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a13</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></list></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></list></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></list></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a23</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></list></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></list></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></list></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="i"/><block var="data"/></block></block><block var="a11"/></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="i"/><block var="data"/></block></block><block var="a12"/></list></block></list></block><block var="a13"/></list></block><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><block var="i"/><block var="data"/></block></block><block var="a21"/></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block s="reportListItem"><block var="i"/><block var="data"/></block></block><block var="a22"/></list></block></list></block><block var="a23"/></list></block></list></block><block var="result"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doReport"><l>ERROR: denominator is zero</l></block></script></block></script></block-definition><block-definition s="complex %&apos;re&apos; + %&apos;im&apos; * i" type="reporter" category="2. Math tools"><comment x="0" y="0" w="224.2857142857143" collapsed="false">Reports a complex number in Cartesian style.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">3</input></inputs><script><block s="doReport"><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block var="re"/><block var="im"/></list></block></block></script></block-definition><block-definition s="complex %&apos;r&apos; * e^i %&apos;phi&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="196.42857142857125" collapsed="false">Reports a complex number in polar style.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">30</input></inputs><script><block s="doReport"><block s="reportNewList"><list><l>complexNumberPolarStyle</l><block var="r"/><block var="phi"/></list></block></block></script></block-definition><block-definition s="complex %&apos;z&apos; polar style" type="reporter" category="2. Math tools"><comment x="0" y="0" w="200.7142857142857" collapsed="false">Reports a complex number in polar style.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number</l></custom-block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number-polar-style</l></custom-block><script><block s="doReport"><block var="z"/></block></script><script><block s="doReport"><block s="reportNewList"><list><l>complexNumberPolarStyle</l><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportListItem"><l>2</l><block var="z"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="z"/></block><block s="reportListItem"><l>3</l><block var="z"/></block></list></block></list></block></block><block s="reportMonadic"><l><option>atan</option></l><block s="reportQuotient"><block s="reportListItem"><l>3</l><block var="z"/></block><block s="reportListItem"><l>2</l><block var="z"/></block></block></block></list></block></block></script></block></script><script><block s="doReport"><l>ERROR: complex number expected!</l></block></script></block></script></block></script></block-definition><block-definition s="complex %&apos;z&apos; Cartesian style" type="reporter" category="2. Math tools"><comment x="0" y="0" w="224.2857142857143" collapsed="false">Reports a complex number in Cartesian style.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number</l></custom-block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number-Cartesian-style</l></custom-block><script><block s="doReport"><block var="z"/></block></script><script><block s="doReport"><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportMonadic"><l><option>cos</option></l><block s="reportListItem"><l>3</l><block var="z"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportMonadic"><l><option>sin</option></l><block s="reportListItem"><l>3</l><block var="z"/></block></block></list></block></list></block></block></script></block></script><script><block s="doReport"><l>ERROR: complex number expected!</l></block></script></block></script></block></script></block-definition><block-definition s="complex %&apos;choice&apos; of %&apos;z&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="191.42857142857125" collapsed="false">Reports properties of complex numbers.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">real-part<options>absolute-value&#xD;real-part&#xD;imaginary-part&#xD;phase&#xD;conjugate</options></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number</l></custom-block><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>absolute-value</l></list></block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number-polar-style</l></custom-block><script><block s="doReport"><block s="reportListItem"><l>2</l><block var="z"/></block></block></script><script><block s="doReport"><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportListItem"><l>2</l><block var="z"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="z"/></block><block s="reportListItem"><l>3</l><block var="z"/></block></list></block></list></block></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>real-part</l></list></block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number-Cartesian-style</l></custom-block><script><block s="doReport"><block s="reportListItem"><l>2</l><block var="z"/></block></block></script><script><block s="doReport"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportMonadic"><l><option>cos</option></l><block s="reportListItem"><l>3</l><block var="z"/></block></block></list></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>imaginary-part</l></list></block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number-Cartesian-style</l></custom-block><script><block s="doReport"><block s="reportListItem"><l>3</l><block var="z"/></block></block></script><script><block s="doReport"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportMonadic"><l><option>sin</option></l><block s="reportListItem"><l>3</l><block var="z"/></block></block></list></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>phase</l></list></block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number-polar-style</l></custom-block><script><block s="doReport"><block s="reportListItem"><l>3</l><block var="z"/></block></block></script><script><block s="doReport"><block s="reportMonadic"><l><option>atan</option></l><block s="reportQuotient"><block s="reportListItem"><l>3</l><block var="z"/></block><block s="reportListItem"><l>2</l><block var="z"/></block></block></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>conjugate</l></list></block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="z"/><l>complex-number-polar-style</l></custom-block><script><block s="doReport"><block s="reportNewList"><list><l>complexNumberPolarStyle</l><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportMonadic"><l><option>neg</option></l><block s="reportListItem"><l>3</l><block var="z"/></block></block></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block s="reportListItem"><l>2</l><block var="z"/></block><block s="reportMonadic"><l><option>neg</option></l><block s="reportListItem"><l>3</l><block var="z"/></block></block></list></block></block></script></block></script><list></list></block><block s="doReport"><l>ERROR: unknown operator!</l></block></script><script><block s="doReport"><l>ERROR: complex number expected!</l></block></script></block></script></block></script></block-definition><block-definition s="complex %&apos;z1&apos; %&apos;op&apos; %&apos;z2&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="240" collapsed="false">Reports arithmetic results of two complex numbers.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s" readonly="true">+<options>+&#xD;-&#xD;*&#xD;/</options></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>denominator</l></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="z1"/><l>complex-number</l></custom-block></block><script><block s="doReport"><l>ERROR: first argument is not a complex number</l></block></script><list></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="z2"/><l>complex-number</l></custom-block></block><script><block s="doReport"><l>ERROR: second argument is not a complex number</l></block></script><list></list></block><block s="doIf"><custom-block s="is %s a %txt"><block var="z1"/><l>complex-number-polar-style</l></custom-block><script><block s="doSetVar"><l>z1</l><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportMonadic"><l><option>cos</option></l><block s="reportListItem"><l>3</l><block var="z1"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportMonadic"><l><option>sin</option></l><block s="reportListItem"><l>3</l><block var="z1"/></block></block></list></block></list></block></block></script><list></list></block><block s="doIf"><custom-block s="is %s a %txt"><block var="z2"/><l>complex-number-polar-style</l></custom-block><script><block s="doSetVar"><l>z2</l><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z2"/></block><block s="reportMonadic"><l><option>cos</option></l><block s="reportListItem"><l>3</l><block var="z2"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z2"/></block><block s="reportMonadic"><l><option>sin</option></l><block s="reportListItem"><l>3</l><block var="z2"/></block></block></list></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>+</l></list></block><script><block s="doReport"><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block s="reportVariadicSum"><list><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportListItem"><l>2</l><block var="z2"/></block></list></block><block s="reportVariadicSum"><list><block s="reportListItem"><l>3</l><block var="z1"/></block><block s="reportListItem"><l>3</l><block var="z2"/></block></list></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>-</l></list></block><script><block s="doReport"><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportListItem"><l>2</l><block var="z2"/></block></block><block s="reportDifference"><block s="reportListItem"><l>3</l><block var="z1"/></block><block s="reportListItem"><l>3</l><block var="z2"/></block></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>*</l></list></block><script><block s="doReport"><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportListItem"><l>2</l><block var="z2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="z1"/></block><block s="reportListItem"><l>3</l><block var="z2"/></block></list></block></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportListItem"><l>3</l><block var="z2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="z1"/></block><block s="reportListItem"><l>2</l><block var="z2"/></block></list></block></list></block></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>/</l></list></block><script><block s="doSetVar"><l>denominator</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z2"/></block><block s="reportListItem"><l>2</l><block var="z2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="z2"/></block><block s="reportListItem"><l>3</l><block var="z2"/></block></list></block></list></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="denominator"/><l>0</l></list></block><script><block s="doReport"><l>ERROR: denominator is zero!</l></block></script><list></list></block><block s="doReport"><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportListItem"><l>2</l><block var="z2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="z1"/></block><block s="reportListItem"><l>3</l><block var="z2"/></block></list></block></list></block><block var="denominator"/></block><block s="reportQuotient"><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>3</l><block var="z1"/></block><block s="reportListItem"><l>2</l><block var="z2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="z1"/></block><block s="reportListItem"><l>3</l><block var="z2"/></block></list></block></block><block var="denominator"/></block></list></block></block></script><list></list></block></script></block></script></block-definition><block-definition s="configure sprite %&apos;sprite&apos; as a MathPad $nl width: %&apos;width&apos; height: %&apos;height&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="command" category="2. Math tools"><comment x="0" y="0" w="142.5" collapsed="false">Creates a new  empty costume of the specified size and color and sets local properties</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>costumeWidth</l><l>costumeHeight</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>sprite</l><l>theStage</l></block><block s="doSetVar"><l>target</l><block s="reportObject"><l>Stage</l></block></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><script><block s="doSetVar"><l>costumeWidth</l><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block></block><block s="doSetVar"><l>costumeHeight</l><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="gotoXY"><l>0</l><l>0</l></block><block s="setHeading"><l>90</l></block><block s="show"></block></script><list></list></block><list></list></block><block s="doSetVar"><l>costumeWidth</l><block var="width"/></block><block s="doSetVar"><l>costumeHeight</l><block var="height"/></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myProperties</l></list></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myData</l></list></block><block s="doSetVar"><l>myProperties</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>myData</l><block s="reportNewList"><list></list></block></block><block s="doSwitchToCostume"><custom-block s="new costume %n %n %n %n %n"><block var="costumeWidth"/><block var="costumeHeight"/><block var="r"/><block var="g"/><block var="b"/></custom-block></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfConfiguration</l><l>MathPad</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfData</l><l>none</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>lineProperties</l><block s="reportNewList"><list><l>1</l><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>dimension</l><l>3</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>maxValue</l><l>10</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>startPoint</l><block s="reportNewList"><list><l>0</l><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><script><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doAddToList"><block s="reportNewList"><list><l>costumeProperties</l><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="r"/><block var="g"/><block var="b"/><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block var="width"/></block><l>2</l></block><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="height"/></block><l>2</l></block><block var="width"/><block var="height"/></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doAddToList"><block s="reportNewList"><list><l>costumeProperties</l><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/><l>0</l><l>0</l><block var="width"/><block var="height"/></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block></script></block><custom-block s="add centered axes to a MathPad on %txt"><block var="target"/></custom-block></script></block></script><scripts><comment x="474.1666666666667" y="108.5" w="220.16039530436274" collapsed="false">costume attributes:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;6: left offset for MathPad&#xD;    position on stage&#xD;7: upper offset for MathPad&#xD;    position on stage&#xD;&#xD;other attributes:&#xD;1: line width&#xD;2: draw only ponts, not arrows&#xD;3: dimension of coordinate system&#xD;4: max. value on scales&#xD;5: start point of arrows</comment></scripts></block-definition><block-definition s="is %&apos;sprite&apos; a MathPad?" type="predicate" category="2. Math tools"><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><l><option>myself</option></l></block><block s="reifyPredicate"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>MathPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><script><block s="doReport"><block s="reportAskFor"><l>Stage</l><block s="reifyPredicate"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>MathPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><block var="sprite"/></block><block s="reifyPredicate"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>MathPad</l></custom-block></autolambda><list></list></block><list></list></block></block></script></block></script></block></script></block></script></block-definition><block-definition s="MathPadProperty %&apos;name&apos; of %&apos;sprite&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="212.5" collapsed="false">Reads the value of an existing property.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">costumeProperties<options>typeOfConfiguration&#xD;typeOfData&#xD;costumeProperties&#xD;lineProperties&#xD;dimension&#xD;maxValue&#xD;startPoint</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>h</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a MathPad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as MathPad!</l></block></script><list></list></block><block s="doSetVar"><l>result</l><l>not found</l></block><block s="doSetVar"><l>name</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="name"/><l> </l></block></block></block><block s="doSetVar"><l>h</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><block s="reportListItem"><l>1</l><l/></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportListItem"><l>2</l><l/></block></block></script><list></list></block><block s="doReport"><l></l></block></script><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="set MathPadProperty %&apos;name&apos; of %&apos;sprite&apos; to %&apos;value&apos;" type="command" category="2. Math tools"><comment x="0" y="0" w="272.5" collapsed="false">Sets the value of an existing property or inserts it anew.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">costumeProperties<options>typeOfConfiguration&#xD;typeOfData&#xD;costumeProperties&#xD;lineProperties&#xD;dimension&#xD;maxValue&#xD;startPoint</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>done</l><l>h</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a MathPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as MathPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>name</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="name"/><l> </l></block></block></block><block s="doSetVar"><l>done</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>h</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><block s="reportListItem"><l>1</l><l/></block></list></block><script><block s="doReplaceInList"><l>2</l><l/><block var="value"/></block><block s="doSetVar"><l>done</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="doReport"><l></l></block></script><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block><block s="doIf"><block s="reportNot"><block var="done"/></block><script><block s="doAddToList"><block s="reportNewList"><list><block var="name"/><block var="value"/></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></script><list></list></block></script></block></script></block-definition><block-definition s="set MathPad costume properties width: %&apos;width&apos; $nl height: %&apos;height&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; $nl offsets: %&apos;leftOffset&apos; %&apos;upperOffset&apos; on %&apos;sprite&apos;" type="command" category="2. Math tools"><comment x="0" y="0" w="124.32706197102944" collapsed="false">a simple way to set some costume attributes:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;6: left offset for MathPad&#xD;    position on stage&#xD;7: upper offset for MathPad&#xD;    position on stage</comment><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input><input type="%n">0</input><input type="%n">0</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a MathPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as MathPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><custom-block s="configure sprite %s as a MathPad %br width: %n height: %n color: %n %n %n"><block var="target"/><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></custom-block><custom-block s="set MathPadProperty %txt of %txt to %s"><l>costumeProperties</l><block var="target"/><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/><block var="leftOffset"/><block var="upperOffset"/></list></block></custom-block></script></block-definition><block-definition s="set MathPad properties lineWidth: %&apos;lineWidth&apos; onlyPoints? %&apos;onlyPoints&apos; $nl dimension: %&apos;dimension&apos; maxValue: %&apos;maxValue&apos; startPoint: %&apos;x&apos; %&apos;y&apos; %&apos;z&apos; $nl on %&apos;sprite&apos;" type="command" category="2. Math tools"><comment x="0" y="0" w="160.9937286376957" collapsed="false">a simple way to set some MathPad attributes:&#xD;1: line width&#xD;2: draw only ponts, not arrows&#xD;3: dimension of coordinate system&#xD;4: max. value on scales&#xD;5: start point of arrows</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%b">false</input><input type="%n">3</input><input type="%n">10</input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>oldDimension</l><l>oldMaxValue</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a MathPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as MathPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>oldDimension</l><custom-block s="MathPadProperty %txt of %txt"><l>dimension</l><block var="target"/></custom-block></block><block s="doSetVar"><l>oldMaxValue</l><custom-block s="MathPadProperty %txt of %txt"><l>maxValue</l><block var="target"/></custom-block></block><custom-block s="set MathPadProperty %txt of %txt to %s"><l>lineProperties</l><block var="target"/><block s="reportNewList"><list><block var="lineWidth"/><block var="onlyPoints"/></list></block></custom-block><custom-block s="set MathPadProperty %txt of %txt to %s"><l>dimension</l><block var="target"/><block var="dimension"/></custom-block><custom-block s="set MathPadProperty %txt of %txt to %s"><l>maxValue</l><block var="target"/><block var="maxValue"/></custom-block><custom-block s="set MathPadProperty %txt of %txt to %s"><l>startPoint</l><block var="target"/><block s="reportNewList"><list><block var="x"/><block var="y"/><block var="z"/></list></block></custom-block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicNotEquals"><list><block var="oldDimension"/><block var="dimension"/></list></block><block s="reportVariadicNotEquals"><list><block var="oldMaxValue"/><block var="maxValue"/></list></block></list></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><custom-block s="new costume %n %n %n %n %n"><block s="reportListItem"><l>1</l><custom-block s="MathPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>2</l><custom-block s="MathPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>3</l><custom-block s="MathPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>4</l><custom-block s="MathPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>5</l><custom-block s="MathPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></custom-block></block></script><list></list></block><list></list></block><custom-block s="add centered axes to a MathPad on %txt"><block var="target"/></custom-block></script><list></list></block></script></block></script></block-definition><block-definition s="add centered axes to a MathPad on %&apos;sprite&apos;" type="command" category="2. Math tools"><comment x="0" y="0" w="158.49372863769608" collapsed="false">Draws axes on a MathPad in 2 or 3 dimensions.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a MathPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as MathPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doApplyExtension"><l>SciS_mathpadaddaxes(cAttributes,type,maxValue,dimension,costume)</l><list><custom-block s="MathPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block><custom-block s="MathPadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><custom-block s="MathPadProperty %txt of %txt"><l>maxValue</l><block var="target"/></custom-block><custom-block s="MathPadProperty %txt of %txt"><l>dimension</l><block var="target"/></custom-block><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block></list></block></script></block-definition><block-definition s="plot %&apos;choice&apos; %&apos;data&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; $nl on MathPad %&apos;sprite&apos; Change startpoint? %&apos;changeStartpoint&apos;" type="command" category="2. Math tools"><comment x="0" y="0" w="439.1666666666663" collapsed="false">Draws a vector, complex number or object of points from the start point stored in the properties.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">vector<options>vector&#xD;complex-number&#xD;line-to&#xD;object-of</options></input><input type="%l"></input><input type="%n">255</input><input type="%n">0</input><input type="%n">0</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">false</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>oldStartPoint</l><l>i</l><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a MathPad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as MathPad!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: pointlist required!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>data</l><custom-block s="copy of %l"><block var="data"/></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>object-of</l></list></block><script><block s="doIf"><block s="reportVariadicLessThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>1</l></list></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: at least two points necessary!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><custom-block s="MathPadProperty %txt of %txt"><l>dimension</l><block var="target"/></custom-block><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block></list></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: wrong dimension!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_mathpadplot(costume,data,r,g,b,maxValue,linewidth,dimension,onlypoints,cAttributes,startpoint,choice)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="data"/><block var="r"/><block var="g"/><block var="b"/><custom-block s="MathPadProperty %txt of %txt"><l>maxValue</l><block var="target"/></custom-block><block s="reportListItem"><l>1</l><custom-block s="MathPadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></block><custom-block s="MathPadProperty %txt of %txt"><l>dimension</l><block var="target"/></custom-block><block s="reportListItem"><l>2</l><custom-block s="MathPadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></block><custom-block s="MathPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block><custom-block s="MathPadProperty %txt of %txt"><l>startPoint</l><block var="target"/></custom-block><block var="choice"/></list></block></list></block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>complex-number</l></list></block><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="data"/></block><l>complexNumberCartesianStyle</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="data"/></block><l>complexNumberPolarStyle</l></list></block></list></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: complex number required!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="data"/></block><l>complexNumberPolarStyle</l></list></block><script><block s="doSetVar"><l>data</l><block s="reportNewList"><list><l>complexNumberCartesianStyle</l><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="data"/></block><block s="reportMonadic"><l><option>cos</option></l><block s="reportListItem"><l>3</l><block var="data"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="data"/></block><block s="reportMonadic"><l><option>sin</option></l><block s="reportListItem"><l>3</l><block var="data"/></block></block></list></block></list></block></block></script><list></list></block><block s="doSetVar"><l>data</l><block s="reportNewList"><list><block s="reportListItem"><l>2</l><block var="data"/></block><block s="reportListItem"><l>3</l><block var="data"/></block></list></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><custom-block s="MathPadProperty %txt of %txt"><l>dimension</l><block var="target"/></custom-block><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></list></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: wrong dimension!ROR: complex number required!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_mathpadplot(costume,data,r,g,b,maxValue,linewidth,dimension,onlypoints,cAttributes,startpoint,choice)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="data"/><block var="r"/><block var="g"/><block var="b"/><custom-block s="MathPadProperty %txt of %txt"><l>maxValue</l><block var="target"/></custom-block><block s="reportListItem"><l>1</l><custom-block s="MathPadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></block><custom-block s="MathPadProperty %txt of %txt"><l>dimension</l><block var="target"/></custom-block><block s="reportListItem"><l>2</l><custom-block s="MathPadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></block><custom-block s="MathPadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block><custom-block s="MathPadProperty %txt of %txt"><l>startPoint</l><block var="target"/></custom-block><block var="choice"/></list></block></list></block><block s="doIf"><block var="changeStartpoint"/><script><custom-block s="set MathPadProperty %txt of %txt to %s"><l>startPoint</l><block var="target"/><block var="data"/></custom-block></script><list></list></block></script></block></script></block-definition><block-definition s="MathPad Example 1: vektor addition" type="command" category="2. Math tools"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="configure sprite %s as a MathPad %br width: %n height: %n color: %n %n %n"><l>thisSprite</l><l>400</l><l>300</l><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="plot %s %l color: %n %n %n %br on MathPad %txt Change startpoint? %b"><l>vector</l><custom-block s="linear operation %s %s %s"><custom-block s="vector %mult%n"><list><l>3</l><l>4</l><l>0</l></list></custom-block><l>+</l><custom-block s="vector %mult%n"><list><l>-5</l><l>0</l><l>4</l></list></custom-block></custom-block><l>255</l><l>0</l><l>0</l><l>thisSprite</l><l><bool>false</bool></l></custom-block><custom-block s="plot %s %l color: %n %n %n %br on MathPad %txt Change startpoint? %b"><l>vector</l><custom-block s="vector %mult%n"><list><l>3</l><l>4</l><l>0</l></list></custom-block><l>0</l><l>0</l><l>255</l><l>thisSprite</l><l><bool>true</bool></l></custom-block><custom-block s="plot %s %l color: %n %n %n %br on MathPad %txt Change startpoint? %b"><l>vector</l><custom-block s="vector %mult%n"><list><l>-5</l><l>0</l><l>4</l></list></custom-block><l>0</l><l>255</l><l>0</l><l>thisSprite</l><l><bool>true</bool></l></custom-block></script></block-definition><block-definition s="MathPad Example 2: affine transformation" type="command" category="2. Math tools"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>triangle</l><l>image</l><l>sourcePoints</l><l>targetPoints</l></list></block><block s="doSetVar"><l>triangle</l><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>0</l></list></block><block s="reportNewList"><list><l>8</l><l>1</l></list></block><block s="reportNewList"><list><l>2</l><l>5</l></list></block></list></block></block><block s="doSetVar"><l>sourcePoints</l><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>0</l></list></block><block s="reportNewList"><list><l>0</l><l>1</l></list></block><block s="reportNewList"><list><l>1</l><l>0</l></list></block></list></block></block><block s="doSetVar"><l>targetPoints</l><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>0</l></list></block><block s="reportNewList"><list><l>0</l><l>-1</l></list></block><block s="reportNewList"><list><l>-1</l><l>0</l></list></block></list></block></block><custom-block s="configure sprite %s as a MathPad %br width: %n height: %n color: %n %n %n"><l>thisSprite</l><l>500</l><l>400</l><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="set MathPad properties lineWidth: %n onlyPoints? %b %br dimension: %n maxValue: %n startPoint: %n %n %n %br on %txt"><l>2</l><l><bool>false</bool></l><l>2</l><l>10</l><l>0</l><l>0</l><l>0</l><l>thisSprite</l></custom-block><custom-block s="plot %s %l color: %n %n %n %br on MathPad %txt Change startpoint? %b"><l>object-of</l><block var="triangle"/><l>255</l><l>0</l><l>0</l><l>thisSprite</l><l><bool>false</bool></l></custom-block><block s="doSetVar"><l>image</l><custom-block s="affine transformation of %l %br by %l --&gt; %l for MathPad"><block var="triangle"/><block var="sourcePoints"/><block var="targetPoints"/></custom-block></block><custom-block s="plot %s %l color: %n %n %n %br on MathPad %txt Change startpoint? %b"><l>object-of</l><block var="image"/><l>0</l><l>0</l><l>255</l><l>thisSprite</l><l><bool>false</bool></l></custom-block></script></block-definition><block-definition s="root of %&apos;term&apos; $nl starting at %&apos;x0&apos; by Newton´s method" type="reporter" category="2. Math tools"><comment x="0" y="0" w="170.16666666666697" collapsed="false">Returns a root of an equation calculated with Newton&apos;s method.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing">ringified term</input><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>epsilon</l><l>i</l><l>f</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="term"/><l><option>reporter</option></l></block></block><script><block s="doReport"><l>ERROR: ringified term required!</l></block></script><list></list></block><block s="doSetVar"><l>epsilon</l><l>0.00001</l></block><block s="doSetVar"><l>f</l><block s="evaluate"><block var="term"/><list><block var="x0"/></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="i"/><l>1000</l></list></block><block s="reportVariadicLessThan"><list><block s="reportMonadic"><l><option>abs</option></l><block var="f"/></block><block s="reportVariadicProduct"><list><block var="epsilon"/><block var="epsilon"/></list></block></list></block></list></block><script><block s="doChangeVar"><l>x0</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="f"/><block var="epsilon"/></list></block><block s="reportDifference"><block var="f"/><block s="evaluate"><block var="term"/><list><block s="reportVariadicSum"><list><block var="x0"/><block var="epsilon"/></list></block></list></block></block></block></block><block s="doSetVar"><l>f</l><block s="evaluate"><block var="term"/><list><block var="x0"/></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="i"/><l>1000</l></list></block><script><block s="doReport"><l>ERROR: no root found!</l></block></script><script><block s="doReport"><block var="x0"/></block></script></block></script></block></script></block-definition><block-definition s="sequence element %&apos;term&apos; ( %&apos;n&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="170" collapsed="false">Reports an element of a sequence.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing">ringified term</input><input type="%n">1</input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="term"/><l><option>reporter</option></l></block></block><script><block s="doReport"><l>ERROR: ringified term required!</l></block></script><list></list></block><block s="doReport"><block s="evaluate"><block var="term"/><list><block var="n"/></list></block></block></script></block-definition><block-definition s="first %&apos;n&apos; elements of sequence %&apos;term&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="236.66666666666666" collapsed="false">Returns a list of the n first elements of a sequence.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%repRing">ringified term</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>i</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="term"/><l><option>reporter</option></l></block></block><script><block s="doReport"><l>ERROR: ringified term required!</l></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="n"/></list></block><script><block s="doAddToList"><block s="evaluate"><block var="term"/><list><block var="i"/></list></block><block var="result"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="sequence of secant slopes for %&apos;term&apos; $nl at %&apos;x0&apos; calculated with sequence %&apos;sequence&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="315" collapsed="false">Returns a list of secant slopes calculated with the given sequence.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing">ringified term</input><input type="%n">2</input><input type="%s">1/n</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>i</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="term"/><l><option>reporter</option></l></block></block><script><block s="doReport"><l>ERROR: ringified term required!</l></block></script><list></list></block><block s="doIf"><block s="reportIsA"><block var="sequence"/><l><option>text</option></l></block><script><block s="doSetVar"><l>sequence</l><custom-block s="first %n elements of sequence %repRing"><l>100</l><block s="reifyReporter"><autolambda><block s="reportQuotient"><l>1</l><l></l></block></autolambda><list></list></block></custom-block></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block s="reportListAttribute"><l><option>length</option></l><block var="sequence"/></block></list></block><script><block s="doAddToList"><block s="reportQuotient"><block s="reportDifference"><block s="evaluate"><block var="term"/><list><block s="reportVariadicSum"><list><block var="x0"/><block s="reportListItem"><block var="i"/><block var="sequence"/></block></list></block></list></block><block s="evaluate"><block var="term"/><list><block var="x0"/></list></block></block><block s="reportListItem"><block var="i"/><block var="sequence"/></block></block><block var="result"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="derivative %&apos;term&apos; ´( %&apos;x&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="232.5" collapsed="false">Reports the secant slope &quot;nearby&quot; the given point.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing">ringified term</input><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>epsilon</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="term"/><l><option>reporter</option></l></block></block><script><block s="doReport"><l>ERROR: ringified term required!</l></block></script><list></list></block><block s="doSetVar"><l>epsilon</l><l>0.00001</l></block><block s="doReport"><block s="reportQuotient"><block s="reportDifference"><block s="evaluate"><block var="term"/><list><block s="reportVariadicSum"><list><block var="x"/><block var="epsilon"/></list></block></list></block><block s="evaluate"><block var="term"/><list><block var="x"/></list></block></block><block var="epsilon"/></block></block></script></block></script></block-definition><block-definition s="%&apos;n&apos; $nl ∑ %&apos;term&apos; $nl %&apos;i&apos; = %&apos;i0&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="106.6666666666667" collapsed="false">Returns a finite sum.</comment><header></header><code></code><translations></translations><inputs><input type="%n">10</input><input type="%repRing">ringified term</input><input type="%upvar">1</input><input type="%n">0</input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="term"/><l><option>reporter</option></l></block></block><script><block s="doReport"><l>ERROR: ringified term required!</l></block></script><list></list></block><block s="doSetVar"><l>result</l><l>0</l></block><block s="doSetVar"><l>i</l><block var="i0"/></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="n"/></list></block><script><block s="doSetVar"><l>result</l><block s="reportVariadicSum"><list><block var="result"/><block s="evaluate"><block var="term"/><list><block var="i"/></list></block></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="%&apos;b&apos; $nl ∫ %&apos;term&apos; dx $nl %&apos;a&apos; $nl calculated with %&apos;n&apos; intervals" type="reporter" category="2. Math tools"><comment x="0" y="0" w="160.5" collapsed="false">Returns the integral of a term calculated with n trapezoids.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%repRing">ringified term</input><input type="%n">1</input><input type="%n">100</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>dx</l><l>x1</l><l>x2</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="term"/><l><option>reporter</option></l></block></block><script><block s="doReport"><l>ERROR: ringified term required!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="a"/><block var="b"/></list></block><script><block s="doReport"><l>0</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="n"/><l>0</l></list></block><script><block s="doReport"><l>ERROR: impossible!</l></block></script><list></list></block><block s="doSetVar"><l>result</l><l>0</l></block><block s="doSetVar"><l>dx</l><block s="reportQuotient"><block s="reportDifference"><block var="b"/><block var="a"/></block><block var="n"/></block></block><block s="doSetVar"><l>x1</l><block var="a"/></block><block s="doRepeat"><block var="n"/><script><block s="doSetVar"><l>x2</l><block s="reportVariadicSum"><list><block var="x1"/><block var="dx"/></list></block></block><block s="doChangeVar"><l>result</l><block s="reportVariadicProduct"><list><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="evaluate"><block var="term"/><list><block var="x2"/></list></block><block s="evaluate"><block var="term"/><list><block var="x1"/></list></block></list></block><l>2</l></block><block var="dx"/></list></block></block><block s="doSetVar"><l>x1</l><block var="x2"/></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="%&apos;function&apos; of %&apos;data&apos; sampled with %&apos;f&apos; Hz" type="reporter" category="2. Math tools"><comment x="0" y="0" w="398" collapsed="false">Reports either &#xD;- data Fourier transformed to frequency-space&#xD;- &quot;raw&quot; FFT (Fast Forier Transformation)data formatted as SciSnap! complex numbers&#xD;- or iFFT real data</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">frequency_spectrum<options>frequency_spectrum&#xD;complex_FFTdata&#xD;iFFT_of_FFTdata</options></input><input type="%l"></input><input type="%n">100</input></inputs><script><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>1</l></list></block><script><block s="doReport"><l>ERROR: no data available!</l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="function"/><l>iFFT_of_FFTdata</l></list></block><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="data"/><l>matrix</l></custom-block></block><script><block s="doReport"><l>ERROR: complex data required!</l></block></script><list></list></block></script><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="data"/><l>vector</l></custom-block></block><script><block s="doReport"><l>ERROR: vector required!</l></block></script><list></list></block></script></block><block s="doReport"><block s="evaluate"><block s="reifyReporter"><autolambda><block s="reportApplyExtension"><l>SciS_FFTops(data,freq,choice)</l><list></list></block></autolambda><list></list></block><list><custom-block s="copy of %l"><block var="data"/></custom-block><block var="f"/><block var="function"/></list></block></block></script></block-definition><block-definition s="b(N= %&apos;N&apos; p= %&apos;p&apos; k= %&apos;k&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="400.46899739583336" collapsed="false">Reports coefficient of the binomial distribution b(N,p,k)=(N choose k)*p^k(1-p)^(N-k)</comment><header></header><code></code><translations></translations><inputs><input type="%n">10</input><input type="%n">0.1</input><input type="%n">2</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="k"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="k"/><block var="N"/></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="p"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="p"/><l>1</l></list></block></list></block></list></block><script><block s="doReport"><block s="reportVariadicProduct"><list><custom-block s="( %n ) %br ( %n )"><block var="N"/><block var="k"/></custom-block><block s="reportVariadicProduct"><list><block s="reportPower"><block var="p"/><block var="k"/></block><block s="reportPower"><block s="reportDifference"><l>1</l><block var="p"/></block><block s="reportDifference"><block var="N"/><block var="k"/></block></block></list></block></list></block></block></script><list></list></block><block s="doReport"><l>ERROR: wrong parameter!</l></block></script></block></script></block-definition><block-definition s="B x= %&apos;x&apos; (N= %&apos;N&apos; p= %&apos;p&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="189.1666666666667" collapsed="false">Reports binomial distribution B(N,p,k).</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">10</input><input type="%n">0.1</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>k</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="x"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="x"/><block var="N"/></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="p"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="p"/><l>1</l></list></block></list></block></list></block><script><block s="doSetVar"><l>result</l><l>0</l></block><block s="doSetVar"><l>k</l><l>0</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="k"/><block var="x"/></list></block><script><block s="doChangeVar"><l>result</l><block s="reportVariadicProduct"><list><custom-block s="( %n ) %br ( %n )"><block var="N"/><block var="k"/></custom-block><block s="reportVariadicProduct"><list><block s="reportPower"><block var="p"/><block var="k"/></block><block s="reportPower"><block s="reportDifference"><l>1</l><block var="p"/></block><block s="reportDifference"><block var="N"/><block var="k"/></block></block></list></block></list></block></block><block s="doChangeVar"><l>k</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doReport"><l>ERROR: wrong parameter!</l></block></script></block></script></block-definition><block-definition s="h(N= %&apos;N&apos; M= %&apos;M&apos; n= %&apos;n&apos; k= %&apos;k&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="254.6356640624998" collapsed="false">Reports coefficient of the hypergeometric distribution.</comment><header></header><code></code><translations></translations><inputs><input type="%n">10</input><input type="%n">3</input><input type="%n">5</input><input type="%n">2</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="M"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="M"/><block var="N"/></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="n"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="n"/><block var="N"/></list></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="k"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="k"/><block var="n"/></list></block></list></block></list></block><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><custom-block s="( %n ) %br ( %n )"><block var="M"/><block var="k"/></custom-block><custom-block s="( %n ) %br ( %n )"><block s="reportDifference"><block var="N"/><block var="M"/></block><block s="reportDifference"><block var="n"/><block var="k"/></block></custom-block></list></block><custom-block s="( %n ) %br ( %n )"><block var="N"/><block var="n"/></custom-block></block></block></script><list></list></block><block s="doReport"><l>ERROR: wrong parameter!</l></block></script></block></script></block-definition><block-definition s="H x= %&apos;x&apos; (N= %&apos;N&apos; M= %&apos;M&apos; n= %&apos;n&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="170.83333333333334" collapsed="false">Reports hypergeometric distribution.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">10</input><input type="%n">3</input><input type="%n">5</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>k</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="x"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="x"/><block var="N"/></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="M"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="M"/><block var="N"/></list></block></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="n"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="n"/><block var="N"/></list></block></list></block></list></block><script><block s="doSetVar"><l>result</l><l>0</l></block><block s="doSetVar"><l>k</l><l>0</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="k"/><block var="x"/></list></block><script><block s="doChangeVar"><l>result</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><custom-block s="( %n ) %br ( %n )"><block var="M"/><block var="k"/></custom-block><custom-block s="( %n ) %br ( %n )"><block s="reportDifference"><block var="N"/><block var="M"/></block><block s="reportDifference"><block var="n"/><block var="k"/></block></custom-block></list></block><custom-block s="( %n ) %br ( %n )"><block var="N"/><block var="n"/></custom-block></block></block><block s="doChangeVar"><l>k</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doReport"><l>ERROR: wrong parameter!</l></block></script></block></script></block-definition><block-definition s="p(θ= %&apos;theta&apos; k= %&apos;k&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="212.96899739583327" collapsed="false">Reports coefficient of the Poisson distribution.</comment><header></header><code></code><translations></translations><inputs><input type="%n">0.05</input><input type="%n">2</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="theta"/></list></block><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="k"/></list></block></list></block><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportPower"><block var="theta"/><block var="k"/></block><block s="reportMonadic"><l><option>e^</option></l><block s="reportMonadic"><l><option>neg</option></l><block var="theta"/></block></block></list></block><custom-block s="%n !"><block var="k"/></custom-block></block></block></script><list></list></block><block s="doReport"><l>ERROR: wrong parameter!</l></block></script></block></script></block-definition><block-definition s="P x= %&apos;x&apos; p(θ= %&apos;theta&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="140.83333333333334" collapsed="false">Reports Poisson distribution.</comment><header></header><code></code><translations></translations><inputs><input type="%n">2</input><input type="%n">0.05</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>k</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="x"/></list></block><block s="reportVariadicLessThanOrEquals"><list><l>0</l><block var="theta"/></list></block></list></block><script><block s="doSetVar"><l>result</l><l>0</l></block><block s="doSetVar"><l>k</l><l>0</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="k"/><block var="x"/></list></block><script><block s="doChangeVar"><l>result</l><block s="reportQuotient"><block s="reportVariadicProduct"><list><block s="reportPower"><block var="theta"/><block var="k"/></block><block s="reportMonadic"><l><option>e^</option></l><block s="reportMonadic"><l><option>neg</option></l><block var="theta"/></block></block></list></block><custom-block s="%n !"><block var="k"/></custom-block></block></block><block s="doChangeVar"><l>k</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script><list></list></block><block s="doReport"><l>ERROR: wrong parameter!</l></block></script></block></script></block-definition><block-definition s="pareto (xmin= %&apos;xmin&apos; k= %&apos;k&apos; x= %&apos;x&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="205.63566406250004" collapsed="false">Reports coefficient of the Pareto distribution.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">3</input><input type="%n">2</input></inputs><script><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="x"/><block var="xmin"/></list></block><script><block s="doReport"><l>0</l></block></script><script><block s="doReport"><block s="reportQuotient"><block s="reportVariadicProduct"><list><block var="k"/><block s="reportPower"><block var="xmin"/><block var="k"/></block></list></block><block s="reportPower"><block var="x"/><block s="reportVariadicSum"><list><block var="k"/><l>1</l></list></block></block></block></block></script></block></script></block-definition><block-definition s="n (x= %&apos;x&apos; μ= %&apos;mue&apos; σ= %&apos;sigma&apos; )" type="reporter" category="2. Math tools"><comment x="0" y="0" w="214.16666666666666" collapsed="false">Reports coefficient of the normal distribution.</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">0</input><input type="%n">1</input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportMonadic"><l><option>e^</option></l><block s="reportVariadicProduct"><list><l>-0.5</l><block s="reportPower"><block s="reportQuotient"><block s="reportDifference"><block var="x"/><block var="mue"/></block><block var="sigma"/></block><l>2</l></block></list></block></block><block s="reportVariadicProduct"><list><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicProduct"><list><l>2</l><custom-block s="π"></custom-block></list></block></block><block var="sigma"/></list></block></block></block></script></block-definition><block-definition s="𝜙" type="reporter" category="2. Math tools"><comment x="0" y="0" w="90" collapsed="false">The empty set.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><custom-block s="set of { %mult%s }"><list></list></custom-block></block></script></block-definition><block-definition s="|R" type="reporter" category="2. Math tools"><comment x="0" y="0" w="148.0769230769232" collapsed="false">The real (computer-) numbers.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doReport"><custom-block s="set of {x| %n %txt x %s %s }"><l>-Infinity</l><l>≤</l><l>≤</l><l>Infinity</l></custom-block></block></script></block-definition><block-definition s="set of { %&apos;elements&apos; }" type="reporter" category="2. Math tools"><comment x="0" y="0" w="176.6738932291671" collapsed="false">Returns a set by listing the elements, predicates, and defined intervals. &#xD;The sequence is: &#xD;set&#xD;isNumerical&#xD;list of elements&#xD;list of intervals&#xD;predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%s"></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportIsA"><block var="elements"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportNewList"><list><l>set</l><custom-block s="is %s a %txt"><block var="elements"/><l>numericalList</l></custom-block><custom-block s="%s without duplicates"><block var="elements"/></custom-block><block s="reportNewList"><list></list></block><l></l></list></block></block></script><script><block s="doReport"><l>ERROR: a list of elements required!</l></block></script></block></script></block></script></block-definition><block-definition s="set of {x| %&apos;predicate&apos; }" type="reporter" category="2. Math tools"><comment x="0" y="0" w="203.64402043269226" collapsed="false">Creation of a set by a predicate. &#xD;Intervals and elements should be defined by another block. If possible the predicate is translated to a list of intervals.&#xD;The sequence is: &#xD;set&#xD;isNumerical&#xD;list of elements&#xD;list of intervals&#xD;predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing">ringified predicate</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>predicateTree</l></list></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="predicate"/><l><option>predicate</option></l></block></block><script><block s="doReport"><l>ERROR: parameter is not a predicate!</l></block></script><list></list></block><block s="doSetVar"><l>predicateTree</l><block s="reportTextSplit"><block var="predicate"/><l><option>blocks</option></l></block></block><block s="doIf"><custom-block s="is %l translatable to intervals?"><block var="predicateTree"/></custom-block><script><block s="doReport"><block s="reportNewList"><list><l>set</l><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportNewList"><list></list></block><custom-block s="predicate tree %l $arrowRightThin list of intervals"><block var="predicateTree"/></custom-block><l></l></list></block></block></script><list></list></block><block s="doReport"><l>ERROR: pure predicate sets are not supported yet.</l></block></script></block></script></block-definition><block-definition s="set of {x| %&apos;leftLimit&apos; %&apos;op1&apos; x %&apos;op2&apos; %&apos;rightLimit&apos; }" type="reporter" category="2. Math tools"><comment x="0" y="0" w="188.05427684294867" collapsed="false">Returns a set with one numerical interval.&#xD;The sequence is: &#xD;set&#xD;isNumerical&#xD;list of elements&#xD;list of intervals&#xD;predicate.</comment><header></header><code></code><translations></translations><inputs><input type="%n">-Infinity<options>-Infinity</options></input><input type="%txt" readonly="true">≤<options>≤&#xD;&lt;</options></input><input type="%s" readonly="true">≤<options>≤&#xD;&lt;</options></input><input type="%s">Infinity<options>Infinity</options></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="leftLimit"/><l><option>number</option></l></block><block s="reportIsA"><block var="rightLimit"/><l><option>number</option></l></block></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="leftLimit"/><block var="rightLimit"/></list></block></list></block></block><script><block s="doReport"><l>ERROR: that defines no interval!</l></block></script><list></list></block><block s="doReport"><block s="reportNewList"><list><l>set</l><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportNewList"><list></list></block><block s="reportNewList"><list><block s="reportNewList"><list><block var="leftLimit"/><block var="op1"/><block var="op2"/><block var="rightLimit"/></list></block></list></block><l></l></list></block></block></script></block></script></block-definition><block-definition s="%&apos;element&apos; ε %&apos;set&apos; ?" type="predicate" category="2. Math tools"><comment x="0" y="0" w="223.57142857142858" collapsed="false">Reports whether &quot;element&quot; is element of &quot;set&quot;.</comment><header></header><code></code><translations></translations><inputs><input type="%s">element</input><input type="%s">set</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: second parameter is not a set!</l></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>4</l><block var="set"/></block><block s="reportNewList"><list></list></block></list></block></block><script><block s="doIf"><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="set"/></block><block var="element"/></custom-block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script><list></list></block><block s="doReport"><block s="reportListContainsItem"><block s="reportListItem"><l>3</l><block var="set"/></block><block var="element"/></block></block></script></block></script></block-definition><block-definition s="%&apos;set1&apos; %&apos;op&apos; %&apos;set2&apos;" type="reporter" category="2. Math tools"><comment x="0" y="0" w="194.40476190476184" collapsed="false">Reports the intersection, union, difference, or cross product of two sets.</comment><header></header><code></code><translations></translations><inputs><input type="%s">set1</input><input type="%s" readonly="true">∩<options>∩&#xD;∪&#xD;\&#xD;X</options></input><input type="%s">set2</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>result</l><l>n</l><l>m</l><l>interval2</l><l>difference</l><l>term1</l><l>term2</l><l>interval1</l></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set1"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: first parameter is not a set!</l></block></script><list></list><comment w="107.14285714285722" collapsed="false">are these two sets?</comment></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set2"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: second parameter is not a set!</l></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>∩</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list><l>set</l><block s="reportVariadicAnd"><list><block s="reportListItem"><l>2</l><block var="set1"/></block><block s="reportListItem"><l>2</l><block var="set2"/></block></list></block><block s="reportConcatenatedLists"><list><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicOr"><list><block s="reportListContainsItem"><block s="reportListItem"><l>3</l><block var="set1"/></block><block var="element"/></block><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="set1"/></block><block var="element"/></custom-block></list></block></autolambda><list><l>element</l></list></block><block s="reportListItem"><l>3</l><block var="set2"/></block></block><block s="reportKeep"><block s="reifyPredicate"><autolambda><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="set2"/></block><block var="element"/></custom-block></autolambda><list><l>element</l></list></block><block s="reportListItem"><l>3</l><block var="set1"/></block></block></list></block><custom-block s="intersect interval lists %l and %l"><block s="reportListItem"><l>4</l><block var="set1"/></block><block s="reportListItem"><l>4</l><block var="set2"/></block></custom-block><l></l></list></block></block><block s="doReport"><custom-block s="cleaned up set %l"><block var="result"/></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>∪</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list><l>set</l><block s="reportVariadicAnd"><list><block s="reportListItem"><l>2</l><block var="set1"/></block><block s="reportListItem"><l>2</l><block var="set2"/></block></list></block><block s="reportConcatenatedLists"><list><block s="reportListItem"><l>3</l><block var="set1"/></block><block s="reportListItem"><l>3</l><block var="set2"/></block></list></block><custom-block s="merge intervals %l"><block s="reportConcatenatedLists"><list><block s="reportListItem"><l>4</l><block var="set1"/></block><block s="reportListItem"><l>4</l><block var="set2"/></block></list></block></custom-block><l></l></list></block></block><block s="doReport"><custom-block s="cleaned up set %l"><block var="result"/></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>\</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list><l>set</l><block s="reportVariadicAnd"><list><block s="reportListItem"><l>2</l><block var="set1"/></block><block s="reportListItem"><l>2</l><block var="set2"/></block></list></block><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportListContainsItem"><block s="reportListItem"><l>3</l><block var="set2"/></block><block var="element"/></block><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="set2"/></block><block var="element"/></custom-block></list></block></block></autolambda><list><l>element</l></list></block><block s="reportListItem"><l>3</l><block var="set1"/></block></block><block s="reportNewList"><list></list></block><l></l></list></block></block><block s="doIf"><block s="reportNot"><block s="reportListItem"><l>2</l><block var="result"/></block></block><script><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set1"/></block></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set2"/></block></block><l>0</l></list></block></list></block><script><block s="doReport"><l>ERROR: impossible operation for not numerical sets.</l></block></script><script><block s="doReport"><block s="reportNewList"><list><l>set</l><block s="reportListItem"><l>2</l><block var="result"/></block><block s="reportListItem"><l>3</l><block var="result"/></block><block s="reportListItem"><l>4</l><block var="set1"/></block><l></l></list></block></block></script></block></script><list></list></block><block s="doSetVar"><l>set1</l><custom-block s="copy of %l"><block var="set1"/></custom-block></block><block s="doSetVar"><l>set2</l><custom-block s="copy of %l"><block var="set2"/></custom-block></block><block s="doReplaceInList"><l>4</l><block var="set2"/><block s="reportConcatenatedLists"><list><block s="reportListItem"><l>4</l><block var="set2"/></block><custom-block s="list of numbers %l $arrowRightOutline list of intervals"><block s="reportListItem"><l>3</l><block var="set2"/></block></custom-block></list></block></block><block s="doReplaceInList"><l>3</l><block var="set2"/><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>m</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="m"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set2"/></block></block></list></block><script><block s="doSetVar"><l>interval2</l><block s="reportListItem"><block var="m"/><block s="reportListItem"><l>4</l><block var="set2"/></block></block></block><block s="doSetVar"><l>n</l><l>1</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="n"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set1"/></block></block></list></block><script><block s="doSetVar"><l>interval1</l><block s="reportListItem"><block var="n"/><block s="reportListItem"><l>4</l><block var="set1"/></block></block></block><block s="doSetVar"><l>difference</l><custom-block s="difference of interval %l and %l"><block var="interval1"/><block var="interval2"/></custom-block></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="difference"/></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><custom-block s="intersect two intervals %l %l"><block var="interval1"/><block var="interval2"/></custom-block></block><l>0</l></list></block></list></block><script><block s="doReplaceInList"><l>4</l><block var="set1"/><block s="reportConcatenatedLists"><list><block s="reportListItem"><l>4</l><block var="set1"/></block><block var="difference"/></list></block></block><block s="doDeleteFromList"><block var="n"/><block s="reportListItem"><l>4</l><block var="set1"/></block></block></script><list></list></block><block s="doChangeVar"><l>n</l><l>1</l></block></script></block><block s="doChangeVar"><l>m</l><l>1</l></block></script><comment w="120" collapsed="false">compare the mth interval with all intervals of set1</comment></block><block s="doReplaceInList"><l>4</l><block var="result"/><custom-block s="merge intervals %l"><block s="reportListItem"><l>4</l><block var="set1"/></block></custom-block></block><block s="doReport"><custom-block s="cleaned up set %l"><block var="result"/></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="op"/><l>X</l></list></block><script><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set1"/></block></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set2"/></block></block><l>0</l></list></block></list></block><script><block s="doReport"><l>ERROR: impossible operation with infinite sets!</l></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list><l>set</l><block s="reportVariadicAnd"><list><block s="reportListItem"><l>2</l><block var="set1"/></block><block s="reportListItem"><l>2</l><block var="set2"/></block></list></block><block s="reportNewList"><list></list></block><block s="reportNewList"><list></list></block><l></l></list></block></block><block s="doForEach"><l>item_1</l><block s="reportListItem"><l>3</l><block var="set1"/></block><script><block s="doForEach"><l>item_2</l><block s="reportListItem"><l>3</l><block var="set2"/></block><script><block s="doIfElse"><block s="reportIsA"><block var="item_1"/><l><option>list</option></l></block><script><block s="doSetVar"><l>term1</l><block var="item_1"/></block></script><script><block s="doSetVar"><l>term1</l><block s="reportNewList"><list><block var="item_1"/></list></block></block></script></block><block s="doIfElse"><block s="reportIsA"><block var="item_2"/><l><option>list</option></l></block><script><block s="doSetVar"><l>term2</l><block var="item_2"/></block></script><script><block s="doSetVar"><l>term2</l><block s="reportNewList"><list><block var="item_2"/></list></block></block></script></block><block s="doAddToList"><block s="reportConcatenatedLists"><list><block var="term1"/><block var="term2"/></list></block><block s="reportListItem"><l>3</l><block var="result"/></block></block></script></block></script></block><block s="doReport"><block var="result"/></block></script><list></list></block></script></block></script></block-definition><block-definition s="is %&apos;set1&apos; ⊆ %&apos;set2&apos; ?" type="predicate" category="2. Math tools"><comment x="0" y="0" w="108.57142857142861" collapsed="false">Is set1 subset of set2?</comment><header></header><code></code><translations></translations><inputs><input type="%s">set1</input><input type="%s">set2</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set1"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: first parameter is not a set!</l></block></script><list></list><comment w="107.14285714285722" collapsed="false">are these two sets?</comment></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set2"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: second parameter is not a set!</l></block></script><list></list></block><block s="doForEach"><l>interval</l><block s="reportListItem"><l>4</l><block var="set1"/></block><script><block s="doIf"><block s="reportNot"><custom-block s="is interval %l subinterval of interval list %l ?"><block var="interval"/><block s="reportListItem"><l>4</l><block var="set2"/></block></custom-block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block></script></block><block s="doForEach"><l>element</l><block s="reportListItem"><l>3</l><block var="set1"/></block><script><block s="doIf"><block s="reportNot"><block s="reportVariadicOr"><list><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="set2"/></block><block var="element"/></custom-block><block s="reportListContainsItem"><block s="reportListItem"><l>3</l><block var="set2"/></block><block var="element"/></block></list></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block><comment w="144.2857142857143" collapsed="false">item is not element of set2</comment></block></script><list></list></block></script><comment w="116.16666666666674" collapsed="false">Compare elements</comment></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script></block-definition><block-definition s="is %&apos;set1&apos; = %&apos;set2&apos; ?" type="predicate" category="2. Math tools"><comment x="0" y="0" w="142.3076923076923" collapsed="false">Are theses two sets equal?</comment><header></header><code></code><translations></translations><inputs><input type="%s">set1</input><input type="%s">set2</input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set1"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: first parameter is not a set!</l></block></script><list></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set2"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: second parameter is not a set!</l></block></script><list></list></block><block s="doReport"><block s="reportVariadicAnd"><list><custom-block s="is %s ⊆ %s ?"><block var="set1"/><block var="set2"/></custom-block><custom-block s="is %s ⊆ %s ?"><block var="set2"/><block var="set1"/></custom-block></list></block></block></script></block></script></block-definition><block-definition s="%&apos;n&apos; elements of %&apos;set&apos; (numbers ε |N)" type="reporter" category="2. Math tools"><comment x="0" y="0" w="187.91208791208803" collapsed="false">Reports up to n elements of a set. Numers are natural numbers smaller than maxSetValue in SciSnap!-properties.</comment><header></header><code></code><translations></translations><inputs><input type="%n">10</input><input type="%s">set</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>result</l><l>i</l></list></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="set"/><l>set</l></custom-block></block><script><block s="doReport"><l>ERROR: second parameter is not a set!</l></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportListItem"><l>3</l><block var="set"/></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="set"/></block></block><l>0</l></list></block><script><block s="doSetVar"><l>i</l><l>0</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="i"/><custom-block s="SciSnap! global property %s"><l>maxSetValue</l></custom-block></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>2</l><block var="n"/></list></block><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>3</l><block var="set"/></block></block></list></block></list></block></list></block><script><block s="doIf"><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="set"/></block><block var="i"/></custom-block><script><block s="doAddToList"><block var="i"/><block var="result"/></block></script><list></list></block><block s="doChangeVar"><l>i</l><l>1</l></block></script><comment w="135.71428571428572" collapsed="false">maxSetValue should be close to infinity ;-)</comment></block></script><list></list></block><block s="doSetVar"><l>result</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportListIndex"><block var="value"/><block var="list"/></block><block var="index"/></list></block></autolambda><list><l>value</l><l>index</l><l>list</l></list></block><block var="result"/></block><comment w="57.142857142857146" collapsed="false">clean up</comment></block><block s="doUntil"><block s="reportVariadicLessThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="result"/></block><block var="n"/></list></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="result"/></block></script></block><block s="doIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="result"/></block><l><option>list</option></l></block><script><block s="doReport"><block s="reportApplyExtension"><l>lst_sort(list, fn)</l><list><block var="result"/><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>1</l><l/></block><block s="reportListItem"><l>1</l><l/></block></list></block></autolambda><list></list></block></list></block></block></script><script><block s="doReport"><block s="reportApplyExtension"><l>lst_sort(list, fn)</l><list><block var="result"/><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l></l></list></block></autolambda><list></list></block></list></block></block></script></block></script></block></script></block-definition><block-definition s="element %&apos;element&apos; $arrowRightOutline text" type="reporter" category="2. Math tools"><comment x="0" y="0" w="116.10256410256414" collapsed="false">Reports simple types, sets and lists as string.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>is first element</l><l>elements</l><l>i</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportIsA"><block var="element"/><l><option>number</option></l></block><script><block s="doReport"><block s="reportJoinWords"><list><l></l><block var="element"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportIsA"><block var="element"/><l><option>Boolean</option></l></block><script><block s="doIfElse"><block var="element"/><script><block s="doReport"><l>true</l></block></script><script><block s="doReport"><l>false</l></block></script></block></script><list></list></block><block s="doIf"><block s="reportIsA"><block var="element"/><l><option>text</option></l></block><script><block s="doReport"><block var="element"/></block></script><list></list></block><block s="doIf"><block s="reportIsA"><block var="element"/><l><option>list</option></l></block><script><block s="doIfElse"><custom-block s="is %s a %txt"><block var="element"/><l>set</l></custom-block><script><block s="doSetVar"><l>result</l><l>{</l></block><block s="doSetVar"><l>is first element</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doSetVar"><l>elements</l><block s="reportListItem"><l>3</l><block var="element"/></block></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>4</l><block var="element"/></block></block><l>0</l></list></block><script><block s="doSetVar"><l>i</l><l>0</l></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="i"/><custom-block s="SciSnap! global property %s"><l>maxSetValue</l></custom-block></list></block><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="elements"/></block><block s="reportVariadicSum"><list><l>40</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>3</l><block var="element"/></block></block></list></block></list></block></list></block><script><block s="doIf"><custom-block s="evaluate intervals %l with %s"><block s="reportListItem"><l>4</l><block var="element"/></block><block var="i"/></custom-block><script><block s="doAddToList"><block var="i"/><block var="elements"/></block></script><list></list></block><block s="doChangeVar"><l>i</l><l>1</l></block></script><comment w="135.71428571428572" collapsed="false">maxSetValue should be close to infinity ;-)</comment></block></script><list></list></block><block s="doSetVar"><l>elements</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportListIndex"><block var="value"/><block var="list"/></block><block var="index"/></list></block></autolambda><list><l>value</l><l>index</l><l>list</l></list></block><block var="elements"/></block></block><block s="doUntil"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="elements"/></block><l>20</l></list></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="elements"/></block></script></block><block s="doForEach"><l>item</l><block var="elements"/><script><block s="doIfElse"><block var="is first element"/><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><custom-block s="element %s $arrowRightOutline text"><block var="item"/></custom-block></list></block></block><block s="doSetVar"><l>is first element</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l>,</l><custom-block s="element %s $arrowRightOutline text"><block var="item"/></custom-block></list></block></block></script></block></script></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="elements"/></block><l>18</l></list></block><script><block s="doReport"><block s="reportJoinWords"><list><block var="result"/><l>,...}</l></list></block></block></script><script><block s="doReport"><block s="reportJoinWords"><list><block var="result"/><l>}</l></list></block></block></script></block></script><script><block s="doSetVar"><l>result</l><l>[</l></block><block s="doUntil"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="element"/></block><l>20</l></list></block><script><block s="doDeleteFromList"><l><option>last</option></l><block var="element"/></block></script></block><block s="doSetVar"><l>is first element</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doForEach"><l>item</l><block var="element"/><script><block s="doIfElse"><block var="is first element"/><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><custom-block s="element %s $arrowRightOutline text"><block var="item"/></custom-block></list></block></block><block s="doSetVar"><l>is first element</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><l>,</l><custom-block s="element %s $arrowRightOutline text"><block var="item"/></custom-block></list></block></block></script></block></script></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="element"/></block><l>18</l></list></block><script><block s="doReport"><block s="reportJoinWords"><list><block var="result"/><l>,...]</l></list></block></block></script><script><block s="doReport"><block s="reportJoinWords"><list><block var="result"/><l>]</l></list></block></block></script></block></script></block></script><list></list></block><block s="doReport"><block s="reportJoinWords"><list><l>ERROR: no simple type!</l></list></block></block></script></block></script></block-definition><block-definition s="text %&apos;text&apos; $arrowRightOutline elements" type="reporter" category="2. Math tools"><comment x="0" y="0" w="124.00000000000006" collapsed="false">Converts a string to a list of elements.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">1,2,[3,4],{6,7,8..12}</input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>inputlist</l><l>element</l><l>substring</l><l>i</l><l>element1</l><l>element2</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>text</l><block s="reportTextSplit"><block var="text"/><l>,</l></block></block><block s="doUntil"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="text"/></block><l>1</l></list></block><script><block s="doSetVar"><l>element</l><custom-block s="replace %txt %txt with %txt in %txt"><l>all</l><l> </l><l></l><block s="reportListItem"><l>1</l><block var="text"/></block></custom-block></block><block s="doDeleteFromList"><l>1</l><block var="text"/></block><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="element"/></block><l>0</l></list></block><script><block s="doIfElse"><block s="reportIsA"><block var="element"/><l><option>number</option></l><comment w="90" collapsed="false">find numbers</comment></block><script><block s="doAddToList"><block var="element"/><block var="result"/></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="element"/><l>true</l></list><comment w="90" collapsed="false">find booleans</comment></block><script><block s="doAddToList"><block s="reportBoolean"><l><bool>true</bool></l></block><block var="result"/></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="element"/><l>false</l></list></block><script><block s="doAddToList"><block s="reportBoolean"><l><bool>false</bool></l></block><block var="result"/></block></script><script><block s="doSetVar"><l>i</l><custom-block s="index of %txt in %txt"><l>.</l><block var="element"/></custom-block><comment w="110.66666666666669" collapsed="false">find number intervals</comment></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="i"/><l>0</l></list></block><script><block s="doSetVar"><l>element1</l><custom-block s="substring of %txt from %n to %n"><block var="element"/><l>1</l><block s="reportDifference"><block var="i"/><l>1</l></block></custom-block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportLetter"><block s="reportVariadicSum"><list><block var="i"/><l>1</l></list></block><block var="element"/></block><l>.</l></list></block><script><block s="doSetVar"><l>element2</l><custom-block s="substring of %txt from %n to %n"><block var="element"/><block s="reportVariadicSum"><list><block var="i"/><l>2</l></list></block><block s="reportTextAttribute"><l><option>length</option></l><block var="element"/></block></custom-block></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="element1"/><l><option>number</option></l></block><block s="reportIsA"><block var="element2"/><l><option>number</option></l></block></list></block><script><block s="doSetVar"><l>i</l><block var="element1"/></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="element2"/></list></block><script><block s="doAddToList"><block var="i"/><block var="result"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block></script><script><block s="doReport"><l>ERROR: missing number close to ".."</l></block></script></block></script><script><block s="doReport"><l>ERROR: missing "."</l></block></script></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportLetter"><l>1</l><block var="element"/></block><l>[</l></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><custom-block s="index of %txt in %txt"><l>]</l><block var="element"/></custom-block><l>0</l></list></block><script><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="text"/></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><custom-block s="index of %txt in %txt"><l>]</l><block s="reportListItem"><l>1</l><block var="text"/></block></custom-block><l>0</l></list></block></list></block><script><block s="doSetVar"><l>element</l><block s="reportJoinWords"><list><block var="element"/><l>,</l><block s="reportListItem"><l>1</l><block var="text"/></block></list></block></block><block s="doDeleteFromList"><l>1</l><block var="text"/></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><custom-block s="index of %txt in %txt"><l>]</l><block s="reportListItem"><l>1</l><block var="text"/></block></custom-block><l>0</l></list></block><block s="reportVariadicEquals"><list><custom-block s="index of %txt in %txt"><l>]</l><block var="element"/></custom-block><l>0</l></list></block></list></block><script><block s="doSetVar"><l>element</l><block s="reportJoinWords"><list><block var="element"/><l>,</l><block s="reportListItem"><l>1</l><block var="text"/></block></list></block></block><block s="doDeleteFromList"><l>1</l><block var="text"/></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><custom-block s="index of %txt in %txt"><l>]</l><block var="element"/></custom-block><l>0</l></list></block><script><block s="doSetVar"><l>i</l><custom-block s="index of %txt in %txt"><l>]</l><block var="element"/></custom-block></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="i"/><l>2</l></list></block><script><block s="doAddToList"><custom-block s="text %txt $arrowRightOutline elements"><custom-block s="substring of %txt from %n to %n"><block var="element"/><l>2</l><block s="reportDifference"><block var="i"/><l>1</l></block></custom-block></custom-block><block var="result"/></block></script><script><block s="doReport"><l>ERROR: missing "]"</l></block></script></block></script><script><block s="doReport"><l>ERROR: missing "]"</l></block></script></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportLetter"><l>1</l><block var="element"/></block><l>{</l></list><comment w="90" collapsed="false">find sets</comment></block><script><block s="doIf"><block s="reportVariadicEquals"><list><custom-block s="index of %txt in %txt"><l>}</l><block var="element"/></custom-block><l>0</l></list></block><script><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="text"/></block><l>0</l></list></block><block s="reportVariadicGreaterThan"><list><custom-block s="index of %txt in %txt"><l>}</l><block s="reportListItem"><l>1</l><block var="text"/></block></custom-block><l>0</l></list></block></list></block><script><block s="doSetVar"><l>element</l><block s="reportJoinWords"><list><block var="element"/><l>,</l><block s="reportListItem"><l>1</l><block var="text"/></block></list></block></block><block s="doDeleteFromList"><l>1</l><block var="text"/></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThan"><list><custom-block s="index of %txt in %txt"><l>}</l><block s="reportListItem"><l>1</l><block var="text"/></block></custom-block><l>0</l></list></block><block s="reportVariadicEquals"><list><custom-block s="index of %txt in %txt"><l>}</l><block var="element"/></custom-block><l>0</l></list></block></list></block><script><block s="doSetVar"><l>element</l><block s="reportJoinWords"><list><block var="element"/><l>,</l><block s="reportListItem"><l>1</l><block var="text"/></block></list></block></block><block s="doDeleteFromList"><l>1</l><block var="text"/></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><custom-block s="index of %txt in %txt"><l>}</l><block var="element"/></custom-block><l>0</l></list></block><script><block s="doSetVar"><l>i</l><custom-block s="index of %txt in %txt"><l>}</l><block var="element"/></custom-block></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="i"/><l>2</l></list></block><script><block s="doSetVar"><l>element1</l><block s="reportNewList"><list><l>set</l><l></l><block s="reportNewList"><list></list></block><block s="reportNewList"><list></list></block><l></l></list></block></block><block s="doReplaceInList"><l>3</l><block var="element1"/><custom-block s="text %txt $arrowRightOutline elements"><custom-block s="substring of %txt from %n to %n"><block var="element"/><l>2</l><block s="reportDifference"><block var="i"/><l>1</l></block></custom-block></custom-block></block><block s="doReplaceInList"><l>2</l><block var="element1"/><custom-block s="is %s a %txt"><block s="reportListItem"><l>3</l><block var="element1"/></block><l>numericalList</l></custom-block></block><block s="doAddToList"><block var="element1"/><block var="result"/></block></script><script><block s="doReport"><l>ERROR: missing "}"</l></block></script></block></script><script><block s="doReport"><l>ERROR: missing "}"</l></block></script></block></script><script><block s="doAddToList"><block var="element"/><block var="result"/><comment w="172" collapsed="false">other elements interpreted as string</comment></block></script></block></script><comment w="90" collapsed="false">find lists</comment></block></script></block></script></block></script></block></script></block></script><list></list></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="configure %&apos;sprite&apos; as an ImagePad width: %&apos;width&apos; $nl height: %&apos;height&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="142.5" collapsed="false">Creates a new  empty costume of the specified size and color and sets local properties</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>costumeWidth</l><l>costumeHeight</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>sprite</l><l>theStage</l></block><block s="doSetVar"><l>costumeWidth</l><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block></block><block s="doSetVar"><l>costumeHeight</l><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="gotoXY"><l>0</l><l>0</l></block><block s="setHeading"><l>90</l></block><block s="show"></block></script><list></list></block><list></list></block><block s="doSetVar"><l>costumeWidth</l><block var="width"/></block><block s="doSetVar"><l>costumeHeight</l><block var="height"/></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myProperties</l></list></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>sprite</l><l>myData</l></list></block><block s="doSetVar"><l>myProperties</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>myData</l><block s="reportNewList"><list></list></block></block><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="costumeWidth"/><block var="costumeHeight"/><block var="r"/><block var="g"/><block var="b"/></list></block></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfConfiguration</l><l>ImagePad</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfData</l><l>none</l></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>lineProperties</l><block s="reportNewList"><list><l>continuous</l><l>1</l><l>0</l><l>0</l><l>0</l><l>180</l><l>180</l><l>180</l></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>dataProperties</l><block s="reportNewList"><list><l>notSet</l><l>notSet</l><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>imageProperties</l><block s="reportNewList"><list><l>notSet</l><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>gridProperties</l><block s="reportNewList"><list><l>40</l><l>40</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="costumeWidth"/><l>40</l></block></block><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="costumeHeight"/><l>40</l></block></block></list></block></list></block><block var="myProperties"/></block><block s="doAddToList"><block s="reportNewList"><list><l>gridColors</l><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>0</l><l>0</l><l>black</l></list></block><block s="reportNewList"><list><l>150</l><l>150</l><l>150</l><l>gray</l></list></block><block s="reportNewList"><list><l>255</l><l>255</l><l>255</l><l>white</l></list></block><block s="reportNewList"><list><l>255</l><l>0</l><l>0</l><l>red</l></list></block><block s="reportNewList"><list><l>255</l><l>255</l><l>0</l><l>yellow</l></list></block><block s="reportNewList"><list><l>255</l><l>0</l><l>255</l><l>magenta</l></list></block><block s="reportNewList"><list><l>0</l><l>255</l><l>0</l><l>green</l></list></block><block s="reportNewList"><list><l>0</l><l>255</l><l>255</l><l>cyan</l></list></block><block s="reportNewList"><list><l>0</l><l>0</l><l>255</l><l>blue</l></list></block></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doAddToList"><block s="reportNewList"><list><l>costumeProperties</l><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="r"/><block var="g"/><block var="b"/><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block var="width"/></block><l>2</l></block><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="height"/></block><l>2</l></block></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block></script><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doAddToList"><block s="reportNewList"><list><l>costumeProperties</l><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/><l>0</l><l>0</l></list></block></list></block><block var="myProperties"/></block></script><list></list></block><list></list></block></script></block></script></block></script><scripts><comment x="520.8333333333335" y="80.16666666666669" w="192.5" collapsed="false">costume properties:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;6: left offset for Image position on stage&#xD;7: upper offset for Image position on stage&#xD;&#xD;line properties:&#xD;1: lineWidth&#xD;2: line color red&#xD;3: line color green&#xD;4: lineColor blue&#xD;&#xD;data properties:&#xD;1: minValue&#xD;2: maxValue&#xD;3: columns&#xD;4: rows&#xD;&#xD;image properties:&#xD;1: type (RGB,FITS)&#xD;2: imageWidth&#xD;3: imageHeight&#xD;&#xD;grid colors: &#xD;list of usable colors:&#xD;1:black 2:gray 3:white&#xD;4: red 5:yellow 6:magenta&#xD;7:green 8:cyan 9:blue&#xD;</comment></scripts></block-definition><block-definition s="is %&apos;sprite&apos; an ImagePad?" type="predicate" category="6. ImagePad for image operations"><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><l><option>myself</option></l></block><block s="reifyReporter"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>ImagePad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><script><block s="doReport"><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>ImagePad</l></custom-block></autolambda><list></list></block><list></list></block></block></script><script><block s="doReport"><block s="reportAskFor"><block s="reportObject"><block var="sprite"/></block><block s="reifyReporter"><autolambda><custom-block s="is the global %b property %txt %br with value %s present ?"><l><bool>false</bool></l><l>typeOfConfiguration</l><l>ImagePad</l></custom-block></autolambda><list></list></block><list></list></block></block></script></block></script></block></script></block></script></block-definition><block-definition s="ImagePadProperty %&apos;name&apos; of %&apos;sprite&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="95" collapsed="false">Reads the value of an existing property.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">costumeProperties<options>typeOfConfiguration&#xD;typeOfData&#xD;costumeProperties&#xD;lineProperties&#xD;dataProperties&#xD;imageProperties&#xD;gridProperties&#xD;gridColors</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>h</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as ImagePad!</l></block></script><list></list></block><block s="doSetVar"><l>result</l><l>not found</l></block><block s="doSetVar"><l>name</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="name"/><l> </l></block></block></block><block s="doSetVar"><l>h</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><block s="reportListItem"><l>1</l><l/></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportListItem"><l>2</l><l/></block></block></script><list></list></block><block s="doReport"><l></l></block></script><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="set ImagePadProperty %&apos;name&apos; of %&apos;sprite&apos; to %&apos;value&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="66.66666666666667" collapsed="false">Sets the value of an existing property or inserts it anew.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">costumeProperties<options>typeOfConfiguration&#xD;typeOfData&#xD;costumeProperties&#xD;lineProperties&#xD;dataProperties&#xD;imageProperties&#xD;gridProperties&#xD;gridColors</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>done</l><l>h</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>name</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="name"/><l> </l></block></block></block><block s="doSetVar"><l>done</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>h</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><block s="reportListItem"><l>1</l><l/></block></list></block><script><block s="doReplaceInList"><l>2</l><l/><block var="value"/></block><block s="doSetVar"><l>done</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="doReport"><l></l></block></script><list></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block></block><block s="doIf"><block s="reportNot"><block var="done"/></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doAddToList"><l></l><l/></block></script><list></list></block><list><block s="reportNewList"><list><block var="name"/><block var="value"/></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></list></block></script><list></list></block></script></block></script></block-definition><block-definition s="set ImagePad costume properties width: %&apos;width&apos; $nl height: %&apos;height&apos; back color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; $nl offsets: %&apos;leftOffset&apos; %&apos;upperOffset&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="117.66039530436235" collapsed="false">a simple way to set some costume attributes:&#xD;1: width&#xD;2: height&#xD;3: back color red&#xD;4: back color green&#xD;5: back color blue&#xD;6: left offset for Image&#xD;    position on stage&#xD;7: upper offset for Image&#xD;    position on stage</comment><header></header><code></code><translations></translations><inputs><input type="%n">400</input><input type="%n">300</input><input type="%n">245</input><input type="%n">245</input><input type="%n">245</input><input type="%n">0</input><input type="%n">0</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>costumeProperties</l><l>theStage</l><block s="reportNewList"><list><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="r"/><block var="g"/><block var="b"/><block var="leftOffset"/><block var="upperOffset"/></list></block></custom-block></script><script><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>costumeProperties</l><block var="target"/><block s="reportNewList"><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/><block var="leftOffset"/><block var="upperOffset"/></list></block></custom-block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_newcostume(w,h,r,g,b)</l><list><block var="width"/><block var="height"/><block var="r"/><block var="g"/><block var="b"/></list></block></block></script><list></list></block><list></list></block></script></block></script></block-definition><block-definition s="set ImagePad line properties style: %&apos;style&apos; $nl width: %&apos;lineWidth&apos; color: %&apos;r&apos; %&apos;g&apos; %&apos;b&apos; $nl fill color: %&apos;rfill&apos; %&apos;gfill&apos; %&apos;bfill&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="105.68386840820364" collapsed="false">a simple way to set some net attributes:&#xD;line properties:&#xD;1: line style&#xD;2: lineWidth&#xD;3: line color red&#xD;4: line color green&#xD;5: lineColor blue&#xD;6: fill color red&#xD;6: fill color green&#xD;8: fill color blue</comment><header></header><code></code><translations></translations><inputs><input type="%txt" readonly="true">continuous<options>continuous&#xD;dashed&#xD;dash-dot&#xD;dot-dot</options></input><input type="%n">1</input><input type="%n">0</input><input type="%n">0</input><input type="%n">0</input><input type="%n">180</input><input type="%n">180</input><input type="%n">180</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>lineProperties</l><block var="target"/><block s="reportNewList"><list><block var="style"/><block var="lineWidth"/><block var="r"/><block var="g"/><block var="b"/><block var="rfill"/><block var="gfill"/><block var="bfill"/></list></block></custom-block></script></block></script></block-definition><block-definition s="set ImagePad grid properties on %&apos;sprite&apos; $nl horizontal cells: %&apos;hNumber&apos; vertical cells: %&apos;vNumber&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="140.9937286376957" collapsed="false">a simple way to set some grid attributes:&#xD;1: number of horizontal cells&#xD;2: number of vertical cells&#xD;3: cell width&#xD;4: cell height&#xD;&#xD;grid data are stored in myData</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">400</input><input type="%n">400</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>wh</l><l>ws</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GridPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>wh</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block s="reportListItem"><l>1</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block var="hNumber"/></block></block></block><block s="doSetVar"><l>ws</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block var="vNumber"/></block></block></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="wh"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="ws"/><l>1</l></list></block></list></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: cell size is too small!</l></custom-block></script><list></list></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>gridProperties</l><block var="target"/><block s="reportNewList"><list><block var="hNumber"/><block var="vNumber"/><block var="wh"/><block var="ws"/></list></block></custom-block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><l>myData</l><custom-block s="%n x %n table initialized with %s"><block var="hNumber"/><block var="vNumber"/><l>2</l></custom-block></list></block></script></block></script></block-definition><block-definition s="import %&apos;choice&apos; from %&apos;source&apos; $nl to myData on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="118.57142857142861" collapsed="false">Imports costume-data or FITS-data to a data list.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">costume(RGB)data<options>costume(RGB)data&#xD;FITSData</options></input><input type="%s" readonly="true">currentCostume<options>currentCostume&#xD;filepicker&#xD;list with dimensions at top</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>header</l><l>imagedata</l><l>costumeData</l><l>min</l><l>max</l><l>w</l><l>h</l><l>target</l><l>input</l><l>costumeData</l><l>ready</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>choice</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="choice"/><l> </l></block></block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="source"/><l>filepicker</l></list></block><script><block s="doSetVar"><l>ready</l><block s="reportApplyExtension"><l>SciS_readFileWithFilepicker()</l><list></list></block></block><block s="doWaitUntil"><block s="reportListItem"><l>1</l><block s="evaluate"><block var="ready"/><list></list></block></block></block><block s="doSetVar"><l>source</l><block s="reportListItem"><l>2</l><block s="evaluate"><block var="ready"/><list></list></block></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>FITSData</l></list></block><script><block s="doIfElse"><block s="reportNot"><block s="reportIsA"><block var="source"/><l><option>text</option></l></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: FITS data have to be text!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doSetVar"><l>imagedata</l><block s="reportApplyExtension"><l>SciS_extractFITSdata(FITSdata)</l><list><block var="source"/></list></block></block><block s="doSetVar"><l>w</l><block s="reportListItem"><l>1</l><block var="imagedata"/></block></block><block s="doSetVar"><l>h</l><block s="reportListItem"><l>2</l><block var="imagedata"/></block></block><block s="doSetVar"><l>min</l><block s="reportListItem"><l>3</l><block var="imagedata"/></block></block><block s="doSetVar"><l>max</l><block s="reportListItem"><l>4</l><block var="imagedata"/></block></block><block s="doSetVar"><l>costumeData</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSetVar"><l>myProperties</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>myData</l><l></l></block></script><list></list></block><list><block s="reportListItem"><l>6</l><block var="imagedata"/></block></list></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfConfiguration</l><l>ImagePad</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfData</l><l>FITS</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>lineProperties</l><block s="reportNewList"><list><l>1</l><l>0</l><l>0</l><l>0</l></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>dataProperties</l><block s="reportNewList"><list><block var="min"/><block var="max"/><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>6</l><block var="imagedata"/></block></block></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>imageProperties</l><block s="reportNewList"><list><l>FITS</l><block var="w"/><block var="h"/></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>gridProperties</l><block s="reportNewList"><list><l>40</l><l>40</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="w"/><l>40</l></block></block><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="h"/><l>40</l></block></block></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>gridColors</l><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>0</l><l>0</l><l>black</l></list></block><block s="reportNewList"><list><l>150</l><l>150</l><l>150</l><l>gray</l></list></block><block s="reportNewList"><list><l>255</l><l>255</l><l>255</l><l>white</l></list></block><block s="reportNewList"><list><l>255</l><l>0</l><l>0</l><l>red</l></list></block><block s="reportNewList"><list><l>255</l><l>255</l><l>0</l><l>yellow</l></list></block><block s="reportNewList"><list><l>255</l><l>0</l><l>255</l><l>magenta</l></list></block><block s="reportNewList"><list><l>0</l><l>255</l><l>0</l><l>green</l></list></block><block s="reportNewList"><list><l>0</l><l>255</l><l>255</l><l>cyan</l></list></block><block s="reportNewList"><list><l>0</l><l>0</l><l>255</l><l>blue</l></list></block></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doSetVar"><l>header</l><block s="reportListItem"><l>5</l><block var="imagedata"/></block></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="header"/></block><l>0</l></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="header"/></block></block><l></l></list></block></list></block><script><custom-block s="set ImagePadProperty %txt of %txt to %s"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="header"/></block></block><block var="target"/><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="header"/></block></block></custom-block><block s="doDeleteFromList"><l>1</l><block var="header"/></block></script></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doReplaceInList"><l>6</l><block var="costumeData"/><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block var="w"/></block><l>2</l></block></block><block s="doReplaceInList"><l>7</l><block var="costumeData"/><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="h"/></block><l>2</l></block></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>costumeProperties</l><block var="target"/><block var="costumeData"/></custom-block></script><script><block s="doReplaceInList"><l>1</l><block var="costumeData"/><block var="w"/></block><block s="doReplaceInList"><l>2</l><block var="costumeData"/><block var="h"/></block><block s="doReplaceInList"><l>6</l><block var="costumeData"/><l>0</l></block><block s="doReplaceInList"><l>7</l><block var="costumeData"/><l>0</l></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>costumeProperties</l><block var="target"/><block var="costumeData"/></custom-block></script></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="choice"/><l>costume(RGB)data</l></list></block><script><block s="doSetVar"><l>input</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="source"/><l>currentCostume</l></list></block><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="source"/></block></block><block s="doIfElse"><block s="reportIsA"><block var="input"/><l><option>costume</option></l></block><script><block s="doSetVar"><l>w</l><block s="reportGetImageAttribute"><l><option>width</option></l><block var="input"/></block></block><block s="doSetVar"><l>h</l><block s="reportGetImageAttribute"><l><option>height</option></l><block var="input"/></block></block><block s="doSetVar"><l>input</l><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="input"/></block></block></script><script><block s="doIfElse"><block s="reportIsA"><block var="input"/><l><option>list</option></l></block><script><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="input"/></block><l>3</l></list></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: too few data!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>w</l><block s="reportListItem"><l>1</l><block var="input"/></block></block><block s="doSetVar"><l>h</l><block s="reportListItem"><l>2</l><block var="input"/></block></block><block s="doDeleteFromList"><l>1</l><block var="input"/></block><block s="doDeleteFromList"><l>1</l><block var="input"/></block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: costume or costume data required!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script></block></script></block><block s="doSetVar"><l>costumeData</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="doSetVar"><l>min</l><block s="reportCombine"><block var="input"/><block s="reifyReporter"><autolambda><block s="reportVariadicMin"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block><block s="doSetVar"><l>min</l><block s="reportVariadicMin"><list><block s="reportListItem"><l>1</l><block var="min"/></block><block s="reportVariadicMin"><list><block s="reportListItem"><l>2</l><block var="min"/></block><block s="reportListItem"><l>3</l><block var="min"/></block></list></block></list></block></block><block s="doSetVar"><l>max</l><block s="reportCombine"><block var="input"/><block s="reifyReporter"><autolambda><block s="reportVariadicMax"><list><l></l><l></l></list></block></autolambda><list></list></block></block></block><block s="doSetVar"><l>max</l><block s="reportVariadicMax"><list><block s="reportListItem"><l>1</l><block var="max"/></block><block s="reportVariadicMax"><list><block s="reportListItem"><l>2</l><block var="max"/></block><block s="reportListItem"><l>3</l><block var="max"/></block></list></block></list></block></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSetVar"><l>myProperties</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>myData</l><l></l></block></script><list></list></block><list><block var="input"/></list></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfConfiguration</l><l>ImagePad</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>typeOfData</l><l>RGB</l></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>lineProperties</l><block s="reportNewList"><list><l>1</l><l>0</l><l>0</l><l>0</l></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>dataProperties</l><block s="reportNewList"><list><block var="min"/><block var="max"/><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="input"/></block></block><block s="reportListAttribute"><l><option>length</option></l><block var="input"/></block></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>imageProperties</l><block s="reportNewList"><list><l>RGB</l><block var="w"/><block var="h"/></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>gridProperties</l><block s="reportNewList"><list><l>40</l><l>40</l><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="w"/><l>40</l></block></block><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="h"/><l>40</l></block></block></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doAddToList"><block s="reportNewList"><list><l>gridColors</l><block s="reportNewList"><list><block s="reportNewList"><list><l>0</l><l>0</l><l>0</l><l>black</l></list></block><block s="reportNewList"><list><l>150</l><l>150</l><l>150</l><l>gray</l></list></block><block s="reportNewList"><list><l>255</l><l>255</l><l>255</l><l>white</l></list></block><block s="reportNewList"><list><l>255</l><l>0</l><l>0</l><l>red</l></list></block><block s="reportNewList"><list><l>255</l><l>255</l><l>0</l><l>yellow</l></list></block><block s="reportNewList"><list><l>255</l><l>0</l><l>255</l><l>magenta</l></list></block><block s="reportNewList"><list><l>0</l><l>255</l><l>0</l><l>green</l></list></block><block s="reportNewList"><list><l>0</l><l>255</l><l>255</l><l>cyan</l></list></block><block s="reportNewList"><list><l>0</l><l>0</l><l>255</l><l>blue</l></list></block></list></block></list></block><block s="reportAttributeOf"><l>myProperties</l><block var="target"/></block></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doReplaceInList"><l>6</l><block var="costumeData"/><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>width</option></l><l>Stage</l></block><block var="w"/></block><l>2</l></block></block><block s="doReplaceInList"><l>7</l><block var="costumeData"/><block s="reportQuotient"><block s="reportDifference"><block s="reportAttributeOf"><l><option>height</option></l><l>Stage</l></block><block var="h"/></block><l>2</l></block></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>costumeProperties</l><block var="target"/><block var="costumeData"/></custom-block></script><script><block s="doReplaceInList"><l>1</l><block var="costumeData"/><block var="w"/></block><block s="doReplaceInList"><l>2</l><block var="costumeData"/><block var="h"/></block><block s="doReplaceInList"><l>6</l><block var="costumeData"/><l>0</l></block><block s="doReplaceInList"><l>7</l><block var="costumeData"/><l>0</l></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>costumeProperties</l><block var="target"/><block var="costumeData"/></custom-block></script></block></script><list></list></block></script></block></script></block-definition><block-definition s="add %&apos;color&apos; image of %&apos;data&apos; to ImagePad $nl min/max: %&apos;min&apos; %&apos;max&apos; log? %&apos;log&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="143.16666666666666" collapsed="false">Generates an image from the FITS or RGB data of the DataSprite in gray or false colors</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">gray<options>gray&#xD;false-color&#xD;RGB</options></input><input type="%s">myData</input><input type="%n">0</input><input type="%n">255</input><input type="%b">false</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>pixels</l><l>source</l><l>gray</l><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>color</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="color"/><l> </l></block></block></block><block s="doSetVar"><l>source</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>myData</l></list></block><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block var="data"/></block></block><block s="doIfElse"><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>FITS</l></list></block><script><block s="doSetVar"><l>gray</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="color"/><l>gray</l></list></block><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block></block></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>pixels</l><block s="reportApplyExtension"><l>SciS_FITSpixelsOnStageForImagePad(data,min,max,gray,log,pixels,cAttributes,iAttributes)</l><list><block var="source"/><block var="min"/><block var="max"/><block var="gray"/><block var="log"/><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>pixels</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><l>theStage</l></custom-block><custom-block s="ImagePadProperty %txt of %txt"><l>imageProperties</l><l>theStage</l></custom-block></list></block></block><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportNewCostume"><block var="pixels"/><block s="reportListItem"><l>1</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><l>theStage</l></custom-block></block><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><l>theStage</l></custom-block></block></block></list></block></script><script><block s="doSetVar"><l>pixels</l><block s="reportApplyExtension"><l>SciS_FITSpixelsOnSpriteForImagePad(data,min,max,gray,log,iAttributes)</l><list><block var="source"/><block var="min"/><block var="max"/><block var="gray"/><block var="log"/><custom-block s="ImagePadProperty %txt of %txt"><l>imageProperties</l><block var="target"/></custom-block></list></block></block><block s="doTellTo"><block var="target"/><block s="reifyReporter"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportNewCostume"><block var="pixels"/><block s="reportListItem"><l>1</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></block></list></block></script></block></script><script><block s="doIfElse"><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>RGB</l></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="color"/><l>RGB</l></list></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportNewCostume"><block var="source"/><block s="reportListItem"><l>1</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></block></list></block></script><script><block s="doSetVar"><l>gray</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="color"/><l>gray</l></list></block><block s="reportBoolean"><l><bool>true</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block></block></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>pixels</l><block s="reportApplyExtension"><l>SciS_RGBpixelsOnStageForImagePad(data,min,max,gray,log,pixels,cAttributes,iAttributes)</l><list><block var="source"/><block var="min"/><block var="max"/><block var="gray"/><block var="log"/><block s="reportAskFor"><l>Stage</l><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>pixels</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><l>theStage</l></custom-block><custom-block s="ImagePadProperty %txt of %txt"><l>imageProperties</l><l>theStage</l></custom-block></list></block></block><block s="doTellTo"><l>Stage</l><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportNewCostume"><block var="pixels"/><block s="reportListItem"><l>1</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><l>theStage</l></custom-block></block><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><l>theStage</l></custom-block></block></block></list></block></script><script><block s="doSetVar"><l>pixels</l><block s="reportApplyExtension"><l>SciS_RGBpixelsOnSpriteForImagePad(data,min,max,gray,log)</l><list><block var="source"/><block var="min"/><block var="max"/><block var="gray"/><block var="log"/></list></block></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportNewCostume"><block var="pixels"/><block s="reportListItem"><l>1</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></block></list></block></script></block></script></block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only RGB- and FITS-images supported!</l></custom-block></script></block></script></block></script></block></script></block-definition><block-definition s="add grid %&apos;theGrid&apos; on %&apos;sprite&apos; with grid lines? %&apos;withLines&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="163" collapsed="false">Draws a grid on an ImagePad.</comment><header></header><code></code><translations></translations><inputs><input type="%s">myData</input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>data</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GridPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="theGrid"/><l>myData</l></list></block><script><block s="doSetVar"><l>data</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block></script><script><block s="doSetVar"><l>data</l><block var="theGrid"/></block></script></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="data"/><l>matrix</l></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: matrix data required!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block></block><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="data"/></block></block></list></block><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block></block><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></list></block></list></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: wrong grid dimensions!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_addGridToImagePad(costume,gridProperties,colors,withLines,data)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block><custom-block s="ImagePadProperty %txt of %txt"><l>gridColors</l><block var="target"/></custom-block><block var="withLines"/><block var="data"/></list></block></block></script><list></list></block><list></list></block></script></block-definition><block-definition s="draw line from %&apos;x1&apos; %&apos;y1&apos; to %&apos;x2&apos; %&apos;y2&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="153.10468750000004" collapsed="false">Draws a line on present costume using line properties. Attention: JS coordinates are used. </comment><header></header><code></code><translations></translations><inputs><input type="%n">10</input><input type="%n">10</input><input type="%n">100</input><input type="%n">100</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><block s="reportApplyExtension"><l>SciS_drawLineOnImagepad(costume,x1,y1,x2,y2,lineAttributes)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="x1"/><block var="y1"/><block var="x2"/><block var="y2"/><custom-block s="ImagePadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></list></block></block></script><list></list></block><list></list></block></script></block></script></block-definition><block-definition s="draw rectangle from %&apos;x1&apos; %&apos;y1&apos; to %&apos;x2&apos; %&apos;y2&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="130.83333333333334" collapsed="false">Draws a rectangle on present costume using line properties. Attention: JS coordinates are used. </comment><header></header><code></code><translations></translations><inputs><input type="%n">10</input><input type="%n">10</input><input type="%n">100</input><input type="%n">100</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>x</l><l>y</l><l>w</l><l>h</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="x1"/><block var="x2"/></list></block><script><block s="doSetVar"><l>x</l><block var="x2"/></block><block s="doSetVar"><l>w</l><block s="reportDifference"><block var="x1"/><block var="x2"/></block></block></script><script><block s="doSetVar"><l>x</l><block var="x1"/></block><block s="doSetVar"><l>w</l><block s="reportDifference"><block var="x2"/><block var="x1"/></block></block></script></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="y1"/><block var="y2"/></list></block><script><block s="doSetVar"><l>y</l><block var="y2"/></block><block s="doSetVar"><l>h</l><block s="reportDifference"><block var="y1"/><block var="y2"/></block></block></script><script><block s="doSetVar"><l>y</l><block var="y1"/></block><block s="doSetVar"><l>h</l><block s="reportDifference"><block var="y2"/><block var="y1"/></block></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_drawRectangleOnImagepad(costume,x1,y1,width,height,lineAttributes)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="x"/><block var="y"/><block var="w"/><block var="h"/><custom-block s="ImagePadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></list></block></list></block></script></block></script></block-definition><block-definition s="fill rectangle from %&apos;x1&apos; %&apos;y1&apos; to %&apos;x2&apos; %&apos;y2&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="164.6575342465754" collapsed="false">Fills a rectangle on present costume using surface properties. Attention: JS coordinates are used.</comment><header></header><code></code><translations></translations><inputs><input type="%n">10</input><input type="%n">10</input><input type="%n">100</input><input type="%n">100</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>x</l><l>y</l><l>w</l><l>h</l><l>target</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="x1"/><block var="x2"/></list></block><script><block s="doSetVar"><l>x</l><block var="x2"/></block><block s="doSetVar"><l>w</l><block s="reportDifference"><block var="x1"/><block var="x2"/></block></block></script><script><block s="doSetVar"><l>x</l><block var="x1"/></block><block s="doSetVar"><l>w</l><block s="reportDifference"><block var="x2"/><block var="x1"/></block></block></script></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="y1"/><block var="y2"/></list></block><script><block s="doSetVar"><l>y</l><block var="y2"/></block><block s="doSetVar"><l>h</l><block s="reportDifference"><block var="y1"/><block var="y2"/></block></block></script><script><block s="doSetVar"><l>y</l><block var="y1"/></block><block s="doSetVar"><l>h</l><block s="reportDifference"><block var="y2"/><block var="y1"/></block></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_fillRectangleOnImagepad(costume,x1,y1,width,height,lineAttributes)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="x"/><block var="y"/><block var="w"/><block var="h"/><custom-block s="ImagePadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></list></block></list></block></script></block></script></block-definition><block-definition s="draw circle center: %&apos;x&apos; %&apos;y&apos; radius: %&apos;radius&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="215.60983072916642" collapsed="false">Draws a circle on present costume using line properties. Attention: JS coordinates are used.</comment><header></header><code></code><translations></translations><inputs><input type="%n">100</input><input type="%n">100</input><input type="%n">20</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_drawCircleOnImagepad(costume,x,y,radius,lineAttributes)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="x"/><block var="y"/><block var="radius"/><custom-block s="ImagePadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></list></block></list></block></script></block-definition><block-definition s="fill circle center: %&apos;x&apos; %&apos;y&apos; radius: %&apos;radius&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="160.5251141552513" collapsed="false">Fills a circle on present costume using surface properties. Attention: JS coordinates are used.</comment><header></header><code></code><translations></translations><inputs><input type="%n">100</input><input type="%n">100</input><input type="%n">20</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_fillCircleOnImagepad(costume,x,y,radius,lineAttributes)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="x"/><block var="y"/><block var="radius"/><custom-block s="ImagePadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></list></block></list></block></script></block-definition><block-definition s="draw text %&apos;text&apos; at %&apos;x&apos; %&apos;y&apos; height: %&apos;height&apos; $nl horizontal? %&apos;horizontal&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="158.33333333333334" collapsed="false">Draws a text on present costume using line properties. Attention: JS coordinates are used.</comment><header></header><code></code><translations></translations><inputs><input type="%txt">my text</input><input type="%n">100</input><input type="%n">50</input><input type="%n">12</input><input type="%b">true</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_drawTextOnImagepad(costume,x,y,text,height,horizontal,lineAttributes)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><block var="x"/><block var="y"/><block var="text"/><block var="height"/><block var="horizontal"/><custom-block s="ImagePadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></list></block></list></block></script></block-definition><block-definition s="draw list of points %&apos;data&apos; as %&apos;shape&apos; size: %&apos;size&apos; on %&apos;sprite&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="321.8186688427511" collapsed="false">Draws a list of &quot;point&quot; as &quot;balls&quot;. Attention: JS-coordinates are used!</comment><header></header><code></code><translations></translations><inputs><input type="%s">myData</input><input type="%s" readonly="true">circles<options>circles&#xD;squares</options></input><input type="%n">5</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>source</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>source</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="data"/><l>myData</l></list></block><block var="myData"/><block var="data"/></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="source"/><l>matrix</l></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only definied for matrices!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="source"/></block><l>0</l></list></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: missing data!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="source"/></block></block><l>2</l></list></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: coordinates in a plane needed!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportApplyExtension"><l>SciS_drawListOfPoints(costume,data,shape,size,lineAttributes)</l><list><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="columns %mult%s of %s %br from row %s to %s"><list><l>1</l><l>2</l></list><block var="source"/><l>1</l><l>last</l></custom-block><block var="shape"/><block var="size"/><custom-block s="ImagePadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></list></block></list></block></script></block-definition><block-definition s="set RGB at %&apos;x&apos; %&apos;y&apos; on %&apos;sprite&apos; to %&apos;r&apos; %&apos;g&apos; %&apos;b&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="186.66666666666666" collapsed="false">Sets the RGB value at (x|y) on costume. Attention: JS-coordinates are used!</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">255</input><input type="%n">100</input><input type="%n">30</input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>props</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block s="reportListItem"><l>1</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: coordinates out of range!</l></custom-block></script><script><block s="doSetVar"><l>props</l><custom-block s="ImagePadProperty %txt of %txt"><l>lineProperties</l><block var="target"/></custom-block></block><block s="doReplaceInList"><l>3</l><block var="props"/><block var="r"/></block><block s="doReplaceInList"><l>4</l><block var="props"/><block var="g"/></block><block s="doReplaceInList"><l>5</l><block var="props"/><block var="b"/></block><custom-block s="set ImagePadProperty %txt of %txt to %s"><l>lineProperties</l><block var="target"/><block var="props"/></custom-block><custom-block s="draw line from %n %n to %n %n on %txt"><block s="reportDifference"><block var="x"/><l>1</l></block><block var="y"/><block var="x"/><block var="y"/><block var="target"/></custom-block></script></block></script></block></script></block-definition><block-definition s="RGB at %&apos;x&apos; %&apos;y&apos; on %&apos;sprite&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="263.41324200913243" collapsed="false">Reports the RGB value at the position (x|y) of the costume. JS-code-snippets copied from Snap!-code. Attention: JS-coordinates are used!</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>b</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as ImagePad!</l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block s="reportListItem"><l>1</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>costumeProperties</l><block var="target"/></custom-block></block></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><block s="doReport"><l>ERROR: coordinates out of range!</l></block></script><script><block s="doReport"><block s="reportListItem"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="y"/><l>1</l></block><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block></list></block><block var="x"/></list></block><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>pixels</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block></block></block></script></block></script></block></script></block-definition><block-definition s="set image value of myData at %&apos;x&apos; %&apos;y&apos; $nl on %&apos;sprite&apos; to %&apos;value&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="163.3333333333337" collapsed="false">Sets the value at (x|y) in myData. Attention: JS-coordinates are used!</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%s"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as ImagePad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>RGB</l></list></block><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>FITS</l></list></block></list></block><script><block s="doSetVar"><l>x</l><block s="reportRound"><block var="x"/></block></block><block s="doSetVar"><l>y</l><block s="reportRound"><block var="y"/></block></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>imageProperties</l><block var="target"/></custom-block></block></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block s="reportListItem"><l>3</l><custom-block s="ImagePadProperty %txt of %txt"><l>imageProperties</l><block var="target"/></custom-block></block></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: coordinates out of range!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doIfElse"><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>1</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block><l><option>list</option></l></block><block s="reportIsA"><block var="value"/><l><option>list</option></l></block></list></block><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><l>1</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block><l><option>number</option></l></block><block s="reportIsA"><block var="value"/><l><option>number</option></l></block></list></block></list></block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: wrong data format!</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><script><block s="doReplaceInList"><block s="reportVariadicSum"><list><block var="x"/><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="y"/><l>1</l></block><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>imageProperties</l><block var="target"/></custom-block></block></list></block></list></block><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block var="value"/></block></script></block></script></block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: only RGB- and FITS-data supported!</l></custom-block></script></block></script></block></script></block-definition><block-definition s="image value of myData at %&apos;x&apos; %&apos;y&apos; on %&apos;sprite&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="170" collapsed="false">Reads the data value at the position (x/y) of an image stored in myData.&#xD;Attention: JS-coordinates are used!</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">1</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as ImagePad!</l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>RGB</l></list></block><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>FITS</l></list></block></list></block><script><block s="doSetVar"><l>x</l><block s="reportRound"><block var="x"/></block></block><block s="doSetVar"><l>y</l><block s="reportRound"><block var="y"/></block></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>imageProperties</l><block var="target"/></custom-block></block></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block s="reportListItem"><l>3</l><custom-block s="ImagePadProperty %txt of %txt"><l>imageProperties</l><block var="target"/></custom-block></block></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><block s="doReport"><l>ERROR: coordinates out of range!</l></block></script><script><block s="doReport"><block s="reportListItem"><block s="reportVariadicSum"><list><block var="x"/><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="y"/><l>1</l></block><block s="reportListItem"><l>2</l><custom-block s="ImagePadProperty %txt of %txt"><l>imageProperties</l><block var="target"/></custom-block></block></list></block></list></block><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block></block></script></block></script><script><block s="doReport"><l>ERROR: only defined for image data!</l></block></script></block></script></block></script></block-definition><block-definition s="%&apos;selection&apos; on %&apos;sprite&apos; by mouse" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="168.33333333333334" collapsed="false">Obtaining data with the mouse from an image or grid stored in myData.</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">image-value<options>image-value&#xD;costume-coordinates&#xD;slice-data&#xD;line-data&#xD;circle-data&#xD;brightness&#xD;cell-value</options></input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>h</l><l>result</l><l>i</l><l>m</l><l>pixel</l><l>dist</l><l>dx</l><l>dy</l><l>points</l><l>x1</l><l>y1</l><l>x2</l><l>y2</l><l>x</l><l>y</l><l>p1</l><l>p2</l><l>w</l><l>h</l><l>secondCostume</l><l>ok</l><l>xold</l><l>yold</l><l>radius</l><l>sumOfValues</l><l>value</l><l>center</l><l>costume</l><l>target</l><l>targetCostume</l><l>targetCostumeWidth</l><l>targetCostumeHeight</l><l>targetXPosition</l><l>targetYPosition</l><l>targetSize</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as ImagePad!</l></block></script><list></list></block><block s="doSetVar"><l>selection</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="selection"/><l> </l></block></block></block><block s="doSetVar"><l>targetCostume</l><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block></block><block s="doSetVar"><l>targetCostumeWidth</l><block s="reportGetImageAttribute"><l><option>width</option></l><block var="targetCostume"/></block></block><block s="doSetVar"><l>targetCostumeHeight</l><block s="reportGetImageAttribute"><l><option>height</option></l><block var="targetCostume"/></block></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>targetXPosition</l><block s="reportMonadic"><l><option>neg</option></l><block s="reportRound"><block s="reportQuotient"><block var="targetCostumeWidth"/><l>2</l></block></block></block></block><block s="doSetVar"><l>targetYPosition</l><block s="reportRound"><block s="reportQuotient"><block var="targetCostumeHeight"/><l>2</l></block></block></block><block s="doSetVar"><l>targetSize</l><l>100</l></block><block s="doSetVar"><l>x</l><block s="reportDifference"><block s="reportMouseX"></block><block var="targetXPosition"/></block></block><block s="doSetVar"><l>y</l><block s="reportDifference"><block var="targetYPosition"/><block s="reportMouseY"></block></block></block></script><script><block s="doSetVar"><l>targetXPosition</l><block s="reportAttributeOf"><l><option>x position</option></l><block var="target"/></block></block><block s="doSetVar"><l>targetYPosition</l><block s="reportAttributeOf"><l><option>y position</option></l><block var="target"/></block></block><block s="doSetVar"><l>targetSize</l><block s="reportAttributeOf"><l><option>size</option></l><block var="target"/></block></block><block s="doSetVar"><l>x</l><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block s="reportMouseX"></block><block var="targetXPosition"/></block><block var="targetSize"/></block></list></block><block s="reportQuotient"><block var="targetCostumeWidth"/><l>2</l></block></list></block><l>1</l></list></block></block></block><block s="doSetVar"><l>y</l><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block var="targetYPosition"/><block s="reportMouseY"></block></block><block var="targetSize"/></block></list></block><block s="reportQuotient"><block var="targetCostumeHeight"/><l>2</l></block></list></block><l>1</l></list></block></block></block></script></block></script></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>costume-coordinates</l></list><comment w="121.68283420138891" collapsed="false">costume coordinates.</comment></block><script><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block var="targetCostumeWidth"/></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block var="targetCostumeHeight"/></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><script><block s="doReport"><block s="reportNewList"><list><block var="x"/><block var="y"/></list></block></block></script></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>line-data</l></list></block><script><block s="doWarp"><script><block s="doSetVar"><l>w</l><block var="targetCostumeWidth"/></block><block s="doSetVar"><l>h</l><block var="targetCostumeHeight"/></block><block s="doSetVar"><l>secondCostume</l><block s="reportNewCostume"><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="targetCostume"/></block><block var="targetCostumeWidth"/><block var="targetCostumeHeight"/></block></block><custom-block s="set ImagePad line properties style: %txt %br width: %n color: %n %n %n %br fill color: %n %n %n on %txt"><l>continuous</l><l>1</l><l>255</l><l>200</l><l>0</l><l>180</l><l>180</l><l>180</l><block var="target"/></custom-block><block s="doIf"><block s="reportNot"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doRun"><block s="reifyScript"><script><block s="doSetVar"><l></l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><list><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>draggable?</option></l></block></autolambda><list></list></block></list></block></script><list></list></block><list></list></block></script><list></list></block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doUntil"><block var="ok"/><script><block s="doIf"><block s="reportMouseDown"></block><script><block s="doSetVar"><l>p1</l><custom-block s="%s on %txt by mouse"><l>costume-coordinates</l><block var="target"/></custom-block></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="p1"/></block><l>1</l></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="p1"/></block><block var="w"/></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>2</l><block var="p1"/></block><l>1</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>2</l><block var="p1"/></block><block var="h"/></list></block></list></block></list></block></list></block><script><block s="doSetVar"><l>xold</l><block s="reportListItem"><l>1</l><block var="p1"/></block></block><block s="doSetVar"><l>yold</l><block s="reportListItem"><l>2</l><block var="p1"/></block></block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script><list></list></block></script></block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doUntil"><block var="ok"/><script><block s="doSetVar"><l>p2</l><custom-block s="%s on %txt by mouse"><l>costume-coordinates</l><block var="target"/></custom-block></block><block s="doIf"><block s="reportVariadicOr"><list><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="p2"/></block><block var="xold"/></list></block></block><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportListItem"><l>2</l><block var="p2"/></block><block var="yold"/></list></block></block></list></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportNewCostume"><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="secondCostume"/></block><block var="targetCostumeWidth"/><block var="targetCostumeHeight"/></block></list></block><block s="doSetVar"><l>xold</l><block s="reportListItem"><l>1</l><block var="p2"/></block></block><block s="doSetVar"><l>yold</l><block s="reportListItem"><l>2</l><block var="p2"/></block></block><custom-block s="draw line from %n %n to %n %n on %txt"><block s="reportListItem"><l>1</l><block var="p1"/></block><block s="reportListItem"><l>2</l><block var="p1"/></block><block s="reportListItem"><l>1</l><block var="p2"/></block><block s="reportListItem"><l>2</l><block var="p2"/></block><block var="target"/></custom-block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="reportMouseDown"></block></block><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="p2"/></block><l>1</l></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="p2"/></block><block var="w"/></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>2</l><block var="p2"/></block><l>1</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>2</l><block var="p2"/></block><block var="h"/></list></block></list></block></list></block></list></block><script><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script><list></list></block></script></block><block s="doIf"><block s="reportNot"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doRun"><block s="reifyScript"><script><block s="doSetVar"><l></l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><list><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>draggable?</option></l></block></autolambda><list></list></block></list></block></script><list></list></block><list></list></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block var="secondCostume"/></list></block><block s="doReport"><block s="reportNewList"><list><block var="p1"/><block var="p2"/></list></block></block></script><list></list><comment w="90" collapsed="false">line data</comment></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>image-value</l></list></block><script><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>RGB</l></list></block><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>FITS</l></list></block></list></block></block><script><block s="doReport"><l>ERROR: only defined for image data in FITS or RGB format!</l></block></script><list></list></block><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block var="targetCostumeWidth"/></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block var="targetCostumeHeight"/></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><block s="doReport"><l>ERROR: coordinates out of range!</l></block></script><script><block s="doReport"><block s="reportListItem"><block s="reportVariadicSum"><list><block var="x"/><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="y"/><l>1</l></block><block var="targetCostumeWidth"/></list></block></list></block><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block></block></script></block></script></block></script><list></list><comment w="90" collapsed="false">image value</comment></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>slice-data</l></list></block><script><block s="doSetVar"><l>costume</l><block s="reportNewCostume"><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="targetCostume"/></block><block var="targetCostumeWidth"/><block var="targetCostumeHeight"/></block></block><block s="doSetVar"><l>points</l><custom-block s="%s on %txt by mouse"><l>line-data</l><block var="target"/></custom-block></block><block s="doWarp"><script><block s="doSetVar"><l>x1</l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="points"/></block></block></block><block s="doSetVar"><l>y1</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="points"/></block></block></block><block s="doSetVar"><l>x2</l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>2</l><block var="points"/></block></block></block><block s="doSetVar"><l>y2</l><block s="reportListItem"><l>2</l><block s="reportListItem"><l>2</l><block var="points"/></block></block></block><block s="doSetVar"><l>result</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>dist</l><block s="reportRound"><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="x1"/><block var="x2"/></block><block s="reportDifference"><block var="x1"/><block var="x2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="y1"/><block var="y2"/></block><block s="reportDifference"><block var="y1"/><block var="y2"/></block></list></block></list></block></block></block></block><block s="doSetVar"><l>dx</l><block s="reportQuotient"><block s="reportDifference"><block var="x2"/><block var="x1"/></block><block var="dist"/></block></block><block s="doSetVar"><l>dy</l><block s="reportQuotient"><block s="reportDifference"><block var="y2"/><block var="y1"/></block><block var="dist"/></block></block><block s="doSetVar"><l>i</l><l>0</l></block><block s="doUntil"><block s="reportVariadicGreaterThan"><list><block var="i"/><block var="dist"/></list></block><script><block s="doAddToList"><block s="reportNewList"><list><block var="i"/><custom-block s="image value of myData at %n %n on %txt"><block s="reportVariadicSum"><list><block var="x1"/><block s="reportVariadicProduct"><list><block var="i"/><block var="dx"/></list></block></list></block><block s="reportVariadicSum"><list><block var="y1"/><block s="reportVariadicProduct"><list><block var="i"/><block var="dy"/></list></block></list></block><block var="target"/></custom-block></list></block><block var="result"/></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block var="costume"/></list></block><block s="doReport"><block var="result"/></block></script></block></script><list></list><comment w="90" collapsed="false">slice data</comment></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>circle-data</l></list><comment w="90" collapsed="false">circle data</comment></block><script><block s="doWarp"><script><block s="doSetVar"><l>w</l><block var="targetCostumeWidth"/></block><block s="doSetVar"><l>h</l><block var="targetCostumeHeight"/></block><block s="doSetVar"><l>secondCostume</l><block s="reportNewCostume"><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="targetCostume"/></block><block var="targetCostumeWidth"/><block var="targetCostumeHeight"/></block></block><block s="doSetVar"><l>costume</l><block s="reportNewCostume"><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="targetCostume"/></block><block var="targetCostumeWidth"/><block var="targetCostumeHeight"/></block></block><block s="doIf"><block s="reportNot"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doRun"><block s="reifyScript"><script><block s="doSetVar"><l></l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><list><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>draggable?</option></l></block></autolambda><list></list></block></list></block></script><list></list></block><list></list></block></script><list></list></block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block><block s="doUntil"><block var="ok"/><script><block s="doIf"><block s="reportMouseDown"></block><script><block s="doSetVar"><l>p1</l><custom-block s="%s on %txt by mouse"><l>costume-coordinates</l><block var="target"/></custom-block></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="p1"/></block><l>1</l></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="p1"/></block><block var="w"/></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>2</l><block var="p1"/></block><l>1</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>2</l><block var="p1"/></block><block var="h"/></list></block></list></block></list></block></list></block><script><block s="doSetVar"><l>xold</l><block s="reportListItem"><l>1</l><block var="p1"/></block></block><block s="doSetVar"><l>yold</l><block s="reportListItem"><l>2</l><block var="p1"/></block></block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script><list></list></block></script></block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doUntil"><block var="ok"/><script><block s="doSetVar"><l>p2</l><custom-block s="%s on %txt by mouse"><l>costume-coordinates</l><block var="target"/></custom-block></block><block s="doSetVar"><l>radius</l><block s="reportRound"><block s="reportMonadic"><l><option>sqrt</option></l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="p1"/></block><block s="reportListItem"><l>1</l><block var="p2"/></block></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="p1"/></block><block s="reportListItem"><l>1</l><block var="p2"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="p1"/></block><block s="reportListItem"><l>2</l><block var="p2"/></block></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="p1"/></block><block s="reportListItem"><l>2</l><block var="p2"/></block></block></list></block></list></block></block></block></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block s="reportNewCostume"><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="secondCostume"/></block><block var="targetCostumeWidth"/><block var="targetCostumeHeight"/></block></list></block><custom-block s="set ImagePad line properties style: %txt %br width: %n color: %n %n %n %br fill color: %n %n %n on %txt"><l>continuous</l><l>3</l><l>255</l><l>200</l><l>0</l><l>180</l><l>180</l><l>180</l><block var="target"/></custom-block><custom-block s="draw line from %n %n to %n %n on %txt"><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="p1"/></block><l>1</l></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="p1"/></block><l>1</l></block><block s="reportListItem"><l>1</l><block var="p1"/></block><block s="reportListItem"><l>2</l><block var="p1"/></block><block var="target"/></custom-block><custom-block s="set ImagePad line properties style: %txt %br width: %n color: %n %n %n %br fill color: %n %n %n on %txt"><l>continuous</l><l>1</l><l>255</l><l>200</l><l>0</l><l>180</l><l>180</l><l>180</l><block var="target"/></custom-block><custom-block s="draw circle center: %n %n radius: %n on %txt"><block s="reportListItem"><l>1</l><block var="p1"/></block><block s="reportListItem"><l>2</l><block var="p1"/></block><block var="radius"/><block var="target"/></custom-block><block s="doIf"><block s="reportNot"><block s="reportMouseDown"></block></block><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="p2"/></block><l>1</l></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>1</l><block var="p2"/></block><block var="w"/></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListItem"><l>2</l><block var="p2"/></block><l>1</l></list></block><block s="reportVariadicLessThanOrEquals"><list><block s="reportListItem"><l>2</l><block var="p2"/></block><block var="h"/></list></block></list></block></list></block></list></block><script><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block></script><list></list></block></script></block><block s="doIf"><block s="reportNot"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block></block><script><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doRun"><block s="reifyScript"><script><block s="doSetVar"><l></l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><list><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>draggable?</option></l></block></autolambda><list></list></block></list></block></script><list></list></block><list></list></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSwitchToCostume"><l></l></block></script><list></list></block><list><block var="secondCostume"/></list></block><block s="doReport"><block s="reportNewList"><list><block var="p1"/><block var="radius"/></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>brightness</l></list></block><script><block s="doSetVar"><l>h</l><custom-block s="%s on %txt by mouse"><l>circle-data</l><block var="target"/></custom-block></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_brightness(data,xpos,ypos,r,width,height,typeOfData)</l><list><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="h"/></block></block><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="h"/></block></block><block s="reportListItem"><l>2</l><block var="h"/></block><block var="targetCostumeWidth"/><block var="targetCostumeHeight"/><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block></list></block></block></script><list></list><comment w="90" collapsed="false">brightness</comment></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="selection"/><l>cell-value</l></list></block><script><block s="doIfElse"><block s="reportVariadicOr"><list><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="x"/><block var="targetCostumeWidth"/></list></block><block s="reportVariadicGreaterThan"><list><block var="y"/><block var="targetCostumeHeight"/></list></block></list></block><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicLessThan"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><script><block s="doReport"><block s="reportListItem"><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block var="x"/><block s="reportListItem"><l>3</l><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block></block></block></block><block s="reportListItem"><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block var="y"/><block s="reportListItem"><l>4</l><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block></block></block></block><block var="myData"/></block></block></block></script></block></script><list></list><comment w="90" collapsed="false">value of a grid cell</comment></block></script></block-definition><block-definition s="affine transformation of costume %&apos;costume&apos; $nl by %&apos;originalPoints&apos; --&gt; %&apos;targetPoints&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="210.83333333333334" collapsed="false">Applies an affine transformation to a costume.&#xD;</comment><header></header><code></code><translations></translations><inputs><input type="%s">currentCostume</input><input type="%l"></input><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>a11</l><l>a12</l><l>a13</l><l>a21</l><l>a22</l><l>a23</l><l>S</l><l>P1</l><l>P2</l><l>P3</l><l>Q1</l><l>Q2</l><l>Q3</l><l>target</l><l>imagetype</l><l>width</l><l>height</l><l>data</l><l>ok</l></list></block><block s="doSetVar"><l>costume</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="costume"/><l>currentCostume</l></list></block><block s="reportGet"><l><option>costume</option></l></block><block var="costume"/></block></block><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="costume"/><l><option>costume</option></l></block></block><script><block s="doReport"><l>ERROR: costume required!</l></block></script><list></list></block><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doIfElse"><block s="reportIsA"><block var="originalPoints"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="originalPoints"/></block><l>3</l></list></block><script><block s="doReport"><l>ERROR: 3 original points required!</l></block></script><script><block s="doFor"><l>i</l><l>1</l><l>3</l><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><block var="i"/><block var="originalPoints"/></block><l><option>list</option></l></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><block var="i"/><block var="originalPoints"/></block></block><l>2</l></list></block></list></block></block><script><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block></script></block></script></block></script><script><block s="doReport"><l>ERROR: list of original points  required!</l></block></script></block><block s="doIfElse"><block s="reportIsA"><block var="targetPoints"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportVariadicNotEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="targetPoints"/></block><l>3</l></list></block><script><block s="doReport"><l>ERROR: 3 target points required!</l></block></script><script><block s="doFor"><l>i</l><l>1</l><l>3</l><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block s="reportListItem"><block var="i"/><block var="targetPoints"/></block><l><option>list</option></l></block><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><block var="i"/><block var="targetPoints"/></block></block><l>2</l></list></block></list></block></block><script><block s="doSetVar"><l>ok</l><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block></script></block></script></block></script><script><block s="doReport"><l>ERROR: list of target points  required!</l></block></script></block><block s="doIf"><block s="reportNot"><block var="ok"/></block><script><block s="doReport"><l>ERROR: dimensions should be 2!</l></block></script><list></list></block><block s="doSetVar"><l>P1</l><block s="reportListItem"><l>1</l><block var="originalPoints"/></block></block><block s="doSetVar"><l>P2</l><block s="reportListItem"><l>2</l><block var="originalPoints"/></block></block><block s="doSetVar"><l>P3</l><block s="reportListItem"><l>3</l><block var="originalPoints"/></block></block><block s="doSetVar"><l>Q1</l><block s="reportListItem"><l>1</l><block var="targetPoints"/></block></block><block s="doSetVar"><l>Q2</l><block s="reportListItem"><l>2</l><block var="targetPoints"/></block></block><block s="doSetVar"><l>Q3</l><block s="reportListItem"><l>3</l><block var="targetPoints"/></block></block><block s="doSetVar"><l>S</l><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>2</l><block var="P2"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>2</l><block var="P3"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>2</l><block var="P1"/></block></block></list></block></list></block></list></block></block><block s="doIf"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="S"/><l>0</l></list></block></block><script><block s="doSetVar"><l>a11</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q2"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q3"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q1"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a12</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q3"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q1"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="Q2"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a21</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q2"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q3"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q1"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a22</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q3"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q1"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="Q2"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a13</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></list></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>1</l><block var="Q3"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></list></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>1</l><block var="Q1"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>1</l><block var="Q2"/></block></list></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doSetVar"><l>a23</l><block s="reportQuotient"><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P1"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></list></block></block></list></block><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P2"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>2</l><block var="Q3"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P3"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></list></block></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>1</l><block var="P3"/></block><block s="reportDifference"><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P2"/></block><block s="reportListItem"><l>2</l><block var="Q1"/></block></list></block><block s="reportVariadicProduct"><list><block s="reportListItem"><l>2</l><block var="P1"/></block><block s="reportListItem"><l>2</l><block var="Q2"/></block></list></block></block></list></block></list></block></list></block><block var="S"/></block></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_affineTransformation(a11,a12,a13,a21,a22,a23,w,h,data,typeOfData)</l><list><block var="a11"/><block var="a12"/><block var="a13"/><block var="a21"/><block var="a22"/><block var="a23"/><block s="reportGetImageAttribute"><l><option>width</option></l><block var="costume"/></block><block s="reportGetImageAttribute"><l><option>height</option></l><block var="costume"/></block><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="costume"/></block><l>RGB</l></list></block></block></script><list></list></block><block s="doReport"><l>ERROR: denominator is zero</l></block></script></block></script></block-definition><block-definition s="brightness around %&apos;x&apos; %&apos;y&apos; within radius %&apos;r&apos; $nl of myData of ImagePad %&apos;sprite&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="192.61904761904816" collapsed="false">Reports the brightness of a FITS or RGB image around x|y in a circle with radius r.&#xD;Attention: JS-coordinates are used!</comment><header></header><code></code><translations></translations><inputs><input type="%n">100</input><input type="%n">100</input><input type="%n">10</input><input type="%txt">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>target</l><l>data</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as ImagePad!</l></block></script><list></list></block><block s="doSetVar"><l>data</l><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block><block s="doIfElse"><block s="reportNot"><block s="reportVariadicAnd"><list><block s="reportIsA"><block var="data"/><l><option>list</option></l></block><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>FITS</l></list></block><block s="reportVariadicEquals"><list><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block><l>RGB</l></list></block></list></block></list></block></block><script><block s="doReport"><l>ERROR: only FITS or RGB data supported!</l></block></script><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_brightnessAround(data,xpos,ypos,r,width,height,typeOfData)</l><list><block var="data"/><block var="x"/><block var="y"/><block var="r"/><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>width</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGetImageAttribute"><l><option>height</option></l><l><option>current</option></l></block></autolambda><list></list></block><list></list></block><custom-block s="ImagePadProperty %txt of %txt"><l>typeOfData</l><block var="target"/></custom-block></list></block></block></script></block></script></block></script></block-definition><block-definition s="fill all cells on %&apos;sprite&apos; range x: %&apos;xmin&apos; %&apos;xmax&apos; y: %&apos;ymin&apos; %&apos;ymax&apos; $nl randomly with numbers %&apos;numbers&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="281" collapsed="false">Fills a grid or a part of a grid with one of the specified values.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">1</input><input type="%s">xMax</input><input type="%n">1</input><input type="%s">yMax</input><input type="%mult%n"></input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>gridProps</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GridPad</l></block></script><list></list></block><block s="doSetVar"><l>gridProps</l><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="xmax"/><l>xMax</l></list></block><script><block s="doSetVar"><l>xmax</l><block s="reportListItem"><l>1</l><block var="gridProps"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="ymax"/><l>yMax</l></list></block><script><block s="doSetVar"><l>ymax</l><block s="reportListItem"><l>2</l><block var="gridProps"/></block></block></script><list></list></block><block s="doTellTo"><block var="target"/><block s="reifyScript"><script><block s="doSetVar"><l></l><l></l></block></script><list></list></block><list><l>myData</l><block s="reportApplyExtension"><l>SciS_fillOnImagePadGridRandomlyOnImagePad(xMin,xMax,yMin,yMax,numbers,data)</l><list><block var="xmin"/><block var="xmax"/><block var="ymin"/><block var="ymax"/><block var="numbers"/><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></list></block></list></block></script></block></script></block-definition><block-definition s="set cell value on %&apos;sprite&apos; to %&apos;value&apos; by mouse" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="145.83333333333334" collapsed="false">sets the value of a grid cell</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>targetCostume</l><l>targetCostumeWidth</l><l>targetCostumeHeight</l><l>targetXPosition</l><l>targetYPosition</l><l>targetSize</l><l>x</l><l>y</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as ImagePad!</l></block></script><list></list></block><block s="doSetVar"><l>targetCostume</l><block s="reportAskFor"><block var="target"/><block s="reifyReporter"><autolambda><block s="reportGet"><l><option>costume</option></l></block></autolambda><list></list></block><list></list></block></block><block s="doSetVar"><l>targetCostumeWidth</l><block s="reportGetImageAttribute"><l><option>width</option></l><block var="targetCostume"/></block></block><block s="doSetVar"><l>targetCostumeHeight</l><block s="reportGetImageAttribute"><l><option>height</option></l><block var="targetCostume"/></block></block><block s="doIfElse"><block s="reportVariadicIsIdentical"><list><block var="target"/><block s="reportObject"><l>Stage</l></block></list></block><script><block s="doSetVar"><l>targetXPosition</l><block s="reportMonadic"><l><option>neg</option></l><block s="reportRound"><block s="reportQuotient"><block var="targetCostumeWidth"/><l>2</l></block></block></block></block><block s="doSetVar"><l>targetYPosition</l><block s="reportRound"><block s="reportQuotient"><block var="targetCostumeHeight"/><l>2</l></block></block></block><block s="doSetVar"><l>targetSize</l><l>100</l></block><block s="doSetVar"><l>x</l><block s="reportDifference"><block s="reportMouseX"></block><block var="targetXPosition"/></block></block><block s="doSetVar"><l>y</l><block s="reportDifference"><block var="targetYPosition"/><block s="reportMouseY"></block></block></block></script><script><block s="doSetVar"><l>targetXPosition</l><block s="reportAttributeOf"><l><option>x position</option></l><block var="target"/></block></block><block s="doSetVar"><l>targetYPosition</l><block s="reportAttributeOf"><l><option>y position</option></l><block var="target"/></block></block><block s="doSetVar"><l>targetSize</l><block s="reportAttributeOf"><l><option>size</option></l><block var="target"/></block></block><block s="doSetVar"><l>x</l><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block s="reportMouseX"></block><block var="targetXPosition"/></block><block var="targetSize"/></block></list></block><block s="reportQuotient"><block var="targetCostumeWidth"/><l>2</l></block></list></block><l>1</l></list></block></block></block><block s="doSetVar"><l>y</l><block s="reportRound"><block s="reportVariadicSum"><list><block s="reportVariadicSum"><list><block s="reportVariadicProduct"><list><l>100</l><block s="reportQuotient"><block s="reportDifference"><block var="targetYPosition"/><block s="reportMouseY"></block></block><block var="targetSize"/></block></list></block><block s="reportQuotient"><block var="targetCostumeHeight"/><l>2</l></block></list></block><l>1</l></list></block></block></block></script></block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><block var="x"/><block var="targetCostumeWidth"/></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="y"/><block var="targetCostumeHeight"/></list></block></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicGreaterThanOrEquals"><list><block var="y"/><l>1</l></list></block></list></block></list></block><script><block s="doReplaceInList"><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block var="x"/><block s="reportListItem"><l>3</l><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block></block></block></block><block s="reportListItem"><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block var="y"/><block s="reportListItem"><l>4</l><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block></block></block></block><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block><block var="value"/></block></script><list></list></block><custom-block s="add grid %s on %s with grid lines? %b"><l>myData</l><block var="target"/><l><bool>true</bool></l></custom-block></script></block></script></block-definition><block-definition s="set cell value on %&apos;sprite&apos; at %&apos;x&apos; %&apos;y&apos; to %&apos;value&apos; with grid lines? %&apos;withLines&apos;" type="command" category="6. ImagePad for image operations"><comment x="0" y="0" w="227" collapsed="false">Sets the value of a grid cell an shows the result.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%n">1</input><input type="%n">1</input><input type="%n">2</input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>gridProps</l><l>grid</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><custom-block s="report SciSnap! error %txt"><l>ERROR: target isn&apos;t configured as GridPad</l></custom-block><block s="doStopThis"><l><option>this block</option></l></block></script><list></list></block><block s="doSetVar"><l>gridProps</l><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block></block><block s="doIfElse"><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="x"/><l>1</l></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicGreaterThanOrEquals"><list><block var="y"/><l>1</l></list></block><block s="reportVariadicAnd"><list><block s="reportVariadicLessThanOrEquals"><list><block var="x"/><block s="reportListItem"><l>1</l><block var="gridProps"/></block></list></block><block s="reportVariadicLessThanOrEquals"><list><block var="y"/><block s="reportListItem"><l>2</l><block var="gridProps"/></block></list></block></list></block></list></block></list></block><script><block s="doReplaceInList"><block var="x"/><block s="reportListItem"><block var="y"/><block s="reportAttributeOf"><l>myData</l><block var="target"/></block></block><block var="value"/></block><custom-block s="add grid %s on %s with grid lines? %b"><l>myData</l><block var="target"/><block var="withLines"/></custom-block></script><script><custom-block s="report SciSnap! error %txt"><l>ERROR: indices out of bounds!</l></custom-block></script></block></script></block></script></block-definition><block-definition s="%&apos;typeOfNeighborhood&apos; -neighborhood as torus? %&apos;asTorus&apos; of %&apos;x&apos; %&apos;y&apos; on %&apos;sprite&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="355.8333333333333" collapsed="false">Reports the Moore- or v.-Neumann-neighborhood of a cell. Order: north,east,south,west</comment><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">Moore<options>Moore&#xD;vonNeumann</options></input><input type="%b">false</input><input type="%n">1</input><input type="%n">1</input><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input></inputs><script><block s="doDeclareVariables"><list><l>target</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GridPad</l></block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_neighborhoodInGridOnImagePad(data,gridProperties,x,y,isTorus,typeOfNeighborhood)</l><list><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block><block var="x"/><block var="y"/><block var="asTorus"/><block var="typeOfNeighborhood"/></list></block></block></script></block-definition><block-definition s="all cells on %&apos;sprite&apos; as torus? %&apos;isTorus&apos; swapped %&apos;n&apos; times $nl randomly inside radius %&apos;range&apos; range x: %&apos;xmin&apos; %&apos;xmax&apos; y: %&apos;ymin&apos; %&apos;ymax&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="194.99999999999977" collapsed="false">Swaps the cell values of a grid randomly.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">true</input><input type="%n">1</input><input type="%n">1</input><input type="%n">1</input><input type="%s">xMax</input><input type="%n">1</input><input type="%s">yMax</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>gridProps</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GridPad</l></block></script><list></list></block><block s="doSetVar"><l>gridProps</l><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="xmax"/><l>xMax</l></list></block><script><block s="doSetVar"><l>xmax</l><block s="reportListItem"><l>1</l><block var="gridProps"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="ymax"/><l>yMax</l></list></block><script><block s="doSetVar"><l>ymax</l><block s="reportListItem"><l>2</l><block var="gridProps"/></block></block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_swapCellsOfGridOnImagePad(data,gridProperties,n,isTorus,range,xMin,xMax,yMin,yMax)</l><list><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block><block var="n"/><block var="isTorus"/><block s="reportMonadic"><l><option>abs</option></l><block var="range"/></block><block var="xmin"/><block var="xmax"/><block var="ymin"/><block var="ymax"/></list></block></block></script></block></script></block-definition><block-definition s="all cells on %&apos;sprite&apos; as torus? %&apos;isTorus&apos; with value %&apos;oldValue&apos; $nl take value %&apos;ifValue&apos; if number of surrounding value %&apos;surrValue&apos; is %&apos;operator&apos; %&apos;n&apos; $nl else take value %&apos;elseValue&apos; with noise? %&apos;withNoise&apos; of %&apos;noise&apos; % $nl range x: %&apos;xmin&apos; %&apos;xmax&apos; y: %&apos;ymin&apos; %&apos;ymax&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="299" collapsed="false">Counts the surrounding values and changes it if necessary.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">true</input><input type="%s">any or number<options>any</options></input><input type="%n">2</input><input type="%n">2</input><input type="%s" readonly="true">greater-than<options>greater-than&#xD;equal-to&#xD;smaller-than&#xD;different-from</options></input><input type="%n">4</input><input type="%n">1</input><input type="%b">false</input><input type="%n">5</input><input type="%n">1</input><input type="%s">xMax</input><input type="%n">1</input><input type="%s">yMax</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>gridProps</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GridPad</l></block></script><list></list></block><block s="doSetVar"><l>gridProps</l><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="xmax"/><l>xMax</l></list></block><script><block s="doSetVar"><l>xmax</l><block s="reportListItem"><l>1</l><block var="gridProps"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="ymax"/><l>yMax</l></list></block><script><block s="doSetVar"><l>ymax</l><block s="reportListItem"><l>2</l><block var="gridProps"/></block></block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_changeSurroundingValuesOfGridOnImagePag(data,gridProperties,ifValue,elseValue,surrValue,op,n,isTorus,withNoise,noise,xMin,xMax,yMin,yMax,oldValue)</l><list><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block><block var="ifValue"/><block var="elseValue"/><block var="surrValue"/><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="operator"/><l> </l></block></block><block var="n"/><block var="isTorus"/><block var="withNoise"/><block var="noise"/><block var="xmin"/><block var="xmax"/><block var="ymin"/><block var="ymax"/><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="oldValue"/><l> </l></block></block></list></block></block></script></block></script><scripts><script x="692" y="455.74999999999983"><block s="evaluate"><block s="reportJSFunction"><list><l>data</l><l>gridProperties</l><l>ifValue</l><l>elseValue</l><l>surrValue</l><l>op</l><l>n</l><l>isTorus</l><l>withNoise</l><l>noise</l><l>xMin</l><l>xMax</l><l>yMin</l><l>yMax</l><l>oldValue</l></list><l>    var result;&#xD;&#xD;    function listCopy(item) {&#xD;      var theCopy;&#xD;      if (item instanceof List) {&#xD;        theCopy = new List();&#xD;        for (var i = 1; i &lt;= item.length(); i++)&#xD;          theCopy.add(listCopy(item.at(i)));&#xD;      } else&#xD;        theCopy = item;&#xD;      return theCopy;&#xD;    }&#xD;&#xD;   function actWith(x, y) {&#xD;      var xg, yg, res = 0, ok;&#xD;      if ((oldValue === 0) || (data.at(y).at(x) === oldValue)) {&#xD;        for (var xp = x - 1; xp &lt;= x + 1; xp++) {&#xD;          for (var yp = y - 1; yp &lt;= y + 1; yp++) {&#xD;            xg = xp;&#xD;            yg = yp;&#xD;            if (xp &lt; 1) {&#xD;              if (isTorus) {&#xD;                xg = xMax;&#xD;              } else {&#xD;                xg = 0;&#xD;              }&#xD;            }&#xD;            if (xp &gt; xMax) {&#xD;              if (isTorus) {&#xD;                xg = 1;&#xD;              } else {&#xD;                xg = 0;&#xD;              }&#xD;            }&#xD;            if (yp &lt; 1) {&#xD;              if (isTorus) {&#xD;                yg = yMax;&#xD;              } else {&#xD;                yg = 0;&#xD;              }&#xD;            }&#xD;            if (yp &gt; yMax) {&#xD;              if (isTorus) {&#xD;                yg = 1;&#xD;              } else {&#xD;                yg = 0;&#xD;              }&#xD;            }&#xD;            if ((xg &gt; 0) &amp;&amp; (yg &gt; 0) &amp;&amp; (data.at(yg).at(xg) === surrValue))&#xD;              res++;&#xD;          }&#xD;        }&#xD;//       if (data.at(y).at(x) === surrValue)&#xD;//         res--;&#xD;        ok = false;&#xD;        if ((op === "greater-than") &amp;&amp; (res &gt; n))&#xD;          ok = true;&#xD;        if ((op === "equal-to") &amp;&amp; (res == n))&#xD;          ok = true;&#xD;        if ((op === "smaller-than") &amp;&amp; (res &lt; n))&#xD;          ok = true;&#xD;        if ((op === "different-from") &amp;&amp; (res !== n))&#xD;          ok = true;&#xD;        if (ok)&#xD;          result.at(y).put(ifValue, x);&#xD;        else&#xD;          result.at(y).put(elseValue, x);&#xD;        if (withNoise) {&#xD;          if (Math.random() * 100 &lt;= noise)&#xD;            if (Math.random() &lt;= 0.5)&#xD;              result.at(y).put(ifValue, x);&#xD;            else&#xD;              result.at(y).put(elseValue, x);&#xD;        }&#xD;      }&#xD;    }&#xD;&#xD;    result = listCopy(data);&#xD;    xMin = Math.abs(xMin);&#xD;    xMax = Math.abs(xMax);&#xD;    yMin = Math.abs(yMin);&#xD;    yMax = Math.abs(yMax);&#xD;    if (xMin &gt; xMax) {&#xD;      h = xMin;&#xD;      xMin = xMax;&#xD;      xMax = h;&#xD;    }&#xD;    if (yMin &gt; yMax) {&#xD;      h = yMin;&#xD;      yMin = yMax;&#xD;      yMax = h;&#xD;    }&#xD;    if (oldValue === "any")&#xD;      oldValue = 0;&#xD;    oldValue = Number(oldValue);&#xD;    for (var x = xMin; x &lt;= xMax; x++)&#xD;      for (var y = yMin; y &lt;= yMax; y++)&#xD;        actWith(x, y);&#xD;    return result;&#xD;</l></block><list><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block><block var="ifValue"/><block var="elseValue"/><block var="surrValue"/><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="operator"/><l> </l></block></block><block var="n"/><block var="isTorus"/><block var="withNoise"/><block var="noise"/><block var="xmin"/><block var="xmax"/><block var="ymin"/><block var="ymax"/><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="oldValue"/><l> </l></block></block></list></block></script></scripts></block-definition><block-definition s="all cells on %&apos;sprite&apos; as torus? %&apos;isTorus&apos; take %&apos;operation&apos; $nl of surrounding cells x: %&apos;xmin&apos; %&apos;xmax&apos; y: %&apos;ymin&apos; %&apos;ymax&apos; range: %&apos;range&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="197" collapsed="false">Replaces the cell values of a grid depending on the features of the neighbors.</comment><header></header><code></code><translations></translations><inputs><input type="%s">thisSprite<options>thisSprite&#xD;theStage&#xD;anotherSprite</options></input><input type="%b">true</input><input type="%s" readonly="true">sum<options>sum&#xD;min&#xD;max&#xD;mean</options></input><input type="%n">1</input><input type="%s">xMax</input><input type="%n">1</input><input type="%s">yMax</input><input type="%n">1</input></inputs><script><block s="doDeclareVariables"><list><l>target</l><l>gridProps</l></list></block><block s="doSetVar"><l>target</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>theStage</l></list></block><block s="reportObject"><l>Stage</l></block><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="sprite"/><l>thisSprite</l></list></block><block s="reportObject"><l><option>myself</option></l></block><block s="reportObject"><block var="sprite"/></block></block></block></block><block s="doIf"><block s="reportNot"><custom-block s="is %s an ImagePad?"><block var="target"/></custom-block></block><script><block s="doReport"><l>ERROR: target isn&apos;t configured as GridPad</l></block></script><list></list></block><block s="doSetVar"><l>gridProps</l><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="xmax"/><l>xMax</l></list></block><script><block s="doSetVar"><l>xmax</l><block s="reportListItem"><l>1</l><block var="gridProps"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="ymax"/><l>yMax</l></list></block><script><block s="doSetVar"><l>ymax</l><block s="reportListItem"><l>2</l><block var="gridProps"/></block></block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_replaceValuesOfGridOnImagePad(data,gridProperties,operation,isTorus,xMin,xMax,yMin,yMax,range)</l><list><block s="reportAttributeOf"><l>myData</l><block var="target"/></block><custom-block s="ImagePadProperty %txt of %txt"><l>gridProperties</l><block var="target"/></custom-block><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="operation"/><l> </l></block></block><block var="isTorus"/><block var="xmin"/><block var="xmax"/><block var="ymin"/><block var="ymax"/><block s="reportMonadic"><l><option>abs</option></l><block var="range"/></block></list></block></block></script></block-definition><block-definition s="combine grid1 %&apos;grid1&apos; and grid2 %&apos;grid2&apos; by value1= %&apos;value1&apos; %&apos;operator&apos; value2= %&apos;value2&apos; to %&apos;ifValue&apos; else %&apos;elseValue&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="113" collapsed="false">Combines two grids.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input><input type="%n">1</input><input type="%s" readonly="true">or<options>and&#xD;or&#xD;xor&#xD;not-and&#xD;not-or&#xD;not-xor&#xD;minus</options></input><input type="%n">2</input><input type="%n">1</input><input type="%n">2</input></inputs><script><block s="doDeclareVariables"><list><l>xMax</l><l>yMax</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportNot"><block s="reportVariadicAnd"><list><custom-block s="is %s a %txt"><block var="grid1"/><l>matrix</l></custom-block><custom-block s="is %s a %txt"><block var="grid2"/><l>matrix</l></custom-block></list></block></block><script><block s="doReport"><l>ERROR: matrices required!</l></block></script><list></list></block><block s="doSetVar"><l>xMax</l><block s="reportIfElse"><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="grid1"/></block></block><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="grid2"/></block></block></list></block><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="grid1"/></block></block><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l>1</l><block var="grid2"/></block></block></block></block><block s="doSetVar"><l>yMax</l><block s="reportIfElse"><block s="reportVariadicGreaterThanOrEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="grid1"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="grid2"/></block></list></block><block s="reportListAttribute"><l><option>length</option></l><block var="grid1"/></block><block s="reportListAttribute"><l><option>length</option></l><block var="grid2"/></block></block></block></script></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_combineGridsOnImagePad(grid1,grid2,value1,operator,value2,ifValue,elseValue,xMax,yMax)</l><list><block var="grid1"/><block var="grid2"/><block var="value1"/><block var="operator"/><block var="value2"/><block var="ifValue"/><block var="elseValue"/><block var="xMax"/><block var="yMax"/></list></block></block></script></block-definition><block-definition s="apply Wolfram automaton no %&apos;no&apos; to grid %&apos;grid&apos; $nl with colors for 0: %&apos;color0&apos; and 1: %&apos;color1&apos;" type="reporter" category="6. ImagePad for image operations"><comment x="0" y="0" w="237" collapsed="false">Applies a Wolfram Cellular Automaton to a grid.</comment><header></header><code></code><translations></translations><inputs><input type="%n">30</input><input type="%l"></input><input type="%n">3</input><input type="%n">1</input></inputs><script><block s="doIf"><block s="reportNot"><custom-block s="is %s a %txt"><block var="grid"/><l>matrix</l></custom-block></block><script><block s="doReport"><l>ERROR: grid expected!</l></block></script><list></list></block><block s="doReport"><block s="reportApplyExtension"><l>SciS_applyWolframAutomatonToAgridOnImagePad(no,grid,color0,color1)</l><list><block var="no"/><block var="grid"/><block var="color0"/><block var="color1"/></list></block></block></script></block-definition><block-definition s="Example 1: slice data of FITS-image" type="command" category="6. ImagePad for image operations"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>sliceData</l><l>diagram</l></list></block><custom-block s="configure %s as an ImagePad width: %n %br height: %n color: %n %n %n"><l>thisSprite</l><l>400</l><l>300</l><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="import %s from %s %br to myData on %txt"><l>FITSData</l><l>currentCostume</l><l>thisSprite</l></custom-block><custom-block s="add %s image of %s to ImagePad %br min/max: %n %n log? %b on %txt"><l>gray</l><l>myData</l><l>0</l><custom-block s="%s of vector %l"><l>max</l><block var="myData"/></custom-block><l><bool>false</bool></l><l>thisSprite</l></custom-block><block s="setScale"><l>200</l></block><block s="doSetVar"><l>sliceData</l><custom-block s="%s on %txt by mouse"><l>slice-data</l><l>thisSprite</l></custom-block></block><block s="doSetVar"><l>diagram</l><block s="newClone"><l><option>myself</option></l></block></block><block s="doTellTo"><block var="diagram"/><block s="reifyScript"><script><block s="setScale"><l>100</l></block><custom-block s="configure %txt as a PlotPad width: %n %br height: %n color: %n %n %n"><l>thisSprite</l><l>400</l><l>300</l><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="get ranges for PlotPad %txt %br from %s with border %n"><l>thisSprite</l><block var="sliceData"/><l>0.1</l></custom-block><custom-block s="set PlotPad line properties style: %txt %br width: %n color: %n %n %n on %txt"><l>continuous</l><l>1</l><l>0</l><l>0</l><l>0</l><l>thisSprite</l></custom-block><custom-block s="set PlotPad marker properties style: %txt width: %n %br color: %n %n %n connected? %b on %txt"><l>square</l><l>5</l><l>0</l><l>0</l><l>0</l><l><bool>true</bool></l><l>thisSprite</l></custom-block><custom-block s="add dataplot of numeric data: %s to PlotPad %txt"><block var="sliceData"/><l>thisSprite</l></custom-block><custom-block s="add axes and scales to PlotPad %txt"><l>thisSprite</l></custom-block></script><list></list></block><list></list></block></script><scripts><comment x="376.6666666666667" y="54.79999999999999" w="237.33333333333334" collapsed="false">An image should be loaded as costume of the sprite!</comment></scripts></block-definition><block-definition s="Example 2: false color image of moon crater albertarius" type="command" category="6. ImagePad for image operations"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="configure %s as an ImagePad width: %n %br height: %n color: %n %n %n"><l>thisSprite</l><l>400</l><l>300</l><l>245</l><l>245</l><l>245</l></custom-block><block s="doSwitchToCostume"><l>albategnius</l></block><block s="setScale"><l>100</l></block><block s="doWait"><l>1</l></block><custom-block s="import %s from %s %br to myData on %txt"><l>costume(RGB)data</l><l>currentCostume</l><l>myData</l></custom-block><custom-block s="add %s image of %s to ImagePad %br min/max: %n %n log? %b on %txt"><l>false-color</l><l>myData</l><l>0</l><l>255</l><l><bool>true</bool></l><l>thisSprite</l></custom-block></script><scripts><comment x="351.3333333333333" y="98.13333333333333" w="237.33333333333334" collapsed="false">An image of Albategnius should be loaded as costume of the sprite!</comment></scripts></block-definition><block-definition s="Example 3: Wolfram Automaton No. 30" type="command" category="6. ImagePad for image operations"><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="configure %s as an ImagePad width: %n %br height: %n color: %n %n %n"><l>thisSprite</l><l>400</l><l>300</l><l>245</l><l>245</l><l>245</l></custom-block><custom-block s="set ImagePad grid properties on %s %br horizontal cells: %n vertical cells: %n"><l>thisSprite</l><l>400</l><l>300</l></custom-block><custom-block s="fill all cells on %s range x: %n %s y: %n %s %br randomly with numbers %mult%n"><l>thisSprite</l><l>1</l><l>xMax</l><l>1</l><l>yMax</l><list><l>3</l></list></custom-block><custom-block s="set cell value on %s at %n %n to %n with grid lines? %b"><l>thisSprite</l><l>200</l><l>1</l><l>1</l><l><bool>false</bool></l></custom-block><block s="doSetVar"><l>myData</l><custom-block s="apply Wolfram automaton no %n to grid %l %br with colors for 0: %n and 1: %n"><l>30</l><block var="myData"/><l>3</l><l>1</l></custom-block></block><custom-block s="add grid %s on %s with grid lines? %b"><l>myData</l><l>thisSprite</l><l><bool>false</bool></l></custom-block></script></block-definition><block-definition s="is the global %&apos;global&apos; property %&apos;prop&apos; $nl with value %&apos;value&apos; present ?" type="predicate" category="1. SciSnap! globals"><comment x="0" y="0" w="154.16666666666669" collapsed="false">Tests the value of a property.</comment><header></header><code></code><translations></translations><inputs><input type="%b">false</input><input type="%txt">typeOfConfiguration</input><input type="%s">MathPad</input></inputs><script><block s="doIfElse"><block var="global"/><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_ispropertypresent(properties,name,value)</l><list><l>SciSnap!Properties</l><block var="prop"/><block var="value"/></list></block></block></script><script><block s="doReport"><block s="reportApplyExtension"><l>SciS_ispropertypresent(properties,name,value)</l><list><l>myProperties</l><block var="prop"/><block var="value"/></list></block></block></script></block></script></block-definition><block-definition s="SciSnap! global property %&apos;name&apos;" type="reporter" category="1. SciSnap! globals"><comment x="0" y="0" w="183.33333333333337" collapsed="false">Returns the value of an existing global SciSnap!-property or &quot;not found&quot;.&#xD;&#xD;Items:&#xD;typeOfData&#xD;width&#xD;height&#xD;minValue&#xD;maxValue&#xD;columns&#xD;rows&#xD;maxSetValue</comment><header></header><code></code><translations></translations><inputs><input type="%s">minValue<options>typeOfData&#xD;width&#xD;height&#xD;minValue&#xD;maxValue&#xD;columns&#xD;rows&#xD;maxSetValue</options></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>h</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>result</l><l>not found</l></block><block s="doSetVar"><l>name</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="name"/><l> </l></block></block></block><block s="doSetVar"><l>h</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><block s="reportListItem"><l>1</l><l/></block></list></block><script><block s="doSetVar"><l>result</l><block s="reportListItem"><l>2</l><l/></block></block></script><list></list></block><block s="doReport"><l></l></block></script><list></list></block><block var="SciSnap!Properties"/></block></block><block s="doReport"><block var="result"/></block></script></block></script></block-definition><block-definition s="start SciSnap!" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="143.1691406249999" collapsed="false">Initialization of SciSnap!</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doApplyExtension"><l>src_load(url)</l><list><l>libraries/SciSnapExtensions.js</l></list></block><block s="doWarp"><script><block s="doApplyExtension"><l>SciS_addMenuItemForSciSnapManuals()</l><list></list></block><custom-block s="Switch to SciSnap! logo"></custom-block><custom-block s="set SciSnap! global variables and properties"></custom-block><block s="doApplyExtension"><l>SciS_setvalue(which,value)</l><list><l>Stage size</l><block s="reportNewList"><list><l>800</l><l>600</l></list></block></list></block><block s="doSwitchToCostume"><l>Alberto left</l><comment w="90" collapsed="false">... if sprite Hilberto is available.</comment></block></script></block></script><scripts><script x="319" y="43.80000000000018"><block s="doApplyExtension"><l>src_load(url)</l><list><l>https://emu-online.de/SciSnapExtensions.js</l></list><comment w="90" collapsed="false">alternative server</comment></block></script></scripts></block-definition><block-definition s="set SciSnap! global variables and properties" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="220.79868031547676" collapsed="false">Creates global variables &quot;SciSnap!Properties&quot;, &quot;SciSnap!Data&quot;, and &quot;SciSnap!Messages&quot;. &#xD;Sets the default values of global SciSnap!-properties for items&#xD;typeOfData&#xD;width&#xD;height&#xD;minValue&#xD;maxValue&#xD;columns&#xD;rows&#xD;maxSetValue</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doWarp"><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>global</l><l>SciSnap!Properties</l></list></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>global</l><l>SciSnap!Data</l></list></block><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><l>global</l><l>SciSnap!Messages</l></list></block><block s="doSetVar"><l>SciSnap!Properties</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>SciSnap!Messages</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>SciSnap!Data</l><block s="reportNewList"><list></list></block></block><custom-block s="set SciSnap! global property %s to %s"><l>typeOfData</l><l>not set</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>width</l><l>not set</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>height</l><l>not set</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>minValue</l><l>not set</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>maxValue</l><l>not set</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>columns</l><l>0</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>rows</l><l>0</l></custom-block><custom-block s="set SciSnap! global property %s to %s"><l>maxSetValue</l><l>500</l></custom-block></script></block></script></block-definition><block-definition s="set SciSnap! global property %&apos;name&apos; to %&apos;value&apos;" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="167.5" collapsed="false">Sets the value of an existing global SciSnap!-property or inserts it anew.&#xD;&#xD;Items:&#xD;typeOfData&#xD;width&#xD;height&#xD;minValue&#xD;maxValue&#xD;columns&#xD;rows&#xD;maxSetValue</comment><header></header><code></code><translations></translations><inputs><input type="%s">minValue<options>typeOfData&#xD;width&#xD;height&#xD;minValue&#xD;maxValue&#xD;columns&#xD;rows&#xD;maxSetValue</options></input><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>done</l><l>h</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>name</l><block s="reportListItem"><l>1</l><block s="reportTextSplit"><block var="name"/><l> </l></block></block></block><block s="doSetVar"><l>done</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="doSetVar"><l>h</l><block s="reportMap"><block s="reifyReporter"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><block s="reportListItem"><l>1</l><l/></block></list></block><script><block s="doReplaceInList"><l>2</l><l/><block var="value"/></block><block s="doSetVar"><l>done</l><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="doReport"><l></l></block></script><list></list></block><block var="SciSnap!Properties"/></block></block><block s="doIf"><block s="reportNot"><block var="done"/></block><script><block s="doAddToList"><block s="reportNewList"><list><block var="name"/><block var="value"/></list></block><block var="SciSnap!Properties"/></block></script><list></list></block></script></block></script></block-definition><block-definition s="Switch to SciSnap! logo" type="command" category="1. SciSnap! globals"><comment x="0" y="0" w="138.33333333333334" collapsed="false">Changes the Snap!-Logo. ;-)</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doApplyExtension"><l>SciS_SetSciSnapLogo()</l><list></list></block></script></block-definition><block-definition s="set value %&apos;which&apos; to %&apos;value&apos;" type="command" category="sensing"><comment x="0" y="0" w="254.66666666666666" collapsed="false">Allows changing global settings programmatically.&#xD;This block is for numeric or text settings; use&#xD;SET FLAG for Boolean (checkbox) values.&#xD;&#xD;Eisenberg&apos;s Law:  Anything you can do from the user interface you should be able to do in your program, and vice versa.  This library is just a beginning; there are many UI controls outside of the Settings menu.</comment><header></header><code></code><translations>pt:altera o valor da configuração _ para _&#xD;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></blocks><primitives></primitives><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="127534"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAAAXNSR0IArs4c6QAADoVJREFUeF7t1cEJAAAIxDDdf2m3sJ+4wEEQuuMIECBAgACBd4F9XzRIgAABAgQIjAB7AgIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECByxcQFpoRMBzwAAAABJRU5ErkJggg==</pentrails><costumes><list struct="atomic" id="127535"></list></costumes><sounds><list struct="atomic" id="127536"></list></sounds><variables></variables><blocks></blocks><scripts><script x="745" y="222"><block s="receiveCondition"><block s="reportNot"><block var="started"/></block></block><custom-block s="set value %s to %s"><l>Stage scale</l><l>1</l></custom-block></script><script x="20" y="20"><block s="receiveGo"></block><custom-block s="start SciSnap!"></custom-block><block s="doBroadcast"><l>start</l><list></list></block></script></scripts><sprites select="1"><sprite name="Alberto" idx="1" x="0" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="80,80,80,1" pen="tip" id="127554"><costumes><list id="127555"><item><ref mediaID="Alberto_cst_Alberto left"></ref></item></list></costumes><sounds><list struct="atomic" id="127556"></list></sounds><blocks></blocks><variables></variables><scripts><script x="311" y="394.33333333333337"><block s="receiveMessage"><l>start</l><list></list></block><block s="doForever"><script><block s="gotoXY"><l>0</l><l>0</l></block></script></block></script><script x="20" y="10"><block s="receiveGo"></block><custom-block s="start SciSnap!"></custom-block><block s="doBroadcast"><l>start</l><list></list></block></script></scripts></sprite><watcher var="started" style="normal" x="10" y="10" color="243,118,29"/></sprites></stage><variables><variable name="SciSnap!Properties"><list id="127578"><item><list struct="atomic" id="127579">typeOfData,not set</list></item><item><list struct="atomic" id="127580">width,not set</list></item><item><list struct="atomic" id="127581">height,not set</list></item><item><list struct="atomic" id="127582">minValue,not set</list></item><item><list struct="atomic" id="127583">maxValue,not set</list></item><item><list struct="atomic" id="127584">columns,0</list></item><item><list struct="atomic" id="127585">rows,0</list></item><item><list struct="atomic" id="127586">maxSetValue,500</list></item></list></variable><variable name="SciSnap!Data"><list struct="atomic" id="127587"></list></variable><variable name="SciSnap!Messages"><list struct="atomic" id="127588"></list></variable><variable name="started"><bool>false</bool></variable></variables></scene></scenes></project><media name="SciSnap!" app="Snap! 10, https://snap.berkeley.edu" version="2"><costume name="Untitled" center-x="197.5" center-y="62.5" image="data:image/png;base64,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" mediaID="Hilberto_cst_Untitled"/><costume name="HilbertoLeft" center-x="67" center-y="77.5" image="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIxMzQuMzc0NDkiIGhlaWdodD0iMTU1LjE0ODI5IiB2aWV3Qm94PSIwLDAsMTM0LjM3NDQ5LDE1NS4xNDgyOSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE5Ni4zMzAwMywtMTEyLjI5MjU5KSI+PGcgZGF0YS1wYXBlci1kYXRhPSJ7JnF1b3Q7aXNQYWludGluZ0xheWVyJnF1b3Q7OnRydWV9IiBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLWRhc2hhcnJheT0iIiBzdHJva2UtZGFzaG9mZnNldD0iMCIgc3R5bGU9Im1peC1ibGVuZC1tb2RlOiBub3JtYWwiPjxwYXRoIGQ9Ik0yMjAuNjg3NDIsMjIyLjIxNTc2di03NS4wNTExMmg4OC4zMTQ0NnY3NS4wNTExMnoiIGRhdGEtcGFwZXItZGF0YT0ieyZxdW90O2luZGV4JnF1b3Q7Om51bGx9IiBmaWxsPSIjNTMzZGZmIiBzdHJva2U9IiMxMzIxNjEiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48ZyBkYXRhLXBhcGVyLWRhdGE9InsmcXVvdDtpbmRleCZxdW90OzpudWxsfSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIj48cGF0aCBkPSJNMjg2LjY0MjA1LDE4Mi4xNDExMWMwLDUuMjY1NDQgLTQuMjcyMzgsOS41MzQwNSAtOS41NDE2LDkuNTM0MDVjLTUuMjY5MjEsMCAtOS41MzU5NCwtNC4yNjg2MSAtOS41MzU5NCwtOS41MzQwNWMwLC01LjI2OTIyIDQuMjY4NjEsLTkuNTQ1MzggOS41MzU5NCwtOS41NDUzOGM1LjI3MTExLDAuMDA1NjYgOS41NDE2LDQuMjc2MTcgOS41NDE2LDkuNTQ1Mzh2MHoiIGZpbGw9IiNmZmZmZmYiLz48cGF0aCBkPSJNMjc1LjgxODU0LDE3NS4xNjg5OGMxLjg1MjA2LDAgMy41Mjg1NCwwLjc1MTQgNC43NDQzNywxLjk2OTEyYzEuMjE1ODMsMS4yMTM5NCAxLjk2NzIzLDIuODk0MiAxLjk2NzIzLDQuNzQ0MzdjMCwxLjg1Mzk1IC0wLjc0OTUxLDMuNTMwNDIgLTEuOTY3MjMsNC43NDYyNWMtMS4yMTM5NCwxLjIxNTgzIC0yLjg5MjMxLDEuOTY3MjMgLTQuNzQ0MzcsMS45NjcyM2MtMS44NTIwNiwwIC0zLjUyODU0LC0wLjc1MTQgLTQuNzQ0MzcsLTEuOTY3MjNjLTEuMjE3NzIsLTEuMjE1ODMgLTEuOTY3MjMsLTIuODk0MTkgLTEuOTY3MjMsLTQuNzQ2MjVjMCwtMS44NTIwNiAwLjc0OTUxLC0zLjUzMDQzIDEuOTY3MjMsLTQuNzQ0MzdjMS4yMTM5NCwtMS4yMTc3MSAyLjg5MjMxLC0xLjk2OTEyIDQuNzQ0MzcsLTEuOTY5MTJ6IiBmaWxsPSIjMTMyMTYxIi8+PC9nPjxnIGRhdGEtcGFwZXItZGF0YT0ieyZxdW90O2luZGV4JnF1b3Q7Om51bGx9IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiPjxwYXRoIGQ9Ik0yNDEuMjM5OTMsMTgyLjE0MTExYzAsNS4yNjU0NCAtNC4yNzA1LDkuNTM0MDUgLTkuNTQxNjEsOS41MzQwNWMtNS4yNjM1NSwwIC05LjUzNzgyLC00LjI2ODYxIC05LjUzNzgyLC05LjUzNDA1YzAsLTUuMjY5MjIgNC4yNzA0OSwtOS41NDUzOCA5LjUzNzgyLC05LjU0NTM4YzUuMjcxMSwwLjAwNTY2IDkuNTQxNjEsNC4yNzYxNyA5LjU0MTYxLDkuNTQ1Mzh2MHoiIGZpbGw9IiNmZmZmZmYiLz48cGF0aCBkPSJNMjM3LjEyOTkxLDE4MS44ODI0NmMwLDMuNzA3OSAtMy4wMDE4MSw2LjcxMTU5IC02LjcxMzQ4LDYuNzExNTljLTMuNzA2MDEsMCAtNi43MTM0OCwtMy4wMDE4MSAtNi43MTM0OCwtNi43MTE1OWMwLC0zLjcwNDEyIDMuMDA3NDcsLTYuNzEzNDkgNi43MTM0OCwtNi43MTM0OWMzLjcxMTY3LDAgNi43MTM0OCwzLjAwNzQ4IDYuNzEzNDgsNi43MTM0OXYweiIgZmlsbD0iIzEzMjE2MSIvPjwvZz48cGF0aCBkPSJNMjgxLjU3NjIyLDIxMC4zNTQ1M2MtNS4wOTcwOSw0LjM2ODkzIC0xMi4zNzcwNyw0LjM2MjYxIC0xMi4zNzcwNyw0LjM2MjYxIiBkYXRhLXBhcGVyLWRhdGE9InsmcXVvdDtpbmRleCZxdW90OzpudWxsfSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMTMyMTYxIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0zMDcuNDUxMywxNzUuMDQ5NTVsMjEuMjQ2MDEsLTAuMzMwMDFsMC40OTUxNCw2MC44MjcyN2wtMjEuMjQ2MDEsMC4zMzAwMXoiIGRhdGEtcGFwZXItZGF0YT0ieyZxdW90O2luZGV4JnF1b3Q7Om51bGx9IiBmaWxsPSIjNTMzZGZmIiBzdHJva2U9IiMxMzIxNjEiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48cGF0aCBkPSJNMjE5LjEwMjc1LDIzNS41ODIybC0yMS4yMjk4NywtMS4xNzQ1M2wxLjc4NTcsLTU5Ljk4Mjc1bDIxLjIyOTg3LDEuMTc0NTN6IiBkYXRhLXBhcGVyLWRhdGE9InsmcXVvdDtpbmRleCZxdW90OzpudWxsfSIgZmlsbD0iIzUzM2RmZiIgc3Ryb2tlPSIjMTMyMTYxIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PHBhdGggZD0iTTI5Ny45MDIzNiwyNjUuNzE5OTlsLTIxLjI0NjM1LDAuMjA2MzlsLTAuNDI3NzQsLTQ0LjAzNDc3bDIxLjI0NjM1LC0wLjIwNjM4eiIgZGF0YS1wYXBlci1kYXRhPSJ7JnF1b3Q7aW5kZXgmcXVvdDs6bnVsbH0iIGZpbGw9IiM1MzNkZmYiIHN0cm9rZT0iIzEzMjE2MSIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIvPjxwYXRoIGQ9Ik0yNTAuNzgxMjMsMjY1LjcxOTk5bC0yMS4yNDYzNSwwLjIwNjM5bC0wLjQyNzc0LC00NC4wMzQ3N2wyMS4yNDYzNSwtMC4yMDYzOHoiIGRhdGEtcGFwZXItZGF0YT0ieyZxdW90O2luZGV4JnF1b3Q7Om51bGx9IiBmaWxsPSIjNTMzZGZmIiBzdHJva2U9IiMxMzIxNjEiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48cGF0aCBkPSJNMjYxLjg4MDc0LDE1MS42MTk3MmwxNC41NjQ3MSwtMzQuNjEyNjFsOS40MjQyMywzMC4xNTc1M2w2LjY4MjY0LC0yNi43MzA1NGw5LjkzODI3LDAuMTcxMzVsLTEuODg0ODQsMjcuNzU4NjMiIGRhdGEtcGFwZXItZGF0YT0ieyZxdW90O2luZGV4JnF1b3Q7Om51bGx9IiBmaWxsPSIjNTMzZGZmIiBzdHJva2U9IiMxMzIxNjEiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PHBhdGggZD0iTTIyNi4yNDAwMywxNDguMTkyNzRsMy45NDEwNCwtMzAuMzI4ODhsMTAuNDUyMzMsLTEuMzcwOGwyLjc0MTU5LDMyLjA0MjM4bDEwLjk2NjM4LC0zMC42NzE1OGw2LjY4MjY0LDMyLjg5OTEzIiBkYXRhLXBhcGVyLWRhdGE9InsmcXVvdDtpbmRleCZxdW90OzpudWxsfSIgZmlsbD0iIzUzM2RmZiIgc3Ryb2tlPSIjMTMyMTYxIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIvPjwvZz48L2c+PC9zdmc+" mediaID="Hilberto_cst_HilbertoLeft"/><costume name="HilbertoRight" center-x="67" center-y="77.5" image="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIxMzQuMzc0NDkiIGhlaWdodD0iMTU1LjE0ODI5IiB2aWV3Qm94PSIwLDAsMTM0LjM3NDQ5LDE1NS4xNDgyOSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE3Mi44NDM1MywtMTAyLjQyNTg2KSI+PGcgZGF0YS1wYXBlci1kYXRhPSJ7JnF1b3Q7aXNQYWludGluZ0xheWVyJnF1b3Q7OnRydWV9IiBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLWRhc2hhcnJheT0iIiBzdHJva2UtZGFzaG9mZnNldD0iMCIgc3R5bGU9Im1peC1ibGVuZC1tb2RlOiBub3JtYWwiPjxwYXRoIGQ9Ik0xOTQuNTQ2MTcsMjEyLjM0OTAzdi03NS4wNTExMmg4OC4zMTQ0NnY3NS4wNTExMnoiIGRhdGEtcGFwZXItZGF0YT0ieyZxdW90O2luZGV4JnF1b3Q7Om51bGx9IiBmaWxsPSIjNTMzZGZmIiBzdHJva2U9IiMxMzIxNjEiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48ZyBkYXRhLXBhcGVyLWRhdGE9InsmcXVvdDtpbmRleCZxdW90OzpudWxsfSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIj48cGF0aCBkPSJNMjE2LjkwNiwxNzIuMjc0MzhjMCwtNS4yNjkyMSA0LjI3MDQ5LC05LjUzOTcyIDkuNTQxNiwtOS41NDUzOGM1LjI2NzMzLDAgOS41MzU5NCw0LjI3NjE2IDkuNTM1OTQsOS41NDUzOGMwLDUuMjY1NDQgLTQuMjY2NzMsOS41MzQwNSAtOS41MzU5NCw5LjUzNDA1Yy01LjI2OTIyLDAgLTkuNTQxNiwtNC4yNjg2MSAtOS41NDE2LC05LjUzNDA1eiIgZmlsbD0iI2ZmZmZmZiIvPjxwYXRoIGQ9Ik0yMzIuNDczODgsMTY3LjI3MTM3YzEuMjE3NzIsMS4yMTM5NCAxLjk2NzIzLDIuODkyMzEgMS45NjcyMyw0Ljc0NDM3YzAsMS44NTIwNiAtMC43NDk1MSwzLjUzMDQyIC0xLjk2NzIzLDQuNzQ2MjVjLTEuMjE1ODMsMS4yMTU4MyAtMi44OTIzMSwxLjk2NzIzIC00Ljc0NDM3LDEuOTY3MjNjLTEuODUyMDYsMCAtMy41MzA0MywtMC43NTE0IC00Ljc0NDM3LC0xLjk2NzIzYy0xLjIxNzcyLC0xLjIxNTgzIC0xLjk2NzIzLC0yLjg5MjMgLTEuOTY3MjMsLTQuNzQ2MjVjMCwtMS44NTAxNyAwLjc1MTQsLTMuNTMwNDMgMS45NjcyMywtNC43NDQzN2MxLjIxNTgzLC0xLjIxNzcyIDIuODkyMzEsLTEuOTY5MTIgNC43NDQzNywtMS45NjkxMmMxLjg1MjA2LDAgMy41MzA0MywwLjc1MTQxIDQuNzQ0MzcsMS45NjkxMnoiIGZpbGw9IiMxMzIxNjEiLz48L2c+PGcgZGF0YS1wYXBlci1kYXRhPSJ7JnF1b3Q7aW5kZXgmcXVvdDs6bnVsbH0iIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciI+PHBhdGggZD0iTTI2Mi4zMDgxMiwxNzIuMjc0MzhjMCwtNS4yNjkyMSA0LjI3MDUxLC05LjUzOTcyIDkuNTQxNjEsLTkuNTQ1MzhjNS4yNjczMywwIDkuNTM3ODIsNC4yNzYxNiA5LjUzNzgyLDkuNTQ1MzhjMCw1LjI2NTQ0IC00LjI3NDI3LDkuNTM0MDUgLTkuNTM3ODIsOS41MzQwNWMtNS4yNzExMSwwIC05LjU0MTYxLC00LjI2ODYxIC05LjU0MTYxLC05LjUzNDA1eiIgZmlsbD0iI2ZmZmZmZiIvPjxwYXRoIGQ9Ik0yNjYuNDE4MTQsMTcyLjAxNTczYzAsLTMuNzA2MDEgMy4wMDE4MSwtNi43MTM0OSA2LjcxMzQ4LC02LjcxMzQ5YzMuNzA2MDEsMCA2LjcxMzQ4LDMuMDA5MzcgNi43MTM0OCw2LjcxMzQ5YzAsMy43MDk3OCAtMy4wMDc0Nyw2LjcxMTU5IC02LjcxMzQ4LDYuNzExNTljLTMuNzExNjcsMCAtNi43MTM0OCwtMy4wMDM2OSAtNi43MTM0OCwtNi43MTE1OXoiIGZpbGw9IiMxMzIxNjEiLz48L2c+PHBhdGggZD0iTTIzNC4zNDg5LDIwNC44NTA0MWMwLDAgLTcuMjc5OTgsMC4wMDYzMiAtMTIuMzc3MDcsLTQuMzYyNjEiIGRhdGEtcGFwZXItZGF0YT0ieyZxdW90O2luZGV4JnF1b3Q7Om51bGx9IiBmaWxsPSJub25lIiBzdHJva2U9IiMxMzIxNjEiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PHBhdGggZD0iTTE5NS42MDE2MSwyMjYuMDEwMDlsLTIxLjI0NjAxLC0wLjMzMDAxbDAuNDk1MTQsLTYwLjgyNzI3bDIxLjI0NjAxLDAuMzMwMDF6IiBkYXRhLXBhcGVyLWRhdGE9InsmcXVvdDtpbmRleCZxdW90OzpudWxsfSIgZmlsbD0iIzUzM2RmZiIgc3Ryb2tlPSIjMTMyMTYxIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PHBhdGggZD0iTTI4Mi42NTk2LDE2NS43MzI3MmwyMS4yMjk4NywtMS4xNzQ1M2wxLjc4NTcsNTkuOTgyNzVsLTIxLjIyOTg3LDEuMTc0NTN6IiBkYXRhLXBhcGVyLWRhdGE9InsmcXVvdDtpbmRleCZxdW90OzpudWxsfSIgZmlsbD0iIzUzM2RmZiIgc3Ryb2tlPSIjMTMyMTYxIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PHBhdGggZD0iTTIwNi4wNzM0MywyMTEuODE4NWwyMS4yNDYzNSwwLjIwNjM4bC0wLjQyNzc0LDQ0LjAzNDc3bC0yMS4yNDYzNSwtMC4yMDYzOXoiIGRhdGEtcGFwZXItZGF0YT0ieyZxdW90O2luZGV4JnF1b3Q7Om51bGx9IiBmaWxsPSIjNTMzZGZmIiBzdHJva2U9IiMxMzIxNjEiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48cGF0aCBkPSJNMjUzLjE5NDU2LDIxMS44MTg1bDIxLjI0NjM1LDAuMjA2MzhsLTAuNDI3NzQsNDQuMDM0NzdsLTIxLjI0NjM1LC0wLjIwNjM5eiIgZGF0YS1wYXBlci1kYXRhPSJ7JnF1b3Q7aW5kZXgmcXVvdDs6bnVsbH0iIGZpbGw9IiM1MzNkZmYiIHN0cm9rZT0iIzEzMjE2MSIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIvPjxwYXRoIGQ9Ik0yMDIuOTQyMywxMzguNDk3MzVsLTEuODg0ODQsLTI3Ljc1ODYzbDkuOTM4MjcsLTAuMTcxMzVsNi42ODI2NCwyNi43MzA1NGw5LjQyNDIzLC0zMC4xNTc1M2wxNC41NjQ3MSwzNC42MTI2MSIgZGF0YS1wYXBlci1kYXRhPSJ7JnF1b3Q7aW5kZXgmcXVvdDs6bnVsbH0iIGZpbGw9IiM1MzNkZmYiIHN0cm9rZT0iIzEzMjE2MSIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48cGF0aCBkPSJNMjQyLjUyNDA0LDE0MC44OTYyNmw2LjY4MjY0LC0zMi44OTkxM2wxMC45NjYzOCwzMC42NzE1OGwyLjc0MTU5LC0zMi4wNDIzOGwxMC40NTIzMywxLjM3MDhsMy45NDEwNCwzMC4zMjg4OCIgZGF0YS1wYXBlci1kYXRhPSJ7JnF1b3Q7aW5kZXgmcXVvdDs6bnVsbH0iIGZpbGw9IiM1MzNkZmYiIHN0cm9rZT0iIzEzMjE2MSIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48L2c+PC9nPjwvc3ZnPg==" mediaID="Hilberto_cst_HilbertoRight"/><costume name="HilbertoLeft" center-x="35.5" center-y="46" image="data:image/png;base64,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" mediaID="4"/><costume name="HilbertoRight" center-x="35.5" center-y="46" image="data:image/png;base64,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" mediaID="5"/><costume name="AlbertoLeft" center-x="40.5" center-y="53" image="data:image/png;base64,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" mediaID="6"/><costume name="AlbertoRight" center-x="40.5" center-y="53" image="data:image/png;base64,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" mediaID="7"/><costume name="GundolfWaitingLeft" center-x="62.5" center-y="132" image="data:image/png;base64,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" mediaID="8"/><costume name="GundolfWaitingRight" center-x="62.5" center-y="132" image="data:image/png;base64,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" mediaID="9"/><costume name="GundorlfInstructingLeft" center-x="62.5" center-y="132" image="data:image/png;base64,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" mediaID="10"/><costume name="GundolfInstructingRight" center-x="62.5" center-y="132" image="data:image/png;base64,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" mediaID="11"/><costume name="GundolfPointingLeft" center-x="62.5" center-y="132" image="data:image/png;base64,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" mediaID="12"/><costume name="GundolfPointingRight" center-x="62.5" center-y="132" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH0AAAEICAYAAAByGPvjAAAAAXNSR0IArs4c6QAAIABJREFUeF7tnQdUVEcXx//zdhekCIINBHtBxYKoJFYsSUxiiy0xdmOLNfYSu2I3mthbjDGW2Hs3Yv1U7F1s2BBFQUQQ2d335uMui4KULewi4M45xhx35s7M/c3Mm3LnDkPWDsUA1AZQOJVqcAAXAEQCOA/gddaurmlKz0wjJkOlOAD4OS7HcQBsrK2tedmyZVKsx8uXL6Xg4CeCWq0G55wawD3tn5kA9mdoqTNRZlkNugBgPWOs+Q+tv5e8vLxYvnz56N/SDDExMVJoaCju3L7Drly5Il2+fIXSbAEwEsBNXemz2+9ZCTqB+gXAb8OGDxM9PErJjYVx8+ZN8c9lyxEWFvYUwG4A6wD8Z6y8rJYuK0HvC+CPH374Xt3g6waK9Cr6zZs30tGjx/jlS5eFmzdvkh6UAJYBmArgUXrlZ+b0WQn6uErelcb27dvH5Pqkb/+1q9f4qlWrmVKppBHlNIClADYCeGXyDD+yQAv0RABEUZQuXrzIN2zYKIQ+CyXdvABwkuYRAPwBBH9kXibJPitB31Lbt3bTTp06pqvMoijy0NBQJpPJeb58eVOURbP9oKD7iHz1ip8/f14KCDgjiKL4EsBYANsBPDSJ9j+SkHQpMIPL7N+ufds69erVMzrbiJcR0rRp03jky5cytSTByTm3VKhwIc3snxRRslQpyUqhEAoXKSwVLlxYePXqlaRUKuHk5MTWrlkrBQQECNHRbw4B+MLoQmSChFkFemMA//bq1TNHlapVdC7RUtKrJEnSJL/JKFMiPzatnc3exir5nn3H8fRZmEZeSEgoD7zzQKMPuUKOh49CpfMXbwiSJCF//nxSoUKFhZCQEOnx48eXANQE8CYT8DOqCFkBuguAK/Xq1XVu174dldeoMl+8eFFaumgRe3LvAM/lkFNnw4lVqni3PhPwz9rdb7W7eaTgogAKULsAIBql8UyQyCgFZnC59zvndq4/ZcpkplAojC7v3Lnz8E09L2nS2D46gSfU76D/aenLJr3UAKwzuM5mzc5oJZq1VEmFqzp27MB86/jKjM1TqVTyPn368rXLJ6Hld1/oDf323Ue8lNd3pCMfAGeMzT+zpcsK0Df4+FRt/nPPn/WG9aGSFy9arAp5fF92KWA99BnaE6ev9WVn6fipyxPj/o32+rNFyOzQCfQqb2/v1n369jaqrEH3gkQ/v0myG+c2Sh4lixjccPIXqSeFhr0aDGB2tiBu7KQoAytPs+RjgwcPEst6ljVqeF+4cJFUzsOFL18wzuD0r15H8byF6zGVSqwL4HAG1tusWRnVe8xaovfCcwKYrFAo+ixessjoLOfNnYeu7RugZ9dWBssYOvp3ccbv/9ChTPm4wx7anMkWITND78sY+6N5i2ZSw4YNDe6lCXR0QpcA3JIBITKgoAiUeL8Sq9ewO2o89rk70XPwSuSwmsc2FAzPDtQzM3STHLDQUq1baj2dzCpW5AAOWgNWHFAyoE0M0JAO3ICCeb7GyVqb4W7rKoKzxWxH8d4W6ObVgN7QJUniL56/YLmccklWVlZJJmu9e/XiW9f+xr+qX03771xUqUWZKIrIccsOmGoHdHsD+KqAATkBWpXPe80fPX7K5n+9FVMrDrsGCQchsO4AK8q2F3tm3mqbX3pm7ul+lbwrjdTjKJUvX/6X+vix4wqFQi5V8anKypYpI1WrVk14/TqKDx40SAi6tpMXdMv/rq4zfl+BEePm48h3q1FcXRjb6u7QaLrU4xKoe9sX+CeS79x3hJ0eegsTPAdtYXLZT5DElxB4Xba1ZJaf0GVm6Pu/avDlF61bt061jNTDaXZ+8/oVYe+2hW8jIl5bnQq4JEyeuYJN9JugATl96mS8enI8SfcJD4/AaL8F6Hi/DcKiXqLlxV7gElDZqhyO1V2P+70C0XuWHxo9/ho9i7ddy3aUaMOb3OEW6OYfhXSeqj158gRjx4xF0NXtYkF3V81kLzIqGrkK1MbCzr+hsL07Dh84iKnT+sV/sxMGfnsOOEjAX7ZAbgnoG392Ij1iEIY74HyTAKly1zbCWq/ZaF2w8X9g6pmAfI8F+keGbqWSQ3FVjW7L++BVyPueTEavPr7tpB9im7J2Xi1YaMhzVChQCnjDAJq4aegmKry3CltL70LsWyWa+3wBxXBnHK5wBN9PHoy7Xx9GTrndFQCeoCYj43XYlpJHzF918+aQmYf3NHt6gxPlkTfcATm2luUBh/8WK1cq+85Q8uLlQNG7ZltZu/ZtxW2bN8kSNwqNOqMY8EIANlsDKoZ6R9viyPHzOLhtIeouTXJUHoNImTPyFlEh9q4SEivKdhbP0gYUVP0sC73zFl8crXITvdYNk35q+yUb2Ld9kro0bNFb2r3/lODt5SGdO7Ym5e3XebbxDWB4dHzXoiV6B0dcj7nFdwQdQuuCje4X9vcv8W85R+/Ghb6YaL+7wjfm7YMZIz2zQKdeWglAsTqAfWcgjwoYdq9jB8cSdXyTAcsT4YDG/pWwu/YlbLi2XVyzerXw8MYuKX++PO82cdZt2s9/7DyCzZkxVOrT44eUof9lA1yVAzNfxzf/+zJgpD0uNDnHq/b4kYmiRB+EuwysAAO7J0GaC2Cz1nYuYwiZIZePBZ0gVIizOHWLu3RQEcAwxpiDq6uL+n9PQuTO2oqe69gBQXV8k1Xb474rSt13wU7fi+CMY5LfJLGqV3Gs+nMSyWUdu41GmTLFpNrVvd/WquFtm6reCPgUWqtHxe/G7bYCNuQAlkVChAj/Y2cQHv4aZ85dJQsbcc+B40JY+Os/4wwku5mBRYaJ/FjQyY55rkwmg7u7O69c2VusU7euYG9vJ7Ts3OVd5Y8MH4rnHh46lRF0L0iaONFPuH1pq6SQy4Uino2wcdV0tGhaP+201I87OAIdYoBqKmCsHVBYAvq9oV+S6Wbd5v1S644jaPsmr/Z+nM6yZcYIHwM69caARo0aVmreonmyYVdf6I8fPZamT58BlUpFMiRrhSDQhE0UJYyaMA8tm32Fyl6ldet8ri1wSgEwDthyYGw04JZ4ev9eRKxKJTm51hJiYlUNtTdjdMvPhDEyGro9ALo82GP48GFiKY9SyQ5Smnfu8m45fapXTzyuWiVFtR04sJ8/fXyHzfDrj7Xr9/KrN+/wvVsWGHxeDhUdmloBVBJPNZA/ZeAJhahev6P6ZMDVvwF0zYQ89SpSRkL3AjDH2tqqZtt27cSaNWukeBft87nz4X6ebhUD/+vbB0+8aX6XPIwY8avUvVNjTBjZUyj/WUupeZP6fPzInsKzZ2FqewdbuZ2NjVnq9teq7dJPPcc/ofMYvTScCSOZRTEf1JOuFo+OWx0P9vAoJXbs1BEuLi6pHpW6b9sufb51m0D97eCoX3lk8eLJyhgaGiqN/HWk8Ozefim3s5Pg6FoT61ZOl77+sjquXNweffTkI5vePXsbfcHxbWwsXr2KwrPQcBQq5CrlcrB/N4LcCAxC2SotqYoZoTuzNJmMKPgBQRDq/9Sls1S9evU0z8Xv3bun3uM3WbaZcz6ztAcqDRua4nB9/Phx0f/gHuHe1V2a8rfvOlK9at1e2fxZw8XvPpsrd3FxhJB3A8ByGKw0lVqNb5r1xn+Hz2rSWilkvFvnZkwQyAReYhu3HuTPQiPIuUEug4VnkgTmhl4EQNCYsWPEIkUKpwmcrhJNmTyVBwUF0b3x0y6uLlMmT9YswZKFTRs3SQ42Krbmr6nvyh9yvbHUb2IOwSV/Hj53xCUG54WAglaDhoXomBi06TQCO/YcJ0cGtGuzMu56NFnxlAIQqP1Dd9tuGyY588Q2N/TprgVcB02a5JfmBItOy5YuWSqdPh1APehbsjNXWCn8Fy9ObiYVGxvL+/Tuy/ZsniN+We/z9w0ptD6QowlgVQ54NRrIvQKQEyfDw/zF69Bn8PQomnDGwV5juITMncLc0I82btKoWrNmzVL9vpJN+ry588SrV6/FxPVw2uY8EecapHrcJ+FYnz69kzWW//47KMbGRLLbl7Yn/e3NRuD1rHhtW9cBck0y6rN75+4j1G3YRfU4OIyA/5W58RlXOnNCJyixvwzoJ1SsUDHVnr5502Zx585ddLZZJ9H1IarNwLj/jCvknjenuxvdbIoPJYsX4n5jeonubi4fNCQRUJ4GmK12WNddtZCnz3HQPwCHjpyGg4MdpzX+0hVbmVKpnh+31Wr6i/DGMTJ5Kt2aMT5L2g47OGPmdJ47d+4U8zl39pw4f/4C+q0XgMUpZLX192kDm/zSq63Jy7lj7xF898MgSBKHS34nPH32ksygyCrmVtwQMT4r31XThczkytRmSL3wv6JFi1YfPWZUqkP7xo0b1bt37SGvD2TfnlJY4Zrfqd2TOweNtoZNSej9B09QrHxj1PetgtXLJ2PTtkPoNWAqASf79mwfzAX9C8bYgUmT/SQXF5dUh/aAgABx0cLF9C2n2XFKoY5DThv/D82d0kvl3IXrqOrbAY8Dd6OAaz4sXLbBAj29SiWPDQUKFBjtN2limj2UzJ1GjaR9m1Q3Omjz/MadS1ul4sUKGr7FmkpFyLqGvueuLvnAGCzQTQCcRIz19q40ro8Op0B6QCdZ0o1zm1C6VBFzjUoW6BkFnZZqd+/exYzpMwlmWkD59bMbUcaD/AGYJwwZOVuaOWfVPu0egXkyyURSzdV70uzpwcHB4pTJU9mbN29oyKY7YmQ3QSdwnck5oNbTA6mJrppYL5g9QurUrjGzyWFt8vKSx4nKNX/k124EjSCL6UzExmxFMbkStSVNFfqZs2eUixYsVnDOyUvTj3FWMzSRo03yE5BbebkOnsJz+dTUfL+jbl4Wn/z5uyDevSZ4lS8unj+xTmCMvsLpDxGvIvntu48we84/WLvpAN1Rq6HdYk2/8EwuwSQKTKGOm2vUrNG0S5efkky+QkKeSqNGjmJ0nkImUnHf/gSj5MGQKaZXOv5ItMqbP8kS7+3jB+pLdYrI8zjZx147t1mRL2/udE3o7t57KP46bh7fuO2QXJI4bQqRb9h+2p3ATI7LNMUzB/RCdBjRtVsXRfXq1d/Jj4qKkrZs2cr8D/lf09rHJQDPQ4p3GzvPyb198m1XqmbkpQD1vWnDBXb5BO5c3srdXPMbtW5/+uy5WM6nJQsLjyLQY7RGjgnlMI1Gs4AUU0OnYfqkm5tbxTFjR3OFQqHpleSHddzYcXjxQuOAl5zv0hYrBVqSHZQVKe3qvesCBOscafbiix2/UvMzh2VH9iyBT5VyEARB7/JfuhIo1W/UA2Hhr4MAfAYgLAvwMUsR9VaanrnXYowdnTptijpv3rxyOj27e/eutPzP5ezZs1ACTtYzz7WyyBL2ulXlWnYVVuwVZDa2epXlzrRhqrBlM+W9ujZT/zFjmFwuk+lMF/M2lruX+oqHv4zaS6aQnzJw0r1OhekJOyGar0wmHP5t1m/cxsYGkyZNlh4+eEh50MnZr3GeFhPfJBzOcrtOrno6mDMwg77T0XduStda12KflcwvLV84Qcjt7IB8eZ1Trcv4yYtU46YsjY27jU7n+59sD0+AZGroZBp8mDFWVqFQcKVSSXdGSNEfOtIlB3wD7b5pNbDc3PVGlUGMecMDR/0svd6zXoBaxX5oVl/dq9v3snJli3NnJ8d3jYh8weZyq8WiomPpNYiUDnUMbNdZP7pRCtdRbZpkNdU63CMDwg8v/OUmr5wkw3XodKFQ9yFGTcoSl0EZ9ly67TcAb86dYOzZQ5Y3jyMf3K8DGVmwpq37S/cfPCP/8K5xz4DQJ+aTD+aAnpZSKb+lcPb4CVyErbenVGbm34I8p6PJyhF1/YIYHXSLPZo/CeItzbMdFCLiXJOVsAzt8cowmbL17D5NIFhtw9gbgEN+YGEzziKuc49567mD12cCE2SMSyLnKhXN5NNdtqhbV1VP1i6Wvdy4giEm6oB2BCJfr590SLdiDdBe/ISu+exqqN//XTIWsBL830FgjtaS3Wd1pOjDe+SygkXVZRdsFGzcDXf2l1J5Ik76qwK7NpYjNpomlPTpyRZeogzQfZKoGQm9GQSrzRgfyOH8wYmZpAK7fwp4cB7cqylwaB7gP5uX2RwgOZSvnO5vPtVYHfFSvPzTN1BdPk3gk9+KNFaDWTBdRkH/Ls5t9t9oNisnvhigX55HFgIb+vBic9ernWp8ITfFdz/i5CF1YPv61IiKk2l2FuRlkiLrB8D4rGiHbiaYrDdazeHw7WVYfjcOcGwYxBAWyEsu2aF2rv1Vul9pCqjoCB4dma3cfhqKxzAIhkmnNfsW2LnVQP99HAU8jc/ryg6OpT+wwtOXqV2atjH6upKkUvIzFR0YlLFkeZvlfccYhuN9bONBpJ0jWcJuRJHajvhlN4OVnbHle5+Ovvmz6qDAiOlq93a95ExuOPug+X7q0Nmj6UIFOQ7S7BV8isEc0CsB7Axa/SFDHXo/z4Th+R1gZh3kbttRXXzQBBkt8QyRHuDjIvHwZ3RNyU9rvPFJzuINUpoeCrYiV92oP8QHzc1khPL8LjCjNmw/r6ouM/Nvmb4TPK5W8YAKjjS0x3ke4ORfjKxyaERK6llQj0pm9SimhE63OLfAuWQdjL4AkwzpqWlXGQ0s+YGzkDPcbdBEuDT5kcnscqZZl0cr5opPpo6UMPaqiFxuHH6VGJ5dIZt7ujuXZV9eMqYBmgo6PWxzFC6VqmLYMdN8w/WoDbt3jPOtYxgLuy4VnboUeeo1ZB8O+fSE9tsnD/nNIZ0FZZHvOXx/jq/zzUOvMfcLW4Bvi3sNqoUe2WWbKKaATjOqeXAo0gPjr5q3h6em9sBDHMs7MMHZRsz3QzcpV9VaMkFrwHFv9hjV2xOHFfBqAbRdGAFre1pGxl9cP7s+Gn/9QLNMOvX7ZCZ26YVOGx1zIbfvieGnOVzLpldeOnoTB67t4Ti9miGErpFrQ6naHC2mMTrgEfZN4dK345OWcVZd4O5hmoCQzd4nEdILqQsEq2X49cJHBq4Hq5hwsGk1wcddTxr53DpgeevLWn92egjK+lHSA50OLjaj8zqGKt+nR07GaDE16BGPgJFkywlyWEc3VrN9MBaWt+aN8e8XyOHbM2so6fktsGVtwUckf1OPjSsL/vzGJ7M1awx0Mlm+iDr9CqDVH8ak/ziN5NIWsEB/8O/nJMvfAl03kjpwKuoPv3u6Y2amGJe2AFf2AO2WpAad3uj2z0xFNldZjOmpdVneMoeSTYjMVUJTyX1+m2NmXYapDwD2wRH9zNpA0LHhAKaZKrvMLMdQ6BR/J4r5fotBWe/9Gs0wPuw4YJPgZ1qL5uhiYN3PNwBU1t6ty8zM0l02Q6F/B7AtmPwQcHRPd+YZLSBV6JIKGFEUiAom3zcLM7pcGZ2fIdDJL8wRNJ4k4Gu6t5AFw+JWwGdtAS8y5Eka2Pp+4Efm0svJ5GQoWwd9oZPFyhHU6vk5Wmu8QWXNEHoLmPMtMP4GIPvACGfTEODQzNUA2mXNyulfan0AUpzfYe/WDxNuAtbkOyALh786cBTyBur3T1r3O4eB2XUj457MdszCtdOr6PpArwwmO4tfL3IUKKdPfL0y/miR3rwEhrsDYy4Decg+UhtiwoHBdPkGNATQ6w3ZNugDcSiK1JyGIceyjxL85wHhD4AWM97XSVIDA3MDqsjaGkOQbBx0Qadj0wC0nFsJdbOR18zb/sCuyUB/uvTyPnwqO3O6oH8JwWo/Jj8CcubLPm2fhvKp1YHx5JAiUZheHXhwkhwOTc0+lU1eE13Qz6HOAG+00npXzjaa4MDwuJO1cVeBHInmbRsGAId/nxd30dHEFp2ZS3FpQa8GsP/ht5dJFZO5ym90aVLcqKH9+SXNs72P2LSgj0W1buNSOqAwWtOZKKEFesowxjHfPmP59/TSZPYLFugW6PEasAzvsPT07DfAaWqU1jc9W0MHLc+aTwVK0F6MNmRsT6f9bHKrRtYo9A5khoW0oO/DVyO/QlO69pUNw4VNwLW9QLul7yu3bxqwfTg9/0iHLq+0DonTqjx5mySHxmm/1fleAm12FQbQPc4PTn+AWQF8otZ7ZYYpOS3o/ui+uQ4qNsuwwmRoRm9fAaM9gKkPARldwSPfU9eBpT8Cr58DMXq4m+MiyJ4eAPmxWaFjz56AdwKT5UA+T47mkwBlDMOf32e4+fWnC51QrejM4VoaaDBM1yZVyu1RVIG9DgbuBYDdD9DZZnkRH3Cv5oCgvWat+5CHvGM5aa15THbfznzQJRF49QRwysTv0Ea/iD9xm3ibI1dB48DrRJ1GBFEFDKJDntcfOkmgbUI68msfl5oMO+ib3zrOzepWAz4lqWZsPuhHFnLNEqjf/oxXpiEgzqwGDs7lGHyYQWH426yGZJVSXO0hTxN6RBoAPUZMvmvHCgJjuRztMMNvgOrWnYeY/vvfCs4xMs4p45RELtONyt5s0DWVGfgf4ECOGjN5WN6O4/k9hgEHMvYCJo2GA53B1GS78R4FPSxU2ctDvWb5ZOZe0EWwzZGDLV2xRd29rx99F6oBOJUejZoXekqWp+kprTnTbh4Wf8be9V9z5pJMNnWOa3smJnmj5sjxc+Lo8fMQcP6GTJQkNKjnI37ToJZs8MjZ6rdvVf9oTbXJ0IP+kDsVmkjq/c23QH+HIc5BxVhPoPNyoMjnGQNeGQ32a2HcOrWclyjmniILagB/LFiD6Kg3GmP9O0GPEB5Oq0kgKvotFyWJ8fhnCui/dN16QpwffWq58ZFSCGaDjrGlgeH/S25jnjHqNC6Xc+uB6wc42i/NmHnIyi7oVCJU+dei8do1o+HF5hzS0RNnxbexSvn6TfuU/kfPWgeHvIBSqbH46hb3PC0Ze9I7Oe9CmtBZ1411eCUjnDQoIzmGFWb47fn75Ynh9cn4FJEhYLPqJ7/ObI6S3D8N+wW+/Mmdg8hpn/YDBxGRkep1G/bJqCtXruQpli5VWC7IBNhY50Bqj1s8eBiCMt7NEBOr2gmgsb7Ql8KjQRf022t4q39+G1jUHBh9xRzqMp/M1K4zmyPHfdPQI0+AuOiPkWm6Qb105ZZYo35HQSWKqFqpLC5cDmQxb5WgId01vzMqe5UWv/26tsy7YmmxcCFXmYODPaysFJDLZLhw6YbkXbMdrfWTMEwLaE1YOx/DzGeG99ZV3YHinwPVfjKHuswnUxkFDHWDZoRK2KUzU27s316Y39wRPbu2SjOHVu2HQK0WxS1rZyVpHE9CQsWde44KPX6ZQgxDAdCr0GXoTTsHexuoRRHWCjleRpL5r+bdO72GdxImYWaYYd/loJPA/ObAxBuADTmcymJhQnlgwH4gpxmXmnePArN80bldY3HGpP4yZydHpPTcnCRJ+K71AES+jhbXr5wus89pq1GmUqnCsePn3y75axPbufcE+Vqht3ESXp2iQxxqSdQI8mufUklyKV/X0B2NoadsUZgeN9Iz+HkD7RYCRQxIo6foDIl2aA7Hk2tAu8Wp6IYDtL5Wx8b/oXB+Axeu7o6PL1dAav4b4EznKqkHtr4v+JF5JEDeq1tLafqk/nI7G5skeU7//S/V8DHzFbY2Crx9q4bEE851NNHIcRaBLUkTeUN0owu6P7psqAPvlvrJjIkAhmmHR0V8q8xyITIEoKvLoy4CcvKUpg30Eb13kmPjIIbHZ+kfiQCtjelvUjqZGBFE2lJtjA4rAJ92LNm1aK24RHfn6LbsUsecNnaXT69n+fLlEXJYWxFRjJ+yWLx89bbs35VTYSV/fw2Lfmvz0wjlvxsPkH/brwzVsS7oc+DTqS86/qWfXI23h0PI8iZWNMQ/u5pSnQky3Wolb1T0HU0ttAWwDHk9c2D4CY4cKTxX8ncnIOBvekeczq7pW7IFgA9NuubMHKKys7VhXXpN0JzMKOQy9PipuVixQilBksBCnoZi3OSlNJy30a7J9eOT0OB0xK4L69yHMD04aatPLVEaLj4MKtVHjqwdeun2Kh12GBsI2EkA3qzRBIF/1h5wpoer4oN2z70RgF0fZEB763SzxL7mZ+XFPdsXCucuXBOnzVguvHmrZHfuPWTBIWEEnA5fmhtTOF09nX6/iSI1S2HAQd3gswl0xNu/k3OaX4xR6gdp6OHeZQBKscaTGa/RhcE2FzCtOkfwOXrXJLkTnHgBC7SnbHa9u7fkXuVLC7fvPRSnz15Js3jycpn8vrWehdUFncTQx/kC3KqWwrATya/4Js4ou0C/sh1Y1JRefiimpx71iUYbJL9rh3IbAGR98U3ca85J71Yll0THq4m9K9MItEifDFOLow90SktDVSC8WxdDlzWpm9ZlF+jvjRv01Y+hDMj7NIEkUykapjM0GFIp8jdyB923WqFi05TTWaBnKDxjMzMEOuUxFSW/GIb++1Pu7dll9m7+nm4sL5OkMxQ6eUyOQJ/9MpT5Mnnau0eATcOBoTRpzcLBAj0ZPJrRzsawM0ChKknBZ+SBhTnblAV6itqdhpJfDo0f5hMFC3RzNkWTyTZ0eE/ImJ7fCsX0UMCO/lcbLNBNBsacgoyFTmU6iTaLP0cNuqxhgW5OSKaWnR7oye+6WXq6qfmYRZ4FekpqtUzkUm1sY1Hz53H4kbaItW0nu/T0h2eAaT50q8Rog0WzdFETCU1PT/9eY2lZzFeOn/4GnAoD2QX6vpkc24ccNOas2kRczComPdCpYHTnig7bv8OEu4BtLpaiqy6zVsH0wrUGDn/EXyfOfiG90BM08heci3fSONodXQoYdc4wu7pMptfs7hHaVNDpFO4Gq9qhOKeL/r/sZXCvlMlQGlCcOV8DgfvosuBkA1Jlmaimgk4VpneuyAWjDbpvRpZ1ZvDqMfBrQbJMcdFhEpVlIH9YUFNCJ9lkHPA/dN/slWWh09XlFe3o4d0MutCW8W3H1NCpBifQfXP1LAt9XiPgxi7yDUs+YrNlMAd0jinBgAO9WZv1wqfgCdo80A29FZOZ2saIIkDkgw/dgWTBTq9iAAAbDElEQVSmEqa7LBboiVX4MG6pOa2KUuvcR+9L/ummkMECLNATK/ziFmDpp+0F2tj2J2HYGYZCVYxN//HSresLHJ1Hhwm9P14hzJ+zOXq6P7ptrgOvLOh0MP57Tnbmq8yv+o+Xgzmgr0K9wW2TPIrz8eqnf87vj1PpZC1DfbXqX0jTxDQH9BEo/e1k9P3wipZpCmw2KY/OAVOr0K0TrTtHs+X00QWbA7ovbPMfxgxydGQO8WbS2fp+wJG59M52DzPlkGnEmoMKyTTcg8VHVkl2P1lLrF5zQCf5Z9B9SxVUNPpiZcY3gRnVgfvZ/3kuUqw5oMe/vjzsjJCVlm2fwvZrQk8yB/RoNJ5qg6+NdKed8X0coCc3+zsC4pts/+SmOXp6c8hsNuH3V4DwwVPVHwOmvnnePgT8Xp/8xdDRcIKXJn1TZ7l4pu7p41C791j8QI8YZqEwrzFwY+dyAF2yUKmNLqqpof+HNovrJbn1YnTRMihh1HPg1yI0tNeN8wxFry9m+2Bq6FnCgIK9eS7hyXWGnX6M3yZLZ5BbL89PYWg39TedHOCoMOkhQ65M9ITH21dgl7ZyXNvL+PkNCQ/tUN3J/xv5UhlCT/Zk++6dqIKm7OkdIbNegT+ikZrDvAxTLJcgvLrP+ao+jN/YC4VXNWWBdj2tcnp6K22LlrQKXrsEweP7ZPuHdFPTt6mgD9W4Jum5i6HctxnGNllGd45yrO3L8PQKmL0jnH7oqi7aexSTOzgmcaYbvHohHo/tZYGeDlJ0V3kR+h8GSvqaqhGlWRwW/Qwsll6xiA/S7hkcp5YxIb+7utTvq5CzfFW5YGUNsJSLY4GeDtrapP+h/Yp6+Lxj+iWlJOFBAMfcpgxvQ8kFriYGs88Fluu9N2ubClVVpcfPF+S5nGSpgU4s2gI9/ajM81Kj8jXw3xxg5yhearW/0qFcZWsmV4AJMjCZDBDId71xwQLdOL0lThWLYWesTLLPLqnAdk7g/MB0BkkFWRkvdblFW1kOt0Jpvn5gaBUs0A3VWNL45EI02uCHAEhGxCMI+6aC4Gq+y/fOAU8uwKZuQ3XJcfN4jvwF5EyuMMscwQI9fdB9kbvkYUy4pVtK1AtgbS+OK9s1vZjeG3Vq+7NoX9ZL04sVuXKrctf6Ui5YJ3V0r1uw4TEs0A3XWeIUvVGg0jyMpNen3wf25gXH28j4Xnp2A+cH/mB48xQOLTrHlhg6TS7ksBKEHLaMyT6OZZIFevqgH0RO9/qCV0ONFB4WDH5zn2bIZvncOLOyhrxAYWWJX2cyO49yCkFhZZbh2tAqWKAbqrGk8RsAII/GCYE+0BvpVZNye6/DrgQ9HpT5ggW6eZhwC3TzKNYUUs013Fqgm4KOmWSYC7pYfPE2MU/9JpnSfMYyvJunNR1xH7+gtlvbnuaRnk6pFujpVGAqydfYN2rT2vP31eYaSdJVagv0dKkv1cSNwNiOSsceiVYubibdQjVFcS3QTaHF5DKoh5+3+6ZVuXJz13+cHZg06mWBbh7oJJVceBwqvmi7mOeLxpkKvAW6+aCT5Nksj2u/qscfciaXZ8gwf/arcqJ7j8HMpUWnVM9eLdDNC90ewL3c3Yc5lxg61ezQuVolBpS3FzxWHpByVa2dan4W6OaFTtLpSeYNnjsvqexLVzDruv3V+f+JN9t/JfO5GskZE1JdOVigmx86DbPHbWp/61Nh+S6z9vbgNYt4+LEDKL9wU5pLRQt080OnHLzj3hQ/V/7gHcm2SHHj7Zx0lPX6wHZcUFhJpactT7NxWaBnDHTqeTdtfL8tXuFP8/X2S52/pZWCTNdOoBb63TiHQiUypvqZK5eM3DGjY9i9ZTYHiA4VqpplmA+o6MjLrjsG+9IV0qxX1K1r/Nq35SgOvS/2InMhMX9pMhI65bXdvkm7hp6z/jF5vm8fPxAv1Skqq3QyRG2VN3+a+wJcEnlAeUeG2Ohs7Q40teZjcuXraKfNwNjm4ou3K/PUa2TSR3GerP9T/XjWaOZz6oleo0hARUfw6MhP5qZqYi4ZDZ2WbP/F/alVbP4mMW+D5noB0jXgcVEUz1TOywqOni25tuio1+6fBbourZr2d+rhoe7jFzjqmnDpm+3TzSulh7+NkqoeDZIxmUyvhmyBrq92TRfvnPv4Bd6mgh7wWQEpb7teUtG+o/Tq5VQNC3TTwdRX0mH38Qt8TQa9oiM8N50yyBDTAl1fVKaL5+8+fkEdC3TTKdQQSXp9/wwRqEdcum76oPCMlTYuzdqbZCJHvdaQns5VSjGgQk4ZVErL7F0PYKaI4gsr28M+V15xJpObpNEZCj36zg1c/bos1cUBwPuL7qaoXRaQYRKlG1jPOszWwd/n8isDk6Ue/Vyzz8QC7XoKri066VWfRND1im+ygmYSQR+j0vWZrcNBU0K/2rsVnKrXg75zBAv0jG99m6yrfdHE658Dei+vdBXxTH0PsWCfUdB3jmCBrkujpv/dpDN3zZq7giM8N+u/ZLNANz1UXRIt0HVpyMy/f4xv+l33CQuLurX52SR5xzy8xy9/VYZ5n34qKRyd9DLQsPR0M7eqFMRzz12Xub1HeZNAD/Pfo747oI3gc/GlXsCpPBboHwG6Ka8x354yRBX75IFQbu56vTd6LNA/AvTSG09Jjl6f6d0z0yri2S/LiG7dh8C11U8W6HqyNMkQq2deCdFOuU9Y6GOKb7oq7Ll4/vP8snJ7rhl02GLp6QYSM0F0k83eI6+cl2608RV8Lr9K0879wzI/37dFute7uRqAtQnqk+VEfIye/pd9ozYdTXGNOXjNYh723w5U+HOnQfXQWsMeBeCb5YiZoMAGKcsE+ZGIsXbftBpXbu76dIu7Prgjt87vJhUfMlnv7zllarF7T7fqDRZgMuiG7rknlNQC3WBm6U7Qk+Vxne9z6km6R5kzNQuLhYdP5/ka/WDQPr4FeroZGiwgH4Bn5Q8EctuipYwGL8W+lc545RLK7bhg0MydSvtg0TTp6czh9E0nI4pPLhit9HRq6mnhGX/nc2nWwej8w47sU93t94NQ9UK4wITUb6imVM6rvVvx6H0bZwAYls56ZMnkRis9nbXd69xpwBclR80yaAKWOE/NDdWj+1B+0RaD6xDg5cx51Msf6Ap1OuuRJZMbrDAT1XKiXYOWo8rNN17nd6YNU8U+eSR4/rHG4IZDR7H8zad5u4X4fQzoNOk6bNegZY30QD9Ts4hUcJCf5NKsnUGTuJhHQfxy3WJU7xoA/meiRpylxGQ09BwAfou74dKL5XTmPhfCjMr/zZ0b4pVvPGXep5+rFc65DYKeaAuW9v6z/buqKbVGo5RuRLOmfMh95Hhr9yJ5Sg0ch6uj+sFYOzmafb88fRRef+0y+NAm/Mg+9e0uX1M6gz8LRtQ7UybJCOjkbGgLuQgvMWUJcn/Xkclfh+N/dTyMhk6bMo5Va/OCnfoaXP5rA9uro7avOgSA7st/ksFgpRmgJRp2aUn0q205b9sy8zZC7l5Uk1we/jTd0A2xfqU8OefSrXF9eMTqBdTLGwPYZUBdslVUc0FvFneRYJbMOW8Rj0mLuUO9xownerrjY0C/3KWROubIrjdab1cHshVFAytjSuj0jaT3x3tDEMoXHTET+X7swZCDHnT6IDy6g4CGlY0e3i92bCDlbdCcubXpoVf5A8f0EiPWLFQC+AzAFQN1lO2i66U0PWrdA8BAwca2VJG+o3nu77szIdELiR+mj9qzHkFbVvPyS7YZlT+ts8uuP8Z1+ZbhkiTdmviLGPHPPBrSv/hU3kfXxcsopX8g9LFriw6uztXrMtu63zHBIZeuPEHQ7+/eCGOOV7kkSgGedjr33F8c3q0MGtNbLj25T3fVWsWtyz/pIT0xlPRCr0p3DaqdDoGU20Un7IQI6YEeffcmv9rYi1W9FEk+45KVP+bBXfHm4E5MeeE4/baUzu8/tffRdYFID/TeACa4dOzrVHj0HIPkpAd6yLpl0pPVi1B5+9kka3TxdaR4d/YY/nL1AhlEFfm16Qfghi4FfIq/J8BaBKAagDsA+gJ4oocy/Av1HVPHte9Ygx+7TQ/0Kz2aqW1LebLig/w0myuPV85TRV45J3+9dyMQE/UYwEgA/8b9Hf+epyUk0wBBpz/qui752e3wl3isVL6N27g4CYCWNwmBlLj6g9T+nnPX1bH/5nuD1WosdGVYqHShmisrMmOl6tXFU/JXxw5Auh8oAdisXXfTm3CJy21w2T6FBAT8lhVjJQdWqYy3ajX/48JFZmNjJfXr+aNm+Ax/+YovX7GNqePfLn9GrrwB2AAoVfq3v20dm3YwWE9PZwxDlAipxPBpBm2jRl4+I91o7iOAsVjtW+rLANC5+AODC/EJJ2AygA+o7A1rhQJ7bwYiT2UPcdWffixPbud3QCY07Cc1HNIO0Qo5O+h/Cowx7uiYE+PWHhfKbg4wWH3Xm1dB/v5+Yu7aXxu0/01n6I/H9KRhe37c3vlEAC8NztySACyXIPDePlXxNDKSrwgMZMG394r58+ZOAmPCt33Q9bdBKFAmfhuVwo3AIFRpORTlD5JfXcPClS+Ko9iinQabOd0Y3pVHbvyThnLyIW8JRmqAeTk48IZly+BmaCjUZdz51n9/TzYT92v0i9Rt9iDkL1noXe83Frrqxnl+sUV1Vna74bZtF9t/JcWePDCBTuuMrK8lGU3iKjs58a89SmmgCxWLYv1K+kS+D5HPw/nvHcaw4ZtnciubHO8axJLlm8RBK/0Fz3X/M2i5dr1ZFby+cg7GXGLUWrw0+pQPS0zRanVCP7vjKN+/bAt+3TY7CdzvOwzBtVodkbOJ/hO58O2r+O2B7anczFDoqpdh0nmffAK4VIteijBF5T9VGTqhz2w9XCpb0wvf9mmdZKb967i54sy1/jLvrac5nPPr7O1RO/7h14f/zHjsmyewzenicyGcGeJSLHTvJjGoT0u6f0bn8/S3JRipgXfQ7754gatWXLpyesM7uI+v3eVLB8xig1b7cYe8TknAqtRqdOs9Qdz2WCXzWL4v1ex5RBiCZ//Kg1cvoTh0MNPBvnHbzz1nrzLIzOnaL6151K51KwF0MrKulmRaDTA5Y3xwlcoAY3zGmbPs/P/WqCuUK6UBsnzQLCmnswNvNbJrikur6DcxkneNNoz38oNzk/bJe3t4KD/fzIepgh8EA5inXU+vKv3vUcmxSi2DoAdUzS/xl6HdqFgWeunTAIHiDd3duZe7G9tx/QbaDO4gDRvQWXjxIFia09VP6DlvmOTqUSTVTZQ5i/6Vpl+MFNzH005u0vBwTA+ErFlyOG6FRzbmoXT4YVO38dgKS7fr/Bx8KOtTduCbPsTJU5PyX7go5Lm7VK6MoBdhfMfTYBxY7Cf9b/1BoUj54lKzYZ3T3EBZuGwDJp19iZSgX/AtAmXwA1pTb9JmbfTlRQt006En6HVzCcIh2qChrc2FZ8/xnxrV5b0GdEBhrzJMkKV8ZejhoxB1/2HThTPnrgu8bgsUHLeQK54/0sigEHH6MK4M7CQCyE+7uRbopoOWXkkEvU4uQfDXQAew/9Zt8CJ5xZOH/pHJZSl38v+OnFb/1GOc8DA4lNJvlDnlbsWZACn8OYlIbEs+mGzlEhXS0tPTS8wE6QmaG51QDqnsDSuFAnfDwvHv7duY2L4ZiubPB8aASr7eyFPQlect5sZehIVLbiW/ZkqVSDZn/QGQd4Ev48ylIrU3RtLy9Dvd7ptWQ4yxmLEM7yagnTB71/7NB2sPXZRqNZ959hwb0bQBirrkgyAIeHrjHmLeKkEjfcibaL7k4pUQAIWNWC9HFRgzN0fBDn0MOmihMlqgmxE6iZ4fcAb/C1iPMh7vD1giQp7z/Qf+xzv0mSjEck4XBfYbWIwyAK4buhOXkIcFuoHaTiN6wtLpXU9PgH7w8AqpciXPJEu1YaP+kKb/sZLOUsnKxtCwQV7e5zvvjSdkhuzEUSaRF06rbrT6nNb1HgBuG5qxJX5SDaQIffPVq+g7sS96diUj0veB9ts3bDnkB2C0gYosHWeReq30uhNwrFzdIMMJyoe8SD0e8/MlAJUMzNcSPQUNJECPbe9RSlHIKX6rdW/gLXQZ0yM16OMMPNokmWfk5apW9N5ySpbWu+apEXq0Yg5/4vfLkU/VXYipW24C9BMtihWtXjofuYOJh+5Qvija/9gYzs70zAkQHPwcv8//B7fvBhsKvR8E4Y8K/kGSjdv783hDKnK5e1N1zKHttO9ON2gsIZ0aSIC+v76r65efFy70DrogkyEiJgavlbQyA3JaWSFSpcIzpdIQ6DR5O19g9Byrgh37GjysJ9QtoKIT59ERbbRWrumssiV5AvSJ5XLmHNXUU/OCkaan+xYrBhtF0jORx5GR+Pv6DbKM/VFP1a2QFS3TvsqB6wlWt3omex+Nc0kK8LQXoIz5JJ/TMlhheiRIgN5KBqwf4lMVMkFIFXrQywisCQykAxR9XHHR9uvNQtP/tndt3sGgE7XE5Y6+F8ivflWayknfHs2WnyWkTwMJ0AmKsmvZMiy/g4MG+pWICLJ6ReIxOVaSIAE0i/bSI9u1smJlvvfedYkJCoXBp2oJ8p/tWs/v//JDBAB6xM8STKCBxDD21cyb5yvf4sU10IvV8eY/d2nJ3sS8RWysCgorOZSxKrFV+2G0m5awp56azxYaCQ56rD3Gc1WtafDuW+J6fereHU3AOJmIxNDHVnZyGkdGkvsCb0m31bEIur4TTrkck0zAho+Zo5rxx0qFJHHq8V0BnE2hYFvlpSs1rrTlFASFldETOJJrgW567ImhDy6gUEzvXNmbhUdH82VXrzHPcsWlPxeMF4oWdpGcnHK9g/co+KnUd9A0tm3X0YNxhyxfpVAsmuGPgdyKQZDB1vcbVfmFmxTGFN8C3RitpZ0mMfR6uQThv4Qj1qshT7HtQfxtoVLF3aTAi9uT9NhjJ85Ltb/uRsN7apM0RwAl4rby88bNAba6jvhNVqjLQIMndBbo5oWe5Fyd7OA33QuimXpnAEHb1s1SNfnW911vDbz9gJf2bk6NhrZGL+oo2muhQFHbygevM8Hqve28PtWxQNdHS4bFSdzTU4NOk7IV7m55OuzYMAe5nRx45Os3fMCwGeyA/xmyjKGZ/HUd2XKZTODySrW4W5cBcK5en8vs7PWa4FmgGwZUn9hJoNsy5v9zJS8o1WqsunYdEaJIV3/p1IV8ilwD4MpoHRfvouuU1ojitB4Z8UO7FvFDRwL4kj83IfRllCAr6SnZlq4I5xpfcLsyFZN8OhSOzjxHgYKafzvf/HNJdfk0OZFtrUc+lih6aCAx9HdgtenIwR4ZNdIaOXGI37bT3bsTp+HXz27UnM9LksRv333IL1wKFI6fvCBt3XEIMW9jk6zjwyOimaxkOS7LmQvKc8c00wqtwwQ9qmSJoksDRm+a6BL8we/voOuTzqlALR7x+s0c7dl5mGXPXR+t6R8nI6BbAYhN6Om6ivYkJFRy9/hW4JzrM0HUJc7yewoayAjo7a0UspXPH/hzh5x2OvOjK9Blq2iun+uMayFqnAbMrdjiZNPYp0crh7kzh+u1RrdANw6kIanMDf1Ytc/KVzu0e4kshxWN8rpDIuifrD923VpKXwyzQS+iUHx+X6U6efzAcrHG5xX1WpNTVZ6FvpAKlPhakDivEuet+Vz6qmdJnZIGzAVdGFLZ+4JtCTfPccvG6Q08oYCOrjURGRVDV5L/NhIb7SIOBUBuLIcDoHvSn+QrDhkJfcL3JYqP/syzFO/35xjIrZO780wLZu+BU8QFSzc+BbAuUTzyKkXGkeTj7sO9g4Ro3tpt4y5Df2lvbWdnw8dPWUqjxgUAlY1sQNkumbl6uv/EoV187e8844Jchi6zBsLO0V7vI9ZnIc/VfZv+wmztbWRScVeN0s9fuiHduvNIUKnER3EGkvQnIbgDoKtUQXF34PO45neuPnxQZ7Hvzz8KtHt40P+U+GWT3jTamKuuWa5RmEsRkVvWzrRrUOcz/DlkNqxkMtZ+aj/Y2NvqzE/1NhZrRi8Unz96KtTr2JB7f1PrXWMZO2mRev/STbJCud57xbgeGgqroi7wqVpe9D9yllWpVIatWj75XT6jJsyXJs1Yfitu1CAjTUswY+t/twP3OuyltKz/LJbHPa/YblJfGRPi9+5TCmqViq+bsFQKC36OjlP7CI75cieJ26r9EPDLQUgw1SYZdBrIKhTFhn9mQKVW87exSp7TzlbTUB48DOHV6rVHyLOX5IaMzvgtwYzQ1Rv+mcZafveFRvlPAu9LK4bNZeVqe6H+T01hl8shRfBrxy4UgwMfCD/NHABn9+TOi1KCHhwRgd0vnkrPgg4l+XycOn1JqtewB4uJVdGBED0vQnMESzAj9EMeJQrWvnF+C31WNTAeXb0jrp/0p6BWiSx/MTe4liwo1fr+S2brmFPTAI7/u0889M8uoc/ikSkCpzgpQY9VqbDk1g28epLUy1izHweKW3ceIXsAAk6O/i1BqwGd31gjNEWTJrKdW3R03zKxVvVK75ZsolrNrx89j8iwVzi1+RD9zWq0rC/lK+QibfpttbzlkHbqil9VT3XnLiXokiThtzNncf3SFql40fjjWAraZR85ufvHiDpk6yTmgD43zo9NH9Ladw1rqyaO7aOwVsilkiUKJ3XKL6r5zSPn+e4lm/EqLFIo9llZyaftN+/ieJQsLCnk8iRpUoJO+dDV6v7Du0gtvvtSE//583Bev1FPxjlvG3csuyZbEzSicuaArvJyzCk8jnojiFr/M9Gcw9ou5W1YdYwKDQoWBPmxe/wmRlMFii+zksPWNgevVdObHT1+jquUKhb1RokCCgXy2iZ9AepSRATsBIErEi3LaFEfJUm0nic3ZGQMYglmHN7V3T3LyvLmzPlOyTQEq0SyrEo5KGQyjceLhJAQPyQyEuFvYnghp1wsp7U1zj0O5vRUupNN0qUfecgonju35nJGQuCcI+DhIxwMCaGW1D3OSHOVhXq8BszR03eWsbNr2Lx8uUyh4xP37+Pw02f6XsXKFGU2dyHMAZ3cVJ3uWrYM8jukvDQzd6USy9eaclugJ1KKOaCT+OUyoHOHMqXhbEMvfwBRsUr+VlTD3dGRaVxWmTm8VSr57sBbuBkdzTiwQPMypCWYbXgnwdZxt0xJ0T99qGd6SaJi3jzIY2dH514p0ldLEh5HvkJuG1vQt1yf8OjVK67m0jt5l15GQATIYpce+T0R5zIl9UmFPhlkozj/ByaY5ETWt9nwAAAAAElFTkSuQmCC" mediaID="13"/><costume name="Pen" center-x="40" center-y="45" image="data:image/png;base64,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" mediaID="14"/><costume name="SQLConnected" center-x="50" center-y="50" image="data:image/png;base64,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" mediaID="15"/><costume name="SQLDisconnected" center-x="50" center-y="50" image="data:image/png;base64,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" mediaID="16"/><costume name="DataIcon" center-x="50" center-y="50" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAAAXNSR0IArs4c6QAAFVlJREFUeF7t3QOQ5VgUBuA7a9u2bdu2bdu2bdu2bdu2bc/Wd6tuVyaTfq979yE9k1vVtbP98pKb8x/+5yTdq3fv3r1DtUojgV4VIKXBIm6kAqRceFSAlAyP+oC8+uqr4YMPPijbvtu+n6GGGirMMsssYeCBB27oXuq6rC233DKccsopDb1ov3CyKaecMjzwwANhhBFGaOjtdBkQGjHVVFOFAQYYoKEb6Gkn+/DDD4OftgMywwwzhPvuuy8MOuigPU2GDd3vwQcfHA444ID2AzLTTDOFhx56qL8HBBj77rtvBUhD1fx/nKwC5H8IrxlfrQBphlT/xzlLDQga7Mcffwxff/11+Oqrr2J8GWWUUcJwww0XBhtssMLb/uWXX8J3330Xvvjii/D333+HkUceOQw//PBBFterV6+aonrrrbfi92R7wwwzTF2xfvnll8F3xh577DDWWGMVHu8efv3113gPzm2NNtpo8R6GGGKIvvZUWkB+++23mIefeuqpQfFI0AMOOGAU7oILLhg23XTTMOGEE3bc0D///BNeeeWVeLzk4Pvvvw+EMeSQQ4bpppsubLHFFrHQGmSQQQoF980334TNN988PPzww+GSSy4J88wzT01A/vrrr3D00UfH69nLrrvu2lfK7pgnn3wynHfeeXFPP/30Uzzn0EMPHeaYY46w/vrrh1lnnbWP75USEMK9+uqrwy677BI++eSTqLFTTDFFvKEnnngiatriiy8eTjrppDDOOOPEm3zttdeiYAiUxsraCP+FF16In0088cTh+OOPDwsttFAHiATm5/PPPw9nn312OOaYYwJFuOWWW8IiiyzSFyAszg+rvfXWW8Nee+0V3n///QiGdJXCZNfjjz8eNtpoo6hQE000UZDaW+7B99zT+eefH6addtqOPZUSECCsuuqqUbgrr7xyOPzww6Pg//zzz3DnnXeGbbbZJgJl8zvssEMUqlSRQCebbLIIFA1UZL7xxhthu+22i99bZpllouBHHHHEaEGOf+6556Lb8fPHH39EoXYGiO86z7vvvhuFDBirCBB7WnfddcPll18eLfSss84KU089dTye1biHp556Kmy88cbhuOOOC4MPPnj8rJSAuOkVVlghxozrrrsuzDnn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" mediaID="17"/><costume name="MathIcon" center-x="66" center-y="50" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIQAAABkCAYAAABHAJglAAAAAXNSR0IArs4c6QAAFjNJREFUeF7t3QO0K8nXBfB6Y9u2jTW2bdu2bdu2bdu2bdue+dav/l+/1S+TpLtzk0zybtdad933bpLuwq5z9tnnVKfPP//8808oWzkD/z8DfUpAlFhIz0AJiBIP/cxACYgSECUgSgzUnoHSQpToKC1EiYHSQpQYyDkDpcvIOVG95W0lIHrLSuccZwmInBPVW95WAqK3rHTOcZaAyDlRveVtJSB6y0rnHGcJiJwT1VveVgKit6x0znGWgMg5Ub3lbSUgestK5xxn1wFCgdf3338fXnvttfDdd9+FIYYYIow33nhhjDHGCH369Am//vprePfdd8Mnn3wSBhhggDDOOOPEnwEHHDDnlPQ/b/vpp5/Cq6++Gudr8MEHD1NNNVUYaqih6g6w6wDxzTffhLPOOis8/PDD4aOPPgq//fZbWHDBBcNaa60VJp100nDPPffE15966qkw8MADh9lnnz1sttlmYaaZZupVoLBxPv/883DGGWeESy65JEw99dThmGOOCaOPPnr/A4i///47XHDBBeHkk08OG264Yfjrr7/CDTfcEB5//PGw2GKLhfnmmy/ceuut4YcffohW4Ysvvgj33XdfmHPOOcOFF16YuTv6H9vwv5GYL+Nfe+21w0orrRSOOOKIzE3RVRbi999/D0svvXSYccYZw0EHHRT++OOPaAkOPvjgaDFGG220aC1MAGvx6aefhn322SfcdNNN4ZFHHgmTTTZZ/7bmdcdjvq677rqw2267hd133z2sv/76mePvKkD8+OOPYcoppwxbbrll2GmnneLgDPq2224Le+21V3j//ffDoYceGtZbb73oLrTrr78+WpMzzzwzLLXUUpFnNNrsOBxlkEEGCQMNNFCjl8n9OffiEocddth+PsMy+rsxJuOsdtGvv/46WgWb4ZxzzgljjTVWnC/NGKp9tqsA8fPPP8edP/PMM4crrriir/ljJeyCe++9Nyy//PLRKkw++eRx4C+++GJYZJFFwnnnnRcWWGCBhgHBGj3xxBORo7BAY489du6FLfpG97rzzjvDLbfcEt3dyiuv3M8lPv7443DllVeGEUccMSy55JL/AkzyZuR6o402CiOMMEI49dRT4+a46667wrjjjhuvaXMh3unWVYAw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" mediaID="18"/><costume name="GraphPadIcon" center-x="50" center-y="50" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAAAXNSR0IArs4c6QAAEsVJREFUeF7tXXlcz/cff377SuXoIIqQcmQkOWaMzMPc1xw7VZj5sflljGEipeP3w9xXYoyNFraYmWPuOeaIkqOfu6ivjqUSSur7/e353u/r4Ufp++F7P7z/qUd93ufr/bqPt0ylUqlgpk2pVCIlJQWn4uKQcO4s8vLyIAPg4uKCVi1aonXr1qhevTpkMv7VOJrMHAHCO5adnY2tW7fip1N7kN2sMlJbWsOyRlWUlJSgSnIBHE7noY7CAv8Y7Aefjj6wsbExCoiYJUCuXr2Kf8+djcS6D5DpVx+3XFV4mgxYlshgeyEf7qtvobdTK4z7LAAODg4GB4rZASQ/Px9Tg6cjvpUSZwfb4r5N2RSZhMo6rwQuy65ivH0XjB41GhUqVDAoUMwKICRH3377Lb5RHEDCV/XxsKJm7NFBUYxGof/BfP8p6NChwyuAaOsEbt26hZEhXyAhqAEy68slDeu2Nw+9tltgwZx5qFixoqS+2vzYrDBk+/btCIpfj/NfuaPYUtox1bwjR6splxEV9DXq1asnrbMWvzYrgCxduhRhtU4ic3AdyUdkoQTeDLuF8M4j8dZbb0nur60OZgeQ2a4JSO1XU/L5ECDd5t3BF14D0aNHD8n9tdXBrADyzTffYLr1fmT61odKoq5nWQy0CryCJe9Nxuuvv66t85U8jlkB5MiRI5i4fTHOzGyAYitpEHG6DbSfnoyVsxahRo0akg9SWx3MCiDUzsdO/xJHh9nhZrtKGp+RVbEFmq7LwMAMV0z7KhAWFhYa99X2h2YFEB7OoUOHMG3jIlwI9UCuY/lYYqGSocGpQnhHZWBu8L8MKmFx/WYHkOLiYixesgSx2XFIGlMHObXkZfITeQnQKKEEDVakIGDwcMHMDW1oNDuA8Jbl5uZiQ/QGbDl/CMl9qyOtgy2Kqsqh/B8lsnwEWN8phsfWO3A98xAjB/qiS5cuBlUI1aTvuQDhbXv48KGgqdbW1ga/PVLoNc0oZ8+exfK1q3AsMwn5rR0gd6gEZYkSlRUP4ZphiTfremK4/zCDk6kn9/UMQAoLC3HhwgWcOnkSV8+eRXFREVRKJWrUqwfvtm3Rpk0bODk5mQxwfvzxR5w+fRrdunVDQUGB2LudnR3c3d3h6OhoFFhRKkDoQ7hx4wY2bNiAzF270C4nB96ZmXCoWBFFjx7huq0tTtjY4Ia3Nwb6+qJz585G40MoC3OI4UFBQRg0aJBBdQspmC0whMA4fPgw1i5fDp9Ll9A/LQ3Vs7KeGafY0hJn3N0RXasWanTtis8//xxVq1aVMp9ev01OTsa8efMQEREBW1tbvc79opMJgHDh4ZMmwTclBT5nz6JCUVHZ48lkyHRxwdeurvAcORL+Q4caVG5/3sZJrrKysjB69GijXePT65cVFhaqIsLCUH/PHgw7cwby4mKNgHvTxQXB3t4YHxGBFi1aaNRHnx+RF4aGhmLAgAFo27atPqd+qblkCQkJqlX//Ccizp+HXV6exoOp5HJsc3NDvK+voNNyuTT/g8YTveCHV65cwbJlyxAcHGwUrllNtyGLiopSyZcswYgLF6glatpPfHfL0RHhPj4IW7ECNWtKt7BKmkzCx+SJMTExyMnJwaeffmoy5Epo6hMmTFC9HxODNxQKCVv++9NCS0tM69ABfvPno2XLlpL766oDydXMmTMxePBgIaabUpONHTtWNWL7dnjfuCF53UVWVpjZpQv6BgWhffv2kvvrqsO1a9ewaNEiwUPs7e11NY1OxpWFhISo2kVFocft25InuGttjSlt22Li6tVo2LCh5P666rBp0yYhXY0ZM8ZkFFj1Wch++eUXVXxYGALj4iBXKiWdUYKzM1b164c5CxagcuXKkvrq6uNHjx5h6tSpGDp0KLy8vHQ1jc7GlSkUCtW00aPx+cWL8L52TeOJCitXxr+bNIFbQACGDx+ucT9df0hytWTJEsyaNUvY30ytyZRKpernn3/G/lmzEHL1KqplZ5e7B6WlJbb/ZQta6uyMlWvXon79+uX20dcHP/zwA+7fv4+RI0fqa0qtziM0dUolC+fPR8G+ffhHYiJccnIgKykpdaICGxsc8PDARjc3NGzZUoiWH330kZCyDB31R+PhjBkzBLlq3ry5Vg9KX4M9tvYyMpy36/SWLeifnIwO6emwv38fFv8DTEGlSrhpY4NoDw/kNW+OYaNHi02fOnVKGCQJkHfffVdYUg3VaKVes2aNkK6MhadJPYv/M7+rfQib1q1DflISaqakoHa1aoIE3PpLoipwdcWb/fujb79+j8VJKmEZGRkCmPw5bNgweHh46F0Z4zrWrVsn9s81GNrzJxUQj6Ws0tIR6JTi4dLoSPHRyspK8Im6desK625pQQDsQ4sxUwAYaNa7d2+93tJ79+4JzPD19TVK25qmANKqC5e39ObNm1i7di3oixg1apQAoj7a+fPnRaB1SEiIUbsEyjsLrQJEPdmDBw+wc+dO7N+/H/379xfOLGKZrhovAi8BG0VwUyVXXL9OAMKBmU526dIlfPfdd6hWrRr8/PxQq1YtncCEPG7atGlCM2/cuLFO5tDXoDoDiHoDd+/exZYtWxAfH4/33nsPb7zxhtbF44sXL2L16tXCM2iKyuCTwNY5QDgZpbczZ84IkzhvMAFDrNFWY0wvSaK/v7+2hjTYOHoBiHp3DPWMjo4WjJ/KW7NmzV5aPCa5CgwMREBAABo1amSwg9TWxHoFCBdN49/Ro0fx008/CZN9v379XkoqIuZt3LhR+D9MnVzplKk/78ZQKlIoFEKRo7mDilyDBg0kS0ccZ8WKFYL8vf/++5L7a+tWa3McvWPIk4unDW3Pnj3YtWuXUCTffvvtMm85D5+6zZ07d0Q0JUVb+vHnzJkj3LRNmjTR5rlobSyum+vluslLae9j+jV5XmniuUEBohaPaTIntjB5n7ylTp06jxfLDWVmZuK3337DkSPnoFDcQ0qKPSwtH6F27SwUFNxGSEiQkN4sLSUmFmrt2J8diGI/Ay1279qN6+evoPjuQ9jlW+GuXREqVLVC45avoWfPnnB1df0/PmpwgKi3Qua8bds2YX6hFObj4wMC49ixY1izZgNOn3ZDRkZfqFQuyM21h1xeDFtbBerWjYODwx70798MQ4Z8ZNBkG/VemCtPl8bB2D3oaOWJjpaecLKujipFVsivWIj0gmwcLEzASdVl9PigD3r16oUqVaqI7kYDELV4nJiYKCQxYom1tQ2io88gNdUPCsXrKCx8VtuXy1Wwtc34y6D5A7y8bmHGjImilomhGm1qi+YuwIPTWRhu2xMNKtQGc1CebiUyJa4Up2Hlg+1wbFMXX0yYICiEUQFEvWjS2/nz52Pr1gRkZy9Gerp7uedbqdJDtGixAr17P8CXX35hEImLZGpjTAwSo48hsIYfqpaUXz8lyzofEanr0HlUH7zzzjvGCRA6vSZNmoE//uiDpKSe0DRczNExC15ewQgMHCwEBH03mopmB0YgqIof3FROGk9/SZmKWYUxCJkXbpwAoVEyPHwnjh+fiYICzXMFLSxUcHI6hoEDt2Dx4tl6j6ZcuHAhbOMe4WN5d8gkxBwqZSpEFv4C6+61jQ8gRHvGVC1b5ogbN/ygVJafJ/jkVXR2/hNt2kzBqlURcHZ21viWvuyH5B1fTZyCT+91h6dceozBiZL/YJ3dIeMDCBXFcePCsHnzh8jNlR7GU6GCEs2afYmPP3bVa2YUyezRmL1YUHMsbC00x2r1Rbgty8HUnJXGCZCxY0MRG+uLnBxPyReXAPH0nIRhw+oKGV9fjQA5ErMXC53GwlZmRgChNrt48WJERtbEtWtDXoBkZaNNm8lYuTJcZ/6X0oD8N8majDEPeqGpTHrxmpPKS8ZJsrjZvXv3IiJiF06cCJXE1NnX2fk4BgzYjKVL5+idqS9YsAB2p4vNi6nzUNVi7/HjfXHxYg+Nxd7KlXPg7h6K2bO7C+1X341hSBR7Z9oPlyz2/utBNGZ8HWp8PISHyDxzSlqxsfHIzl4EhcK1XKBQMfTyikS3bnmYOnWyQRJSKSFGb4jGhY3HEVjDH1VLyg9lzbW4j9CMteg0qjfeGWBkiiE3RHfs999/LxKAaBGNjb2ItDR/3LzZGoWFz1Z6o+nE3j7rL09kNJo1S0ZIyCSDmk5ox1o4dwFKEnPhX6U73CycSzWdUPe4UpyKb3N3wr59HYybON64TCeMVPn1119x4MABkWjTqVMnYVz8/fffsX79JiQmNkFaGsmXC3Jy7IRx0do6E3Z2iWjceBu6d28Af38/veoeZZFExhEwPu3Qlr3oZOMFn4rNUVtWHdYlliiQFyFNmY3fixLxR3ESOg/oKkwmRmNcVOfHM4yHvgI6q1hiT+0rUEdG0mdy+HAisrIeIj3dGSrVPTg5ZeLu3duYOfPv4pWGrJX4jPGwpERE3ez4dQeSL15DxWwVqltURbYyH49qWKBhcw/07tNbOOaeDDw0qHGxqKhIxG6xViJtT/QPlFXQmICh+5eRlDTV0zlFkjZ37lyjDv/huqnsMhKU6+eaSY7LKlViEIBwkenp6Vi/fr2QqIgVDFCQWqeKPGf58uWCTJHMmXKAnBrD9A4QumGPHz8Opp0xIZP082Ui5l8FObyEcE9sYIQIXZsMivb29paMFU9P/yoM6AUAQnOI2hNI+9KHH34oKvFoqzFQjvkgTBwy9aZzkkW5nL7ykydPCjrPWCxtByOcO3dOxBCHh4frNKhbH8DWGUDIuPlKAcXZSpUqiah0Xfm6XwVbl3NVKObt27cPO3bseBxvpcv3OV6lI5QBEB5Mamrq44hEZsIy80of4igTdki2mPSp1nr1QWK0PUepJIsK259//om0tLTHNRf5NFDt2rUF8yxNX6DSw5gqph5oI2ZX6kbJq8LCwgRpbNq0qdTuRvP9M0mfammIjJIl/2iOoO7AimxU8xnyyQBpte6gfl6ISZ8EIBNzXnvtNb37IrgOprTxsphF0icNYlTWmMPBg2X4Jg1+1IbZyAOo9rN4ZKtWrUSVNt5EJuJQ4+bvDHg25LNBZpMWzaBnersYP0vzN9GfukNpTQ0UAoZF62kCoV5BrVvb4qxUOqIuHEAM8fSU7o+XOp8uvhcki2ZvyvBMg2bUYHmNVlkyaxatJ5lwc3Mrr4ve/v9k8qfeJtXiRLKMjAwVyU9SUpLgGZo2MneWZBo/fjyGDBmiaTedf0ezDB92mT17tkHCSV92g6I8E6UTMnM1v9B0UGJInz59RByusZSyMPnyTMHBwSpmsJKJS2206bPGCW1JxlbAjGI706RNrckCAgJUu3fvFk+USm1k8B07dhRVSY2pxN/ly5eFn4SYb8yFnks7b9n48eNVsbGxQlqS2ihVMXOJXjtjKoJJaYslNpj4Y3JFMCMjI1UrV64U4q7Ud4qpvbdr1w6RkZGiQL+xNJMuExsfH69ijjcd8lQONW30aTMYgcogixW/KqSs6ck9/ztZQUGBiujNp4L43kZZCuHTw9CuxcR/0mljIlfqdapr97KoGp/pNpX2uBj/pEmTRO44xV8aF8tqtNzSr0HsoEbMrFmpwQn6Ohza1xgFaVLF+J98roIKFY2Kt2/ffvz4yZOHRw2dUgsrxvGBlHHjxhm1FGOyz1Xw0KkU0sPHmoUHDx4UWELdhECgskXrLsVcYsYnn3wi4qiMRRksC+NM9kGXJzdEkZG85MSJE+LpI/IUAouxTzQmUswl/9CH00kbpI1viJAM8wIxh4PrZikO2uIoJRraIPr0Hp/rUydmEFNM8VEwXiJeKIr0169fF2WhiOW8YNTiuS+W46AdTle+/he5UDoLcniRxWirD90HjP+iB5MSFn019OeohQ+SMmJLXFycABbdB3w2zxiwxewAQgxghSAquvRu0mFWFnklFtHCzUBuSoxdu3Y1OCk2O4BQn6Kxk65kTR8Co+3r7zS6CL1m7pZqyyqtbq+2SIe+x2HFusmTJwuDp5RyTcQU5qUQk/iygiH1KrPCEFYOYigQGbVUfsBS64wnoKFUm2GuUi+lWQGEpIpKLUVcqWI5sYTBGiNGjDDoI5RmBRBaGsjUX+SZPFqIGWnJOl18NdpQzawAwmfyqNgyvU1qI0A2b94s8lVYidtQzawAwih7ddKoVHcArcOMWGFBf32W5JCkqRvqlrzovHRD0538wQcfSC7UTL2FJiMydUMmj5oVhlADj4qKEtr3wIEDNXaa0URPCYtGU6ZjG7KZFUB4kBRfp0+fLoL3aAwt7xkm8hxmAZNMffbZZwbFDq7f7ADCTTFYjs92My2BInBpj0uqUyeoofONE4YM0fpr6GaWAOFhM5+d5cyZ8cuoffpxCBiKxfwfyRrDZgcNGiSkKmZ5GUMzS4CoD5aHz4NnfiMTehjNT2AxcZ9PjpOkMVpGqhKpS8D9F8mIis2zO+fBAAAAAElFTkSuQmCC" mediaID="19"/><costume name="NeuralNetIcon" center-x="50" center-y="50" image="data:image/png;base64,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" mediaID="20"/><costume name="PlotPadIcon" center-x="25" center-y="25" image="data:image/png;base64,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" mediaID="21"/><costume name="ImagePadIcon" center-x="50" center-y="50" image="data:image/png;base64,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" mediaID="22"/><costume name="Alberto left" center-x="67" center-y="77.5" image="data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHdpZHRoPSIxMzQuMzc0NDkiIGhlaWdodD0iMTU1LjE0ODI5IiB2aWV3Qm94PSIwLDAsMTM0LjM3NDQ5LDE1NS4xNDgyOSI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTE5Ni4zMzAwMywtMTEyLjI5MjU5KSI+PGcgZGF0YS1wYXBlci1kYXRhPSJ7JnF1b3Q7aXNQYWludGluZ0xheWVyJnF1b3Q7OnRydWV9IiBmaWxsLXJ1bGU9Im5vbnplcm8iIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLWRhc2hhcnJheT0iIiBzdHJva2UtZGFzaG9mZnNldD0iMCIgc3R5bGU9Im1peC1ibGVuZC1tb2RlOiBub3JtYWwiPjxwYXRoIGQ9Ik0yMjAuNjg3NDIsMjIyLjIxNTc2di03NS4wNTExMmg4OC4zMTQ0NnY3NS4wNTExMnoiIGRhdGEtcGFwZXItZGF0YT0ieyZxdW90O2luZGV4JnF1b3Q7Om51bGx9IiBmaWxsPSIjNTMzZGZmIiBzdHJva2U9IiMxMzIxNjEiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48ZyBkYXRhLXBhcGVyLWRhdGE9InsmcXVvdDtpbmRleCZxdW90OzpudWxsfSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIj48cGF0aCBkPSJNMjg2LjY0MjA1LDE4Mi4xNDExMWMwLDUuMjY1NDQgLTQuMjcyMzgsOS41MzQwNSAtOS41NDE2LDkuNTM0MDVjLTUuMjY5MjEsMCAtOS41MzU5NCwtNC4yNjg2MSAtOS41MzU5NCwtOS41MzQwNWMwLC01LjI2OTIyIDQuMjY4NjEsLTkuNTQ1MzggOS41MzU5NCwtOS41NDUzOGM1LjI3MTExLDAuMDA1NjYgOS41NDE2LDQuMjc2MTcgOS41NDE2LDkuNTQ1Mzh2MHoiIGZpbGw9IiNmZmZmZmYiLz48cGF0aCBkPSJNMjc1LjgxODU0LDE3NS4xNjg5OGMxLjg1MjA2LDAgMy41Mjg1NCwwLjc1MTQgNC43NDQzNywxLjk2OTEyYzEuMjE1ODMsMS4yMTM5NCAxLjk2NzIzLDIuODk0MiAxLjk2NzIzLDQuNzQ0MzdjMCwxLjg1Mzk1IC0wLjc0OTUxLDMuNTMwNDIgLTEuOTY3MjMsNC43NDYyNWMtMS4yMTM5NCwxLjIxNTgzIC0yLjg5MjMxLDEuOTY3MjMgLTQuNzQ0MzcsMS45NjcyM2MtMS44NTIwNiwwIC0zLjUyODU0LC0wLjc1MTQgLTQuNzQ0MzcsLTEuOTY3MjNjLTEuMjE3NzIsLTEuMjE1ODMgLTEuOTY3MjMsLTIuODk0MTkgLTEuOTY3MjMsLTQuNzQ2MjVjMCwtMS44NTIwNiAwLjc0OTUxLC0zLjUzMDQzIDEuOTY3MjMsLTQuNzQ0MzdjMS4yMTM5NCwtMS4yMTc3MSAyLjg5MjMxLC0xLjk2OTEyIDQuNzQ0MzcsLTEuOTY5MTJ6IiBmaWxsPSIjMTMyMTYxIi8+PC9nPjxnIGRhdGEtcGFwZXItZGF0YT0ieyZxdW90O2luZGV4JnF1b3Q7Om51bGx9IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiPjxwYXRoIGQ9Ik0yNDEuMjM5OTMsMTgyLjE0MTExYzAsNS4yNjU0NCAtNC4yNzA1LDkuNTM0MDUgLTkuNTQxNjEsOS41MzQwNWMtNS4yNjM1NSwwIC05LjUzNzgyLC00LjI2ODYxIC05LjUzNzgyLC05LjUzNDA1YzAsLTUuMjY5MjIgNC4yNzA0OSwtOS41NDUzOCA5LjUzNzgyLC05LjU0NTM4YzUuMjcxMSwwLjAwNTY2IDkuNTQxNjEsNC4yNzYxNyA5LjU0MTYxLDkuNTQ1Mzh2MHoiIGZpbGw9IiNmZmZmZmYiLz48cGF0aCBkPSJNMjM3LjEyOTkxLDE4MS44ODI0NmMwLDMuNzA3OSAtMy4wMDE4MSw2LjcxMTU5IC02LjcxMzQ4LDYuNzExNTljLTMuNzA2MDEsMCAtNi43MTM0OCwtMy4wMDE4MSAtNi43MTM0OCwtNi43MTE1OWMwLC0zLjcwNDEyIDMuMDA3NDcsLTYuNzEzNDkgNi43MTM0OCwtNi43MTM0OWMzLjcxMTY3LDAgNi43MTM0OCwzLjAwNzQ4IDYuNzEzNDgsNi43MTM0OXYweiIgZmlsbD0iIzEzMjE2MSIvPjwvZz48cGF0aCBkPSJNMjgxLjU3NjIyLDIxMC4zNTQ1M2MtNS4wOTcwOSw0LjM2ODkzIC0xMi4zNzcwNyw0LjM2MjYxIC0xMi4zNzcwNyw0LjM2MjYxIiBkYXRhLXBhcGVyLWRhdGE9InsmcXVvdDtpbmRleCZxdW90OzpudWxsfSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMTMyMTYxIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjxwYXRoIGQ9Ik0zMDcuNDUxMywxNzUuMDQ5NTVsMjEuMjQ2MDEsLTAuMzMwMDFsMC40OTUxNCw2MC44MjcyN2wtMjEuMjQ2MDEsMC4zMzAwMXoiIGRhdGEtcGFwZXItZGF0YT0ieyZxdW90O2luZGV4JnF1b3Q7Om51bGx9IiBmaWxsPSIjNTMzZGZmIiBzdHJva2U9IiMxMzIxNjEiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48cGF0aCBkPSJNMjE5LjEwMjc1LDIzNS41ODIybC0yMS4yMjk4NywtMS4xNzQ1M2wxLjc4NTcsLTU5Ljk4Mjc1bDIxLjIyOTg3LDEuMTc0NTN6IiBkYXRhLXBhcGVyLWRhdGE9InsmcXVvdDtpbmRleCZxdW90OzpudWxsfSIgZmlsbD0iIzUzM2RmZiIgc3Ryb2tlPSIjMTMyMTYxIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lY2FwPSJidXR0IiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PHBhdGggZD0iTTI5Ny45MDIzNiwyNjUuNzE5OTlsLTIxLjI0NjM1LDAuMjA2MzlsLTAuNDI3NzQsLTQ0LjAzNDc3bDIxLjI0NjM1LC0wLjIwNjM4eiIgZGF0YS1wYXBlci1kYXRhPSJ7JnF1b3Q7aW5kZXgmcXVvdDs6bnVsbH0iIGZpbGw9IiM1MzNkZmYiIHN0cm9rZT0iIzEzMjE2MSIgc3Ryb2tlLXdpZHRoPSIzIiBzdHJva2UtbGluZWNhcD0iYnV0dCIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIvPjxwYXRoIGQ9Ik0yNTAuNzgxMjMsMjY1LjcxOTk5bC0yMS4yNDYzNSwwLjIwNjM5bC0wLjQyNzc0LC00NC4wMzQ3N2wyMS4yNDYzNSwtMC4yMDYzOHoiIGRhdGEtcGFwZXItZGF0YT0ieyZxdW90O2luZGV4JnF1b3Q7Om51bGx9IiBmaWxsPSIjNTMzZGZmIiBzdHJva2U9IiMxMzIxNjEiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9ImJ1dHQiIHN0cm9rZS1saW5lam9pbj0ibWl0ZXIiLz48cGF0aCBkPSJNMjYxLjg4MDc0LDE1MS42MTk3MmwxNC41NjQ3MSwtMzQuNjEyNjFsOS40MjQyMywzMC4xNTc1M2w2LjY4MjY0LC0yNi43MzA1NGw5LjkzODI3LDAuMTcxMzVsLTEuODg0ODQsMjcuNzU4NjMiIGRhdGEtcGFwZXItZGF0YT0ieyZxdW90O2luZGV4JnF1b3Q7Om51bGx9IiBmaWxsPSIjNTMzZGZmIiBzdHJva2U9IiMxMzIxNjEiIHN0cm9rZS13aWR0aD0iMyIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49Im1pdGVyIi8+PHBhdGggZD0iTTIyNi4yNDAwMywxNDguMTkyNzRsMy45NDEwNCwtMzAuMzI4ODhsMTAuNDUyMzMsLTEuMzcwOGwyLjc0MTU5LDMyLjA0MjM4bDEwLjk2NjM4LC0zMC42NzE1OGw2LjY4MjY0LDMyLjg5OTEzIiBkYXRhLXBhcGVyLWRhdGE9InsmcXVvdDtpbmRleCZxdW90OzpudWxsfSIgZmlsbD0iIzUzM2RmZiIgc3Ryb2tlPSIjMTMyMTYxIiBzdHJva2Utd2lkdGg9IjMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJtaXRlciIvPjwvZz48L2c+PC9zdmc+" mediaID="Alberto_cst_Alberto left"/></media></snapdata>