css Audio - Active file-generic CSS - Active Generic - Active HTML - Active JS - Active SVG - Active Text - Active file-generic Video - Active header Love html icon-new-collection icon-person icon-team numbered-list123 pop-out spinner split-screen star tv

Pen Settings

CSS Base

Vendor Prefixing

Add External Stylesheets/Pens

Any URL's added here will be added as <link>s in order, and before the CSS in the editor. If you link to another Pen, it will include the CSS from that Pen. If the preprocessor matches, it will attempt to combine them before processing.

+ add another resource

You're using npm packages, so we've auto-selected Babel for you here, which we require to process imports and make it all work. If you need to use a different JavaScript preprocessor, remove the packages in the npm tab.

Add External Scripts/Pens

Any URL's added here will be added as <script>s in order, and run before the JavaScript in the editor. You can use the URL of any other Pen and it will include the JavaScript from that Pen.

+ add another resource

Use npm Packages

We can make npm packages available for you to use in your JavaScript. We use webpack to prepare them and make them available to import. We'll also process your JavaScript with Babel.

⚠️ This feature can only be used by logged in users.

Code Indentation

     

Save Automatically?

If active, Pens will autosave every 30 seconds after being saved once.

Auto-Updating Preview

If enabled, the preview panel updates automatically as you code. If disabled, use the "Run" button to update.

HTML Settings

Here you can Sed posuere consectetur est at lobortis. Donec ullamcorper nulla non metus auctor fringilla. Maecenas sed diam eget risus varius blandit sit amet non magna. Donec id elit non mi porta gravida at eget metus. Praesent commodo cursus magna, vel scelerisque nisl consectetur et.

            
              <script src="https://d1wo5a6yt2u5up.cloudfront.net/codepen/nanogl.js"></script>
<script src="https://unpkg.com/gl-matrix@2.8.1/dist/gl-matrix.js"></script>

<script type="shader/vertex" id="snowstorm-vert">
uniform mat4 u_projection;
uniform mat4 u_view;
uniform mat4 u_model;
uniform float u_time;
attribute vec3 position;
attribute float offset;
attribute float size;
varying float v_alpha;

void main() {
  // snowfall logic adapted from:
  // http://oos.moxiecode.com/js_webgl/snowfall/
  float time = offset + u_time * 0.00005;
  float modTime = mod(time, 1.0);
  time = modTime * modTime;
  vec3 pos = position;
  pos.x += cos(time * 5.0 + position.z) * 5.0;
  pos.y *= time;
  pos.z += sin(time * 5.0 + position.x) * 5.0;
  gl_Position = u_projection * u_view * u_model * vec4(pos, 1.0);
  gl_PointSize = min(150.0, size * (150.0 / length(gl_Position.xyz)));
  v_alpha = gl_PointSize / 50.0;
}
</script>

<script type="shader/vertex" id="snowstorm-frag">
varying float v_alpha;

void main() {
  // render a gl.POINT as a circle
  // https://www.desultoryquest.com/blog/drawing-anti-aliased-circular-points-using-opengl-slash-webgl/
  vec2 xy = 2.0 * gl_PointCoord - 1.0;
  float radius = dot(xy, xy);
  if(radius > 1.0) discard;
  // render the point with with a slight blur / soft edge
  // change the gl_FragColor to use v_alpha to see the difference
  float alpha = v_alpha * mix(1.0, 0.0, length(radius)) * 0.5;
  gl_FragColor = vec4(1, 1, 1, alpha);
}
</script>

<script type="shader/vertex" id="snowflake-vert">
uniform mat4 u_model;
uniform mat4 u_view;
uniform mat4 u_projection;
uniform vec2 u_resolution;
uniform vec2 u_mouse;
uniform float u_time;
attribute float index;
attribute vec3 position;
attribute vec4 color;
varying vec4 v_color;

void main() {

  v_color = color;

  vec3 pos = position;
  pos.z += sin(index + u_time * 0.001) * 0.1;

  // mat4 explode;
  // float intensity = 0.5 * sin(u_time * 0.015) + 0.5 * sin(u_time * 0.005);
  // float rescale = 1.0 + 0.5 * intensity;
  // float angle = u_time * 0.002;
  // explode[0] = vec4(rescale * sin(angle), cos(angle), 0.0, 0.0);
  // explode[1] = vec4(-cos(angle), rescale * sin(angle), 0.0, 0.0);
  // explode[2] = vec4(0.0, 0.0, rescale, 0.0);
  // explode[3] = vec4(0.0, 0.0, 0.0, rescale);
  // mat4 matrix = u_projection * u_view * u_model * explode;
  // gl_Position = matrix * vec4(pos, 1.0);
  gl_Position = u_projection * u_view * u_model * vec4(pos, 1.0);
}
</script>

<script type="shader/vertex" id="snowflake-frag">
varying vec4 v_color;

void main() {
  gl_FragColor = v_color;
}
</script>

