<snapdata remixID="11289158"><project name="Break Out Yo" app="Snap! 7, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><scenes select="1"><scene name="Break Out Yo"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="label %&apos;text&apos; of size %&apos;size&apos;" type="command" category="pen"><comment x="0" y="0" w="90" collapsed="false">LABEL will stamp text on the stage at the given font size. The direction of the text is the direction the sprite is facing, and color will match the pen color.</comment><header></header><code></code><translations>de:drucke _ in Größe _&#xD;ca:etiqueta _ de mida _&#xD;es:etiqueta _ de tamaño _&#xD;fr:étiquette _ d&apos;une taille de _&#xD;</translations><inputs><input type="%txt">Hello!</input><input type="%n">12</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>text</l><l>size</l><l>process</l></list><l>var stage = this.parentThatIsA(StageMorph);&#xD;&#xD;if (this == stage) {&#xD;    throw new Error(&#xD;     &apos;LABEL cannot be used from the stage because the stage does not have a postion.\n&apos;&#xD;     + &apos;Use LABEL from a sprite to draw text.&apos;);&#xD;}&#xD;&#xD;if (typeof text !== &apos;string&apos; &amp;&amp; typeof text !== &apos;number&apos;) {&#xD;    throw new Error(&apos;LABEL can only draw text or numbers, not a &apos; + process.reportTypeOf(text)); &#xD;}&#xD;&#xD;var context = stage.penTrails().getContext(&apos;2d&apos;),&#xD;    rotation = radians(this.direction() - 90),&#xD;    trans = new Point(&#xD;      this.center().x - stage.left(),&#xD;      this.center().y - stage.top()&#xD;    ),&#xD;    isWarped = this.Warped,&#xD;    len,&#xD;    pos;&#xD;&#xD;if (isWarped) {endWarp(); }&#xD;context.save();&#xD;context.font = size + &apos;px monospace&apos;;&#xD;context.textAlign = &apos;left&apos;;&#xD;context.textBaseline = &apos;alphabetic&apos;;&#xD;context.fillStyle = this.color.toString();&#xD;len = context.measureText(text).width;&#xD;trans = trans.multiplyBy(1 / stage.scale);&#xD;context.translate(trans.x, trans.y);&#xD;context.rotate(rotation);&#xD;context.fillText(text, 0, 0);&#xD;context.translate(-trans.x, -trans.y);&#xD;context.restore();&#xD;pos = new Point(&#xD;  len * Math.sin(radians(this.direction())),&#xD;  len * Math.cos(radians(this.direction())));&#xD;pos = pos.add(new Point(this.xPosition(), this.yPosition()));&#xD;this.gotoXY(pos.x, pos.y, false);&#xD;this.changed();&#xD;if (isWarped) {this.startWarp(); }&#xD;stage.changed();&#xD;</l></block><list><block var="text"/><block var="size"/></list></block></script></block-definition><block-definition s="empty? %&apos;data&apos;" type="predicate" category="lists"><header></header><code></code><translations>de:ist _ leer?&#xD;ca:_ buida?&#xD;es:_ vacía?&#xD;fr:_ vide?&#xD;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportEquals"><block var="data"/><block s="reportNewList"><list></list></block></block></block></script></block-definition><block-definition s="keep items such that %&apos;pred&apos; from %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:behalte Elemente, die _ aus _&#xD;ca:manté els elements on _ de _&#xD;es:mantener los elementos donde _ de _&#xD;fr:garder les items tels que _ de _&#xD;</translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doIfElse"><block s="evaluate"><block var="pred"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><script><block s="doReport"><block s="reportCONS"><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script><script><block s="doReport"><custom-block s="keep items such that %predRing from %l"><block var="pred"/><block s="reportCDR"><block var="data"/></block></custom-block></block></script></block></script></block-definition><block-definition s="combine with %&apos;function&apos; items of %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:kombiniere mit _ die Elemente von _&#xD;ca:combina amb _ els elements de _&#xD;es:combinar con _ los elementos de _&#xD;fr:combine avec _ les items de _&#xD;</translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="data"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="data"/></block></block></script></block><block s="doReport"><block s="evaluate"><block var="function"/><list><block s="reportListItem"><l>1</l><block var="data"/></block><custom-block s="combine with %repRing items of %l"><block var="function"/><block s="reportCDR"><block var="data"/></block></custom-block></list></block></block></script></block-definition><block-definition s="if %&apos;test&apos; then %&apos;true&apos; else %&apos;false&apos;" type="reporter" category="control"><header></header><code></code><translations>de:wenn _ dann _ sonst _&#xD;ca:si _ llavors _ si no _&#xD;es:si _ entonces _ sino _&#xD;fr:si _ alors _ sinon _&#xD;</translations><inputs><input type="%b"></input><input type="%anyUE"></input><input type="%anyUE"></input></inputs><script><block s="doIfElse"><block var="test"/><script><block s="doReport"><block s="evaluate"><block var="true"/><list></list></block></block></script><script><block s="doReport"><block s="evaluate"><block var="false"/><list></list></block></block></script></block></script></block-definition><block-definition s="join words %&apos;words&apos;" type="reporter" category="operators"><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;</translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block s="reportCDR"><block var="words"/></block></custom-block><script><block s="doReport"><block s="reportListItem"><l>1</l><block var="words"/></block></block></script></block><block s="doIf"><block s="reportEquals"><l></l><block s="reportListItem"><l>1</l><block var="words"/></block></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></block-definition><block-definition s="list $arrowRight sentence %&apos;data&apos;" type="reporter" category="operators"><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;</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"><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;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportTextSplit"><block var="text"/><l><option>whitespace</option></l></block></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations>de:fange _ _&#xD;ca:agafa _ _&#xD;es:atrapar _ _&#xD;fr:attrape _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%cs"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doRun"><block var="action"/><list></list></block></script><list><l>cont</l></list></block></block><custom-block s="ignore %s"><l>3</l></custom-block></script></block-definition><block-definition s="throw %&apos;cont&apos;" type="command" category="control"><header></header><code></code><translations>de:wirf _&#xD;ca:llança _&#xD;es:lanzar _&#xD;fr:lance _&#xD;</translations><inputs><input type="%s">catchtag</input></inputs><script><block s="doRun"><block var="cont"/><list></list></block></script></block-definition><block-definition s="catch %&apos;tag&apos; %&apos;value&apos;" type="reporter" category="control"><header></header><code></code><translations>de:fange _ _&#xD;ca:agafa _ _&#xD;es:atrapar _ _&#xD;fr:attrape _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%anyUE"></input></inputs><script><block s="doCallCC"><block s="reifyScript"><script><block s="doSetVar"><l>tag</l><block var="cont"/></block><block s="doReport"><block s="evaluate"><block var="value"/><list></list></block></block></script><list><l>cont</l></list></block></block></script></block-definition><block-definition s="throw %&apos;tag&apos; %&apos;value&apos;" type="command" category="control"><header></header><code></code><translations>de:wirf _ _&#xD;ca:llança _ _&#xD;es:lanzar _ _&#xD;fr:lance _ _&#xD;</translations><inputs><input type="%s">catchtag</input><input type="%s"></input></inputs><script><block s="doRun"><block var="tag"/><list><block var="value"/></list></block></script></block-definition><block-definition s="if %&apos;test&apos; do %&apos;action&apos; and pause all $pause-1-255-220-0" type="command" category="control"><header></header><code></code><translations>de:falls _ dann _ und pause $pause-1-255-220-0&#xD;ca:si _ fes _ i atura-ho tot $pause-1-255-220-0&#xD;es:si _ haz _ y páralo todo $pause-1-255-220-0&#xD;fr:si _ faire _ et mettre tout en pause $pause-1-255-220-0&#xD;</translations><inputs><input type="%boolUE"></input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>breakpoint</l></list></block><block s="doIf"><block s="evaluate"><block var="test"/><list></list></block><script><block s="doSetVar"><l>breakpoint</l><block var="test"/></block><block s="doShowVar"><l>breakpoint</l></block><block s="doRun"><block var="action"/><list></list></block><block s="doPauseAll"></block><block s="doHideVar"><l></l></block></script></block></script></block-definition><block-definition s="word $arrowRight list %&apos;word&apos;" type="reporter" category="operators"><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;</translations><inputs><input type="%txt"></input></inputs><script><block s="doReport"><block s="reportTextSplit"><block var="word"/><l><option>letter</option></l></block></block></script></block-definition><block-definition s="ignore %&apos;x&apos;" type="command" category="control"><header></header><code></code><translations>de:ignoriere _&#xD;ca:ignora _&#xD;es:ignorar _&#xD;fr:ignore _&#xD;</translations><inputs><input type="%s"></input></inputs></block-definition><block-definition s="list $arrowRight word %&apos;list&apos;" type="reporter" category="operators"><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;</translations><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="reportJoinWords"><block var="list"/></block></block></script></block-definition><block-definition s="%&apos;x&apos;" type="reporter" category="operators"><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="numbers from %&apos;from&apos; to %&apos;to&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:Zahlen von _ bis _&#xD;ca:nombres des de _ a _&#xD;es:números de _ a _&#xD;fr:nombres de _ à _&#xD;</translations><inputs><input type="%n">1</input><input type="%n">10</input></inputs><script><block s="doIf"><block s="reportGreaterThan"><block var="from"/><block var="to"/></block><script><block s="doReport"><block s="reportNewList"><list></list></block></block></script></block><block s="doReport"><block s="reportCONS"><block var="from"/><custom-block s="numbers from %n to %n"><block s="reportSum"><block var="from"/><l>1</l></block><block var="to"/></custom-block></block></block></script></block-definition><block-definition s="map %&apos;func&apos; over %&apos;data&apos;" type="reporter" category="lists"><header></header><code></code><translations>de:wende _ an auf _&#xD;ca:mapeja _ sobre _&#xD;es:mapear _ sobre _&#xD;fr:appliquer _ à _&#xD;</translations><inputs><input type="%repRing"></input><input type="%l"></input></inputs><script><block s="doIf"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doReport"><block var="data"/></block></script></block><block s="doReport"><block s="reportCONS"><block s="evaluate"><block var="func"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><custom-block s="map %repRing over %l"><block var="func"/><block s="reportCDR"><block var="data"/></block></custom-block></block></block></script></block-definition><block-definition s="for each %&apos;item&apos; of %&apos;data&apos; %&apos;action&apos;" type="command" category="lists"><header></header><code></code><translations>de:für jedes _ von _ _&#xD;ca:per cada _ de _ _&#xD;es:para cada _ de _ _&#xD;fr:pour chaque _ de _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%l"></input><input type="%cs"></input></inputs><script><block s="doUntil"><custom-block s="empty? %l"><block var="data"/></custom-block><script><block s="doSetVar"><l>item</l><block s="reportListItem"><l>1</l><block var="data"/></block></block><block s="doRun"><block var="action"/><list><block s="reportListItem"><l>1</l><block var="data"/></block></list></block><block s="doSetVar"><l>data</l><block s="reportCDR"><block var="data"/></block></block></script></block></script></block-definition><block-definition s="create model learning rate: %&apos;learningRate&apos; discount factor: %&apos;discountFactor&apos; randomize: %&apos;randomize&apos; list of available actions: %&apos;availableActions&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s">0.75</input><input type="%s">0.9</input><input type="%s">0.05</input><input type="%l"></input></inputs><script><block s="doReport"><block s="reportNewList"><list><block s="reportNewList"><list></list></block><block var="learningRate"/><block var="discountFactor"/><block var="randomize"/><block var="availableActions"/></list></block></block></script></block-definition><block-definition s="best action state: %&apos;s&apos; model: %&apos;model&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%s"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>q</l></list></block><block s="doSetVar"><l>q</l><custom-block s="get q values for state: %s model: %l"><block var="s"/><block var="model"/></custom-block></block><block s="doIf"><block s="reportLessThan"><block s="reportRandom"><l>0.01</l><l>1</l></block><block s="reportListItem"><l>4</l><block var="model"/></block></block><script><block s="doDeclareVariables"><list><l>random</l></list></block><block s="doSetVar"><l>random</l><block s="reportRandom"><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block s="reportListItem"><l><option>last</option></l><block var="model"/></block></block></block></block><block s="doReport"><block s="reportListItem"><block var="random"/><block s="reportListItem"><l><option>last</option></l><block var="model"/></block></block></block></script></block><block s="doDeclareVariables"><list><l>maxValue</l><l>chosenAction</l><l>actionsZero</l></list></block><block s="doSetVar"><l>maxValue</l><block s="reportListItem"><l>2</l><block var="q"/></block></block><block s="doSetVar"><l>chosenAction</l><l>2</l></block><block s="doSetVar"><l>actionsZero</l><block s="reportNewList"><list></list></block></block><custom-block s="for %upvar = %n to %n %cs"><l>i</l><l>2</l><block s="reportListAttribute"><l><option>length</option></l><block var="q"/></block><script><block s="doIf"><block s="reportEquals"><block s="reportListItem"><block var="i"/><block var="q"/></block><l>0</l></block><script><block s="doAddToList"><block var="i"/><block var="actionsZero"/></block></script></block><block s="doIf"><block s="reportGreaterThan"><block s="reportListItem"><block var="i"/><block var="q"/></block><block var="maxValue"/></block><script><block s="doSetVar"><l>maxValue</l><block s="reportListItem"><block var="i"/><block var="q"/></block></block><block s="doSetVar"><l>chosenAction</l><block var="i"/></block></script></block></script></custom-block><block s="doIf"><block s="reportEquals"><block var="maxValue"/><l>0</l></block><script><block s="doDeclareVariables"><list><l>random</l></list></block><block s="doSetVar"><l>random</l><block s="reportRandom"><l>1</l><block s="reportListAttribute"><l><option>length</option></l><block var="actionsZero"/></block></block></block><block s="doSetVar"><l>chosenAction</l><block s="reportListItem"><block var="random"/><block var="actionsZero"/></block></block></script></block><block s="doReport"><block s="reportListItem"><block s="reportDifference"><block var="chosenAction"/><l>1</l></block><block s="reportListItem"><l><option>last</option></l><block var="model"/></block></block></block></script></block></script></block-definition><block-definition s="get q values for state: %&apos;s&apos; model: %&apos;model&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>q</l></list></block><custom-block s="for each %upvar of %l %cs"><l>item</l><block s="reportListItem"><l>1</l><block var="model"/></block><script><block s="doIf"><block s="reportEquals"><block s="reportListItem"><l>1</l><block var="item"/></block><block var="s"/></block><script><block s="doReport"><block var="item"/></block></script></block></script></custom-block><block s="doSetVar"><l>q</l><block s="reportNewList"><list><block var="s"/></list></block></block><custom-block s="for each %upvar of %l %cs"><l>item</l><block s="reportListItem"><l><option>last</option></l><block var="model"/></block><script><block s="doAddToList"><l>0</l><block var="q"/></block></script></custom-block><block s="doAddToList"><block var="q"/><block s="reportListItem"><l>1</l><block var="model"/></block></block><block s="doReport"><block var="q"/></block></script></block-definition><block-definition s="update model %&apos;model&apos; old state: %&apos;stateOld&apos; new state: %&apos;stateNew&apos; reward: %&apos;reward&apos; action performed: %&apos;act&apos;" type="command" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%l"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input><input type="%s"></input></inputs><script><block s="doWarp"><script><block s="doDeclareVariables"><list><l>q0</l><l>q1</l><l>newValue</l></list></block><block s="doSetVar"><l>q0</l><custom-block s="get q values for state: %s model: %l"><block var="stateOld"/><block var="model"/></custom-block></block><block s="doSetVar"><l>q1</l><custom-block s="get q values for state: %s model: %l"><block var="stateNew"/><block var="model"/></custom-block></block><block s="doSetVar"><l>newValue</l><block s="reportSum"><block var="reward"/><block s="reportProduct"><block s="reportListItem"><l>3</l><block var="model"/></block><custom-block s="max of list %l"><block s="reportCDR"><block var="q1"/></block></custom-block></block></block></block><block s="doReplaceInList"><block s="reportSum"><l>1</l><custom-block s="get index of %s in %l"><block var="act"/><block s="reportListItem"><l><option>last</option></l><block var="model"/></block></custom-block></block><block var="q0"/><block s="reportSum"><block s="reportProduct"><block s="reportListItem"><block s="reportSum"><l>1</l><custom-block s="get index of %s in %l"><block var="act"/><block s="reportListItem"><l><option>last</option></l><block var="model"/></block></custom-block></block><block var="q0"/></block><block s="reportDifference"><l>1</l><block s="reportListItem"><l>2</l><block var="model"/></block></block></block><block s="reportProduct"><block s="reportListItem"><l>2</l><block var="model"/></block><block var="newValue"/></block></block></block></script></block></script><scripts><script x="587.398435230778" y="148.41247402398096"><block var="model"/></script></scripts></block-definition><block-definition s="get index of %&apos;element&apos; in %&apos;list&apos;" type="reporter" category="lists"><header></header><code></code><translations></translations><inputs><input type="%s"></input><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>index</l></list></block><custom-block s="for each %upvar of %l %cs"><l>item</l><block var="list"/><script><block s="doChangeVar"><l>index</l><l>1</l></block><block s="doIf"><block s="reportEquals"><block var="item"/><block var="element"/></block><script><block s="doReport"><block var="index"/></block></script></block></script></custom-block><block s="doReport"><l>-1</l></block></script></block-definition><block-definition s="max of list %&apos;list&apos;" type="reporter" category="operators"><header></header><code></code><translations></translations><inputs><input type="%l"></input></inputs><script><block s="doDeclareVariables"><list><l>max</l></list></block><custom-block s="for each %upvar of %l %cs"><l>item</l><block var="list"/><script><block s="doIf"><block s="reportGreaterThan"><block var="item"/><block var="max"/></block><script><block s="doSetVar"><l>max</l><block var="item"/></block></script></block></script></custom-block><block s="doReport"><block var="max"/></block></script></block-definition><block-definition s="for %&apos;i&apos; = %&apos;start&apos; to %&apos;end&apos; %&apos;action&apos;" type="command" category="control"><header></header><code></code><translations>de:für _ = _ bis _ _&#xD;ca:per _ = _ fins _ _&#xD;es:para _ = _ hasta _ _&#xD;fr:pour _ allant de _ à _ _&#xD;</translations><inputs><input type="%upvar"></input><input type="%n">1</input><input type="%n">10</input><input type="%cs"></input></inputs><script><block s="doDeclareVariables"><list><l>step</l><l>tester</l></list></block><block s="doIfElse"><block s="reportGreaterThan"><block var="start"/><block var="end"/></block><script><block s="doSetVar"><l>step</l><l>-1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportLessThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script><script><block s="doSetVar"><l>step</l><l>1</l></block><block s="doSetVar"><l>tester</l><block s="reifyReporter"><autolambda><block s="reportGreaterThan"><block var="i"/><block var="end"/></block></autolambda><list></list></block></block></script></block><block s="doSetVar"><l>i</l><block var="start"/></block><block s="doUntil"><block s="evaluate"><block var="tester"/><list></list></block><script><block s="doRun"><block var="action"/><list></list></block><block s="doChangeVar"><l>i</l><block var="step"/></block></script></block></script></block-definition><block-definition s="ga naar links" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="changeXPosition"><l>-3</l></block></script></block-definition></blocks><stage name="Stage" width="480" height="360" costume="1" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="true" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="805"><pentrails>data:image/png;base64,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</pentrails><costumes><list id="806"><item><ref mediaID="Stage_cst_Untitled"></ref></item></list></costumes><sounds><list struct="atomic" id="807"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="ball" idx="2" x="-42.59990816658872" y="-113.16375668980405" heading="293" scale="0.5" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="199,222,255,1" pen="tip" id="812"><costumes><list id="813"><item><ref mediaID="ball_cst_ball"></ref></item></list></costumes><sounds><list id="814"><item><ref mediaID="ball_snd_Pop"></ref></item><item><ref mediaID="ball_snd_FingerSnap"></ref></item><item><ref mediaID="ball_snd_Chord"></ref></item></list></sounds><blocks></blocks><variables></variables><scripts><script x="10" y="10"><block s="receiveKey"><l><option>space</option></l><list></list></block><block s="turn"><block s="reportRandom"><l>-45</l><l>45</l></block></block></script><script x="10" y="79.00000000000001"><block s="receiveMessage"><l>new game</l><list></list></block><block s="doTellTo"><l>paddle</l><block s="reifyScript"><script><block s="setXPosition"><l>0</l></block></script><list></list></block><list></list></block><block s="doGotoObject"><l>paddle</l></block><block s="changeYPosition"><l>20</l></block><block s="setHeading"><block s="reportRandom"><l>-70</l><l>70</l></block></block><block s="doBroadcastAndWait"><l>build wall</l><list></list></block><block s="doUntil"><block s="reportOr"><block s="reportLessThan"><block s="yPosition"></block><l>-165</l></block><block s="reportLessThan"><block var="bricks"/><l>1</l></block></block><script><block s="forward"><block s="reportSum"><l>5</l><block s="reportDifference"><l>15</l><block s="reportProduct"><l>15</l><block s="reportQuotient"><block var="bricks"/><l>104</l></block></block></block></block></block><block s="doIfElse"><block s="reportTouchingObject"><l>paddle</l></block><script><block s="doIfElse"><block s="reportEquals"><block s="reportRandom"><l>1</l><l>10</l></block><l>1</l></block><script><block s="setHeading"><block s="reportRandom"><l>-60</l><l>60</l></block></block></script><script><block s="setHeading"><block s="reportDifference"><l>180</l><block s="direction"></block></block></block></script></block><block s="playSound"><l>FingerSnap</l></block></script><script><block s="doIf"><block s="reportTouchingObject"><l>brick</l></block><script><block s="setHeading"><block s="reportDifference"><l>180</l><block s="direction"></block></block></block><block s="playSound"><l>Pop</l></block></script></block></script></block><block s="bounceOffEdge"></block></script></block><block s="doBroadcastAndWait"><l>kill wall clones</l><list></list></block><block s="doBroadcast"><l>new game</l><list></list></block></script><script x="10" y="639.9166666666667"><block s="receiveGo"></block><block s="doBroadcast"><l>new game</l><list></list></block></script></scripts></sprite><sprite name="brick" idx="3" x="211.9999999999999" y="-200.00000000000003" heading="90" scale="0.4" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="1" color="80,80,80,1" pen="tip" id="945"><costumes><list id="946"><item><ref mediaID="brick_cst_brick"></ref></item></list></costumes><sounds><list struct="atomic" id="947"></list></sounds><blocks></blocks><variables></variables><scripts><script x="15" y="10"><block s="receiveMessage"><l>kill wall clones</l><list></list></block><block s="removeClone"></block></script><script x="15" y="71.41666666666666"><block s="receiveMessage"><l>build wall</l><list></list></block><block s="doSetVar"><l>bricks</l><l>0</l></block><block s="hide"></block><block s="setScale"><l>40</l></block><block s="clearEffects"></block><block s="setYPosition"><l>191</l></block><block s="doRepeat"><l>10</l><script><block s="setXPosition"><l>-268</l></block><block s="changeYPosition"><l>-21</l></block><block s="doRepeat"><l>8</l><script><block s="changeXPosition"><l>60</l></block><block s="createClone"><l><option>myself</option></l></block></script></block><block s="changeEffect"><l><option>ghost</option></l><l>7</l></block></script></block><block s="setYPosition"><l>-200</l></block></script><script x="15" y="427.1666666666668"><block s="receiveOnClone"></block><block s="show"></block><block s="doChangeVar"><l>bricks</l><l>1</l></block><block s="doPlayNote"><block s="reportSum"><l>20</l><block var="bricks"/></block><l>0.5</l></block><block s="doWaitUntil"><block s="reportTouchingObject"><l>ball</l></block></block><block s="doChangeVar"><l>bricks</l><l>-1</l></block><block s="removeClone"></block></script><script x="15" y="595.833333333333"><block s="changeEffect"><l><option>ghost</option></l><l>30</l></block></script><script x="251.5" y="198.75"><block s="doWarp"><script></script></block></script></scripts></sprite><sprite name="paddle" idx="1" x="24.00000000000033" y="-151.70470014263674" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="2" color="80,80,80,1" pen="tip" id="1014"><costumes><list id="1015"><item><ref mediaID="paddle_cst_black"></ref></item><item><ref mediaID="paddle_cst_white"></ref></item></list></costumes><sounds><list struct="atomic" id="1016"></list></sounds><blocks><block-definition s="ga naar rechts" type="command" category="motion"><header></header><code></code><translations></translations><inputs></inputs><script><block s="changeXPosition"><l>3</l></block></script></block-definition></blocks><variables><variable name="auto play"><bool>false</bool></variable></variables><scripts><script x="30" y="20"><block s="receiveKey"><l><option>left arrow</option></l><list></list></block><block s="doSetVar"><l>auto play</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="changeXPosition"><l>-25</l></block></script><script x="30" y="119"><block s="receiveGo"></block><block s="doSetVar"><l>model</l><custom-block s="create model learning rate: %s discount factor: %s randomize: %s list of available actions: %l"><l>0.75</l><l>0.9</l><l>0.05</l><block s="reportNewList"><list><block s="reifyScript"><script><custom-block s="ga naar rechts" scope="local"></custom-block></script><list></list></block><block s="reifyScript"><script><custom-block s="ga naar links"></custom-block></script><list></list></block></list></block></custom-block></block><block s="doDeclareVariables"><list><l>best move</l><l>reward</l><l>old state</l></list></block><block s="doForever"><script><block s="doSetVar"><l>old state</l><block s="reportRound"><block s="reportQuotient"><block s="reportAttributeOf"><l><option>x position</option></l><l>ball</l></block><l>25</l></block></block></block><block s="doRun"><block var="best move"/><list></list></block><block s="doSetVar"><l>best move</l><custom-block s="best action state: %s model: %s"><block var="old state"/><block var="model"/></custom-block></block><custom-block s="update model %l old state: %s new state: %s reward: %s action performed: %s"><block var="model"/><block var="old state"/><block s="reportRound"><block s="reportQuotient"><block s="reportAttributeOf"><l><option>x position</option></l><l>ball</l></block><l>25</l></block></block><l></l><block var="best move"/></custom-block><block s="doSetVar"><l>reward</l><block s="reportIfElse"><block s="reportLessThan"><block s="reportAttributeOf"><l><option>x position</option></l><l>ball</l></block><l>-125</l></block><l>-5</l><l>1</l></block></block></script></block></script><script x="30" y="499.8333333333336"><block s="receiveKey"><l><option>right arrow</option></l><list></list></block><block s="doSetVar"><l>auto play</l><block s="reportBoolean"><l><bool>false</bool></l></block></block><block s="changeXPosition"><l></l></block></script><script x="30" y="598.8333333333336"><block s="reportListItem"><l>1</l><l/></block></script><script x="30" y="631.8333333333336"><custom-block s="get q values for state: %s model: %l"><l></l><l/></custom-block></script></scripts></sprite><watcher scope="ball" s="xPosition" style="normal" x="20.265711805556975" y="20.265711805555654" color="74,108,212" hidden="true"/><watcher scope="ball" s="yPosition" style="normal" x="20.265711805556975" y="62.82371065036463" color="74,108,212" hidden="true"/><watcher scope="brick" s="xPosition" style="normal" x="20.265711805556975" y="105.3817094951738" color="74,108,212" hidden="true"/><watcher scope="brick" s="yPosition" style="normal" x="20.265711805556975" y="147.93970833998264" color="74,108,212" hidden="true"/><watcher var="bricks" style="normal" x="727.5390538194456" y="660.6622210736808" color="243,118,29" hidden="true"/><watcher scope="paddle" var="auto play" style="normal" x="20.265711805556975" y="190.49770718479178" color="243,118,29" hidden="true"/><watcher scope="paddle" s="yPosition" style="normal" x="20.265711805556975" y="233.0557060296008" color="74,108,212" hidden="true"/><watcher var="model" style="normal" x="20.265711805556975" y="282.50404688829866" color="243,118,29" hidden="true"/></sprites></stage><variables><variable name="bricks"><l>79</l></variable><variable name="model"><list id="1144"><item><list id="1145"><item><list struct="atomic" id="1146">0,0,0</list></item><item><list struct="atomic" id="1147">-1,0,0</list></item><item><list struct="atomic" id="1148">-2,0,0</list></item><item><list struct="atomic" id="1149">-3,0,0</list></item><item><list struct="atomic" id="1150">-4,0,0</list></item><item><list struct="atomic" id="1151">-5,0,0</list></item><item><list struct="atomic" id="1152">-6,0,0</list></item><item><list struct="atomic" id="1153">-7,0,0</list></item><item><list struct="atomic" id="1154">-8,0,0</list></item><item><list struct="atomic" id="1155">-9,0,0</list></item><item><list struct="atomic" id="1156">1,0,0</list></item><item><list struct="atomic" id="1157">2,0,0</list></item><item><list struct="atomic" id="1158">3,0,0</list></item><item><list struct="atomic" id="1159">4,0,0</list></item><item><list struct="atomic" id="1160">5,0,0</list></item><item><list struct="atomic" id="1161">6,0,0</list></item><item><list struct="atomic" id="1162">7,0,0</list></item><item><list struct="atomic" id="1163">8,0,0</list></item><item><list struct="atomic" id="1164">9,0,0</list></item></list></item><item><l>0.75</l></item><item><l>0.9</l></item><item><l>0.05</l></item><item><list id="1165"><item><context id="1166"><inputs></inputs><variables></variables><script><custom-block s="ga naar rechts" scope="local"></custom-block></script><receiver><ref id="1014"></ref></receiver><origin><ref id="1014"></ref></origin><context id="1170"><inputs></inputs><variables><variable name="best move"><context id="1172"><inputs></inputs><variables></variables><script><custom-block s="ga naar links"></custom-block></script><receiver><ref id="1014"></ref></receiver><origin><ref id="1014"></ref></origin><ref id="1170"></ref></context></variable><variable name="reward"><l>1</l></variable><variable name="old state"><l>-1</l></variable></variables><receiver><ref id="1014"></ref></receiver><origin><ref id="1014"></ref></origin></context></context></item><item><ref id="1172"></ref></item></list></item></list></variable></variables></scene></scenes></project><media name="Break Out Yo" app="Snap! 7, https://snap.berkeley.edu" version="2"><costume name="Untitled" center-x="240" center-y="180" image="data:image/png;base64,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" mediaID="Stage_cst_Untitled"/><costume name="ball" center-x="21" center-y="20.75" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAApCAYAAABDV7v1AAAAAXNSR0IArs4c6QAABY1JREFUWEelmE1sFVUUx39npn2v351WhI2JBDUuREU3gqCgLCSu0KCBRF34gYnuMGpUjDGiRo3sNBE/FmoCUaKsDC5UMKCslCgujJFg4kKUttOW9vW9duaamTfz3nzcO/NeeZtO5557zv+e8z//MzPCJf/+HRpn7AbF0hqFt2qG3sHA5QiLc4J93qLn7ARTv8DKi5cSSnKbgzsqupu8ThhWmbl2ker9g3C3DetbS7G3YH9mryecmlN81Uv9szojv5eDTjvIAy3AOMzkRouBPYLcG5iFrgyHKQKiUF/4zO+fZfxkOeBmpARQc8QVqGGPxbcU/uNNePnfMvAG4d+z6X16ApmNi2gCngcaRYwD9zG3tYp1QLDWtLIYe0uWOhsh4wdRUfrTJVN4Z+v4uxcY+qYou8bSB5scGg+D+jDpoJW55aQw4UgEVJhGhYiglDziUvlIDzZV+jT/x1h4QiHvhI6QUi7qccddlWiu0DBxPwke9eQUfe+aqJVGKDCiag9aWB8bS1GiDO3lCFASXO46HcXHf2iG/k90TEq17wjz6y3sH0u7MZNCIxOKKBKBDiuWCOiLt2FGDZxKUS7rZ5T6T4K6SdvdBTrZ1s1MWbvlcpO7P09TvTnbG63/HS68ggzvTR0vr92lyc4ZdAw2ecjZfS4rXswKTMDwKx0a57RBms1Z+Au7OGlnKKu2UVoKkF51qawG+SuWxXB1mMbbNmpPMZxIATRGetnSd3dLSUpq4yH7Z6k8lQCqLIfGJDBanLYos7lSmgB1z5LMjmlXKuMo8aP2qO9w4HO9225BJO3T18nuzklYFDybAxfug+rhgFo41A4orMdM59f2QjwSCxvFcMh4T6EeN2kG/vtT9O8OM+pQPwNcl4uZmyIaAc+dTpPFTrrebPObS3Vt0G+9Do2GNpvR5sLxaAqQ3Ss0n0uy4phhiq4pXXorAgtXO8gfrf3ZwEmRD8K0dChNKhPnlq+p7Z0u6hoZYf4WCzscV4WZ67aBc7TJOCilQzvVPt56gcXNjvjHzIJu1s4iunR7rmaW9M3nIltkjNptCuv7wDDHobJopVkxVckwMXKTrWkneLfLII0be1GnizCFeDoAlfdh1mC9wugPsKhknQzxz8oexs5nOaofiZkXulSjZRRb15RlL0aGbC0xtSoMNSz1C7bisu4mUzpb3UpYpwXyYGKW6ormZJLaUaXkrtwzaKfeCnhzSS7CvvG/nqJ/W5jRMerPKXitrHfM6509DxSCNiwKPD9F9fUwo4NMru1h8NdOgHbcBLoJ1FWA5uGXmLv+IuNnQqDBLYfGMVCbO/Glmzat1/ZUwyQ0OHPC5L/a66bUHHelsiWQnLhvGWJ6Z4/0HQxBBJNSJ0mx1mrK1LbvggYmtBGIJeq7LjJ6KFakVoIc5k8g9kbtO1PrSAWvJSYSdtpRKTvvpMvAphhcq/TBDYe/70Au/zY3TpN6WRq0s4yWU/i/O12u+C5+AEnmKdw7grvPov+FlqNSYPHcy7nS0z0ya4/r/MF8aq/O4OzNHiaNSWBULXwpyPbmgubRblkd19kmhToyTd89WetU6ePF1ag+l0bwde3W9IYun6Qyj46FvdMM9INDZes5ZCEHtH0jchP9GUM5ShaPoEySZZYenXwVfdRohpTj0LvdRVxd7rUZbRsqe4TGpxbsNDxVp33q+FzGcVH4Sg7NUHkAxDMRpLgDoiDD1J+x4Y3OWBZZlQGMzDx4dpbqmy0Z0qpf2afxBBuCMWsz8JIgOzopbdmhFOqwx/zLwXgssw3WUxltJyHN16SjcRY3ePiPCuwC+ouD5KSnpiwO2r58MEml/NNmwnkJR3W9Fw9zv2eM2jawN4Fa58FVltirUGo4mr+zPt55G/4EOQ3eiSkGjoIsFR3OpAz/A/TXFmE8a9V0AAAAAElFTkSuQmCC" mediaID="ball_cst_ball"/><sound name="Pop" sound="http://snap.berkeley.edu/snapsource/Sounds/Pop.wav" mediaID="ball_snd_Pop"/><sound name="FingerSnap" sound="http://snap.berkeley.edu/snapsource/Sounds/FingerSnap.wav" mediaID="ball_snd_FingerSnap"/><sound name="Chord" sound="http://snap.berkeley.edu/snapsource/Sounds/Chord.wav" mediaID="ball_snd_Chord"/><costume name="brick" center-x="66" center-y="22.75" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH4AAAAuCAYAAADura1/AAAAAXNSR0IArs4c6QAABIVJREFUeF7tXAly2zAMJPudpn/o7/ITfyM/izuU5ZiUCGIXACVlUs90PGMtFruAeMlO8/tb+pt+zCunlO4prW/fzzYrXMbn21upxJmvnFK+L/2IfLElgnMrxP3L09TAsltgTsc0/mq+jeVawk72EpU+3/6ke/Ro89SVju1WIqo8hJpnyu07QjGUO8PLUSN+aH6GMaTaFYaRgDSJ4SOlUvCcU7r319DxVF8MlLlNCP4SARp9weiAvV+QQi6Um4DrwWNbOWcIDBosJZy+xoeWlyAjoFQDZ4KP1PxovHbKOVLR1waqTbqTcLSmpuOnJg+ZxKaP+JkjROWG+wMD1ZQsAMkcetM/B/lZ53jVsARQA9nSP/BhtGFEoI8lH580bMTzqTvGQkhGu3VhTYvOC/YMu+GAB1wG/bbGGxIRtQiBfgOJA5+z1V/iHB/S59dkbZz6dBVEM7YaiNBJB74drTjiw7SKB0ngYKt2I05lHJMq+lzAelNWjf8x1tfCs35zysDTbZZ1PxSrAYGSobh6+xO1q+dyV+gmUGDhyPsjys3hJogb6ZIU4vN2qu8Gyoa5UnDoUZX6TAT/ENq5SFDD3WU5d3hfX/Rn9doDZtjpfCBbS0SRnZONZPGIehnTNF5MLc3MAi9rAZntX6lY9gOeF/h6cEr0ebt6r122/wVfXpYZjM3l8YbkQjCKBtsDHJMxQi0BhaWEcvrI9GgdUXxjKGGvK+7qu6xKKo8S4rzP7s1qak+sfpMRBZgrpCv1ldL15O4aN4HeDG3Ow6d/pK0SBokl7n2/7ahz/FCJx7XH4rS804iVkeopRrs00Gs8bVkIUGc660YMHja0k4YZioZAQDOjeKpUdOMBmSRkgivXtoeU/4SfMccjpZMGHjzV1wRIQmP9poShekc4hiN6tppQFPwcrxnvXQd+QzDBUwyl5rd7nlLWNYRzq94SA1SAnOonqUCECpvvnSJkyj3PBuC0e0etcatwi/5NDNn4jm5YRE45330/0Ye7DNa3Bxv4aS7BvgdaIjiMVh2Nx1QPURiF76QY2a2u3upD2g8doLcZoSxLMLy501P6EIhgX4aLRKNTykYuWh8Q5298nQhMOlrFLtIdTgbgG4CMc7oJWnq58cGJlrSFs7ykb8ieOZHcCEYqpSeWuyUuiz7vhxj/ix97U5D19E/1JvmESgJqklIH7XK1H9il2CPdngSC5o8mw5Nc5AGOWHZtl27cXzVhbM9HN5+2VBINPG7EswUgTOyhcrLliluLkwANH+FQjm4dDd/Hu/JR23kkk4JZL0soPYMSqROoty9MAQM7KTuxrhHv0aJWZACA88JAhxo2B4tX//MCm3ZX420pD4iiiyvtgPBf57jW9QNK0k62Z0z1B5lc0kTdANjsaXLGSSTQw2XO0HiuoJVQQjNTwUm0soSohFE8w+PowMZlntUz3fZiPUXfxRJkGlS77vVdxbvW+AN1YktohCAnxxK+5YA4IVBY6/Ptd/oIYytEnymlXzGMplKU7wFKYNFR3ss/64vxMsRif2I9lPn0NQIhmDX+H0P0q7YCkQDGAAAAAElFTkSuQmCC" mediaID="brick_cst_brick"/><costume name="black" center-x="76" center-y="7.75" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJMAAAAQCAYAAAASwU1jAAAAAXNSR0IArs4c6QAAAshJREFUaEO1WWuaxCAIw5vtzfdo7tdOq6ggCc7Ov2khhLdtSxH5qUVEqtC/pBptR4S3tNXg4TrnfwN+TNz4JwT58HZrRYrUTCncRhXr0QFtAKq0rP+z3vX//V0FnsS11fTVZOCSfLwUNzgLd6QLpWG2E9c+YuSR8cCenGE1EwbQILQzHE3B0B7ffa/GAL3NpJ4UeXtDM0SZLdUvGDgmXpPAALyzQa0pQG9ihb22Xw3eRJoL7ZZLThFNMYjlYybR/UDX1vSAHYM8+WByRgaNlTpPDy+U7BL5sDkZPs2fbMMQepCoIzQkDJlkgGNL3qxERkUBOUUcEww81MRbDUo+Yj+VM2cJHp3RJminw0XQ1xzuWBPRW7uHPkLqYYGOKITbcMxhQa8L1ukFFhMoZo0tKLjE9oSDgK47wze7EE88CYoj5dTkoHX2SlBmVT7yhJYnel9n2yawS9A6TsEWYO08wB7BfgkeOGXRR7dt0gBXwKVUSpFa3zGP+o/KbXh2CCNT16Xrxx7Gd7yse458u/zlJOxPmmBSZ05fyMVyzEMwrbQVkVZL9qnaj/juSTYMDULYBEkrLmgIkimDKA7WtMLzZBpMO8REahEgwFbcgUbNQndz5wgjdRRPJwPVeS2l5JXBYWqyYODOaFyLlNrfSkMFNNauPeUVDdiDYCq6OKWNrJlZ9MbRr4381pg0T0b9pWutUCd53oSFExCOaLK4dnjA9NjS2ejft4xK1p9fPreDcreB2IESFAQb9Fk+U2AHFeF3YeI7pwHWm/k0MIz+SITloLSRuRFE3wqKE9uDPLJVfCavtRtp/UYeCCHzuJzN/dcCyhAYX1xDFLoQJL6yeUYb8kWas0Xw2Ra6c1OvQ8sUYT67XlodIrb0CjHWSbCAltfliMnbr5Zfkd/BURjBCc+RflIZUUOCyzWl0zSbM5DBYQFBfIGVUmDpKPwBebJTFPoWrfoAAAAASUVORK5CYII=" mediaID="paddle_cst_black"/><costume name="white" center-x="77.5" center-y="7.75" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJUAAAAQCAYAAAAf3z0kAAAAAXNSR0IArs4c6QAAAxpJREFUaEPFWu2ShCAMw/d/5+MGAW2haVN1Zu/PulKa0I+A3h6llFJrre3z/GtXx/UN35Mmcs64ttx4EAvi869Z4JS9Z5yMGYq1tfIJm4CHuVz9q9zVUo41+SAVgMvR/s6CypJVOMZko8h2asLoDT7TBEGhKxcRFzgexMHIsguFOEf8YNE4E6ekkPXkClDTpEulsmS9iid0BiayiabqlrfEHigIwR/2lZsgUHjNWUvoNtz6/Rgbx4M4rFMCF9ewzEEEaxS/Lqq5OCeoEQaS3bgr2RX7GT+9UCSxn9z0nLXa9awau3pqGbSKNQ/9NrNUu42i0uw2sfA2aCTTmTMDRTVhZAWbSQBj49GI5kfj0/e0q6XUYz/iMpFQzcXiMo5nXqG6iu3PwzVV1K68m1YovU41RrK2RtrqYiZAFkdCrbtrwF/6RNcMN2RDFsi1cX4h3YLLDS+3Zk323v6ihaaCta/cjMVZmEEWRcFEtTafWsm4Ryse46Q3xixSULc5HIBlCNZRhK8iYhSNUNAeawtYHtTNEAcsmEAuRJWYB53chzMg+RlTdKxtRiOLbxlKZOmWSPktPx+rEEvVtruDsisVEzDGZkF+MCXibj4ttUMIPIcEJO7ezLOlZqxGqCic+rVdzNO9oRz0dr4Is6cnYLHzNr/9gfeiV+apqE7rlHFHlpUCpxsD45YaIeBdiGyijJ1CHsuyCvFTgSJid9T61w82hDFcvDvXaLut3RJvcgGJ7QTAcnIy+jQk+06GPfEYvCVbpN977P1PKJWE7td812doW5LChucHduzSPpSVC/KpT5azdQ5OzH12plq0O8ZrFuueEc9SmyUyX+5vIjjfSV8UgCOezncVnMXc+/s7LtJTgpdV34RS+YepBH50KvO34AwQY7tXH37LGBTudj4SPaSnWs2l62ImST9sxPNeV9cXEMOH8b+/t53MZDQIwZsFuvABtw+op5LL4MlnFBkXZi4i4yqeAPQwnLH+Ckv+9AU9qaSiZRnjlbyJT0dipMR+A7H9zMdb54QZnzRv2nCAC/vsVD9NDnEElGzw9suXf4tKlOaaz6fBAAAAAElFTkSuQmCC" mediaID="paddle_cst_white"/></media></snapdata>