<snapdata remixID="9957204"><project name="U3L2_pg 5" app="Snap! 6, https://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAAB4CAYAAAB1ovlvAAADOUlEQVR4Xu3XQUpjYRCF0V9RcOIW3I8bEHSgBtyJ28kmsh5x4iQEB6/BWQ+U5nLpAjkZp6rIeR88crZt27Z8CAwJnAlwSN7ZLwEBCmFUQICj/I4LUAOjAgIc5XdcgBoYFRDgKL/jAtTAqIAAR/kdF6AGRgUEOMrvuAA1MCogwFF+xwWogVEBAY7yOy5ADYwKCHCU33EBamBUQICj/I4LUAOjAgIc5XdcgBoYFRDgKL/jAtTAqIAAR/kdF6AGRgUEOMrvuAA1MCogwFF+xwWogVEBAY7yOy5ADYwKCHCU33EBamBUQICj/I4LUAOjAgIc5XdcgBoYFRDgKL/jAtTAqIAAR/kdF6AGRgUEOMrvuAA1MCogwFF+xwWogVEBAY7yOy5ADYwKCHCU33EBamBUQICj/I4LUAOjAgIc5XdcgBoYFRDgKL/jAtTAqIAAv+Hf7/fr/f193d7erpubm9GH9JuPC/Cbp/vx8bFeXl7W5+fnent7W/f39+vi4mI9PT2tq6ur39zEf/1tAvyB+3A4rNfX13V9ff3Xt47H43p+fl7btn2F6ZMLCDAI8HQ6rcfHx3V+fr7u7u5yfZNLgP/4Cn54ePh6Be92u3V5eSmdkoAA/QkppZStEWDmZqokIMASpDWZgAAzN1MlAQGWIK3JBASYuZkqCQiwBGlNJiDAzM1USUCAJUhrMgEBZm6mSgICLEFakwkIMHMzVRIQYAnSmkxAgJmbqZKAAEuQ1mQCAszcTJUEBFiCtCYTEGDmZqokIMASpDWZgAAzN1MlAQGWIK3JBASYuZkqCQiwBGlNJiDAzM1USUCAJUhrMgEBZm6mSgICLEFakwkIMHMzVRIQYAnSmkxAgJmbqZKAAEuQ1mQCAszcTJUEBFiCtCYTEGDmZqokIMASpDWZgAAzN1MlAQGWIK3JBASYuZkqCQiwBGlNJiDAzM1USUCAJUhrMgEBZm6mSgICLEFakwkIMHMzVRIQYAnSmkxAgJmbqZKAAEuQ1mQCAszcTJUEBFiCtCYTEGDmZqokIMASpDWZgAAzN1MlAQGWIK3JBASYuZkqCQiwBGlNJiDAzM1USUCAJUhrMgEBZm6mSgJ/AE38F7dMeMlrAAAAAElFTkSuQmCC</thumbnail><stage name="Stage" width="480" height="360" costume="0" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="false" hyperops="true" codify="false" inheritance="true" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAOhUlEQVR4Xu3VwQkAAAjEMN1/abewn7jAQRC64wgQIECAAIF3gX1fNEiAAAECBAiMAHsCAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQIHLFxAWmhEwHPAAAAAElFTkSuQmCC</pentrails><costumes><list struct="atomic" id="2"></list></costumes><sounds><list struct="atomic" id="3"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="Sprite" idx="1" x="0" y="0" heading="90" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="0" color="80,80,80,1" pen="tip" id="8"><costumes><list struct="atomic" id="9"></list></costumes><sounds><list struct="atomic" id="10"></list></sounds><blocks></blocks><variables></variables><scripts><script x="37" y="29.66666666666663"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportEquals"><block s="reportStringSize"><l></l></block><l>5</l></block></autolambda><list></list></block><block s="reportNewList"><list><l>apple</l><l>banana</l><l>orange</l><l>grape</l><l>kiwi</l><l>mango</l><l>watermelon</l></list></block></block></script><script x="42" y="99.66666666666663"><custom-block s="initialize lists"></custom-block></script><script x="34" y="140.66666666666663"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportNot"><block s="reportIsA"><l></l><l><option>number</option></l></block></block></autolambda><list></list></block><block s="reportNewList"><list><l>5</l><l>:)</l><l>six</l><l>0.79</l><l>elephant</l><l>-329</l><l>4x4</l></list></block></block></script><script x="30" y="221.99999999999991"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportEquals"><block var="word"/><l>17</l></block></autolambda><list><l>word</l></list></block><block var="words list"/></block></script><script x="30" y="313.3333333333328"><block s="reportKeep"><block s="reifyPredicate"><autolambda><block s="reportAnd"><custom-block s="even? %n"><block var="number"/></custom-block><block s="reportGreaterThan"><block var="number"/><l>0</l></block></block></autolambda><list><l>number</l></list></block><block var="numbers list"/></block></script><script x="482" y="411"><block var="numbers list"/></script><script x="26.000000999999997" y="398.16667066666605"><custom-block s="is %n between %n and %n ?"><block var="number"/><l>25</l><l>75</l></custom-block></script></scripts></sprite><watcher var="words list" style="normal" x="10" y="10" color="243,118,29" hidden="true"/><watcher var="numbers list" style="normal" x="10" y="31.000001999999995" color="243,118,29" hidden="true"/><watcher var="inputValue #" style="normal" x="10" y="52.00000399999999" color="243,118,29" hidden="true"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="initialize lists" type="command" category="variables"><header></header><code></code><translations></translations><inputs></inputs><script><block s="doSetVar"><l>words list</l><block s="reportURL"><l>snap.berkeley.edu</l></block></block><block s="doSetVar"><l>words list</l><block s="reportTextSplit"><block var="words list"/><l><option>line</option></l></block></block><block s="doSetVar"><l>numbers list</l><block s="reportNewList"><list><l>189</l><l>29</l><l>55.7</l><l>-4.9</l><l>8901</l><l>-36.76</l><l>74.8</l><l>33</l><l>-9</l><l>60.3221</l><l>19</l><l>-222</l><l>41</l><l>155.8</l><l>37</l><l>-12</l><l>9.6</l><l>-0.33</l><l>2</l><l>21</l></list></block></block></script></block-definition><block-definition s="keep items such that %&apos;predicate&apos; %&apos;list&apos;" type="command" category="variables"><header></header><code></code><translations></translations><inputs><input type="%predRing"></input><input type="%l"></input></inputs></block-definition><block-definition s="is %&apos;inputValue&apos; between %&apos;lowerBound&apos; and %&apos;upperBound&apos; ?" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input><input type="%n"></input><input type="%n"></input></inputs><script><block s="doIfElse"><block s="reportAnd"><block s="reportGreaterThan"><block var="inputValue"/><block var="lowerBound"/></block><block s="reportLessThan"><block var="inputValue"/><block var="upperBound"/></block></block><script><block s="doReport"><block s="reportBoolean"><l><bool>true</bool></l></block></block></script><script><block s="doReport"><block s="reportBoolean"><l><bool>false</bool></l></block></block></script></block></script></block-definition><block-definition s="even? %&apos;0&apos;" type="predicate" category="operators"><header></header><code></code><translations></translations><inputs><input type="%n"></input></inputs><script><block s="doReport"><l></l></block></script></block-definition></blocks><variables><variable name="words list"><list struct="atomic" id="168">&lt;!DOCTYPE html&gt;,&lt;html&gt;,    &lt;head&gt;,&quot;	&lt;meta name=&quot;&quot;snap-cloud-domain&quot;&quot; location=&quot;&quot;https://snap.berkeley.edu:443&quot;&quot;&gt;&quot;,&quot;        &lt;meta charset=&quot;&quot;UTF-8&quot;&quot;&gt;&quot;,        &lt;title&gt;Snap! Build Your Own Blocks&lt;/title&gt;,&quot;        &lt;meta name=&quot;&quot;description&quot;&quot; content=&quot;&quot;The Snap! social platform&quot;&quot;&gt;&quot;,&quot;        &lt;meta name=&quot;&quot;author&quot;&quot; content=&quot;&quot;Bernat Romagosa&quot;&quot;&gt;&quot;,&quot;        &lt;meta name=&quot;&quot;snap-cloud-domain&quot;&quot; location=&quot;&quot;https://snap.berkeley.edu&quot;&quot;&gt;&quot;,&quot;        &lt;link rel=&quot;&quot;icon&quot;&quot; href=&quot;&quot;favicon.ico&quot;&quot;&gt;&quot;,&quot;        &lt;meta name=&quot;&quot;viewport&quot;&quot; content=&quot;&quot;width=device-width, initial-scale=1&quot;&quot;&gt;&quot;,&quot;        &lt;!-- External libs, both stylesheets and JS --&gt;&quot;,&quot;        &lt;link rel=&quot;&quot;stylesheet&quot;&quot; href=&quot;&quot;libs/reset.css&quot;&quot;&gt;&quot;,&quot;        &lt;link rel=&quot;&quot;stylesheet&quot;&quot; href=&quot;&quot;libs/pure-min.css&quot;&quot;&gt;&quot;,&quot;        &lt;link rel=&quot;&quot;stylesheet&quot;&quot;&quot;,&quot;            href=&quot;&quot;https://use.fontawesome.com/releases/v5.7.1/css/all.css&quot;&quot;&quot;,&quot;            integrity=&quot;&quot;sha384-fnmOCqbTlWIlj8LyTjo7mOUStjsKC4pOpQbqyi7RrhN7udi9RwhKkMHpvLbHG9Sr&quot;&quot;&quot;,&quot;            crossorigin=&quot;&quot;anonymous&quot;&quot;&gt;&quot;,&quot;        &lt;link rel=&quot;&quot;stylesheet&quot;&quot; href=&quot;&quot;libs/custom-alert.css&quot;&quot;&gt;&quot;,&quot;        &lt;script type=&quot;&quot;text/javascript&quot;&quot; src=&quot;&quot;libs/FileSaver.min.js&quot;&quot;&gt;&lt;/script&gt;&quot;,        &lt;!-- Stylesheets --&gt;,&quot;        &lt;link rel=&quot;&quot;stylesheet&quot;&quot; href=&quot;&quot;style/elements.css&quot;&quot;&gt;&quot;,&quot;        &lt;link rel=&quot;&quot;stylesheet&quot;&quot; href=&quot;&quot;style/classes.css&quot;&quot;&gt;&quot;,&quot;        &lt;link rel=&quot;&quot;stylesheet&quot;&quot; href=&quot;&quot;style/layout.css&quot;&quot;&gt;&quot;,        &lt;!-- JS --&gt;,&quot;        &lt;script type=&quot;&quot;text/javascript&quot;&quot; src=&quot;&quot;js/locale.js&quot;&quot;&gt;&lt;/script&gt;&quot;,&quot;        &lt;script type=&quot;&quot;text/javascript&quot;&quot; src=&quot;&quot;js/base.js&quot;&quot;&gt;&lt;/script&gt;&quot;,&quot;        &lt;script type=&quot;&quot;text/javascript&quot;&quot; src=&quot;&quot;libs/cloud.js&quot;&quot;&gt;&lt;/script&gt;&quot;,&quot;        &lt;script type=&quot;&quot;text/javascript&quot;&quot;&gt;SnapCloud = new Cloud();&lt;/script&gt;&quot;,&quot;        &lt;script type=&quot;&quot;text/javascript&quot;&quot; src=&quot;&quot;libs/sha512.js&quot;&quot;&gt;&lt;/script&gt;&quot;,    &lt;/head&gt;,    &lt;body&gt;,&quot;        &lt;script type=&quot;&quot;text/javascript&quot;&quot; src=&quot;&quot;libs/custom-alert.min.js&quot;&quot;&gt;&lt;/script&gt;&quot;,        &lt;script&gt;new customAlert();&lt;/script&gt;,&quot;        &lt;div id=&quot;&quot;loading&quot;&quot;&gt;&quot;,&quot;            &lt;i class=&quot;&quot;fas fa-spinner fa-spin fa-3x&quot;&quot; aria-hidden=&quot;&quot;true&quot;&quot;&gt;&lt;/i&gt;&quot;,        &lt;/div&gt;,&quot;&lt;nav id=&quot;&quot;top-bar&quot;&quot;&gt;&quot;,&quot;    &lt;div class=&quot;&quot;pure-menu-horizontal pure-menu&quot;&quot;&gt;&quot;,&quot;        &lt;ul class=&quot;&quot;pure-g pure-menu-list&quot;&quot;&gt;&quot;,&quot;            &lt;a class=&quot;&quot;pure-u-1-12&quot;&quot; href=&quot;&quot;/&quot;&quot; aria-label=&quot;&quot;Snap! home page&quot;&quot;&gt;&quot;,&quot;                &lt;img src=&quot;&quot;img/topbar-logo.png&quot;&quot; class=&quot;&quot;logo clickable&quot;&quot;/&gt;&quot;,            &lt;/a&gt;,&quot;            &lt;span class=&quot;&quot;pure-u-5-12&quot;&quot;&gt;&quot;,&quot;                &lt;li class=&quot;&quot;pure-menu-item&quot;&quot;&gt;&quot;,&quot;                    &lt;a localizable class=&quot;&quot;pure-menu-link run&quot;&quot;&quot;,&quot;                        target=&quot;&quot;_blank&quot;&quot;&gt;Run Snap&lt;em&gt;!&lt;/em&gt;&lt;/a&gt;&quot;,                &lt;/li&gt;,&quot;                &lt;li class=&quot;&quot;pure-menu-item&quot;&quot;&gt;&quot;,&quot;                    &lt;a localizable class=&quot;&quot;pure-menu-link explore&quot;&quot;&quot;,&quot;                        href=&quot;&quot;explore&quot;&quot;&gt;Explore&lt;/a&gt;&quot;,                &lt;/li&gt;,&quot;                &lt;li class=&quot;&quot;pure-menu-item&quot;&quot;&gt;&quot;,&quot;                    &lt;a localizable class=&quot;&quot;pure-menu-link forum&quot;&quot;&quot;,&quot;                        href=&quot;&quot;https://forum.snap.berkeley.edu/&quot;&quot;&gt;Forum&lt;/a&gt;&quot;,                &lt;/li&gt;,                &lt;!--   =======   Snap!Con   =======,&quot;                &lt;li class=&quot;&quot;pure-menu-item&quot;&quot;&gt;&quot;,&quot;                    &lt;a localizable class=&quot;&quot;pure-menu-link&quot;&quot; target=&quot;&quot;_blank&quot;&quot;&quot;,&quot;                    href=&quot;&quot;https://www.snapcon.org&quot;&quot;&gt;Snap&lt;em&gt;!&lt;/em&gt;Con&lt;/a&gt;&quot;,                &lt;/li&gt;,                --&gt;,            &lt;/span&gt;,&quot;            &lt;i class=&quot;&quot;pure-u-1-24&quot;&quot;&gt;&lt;/i&gt;&quot;,&quot;            &lt;div class=&quot;&quot;search pure-u-1-6&quot;&quot;&gt;&quot;,&quot;                &lt;form action=&quot;&quot;search&quot;&quot;&gt;&quot;,&quot;                    &lt;input type=&quot;&quot;text&quot;&quot; name=&quot;&quot;query&quot;&quot;&gt;&quot;,&quot;                    &lt;i class=&quot;&quot;fas fa-search&quot;&quot;&gt;&lt;/i&gt;&quot;,                &lt;/form&gt;,            &lt;/div&gt;,&quot;            &lt;i class=&quot;&quot;pure-u-1-24&quot;&quot;&gt;&lt;/i&gt;&quot;,&quot;            &lt;li hidden=&quot;&quot;true&quot;&quot; class=&quot;&quot;join pure-menu-item pure-u-1-12&quot;&quot;&gt;&quot;,&quot;                &lt;a localizable class=&quot;&quot;pure-menu-link&quot;&quot;&quot;,&quot;                    href=&quot;&quot;sign_up&quot;&quot;&gt;Join&lt;/a&gt;&lt;/li&gt;&quot;,&quot;            &lt;li hidden=&quot;&quot;true&quot;&quot; class=&quot;&quot;sign-in pure-menu-item pure-u-1-12&quot;&quot;&gt;&quot;,&quot;                &lt;a localizable class=&quot;&quot;pure-menu-link&quot;&quot;&quot;,&quot;                               href=&quot;&quot;login&quot;&quot;&gt;Log In&lt;/a&gt;&lt;/li&gt;&quot;,&quot;            &lt;li hidden=&quot;&quot;true&quot;&quot; class=&quot;&quot;pure-menu-item pure-u-1-6&quot;,&quot;                pure-menu-has-children pure-menu-allow-hover user-menu&quot;&quot;&gt;&quot;,&quot;                &lt;a id=&quot;&quot;menuLink1&quot;&quot; class=&quot;&quot;pure-menu-link visitor clickable&quot;&quot;&gt;&lt;/a&gt;&quot;,&quot;                &lt;ul class=&quot;&quot;pure-menu-children&quot;&quot;&gt;&quot;,&quot;                    &lt;li class=&quot;&quot;pure-menu-item&quot;&quot;&gt;&quot;,&quot;                        &lt;a localizable class=&quot;&quot;pure-menu-link my-projects&quot;&quot;&quot;,&quot;                            href=&quot;&quot;my_projects&quot;&quot;&gt;My Projects&lt;/a&gt;&lt;/li&gt;&quot;,&quot;                    &lt;li class=&quot;&quot;pure-menu-item&quot;&quot;&gt;&quot;,&quot;                        &lt;a localizable class=&quot;&quot;pure-menu-link my-collections&quot;&quot;&quot;,&quot;                            href=&quot;&quot;my_collections&quot;&quot;&gt;My Collections&lt;/a&gt;&lt;/li&gt;&quot;,&quot;                    &lt;li class=&quot;&quot;pure-menu-item&quot;&quot;&gt;&quot;,&quot;                        &lt;a localizable class=&quot;&quot;pure-menu-link my-public-projects&quot;&quot;&quot;,&quot;                           href=&quot;&quot;&quot;&quot;&gt;My Public Page&lt;/a&gt;&lt;/li&gt;&quot;,&quot;                    &lt;li class=&quot;&quot;pure-menu-item&quot;&quot;&gt;&quot;,&quot;                        &lt;a localizable class=&quot;&quot;pure-menu-link my-profile&quot;&quot;&quot;,&quot;                            href=&quot;&quot;profile&quot;&quot;&gt;My Profile&lt;/a&gt;&lt;/li&gt;&quot;,&quot;                    &lt;li hidden=&quot;&quot;true&quot;&quot; class=&quot;&quot;pure-menu-item admin&quot;&quot;&gt;&quot;,&quot;                        &lt;a localizable class=&quot;&quot;pure-menu-link&quot;&quot;&quot;,&quot;                            href=&quot;&quot;admin&quot;&quot;&gt;Administration&lt;/a&gt;&lt;/li&gt;&quot;,                    &lt;hr&gt;,&quot;                    &lt;li class=&quot;&quot;pure-menu-item&quot;&quot;&gt;&quot;,&quot;                        &lt;a localizable class=&quot;&quot;pure-menu-link clickable&quot;&quot;&quot;,&quot;                            href=&quot;&quot;javascript:SnapCloud.logout(function () {&quot;,                                sessionStorage.clear();,                                location.href = &apos;index&apos;;,&quot;                            });&quot;&quot;&gt;Log Out&lt;/a&gt;&lt;/li&gt;&quot;,                &lt;/ul&gt;,            &lt;/li&gt;,&quot;            &lt;li class=&quot;&quot;pure-menu-item pure-u-1-24 pure-menu-has-children&quot;,&quot;                pure-menu-allow-hover language-select&quot;&quot;&gt;&quot;,&quot;                &lt;a class=&quot;&quot;pure-menu-link clickable&quot;&quot;&gt;&quot;,&quot;                    &lt;i class=&quot;&quot;fas fa-globe&quot;&quot;&gt;&lt;/i&gt;&quot;,                &lt;/a&gt;,&quot;                &lt;ul class=&quot;&quot;pure-menu-children languages&quot;&quot;&gt;&quot;,&quot;                    &lt;a class=&quot;&quot;pure-menu-link clickable&quot;&quot;&quot;,&quot;                        onclick=&quot;&quot;localizer.setLanguage(&apos;es&apos;);&quot;&quot;&gt;Castellano&lt;/a&gt;&quot;,&quot;                    &lt;a class=&quot;&quot;pure-menu-link clickable&quot;&quot;&quot;,&quot;                        onclick=&quot;&quot;localizer.setLanguage(&apos;ca&apos;);&quot;&quot;&gt;Català&lt;/a&gt;&quot;,&quot;                    &lt;a class=&quot;&quot;pure-menu-link clickable&quot;&quot;&quot;,&quot;                        onclick=&quot;&quot;localizer.setLanguage(&apos;zh&apos;);&quot;&quot;&gt;简体中文&lt;/a&gt;&quot;,&quot;                    &lt;a class=&quot;&quot;pure-menu-link clickable&quot;&quot;&quot;,&quot;                        onclick=&quot;&quot;localizer.setLanguage(&apos;de&apos;);&quot;&quot;&gt;Deutsch&lt;/a&gt;&quot;,&quot;                    &lt;a class=&quot;&quot;pure-menu-link clickable&quot;&quot;&quot;,&quot;                        onclick=&quot;&quot;localizer.setLanguage(&apos;en&apos;);&quot;&quot;&gt;English&lt;/a&gt;&quot;,&quot;                    &lt;a class=&quot;&quot;pure-menu-link clickable&quot;&quot;&quot;,&quot;                        onclick=&quot;&quot;localizer.setLanguage(&apos;it&apos;);&quot;&quot;&gt;Italiano&lt;/a&gt;&quot;,&quot;                    &lt;a class=&quot;&quot;pure-menu-link clickable&quot;&quot;&quot;,&quot;                        onclick=&quot;&quot;localizer.setLanguage(&apos;pt&apos;);&quot;&quot;&gt;Português&lt;/a&gt;&quot;,&quot;                    &lt;a class=&quot;&quot;pure-menu-link clickable&quot;&quot;&quot;,&quot;                        onclick=&quot;&quot;localizer.setLanguage(&apos;tr&apos;);&quot;&quot;&gt;Türkçe&lt;/a&gt;&quot;,                &lt;/ul&gt;,            &lt;/li&gt;,        &lt;/ul&gt;,    &lt;/div&gt;,&lt;/nav&gt;,&quot;        &lt;div id=&quot;&quot;wrapper&quot;&quot;&gt;&quot;,&quot;&lt;script src=&quot;&quot;js/project.js&quot;&quot;&gt;&lt;/script&gt;&quot;,&quot;&lt;link rel=&quot;&quot;stylesheet&quot;&quot; href=&quot;&quot;style/project.css&quot;&quot;&gt;&quot;,,&lt;!-- Thanks to www.w3schools.com --&gt;,&quot;&lt;link rel=&quot;&quot;stylesheet&quot;&quot; href=&quot;&quot;style/banner.css&quot;&quot;&gt;&quot;,,&quot;&lt;div class=&quot;&quot;slideshow&quot;&quot;&gt;&quot;,&quot;    &lt;a href=&quot;&quot;https://www.snapcon.org/conferences/snapshot2020&quot;&quot; target=&quot;&quot;_blank&quot;&quot;&gt;&quot;,&quot;        &lt;div class=&quot;&quot;slide fade&quot;&quot;&gt;&quot;,&quot;            &lt;img src=&quot;&quot;img/snapshot.png&quot;&quot; style=&quot;&quot;width:100%&quot;&quot;&gt;&quot;,        &lt;/div&gt;,    &lt;/a&gt;,,&quot;    &lt;div class=&quot;&quot;slide fade&quot;&quot;&gt;&quot;,&quot;        &lt;img src=&quot;&quot;img/snap-byob.png&quot;&quot; style=&quot;&quot;width:100%&quot;&quot;&gt;&quot;,    &lt;/div&gt;,,&quot;    &lt;div class=&quot;&quot;slide fade&quot;&quot;&gt;&quot;,&quot;        &lt;img src=&quot;&quot;img/lowfloor.png&quot;&quot; style=&quot;&quot;width:100%&quot;&quot;&gt;&quot;,    &lt;/div&gt;,,&quot;    &lt;div class=&quot;&quot;slide fade&quot;&quot;&gt;&quot;,&quot;        &lt;img src=&quot;&quot;img/widewalls.png&quot;&quot; style=&quot;&quot;width:100%&quot;&quot;&gt;&quot;,    &lt;/div&gt;,,&quot;    &lt;div class=&quot;&quot;slide fade&quot;&quot;&gt;&quot;,&quot;        &lt;img src=&quot;&quot;img/noceiling.png&quot;&quot; style=&quot;&quot;width:100%&quot;&quot;&gt;&quot;,    &lt;/div&gt;,,&quot;    &lt;a class=&quot;&quot;previous&quot;&quot; onclick=&quot;&quot;plusSlides(-1)&quot;&quot;&gt;&amp;#10094;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;next&quot;&quot; onclick=&quot;&quot;plusSlides(1)&quot;&quot;&gt;&amp;#10095;&lt;/a&gt;&quot;,&lt;/div&gt;,&lt;br&gt;,,&lt;script&gt;,    var slideIndex = 1;,,    showSlide(slideIndex);,,    function plusSlides (n) {,        showSlide(slideIndex += n);,    };,,    function currentSlide (n) {,        showSlide(slideIndex = n);,    };,,    function showSlide (n) {,&quot;        var slides = document.querySelectorAll(&apos;.slide&apos;),&quot;,            i;,        if (n &gt; slides.length) { slideIndex = 1 },        if (n &lt; 1) { slideIndex = slides.length },        slides.forEach(function (slide) {,            slide.style.display = &apos;none&apos;;,        });,        slides[slideIndex-1].style.display = &apos;block&apos;;,    };,,&lt;/script&gt;,,&lt;h1&gt;&lt;span localizable&gt;Welcome to Snap&lt;/span&gt;&lt;em&gt;!&lt;/em&gt;&lt;/h1&gt;,,&quot;&lt;div class=&quot;&quot;indent bigger&quot;&quot; localizable&gt;Snap&lt;em&gt;!&lt;/em&gt; is a broadly inviting programming language for kids and adults that&apos;s also a platform for serious study of computer science.&lt;/div&gt;&quot;,,&quot;&lt;div class=&quot;&quot;indent v-spaced&quot;&quot;&gt;&quot;,&quot;    &lt;a href=&quot;&quot;/snap&quot;&quot; class=&quot;&quot;pure-button&quot;&quot; localizable&gt;Run Snap&lt;em&gt;!&lt;/em&gt; Now&lt;/a&gt;&quot;,&quot;    &lt;a href=&quot;&quot;/examples&quot;&quot; class=&quot;&quot;pure-button&quot;&quot; localizable&gt;Example Projects&lt;/a&gt;&quot;,&quot;    &lt;a href=&quot;&quot;/snap/help/SnapManual.pdf&quot;&quot; class=&quot;&quot;pure-button&quot;&quot; localizable&gt;Reference Manual&lt;/a&gt;&quot;,&lt;/div&gt;,,&quot;&lt;br class=&quot;&quot;v-spaced&quot;&quot;&gt;&quot;,,,&lt;!--,    Any template that uses me needs to specify the following functions:,,    // Defines how to retrieve a particular page from the DB,    latest_loadPage (,&quot;        query,      // search query&quot;,&quot;        pageSize,   // amount of elements per page&quot;,&quot;        pageNumber, // current page being requested&quot;,        onSuccess   // callback called when response comes back. Just leave as,&quot;                    // `onSuccess` unless doing something very specific, as&quot;,                    // this callback is defined by the search bar itself.,    ),,    // Defines how to load a particular page,    latest_onLoadPage (,&quot;        response,      // response from the server&quot;,        targetElement  // HTML element where response should be rendered,    ),,&quot;    Once these functions have been defined, just call:&quot;,,    latest_initGrid(callback);,--&gt;,&quot;&lt;div class=&quot;&quot;latest container&quot;&quot;&gt;&quot;,&quot;    &lt;h2 class=&quot;&quot;latest header&quot;&quot; localizable&gt;&lt;/h2&gt;&quot;,&quot;    &lt;div class=&quot;&quot;bar&quot;&quot;&gt;&quot;,&quot;        &lt;div hidden class=&quot;&quot;latest search&quot;&quot;&gt;&quot;,&quot;            &lt;form action=&quot;&quot;latest&quot;&quot;&gt;&quot;,&quot;                &lt;input type=&quot;&quot;text&quot;&quot; name=&quot;&quot;query&quot;&quot;&gt;&quot;,&quot;                &lt;i class=&quot;&quot;fas fa-search&quot;&quot;&gt;&lt;/i&gt;&quot;,            &lt;/form&gt;,            &lt;script&gt;,&quot;                var latest_page = 1,&quot;,&quot;                    latest_totalPages = 1,&quot;,&quot;                    latest_maxPages = [20][0] || 0, // 0 = no limit&quot;,&quot;                    latest_pageSize = [5][0] || 150,&quot;,                    latest_keepIfEmpty = [][0];,,                if (![&apos;Latest Projects&apos;][0]) {,                    document.querySelector(&apos;.latest.header&apos;).remove();,                } else {,                    document.querySelector(&apos;.latest.header&apos;).innerHTML =,                        [&apos;Latest Projects&apos;][0];,                },,                if ([false][0]) {,&quot;                    document.querySelector(&quot;&quot;.latest.search&quot;&quot;).hidden =&quot;,                        false;,                };,,                document.querySelector(&apos;.latest form input&apos;).value =,                    getUrlParameter(&apos;query&apos;);,,                function latest_toPage (pageNumber) {,                    var latest_div =,&quot;                            document.querySelector(&apos;.latest.container&apos;),&quot;,                        latest_listDiv =,&quot;                            document.querySelector(&apos;.latest.list&apos;),&quot;,                        latest_pageSpan =,                            document.querySelector(,&quot;                                &apos;.latest.paginator .page&apos;),&quot;,                        latest_totalPagesSpan =,                            document.querySelector(,&quot;                                &apos;.latest.paginator .total-pages&apos;),&quot;,                        height = latest_listDiv.clientHeight;,,                    // Forces grid to keep previous height when emptied out,                    if (height &gt; 0) {,                        latest_listDiv.style.height = height;,                    },,                    latest_listDiv.innerHTML = &apos;&apos;;,                    beganLoading(&apos;.latest.list&apos;);,,                    latest_loadPage(,&quot;                        getUrlParameter(&apos;query&apos;),&quot;,&quot;                        latest_pageSize,&quot;,&quot;                        pageNumber,&quot;,                        function (response) {,                            latest_totalPages =,                                latest_maxPages || response.pages;,                            latest_totalPagesSpan.textContent =,                                latest_totalPages;,,                            if (latest_totalPages == 0 ||,                                (response.projects &amp;&amp; !response.projects[0]) ||,                                (response.collections &amp;&amp;,                                    !response.collections[0]) ||,                                (response.users &amp;&amp; !response.users[0]),                                // Until we fix the API this will do,                            ) {,                                if (!latest_keepIfEmpty) {,                                    latest_div.remove();,                                } else {,                                    doneLoading(&apos;.latest.list&apos;);,                                },                                return;,                            } else if (latest_totalPages == 1 &amp;&amp;,                                    !latest_keepIfEmpty) {,                                document.querySelector(,                                    &apos;.latest.paginator&apos;).remove();,                            },,&quot;                            latest_onLoadPage(response,&quot;,                                latest_listDiv);,,                            doneLoading(&apos;.latest.list&apos;);,                        },                    );,,                    latest_page = pageNumber;,                    latest_pageSpan.textContent = pageNumber;,                };,,                function latest_initGrid (callback) {,                    latest_toPage(1);,                    if (callback) {,                        callback.call(this);,                    },                };,,            &lt;/script&gt;,        &lt;/div&gt;,&quot;&lt;nav class=&quot;&quot;latest paginator&quot;&quot;&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;latest_toPage(1);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-caret-left&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;latest_toPage(latest_page - 5 &gt; 0 ? latest_page - 5 : 1);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-double-left&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;latest_toPage(latest_page - 1 &gt; 0 ? latest_page - 1 : latest_page);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-left&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;span class=&quot;&quot;page&quot;&quot;&gt;&lt;/span&gt; / &lt;span class=&quot;&quot;total-pages&quot;&quot;&gt;&lt;/span&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;latest_toPage(latest_page + 1 &lt; latest_totalPages ? latest_page + 1 : latest_totalPages);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-right&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;latest_toPage(latest_page + 5 &lt; latest_totalPages ? latest_page + 5 : latest_totalPages);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-double-right&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;latest_toPage(latest_totalPages);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-caret-right&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&lt;/nav&gt;,    &lt;/div&gt;,&quot;    &lt;div class=&quot;&quot;latest list pure-g&quot;&quot;&gt;&lt;/div&gt;&quot;,&lt;/div&gt;,&lt;script&gt;,    latest_loadPage =,&quot;        function (query, pageSize, pageNumber, onSuccess) {&quot;,            SnapCloud.getPublishedProjectList(,&quot;                null, // no username&quot;,&quot;                pageNumber,&quot;,&quot;                pageSize,&quot;,&quot;                query,&quot;,&quot;                onSuccess,&quot;,&quot;                genericError,&quot;,                true // withThumbnail,            );,        };,,    latest_onLoadPage =,&quot;        function (response, targetElement) {&quot;,            response.projects.forEach(function (project) {,                targetElement.append(,                    newProjectDiv(,&quot;                        project,&quot;,                        {,&quot;                            size: &apos;small&apos;,&quot;,&quot;                            gridSize: 5,&quot;,                            extraFields: {,&quot;                                isPublic: &apos;ispublic&apos;,&quot;,&quot;                                isPublished: &apos;ispublished&apos;,&quot;,                                author: &apos;username&apos;,                            },                        },                    ),                );,            });,        };,,    latest_initGrid();,&lt;/script&gt;,,&lt;!--,    Any template that uses me needs to specify the following functions:,,    // Defines how to retrieve a particular page from the DB,    totm_loadPage (,&quot;        query,      // search query&quot;,&quot;        pageSize,   // amount of elements per page&quot;,&quot;        pageNumber, // current page being requested&quot;,        onSuccess   // callback called when response comes back. Just leave as,&quot;                    // `onSuccess` unless doing something very specific, as&quot;,                    // this callback is defined by the search bar itself.,    ),,    // Defines how to load a particular page,    totm_onLoadPage (,&quot;        response,      // response from the server&quot;,        targetElement  // HTML element where response should be rendered,    ),,&quot;    Once these functions have been defined, just call:&quot;,,    totm_initGrid(callback);,--&gt;,&quot;&lt;div class=&quot;&quot;totm container&quot;&quot;&gt;&quot;,&quot;    &lt;h2 class=&quot;&quot;totm header&quot;&quot; localizable&gt;&lt;/h2&gt;&quot;,&quot;    &lt;div class=&quot;&quot;bar&quot;&quot;&gt;&quot;,&quot;        &lt;div hidden class=&quot;&quot;totm search&quot;&quot;&gt;&quot;,&quot;            &lt;form action=&quot;&quot;totm&quot;&quot;&gt;&quot;,&quot;                &lt;input type=&quot;&quot;text&quot;&quot; name=&quot;&quot;query&quot;&quot;&gt;&quot;,&quot;                &lt;i class=&quot;&quot;fas fa-search&quot;&quot;&gt;&lt;/i&gt;&quot;,            &lt;/form&gt;,            &lt;script&gt;,&quot;                var totm_page = 1,&quot;,&quot;                    totm_totalPages = 1,&quot;,&quot;                    totm_maxPages = [0][0] || 0, // 0 = no limit&quot;,&quot;                    totm_pageSize = [5][0] || 150,&quot;,                    totm_keepIfEmpty = [][0];,,                if (![&apos;Topic of the Month: Cut and paste blocks&apos;][0]) {,                    document.querySelector(&apos;.totm.header&apos;).remove();,                } else {,                    document.querySelector(&apos;.totm.header&apos;).innerHTML =,                        [&apos;Topic of the Month: Cut and paste blocks&apos;][0];,                },,                if ([false][0]) {,&quot;                    document.querySelector(&quot;&quot;.totm.search&quot;&quot;).hidden =&quot;,                        false;,                };,,                document.querySelector(&apos;.totm form input&apos;).value =,                    getUrlParameter(&apos;query&apos;);,,                function totm_toPage (pageNumber) {,                    var totm_div =,&quot;                            document.querySelector(&apos;.totm.container&apos;),&quot;,                        totm_listDiv =,&quot;                            document.querySelector(&apos;.totm.list&apos;),&quot;,                        totm_pageSpan =,                            document.querySelector(,&quot;                                &apos;.totm.paginator .page&apos;),&quot;,                        totm_totalPagesSpan =,                            document.querySelector(,&quot;                                &apos;.totm.paginator .total-pages&apos;),&quot;,                        height = totm_listDiv.clientHeight;,,                    // Forces grid to keep previous height when emptied out,                    if (height &gt; 0) {,                        totm_listDiv.style.height = height;,                    },,                    totm_listDiv.innerHTML = &apos;&apos;;,                    beganLoading(&apos;.totm.list&apos;);,,                    totm_loadPage(,&quot;                        getUrlParameter(&apos;query&apos;),&quot;,&quot;                        totm_pageSize,&quot;,&quot;                        pageNumber,&quot;,                        function (response) {,                            totm_totalPages =,                                totm_maxPages || response.pages;,                            totm_totalPagesSpan.textContent =,                                totm_totalPages;,,                            if (totm_totalPages == 0 ||,                                (response.projects &amp;&amp; !response.projects[0]) ||,                                (response.collections &amp;&amp;,                                    !response.collections[0]) ||,                                (response.users &amp;&amp; !response.users[0]),                                // Until we fix the API this will do,                            ) {,                                if (!totm_keepIfEmpty) {,                                    totm_div.remove();,                                } else {,                                    doneLoading(&apos;.totm.list&apos;);,                                },                                return;,                            } else if (totm_totalPages == 1 &amp;&amp;,                                    !totm_keepIfEmpty) {,                                document.querySelector(,                                    &apos;.totm.paginator&apos;).remove();,                            },,&quot;                            totm_onLoadPage(response,&quot;,                                totm_listDiv);,,                            doneLoading(&apos;.totm.list&apos;);,                        },                    );,,                    totm_page = pageNumber;,                    totm_pageSpan.textContent = pageNumber;,                };,,                function totm_initGrid (callback) {,                    totm_toPage(1);,                    if (callback) {,                        callback.call(this);,                    },                };,,            &lt;/script&gt;,        &lt;/div&gt;,&quot;&lt;nav class=&quot;&quot;totm paginator&quot;&quot;&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;totm_toPage(1);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-caret-left&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;totm_toPage(totm_page - 5 &gt; 0 ? totm_page - 5 : 1);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-double-left&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;totm_toPage(totm_page - 1 &gt; 0 ? totm_page - 1 : totm_page);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-left&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;span class=&quot;&quot;page&quot;&quot;&gt;&lt;/span&gt; / &lt;span class=&quot;&quot;total-pages&quot;&quot;&gt;&lt;/span&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;totm_toPage(totm_page + 1 &lt; totm_totalPages ? totm_page + 1 : totm_totalPages);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-right&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;totm_toPage(totm_page + 5 &lt; totm_totalPages ? totm_page + 5 : totm_totalPages);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-double-right&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;totm_toPage(totm_totalPages);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-caret-right&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&lt;/nav&gt;,    &lt;/div&gt;,&quot;    &lt;div class=&quot;&quot;totm list pure-g&quot;&quot;&gt;&lt;/div&gt;&quot;,&lt;/div&gt;,&lt;script&gt;,    totm_loadPage =,&quot;        function (query, pageSize, pageNumber, onSuccess) {&quot;,            SnapCloud.getCollectionProjects(,&quot;                &apos;snapcloud&apos;,&quot;,&quot;                pageNumber,&quot;,&quot;                pageSize,&quot;,&quot;                &apos;Cut and paste&apos;,&quot;,&quot;                onSuccess,&quot;,&quot;                genericError,&quot;,                true // withThumbnail,            );,        };,,    totm_onLoadPage = latest_onLoadPage;,    totm_initGrid();,&lt;/script&gt;,,&lt;!--,    Any template that uses me needs to specify the following functions:,,    // Defines how to retrieve a particular page from the DB,    featured_loadPage (,&quot;        query,      // search query&quot;,&quot;        pageSize,   // amount of elements per page&quot;,&quot;        pageNumber, // current page being requested&quot;,        onSuccess   // callback called when response comes back. Just leave as,&quot;                    // `onSuccess` unless doing something very specific, as&quot;,                    // this callback is defined by the search bar itself.,    ),,    // Defines how to load a particular page,    featured_onLoadPage (,&quot;        response,      // response from the server&quot;,        targetElement  // HTML element where response should be rendered,    ),,&quot;    Once these functions have been defined, just call:&quot;,,    featured_initGrid(callback);,--&gt;,&quot;&lt;div class=&quot;&quot;featured container&quot;&quot;&gt;&quot;,&quot;    &lt;h2 class=&quot;&quot;featured header&quot;&quot; localizable&gt;&lt;/h2&gt;&quot;,&quot;    &lt;div class=&quot;&quot;bar&quot;&quot;&gt;&quot;,&quot;        &lt;div hidden class=&quot;&quot;featured search&quot;&quot;&gt;&quot;,&quot;            &lt;form action=&quot;&quot;featured&quot;&quot;&gt;&quot;,&quot;                &lt;input type=&quot;&quot;text&quot;&quot; name=&quot;&quot;query&quot;&quot;&gt;&quot;,&quot;                &lt;i class=&quot;&quot;fas fa-search&quot;&quot;&gt;&lt;/i&gt;&quot;,            &lt;/form&gt;,            &lt;script&gt;,&quot;                var featured_page = 1,&quot;,&quot;                    featured_totalPages = 1,&quot;,&quot;                    featured_maxPages = [0][0] || 0, // 0 = no limit&quot;,&quot;                    featured_pageSize = [5][0] || 150,&quot;,                    featured_keepIfEmpty = [][0];,,                if (![&apos;Featured Projects&apos;][0]) {,                    document.querySelector(&apos;.featured.header&apos;).remove();,                } else {,                    document.querySelector(&apos;.featured.header&apos;).innerHTML =,                        [&apos;Featured Projects&apos;][0];,                },,                if ([false][0]) {,&quot;                    document.querySelector(&quot;&quot;.featured.search&quot;&quot;).hidden =&quot;,                        false;,                };,,                document.querySelector(&apos;.featured form input&apos;).value =,                    getUrlParameter(&apos;query&apos;);,,                function featured_toPage (pageNumber) {,                    var featured_div =,&quot;                            document.querySelector(&apos;.featured.container&apos;),&quot;,                        featured_listDiv =,&quot;                            document.querySelector(&apos;.featured.list&apos;),&quot;,                        featured_pageSpan =,                            document.querySelector(,&quot;                                &apos;.featured.paginator .page&apos;),&quot;,                        featured_totalPagesSpan =,                            document.querySelector(,&quot;                                &apos;.featured.paginator .total-pages&apos;),&quot;,                        height = featured_listDiv.clientHeight;,,                    // Forces grid to keep previous height when emptied out,                    if (height &gt; 0) {,                        featured_listDiv.style.height = height;,                    },,                    featured_listDiv.innerHTML = &apos;&apos;;,                    beganLoading(&apos;.featured.list&apos;);,,                    featured_loadPage(,&quot;                        getUrlParameter(&apos;query&apos;),&quot;,&quot;                        featured_pageSize,&quot;,&quot;                        pageNumber,&quot;,                        function (response) {,                            featured_totalPages =,                                featured_maxPages || response.pages;,                            featured_totalPagesSpan.textContent =,                                featured_totalPages;,,                            if (featured_totalPages == 0 ||,                                (response.projects &amp;&amp; !response.projects[0]) ||,                                (response.collections &amp;&amp;,                                    !response.collections[0]) ||,                                (response.users &amp;&amp; !response.users[0]),                                // Until we fix the API this will do,                            ) {,                                if (!featured_keepIfEmpty) {,                                    featured_div.remove();,                                } else {,                                    doneLoading(&apos;.featured.list&apos;);,                                },                                return;,                            } else if (featured_totalPages == 1 &amp;&amp;,                                    !featured_keepIfEmpty) {,                                document.querySelector(,                                    &apos;.featured.paginator&apos;).remove();,                            },,&quot;                            featured_onLoadPage(response,&quot;,                                featured_listDiv);,,                            doneLoading(&apos;.featured.list&apos;);,                        },                    );,,                    featured_page = pageNumber;,                    featured_pageSpan.textContent = pageNumber;,                };,,                function featured_initGrid (callback) {,                    featured_toPage(1);,                    if (callback) {,                        callback.call(this);,                    },                };,,            &lt;/script&gt;,        &lt;/div&gt;,&quot;&lt;nav class=&quot;&quot;featured paginator&quot;&quot;&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;featured_toPage(1);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-caret-left&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;featured_toPage(featured_page - 5 &gt; 0 ? featured_page - 5 : 1);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-double-left&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;featured_toPage(featured_page - 1 &gt; 0 ? featured_page - 1 : featured_page);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-left&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;span class=&quot;&quot;page&quot;&quot;&gt;&lt;/span&gt; / &lt;span class=&quot;&quot;total-pages&quot;&quot;&gt;&lt;/span&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;featured_toPage(featured_page + 1 &lt; featured_totalPages ? featured_page + 1 : featured_totalPages);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-right&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;featured_toPage(featured_page + 5 &lt; featured_totalPages ? featured_page + 5 : featured_totalPages);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-double-right&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;featured_toPage(featured_totalPages);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-caret-right&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&lt;/nav&gt;,    &lt;/div&gt;,&quot;    &lt;div class=&quot;&quot;featured list pure-g&quot;&quot;&gt;&lt;/div&gt;&quot;,&lt;/div&gt;,&lt;script&gt;,    featured_loadPage =,&quot;        function (query, pageSize, pageNumber, onSuccess) {&quot;,            SnapCloud.getCollectionProjects(,&quot;                &apos;snapcloud&apos;,&quot;,&quot;                pageNumber,&quot;,&quot;                pageSize,&quot;,&quot;                &apos;Featured&apos;,&quot;,&quot;                onSuccess,&quot;,&quot;                genericError,&quot;,                true // withThumbnail,            );,        };,,    featured_onLoadPage = latest_onLoadPage;,    featured_initGrid();,&lt;/script&gt;,,&lt;script&gt;,    // pick three random curated collections,    var collections =,&quot;        [ &apos;Science Projects&apos;,&quot;,&quot;            &apos;Simulations&apos;,&quot;,&quot;            &apos;3D&apos;,&quot;,&quot;            &apos;Music&apos;,&quot;,&quot;            &apos;Art Projects&apos;,&quot;,&quot;            &apos;Fractals&apos;,&quot;,&quot;            &apos;Animations&apos;,&quot;,            &apos;Games&apos; ];,,    for (var i = collections.length - 1; i &gt; 2; i --) {,&quot;        collections.splice(Math.floor(Math.random()*collections.length), 1);&quot;,    },,&lt;/script&gt;,&lt;!--,    Any template that uses me needs to specify the following functions:,,    // Defines how to retrieve a particular page from the DB,    curated1_loadPage (,&quot;        query,      // search query&quot;,&quot;        pageSize,   // amount of elements per page&quot;,&quot;        pageNumber, // current page being requested&quot;,        onSuccess   // callback called when response comes back. Just leave as,&quot;                    // `onSuccess` unless doing something very specific, as&quot;,                    // this callback is defined by the search bar itself.,    ),,    // Defines how to load a particular page,    curated1_onLoadPage (,&quot;        response,      // response from the server&quot;,        targetElement  // HTML element where response should be rendered,    ),,&quot;    Once these functions have been defined, just call:&quot;,,    curated1_initGrid(callback);,--&gt;,&quot;&lt;div class=&quot;&quot;curated1 container&quot;&quot;&gt;&quot;,&quot;    &lt;h2 class=&quot;&quot;curated1 header&quot;&quot; localizable&gt;&lt;/h2&gt;&quot;,&quot;    &lt;div class=&quot;&quot;bar&quot;&quot;&gt;&quot;,&quot;        &lt;div hidden class=&quot;&quot;curated1 search&quot;&quot;&gt;&quot;,&quot;            &lt;form action=&quot;&quot;curated1&quot;&quot;&gt;&quot;,&quot;                &lt;input type=&quot;&quot;text&quot;&quot; name=&quot;&quot;query&quot;&quot;&gt;&quot;,&quot;                &lt;i class=&quot;&quot;fas fa-search&quot;&quot;&gt;&lt;/i&gt;&quot;,            &lt;/form&gt;,            &lt;script&gt;,&quot;                var curated1_page = 1,&quot;,&quot;                    curated1_totalPages = 1,&quot;,&quot;                    curated1_maxPages = [0][0] || 0, // 0 = no limit&quot;,&quot;                    curated1_pageSize = [5][0] || 150,&quot;,                    curated1_keepIfEmpty = [][0];,,                if (![collections[0]][0]) {,                    document.querySelector(&apos;.curated1.header&apos;).remove();,                } else {,                    document.querySelector(&apos;.curated1.header&apos;).innerHTML =,                        [collections[0]][0];,                },,                if ([false][0]) {,&quot;                    document.querySelector(&quot;&quot;.curated1.search&quot;&quot;).hidden =&quot;,                        false;,                };,,                document.querySelector(&apos;.curated1 form input&apos;).value =,                    getUrlParameter(&apos;query&apos;);,,                function curated1_toPage (pageNumber) {,                    var curated1_div =,&quot;                            document.querySelector(&apos;.curated1.container&apos;),&quot;,                        curated1_listDiv =,&quot;                            document.querySelector(&apos;.curated1.list&apos;),&quot;,                        curated1_pageSpan =,                            document.querySelector(,&quot;                                &apos;.curated1.paginator .page&apos;),&quot;,                        curated1_totalPagesSpan =,                            document.querySelector(,&quot;                                &apos;.curated1.paginator .total-pages&apos;),&quot;,                        height = curated1_listDiv.clientHeight;,,                    // Forces grid to keep previous height when emptied out,                    if (height &gt; 0) {,                        curated1_listDiv.style.height = height;,                    },,                    curated1_listDiv.innerHTML = &apos;&apos;;,                    beganLoading(&apos;.curated1.list&apos;);,,                    curated1_loadPage(,&quot;                        getUrlParameter(&apos;query&apos;),&quot;,&quot;                        curated1_pageSize,&quot;,&quot;                        pageNumber,&quot;,                        function (response) {,                            curated1_totalPages =,                                curated1_maxPages || response.pages;,                            curated1_totalPagesSpan.textContent =,                                curated1_totalPages;,,                            if (curated1_totalPages == 0 ||,                                (response.projects &amp;&amp; !response.projects[0]) ||,                                (response.collections &amp;&amp;,                                    !response.collections[0]) ||,                                (response.users &amp;&amp; !response.users[0]),                                // Until we fix the API this will do,                            ) {,                                if (!curated1_keepIfEmpty) {,                                    curated1_div.remove();,                                } else {,                                    doneLoading(&apos;.curated1.list&apos;);,                                },                                return;,                            } else if (curated1_totalPages == 1 &amp;&amp;,                                    !curated1_keepIfEmpty) {,                                document.querySelector(,                                    &apos;.curated1.paginator&apos;).remove();,                            },,&quot;                            curated1_onLoadPage(response,&quot;,                                curated1_listDiv);,,                            doneLoading(&apos;.curated1.list&apos;);,                        },                    );,,                    curated1_page = pageNumber;,                    curated1_pageSpan.textContent = pageNumber;,                };,,                function curated1_initGrid (callback) {,                    curated1_toPage(1);,                    if (callback) {,                        callback.call(this);,                    },                };,,            &lt;/script&gt;,        &lt;/div&gt;,&quot;&lt;nav class=&quot;&quot;curated1 paginator&quot;&quot;&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;curated1_toPage(1);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-caret-left&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;curated1_toPage(curated1_page - 5 &gt; 0 ? curated1_page - 5 : 1);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-double-left&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;curated1_toPage(curated1_page - 1 &gt; 0 ? curated1_page - 1 : curated1_page);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-left&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;span class=&quot;&quot;page&quot;&quot;&gt;&lt;/span&gt; / &lt;span class=&quot;&quot;total-pages&quot;&quot;&gt;&lt;/span&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;curated1_toPage(curated1_page + 1 &lt; curated1_totalPages ? curated1_page + 1 : curated1_totalPages);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-right&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;curated1_toPage(curated1_page + 5 &lt; curated1_totalPages ? curated1_page + 5 : curated1_totalPages);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-double-right&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;curated1_toPage(curated1_totalPages);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-caret-right&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&lt;/nav&gt;,    &lt;/div&gt;,&quot;    &lt;div class=&quot;&quot;curated1 list pure-g&quot;&quot;&gt;&lt;/div&gt;&quot;,&lt;/div&gt;,&lt;script&gt;,    curated1_loadPage =,&quot;        function (query, pageSize, pageNumber, onSuccess) {&quot;,            SnapCloud.getCollectionProjects(,&quot;                &apos;snapcloud&apos;,&quot;,&quot;                pageNumber,&quot;,&quot;                pageSize,&quot;,&quot;                collections[0],&quot;,&quot;                onSuccess,&quot;,&quot;                genericError,&quot;,                true // withThumbnail,            );,        };,,    curated1_onLoadPage = latest_onLoadPage;,    curated1_initGrid();,&lt;/script&gt;,,&lt;/script&gt;,&lt;!--,    Any template that uses me needs to specify the following functions:,,    // Defines how to retrieve a particular page from the DB,    curated2_loadPage (,&quot;        query,      // search query&quot;,&quot;        pageSize,   // amount of elements per page&quot;,&quot;        pageNumber, // current page being requested&quot;,        onSuccess   // callback called when response comes back. Just leave as,&quot;                    // `onSuccess` unless doing something very specific, as&quot;,                    // this callback is defined by the search bar itself.,    ),,    // Defines how to load a particular page,    curated2_onLoadPage (,&quot;        response,      // response from the server&quot;,        targetElement  // HTML element where response should be rendered,    ),,&quot;    Once these functions have been defined, just call:&quot;,,    curated2_initGrid(callback);,--&gt;,&quot;&lt;div class=&quot;&quot;curated2 container&quot;&quot;&gt;&quot;,&quot;    &lt;h2 class=&quot;&quot;curated2 header&quot;&quot; localizable&gt;&lt;/h2&gt;&quot;,&quot;    &lt;div class=&quot;&quot;bar&quot;&quot;&gt;&quot;,&quot;        &lt;div hidden class=&quot;&quot;curated2 search&quot;&quot;&gt;&quot;,&quot;            &lt;form action=&quot;&quot;curated2&quot;&quot;&gt;&quot;,&quot;                &lt;input type=&quot;&quot;text&quot;&quot; name=&quot;&quot;query&quot;&quot;&gt;&quot;,&quot;                &lt;i class=&quot;&quot;fas fa-search&quot;&quot;&gt;&lt;/i&gt;&quot;,            &lt;/form&gt;,            &lt;script&gt;,&quot;                var curated2_page = 1,&quot;,&quot;                    curated2_totalPages = 1,&quot;,&quot;                    curated2_maxPages = [0][0] || 0, // 0 = no limit&quot;,&quot;                    curated2_pageSize = [5][0] || 150,&quot;,                    curated2_keepIfEmpty = [][0];,,                if (![collections[1]][0]) {,                    document.querySelector(&apos;.curated2.header&apos;).remove();,                } else {,                    document.querySelector(&apos;.curated2.header&apos;).innerHTML =,                        [collections[1]][0];,                },,                if ([false][0]) {,&quot;                    document.querySelector(&quot;&quot;.curated2.search&quot;&quot;).hidden =&quot;,                        false;,                };,,                document.querySelector(&apos;.curated2 form input&apos;).value =,                    getUrlParameter(&apos;query&apos;);,,                function curated2_toPage (pageNumber) {,                    var curated2_div =,&quot;                            document.querySelector(&apos;.curated2.container&apos;),&quot;,                        curated2_listDiv =,&quot;                            document.querySelector(&apos;.curated2.list&apos;),&quot;,                        curated2_pageSpan =,                            document.querySelector(,&quot;                                &apos;.curated2.paginator .page&apos;),&quot;,                        curated2_totalPagesSpan =,                            document.querySelector(,&quot;                                &apos;.curated2.paginator .total-pages&apos;),&quot;,                        height = curated2_listDiv.clientHeight;,,                    // Forces grid to keep previous height when emptied out,                    if (height &gt; 0) {,                        curated2_listDiv.style.height = height;,                    },,                    curated2_listDiv.innerHTML = &apos;&apos;;,                    beganLoading(&apos;.curated2.list&apos;);,,                    curated2_loadPage(,&quot;                        getUrlParameter(&apos;query&apos;),&quot;,&quot;                        curated2_pageSize,&quot;,&quot;                        pageNumber,&quot;,                        function (response) {,                            curated2_totalPages =,                                curated2_maxPages || response.pages;,                            curated2_totalPagesSpan.textContent =,                                curated2_totalPages;,,                            if (curated2_totalPages == 0 ||,                                (response.projects &amp;&amp; !response.projects[0]) ||,                                (response.collections &amp;&amp;,                                    !response.collections[0]) ||,                                (response.users &amp;&amp; !response.users[0]),                                // Until we fix the API this will do,                            ) {,                                if (!curated2_keepIfEmpty) {,                                    curated2_div.remove();,                                } else {,                                    doneLoading(&apos;.curated2.list&apos;);,                                },                                return;,                            } else if (curated2_totalPages == 1 &amp;&amp;,                                    !curated2_keepIfEmpty) {,                                document.querySelector(,                                    &apos;.curated2.paginator&apos;).remove();,                            },,&quot;                            curated2_onLoadPage(response,&quot;,                                curated2_listDiv);,,                            doneLoading(&apos;.curated2.list&apos;);,                        },                    );,,                    curated2_page = pageNumber;,                    curated2_pageSpan.textContent = pageNumber;,                };,,                function curated2_initGrid (callback) {,                    curated2_toPage(1);,                    if (callback) {,                        callback.call(this);,                    },                };,,            &lt;/script&gt;,        &lt;/div&gt;,&quot;&lt;nav class=&quot;&quot;curated2 paginator&quot;&quot;&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;curated2_toPage(1);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-caret-left&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;curated2_toPage(curated2_page - 5 &gt; 0 ? curated2_page - 5 : 1);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-double-left&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;curated2_toPage(curated2_page - 1 &gt; 0 ? curated2_page - 1 : curated2_page);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-left&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;span class=&quot;&quot;page&quot;&quot;&gt;&lt;/span&gt; / &lt;span class=&quot;&quot;total-pages&quot;&quot;&gt;&lt;/span&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;curated2_toPage(curated2_page + 1 &lt; curated2_totalPages ? curated2_page + 1 : curated2_totalPages);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-right&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;curated2_toPage(curated2_page + 5 &lt; curated2_totalPages ? curated2_page + 5 : curated2_totalPages);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-double-right&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;curated2_toPage(curated2_totalPages);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-caret-right&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&lt;/nav&gt;,    &lt;/div&gt;,&quot;    &lt;div class=&quot;&quot;curated2 list pure-g&quot;&quot;&gt;&lt;/div&gt;&quot;,&lt;/div&gt;,&lt;script&gt;,    curated2_loadPage =,&quot;        function (query, pageSize, pageNumber, onSuccess) {&quot;,            SnapCloud.getCollectionProjects(,&quot;                &apos;snapcloud&apos;,&quot;,&quot;                pageNumber,&quot;,&quot;                pageSize,&quot;,&quot;                collections[1],&quot;,&quot;                onSuccess,&quot;,&quot;                genericError,&quot;,                true // withThumbnail,            );,        };,,    curated2_onLoadPage = latest_onLoadPage;,    curated2_initGrid();,&lt;/script&gt;,,&lt;/script&gt;,&lt;!--,    Any template that uses me needs to specify the following functions:,,    // Defines how to retrieve a particular page from the DB,    curated3_loadPage (,&quot;        query,      // search query&quot;,&quot;        pageSize,   // amount of elements per page&quot;,&quot;        pageNumber, // current page being requested&quot;,        onSuccess   // callback called when response comes back. Just leave as,&quot;                    // `onSuccess` unless doing something very specific, as&quot;,                    // this callback is defined by the search bar itself.,    ),,    // Defines how to load a particular page,    curated3_onLoadPage (,&quot;        response,      // response from the server&quot;,        targetElement  // HTML element where response should be rendered,    ),,&quot;    Once these functions have been defined, just call:&quot;,,    curated3_initGrid(callback);,--&gt;,&quot;&lt;div class=&quot;&quot;curated3 container&quot;&quot;&gt;&quot;,&quot;    &lt;h2 class=&quot;&quot;curated3 header&quot;&quot; localizable&gt;&lt;/h2&gt;&quot;,&quot;    &lt;div class=&quot;&quot;bar&quot;&quot;&gt;&quot;,&quot;        &lt;div hidden class=&quot;&quot;curated3 search&quot;&quot;&gt;&quot;,&quot;            &lt;form action=&quot;&quot;curated3&quot;&quot;&gt;&quot;,&quot;                &lt;input type=&quot;&quot;text&quot;&quot; name=&quot;&quot;query&quot;&quot;&gt;&quot;,&quot;                &lt;i class=&quot;&quot;fas fa-search&quot;&quot;&gt;&lt;/i&gt;&quot;,            &lt;/form&gt;,            &lt;script&gt;,&quot;                var curated3_page = 1,&quot;,&quot;                    curated3_totalPages = 1,&quot;,&quot;                    curated3_maxPages = [0][0] || 0, // 0 = no limit&quot;,&quot;                    curated3_pageSize = [5][0] || 150,&quot;,                    curated3_keepIfEmpty = [][0];,,                if (![collections[2]][0]) {,                    document.querySelector(&apos;.curated3.header&apos;).remove();,                } else {,                    document.querySelector(&apos;.curated3.header&apos;).innerHTML =,                        [collections[2]][0];,                },,                if ([false][0]) {,&quot;                    document.querySelector(&quot;&quot;.curated3.search&quot;&quot;).hidden =&quot;,                        false;,                };,,                document.querySelector(&apos;.curated3 form input&apos;).value =,                    getUrlParameter(&apos;query&apos;);,,                function curated3_toPage (pageNumber) {,                    var curated3_div =,&quot;                            document.querySelector(&apos;.curated3.container&apos;),&quot;,                        curated3_listDiv =,&quot;                            document.querySelector(&apos;.curated3.list&apos;),&quot;,                        curated3_pageSpan =,                            document.querySelector(,&quot;                                &apos;.curated3.paginator .page&apos;),&quot;,                        curated3_totalPagesSpan =,                            document.querySelector(,&quot;                                &apos;.curated3.paginator .total-pages&apos;),&quot;,                        height = curated3_listDiv.clientHeight;,,                    // Forces grid to keep previous height when emptied out,                    if (height &gt; 0) {,                        curated3_listDiv.style.height = height;,                    },,                    curated3_listDiv.innerHTML = &apos;&apos;;,                    beganLoading(&apos;.curated3.list&apos;);,,                    curated3_loadPage(,&quot;                        getUrlParameter(&apos;query&apos;),&quot;,&quot;                        curated3_pageSize,&quot;,&quot;                        pageNumber,&quot;,                        function (response) {,                            curated3_totalPages =,                                curated3_maxPages || response.pages;,                            curated3_totalPagesSpan.textContent =,                                curated3_totalPages;,,                            if (curated3_totalPages == 0 ||,                                (response.projects &amp;&amp; !response.projects[0]) ||,                                (response.collections &amp;&amp;,                                    !response.collections[0]) ||,                                (response.users &amp;&amp; !response.users[0]),                                // Until we fix the API this will do,                            ) {,                                if (!curated3_keepIfEmpty) {,                                    curated3_div.remove();,                                } else {,                                    doneLoading(&apos;.curated3.list&apos;);,                                },                                return;,                            } else if (curated3_totalPages == 1 &amp;&amp;,                                    !curated3_keepIfEmpty) {,                                document.querySelector(,                                    &apos;.curated3.paginator&apos;).remove();,                            },,&quot;                            curated3_onLoadPage(response,&quot;,                                curated3_listDiv);,,                            doneLoading(&apos;.curated3.list&apos;);,                        },                    );,,                    curated3_page = pageNumber;,                    curated3_pageSpan.textContent = pageNumber;,                };,,                function curated3_initGrid (callback) {,                    curated3_toPage(1);,                    if (callback) {,                        callback.call(this);,                    },                };,,            &lt;/script&gt;,        &lt;/div&gt;,&quot;&lt;nav class=&quot;&quot;curated3 paginator&quot;&quot;&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;curated3_toPage(1);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-caret-left&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;curated3_toPage(curated3_page - 5 &gt; 0 ? curated3_page - 5 : 1);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-double-left&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;curated3_toPage(curated3_page - 1 &gt; 0 ? curated3_page - 1 : curated3_page);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-left&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;span class=&quot;&quot;page&quot;&quot;&gt;&lt;/span&gt; / &lt;span class=&quot;&quot;total-pages&quot;&quot;&gt;&lt;/span&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;curated3_toPage(curated3_page + 1 &lt; curated3_totalPages ? curated3_page + 1 : curated3_totalPages);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-right&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;curated3_toPage(curated3_page + 5 &lt; curated3_totalPages ? curated3_page + 5 : curated3_totalPages);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-double-right&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;curated3_toPage(curated3_totalPages);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-caret-right&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&lt;/nav&gt;,    &lt;/div&gt;,&quot;    &lt;div class=&quot;&quot;curated3 list pure-g&quot;&quot;&gt;&lt;/div&gt;&quot;,&lt;/div&gt;,&lt;script&gt;,    curated3_loadPage =,&quot;        function (query, pageSize, pageNumber, onSuccess) {&quot;,            SnapCloud.getCollectionProjects(,&quot;                &apos;snapcloud&apos;,&quot;,&quot;                pageNumber,&quot;,&quot;                pageSize,&quot;,&quot;                collections[2],&quot;,&quot;                onSuccess,&quot;,&quot;                genericError,&quot;,                true // withThumbnail,            );,        };,,    curated3_onLoadPage = latest_onLoadPage;,    curated3_initGrid();,&lt;/script&gt;,,&lt;!--,    Any template that uses me needs to specify the following functions:,,    // Defines how to retrieve a particular page from the DB,    snapcon_loadPage (,&quot;        query,      // search query&quot;,&quot;        pageSize,   // amount of elements per page&quot;,&quot;        pageNumber, // current page being requested&quot;,        onSuccess   // callback called when response comes back. Just leave as,&quot;                    // `onSuccess` unless doing something very specific, as&quot;,                    // this callback is defined by the search bar itself.,    ),,    // Defines how to load a particular page,    snapcon_onLoadPage (,&quot;        response,      // response from the server&quot;,        targetElement  // HTML element where response should be rendered,    ),,&quot;    Once these functions have been defined, just call:&quot;,,    snapcon_initGrid(callback);,--&gt;,&quot;&lt;div class=&quot;&quot;snapcon container&quot;&quot;&gt;&quot;,&quot;    &lt;h2 class=&quot;&quot;snapcon header&quot;&quot; localizable&gt;&lt;/h2&gt;&quot;,&quot;    &lt;div class=&quot;&quot;bar&quot;&quot;&gt;&quot;,&quot;        &lt;div hidden class=&quot;&quot;snapcon search&quot;&quot;&gt;&quot;,&quot;            &lt;form action=&quot;&quot;snapcon&quot;&quot;&gt;&quot;,&quot;                &lt;input type=&quot;&quot;text&quot;&quot; name=&quot;&quot;query&quot;&quot;&gt;&quot;,&quot;                &lt;i class=&quot;&quot;fas fa-search&quot;&quot;&gt;&lt;/i&gt;&quot;,            &lt;/form&gt;,            &lt;script&gt;,&quot;                var snapcon_page = 1,&quot;,&quot;                    snapcon_totalPages = 1,&quot;,&quot;                    snapcon_maxPages = [0][0] || 0, // 0 = no limit&quot;,&quot;                    snapcon_pageSize = [5][0] || 150,&quot;,                    snapcon_keepIfEmpty = [][0];,,                if (![&apos;Snap!Con 2020&apos;][0]) {,                    document.querySelector(&apos;.snapcon.header&apos;).remove();,                } else {,                    document.querySelector(&apos;.snapcon.header&apos;).innerHTML =,                        [&apos;Snap!Con 2020&apos;][0];,                },,                if ([false][0]) {,&quot;                    document.querySelector(&quot;&quot;.snapcon.search&quot;&quot;).hidden =&quot;,                        false;,                };,,                document.querySelector(&apos;.snapcon form input&apos;).value =,                    getUrlParameter(&apos;query&apos;);,,                function snapcon_toPage (pageNumber) {,                    var snapcon_div =,&quot;                            document.querySelector(&apos;.snapcon.container&apos;),&quot;,                        snapcon_listDiv =,&quot;                            document.querySelector(&apos;.snapcon.list&apos;),&quot;,                        snapcon_pageSpan =,                            document.querySelector(,&quot;                                &apos;.snapcon.paginator .page&apos;),&quot;,                        snapcon_totalPagesSpan =,                            document.querySelector(,&quot;                                &apos;.snapcon.paginator .total-pages&apos;),&quot;,                        height = snapcon_listDiv.clientHeight;,,                    // Forces grid to keep previous height when emptied out,                    if (height &gt; 0) {,                        snapcon_listDiv.style.height = height;,                    },,                    snapcon_listDiv.innerHTML = &apos;&apos;;,                    beganLoading(&apos;.snapcon.list&apos;);,,                    snapcon_loadPage(,&quot;                        getUrlParameter(&apos;query&apos;),&quot;,&quot;                        snapcon_pageSize,&quot;,&quot;                        pageNumber,&quot;,                        function (response) {,                            snapcon_totalPages =,                                snapcon_maxPages || response.pages;,                            snapcon_totalPagesSpan.textContent =,                                snapcon_totalPages;,,                            if (snapcon_totalPages == 0 ||,                                (response.projects &amp;&amp; !response.projects[0]) ||,                                (response.collections &amp;&amp;,                                    !response.collections[0]) ||,                                (response.users &amp;&amp; !response.users[0]),                                // Until we fix the API this will do,                            ) {,                                if (!snapcon_keepIfEmpty) {,                                    snapcon_div.remove();,                                } else {,                                    doneLoading(&apos;.snapcon.list&apos;);,                                },                                return;,                            } else if (snapcon_totalPages == 1 &amp;&amp;,                                    !snapcon_keepIfEmpty) {,                                document.querySelector(,                                    &apos;.snapcon.paginator&apos;).remove();,                            },,&quot;                            snapcon_onLoadPage(response,&quot;,                                snapcon_listDiv);,,                            doneLoading(&apos;.snapcon.list&apos;);,                        },                    );,,                    snapcon_page = pageNumber;,                    snapcon_pageSpan.textContent = pageNumber;,                };,,                function snapcon_initGrid (callback) {,                    snapcon_toPage(1);,                    if (callback) {,                        callback.call(this);,                    },                };,,            &lt;/script&gt;,        &lt;/div&gt;,&quot;&lt;nav class=&quot;&quot;snapcon paginator&quot;&quot;&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;snapcon_toPage(1);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-caret-left&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;snapcon_toPage(snapcon_page - 5 &gt; 0 ? snapcon_page - 5 : 1);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-double-left&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;snapcon_toPage(snapcon_page - 1 &gt; 0 ? snapcon_page - 1 : snapcon_page);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-left&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;span class=&quot;&quot;page&quot;&quot;&gt;&lt;/span&gt; / &lt;span class=&quot;&quot;total-pages&quot;&quot;&gt;&lt;/span&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;snapcon_toPage(snapcon_page + 1 &lt; snapcon_totalPages ? snapcon_page + 1 : snapcon_totalPages);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-right&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;snapcon_toPage(snapcon_page + 5 &lt; snapcon_totalPages ? snapcon_page + 5 : snapcon_totalPages);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-double-right&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;snapcon_toPage(snapcon_totalPages);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-caret-right&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&lt;/nav&gt;,    &lt;/div&gt;,&quot;    &lt;div class=&quot;&quot;snapcon list pure-g&quot;&quot;&gt;&lt;/div&gt;&quot;,&lt;/div&gt;,&lt;script&gt;,    snapcon_loadPage =,&quot;        function (query, pageSize, pageNumber, onSuccess) {&quot;,            SnapCloud.getCollectionProjects(,&quot;                &apos;snapcon&apos;,&quot;,&quot;                pageNumber,&quot;,&quot;                pageSize,&quot;,&quot;                &apos;Snap!Con 2020&apos;,&quot;,&quot;                onSuccess,&quot;,&quot;                genericError,&quot;,                true // withThumbnail,            );,        };,,    snapcon_onLoadPage = latest_onLoadPage;,    snapcon_initGrid();,&lt;/script&gt;,,&lt;!--,    Any template that uses me needs to specify the following functions:,,    // Defines how to retrieve a particular page from the DB,    ytlf_loadPage (,&quot;        query,      // search query&quot;,&quot;        pageSize,   // amount of elements per page&quot;,&quot;        pageNumber, // current page being requested&quot;,        onSuccess   // callback called when response comes back. Just leave as,&quot;                    // `onSuccess` unless doing something very specific, as&quot;,                    // this callback is defined by the search bar itself.,    ),,    // Defines how to load a particular page,    ytlf_onLoadPage (,&quot;        response,      // response from the server&quot;,        targetElement  // HTML element where response should be rendered,    ),,&quot;    Once these functions have been defined, just call:&quot;,,    ytlf_initGrid(callback);,--&gt;,&quot;&lt;div class=&quot;&quot;ytlf container&quot;&quot;&gt;&quot;,&quot;    &lt;h2 class=&quot;&quot;ytlf header&quot;&quot; localizable&gt;&lt;/h2&gt;&quot;,&quot;    &lt;div class=&quot;&quot;bar&quot;&quot;&gt;&quot;,&quot;        &lt;div hidden class=&quot;&quot;ytlf search&quot;&quot;&gt;&quot;,&quot;            &lt;form action=&quot;&quot;ytlf&quot;&quot;&gt;&quot;,&quot;                &lt;input type=&quot;&quot;text&quot;&quot; name=&quot;&quot;query&quot;&quot;&gt;&quot;,&quot;                &lt;i class=&quot;&quot;fas fa-search&quot;&quot;&gt;&lt;/i&gt;&quot;,            &lt;/form&gt;,            &lt;script&gt;,&quot;                var ytlf_page = 1,&quot;,&quot;                    ytlf_totalPages = 1,&quot;,&quot;                    ytlf_maxPages = [0][0] || 0, // 0 = no limit&quot;,&quot;                    ytlf_pageSize = [5][0] || 150,&quot;,                    ytlf_keepIfEmpty = [][0];,,                if (![&apos;YTLF @ Snap!Con 2020&apos;][0]) {,                    document.querySelector(&apos;.ytlf.header&apos;).remove();,                } else {,                    document.querySelector(&apos;.ytlf.header&apos;).innerHTML =,                        [&apos;YTLF @ Snap!Con 2020&apos;][0];,                },,                if ([false][0]) {,&quot;                    document.querySelector(&quot;&quot;.ytlf.search&quot;&quot;).hidden =&quot;,                        false;,                };,,                document.querySelector(&apos;.ytlf form input&apos;).value =,                    getUrlParameter(&apos;query&apos;);,,                function ytlf_toPage (pageNumber) {,                    var ytlf_div =,&quot;                            document.querySelector(&apos;.ytlf.container&apos;),&quot;,                        ytlf_listDiv =,&quot;                            document.querySelector(&apos;.ytlf.list&apos;),&quot;,                        ytlf_pageSpan =,                            document.querySelector(,&quot;                                &apos;.ytlf.paginator .page&apos;),&quot;,                        ytlf_totalPagesSpan =,                            document.querySelector(,&quot;                                &apos;.ytlf.paginator .total-pages&apos;),&quot;,                        height = ytlf_listDiv.clientHeight;,,                    // Forces grid to keep previous height when emptied out,                    if (height &gt; 0) {,                        ytlf_listDiv.style.height = height;,                    },,                    ytlf_listDiv.innerHTML = &apos;&apos;;,                    beganLoading(&apos;.ytlf.list&apos;);,,                    ytlf_loadPage(,&quot;                        getUrlParameter(&apos;query&apos;),&quot;,&quot;                        ytlf_pageSize,&quot;,&quot;                        pageNumber,&quot;,                        function (response) {,                            ytlf_totalPages =,                                ytlf_maxPages || response.pages;,                            ytlf_totalPagesSpan.textContent =,                                ytlf_totalPages;,,                            if (ytlf_totalPages == 0 ||,                                (response.projects &amp;&amp; !response.projects[0]) ||,                                (response.collections &amp;&amp;,                                    !response.collections[0]) ||,                                (response.users &amp;&amp; !response.users[0]),                                // Until we fix the API this will do,                            ) {,                                if (!ytlf_keepIfEmpty) {,                                    ytlf_div.remove();,                                } else {,                                    doneLoading(&apos;.ytlf.list&apos;);,                                },                                return;,                            } else if (ytlf_totalPages == 1 &amp;&amp;,                                    !ytlf_keepIfEmpty) {,                                document.querySelector(,                                    &apos;.ytlf.paginator&apos;).remove();,                            },,&quot;                            ytlf_onLoadPage(response,&quot;,                                ytlf_listDiv);,,                            doneLoading(&apos;.ytlf.list&apos;);,                        },                    );,,                    ytlf_page = pageNumber;,                    ytlf_pageSpan.textContent = pageNumber;,                };,,                function ytlf_initGrid (callback) {,                    ytlf_toPage(1);,                    if (callback) {,                        callback.call(this);,                    },                };,,            &lt;/script&gt;,        &lt;/div&gt;,&quot;&lt;nav class=&quot;&quot;ytlf paginator&quot;&quot;&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;ytlf_toPage(1);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-caret-left&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;ytlf_toPage(ytlf_page - 5 &gt; 0 ? ytlf_page - 5 : 1);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-double-left&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;ytlf_toPage(ytlf_page - 1 &gt; 0 ? ytlf_page - 1 : ytlf_page);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-left&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;span class=&quot;&quot;page&quot;&quot;&gt;&lt;/span&gt; / &lt;span class=&quot;&quot;total-pages&quot;&quot;&gt;&lt;/span&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;ytlf_toPage(ytlf_page + 1 &lt; ytlf_totalPages ? ytlf_page + 1 : ytlf_totalPages);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-right&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;ytlf_toPage(ytlf_page + 5 &lt; ytlf_totalPages ? ytlf_page + 5 : ytlf_totalPages);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-angle-double-right&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&quot;    &lt;a class=&quot;&quot;clickable&quot;&quot; onclick=&quot;&quot;ytlf_toPage(ytlf_totalPages);&quot;&quot;&gt;&lt;i class=&quot;&quot;fas fa-caret-right&quot;&quot;&gt;&lt;/i&gt;&lt;/a&gt;&quot;,&lt;/nav&gt;,    &lt;/div&gt;,&quot;    &lt;div class=&quot;&quot;ytlf list pure-g&quot;&quot;&gt;&lt;/div&gt;&quot;,&lt;/div&gt;,&lt;script&gt;,    ytlf_loadPage =,&quot;        function (query, pageSize, pageNumber, onSuccess) {&quot;,            SnapCloud.getCollectionProjects(,&quot;                &apos;bromagosa&apos;,&quot;,&quot;                pageNumber,&quot;,&quot;                pageSize,&quot;,&quot;                &apos;YTLF @ Snap!Con 2020&apos;,&quot;,&quot;                onSuccess,&quot;,&quot;                genericError,&quot;,                true // withThumbnail,            );,        };,,    ytlf_onLoadPage = latest_onLoadPage;,    ytlf_initGrid();,&lt;/script&gt;,,        &lt;/div&gt;,&quot;&lt;div id=&quot;&quot;footer&quot;&quot;&gt;&quot;,&quot;    &lt;div class=&quot;&quot;links pure-g&quot;&quot;&gt;&quot;,&quot;        &lt;div class=&quot;&quot;pure-u-1-5&quot;&quot;&gt;&quot;,            &lt;p&gt;&lt;h4 localizable&gt;About&lt;/h4&gt;&lt;/p&gt;,&quot;            &lt;p&gt;&lt;a localizable href=&quot;&quot;about&quot;&quot;&gt;About Snap&lt;em&gt;!&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&quot;,&quot;            &lt;p&gt;&lt;a localizable href=&quot;&quot;blog&quot;&quot;&gt;Blog&lt;/a&gt;&lt;/p&gt;&quot;,&quot;            &lt;p&gt;&lt;a localizable href=&quot;&quot;credits&quot;&quot;&gt;Credits&lt;/a&gt;&lt;/p&gt;&quot;,&quot;            &lt;p&gt;&lt;a localizable href=&quot;&quot;requirements&quot;&quot;&gt;Technical Requirements&lt;/a&gt;&lt;/p&gt;&quot;,&quot;            &lt;p&gt;&lt;a localizable href=&quot;&quot;partners&quot;&quot;&gt;Partners&lt;/a&gt;&lt;/p&gt;&quot;,&quot;            &lt;p&gt;&lt;a localizable href=&quot;&quot;source&quot;&quot; &gt;Source Code&lt;/a&gt;&lt;/p&gt;&quot;,        &lt;/div&gt;,&quot;        &lt;div class=&quot;&quot;pure-u-1-5&quot;&quot;&gt;&quot;,            &lt;p&gt;&lt;h4 localizable&gt;Learning&lt;/h4&gt;&lt;/p&gt;,&quot;            &lt;p&gt;&lt;a localizable href=&quot;&quot;examples&quot;&quot;&gt;Examples&lt;/a&gt;&lt;/p&gt;&quot;,&quot;            &lt;p&gt;&lt;a localizable href=&quot;&quot;snap/help/SnapManual.pdf&quot;&quot;&quot;,                &gt;Reference Manual&lt;/a&gt;&lt;/p&gt;,&quot;            &lt;p&gt;&lt;a localizable href=&quot;&quot;materials&quot;&quot;&gt;Materials&lt;/a&gt;&lt;/p&gt;&quot;,&quot;            &lt;p&gt;&lt;a localizable href=&quot;&quot;bjc&quot;&quot;&gt;The Beauty and Joy of Computing&lt;/a&gt;&lt;/p&gt;&quot;,&quot;            &lt;p&gt;&lt;a localizable href=&quot;&quot;research&quot;&quot;&gt;Research&lt;/a&gt;&lt;/p&gt;&quot;,        &lt;/div&gt;,&quot;        &lt;div class=&quot;&quot;pure-u-1-5&quot;&quot;&gt;&quot;,            &lt;p&gt;&lt;h4 localizable&gt;Tools&lt;/h4&gt;&lt;/p&gt;,&quot;            &lt;p&gt;&lt;a localizable href=&quot;&quot;offline&quot;&quot;&gt;Offline Version&lt;/a&gt;&lt;/p&gt;&quot;,&quot;            &lt;p&gt;&lt;a localizable href=&quot;&quot;extensions&quot;&quot;&gt;Extensions&lt;/a&gt;&lt;/p&gt;&quot;,&quot;            &lt;p&gt;&lt;a href=&quot;&quot;snapp&quot;&quot;&gt;Snapp&lt;em&gt;!&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&quot;,&quot;            &lt;p&gt;&lt;a href=&quot;&quot;snapinator&quot;&quot;&gt;Snapinator&lt;/a&gt;&lt;/p&gt;&quot;,&quot;            &lt;p&gt;&lt;a href=&quot;&quot;https://smerge.org/&quot;&quot;&gt;Smerge&lt;/a&gt;&lt;/p&gt;&quot;,&quot;            &lt;p&gt;&lt;a href=&quot;&quot;old_site/old-byob.html&quot;&quot;&gt;BYOB (old Snap&lt;em&gt;!&lt;/em&gt;)&lt;/a&gt;&lt;/p&gt;&quot;,        &lt;/div&gt;,&quot;        &lt;div class=&quot;&quot;pure-u-1-5&quot;&quot;&gt;&quot;,            &lt;p&gt;&lt;h4 localizable&gt;Support&lt;/h4&gt;&lt;/p&gt;,&quot;            &lt;p&gt;&lt;a localizable target=&quot;&quot;_blank&quot;&quot;&quot;,&quot;                href=&quot;&quot;https://forum.snap.berkeley.edu/&quot;&quot;&gt;Forum&lt;/a&gt;&lt;/p&gt;&quot;,&quot;            &lt;p&gt;&lt;a localizable href=&quot;&quot;contact&quot;&quot;&gt;Contact Us&lt;/a&gt;&lt;/p&gt;&quot;,&quot;            &lt;p&gt;&lt;a localizable href=&quot;&quot;mirrors&quot;&quot;&gt;Mirrors&lt;/a&gt;&lt;/p&gt;&quot;,        &lt;/div&gt;,&quot;        &lt;div class=&quot;&quot;pure-u-1-5&quot;&quot;&gt;&quot;,            &lt;p&gt;&lt;h4 localizable&gt;Legal&lt;/h4&gt;&lt;/p&gt;,&quot;            &lt;p&gt;&lt;a localizable href=&quot;&quot;dmca&quot;&quot;&gt;DMCA&lt;/a&gt;&lt;/p&gt;&quot;,&quot;            &lt;p&gt;&lt;a localizable href=&quot;&quot;privacy&quot;&quot;&gt;Privacy&lt;/a&gt;&lt;/p&gt;&quot;,&quot;            &lt;p&gt;&lt;a localizable href=&quot;&quot;tos&quot;&quot;&gt;Terms of Service&lt;/a&gt;&lt;/p&gt;&quot;,        &lt;/div&gt;,    &lt;/div&gt;,&lt;/div&gt;,    &lt;/body&gt;,    &lt;script&gt;,    SnapCloud.genericError = genericError;,    document.querySelector(&apos;#top-bar .run&apos;).href = snapURL;,    if (!sessionStorage.username) {,        SnapCloud.initSession(,&quot;            function (username, role) {&quot;,                sessionStorage.username = username;,                sessionStorage.role = role;,                initForUsername(username);,            },        );,    } else {,        initForUsername(sessionStorage.username);,    },,    function initForUsername (username) {,        if (username) {,            SnapCloud.username = username;,            document.querySelector(&apos;li.join&apos;).hidden = true;,            document.querySelector(&apos;li.sign-in&apos;).hidden = true;,            document.querySelector(&apos;li.user-menu&apos;).hidden = false;,            document.querySelector(&apos;a.my-public-projects&apos;).href =,                &apos;user?user=&apos; + username;,&quot;            if (hasAnyOfRoles([&apos;admin&apos;, &apos;moderator&apos;, &apos;reviewer&apos;])) {&quot;,                document.querySelector(&apos;.admin&apos;).hidden = false;,            },            fillVisitorFields();,        } else {,            document.querySelector(&apos;li.join&apos;).hidden = false;,            document.querySelector(&apos;li.sign-in&apos;).hidden = false;,            document.querySelector(&apos;li.user-menu&apos;).hidden = true;,        },        fillUsernameFields();,        fillVisitorFields();,        doneLoading();,    },,    // Share sessionStorage across tabs,    // http://blog.guya.net/2015/06/12/sharing-sessionstorage-between-tabs-for-secure-multi-tab-authentication/,    if (!sessionStorage.length) {,&quot;        localStorage.setItem(&apos;getSessionStorage&apos;, Date.now());&quot;,    };,&quot;    window.addEventListener(&apos;storage&apos;, function(event) {&quot;,        if (event.key == &apos;getSessionStorage&apos;) {,&quot;            localStorage.setItem(&apos;sessionStorage&apos;,&quot;,                JSON.stringify(sessionStorage));,            localStorage.removeItem(&apos;sessionStorage&apos;);,        } else if (event.key == &apos;sessionStorage&apos; &amp;&amp; !sessionStorage.length) {,&quot;            var data = JSON.parse(event.newValue), value;&quot;,&quot;            for (key in data) { sessionStorage.setItem(key, data[key]); }&quot;,        },    });,    &lt;/script&gt;,&lt;/html&gt;,</list></variable><variable name="numbers list"><list struct="atomic" id="169">189,29,55.7,-4.9,8901,-36.76,74.8,33,-9,60.3221,19,-222,41,155.8,37,-12,9.6,-0.33,2,21</list></variable><variable name="inputValue #"><l>0</l></variable></variables></project><media name="U3L2_pg 5" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>