<script>
window.complex = {"positions":[[0.06211642175912857,-0.08497891575098038,0],[-0.032064758241176605,-0.08468912541866302,0],[-0.014363478869199753,-0.05202816054224968,0],[0.06211642175912857,-0.08497891575098038,0],[0.09370777755975723,-0.03757401555776596,0],[0.135721817612648,-0.05977260321378708,0],[0.06211642175912857,-0.08497891575098038,0],[-0.014363478869199753,-0.05202816054224968,0],[0.07669702172279358,-0.031432997435331345,0],[0.06211642175912857,-0.08497891575098038,0],[0.05650078505277634,-0.22343795001506805,0],[-0.032064758241176605,-0.08468912541866302,0],[0.06211642175912857,-0.08497891575098038,0],[0.07669702172279358,-0.031432997435331345,0],[0.09370777755975723,-0.03757401555776596,0],[0.06211642175912857,-0.08497891575098038,0],[0.135721817612648,-0.05977260321378708,0],[0.22990381717681885,-0.18727415800094604,0],[0.06211642175912857,-0.08497891575098038,0],[0.06211642175912857,-0.2965243458747864,0],[0.05650078505277634,-0.22343795001506805,0],[0.22990381717681885,-0.18727415800094604,0],[0.3781304955482483,-0.1609034389257431,0],[0.33321332931518555,-0.2474776655435562,0],[0.22990381717681885,-0.18727415800094604,0],[0.33321332931518555,-0.2474776655435562,0],[0.324548602104187,-0.3197607398033142,0],[0.22990381717681885,-0.18727415800094604,0],[0.324548602104187,-0.3197607398033142,0],[0.26264989376068115,-0.4466346502304077,0],[0.22990381717681885,-0.18727415800094604,0],[0.135721817612648,-0.05977260321378708,0],[0.27264758944511414,-0.09990300983190536,0],[0.22990381717681885,-0.18727415800094604,0],[0.27264758944511414,-0.09990300983190536,0],[0.3781304955482483,-0.1609034389257431,0],[0.26264989376068115,-0.4466346502304077,0],[0.06211642175912857,-0.4183802902698517,0],[0.06211642175912857,-0.2965243458747864,0],[0.26264989376068115,-0.4466346502304077,0],[0.29307764768600464,-0.5920358896255493,0],[0.06211642175912857,-0.4183802902698517,0],[0.26264989376068115,-0.4466346502304077,0],[0.36653897166252136,-0.5463942289352417,0],[0.29307764768600464,-0.5920358896255493,0],[0.26264989376068115,-0.4466346502304077,0],[0.324548602104187,-0.3197607398033142,0],[0.36653897166252136,-0.5463942289352417,0],[-0.19449107348918915,-0.17379900813102722,0],[-0.18010908365249634,-0.11171084642410278,0],[-0.032064758241176605,-0.08468912541866302,0],[-0.19449107348918915,-0.17379900813102722,0],[-0.24841752648353577,-0.18464961647987366,0],[-0.18010908365249634,-0.11171084642410278,0],[-0.19449107348918915,-0.17379900813102722,0],[-0.24288570880889893,-0.19698207080364227,0],[-0.24841752648353577,-0.18464961647987366,0],[-0.032064758241176605,-0.08468912541866302,0],[-0.09791913628578186,0.00036372101749293506,0],[-0.014363478869199753,-0.05202816054224968,0],[-0.032064758241176605,-0.08468912541866302,0],[-0.18523892760276794,-0.07798518240451813,0],[-0.09791913628578186,0.00036372101749293506,0],[-0.032064758241176605,-0.08468912541866302,0],[-0.18010908365249634,-0.11171084642410278,0],[-0.18523892760276794,-0.07798518240451813,0],[-0.032064758241176605,-0.08468912541866302,0],[0.05650078505277634,-0.22343795001506805,0],[-0.032064758241176605,-0.28442567586898804,0],[-0.032064758241176605,-0.28442567586898804,0],[-0.032499440014362335,-0.40671631693840027,0],[-0.2617219388484955,-0.44648975133895874,0],[-0.032064758241176605,-0.28442567586898804,0],[0.05650078505277634,-0.22343795001506805,0],[0.06211642175912857,-0.2965243458747864,0],[-0.032064758241176605,-0.28442567586898804,0],[-0.00177862960845232,-0.37985581159591675,0],[-0.032499440014362335,-0.40671631693840027,0],[-0.032064758241176605,-0.28442567586898804,0],[0.06211642175912857,-0.2965243458747864,0],[-0.00177862960845232,-0.37985581159591675,0],[-0.2617219388484955,-0.44648975133895874,0],[-0.3488757610321045,-0.2581998407840729,0],[-0.2901249825954437,-0.26447218656539917,0],[-0.2617219388484955,-0.44648975133895874,0],[-0.29403331875801086,-0.5921807885169983,0],[-0.37726524472236633,-0.5336626768112183,0],[-0.2617219388484955,-0.44648975133895874,0],[-0.032499440014362335,-0.40671631693840027,0],[-0.29403331875801086,-0.5921807885169983,0],[-0.2617219388484955,-0.44648975133895874,0],[-0.37726524472236633,-0.5336626768112183,0],[-0.3488757610321045,-0.2581998407840729,0],[-0.2617219388484955,-0.44648975133895874,0],[-0.2901249825954437,-0.26447218656539917,0],[-0.24288570880889893,-0.19698207080364227,0],[-0.2937435507774353,0.11338113248348236,0],[-0.23484407365322113,0.19676770269870758,0],[-0.18295370042324066,0.055295493453741074,0],[-0.2937435507774353,0.11338113248348236,0],[-0.39937135577201843,0.1743815541267395,0],[-0.3286181092262268,0.23733896017074585,0],[-0.2937435507774353,0.11338113248348236,0],[-0.5240001082420349,0.038920897990465164,0],[-0.39937135577201843,0.1743815541267395,0],[-0.2937435507774353,0.11338113248348236,0],[-0.3286181092262268,0.23733896017074585,0],[-0.23484407365322113,0.19676770269870758,0],[-0.2937435507774353,0.11338113248348236,0],[-0.18295370042324066,0.055295493453741074,0],[-0.09791913628578186,0.00036372101749293506,0],[-0.2937435507774353,0.11338113248348236,0],[-0.5324565768241882,0.008043109439313412,0],[-0.5240001082420349,0.038920897990465164,0],[-0.09791913628578186,0.00036372101749293506,0],[-0.10748667269945145,0.04725825786590576,0],[-0.05208911374211311,0.0162054356187582,0],[-0.09791913628578186,0.00036372101749293506,0],[-0.18523892760276794,-0.07798518240451813,0],[-0.2783123254776001,-0.10396004468202591,0],[-0.09791913628578186,0.00036372101749293506,0],[-0.05208911374211311,0.0162054356187582,0],[-0.014363478869199753,-0.05202816054224968,0],[-0.09791913628578186,0.00036372101749293506,0],[-0.18295370042324066,0.055295493453741074,0],[-0.10748667269945145,0.04725825786590576,0],[-0.2783123254776001,-0.10396004468202591,0],[-0.4773484468460083,-0.046849433332681656,0],[-0.5324565768241882,0.008043109439313412,0],[-0.2783123254776001,-0.10396004468202591,0],[-0.18523892760276794,-0.07798518240451813,0],[-0.18010908365249634,-0.11171084642410278,0],[-0.2783123254776001,-0.10396004468202591,0],[-0.334538996219635,-0.12396079301834106,0],[-0.3776938021183014,-0.10782800614833832,0],[-0.2783123254776001,-0.10396004468202591,0],[-0.18010908365249634,-0.11171084642410278,0],[-0.24841752648353577,-0.18464961647987366,0],[-0.2783123254776001,-0.10396004468202591,0],[-0.24841752648353577,-0.18464961647987366,0],[-0.334538996219635,-0.12396079301834106,0],[-0.2783123254776001,-0.10396004468202591,0],[-0.3776938021183014,-0.10782800614833832,0],[-0.4773484468460083,-0.046849433332681656,0],[-0.032064758241176605,0.30072924494743347,0],[0.06211642175912857,0.31275543570518494,0],[0.050713200122117996,0.09692870080471039,0],[-0.032064758241176605,0.30072924494743347,0],[-0.08419256657361984,0.35216090083122253,0],[-0.01154017448425293,0.3469943702220917,0],[-0.032064758241176605,0.30072924494743347,0],[-0.01154017448425293,0.3469943702220917,0],[0.06211642175912857,0.31275543570518494,0],[-0.032064758241176605,0.30072924494743347,0],[0.050713200122117996,0.09692870080471039,0],[-0.032064758241176605,0.08556146174669266,0],[-0.032064758241176605,0.30072924494743347,0],[-0.2617219388484955,0.46301063895225525,0],[-0.08419256657361984,0.35216090083122253,0],[-0.032064758241176605,0.08556146174669266,0],[-0.10748667269945145,0.04725825786590576,0],[-0.23484407365322113,0.19676770269870758,0],[-0.032064758241176605,0.08556146174669266,0],[0.02093544788658619,0.0523127056658268,0],[-0.010218738578259945,0.017899414524435997,0],[-0.032064758241176605,0.08556146174669266,0],[-0.05208911374211311,0.0162054356187582,0],[-0.10748667269945145,0.04725825786590576,0],[-0.032064758241176605,0.08556146174669266,0],[-0.010218738578259945,0.017899414524435997,0],[-0.05208911374211311,0.0162054356187582,0],[-0.032064758241176605,0.08556146174669266,0],[0.050713200122117996,0.09692870080471039,0],[0.02093544788658619,0.0523127056658268,0],[-0.23484407365322113,0.19676770269870758,0],[-0.10748667269945145,0.04725825786590576,0],[-0.18295370042324066,0.055295493453741074,0],[-0.23484407365322113,0.19676770269870758,0],[-0.3286181092262268,0.23733896017074585,0],[-0.2617219388484955,0.46301063895225525,0],[0.2025873064994812,0.1706530898809433,0],[0.20874238014221191,0.08320517092943192,0],[0.14933504164218903,0.09614250808954239,0],[0.2025873064994812,0.1706530898809433,0],[0.14933504164218903,0.09614250808954239,0],[0.06211642175912857,0.08599614351987839,0],[0.2025873064994812,0.1706530898809433,0],[0.2585534155368805,0.14723767340183258,0],[0.20874238014221191,0.08320517092943192,0],[0.2025873064994812,0.1706530898809433,0],[0.22512230277061462,0.18698734045028687,0],[0.2585534155368805,0.14723767340183258,0],[0.06211642175912857,0.08599614351987839,0],[0.02093544788658619,0.0523127056658268,0],[0.050713200122117996,0.09692870080471039,0],[0.06211642175912857,0.08599614351987839,0],[0.14933504164218903,0.09614250808954239,0],[0.09962562471628189,0.03915441781282425,0],[0.06211642175912857,0.08599614351987839,0],[0.09962562471628189,0.03915441781282425,0],[0.02093544788658619,0.0523127056658268,0],[0.06211642175912857,0.08599614351987839,0],[0.050713200122117996,0.09692870080471039,0],[0.06211642175912857,0.31275543570518494,0],[0.06211642175912857,0.31275543570518494,0],[0.06019790098071098,0.3891279697418213,0],[0.2611284852027893,0.4627208709716797,0],[0.06211642175912857,0.31275543570518494,0],[-0.01154017448425293,0.3469943702220917,0],[0.06019790098071098,0.3891279697418213,0],[0.2611284852027893,0.4627208709716797,0],[0.33075010776519775,0.24769797921180725,0],[0.27630525827407837,0.3000730574131012,0],[0.2611284852027893,0.4627208709716797,0],[0.3650175929069519,0.5630600452423096,0],[0.33075010776519775,0.24769797921180725,0],[0.2611284852027893,0.4627208709716797,0],[0.2932949960231781,0.6079772114753723,0],[0.3650175929069519,0.5630600452423096,0],[0.2611284852027893,0.4627208709716797,0],[0.06211642175912857,0.4346838593482971,0],[0.2932949960231781,0.6079772114753723,0],[0.2611284852027893,0.4627208709716797,0],[0.27630525827407837,0.3000730574131012,0],[0.22512230277061462,0.18698734045028687,0],[0.2611284852027893,0.4627208709716797,0],[0.06019790098071098,0.3891279697418213,0],[0.06211642175912857,0.4346838593482971,0],[0.0990644246339798,0.0005086151650175452,0],[0.02093544788658619,0.0523127056658268,0],[0.09962562471628189,0.03915441781282425,0],[0.0990644246339798,0.0005086151650175452,0],[0.09370777755975723,-0.03757401555776596,0],[0.07669702172279358,-0.031432997435331345,0],[0.0990644246339798,0.0005086151650175452,0],[0.20874238014221191,0.08320517092943192,0],[0.2877890169620514,0.10946899652481079,0],[0.0990644246339798,0.0005086151650175452,0],[0.07669702172279358,-0.031432997435331345,0],[0.02093544788658619,0.0523127056658268,0],[0.0990644246339798,0.0005086151650175452,0],[0.135721817612648,-0.05977260321378708,0],[0.09370777755975723,-0.03757401555776596,0],[0.0990644246339798,0.0005086151650175452,0],[0.09962562471628189,0.03915441781282425,0],[0.20874238014221191,0.08320517092943192,0],[0.0990644246339798,0.0005086151650175452,0],[0.27264758944511414,-0.09990300983190536,0],[0.135721817612648,-0.05977260321378708,0],[0.2877890169620514,0.10946899652481079,0],[0.3931270241737366,0.17054186761379242,0],[0.3883458971977234,0.07232706993818283,0],[0.2877890169620514,0.10946899652481079,0],[0.3883458971977234,0.07232706993818283,0],[0.5174462199211121,0.008188003674149513,0],[0.2877890169620514,0.10946899652481079,0],[0.20874238014221191,0.08320517092943192,0],[0.2585534155368805,0.14723767340183258,0],[0.2877890169620514,0.10946899652481079,0],[0.2585534155368805,0.14723767340183258,0],[0.3931270241737366,0.17054186761379242,0],[0.5174462199211121,0.008188003674149513,0],[0.3781304955482483,-0.1609034389257431,0],[0.27264758944511414,-0.09990300983190536,0],[0.5174462199211121,0.008188003674149513,0],[0.6593700051307678,-0.03687406703829765,0],[0.3781304955482483,-0.1609034389257431,0],[0.5174462199211121,0.008188003674149513,0],[0.659007728099823,0.05317762866616249,0],[0.6593700051307678,-0.03687406703829765,0],[0.5174462199211121,0.008188003674149513,0],[0.3883458971977234,0.07232706993818283,0],[0.48067793250083923,0.12368301302194595,0],[0.5174462199211121,0.008188003674149513,0],[0.48067793250083923,0.12368301302194595,0],[0.659007728099823,0.05317762866616249,0],[0.6457499265670776,-0.3154330253601074,0],[0.5402669906616211,-0.2545050382614136,0],[0.7893956899642944,-0.22378744184970856,0],[0.6457499265670776,-0.3154330253601074,0],[0.5966308116912842,-0.3996889591217041,0],[0.5402669906616211,-0.2545050382614136,0],[0.6457499265670776,-0.3154330253601074,0],[0.7893956899642944,-0.22378744184970856,0],[0.8469122052192688,-0.22578968107700348,0],[0.6457499265670776,-0.3154330253601074,0],[0.6769722700119019,-0.39747217297554016,0],[0.5966308116912842,-0.3996889591217041,0],[0.6457499265670776,-0.3154330253601074,0],[0.8493261933326721,-0.43279725313186646,0],[0.6769722700119019,-0.39747217297554016,0],[0.8469122052192688,-0.22578968107700348,0],[0.8001180291175842,-0.17035795748233795,0],[0.8601281642913818,-0.2119879573583603,0],[0.8469122052192688,-0.22578968107700348,0],[0.7893956899642944,-0.22378744184970856,0],[0.8001180291175842,-0.17035795748233795,0],[0.8601281642913818,-0.2119879573583603,0],[0.8001180291175842,-0.17035795748233795,0],[0.8668917417526245,-0.19455254077911377,0],[0.8668917417526245,-0.19455254077911377,0],[0.8001180291175842,-0.17035795748233795,0],[0.8665238618850708,-0.1755889654159546,0],[0.8665238618850708,-0.1755889654159546,0],[0.8001180291175842,-0.17035795748233795,0],[0.8585730791091919,-0.15757879614830017,0],[0.8585730791091919,-0.15757879614830017,0],[0.8001180291175842,-0.17035795748233795,0],[0.8447713255882263,-0.14444097876548767,0],[0.8447713255882263,-0.14444097876548767,0],[0.8001180291175842,-0.17035795748233795,0],[0.8273359537124634,-0.1375245451927185,0],[0.8273359537124634,-0.1375245451927185,0],[0.8001180291175842,-0.17035795748233795,0],[0.8083723783493042,-0.1377532035112381,0],[0.8083723783493042,-0.1377532035112381,0],[0.8001180291175842,-0.17035795748233795,0],[0.7989754676818848,-0.14083559811115265,0],[0.7989754676818848,-0.14083559811115265,0],[0.8001180291175842,-0.17035795748233795,0],[0.5402669906616211,-0.2545050382614136,0],[0.5402669906616211,-0.2545050382614136,0],[0.33321332931518555,-0.2474776655435562,0],[0.3781304955482483,-0.1609034389257431,0],[0.5402669906616211,-0.2545050382614136,0],[0.49158260226249695,-0.3390507698059082,0],[0.33321332931518555,-0.2474776655435562,0],[0.5402669906616211,-0.2545050382614136,0],[0.5966308116912842,-0.3996889591217041,0],[0.49158260226249695,-0.3390507698059082,0],[0.5402669906616211,-0.2545050382614136,0],[0.8001180291175842,-0.17035795748233795,0],[0.7893956899642944,-0.22378744184970856,0],[0.6593700051307678,-0.03687406703829765,0],[0.6712898015975952,0.04554465040564537,0],[0.6714731454849243,-0.029285239055752754,0],[0.6593700051307678,-0.03687406703829765,0],[0.659007728099823,0.05317762866616249,0],[0.6712898015975952,0.04554465040564537,0],[0.6714731454849243,-0.029285239055752754,0],[0.6712898015975952,0.04554465040564537,0],[0.6866326928138733,-0.006065955385565758,0],[0.6866326928138733,-0.006065955385565758,0],[0.6712898015975952,0.04554465040564537,0],[0.6887110471725464,0.008043109439313412,0],[0.6887110471725464,0.008043109439313412,0],[0.6712898015975952,0.04554465040564537,0],[0.6866168975830078,0.022237073630094528,0],[0.659007728099823,0.05317762866616249,0],[0.48067793250083923,0.12368301302194595,0],[0.3931270241737366,0.17054186761379242,0],[0.3931270241737366,0.17054186761379242,0],[0.4908581078052521,0.3401404321193695,0],[0.5394700765609741,0.2549426853656769,0],[0.3931270241737366,0.17054186761379242,0],[0.33075010776519775,0.24769797921180725,0],[0.4908581078052521,0.3401404321193695,0],[0.3931270241737366,0.17054186761379242,0],[0.48067793250083923,0.12368301302194595,0],[0.3883458971977234,0.07232706993818283,0],[0.3931270241737366,0.17054186761379242,0],[0.2585534155368805,0.14723767340183258,0],[0.33075010776519775,0.24769797921180725,0],[0.5394700765609741,0.2549426853656769,0],[0.6448081135749817,0.31579822301864624,0],[0.6212678551673889,0.23305761814117432,0],[0.5394700765609741,0.2549426853656769,0],[0.4908581078052521,0.3401404321193695,0],[0.6448081135749817,0.31579822301864624,0],[0.5394700765609741,0.2549426853656769,0],[0.6212678551673889,0.23305761814117432,0],[0.8067785501480103,0.13735799491405487,0],[0.8067785501480103,0.13735799491405487,0],[0.8455125093460083,0.22553017735481262,0],[0.8377492427825928,0.14201554656028748,0],[0.8067785501480103,0.13735799491405487,0],[0.8377492427825928,0.14201554656028748,0],[0.8257421255111694,0.13703028857707977,0],[0.8067785501480103,0.13735799491405487,0],[0.6212678551673889,0.23305761814117432,0],[0.8455125093460083,0.22553017735481262,0],[0.8257421255111694,0.13703028857707977,0],[0.8377492427825928,0.14201554656028748,0],[0.8431774973869324,0.14386804401874542,0],[0.8431774973869324,0.14386804401874542,0],[0.8377492427825928,0.14201554656028748,0],[0.856979250907898,0.15701548755168915,0],[0.856979250907898,0.15701548755168915,0],[0.8377492427825928,0.14201554656028748,0],[0.8649305701255798,0.1751537173986435,0],[0.8649305701255798,0.1751537173986435,0],[0.8377492427825928,0.14201554656028748,0],[0.8653132319450378,0.1941973865032196,0],[0.8653132319450378,0.1941973865032196,0],[0.8377492427825928,0.14201554656028748,0],[0.8586050868034363,0.2116755247116089,0],[0.8586050868034363,0.2116755247116089,0],[0.8377492427825928,0.14201554656028748,0],[0.8455125093460083,0.22553017735481262,0],[0.8455125093460083,0.22553017735481262,0],[0.6212678551673889,0.23305761814117432,0],[0.6448081135749817,0.31579822301864624,0],[0.6448081135749817,0.31579822301864624,0],[0.5960512757301331,0.40114086866378784,0],[0.82105952501297,0.4529188275337219,0],[0.6448081135749817,0.31579822301864624,0],[0.4908581078052521,0.3401404321193695,0],[0.5960512757301331,0.40114086866378784,0],[0.6448081135749817,0.31579822301864624,0],[0.82105952501297,0.4529188275337219,0],[0.856451153755188,0.4391408860683441,0],[0.856451153755188,0.4391408860683441,0],[0.82105952501297,0.4529188275337219,0],[0.833956778049469,0.46223631501197815,0],[0.856451153755188,0.4391408860683441,0],[0.833956778049469,0.46223631501197815,0],[0.8679527044296265,0.45435675978660583,0],[0.8679527044296265,0.45435675978660583,0],[0.833956778049469,0.46223631501197815,0],[0.8727914094924927,0.47251012921333313,0],[0.8727914094924927,0.47251012921333313,0],[0.833956778049469,0.46223631501197815,0],[0.8482766151428223,0.4938187599182129,0],[0.8727914094924927,0.47251012921333313,0],[0.8482766151428223,0.4938187599182129,0],[0.870383083820343,0.49144795536994934,0],[0.870383083820343,0.49144795536994934,0],[0.8482766151428223,0.4938187599182129,0],[0.8662787675857544,0.5005382299423218,0],[0.8662787675857544,0.5005382299423218,0],[0.8482766151428223,0.4938187599182129,0],[0.8604899644851685,0.5086292028427124,0],[0.8604899644851685,0.5086292028427124,0],[0.8482766151428223,0.4938187599182129,0],[0.8453159928321838,0.5201689600944519,0],[0.8453159928321838,0.5201689600944519,0],[0.8482766151428223,0.4938187599182129,0],[0.8271637558937073,0.5250492691993713,0],[0.8271637558937073,0.5250492691993713,0],[0.8482766151428223,0.4938187599182129,0],[0.808213472366333,0.5227063298225403,0],[0.808213472366333,0.5227063298225403,0],[0.82105952501297,0.4529188275337219,0],[0.5960512757301331,0.40114086866378784,0],[0.808213472366333,0.5227063298225403,0],[0.833956778049469,0.46223631501197815,0],[0.82105952501297,0.4529188275337219,0],[0.808213472366333,0.5227063298225403,0],[0.8482766151428223,0.4938187599182129,0],[0.833956778049469,0.46223631501197815,0],[0.5960512757301331,0.40114086866378784,0],[0.4908581078052521,0.3401404321193695,0],[0.513348400592804,0.5125840306282043,0],[0.5960512757301331,0.40114086866378784,0],[0.513348400592804,0.5125840306282043,0],[0.6185794472694397,0.6199789643287659,0],[0.6185794472694397,0.6199789643287659,0],[0.6014026999473572,0.6526554226875305,0],[0.6131357550621033,0.638176441192627,0],[0.6185794472694397,0.6199789643287659,0],[0.5847659111022949,0.6617517471313477,0],[0.6014026999473572,0.6526554226875305,0],[0.6185794472694397,0.6199789643287659,0],[0.5650372505187988,0.6638433933258057,0],[0.5847659111022949,0.6617517471313477,0],[0.6185794472694397,0.6199789643287659,0],[0.5205613970756531,0.6205105781555176,0],[0.5650372505187988,0.6638433933258057,0],[0.6185794472694397,0.6199789643287659,0],[0.513348400592804,0.5125840306282043,0],[0.5205613970756531,0.6205105781555176,0],[0.5650372505187988,0.6638433933258057,0],[0.5205613970756531,0.6205105781555176,0],[0.5466416478157043,0.6584752202033997,0],[0.5466416478157043,0.6584752202033997,0],[0.5205613970756531,0.6205105781555176,0],[0.531896710395813,0.6468347311019897,0],[0.531896710395813,0.6468347311019897,0],[0.5205613970756531,0.6205105781555176,0],[0.5226022601127625,0.6302463412284851,0],[0.5205613970756531,0.6205105781555176,0],[0.513348400592804,0.5125840306282043,0],[0.4908581078052521,0.3401404321193695,0],[0.33075010776519775,0.24769797921180725,0],[0.2585534155368805,0.14723767340183258,0],[0.22512230277061462,0.18698734045028687,0],[0.33075010776519775,0.24769797921180725,0],[0.22512230277061462,0.18698734045028687,0],[0.27630525827407837,0.3000730574131012,0],[0.3650175929069519,0.5630600452423096,0],[0.2932949960231781,0.6079772114753723,0],[0.364542156457901,0.5773388743400574,0],[0.364542156457901,0.5773388743400574,0],[0.2932949960231781,0.6079772114753723,0],[0.3521808683872223,0.6021203398704529,0],[0.3521808683872223,0.6021203398704529,0],[0.2932949960231781,0.6079772114753723,0],[0.3411100506782532,0.6110199689865112,0],[0.3411100506782532,0.6110199689865112,0],[0.30514687299728394,0.6146672368049622,0],[0.328850656747818,0.6162294149398804,0],[0.3411100506782532,0.6110199689865112,0],[0.2932949960231781,0.6079772114753723,0],[0.30514687299728394,0.6146672368049622,0],[0.06211642175912857,0.4346838593482971,0],[-0.03199230879545212,0.595081627368927,0],[0.06211642175912857,0.594936728477478,0],[0.06211642175912857,0.4346838593482971,0],[-0.03199230879545212,0.42287498712539673,0],[-0.03199230879545212,0.595081627368927,0],[0.06211642175912857,0.4346838593482971,0],[0.06019790098071098,0.3891279697418213,0],[-0.016752298921346664,0.4163147807121277,0],[0.06211642175912857,0.4346838593482971,0],[-0.016752298921346664,0.4163147807121277,0],[-0.03199230879545212,0.42287498712539673,0],[0.06211642175912857,0.594936728477478,0],[0.06211642175912857,0.7166478037834167,0],[0.2835146486759186,0.7608405351638794,0],[0.06211642175912857,0.594936728477478,0],[-0.03199230879545212,0.595081627368927,0],[-0.0463532917201519,0.6543837785720825,0],[0.06211642175912857,0.594936728477478,0],[-0.0463532917201519,0.6543837785720825,0],[0.06211642175912857,0.7166478037834167,0],[0.2835146486759186,0.7608405351638794,0],[0.2356627881526947,0.845544695854187,0],[0.2872772812843323,0.7840057015419006,0],[0.2835146486759186,0.7608405351638794,0],[0.06211642175912857,0.7166478037834167,0],[0.2356627881526947,0.845544695854187,0],[0.2835146486759186,0.7608405351638794,0],[0.2872772812843323,0.7840057015419006,0],[0.290790319442749,0.7675151228904724,0],[0.290790319442749,0.7675151228904724,0],[0.2872772812843323,0.7840057015419006,0],[0.29959237575531006,0.7838969230651855,0],[0.29959237575531006,0.7838969230651855,0],[0.2872772812843323,0.7840057015419006,0],[0.30106252431869507,0.8024827241897583,0],[0.30106252431869507,0.8024827241897583,0],[0.2872772812843323,0.7840057015419006,0],[0.29039710760116577,0.8296652436256409,0],[0.29039710760116577,0.8296652436256409,0],[0.2872772812843323,0.7840057015419006,0],[0.26918086409568787,0.8469845652580261,0],[0.26918086409568787,0.8469845652580261,0],[0.2356627881526947,0.845544695854187,0],[0.25265955924987793,0.8499051332473755,0],[0.26918086409568787,0.8469845652580261,0],[0.2872772812843323,0.7840057015419006,0],[0.2356627881526947,0.845544695854187,0],[0.06211642175912857,0.7166478037834167,0],[-0.032064758241176605,0.7167927026748657,0],[0.03525716811418533,0.9367581009864807,0],[0.06211642175912857,0.7166478037834167,0],[-0.0463532917201519,0.6543837785720825,0],[-0.032064758241176605,0.7167927026748657,0],[0.06211642175912857,0.7166478037834167,0],[0.03525716811418533,0.9367581009864807,0],[0.06211642175912857,0.9517385363578796,0],[0.06211642175912857,0.9517385363578796,0],[0.03525716811418533,0.9367581009864807,0],[0.05438000708818436,0.9792648553848267,0],[0.05438000708818436,0.9792648553848267,0],[0.03525716811418533,0.9367581009864807,0],[0.04186449572443962,0.9925784468650818,0],[0.04186449572443962,0.9925784468650818,0],[0.03525716811418533,0.9367581009864807,0],[0.024849342182278633,1,0],[0.024849342182278633,1,0],[0.03525716811418533,0.9367581009864807,0],[0.005202321335673332,1,0],[0.005202321335673332,1,0],[0.03525716811418533,0.9367581009864807,0],[-0.01181283313781023,0.9925784468650818,0],[-0.01181283313781023,0.9925784468650818,0],[0.03525716811418533,0.9367581009864807,0],[-0.02432834543287754,0.9792648553848267,0],[-0.02432834543287754,0.9792648553848267,0],[0.03525716811418533,0.9367581009864807,0],[-0.031155630946159363,0.9616554379463196,0],[-0.031155630946159363,0.9616554379463196,0],[0.03525716811418533,0.9367581009864807,0],[-0.032064758241176605,0.7167927026748657,0],[-0.032064758241176605,0.7167927026748657,0],[-0.0463532917201519,0.6543837785720825,0],[-0.12930582463741302,0.7627535462379456,0],[-0.032064758241176605,0.7167927026748657,0],[-0.12930582463741302,0.7627535462379456,0],[-0.21966230869293213,0.845689594745636,0],[-0.21966230869293213,0.845689594745636,0],[-0.2667207717895508,0.7609854340553284,0],[-0.23938122391700745,0.8500500321388245,0],[-0.21966230869293213,0.845689594745636,0],[-0.12930582463741302,0.7627535462379456,0],[-0.15100060403347015,0.7621524333953857,0],[-0.21966230869293213,0.845689594745636,0],[-0.15100060403347015,0.7621524333953857,0],[-0.2667207717895508,0.7609854340553284,0],[-0.23938122391700745,0.8500500321388245,0],[-0.2859567403793335,0.7840418219566345,0],[-0.25945669412612915,0.8471294641494751,0],[-0.23938122391700745,0.8500500321388245,0],[-0.2667207717895508,0.7609854340553284,0],[-0.2859567403793335,0.7840418219566345,0],[-0.25945669412612915,0.8471294641494751,0],[-0.2859567403793335,0.7840418219566345,0],[-0.2769206762313843,0.8372540473937988,0],[-0.2769206762313843,0.8372540473937988,0],[-0.29115113615989685,0.8026276230812073,0],[-0.2884907126426697,0.8212099671363831,0],[-0.2769206762313843,0.8372540473937988,0],[-0.2859567403793335,0.7840418219566345,0],[-0.29115113615989685,0.8026276230812073,0],[-0.2667207717895508,0.7609854340553284,0],[-0.0463532917201519,0.6543837785720825,0],[-0.03199230879545212,0.595081627368927,0],[-0.2667207717895508,0.7609854340553284,0],[-0.15100060403347015,0.7621524333953857,0],[-0.0463532917201519,0.6543837785720825,0],[-0.03199230879545212,0.42287498712539673,0],[-0.08419256657361984,0.35216090083122253,0],[-0.2617219388484955,0.46301063895225525,0],[-0.03199230879545212,0.42287498712539673,0],[-0.016752298921346664,0.4163147807121277,0],[-0.01154017448425293,0.3469943702220917,0],[-0.03199230879545212,0.42287498712539673,0],[-0.01154017448425293,0.3469943702220917,0],[-0.08419256657361984,0.35216090083122253,0],[-0.03199230879545212,0.42287498712539673,0],[-0.2617219388484955,0.46301063895225525,0],[-0.29359865188598633,0.6083394289016724,0],[-0.29359865188598633,0.6083394289016724,0],[-0.37763723731040955,0.5634222626686096,0],[-0.3069741725921631,0.6150577664375305,0],[-0.29359865188598633,0.6083394289016724,0],[-0.3598012626171112,0.5186842083930969,0],[-0.37763723731040955,0.5634222626686096,0],[-0.29359865188598633,0.6083394289016724,0],[-0.2617219388484955,0.46301063895225525,0],[-0.3598012626171112,0.5186842083930969,0],[-0.3069741725921631,0.6150577664375305,0],[-0.37763723731040955,0.5634222626686096,0],[-0.3375287353992462,0.6165406703948975,0],[-0.3375287353992462,0.6165406703948975,0],[-0.36296671628952026,0.6023806929588318,0],[-0.35155630111694336,0.6112373471260071,0],[-0.3375287353992462,0.6165406703948975,0],[-0.37763723731040955,0.5634222626686096,0],[-0.36296671628952026,0.6023806929588318,0],[-0.36296671628952026,0.6023806929588318,0],[-0.37763723731040955,0.5634222626686096,0],[-0.37682220339775085,0.5776581168174744,0],[-0.37763723731040955,0.5634222626686096,0],[-0.3598012626171112,0.5186842083930969,0],[-0.34547072649002075,0.25769567489624023,0],[-0.34547072649002075,0.25769567489624023,0],[-0.39937135577201843,0.1743815541267395,0],[-0.45581936836242676,0.30750033259391785,0],[-0.34547072649002075,0.25769567489624023,0],[-0.3286181092262268,0.23733896017074585,0],[-0.39937135577201843,0.1743815541267395,0],[-0.34547072649002075,0.25769567489624023,0],[-0.45581936836242676,0.30750033259391785,0],[-0.48964038491249084,0.3402853310108185,0],[-0.34547072649002075,0.25769567489624023,0],[-0.3598012626171112,0.5186842083930969,0],[-0.2617219388484955,0.46301063895225525,0],[-0.34547072649002075,0.25769567489624023,0],[-0.2617219388484955,0.46301063895225525,0],[-0.3286181092262268,0.23733896017074585,0],[-0.48964038491249084,0.3402853310108185,0],[-0.595413088798523,0.40114086866378784,0],[-0.5834694504737854,0.4165639281272888,0],[-0.48964038491249084,0.3402853310108185,0],[-0.5391941666603088,0.25523248314857483,0],[-0.5753597021102905,0.26314303278923035,0],[-0.48964038491249084,0.3402853310108185,0],[-0.5834694504737854,0.4165639281272888,0],[-0.5198507905006409,0.6202932000160217,0],[-0.48964038491249084,0.3402853310108185,0],[-0.5753597021102905,0.26314303278923035,0],[-0.595413088798523,0.40114086866378784,0],[-0.48964038491249084,0.3402853310108185,0],[-0.45581936836242676,0.30750033259391785,0],[-0.5391941666603088,0.25523248314857483,0],[-0.5198507905006409,0.6202932000160217,0],[-0.5313057899475098,0.6465066075325012,0],[-0.5219247341156006,0.6300135850906372,0],[-0.5198507905006409,0.6202932000160217,0],[-0.5461305379867554,0.6580279469490051,0],[-0.5313057899475098,0.6465066075325012,0],[-0.5198507905006409,0.6202932000160217,0],[-0.5645584464073181,0.6633278727531433,0],[-0.5461305379867554,0.6580279469490051,0],[-0.5198507905006409,0.6202932000160217,0],[-0.6180891394615173,0.6197313070297241,0],[-0.5645584464073181,0.6633278727531433,0],[-0.5198507905006409,0.6202932000160217,0],[-0.5834694504737854,0.4165639281272888,0],[-0.5901151895523071,0.5458459854125977,0],[-0.5198507905006409,0.6202932000160217,0],[-0.5901151895523071,0.5458459854125977,0],[-0.6180891394615173,0.6197313070297241,0],[-0.5645584464073181,0.6633278727531433,0],[-0.6180891394615173,0.6197313070297241,0],[-0.5842934846878052,0.6612749099731445,0],[-0.5842934846878052,0.6612749099731445,0],[-0.6180891394615173,0.6197313070297241,0],[-0.6009413003921509,0.6522526741027832,0],[-0.6009413003921509,0.6522526741027832,0],[-0.6180891394615173,0.6197313070297241,0],[-0.612661600112915,0.6378546953201294,0],[-0.6180891394615173,0.6197313070297241,0],[-0.5901151895523071,0.5458459854125977,0],[-0.595413088798523,0.40114086866378784,0],[-0.595413088798523,0.40114086866378784,0],[-0.6446046233177185,0.3160880208015442,0],[-0.7918528914451599,0.49712899327278137,0],[-0.595413088798523,0.40114086866378784,0],[-0.5753597021102905,0.26314303278923035,0],[-0.6446046233177185,0.3160880208015442,0],[-0.595413088798523,0.40114086866378784,0],[-0.5901151895523071,0.5458459854125977,0],[-0.5834694504737854,0.4165639281272888,0],[-0.595413088798523,0.40114086866378784,0],[-0.7918528914451599,0.49712899327278137,0],[-0.8080586791038513,0.5228025317192078,0],[-0.8080586791038513,0.5228025317192078,0],[-0.7918528914451599,0.49712899327278137,0],[-0.826981782913208,0.5251726508140564,0],[-0.826981782913208,0.5251726508140564,0],[-0.7918528914451599,0.49712899327278137,0],[-0.8451340198516846,0.520292341709137,0],[-0.8451340198516846,0.520292341709137,0],[-0.7918528914451599,0.49712899327278137,0],[-0.8603351712226868,0.5087254643440247,0],[-0.8603351712226868,0.5087254643440247,0],[-0.7918528914451599,0.49712899327278137,0],[-0.8661477565765381,0.5006106495857239,0],[-0.8661477565765381,0.5006106495857239,0],[-0.7918528914451599,0.49712899327278137,0],[-0.8702308535575867,0.491568386554718,0],[-0.8702308535575867,0.491568386554718,0],[-0.7918528914451599,0.49712899327278137,0],[-0.8726170659065247,0.472695916891098,0],[-0.8726170659065247,0.472695916891098,0],[-0.7918528914451599,0.49712899327278137,0],[-0.8677495121955872,0.45458415150642395,0],[-0.8677495121955872,0.45458415150642395,0],[-0.7918528914451599,0.49712899327278137,0],[-0.8561715483665466,0.43940648436546326,0],[-0.8561715483665466,0.43940648436546326,0],[-0.7918528914451599,0.49712899327278137,0],[-0.6446046233177185,0.3160880208015442,0],[-0.6446046233177185,0.3160880208015442,0],[-0.5753597021102905,0.26314303278923035,0],[-0.6284266710281372,0.234224334359169,0],[-0.6446046233177185,0.3160880208015442,0],[-0.6284266710281372,0.234224334359169,0],[-0.694442629814148,0.2929976284503937,0],[-0.6446046233177185,0.3160880208015442,0],[-0.694442629814148,0.2929976284503937,0],[-0.8459529876708984,0.2253551483154297,0],[-0.8459529876708984,0.2253551483154297,0],[-0.8571162223815918,0.15666556358337402,0],[-0.8590101599693298,0.21143002808094025,0],[-0.8459529876708984,0.2253551483154297,0],[-0.8430060148239136,0.1435936838388443,0],[-0.8571162223815918,0.15666556358337402,0],[-0.8459529876708984,0.2253551483154297,0],[-0.8064315915107727,0.13722456991672516,0],[-0.8430060148239136,0.1435936838388443,0],[-0.8459529876708984,0.2253551483154297,0],[-0.694442629814148,0.2929976284503937,0],[-0.8064315915107727,0.13722456991672516,0],[-0.8590101599693298,0.21143002808094025,0],[-0.8571162223815918,0.15666556358337402,0],[-0.865754246711731,0.19388481974601746,0],[-0.865754246711731,0.19388481974601746,0],[-0.8571162223815918,0.15666556358337402,0],[-0.8653634190559387,0.17479784786701202,0],[-0.8430060148239136,0.1435936838388443,0],[-0.8064315915107727,0.13722456991672516,0],[-0.8254319429397583,0.13684846460819244,0],[-0.8064315915107727,0.13722456991672516,0],[-0.6284266710281372,0.234224334359169,0],[-0.5391941666603088,0.25523248314857483,0],[-0.8064315915107727,0.13722456991672516,0],[-0.694442629814148,0.2929976284503937,0],[-0.6284266710281372,0.234224334359169,0],[-0.5391941666603088,0.25523248314857483,0],[-0.6284266710281372,0.234224334359169,0],[-0.5753597021102905,0.26314303278923035,0],[-0.5391941666603088,0.25523248314857483,0],[-0.45581936836242676,0.30750033259391785,0],[-0.5115405917167664,0.24096256494522095,0],[-0.5391941666603088,0.25523248314857483,0],[-0.5115405917167664,0.24096256494522095,0],[-0.39937135577201843,0.1743815541267395,0],[-0.39937135577201843,0.1743815541267395,0],[-0.5240001082420349,0.038920897990465164,0],[-0.6743804216384888,0.05317762866616249,0],[-0.39937135577201843,0.1743815541267395,0],[-0.5115405917167664,0.24096256494522095,0],[-0.45581936836242676,0.30750033259391785,0],[-0.6743804216384888,0.05317762866616249,0],[-0.6747426390647888,-0.03694651648402214,0],[-0.6864835619926453,0.04551522061228752,0],[-0.6743804216384888,0.05317762866616249,0],[-0.5240001082420349,0.038920897990465164,0],[-0.5324565768241882,0.008043109439313412,0],[-0.6743804216384888,0.05317762866616249,0],[-0.5324565768241882,0.008043109439313412,0],[-0.6747426390647888,-0.03694651648402214,0],[-0.6864835619926453,0.04551522061228752,0],[-0.7037214636802673,0.008115556091070175,0],[-0.7016431093215942,0.022257449105381966,0],[-0.6864835619926453,0.04551522061228752,0],[-0.6747426390647888,-0.03694651648402214,0],[-0.7037214636802673,0.008115556091070175,0],[-0.7037214636802673,0.008115556091070175,0],[-0.6747426390647888,-0.03694651648402214,0],[-0.7017405033111572,-0.006067087408155203,0],[-0.7017405033111572,-0.006067087408155203,0],[-0.6747426390647888,-0.03694651648402214,0],[-0.6869114637374878,-0.029324857518076897,0],[-0.6747426390647888,-0.03694651648402214,0],[-0.4773484468460083,-0.046849433332681656,0],[-0.38495439291000366,-0.16488802433013916,0],[-0.6747426390647888,-0.03694651648402214,0],[-0.5324565768241882,0.008043109439313412,0],[-0.4773484468460083,-0.046849433332681656,0],[-0.38495439291000366,-0.16488802433013916,0],[-0.3488757610321045,-0.2581998407840729,0],[-0.5407155752182007,-0.25472238659858704,0],[-0.38495439291000366,-0.16488802433013916,0],[-0.4773484468460083,-0.046849433332681656,0],[-0.3776938021183014,-0.10782800614833832,0],[-0.38495439291000366,-0.16488802433013916,0],[-0.334538996219635,-0.12396079301834106,0],[-0.3488757610321045,-0.2581998407840729,0],[-0.38495439291000366,-0.16488802433013916,0],[-0.3776938021183014,-0.10782800614833832,0],[-0.334538996219635,-0.12396079301834106,0],[-0.5407155752182007,-0.25472238659858704,0],[-0.6457638144493103,-0.3156503438949585,0],[-0.7360799908638,-0.25518661737442017,0],[-0.5407155752182007,-0.25472238659858704,0],[-0.49087199568748474,-0.34006500244140625,0],[-0.5430727005004883,-0.287047803401947,0],[-0.5407155752182007,-0.25472238659858704,0],[-0.3488757610321045,-0.2581998407840729,0],[-0.49087199568748474,-0.34006500244140625,0],[-0.5407155752182007,-0.25472238659858704,0],[-0.5430727005004883,-0.287047803401947,0],[-0.5976599454879761,-0.3273831903934479,0],[-0.5407155752182007,-0.25472238659858704,0],[-0.7360799908638,-0.25518661737442017,0],[-0.7979026436805725,-0.14076314866542816,0],[-0.5407155752182007,-0.25472238659858704,0],[-0.5976599454879761,-0.3273831903934479,0],[-0.6457638144493103,-0.3156503438949585,0],[-0.7979026436805725,-0.14076314866542816,0],[-0.8464078903198242,-0.22609843313694,0],[-0.8029438853263855,-0.14158715307712555,0],[-0.7979026436805725,-0.14076314866542816,0],[-0.7360799908638,-0.25518661737442017,0],[-0.8464078903198242,-0.22609843313694,0],[-0.7979026436805725,-0.14076314866542816,0],[-0.8029438853263855,-0.14158715307712555,0],[-0.8072935938835144,-0.13767269253730774,0],[-0.8072935938835144,-0.13767269253730774,0],[-0.8029438853263855,-0.14158715307712555,0],[-0.8262249231338501,-0.13751958310604095,0],[-0.8262249231338501,-0.13751958310604095,0],[-0.8029438853263855,-0.14158715307712555,0],[-0.843634843826294,-0.14458289742469788,0],[-0.843634843826294,-0.14458289742469788,0],[-0.8029438853263855,-0.14158715307712555,0],[-0.8574586510658264,-0.15787777304649353,0],[-0.8574586510658264,-0.15787777304649353,0],[-0.8029438853263855,-0.14158715307712555,0],[-0.8654643297195435,-0.17600467801094055,0],[-0.8654643297195435,-0.17600467801094055,0],[-0.8029438853263855,-0.14158715307712555,0],[-0.8659335374832153,-0.19495297968387604,0],[-0.8659335374832153,-0.19495297968387604,0],[-0.8029438853263855,-0.14158715307712555,0],[-0.8593595027923584,-0.2123119831085205,0],[-0.8593595027923584,-0.2123119831085205,0],[-0.8029438853263855,-0.14158715307712555,0],[-0.8464078903198242,-0.22609843313694,0],[-0.8464078903198242,-0.22609843313694,0],[-0.7360799908638,-0.25518661737442017,0],[-0.6457638144493103,-0.3156503438949585,0],[-0.6457638144493103,-0.3156503438949585,0],[-0.6535957455635071,-0.3884078562259674,0],[-0.7494699358940125,-0.4225912094116211,0],[-0.6457638144493103,-0.3156503438949585,0],[-0.7494699358940125,-0.4225912094116211,0],[-0.8574307560920715,-0.43889597058296204,0],[-0.6457638144493103,-0.3156503438949585,0],[-0.5976599454879761,-0.3273831903934479,0],[-0.6535957455635071,-0.3884078562259674,0],[-0.8574307560920715,-0.43889597058296204,0],[-0.8092415928840637,-0.5224613547325134,0],[-0.8689631223678589,-0.4541735053062439,0],[-0.8574307560920715,-0.43889597058296204,0],[-0.7494699358940125,-0.4225912094116211,0],[-0.8092415928840637,-0.5224613547325134,0],[-0.8689631223678589,-0.4541735053062439,0],[-0.8092415928840637,-0.5224613547325134,0],[-0.8738157153129578,-0.47235462069511414,0],[-0.8738157153129578,-0.47235462069511414,0],[-0.8673068881034851,-0.500390350818634,0],[-0.8714110851287842,-0.4912998080253601,0],[-0.8738157153129578,-0.47235462069511414,0],[-0.8092415928840637,-0.5224613547325134,0],[-0.8673068881034851,-0.500390350818634,0],[-0.8673068881034851,-0.500390350818634,0],[-0.8463441133499146,-0.5200134515762329,0],[-0.8615180850028992,-0.5084810853004456,0],[-0.8673068881034851,-0.500390350818634,0],[-0.828191876411438,-0.524865984916687,0],[-0.8463441133499146,-0.5200134515762329,0],[-0.8673068881034851,-0.500390350818634,0],[-0.8092415928840637,-0.5224613547325134,0],[-0.828191876411438,-0.524865984916687,0],[-0.8092415928840637,-0.5224613547325134,0],[-0.6594935059547424,-0.4293631315231323,0],[-0.59657222032547,-0.4009929895401001,0],[-0.8092415928840637,-0.5224613547325134,0],[-0.7494699358940125,-0.4225912094116211,0],[-0.6594935059547424,-0.4293631315231323,0],[-0.59657222032547,-0.4009929895401001,0],[-0.49087199568748474,-0.34006500244140625,0],[-0.5441026091575623,-0.5120972394943237,0],[-0.59657222032547,-0.4009929895401001,0],[-0.6594935059547424,-0.4293631315231323,0],[-0.6535957455635071,-0.3884078562259674,0],[-0.59657222032547,-0.4009929895401001,0],[-0.6535957455635071,-0.3884078562259674,0],[-0.5976599454879761,-0.3273831903934479,0],[-0.59657222032547,-0.4009929895401001,0],[-0.5441026091575623,-0.5120972394943237,0],[-0.5812568664550781,-0.5230157971382141,0],[-0.59657222032547,-0.4009929895401001,0],[-0.5506254434585571,-0.3131994903087616,0],[-0.49087199568748474,-0.34006500244140625,0],[-0.59657222032547,-0.4009929895401001,0],[-0.5812568664550781,-0.5230157971382141,0],[-0.618369460105896,-0.6206196546554565,0],[-0.59657222032547,-0.4009929895401001,0],[-0.5976599454879761,-0.3273831903934479,0],[-0.5506254434585571,-0.3131994903087616,0],[-0.618369460105896,-0.6206196546554565,0],[-0.6010648012161255,-0.6534834504127502,0],[-0.6128787994384766,-0.6388853788375854,0],[-0.618369460105896,-0.6206196546554565,0],[-0.5843267440795898,-0.662675142288208,0],[-0.6010648012161255,-0.6534834504127502,0],[-0.618369460105896,-0.6206196546554565,0],[-0.5645323991775513,-0.6647633910179138,0],[-0.5843267440795898,-0.662675142288208,0],[-0.618369460105896,-0.6206196546554565,0],[-0.5222654938697815,-0.6307206153869629,0],[-0.5645323991775513,-0.6647633910179138,0],[-0.618369460105896,-0.6206196546554565,0],[-0.5812568664550781,-0.5230157971382141,0],[-0.5222654938697815,-0.6307206153869629,0],[-0.5645323991775513,-0.6647633910179138,0],[-0.5222654938697815,-0.6307206153869629,0],[-0.5461814999580383,-0.6592727303504944,0],[-0.5461814999580383,-0.6592727303504944,0],[-0.5222654938697815,-0.6307206153869629,0],[-0.5315152406692505,-0.6474587321281433,0],[-0.5222654938697815,-0.6307206153869629,0],[-0.5441026091575623,-0.5120972394943237,0],[-0.49087199568748474,-0.34006500244140625,0],[-0.5222654938697815,-0.6307206153869629,0],[-0.5812568664550781,-0.5230157971382141,0],[-0.5441026091575623,-0.5120972394943237,0],[-0.49087199568748474,-0.34006500244140625,0],[-0.5506254434585571,-0.3131994903087616,0],[-0.5430727005004883,-0.287047803401947,0],[-0.3488757610321045,-0.2581998407840729,0],[-0.37726524472236633,-0.5336626768112183,0],[-0.38002797961235046,-0.5472636222839355,0],[-0.3488757610321045,-0.2581998407840729,0],[-0.334538996219635,-0.12396079301834106,0],[-0.24841752648353577,-0.18464961647987366,0],[-0.3488757610321045,-0.2581998407840729,0],[-0.24841752648353577,-0.18464961647987366,0],[-0.2901249825954437,-0.26447218656539917,0],[-0.38002797961235046,-0.5472636222839355,0],[-0.34135597944259644,-0.6005348563194275,0],[-0.3795502781867981,-0.5616624355316162,0],[-0.38002797961235046,-0.5472636222839355,0],[-0.37726524472236633,-0.5336626768112183,0],[-0.34135597944259644,-0.6005348563194275,0],[-0.3795502781867981,-0.5616624355316162,0],[-0.35597556829452515,-0.5950786471366882,0],[-0.3671301603317261,-0.5863850116729736,0],[-0.3795502781867981,-0.5616624355316162,0],[-0.34135597944259644,-0.6005348563194275,0],[-0.35597556829452515,-0.5950786471366882,0],[-0.34135597944259644,-0.6005348563194275,0],[-0.37726524472236633,-0.5336626768112183,0],[-0.3079601526260376,-0.5989500284194946,0],[-0.3079601526260376,-0.5989500284194946,0],[-0.37726524472236633,-0.5336626768112183,0],[-0.29403331875801086,-0.5921807885169983,0],[-0.032499440014362335,-0.40671631693840027,0],[0.01041368953883648,-0.4419231712818146,0],[-0.032499440014362335,-0.5950786471366882,0],[-0.032499440014362335,-0.40671631693840027,0],[-0.00177862960845232,-0.37985581159591675,0],[0.01041368953883648,-0.4419231712818146,0],[-0.032499440014362335,-0.5950786471366882,0],[0.06211642175912857,-0.5951511263847351,0],[-0.03458171710371971,-0.6214426755905151,0],[-0.032499440014362335,-0.5950786471366882,0],[-0.03458171710371971,-0.6214426755905151,0],[-0.2689666450023651,-0.7616344690322876,0],[-0.032499440014362335,-0.5950786471366882,0],[0.01041368953883648,-0.4419231712818146,0],[0.06211642175912857,-0.5951511263847351,0],[-0.2689666450023651,-0.7616344690322876,0],[-0.260658860206604,-0.785307765007019,0],[-0.2874385118484497,-0.7845889925956726,0],[-0.2689666450023651,-0.7616344690322876,0],[-0.03458171710371971,-0.6214426755905151,0],[-0.14124298095703125,-0.7904700636863708,0],[-0.2689666450023651,-0.7616344690322876,0],[-0.14124298095703125,-0.7904700636863708,0],[-0.260658860206604,-0.785307765007019,0],[-0.2874385118484497,-0.7845889925956726,0],[-0.260658860206604,-0.785307765007019,0],[-0.29172733426094055,-0.8031747937202454,0],[-0.29172733426094055,-0.8031747937202454,0],[-0.260658860206604,-0.785307765007019,0],[-0.28835147619247437,-0.8218114972114563,0],[-0.28835147619247437,-0.8218114972114563,0],[-0.260658860206604,-0.785307765007019,0],[-0.2765769958496094,-0.8378614783287048,0],[-0.2765769958496094,-0.8378614783287048,0],[-0.260658860206604,-0.785307765007019,0],[-0.2586486041545868,-0.8477148413658142,0],[-0.2586486041545868,-0.8477148413658142,0],[-0.260658860206604,-0.785307765007019,0],[-0.23792195320129395,-0.8506608605384827,0],[-0.23792195320129395,-0.8506608605384827,0],[-0.260658860206604,-0.785307765007019,0],[-0.21771147847175598,-0.8463327288627625,0],[-0.21771147847175598,-0.8463327288627625,0],[-0.260658860206604,-0.785307765007019,0],[-0.14124298095703125,-0.7904700636863708,0],[-0.21771147847175598,-0.8463327288627625,0],[-0.14124298095703125,-0.7904700636863708,0],[-0.032064758241176605,-0.7167173027992249,0],[-0.032064758241176605,-0.7167173027992249,0],[0.06211642175912857,-0.7167173027992249,0],[0.03800278902053833,-0.9397580623626709,0],[-0.032064758241176605,-0.7167173027992249,0],[0.03800278902053833,-0.9397580623626709,0],[-0.032064758241176605,-0.9517355561256409,0],[-0.032064758241176605,-0.7167173027992249,0],[-0.03458171710371971,-0.6214426755905151,0],[0.06211642175912857,-0.7167173027992249,0],[-0.032064758241176605,-0.7167173027992249,0],[-0.14124298095703125,-0.7904700636863708,0],[-0.03458171710371971,-0.6214426755905151,0],[-0.032064758241176605,-0.9517355561256409,0],[0.03800278902053833,-0.9397580623626709,0],[0.04020942375063896,-0.9554398059844971,0],[-0.032064758241176605,-0.9517355561256409,0],[0.04020942375063896,-0.9554398059844971,0],[-0.02432834543287754,-0.979293704032898,0],[-0.02432834543287754,-0.979293704032898,0],[0.04020942375063896,-0.9554398059844971,0],[-0.01181283313781023,-0.9925945401191711,0],[-0.01181283313781023,-0.9925945401191711,0],[0.04020942375063896,-0.9554398059844971,0],[0.005202321335673332,-1,0],[0.005202321335673332,-1,0],[0.04020942375063896,-0.9554398059844971,0],[0.024849342182278633,-1,0],[0.024849342182278633,-1,0],[0.04020942375063896,-0.9554398059844971,0],[0.04186449572443962,-0.9925945401191711,0],[0.04186449572443962,-0.9925945401191711,0],[0.04020942375063896,-0.9554398059844971,0],[0.04747403785586357,-0.9602912068367004,0],[0.04186449572443962,-0.9925945401191711,0],[0.04747403785586357,-0.9602912068367004,0],[0.05438000708818436,-0.979293704032898,0],[0.05438000708818436,-0.979293704032898,0],[0.04747403785586357,-0.9602912068367004,0],[0.06120729446411133,-0.9616732597351074,0],[0.06120729446411133,-0.9616732597351074,0],[0.03800278902053833,-0.9397580623626709,0],[0.06211642175912857,-0.7167173027992249,0],[0.06120729446411133,-0.9616732597351074,0],[0.04747403785586357,-0.9602912068367004,0],[0.03800278902053833,-0.9397580623626709,0],[0.06211642175912857,-0.7167173027992249,0],[0.06211642175912857,-0.5951511263847351,0],[0.2267940789461136,-0.7535961866378784,0],[0.06211642175912857,-0.7167173027992249,0],[-0.03458171710371971,-0.6214426755905151,0],[0.06211642175912857,-0.5951511263847351,0],[0.06211642175912857,-0.7167173027992249,0],[0.2267940789461136,-0.7535961866378784,0],[0.23431827127933502,-0.8457561135292053,0],[0.23431827127933502,-0.8457561135292053,0],[0.2692570090293884,-0.8471671342849731,0],[0.251960813999176,-0.8501003980636597,0],[0.23431827127933502,-0.8457561135292053,0],[0.29119402170181274,-0.8298795819282532,0],[0.2692570090293884,-0.8471671342849731,0],[0.23431827127933502,-0.8457561135292053,0],[0.2853982448577881,-0.7610548734664917,0],[0.29119402170181274,-0.8298795819282532,0],[0.23431827127933502,-0.8457561135292053,0],[0.2267940789461136,-0.7535961866378784,0],[0.2853982448577881,-0.7610548734664917,0],[0.29119402170181274,-0.8298795819282532,0],[0.2853982448577881,-0.7610548734664917,0],[0.3021714389324188,-0.8026270270347595,0],[0.3021714389324188,-0.8026270270347595,0],[0.2853982448577881,-0.7610548734664917,0],[0.3011130392551422,-0.7840285301208496,0],[0.3011130392551422,-0.7840285301208496,0],[0.2853982448577881,-0.7610548734664917,0],[0.292624294757843,-0.7676849365234375,0],[0.2853982448577881,-0.7610548734664917,0],[0.2267940789461136,-0.7535961866378784,0],[0.06211642175912857,-0.5951511263847351,0],[0.06211642175912857,-0.5951511263847351,0],[0.01041368953883648,-0.4419231712818146,0],[0.06211642175912857,-0.4183802902698517,0],[0.06211642175912857,-0.4183802902698517,0],[0.01041368953883648,-0.4419231712818146,0],[-0.00177862960845232,-0.37985581159591675,0],[0.06211642175912857,-0.4183802902698517,0],[-0.00177862960845232,-0.37985581159591675,0],[0.06211642175912857,-0.2965243458747864,0],[0.29307764768600464,-0.5920358896255493,0],[0.3309357762336731,-0.6000843048095703,0],[0.3052804470062256,-0.5987032651901245,0],[0.29307764768600464,-0.5920358896255493,0],[0.3547312319278717,-0.585821270942688,0],[0.3309357762336731,-0.6000843048095703,0],[0.29307764768600464,-0.5920358896255493,0],[0.3662344515323639,-0.5608044266700745,0],[0.3547312319278717,-0.585821270942688,0],[0.29307764768600464,-0.5920358896255493,0],[0.36653897166252136,-0.5463942289352417,0],[0.3662344515323639,-0.5608044266700745,0],[0.3309357762336731,-0.6000843048095703,0],[0.3547312319278717,-0.585821270942688,0],[0.34379059076309204,-0.5949337482452393,0],[0.36653897166252136,-0.5463942289352417,0],[0.324548602104187,-0.3197607398033142,0],[0.33321332931518555,-0.2474776655435562,0],[0.49158260226249695,-0.3390507698059082,0],[0.5966308116912842,-0.3996889591217041,0],[0.5231931209564209,-0.6292901039123535,0],[0.5231931209564209,-0.6292901039123535,0],[0.5470740795135498,-0.6576598882675171,0],[0.5324355363845825,-0.6459268927574158,0],[0.5231931209564209,-0.6292901039123535,0],[0.5653632879257202,-0.6631036400794983,0],[0.5470740795135498,-0.6576598882675171,0],[0.5231931209564209,-0.6292901039123535,0],[0.6189692616462708,-0.6190613508224487,0],[0.5653632879257202,-0.6631036400794983,0],[0.5231931209564209,-0.6292901039123535,0],[0.5966308116912842,-0.3996889591217041,0],[0.6189692616462708,-0.6190613508224487,0],[0.5653632879257202,-0.6631036400794983,0],[0.6189692616462708,-0.6190613508224487,0],[0.5850768089294434,-0.6609971523284912,0],[0.5850768089294434,-0.6609971523284912,0],[0.6134800314903259,-0.637313187122345,0],[0.6017319560050964,-0.6518464684486389,0],[0.5850768089294434,-0.6609971523284912,0],[0.6189692616462708,-0.6190613508224487,0],[0.6134800314903259,-0.637313187122345,0],[0.5966308116912842,-0.3996889591217041,0],[0.6769722700119019,-0.39747217297554016,0],[0.8092764019966125,-0.521350622177124,0],[0.8092764019966125,-0.521350622177124,0],[0.6769722700119019,-0.39747217297554016,0],[0.8493261933326721,-0.43279725313186646,0],[0.8092764019966125,-0.521350622177124,0],[0.8493261933326721,-0.43279725313186646,0],[0.8281995058059692,-0.5237207412719727,0],[0.8281995058059692,-0.5237207412719727,0],[0.8493261933326721,-0.43279725313186646,0],[0.8463517427444458,-0.5188404321670532,0],[0.8463517427444458,-0.5188404321670532,0],[0.8493261933326721,-0.43279725313186646,0],[0.861552894115448,-0.5072735548019409,0],[0.861552894115448,-0.5072735548019409,0],[0.8493261933326721,-0.43279725313186646,0],[0.8673654794692993,-0.4991587698459625,0],[0.8673654794692993,-0.4991587698459625,0],[0.8493261933326721,-0.43279725313186646,0],[0.8714455962181091,-0.4900889992713928,0],[0.8714455962181091,-0.4900889992713928,0],[0.8493261933326721,-0.43279725313186646,0],[0.8738157153129578,-0.4711548686027527,0],[0.8738157153129578,-0.4711548686027527,0],[0.8493261933326721,-0.43279725313186646,0],[0.8689354062080383,-0.4529610276222229,0],[0.8689354062080383,-0.4529610276222229,0],[0.8493261933326721,-0.43279725313186646,0],[0.857368528842926,-0.4376673400402069,0],[0.02093544788658619,0.0523127056658268,0],[0.07669702172279358,-0.031432997435331345,0],[-0.010218738578259945,0.017899414524435997,0],[-0.5430727005004883,-0.287047803401947,0],[-0.5506254434585571,-0.3131994903087616,0],[-0.5976599454879761,-0.3273831903934479,0],[-0.0463532917201519,0.6543837785720825,0],[-0.15100060403347015,0.7621524333953857,0],[-0.12930582463741302,0.7627535462379456,0],[0.03800278902053833,-0.9397580623626709,0],[0.04747403785586357,-0.9602912068367004,0],[0.04020942375063896,-0.9554398059844971,0],[0.20874238014221191,0.08320517092943192,0],[0.09962562471628189,0.03915441781282425,0],[0.14933504164218903,0.09614250808954239,0],[-0.014363478869199753,-0.05202816054224968,0],[-0.05208911374211311,0.0162054356187582,0],[-0.010218738578259945,0.017899414524435997,0],[-0.014363478869199753,-0.05202816054224968,0],[-0.010218738578259945,0.017899414524435997,0],[0.07669702172279358,-0.031432997435331345,0],[0.06019790098071098,0.3891279697418213,0],[-0.01154017448425293,0.3469943702220917,0],[-0.016752298921346664,0.4163147807121277,0],[-0.6594935059547424,-0.4293631315231323,0],[-0.7494699358940125,-0.4225912094116211,0],[-0.6535957455635071,-0.3884078562259674,0],[-0.24841752648353577,-0.18464961647987366,0],[-0.24288570880889893,-0.19698207080364227,0],[-0.2901249825954437,-0.26447218656539917,0]],"cells":[[0,1,2],[3,4,5],[6,7,8],[9,10,11],[12,13,14],[15,16,17],[18,19,20],[21,22,23],[24,25,26],[27,28,29],[30,31,32],[33,34,35],[36,37,38],[39,40,41],[42,43,44],[45,46,47],[48,49,50],[51,52,53],[54,55,56],[57,58,59],[60,61,62],[63,64,65],[66,67,68],[69,70,71],[72,73,74],[75,76,77],[78,79,80],[81,82,83],[84,85,86],[87,88,89],[90,91,92],[93,94,95],[96,97,98],[99,100,101],[102,103,104],[105,106,107],[108,109,110],[111,112,113],[114,115,116],[117,118,119],[120,121,122],[123,124,125],[126,127,128],[129,130,131],[132,133,134],[135,136,137],[138,139,140],[141,142,143],[144,145,146],[147,148,149],[150,151,152],[153,154,155],[156,157,158],[159,160,161],[162,163,164],[165,166,167],[168,169,170],[171,172,173],[174,175,176],[177,178,179],[180,181,182],[183,184,185],[186,187,188],[189,190,191],[192,193,194],[195,196,197],[198,199,200],[201,202,203],[204,205,206],[207,208,209],[210,211,212],[213,214,215],[216,217,218],[219,220,221],[222,223,224],[225,226,227],[228,229,230],[231,232,233],[234,235,236],[237,238,239],[240,241,242],[243,244,245],[246,247,248],[249,250,251],[252,253,254],[255,256,257],[258,259,260],[261,262,263],[264,265,266],[267,268,269],[270,271,272],[273,274,275],[276,277,278],[279,280,281],[282,283,284],[285,286,287],[288,289,290],[291,292,293],[294,295,296],[297,298,299],[300,301,302],[303,304,305],[306,307,308],[309,310,311],[312,313,314],[315,316,317],[318,319,320],[321,322,323],[324,325,326],[327,328,329],[330,331,332],[333,334,335],[336,337,338],[339,340,341],[342,343,344],[345,346,347],[348,349,350],[351,352,353],[354,355,356],[357,358,359],[360,361,362],[363,364,365],[366,367,368],[369,370,371],[372,373,374],[375,376,377],[378,379,380],[381,382,383],[384,385,386],[387,388,389],[390,391,392],[393,394,395],[396,397,398],[399,400,401],[402,403,404],[405,406,407],[408,409,410],[411,412,413],[414,415,416],[417,418,419],[420,421,422],[423,424,425],[426,427,428],[429,430,431],[432,433,434],[435,436,437],[438,439,440],[441,442,443],[444,445,446],[447,448,449],[450,451,452],[453,454,455],[456,457,458],[459,460,461],[462,463,464],[465,466,467],[468,469,470],[471,472,473],[474,475,476],[477,478,479],[480,481,482],[483,484,485],[486,487,488],[489,490,491],[492,493,494],[495,496,497],[498,499,500],[501,502,503],[504,505,506],[507,508,509],[510,511,512],[513,514,515],[516,517,518],[519,520,521],[522,523,524],[525,526,527],[528,529,530],[531,532,533],[534,535,536],[537,538,539],[540,541,542],[543,544,545],[546,547,548],[549,550,551],[552,553,554],[555,556,557],[558,559,560],[561,562,563],[564,565,566],[567,568,569],[570,571,572],[573,574,575],[576,577,578],[579,580,581],[582,583,584],[585,586,587],[588,589,590],[591,592,593],[594,595,596],[597,598,599],[600,601,602],[603,604,605],[606,607,608],[609,610,611],[612,613,614],[615,616,617],[618,619,620],[621,622,623],[624,625,626],[627,628,629],[630,631,632],[633,634,635],[636,637,638],[639,640,641],[642,643,644],[645,646,647],[648,649,650],[651,652,653],[654,655,656],[657,658,659],[660,661,662],[663,664,665],[666,667,668],[669,670,671],[672,673,674],[675,676,677],[678,679,680],[681,682,683],[684,685,686],[687,688,689],[690,691,692],[693,694,695],[696,697,698],[699,700,701],[702,703,704],[705,706,707],[708,709,710],[711,712,713],[714,715,716],[717,718,719],[720,721,722],[723,724,725],[726,727,728],[729,730,731],[732,733,734],[735,736,737],[738,739,740],[741,742,743],[744,745,746],[747,748,749],[750,751,752],[753,754,755],[756,757,758],[759,760,761],[762,763,764],[765,766,767],[768,769,770],[771,772,773],[774,775,776],[777,778,779],[780,781,782],[783,784,785],[786,787,788],[789,790,791],[792,793,794],[795,796,797],[798,799,800],[801,802,803],[804,805,806],[807,808,809],[810,811,812],[813,814,815],[816,817,818],[819,820,821],[822,823,824],[825,826,827],[828,829,830],[831,832,833],[834,835,836],[837,838,839],[840,841,842],[843,844,845],[846,847,848],[849,850,851],[852,853,854],[855,856,857],[858,859,860],[861,862,863],[864,865,866],[867,868,869],[870,871,872],[873,874,875],[876,877,878],[879,880,881],[882,883,884],[885,886,887],[888,889,890],[891,892,893],[894,895,896],[897,898,899],[900,901,902],[903,904,905],[906,907,908],[909,910,911],[912,913,914],[915,916,917],[918,919,920],[921,922,923],[924,925,926],[927,928,929],[930,931,932],[933,934,935],[936,937,938],[939,940,941],[942,943,944],[945,946,947],[948,949,950],[951,952,953],[954,955,956],[957,958,959],[960,961,962],[963,964,965],[966,967,968],[969,970,971],[972,973,974],[975,976,977],[978,979,980],[981,982,983],[984,985,986],[987,988,989],[990,991,992],[993,994,995],[996,997,998],[999,1000,1001],[1002,1003,1004],[1005,1006,1007],[1008,1009,1010],[1011,1012,1013],[1014,1015,1016],[1017,1018,1019],[1020,1021,1022],[1023,1024,1025],[1026,1027,1028],[1029,1030,1031],[1032,1033,1034],[1035,1036,1037],[1038,1039,1040],[1041,1042,1043],[1044,1045,1046],[1047,1048,1049],[1050,1051,1052],[1053,1054,1055],[1056,1057,1058],[1059,1060,1061],[1062,1063,1064],[1065,1066,1067],[1068,1069,1070],[1071,1072,1073],[1074,1075,1076],[1077,1078,1079],[1080,1081,1082],[1083,1084,1085],[1086,1087,1088],[1089,1090,1091],[1092,1093,1094],[1095,1096,1097],[1098,1099,1100],[1101,1102,1103],[1104,1105,1106],[1107,1108,1109],[1110,1111,1112],[1113,1114,1115],[1116,1117,1118],[1119,1120,1121],[1122,1123,1124],[1125,1126,1127],[1128,1129,1130],[1131,1132,1133],[1134,1135,1136],[1137,1138,1139],[1140,1141,1142],[1143,1144,1145],[1146,1147,1148],[1149,1150,1151],[1152,1153,1154],[1155,1156,1157],[1158,1159,1160],[1161,1162,1163],[1164,1165,1166],[1167,1168,1169],[1170,1171,1172],[1173,1174,1175],[1176,1177,1178],[1179,1180,1181],[1182,1183,1184],[1185,1186,1187],[1188,1189,1190],[1191,1192,1193],[1194,1195,1196],[1197,1198,1199],[1200,1201,1202],[1203,1204,1205],[1206,1207,1208],[1209,1210,1211],[1212,1213,1214],[1215,1216,1217],[1218,1219,1220],[1221,1222,1223],[1224,1225,1226],[1227,1228,1229],[1230,1231,1232],[1233,1234,1235],[1236,1237,1238],[1239,1240,1241],[1242,1243,1244],[1245,1246,1247],[1248,1249,1250]]}; 
</script>
            
          
!
            
              *, *:after, *:before {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}
