<snapdata remixID="13772270"><project name="Dice Game Starter" app="Snap! 10, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="Dice Game Starter"><notes></notes><palette><category name="Streams" color="164,0,0,1"/></palette><hidden></hidden><headers></headers><code></code><blocks><block-definition s="head of stream %&apos;stream&apos;" type="reporter" category="Streams"><comment x="0" y="0" w="318.8106770833335" collapsed="false">The stream version of ITEM (1) OF.&#xD;The equivalent of SICP function STREAM-CAR.&#xD;&#xD;This block is one of five lower-level stream blocks, directly interacting with the data structure, hiding it from the higher-level stream blocks.&#xD;&#xD;General info on streams: see the help text of TAIL OF STREAM.</comment><header></header><code></code><translations>pt:o primeiro item do canal _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="stream"/></block></block></script><scripts><script x="10" y="130.6666666666666"><custom-block s="$speechBubble %mlt"><l>Demo</l></custom-block><block s="doReport"><custom-block s="head of stream %l"><custom-block s="stream with numbers from %n"><l>1</l></custom-block></custom-block></block></script></scripts></block-definition><block-definition s="tail of stream %&apos;stream&apos;" type="reporter" category="Streams"><comment x="0" y="0" w="461.81067708333336" collapsed="false">The stream version of ALL BUT FIRST OF.&#xD;The equivalent of SICP* function STREAM-CDR.&#xD;&#xD;This block is one of five lower-level stream blocks, directly interacting with the data structure, hiding it from the higher-level stream blocks. The others are: HEAD OF STREAM, IN FRONT OF STREAM, IS STREAM EMPTY?, and THE EMPTY STREAM.&#xD;&#xD;Very Short Introduction To Streams:&#xD;-----------------------------------------------&#xD;Streams, also called lazy lists, are like lists except that items are not computed until they&apos;re needed. This allows for more efficient handling of large computed lists, and even infinite lists.  The only piece of magic is in IN FRONT OF STREAM, whose second input is of type Unevaluated, which means that it&apos;s effectively a procedure, with a sort of invisible gray ring. So HEAD OF STREAM is just ITEM 1 OF, but TAIL OF STREAM has a CALL block to make the computation happen.&#xD;&#xD;For a demo of streams, try the block STREAM DEMO. Plus, each stream block has its own demo(-s), to be accessed from their respective edit windows.&#xD;&#xD;*For a tutorial introduction to streams, read Structure and Interpretation of Computer Programs (SICP), section 3.5 (at the time of writing this Help text, the full text could be read on the internet: https://mitp-content-server.mit.edu/books/content/sectbyfn/books_pres_0/6515/sicp.zip/index.html); or Brian Harvey&apos;s lecture notes (start on page 74): https://people.eecs.berkeley.edu/&#126;bh/61a-pages/Volume2/notes.pdf&#xD;&#xD;As of release 2 of the Streams library, the data structure of streams was simplified, and so were TAIL OF STREAM and IN FRONT OF STREAM. Streams created with release 1 of the library (perhaps stored in a variable, or otherwise) can be used with release 2 blocks; insofar as they were already (partly) evaluated, they will be re-evaluated.</comment><header></header><code></code><translations>pt:um canal com todos os itens de _ menos o primeiro&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>promise</l></list></block><block s="doWarp"><script><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="stream"/></block><l><option>script</option></l></block><script><block s="doSetVar"><l>promise</l><block s="reportListItem"><l>2</l><block var="stream"/></block></block><block s="doReplaceInList"><l>2</l><block var="stream"/><l></l></block></script><list></list></block></script></block><block s="doIfElse"><block var="promise"/><script><block s="doReplaceInList"><l>2</l><block var="stream"/><block s="evaluate"><block var="promise"/><list></list></block></block></script><script><block s="doWaitUntil"><block s="reportIsA"><block s="reportListItem"><l>2</l><block var="stream"/></block><l><option>list</option></l></block></block></script></block><block s="doReport"><block s="reportListItem"><l>2</l><block var="stream"/></block></block></script><scripts><script x="7.14285714285711" y="371.85714285714295"><custom-block s="$speechBubble %mlt"><l>Demo</l></custom-block><block s="doReport"><custom-block s="tail of stream %l"><custom-block s="stream with numbers from %n"><l>1</l></custom-block></custom-block></block></script><script x="7.14285714285711" y="435.5714285714287"><custom-block s="$speechBubble %mlt"><l>Former version of TAIL OF STREAM</l></custom-block><custom-block s="$speechBubble %mlt"><l>Formerly, the data structure of a stream consisted of 4 items:&#xD;1. The head, or 1st data item;&#xD;2. The promise, i.e. an unevaluated reporter prescribing the remainder of the stream (like DNA);&#xD;3. A Boolean indicating whether the promise was evaluated yet;&#xD;4. A link to the remainder, or tail, of the stream (if the promise was evaluated), or FALSE (otherwise).&#xD;&#xD;The current data structure is only 2 items:&#xD;1. The head, or 1st data item;&#xD;2. The promise (if not evaluated yet), or link to the tail of the stream (if the promise was evaluated).</l></custom-block><block s="doWarp"><script><block s="doIf"><block s="reportListItem"><l>3</l><block var="stream"/></block><script><block s="doReport"><block s="reportListItem"><l>4</l><block var="stream"/></block></block></script><list></list></block><block s="doReplaceInList"><l>4</l><block var="stream"/><block s="evaluate"><block s="reportListItem"><l>2</l><block var="stream"/></block><list></list></block></block><block s="doReplaceInList"><l>3</l><block var="stream"/><block s="reportBoolean"><l><bool>true</bool></l></block></block><block s="doReport"><block s="reportListItem"><l>4</l><block var="stream"/></block></block></script></block></script></scripts></block-definition><block-definition s="%&apos;head&apos; in front of stream %&apos;delayed tail&apos;" type="reporter" category="Streams"><comment x="0" y="0" w="317.6106770833337" collapsed="false">The stream version of IN FRONT OF.&#xD;The equivalent of SICP function CONS-STREAM.&#xD;&#xD;The 2nd input parameter is of type Unevaluated. Therefore, calling IN FRONT OF STREAM causes only the first item of the new stream to be evaluated, not the rest of the stream. The latter will be performed, as required, by TAIL OF STREAM.&#xD;&#xD;This block is one of five lower-level stream blocks, directly interacting with the data structure, hiding it from the higher-level stream blocks.&#xD;&#xD;General info on streams: see the help text of TAIL OF STREAM.</comment><header></header><code></code><translations>pt:a prefixação de _ ao canal _&#xD;</translations><inputs><input type="%s"></input><input type="%anyUE"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block var="head"/><block var="delayed tail"/></list></block></block></script><scripts><script x="7.142857142857143" y="191.85714285714292"><custom-block s="$speechBubble %mlt"><l>Demo</l></custom-block><block s="doReport"><custom-block s="%s in front of stream %anyUE"><l>1</l><custom-block s="stream with numbers from %n"><l>2</l></custom-block></custom-block></block></script><script x="7.142857142857143" y="255.57142857142856"><custom-block s="$speechBubble %mlt"><l>Former version of IN FRONT OF STREAM</l></custom-block><block s="doReport"><block s="reportNewList"><list><block var="head"/><block var="tail"/><block s="reportBoolean"><l><bool>false</bool></l></block><block s="reportBoolean"><l><bool>false</bool></l></block></list></block></block></script></scripts></block-definition><block-definition s="comment %&apos;text&apos;" type="command" category="other"><comment x="0" y="0" w="122.00000000000001" collapsed="false">A multiline text block, that doesn’t *do* anything.</comment><header></header><code></code><translations></translations><inputs><input type="%mlt">no comment!</input></inputs></block-definition><block-definition s="the empty stream" type="reporter" category="Streams"><comment x="0" y="0" w="312.8" collapsed="false">A stream without elements.&#xD;&#xD;This block is one of five lower-level stream blocks, directly interacting with the data structure, hiding it for the higher-level stream blocks.&#xD;&#xD;General info on streams: see the help text of TAIL OF STREAM.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="THE EMPTY STREAM"/><l><option>list</option></l></block></block><script><block s="doSetVar"><l>THE EMPTY STREAM</l><block s="reportNewList"><list><l>*the empty stream*</l></list></block></block></script><list></list></block><block s="doReport"><block var="THE EMPTY STREAM"/></block></script><scripts><script x="7.142857142857143" y="152.71666666666675"><custom-block s="comment %mlt"><l>Demo</l></custom-block><block s="doReport"><custom-block s="the empty stream"></custom-block></block></script></scripts></block-definition><block-definition s="$speechBubble %&apos;text&apos;" type="command" category="other"><comment x="0" y="0" w="122.00000000000001" collapsed="false">A multiline text block, that doesn’t *do* anything.</comment><header></header><code></code><translations></translations><inputs><input type="%mlt">no comment!</input></inputs></block-definition><block-definition s="is stream %&apos;stream&apos; empty?" type="predicate" category="Streams"><comment x="0" y="0" w="406.2" collapsed="false">Report if a stream has no elements. &#xD;The stream version of IS EMPTY?.&#xD;The equivalent of SICP function STREAM-NULL?&#xD;&#xD;A stream is considered empty only if it has been computed and is equal to THE EMPTY STREAM.  A stream that has not yet been computed (because it was made with IN FRONT OF STREAM, for example, or with a KEEP whose predicate is never satisfied, isn&apos;t empty even though it may not have any elements.&#xD;&#xD;This block is one of five lower-level stream blocks, directly interacting with the data structure, hiding it for the higher-level stream blocks.&#xD;&#xD;General Info on streams: see the help text of TAIL OF STREAM.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportVariadicIsIdentical"><list><block var="stream"/><custom-block s="the empty stream"></custom-block></list></block></block></script><scripts><script x="7.142857142857143" y="203.8571428571429"><custom-block s="comment %mlt"><l>Demo</l></custom-block><block s="doReport"><block s="reportNewList"><list><custom-block s="is stream %l empty?"><custom-block s="the empty stream"></custom-block></custom-block><custom-block s="is stream %l empty?"><custom-block s="stream with numbers from %n"><l>1</l></custom-block></custom-block><custom-block s="is stream %l empty?"><custom-block s="stream %mult%s"><list><l></l></list></custom-block></custom-block><custom-block s="is stream %l empty?"><custom-block s="stream %mult%s"><list></list></custom-block></custom-block></list></block></block></script><script x="7.142857142857143" y="322.7619047619048"><custom-block s="comment %mlt"><l>Demo: pathologiocal case (will not terminate)</l></custom-block><block s="doReport"><custom-block s="is stream %l empty?"><custom-block s="keep items %predRing from stream %l"><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l>1</l></list></block></autolambda><list></list></block><custom-block s="stream with numbers from %n"><l>1</l></custom-block></custom-block></custom-block></block></script></scripts></block-definition><block-definition s="stream %&apos;items&apos;" type="reporter" category="Streams" space="true"><comment x="0" y="0" w="343.3333333333333" collapsed="false">Create a stream from a finite collection of items, like the LIST primitive.&#xD;Since this block is typically used for small amounts of data, it does not delay computation of its inputs.&#xD;&#xD;If you are using a list of all the desired values as input, make sure it is specified to be an INPUT LIST&#xD;&#xD;General info on streams: see the help text of TAIL OF STREAM.</comment><header></header><code></code><translations>pt:um canal com _&#xD;</translations><inputs><input type="%mult%s" initial="1"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="items"/></block><script><block s="doReport"><custom-block s="the empty stream"></custom-block></block></script><list></list></block><block s="doReport"><custom-block s="%s in front of stream %anyUE"><block s="reportListItem"><l>1</l><block var="items"/></block><custom-block s="stream %mult%s"><block s="reportCDR"><block var="items"/></block></custom-block></custom-block></block></script><scripts><script x="10" y="177.01190476190484"><custom-block s="$speechBubble %mlt"><l>Demo: specify individual stream items</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="stream %mult%s"><list><l>1</l><l>2</l></list></custom-block></custom-block></block></script><script x="10" y="240.72619047619045"><custom-block s="$speechBubble %mlt"><l>Demo: use an input list (list dropped on pair of arrows)</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="stream %mult%s"><block s="reportNumbers"><l>1</l><l>7</l></block></custom-block></custom-block></block></script><script x="10" y="319.0357142857143"><custom-block s="$speechBubble %mlt"><l>Demo: in contrast with the above, if you drop a list onto an empty slot,&#xD;it will be considered a single item (which may be what you want, but&#xD;usually you want them to be separate items, so use an input list). </l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="stream %mult%s"><list><block s="reportNumbers"><l>1</l><l>7</l></block></list></custom-block></custom-block></block></script></scripts></block-definition><block-definition s="stream with numbers from %&apos;start&apos;" type="reporter" category="Streams"><comment x="0" y="0" w="374.6106770833333" collapsed="false">The stream version of NUMBERS FROM () TO (), with no ending number because it reports the infinite stream of all the integers greater than or equal to its input.&#xD;&#xD;Read the code!  It&apos;s deceptively simple.&#xD;&#xD;General info on streams: see the help text of TAIL OF STREAM.</comment><header></header><code></code><translations>pt:um canal com os números a partir de _&#xD;</translations><inputs><input type="%n">1</input></inputs><script><block s="doReport"><custom-block s="%s in front of stream %anyUE"><block var="start"/><custom-block s="stream with numbers from %n"><block s="reportVariadicSum"><list><block var="start"/><l>1</l></list></block></custom-block></custom-block></block></script><scripts><script x="10" y="119.85714285714279"><custom-block s="$speechBubble %mlt"><l>Demo</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="stream with numbers from %n"><l>1</l></custom-block></custom-block></block></script><script x="10" y="183.57142857142867"><custom-block s="$speechBubble %mlt"><l>Advanced version supporting both finite and infinite streams</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="stream with numbers from %n to %n step %n"><l>1</l><l>5</l><l>2</l></custom-block></custom-block></block></script></scripts></block-definition><block-definition s="stream repeating %&apos;items&apos;" type="reporter" category="Streams"><comment x="0" y="0" w="332.66666666666674" collapsed="false">Create an infinite stream repeating a finite collection of items.&#xD;&#xD;General info on streams: see the help text of TAIL OF STREAM.</comment><header></header><code></code><translations>pt:um canal com _&#xD;</translations><inputs><input type="%mult%s" initial="1"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="items"/></block><script><block s="doReport"><custom-block s="the empty stream"></custom-block></block></script><list></list></block><block s="doReport"><custom-block s="%s in front of stream %anyUE"><block s="reportListItem"><l>1</l><block var="items"/></block><custom-block s="$gears HELPER stream repeating %l"><custom-block s="%l followed by %s"><block s="reportCDR"><block var="items"/></block><block s="reportListItem"><l>1</l><block var="items"/></block></custom-block></custom-block></custom-block></block></script><scripts><script x="7.142857142857143" y="193.72619047619045"><custom-block s="$speechBubble %mlt"><l>Demo</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="stream repeating %mult%s"><list><l>A</l><l>b</l><l>3</l></list></custom-block></custom-block></block></script></scripts></block-definition><block-definition s="generate stream %&apos;function&apos; %&apos;#&apos; w/seeds: %&apos;seeds&apos;" type="reporter" category="Streams"><comment x="0" y="0" w="410.44640066964325" collapsed="false">A highly user-configurable stream generator.&#xD;&#xD;INPUT&#xD;1. Function generating new stream items;&#xD;2. Index (#) of the current item within the stream (may be used by the embedded function);&#xD;3. Seeds, i.e. first items of the stream.&#xD;&#xD;HOW IT WORKS&#xD;E.g. with 2 seeds: when generating item 3, items 1 and 2 are inserted into the 1st and 2nd empty slot, repectively, of the embedded function. When item 4 is generated, items 2 and 3 are inserted … (etc.)&#xD;&#xD;RESULT&#xD;An infinite stream. Open the block editor for an example.&#xD;&#xD;General info on streams: see the help text of TAIL OF STREAMS.</comment><header></header><code></code><translations>pt:um canal com os números a partir de _&#xD;</translations><inputs><input type="%repRing">1</input><input type="%upvar"></input><input type="%mult%s"></input></inputs><script><custom-block s="let %upvar $arrowLeft %s"><l>function*</l><custom-block s="substitute vars %s"><block var="function"/></custom-block></custom-block><custom-block s="let %upvar $arrowLeft %s"><l>seeds*</l><block s="reportMonadic"><l><option>id</option></l><block var="seeds"/></block></custom-block><custom-block s="let %upvar $arrowLeft %s"><l>generate</l><block s="reifyScript"><script><custom-block s="let %upvar $arrowLeft %s"><l>head</l><block s="evaluate"><block s="reportAttributeOf"><block var="function*"/><block s="reportEnvironment"><l><option>script</option></l></block></block><block var="seeds*"/></block></custom-block><block s="doSetVar"><l>seeds*</l><block s="reportCDR"><custom-block s="%l followed by %s"><block var="seeds*"/><block var="head"/></custom-block></block></block><block s="doChangeVar"><l>#</l><l>1</l></block><block s="doReport"><custom-block s="%s in front of stream %anyUE"><block var="head"/><block s="evaluate"><block var="generate"/><list></list></block></custom-block></block></script><list></list></block></custom-block><block s="doSetVar"><l>#</l><block s="reportVariadicSum"><list><block s="reportListAttribute"><l><option>length</option></l><block var="seeds"/></block><l>1</l></list></block></block><block s="doReport"><custom-block s="append streams %mult%anyUE"><list><custom-block s="stream %mult%s"><block var="seeds"/></custom-block><block s="evaluate"><block var="generate"/><list></list></block></list></custom-block></block></script><scripts><script x="7.142857142857143" y="317.57142857142867"><custom-block s="$speechBubble %mlt"><l>Demo: the Fibonacci sequence</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="generate stream %repRing %upvar w/seeds: %mult%s"><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block><l>#</l><list><l>1</l><l>1</l></list></custom-block></custom-block></block></script><script x="7.142857142857143" y="404.7142857142855"><custom-block s="$speechBubble %mlt"><l>Demo: squares</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="generate stream %repRing %upvar w/seeds: %mult%s"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><block var="#"/><block var="#"/></list></block></autolambda><list></list></block><l>#</l><list></list></custom-block></custom-block></block></script></scripts></block-definition><block-definition s="map %&apos;function&apos; over stream(s) %&apos;streams&apos;" type="reporter" category="Streams" space="true"><comment x="0" y="0" w="290.2106770833335" collapsed="false">The stream version of variadic MAP (any number of input streams, like MULTMAP in the List utilities library).&#xD;&#xD;All input streams must be either infinite or of the same length.&#xD;&#xD;General info on streams: see the help text of TAIL OF STREAM.</comment><header></header><code></code><translations>pt:a aplicação de _ aos itens dos canais _&#xD;</translations><inputs><input type="%repRing"></input><input type="%mult%l" initial="1"></input></inputs><script><block s="doIf"><custom-block s="is stream %l empty?"><block s="reportListItem"><l>1</l><block var="streams"/></block></custom-block><script><block s="doReport"><custom-block s="the empty stream"></custom-block></block></script><list></list></block><block s="doReport"><custom-block s="%s in front of stream %anyUE"><block s="evaluate"><block var="function"/><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="head of stream %l"><l/></custom-block></autolambda><list></list></block><block var="streams"/></block></block><custom-block s="map %repRing over stream(s) %mult%l"><block var="function"/><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="tail of stream %l"><l/></custom-block></autolambda><list></list></block><block var="streams"/></block></custom-block></custom-block></block></script><scripts><script x="10" y="231.91666666666666"><custom-block s="$speechBubble %mlt"><l>Demo, 1 input stream</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="map %repRing over stream(s) %mult%l"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l></l><l></l></list></block></autolambda><list></list></block><list><custom-block s="stream with numbers from %n"><l>1</l></custom-block></list></custom-block></custom-block></block></script><script x="10" y="334.75000000000006"><custom-block s="$speechBubble %mlt"><l>Demo, 2 input streams</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="map %repRing over stream(s) %mult%l"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l></l><l></l></list></block></autolambda><list></list></block><list><custom-block s="stream with numbers from %n"><l>1</l></custom-block><custom-block s="stream with numbers from %n"><l>11</l></custom-block></list></custom-block></custom-block></block></script><script x="10" y="455.5833333333335"><custom-block s="$speechBubble %mlt"><l> Demo of an integrated version of MAP and KEEP.</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="map %repRing over keep %predRing from map %repRing over stream %l"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><block s="reportListAttribute"><l><option>reverse</option></l><block s="reportTextSplit"><l></l><l><option>letter</option></l></block></block></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><block s="reportTextSplit"><l></l><l><option>letter</option></l></block></block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="square %n"><l></l></custom-block></autolambda><list></list></block><custom-block s="stream with numbers from %n"><l>1</l></custom-block></custom-block></custom-block></block></script><script x="10" y="612.4166666666667"><custom-block s="$speechBubble %mlt"><l>As of v2 of the Streams library, the block below is obsolete.&#xD;It is kept as a hidden block for upward compatibility with v1.</l></custom-block><custom-block s="$speechBubble %mlt"><custom-block s="map %repRing over stream %mult%l"><block s="reifyReporter"><script></script><list></list></block><list><l/></list></custom-block></custom-block></script></scripts></block-definition><block-definition s="%&apos;variable&apos; $arrowLeft %&apos;value&apos;" type="reporter" category="variables"><comment x="0" y="0" w="94.80000000000001" collapsed="false">Create, and at once initialize, and report, a local variable.</comment><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%s"></input></inputs><script><block s="doSetVar"><l>variable</l><block var="value"/></block><block s="doReport"><block var="variable"/></block></script></block-definition><block-definition s="flatmap %&apos;function&apos; over stream(s) %&apos;streams&apos;" type="reporter" category="Streams"><comment x="0" y="0" w="344.43169642857157" collapsed="false">Like MAP OVER STREAM(S), but it flattens the result (one level). That is, it requires its first input to be a function that reports a stream, so that MAP would report a stream of streams.  FLATMAP reports a stream whose items are *the items of* the streams reported by that function.&#xD;&#xD;FLATMAP for lists is typically defined using APPEND to join the items of the sublists.  Since streams can be infinite, the substreams can&apos;t be appended.  Instead, FLATMAP uses INTERLEAVE STREAMS to combine the items of the substreams.  Therefore, the order of items in the result is not guaranteed.&#xD;&#xD;General info on streams: see the help text of TAIL OF STREAM.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%mult%l" initial="1"></input></inputs><script><block s="doReport"><custom-block s="$gears flatten stream %l"><custom-block s="map %repRing over stream(s) %mult%l"><block var="function"/><block var="streams"/></custom-block></custom-block></block></script><scripts><script x="7.142857142857143" y="179.8571428571429"><custom-block s="$speechBubble %mlt"><l>Demo: all positive rationals</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="flatmap %repRing over stream(s) %mult%l"><block s="reifyReporter"><autolambda><custom-block s="map %repRing over keep %predRing from map %repRing over stream %l"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l>/</l><block var="denominator"/></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><custom-block s="GCD (or) %n $∨-1.2-255-255-0 %n"><l></l><block var="denominator"/></custom-block><l>1</l></list></block></autolambda><list></list></block><block s="reifyReporter"><script></script><list></list></block><custom-block s="stream with numbers from %n"><block var="denominator"/></custom-block></custom-block></autolambda><list><l>denominator</l></list></block><list><custom-block s="stream with numbers from %n"><l>1</l></custom-block></list></custom-block></custom-block></block></script><script x="7.142857142857143" y="380.8571428571426"><custom-block s="$speechBubble %mlt"><l>Advanced version, more balanced output</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="$crosshairs flatmap %repRing over stream %l"><block s="reifyReporter"><autolambda><custom-block s="map %repRing over keep %predRing from map %repRing over stream %l"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l>/</l><block var="denominator"/></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><custom-block s="GCD (or) %n $∨-1.2-255-255-0 %n"><l></l><block var="denominator"/></custom-block><l>1</l></list></block></autolambda><list></list></block><block s="reifyReporter"><script></script><list></list></block><custom-block s="stream with numbers from %n"><block var="denominator"/></custom-block></custom-block></autolambda><list><l>denominator</l></list></block><custom-block s="stream with numbers from %n"><l>1</l></custom-block></custom-block></custom-block></block></script><script x="7.142857142857143" y="583.9761904761895"><custom-block s="$speechBubble %mlt"><l>A variety of flatmap working for finite substreams only</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="flatmap finite %repRing over stream %l"><block s="reifyReporter"><autolambda><custom-block s="map %repRing over stream(s) %mult%l"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><block var="#1"/><block var="#2"/></list></block></autolambda><list><l>#1</l></list></block><list><custom-block s="stream with numbers from %n to %n step %n"><l>1</l><block var="#2"/><l>1</l></custom-block></list></custom-block></autolambda><list><l>#2</l></list></block><custom-block s="stream with numbers from %n"><l>1</l></custom-block></custom-block></custom-block></block></script></scripts></block-definition><block-definition s="map %&apos;function A&apos; over keep %&apos;pred&apos; from map %&apos;function B&apos; over stream %&apos;stream&apos;" type="reporter" category="Streams" helper="true"><comment x="0" y="0" w="297.8271484375" collapsed="false">A stream version of Python’s list comprehension, with an extra twist. It runs faster than KEEP from MAP, and MAP over KEEP (and MAP over KEEP from MAP, of course).&#xD;&#xD;- For MAP over KEEP from MAP, use all slots;&#xD;- If all you need is MAP over KEEP, leave the third slot empty. &#xD;- For KEEP from MAP, leave the first slot empty. &#xD;- For MAP over MAP (really?), make the second slot TRUE. &#xD;- For KEEP from MAP over KEEP, use an extra KEEP block.&#xD;- (etc.)&#xD;&#xD;General info on streams: see the help text of TAIL OF STREAM.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%predRing"></input><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="function A"/><block s="reifyReporter"><script></script><list></list></block></list></block><script><block s="doReport"><custom-block s="keep %predRing from map %repRing over stream %l"><block var="pred"/><block var="function B"/><block var="stream"/></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="function B"/><block s="reifyReporter"><script></script><list></list></block></list></block><script><block s="doReport"><custom-block s="map %repRing over keep %predRing from stream %l"><block var="function A"/><block var="pred"/><block var="stream"/></custom-block></block></script><list></list></block><block s="doReport"><custom-block s="$gears HELPER map %repRing over keep %predRing from map %repRing over stream %l"><block var="function A"/><block var="pred"/><block var="function B"/><block var="stream"/></custom-block></block></script><scripts><script x="10" y="267.3809523809524"><custom-block s="$speechBubble %mlt"><l>Demo</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="map %repRing over keep %predRing from map %repRing over stream %l"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><block s="reportListAttribute"><l><option>reverse</option></l><block s="reportTextSplit"><l></l><l><option>letter</option></l></block></block></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><block s="reportTextSplit"><l></l><l><option>letter</option></l></block></block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="square %n"><l></l></custom-block></autolambda><list></list></block><custom-block s="stream with numbers from %n"><l>1</l></custom-block></custom-block></custom-block></block></script><script x="10" y="418.5476190476185"><custom-block s="$speechBubble %mlt"><l>Demo: MAP OVER KEEP</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="map %repRing over keep %predRing from map %repRing over stream %l"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><block s="reportListAttribute"><l><option>reverse</option></l><block s="reportTextSplit"><l></l><l><option>letter</option></l></block></block></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><block s="reportTextSplit"><l></l><l><option>letter</option></l></block></block></autolambda><list></list></block><block s="reifyReporter"><script></script><list></list></block><custom-block s="stream with numbers from %n"><l>15</l></custom-block></custom-block></custom-block></block></script><script x="10" y="569.7142857142843"><custom-block s="$speechBubble %mlt"><l>Demo: KEEP OVER MAP</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="map %repRing over keep %predRing from map %repRing over stream %l"><block s="reifyReporter"><script></script><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><block s="reportTextSplit"><l></l><l><option>letter</option></l></block></block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="square %n"><l></l></custom-block></autolambda><list></list></block><custom-block s="stream with numbers from %n"><l>1</l></custom-block></custom-block></custom-block></block></script></scripts></block-definition><block-definition s="keep items %&apos;pred&apos; from stream %&apos;stream&apos;" type="reporter" category="Streams"><comment x="0" y="0" w="292.4223958333333" collapsed="false">The stream version of KEEP.&#xD;&#xD;WARNING: If the predicate is such that, beyond a certain point, no other item will ever pass the test, a search with KEEP will not terminate. In such cases, use SEGMENT OF STREAM.&#xD;&#xD;General info on streams: see the help text of TAIL OF STREAM.</comment><header></header><code></code><translations>pt:os itens tais que _ do canal _&#xD;</translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="is stream %l empty?"><block var="stream"/></custom-block><script><block s="doReport"><block var="stream"/></block></script><list></list></block><block s="doUntil"><block s="evaluate"><block var="pred"/><list><custom-block s="head of stream %l"><block var="stream"/></custom-block></list></block><script><block s="doSetVar"><l>stream</l><custom-block s="tail of stream %l"><block var="stream"/></custom-block></block><block s="doIf"><custom-block s="is stream %l empty?"><block var="stream"/></custom-block><script><block s="doReport"><block var="stream"/></block></script><list></list></block></script></block><block s="doReport"><custom-block s="%s in front of stream %anyUE"><custom-block s="head of stream %l"><block var="stream"/></custom-block><custom-block s="keep items %predRing from stream %l"><block var="pred"/><custom-block s="tail of stream %l"><block var="stream"/></custom-block></custom-block></custom-block></block></script><scripts><script x="10" y="314.00000000000006"><custom-block s="$speechBubble %mlt"><l>Demo</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="keep items %predRing from stream %l"><block s="reifyPredicate"><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 s="stream with numbers from %n"><l>1</l></custom-block></custom-block></custom-block></block></script><script x="10" y="427.99999999999983"><custom-block s="$speechBubble %mlt"><l> Demo of an integrated version of MAP and KEEP</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="map %repRing over keep %predRing from map %repRing over stream %l"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><block s="reportListAttribute"><l><option>reverse</option></l><block s="reportTextSplit"><l></l><l><option>letter</option></l></block></block></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><block s="reportTextSplit"><l></l><l><option>letter</option></l></block></block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="square %n"><l></l></custom-block></autolambda><list></list></block><custom-block s="stream with numbers from %n"><l>1</l></custom-block></custom-block></custom-block></block></script></scripts></block-definition><block-definition s="keep %&apos;pred&apos; from map %&apos;function&apos; over stream %&apos;stream&apos;" type="reporter" category="Streams" helper="true"><header></header><code></code><translations></translations><inputs><input type="%predRing"></input><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="is stream %l empty?"><block var="stream"/></custom-block><script><block s="doReport"><block var="stream"/></block></script><list></list></block><block s="doIfElse"><block s="evaluate"><block var="pred"/><list><custom-block s="%upvar $arrowLeft %s"><l>map result</l><block s="evaluate"><block var="function"/><list><custom-block s="head of stream %l"><block var="stream"/></custom-block></list></block></custom-block></list></block><script><block s="doReport"><custom-block s="%s in front of stream %anyUE"><block var="map result"/><custom-block s="keep %predRing from map %repRing over stream %l"><block var="pred"/><block var="function"/><custom-block s="tail of stream %l"><block var="stream"/></custom-block></custom-block></custom-block></block></script><script><block s="doReport"><custom-block s="keep %predRing from map %repRing over stream %l"><block var="pred"/><block var="function"/><custom-block s="tail of stream %l"><block var="stream"/></custom-block></custom-block></block></script></block></script><scripts><script x="7.142857142857143" y="334.7738095238096"><custom-block s="$speechBubble %mlt"><l>Demo</l></custom-block><block s="doReport"><l></l></block></script></scripts></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><comment x="0" y="0" w="206.66666666666666" collapsed="false">This block does nothing.&#xD;Use it when you are calling a reporter&#xD;for its side effect and don&apos;t care about&#xD;its return value.</comment><header></header><code></code><translations>de:ignoriere _&#xD;ca:ignora _&#xD;es:ignorar _&#xD;fr:ignore _&#xD;pt:ignora _&#xD;</translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="delay %&apos;expression&apos;" type="reporter" category="control"><header></header><code></code><translations></translations><inputs><input type="%anyUE" initial="1"></input></inputs><script><block s="doReport"><block var="expression"/></block></script></block-definition><block-definition s="%&apos;data&apos; followed by %&apos;value&apos;" type="reporter" category="lists"><comment x="0" y="0" w="187.00000000000003" collapsed="false">The counterpart of IN FRONT OF: returns the first input attached at the back end of the list that is the second input</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s"></input></inputs><script><block s="doReport"><block s="reportConcatenatedLists"><list><block var="data"/><block s="reportNewList"><list><block var="value"/></list></block></list></block></block></script></block-definition><block-definition s="let %&apos;variable&apos; $arrowLeft %&apos;value&apos;" type="command" category="variables"><comment x="0" y="0" w="256.9999999999998" collapsed="true">Declare and at once intialize a local variable</comment><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%s"></input></inputs><script><block s="doSetVar"><l>variable</l><block var="value"/></block></script></block-definition><block-definition s="map %&apos;function&apos; over keep %&apos;pred&apos; from stream %&apos;stream&apos;" type="reporter" category="Streams" helper="true"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="is stream %l empty?"><block var="stream"/></custom-block><script><block s="doReport"><block var="stream"/></block></script><list></list></block><block s="doIfElse"><block s="evaluate"><block var="pred"/><list><custom-block s="head of stream %l"><block var="stream"/></custom-block></list></block><script><block s="doReport"><custom-block s="%s in front of stream %anyUE"><block s="evaluate"><block var="function"/><list><custom-block s="head of stream %l"><block var="stream"/></custom-block></list></block><custom-block s="map %repRing over keep %predRing from stream %l"><block var="function"/><block var="pred"/><custom-block s="tail of stream %l"><block var="stream"/></custom-block></custom-block></custom-block></block></script><script><block s="doReport"><custom-block s="map %repRing over keep %predRing from stream %l"><block var="function"/><block var="pred"/><custom-block s="tail of stream %l"><block var="stream"/></custom-block></custom-block></block></script></block></script><scripts><script x="7.14285714285711" y="286.98809523809535"><custom-block s="$speechBubble %mlt"><l>Demo</l></custom-block><block s="doReport"><l></l></block></script></scripts></block-definition><block-definition s="· %&apos;x&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%anyUE"></input></inputs></block-definition><block-definition s="first item+index %&apos;pred&apos; from stream %&apos;stream&apos;" type="reporter" category="Streams"><comment x="0" y="0" w="313.7142857142858" collapsed="false">A combination of FIND FIRST ITEM and INDEX OF, for streams.&#xD;&#xD;INPUTS:  1. condition to be satisfied by item; 2. stream to be searched.&#xD;RESULT: a list of two values: 1. item’s value; 2. index of item within the stream.&#xD;&#xD;If no item within a finite stream satisfies the condition, &quot;&quot; is reported.&#xD;If no item within an *infinite* stream satisfies the condition, the search will not terminate (to prevent this, limit the size of the input stream using SEGMENT OF STREAM).&#xD;&#xD;General info on streams: see the help text of TAIL OF STREAMS.</comment><header></header><code></code><translations></translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><custom-block s="let %upvar $arrowLeft %s"><l>index</l><l>1</l></custom-block><block s="doUntil"><custom-block s="is stream %l empty?"><block var="stream"/></custom-block><script><block s="doIf"><block s="evaluate"><block var="pred"/><list><custom-block s="head of stream %l"><block var="stream"/></custom-block></list></block><script><block s="doReport"><block s="reportNewList"><list><custom-block s="head of stream %l"><block var="stream"/></custom-block><block var="index"/></list></block></block></script><list></list></block><block s="doChangeVar"><l>index</l><l>1</l></block><block s="doSetVar"><l>stream</l><custom-block s="tail of stream %l"><block var="stream"/></custom-block></block></script></block><block s="doReport"><l></l></block></script><scripts><script x="7.142857142857143" y="264.7499999999999"><custom-block s="$speechBubble %mlt"><l>Demo</l></custom-block><block s="doReport"><custom-block s="first item+index %predRing from stream %l"><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><l></l><l>20</l></list></block></autolambda><list></list></block><custom-block s="stream with numbers from %n"><l>10</l></custom-block></custom-block></block></script><script x="7.142857142857143" y="351.89285714285694"><custom-block s="$speechBubble %mlt"><l>Demo: not terminating (press the red stop button)</l></custom-block><block s="doReport"><custom-block s="first item+index %predRing from stream %l"><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l>0</l></list></block></autolambda><list></list></block><custom-block s="stream with numbers from %n"><l>10</l></custom-block></custom-block></block></script><script x="7.142857142857143" y="439.0357142857137"><custom-block s="$speechBubble %mlt"><l>Demo: terminating because of search limit</l></custom-block><block s="doReport"><custom-block s="first item+index %predRing from stream %l"><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l>0</l></list></block></autolambda><list></list></block><custom-block s="segment of stream %l %br starting with first item that %predRing %br ending with next item that %predRing inclusive? %b"><custom-block s="stream with numbers from %n"><l>10</l></custom-block><block s="reifyPredicate"><script></script><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><block var="idx"/><l>100</l></list></block></autolambda><list><l>val</l><l>idx</l></list></block><l><bool>false</bool></l></custom-block></custom-block></block></script></scripts></block-definition><block-definition s="$gears HELPER map %&apos;function A&apos; over keep %&apos;pred&apos; from map %&apos;function B&apos; over stream %&apos;stream&apos;" type="reporter" category="Streams" helper="true"><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%predRing"></input><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="is stream %l empty?"><block var="stream"/></custom-block><script><block s="doReport"><block var="stream"/></block></script><list></list></block><block s="doIfElse"><block s="evaluate"><block var="pred"/><list><custom-block s="%upvar $arrowLeft %s"><l>intermediate</l><block s="evaluate"><block var="function B"/><list><custom-block s="head of stream %l"><block var="stream"/></custom-block></list></block></custom-block></list></block><script><block s="doReport"><custom-block s="%s in front of stream %anyUE"><block s="evaluate"><block var="function A"/><list><block var="intermediate"/></list></block><custom-block s="$gears HELPER map %repRing over keep %predRing from map %repRing over stream %l"><block var="function A"/><block var="pred"/><block var="function B"/><custom-block s="tail of stream %l"><block var="stream"/></custom-block></custom-block></custom-block></block></script><script><block s="doReport"><custom-block s="$gears HELPER map %repRing over keep %predRing from map %repRing over stream %l"><block var="function A"/><block var="pred"/><block var="function B"/><custom-block s="tail of stream %l"><block var="stream"/></custom-block></custom-block></block></script></block></script></block-definition><block-definition s="list %&apos;requested&apos; items with %&apos;downstream&apos; of stream %&apos;stream&apos;" type="reporter" category="Streams" helper="true"><comment x="0" y="0" w="467.05111607142857" collapsed="false">Report a specified number of items from a stream as a list. The “delayed continuation”, starting immediately after the last of the reported items, is made available as an upvar (see inside for demo of continuation; be careful not to use the same identifier for input and upvar continuations).&#xD;&#xD;Replaces SHOW STREAM from version 1 of this library.&#xD;&#xD;The inputs are an integer and a stream. With a positive integer, LIST ... STREAM reports a regular finite list of length less than (for short finite streams) or equal to the integer. It&apos;s useful because an infinite stream can&apos;t be displayed in a finite amount of time.&#xD;&#xD;Alternatively, ”all” (or “Infinity”) may be used as first input, for the showing to continue until the end of the stream will have been reached. Better not try this with infinite streams: the process may never terminate!&#xD;&#xD;Another cause of not terminating:&#xD;1. the input stream is part of a chain of streams AND&#xD;2. the number of elements of the input stream is less than the number of items specified to be reported AND&#xD;3. the first stream of the input chain is infinite.&#xD;For example: LIST ( 10 ) ITEMS OF STREAM ( KEEP ITEMS SUCH THAT ( _ &lt; 5 ) FROM STREAM ( STREAM WITH NUMBERS FROM ( 1 ) ) ).&#xD;Explanation: after the first 4 items, LIST ( 10 ) ITEMS OF STREAM will keep on asking for more input, and STREAM WITH NUMBERS FROM ( 1 ) will keep generating new items forever, each of which will be discarded by KEEP ITEMS SUCH THAT ( _ &lt; 5 ) FROM STREAM, which is the middle part of the chain.&#xD;&#xD;General info on streams: see the help text of TAIL OF STREAM.</comment><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">10<options>all=Infinity</options></input><input type="%upvar" initial="1"></input><input type="%l" initial="1"></input></inputs><script><custom-block s="let %upvar $arrowLeft %s"><l>items</l><block s="reportNewList"><list></list></block></custom-block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="requested"/><l>1.5</l></list></block><custom-block s="is stream %l empty?"><block var="stream"/></custom-block></list></block><script><block s="doAddToList"><custom-block s="head of stream %l"><block var="stream"/></custom-block><block var="items"/></block><block s="doChangeVar"><l>requested</l><l>-1</l></block><block s="doSetVar"><l>stream</l><custom-block s="tail of stream %l"><block var="stream"/></custom-block></block></script></block><block s="doIf"><custom-block s="is stream %l empty?"><block var="stream"/></custom-block><script><block s="doSetVar"><l>downstream</l><custom-block s="delay %anyUE"><custom-block s="the empty stream"></custom-block></custom-block></block><block s="doReport"><block var="items"/></block></script><list></list></block><block s="doSetVar"><l>downstream</l><custom-block s="delay %anyUE"><custom-block s="tail of stream %l"><block var="stream"/></custom-block></custom-block></block><block s="doReport"><custom-block s="%l followed by %s"><block var="items"/><custom-block s="head of stream %l"><block var="stream"/></custom-block></custom-block></block></script><scripts><script x="10" y="364.15476190476176"><custom-block s="comment %mlt"><l>Demo of primary output</l></custom-block><block s="doReport"><custom-block s="list %n items with %upvar of stream %l"><l>10</l><l>downstream</l><custom-block s="stream with numbers from %n"><l>1</l></custom-block></custom-block></block></script><script x="10" y="445.8928571428566"><custom-block s="comment %mlt"><l>Demo of downstream, be careful to use CALL.</l></custom-block><custom-block s="ignore %s"><custom-block s="list %n items with %upvar of stream %l"><l>10</l><l>downstream</l><custom-block s="stream with numbers from %n"><l>1</l></custom-block></custom-block></custom-block><custom-block s="ignore %s"><custom-block s="list %n items with %upvar of stream %l"><l>10</l><l>downstream</l><block s="evaluate"><block var="downstream"/><list></list></block></custom-block></custom-block><block s="doReport"><custom-block s="list %n items with %upvar of stream %l"><l>5</l><l>downstream</l><block s="evaluate"><block var="downstream"/><list></list></block></custom-block></block></script></scripts></block-definition><block-definition s="incrementally combine stream %&apos;stream&apos; $nl using %&apos;combiner&apos;" type="reporter" category="Streams"><comment x="0" y="0" w="409.68571428571425" collapsed="false">This is the stream version of the COMBINE block for lists.&#xD;&#xD;Since lists are finite, it&apos;s always possible to combine *all* items of a list.  For example, given a list of numbers, it&apos;s possible to add all the numbers and report a single number, the sum.&#xD;&#xD;Since a stream can be infinite, it&apos;s not, in general, possible to combine all its items.  Instead, this block reports a stream.  The first item of the result stream is the first item of the input stream; the second item of the result stream is the result of combining the first two items of the input; the third item is the result of combining the first three items; and so on.&#xD;&#xD;INPUTS:&#xD;1. input stream&#xD;2. combiner (function)&#xD;&#xD;RESULT&#xD;A stream. The first element is the head of the input stream. Each following element is calculated by applying the combiner on the preceding *result* item and the value of the current /input/ item:&#xD;&#xD;result (i) = combiner (result (i-1), input (i)).&#xD;&#xD;General info on streams: see the help text of TAIL OF STREAM.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%repRing"></input></inputs><script><custom-block s="let %upvar $arrowLeft %s"><l>combined</l><custom-block s="%s in front of stream %anyUE"><custom-block s="head of stream %l"><block var="stream"/></custom-block><custom-block s="map %repRing over stream(s) %mult%l"><block var="combiner"/><list><block var="combined"/><custom-block s="tail of stream %l"><block var="stream"/></custom-block></list></custom-block></custom-block></custom-block><block s="doReport"><block var="combined"/></block></script><scripts><script x="7.142857142857143" y="311.8571428571429"><custom-block s="$speechBubble %mlt"><l>Demo</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>5</l><custom-block s="incrementally combine stream %l %br using %repRing"><custom-block s="stream with numbers from %n"><l>1</l></custom-block><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l></l></list></block></autolambda><list></list></block></custom-block></custom-block></block></script><script x="7.142857142857143" y="416.9999999999997"><custom-block s="$speechBubble %mlt"><l>Demo: advanced, and somewhat faster, version</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>5</l><custom-block s="$flash integrate %repRing with precursor %s over stream %l"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l></l></list></block></autolambda><list></list></block><l></l><custom-block s="stream with numbers from %n"><l>1</l></custom-block></custom-block></custom-block></block></script></scripts></block-definition><block-definition s="stream with numbers from %&apos;start&apos; to %&apos;end&apos; step %&apos;step&apos;" type="reporter" category="Streams" helper="true"><header></header><code></code><translations>pt:um canal com os números a partir de _&#xD;</translations><inputs><input type="%n">1</input><input type="%n" initial="1">Infinity<options>Infinity</options></input><input type="%n" initial="1">1</input></inputs><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportVariadicProduct"><list><block s="reportDifference"><block var="start"/><block var="end"/></block><block var="step"/></list></block><l>0</l></list></block><script><block s="doReport"><custom-block s="the empty stream"></custom-block></block></script><list></list></block><block s="doReport"><custom-block s="%s in front of stream %anyUE"><block var="start"/><custom-block s="stream with numbers from %n to %n step %n"><block s="reportVariadicSum"><list><block var="start"/><block var="step"/></list></block><block var="end"/><block var="step"/></custom-block></custom-block></block></script><scripts><script x="10" y="219.58333333333337"><custom-block s="$speechBubble %mlt"><l>Demo</l></custom-block><block s="doReport"><custom-block s="list %n items with %upvar of stream %l"><l>10</l><l>downstream</l><custom-block s="stream with numbers from %n to %n step %n"><l>1</l><l>5</l><l>0.5</l></custom-block></custom-block></block></script></scripts></block-definition><block-definition s="uniques of stream %&apos;stream&apos;" type="reporter" category="Streams"><comment x="0" y="0" w="297.604743303572" collapsed="false">The stream version of UNIQUES OF (list).&#xD;&#xD;This implementation though elegant is unsuitable for large data. Edit the block to find a faster but less elegant version.&#xD;&#xD;General info on streams: see the help text of TAIL OF STREAM.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="is stream %l empty?"><block var="stream"/></custom-block><script><block s="doReport"><block var="stream"/></block></script><list></list></block><block s="doReport"><custom-block s="%s in front of stream %anyUE"><custom-block s="head of stream %l"><block var="stream"/></custom-block><custom-block s="uniques of stream %l"><custom-block s="keep items %predRing from stream %l"><block s="reifyPredicate"><autolambda><block s="reportVariadicNotEquals"><list><l></l><custom-block s="head of stream %l"><block var="stream"/></custom-block></list></block></autolambda><list></list></block><custom-block s="tail of stream %l"><block var="stream"/></custom-block></custom-block></custom-block></custom-block></block></script><scripts><script x="7.142857142857143" y="230.22619047619048"><custom-block s="$speechBubble %mlt"><l>Demo: from a stream of random integers, UNIQUES OF STREAM picks just the “new” ones.</l></custom-block><block s="doReport"><block s="reportListAttribute"><l><option>sorted</option></l><custom-block s="list %n items of stream %l"><l>30</l><custom-block s="uniques of stream %l"><custom-block s="generate stream %repRing %upvar w/seeds: %mult%s"><block s="reifyReporter"><autolambda><block s="reportRandom"><l>1</l><l>30</l></block></autolambda><list></list></block><l>#</l><list></list></custom-block></custom-block></custom-block></block></block></script><script x="7.142857142857143" y="361.2738095238094"><custom-block s="$speechBubble %mlt"><l>Demo of a somewhat less elegant, yet faster implementation of UNIQUES OF STREAM&#xD;(edit to see how it works). Also, the defintion of uniqueness may be specified.</l></custom-block><block s="doReport"><block s="reportListAttribute"><l><option>sorted</option></l><custom-block s="list %n items of stream %l"><l>30</l><custom-block s="$flash uniques by %predRing latest 1st? %b of stream %l"><block s="reifyPredicate"><autolambda><block s="reportVariadicNotEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><l><bool>false</bool></l><custom-block s="generate stream %repRing %upvar w/seeds: %mult%s"><block s="reifyReporter"><autolambda><block s="reportRandom"><l>1</l><l>30</l></block></autolambda><list></list></block><l>#</l><list></list></custom-block></custom-block></custom-block></block></block></script></scripts></block-definition><block-definition s="map %&apos;function&apos; over stream %&apos;stream&apos;" type="reporter" category="Streams" helper="true"><comment x="0" y="0" w="181.33333333333334" collapsed="false">As of v2 of the Streams library, this block is obsolete (kept as a hidden block for upward compatibility from v1).</comment><header></header><code></code><translations>pt:a aplicação de _ aos itens dos canais _&#xD;</translations><inputs><input type="%repRing"></input><input type="%mult%l" initial="1"></input></inputs><script><block s="doReport"><custom-block s="map %repRing over stream(s) %mult%l"><block var="function"/><block var="stream"/></custom-block></block></script></block-definition><block-definition s="substitute vars %&apos;lambda&apos;" type="reporter" category="variables"><comment x="0" y="0" w="292.8571428571426" collapsed="true">Replace any variable from the caller scope with its value</comment><header></header><code></code><translations></translations><inputs><input type="%s">lambda</input></inputs><script><block s="doReport"><block s="reportJoinWords"><custom-block s="$gears substitute vars %s %s %s"><block s="reportTextSplit"><block var="lambda"/><l><option>blocks</option></l></block><block s="reportEnvironment"><l><option>caller</option></l></block><block s="reportAttributeOf"><block s="reifyReporter"><autolambda><block s="reportEnvironment"><l><option>caller</option></l></block></autolambda><list></list></block><block s="reportEnvironment"><l><option>caller</option></l></block></block></custom-block></block></block></script></block-definition><block-definition s="$gears substitute vars %&apos;blocks&apos; %&apos;internal scope&apos; %&apos;external scope&apos;" type="reporter" category="variables" helper="true"><comment x="0" y="0" w="152.0238095238095" collapsed="false">Replace any variable from the second scope, whose name is not used for a variable within the first scope, with its value.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="blocks"/><l><option>list</option></l></block></block><script><block s="doReport"><block var="blocks"/></block></script><list></list></block><custom-block s="let %upvar $arrowLeft %s"><l>var name</l><block s="reportListItem"><l>2</l><block var="blocks"/></block></custom-block><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block s="reportListItem"><l>1</l><block var="blocks"/></block><block s="reifyReporter"><autolambda><block var=" "/></autolambda><list></list></block></list></block><block s="reportListContainsItem"><block s="reportAttributeOf"><l><option>variables</option></l><block var="external scope"/></block><block var="var name"/></block><block s="reportNot"><block s="reportListContainsItem"><block s="reportAttributeOf"><l><option>variables</option></l><block var="internal scope"/></block><block var="var name"/></block></block></list></block><script><block s="doReport"><custom-block s="blockify %l"><custom-block s="get var %s %s"><block var="var name"/><block var="external scope"/></custom-block></custom-block></block></script><list></list></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="$gears substitute vars %s %s %s"><l></l><block var="internal scope"/><block var="external scope"/></custom-block></autolambda><list></list></block><block var="blocks"/></block></block></script></block-definition><block-definition s="get var %&apos;name&apos; %&apos;ctx&apos;" type="reporter" category="variables" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s">name</input><input type="%s">ctx</input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportAttributeOf"><block s="reportJoinWords"><block s="reportNewList"><list><block s="reifyReporter"><autolambda><block var=" "/></autolambda><list></list></block><block var="name"/></list></block></block><block var="ctx"/></block><list></list></block></block></script></block-definition><block-definition s="blockify %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportIfElse"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block><block s="reportJoinWords"><list><block s="reifyReporter"><autolambda><block s="reportNewList"><list></list></block></autolambda><list></list></block><block s="reportCONS"><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block><block s="reportMap"><block s="reportEnvironment"><l><option>script</option></l></block><block var="data"/></block></block></list></block><block s="reportIfElse"><block s="reportIsA"><block var="data"/><l><option>Boolean</option></l></block><block s="reportJoinWords"><list><block s="reifyPredicate"><autolambda><block s="reportBoolean"><l><bool>true</bool></l></block></autolambda><list></list></block><block var="data"/></list></block><block s="reportIfElse"><block s="reportIsA"><block var="data"/><l><option>script</option></l></block><block s="reportJoinWords"><list><block s="reifyReporter"><autolambda><block s="reifyReporter"><script></script><list></list></block></autolambda><list></list></block><block var="data"/></list></block><block var="data"/></block></block></block></block></script></block-definition><block-definition s="$gears segment of stream %&apos;stream&apos; once %&apos;start condition&apos; until %&apos;end condition&apos; inclusive? %&apos;include&apos; index %&apos;index&apos;" type="reporter" category="Streams" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%predRing" initial="1"></input><input type="%predRing"></input><input type="%b" initial="1">false</input><input type="%s" initial="1"></input></inputs><script><block s="doIf"><custom-block s="is stream %l empty?"><block var="stream"/></custom-block><script><block s="doReport"><block var="stream"/></block></script><list></list></block><block s="doIf"><block s="evaluate"><block var="start condition"/><list><custom-block s="head of stream %l"><block var="stream"/></custom-block><block var="index"/></list></block><script><block s="doReport"><custom-block s="$gears copy stream %l until %predRing inclusive? %b index %s"><block var="stream"/><block var="end condition"/><block var="include"/><l>1</l></custom-block></block></script><list></list></block><block s="doReport"><custom-block s="$gears segment of stream %l once %predRing until %predRing inclusive? %b index %s"><custom-block s="tail of stream %l"><block var="stream"/></custom-block><block var="start condition"/><block var="end condition"/><block var="include"/><block s="reportVariadicSum"><list><block var="index"/><l>1</l></list></block></custom-block></block></script><scripts><script x="10" y="719.1666666666666"><custom-block s="$speechBubble %mlt"><l>By contrast, a version of the above with KEEP&#xD;will not terminate (use red button to stop manually).</l></custom-block><block s="doReport"><l></l></block></script><script x="10" y="791.1666666666666"><custom-block s="$speechBubble %mlt"><l>Demo using the index of each item in the halt condition,&#xD;and not including the final item: (3, 4, 5, 6)</l></custom-block><block s="doReport"><l></l></block></script></scripts></block-definition><block-definition s="$gears copy stream %&apos;stream&apos; until %&apos;end condition&apos; inclusive? %&apos;include&apos; index %&apos;index&apos;" type="reporter" category="Streams" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%predRing"></input><input type="%b" initial="1">false</input><input type="%s" initial="1"></input></inputs><script><block s="doIf"><custom-block s="is stream %l empty?"><block var="stream"/></custom-block><script><block s="doReport"><block var="stream"/></block></script><list></list></block><block s="doIf"><block s="reportNot"><block s="evaluate"><block var="end condition"/><list><custom-block s="head of stream %l"><block var="stream"/></custom-block><block var="index"/></list></block></block><script><block s="doReport"><custom-block s="%s in front of stream %anyUE"><custom-block s="head of stream %l"><block var="stream"/></custom-block><custom-block s="$gears copy stream %l until %predRing inclusive? %b index %s"><custom-block s="tail of stream %l"><block var="stream"/></custom-block><block var="end condition"/><block var="include"/><block s="reportVariadicSum"><list><block var="index"/><l>1</l></list></block></custom-block></custom-block></block></script><list></list></block><block s="doIf"><block var="include"/><script><block s="doReport"><custom-block s="%s in front of stream %anyUE"><custom-block s="head of stream %l"><block var="stream"/></custom-block><custom-block s="the empty stream"></custom-block></custom-block></block></script><list></list></block><block s="doReport"><custom-block s="the empty stream"></custom-block></block></script><scripts><script x="10" y="719.1666666666666"><custom-block s="$speechBubble %mlt"><l>By contrast, a version of the above with KEEP&#xD;will not terminate (use red button to stop manually).</l></custom-block><block s="doReport"><l></l></block></script><script x="10" y="791.1666666666666"><custom-block s="$speechBubble %mlt"><l>Demo using the index of each item in the halt condition,&#xD;and not including the final item: (3, 4, 5, 6)</l></custom-block><block s="doReport"><l></l></block></script></scripts></block-definition><block-definition s="$flash uniques by %&apos;comparator&apos; latest 1st? %&apos;latest 1st&apos; of stream %&apos;stream&apos;" type="reporter" category="Streams" helper="true"><comment x="0" y="0" w="363.8571428571429" collapsed="false">Reports &quot;unique&quot; items from a stream. An item&apos;s unicity is defined as it satisfying the specified condition (&quot;comparator&quot;) against any of the earlier reported items.&#xD;&#xD;Within the comparator, the first empty slot denotes the current item, the second empty slot denotes any of the earlier reported items.&#xD;&#xD;With the comparator ring left empty, the default comparator is _ ≠ _.&#xD;&#xD;If the switch “latest 1st” is true, each input item is compared with the latest of all earlier results, then with the second latest, and so on. If the switch is false, the first cimparison will be with the oldest of all earlier results. Though this will not influence nthe outcome, one of the approaches is probably faster.</comment><header></header><code></code><translations></translations><inputs><input type="%predRing" initial="1"></input><input type="%b" initial="1">true</input><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="$gears HELPER $flash uniques by %predRing of stream %l %l %repRing"><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="comparator"/><block s="reifyPredicate"><script></script><list></list></block></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicNotEquals"><list><l></l><l></l></list></block></autolambda><list></list></block><block var="comparator"/></block><block var="stream"/><block s="reportNewList"><list></list></block><block s="reportIfElse"><block var="latest 1st"/><block s="reifyReporter"><autolambda><block s="reportCONS"><l></l><l/></block></autolambda><list></list></block><block s="reifyReporter"><autolambda><custom-block s="%s following %l"><l></l><l/></custom-block></autolambda><list></list></block></block></custom-block></block></script><scripts><script x="7.142857142857143" y="191.8571428571429"><custom-block s="$speechBubble %mlt"><l>Demo</l></custom-block><block s="doReport"><block s="reportListAttribute"><l><option>sorted</option></l><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="$flash uniques by %predRing latest 1st? %b of stream %l"><block s="reifyPredicate"><script></script><list></list></block><l><bool>true</bool></l><custom-block s="generate stream %repRing %upvar w/seeds: %mult%s"><block s="reifyReporter"><autolambda><block s="reportRandom"><l>1</l><l>10</l></block></autolambda><list></list></block><l>#</l><list></list></custom-block></custom-block></custom-block></block></block></script><script x="7.142857142857143" y="328.3095238095242"><custom-block s="$speechBubble %mlt"><l>Demo: only new record highs - note the comparator!</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="$flash uniques by %predRing latest 1st? %b of stream %l"><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><l></l><l></l></list></block></autolambda><list></list></block><l><bool>true</bool></l><custom-block s="stream %mult%s"><list><l>3</l><l>1</l><l>5</l><l>6</l><l>7</l><l>6</l><l>7</l><l>9</l><l>8</l></list></custom-block></custom-block></custom-block></block></script><script x="7.142857142857143" y="433.4523809523809"><custom-block s="$speechBubble %mlt"><l>Demo: alternative implementation of SIEVE.&#xD;For efficiency, each input item is compared with the oldest of earlier results (= 2) first.</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>100</l><custom-block s="$flash uniques by %predRing latest 1st? %b of stream %l"><block s="reifyPredicate"><autolambda><block s="reportVariadicNotEquals"><list><block s="reportModulus"><l></l><l></l></block><l>0</l></list></block></autolambda><list></list></block><l><bool>false</bool></l><custom-block s="stream with numbers from %n"><l>2</l></custom-block></custom-block></custom-block></block></script></scripts></block-definition><block-definition s="$gears HELPER $flash uniques by %&apos;comparator&apos; of stream %&apos;stream&apos; %&apos;history&apos; %&apos;appender&apos;" type="reporter" category="Streams" helper="true"><header></header><code></code><translations></translations><inputs><input type="%predRing" initial="1"></input><input type="%l"></input><input type="%l"></input><input type="%repRing" initial="1">true</input></inputs><script><block s="doIf"><custom-block s="is stream %l empty?"><block var="stream"/></custom-block><script><block s="doReport"><block var="stream"/></block></script><list></list></block><block s="doUntil"><block s="reportVariadicEquals"><list><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="evaluate"><block var="comparator"/><list><custom-block s="head of stream %l"><block var="stream"/></custom-block><l></l></list></block></block></autolambda><list></list></block><block var="history"/></block><l></l></list></block><script><block s="doSetVar"><l>stream</l><custom-block s="tail of stream %l"><block var="stream"/></custom-block></block><block s="doIf"><custom-block s="is stream %l empty?"><block var="stream"/></custom-block><script><block s="doReport"><block var="stream"/></block></script><list></list></block></script></block><block s="doReport"><custom-block s="%s in front of stream %anyUE"><custom-block s="head of stream %l"><block var="stream"/></custom-block><custom-block s="$gears HELPER $flash uniques by %predRing of stream %l %l %repRing"><block var="comparator"/><custom-block s="tail of stream %l"><block var="stream"/></custom-block><block s="evaluate"><block var="appender"/><list><custom-block s="head of stream %l"><block var="stream"/></custom-block><block var="history"/></list></block><block var="appender"/></custom-block></custom-block></block></script></block-definition><block-definition s="$flash integrate %&apos;combiner&apos; with precursor %&apos;precursor&apos; over stream %&apos;stream&apos;" type="reporter" category="Streams" helper="true"><comment x="0" y="0" w="113.57142857142865" collapsed="false">An advanced version of INCREMENTALLY COMBINE. The functional difference isi the “precursor”, the would-be item (0) of the result stream.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing" initial="1"></input><input type="%s" initial="1"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="is stream %l empty?"><block var="stream"/></custom-block><script><block s="doReport"><block var="stream"/></block></script><list></list></block><block s="doReport"><custom-block s="%s in front of stream %anyUE"><custom-block s="%upvar $arrowLeft %s"><l>head</l><block s="evaluate"><block var="combiner"/><list><block var="precursor"/><custom-block s="head of stream %l"><block var="stream"/></custom-block></list></block></custom-block><custom-block s="$flash integrate %repRing with precursor %s over stream %l"><block var="combiner"/><block var="head"/><custom-block s="tail of stream %l"><block var="stream"/></custom-block></custom-block></custom-block></block></script><scripts><script x="7.142857142857143" y="246.24999999999997"><custom-block s="$speechBubble %mlt"><l>Demo: advanced, and somewhat faster, version</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>5</l><custom-block s="$flash integrate %repRing with precursor %s over stream %l"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l></l></list></block></autolambda><list></list></block><l>A.</l><custom-block s="stream with numbers from %n"><l>1</l></custom-block></custom-block></custom-block></block></script></scripts></block-definition><block-definition s="append streams %&apos;streams&apos;" type="reporter" category="Streams" space="true"><comment x="0" y="0" w="179.46770833333343" collapsed="false">Append any number of streams.&#xD;&#xD;To be used only if all streams but the last are finite; otherwise use INTERLEAVE STREAMS.&#xD;&#xD;General info in streams: see the help text of TAIL OF STREAM.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%anyUE" initial="2"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block s="reportCDR"><block var="streams"/></block></block><script><block s="doReport"><block s="reportIfElse"><block s="reportListIsEmpty"><block var="streams"/></block><custom-block s="the empty stream"></custom-block><block s="evaluate"><block s="reportListItem"><l>1</l><block var="streams"/></block><list></list></block></block></block></script><list><custom-block s="is stream %l empty?"><custom-block s="%upvar $arrowLeft %s"><l>first</l><block s="evaluate"><block s="reportListItem"><l>1</l><block var="streams"/></block><list></list></block></custom-block></custom-block><script><block s="doReport"><custom-block s="append streams %mult%anyUE"><block s="reportCDR"><block var="streams"/></block></custom-block></block></script></list></block><block s="doReport"><custom-block s="%s in front of stream %anyUE"><custom-block s="head of stream %l"><block var="first"/></custom-block><custom-block s="append streams %mult%anyUE"><block s="reportCONS"><custom-block s="delay %anyUE"><custom-block s="tail of stream %l"><block var="first"/></custom-block></custom-block><block s="reportCDR"><block var="streams"/></block></block></custom-block></custom-block></block></script><scripts><script x="13.333333333333307" y="437.25000000000017"><custom-block s="$speechBubble %mlt"><l>An example with several input streams</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="append streams %mult%anyUE"><list><custom-block s="the empty stream"></custom-block><custom-block s="stream %mult%s"><list><l>1</l><l>2</l><l>3</l></list></custom-block><custom-block s="stream %mult%s"><list><l>11</l></list></custom-block><custom-block s="stream with numbers from %n"><l>21</l></custom-block></list></custom-block></custom-block></block></script><script x="12.666666666666679" y="321.0833333333333"><custom-block s="$speechBubble %mlt"><l>Demo</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="append streams %mult%anyUE"><list><custom-block s="stream %mult%s"><list><l>1</l><l>2</l><l>3</l></list></custom-block><custom-block s="stream with numbers from %n"><l>11</l></custom-block></list></custom-block></custom-block></block></script></scripts></block-definition><block-definition s="$crosshairs flatmap %&apos;function&apos; over stream %&apos;stream&apos;" type="reporter" category="Streams" helper="true"><comment x="0" y="0" w="293.003125" collapsed="false">A variation of FLATMAP delivering a more even distribution of output items over mapped substreams.&#xD;Applicable only if function (input 1) will create streams.&#xD;General info on streams: see the help text of TAIL OF STREAM.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="$crosshairs flatten stream %l"><custom-block s="map %repRing over stream(s) %mult%l"><block var="function"/><list><block var="stream"/></list></custom-block></custom-block></block></script><scripts><script x="10" y="103"><custom-block s="$speechBubble %mlt"><l>Demo: all positive rationals</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="$crosshairs flatmap %repRing over stream %l"><block s="reifyReporter"><autolambda><custom-block s="map %repRing over keep %predRing from map %repRing over stream %l"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l>/</l><block var="denominator"/></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><custom-block s="GCD (or) %n $∨-1.2-255-255-0 %n"><l></l><block var="denominator"/></custom-block><l>1</l></list></block></autolambda><list></list></block><block s="reifyReporter"><script></script><list></list></block><custom-block s="stream with numbers from %n"><block var="denominator"/></custom-block></custom-block></autolambda><list><l>denominator</l></list></block><custom-block s="stream with numbers from %n"><l>1</l></custom-block></custom-block></custom-block></block></script></scripts></block-definition><block-definition s="GCD (or) %&apos;a&apos; $∨-1.2-255-255-0 %&apos;b&apos;" type="reporter" category="operators"><comment x="0" y="0" w="230.66666666666666" collapsed="false">Reports the greatest common divisor of its inputs.&#xD;If the inputs are values in {0,1} then this is equivalent to the logical OR of the values, with 0=False, 1=True.  Hence the APL symbol ∨.&#xD;Also accepts Snap! Booleans as inputs.</comment><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="evaluate"><custom-block s="scalar -&gt; hyper %repRing"><block s="reifyReporter"><autolambda><custom-block s="simple gcd %n %n"><l></l><l></l></custom-block></autolambda><list></list></block></custom-block><list><custom-block s="de-boolean %s"><block var="a"/></custom-block><custom-block s="de-boolean %s"><block var="b"/></custom-block></list></block></block></script></block-definition><block-definition s="simple gcd %&apos;a&apos; %&apos;b&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="b"/><l>0</l></list></block><script><block s="doReport"><block var="a"/></block></script><list></list></block><block s="doReport"><custom-block s="simple gcd %n %n"><block var="b"/><block s="reportModulus"><block var="a"/><block var="b"/></block></custom-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="218" 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"><custom-block s="scalar? %s"><block var="a"/></custom-block><script><block s="doIfElse"><custom-block s="scalar? %s"><block var="b"/></custom-block><script><block s="doReport"><block s="evaluate"><block var="func"/><list><custom-block s="scalar-value helper %s"><block var="a"/></custom-block><custom-block s="scalar-value helper %s"><block var="b"/></custom-block></list></block></block></script><script><block s="doSetVar"><l>scalarized</l><custom-block s="scalar-value helper %s"><block var="a"/></custom-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"><custom-block s="scalar? %s"><block var="b"/></custom-block><script><block s="doSetVar"><l>scalarized</l><custom-block s="scalar-value helper %s"><block var="b"/></custom-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"><custom-block s="multimap %repRing over %mult%l"><block var="func"/><list><block var="a"/><block var="b"/></list></custom-block></block></script><list></list></block><block s="doReport"><custom-block s="multimap %repRing over %mult%l"><block var="hyper func"/><list><block var="a"/><block var="b"/></list></custom-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="scalar? %&apos;x&apos;" type="predicate" category="other" helper="true"><comment x="0" y="0" w="199.33333333333334" collapsed="false">Reports True if the input is an APL scalar,&#xD;i.e., either an atomic (non-list) value, or&#xD;an array (list of lists) of any depth with only&#xD;one atomic item, e.g., (list (list (list (3)))).</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="x"/><l><option>list</option></l></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="doReport"><block s="reportVariadicEquals"><list><block s="reportAtomicCombine"><custom-block s="shape of $⍴-1-255-255-0 %l"><block var="x"/></custom-block><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l></l><l></l></list></block></autolambda><list></list></block></block><l>1</l></list></block></block></script></block-definition><block-definition s="shape of $⍴-1-255-255-0 %&apos;data&apos;" type="reporter" category="lists"><comment x="0" y="0" w="310" collapsed="false">Reports a flat list of the maximum size of the input array along&#xD;each dimension: number of rows, number of columns, etc.&#xD;&quot;Maximum&quot; because it works even if the array isn&apos;t uniformly shaped.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportListAttribute"><l><option>dimensions</option></l><block var="data"/></block></block></script></block-definition><block-definition s="scalar-value helper %&apos;x&apos;" type="reporter" category="other" helper="true"><comment x="0" y="0" w="200.66666666666663" collapsed="false">The input must be a value for which SCALAR? reports true, i.e., either an atom or a list of any depth but only one scalar item of item of... etc.  This function returns the underlying scalar (number, etc.).</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="x"/><l><option>list</option></l></block></block><script><block s="doReport"><block var="x"/></block></script><list></list></block><block s="doReport"><custom-block s="scalar-value helper %s"><block s="reportListItem"><l>1</l><block var="x"/></block></custom-block></block></script></block-definition><block-definition s="multimap %&apos;function&apos; over %&apos;lists&apos;" type="reporter" category="lists"><comment x="0" y="0" w="267.3333333333333" collapsed="false">Takes as input a function of N inputs and N lists.&#xD;The function is called with item 1 of all the lists as its inputs, with item 2 of all the lists as its inputs, and so on.  (The lists should all be the same length.)</comment><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%mult%l"></input></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="function"/><custom-block s="%s"><l></l></custom-block></block></autolambda><list></list></block><block s="reportListAttribute"><l><option>columns</option></l><block var="lists"/></block></block></block></script></block-definition><block-definition s="%&apos;x&apos;" type="reporter" category="lists"><comment x="0" y="0" w="105.33333333333331" collapsed="false">The identity function reports its input.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block var="x"/></block></script></block-definition><block-definition s="de-boolean %&apos;n&apos;" type="reporter" category="other" helper="true"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportIsA"><block var="n"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="de-boolean %s"><l></l></custom-block></autolambda><list></list></block><block var="n"/></block></block></script><script><block s="doReport"><block s="reportIfElse"><custom-block s="zero? %n"><block var="n"/></custom-block><l>0</l><block s="reportIfElse"><block s="reportVariadicEquals"><list><block var="n"/><block s="reportBoolean"><l><bool>true</bool></l></block></list></block><l>1</l><block var="n"/></block></block></block></script></block></script></block-definition><block-definition s="zero? %&apos;n&apos;" type="predicate" category="other" helper="true"><comment x="0" y="0" w="202.66666666666666" collapsed="true">reports True iff the input is 0 or False.</comment><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><block s="reportListContainsItem"><block s="reportNewList"><list><l>0</l><block s="reportBoolean"><l><bool>false</bool></l></block></list></block><block var="n"/></block></block></script></block-definition><block-definition s="$crosshairs flatten stream %&apos;stream&apos;" type="reporter" category="Streams" helper="true"><comment x="0" y="0" w="118.24374999999998" collapsed="false">A variation of FLATTEN STREAM delivering a more balanced distribution of output items among substreams.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>stream*</l><l>substreams</l><l>insert counter</l></list></block><block s="doSetVar"><l>substreams</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>stream*</l><block var="stream"/></block><custom-block s="let %upvar $arrowLeft %s"><l>add substream if applicable</l><block s="reifyScript"><script><block s="doIf"><block s="reportVariadicAnd"><list><block s="reportVariadicEquals"><list><block var="insert counter"/><l>0</l></list></block><block s="reportNot"><custom-block s="is stream %l empty?"><block var="stream*"/></custom-block></block></list></block><script><block s="doSetVar"><l>substreams</l><block s="reportCONS"><custom-block s="head of stream %l"><block var="stream*"/></custom-block><block var="substreams"/></block></block><block s="doSetVar"><l>stream*</l><custom-block s="tail of stream %l"><block var="stream*"/></custom-block></block><block s="doSetVar"><l>insert counter</l><block s="reportListAttribute"><l><option>length</option></l><block var="substreams"/></block></block></script><list></list></block><block s="doChangeVar"><l>insert counter</l><l>-1</l></block></script><list></list></block></custom-block><custom-block s="let %upvar $arrowLeft %s"><l>remove empty substreams</l><block s="reifyScript"><script><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportListIsEmpty"><block var="substreams"/></block><block s="reportNot"><custom-block s="is stream %l empty?"><block s="reportListItem"><l>1</l><block var="substreams"/></block></custom-block></block></list></block><script><block s="doSetVar"><l>substreams</l><block s="reportCDR"><block var="substreams"/></block></block></script></block></script><list></list></block></custom-block><custom-block s="let %upvar $arrowLeft %s"><l>flatten*</l><block s="reifyScript"><script><block s="doRun"><block var="add substream if applicable"/><list></list></block><block s="doRun"><block var="remove empty substreams"/><list></list></block><block s="doIf"><block s="reportListIsEmpty"><block var="substreams"/></block><script><block s="doReport"><custom-block s="the empty stream"></custom-block></block></script><list></list></block><block s="doSetVar"><l>substreams</l><custom-block s="round robin %l"><block var="substreams"/></custom-block></block><custom-block s="let %upvar $arrowLeft %s"><l>result</l><custom-block s="head of stream %l"><block s="reportListItem"><l>1</l><block var="substreams"/></block></custom-block></custom-block><block s="doReplaceInList"><l>1</l><block var="substreams"/><custom-block s="tail of stream %l"><block s="reportListItem"><l>1</l><block var="substreams"/></block></custom-block></block><block s="doReport"><custom-block s="%s in front of stream %anyUE"><block var="result"/><block s="evaluate"><block var="flatten*"/><list></list></block></custom-block></block></script><list></list></block></custom-block><block s="doReport"><block s="evaluate"><block var="flatten*"/><list></list></block></block></script></block-definition><block-definition s="flatmap finite %&apos;function&apos; over stream %&apos;stream&apos;" type="reporter" category="Streams" helper="true"><comment x="0" y="0" w="293.003125" collapsed="false">Create a stream that is the result of appending (rather tah interleaving) streams mapped over the input stream.&#xD;Will only be applicable if function (input 1) will create *finite* streams.&#xD;General info on streams: see the help text of TAIL OF STREAM.</comment><header></header><code></code><translations></translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="append substreams of %l"><custom-block s="map %repRing over stream(s) %mult%l"><block var="function"/><list><block var="stream"/></list></custom-block></custom-block></block></script><scripts><script x="10" y="115.00000000000001"><custom-block s="$speechBubble %mlt"><l>non-descending integer pairs</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="flatmap finite %repRing over stream %l"><block s="reifyReporter"><autolambda><custom-block s="map %repRing over stream(s) %mult%l"><block s="reifyReporter"><autolambda><block s="reportNewList"><list><block var="#1"/><block var="#2"/></list></block></autolambda><list><l>#1</l></list></block><list><custom-block s="stream with numbers from %n to %n step %n"><l>1</l><block var="#2"/><l>1</l></custom-block></list></custom-block></autolambda><list><l>#2</l></list></block><custom-block s="stream with numbers from %n"><l>1</l></custom-block></custom-block></custom-block></block></script></scripts></block-definition><block-definition s="round robin %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></input></inputs><script><block s="doReport"><custom-block s="%l followed by %s"><block s="reportCDR"><block var="data"/></block><block s="reportListItem"><l>1</l><block var="data"/></block></custom-block></block></script></block-definition><block-definition s="interleave streams %&apos;streams&apos;" type="reporter" category="Streams"><comment x="0" y="0" w="293.70580357142853" collapsed="false">Alternately report items from each stream.&#xD;A generalization of SICP function INTERLEAVE-DELAYED.&#xD;&#xD;For finite lists, the way to make one list combining the items from several input lists is to APPEND them.  But that doesn&apos;t work for possibly infinite streams; if the first stream is infinite, no items from the second or additional input streams would be included.  Instead, you have to INTERLEAVE the streams, take an item from the first one, an item from the second one, and so on.  This ensures that every item of every stream will turn up eventually in the result stream.&#xD;&#xD;This block makes no guarantees regarding the precise order in which items appear in the result stream.&#xD;&#xD;General info in streams: see the help text of TAIL OF STREAM.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%anyUE" initial="2"></input></inputs><script><block s="doReport"><custom-block s="$gears HELPER interleave streams %l"><block var="streams"/></custom-block></block></script><scripts><script x="7.142857142857143" y="239.8571428571429"><custom-block s="$speechBubble %mlt"><l>Simple code for INTERLEAVE STREAMS (a ⋮) (b λ)</l></custom-block><block s="doIf"><custom-block s="is stream %l empty?"><block var="a"/></custom-block><script><block s="doReport"><block s="evaluate"><block var="b"/><list></list></block></block></script><list></list></block><block s="doReport"><custom-block s="%s in front of stream %anyUE"><custom-block s="head of stream %l"><block var="a"/></custom-block><custom-block s="interleave streams %mult%anyUE"><list><block s="evaluate"><block var="b"/><list></list></block><custom-block s="tail of stream %l"><block var="a"/></custom-block></list></custom-block></custom-block></block></script><script x="7.142857142857143" y="393.7023809523809"><custom-block s="$speechBubble %mlt"><l>Demo</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="interleave streams %mult%anyUE"><list><custom-block s="stream %mult%s"><list><l>1</l><l>2</l><l>3</l></list></custom-block><custom-block s="stream with numbers from %n"><l>11</l></custom-block></list></custom-block></custom-block></block></script><script x="7.142857142857143" y="486.01190476190453"><custom-block s="$speechBubble %mlt"><l>An example with several input streams</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="interleave streams %mult%anyUE"><list><custom-block s="the empty stream"></custom-block><custom-block s="stream %mult%s"><list><l>1</l><l>2</l><l>3</l></list></custom-block><custom-block s="stream %mult%s"><list><l>11</l></list></custom-block><custom-block s="stream with numbers from %n"><l>21</l></custom-block></list></custom-block></custom-block></block></script></scripts></block-definition><block-definition s="append substreams of %&apos;stream&apos;" type="reporter" category="Streams" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></input></inputs><script><block s="doIf"><custom-block s="is stream %l empty?"><block var="stream"/></custom-block><script><block s="doReport"><block var="stream"/></block></script><list></list></block><block s="doReport"><custom-block s="append streams %mult%anyUE"><list><custom-block s="head of stream %l"><block var="stream"/></custom-block><custom-block s="append substreams of %l"><custom-block s="tail of stream %l"><block var="stream"/></custom-block></custom-block></list></custom-block></block></script></block-definition><block-definition s="merge streams %&apos;streams&apos;" type="reporter" category="Streams"><comment x="0" y="0" w="160.80000000000024" collapsed="false">Merge 2 streams, in ascending order (as established by “_ &lt; _”).&#xD;&#xD;For the result stream to be in ascending (or non-descending) order, both of the input streams must be.&#xD;&#xD;General info on streams: see the help text of TAIL OF STREAMS.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%l" initial="2"></input></inputs><script><block s="doSetVar"><l>streams</l><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><custom-block s="is stream %l empty?"><l/></custom-block></block></autolambda><list></list></block><block var="streams"/></block></block><block s="doIf"><block s="reportListIsEmpty"><block var="streams"/></block><script><block s="doReport"><custom-block s="the empty stream"></custom-block></block></script><list><block s="reportListIsEmpty"><block s="reportCDR"><block var="streams"/></block></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="streams"/></block></block></script></list></block><custom-block s="let %upvar $arrowLeft %s"><l>keys</l><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="head of stream %l"><l/></custom-block></autolambda><list></list></block><block var="streams"/></block></custom-block><custom-block s="let %upvar $arrowLeft %s"><l>kv-pairs</l><custom-block s="$flash sort %l ordering with %predRing"><block s="reportListAttribute"><l><option>columns</option></l><block s="reportNewList"><list><block var="keys"/><block var="streams"/></list></block></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></custom-block><block s="doReport"><custom-block s="%s in front of stream %anyUE"><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="kv-pairs"/></block></block><custom-block s="merge streams %mult%l"><block s="reportCONS"><custom-block s="tail of stream %l"><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="kv-pairs"/></block></block></custom-block><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportListItem"><l>2</l><l/></block></autolambda><list></list></block><block s="reportCDR"><block var="kv-pairs"/></block></block></block></custom-block></custom-block></block></script><scripts><script x="20" y="578.8888888888887"><custom-block s="$speechBubble %mlt"><l>Simple code for MERGE STREAMS (a) (b)</l></custom-block><block s="doIf"><block s="reportVariadicOr"><list><custom-block s="is stream %l empty?"><block var="a"/></custom-block><custom-block s="is stream %l empty?"><block var="b"/></custom-block></list></block><script><block s="doReport"><custom-block s="append streams %mult%anyUE"><list><block var="a"/><block var="b"/></list></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><custom-block s="head of stream %l"><block var="a"/></custom-block><custom-block s="head of stream %l"><block var="b"/></custom-block></list></block><script><block s="doReport"><custom-block s="%s in front of stream %anyUE"><custom-block s="head of stream %l"><block var="a"/></custom-block><custom-block s="merge streams %mult%l"><list><block var="b"/><custom-block s="tail of stream %l"><block var="a"/></custom-block></list></custom-block></custom-block></block></script><list></list></block><block s="doReport"><custom-block s="%s in front of stream %anyUE"><custom-block s="head of stream %l"><block var="b"/></custom-block><custom-block s="merge streams %mult%l"><list><block var="a"/><custom-block s="tail of stream %l"><block var="b"/></custom-block></list></custom-block></custom-block></block></script><script x="20" y="833.2777777777782"><custom-block s="$speechBubble %mlt"><l>Demo</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="merge streams %mult%l"><list><custom-block s="stream with numbers from %n"><l>5</l></custom-block><custom-block s="map %repRing over stream(s) %mult%l"><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block><list><custom-block s="stream with numbers from %n"><l>1</l></custom-block></list></custom-block></list></custom-block></custom-block></block></script><script x="20" y="974.7222222222226"><custom-block s="$speechBubble %mlt"><l>Advanced version</l></custom-block><custom-block s="let %upvar $arrowLeft %s"><l>original case sensitivity</l><block s="reportGlobalFlag"><l><option>case sensitivity</option></l></block></custom-block><block s="doSetGlobalFlag"><l><option>case sensitivity</option></l><l><bool>true</bool></l></block><custom-block s="let %upvar $arrowLeft %s"><l>result</l><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="merge streams %mult%l %br ordered by %repRing uniques? %b by %predRing"><list><custom-block s="stream %mult%s"><list><l>a</l><l>a</l><l>A</l></list></custom-block><custom-block s="stream %mult%s"><list><l>1</l><l>B</l><l>C</l><l>c</l></list></custom-block><custom-block s="stream %mult%s"><list><l>1</l><l>2</l><l>3</l></list></custom-block></list><block s="reifyReporter"><autolambda><block s="reportTextAttribute"><l><option>lower case</option></l><l></l></block></autolambda><list></list></block><l><bool>true</bool></l><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></custom-block></custom-block></custom-block><block s="doSetGlobalFlag"><l><option>case sensitivity</option></l><block var="original case sensitivity"/></block><block s="doReport"><block var="result"/></block></script></scripts></block-definition><block-definition s="$gears flatten stream %&apos;stream&apos;" type="reporter" category="Streams" helper="true"><comment x="0" y="0" w="293.003125" collapsed="false">Interleave streams that are themselves elements of a stream, such that they become one stream.&#xD;Does not work on streams whose 1st level items are not (all) streams.&#xD;General info on streams: see the help text of TAIL OF STREAM.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="is stream %l empty?"><block var="stream"/></custom-block><script><block s="doReport"><block var="stream"/></block></script><list></list></block><block s="doReport"><custom-block s="interleave streams %mult%anyUE"><list><custom-block s="head of stream %l"><block var="stream"/></custom-block><custom-block s="$gears flatten stream %l"><custom-block s="tail of stream %l"><block var="stream"/></custom-block></custom-block></list></custom-block></block></script></block-definition><block-definition s="list %&apos;requested&apos; items of stream %&apos;stream&apos;" type="reporter" category="Streams" space="true"><comment x="0" y="0" w="471.3368303571429" collapsed="false">Reports a list containing a specified number of items from a stream.&#xD;&#xD;Replaces SHOW STREAM from version 1 of this library.&#xD;&#xD;The inputs are an integer and a stream. With a positive integer, LIST ... STREAM reports a regular finite list of length less than (for shorter finite streams) or equal to the integer. It&apos;s useful because an infinite stream can&apos;t be displayed in a finite amount of time.&#xD;&#xD;Alternatively, ”all” (or “Infinity”) may be used as first input, for the showing to continue until the end of the stream will have been reached. Better not try this with infinite streams: the process will never terminate.&#xD;&#xD;General info on streams: see the help text of TAIL OF STREAM.</comment><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">10<options>all=Infinity</options></input><input type="%l" initial="1"></input></inputs><script><custom-block s="let %upvar $arrowLeft %s"><l>items</l><block s="reportNewList"><list></list></block></custom-block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="requested"/><l>1.5</l></list></block><custom-block s="is stream %l empty?"><block var="stream"/></custom-block></list></block><script><block s="doAddToList"><custom-block s="head of stream %l"><block var="stream"/></custom-block><block var="items"/></block><block s="doChangeVar"><l>requested</l><l>-1</l></block><block s="doSetVar"><l>stream</l><custom-block s="tail of stream %l"><block var="stream"/></custom-block></block></script></block><block s="doIf"><custom-block s="is stream %l empty?"><block var="stream"/></custom-block><script><block s="doReport"><block var="items"/></block></script><list></list></block><block s="doReport"><custom-block s="%l followed by %s"><block var="items"/><custom-block s="head of stream %l"><block var="stream"/></custom-block></custom-block></block></script><scripts><script x="20" y="353"><custom-block s="comment %mlt"><l>Demo</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="stream with numbers from %n"><l>1</l></custom-block></custom-block></block></script><script x="20" y="421"><custom-block s="comment %mlt"><l>Demo: the number of items requested is exactly the length of the stream</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="stream %mult%s"><block s="reportNumbers"><l>1</l><l>10</l></block></custom-block></custom-block></block></script><script x="20" y="503.8333333333332"><custom-block s="comment %mlt"><l>Demo: the length of a *finite* stream is less than &#xD;the number of items requested.</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="stream %mult%s"><block s="reportNumbers"><l>1</l><l>5</l></block></custom-block></custom-block></block></script><script x="20" y="598.6666666666669"><custom-block s="comment %mlt"><l>Demo: the length of an *infinite* stream is less than &#xD;the number of items requested. The process will not terminate.</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="keep items %predRing from stream %l"><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThan"><list><l></l><l>6</l></list></block></autolambda><list></list></block><custom-block s="stream with numbers from %n"><l>1</l></custom-block></custom-block></custom-block></block></script><script x="20" y="713.5"><custom-block s="comment %mlt"><l>Advanced version, enabling continuation.</l></custom-block><custom-block s="ignore %s"><custom-block s="list %n items with %upvar of stream %l"><l>10</l><l>continuation</l><custom-block s="stream with numbers from %n"><l>1</l></custom-block></custom-block></custom-block><custom-block s="ignore %s"><custom-block s="list %n items with %upvar of stream %l"><l>10</l><l>continuation*</l><block s="evaluate"><block var="continuation"/><list></list></block></custom-block></custom-block><block s="doReport"><custom-block s="list %n items with %upvar of stream %l"><l>5</l><l>continuation</l><block s="evaluate"><block var="continuation*"/><list></list></block></custom-block></block></script></scripts></block-definition><block-definition s="merge streams %&apos;streams&apos; $nl ordered by %&apos;key function&apos; uniques? %&apos;uniques&apos; by %&apos;distinguisher&apos;" type="reporter" category="Streams" helper="true"><comment x="0" y="0" w="406.8000000000002" collapsed="false">Merge any nunber of streams, ordered by key (ascending)&#xD;&#xD;INPUT&#xD;1. streams to be merged. For the algorithm to work, each of the streams must be pre-ordered by the same key function.&#xD;2. a reporter (“key function”) assigning a key to be sorted by, to each input stream item&#xD;3. switch indicating whether output items should be unique, as compared to previous items.&#xD;4. ”distinguisher”, a two-iitem predicate indicating whether one item is considered unique as compared to another item (default: “_ = _”).&#xD;RESULT&#xD;A stream of items from the input streams, ordered by the same key function, and possibly filtered for uniqueness.&#xD;REMARK &#xD;Keys are sorted in ascending order as established by “_ &lt; _”.&#xD;&#xD;General info on streams: see the help text of TAIL OF STREAMS.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%l" initial="2"></input><input type="%repRing" initial="1"></input><input type="%b" initial="1">true</input><input type="%predRing" initial="1"></input></inputs><script><block s="doDeclareVariables"><list><l>head</l><l>key</l><l>pre-key</l><l>local history</l></list></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportListIsEmpty"><block var="streams"/></block><block s="reportNot"><custom-block s="is stream %l empty?"><block s="reportListItem"><l>1</l><block var="streams"/></block></custom-block></block></list></block><script><block s="doSetVar"><l>streams</l><block s="reportCDR"><block var="streams"/></block></block></script></block><block s="doIf"><block s="reportListIsEmpty"><block var="streams"/></block><script><block s="doReport"><custom-block s="the empty stream"></custom-block></block></script><list><block s="reportVariadicAnd"><list><block s="reportListIsEmpty"><block s="reportCDR"><block var="streams"/></block></block><block s="reportNot"><block var="uniques"/></block></list></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="streams"/></block></block></script></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="distinguisher"/><l></l></list></block><script><block s="doSetVar"><l>distinguisher</l><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></block></script><list></list></block><custom-block s="let %upvar $arrowLeft %s"><l>keys</l><block s="reportMap"><block s="reifyReporter"><autolambda><block s="evaluate"><block var="key function"/><list><custom-block s="head of stream %l"><l/></custom-block></list></block></autolambda><list></list></block><block var="streams"/></block></custom-block><custom-block s="let %upvar $arrowLeft %s"><l>kv-pairs</l><custom-block s="$flash sort %l ordering with %predRing"><block s="reportListAttribute"><l><option>columns</option></l><block s="reportNewList"><list><block var="keys"/><block var="streams"/></list></block></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></custom-block><custom-block s="let %upvar $arrowLeft %s"><l>merge*</l><block s="reifyScript"><script><block s="doSetVar"><l>pre-key</l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="kv-pairs"/></block></block></block><block s="doIf"><custom-block s="is stream %l empty?"><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="kv-pairs"/></block></block></custom-block><script><block s="doSetVar"><l>kv-pairs</l><block s="reportCDR"><block var="kv-pairs"/></block></block><block s="doIf"><block s="reportListIsEmpty"><block var="kv-pairs"/></block><script><block s="doReport"><custom-block s="the empty stream"></custom-block></block></script><list><block s="reportVariadicAnd"><list><block s="reportListIsEmpty"><block s="reportCDR"><block var="kv-pairs"/></block></block><block s="reportNot"><block var="uniques"/></block></list></block><script><block s="doReport"><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="kv-pairs"/></block></block></block></script></list></block></script><list></list></block><block s="doReplaceInList"><l>1</l><block s="reportListItem"><l>1</l><block var="kv-pairs"/></block><block s="evaluate"><block var="key function"/><list><custom-block s="head of stream %l"><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="kv-pairs"/></block></block></custom-block></list></block></block><block s="doSetVar"><l>kv-pairs</l><custom-block s="$flash sort %l ordering with %predRing"><block var="kv-pairs"/><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><block s="doSetVar"><l>head</l><custom-block s="head of stream %l"><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="kv-pairs"/></block></block></custom-block></block><block s="doSetVar"><l>key</l><block s="reportListItem"><l>1</l><block s="reportListItem"><l>1</l><block var="kv-pairs"/></block></block></block><block s="doReplaceInList"><l>2</l><block s="reportListItem"><l>1</l><block var="kv-pairs"/></block><custom-block s="tail of stream %l"><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="kv-pairs"/></block></block></custom-block></block><block s="doIf"><block s="reportVariadicAnd"><list><block var="uniques"/><block s="reportVariadicEquals"><list><block var="key"/><block var="pre-key"/></list></block></list></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="evaluate"><block var="distinguisher"/><list><block var="head"/><l></l></list></block></autolambda><list></list></block><block var="local history"/></block><l></l></list></block><script><block s="doAddToList"><block var="head"/><block var="local history"/></block><block s="doReport"><custom-block s="%s in front of stream %anyUE"><block var="head"/><block s="evaluate"><block var="merge*"/><list></list></block></custom-block></block></script><list></list></block><block s="doReport"><block s="evaluate"><block var="merge*"/><list></list></block></block></script><list></list></block><block s="doSetVar"><l>local history</l><block s="reportNewList"><list><block var="head"/></list></block></block><block s="doReport"><custom-block s="%s in front of stream %anyUE"><block var="head"/><block s="evaluate"><block var="merge*"/><list></list></block></custom-block></block></script><list></list></block></custom-block><block s="doSetVar"><l>head</l><custom-block s="head of stream %l"><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="kv-pairs"/></block></block></custom-block></block><block s="doSetVar"><l>local history</l><block s="reportNewList"><list><block var="head"/></list></block></block><block s="doReplaceInList"><l>2</l><block s="reportListItem"><l>1</l><block var="kv-pairs"/></block><custom-block s="tail of stream %l"><block s="reportListItem"><l>2</l><block s="reportListItem"><l>1</l><block var="kv-pairs"/></block></block></custom-block></block><block s="doReport"><custom-block s="%s in front of stream %anyUE"><block var="head"/><block s="evaluate"><block var="merge*"/><list></list></block></custom-block></block></script><scripts><script x="7.142857142857143" y="1443.5000000000002"><custom-block s="$speechBubble %mlt"><l>Demo</l></custom-block><custom-block s="let %upvar $arrowLeft %s"><l>original case sensitivity</l><block s="reportGlobalFlag"><l><option>case sensitivity</option></l></block></custom-block><block s="doSetGlobalFlag"><l><option>case sensitivity</option></l><l><bool>true</bool></l></block><custom-block s="let %upvar $arrowLeft %s"><l>result</l><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="merge streams %mult%l %br ordered by %repRing uniques? %b by %predRing"><list><custom-block s="stream %mult%s"><list><l>a</l><l>a</l><l>A</l></list></custom-block><custom-block s="stream %mult%s"><list><l>1</l><l>B</l><l>C</l><l>c</l></list></custom-block><custom-block s="stream %mult%s"><list><l>1</l><l>2</l><l>3</l></list></custom-block></list><block s="reifyReporter"><autolambda><block s="reportTextAttribute"><l><option>lower case</option></l><l></l></block></autolambda><list></list></block><l><bool>true</bool></l><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><l></l><l></l></list></block></autolambda><list></list></block></custom-block></custom-block></custom-block><block s="doSetGlobalFlag"><l><option>case sensitivity</option></l><block var="original case sensitivity"/></block><block s="doReport"><block var="result"/></block></script><script x="7.142857142857143" y="1668.7142857142883"><custom-block s="head of stream %l"><l/></custom-block></script><script x="7.142857142857143" y="1694.1428571428594"><custom-block s="$speechBubble %mlt"><l>Demo</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="merge streams %mult%l %br ordered by %repRing uniques? %b by %predRing"><list><custom-block s="generate stream %repRing %upvar w/seeds: %mult%s"><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l>10</l></list></block></autolambda><list></list></block><l>#</l><list><l>1</l></list></custom-block><custom-block s="generate stream %repRing %upvar w/seeds: %mult%s"><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l>10</l></list></block></autolambda><list></list></block><l>#</l><list><l>3</l></list></custom-block><custom-block s="generate stream %repRing %upvar w/seeds: %mult%s"><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l>10</l></list></block></autolambda><list></list></block><l>#</l><list><l>2</l></list></custom-block></list><block s="reifyReporter"><script></script><list></list></block><l/><block s="reifyPredicate"><script></script><list></list></block></custom-block></custom-block></block></script><script x="7.142857142857143" y="1866.7380952381016"><custom-block s="$speechBubble %mlt"><l>Demo of a related (hidden) block, that will keep any items from the 1st stream&#xD;that also appear in the 2nd (AND relation)</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="keep items from stream %l %br AND stream %l %br ordered by key %repRing"><custom-block s="stream with numbers from %n"><l>1</l></custom-block><custom-block s="generate stream %repRing %upvar w/seeds: %mult%s"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><block var="#"/><l>2.5</l></list></block></autolambda><list></list></block><l>#</l><list></list></custom-block><block s="reifyReporter"><script></script><list></list></block></custom-block></custom-block></block></script><script x="7.142857142857143" y="2015.071428571436"><custom-block s="$speechBubble %mlt"><l>Demo of a related (hidden) block, that will keep any items from either of 2 streams (OR relation).&#xD;Items apprearing in both streams will appear in the output only once.</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="keep items from stream %l %br OR stream %l %br ordered by key %repRing"><custom-block s="stream with numbers from %n"><l>1</l></custom-block><custom-block s="generate stream %repRing %upvar w/seeds: %mult%s"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><block var="#"/><l>2.5</l></list></block></autolambda><list></list></block><l>#</l><list></list></custom-block><block s="reifyReporter"><script></script><list></list></block></custom-block></custom-block></block></script><script x="7.142857142857143" y="2165.5238095238187"><custom-block s="$speechBubble %mlt"><l>Demo of a related block, that will keep any iems appearing in either of 2 streams,&#xD;but not in both (eXclusive OR relation)</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="keep items from stream %l %br XOR stream %l %br ordered by key %repRing"><custom-block s="stream with numbers from %n"><l>1</l></custom-block><custom-block s="generate stream %repRing %upvar w/seeds: %mult%s"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><block var="#"/><l>2.5</l></list></block></autolambda><list></list></block><l>#</l><list></list></custom-block><block s="reifyReporter"><script></script><list></list></block></custom-block></custom-block></block></script><script x="7.142857142857143" y="2313.8571428571536"><custom-block s="$speechBubble %mlt"><l>Demo of a related (hidden) block, keeping any items from the first stream&#xD;that do NOT appear in the second.</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="keep items from stream %l %br but NOT stream %l %br ordered by key %repRing"><custom-block s="stream with numbers from %n"><l>1</l></custom-block><custom-block s="generate stream %repRing %upvar w/seeds: %mult%s"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><block var="#"/><l>2.5</l></list></block></autolambda><list></list></block><l>#</l><list></list></custom-block><block s="reifyReporter"><script></script><list></list></block></custom-block></custom-block></block></script></scripts></block-definition><block-definition s="keep items from stream %&apos;a&apos; $nl AND stream %&apos;b&apos; $nl ordered by key %&apos;key function&apos;" type="reporter" category="Streams" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></input><input type="%l" initial="1"></input><input type="%repRing" initial="1"></input></inputs><script><block s="doIf"><block s="reportVariadicOr"><list><custom-block s="is stream %l empty?"><block var="a"/></custom-block><custom-block s="is stream %l empty?"><block var="b"/></custom-block></list></block><script><block s="doReport"><custom-block s="the empty stream"></custom-block></block></script><list></list></block><block s="doUntil"><block s="reportVariadicEquals"><list><custom-block s="%upvar $arrowLeft %s"><l>key a</l><block s="evaluate"><block var="key function"/><list><custom-block s="head of stream %l"><block var="a"/></custom-block></list></block></custom-block><custom-block s="%upvar $arrowLeft %s"><l>key b</l><block s="evaluate"><block var="key function"/><list><custom-block s="head of stream %l"><block var="b"/></custom-block></list></block></custom-block></list></block><script><block s="doIfElse"><block s="reportVariadicLessThan"><list><block var="key a"/><block var="key b"/></list></block><script><block s="doSetVar"><l>a</l><custom-block s="tail of stream %l"><block var="a"/></custom-block></block><block s="doIf"><custom-block s="is stream %l empty?"><block var="a"/></custom-block><script><block s="doReport"><custom-block s="the empty stream"></custom-block></block></script><list></list></block></script><script><block s="doSetVar"><l>b</l><custom-block s="tail of stream %l"><block var="b"/></custom-block></block><block s="doIf"><custom-block s="is stream %l empty?"><block var="b"/></custom-block><script><block s="doReport"><custom-block s="the empty stream"></custom-block></block></script><list></list></block></script></block></script></block><block s="doReport"><custom-block s="%s in front of stream %anyUE"><custom-block s="head of stream %l"><block var="a"/></custom-block><custom-block s="keep items from stream %l %br AND stream %l %br ordered by key %repRing"><custom-block s="tail of stream %l"><block var="a"/></custom-block><custom-block s="tail of stream %l"><block var="b"/></custom-block><block var="key function"/></custom-block></custom-block></block></script><scripts><script x="10" y="557.0833333333333"><custom-block s="$speechBubble %mlt"><l>Demo</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="keep items from stream %l %br AND stream %l %br ordered by key %repRing"><custom-block s="stream with numbers from %n"><l>1</l></custom-block><custom-block s="generate stream %repRing %upvar w/seeds: %mult%s"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><block var="#"/><l>2.5</l></list></block></autolambda><list></list></block><l>#</l><list></list></custom-block><block s="reifyReporter"><script></script><list></list></block></custom-block></custom-block></block></script></scripts></block-definition><block-definition s="keep items from stream %&apos;a&apos; $nl OR stream %&apos;b&apos; $nl ordered by key %&apos;key function&apos;" type="reporter" category="Streams" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></input><input type="%l" initial="1"></input><input type="%repRing" initial="1"></input></inputs><script><block s="doIf"><custom-block s="is stream %l empty?"><block var="a"/></custom-block><script><block s="doReport"><block var="b"/></block></script><list><custom-block s="is stream %l empty?"><block var="b"/></custom-block><script><block s="doReport"><block var="a"/></block></script></list></block><block s="doIf"><block s="reportVariadicEquals"><list><custom-block s="%upvar $arrowLeft %s"><l>key a</l><block s="evaluate"><block var="key function"/><list><custom-block s="head of stream %l"><block var="a"/></custom-block></list></block></custom-block><custom-block s="%upvar $arrowLeft %s"><l>key b</l><block s="evaluate"><block var="key function"/><list><custom-block s="head of stream %l"><block var="b"/></custom-block></list></block></custom-block></list></block><script><block s="doReport"><custom-block s="%s in front of stream %anyUE"><custom-block s="head of stream %l"><block var="a"/></custom-block><custom-block s="keep items from stream %l %br OR stream %l %br ordered by key %repRing"><custom-block s="tail of stream %l"><block var="a"/></custom-block><custom-block s="tail of stream %l"><block var="b"/></custom-block><block var="key function"/></custom-block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="key a"/><block var="key b"/></list></block><script><block s="doReport"><custom-block s="%s in front of stream %anyUE"><custom-block s="head of stream %l"><block var="a"/></custom-block><custom-block s="keep items from stream %l %br OR stream %l %br ordered by key %repRing"><custom-block s="tail of stream %l"><block var="a"/></custom-block><block var="b"/><block var="key function"/></custom-block></custom-block></block></script><list></list></block><block s="doReport"><custom-block s="%s in front of stream %anyUE"><custom-block s="head of stream %l"><block var="b"/></custom-block><custom-block s="keep items from stream %l %br OR stream %l %br ordered by key %repRing"><block var="a"/><custom-block s="tail of stream %l"><block var="b"/></custom-block><block var="key function"/></custom-block></custom-block></block></script><scripts><script x="10" y="581.8333333333335"><custom-block s="$speechBubble %mlt"><l>Demo</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="keep items from stream %l %br OR stream %l %br ordered by key %repRing"><custom-block s="stream with numbers from %n"><l>1</l></custom-block><custom-block s="generate stream %repRing %upvar w/seeds: %mult%s"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><block var="#"/><l>2.5</l></list></block></autolambda><list></list></block><l>#</l><list></list></custom-block><block s="reifyReporter"><script></script><list></list></block></custom-block></custom-block></block></script></scripts></block-definition><block-definition s="item %&apos;index&apos; of stream %&apos;stream&apos;" type="reporter" category="Streams"><comment x="0" y="0" w="300.8" collapsed="false">Report a specific item from a stream. (i.e. stream in, item out)&#xD;The inputs are a positive integer (item number), and the stream.&#xD;&#xD;The equivalent of SICP function STREAM-REF.&#xD;&#xD;Note that looking for something in a stream by index isn&apos;t a very &quot;streamly&quot; style of work.&#xD;&#xD;General info on streams: see the help text of TAIL OF STREAM</comment><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%l"></input></inputs><script><block s="doIf"><block s="reportVariadicLessThan"><list><block var="index"/><l>0.5</l></list></block><script><block s="doReport"><l></l></block></script><list></list></block><block s="doUntil"><block s="reportVariadicOr"><list><block s="reportVariadicLessThan"><list><block var="index"/><l>1.5</l></list></block><custom-block s="is stream %l empty?"><block var="stream"/></custom-block></list></block><script><block s="doChangeVar"><l>index</l><l>-1</l></block><block s="doSetVar"><l>stream</l><custom-block s="tail of stream %l"><block var="stream"/></custom-block></block></script></block><block s="doReport"><custom-block s="head of stream %l"><block var="stream"/></custom-block></block></script><scripts><script x="7.14285714285711" y="235.72619047619074"><custom-block s="$speechBubble %mlt"><l>Demo</l></custom-block><block s="doReport"><custom-block s="item %n of stream %l"><l>5</l><custom-block s="map %repRing over stream(s) %mult%l"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><l></l><l></l></list></block></autolambda><list></list></block><list><custom-block s="stream with numbers from %n"><l>11</l></custom-block></list></custom-block></custom-block></block></script></scripts></block-definition><block-definition s="$flash sort %&apos;data&apos; ordering with %&apos;function&apos;" type="reporter" category="lists"><comment x="0" y="0" w="161.14285714285708" collapsed="false">Reports a sorted version of the list in its first input slot, using the comparison function in the second input slot.  For a list of numbers, using &lt; as the comparison function will sort from low to high; using &gt; will sort from high to low.</comment><header></header><code></code><translations>ca:ordena _ segons criteri _&#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="function"/></list></block></block></script><scripts><script x="11.999999999999998" y="147.55555555555554"><block s="doDeclareVariables"><list><l>even items</l><l>odd items</l><l>merge</l><l>split</l><l>copy of data</l><l>id</l></list></block><block s="doSetVar"><l>id</l><block s="reifyScript"><script><block s="doReport"><l></l></block></script><list></list></block></block><block s="doSetVar"><l>copy of data</l><block s="reportMap"><block var="id"/><block var="data"/></block></block><block s="doSetVar"><l>split</l><block s="reifyScript"><script><block s="doSetVar"><l>even items</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>odd items</l><block s="reportNewList"><list></list></block></block><block s="doUntil"><block s="reportListIsEmpty"><block var="copy of data"/></block><script><block s="doAddToList"><block s="reportListItem"><l>1</l><block var="copy of data"/></block><block var="odd items"/></block><block s="doDeleteFromList"><l>1</l><block var="copy of data"/></block><block s="doIf"><block s="reportNot"><block s="reportListIsEmpty"><block var="copy of data"/></block></block><script><block s="doAddToList"><block s="reportListItem"><l>1</l><block var="copy of data"/></block><block var="even items"/></block><block s="doDeleteFromList"><l>1</l><block var="copy of data"/></block></script><list></list></block></script></block></script><list></list></block></block><block s="doSetVar"><l>merge</l><block s="reifyScript"><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="#1"/><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block var="#2"/></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="#2"/><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block var="#1"/></block></script><list></list></block><block s="doIfElse"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="#1"/></block><block s="reportListItem"><l>1</l><block var="#2"/></block></list></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="#1"/></block><block s="evaluate"><block var="merge"/><list><block s="reportCDR"><block var="#1"/></block><block var="#2"/></list></block></block></block></script><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="#2"/></block><block s="evaluate"><block var="merge"/><list><block var="#1"/><block s="reportCDR"><block var="#2"/></block></list></block></block></block></script></block></script><list><l>#1</l><l>#2</l></list></block></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="reportNewList"><list></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportCDR"><block var="data"/></block><block s="reportNewList"><list></list></block></list></block><script><block s="doReport"><block var="data"/></block></script><list></list></block><block s="doRun"><block var="split"/><list></list></block><block s="doReport"><block s="evaluate"><block var="merge"/><list><custom-block s="$flash sort %l ordering with %predRing"><block var="odd items"/><block var="function"/></custom-block><custom-block s="$flash sort %l ordering with %predRing"><block var="even items"/><block var="function"/></custom-block></list></block></block></script></scripts></block-definition><block-definition s="keep items from stream %&apos;a&apos; $nl XOR stream %&apos;b&apos; $nl ordered by key %&apos;key function&apos;" type="reporter" category="Streams" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></input><input type="%l" initial="1"></input><input type="%repRing" initial="1"></input></inputs><script><block s="doIf"><custom-block s="is stream %l empty?"><block var="a"/></custom-block><script><block s="doReport"><block var="b"/></block></script><list><custom-block s="is stream %l empty?"><block var="b"/></custom-block><script><block s="doReport"><block var="a"/></block></script></list></block><block s="doUntil"><block s="reportVariadicNotEquals"><list><custom-block s="%upvar $arrowLeft %s"><l>key a</l><block s="evaluate"><block var="key function"/><list><custom-block s="head of stream %l"><block var="a"/></custom-block></list></block></custom-block><custom-block s="%upvar $arrowLeft %s"><l>key b</l><block s="evaluate"><block var="key function"/><list><custom-block s="head of stream %l"><block var="b"/></custom-block></list></block></custom-block></list></block><script><block s="doSetVar"><l>a</l><custom-block s="tail of stream %l"><block var="a"/></custom-block></block><block s="doIf"><custom-block s="is stream %l empty?"><block var="a"/></custom-block><script><block s="doReport"><block var="b"/></block></script><list></list></block><block s="doSetVar"><l>b</l><custom-block s="tail of stream %l"><block var="b"/></custom-block></block><block s="doIf"><custom-block s="is stream %l empty?"><block var="b"/></custom-block><script><block s="doReport"><block var="a"/></block></script><list></list></block></script></block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="key a"/><block var="key b"/></list></block><script><block s="doReport"><custom-block s="%s in front of stream %anyUE"><custom-block s="head of stream %l"><block var="a"/></custom-block><custom-block s="keep items from stream %l %br XOR stream %l %br ordered by key %repRing"><custom-block s="tail of stream %l"><block var="a"/></custom-block><block var="b"/><block var="key function"/></custom-block></custom-block></block></script><list></list></block><block s="doReport"><custom-block s="%s in front of stream %anyUE"><custom-block s="head of stream %l"><block var="b"/></custom-block><custom-block s="keep items from stream %l %br XOR stream %l %br ordered by key %repRing"><block var="a"/><custom-block s="tail of stream %l"><block var="b"/></custom-block><block var="key function"/></custom-block></custom-block></block></script><scripts><script x="10" y="667.2500000000002"><custom-block s="$speechBubble %mlt"><l>Demo</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="keep items from stream %l %br XOR stream %l %br ordered by key %repRing"><custom-block s="stream with numbers from %n"><l>1</l></custom-block><custom-block s="generate stream %repRing %upvar w/seeds: %mult%s"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><block var="#"/><l>2.5</l></list></block></autolambda><list></list></block><l>#</l><list></list></custom-block><block s="reifyReporter"><script></script><list></list></block></custom-block></custom-block></block></script></scripts></block-definition><block-definition s="keep items from stream %&apos;a&apos; $nl but NOT stream %&apos;b&apos; $nl ordered by key %&apos;key function&apos;" type="reporter" category="Streams" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></input><input type="%l" initial="1"></input><input type="%repRing" initial="1"></input></inputs><script><block s="doIf"><custom-block s="is stream %l empty?"><block var="a"/></custom-block><script><block s="doReport"><custom-block s="the empty stream"></custom-block></block></script><list><custom-block s="is stream %l empty?"><block var="b"/></custom-block><script><block s="doReport"><block var="a"/></block></script></list></block><block s="doUntil"><block s="reportVariadicLessThan"><list><custom-block s="%upvar $arrowLeft %s"><l>key a</l><block s="evaluate"><block var="key function"/><list><custom-block s="head of stream %l"><block var="a"/></custom-block></list></block></custom-block><custom-block s="%upvar $arrowLeft %s"><l>key b</l><block s="evaluate"><block var="key function"/><list><custom-block s="head of stream %l"><block var="b"/></custom-block></list></block></custom-block></list></block><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block var="key a"/><block var="key b"/></list></block><script><block s="doSetVar"><l>a</l><custom-block s="tail of stream %l"><block var="a"/></custom-block></block><block s="doIf"><custom-block s="is stream %l empty?"><block var="a"/></custom-block><script><block s="doReport"><custom-block s="the empty stream"></custom-block></block></script><list></list></block><block s="doSetVar"><l>b</l><custom-block s="tail of stream %l"><block var="b"/></custom-block></block><block s="doIf"><custom-block s="is stream %l empty?"><block var="b"/></custom-block><script><block s="doReport"><block var="a"/></block></script><list></list></block></script><script><block s="doSetVar"><l>b</l><custom-block s="tail of stream %l"><block var="b"/></custom-block></block><block s="doIf"><custom-block s="is stream %l empty?"><block var="b"/></custom-block><script><block s="doReport"><block var="a"/></block></script><list></list></block></script></block></script></block><block s="doReport"><custom-block s="%s in front of stream %anyUE"><custom-block s="head of stream %l"><block var="a"/></custom-block><custom-block s="keep items from stream %l %br but NOT stream %l %br ordered by key %repRing"><custom-block s="tail of stream %l"><block var="a"/></custom-block><block var="b"/><block var="key function"/></custom-block></custom-block></block></script><scripts><script x="7.142857142857143" y="670.2499999999997"><custom-block s="$speechBubble %mlt"><l>Demo</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="keep items from stream %l %br but NOT stream %l %br ordered by key %repRing"><custom-block s="stream with numbers from %n"><l>1</l></custom-block><custom-block s="generate stream %repRing %upvar w/seeds: %mult%s"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><block var="#"/><l>2.5</l></list></block></autolambda><list></list></block><l>#</l><list></list></custom-block><block s="reifyReporter"><script></script><list></list></block></custom-block></custom-block></block></script></scripts></block-definition><block-definition s="log stream %&apos;stream&apos; $nl to list %&apos;report&apos; labeled %&apos;label&apos; indexed? %&apos;indexed&apos;" type="reporter" category="Streams" space="true"><comment x="0" y="0" w="364.4000000000001" collapsed="false">Eavesdrop on a stream in action.&#xD;&#xD;For debugging purposes only! The log will consume a lot of memory.&#xD;&#xD;INPUTS:&#xD;1. the stream to be inspected&#xD;2. the list to be used as log (put it in a variable watcher to see changes happen)&#xD;3. a label for these log entries (optional: not used if this slot is left empty)&#xD;4. whether each entry into the log will be indexed (default: FALSE)&#xD;&#xD;Reports the input stream, so that it can be inserted in a composition of functions.&#xD;&#xD;General info on streams: see the help text of TAIL OF STREAM.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%l"></input><input type="%txt"></input><input type="%b">false</input></inputs><script><custom-block s="let %upvar $arrowLeft %s"><l>index</l><l>0</l></custom-block><block s="doIf"><custom-block s="is %s empty?"><block var="label"/></custom-block><script><block s="doIf"><block var="indexed"/><script><block s="doReport"><custom-block s="map %repRing over stream(s) %mult%l"><block s="reifyReporter"><script><block s="doChangeVar"><l>index</l><l>1</l></block><block s="doAddToList"><block s="reportNewList"><list><block var="index"/><l></l></list></block><block var="report"/></block><block s="doReport"><l></l></block></script><list></list></block><list><block var="stream"/></list></custom-block></block></script><list></list></block><block s="doReport"><custom-block s="map %repRing over stream(s) %mult%l"><block s="reifyReporter"><script><block s="doAddToList"><l></l><block var="report"/></block><block s="doReport"><l></l></block></script><list></list></block><list><block var="stream"/></list></custom-block></block></script><list></list></block><block s="doIf"><block var="indexed"/><script><block s="doReport"><custom-block s="map %repRing over stream(s) %mult%l"><block s="reifyReporter"><script><block s="doChangeVar"><l>index</l><l>1</l></block><block s="doAddToList"><block s="reportNewList"><list><block var="label"/><block var="index"/><l></l></list></block><block var="report"/></block><block s="doReport"><l></l></block></script><list></list></block><list><block var="stream"/></list></custom-block></block></script><list></list></block><block s="doReport"><custom-block s="map %repRing over stream(s) %mult%l"><block s="reifyReporter"><script><block s="doAddToList"><block s="reportNewList"><list><block var="label"/><l></l></list></block><block var="report"/></block><block s="doReport"><l></l></block></script><list></list></block><list><block var="stream"/></list></custom-block></block></script><scripts><script x="10" y="573.9166666666665"><custom-block s="$speechBubble %mlt"><l>Demo: streams before and after KEEP</l></custom-block><custom-block s="let %upvar $arrowLeft %s"><l>log</l><block s="reportNewList"><list></list></block></custom-block><custom-block s="let %upvar $arrowLeft %s"><l>selection</l><custom-block s="list %n items of stream %l"><l>5</l><custom-block s="keep items %predRing from stream %l"><block s="reifyPredicate"><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 s="log stream %l %br to list %l labeled %txt indexed? %b"><custom-block s="stream with numbers from %n"><l>1</l></custom-block><block var="log"/><l></l><l><bool>false</bool></l></custom-block></custom-block></custom-block></custom-block><block s="doReport"><block s="reportNewList"><list><block s="reportCONS"><l>BEFORE:</l><block var="log"/></block><block s="reportCONS"><l>AFTER</l><block var="selection"/></block></list></block></block></script><script x="10" y="762.4166666666665"><custom-block s="$speechBubble %mlt"><l>Demo, with label and index</l></custom-block><custom-block s="let %upvar $arrowLeft %s"><l>log</l><block s="reportNewList"><list></list></block></custom-block><custom-block s="let %upvar $arrowLeft %s"><l>selection</l><custom-block s="list %n items of stream %l"><l>5</l><custom-block s="keep items %predRing from stream %l"><block s="reifyPredicate"><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 s="log stream %l %br to list %l labeled %txt indexed? %b"><custom-block s="map %repRing over stream(s) %mult%l"><block s="reifyReporter"><autolambda><custom-block s="square %n"><l></l></custom-block></autolambda><list></list></block><list><custom-block s="stream with numbers from %n"><l>1</l></custom-block></list></custom-block><block var="log"/><l>squares</l><l><bool>true</bool></l></custom-block></custom-block></custom-block></custom-block><block s="doReport"><block s="reportCONS"><block s="reportNewList"><list><l>LABEL:</l><l>INDEX:</l><l>VALUE:</l></list></block><block var="log"/></block></block></script></scripts></block-definition><block-definition s="is %&apos;text&apos; empty?" type="predicate" category="operators"><header></header><code></code><translations>de:ist _ leer?&#xD;</translations><inputs><input type="%s">word</input></inputs><script><block s="doReport"><block s="reportVariadicEquals"><list><block var="text"/><l></l></list></block></block></script></block-definition><block-definition s="segment of stream %&apos;stream&apos; $nl starting with first item that %&apos;start condition&apos; $nl ending with next item that %&apos;end condition&apos; inclusive? %&apos;include&apos;" type="reporter" category="Streams"><comment x="0" y="0" w="415.8857142857144" collapsed="false">Reports a segment (a contiguous subset) of the input stream, based on given starting and ending conditions.  One use of this block is to select a finite subset of a potentially infinite stream, which might be necessary to avoid an infinite recursion.&#xD;&#xD;INPUTS:&#xD;1. input stream;&#xD;2. start condition;&#xD;3. end condition;&#xD;4. whether to include the first item satisfying the end condition (default = FALSE)&#xD;&#xD;SPECIFYING THE START AND END CONDITIONS&#xD;The two conditions are predicate functions of two inputs, namely, an item from the stream and that item&apos;s index (position in the stream).  In the start condition, the index is with respect to the input stream; in the end condition, though, the index is taken with respect to the /result/ stream.  If the start condition is empty, the resulting segment starts at the beginning of the input stream.  If the end condition is empty, the resulting segment will reach to the end of the input stream, or will be infinite if the input is infinite.&#xD;&#xD;General info on streams: see the help text of TAIL OF STREAM.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%predRing" initial="1"></input><input type="%predRing"></input><input type="%b" initial="1">false</input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="end condition"/><block s="reifyPredicate"><script></script><list></list></block></list></block><script><block s="doSetVar"><l>end condition</l><block s="reifyPredicate"><autolambda><block s="reportBoolean"><l><bool>false</bool></l></block></autolambda><list></list></block></block></script><list></list></block><block s="doReport"><custom-block s="$gears segment of stream %l once %predRing until %predRing inclusive? %b index %s"><block var="stream"/><block var="start condition"/><block var="end condition"/><block var="include"/><l>1</l></custom-block></block></script><scripts><script x="7.142857142857143" y="275.8571428571429"><custom-block s="$speechBubble %mlt"><l>Demo</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>Infinity</l><custom-block s="segment of stream %l %br starting with first item that %predRing %br ending with next item that %predRing inclusive? %b"><custom-block s="stream with numbers from %n"><l>12</l></custom-block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><l></l><l>15</l></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><block var="index"/><l>10</l></list></block></autolambda><list><l>value</l><l>index</l></list></block><l><bool>false</bool></l></custom-block></custom-block></block></script><script x="7.142857142857143" y="426.21428571428527"><custom-block s="$speechBubble %mlt"><l>Demo: (3, 4, 5)</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="segment of stream %l %br starting with first item that %predRing %br ending with next item that %predRing inclusive? %b"><custom-block s="stream with numbers from %n"><l>3</l></custom-block><block s="reifyPredicate"><script></script><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><l></l><l>5</l></list></block></autolambda><list></list></block><l><bool>false</bool></l></custom-block></custom-block></block></script><script x="7.142857142857143" y="547.3571428571421"><custom-block s="$speechBubble %mlt"><l>By contrast, a version of the above with KEEP&#xD;will not terminate (use red button to stop manually).</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="keep items %predRing from stream %l"><block s="reifyPredicate"><autolambda><block s="reportVariadicLessThanOrEquals"><list><l></l><l>5</l></list></block></autolambda><list></list></block><custom-block s="stream with numbers from %n"><l>3</l></custom-block></custom-block></custom-block></block></script></scripts></block-definition><block-definition s="stream demo" type="command" category="Streams" space="true"><comment x="0" y="0" w="159.66666666666674" collapsed="false">Read the code while running it.&#xD;&#xD;General info on streams: read the help text of TAIL OF STREAM.</comment><header></header><code></code><translations></translations><inputs></inputs><script><block s="doDeclareVariables"><list><l>ones</l><l>ints</l><l>primes</l><l>rationals</l><l>hanoi</l></list></block><block s="bubble"><l>Press ▶ after each demonstration … and now, to continue.</l></block><block s="doPauseAll"></block><block s="doSetVar"><l>ones</l><custom-block s="%s in front of stream %anyUE"><l>1</l><block var="ones"/></custom-block></block><custom-block s="$gears show demo %txt %s %n"><l>An infinite stream of ones:</l><block var="ones"/><l>6</l></custom-block><block s="doSetVar"><l>ints</l><custom-block s="%s in front of stream %anyUE"><l>1</l><custom-block s="map %repRing over stream(s) %mult%l"><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l></l></list></block></autolambda><list></list></block><list><block var="ones"/><block var="ints"/></list></custom-block></custom-block></block><custom-block s="$gears show demo %txt %s %n"><l>A stream containing all the positive integers:</l><block var="ints"/><l>9</l></custom-block><block s="doSetVar"><l>primes</l><custom-block s="sieve %l"><custom-block s="stream with numbers from %n"><l>2</l></custom-block></custom-block></block><custom-block s="$gears show demo %txt %s %n"><l>A stream containing all the prime numbers:</l><block var="primes"/><l>12</l></custom-block><block s="doSetVar"><l>rationals</l><custom-block s="%s in front of stream %anyUE"><l>0</l><custom-block s="$crosshairs flatmap %repRing over stream %l"><block s="reifyReporter"><autolambda><custom-block s="map %repRing over keep %predRing from map %repRing over stream %l"><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l>/</l><block var="denominator"/></list></block></autolambda><list></list></block><block s="reifyPredicate"><autolambda><block s="reportVariadicEquals"><list><custom-block s="GCD (or) %n $∨-1.2-255-255-0 %n"><l></l><block var="denominator"/></custom-block><l>1</l></list></block></autolambda><list></list></block><block s="reifyReporter"><script></script><list></list></block><custom-block s="stream with numbers from %n"><block var="denominator"/></custom-block></custom-block></autolambda><list><l>denominator</l></list></block><custom-block s="stream with numbers from %n"><l>1</l></custom-block></custom-block></custom-block></block><custom-block s="$gears show demo %txt %s %n"><l>A stream containing all the positive rational numbers:</l><block var="rationals"/><l>15</l></custom-block><block s="doSetVar"><l>hanoi</l><custom-block s="interleave streams %mult%anyUE"><list><block var="ones"/><custom-block s="map %repRing over stream(s) %mult%l"><block s="reifyReporter"><autolambda><block s="reportVariadicSum"><list><l></l><l>1</l></list></block></autolambda><list></list></block><list><block var="hanoi"/></list></custom-block></list></custom-block></block><custom-block s="$gears show demo %txt %s %n"><l>A stream showing which disc to move next in an infinitely tall ”Towers of Hanoi” puzzle:</l><block var="hanoi"/><l>15</l></custom-block><block s="doSayFor"><l>Demo finished.</l><l>2</l></block></script></block-definition><block-definition s="sieve %&apos;stream&apos;" type="reporter" category="Streams" helper="true"><comment x="0" y="0" w="300" collapsed="false">Call this block with STREAM WITH NUMBERS FROM 2&#xD;as its input to get the infinite stream of all the prime numbers.&#xD;&#xD;It&apos;s called SIEVE because the algorithm it uses is the Sieve of&#xD;Eratosthenes: https://en.wikipedia.org/wiki/Sieve_of_Eratosthenes&#xD;&#xD;General info on streams: see the help text of TAIL OF STREAM.</comment><header></header><code></code><translations>pt:a crivagem do canal _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="%s in front of stream %anyUE"><custom-block s="head of stream %l"><block var="stream"/></custom-block><custom-block s="sieve %l"><custom-block s="keep items %predRing from stream %l"><block s="reifyPredicate"><autolambda><block s="reportVariadicGreaterThan"><list><block s="reportModulus"><l></l><custom-block s="head of stream %l"><block var="stream"/></custom-block></block><l>0</l></list></block></autolambda><list></list></block><custom-block s="tail of stream %l"><block var="stream"/></custom-block></custom-block></custom-block></custom-block></block></script><scripts><script x="10" y="171.28571428571436"><custom-block s="$speechBubble %mlt"><l>Demo</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="sieve %l"><custom-block s="stream with numbers from %n"><l>2</l></custom-block></custom-block></custom-block></block></script></scripts></block-definition><block-definition s="$gears show demo %&apos;description&apos; %&apos;demo&apos; %&apos;howmany&apos;" type="command" category="Streams" helper="true"><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%s"></input><input type="%n"></input></inputs><script><block s="doSayFor"><block var="description"/><l>2</l></block><block s="doSayFor"><l></l><l>0.5</l></block><block s="bubble"><custom-block s="show stream %l %n"><block var="demo"/><block var="howmany"/></custom-block></block><block s="doPauseAll"></block><block s="bubble"><l></l></block></script></block-definition><block-definition s="show stream %&apos;stream&apos; %&apos;requested&apos;" type="reporter" category="Streams" helper="true"><comment x="0" y="0" w="181.33333333333334" collapsed="false">As of v2 of the Streams library, this block is obsolete (kept as a hidden block for upward compatibility with v1).</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%n">10</input></inputs><script><block s="doReport"><custom-block s="list %n items of stream %l"><block var="requested"/><block var="stream"/></custom-block></block></script></block-definition><block-definition s="MORE stream blocks …" type="reporter" category="Streams"><comment w="62" collapsed="true">Edit me.</comment><header></header><code></code><translations></translations><inputs></inputs><script><custom-block s="$speechBubble %mlt %cs"><l>for upward compatibility with library v1!</l><script><custom-block s="· %anyUE"><custom-block s="map %repRing over stream %mult%l"><block s="reifyReporter"><script></script><list></list></block><list><l/></list></custom-block></custom-block><custom-block s="· %anyUE"><custom-block s="keep items such that %predRing from stream %l"><block s="reifyPredicate"><script></script><list></list></block><l/></custom-block></custom-block><custom-block s="· %anyUE"><custom-block s="show stream %l %n"><l/><l>10</l></custom-block></custom-block></script></custom-block><custom-block s="$speechBubble %mlt %cs"><l>create streams</l><script><custom-block s="· %anyUE"><custom-block s="stream with numbers from %n to %n step %n"><l>1</l><l>Infinity</l><l>1</l></custom-block></custom-block></script></custom-block><custom-block s="$speechBubble %mlt %cs"><l>higher order functions and UNIQUES</l><script><custom-block s="· %anyUE"><custom-block s="map %repRing over keep %predRing from map %repRing over stream %l"><block s="reifyReporter"><script></script><list></list></block><block s="reifyPredicate"><script></script><list></list></block><block s="reifyReporter"><script></script><list></list></block><l/></custom-block></custom-block><custom-block s="· %anyUE"><custom-block s="$crosshairs flatmap %repRing over stream %l"><block s="reifyReporter"><script></script><list></list></block><l/></custom-block></custom-block><custom-block s="· %anyUE"><custom-block s="flatmap finite %repRing over stream %l"><block s="reifyReporter"><script></script><list></list></block><l/></custom-block></custom-block><custom-block s="· %anyUE"><custom-block s="$flash uniques by %predRing latest 1st? %b of stream %l"><block s="reifyPredicate"><script></script><list></list></block><l/><l/></custom-block></custom-block><custom-block s="· %anyUE"><custom-block s="$flash integrate %repRing with precursor %s over stream %l"><block s="reifyReporter"><script></script><list></list></block><l></l><l/></custom-block></custom-block></script></custom-block><custom-block s="$speechBubble %mlt %cs"><l>mix streams</l><script><custom-block s="· %anyUE"><custom-block s="merge streams %mult%l %br ordered by %repRing uniques? %b by %predRing"><list><l/><l/></list><block s="reifyReporter"><script></script><list></list></block><l/><block s="reifyPredicate"><script></script><list></list></block></custom-block></custom-block><custom-block s="· %anyUE"><custom-block s="keep items from stream %l %br %s stream %l %br ordered by key %repRing"><l/><l>AND</l><l/><block s="reifyReporter"><script></script><list></list></block></custom-block></custom-block></script></custom-block><custom-block s="$speechBubble %mlt %cs"><l>selectors</l><script><custom-block s="· %anyUE"><custom-block s="list %n items with %upvar of stream %l"><l>10</l><l>downstream</l><l/></custom-block></custom-block><custom-block s="· %anyUE"><block s="reifyScript"><script><custom-block s="%upvar for each %upvar in stream %l %cs"><l>#</l><l>item</l><l/><script></script></custom-block></script><list></list></block></custom-block></script></custom-block><custom-block s="$speechBubble %mlt %cs"><l>demos</l><script><custom-block s="· %anyUE"><custom-block s="sorted stream from unsorted list %l"><l/></custom-block></custom-block><custom-block s="· %anyUE"><custom-block s="sieve %l"><l/></custom-block></custom-block></script></custom-block><block s="doReport"><l>Edit me!</l></block></script></block-definition><block-definition s="keep items such that %&apos;pred&apos; from stream %&apos;stream&apos;" type="reporter" category="Streams" helper="true"><comment x="0" y="0" w="239.42239583333335" collapsed="false">As of v2 of the Streams Library, this function as been superseded by KEEP ITEMS () FROM STREAM ().</comment><header></header><code></code><translations>pt:os itens tais que _ do canal _&#xD;</translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="keep items %predRing from stream %l"><block var="pred"/><block var="stream"/></custom-block></block></script><scripts><script x="10" y="95.66666666666663"><custom-block s="$speechBubble %mlt"><l>Demo</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="keep items such that %predRing from stream %l"><block s="reifyPredicate"><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 s="stream with numbers from %n"><l>1</l></custom-block></custom-block></custom-block></block></script></scripts></block-definition><block-definition s="$gears HELPER stream repeating %&apos;items&apos;" type="reporter" category="Streams" helper="true"><header></header><code></code><translations>pt:um canal com _&#xD;</translations><inputs><input type="%l">help</input></inputs><script><block s="doReport"><custom-block s="%s in front of stream %anyUE"><block s="reportListItem"><l>1</l><block var="items"/></block><custom-block s="$gears HELPER stream repeating %l"><custom-block s="%l followed by %s"><block s="reportCDR"><block var="items"/></block><block s="reportListItem"><l>1</l><block var="items"/></block></custom-block></custom-block></custom-block></block></script></block-definition><block-definition s="%&apos;#&apos; for each %&apos;item&apos; in stream %&apos;stream&apos; %&apos;action&apos;" type="command" category="Streams" helper="true"><comment x="0" y="0" w="238" collapsed="false">The stream equivalant of FOR EACH (item) OF (list).&#xD;&#xD;CAUTION&#xD;If the embedded action uses a variable that is external to this block, the variable can not be changed inside the action.&#xD;&#xD;General info on streams: see the help text of TAIL OF STREAMS.</comment><header></header><code></code><translations></translations><inputs><input type="%upvar"></input><input type="%upvar"></input><input type="%l"></input><input type="%cs"></input></inputs><script><custom-block s="let %upvar $arrowLeft %s"><l>action*</l><custom-block s="substitute vars %s"><block var="action"/></custom-block></custom-block><block s="doSetVar"><l>#</l><l>1</l></block><block s="doUntil"><custom-block s="is stream %l empty?"><block var="stream"/></custom-block><script><block s="doSetVar"><l>item</l><custom-block s="head of stream %l"><block var="stream"/></custom-block></block><block s="doRun"><block s="reportAttributeOf"><block var="action*"/><block s="reportEnvironment"><l><option>script</option></l></block></block><list></list></block><block s="doChangeVar"><l>#</l><l>1</l></block><block s="doSetVar"><l>stream</l><custom-block s="tail of stream %l"><block var="stream"/></custom-block></block></script></block></script><scripts><script x="10" y="262.1666666666666"><custom-block s="%upvar for each %upvar in stream %l %cs"><l>#</l><l>item</l><custom-block s="stream %mult%s"><block s="reportNumbers"><l>11</l><l>20</l></block></custom-block><script><block s="doSayFor"><block s="reportNewList"><list><block var="#"/><block var="item"/></list></block><l>0.5</l></block></script></custom-block></script></scripts></block-definition><block-definition s="sorted stream from unsorted list %&apos;data&apos;" type="reporter" category="Streams" helper="true"><comment x="0" y="0" w="285.4601562500002" collapsed="false">A stream of sorted items (in ascending order) from an unsorted list. So item 1 of the stream is the list’s smallest item. If you are only looking for a few of a list’s smallest items, but don’t know how many in advance, this approach makes sense.&#xD;&#xD;For practical purposes, [SORTED] OF is usually faster, though. This is because the latter block’s JavaScript code was very much optimized for runtime efficiency - it ain’t fair, really.</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="data"/></block><script><block s="doReport"><custom-block s="the empty stream"></custom-block></block></script><list></list></block><custom-block s="let %upvar $arrowLeft %s"><l>lowest</l><block s="reportVariadicMin"><block var="data"/></block></custom-block><custom-block s="let %upvar $arrowLeft %s"><l>low index</l><block s="reportListIndex"><block var="lowest"/><block var="data"/></block></custom-block><custom-block s="let %upvar $arrowLeft %s"><l>length</l><block s="reportListAttribute"><l><option>length</option></l><block var="data"/></block></custom-block><block s="doReport"><custom-block s="%s in front of stream %anyUE"><block var="lowest"/><custom-block s="sorted stream from unsorted list %l"><block s="reportListItem"><block s="reportVariadicSum"><list><block s="reportModulus"><block s="reportNumbers"><block var="low index"/><block s="reportDifference"><block s="reportVariadicSum"><list><block var="low index"/><block var="length"/></list></block><l>2</l></block></block><block var="length"/></block><l>1</l></list></block><block var="data"/></block></custom-block></custom-block></block></script><scripts><script x="10" y="355.74999999999994"><custom-block s="$speechBubble %mlt"><l>Demo: only the top-3 of lowest numbers from a large list is calculated</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>3</l><custom-block s="sorted stream from unsorted list %l"><block s="reportListAttribute"><l><option>shuffled</option></l><block s="reportNumbers"><l>1</l><l>123456</l></block></block></custom-block></custom-block></block></script></scripts></block-definition><block-definition s="$speechBubble %&apos;text&apos; %&apos;action&apos;" type="command" category="other"><header></header><code></code><translations></translations><inputs><input type="%mlt">no comment!</input><input type="%cs" initial="1"></input></inputs><script><block s="doRun"><block var="action"/><list></list></block></script></block-definition><block-definition s="$gears HELPER interleave streams %&apos;delayed streams&apos;" type="reporter" category="Streams" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l" initial="2"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block s="reportCDR"><block var="delayed streams"/></block></block><script><block s="doReport"><block s="reportIfElse"><block s="reportListIsEmpty"><block var="delayed streams"/></block><custom-block s="the empty stream"></custom-block><block s="evaluate"><block s="reportListItem"><l>1</l><block var="delayed streams"/></block><list></list></block></block></block></script><list></list></block><block s="doIf"><custom-block s="is stream %l empty?"><custom-block s="%upvar $arrowLeft %s"><l>first</l><block s="evaluate"><block s="reportListItem"><l>1</l><block var="delayed streams"/></block><list></list></block></custom-block></custom-block><script><block s="doReport"><custom-block s="$gears HELPER interleave streams %l"><block s="reportCDR"><block var="delayed streams"/></block></custom-block></block></script><list></list></block><block s="doReport"><custom-block s="%s in front of stream %anyUE"><custom-block s="head of stream %l"><block var="first"/></custom-block><custom-block s="$gears HELPER interleave streams %l"><custom-block s="%l followed by %s"><block s="reportCDR"><block var="delayed streams"/></block><custom-block s="delay %anyUE"><custom-block s="tail of stream %l"><block var="first"/></custom-block></custom-block></custom-block></custom-block></custom-block></block></script></block-definition><block-definition s="interleave streams %&apos;a&apos; %&apos;b&apos;" type="reporter" category="Streams" helper="true"><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></input><input type="%anyUE" initial="1"></input></inputs><script><block s="doIf"><custom-block s="is stream %l empty?"><block var="a"/></custom-block><script><block s="doReport"><block s="evaluate"><block var="b"/><list></list></block></block></script><list></list></block><block s="doReport"><custom-block s="%s in front of stream %anyUE"><custom-block s="head of stream %l"><block var="a"/></custom-block><custom-block s="interleave streams %l %anyUE"><block s="evaluate"><block var="b"/><list></list></block><custom-block s="tail of stream %l"><block var="a"/></custom-block></custom-block></custom-block></block></script></block-definition><block-definition s="keep items from stream %&apos;a&apos; $nl %&apos;logical operator&apos; stream %&apos;b&apos; $nl ordered by key %&apos;key function&apos;" type="reporter" category="Streams" helper="true"><comment x="0" y="0" w="227.85714285714286" collapsed="false">Merge two streams, keeping only items satisfying a logical condition with respect to the items of a second stream.&#xD;&#xD;INPUT&#xD;1. primary stream;&#xD;2. logical operator (AND, OR, XOR, NOT);&#xD;3. secondary stream;&#xD;4. key function, by which both streams are supposed to have been pre-sorted (ascending).&#xD;&#xD;WHAT IT DOES (with each logical operator)&#xD;AND: items from the primary stream that are also in the secondary stream will be kept (in case of multiple copies in either stream: the output stream will contain as many copies as the minimum number of copies of both input streams);&#xD;OR: items that are either in the primary or secondary stream, or both, will be kept. &#xD;In case of multiple copies of an item: like AND.&#xD;XOR: like OR, but items that are in both streams will be excluded.&#xD;NOT: items are kept that are in the primary stream and not in the secondary stream.</comment><header></header><code></code><translations></translations><inputs><input type="%l" initial="1"></input><input type="%s" readonly="true" initial="1">AND<options>AND&#xD;OR&#xD;XOR&#xD;but NOT</options></input><input type="%l" initial="1"></input><input type="%repRing" initial="1"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="logical operator"/><l>AND</l></list></block><script><block s="doReport"><custom-block s="keep items from stream %l %br AND stream %l %br ordered by key %repRing"><block var="a"/><block var="b"/><block var="key function"/></custom-block></block></script><list><block s="reportVariadicEquals"><list><block var="logical operator"/><l>OR</l></list></block><script><block s="doReport"><custom-block s="keep items from stream %l %br OR stream %l %br ordered by key %repRing"><block var="a"/><block var="b"/><block var="key function"/></custom-block></block></script><block s="reportVariadicEquals"><list><block var="logical operator"/><l>XOR</l></list></block><script><block s="doReport"><custom-block s="keep items from stream %l %br XOR stream %l %br ordered by key %repRing"><block var="a"/><block var="b"/><block var="key function"/></custom-block></block></script></list></block><block s="doReport"><custom-block s="keep items from stream %l %br but NOT stream %l %br ordered by key %repRing"><block var="a"/><block var="b"/><block var="key function"/></custom-block></block></script><scripts><script x="7.142857142857143" y="388.83333333333366"><custom-block s="$speechBubble %mlt"><l>Demo</l></custom-block><block s="doReport"><custom-block s="list %n items of stream %l"><l>10</l><custom-block s="keep items from stream %l %br %s stream %l %br ordered by key %repRing"><custom-block s="stream with numbers from %n"><l>1</l></custom-block><l>XOR</l><custom-block s="generate stream %repRing %upvar w/seeds: %mult%s"><block s="reifyReporter"><autolambda><block s="reportVariadicProduct"><list><block var="#"/><l>2.5</l></list></block></autolambda><list></list></block><l>#</l><list></list></custom-block><block s="reifyReporter"><script></script><list></list></block></custom-block></custom-block></block></script></scripts></block-definition><block-definition s="%&apos;value&apos; following %&apos;data&apos;" type="reporter" category="lists"><comment x="0" y="0" w="187.00000000000003" collapsed="false">The counterpart of IN FRONT OF: returns the first input attached at the back end of the list that is the second input</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportConcatenatedLists"><list><block var="data"/><block s="reportNewList"><list><block var="value"/></list></block></list></block></block></script></block-definition><block-definition s="square %&apos;number&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1"></input></inputs><script><block s="doReport"><block s="reportVariadicProduct"><list><block var="number"/><block var="number"/></list></block></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="6473"><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="6474"></list></costumes><sounds><list struct="atomic" id="6475"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="3"><sprite name="dice1" idx="1" x="-90" y="10" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" costume="4" color="80,80,80,1" pen="tip" id="6480"><costumes><list id="6481"><item><ref mediaID="dice1_cst_1"></ref></item><item><ref mediaID="dice1_cst_2"></ref></item><item><ref mediaID="dice1_cst_3"></ref></item><item><ref mediaID="dice1_cst_4"></ref></item><item><ref mediaID="dice1_cst_5"></ref></item><item><ref mediaID="dice1_cst_6"></ref></item></list></costumes><sounds><list struct="atomic" id="6482"></list></sounds><blocks></blocks><variables></variables><scripts><script x="275" y="108.33333333333337"><block s="receiveMessage"><l>roll</l><list></list></block><block s="doSwitchToCostume"><block s="reportRandom"><l>1</l><l>6</l></block></block><block s="doSetVar"><l>dice 1</l><block s="getCostumeIdx"></block></block></script><script x="323" y="321.33333333333337"><block s="receiveGo"></block><block s="gotoXY"><l>-90</l><l>10</l></block></script></scripts></sprite><watcher scope="dice1" s="getCostumeIdx" style="normal" x="10" y="31.000001999999995" color="143,86,227" hidden="true"/><watcher scope="dice1" s="yPosition" style="normal" x="10" y="83.00000599999998" color="74,108,212" hidden="true"/><watcher scope="dice1" s="xPosition" style="normal" x="10" y="104.00000799999998" color="74,108,212" hidden="true"/><watcher scope="dice2" s="yPosition" style="normal" x="10" y="125.00000999999997" color="74,108,212" hidden="true"/><watcher scope="dice2" s="xPosition" style="normal" x="10" y="146.00001199999997" color="74,108,212" hidden="true"/><sprite name="dice3" idx="4" x="30" y="10" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" costume="5" color="80,80,80,1" pen="tip" id="6508"><costumes><list id="6509"><item><ref mediaID="dice3_cst_1"></ref></item><item><ref mediaID="dice3_cst_2"></ref></item><item><ref mediaID="dice3_cst_3"></ref></item><item><ref mediaID="dice3_cst_4"></ref></item><item><ref mediaID="dice3_cst_5"></ref></item><item><ref mediaID="dice3_cst_6"></ref></item></list></costumes><sounds><list struct="atomic" id="6510"></list></sounds><blocks></blocks><variables></variables><scripts><script x="20" y="10"><block s="receiveMessage"><l>roll</l><list></list></block><block s="doSwitchToCostume"><block s="reportRandom"><l>1</l><l>6</l></block></block><block s="doSetVar"><l>dice 3</l><block s="getCostumeIdx"></block></block></script><script x="41" y="165.33333333333337"><block s="receiveGo"></block><block s="gotoXY"><l>30</l><l>10</l></block></script></scripts></sprite><sprite name="dice2" idx="2" x="-30" y="10" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" costume="5" color="80,80,80,1" pen="tip" id="6531"><costumes><list id="6532"><item><ref mediaID="dice2_cst_1"></ref></item><item><ref mediaID="dice2_cst_2"></ref></item><item><ref mediaID="dice2_cst_3"></ref></item><item><ref mediaID="dice2_cst_4"></ref></item><item><ref mediaID="dice2_cst_5"></ref></item><item><ref mediaID="dice2_cst_6"></ref></item></list></costumes><sounds><list struct="atomic" id="6533"></list></sounds><blocks></blocks><variables></variables><scripts><script x="275" y="221.33333333333337"><block s="receiveMessage"><l>roll</l><list></list></block><block s="doSwitchToCostume"><block s="reportRandom"><l>1</l><l>6</l></block></block><block s="doSetVar"><l>dice 2</l><block s="getCostumeIdx"></block></block></script><script x="197" y="416.33333333333337"><block s="receiveGo"></block><block s="gotoXY"><l>-30</l><l>10</l></block></script></scripts></sprite><watcher var="dice 1" style="normal" x="5" y="3" color="243,118,29"/><watcher var="dice 2" style="normal" x="6" y="32.00000399999999" color="243,118,29"/><watcher var="dice 3" style="normal" x="8" y="59.000013999999965" color="243,118,29"/><watcher scope="Roll Button" s="yPosition" style="normal" x="10" y="167.00001399999996" color="74,108,212" hidden="true"/><watcher scope="Roll Button" s="xPosition" style="normal" x="10" y="188.00001599999996" color="74,108,212" hidden="true"/><watcher var="total" style="normal" x="200" y="252.000004" color="243,118,29"/><sprite name="Roll Button" idx="3" x="0" y="-120" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="false" costume="1" color="64.46400000000007,0,201.45000000000002,1" pen="tip" id="6560"><costumes><list id="6561"><item><ref mediaID="Roll Button_cst_button_roll-dice"></ref></item></list></costumes><sounds><list struct="atomic" id="6562"></list></sounds><blocks></blocks><variables></variables><scripts><script x="54" y="93.49999999999974"><block s="receiveInteraction"><l><option>clicked</option></l></block><block s="doBroadcastAndWait"><l>roll</l><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><block var="dice 1"/><block var="dice 2"/><block var="dice 3"/></list></block><script><block s="doSayFor"><l>three of a kind</l><l>1</l></block></script><list><block s="reportVariadicEquals"><list><block var="total"/><l>10</l></list></block><script><block s="doSayFor"><l>equals 10</l><l>1</l></block></script><block s="reportVariadicGreaterThan"><list><block var="total"/><l>15</l></list></block><script><block s="doSayFor"><l>greater than 15</l><l>1</l></block></script><block s="reportVariadicLessThan"><list><block var="total"/><l>7</l></list></block><script><block s="doSayFor"><l>less than 7</l><l>1</l></block></script><block s="reportVariadicOr"><list><block s="reportVariadicEquals"><list><block var="dice 1"/><block var="dice 2"/></list></block><block s="reportVariadicEquals"><list><block var="dice 2"/><block var="dice 3"/></list></block><block s="reportVariadicEquals"><list><block var="dice 3"/><block var="dice 1"/></list></block></list></block><script><block s="doSayFor"><l>pair</l><l>1</l></block></script><block s="reportVariadicOr"><list><block s="reportVariadicGreaterThan"><list><block var="dice 1"/><block s="reportVariadicSum"><list><block var="dice 2"/><block var="dice 3"/></list></block></list></block><block s="reportVariadicGreaterThan"><list><block var="dice 2"/><block s="reportVariadicSum"><list><block var="dice 1"/><block var="dice 3"/></list></block></list></block><block s="reportVariadicGreaterThan"><list><block var="dice 3"/><block s="reportVariadicSum"><list><block var="dice 1"/><block var="dice 2"/></list></block></list></block></list></block><script><block s="doSayFor"><l>One greater than the others</l><l>1</l></block></script><block s="reportBoolean"><l><bool>true</bool></l></block><script><block s="doSayFor"><l>nothing</l><l>1</l></block></script></list></block></script><script x="487" y="139.33333333333303"><block s="receiveGo"></block><block s="doSetVar"><l># of rolls</l><l>0</l></block><block s="gotoXY"><l>0</l><l>-120</l></block><block s="doForever"><script><block s="doSetVar"><l>total</l><block s="reportVariadicSum"><list><block var="dice 1"/><block var="dice 2"/><block var="dice 3"/></list></block></block></script></block></script></scripts></sprite><watcher var="# of rolls" style="normal" x="7" y="83.00001799999995" color="243,118,29"/><watcher var="THE EMPTY STREAM" style="normal" x="10" y="209.00001799999995" color="243,118,29" extX="80" extY="70" hidden="true"/></sprites></stage><variables><variable name="dice 1"><l>4</l></variable><variable name="dice 2"><l>5</l></variable><variable name="total"><l>14</l></variable><variable name="dice 3"><l>5</l></variable><variable name="# of rolls"><l>0</l></variable><variable name="THE EMPTY STREAM"><list struct="atomic" id="6719">*the empty stream*</list></variable></variables></scene></scenes></project><media name="Dice Game Starter" app="Snap! 10, https://snap.berkeley.edu" version="2"><costume name="1" center-x="27" center-y="27.5" image="data:image/png;base64,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" mediaID="dice1_cst_1"/><costume name="2" center-x="28.5" center-y="25.5" image="data:image/png;base64,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" mediaID="dice1_cst_2"/><costume name="3" center-x="26" center-y="26.5" image="data:image/png;base64,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" mediaID="dice1_cst_3"/><costume name="4" center-x="25" center-y="24.5" image="data:image/png;base64,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" mediaID="dice1_cst_4"/><costume name="5" center-x="25" center-y="25.5" image="data:image/png;base64,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" mediaID="dice1_cst_5"/><costume name="6" center-x="28.5" center-y="26" image="data:image/png;base64,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" mediaID="dice1_cst_6"/><costume name="1" center-x="27" center-y="27.5" image="data:image/png;base64,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" mediaID="dice3_cst_1"/><costume name="2" center-x="28.5" center-y="25.5" image="data:image/png;base64,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" mediaID="dice3_cst_2"/><costume name="3" center-x="26" center-y="26.5" image="data:image/png;base64,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" mediaID="dice3_cst_3"/><costume name="4" center-x="25" center-y="24.5" image="data:image/png;base64,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" mediaID="dice3_cst_4"/><costume name="5" center-x="25" center-y="25.5" image="data:image/png;base64,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" mediaID="dice3_cst_5"/><costume name="6" center-x="28.5" center-y="26" image="data:image/png;base64,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" mediaID="dice3_cst_6"/><costume name="1" center-x="27" center-y="27.5" image="data:image/png;base64,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" mediaID="dice2_cst_1"/><costume name="2" center-x="28.5" center-y="25.5" image="data:image/png;base64,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" mediaID="dice2_cst_2"/><costume name="3" center-x="26" center-y="26.5" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADQAAAA1CAYAAAAOJMhOAAAAAXNSR0IArs4c6QAADIJJREFUaEPNmgmQFOUVx/8zPVd3T0/PzuwBLoccGm4EV4mximBAwDulhAi6KKhICsRaXQRUlCBeYSGAGiuQWDobwqFBFAlGvPAkUiBQ4IFUkA0L7DF395x9pF5Pz7qzYpXshsFv66vuqenZfr/vve9973vvsyDXLOY1f0+fO/b8I+2fbfezotzq5lvoerreJjQ9ZzUh2l/pPv85D9hxAIpBkgehd2kmTP6qtv9MQrYXmu4Z6lv+VDuq7/m+6VY7M8JpY7pD10F/57IZpmGxIK0jqKYy+45F0uuvn7pkBwCCoq7RMzYTikDo3rZr4+8fEssc9zptLhtjs4FxuMDY3bBYHeeSx1COlk1AyUhQMhmoigIpmV4/c/Fr9+3evVsmKAIiKQ0Quv/0lcUP+n18jYtj4eIF2Pnz4BB6gHHwsFjpEWOQitv03IQhK9HUNJRkEOnoUSRjLUglkohKyS1V1y26G0CaRONMGOeaJ6aPGjNy4Banh2M4jwcOT184PD1hZZg2r1F0mLwXMK3d8AQ6oKZiSIW/RCJyCnJcwqEjJ+feNGvlRgISADgBuD7c+OAzFWW+X7u9IpxCJVj/z2BlrLBYLAVusLjqKXxbm6Z0ICuHkQgehBRqQTgU3X3JjUsmEVAJABYA/9nrD//LL/r6uNxeuCuGwsl7DQdCQD+1ppGTUjVILd9Aaj0CKSw1Dbt+0WiStJxgSFN7ty3+0MO7Pay3EmL3IWAYa+EKVSSqaMtxHDtyCLIso0fP89G9zyDYHK7vvV3XgGS8BdHG/UjEw7EhVy82gCoBuAGI+197+G3WLQhCRT8Ipf1yk7+IyskkJWzdFMDTz7+KrxvC0HQGJYIDN44bipp7ZqD3wKoCKF3XkU1KCB7bi0SkNT7shqVXkri9AXgAePe+8sg/WdHl9na7ALyvJyyW4q07SjaFZUuX4om178DCOODmXWBdLlisDJJpDd1EK15eMx99h4z6DormUTqJYMN+xFvD0shJS64loL6kHQC+PZsWbWFFp9vbrS84byVQRKB9n+zAmJsfh93ugCC4wfO80R0OBzRNQyiWxLjhJVi+YgnsTnLMuYBFSScROn4I8ZaIdPHkx24koAtMx+D/bP28lzmvhxfLe4HzVhRpxpAb1vHYI0uw6u+74PEI8Hg88Hq9EAQBLMsa38clGfFoEBtXz0LPC4a2yaakUwif/Aax5mb50inLJhPQgDzQrnW1G3ivwAv+buDE8qKtoKqSwczfLcTWj47B7xPh8/mMTlCkJfKy0WgMp5qasHr+BAypurwNKJtOINr0LWKtIfnnU+umENAgE6h0Z33tOq+X53nRawCR/RajaaqK+x9Yig07jqC8rAR+vx+lpaUGFGmLgEKhEBobT2D1/HHoP3hkm1jpRAxS6BRCwZg8+ta6WwhosAlU9n59bb3o4XhO4EFrEWN35ZblIrQ3Xt2MWY9tR1mZtw2opKTEACKTa2oJwZ5pxspHp8LtLTUk0nUNaTmKRDyKUEiSx1TXVeeBfADK3q2vCXjdHM8KbjicFJC6imZ2UrgF1XNX4WBDBpXdfPCVlED0euFyuZBRVLQGo7h/Ui+MHju2bXg1NQOaQwlJQjgiyVdUr5hWAPTOS/cGRDfLs2437E6nYXIWa347dPbV1Hj0MBYs24JDDWnwbgFuksNuh92axW3jzsM1144DY6dYmqJVHZqmQs1mkZRkhGOSPHbaykKgHS/OCYgc1w6oiKuqOV4pKYYDBw5iz6FGZBQdvbuLGDWiP7r36vs9a6HJoGaySMqSAXTl7c8UAr31wl0BgfOYJuc0JmMuGDz72jndG2iOWCxkIR2aOc50yWaySJOG4iF5/Iy1HYDWzgjwnGg4BZvDYZpb12F0TUU6SfsvwOHije3I/6XpOhRFQUqSESOgO1/oAPTs7QFW9PCc220Cdd3kjh7+Epvf3Is9XzUbJjOsfyluGj8c/QcO7vqA6bqxa03KCUjBkDx+zouFQNtXVwc40WPMIUNDXdg2kLnsfPcDzFv9IRTVCofLaUxwTbfCZtWx8NbBmDDhl7AyuV1wp5oJlJITiIdC8lVz6wuBtv2RgHgDiHHYuwR09PBX+O38zYDFDsHNgeM4I4xhGAaZrAo5kcTKuVUYMPS7MOaMoQwgFelEAvFgVL6mpgPQ1rrqAOdleZbnuwREc2b5c69g03vHjECTFkfqeTesqiqCEQnDKjXMu3ui6YrPGMdw3d8BSfJ1tR2AXqu7JcAJLp5182DsnddQSo5j2rwAjodU+Eo8oBU/v+qTlggoFIlCT7biyTmXg/PQut6JRkAqaSiJeFiSb6hdV2hym+qmBDy8M6ehLgHFcMu8vyEoWVDqz8Vm1AmKtERCNLcGkYqcwKN3Xgxe7CwQoKqKARSOyfLk2vWFQOv/MDkgci4DyGq3dXoOaaqCp599FW/uCaFbuc8INPPBZg5IwfETLfDbWjB7yiWn3V7/KH1RwKAqRiorHJflmx/YVAi07qnrAyIrmEBMp4FImK+/+AKzln0CX4mIUr/P0JAoikZslk5ncLI5hDuucGHI0IE/SvYfekhTNKSTCYTjEXnqgtcLgeofvyYgcgLv4jlYbZ3XEL2ctLR1+yd4ftt/4RVFY5/D827DTSdTGVw5GLhqzNDOOwSTkLYemWQK4VhEvvWhNzoALbkq4G4D6pqG8lBffnEYm3cew6mIDrvDiZ5lTkyo8mPgwH5gbF1PLeeBovGIXL1oewegh8YHOJFMjstlS7uwsLY3ETWbNsyC9jVOluv8nDmN3ZGDIQ3FQxG5+vG3CoECC8cHWJHjWS4HVPwk9plPJ53cdioNKRSTpz3ZAeil+eMDLo+LdxlAlGT8fixHe/gTjafwn8YIWKcN/XuXwl9aDktXQpgz52j7ha5pyKRSkMOyfNtTHYBemDc2wOaBaGPXAaixoQHP/eMADjUkAIvNmOCc04qJVX5MGjcIrJuyYcVtOaC0ATR92duFJvfX2jEBl2BqqANQ66mTmL3iY2QUBoLAGnGZ00k5fgtiiSwu6sVgzuSLYHNSmrx4rQ0oIst31L1XCLSmdnSA5XJAxtbbtDhdU7Cq/iN8dDACQeCNfBktkBRwUrCpZBU0h+KYPUHEgAF9ikdDe09NRzadhhyT5bvqdhYCPXvfpQGB3DZbCJSSY7j76Z1QYIdXzMVmtEgSFGkpk8mguTWCQWUybhp34el3mWcJMw+UkCLyzOX/LgRaXVMV8LAC72TZAg3J0TBmLf8UNgcLv6+kLRFIUGR6BHSqOQhBb8btE3vBwtjPkvin+beGhjKIyBH5nhW7C4FWzh2ZA+JNIDOXQFWBOSs+hsawRhhDcVk+2KTMZiqVQkNjE/rxzZh4WQ/gdHmAs4aoI5tKIyJF5XtX7SkEWjFnRMDDunmqr8LazmXrKl7c8jneOZjAeRU5oHyqlmKzZDKJhsZmTB6RRI9KKjcVsVFJhTQkReWaZz4vBFp+1/CA4OENp1AABECKhrFw7UEoDI/u5bn9Dc0hi4VBOJ7Chd4wrh5VVlxzo3FrB3T/c/sLgeruHB7geAfP8e7cGkRaapfCioSC2PB+I75ptsDJ8kb9hndacGkf4LKBXjCO4rpswwtrurGwxqKyXPuXDkArZ46ot9rAUdbSastnTAuTcuTCo9E4IlIGdpsVfpGFi+XPSZhkSKbpSMoyMmklUbNmX0Fuu/SJGUP/zNpR5mRdcLrM0e56JuvsTSgq7ysKZElCWkV0wdoD0wvKKQt+M2BRudd2sW6BMT/oFAnd/xSbUVzUdUiSlINKKUcfqf/6vvYFr9JfXVRxxbVVpTWqrsFqtcJtmB5zrjLBPziOJDRtRRKyjGwmDauFwb4jkQ317zeup+8uNOtDlKmoqLmh3+zKUkcV1TUtjBUsyxkJQmNtMYblXKmMEggGipG6SiYTULJZMFYrIjH16IptR59KJLLH6Yl+ZtHYTzUilkXFzLE9Z/Qo54fQKNAfxWtUzKXruWw0yIqSNWJHMjeKN4Ph1LcvfdCw9mRQOwagJV/Wp7ifjo1QaYzASiaOKP3F4N6ekYLdVmJhjANOP5lmZZCNS6nokab0oS27mj7QgBYArQCCBNQjf/CCSvtmJzg6u0AHMuiUCe0TKEDLn607F3Bk73ToL2P2BK33AGIAwgBC1PNHY0hwOsSU1xQB0WeCoUMBeSCyuSKfLzHGLn8ck4CydIwMQBIA1WgIKAogQlcSjrRiHF4ytUIgee0QDH1HQFQmIKDi1Si/s4O8dghIMYFSJhBpKW6Cxf8HIKwZZwdrQs4AAAAASUVORK5CYII=" mediaID="dice2_cst_3"/><costume name="4" center-x="25" center-y="24.5" image="data:image/png;base64,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" mediaID="dice2_cst_4"/><costume name="5" center-x="25" center-y="25.5" image="data:image/png;base64,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" mediaID="dice2_cst_5"/><costume name="6" center-x="28.5" center-y="26" image="data:image/png;base64,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" mediaID="dice2_cst_6"/><costume name="button_roll-dice" center-x="70" center-y="20" image="data:image/png;base64,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" mediaID="Roll Button_cst_button_roll-dice"/></media></snapdata>