<snapdata remixID="13231781"><project name="Prime factors" app="Snap! 9.0, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAAAXNSR0IArs4c6QAABK9JREFUeF7tnD1KZFEQRm8LCmIkKrgGFRMxFhNjE0EMjIzEXbgJlyCYmJobuAD/wMANiJgJIvTQD8YZcRiq9b2u+319XmRQ796q8x3UrqB7/X6/X3ggkESgh4BJ5Lm2IYCAiJBKAAFT8XM5AuJAKgEETMXP5QiIA6kEEDAVP5cjIA6kEkDAVPxcjoA4kEoAAVPxczkC4kAqAQRMxc/lCIgDqQQQMBU/lyMgDqQSQMBU/FyOgDiQSgABU/FzOQLiQCoBBEzFz+UIiAOpBBAwFT+XI6CJA/f392V/f78cHByUiYmJ5uepqanqp0PA6iOKN3h1dVWOj48b8QbfN/D+/l729vbK5ORk2dnZiR80wkoEHCHsUVx1cnJSLi4uvlz19vZWFhYWytbWViNlLQ8C1pJEC328vLyUw8PD8vr6+nHa8/Nz8+d48Kyvr5fV1dUWbmrvCARsj2X6SUdHR2Xwv+Dm5maZm5sr29vbZXFxsenr7Oysyj/DCJiuTTsNXF5elunp6bK2tvblwJubm7K8vNzORS2fgoAtA63puIeHhzI7O1vm5+drautTLwhYbTQ/a+z6+rr0er1qf/P9ng4Bf5ZzlW8P5Bs8KysrVfb3d1MIWH1EwzX4+PjYfApeWloa7sWkagRMAt/FtU9PT80HkZmZmS6O7+RMBOwE6+gPPT8/b9Yuag8CqiX2j35PT0/L7u6u5CQIKBnbn6ZrXTBHsSJglFSFdTUvmKO4EDBKqqI6hQVzFBcCRklVUqeyYI7iQsAoqQrqlBbMUVwIGCWVXKe2YI7iQsAoqcQ6xQVzFBcCRkkl1akumKO4EDBKKqFOecEcxYWAUVIjrlNfMEdxIWCU1AjrHBbMUVwIGCU1gjqnBXMUFwJGSXVc57ZgjuJCwCipDuscF8xRXAgYJdVRneuCOYoLAaOkOqhzXjBHcSFglFTLde4L5iguBIySarFuHBbMUVwIGCXVUt24LJijuBAwSqqFunFaMEdxIWCU1A/qxnHBHMWFgFFS36wb1wVzFBcCRkl9o26cF8xRXAgYJTVk3bgvmKO4EDBKaog6FsxxWAgYZxWqZMEcwvRRhIDD8fpvNQvm4WEi4PDM/vkGC+bvgUTA73H79Nbg067Cl0G2MGrrR1Ql4N3dXbm9vW19yC4P3NjYqPo7mLucvY2zqxKwjYE4Q4sAAmrlZdctAtpFqjUQAmrlZdctAtpFqjUQAmrlZdctAtpFqjUQAmrlZdctAtpFqjUQAmrlZdctAtpFqjUQAmrlZdctAtpFqjUQAmrlZdctAtpFqjUQAmrlZdctAtpFqjUQAmrlZdctAtpFqjUQAmrlZdctAtpFqjUQAmrlZdctAtpFqjUQAmrlZdctAtpFqjUQAmrlZdctAtpFqjUQAmrlZdctAtpFqjUQAmrlZdctAtpFqjUQAmrlZdctAtpFqjUQAmrlZdctAtpFqjUQAmrlZdctAtpFqjUQAmrlZdctAtpFqjUQAmrlZdctAtpFqjUQAmrlZdctAtpFqjUQAmrlZdctAtpFqjUQAmrlZdctAtpFqjUQAmrlZdctAtpFqjUQAmrlZdctAtpFqjUQAmrlZdctAtpFqjXQLxxhkrfEaxgfAAAAAElFTkSuQmCC</thumbnail><scenes select="1"><scene name="Prime factors"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="isprime %&apos;n&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="n"/><l>2</l></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doFor"><l>i</l><l>2</l><block s="reportMonadic"><l><option>sqrt</option></l><block var="n"/></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="n"/><block var="i"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block></script></block></script></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block></script><scripts><script x="206.7138671875" y="106.33333333333331"><block s="reportQuotient"><l></l><l>2</l></block></script></scripts></block-definition><block-definition s="Prime Factors of %&apos;n&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>l</l></list></block><block s="doSetVar"><l>l</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><l>1</l><block var="n"/><script><block s="doIf"><block s="reportVariadicAnd"><list><custom-block s="isprime %n"><block var="i"/></custom-block><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="n"/><block var="i"/></block><l>0</l></list></block></list></block><script><block s="doUntil"><block s="reportNot"><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="n"/><block var="i"/></block><l>0</l></list></block></block><script><block s="doAddToList"><block var="i"/><block var="l"/></block><block s="doSetVar"><l>n</l><block s="reportQuotient"><block var="n"/><block var="i"/></block></block></script></block></script><list></list></block></script></block><block s="doReport"><block var="l"/></block></script></block></script></block-definition><block-definition s="numbers from %&apos;start&apos; to %&apos;end&apos; (2)" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">10</input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportVariadicMin"><list><block var="start"/><block var="end"/></list></block><block var="start"/></list></block><script><block s="doReport"><block s="reportNumbers"><block var="start"/><block var="end"/></block></block></script><list><block s="reportVariadicEquals"><list><block s="reportVariadicMin"><list><block var="start"/><block var="end"/></list></block><block var="end"/></list></block><script><block s="doReport"><block s="reportListAttribute"><l><option>reverse</option></l><block s="reportNumbers"><block var="end"/><block var="start"/></block></block></block></script></list></block></script></block-definition><block-definition s="$flash analyze %&apos;data&apos;" type="reporter" category="lists"><comment x="0" y="0" w="149" collapsed="false">returns a frequency analysis of the argument list, represented as a two-column table, where the first column contains the unique values and the second column their occurrences</comment><header></header><code></code><translations>pt:$flash as frequências dos itens de _&#xD;ca:$flash analitza _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>dta_analyze(list)</l><list><block var="data"/></list></block></block></script></block-definition><block-definition s="$flash group %&apos;data&apos; by %&apos;fn&apos;" type="reporter" category="lists"><header></header><code></code><translations>pt:o agrupamento dos itens de _ de acordo com _&#xD;ca:$flash agrupa _ per _&#xD;</translations><inputs><input type="%l"></input><input type="%repRing"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>dta_group(list, fn)</l><list><block var="data"/><block var="fn"/></list></block></block></script></block-definition><block-definition s="$flash sort %&apos;data&apos; by %&apos;fn&apos;" type="reporter" category="lists"><header></header><code></code><translations>pt:uma ordenação de _ com critério _&#xD;ca:$flash ordena _ per _&#xD;</translations><inputs><input type="%l"></input><input type="%predRing"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>lst_sort(list, fn)</l><list><block var="data"/><block var="fn"/></list></block></block></script></block-definition><block-definition s="histogram of %&apos;data&apos; from: %&apos;floor&apos; to: %&apos;ceiling&apos; interval: %&apos;interval&apos;" type="reporter" category="lists"><header></header><code></code><translations>pt:o histograma de _ entre _ e _ com intervalo _&#xD;ca:histograma de _ des de: _ fins: _ interval: _&#xD;</translations><inputs><input type="%l"></input><input type="%n"></input><input type="%n"></input><input type="%n">1</input></inputs><script><block s="doReport"><custom-block s="fill %l key: %repRing from: %n to: %n interval: %repRing with: %repRing"><custom-block s="$flash sort %l by %predRing"><custom-block s="$flash analyze %l"><block var="data"/></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 s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><block var="floor"/><block var="ceiling"/><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><block var="interval"/></list></block></autolambda><list></list></block><block s="reifyReporter"><autolambda><block s="reportNewList"><list><l></l><l>0</l></list></block></autolambda><list></list></block></custom-block></block></script></block-definition><block-definition s="histogram of %&apos;data&apos; grouped by: %&apos;key&apos; from: %&apos;floor&apos; to: %&apos;ceiling&apos; interval: %&apos;interval&apos;" type="reporter" category="lists"><header></header><code></code><translations>pt:o histograma de _ agrupado de acordo com _ entre _ e _ com passo _&#xD;ca:histograma de _ agrupat per: _ des de: _ fins: _ interval: _&#xD;</translations><inputs><input type="%l"></input><input type="%repRing"></input><input type="%n"></input><input type="%n"></input><input type="%repRing"></input></inputs><script><block s="doReport"><custom-block s="fill %l key: %repRing from: %n to: %n interval: %repRing with: %repRing"><custom-block s="$flash sort %l by %predRing"><custom-block s="$flash group %l by %repRing"><block var="data"/><block var="key"/></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 s="reifyReporter"><autolambda><block s="reportListItem"><l>1</l><l/></block></autolambda><list></list></block><block var="floor"/><block var="ceiling"/><block var="interval"/><block s="reifyReporter"><autolambda><block s="reportNewList"><list><l></l><l>0</l><block s="reportNewList"><list></list></block></list></block></autolambda><list></list></block></custom-block></block></script></block-definition><block-definition s="fill %&apos;data&apos; key: %&apos;key&apos; from: %&apos;floor&apos; to: %&apos;ceiling&apos; interval: %&apos;interval&apos; with: %&apos;generator&apos;" type="reporter" category="lists"><comment x="0" y="0" w="103" collapsed="false">add missing entries to a sorted list. Used for histograms</comment><header></header><code></code><translations>pt:os itens de _ com a chave _ entre _ e _ com passo _ completados por _&#xD;ca:omple _ clau: _ des de: _ fins: _ interval: _ amplada: _&#xD;</translations><inputs><input type="%l"></input><input type="%repRing"></input><input type="%n"></input><input type="%n"></input><input type="%repRing"></input><input type="%repRing"></input></inputs><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="floor"/><block var="ceiling"/></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="data"/><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="generator"/><list><block var="floor"/></list></block><custom-block s="fill %l key: %repRing from: %n to: %n interval: %repRing with: %repRing"><block var="data"/><block var="key"/><block s="evaluate"><block var="interval"/><list><block var="floor"/></list></block><block var="ceiling"/><block var="interval"/><block var="generator"/></custom-block></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="evaluate"><block var="key"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block var="floor"/></list></block><script><block s="doReport"><custom-block s="fill %l key: %repRing from: %n to: %n interval: %repRing with: %repRing"><block s="reportCDR"><block var="data"/></block><block var="key"/><block var="floor"/><block var="ceiling"/><block var="interval"/><block var="generator"/></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="evaluate"><block var="key"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block var="floor"/></list></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="fill %l key: %repRing from: %n to: %n interval: %repRing with: %repRing"><block s="reportCDR"><block var="data"/></block><block var="key"/><block s="evaluate"><block var="interval"/><list><block var="floor"/></list></block><block var="ceiling"/><block var="interval"/><block var="generator"/></custom-block></block></block></script><list></list></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="generator"/><list><block var="floor"/></list></block><custom-block s="fill %l key: %repRing from: %n to: %n interval: %repRing with: %repRing"><block var="data"/><block var="key"/><block s="evaluate"><block var="interval"/><list><block var="floor"/></list></block><block var="ceiling"/><block var="interval"/><block var="generator"/></custom-block></block></block></script></block-definition><block-definition s="%&apos;text&apos; $arrowRight lower case" type="reporter" category="operators"><header></header><code></code><translations>pt:_ em minúsculas&#xD;ca:_ $arrowRight minúscules&#xD;</translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>txt_lowercase(txt)</l><list><block var="text"/></list></block></block></script></block-definition><block-definition s="plot %&apos;data&apos; %&apos;style&apos; at x: %&apos;left&apos; y: %&apos;bottom&apos; width: %&apos;width&apos; height: %&apos;height&apos;" type="command" category="pen"><header></header><code></code><translations>pt:desenha gráfico de barras de _ em (x: _ , y: _ ) com largura _ e altura _&#xD;ca:dibuixa _ _ a x: _ y: _ i ample: _ alçada: _&#xD;</translations><inputs><input type="%l"></input><input type="%s" readonly="true">bars<options>bars&#xD;lines&#xD;pie chart</options></input><input type="%n">-200</input><input type="%n">-100</input><input type="%n">400</input><input type="%n">200</input></inputs><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="style"/><l>pie chart</l></list></block><script><block s="doDeclareVariables"><list><l>x</l><l>y</l><l>r</l><l>total</l><l>start</l><l>end</l><l>state</l><l>pen size</l><l>heading</l></list></block><block s="doSetVar"><l>r</l><block s="reportIfElse"><block s="reportVariadicLessThan"><list><block var="height"/><block var="width"/></list></block><block s="reportQuotient"><block var="height"/><l>2</l></block><block s="reportQuotient"><block var="width"/><l>2</l></block></block></block><block s="doSetVar"><l>x</l><block s="reportVariadicSum"><list><block var="left"/><block var="r"/></list></block></block><block s="doSetVar"><l>y</l><block s="reportVariadicSum"><list><block var="bottom"/><block var="r"/></list></block></block><block s="doSetVar"><l>total</l><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><block s="doSetVar"><l>state</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><l></l><block s="getPenAttribute"><l></l></block></list></block></autolambda><list></list></block><block s="reportNewList"><list><l>hue</l><l>saturation</l><l>brightness</l></list></block></block></block><block s="doSetVar"><l>pen size</l><block s="getPenAttribute"><l><option>size</option></l></block></block><block s="doSetVar"><l>heading</l><block s="direction"></block></block><block s="setPenColorDimension"><l><option>hue</option></l><l>0</l></block><block s="setPenColorDimension"><l><option>brightness</option></l><l>80</l></block><block s="setPenColorDimension"><l><option>saturation</option></l><l>80</l></block><block s="setSize"><l>1</l></block><block s="doWarp"><script><block s="doForEach"><l>slice</l><block var="data"/><script><block s="doChangeVar"><l>end</l><block s="reportVariadicProduct"><list><block s="reportQuotient"><block var="slice"/><block var="total"/></block><l>360</l></list></block></block><block s="gotoXY"><block var="x"/><block var="y"/></block><block s="down"></block><block s="doFor"><l>i</l><block var="start"/><block var="end"/><script><block s="gotoXY"><block s="reportVariadicSum"><list><block var="x"/><block s="reportVariadicProduct"><list><block var="r"/><block s="reportMonadic"><l><option>sin</option></l><block var="i"/></block></list></block></list></block><block s="reportVariadicSum"><list><block var="y"/><block s="reportVariadicProduct"><list><block var="r"/><block s="reportMonadic"><l><option>cos</option></l><block var="i"/></block></list></block></list></block></block></script></block><block s="gotoXY"><block var="x"/><block var="y"/></block><block s="up"></block><block s="setHeading"><block var="start"/></block><block s="turn"><block s="reportQuotient"><block s="reportDifference"><block var="end"/><block var="start"/></block><l>2</l></block></block><block s="forward"><block s="reportQuotient"><block var="r"/><l>2</l></block></block><block s="floodFill"></block><block s="changePenColorDimension"><l><option>hue</option></l><block s="reportQuotient"><l>100</l><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></block><block s="doSetVar"><l>start</l><block var="end"/></block></script></block><block s="doForEach"><l>setting</l><block var="state"/><script><block s="setPenColorDimension"><block s="reportListItem"><l>1</l><block var="setting"/></block><block s="reportListItem"><l>2</l><block var="setting"/></block></block></script></block></script></block><block s="setSize"><block var="pen size"/></block><block s="setHeading"><block var="heading"/></block></script><script><block s="doDeclareVariables"><list><l>ratio</l><l>step</l><l>flat line ends</l><l>col</l><l>sorted</l><l>min</l></list></block><block s="doSetVar"><l>sorted</l><custom-block s="$flash sort %l by %predRing"><block var="data"/><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><l></l><l></l></list></block></autolambda><list></list></block></custom-block></block><block s="doIfElse"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l><option>last</option></l><block var="sorted"/></block><l>0</l></list></block><script><block s="doSetVar"><l>min</l><block s="reportListItem"><l><option>last</option></l><block var="sorted"/></block></block></script><script><block s="doSetVar"><l>min</l><l>0</l></block></script></block><block s="doSetVar"><l>ratio</l><block s="reportQuotient"><block var="height"/><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="sorted"/></block><block var="min"/></block></block></block><block s="doSetVar"><l>step</l><block s="reportQuotient"><block var="width"/><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></block></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="step"/><l>2</l></list></block><script><block s="doSetVar"><l>col</l><block s="reportDifference"><block var="step"/><l>1</l></block></block></script><script><block s="doSetVar"><l>col</l><block s="reportVariadicProduct"><list><block var="step"/><l>0.8</l></list></block></block></script></block><block s="gotoXY"><block var="left"/><block var="bottom"/></block><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="style"/><l>lines</l></list></block><script><block s="changeXPosition"><block s="reportQuotient"><block var="step"/><l>-2</l></block></block><block s="doWarp"><script><block s="doUntil"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><block s="gotoXY"><block s="reportVariadicSum"><list><block s="xPosition"></block><block var="step"/></list></block><block s="reportVariadicSum"><list><block var="bottom"/><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="data"/></block><block var="min"/></block><block var="ratio"/></list></block></list></block></block><block s="down"></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></block></script></block></script><script><block s="doSetVar"><l>flat line ends</l><block s="reportGlobalFlag"><l><option>flat line ends</option></l></block></block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><l><bool>true</bool></l></block><block s="setSize"><l>0.5</l></block><block s="down"></block><block s="changeXPosition"><block s="reportQuotient"><block var="step"/><l>2</l></block></block><block s="doWarp"><script><block s="doUntil"><block s="reportVariadicEquals"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><block s="setSize"><block var="col"/></block><block s="changeYPosition"><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="data"/></block><block var="min"/></block><block var="ratio"/></list></block></block><block s="setYPosition"><block var="bottom"/></block><block s="setSize"><l>0.5</l></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><l>0</l></list></block><script><block s="changeXPosition"><block var="step"/></block></script><script><block s="changeXPosition"><block s="reportQuotient"><block var="step"/><l>2</l></block></block></script></block></script></block></script></block><block s="doSetGlobalFlag"><l><option>flat line ends</option></l><block var="flat line ends"/></block></script></block><block s="up"></block></script></block></script></block-definition><block-definition s="$camera snap" type="reporter" category="sensing"><comment x="0" y="0" w="216" collapsed="false">takes a snapshot with the webcam and reports it as a new costume, or zero if the user cancels</comment><header></header><code></code><translations>pt:$camera a imagem actual do vídeo&#xD;</translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>callback</l><l>pic</l></list></block><block s="doSetVar"><l>callback</l><block s="reportApplyExtension"><l>mda_snap</l><list></list></block></block><block s="doWaitUntil"><block s="evaluate"><block s="reifyScript"><script><block s="doSetVar"><l>pic</l><block s="evaluate"><block var="callback"/><list></list></block></block><block s="doReport"><block s="reportNot"><block s="reportVariadicEquals"><list><block var="pic"/><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></block></block></script><list></list></block><list></list></block></block><block s="doReport"><block var="pic"/></block></script></block-definition><block-definition s="export costume %&apos;costume&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>§_costumesMenu</options></input></inputs><script><block s="doSetVar"><l>costume</l><block s="reportIfElse"><block s="reportIsA"><block var="costume"/><l><option>costume</option></l></block><block var="costume"/><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportGetImageAttribute"><l><option>name</option></l><l></l></block><block var="costume"/></list></block></autolambda><list></list></block><block s="reportGet"><l><option>costumes</option></l></block></block></block></block><block s="doIf"><block s="reportIsA"><block var="costume"/><l><option>costume</option></l></block><script><block s="doApplyExtension"><l>cst_export(cst, name)</l><list><block var="costume"/><l></l></list></block></script><list></list></block></script></block-definition><block-definition s="set name of costume %&apos;costume&apos; to %&apos;name&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true"><options>§_costumesMenu</options></input><input type="%s">thing</input></inputs><script><block s="doSetVar"><l>costume</l><block s="reportIfElse"><block s="reportIsA"><block var="costume"/><l><option>costume</option></l></block><block var="costume"/><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><block s="reportGetImageAttribute"><l><option>name</option></l><l></l></block><block var="costume"/></list></block></autolambda><list></list></block><block s="reportGet"><l><option>costumes</option></l></block></block></block></block><block s="doIf"><block s="reportIsA"><block var="costume"/><l><option>costume</option></l></block><script><block s="doApplyExtension"><l>obj_name(obj, name)</l><list><block var="costume"/><block var="name"/></list></block></script><list></list></block></script></block-definition><block-definition s="export costume list %&apos;costumes&apos; base name %&apos;name&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s">frame</input></inputs><script><block s="doDeclareVariables"><list><l>count</l></list></block><block s="doSetVar"><l>count</l><block s="reportListAttribute"><l><option>length</option></l><block var="costumes"/></block></block><block s="doForEach"><l>item</l><block s="reportListAttribute"><l><option>reverse</option></l><block var="costumes"/></block><script><block s="doApplyExtension"><l>cst_export(cst, name)</l><list><block var="item"/><block s="reportJoinWords"><list><block var="name"/><l> (</l><block var="count"/><l>)</l></list></block></list></block><block s="doChangeVar"><l>count</l><l>-1</l></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportModulus"><block var="count"/><l>10</l></block><l>0</l></list></block><script><block s="doWait"><l>1</l></block></script><list></list></block></script></block></script></block-definition><block-definition s="%&apos;filter&apos; filter on %&apos;costume&apos; alpha %&apos;alpha&apos;" type="reporter" category="looks"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">Blur<options>Blur&#xD;Sharpen&#xD;Outline&#xD;Emboss&#xD;Edge={&#xD;Left&#xD;Right&#xD;Top&#xD;Bottom&#xD;}&#xD;Gauss</options></input><input type="%s" readonly="true">current<options>§_costumesMenu</options></input><input type="%b">true</input></inputs><script><block s="doDeclareVariables"><list><l>kernel</l><l>pixels</l><l>channels</l></list></block><block s="doSetVar"><l>kernel</l><block s="reportIfElse"><block s="reportVariadicGreaterThan"><list><block s="reportListAttribute"><l><option>rank</option></l><block var="filter"/></block><l>1</l></list></block><block var="filter"/><custom-block s="filter %s"><block var="filter"/></custom-block></block></block><block s="doSetVar"><l>pixels</l><block s="reportGetImageAttribute"><l><option>pixels</option></l><block var="costume"/></block></block><block s="doIf"><block var="alpha"/><script><block s="doSetVar"><l>channels</l><l>4</l></block></script><list><l><bool>true</bool></l><script><block s="doSetVar"><l>channels</l><l>3</l></block><block s="doSetVar"><l>pixels</l><block s="reportVariadicProduct"><list><block var="pixels"/><block s="reportNewList"><list><l>1</l><l>1</l><l>1</l></list></block></list></block><comment w="137" collapsed="true">remove alpha channel</comment></block></script></list></block><block s="doReport"><block s="reportNewCostume"><custom-block s="convolve matrix %l * kernel %l"><block s="reportReshape"><block var="pixels"/><list><block s="reportGetImageAttribute"><l><option>height</option></l><block var="costume"/></block><block s="reportGetImageAttribute"><l><option>width</option></l><block var="costume"/></block><block var="channels"/></list></block><block var="kernel"/></custom-block><l></l><l></l></block></block></script></block-definition><block-definition s="filter %&apos;name&apos;" type="reporter" category="looks"><header></header><code></code><translations></translations><inputs><input type="%s" readonly="true">Blur<options>Blur&#xD;Sharpen&#xD;Outline&#xD;Emboss&#xD;Edge={&#xD;Left&#xD;Right&#xD;Top&#xD;Bottom&#xD;}&#xD;Gauss</options></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="name"/><l>sharpen</l></list></block><script><block s="doReport"><custom-block s="kernel %br %n %n %n %br %n %n %n %br %n %n %n"><l>0</l><l>-1</l><l>0</l><l>-1</l><l>5</l><l>-1</l><l>0</l><l>-1</l><l>0</l></custom-block></block></script><list><block s="reportVariadicEquals"><list><block var="name"/><l>outline</l></list></block><script><block s="doReport"><custom-block s="kernel %br %n %n %n %br %n %n %n %br %n %n %n"><l>-1</l><l>-1</l><l>-1</l><l>-1</l><l>8</l><l>-1</l><l>-1</l><l>-1</l><l>-1</l></custom-block></block></script><block s="reportVariadicEquals"><list><block var="name"/><l>emboss</l></list></block><script><block s="doReport"><custom-block s="kernel %br %n %n %n %br %n %n %n %br %n %n %n"><l>-2</l><l>-1</l><l>0</l><l>-1</l><l>1</l><l>1</l><l>0</l><l>1</l><l>2</l></custom-block></block></script><block s="reportVariadicEquals"><list><block var="name"/><l>left</l></list></block><script><block s="doReport"><custom-block s="kernel %br %n %n %n %br %n %n %n %br %n %n %n"><l>-1</l><l>0</l><l>1</l><l>-2</l><l>0</l><l>2</l><l>-1</l><l>0</l><l>1</l></custom-block></block></script><block s="reportVariadicEquals"><list><block var="name"/><l>right</l></list></block><script><block s="doReport"><custom-block s="kernel %br %n %n %n %br %n %n %n %br %n %n %n"><l>1</l><l>0</l><l>-1</l><l>2</l><l>0</l><l>-2</l><l>1</l><l>0</l><l>-1</l></custom-block></block></script><block s="reportVariadicEquals"><list><block var="name"/><l>top</l></list></block><script><block s="doReport"><custom-block s="kernel %br %n %n %n %br %n %n %n %br %n %n %n"><l>-1</l><l>-2</l><l>-1</l><l>0</l><l>0</l><l>0</l><l>1</l><l>2</l><l>1</l></custom-block></block></script><block s="reportVariadicEquals"><list><block var="name"/><l>bottom</l></list></block><script><block s="doReport"><custom-block s="kernel %br %n %n %n %br %n %n %n %br %n %n %n"><l>1</l><l>2</l><l>1</l><l>0</l><l>0</l><l>0</l><l>-1</l><l>-2</l><l>-1</l></custom-block></block></script><block s="reportVariadicEquals"><list><block var="name"/><l>gauss</l></list></block><script><block s="doReport"><block s="reportQuotient"><block s="reportNewList"><list><block s="reportNewList"><list><l>1</l><l>4</l><l>7</l><l>4</l><l>1</l></list></block><block s="reportNewList"><list><l>4</l><l>16</l><l>26</l><l>16</l><l>4</l></list></block><block s="reportNewList"><list><l>7</l><l>26</l><l>41</l><l>26</l><l>7</l></list></block><block s="reportNewList"><list><l>4</l><l>16</l><l>26</l><l>16</l><l>4</l></list></block><block s="reportNewList"><list><l>1</l><l>4</l><l>7</l><l>4</l><l>1</l></list></block></list></block><l>273</l></block></block></script></list></block><block s="doReport"><custom-block s="kernel %br %n %n %n %br %n %n %n %br %n %n %n"><l>0.0625</l><l>0.125</l><l>0.0625</l><l>0.125</l><l>0.25</l><l>0.125</l><l>0.0625</l><l>0.125</l><l>0.0625</l><comment w="80" collapsed="false">blur</comment></custom-block></block></script></block-definition><block-definition s="kernel $nl %&apos;a1&apos; %&apos;b1&apos; %&apos;c1&apos; $nl %&apos;a2&apos; %&apos;b2&apos; %&apos;c2&apos; $nl %&apos;a3&apos; %&apos;b3&apos; %&apos;c3&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%n"></input><input type="%n"></input><input type="%n"></input><input type="%n"></input><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportReshape"><block s="reportEnvironment"><l><option>inputs</option></l></block><list><l>3</l><l>3</l></list></block></block></script></block-definition><block-definition s="convolve matrix %&apos;matrix&apos; * kernel %&apos;kernel&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>padding</l><l>channels</l><l>every coordinate</l><l>channel indices</l></list></block><block s="doSetVar"><l>padding</l><block s="reportQuotient"><block s="reportDifference"><block s="reportListItem"><block s="reportNewList"><list><l>1</l><l>2</l></list></block><block s="reportListAttribute"><l><option>dimensions</option></l><block var="kernel"/></block></block><l>1</l></block><l>2</l></block><comment w="119" collapsed="false">assume odd dimensions, typically 3x3 or 5x5</comment></block><block s="doSetVar"><l>channels</l><block s="reportListItem"><l>3</l><block s="reportListAttribute"><l><option>dimensions</option></l><block var="matrix"/></block></block></block><block s="doSetVar"><l>every coordinate</l><block s="reportCrossproduct"><block s="reportNumbers"><l>1</l><block s="reportListItem"><block s="reportNewList"><list><l>1</l><l>2</l></list></block><block s="reportListAttribute"><l><option>dimensions</option></l><block var="matrix"/></block></block></block></block></block><block s="doIfElse"><block s="reportVariadicGreaterThan"><list><block var="channels"/><l>0</l></list></block><script><block s="doSetVar"><l>channel indices</l><block s="reportNewList"><list><block s="reportReshape"><block s="reportNumbers"><l>1</l><block var="channels"/></block><list><block s="reportListAttribute"><l><option>length</option></l><block var="every coordinate"/></block><block var="channels"/></list></block></list></block></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListAttribute"><l><option>dimensions</option></l><block var="kernel"/></block><l>3</l></list></block><script><block s="doSetVar"><l>kernel</l><block s="reportReshape"><custom-block s="stretch %l by %n"><block s="reportListAttribute"><l><option>flatten</option></l><block var="kernel"/></block><block var="channels"/></custom-block><block s="reportConcatenatedLists"><list><block s="reportListAttribute"><l><option>dimensions</option></l><block var="kernel"/></block><block s="reportNewList"><list><block var="channels"/></list></block></list></block></block></block></script><list></list><comment w="90" collapsed="false">reshape the kernel to match the input matrix&apos;s channels, if any</comment></block></script><script><block s="doSetVar"><l>channel indices</l><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportReshape"><block s="reportVariadicSum"><block s="reportListAttribute"><l><option>columns</option></l><block s="reportVariadicSum"><block s="reportListAttribute"><l><option>columns</option></l><block s="reportVariadicProduct"><list><block s="reportListItem"><block s="reportListAttribute"><l><option>columns</option></l><block s="reportConcatenatedLists"><list><block s="reportListAttribute"><l><option>columns</option></l><block s="reportNumbers"><block s="reportDifference"><block var="every coordinate"/><block var="padding"/></block><block s="reportVariadicSum"><list><block var="every coordinate"/><block var="padding"/></list></block></block></block><block var="channel indices"/></list></block></block><block var="matrix"/></block><block var="kernel"/></list></block></block></block></block></block><block s="reportListAttribute"><l><option>dimensions</option></l><block var="matrix"/></block><comment w="80" collapsed="false">for every padded pixel create a partial copy of the input, item-multiply it with the kernel and take its overall sum (∑)</comment></block></block></script></block-definition><block-definition s="stretch %&apos;data&apos; by %&apos;factor&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportListItem"><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block s="reportNumbers"><l>1</l><block s="reportVariadicProduct"><list><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><block var="factor"/></list></block></block><block var="factor"/></block></block><block var="data"/></block></block></script></block-definition></blocks><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="1643"><pentrails>data:image/png;base64,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</pentrails><costumes><list struct="atomic" id="1644"></list></costumes><sounds><list struct="atomic" id="1645"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="133.33333333333303" y="100" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="80,80,80,1" pen="tip" id="1650"><costumes><list struct="atomic" id="1651"></list></costumes><sounds><list struct="atomic" id="1652"></list></sounds><blocks></blocks><variables></variables><scripts><script x="132" y="376.66666666666663"><block s="reportKeep"><block s="reifyPredicate"><autolambda><custom-block s="isprime %n"><l></l></custom-block></autolambda><list></list></block><l/></block></script><script x="302" y="10"><block s="receiveGo"></block><block s="doAsk"><l>Get prime factors of?</l></block><block s="doWarp"><script><block s="bubble"><block s="reportJoinWords"><list><block s="getLastAnswer"></block><l>: </l><block s="reportCombine"><custom-block s="Prime Factors of %n"><block s="getLastAnswer"></block></custom-block><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l>, </l><l></l></list></block></autolambda><list></list></block></block></list></block></block></script></block></script><script x="166" y="72.83333333333337"><block s="doReport"><l></l></block></script><script x="426" y="541.6666666666666"><custom-block s="isprime %n"><l>7</l></custom-block></script><script x="335" y="220.66666666666663"><block s="reportNewCostume"><block s="reportReshape"><l>2</l><list><l>5</l><l>4</l></list></block><l>16</l><l>16</l></block></script><script x="94" y="165.33333333333326"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="Prime Factors of %n"><l></l></custom-block></autolambda><list></list></block><custom-block s="numbers from %n to %n (2)"><l>10</l><l>1</l></custom-block></block></script><script x="183.6484375" y="236.33333333333326"><block s="reportNumbers"><l>1</l><l>100</l></block></script><script x="115" y="284.33333333333326"><block s="reportNewList"><list><custom-block s="numbers from %n to %n (2)"><l>1</l><l>10</l></custom-block><l></l></list></block></script><script x="10" y="104.99999999999994"><block s="reportNumbers"><l>10</l><l>1</l></block></script><script x="107" y="435.83333333333337"><block s="reportNewSoundFromSamples"><l/><l>44100</l></block></script><script x="334" y="450.6666666666665"><custom-block s="plot %l %s at x: %n y: %n width: %n height: %n"><l/><l>lines</l><l>-200</l><l>-100</l><l>400</l><l>200</l></custom-block></script><script x="556" y="329"><block s="clear"></block></script><script x="243" y="335.66666666666663"><block s="reportNewCostume"><block s="reportNewList"><list><block s="reportNumbers"><l>1</l><l>1000</l></block><block s="reportNumbers"><l>1</l><l>1000</l></block></list></block><l>3</l><l>4</l></block></script></scripts></sprite></sprites></stage><variables></variables></scene></scenes></project><media name="Prime factors" app="Snap! 9.0, https://snap.berkeley.edu" version="2"></media></snapdata>