html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
body {
  overflow: hidden;
  background: radial-gradient(circle at center, #ff1a1a, #420000);
}
canvas {
  display: block;
  width: 100%;
  height: 100%;
}
            
          
!
            
              const { Program, ArrayBuffer, IndexBuffer, Texture } = window.nanogl;

const canvas = document.createElement('canvas');
document.body.appendChild(canvas);

const gl = canvas.getContext('webgl') || canvas.getContext('experimental-webgl');
if(!gl) throw 'WebGL not supported';

gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);
gl.enable(gl.BLEND);
gl.enable(gl.DEPTH_TEST);

const NUM_PARTICLES = 6000;

const uniforms = {
  u_time: 0,
  u_view: mat4.create(),
  u_mouse: [0, 0],
  u_resolution: [],
  u_projection: mat4.create()
};

const camera = {};
camera.eye = [0, 0, 5];
camera.target = [0, 0, 0];
camera.up = [0, 1, 0];

const transform = {};
transform.rotation = [0, 0, 0];

class Snowstorm {

  constructor(gl) {

    const vert = document.getElementById('snowstorm-vert').textContent;
    const frag = document.getElementById('snowstorm-frag').textContent;

    this.gl = gl;
    this.program = new Program(gl, vert, frag, `
      precision highp float;
      #define PI 3.141592653589793
      #define TWO_PI 6.283185307179586
      #define HALF_PI 1.5707963267948966
    `);

    this.program.use();
    this.model = mat4.translate([], mat4.create(), [0, 25, 0]);

    const particles = fill(NUM_PARTICLES, function(i) {
      const x = random(-20, 20);
      const y = -50;
      const z = random(-50);
      return [ x, y, z ];
    }).reduce((result, p) => result.concat(p[0], p[1], p[2]), []);

    const position = new ArrayBuffer(gl);
    position.attrib('position', 3, gl.FLOAT);
    position.data(new Float32Array(particles));

    const offset = new ArrayBuffer(gl);
    offset.attrib('offset', 1, gl.FLOAT);
    offset.data(new Float32Array(fill(NUM_PARTICLES, i => random())));

    const size = new ArrayBuffer(gl);
    size.attrib('size', 1, gl.FLOAT);
    size.data(new Float32Array(fill(NUM_PARTICLES, i => random(1, 6))));

    this.buffers = { position, offset, size };
  }

