<snapdata remixID="10289304"><project name="kayak" app="Snap! 6, https://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><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" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAOhUlEQVR4Xu3VwQkAAAjEMN1/abewn7jAQRC64wgQIECAAIF3gX1fNEiAAAECBAiMAHsCAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+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+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQIHLFxAWmhEwHPAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="2"></list></costumes><sounds><list struct="atomic" id="3"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="Sprite" idx="1" x="0" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="80,80,80,1" pen="tip" id="8"><costumes><list struct="atomic" id="9"></list></costumes><sounds><list struct="atomic" id="10"></list></sounds><blocks></blocks><variables></variables><scripts><script x="385" y="87"><block s="receiveGo"></block><block s="doSetVar"><l>lyrics</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>lyrics</l><block s="reportConcatenatedLists"><list><block var="lyrics"/><block s="reportTextSplit"><block var="text file"/><l><option>line</option></l></block></list></block></block><block s="doSetVar"><l>empty string</l><l></l></block><block s="doSetVar"><l>lyrics with just letters</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><block var="lyrics"/><script><block s="doDeclareVariables"><list><l>line</l></list></block><block s="doSetVar"><l>line</l><block var="empty string"/></block><block s="doFor"><l>i</l><l>1</l><block s="reportStringSize"><block var="item"/></block><script><block s="doIf"><custom-block s="is %s a letter?"><block s="reportLetter"><block var="i"/><block var="item"/></block></custom-block><script><block s="doSetVar"><l>line</l><block s="reportJoinWords"><list><block var="line"/><block s="reportLetter"><block var="i"/><block var="item"/></block></list></block></block></script></block></script></block><block s="doAddToList"><block var="line"/><block var="lyrics with just letters"/></block></script></block><block s="doSetVar"><l>is palindrome</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><block var="lyrics with just letters"/><script><block s="doAddToList"><custom-block s="is %s a palindrome?"><block var="item"/></custom-block><block var="is palindrome"/></block></script></block></script><script x="105" y="696.6666666666666"><custom-block s="is %s a palindrome?"><l>tacocat</l></custom-block></script><script x="38" y="657.6666666666666"><custom-block s="%s backwards"><l>pogger</l></custom-block></script><script x="67" y="592.6666666666666"><custom-block s="is %s a letter?"><l>a</l></custom-block></script></scripts></sprite><watcher var="text file" style="normal" x="10" y="10" color="243,118,29" hidden="true"/><watcher var="empty string" style="normal" x="10" y="328.000004" color="243,118,29" hidden="true"/><watcher var="lyrics" style="normal" x="2" y="7.000001999999995" color="243,118,29" extX="80" extY="321"/><watcher var="lyrics with just letters" style="normal" x="129" y="2.999998000000005" color="243,118,29" extX="80" extY="329"/><watcher var="is palindrome" style="normal" x="257" y="3.999998000000005" color="243,118,29" extX="87" extY="333"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="all but first letter of %&apos;string&apos;" type="reporter" category="operators"><comment x="0" y="0" w="199" collapsed="false">Takes a text string as input, and reports a new text string containing all but the first character of the input.</comment><header></header><code></code><translations>pt:_ sem o primeiro caractere&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>i</l></list></block><block s="doIf"><block s="reportIsA"><block var="string"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="all but first letter of %txt"><l></l></custom-block></autolambda><list></list></block><block var="string"/></block></block></script></block><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>str</l></list><l>return str.slice(1);</l></block><list><custom-block s="require nonempty %s %s"><block var="string"/><l>All but first of empty word.</l></custom-block></list></block></block></script><scripts><script x="11.333333333333334" y="249.0000000000001"><block s="doWarp"><script><block s="doSetVar"><l>result</l><l></l></block><block s="doSetVar"><l>i</l><l>2</l></block><block s="doUntil"><block s="reportGreaterThan"><block var="i"/><block s="reportStringSize"><block var="string"/></block></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportLetter"><block var="i"/><block var="string"/></block></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></scripts></block-definition><block-definition s="all but first word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="223.000001" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing all but the first word, with one space between words and no spaces at the beginning or end. (Note: consider using SENTENCE➞LIST and processing the resulting list instead of doing recursion on sentences in text string form.  List operations are faster.)</comment><header></header><code></code><translations>pt:_ sem a primeira palavra&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="sentence"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportListIsEmpty"><block var="sentence"/></block><script><custom-block s="error %txt"><l>All but first of empty sentence.</l></custom-block></script><script><block s="doReport"><block s="reportCDR"><block var="sentence"/></block></block></script></block></script></block><block s="doReport"><custom-block s="list $arrowRight sentence %l"><block s="reportCDR"><custom-block s="require nonempty %s %s"><custom-block s="sentence $arrowRight list %txt"><block var="sentence"/></custom-block><l>All but first of empty sentence.</l></custom-block></block></custom-block></block></script><scripts><script x="13.333333333333334" y="368.8888888888889"><block s="doDeclareVariables"><list><l>index</l><l>bf</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>bf</l><l></l></block><block s="doSetVar"><l>index</l><l>1</l></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block><script><custom-block s="error %txt"><l>All but first of empty sentence.</l></custom-block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doIf"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><script><block s="doReport"><l></l></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block><script><block s="doReport"><l></l></block></script></block><block s="doUntil"><block s="reportGreaterThan"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><script><block s="doSetVar"><l>bf</l><block s="reportJoinWords"><list><block var="bf"/><block s="reportLetter"><block var="index"/><block var="sentence"/></block></list></block></block><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doReport"><block var="bf"/></block></script></block></script></scripts></block-definition><block-definition s="all but last letter of %&apos;string&apos;" type="reporter" category="operators"><comment x="0" y="0" w="218" collapsed="false">Takes a text string as input, and reports a new text string containing all but the last letter of the input.</comment><header></header><code></code><translations>pt:_ sem o último caractere&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l><l>i</l></list></block><block s="doIf"><block s="reportIsA"><block var="string"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="all but last letter of %txt"><l></l></custom-block></autolambda><list></list></block><block var="string"/></block></block></script></block><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>str</l></list><l>return str.slice(0,-1);</l></block><list><custom-block s="require nonempty %s %s"><block var="string"/><l>All but last of empty word.</l></custom-block></list></block></block></script><scripts><script x="10" y="264.77777777777777"><block s="doWarp"><script><block s="doSetVar"><l>result</l><l></l></block><block s="doSetVar"><l>i</l><l>1</l></block><block s="doUntil"><block s="reportEquals"><block var="i"/><block s="reportStringSize"><block var="string"/></block></block><script><block s="doSetVar"><l>result</l><block s="reportJoinWords"><list><block var="result"/><block s="reportLetter"><block var="i"/><block var="string"/></block></list></block></block><block s="doChangeVar"><l>i</l><l>1</l></block></script></block><block s="doReport"><block var="result"/></block></script></block></script></scripts></block-definition><block-definition s="all but last word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="211.99999999999997" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing all but the last word, with one space between words and no spaces at the beginning or end.  (Note: consider using SENTENCE-&gt;LIST and processing the resulting list instead of doing recursion on sentences in text string form.  List operations are faster.)</comment><header></header><code></code><translations>pt:_ sem a última palavra&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="sentence"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportListIsEmpty"><block var="sentence"/></block><script><custom-block s="error %txt"><l>All but last of empty sentence.</l></custom-block></script><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>arr</l></list><l>return new List(arr.itemsArray().slice(0,-1));</l></block><list><block var="sentence"/></list></block></block></script></block></script></block><block s="doReport"><custom-block s="list $arrowRight sentence %l"><block s="evaluate"><block s="reportJSFunction"><list><l>arr</l></list><l>return new List(arr.asArray().slice(0,-1));</l></block><list><custom-block s="require nonempty %s %s"><custom-block s="sentence $arrowRight list %txt"><block var="sentence"/></custom-block><l>All but last of empty sentence.</l></custom-block></list></block></custom-block></block></script><scripts><script x="9.333333333333334" y="384.4444444444446"><block s="doDeclareVariables"><list><l>index</l><l>bl</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>bl</l><l></l></block><block s="doSetVar"><l>index</l><block s="reportStringSize"><block var="sentence"/></block></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><l>1</l></block><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></block><script><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block><script><custom-block s="error %txt"><l>All but last of empty sentence.</l></custom-block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><l>1</l></block><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block><script><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doIf"><block s="reportEquals"><block var="index"/><l>1</l></block><script><block s="doReport"><l></l></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><l>1</l></block><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></block><script><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block><script><block s="doReport"><l></l></block></script></block><block s="doUntil"><block s="reportLessThan"><block var="index"/><l>1</l></block><script><block s="doSetVar"><l>bl</l><block s="reportJoinWords"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><block var="bl"/></list></block></block><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doReport"><block var="bl"/></block></script></block></script><script x="249" y="393.55555555555566"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportLessThan"><block var="index"/><block s="reportListAttribute"><l><option>length</option></l><block var="sentence"/></block></block></autolambda><list><l>value</l><l>index</l></list></block><block var="sentence"/></block></script></scripts></block-definition><block-definition s="first word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="236" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing only the first word, with no spaces before or after it.</comment><header></header><code></code><translations>pt:a primeira palavra de _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIfElse"><block s="reportIsA"><block var="sentence"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportListIsEmpty"><block var="sentence"/></block><script><custom-block s="error %txt"><l>First of empty sentence.</l></custom-block></script><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="sentence"/></block></block></script></block></script><script><block s="doReport"><block s="reportListItem"><l>1</l><custom-block s="require nonempty %s %s"><custom-block s="sentence $arrowRight list %txt"><block var="sentence"/></custom-block><l>First of empty sentence.</l></custom-block></block></block></script></block></script><scripts><script x="9.333333333333334" y="345.5555555555555"><block s="doDeclareVariables"><list><l>index</l><l>first</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>first</l><l></l></block><block s="doSetVar"><l>index</l><l>1</l></block><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="sentence"/></block><l>0</l></block><script><custom-block s="error %txt"><l>First of empty sentence.</l></custom-block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block><script><custom-block s="error %txt"><l>First of empty sentence.</l></custom-block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block><script><block s="doSetVar"><l>first</l><block s="reportJoinWords"><list><block var="first"/><block s="reportLetter"><block var="index"/><block var="sentence"/></block></list></block></block><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block><script><block s="doSetVar"><l>first</l><block s="reportJoinWords"><list><block var="first"/><block s="reportLetter"><block var="index"/><block var="sentence"/></block></list></block></block></script></block><block s="doReport"><block var="first"/></block></script></block></script></scripts></block-definition><block-definition s="last letter of %&apos;word&apos;" type="reporter" category="operators"><comment x="0" y="0" w="260" collapsed="false">Takes a text string as input, and reports the last character in the string.</comment><header></header><code></code><translations>pt:o último caractere de _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="word"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="last letter of %txt"><l></l></custom-block></autolambda><list></list></block><block var="word"/></block></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="word"/></block><l>0</l></block><script><custom-block s="error %txt"><l>Last of empty word.</l></custom-block></script></block><block s="doReport"><block s="reportLetter"><block s="reportStringSize"><block var="word"/></block><block var="word"/></block></block></script></block-definition><block-definition s="last word of %&apos;sentence&apos;" type="reporter" category="operators"><comment x="0" y="0" w="262" collapsed="false">Takes a text string as input, divides it into words treating one or more spaces as a word separator (only spaces count; punctuation is part of the word) and reports a text string containing only the last word of the input, with no spaces before or after it.</comment><header></header><code></code><translations>pt:a última palavra de _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="sentence"/><l><option>list</option></l></block><script><block s="doIfElse"><block s="reportListIsEmpty"><block var="sentence"/></block><script><custom-block s="error %txt"><l>Last of empty sentence.</l></custom-block></script><script><block s="doReport"><block s="reportListItem"><l><option>last</option></l><block var="sentence"/></block></block></script></block></script></block><block s="doReport"><block s="reportListItem"><l><option>last</option></l><custom-block s="require nonempty %s %s"><custom-block s="sentence $arrowRight list %txt"><block var="sentence"/></custom-block><l>Last of empty sentence.</l></custom-block></block></block></script><scripts><script x="25.333333333333332" y="276.22222222222223"><block s="doDeclareVariables"><list><l>index</l><l>last</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>last</l><l></l></block><block s="doSetVar"><l>index</l><block s="reportStringSize"><block var="sentence"/></block></block><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="sentence"/></block><l>0</l></block><script><custom-block s="error %txt"><l>Last of empty sentence.</l></custom-block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><l>1</l></block><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></block><script><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block><script><custom-block s="error %txt"><l>Last of empty sentence.</l></custom-block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><l>1</l></block><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block><script><block s="doSetVar"><l>last</l><block s="reportJoinWords"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><block var="last"/></list></block></block><block s="doChangeVar"><l>index</l><l>-1</l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block><script><block s="doSetVar"><l>last</l><block s="reportJoinWords"><list><block s="reportLetter"><block var="index"/><block var="sentence"/></block><block var="last"/></list></block></block></script></block><block s="doReport"><block var="last"/></block></script></block></script></scripts></block-definition><block-definition s="empty word? %&apos;word&apos;" type="predicate" category="operators"><comment x="0" y="0" w="208" collapsed="false">Takes a text string as input, and reports TRUE if the string has no characters in it of any kind, otherwise false.</comment><header></header><code></code><translations>pt:a palavra _ está vazia&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="word"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="empty word? %txt"><l></l></custom-block></autolambda><list></list></block><block var="word"/></block></block></script></block><block s="doReport"><block s="reportEquals"><block s="reportStringSize"><block var="word"/></block><l>0</l></block></block></script></block-definition><block-definition s="empty sentence? %&apos;sentence&apos;" type="predicate" category="operators"><comment x="0" y="0" w="221" collapsed="false">Takes a text string as input, and reports TRUE if the input contains no characters other than spaces (therefore, no words when the string is considered as a sentence), otherwise FALSE.</comment><header></header><code></code><translations>pt:a frase _ está vazia&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l></list></block><block s="doIf"><block s="reportIsA"><block var="sentence"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportListIsEmpty"><block var="sentence"/></block></block></script></block><block s="doReport"><block s="reportListIsEmpty"><custom-block s="sentence $arrowRight list %txt"><block var="sentence"/></custom-block></block></block></script><scripts><script x="12" y="258"><block s="doSetVar"><l>index</l><l>1</l></block><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="sentence"/></block><l>0</l></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doReport"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></script></scripts></block-definition><block-definition s="join words %&apos;words&apos;" type="reporter" category="operators"><comment x="0" y="0" w="230.66666666666666" collapsed="false">Like JOIN, takes any number of words (text strings) and reports a sentence with its inputs concatenated, but inserts a blank space between the inputs.&#xD;Consider using SENTENCE (Lists palette) instead.</comment><header></header><code></code><translations>de:füge Wörter zusammen _&#xD;ca:uneix les paraules _&#xD;es:unir las palabras _&#xD;fr:fusionne les mots _&#xD;pt:uma frase com as palavras _&#xD;</translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="words"/></block><script><block s="doReport"><l></l></block></script></block><block s="doDeclareVariables"><list><l>first</l><l>bf</l></list></block><block s="doSetVar"><l>first</l><block s="reportIfElse"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="words"/></block><l><option>list</option></l></block><custom-block s="join words %mult%txt"><block s="reportListItem"><l>1</l><block var="words"/></block></custom-block><block s="reportListItem"><l>1</l><block var="words"/></block></block></block><block s="doSetVar"><l>bf</l><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></block><block s="doIf"><custom-block s="empty sentence? %txt"><block var="bf"/></custom-block><script><block s="doReport"><block var="first"/></block></script></block><block s="doIf"><custom-block s="empty sentence? %txt"><block var="first"/></custom-block><script><block s="doReport"><block var="bf"/></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block var="first"/><l> </l><block var="bf"/></list></block></block></script><scripts><script x="16.666666666666668" y="409.6666666666668"><block s="doIf"><block s="reportIsA"><block s="reportListItem"><l>1</l><block var="words"/></block><l><option>list</option></l></block><script><block s="doIfElse"><custom-block s="empty sentence? %txt"><block var="first"/></custom-block><script><block s="doReport"><block var="bf"/></block></script><script><block s="doIfElse"><custom-block s="empty sentence? %txt"><block var="bf"/></custom-block><script><block s="doReport"><block var="first"/></block></script><script><block s="doReport"><block s="reportJoinWords"><list><block var="first"/><l> </l><block var="bf"/></list></block></block></script></block></script></block></script></block><block s="doIf"><custom-block s="empty sentence? %txt"><block s="reportListItem"><l>1</l><block var="words"/></block></custom-block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></block></script></block><block s="doIf"><block s="reportEquals"><l></l><block s="reportListItem"><l>2</l><block var="words"/></block></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="words"/></block><block s="reportCDR"><block s="reportCDR"><block var="words"/></block></block></block></custom-block></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportListItem"><l>1</l><block var="words"/></block><l> </l><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></list></block></block></script></scripts></block-definition><block-definition s="list $arrowRight sentence %&apos;data&apos;" type="reporter" category="operators"><comment x="0" y="0" w="165.33333333333334" collapsed="false">Takes a sentence in list form and reports the sentence as a text string.</comment><header></header><code></code><translations>de:Liste $arrowRight Satz _&#xD;ca:llista $arrowRight frase _&#xD;es:lista $arrowRight frase _&#xD;fr:liste $arrowRight phrase _&#xD;pt:uma frase com as palavras em _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><custom-block s="join words %mult%txt"><block var="data"/></custom-block></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><comment x="0" y="0" w="196" collapsed="false">Takes a sentence in text string form and reports the sentence as a list of its words.</comment><header></header><code></code><translations>de:Satz $arrowRight Liste _&#xD;ca:frase $arrowRight llista _&#xD;es:frase $arrowRight lista _&#xD;fr:phrase $arrowRight liste _&#xD;pt:uma lista com as palavras da frase _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportEquals"><block s="reportStringSize"><l></l></block><l>0</l></block></block></autolambda><list></list></block><block s="reportTextSplit"><block var="text"/><l><option>word</option></l></block></block></block></script></block-definition><block-definition s="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><comment x="0" y="0" w="146.42857142857144" collapsed="false">report a list in which each item is one letter from the input word</comment><header></header><code></code><translations>de:Wort $arrowRight Liste _&#xD;ca:paraula $arrowRight llista _&#xD;es:palabra $arrowRight lista _&#xD;fr:mot $arrowRight liste _&#xD;pt:uma lista com os caracteres da palavra _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportIsA"><block var="word"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="word $arrowRight list %txt"><l></l></custom-block></autolambda><list></list></block><block var="word"/></block></block></script></block><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><comment x="0" y="0" w="158.57142857142858" collapsed="false">join all the items of the input list&#xD;into a single word, and report it</comment><header></header><code></code><translations>de:Liste $arrowRight Wort _&#xD;ca:llista $arrowRight paraula _&#xD;es:lista $arrowRight palabra _&#xD;fr:liste $arrowRight mot _&#xD;pt:uma palavra com os caracteres em _&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><block s="reportListIsEmpty"><block var="list"/></block><script><block s="doReport"><block var="list"/></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportFindFirst"><block s="reifyPredicate"><autolambda><block s="reportIsA"><l></l><l><option>list</option></l></block></autolambda><list></list></block><block var="list"/></block><l></l></block><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportIsA"><l></l><l><option>list</option></l></block><block s="reportNewList"><list><custom-block s="list $arrowRight word %l"><l/></custom-block></list></block><l></l></block></autolambda><list></list></block><block var="list"/></block></block></script></block-definition><block-definition s="sentence %&apos;phrase&apos;" type="reporter" category="lists"><comment x="0" y="0" w="302.6666666666667" collapsed="false">SENTENCE is the main constructor for sentences, represented&#xD;as lists of words.  It takes zero or more inputs, each of which can&#xD;be either a list or a text string.  If a list, the input is assumed to be&#xD;a list of words.  If a text string, it is converted to a list of words using&#xD;SENTENCE→LIST.  Then all the lists of words are appended to form a new list of words.&#xD;&#xD;If the inputs are lists of lists rather than lists of words, SENTENCE,&#xD;like APPEND, does only one level of flattening, reporting a list of&#xD;all the items of all the input lists.</comment><header></header><code></code><translations></translations><inputs><input type="%mult%s"></input></inputs><script><block s="doReport"><block s="reportConcatenatedLists"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportIfElse"><block s="reportIsA"><l></l><l><option>list</option></l></block><l></l><custom-block s="sentence $arrowRight list %txt"><l></l></custom-block></block></autolambda><list></list></block><block var="phrase"/></block></block></block></script></block-definition><block-definition s="error %&apos;msg&apos;" type="command" category="control"><header></header><code></code><translations>pt:lança o erro _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>msg</l></list><l>throw new Error(msg);</l></block><list><block var="msg"/></list></block></script></block-definition><block-definition s="printable %&apos;data&apos;" type="reporter" category="lists"><comment x="0" y="0" w="188.66666666666666" collapsed="false">Takes a (possibly deep) list as input,&#xD;and reports a human-readable text form &#xD;of the list (namely, Lisp notation).</comment><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doIf"><block s="reportNot"><block s="reportIsA"><block var="data"/><l><option>list</option></l></block></block><script><block s="doReport"><block var="data"/></block></script></block><block s="doIf"><block s="reportListIsEmpty"><block var="data"/></block><script><block s="doReport"><l>()</l></block></script></block><block s="doReport"><block s="reportJoinWords"><list><l>(</l><block s="reportCombine"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="printable %l"><l/></custom-block></autolambda><list></list></block><block var="data"/></block><block s="reifyReporter"><autolambda><block s="reportJoinWords"><list><l></l><l> </l><l></l></list></block></autolambda><list></list></block></block><l>)</l></list></block></block></script></block-definition><block-definition s="require nonempty %&apos;text&apos; %&apos;message&apos;" type="reporter" category="operators"><comment x="0" y="0" w="220" collapsed="false">Helper function for word/sentence library.&#xD;Reports its first input, unless that input is empty, in which case it gives its second input as an error message.</comment><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportIfElse"><block s="reportIsA"><block var="text"/><l><option>list</option></l></block><block s="reportListIsEmpty"><block var="text"/></block><block s="reportEquals"><block s="reportStringSize"><block var="text"/></block><l>0</l></block></block><script><custom-block s="error %txt"><block var="message"/></custom-block></script><script><block s="doReport"><block var="text"/></block></script></block></script></block-definition><block-definition s="first letter of %&apos;word&apos;" type="reporter" category="operators"><comment x="0" y="0" w="260" collapsed="false">Takes a text string as input, and reports the first character in the string.</comment><header></header><code></code><translations>pt:a primeira palavra de _&#xD;</translations><inputs><input type="%txt"></input></inputs><script><block s="doIfElse"><block s="reportIsA"><block var="word"/><l><option>list</option></l></block><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="first letter of %txt"><l></l></custom-block></autolambda><list></list></block><block var="word"/></block></block></script><script><block s="doReport"><block s="reportLetter"><l>1</l><custom-block s="require nonempty %s %s"><block var="word"/><l>First of empty word.</l></custom-block></block></block></script></block></script><scripts><script x="14.666666666666666" y="232.8888888888888"><block s="doDeclareVariables"><list><l>index</l><l>first</l></list></block><block s="doWarp"><script><block s="doSetVar"><l>first</l><l></l></block><block s="doSetVar"><l>index</l><l>1</l></block><block s="doIf"><block s="reportEquals"><block s="reportStringSize"><block var="sentence"/></block><l>0</l></block><script><custom-block s="error %txt"><l>First of empty sentence.</l></custom-block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block></block><script><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doIf"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block><script><custom-block s="error %txt"><l>First of empty sentence.</l></custom-block></script></block><block s="doUntil"><block s="reportOr"><block s="reportEquals"><block var="index"/><block s="reportStringSize"><block var="sentence"/></block></block><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block><script><block s="doSetVar"><l>first</l><block s="reportJoinWords"><list><block var="first"/><block s="reportLetter"><block var="index"/><block var="sentence"/></block></list></block></block><block s="doChangeVar"><l>index</l><l>1</l></block></script></block><block s="doIf"><block s="reportNot"><block s="reportEquals"><block s="reportLetter"><block var="index"/><block var="sentence"/></block><l> </l></block></block><script><block s="doSetVar"><l>first</l><block s="reportJoinWords"><list><block var="first"/><block s="reportLetter"><block var="index"/><block var="sentence"/></block></list></block></block></script></block><block s="doReport"><block var="first"/></block></script></block></script></scripts></block-definition><block-definition s="is %&apos;character&apos; a letter?" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doIfElse"><block s="reportOr"><block s="reportAnd"><block s="reportGreaterThan"><block s="reportUnicode"><block var="character"/></block><l>96</l></block><block s="reportLessThan"><block s="reportUnicode"><block var="character"/></block><l>123</l></block></block><block s="reportAnd"><block s="reportGreaterThan"><block s="reportUnicode"><block var="character"/></block><l>64</l></block><block s="reportLessThan"><block s="reportUnicode"><block var="character"/></block><l>91</l></block></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="%&apos;word&apos; backwards" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>a</l></list></block><block s="doSetVar"><l>a</l><block s="reportNewList"><list></list></block></block><block s="doFor"><l>i</l><block s="reportStringSize"><block var="word"/></block><l>1</l><script><block s="doAddToList"><block s="reportLetter"><block var="i"/><block var="word"/></block><block var="a"/></block></script></block><block s="doReport"><custom-block s="list $arrowRight word %l"><block var="a"/></custom-block></block></script></block-definition><block-definition s="is %&apos;word&apos; a palindrome?" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><block s="reportEquals"><block var="word"/><custom-block s="%s backwards"><block var="word"/></custom-block></block></block></script></block-definition></blocks><variables><variable name="text file"><l>Bob&#xD;by Al Yankovic &#xD;I, man, am regal - a German am I&#xD;Never odd or even&#xD;If I had a hi-fi&#xD;Madam, I&apos;m Adam&#xD;Too hot to hoot&#xD;No lemons, no melon&#xD;Too bad I hid a boot&#xD;Lisa Bonet ate no basil&#xD;Warsaw was raw&#xD;Was it a car or a cat I saw?&#xD;Rise to vote, sir&#xD;Do geese see God?&#xD;"Do nine men interpret?" "Nine men," I nod&#xD;Rats live on no evil star&#xD;Won&apos;t lovers revolt now?&#xD;Race fast, safe car&#xD;Pa&apos;s a sap&#xD;Ma is as selfless as I am&#xD;May a moody baby doom a yam?&#xD;Ah, Satan sees Natasha&#xD;No devil lived on&#xD;Lonely Tylenol&#xD;Not a banana baton&#xD;No "x" in "Nixon"&#xD;O, stone, be not so&#xD;O Geronimo, no minor ego&#xD;"Naomi," I moan&#xD;"A Toyota&apos;s a Toyota"&#xD;A dog, a panic in a pagoda&#xD;Oh no! Don Ho!&#xD;Nurse, I spy gypsies - run!&#xD;Senile felines&#xD;Now I see bees I won&#xD;UFO tofu&#xD;We panic in a pew&#xD;Oozy rat in a sanitary zoo&#xD;God! A red nugget! A fat egg under a dog!&#xD;Go hang a salami, I&apos;m a lasagna hog&#xD;</l></variable><variable name="lyrics"><list struct="atomic" id="1698">Bob,by Al Yankovic ,&quot;I, man, am regal - a German am I&quot;,Never odd or even,If I had a hi-fi,&quot;Madam, I&apos;m Adam&quot;,Too hot to hoot,&quot;No lemons, no melon&quot;,Too bad I hid a boot,Lisa Bonet ate no basil,Warsaw was raw,Was it a car or a cat I saw?,&quot;Rise to vote, sir&quot;,Do geese see God?,&quot;&quot;&quot;Do nine men interpret?&quot;&quot; &quot;&quot;Nine men,&quot;&quot; I nod&quot;,Rats live on no evil star,Won&apos;t lovers revolt now?,&quot;Race fast, safe car&quot;,Pa&apos;s a sap,Ma is as selfless as I am,May a moody baby doom a yam?,&quot;Ah, Satan sees Natasha&quot;,No devil lived on,Lonely Tylenol,Not a banana baton,&quot;No &quot;&quot;x&quot;&quot; in &quot;&quot;Nixon&quot;&quot;&quot;,&quot;O, stone, be not so&quot;,&quot;O Geronimo, no minor ego&quot;,&quot;&quot;&quot;Naomi,&quot;&quot; I moan&quot;,&quot;&quot;&quot;A Toyota&apos;s a Toyota&quot;&quot;&quot;,&quot;A dog, a panic in a pagoda&quot;,Oh no! Don Ho!,&quot;Nurse, I spy gypsies - run!&quot;,Senile felines,Now I see bees I won,UFO tofu,We panic in a pew,Oozy rat in a sanitary zoo,God! A red nugget! A fat egg under a dog!,&quot;Go hang a salami, I&apos;m a lasagna hog&quot;,</list></variable><variable name="empty string"><l></l></variable><variable name="lyrics with just letters"><list struct="atomic" id="1699">Bob,byAlYankovic,ImanamregalaGermanamI,Neveroddoreven,IfIhadahifi,MadamImAdam,Toohottohoot,Nolemonsnomelon,ToobadIhidaboot,LisaBonetatenobasil,Warsawwasraw,WasitacaroracatIsaw,Risetovotesir,DogeeseseeGod,DoninemeninterpretNinemenInod,Ratsliveonnoevilstar,Wontloversrevoltnow,Racefastsafecar,Pasasap,MaisasselflessasIam,Mayamoodybabydoomayam,AhSatanseesNatasha,Nodevillivedon,LonelyTylenol,Notabananabaton,NoxinNixon,Ostonebenotso,OGeronimonominorego,NaomiImoan,AToyotasaToyota,Adogapanicinapagoda,OhnoDonHo,NurseIspygypsiesrun,Senilefelines,NowIseebeesIwon,UFOtofu,Wepanicinapew,Oozyratinasanitaryzoo,GodArednuggetAfateggunderadog,GohangasalamiImalasagnahog,</list></variable><variable name="is palindrome"><list id="1700"><item><bool>true</bool></item><item><bool>false</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item><item><bool>true</bool></item></list></variable></variables></project><media name="kayak" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>