<snapdata remixID="13304802"><project name="compression-Will, Vallen, Ahmad, Thomas" app="Snap! 9.0, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="compression-Will, Vallen, Ahmad, Thomas"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="join words %&apos;words&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doWarp"><script><block s="doIf"><block s="errorObsolete"></block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="words"/></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportListItem"><l>1</l><block var="words"/></block></list></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></block></script><list></list></block><block s="doIf"><block s="reportVariadicEquals"><list><l></l><block s="reportListItem"><l>2</l><block var="words"/></block></list></block><script><block s="doReport"><custom-block s="join words %mult%txt"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="words"/></block><block s="reportCDR"><block s="reportCDR"><block var="words"/></block></block></block></custom-block></block></script><list></list></block><block s="doReport"><block s="reportJoinWords"><list><block s="reportListItem"><l>1</l><block var="words"/></block><l> </l><custom-block s="join words %mult%txt"><block s="reportCDR"><block var="words"/></block></custom-block></list></block></block></script></block></script><scripts><script x="229.000003" y="196.77778077777774"><block s="reportJoinWords"><list><l></l><l></l></list></block></script></scripts></block-definition><block-definition s="list $arrowRight sentence %&apos;data&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><custom-block s="join words %mult%txt"><block var="data"/></custom-block></block></script></block></script></block-definition><block-definition s="sentence $arrowRight list %&apos;text&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></script></block></script></block-definition><block-definition s="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block></script></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doWarp"><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block></script></block-definition><block-definition s="translate text %&apos;text&apos; to binary sequence" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>"</l><custom-block s="list $arrowRight word %l"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="pack 8-bit byte %txt"><l></l></custom-block></autolambda><list></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="translate decimal %n to binary"><l></l></custom-block></autolambda><list></list></block><custom-block s="translate text %txt to Unicode list"><block var="text"/></custom-block></block></block></custom-block><l>"</l></list></block></block></script></block-definition><block-definition s="pack 8-bit byte %&apos;input&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="input"/></block><l>7</l></list></block><script><block s="doReport"><block var="input"/></block></script><list></list></block><block s="doReport"><custom-block s="pack 8-bit byte %txt"><block s="reportJoinWords"><list><l>0</l><block var="input"/></list></block></custom-block></block></script></block-definition><block-definition s="translate decimal %&apos;value&apos; to binary" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doIf"><block s="reportVariadicLessThan"><list><block var="value"/><l>2</l></list></block><script><block s="doReport"><block var="value"/></block></script><list></list></block><block s="doReport"><block s="reportJoinWords"><list><custom-block s="translate decimal %n to binary"><block s="reportMonadic"><l><option>floor</option></l><block s="reportQuotient"><block var="value"/><l>2</l></block></block></custom-block><block s="reportModulus"><block var="value"/><l>2</l></block></list></block></block></script></block-definition><block-definition s="translate text %&apos;text&apos; to Unicode list" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportUnicode"><l></l></block></autolambda><list></list></block><custom-block s="word $arrowRight list %txt"><block var="text"/></custom-block></block></block></script></block-definition><block-definition s="translate binary sequence %&apos;sequence&apos; to text" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><custom-block s="list $arrowRight word %l"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportUnicodeAsLetter"><l></l></block></autolambda><list></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="translate binary %n to decimal"><l></l></custom-block></autolambda><list></list></block><custom-block s="split binary sequence %txt into list of bytes"><block var="sequence"/></custom-block></block></block></custom-block></block></script></block-definition><block-definition s="translate binary %&apos;numeral&apos; to decimal" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doDeclareVariables"><list><l>result</l></list></block><block s="doSetVar"><l>result</l><l>0</l></block><block s="doFor"><l>i</l><l>1</l><block s="reportTextAttribute"><l><option>length</option></l><block var="numeral"/></block><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportLetter"><block var="i"/><block var="numeral"/></block><l>1</l></list></block><script><block s="doSetVar"><l>result</l><block s="reportVariadicSum"><list><block var="result"/><custom-block s="2 ^ %n"><block s="reportDifference"><block s="reportTextAttribute"><l><option>length</option></l><block var="numeral"/></block><block var="i"/></block></custom-block></list></block></block></script><list></list></block></script></block><block s="doReport"><block var="result"/></block></script></block-definition><block-definition s="2 ^ %&apos;power&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block var="power"/><l>0</l></list></block><script><block s="doReport"><l>1</l></block></script><list></list></block><block s="doReport"><block s="reportVariadicProduct"><list><l>2</l><custom-block s="2 ^ %n"><block s="reportDifference"><block var="power"/><l>1</l></block></custom-block></list></block></block></script></block-definition><block-definition s="split binary sequence %&apos;sequence&apos; into list of bytes" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="sequence"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="sequence"/></block><l>8</l></list></block><script><block s="doReport"><block s="reportNewList"><list><custom-block s="pack 8-bit byte %txt"><block var="sequence"/></custom-block></list></block></block></script><list></list></block><block s="doReport"><block s="reportCONS"><custom-block s="first byte of %s"><block var="sequence"/></custom-block><custom-block s="split binary sequence %txt into list of bytes"><custom-block s="all but first byte of %s"><block var="sequence"/></custom-block></custom-block></block></block></script></block-definition><block-definition s="first byte of %&apos;sequence&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>byte</l></list></block><block s="doSetVar"><l>byte</l><l></l></block><block s="doFor"><l>i</l><l>1</l><l>6</l><script><block s="doSetVar"><l>byte</l><block s="reportJoinWords"><list><block var="byte"/><block s="reportLetter"><block var="i"/><block var="sequence"/></block></list></block></block></script></block><block s="doReport"><block var="byte"/></block></script></block-definition><block-definition s="all but first byte of %&apos;sequence&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>all but first byte</l></list></block><block s="doSetVar"><l>all but first byte</l><custom-block s="word $arrowRight list %txt"><block var="sequence"/></custom-block></block><block s="doRepeat"><l>6</l><script><block s="doDeleteFromList"><l>1</l><block var="all but first byte"/></block></script></block><block s="doReport"><custom-block s="list $arrowRight word %l"><block var="all but first byte"/></custom-block></block></script></block-definition><block-definition s="translate binary sequence %&apos;sequence&apos; to B&amp;W image that is %&apos;width pixel count&apos; pixels wide and scaled by factor of %&apos;scale factor&apos;" type="command" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input><input type="%n"></input><input type="%n">5</input></inputs><script><block s="hide"></block><block s="clear"></block><block s="up"></block><block s="setSize"><block var="scale factor"/></block><block s="doDeclareVariables"><list><l>pixels in sequence</l><l>height pixel count</l><l>width actual</l><l>height actual</l><l>x start</l><l>y start</l><l>remainder of sequence</l></list></block><block s="doSetVar"><l>pixels in sequence</l><block s="reportTextAttribute"><l><option>length</option></l><block var="sequence"/></block><comment w="250" collapsed="true">count number of pixels that will be in image</comment></block><block s="doSetVar"><l>height pixel count</l><block s="reportMonadic"><l><option>ceiling</option></l><block s="reportQuotient"><block var="pixels in sequence"/><block var="width pixel count"/></block></block><comment w="268" collapsed="true">determine number of pixels high that image will be</comment></block><block s="doSetVar"><l>width actual</l><block s="reportVariadicProduct"><list><block var="width pixel count"/><block var="scale factor"/></list></block><comment w="339" collapsed="true">determine actual width and height of image based on scale factor</comment></block><block s="doSetVar"><l>height actual</l><block s="reportVariadicProduct"><list><block var="height pixel count"/><block var="scale factor"/></list></block></block><block s="doSetVar"><l>x start</l><block s="reportVariadicProduct"><list><l>-1</l><block s="reportRound"><block s="reportQuotient"><block var="width actual"/><l>2</l></block></block></list></block><comment w="246" collapsed="true">determine x and y values to start drawing</comment></block><block s="doSetVar"><l>y start</l><block s="reportRound"><block s="reportQuotient"><block var="height actual"/><l>2</l></block></block></block><block s="doSetVar"><l>remainder of sequence</l><block var="sequence"/><comment w="453.3333333333333" collapsed="true">initialize variables to keep track of the part of the sequence that hasn&apos;t been used yet</comment></block><block s="gotoXY"><block var="x start"/><block var="y start"/><comment w="178" collapsed="true">go to the starting position</comment></block><block s="doRepeat"><block var="height pixel count"/><script><block s="doRepeat"><block var="width pixel count"/><script><block s="doWarp"><script><block s="doIfElse"><block s="reportVariadicEquals"><list><block s="reportLetter"><l>1</l><block var="remainder of sequence"/></block><l>1</l></list></block><script><block s="setColor"><color>0,0,0,255</color></block></script><script><block s="setColor"><color>255,255,255,255</color></block></script></block><block s="doSetVar"><l>remainder of sequence</l><custom-block s="all but first letter of %s"><block var="remainder of sequence"/></custom-block></block><block s="down"></block><block s="changeYPosition"><block var="scale factor"/><comment w="90" collapsed="true">draw the pixel</comment></block><block s="up"></block><block s="changeYPosition"><block s="reportVariadicProduct"><list><l>-1</l><block var="scale factor"/></list></block><comment w="169" collapsed="true">return the sprite where it was</comment></block><block s="changeXPosition"><block var="scale factor"/><comment w="178" collapsed="true">move to the next pixel in the row</comment></block></script></block></script></block><block s="setXPosition"><block var="x start"/></block><block s="changeYPosition"><block s="reportVariadicProduct"><list><l>-1</l><block var="scale factor"/></list></block><comment w="322" collapsed="true">move back to the start of the row and then move down one row</comment></block></script><comment w="368.9999979999998" collapsed="false">The outer REPEAT goes through all the rows, and the inner REPEAT goes through all the pixels in that row. So, all the pixels in the first row are drawn first (inside the inner REPEAT loop), and then second row is drawn, and so on.</comment></block></script></block-definition><block-definition s="all but first letter of %&apos;word&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>remainder of word</l></list></block><block s="doSetVar"><l>remainder of word</l><l></l></block><block s="doFor"><l>letter</l><l>2</l><block s="reportTextAttribute"><l><option>length</option></l><block var="word"/></block><script><block s="doSetVar"><l>remainder of word</l><block s="reportJoinWords"><list><block var="remainder of word"/><block s="reportLetter"><block var="letter"/><block var="word"/></block></list></block></block></script></block><block s="doReport"><block var="remainder of word"/></block></script></block-definition><block-definition s="pack 6-bit byte %&apos;input&apos; (2)" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="input"/></block><l>5</l></list></block><script><block s="doReport"><block var="input"/></block></script><list></list></block><block s="doReport"><custom-block s="pack 6-bit byte %txt (2)"><block s="reportJoinWords"><list><l>0</l><block var="input"/></list></block></custom-block></block></script></block-definition><block-definition s="translate text %&apos;text&apos; to binary sequence (2) Compress?" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><list><l>"</l><custom-block s="list $arrowRight word %l"><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="pack 6-bit byte %txt (2)"><l></l></custom-block></autolambda><list></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="translate decimal %n to binary"><l></l></custom-block></autolambda><list></list></block><custom-block s="translate text %txt to Unicode list"><block var="text"/></custom-block></block></block></custom-block><l>"</l></list></block></block></script></block-definition><block-definition s="compress %&apos;a&apos;" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="translate text %txt to binary sequence (2) Compress?"><block var="a"/></custom-block></block></script></block-definition><block-definition s="decompress %&apos;a&apos;" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doReport"><custom-block s="translate binary sequence %txt to text (2)"><block var="a"/></custom-block></block></script></block-definition><block-definition s="translate binary sequence %&apos;sequence&apos; to text (2)" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><custom-block s="list $arrowRight word %l"><block s="reportMap"><block s="reifyReporter"><autolambda><block s="reportUnicodeAsLetter"><l></l></block></autolambda><list></list></block><block s="reportMap"><block s="reifyReporter"><autolambda><custom-block s="translate binary %n to decimal"><l></l></custom-block></autolambda><list></list></block><custom-block s="split binary sequence %txt into list of bytes (2)"><block var="sequence"/></custom-block></block></block></custom-block></block></script></block-definition><block-definition s="split binary sequence %&apos;sequence&apos; into list of bytes (2)" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%txt"></input></inputs><script><block s="doIf"><block s="reportVariadicEquals"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="sequence"/></block><l>0</l></list></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script><list></list></block><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="sequence"/></block><l>5</l></list></block><script><block s="doReport"><block s="reportNewList"><list><custom-block s="pack 6-bit byte %txt (2)"><block var="sequence"/></custom-block></list></block></block></script><list></list></block><block s="doReport"><block s="reportCONS"><custom-block s="first byte of %s"><block var="sequence"/></custom-block><custom-block s="split binary sequence %txt into list of bytes (2)"><custom-block s="all but first byte of %s"><block var="sequence"/></custom-block></custom-block></block></block></script></block-definition><block-definition s="compress2 %&apos;t&apos;" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>a</l><l>b</l><l>c</l><l>d</l></list></block><block s="doSetVar"><l>a</l><custom-block s="translate text %txt to binary sequence"><block var="t"/></custom-block></block><block s="doSetVar"><l>b</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>c</l><block s="reportNewList"><list></list></block></block><block s="doUntil"><block s="reportVariadicLessThan"><list><block s="reportTextAttribute"><l><option>length</option></l><block var="a"/></block><l>1</l></list></block><script><block s="doFor"><l>i</l><l>1</l><l>8</l><script><block s="doIf"><block s="reportVariadicGreaterThan"><list><block var="i"/><l>2</l></list></block><script><block s="doAddToList"><block s="reportLetter"><block var="i"/><block var="a"/></block><block var="c"/></block></script><list></list></block></script></block><block s="doAddToList"><block s="reportJoinWords"><list><block var="c"/></list></block><block var="b"/></block><block s="doSayFor"><block var="c"/><l>2</l></block><block s="doSetVar"><l>c</l><block s="reportNewList"><list></list></block></block><block s="doSetVar"><l>d</l><block s="reportTextSplit"><block var="a"/><l><option>letter</option></l></block></block><block s="doDeleteFromList"><l>1</l><block var="d"/></block><block s="doDeleteFromList"><l>2</l><block var="d"/></block><block s="doDeleteFromList"><l>3</l><block var="d"/></block><block s="doDeleteFromList"><l>4</l><block var="d"/></block><block s="doDeleteFromList"><l>5</l><block var="d"/></block><block s="doDeleteFromList"><l>6</l><block var="d"/></block><block s="doDeleteFromList"><l>7</l><block var="d"/></block><block s="doDeleteFromList"><l>8</l><block var="d"/></block><block s="doSetVar"><l>a</l><block s="reportJoinWords"><list><block var="d"/></list></block></block></script></block><block s="doReport"><block var="b"/></block></script></block-definition><block-definition s="compress3 %&apos;t&apos;" type="reporter" category="variables"><header></header><code></code><translations></translations><inputs><input type="%s"></input></inputs><script><block s="doDeclareVariables"><list><l>a</l><l>b</l></list></block><block s="doSetVar"><l>a</l><custom-block s="split binary sequence %txt into list of bytes"><custom-block s="translate text %txt to binary sequence"><l>MR. LONG</l></custom-block></custom-block></block><block s="doSetVar"><l>b</l><block s="reportNewList"><list></list></block></block><block s="doForEach"><l>item</l><block var="a"/><script><block s="doAddToList"><block s="reportJoinWords"><list><block s="reportCDR"><block s="reportCDR"><block s="reportTextSplit"><block var="item"/><l><option>letter</option></l></block></block></block></list></block><block var="b"/></block></script></block><block s="doReport"><block s="reportJoinWords"><list><block var="b"/></list></block></block></script><scripts><script x="175.1865234375" y="354.6333333333334"><block s="reportTextAttribute"><l><option>length</option></l><l>world</l></block></script></scripts></block-definition></blocks><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="flat" ternary="true" hyperops="true" codify="false" inheritance="false" sublistIDs="false" id="933"><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="934"></list></costumes><sounds><list struct="atomic" id="935"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Sprite" idx="1" x="-70" y="-75" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="255,255,255,255" pen="tip" id="940"><costumes><list struct="atomic" id="941"></list></costumes><sounds><list struct="atomic" id="942"></list></sounds><blocks></blocks><variables></variables><scripts><script x="20" y="20"><custom-block s="compress %s"><l>MR. LONG</l></custom-block></script><script x="20" y="53"><block s="doSayFor"><block s="reportTextAttribute"><l><option>length</option></l><custom-block s="compress %s"><l>MR.LONG</l></custom-block></block><l>60</l></block></script><script x="20" y="100"><block s="doSetVar"><l>Precompressed</l><block s="reportTextAttribute"><l><option>length</option></l><custom-block s="translate text %txt to binary sequence"><l>MR. LONG</l></custom-block></block></block><block s="doSetVar"><l>Compressed</l><block s="reportTextAttribute"><l><option>length</option></l><custom-block s="compress3 %s"><l>MR. LONG</l></custom-block></block></block></script><script x="174.015625" y="214"><custom-block s="compress %s"><l>MR. LONG</l></custom-block></script></scripts></sprite><sprite name="Sprite(2)" idx="2" x="-111" y="58" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="0,26.928000000000026,168.3,1" pen="tip" id="974"><costumes><list struct="atomic" id="975"></list></costumes><sounds><list struct="atomic" id="976"></list></sounds><blocks></blocks><variables></variables><scripts><script x="383" y="323.4999999999998"><block s="reportTextSplit"><l>hello world</l><l><option>letter</option></l></block></script></scripts></sprite><watcher var="output" style="normal" x="10" y="10" color="243,118,29" hidden="true"/><watcher var="Compressed" style="normal" x="10" y="52.00000399999999" color="243,118,29"/><watcher var="Precompressed" style="normal" x="10" y="31.000001999999995" color="243,118,29"/></sprites></stage><variables><variable name="output"><l>thing</l></variable><variable name="Compressed"><l>46</l></variable><variable name="Precompressed"><l>66</l></variable></variables></scene></scenes></project><media name="compression-Will, Vallen, Ahmad, Thomas" app="Snap! 9.0, https://snap.berkeley.edu" version="2"></media></snapdata>