  uniforms(uniforms) {

    this.program.use();

    for(let name in uniforms) {
      let setter = this.program[name];
      if(setter === undefined) continue;
      setter(uniforms[name]);
    }

    return this;
  }

  render() {

    const gl = this.gl;

    this.program.use();
    this.program.u_model(this.model);

    for(const key in this.buffers) {
      this.buffers[key].attribPointer(this.program);
    }

    this.buffers.position.bind();
    this.buffers.position.draw(gl.POINTS);
  }
}

class Snowflake {

  constructor(gl) {

    // snowflake-complex.js
    const positions = window.complex.positions.reduce((result, value) => {
      return result.concat([value[0], value[1], value[2]]);
    }, []);

    const cells = fill(window.complex.positions.length, i => i);

    const vert = document.getElementById('snowflake-vert').textContent;
    const frag = document.getElementById('snowflake-frag').textContent;

    this.gl = gl;
    this.program = new Program(gl, vert, frag, `
      precision mediump float;
      #define PI 3.141592653589793
      #define TWO_PI 6.283185307179586
      #define HALF_PI 1.5707963267948966
    `);
    this.program.use();
    this.model = mat4.create();

    const position = new ArrayBuffer(gl);
    position.attrib('position', 3, gl.FLOAT);
    position.attribPointer(this.program);
    position.data(new Float32Array(positions));

    const colors = cells.reduce(result => {
      const rgba = [1.0, 1.0, 1.0, 0.1 + Math.random() * 0.5];
        return result.concat(rgba, rgba, rgba);
    }, []);

    const color = new ArrayBuffer(gl);
    color.attrib('color', 4, gl.FLOAT);
    color.attribPointer(this.program);
    color.data(new Float32Array(colors));

    const index = new ArrayBuffer(gl);
    const indices = cells.reduce((result, i) => result.concat([i, i, i]), []);
    index.attrib('index', 1, gl.FLOAT);
    index.attribPointer(this.program);
    index.data(new Float32Array(indices));

    this.buffers = { position, color, index };
    this.elements = new IndexBuffer(gl);
    this.elements.data(new Uint16Array(cells));
  }

