<snapdata remixID="15055399"><project name="Cubed 3D" app="Snap! 11.0.8, https://snap.berkeley.edu" version="2"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAAEeElEQVR4AeybO2sVURRGD8EHPioFLWws/AtiZyFYSQotLETQWkQrSy20UEilhZWosbAwRcBgo2CRQhRBEMFGERsbESsfoMX1TpKBkTh3rnNe+8y3QoYZZu45e+/1LYabIjMjfiCQkcCM4wcCGQkgYEb4lHYOAbEgKwEEzIqf4giIA1kJ6AqYFTvFawIIWJPgnIUAAmbBTtGaAALWJDhnIYCAWbBTtCaAgDUJzlkIIGAW7FmLmiqOgKbi0GsGAfUyNzUxApqKQ68ZBNTL3NTECGgqDr1mEFAvc1MTJxXQ1OQ0Y4IAApqIQbcJBNTN3sTkCGgiBt0mEFA3exOTI6CJGHSbQMAk2VOkjQACtpHhfhICCJgEM0XaCCBgGxnuJyGAgEkwU6SNAAK2keF+EgIImASzbpGuyRGwixDPoxJAwKh42byLAAJ2EeJ5VAIIGBUvm3cRQMAuQjyPSgABo+Jl8y4CwxWwa3KemyCAgCZi0G0CAXWzNzE5ApqIQbcJBNTN3sTkCGgiBt0mEHB42Rc1EQIWFdfwmkXA4WVa1EQIWFRcw2sWAYeXaVETIWBRcQ2vWQQcXqZFTRRUwKImp1kTBBDQRAy6TUgJ+Ormgrux57D79e1ntsTfP1p2b+49zFbfWmEpAWc2b3DnPj1xm7Zvcb/HEq7K+CNJJpV41bHvyEG399CBJDVLKCIlYDOQjWMJV2XcGlXGSrrqqMSrjmYPXDsnK2Az/FrGL28/NG8Hua6kq44gmw1wEwQMEiqb9CWAgH3JsS4IAQQMgpFN+hJAwL7kWBeEAAIGwcgmfQkgYF9yrAtCAAGDYNTdxHdyBPQlyHovAgjohY/FvgQQ0Jcg670IIKAXPhb7EkBAX4Ks9yKAgF74WOxLoFwBfSdnvQkCCGgiBt0mEFA3exOTI6CJGHSbQEDd7E1MjoAmYtBtAgEb2T+fm3cvr98PelT/kNQoEeJyUHsg4Fqc3z9/dccW5tz+8yeCHmvbc2ohgIA1mNGovgp6rv4jjrdgO1IEHLNZOn3Jbdu9c3zFb2oC8gIunbroZu9ejsqdt2A7XmkBq+99s/NX2unwJDoBaQGj020U4C3YgNG4/C8BG+uKv1z53rdrR/FzlD6ApICVfLG/9/1LDN6C66nICbjyvS/yHx3rMXOnjYCcgG0gUt2v3oIfn75IVc58HSkBn1277R6fveoWj1/Iery+tWhejFQNSgl45t2SO/pgLvtxcvlOqnzN15ESsH8arIxFAAFjkWXfqQgg4FSY+FAsAggYiyz7TkUAAafCxIdiEUDAWGTZdyoCCDgVJt0PxZ4cAWMTZv+JBBBwIh4exiaAgLEJs/9EAgg4EQ8PYxNAwNiE2X8iAQSciIeHsQnYFTD25OxvggACmohBtwkE1M3exOQIaCIG3SYQUDd7E5MjoIkYdJtAQHvZS3WEgFJx2xsWAe1lItURAkrFbW9YBLSXiVRHCCgVt71hEdBeJlId/SWg1OQMa4IAApqIQbcJBNTN3sTkCGgiBt0mEFA3exOT/wEAAP//fkLxGwAAAAZJREFUAwAqfX+emtQETQAAAABJRU5ErkJggg==</thumbnail><scenes select="1"><scene name="Cubed 3D"><notes></notes><hidden></hidden><headers></headers><code></code><blocks><block-definition s="create %&apos;_scope&apos; var %&apos;_names&apos;" type="command" category="variables"><comment x="0" y="0" w="146" collapsed="false">This block creates  new variables on the selected scope: global (for all sprites), sprite (for this sprite only) or script (only for that blocks stack) with the names given (in &apos;names&apos; list).&#xD;&#xD;If there is already a variable with that name in that scope, it does nothing: no errors and no overwrites.</comment><header></header><code></code><translations>pt:cria as variáveis _ _&#xD;ca:crea les _ variables _&#xD;es:crear las _ variables _&#xD;de:erstellen _ var _&#xD;pl:utwórz zmienną _ _&#xD;</translations><inputs><input type="%s" readonly="true">global<options>global&#xD;sprite&#xD;script</options></input><input type="%mult%txt"></input></inputs><script><block s="doWarp"><script><block s="doForEach"><l>_item</l><block var="_names"/><script><block s="doApplyExtension"><l>var_declare(scope, name)</l><list><block var="_scope"/><block var="_item"/></list></block></script></block></script></block></script></block-definition><block-definition s="delete var %&apos;_names&apos;" type="command" category="variables"><comment x="0" y="0" w="217" collapsed="false">This block deletes all the variables with the names given (inside input list).&#xD;&#xD;Each name will make only one variable deletion, and this will be the variable found following the scope order: &apos;script&apos; -&gt; &apos;sprite&apos; -&gt; &apos;global&apos;.&#xD;&#xD;If we have a &quot;testing&quot; sprite variable and also a &quot;testing&quot; global one, deleting &quot;testing&quot; will delete only the sprite one (Yes! we can also do &quot;delete var (testing, testing)&quot; to delete both.&#xD;&#xD;If one variable does not exists (in any scope) an error happens, stopping block action in that point. You can check it before with the &quot;does var (name) exists?&quot;block. </comment><header></header><code></code><translations>pt:remove as variáveis _&#xD;ca:esborra les variables _&#xD;es:borrar variables _&#xD;de:löschen var _&#xD;pl:usuń zmienną _&#xD;</translations><inputs><input type="%mult%txt"></input></inputs><script><block s="doWarp"><script><block s="doForEach"><l>_item</l><block var="_names"/><script><block s="doApplyExtension"><l>err_ignore</l><list><custom-block s="var %s"><block var="_item"/></custom-block></list></block><block s="doApplyExtension"><l>var_delete(name)</l><list><block var="_item"/></list></block></script></block></script></block></script></block-definition><block-definition s="set var %&apos;_name&apos; to %&apos;_value&apos;" type="command" category="variables"><comment x="0" y="0" w="240.4931640625" collapsed="false">This block sets the given value (last input) to the variable named with the name givent (var input).&#xD;&#xD;It looks for that variable following the scope order &apos;script&apos; -&gt; &apos;sprite&apos; -&gt; &apos;global&apos; (the first match it finds).&#xD;&#xD;If that variable does not exist (in any scope) an error happens, stopping their script. You can check it before using the &quot;does var (name) exists?&quot; block. </comment><header></header><code></code><translations>ca:assigna a _ el valor _&#xD;es:asignar a _ el valor _&#xD;pt:altera _ para _&#xD;de:setze var _ auf _&#xD;pl:ustaw zmienną _ na _&#xD;</translations><inputs><input type="%s"><options>§_getVarNamesDict</options></input><input type="%s"></input></inputs><script><block s="doApplyExtension"><l>var_set(name, val)</l><list><block var="_name"/><block var="_value"/></list></block></script></block-definition><block-definition s="var %&apos;_name&apos;" type="reporter" category="variables"><comment x="0" y="0" w="178.00000000000003" collapsed="false">This block reports the value of the variable with the name given.&#xD;&#xD;It looks for that variable following the scope order &apos;script&apos; -&gt; &apos;sprite&apos; -&gt; &apos;global&apos; (the first match it finds).&#xD;&#xD;If that variable does not exist (in any scope) an error happens, stopping their script. You can check it before using the &quot;does var (name) exists?&quot; block. </comment><header></header><code></code><translations>pt:o valor de _&#xD;pl:zmienna _&#xD;</translations><inputs><input type="%s"><options>§_getVarNamesDict</options></input></inputs><script><block s="doReport"><block s="reportApplyExtension"><l>var_get(name)</l><list><block var="_name"/></list></block></block></script></block-definition><block-definition s="does var %&apos;_name&apos; exist?" type="predicate" category="variables"><comment x="0" y="0" w="146" collapsed="false">This block reports &quot;true&quot; if there is a variable with this given name (input slot) in that context.&#xD;&#xD;It can be a global, sprite or script variable.&#xD;&#xD;Otherwise it reports &quot;false&quot;.</comment><header></header><code></code><translations>pt:a variável _ existe&#xD;ca:existeix la variable _ ?&#xD;es:existe la variable _ ?&#xD;de:existiert var _ ?&#xD;pl:zmienna _ istnieje?&#xD;</translations><inputs><input type="%s"></input></inputs><script><block s="doApplyExtension"><l>err_try(cmd, catch, err)</l><list><block s="reifyScript"><script><block s="doApplyExtension"><l>err_ignore</l><list><block s="reportApplyExtension"><l>var_get(name)</l><list><block var="_name"/></list></block></list></block><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><list></list></block><block s="reifyScript"><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script><list></list></block><l></l></list></block><block s="doApplyExtension"><l>err_reset</l><list></list></block></script></block-definition><block-definition s="show var %&apos;_name&apos;" type="command" category="variables"><comment x="0" y="0" w="181" collapsed="false">This block turns on (show) the watcher view on stage (if it was not already activated) of the variable with the given name (slot input).&#xD;&#xD;It can only access to the closest variable scope (if there different variables with the same name in different scopes) following the order &apos;script&apos; -&gt; &apos;sprite&apos; -&gt; &apos;global&apos;.&#xD;&#xD;No errors if that variable does not exist.</comment><header></header><code></code><translations>ca:mostra la variable _&#xD;es:mostrar variable _&#xD;pt:mostra a variável _&#xD;de:zeige var _&#xD;pl:pokaż zmienną _&#xD;</translations><inputs><input type="%s"><options>§_getVarNamesDict</options></input></inputs><script><block s="doApplyExtension"><l>var_show(name)</l><list><block var="_name"/></list></block></script></block-definition><block-definition s="hide var %&apos;_name&apos;" type="command" category="variables"><comment x="0" y="0" w="181" collapsed="false">This block turns off (hide) the watcher view on stage (if it was not already activated) of the variable with the given name (slot input).&#xD;&#xD;It can only access to the closest variable scope (if there different variables with the same name in different scopes) following the order &apos;script&apos; -&gt; &apos;sprite&apos; -&gt; &apos;global&apos;.&#xD;&#xD;No errors if that variable does not exist.</comment><header></header><code></code><translations>ca:amaga la variable _&#xD;es:esconder variable _&#xD;pt:esconde a variável _&#xD;de:verstecke var _&#xD;pl:ukryj zmienną _&#xD;</translations><inputs><input type="%s"><options>§_getVarNamesDict</options></input></inputs><script><block s="doApplyExtension"><l>var_hide(name)</l><list><block var="_name"/></list></block></script></block-definition></blocks><primitives></primitives><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" id="116"><pentrails>data:image/png;base64,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</pentrails><costumes><list struct="atomic" id="117"></list></costumes><sounds><list struct="atomic" id="118"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites select="1"><sprite name="Render" idx="1" x="24.489795918367463" y="12.244897959183731" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" hidden="true" costume="0" color="145,26,68,1" pen="tip" id="123"><wear><ref mediaID="1"></ref></wear><costumes><list struct="atomic" id="124"></list></costumes><sounds><list struct="atomic" id="125"></list></sounds><blocks><block-definition s="go to x: %&apos;num1&apos; y: %&apos;num2&apos; z: %&apos;num3&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">0</input><input type="%n" initial="1">0</input><input type="%n" initial="1">0</input></inputs><script><block s="gotoXY"><block s="reportVariadicProduct"><list><block var="focal length"/><block s="reportQuotient"><block var="num1"/><block var="num3"/></block></list></block><block s="reportVariadicProduct"><list><block var="focal length"/><block s="reportQuotient"><block var="num2"/><block var="num3"/></block></list></block></block></script></block-definition><block-definition s="set point id: %&apos;1&apos; to x: %&apos;2&apos; y: %&apos;3&apos; z: %&apos;4&apos;" type="command" category="lists"><header></header><code></code><translations></translations><inputs><input type="%n" readonly="true" irreplaceable="true" initial="1">1<options>1&#xD;2&#xD;3&#xD;4</options></input><input type="%n" initial="1">0</input><input type="%n" initial="1">0</input><input type="%n" initial="1">0</input></inputs><script><custom-block s="set var %s to %s"><block s="reportJoinWords"><list><l>point </l><block var="1"/></list></block><block s="reportNewList"><list><block var="2"/><block var="3"/><block var="4"/></list></block></custom-block></script></block-definition><block-definition s="draw line from x1: %&apos;1&apos; y1: %&apos;2&apos; z1: %&apos;3&apos; to x2: %&apos;4&apos; y2: %&apos;5&apos; z2: %&apos;6&apos;" type="command" category="pen"><header></header><code></code><translations></translations><inputs><input type="%n" initial="1">0</input><input type="%n" initial="1">0</input><input type="%n" initial="1">0</input><input type="%n" initial="1">0</input><input type="%n" initial="1">0</input><input type="%n" initial="1">0</input></inputs><script><custom-block s="set point id: %n to x: %n y: %n z: %n" scope="local"><l>1</l><block s="reportDifference"><block var="1"/><block var="cam x"/></block><block s="reportDifference"><block var="2"/><block var="cam y"/></block><block s="reportDifference"><block var="3"/><block var="cam z"/></block></custom-block><custom-block s="set point id: %n to x: %n y: %n z: %n" scope="local"><l>2</l><block s="reportDifference"><block var="4"/><block var="cam x"/></block><block s="reportDifference"><block var="5"/><block var="cam y"/></block><block s="reportDifference"><block var="6"/><block var="cam z"/></block></custom-block><custom-block s="z-clipping" scope="local"></custom-block><block s="doIf"><block s="reportVariadicLessThan"><list><block var="clip %"/><l>1</l></list></block><script><custom-block s="go to x: %n y: %n z: %n" scope="local"><block s="reportListItem"><l>1</l><block var="point 1"/></block><block s="reportListItem"><l>2</l><block var="point 1"/></block><block s="reportListItem"><l>3</l><block var="point 1"/></block></custom-block><block s="down"></block><custom-block s="go to x: %n y: %n z: %n" scope="local"><block s="reportListItem"><l>1</l><block var="point 2"/></block><block s="reportListItem"><l>2</l><block var="point 2"/></block><block s="reportListItem"><l>3</l><block var="point 2"/></block></custom-block><block s="up"></block></script><list></list></block></script></block-definition><block-definition s="controlls" type="command" category="control"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doChangeVar"><l>cam x</l><block s="reportQuotient"><block s="reportDifference"><block s="reportKeyPressed"><l><option>d</option></l></block><block s="reportKeyPressed"><l><option>a</option></l></block></block><l>10</l></block></block><block s="doChangeVar"><l>cam y</l><block s="reportQuotient"><block s="reportDifference"><block s="reportKeyPressed"><l><option>q</option></l></block><block s="reportKeyPressed"><l><option>e</option></l></block></block><l>10</l></block></block><block s="doChangeVar"><l>cam z</l><block s="reportQuotient"><block s="reportDifference"><block s="reportKeyPressed"><l><option>w</option></l></block><block s="reportKeyPressed"><l><option>s</option></l></block></block><l>10</l></block></block></script></block-definition><block-definition s="z-clipping" type="command" category="other"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doIf"><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>3</l><block var="point 1"/></block><block var="near clipping plane"/></list></block><script><block s="doSetVar"><l>clip %</l><block s="reportQuotient"><block s="reportDifference"><block s="reportListItem"><l>3</l><block var="point 1"/></block><block var="near clipping plane"/></block><block s="reportDifference"><block s="reportListItem"><l>3</l><block var="point 2"/></block><block s="reportListItem"><l>3</l><block var="point 1"/></block></block></block></block><custom-block s="set point id: %n to x: %n y: %n z: %n" scope="local"><l>1</l><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="point 1"/></block><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="point 1"/></block><block s="reportListItem"><l>1</l><block var="point 2"/></block></block><block var="clip %"/></list></block></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="point 1"/></block><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="point 1"/></block><block s="reportListItem"><l>2</l><block var="point 2"/></block></block><block var="clip %"/></list></block></block><block var="near clipping plane"/></custom-block></script><list><block s="reportVariadicLessThan"><list><block s="reportListItem"><l>3</l><block var="point 2"/></block><block var="near clipping plane"/></list></block><script><block s="doSetVar"><l>clip %</l><block s="reportQuotient"><block s="reportDifference"><block s="reportListItem"><l>3</l><block var="point 2"/></block><block var="near clipping plane"/></block><block s="reportDifference"><block s="reportListItem"><l>3</l><block var="point 1"/></block><block s="reportListItem"><l>3</l><block var="point 2"/></block></block></block></block><custom-block s="set point id: %n to x: %n y: %n z: %n" scope="local"><l>2</l><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="point 2"/></block><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>1</l><block var="point 2"/></block><block s="reportListItem"><l>1</l><block var="point 1"/></block></block><block var="clip %"/></list></block></block><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="point 2"/></block><block s="reportVariadicProduct"><list><block s="reportDifference"><block s="reportListItem"><l>2</l><block var="point 2"/></block><block s="reportListItem"><l>2</l><block var="point 1"/></block></block><block var="clip %"/></list></block></block><block var="near clipping plane"/></custom-block></script></list></block></script></block-definition></blocks><variables><variable name="clip %"><l>-0.049999999999999115</l></variable><variable name="point 1"><list struct="atomic" id="435">0.40000000000000024,0.20000000000000073,2.9</list></variable><variable name="point 2"><list struct="atomic" id="436">0.40000000000000024,0.20000000000000073,4.9</list></variable><variable name="point 3"><l>0</l></variable><variable name="point 4"><l>0</l></variable></variables><scripts><script x="10" y="417.50000000000045"><block s="setScale"><block s="reportQuotient"><l>1</l><l></l></block></block></script><script x="99" y="10"><block s="receiveGo"></block><block s="doSetVar"><l>near clipping plane</l><l>0.10</l></block><block s="doSetVar"><l>focal length</l><l>300</l></block><block s="doForever"><script><block s="clear"></block><custom-block s="controlls" scope="local"></custom-block><custom-block s="draw line from x1: %n y1: %n z1: %n to x2: %n y2: %n z2: %n" scope="local"><l>1</l><l>0</l><l>5</l><l>0</l><l>0</l><l>5</l></custom-block><custom-block s="draw line from x1: %n y1: %n z1: %n to x2: %n y2: %n z2: %n" scope="local"><l>0</l><l>0</l><l>5</l><l>0</l><l>1</l><l>5</l></custom-block><custom-block s="draw line from x1: %n y1: %n z1: %n to x2: %n y2: %n z2: %n" scope="local"><l>0</l><l>1</l><l>5</l><l>1</l><l>1</l><l>5</l></custom-block><custom-block s="draw line from x1: %n y1: %n z1: %n to x2: %n y2: %n z2: %n" scope="local"><l>1</l><l>1</l><l>5</l><l>1</l><l>0</l><l>5</l></custom-block><custom-block s="draw line from x1: %n y1: %n z1: %n to x2: %n y2: %n z2: %n" scope="local"><l>1</l><l>0</l><l>7</l><l>0</l><l>0</l><l>7</l></custom-block><custom-block s="draw line from x1: %n y1: %n z1: %n to x2: %n y2: %n z2: %n" scope="local"><l>0</l><l>0</l><l>7</l><l>0</l><l>1</l><l>7</l></custom-block><custom-block s="draw line from x1: %n y1: %n z1: %n to x2: %n y2: %n z2: %n" scope="local"><l>0</l><l>1</l><l>7</l><l>1</l><l>1</l><l>7</l></custom-block><custom-block s="draw line from x1: %n y1: %n z1: %n to x2: %n y2: %n z2: %n" scope="local"><l>1</l><l>1</l><l>7</l><l>1</l><l>0</l><l>7</l></custom-block><custom-block s="draw line from x1: %n y1: %n z1: %n to x2: %n y2: %n z2: %n" scope="local"><l>1</l><l>0</l><l>5</l><l>1</l><l>0</l><l>7</l></custom-block><custom-block s="draw line from x1: %n y1: %n z1: %n to x2: %n y2: %n z2: %n" scope="local"><l>0</l><l>0</l><l>5</l><l>0</l><l>0</l><l>7</l></custom-block><custom-block s="draw line from x1: %n y1: %n z1: %n to x2: %n y2: %n z2: %n" scope="local"><l>0</l><l>1</l><l>5</l><l>0</l><l>1</l><l>7</l></custom-block><custom-block s="draw line from x1: %n y1: %n z1: %n to x2: %n y2: %n z2: %n" scope="local"><l>1</l><l>1</l><l>5</l><l>1</l><l>1</l><l>7</l></custom-block></script></block></script><script x="274.5157031250002" y="486.3333333333335"><block s="doSetVar"><l>cam x</l><l>0</l></block><block s="doSetVar"><l>cam y</l><l>0</l></block><block s="doSetVar"><l>cam z</l><l>0</l></block></script></scripts></sprite><watcher var="cam x" style="normal" x="10" y="10" color="243,118,29" hidden="true"/><watcher var="cam y" style="normal" x="10" y="31.000001999999995" color="243,118,29" hidden="true"/><watcher var="cam z" style="normal" x="10" y="52.00000399999999" color="243,118,29" hidden="true"/><watcher var="focal length" style="normal" x="10" y="115.00000999999997" color="243,118,29" hidden="true"/><watcher var="near clipping plane" style="normal" x="10" y="136.00001199999997" color="243,118,29" hidden="true"/><watcher var="rot h" style="normal" x="10" y="157.00001399999996" color="243,118,29" hidden="true"/><watcher var="rot v" style="normal" x="10" y="178.00001599999996" color="243,118,29" hidden="true"/></sprites></stage><variables><variable name="cam x"><l>0.5999999999999998</l></variable><variable name="cam y"><l>0.7999999999999993</l></variable><variable name="cam z"><l>2.1</l></variable><variable name="focal length"><l>300</l></variable><variable name="near clipping plane"><l>0.10</l></variable><variable name="rot h"><l>0</l></variable><variable name="rot v"><l>0</l></variable></variables></scene></scenes></project><media name="Cubed 3D" app="Snap! 11.0.8, https://snap.berkeley.edu" version="2"><costume name="costume" center-x="3" center-y="16" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAgCAYAAAAxOQljAAAAiklEQVR4AeySyw2DMBBErXSRtJEUkAKgDKAmoAy442qgDeZ5vQjBkQsH0M5HM8KyVn4F+/4SILGh+MpOGXjZECjK5Iw2T2HRgZ/isBBb4ikkuNWuKm4EuFWLyfhICyE9hkVmEHxqDH+gHZTBS3l7MSqcBZ/GC4IecuwLz5JeK2I6wyjuj6L4KQdxBQAA//9O/234AAAABklEQVQDAO/8Dad5vPiyAAAAAElFTkSuQmCC" mediaID="1"/></media></snapdata>