  // nanogl's program.my_uniform() is convenient for setting uniforms,
  // but not necessarily safe according to "Can we use the setters directly?"
  // https://webglfundamentals.org/webgl/lessons/webgl-less-code-more-fun.html
  // this uniforms() method addresses that
  // program.uniforms({ u_model: model, u_projection: projection });
  uniforms(uniforms) {

    this.program.use();

    for(const name in uniforms) {
      const setter = this.program[name];
      if(setter === undefined) continue;
      setter(uniforms[name]);
    }

    return this;
  }

  render() {

    const gl = this.gl;
    const model = this.model;

    this.program.use();
    this.program.u_model(this.model);

    for(const key in this.buffers) {
      this.buffers[key].attribPointer(this.program);
    }

    this.elements.bind();
    this.elements.draw(gl.TRIANGLES);
  }
}

const snowstorm = new Snowstorm(gl);
const snowflake = new Snowflake(gl);

function centroid(triangle) {

  const dimension = triangle[0].length;
  let result = new Array(dimension);

  for(let i = 0; i < dimension; i++) {
    const t0 = triangle[0][i];
    const t1 = triangle[1][i];
    const t2 = triangle[2][i];
    result[i] = (t0 + t1 + t2) / 3;
  }

  return result;
}

function fill(size, fn) {
  const array = Array(size);
  for(let i = 0; i < size; i++) {
    array[i] = fn(i);
  }
  return array;
}

function random(min, max) {

  if(arguments.length == 0) {
    return Math.random();
  }

  if(Array.isArray(min)) {
    return min[ Math.floor(Math.random() * min.length) ];
  }

  if(typeof min == 'undefined') min = 1;
  if(typeof max == 'undefined') max = min || 1, min = 0;

  return min + Math.random() * (max - min);
}

function resize(event) {

  const scale = window.devicePixelRatio || 1;
  const width = window.innerWidth;
  const height = window.innerHeight;

  gl.canvas.width = width * scale;
  gl.canvas.height = height * scale;
  gl.viewport(0, 0, gl.canvas.width, gl.canvas.height);

  uniforms.u_resolution = [width, height];
  mat4.perspective(uniforms.u_projection, Math.PI / 4, width / height, 0.01, 100);
}

function mousemove(event) {
  event.preventDefault();
  const width = window.innerWidth;
  const height = window.innerHeight;
  const x = (event.touches) ? event.touches[0].pageX : event.pageX;
  const y = (event.touches) ? event.touches[0].pageY : event.pageY;
  uniforms.u_mouse[0] = (x / width)  *  2 - 1;
  uniforms.u_mouse[1] = (y / height) * -2 + 1;
}

function animate(time) {

  uniforms.u_time = time;
  mat4.lookAt(uniforms.u_view, camera.eye, camera.target, camera.up);

  snowstorm.uniforms(uniforms);
  snowstorm.render();

  const mouse = [...uniforms.u_mouse];
  transform.rotation[0] += (-mouse[0] - transform.rotation[0]) * 0.1;
  transform.rotation[1] += ( mouse[1] - transform.rotation[1]) * 0.1;

  const model = snowflake.model;
  mat4.identity(model);
  mat4.rotateX(model, model, transform.rotation[1]);
  mat4.rotateY(model, model, transform.rotation[0]);

  snowflake.uniforms(uniforms);
  snowflake.uniforms({u_model: model});
  snowflake.render();

  requestAnimationFrame(animate);
}

function init() {
  window.addEventListener('resize', resize);
  window.addEventListener('mousemove', mousemove);
  window.addEventListener('touchmove', mousemove);
  window.addEventListener('touchend', (event) => uniforms.u_mouse = [0, 0]);
  window.addEventListener('contextmenu', (event) => event.preventDefault());
  resize();
  requestAnimationFrame(animate);
}

init();
            
          
!
999px
🕑 One or more of the npm packages you are using needs to be built. You're the first person to ever need it! We're building it right now and your preview will start updating again when it's ready.
Loading ..................

Console