function F2(a){function b(b){return function(c){return a(b,c)}}return b.arity=2,b.func=a,b}function F3(a){function b(b){return function(c){return function(d){return a(b,c,d)}}}return b.arity=3,b.func=a,b}function F4(a){function b(b){return function(c){return function(d){return function(e){return a(b,c,d,e)}}}}return b.arity=4,b.func=a,b}function F5(a){function b(b){return function(c){return function(d){return function(e){return function(f){return a(b,c,d,e,f)}}}}}return b.arity=5,b.func=a,b}function F6(a){function b(b){return function(c){return function(d){return function(e){return function(f){return function(g){return a(b,c,d,e,f,g)}}}}}}return b.arity=6,b.func=a,b}function F7(a){function b(b){return function(c){return function(d){return function(e){return function(f){return function(g){return function(h){return a(b,c,d,e,f,g,h)}}}}}}}return b.arity=7,b.func=a,b}function F8(a){function b(b){return function(c){return function(d){return function(e){return function(f){return function(g){return function(h){return function(i){return a(b,c,d,e,f,g,h,i)}}}}}}}}return b.arity=8,b.func=a,b}function F9(a){function b(b){return function(c){return function(d){return function(e){return function(f){return function(g){return function(h){return function(i){return function(j){return a(b,c,d,e,f,g,h,i,j)}}}}}}}}}return b.arity=9,b.func=a,b}function A2(a,b,c){return 2===a.arity?a.func(b,c):a(b)(c)}function A3(a,b,c,d){return 3===a.arity?a.func(b,c,d):a(b)(c)(d)}function A4(a,b,c,d,e){return 4===a.arity?a.func(b,c,d,e):a(b)(c)(d)(e)}function A5(a,b,c,d,e,f){return 5===a.arity?a.func(b,c,d,e,f):a(b)(c)(d)(e)(f)}function A6(a,b,c,d,e,f,g){return 6===a.arity?a.func(b,c,d,e,f,g):a(b)(c)(d)(e)(f)(g)}function A7(a,b,c,d,e,f,g,h){return 7===a.arity?a.func(b,c,d,e,f,g,h):a(b)(c)(d)(e)(f)(g)(h)}function A8(a,b,c,d,e,f,g,h,i){return 8===a.arity?a.func(b,c,d,e,f,g,h,i):a(b)(c)(d)(e)(f)(g)(h)(i)}function A9(a,b,c,d,e,f,g,h,i,j){return 9===a.arity?a.func(b,c,d,e,f,g,h,i,j):a(b)(c)(d)(e)(f)(g)(h)(i)(j)}Elm={},Elm.Native={},Elm.Native.Graphics={},Elm.Graphics={},ElmRuntime={},ElmRuntime.Render={},Elm.Native.Utils=function(a){"use strict";function b(a,c){if(a===c)return!0;if("object"==typeof a){var d=0;for(var e in a)if(++d,!b(a[e],c[e]))return!1;return d===Object.keys(c).length}if("function"==typeof a)throw new Error("Equality error: general function equality is undecidable, and therefore, unsupported");return a===c}function g(a,b){return{ctor:f[h(a,b)]}}function h(a,b){var f;if("object"!=typeof a)return a===b?c:b>a?d:e;if("Cons"===a.ctor||"Nil"===a.ctor)for(;;){if("Nil"===a.ctor&&"Nil"===b.ctor)return c;if(a.ctor!==b.ctor)return"Nil"===a.ctor?d:e;if(f=h(a._0,b._0),f!==c)return f;a=a._1,b=b._1}if("Tuple"===a.ctor.slice(0,5)){var g=a.ctor.slice(5)-0,i="cannot compare tuples with more than 6 elements.";if(0===g)return c;if(g>=1){if(f=h(a._0,b._0),f!==c)return f;if(g>=2){if(f=h(a._1,b._1),f!==c)return f;if(g>=3){if(f=h(a._2,b._2),f!==c)return f;if(g>=4){if(f=h(a._3,b._3),f!==c)return f;if(g>=5){if(f=h(a._4,b._4),f!==c)return f;if(g>=6){if(f=h(a._5,b._5),f!==c)return f;if(g>=7)throw new Error("Comparison error: "+i)}}}}}}return c}throw new Error("Comparison error: comparison is only defined on ints, floats, times, chars, strings, lists of comparable values, and tuples of comparable values.")}function j(a,b){return{ctor:"Tuple2",_0:a,_1:b}}function l(){return k++}function m(a){var b={};for(var c in a)b[c]=a[c];return b}function n(a,b){var c=m(b);return a in c._?(c[a]=c._[a][0],c._[a]=c._[a].slice(1),0===c._[a].length&&delete c._[a]):delete c[a],c}function o(a,b){for(var c=m(b),d=a.length;d--;){var e=a[d];c[e[0]]=e[1]}return c}function p(a,b,c){var d=m(c);return a in d&&(d._[a]=[d[a]].concat(a in d._?d._[a].slice(0):[])),d[a]=b,d}function q(a,b){return a>b?a:b}function r(a,b){return b>a?a:b}function s(a,b){var c=a%b,d=0===a?0:b>0?a>=0?c:c+b:-s(-a,-b);return d===b?0:d}function t(b,c){var d=document.createElement("div");d.innerHTML=c,b>0&&(d.style.width=b+"px"),d.style.visibility="hidden",d.style.styleFloat="left",d.style.cssFloat="left",a.node.appendChild(d);var e=window.getComputedStyle(d,null),f=Math.ceil(e.getPropertyValue("width").slice(0,-2)-0),g=Math.ceil(e.getPropertyValue("height").slice(0,-2)-0);return a.node.removeChild(d),j(f,g)}function u(){var b=a.node,c=0,d=0;if(b.offsetParent)do c+=b.offsetLeft,d+=b.offsetTop;while(b=b.offsetParent);a.node.offsetX=c,a.node.offsetY=d}if(a.Native=a.Native||{},a.Native.Utils)return a.Native.Utils;var c=0,d=1,e=2,f=["EQ","LT","GT"],i={ctor:"Tuple0"},k=0;return a.display===ElmRuntime.Display.COMPONENT&&a.node.addEventListener("mouseover",u),a.Native.Utils={eq:b,cmp:g,compare:F2(g),Tuple0:i,Tuple2:j,copy:m,remove:n,replace:o,insert:p,guid:l,max:F2(q),min:F2(r),mod:F2(s),htmlHeight:F2(t),toFloat:function(a){return a}}},Elm.Native.Text=function(a){"use strict";function g(a){if(0==a.length)return a;var b=a.split("");" "==b[0]&&(b[0]=" ");for(var c=b.length;--c;)" "==b[c][0]&&" "==b[c-1]&&(b[c-1]=b[c-1]+b[c],b[c]="");for(var c=b.length;c--;)if(b[c].length>1&&" "==b[c][0]){for(var d=b[c].split(""),e=d.length-2;e>=0;e-=2)d[e]=" ";b[c]=d.join("")}return b=b.join("")," "===b[b.length-1]?b.slice(0,-1)+" ":b}function h(a){if(0==a.length)return a;a=a.replace(/"/g,""").replace(/'/g,"'").replace(//g,">").replace(/\n/g,"
");for(var b=a.split("
"),c=b.length;c--;)b[c]=g(b[c]);return b.join("
")}function i(a){return h(b.fromString(a))}function j(a){return function(b){return"<"+a+' style="padding:0;margin:0">'+b+""+a+">"}}function k(a,b,c){return""+c+""}function l(a,c){return k("font-family",b.fromString(a),c)}function m(a){return k("font-family","monospace",a)}function p(a,b){return k("font-size",a+"em",b)}function q(a){return k("font-style","italic",a)}function s(a){return 1===a._3?"rgb("+a._0+","+a._1+","+a._2+")":"rgba("+a._0+","+a._1+","+a._2+","+a._3+")"}function t(a,b){return k("color",s(a),b)}function u(a){return k("text-decoration","underline",a)}function v(a){return k("text-decoration","overline",a)}function w(a){return k("text-decoration","line-through",a)}function x(a,b){return""+b+""}function y(a){return function(b){var d={ctor:"RawHtml",_0:'
'+b+"
"},f=A2(c,0,b);return A3(e.newElement,f._0,f._1,d)}}function z(a){return y("left")(m(i(f(a))))}function A(a){return y("left")(i(a))}if(a.Native=a.Native||{},a.Native.Text)return a.Native.Text;var b=Elm.JavaScript(a),c=Elm.Native.Utils(a).htmlHeight;Elm.Native.Color(a);var e=Elm.Graphics.Element(a),f=Elm.Native.Show(a).show,o=j("h1"),r=j("b");return a.Native.Text={toText:i,header:o,height:F2(p),italic:q,bold:r,underline:u,overline:v,strikeThrough:w,monospace:m,typeface:F2(l),color:F2(t),link:F2(x),justified:y("justify"),centered:y("center"),righted:y("right"),text:y("left"),plainText:A,asText:z}},Elm.Native.Show=function(a){"use strict";function j(a){return b.fromArray(i(a))}function k(a){return"\n"===a?"\\n":" "===a?"\\t":"\b"===a?"\\b":"\r"===a?"\\r":""===a?"\\v":"\0"===a?"\\0":"'"===a?"\\'":'"'===a?'\\"':"\\"===a?"\\\\":a}if(a.Native=a.Native||{},a.Native.Show)return a.Native.Show;var b=Elm.Native.List(a),c=Elm.List(a);Elm.Maybe(a),Elm.JavaScript(a);var f=Elm.Dict(a);Elm.Json(a);var h=Elm.Native.Utils(a).Tuple2,i=function(a){if("function"==typeof a){var d=a.func?a.func.name:a.name;return""}if("boolean"==typeof a)return a?"True":"False";if("number"==typeof a)return a+"";if("string"==typeof a&&a.length<2)return"'"+k(a)+"'";if("object"==typeof a&&"_"in a){var e=[];for(var g in a._)for(var j=a._[g].length;j--;)e.push(g+" = "+i(a._[g][j]));for(var g in a)"_"!==g&&e.push(g+" = "+i(a[g]));return 0===e.length?"{}":"{ "+e.join(", ")+" }"}if("object"==typeof a&&"ctor"in a){if("Tuple"===a.ctor.substring(0,5)){var e=[];for(var g in a)"ctor"!==g&&e.push(i(a[g]));return"("+e.join(",")+")"}if("Cons"===a.ctor){var l="string"==typeof a._0,m=l?'"':"[",n=l?'"':"]",o=l?"":",",p=l?k:i,e=m+p(a._0);for(a=a._1;"Cons"===a.ctor;)e+=o+p(a._0),a=a._1;return e+n}if("Nil"===a.ctor)return"[]";if("RBNode"===a.ctor||"RBEmpty"===a.ctor){var q=F3(function(a,c,d){return b.Cons(h(a,c),d)}),r=A3(f.foldr,q,b.Nil,a),d="Dict";return"Cons"===r.ctor&&"Tuple0"===r._0._1.ctor&&(d="Set",r=A2(c.map,function(a){return a._0},r)),d+".fromList "+i(r)}var e="";for(var j in a)if("ctor"!==j){var s=i(a[j]),t="{"===s[0]||s.indexOf(" ")<0;e+=" "+(t?s:"("+s+")")}return a.ctor+e}return a+""};return a.Native.Show={show:j}},Elm.Native.Prelude=function(a){"use strict";function f(a,b){return 0|a/b}function g(a,b){return a%b}function i(a){return 0>a?-a:a}function j(a,b){return Math.log(b)/Math.log(a)}function k(a,b){return b>a?a:b}function l(a,b){return a>b?a:b}function m(a,b,c){return a>c?a:c>b?b:c}function n(a,b){return a!==b}function o(a){return!a}function p(a){return 0|a}function q(a){return a}function r(a,b,c){return A2(a,c,b)}function s(a,b,c){return a(d.Tuple2(b,c))}function t(a,b){return A2(a,b._0,b._1)}function u(a){return a._0}function v(a){return a._1}function w(a){var d=b.fromString(a),f=d.length;if(0===f)return c.Nothing;var g=0;if("-"==d[0]){if(1===f)return c.Nothing;g=1}for(var h=g;f>h;++h)if(!e.isDigit(d[h]))return c.Nothing;return c.Just(parseInt(d,10))}function x(a){var d=b.fromString(a),f=d.length;if(0===f)return c.Nothing;var g=0;if("-"==d[0]){if(1===f)return c.Nothing;g=1}for(var h=0,i=g;f>i;++i)if(!(e.isDigit(d[i])||"."===d[i]&&(h+=1,1>=h)))return c.Nothing;return c.Just(parseFloat(d))}function z(b){var c=b(a);for(var d in c)y[d]=c[d]}if(a.Native.Prelude)return a.Native.Prelude;var b=Elm.JavaScript(a),c=Elm.Maybe(a),d=Elm.Native.Utils(a),e=Elm.Char(a),h=d.mod,y={div:F2(f),rem:F2(g),mod:h,pi:Math.PI,e:Math.e,cos:Math.cos,sin:Math.sin,tan:Math.tan,acos:Math.acos,asin:Math.asin,atan:Math.atan,atan2:F2(Math.atan2),sqrt:Math.sqrt,abs:i,logBase:F2(j),min:F2(k),max:F2(l),clamp:F3(m),compare:d.compare,xor:F2(n),not:o,otherwise:!0,truncate:p,ceiling:Math.ceil,floor:Math.floor,round:Math.round,toFloat:q,readInt:w,readFloat:x,id:q,flip:F3(r),curry:F3(s),uncurry:F2(t),fst:u,snd:v};return z(Elm.Native.Show),z(Elm.Signal),z(Elm.List),z(Elm.Maybe),z(Elm.Time),z(Elm.Graphics.Element),a.Native.Prelude=y},Elm.Native.Matrix2D=function(a){"use strict";function d(a,c,d,e,f,g){return new b([a,c,f,d,e,g])}function e(a){var c=Math.cos(a),d=Math.sin(a);return new b([c,-d,0,d,c,0])}function g(a,c){var d=a[0],e=a[1],f=a[3],g=a[4],h=a[2],i=a[5],j=c[0],k=c[1],l=c[3],m=c[4],n=c[2],o=c[5];return new b([d*j+e*l,d*k+e*m,d*n+e*o+h,f*j+g*l,f*k+g*m,f*n+g*o+i])}if(a.Native=a.Native||{},a.Native.Matrix2D)return a.Native.Matrix2D;var b;b="undefined"==typeof Float32Array?function(a){this.length=a.length,this[0]=a[0],this[1]=a[1],this[2]=a[2],this[3]=a[3],this[4]=a[4],this[5]=a[5]}:Float32Array;var c=new b([1,0,0,0,1,0]);return a.Native.Matrix2D={identity:c,matrix:F6(d),rotation:e,multiply:F2(g)}},Elm.Native.List=function(a){"use strict";function d(a,b){return{ctor:"Cons",_0:a,_1:b}}function e(a){throw new Error("Function '"+a+"' expects a non-empty list!")}function f(a){for(var b=[];"Nil"!==a.ctor;)b.push(a._0),a=a._1;return b}function g(a){for(var b=c,e=a.length;e--;)b=d(a[e],b);return b}function h(a,b){var e=c;if(b>=a)do e=d(b,e);while(b-->a);return e}function i(a,b){if("string"==typeof a)return a.concat(b);if("Nil"===a.ctor)return b;var e=d(a._0,c),f=e;for(a=a._1;"Nil"!==a.ctor;)f._1=d(a._0,c),a=a._1,f=f._1;return f._1=b,e}function j(a){return"Nil"===a.ctor?e("head"):a._0}function k(a){return"Nil"===a.ctor?e("tail"):a._1}function l(a){"Nil"===a.ctor&&e("last");for(var b=a._0;"Nil"!==a.ctor;)b=a._0,a=a._1;return b}function m(a,b){for(var c=[];"Nil"!==b.ctor;)c.push(a(b._0)),b=b._1;return g(c)}function n(a,b,c){for(var d=b;"Nil"!==c.ctor;)d=A2(a,c._0,d),c=c._1;return d}function o(a,b,c){for(var d=f(c),e=b,g=d.length;g--;)e=A2(a,d[g],e);return e}function p(a,b){return"Nil"===b.ctor?e("foldl1"):n(a,b._0,b._1)}function q(a,b){"Nil"===b.ctor&&e("foldr1");for(var c=f(b),d=c.pop(),g=c.length;g--;)d=A2(a,c[g],d);return d}function r(a,b,c){var d=f(c);d.unshift(b);for(var e=d.length,h=1;e>h;++h)d[h]=A2(a,d[h],d[h-1]);return g(d)}function s(a,b){return"Nil"===b.ctor?e("scanl1"):r(a,b._0,b._1)}function t(a,b){for(var c=[];"Nil"!==b.ctor;)a(b._0)&&c.push(b._0),b=b._1;return g(c)}function u(a){for(var b=0;"Nil"!==a.ctor;)b+=1,a=a._1;return b}function v(a,c){for(;"Nil"!==c.ctor;){if(b.eq(a,c._0))return!0;c=c._1}return!1}function w(a){return g(f(a).reverse())}function x(a){if("Nil"===a.ctor)return a;for(var b=f(a),c=b[b.length-1],d=b.length-1;d--;)c=i(b[d],c);return c}function y(a,b){for(;"Nil"!==b.ctor;){if(!a(b._0))return!1;b=b._1}return!0}function z(a,b){for(;"Nil"!==b.ctor;){if(a(b._0))return!0;b=b._1}return!1}function A(a,b,c){for(var d=[];"Nil"!==b.ctor&&"Nil"!==c.ctor;)d.push(A2(a,b._0,c._0)),b=b._1,c=c._1;return g(d)}function B(a,c){for(var d=[];"Nil"!==a.ctor&&"Nil"!==c.ctor;)d.push(b.Tuple2(a._0,c._0)),a=a._1,c=c._1;return g(d)}function C(a){function c(a,c){var d=b.compare(a,c).ctor;return"EQ"===d?0:"LT"===d?-1:1}return g(f(a).sort(c))}function D(a,b){for(var c=[];"Nil"!==b.ctor&&a>0;)c.push(b._0),b=b._1,--a;return g(c)}function E(a,b){for(;"Nil"!==b.ctor&&a>0;)b=b._1,--a;return b}function F(a,b){if("string"==typeof a)return f(b).join(a);if("Nil"===b.ctor)return c;var d=f(a),e=f(b._0);for(b=b._1;"Nil"!==b.ctor;)e=e.concat(d,f(b._0)),b=b._1;return g(e)}function G(a,e){var g=f(e),h=g.length;if(0===h)return d(c,c);var i=f(a),j=i.length;if(0===j){for(var k=c,l=h;l--;)k=d(d(g[l],c),k);return k}for(var m=[-j],n=i[0],o=h-j+1,l=0;o>l;++l)if(b.eq(g[l],n)){for(var p=!0,q=j;--q;)if(!b.eq(g[l+q],i[q])){p=!1;break}p&&(m.push(l),l+=j-1)}if(0===m.length)return d(e,c);for(var k=c,r=h-1,l=m.length;l--;){for(var s=c,t=m[l]+j-1;r>t;--r)s=d(g[r],s);k=d(s,k),r-=j}return k}if(a.Native=a.Native||{},a.Native.List)return a.Native.List;if("values"in Elm.Native.List)return a.Native.List=Elm.Native.List.values;var b=Elm.Native.Utils(a),c={ctor:"Nil"};return Elm.Native.List.values={Nil:c,Cons:d,toArray:f,fromArray:g,range:h,append:i,head:j,tail:k,last:l,map:F2(m),foldl:F3(n),foldr:F3(o),foldl1:F2(p),foldr1:F2(q),scanl:F3(r),scanl1:F2(s),filter:F2(t),length:u,member:F2(v),reverse:w,concat:x,all:F2(y),any:F2(z),zipWith:F3(A),zip:F2(B),sort:C,take:F2(D),drop:F2(E),join:F2(F),split:F2(G)},a.Native.List=Elm.Native.List.values},Elm.Native.Json=function(a){"use strict";function g(a){switch(a.ctor){case"Null":return null;case"String":return e.fromString(a._0);case"Object":for(var b={},d=e.fromList(c.toList(a._0)),f=d.length;f--;)b[e.fromString(d[f]._0)]=g(d[f]._1);return b;case"Array":for(var d=e.fromList(a._0),f=d.length;f--;)d[f]=g(d[f]);return d;default:return a._0}}function h(a,b){return JSON.stringify(g(b),null,e.fromString(a))}function i(a){switch(typeof a){case"string":return{ctor:"String",_0:e.toString(a)};case"number":return{ctor:"Number",_0:e.toFloat(a)};case"boolean":return{ctor:"Bool",_0:e.toBool(a)};case"object":if(null===a)return{ctor:"Null"};if(a instanceof Array){for(var b=a.length;b--;)a[b]=i(a[b]);return{ctor:"Array",_0:e.toList(a)}}var d=[];for(var g in a)d.push(f.Tuple2(e.toString(g),i(a[g])));return{ctor:"Object",_0:c.fromList(e.toList(d))}}}function j(a){try{return b.Just(i(JSON.parse(a)))}catch(c){return b.Nothing}}var b=Elm.Maybe(a),c=Elm.Dict(a);Elm.List(a);var e=Elm.JavaScript(a),f=Elm.Native.Utils(a);return a.Native.Json={toJSString:F2(h),fromJSString:j,toJSObject:g,fromJSObject:i}},Elm.Native.JavaScript=function(a){"use strict";function d(a){var c=typeof a;if("number"===c)return a;if("boolean"===c)return a;if("string"===c)return b.fromArray(a);if(a instanceof Array){for(var e=[],f=a.length,g=0;f>g;++g){var h=d(a[g]);null!==h&&e.push(h)}return b.fromArray(e)}if("object"===c){var i={_:{}};for(var j in a){var h=d(a[j]);null!==h&&(i[j]=h)}return i}return null}function e(a){var c=typeof a;if("number"===c||"boolean"===c)return a;if("object"===c&&"_"in a){var d={};for(var f in a){var g=a[f];null!==g&&(d[f]=g)}return d}if("object"===c&&("Cons"===a.ctor||"Nil"===a.ctor)){for(var h=b.toArray(a),i=h.length;i--;)h[i]=e(h[i]);return"string"==typeof h[0]&&h.join(""),h}return null}function f(a){if("object"==typeof a&&"_"in a)return e(a);throw new Error("'fromRecord' must be called on a record.")}function g(a){return a}function h(a,b,c){return A3(newElement,a,b,{ctor:"Custom",type:"DomNode",render:function(a){return a},update:function(a,b,c){a!==c&&a.parentNode.replaceChild(c,a)},model:c})}function i(a){return c.render(a)}if(a.Native=a.Native||{},a.Native.JavaScript)return a.Native.JavaScript;var b=Elm.Native.List(a),c=ElmRuntime.use(ElmRuntime.Render.Element);return a.Native.JavaScript={toFloat:g,toBool:g,toInt:function(a){return 0|a},toString:b.fromArray,toList:b.fromArray,fromString:function(a){return b.toArray(a).join("")},fromList:b.toArray,fromInt:g,fromFloat:g,fromBool:g,toElement:h,fromElement:i,toRecord:d,fromRecord:f}},Elm.Native.Error=function(a){"use strict";function c(a){var b="Non-exhaustive pattern match in case expression";throw new Error(b+" ("+a+")")}function d(a){var b="Non-exhaustive pattern match in multi-way-if expression";throw new Error(b+" ("+a+")")}function e(a){throw new Error(b(a))}if(a.Native=a.Native||{},a.Native.Error)return a.Native.Error;var b=Elm.Native.JavaScript(a).fromString;return a.Native.Error={Case:c,If:d,raise:e}},Elm.Native.Date=function(a){"use strict";function e(a){var d=new window.Date(b.fromString(a));return isNaN(d.getTime())?c.Nothing:c.Just(d)}if(a.Native=a.Native||{},a.Native.Date)return a.Native.Date;var b=Elm.JavaScript(a),c=Elm.Maybe(a),f=["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],g=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];return a.Native.Date={read:e,year:function(a){return a.getFullYear()},month:function(a){return{ctor:g[a.getMonth()]}},day:function(a){return a.getDate()},hour:function(a){return a.getHours()},minute:function(a){return a.getMinutes()},second:function(a){return a.getSeconds()},toTime:function(a){return a.getTime()},dayOfWeek:function(a){return{ctor:f[a.getDay()]}}}},Elm.Native.Color=function(a){"use strict";function c(a){var b=f(a);return b.hue=(b.hue+180)%360,i(b)}function d(a,c,d,e){var f=A2(b.mod,180*a/Math.PI,360),g=i({hue:f,saturation:c,value:d});return g._3=e,g}function e(a,c,d){var e=A2(b.mod,180*a/Math.PI,360);return i({hue:e,saturation:c,value:d})}function f(a){var c=a._0/255,d=a._1/255,e=a._2/255,f=Math.max(c,d,e),g=Math.min(c,d,e),h=f-g,i=0;return 0===h?i=0:f===c?i=(d-e)/h%6:f===d?i=(e-c)/h+2:f===e&&(i=(c-d)/h+4),i*=60,{value:f,hue:i,saturation:0===f?0:h/f}}function g(a,b,c){return c>=a&&b>c}function h(a){return Math.round(255*a)}function i(a){var b=a.value*a.saturation,c=a.hue/60,d=b*(1-Math.abs(c%2-1)),e=0,f=0,i=0;g(0,1,c)?(e=b,f=d,i=0):g(1,2,c)?(e=d,f=b,i=0):g(2,3,c)?(e=0,f=b,i=d):g(3,4,c)?(e=0,f=d,i=b):g(4,5,c)?(e=d,f=0,i=b):g(5,6,c)&&(e=b,f=0,i=d);var j=a.value-b;return{ctor:"Color",_0:h(e+j),_1:h(f+j),_2:h(i+j),_3:1}}if(a.Native=a.Native||{},a.Native.Color)return a.Native.Color;var b=Elm.Native.Utils(a);return a.Native.Color={hsva:F4(d),hsv:F3(e),complement:c}},Elm.Native.Char=function(a){"use strict";function b(a,b){return function(c){var d=c.charCodeAt(0);return d>=a&&b>=d}}if(a.Native=a.Native||{},a.Native.Char)return a.Native.Char;var c=b("0".charCodeAt(0),"9".charCodeAt(0)),d=b("a".charCodeAt(0),"f".charCodeAt(0)),e=b("A".charCodeAt(0),"F".charCodeAt(0));return a.Native.Char={fromCode:function(a){return String.fromCharCode(a)},toCode:function(a){return a.charCodeAt(0)},toUpper:function(a){return a.toUpperCase()},toLower:function(a){return a.toLowerCase()},toLocaleUpper:function(a){return a.toLocaleUpperCase()},toLocaleLower:function(a){return a.toLocaleLowerCase()},isLower:b("a".charCodeAt(0),"z".charCodeAt(0)),isUpper:b("A".charCodeAt(0),"Z".charCodeAt(0)),isDigit:c,isOctDigit:b("0".charCodeAt(0),"7".charCodeAt(0)),isHexDigit:function(a){return c(a)||d(a)||e(a)}}},Elm.Native.Window=function(a){"use strict";function d(){return a.node.clientWidth}function e(){return a.display===ElmRuntime.Display.FULLSCREEN?window.innerHeight:a.node.clientHeight}function i(){var b=d(),g=e();if(f.value._0!==b||f.value._1!==g){var h=a.notify(f.id,c(b,g));h||window.removeEventListener("resize",i)}}if(a.Native=a.Native||{},a.Native.Window)return a.Native.Window;var b=Elm.Signal(a),c=Elm.Native.Utils(a).Tuple2,f=b.constant(c(d(),e()));f.defaultNumberOfKids=2;var g=A2(b.lift,function(a){return a._0},f);g.defaultNumberOfKids=0;var h=A2(b.lift,function(a){return a._1},f);return h.defaultNumberOfKids=0,window.addEventListener("resize",i),a.Native.Window={dimensions:f,width:g,height:h,resizeIfNeeded:i}},Elm.Native.WebSocket=function(a){"use strict";function e(e,f){function k(a){var b=c.fromString(a);j?h.send(b):i.push(b)}function l(a){return a}var g=b.constant(d.Nil),h=new WebSocket(c.fromString(e)),i=[],j=!1;return h.onopen=function(){for(var b=i.length,c=0;b>c;++c)h.send(i[c]);j=!0},h.onmessage=function(b){a.notify(g.id,c.toString(b.data))},A3(b.lift2,F2(l),g,A2(b.lift,k,f))}if(a.Native=a.Native||{},a.Native.WebSocket)return a.Native.WebSocket;var b=Elm.Signal(a),c=Elm.JavaScript(a),d=Elm.Native.List(a);return a.Native.WebSocket={connect:F2(e)}},Elm.Native.Touch=function(a){"use strict";function e(){this.keys=[],this.values=[],this.insert=function(a,b){this.keys.push(a),this.values.push(b)},this.lookup=function(a){var b=this.keys.indexOf(a);return b>=0?this.values[b]:{x:0,y:0,t:0}},this.remove=function(a){var b=this.keys.indexOf(a);if(!(0>b)){var c=this.values[b];return this.keys.splice(b,1),this.values.splice(b,1),c}},this.clear=function(){this.keys=[],this.values=[]}}function k(b){var c=j.lookup(b.identifier);return{_:{},id:b.identifier,x:b.pageX-a.node.offsetX,y:b.pageY-a.node.offsetY,x0:c.x,y0:c.y,t0:c.t}}function m(b){j.insert(b.identifier,{x:b.pageX-a.node.offsetX,y:b.pageY-a.node.offsetY,t:Date.now()})}function n(a){var b=j.remove(a.identifier);Date.now()-b.t0&&(a.notify(f.id,[]),--p),j.clear()});var s=r(c.toList),t=function(){function c(){var b=h;return h=!1,b}var a=r(function(){return i});a.defaultNumberOfKids=1;var d=A3(b.keepIf,c,{_:{},x:0,y:0},a);return d.defaultNumberOfKids=0,d}();return a.Native.Touch={touches:s,taps:t}},Elm.Native.Time=function(a){"use strict";function e(c,d){function k(b){return function(){g=Date.now(),h=b?0:g-f,f=g,a.notify(j.id,h)}}function m(a,b){return a?l=setTimeout(k(!i&&a),e):i&&clearTimeout(l),i=a,b}var e=1e3/c,f=Date.now(),g=f,h=0,i=!0,j=b.constant(h),l=0;return A3(b.lift2,F2(m),d,j)}function f(c){function f(){a.notify(e.id,Date.now())}var e=b.constant(Date.now());return setInterval(f,c),e}function g(a,c){function e(a,b){return!d.eq(a,b)}var f=b.count(A2(b.delay,a,c));return A3(b.lift2,F2(e),b.count(c),f)}function h(a){var b=Date.parse(a);return isNaN(b)?c.Nothing:c.Just(b)}var b=Elm.Signal(a),c=Elm.Maybe(a),d=Elm.Native.Utils(a);return a.Native.Time={fpsWhen:F2(e),fps:function(a){return e(a,b.constant(!0))},every:function(a){return f(a,b.constant(!0))},delay:b.delay,timestamp:b.timestamp,since:F2(g),toDate:function(a){return new window.Date(a)},read:h}},Elm.Native.Signal=function(a){"use strict";function d(a,b,c){for(var d=a.kids,e=d.length;e--;)d[e].recv(b,c,a.id)}function e(c){this.id=b.guid(),this.value=c,this.kids=[],this.defaultNumberOfKids=0,this.recv=function(a,b,c){var e=b===this.id;return e&&(this.value=c),d(this,a,e),e},a.inputs.push(this)}function f(a,c){this.id=b.guid(),this.value=a(),this.kids=[];var e=c.length,f=0,g=!1;this.recv=function(b,c){++f,c&&(g=!0),f==e&&(g&&(this.value=a()),d(this,b,g),g=!1,f=0)};for(var h=e;h--;)c[h].kids.push(this)}function g(a,b){function c(){return a(b.value)}return new f(c,[b])}function h(a,b,c){function d(){return A2(a,b.value,c.value)}return new f(d,[b,c])}function i(a,b,c,d){function e(){return A3(a,b.value,c.value,d.value)}return new f(e,[b,c,d])}function j(a,b,c,d,e){function g(){return A4(a,b.value,c.value,d.value,e.value)}return new f(g,[b,c,d,e])}function k(a,b,c,d,e,g){function h(){return A5(a,b.value,c.value,d.value,e.value,g.value)}return new f(h,[b,c,d,e,g])}function l(a,b,c,d,e,g,h){function i(){return A6(a,b.value,c.value,d.value,e.value,g.value,h.value)}return new f(i,[b,c,d,e,g,h])}function m(a,b,c,d,e,g,h,i){function j(){return A7(a,b.value,c.value,d.value,e.value,g.value,h.value,i.value)}return new f(j,[b,c,d,e,g,h,i])}function n(a,b,c,d,e,g,h,i,j){function k(){return A8(a,b.value,c.value,d.value,e.value,g.value,h.value,i.value,j.value)}return new f(k,[b,c,d,e,g,h,i,j])}function o(a,b,c){function e(){return d?d=!1:b=A2(a,c.value,b),b}var d=!0;return new f(e,[c])}function p(a,c,e){this.id=b.guid(),this.value=a(e.value)?c:e.value,this.kids=[],this.recv=function(b,c){var g=c&&!a(e.value);g&&(this.value=e.value),d(this,b,g)},e.kids.push(this)}function q(a){this.id=b.guid(),this.value=a.value,this.kids=[],this.recv=function(c,e){var g=e&&!b.eq(this.value,a.value);g&&(this.value=a.value),d(this,c,g)},a.kids.push(this)}function r(a,b,c){var d=h(F2(function(a,b){return{x:a,y:b}}),a,c),e=new p(function(a){return a.x},{x:!0,y:b},d);return g(function(a){return a.y},e)}function s(a){function c(){return b.Tuple2(Date.now(),a.value)}return new f(c,[a])}function t(a,c){this.id=b.guid(),this.value=c.value,this.kids=[];var e=0,f=!1;this.recv=function(b,g,h){h===a.id&&(f=g),++e,2==e&&(f&&(this.value=c.value),d(this,b,f),e=0,f=!1)},a.kids.push(this),c.kids.push(this)}function u(a,b){return new t(a,b)}function v(b,c){function i(c){return f?(f=!1,void 0):(setTimeout(function(){a.notify(d.id,c)},b),void 0)}function j(a){return a}var d=new e(c.value),f=!0;return new t(d,h(F2(j),d,g(i,c)))}function w(a,c){this.id=b.guid(),this.value=a.value,this.kids=[];var e=null,f=0,g=!1;this.recv=function(b,h,i){++f,h&&(g=!0,i==c.id&&null===e&&(e=c.value),i==a.id&&(e=a.value)),2==f&&(g&&(this.value=e,e=null),d(this,b,g),g=!1,f=0)},a.kids.push(this),c.kids.push(this)}function x(a,b){return new w(a,b)}function y(a){return A2(c,F2(x),a)}if(a.Native=a.Native||{},a.Native.Signal)return a.Native.Signal;var b=Elm.Native.Utils(a),c=Elm.List(a).foldl1;return a.Native.Signal={constant:function(a){return new e(a)},lift:F2(g),lift2:F3(h),lift3:F4(i),lift4:F5(j),lift5:F6(k),lift6:F7(l),lift7:F8(m),lift8:F9(n),foldp:F3(o),delay:F2(v),merge:F2(x),merges:y,count:function(a){return o(F2(function(a,b){return b+1}),0,a)},countIf:F2(function(a,b){return o(F2(function(b,c){return a(b)?c+1:c}),0,b)}),keepIf:F3(function(a,b,c){return new p(function(b){return!a(b)},b,c)}),dropIf:F3(function(a,b,c){return new p(a,b,c)}),keepWhen:F3(function(a,b,c){return r(g(function(a){return!a},a),b,c)}),dropWhen:F3(r),dropRepeats:function(a){return new q(a)},sampleOn:F2(u),timestamp:s}},Elm.Native.Random=function(a){"use strict";function c(a,c,d){function e(){return Math.floor(Math.random()*(c-a+1))+a}return A2(b.lift,e,d)}function d(a){function c(){return Math.random()}return A2(b.lift,c,a)}if(a.Native=a.Native||{},a.Native.Random)return a.Native.Random;var b=Elm.Signal(a);return a.Native.Random={range:F3(c)},a.Native.Random["float"]=d,a.Native.Random},Elm.Native.Mouse=function(a){"use strict";function j(b){var d=0,e=0;return b||(b=window.event),b.pageX||b.pageY?(d=b.pageX,e=b.pageY):(b.clientX||b.clientY)&&(d=b.clientX+document.body.scrollLeft+document.documentElement.scrollLeft,e=b.clientY+document.body.scrollTop+document.documentElement.scrollTop),c.Tuple2(d-a.node.offsetX,e-a.node.offsetY)}function l(){var d=a.notify(h.id,!0),e=a.notify(i.id,c.Tuple0);a.notify(h.id,!1),d||e||k.removeEventListener("click",l)}function m(){var c=a.notify(g.id,!0);c||k.removeEventListener("mousedown",m)}function n(){var c=a.notify(g.id,!1);c||k.removeEventListener("mouseup",n)}function o(b){var c=a.notify(d.id,j(b));c||k.removeEventListener("mousemove",o)}if(a.Native=a.Native||{},a.Native.Mouse)return a.Native.Mouse;var b=Elm.Signal(a),c=Elm.Native.Utils(a),d=b.constant(c.Tuple2(0,0));d.defaultNumberOfKids=2;var e=A2(b.lift,function(a){return a._0},d);e.defaultNumberOfKids=0;var f=A2(b.lift,function(a){return a._1},d);f.defaultNumberOfKids=0;var g=b.constant(!1),h=b.constant(!1),i=b.constant(c.Tuple0),k=a.display===ElmRuntime.Display.FULLSCREEN?document:a.node;return k.addEventListener("click",l),k.addEventListener("mousedown",m),k.addEventListener("mouseup",n),k.addEventListener("mousemove",o),a.Native.Mouse={position:d,x:e,y:f,isClicked:h,isDown:g,clicks:i}},Elm.Native.Keyboard=function(a){"use strict";function f(b){if(!c.member(b.keyCode)(d.value)){var e=c.Cons(b.keyCode,d.value),g=a.notify(d.id,e);g||document.removeEventListener("keydown",f)}}function g(b){function e(a){return a!==b.keyCode}var f=c.filter(e)(d.value),h=a.notify(d.id,f);h||document.removeEventListener("keyup",g)}function h(){var e=a.notify(d.id,c.Nil);e||document.removeEventListener("blur",h)}function i(b){var c=a.notify(e.id,b.charCode||b.keyCode);c||document.removeEventListener("keypress",i)}function j(a){var c=A2(b.lift,a,d);return d.defaultNumberOfKids+=1,c.defaultNumberOfKids=0,c}function k(a,b,c,d){function e(e){for(var f=0,g=0;"Cons"==e.ctor;){switch(e._0){case c:--f;break;case d:++f;break;case a:++g;break;case b:--g}e=e._1}return{_:{},x:f,y:g}}return j(e)}function l(a){return j(c.member(a))}if(a.Native=a.Native||{},a.Native.Keyboard)return a.Native.Keyboard;var b=Elm.Signal(a),c=Elm.Native.List(a),d=b.constant(c.Nil),e=b.constant("\0");return document.addEventListener("keydown",f),document.addEventListener("keyup",g),document.addEventListener("blur",h),document.addEventListener("keypress",i),a.Native.Keyboard={isDown:l,directions:F4(k),keysDown:d,lastPressed:e}},Elm.Native.Http=function(a){"use strict";function e(a,b){return function(c){"Nil"!==c.url.ctor&&h(a,b,c)}}function f(b,c){b.length>0&&(a.notify(c.id,b[0].value),"Waiting"!==b[0].value.ctor&&(b.shift(),setTimeout(function(){f(b,c)},0)))}function g(a){request.setRequestHeader(b.fomString(a._0),b.fromString(a._1))}function h(a,d,e){var h={value:{ctor:"Waiting"}};a.push(h);var i=null;window.ActiveXObject&&(i=new ActiveXObject("Microsoft.XMLHTTP")),window.XMLHttpRequest&&(i=new XMLHttpRequest),i.onreadystatechange=function(){4===i.readyState&&(h.value=i.status>=200&&i.status<300?{ctor:"Success",_0:b.toString(i.responseText)}:{ctor:"Failure",_0:i.status,_1:b.toString(i.statusText)},setTimeout(function(){f(a,d)},0))},i.open(b.fromString(e.verb),b.fromString(e.url),!0),c.map(g)(e.headers),i.send(b.fromString(e.body))}function i(b){function g(a){return function(){return a}}var c=d.constant(a.Http.Waiting),f=A2(d.lift,e([],c),b);return A3(d.lift2,g,c,f)}if(a.Native=a.Native||{},a.Native.Http)return a.Native.Http;
var b=Elm.JavaScript(a),c=Elm.List(a),d=Elm.Signal(a);return a.Native.Http={send:i}},Elm.Native.Graphics.Input=function(a){"use strict";function h(b){var h=f.fromList(b),i=d.constant(h[0]._1),j=c("select");j.style.border="0 solid";for(var k=0;k0||f(e.elmHover)}function j(a){e.contains(a.toElement||a.relatedTarget)||(h=0,f(e.elmUp))}function k(){f(e.elmHover),a.notify(g.id,e.elmEvent)}function l(){f(e.elmDown)}var e=c("div");e.elmEvent=d.event,e.elmUp=b.render(d.up),e.elmHover=b.render(d.hover),e.elmDown=b.render(d.down);var h=0;return e.addEventListener("mouseover",i),e.addEventListener("mouseout",j),e.addEventListener("mousedown",l),e.addEventListener("mouseup",k),e.appendChild(e.elmUp),e}function i(a,c,d){a.elmEvent=d.event,b.update(a.elmUp,c.up,d.up),b.update(a.elmHover,c.hover,d.hover),b.update(a.elmDown,c.down,d.down)}function j(a,b,c,d){return A3(e,Math.max(b.props.width,c.props.width,d.props.width),Math.max(b.props.height,c.props.height,d.props.height),{ctor:"Custom",type:"CustomButton",render:h,update:i,model:{event:a,up:b,hover:c,down:d}})}var g=d.constant(f);return{_:{},customButton:F4(j),events:g}}function k(b){function g(b){function e(){a.notify(f.id,d.elmHandler(d.checked))}var d=c("input");return d.type="checkbox",d.checked=b.checked,d.style.display="block",d.elmHandler=b.handler,d.addEventListener("change",e),d}function h(a,b,c){return a.elmHandler=c.handler,a.checked=c.checked,!0}function i(a,b){return A3(e,13,13,{ctor:"Custom",type:"CheckBox",render:g,update:h,model:{checked:b,handler:a}})}var f=d.constant(b);return{_:{},box:F2(i),events:f}}function l(a,b,c,d){a.parentNode?a.setSelectionRange(b,c,d):setTimeout(function(){a.setSelectionRange(b,c,d)},0)}function m(b){return function(g){function j(d){function g(){var b=e.selectionStart,c=e.selectionEnd;"backward"===e.selectionDirection&&(b=c,c=e.selectionStart),i={_:{},string:f.toString(e.value),selectionStart:b,selectionEnd:c},a.notify(h.id,e.elmHandler(i))}function j(){g(),a.node.addEventListener("mouseup",k)}function k(){g(),a.node.removeEventListener("mouseup",k)}var e=c("input");return e.elmHandler=d.handler,e.id="test",e.type=b,e.placeholder=f.fromString(d.placeHolder),e.value=f.fromString(d.state.string),l(e,d.state.selectionStart,d.state.selectionEnd,"forward"),e.style.border="none",i=d.state,e.addEventListener("keyup",g),e.addEventListener("mousedown",j),e}function k(a,b,c){if(a.elmHandler=c.handler,i!==c.state){var d=f.fromString(c.state.string);a.value!==d&&(a.value=d);var e=c.state.selectionStart,g=c.state.selectionEnd,h="forward";e>g&&(e=g,g=c.state.selectionStart,h="backward"),(a.selectionStart!==e||a.selectionEnd!==g||a.selectionDirection!==h)&&l(a,e,g,h)}}function m(a,c,d){return A3(e,200,30,{ctor:"Custom",type:b+"Input",render:j,update:k,model:{handler:a,placeHolder:c,state:d}})}var h=d.constant(g),i=null;return{_:{},field:F3(m),events:h}}}if(a.Native=a.Native||{},a.Native.Graphics=a.Native.Graphics||{},a.Native.Graphics.Input)return a.Native.Graphics.Input;var b=ElmRuntime.use(ElmRuntime.Render.Element),c=ElmRuntime.use(ElmRuntime.Render.Utils).newElement,d=Elm.Signal(a),e=Elm.Graphics.Element(a).newElement,f=Elm.Native.JavaScript(a),g=Elm.Native.Utils(a).Tuple2;return a.Native.Graphics.Input={buttons:i,customButtons:j,checkboxes:k,fields:m("text"),emails:m("email"),passwords:m("password"),dropDown:h}},Elm.Native.Graphics.Collage=function(a){"use strict";function d(a,d,e){return A3(b,a,d,{ctor:"Custom",type:"Collage",render:c.render,update:c.update,model:{w:a,h:d,forms:e}})}if(a.Native=a.Native||{},a.Native.Graphics=a.Native.Graphics||{},a.Native.Graphics.Collage)return a.Native.Graphics.Collage;var b=Elm.Graphics.Element(a).newElement,c=ElmRuntime.use(ElmRuntime.Render.Collage);return a.Native.Graphics.Collage={collage:F3(d)}},Elm.Window=function(a){var b=Elm.Native;b.Utils(a),b.List(a),b.Error(a),b.JavaScript(a).toString,Elm.Native.Window(a),a.Native=a.Native||{};var i=a.Native.Window||{};return i.$op={},a.Window=i},Elm.WebSocket=function(a){var b=Elm.Native;b.Utils(a),b.List(a),b.Error(a),b.JavaScript(a).toString,Elm.Native.WebSocket(a),a.Native=a.Native||{};var i=a.Native.WebSocket||{};return i.$op={},a.WebSocket=i},Elm.Touch=function(a){var b=Elm.Native;b.Utils(a),b.List(a),b.Error(a),b.JavaScript(a).toString,Elm.Native.Touch(a);var i=F6(function(a,b,c,d,e,f){return{_:{},id:c,t0:f,x:a,x0:d,y:b,y0:e}});a.Native=a.Native||{};var j=a.Native.Touch||{};return j.$op={},j.Touch=i,a.Touch=j},Elm.Time=function(a){var b=Elm.Native;b.Utils(a),b.List(a),b.Error(a),b.JavaScript(a).toString,Elm.Native.Time(a);var i=function(a){return a},j=function(a){return a/n},k=function(a){return a/o},l=function(a){return a/p},m=1,n=1e3*m,o=60*n,p=60*o;a.Native=a.Native||{};var q=a.Native.Time||{};return q.$op={},q.millisecond=m,q.second=n,q.minute=o,q.hour=p,q.inMilliseconds=i,q.inSeconds=j,q.inMinutes=k,q.inHours=l,a.Time=q},Elm.Text=function(a){var b=Elm.Native;b.Utils(a),b.List(a),b.Error(a),b.JavaScript(a).toString,Elm.Native.Text(a),a.Native=a.Native||{};var i=a.Native.Text||{};return i.$op={},a.Text=i},Elm.Signal=function(a){var b=Elm.Native,d=(b.Utils(a),b.List(a));b.Error(a),b.JavaScript(a).toString;var h=Elm.Native.Signal(a),i=Elm.List(a),j=A2(i.foldr,h.lift2(function(a){return function(b){return d.Cons(a,b)}}),h.constant(d.Nil));a.Native=a.Native||{};var k=a.Native.Signal||{};return k.$op={},k.combine=j,a.Signal=k},Elm.Set=function(a){var b=Elm.Native;b.Utils(a),b.List(a),b.Error(a),b.JavaScript(a).toString;var h=Elm.Dict(a),i=Elm.List(a),j=function(a){return A2(h.singleton,a,{ctor:"Tuple0"})},k=function(a){return A2(h.insert,a,{ctor:"Tuple0"})},l=function(a){return A3(i.foldl,k,p,a)},m=F3(function(a,b,c){return A3(h.foldl,function(b){return function(){return function(c){return A2(a,b,c)}}},b,c)}),n=F3(function(a,b,c){return A3(h.foldr,function(b){return function(){return function(c){return A2(a,b,c)}}},b,c)}),o=F2(function(a,b){return l(A2(i.map,a,v(b)))}),p=h.empty,q=h.remove,r=h.member,s=h.union,t=h.intersect,u=h.diff,v=h.keys;a.Native=a.Native||{};var w=a.Native.Set||{};return w.$op={},w.empty=p,w.singleton=j,w.insert=k,w.remove=q,w.member=r,w.union=s,w.intersect=t,w.diff=u,w.toList=v,w.fromList=l,w.foldl=m,w.foldr=n,w.map=o,a.Set=w},Elm.Random=function(a){var b=Elm.Native;b.Utils(a),b.List(a),b.Error(a),b.JavaScript(a).toString,Elm.Native.Random(a),a.Native=a.Native||{};var i=a.Native.Random||{};return i.$op={},a.Random=i},Elm.Prelude=function(a){var b=Elm.Native,e=(b.Utils(a),b.List(a),b.Error(a));b.JavaScript(a).toString;var b=Elm.Native.Prelude(a),h={ctor:"LT"},i={ctor:"EQ"},j={ctor:"GT"},k=function(a){return a},l=function(a){return a*Math.PI/180},m=function(a){return 2*Math.PI*a},n=function(a){return function(){switch(a.ctor){case"Tuple2":return{ctor:"Tuple2",_0:a._0*b.cos(a._1),_1:a._0*b.sin(a._1)}}e.Case("Line 22, Column 20")}()},o=function(a){return function(){switch(a.ctor){case"Tuple2":return{ctor:"Tuple2",_0:b.sqrt(Math.pow(a._0,2)+Math.pow(a._1,2)),_1:A2(b.atan2,a._1,a._0)}}e.Case("Line 27, Column 18")}()},p=!0;a.Native=a.Native||{};var q=a.Native.Prelude||{};return q.$op={},q.radians=k,q.degrees=l,q.turns=m,q.fromPolar=n,q.toPolar=o,q.LT=h,q.EQ=i,q.GT=j,q.otherwise=p,a.Prelude=q},Elm.Mouse=function(a){var b=Elm.Native;b.Utils(a),b.List(a),b.Error(a),b.JavaScript(a).toString,Elm.Native.Mouse(a),a.Native=a.Native||{};var i=a.Native.Mouse||{};return i.$op={},a.Mouse=i},Elm.Maybe=function(a){var b=Elm.Native,d=(b.Utils(a),b.List(a)),e=b.Error(a);b.JavaScript(a).toString;var h=Elm.List(a),i=function(a){return{ctor:"Just",_0:a}},j={ctor:"Nothing"},k=F3(function(a,b,c){return function(){switch(c.ctor){case"Just":return b(c._0);case"Nothing":return a}e.Case("Line 13, Column 15")}()}),l=F2(function(a,b){return A3(k,b,function(a){return d.Cons(a,b)},a)}),m=A2(k,!1,function(){return!0}),n=function(a){return not(m(a))},o=A2(h.foldr,l,d.Nil);a.Native=a.Native||{};var p=a.Native.Maybe||{};return p.$op={},p.Just=i,p.Nothing=j,p.maybe=k,p.isJust=m,p.isNothing=n,p.cons=l,p.justs=o,a.Maybe=p},Elm.Matrix2D=function(a){var b=Elm.Native;b.Utils(a),b.List(a),b.Error(a),b.JavaScript(a).toString,Elm.Native.Matrix2D(a),a.Native=a.Native||{};var i=a.Native.Matrix2D||{};return i.$op={},a.Matrix2D=i},Elm.List=function(a){var b=Elm.Native,d=(b.Utils(a),b.List(a)),e=b.Error(a);b.JavaScript(a).toString;var h=Elm.Native.Utils(a),i=i||{};i.Utils=h;var j=h.min,k=h.max,l=Elm.Native.List(a),m=function(a){return function(b){return l.concat(A2(l.map,a,b))}},n=F2(function(a,b){return function(){switch(b.ctor){case"Cons":return function(){var c=A2(n,a,b._1),f=function(){switch(c.ctor){case"Tuple2":return c._0}e.Case("Line 106, Column 30")}(),g=function(){switch(c.ctor){case"Tuple2":return c._1}e.Case("Line 106, Column 30")}();return a(b._0)?{ctor:"Tuple2",_0:d.Cons(b._0,f),_1:g}:{ctor:"Tuple2",_0:f,_1:d.Cons(b._0,g)}}();case"Nil":return{ctor:"Tuple2",_0:d.Nil,_1:d.Nil}}e.Case("Line 104, Column 5")}()}),o=function(a){return function(){switch(a.ctor){case"Cons":switch(a._0.ctor){case"Tuple2":return function(){var b=o(a._1),c=function(){switch(b.ctor){case"Tuple2":return b._0}e.Case("Line 127, Column 33")}(),f=function(){switch(b.ctor){case"Tuple2":return b._1}e.Case("Line 127, Column 33")}();return{ctor:"Tuple2",_0:d.Cons(a._0._0,c),_1:d.Cons(a._0._1,f)}}()}break;case"Nil":return{ctor:"Tuple2",_0:d.Nil,_1:d.Nil}}e.Case("Line 125, Column 3")}()},p=F2(function(a,b){return function(){switch(b.ctor){case"Cons":switch(b._1.ctor){case"Cons":return d.Cons(b._0,d.Cons(a,A2(p,a,d.Cons(b._1._0,b._1._1))));case"Nil":return d.Cons(b._0,d.Nil)}break;case"Nil":return d.Nil}e.Case("Line 145, Column 3")}()}),q=A2(l.foldl,function(a){return function(b){return a+b}},0),r=A2(l.foldl,function(a){return function(b){return a*b}},1),s=l.foldl1(k),t=l.foldl1(j);a.Native=a.Native||{};var h=a.Native.List||{};return h.$op={},h.concatMap=m,h.sum=q,h.product=r,h.maximum=s,h.minimum=t,h.partition=n,h.unzip=o,h.intersperse=p,a.List=h},Elm.Keyboard=function(a){var b=Elm.Native;b.Utils(a),b.List(a),b.Error(a),b.JavaScript(a).toString;var b=Elm.Native.Keyboard(a),h=A4(b.directions,38,40,37,39),i=A4(b.directions,87,83,65,68),j=b.isDown(16),k=b.isDown(17),l=b.isDown(32),m=b.isDown(13);a.Native=a.Native||{};var n=a.Native.Keyboard||{};return n.$op={},n.arrows=h,n.wasd=i,n.shift=j,n.ctrl=k,n.space=l,n.enter=m,a.Keyboard=n},Elm.Json=function(a){var b=Elm.Native;b.Utils(a),b.List(a),b.Error(a),b.JavaScript(a).toString,Elm.Dict(a);var i=Elm.JavaScript(a),j=Elm.Native.Json(a),k=function(a){return{ctor:"String",_0:a}},l=function(a){return{ctor:"Number",_0:a}},m=function(a){return{ctor:"Boolean",_0:a}},n={ctor:"Null"},o=function(a){return{ctor:"Array",_0:a}},p=function(a){return{ctor:"Object",_0:a}},q=F2(function(a,b){return i.toString(A2(j.toJSString,a,b))}),r=function(a){return j.fromJSString(i.fromString(a))};a.Native=a.Native||{};var s=a.Native.Json||{};return s.$op={},s.String=k,s.Number=l,s.Boolean=m,s.Null=n,s.Array=o,s.Object=p,s.toString=q,s.fromString=r,a.Json=s},Elm.JavaScript=function(a){var b=Elm.Native;b.Utils(a),b.List(a),b.Error(a),b.JavaScript(a).toString,a.Native=a.Native||{};var h=a.Native.JavaScript||{};return h.$op={},a.JavaScript=h},Elm.Http=function(a){var b=Elm.Native,d=(b.Utils(a),b.List(a)),f=(b.Error(a),b.JavaScript(a).toString),h=Elm.Native.Http(a),i=i||{};i.Http=h;var j=h.send,h=Elm.Signal(a),l=h.lift,m=function(a){return{ctor:"Success",_0:a}},n={ctor:"Waiting"},o=F2(function(a,b){return{ctor:"Failure",_0:a,_1:b}}),p=F4(function(a,b,c,d){return{_:{},body:c,headers:d,url:b,verb:a}}),q=function(a){return A4(p,f("GET"),a,f(""),d.Nil)},r=F2(function(a,b){return A4(p,f("POST"),a,b,d.Nil)}),s=function(a){return j(A2(l,q,a))},t=p;a.Native=a.Native||{};var h=a.Native.Http||{};return h.$op={},h.Success=m,h.Waiting=n,h.Failure=o,h.Request=p,h.request=t,h.get=q,h.post=r,h.sendGet=s,a.Http=h},Elm.Either=function(a){var b=Elm.Native,d=(b.Utils(a),b.List(a)),e=b.Error(a);b.JavaScript(a).toString;var h=Elm.List(a),i=h,j=function(a){return{ctor:"Left",_0:a}},k=function(a){return{ctor:"Right",_0:a}},l=F3(function(a,b,c){return function(){switch(c.ctor){case"Left":return a(c._0);case"Right":return b(c._0)}e.Case("Line 16, Column 16")}()}),m=function(a){return function(){switch(a.ctor){case"Left":return!0}return!1}()},n=function(a){return function(){switch(a.ctor){case"Right":return!0}return!1}()},o=function(a){return A3(i.foldr,r,d.Nil,a)},p=function(a){return A3(i.foldr,s,d.Nil,a)},q=function(a){return A3(i.foldr,t,{ctor:"Tuple2",_0:d.Nil,_1:d.Nil},a)},r=F2(function(a,b){return function(){switch(a.ctor){case"Left":return d.Cons(a._0,b);case"Right":return b}e.Case("Line 40, Column 5")}()}),s=F2(function(a,b){return function(){switch(a.ctor){case"Left":return b;case"Right":return d.Cons(a._0,b)}e.Case("Line 45, Column 5")}()}),t=F2(function(a,b){return function(){switch(b.ctor){case"Tuple2":return function(){switch(a.ctor){case"Left":return{ctor:"Tuple2",_0:d.Cons(a._0,b._0),_1:b._1};case"Right":return{ctor:"Tuple2",_0:b._0,_1:d.Cons(a._0,b._1)}}e.Case("Line 50, Column 5")}()}e.Case("Line 50, Column 5")}()});a.Native=a.Native||{};var h=a.Native.Either||{};return h.$op={},h.Left=j,h.Right=k,h.either=l,h.isLeft=m,h.isRight=n,h.lefts=o,h.rights=p,h.partition=q,h.consLeft=r,h.consRight=s,h.consEither=t,a.Either=h},Elm.Dict=function(a){var b=Elm.Native,c=b.Utils(a),d=b.List(a),e=b.Error(a),f=b.JavaScript(a).toString,h=Elm.Maybe(a),i=Elm.Native.Error(a),j=Elm.List(a),k=Elm.Native.Utils(a),l=l||{};l.Utils=k;var m=k.compare,n={ctor:"Red"},o={ctor:"Black"},p=F5(function(a,b,c,d,e){return{ctor:"RBNode",_0:a,_1:b,_2:c,_3:d,_4:e}}),q={ctor:"RBEmpty"},r=function(a){return function(){switch(a.ctor){case"RBEmpty":return i.raise(f("(min Empty) is not defined"));case"RBNode":switch(a._3.ctor){case"RBEmpty":return{ctor:"Tuple2",_0:a._1,_1:a._2}}return r(a._3)}e.Case("Line 104, Column 3")}()},s=F2(function(a,b){return function(){switch(b.ctor){case"RBEmpty":return h.Nothing;case"RBNode":return function(){var c=A2(m,a,b._1);switch(c.ctor){case"EQ":return h.Just(b._2);case"GT":return A2(s,a,b._4);case"LT":return A2(s,a,b._3)}e.Case("Line 124, Column 5")}()}e.Case("Line 121, Column 2")}()}),t=F3(function(a,b,c){return function(){switch(c.ctor){case"RBEmpty":return a;case"RBNode":return function(){var d=A2(m,b,c._1);switch(d.ctor){case"EQ":return c._2;case"GT":return A3(t,a,b,c._4);case"LT":return A3(t,a,b,c._3)}e.Case("Line 136, Column 5")}()}e.Case("Line 133, Column 2")}()}),u=F2(function(a,b){return h.isJust(A2(s,a,b))}),v=function(a){return function(){switch(a.ctor){case"RBNode":switch(a._4.ctor){case"RBNode":return A5(p,a._0,a._4._1,a._4._2,A5(p,n,a._1,a._2,a._3,a._4._3),a._4._4)}}return i.raise(f("rotateLeft of a node without enough children"))}()},w=function(a){return function(){switch(a.ctor){case"RBNode":switch(a._3.ctor){case"RBNode":return A5(p,a._0,a._3._1,a._3._2,a._3._3,A5(p,n,a._1,a._2,a._3._4,a._4))}}return i.raise(f("rotateRight of a node without enough children"))}()},x=function(a){return function(){switch(a.ctor){case"RBNode":switch(a._4.ctor){case"RBNode":switch(a._4._0.ctor){case"Red":return v(a)}}}return a}()},y=function(a){return function(){switch(a.ctor){case"RBNode":switch(a._3.ctor){case"RBNode":switch(a._3._0.ctor){case"Red":switch(a._3._3.ctor){case"RBNode":switch(a._3._3._0.ctor){case"Red":return w(a)}}}}}return a}()},z=function(a){return function(){switch(a.ctor){case"Black":return n;case"Red":return o}e.Case("Line 185, Column 16")}()},A=function(a){return function(){switch(a.ctor){case"RBNode":switch(a._3.ctor){case"RBNode":switch(a._4.ctor){case"RBNode":return A5(p,z(a._0),a._1,a._2,A5(p,z(a._3._0),a._3._1,a._3._2,a._3._3,a._3._4),A5(p,z(a._4._0),a._4._1,a._4._2,a._4._3,a._4._4))}}}return i.raise(f("color_flip called on a Empty or Node with a Empty child"))}()},B=function(a){return function(){switch(a.ctor){case"RBNode":switch(a._3.ctor){case"RBNode":switch(a._3._0.ctor){case"Red":switch(a._4.ctor){case"RBNode":switch(a._4._0.ctor){case"Red":return A(a)}}}}}return a}()},C=function(a){return B(y(x(a)))},D=function(a){return function(){switch(a.ctor){case"RBNode":switch(a._0.ctor){case"Red":return A5(p,o,a._1,a._2,a._3,a._4)}}return a}()},E=F3(function(a,b,c){return function(){var d=function(c){return function(){switch(c.ctor){case"RBEmpty":return A5(p,n,a,b,q,q);case"RBNode":return function(){var f=function(){var f=A2(m,a,c._1);switch(f.ctor){case"EQ":return A5(p,c._0,c._1,b,c._3,c._4);case"GT":return A5(p,c._0,c._1,c._2,c._3,d(c._4));case"LT":return A5(p,c._0,c._1,c._2,d(c._3),c._4)}e.Case("Line 218, Column 19")}();return C(f)}()}e.Case("Line 215, Column 7")}()};return D(d(c))}()}),F=F2(function(a,b){return A3(E,a,b,q)}),H=function(a){return function(){switch(a.ctor){case"RBNode":switch(a._3.ctor){case"RBNode":switch(a._3._0.ctor){case"Red":return!0}}}return!1}()},I=function(a){return function(){switch(a.ctor){case"RBNode":switch(a._3.ctor){case"RBNode":switch(a._3._3.ctor){case"RBNode":switch(a._3._3._0.ctor){case"Red":return!0}}}}return!1}()},J=function(a){return function(){switch(a.ctor){case"RBNode":switch(a._4.ctor){case"RBNode":switch(a._4._0.ctor){case"Red":return!0}}}return!1}()},K=function(a){return function(){switch(a.ctor){case"RBNode":switch(a._4.ctor){case"RBNode":switch(a._4._3.ctor){case"RBNode":switch(a._4._3._0.ctor){case"Red":return!0}}}}return!1}()},L=function(a){return function(){var b=A(a);return function(){switch(b.ctor){case"RBNode":return function(){switch(b._4.ctor){case"RBNode":switch(b._4._3.ctor){case"RBNode":switch(b._4._3._0.ctor){case"Red":return A(v(A5(p,b._0,b._1,b._2,b._3,w(b._4))))}}}return b}()}return b}()}()},M=function(a){return function(){var b=A(a);return I(b)?A(w(b)):b}()},N=function(a){return H(a)||I(a)?a:L(a)},O=function(a){return J(a)||K(a)?a:M(a)},P=function(a){return function(){var b=function(a){return function(){switch(a.ctor){case"RBNode":switch(a._3.ctor){case"RBEmpty":return q}}return function(){var c=N(a);switch(c.ctor){case"RBEmpty":return q;case"RBNode":return C(A5(p,c._0,c._1,c._2,b(c._3),c._4))}e.Case("Line 296, Column 12")}()}()};return D(b(a))}()},Q=F2(function(a,b){return function(){var d=function(b){return function(){switch(b.ctor){case"RBNode":switch(b._4.ctor){case"RBEmpty":return c.eq(a,b._1)}}return!1}()},g=function(b){return function(){switch(b.ctor){case"RBNode":return c.eq(a,b._1)}return!1}()},h=function(a){return function(){var b=N(a);switch(b.ctor){case"RBEmpty":return i.raise(f("delLT on Empty"));case"RBNode":return C(A5(p,b._0,b._1,b._2,l(b._3),b._4))}e.Case("Line 321, Column 17")}()},j=function(a){return function(){switch(a.ctor){case"RBEmpty":return i.raise(f("delEQ called on a Empty"));case"RBNode":return function(){var b=r(a._4),c=function(){switch(b.ctor){case"Tuple2":return b._0}e.Case("Line 325, Column 53")}(),d=function(){switch(b.ctor){case"Tuple2":return b._1}e.Case("Line 325, Column 53")}();return C(A5(p,a._0,c,d,a._3,P(a._4)))}()}e.Case("Line 324, Column 17")}()},k=function(a){return function(){switch(a.ctor){case"RBEmpty":return i.raise(f("delGT called on a Empty"));case"RBNode":return C(A5(p,a._0,a._1,a._2,a._3,l(a._4)))}e.Case("Line 328, Column 17")}()},l=function(b){return function(){switch(b.ctor){case"RBEmpty":return q;case"RBNode":return"LT"===c.cmp(a,b._1).ctor?h(b):function(){var a=H(b)?w(b):b;return d(a)?q:function(){var a=O(b);return g(a)?j(a):k(a)}()}()}e.Case("Line 331, Column 15")}()};return A2(u,a,b)?D(l(b)):b}()}),R=F2(function(a,b){return function(){switch(b.ctor){case"RBEmpty":return q;case"RBNode":return A5(p,b._0,b._1,a(b._2),A2(R,a,b._3),A2(R,a,b._4))}e.Case("Line 351, Column 3")}()}),S=F3(function(a,b,c){return function(){switch(c.ctor){case"RBEmpty":return b;case"RBNode":return A3(S,a,A3(a,c._1,c._2,A3(S,a,b,c._3)),c._4)}e.Case("Line 359, Column 3")}()}),T=F3(function(a,b,c){return function(){switch(c.ctor){case"RBEmpty":return b;case"RBNode":return A3(T,a,A3(a,c._1,c._2,A3(T,a,b,c._4)),c._3)}e.Case("Line 367, Column 3")}()}),U=F2(function(a,b){return A3(S,E,b,a)}),V=F2(function(a,b){return function(){var c=F3(function(a,c,d){return A2(u,a,b)?A3(E,a,c,d):d});return A3(S,c,_,a)}()}),W=F2(function(a,b){return A3(S,function(a){return function(){return function(b){return A2(Q,a,b)}}},a,b)}),X=function(a){return A3(T,function(a){return function(){return function(b){return d.Cons(a,b)}}},d.Nil,a)},Y=function(a){return A3(T,function(){return function(a){return function(b){return d.Cons(a,b)}}},d.Nil,a)},Z=function(a){return A3(T,function(a){return function(b){return function(c){return d.Cons({ctor:"Tuple2",_0:a,_1:b},c)}}},d.Nil,a)},$=function(a){return A3(j.foldl,function(a){return function(){switch(a.ctor){case"Tuple2":return function(b){return A3(E,a._0,a._1,b)}}e.Case("Line 402, Column 43")}()},_,a)},_=q;a.Native=a.Native||{};var k=a.Native.Dict||{};return k.$op={},k.empty=_,k.lookup=s,k.findWithDefault=t,k.member=u,k.insert=E,k.singleton=F,k.remove=Q,k.map=R,k.foldl=S,k.foldr=T,k.union=U,k.intersect=V,k.diff=W,k.keys=X,k.values=Y,k.toList=Z,k.fromList=$,a.Dict=k},Elm.Date=function(a){var b=Elm.Native;b.Utils(a),b.List(a),b.Error(a),b.JavaScript(a).toString;var h={ctor:"Mon"},i={ctor:"Tue"},j={ctor:"Wed"},k={ctor:"Thu"},l={ctor:"Fri"},m={ctor:"Sat"},n={ctor:"Sun"},o={ctor:"Jan"},p={ctor:"Feb"},q={ctor:"Mar"},r={ctor:"Apr"},s={ctor:"May"},t={ctor:"Jun"},u={ctor:"Jul"},v={ctor:"Aug"},w={ctor:"Sep"},x={ctor:"Oct"},y={ctor:"Nov"},z={ctor:"Dec"};a.Native=a.Native||{};var A=a.Native.Date||{};return A.$op={},A.Mon=h,A.Tue=i,A.Wed=j,A.Thu=k,A.Fri=l,A.Sat=m,A.Sun=n,A.Jan=o,A.Feb=p,A.Mar=q,A.Apr=r,A.May=s,A.Jun=t,A.Jul=u,A.Aug=v,A.Sep=w,A.Oct=x,A.Nov=y,A.Dec=z,a.Date=A},Elm.Color=function(a){var b=Elm.Native;b.Utils(a),b.List(a),b.Error(a),b.JavaScript(a).toString;var h=F4(function(a,b,c,d){return{ctor:"Color",_0:a,_1:b,_2:c,_3:d}}),i=F3(function(a,b,c){return{ctor:"Linear",_0:a,_1:b,_2:c}}),j=F5(function(a,b,c,d,e){return{ctor:"Radial",_0:a,_1:b,_2:c,_3:d,_4:e}}),k=F3(function(a,b,c){return A4(h,a,b,c,1)}),l=h,m=A4(h,255,0,0,1),n=A4(h,0,255,0,1),o=A4(h,0,0,255,1),p=A4(h,255,255,0,1),q=A4(h,0,255,255,1),r=A4(h,255,0,255,1),s=A4(h,0,0,0,1),t=A4(h,255,255,255,1),u=A4(h,128,128,128,1),v=A4(h,128,128,128,1),w=A4(h,128,0,0,1),x=A4(h,0,0,128,1),y=A4(h,0,128,0,1),z=A4(h,0,128,128,1),A=A4(h,128,0,128,1),B=A4(h,238,130,238,1),C=A4(h,34,139,34,1),D=i,E=j;a.Native=a.Native||{};var F=a.Native.Color||{};return F.$op={},F.Color=h,F.rgba=l,F.rgb=k,F.red=m,F.lime=n,F.blue=o,F.yellow=p,F.cyan=q,F.magenta=r,F.black=s,F.white=t,F.gray=u,F.grey=v,F.maroon=w,F.navy=x,F.green=y,F.teal=z,F.purple=A,F.violet=B,F.forestGreen=C,F.Linear=i,F.Radial=j,F.linear=D,F.radial=E,a.Color=F},Elm.Char=function(a){var b=Elm.Native;b.Utils(a),b.List(a),b.Error(a),b.JavaScript(a).toString;var b=Elm.Native.Char(a);a.Native=a.Native||{};var h=a.Native.Char||{};return h.$op={},a.Char=h},Elm.Automaton=function(a){var b=Elm.Native,c=b.Utils(a),d=b.List(a),e=b.Error(a);b.JavaScript(a).toString;var g={},h=Elm.Signal(a),j=h.lift,k=h.foldp,l=function(a){return{ctor:"Step",_0:a}},m=F3(function(a,b,c){return function(){var d=F2(function(a,b){return function(){switch(b.ctor){case"Tuple2":switch(b._0.ctor){case"Step":return b._0._0(a)}}e.Case("Line 15, Column 28")}()});return A2(j,function(a){return function(){switch(a.ctor){case"Tuple2":return a._1}e.Case("Line 16, Column 23")}()},A3(k,d,{ctor:"Tuple2",_0:a,_1:b},c))}()}),n=F2(function(a,b){return function(){switch(b.ctor){case"Step":return b._0(a)}e.Case("Line 20, Column 19")}()});g[">>>"]=F2(function(a,b){return l(function(c){return function(){var d=A2(n,c,a),f=function(){switch(d.ctor){case"Tuple2":return d._0}e.Case("Line 25, Column 29")}(),h=function(){switch(d.ctor){case"Tuple2":return d._1}e.Case("Line 25, Column 29")}(),i=A2(n,h,b),j=function(){switch(i.ctor){case"Tuple2":return i._0}e.Case("Line 26, Column 29")}(),k=function(){switch(i.ctor){case"Tuple2":return i._1}e.Case("Line 26, Column 29")}();return{ctor:"Tuple2",_0:g[">>>"](f)(j),_1:k}}()})}),g["<<<"]=F2(function(a,b){return g[">>>"](b)(a)});var o=function(a){return l(function(b){return function(){var c=unzip(A2(map,n(b),a)),d=function(){switch(c.ctor){case"Tuple2":return c._0}e.Case("Line 36, Column 34")}(),f=function(){switch(c.ctor){case"Tuple2":return c._1}e.Case("Line 36, Column 34")}();return{ctor:"Tuple2",_0:o(d),_1:f}}()})},p=function(a){return l(function(b){return{ctor:"Tuple2",_0:p(a),_1:a(b)}})},q=F2(function(a,b){return l(function(c){return function(){var d=A2(b,c,a);return{ctor:"Tuple2",_0:A2(q,d,b),_1:d}}()})}),r=F2(function(a,b){return l(function(c){return function(){var d=A2(b,c,a),f=function(){switch(d.ctor){case"Tuple2":return d._0}e.Case("Line 60, Column 46")}(),g=function(){switch(d.ctor){case"Tuple2":return d._1}e.Case("Line 60, Column 46")}();return{ctor:"Tuple2",_0:A2(r,f,b),_1:g}}()})}),s=F2(function(a,b){return function(){switch(b.ctor){case"Tuple2":return{ctor:"Tuple2",_0:d.Cons(a,b._0),_1:b._1}}e.Case("Line 69, Column 22")}()}),t=function(a){return function(){switch(a.ctor){case"Tuple2":switch(a._0.ctor){case"Nil":switch(a._1.ctor){case"Nil":return Nothing}}switch(a._1.ctor){case"Cons":return Just({ctor:"Tuple2",_0:a._1._0,_1:{ctor:"Tuple2",_0:a._0,_1:a._1._1}});case"Nil":return s({ctor:"Tuple2",_0:d.Nil,_1:reverse(a._0)})}}e.Case("Line 70, Column 13")}()},u=function(a){return function(){var b=F2(function(b,f){return function(){switch(f.ctor){case"Tuple3":return c.eq(f._1,a)?A2(d,b,{ctor:"Tuple3",_0:f._0,_1:f._1,_2:f._2}):{ctor:"Tuple2",_0:{ctor:"Tuple3",_0:A2(s,b,f._0),_1:1+f._1,_2:f._2+b},_1:(f._2+b)/(1+f._1)}}e.Case("Line 79, Column 11")}()}),d=F2(function(a,b){return function(){switch(b.ctor){case"Tuple3":return function(){var c=t(b._0);switch(c.ctor){case"Just":switch(c._0.ctor){case"Tuple2":return function(){var d=b._2+a-c._0._0;return{ctor:"Tuple2",_0:{ctor:"Tuple3",_0:A2(s,a,c._0._1),_1:b._1,_2:d},_1:d/b._1}}()}break;case"Nothing":return{ctor:"Tuple2",_0:{ctor:"Tuple3",_0:b._0,_1:b._1,_2:b._2},_1:0}}e.Case("Line 82, Column 11")}()}e.Case("Line 82, Column 11")}()});return A2(r,{ctor:"Tuple3",_0:w,_1:0,_2:0},b)}()},v=A2(q,0,function(){return function(a){return 1+a}}),w={ctor:"Tuple2",_0:d.Nil,_1:d.Nil};a.Native=a.Native||{};var h=a.Native.Automaton||{};return h.$op={">>>":g[">>>"],"<<<":g["<<<"]},h.Step=l,h.run=m,h.step=n,h.combine=o,h.pure=p,h.state=q,h.hiddenState=r,h.count=v,h.empty=w,h.enqueue=s,h.dequeue=t,h.average=u,a.Automaton=h},Elm.JavaScript=Elm.JavaScript||{},Elm.JavaScript.Experimental=function(a){var b=Elm.Native;b.Utils(a),b.List(a),b.Error(a),b.JavaScript(a).toString;var h=Elm.JavaScript(a),i=h.toRecord,j=h.fromRecord;a.Native=a.Native||{},a.Native.JavaScript=a.Native.JavaScript||{};var k=a.Native.JavaScript.Experimental||{};return k.$op={},k.toRecord=i,k.fromRecord=j,a.JavaScript=a.JavaScript||{},a.JavaScript.Experimental=k},Elm.Graphics=Elm.Graphics||{},Elm.Graphics.Input=function(a){var b=Elm.Native,f=(b.Utils(a),b.List(a),b.Error(a),b.JavaScript(a).toString),h=Elm.Signal(a),j=h.lift,k=h.dropRepeats,b=Elm.Native.Graphics.Input(a),h=Elm.List(a),l=h,m=function(a){return a},n=function(a){return function(){var c=b.buttons({ctor:"Tuple0"});return{ctor:"Tuple2",_0:A2(c.button,{ctor:"Tuple0"},a),_1:c.events}}()},o=F3(function(a,c,d){return function(){var e=b.customButtons({ctor:"Tuple0"});return{ctor:"Tuple2",_0:A4(e.customButton,{ctor:"Tuple0"},a,c,d),_1:e.events}}()}),p=function(a){return function(){var c=b.checkboxes(a);return{ctor:"Tuple2",_0:A2(j,c.box(m),c.events),_1:c.events}}()},q=F3(function(a,b,c){return{_:{},selectionEnd:c,selectionStart:b,string:a}}),r=function(a){return function(){var c=b.fields(v),d=k(c.events);return{ctor:"Tuple2",_0:A2(j,A2(c.field,m,a),d),_1:k(A2(j,function(a){return a.string},d))}}()},s=function(a){return function(){var c=b.passwords(v),d=k(c.events);return{ctor:"Tuple2",_0:A2(j,A2(c.field,m,a),d),_1:k(A2(j,function(a){return a.string},d))}}()},t=function(a){return function(){var c=b.emails(v),d=k(c.events);return{ctor:"Tuple2",_0:A2(j,A2(c.field,m,a),d),_1:k(A2(j,function(a){return a.string},d))}}()},u=function(a){return b.dropDown(A2(l.map,function(a){return{ctor:"Tuple2",_0:a,_1:a}},a))},v={_:{},selectionEnd:0,selectionStart:0,string:f("")};a.Native=a.Native||{},a.Native.Graphics=a.Native.Graphics||{};var h=a.Native.Graphics.Input||{};return h.$op={},h.id=m,h.button=n,h.customButton=o,h.checkbox=p,h.FieldState=q,h.emptyFieldState=v,h.field=r,h.password=s,h.email=t,h.stringDropDown=u,a.Graphics=a.Graphics||{},a.Graphics.Input=h},Elm.Graphics=Elm.Graphics||{},Elm.Graphics.Element=function(a){var b=Elm.Native,c=b.Utils(a),d=b.List(a),e=b.Error(a),f=b.JavaScript(a).toString,h=Elm.Native.Utils(a),i=i||{};i.Utils=h;var j=h.guid,k=h.max,l=h.htmlHeight,m=Elm.JavaScript(a),n=Elm.List(a),h=Elm.Color(a),h=Elm.Maybe(a),q=h.Just,r=h.Nothing,s=F4(function(a,b,c,d){return{ctor:"Image",_0:a,_1:b,_2:c,_3:d}}),t=F2(function(a,b){return{ctor:"Container",_0:a,_1:b}}),u=F2(function(a,b){return{ctor:"Flow",_0:a,_1:b}}),v={ctor:"Spacer"},y={ctor:"Plain"},z={ctor:"Fitted"},A=function(a){return{ctor:"Cropped",_0:a}},B={ctor:"Tiled"},C={ctor:"P"},D={ctor:"Z"},E={ctor:"N"},F=function(a){return{ctor:"Absolute",_0:a}},G=function(a){return{ctor:"Relative",_0:a}},H={ctor:"DUp"},I={ctor:"DDown"},J={ctor:"DLeft"},K={ctor:"DRight"},L={ctor:"DIn"},M={ctor:"DOut"},N=F7(function(a,b,c,d,e,f,g){return{_:{},color:e,height:c,href:f,id:a,opacity:d,tag:g,width:b}});F2(function(a,b){return{_:{},element:b,props:a}});var P=function(a){return a.props.width},Q=function(a){return a.props.height},R=function(a){return{ctor:"Tuple2",_0:a.props.width,_1:a.props.height}},S=F2(function(a,b){return function(){var d=b.props,f=function(){var f=b.element;switch(f.ctor){case"Image":return c.replace([["height",f._2/f._1*a]],d);case"RawHtml":return c.replace([["height",function(){var b=A2(l,a,f._0);!function(){switch(b.ctor){case"Tuple2":return b._0}e.Case("Line 50, Column 71")}();var d=function(){switch(b.ctor){case"Tuple2":return b._1}e.Case("Line 50, Column 71")}();return d}()]],d)}return d}();return{_:{},element:b.element,props:c.replace([["width",a]],f)}}()}),T=F2(function(a,b){return function(){var d=b.props;return function(){var e=b.element;switch(e.ctor){case"Image":return c.replace([["width",e._1/e._2*a]],d)}return d}(),{_:{},element:b.element,props:c.replace([["height",a]],d)}}()}),U=F3(function(a,b,c){return A2(T,b,A2(S,a,c))}),V=F2(function(a,b){return function(){var d=b.props;return{_:{},element:b.element,props:c.replace([["opacity",a]],d)}}()}),W=F2(function(a,b){return function(){var d=b.props;return{_:{},element:b.element,props:c.replace([["color",q(a)]],d)}}()}),X=F2(function(a,b){return function(){var d=b.props;return{_:{},element:b.element,props:c.replace([["tag",m.fromString(a)]],d)}}()}),Y=F2(function(a,b){return function(){var d=b.props;return{_:{},element:b.element,props:c.replace([["href",m.fromString(a)]],d)}}()}),Z=F3(function(a,b,c){return{_:{},element:c,props:A7(N,j({ctor:"Tuple0"}),a,b,1,r,tb,tb)}
}),$=F3(function(a,b,c){return A3(Z,a,b,A4(s,y,a,b,m.fromString(c)))}),_=F3(function(a,b,c){return A3(Z,a,b,A4(s,z,a,b,m.fromString(c)))}),ab=F4(function(a,b,c,d){return A3(Z,b,c,A4(s,A(a),b,c,m.fromString(d)))}),bb=F3(function(a,b,c){return A3(Z,a,b,A4(s,B,a,b,m.fromString(c)))});F4(function(a,b,c,d){return{_:{},horizontal:a,vertical:b,x:c,y:d}});var db=F4(function(a,b,c,d){return A3(Z,a,b,A2(t,c,d))}),eb=F2(function(a,b){return A3(Z,a,b,v)}),fb=F2(function(a,b){return function(){var f=F2(function(c,d){return A3(Z,c,d,A2(u,a,b))}),g=A2(n.map,P,b),h=A2(n.map,Q,b);return c.eq(b,d.Nil)?A2(eb,0,0):function(){switch(a.ctor){case"DDown":return A2(f,n.maximum(g),n.sum(h));case"DIn":return A2(f,n.maximum(g),n.maximum(h));case"DLeft":return A2(f,n.sum(g),n.maximum(h));case"DOut":return A2(f,n.maximum(g),n.maximum(h));case"DRight":return A2(f,n.sum(g),n.maximum(h));case"DUp":return A2(f,n.maximum(g),n.sum(h))}e.Case("Line 160, Column 3")}()}()}),gb=F2(function(a,b){return A3(Z,A2(k,P(a),P(b)),Q(a)+Q(b),A2(u,I,d.Cons(a,d.Cons(b,d.Nil))))}),hb=F2(function(a,b){return A3(Z,A2(k,P(b),P(a)),Q(b)+Q(a),A2(u,I,d.Cons(b,d.Cons(a,d.Nil))))}),ib=F2(function(a,b){return A3(Z,P(a)+P(b),A2(k,Q(a),Q(b)),A2(u,Ib,d.Cons(a,d.Cons(b,d.Nil))))}),jb=function(a){return function(){var b=A2(n.map,P,a),c=A2(n.map,Q,a);return A3(Z,n.maximum(b),n.maximum(c),A2(u,M,a))}()},kb=F2(function(a,b){return{_:{},horizontal:D,vertical:D,x:a,y:b}}),lb=F2(function(a,b){return{_:{},horizontal:E,vertical:C,x:a,y:b}}),mb=F2(function(a,b){return{_:{},horizontal:C,vertical:C,x:a,y:b}}),nb=F2(function(a,b){return{_:{},horizontal:E,vertical:E,x:a,y:b}}),ob=F2(function(a,b){return{_:{},horizontal:C,vertical:E,x:a,y:b}}),pb=F2(function(a,b){return{_:{},horizontal:E,vertical:D,x:a,y:b}}),qb=F2(function(a,b){return{_:{},horizontal:C,vertical:D,x:a,y:b}}),rb=F2(function(a,b){return{_:{},horizontal:D,vertical:C,x:a,y:b}}),sb=F2(function(a,b){return{_:{},horizontal:D,vertical:E,x:a,y:b}}),tb=m.fromString(f("")),ub=F,vb=G,wb={_:{},horizontal:D,vertical:D,x:G(.5),y:G(.5)},xb={_:{},horizontal:E,vertical:C,x:F(0),y:F(0)},yb=c.replace([["horizontal",C]],xb),zb=c.replace([["vertical",E]],xb),Ab=c.replace([["horizontal",C]],zb),Bb=c.replace([["horizontal",E],["x",F(0)]],wb),Cb=c.replace([["horizontal",C]],Bb),Db=c.replace([["vertical",C],["y",F(0)]],wb),Eb=c.replace([["vertical",E]],Db),Fb=H,Gb=I,Hb=J,Ib=K,Jb=L,Kb=M;a.Native=a.Native||{},a.Native.Graphics=a.Native.Graphics||{};var h=a.Native.Graphics.Element||{};return h.$op={},h.widthOf=P,h.heightOf=Q,h.sizeOf=R,h.width=S,h.height=T,h.size=U,h.opacity=V,h.color=W,h.tag=X,h.link=Y,h.newElement=Z,h.image=$,h.fittedImage=_,h.croppedImage=ab,h.tiledImage=bb,h.container=db,h.spacer=eb,h.flow=fb,h.above=gb,h.below=hb,h.beside=ib,h.layers=jb,h.absolute=ub,h.relative=vb,h.middle=wb,h.topLeft=xb,h.topRight=yb,h.bottomLeft=zb,h.bottomRight=Ab,h.midLeft=Bb,h.midRight=Cb,h.midTop=Db,h.midBottom=Eb,h.middleAt=kb,h.topLeftAt=lb,h.topRightAt=mb,h.bottomLeftAt=nb,h.bottomRightAt=ob,h.midLeftAt=pb,h.midRightAt=qb,h.midTopAt=rb,h.midBottomAt=sb,h.up=Fb,h.down=Gb,h.left=Hb,h.right=Ib,h.inward=Jb,h.outward=Kb,a.Graphics=a.Graphics||{},a.Graphics.Element=h},Elm.Graphics=Elm.Graphics||{},Elm.Graphics.Collage=function(a){var b=Elm.Native,c=b.Utils(a),d=b.List(a),e=b.Error(a);b.JavaScript(a).toString;var h=Elm.List(a),i=h,h=Elm.Native.Utils(a),j=j||{};j.Utils=h;var k=h.toFloat,h=Elm.Either(a),l=h,m=Elm.Native.Matrix2D(a),b=Elm.Native.Graphics.Collage(a),h=Elm.Graphics.Element(a),n=n||{};n.Element=h;var h=Elm.Color(a),o=h,p=function(a){return{ctor:"Solid",_0:a}},q=function(a){return{ctor:"Texture",_0:a}},r=function(a){return{ctor:"Gradient",_0:a}},s={ctor:"Flat"},t={ctor:"Round"},u={ctor:"Padded"},v={ctor:"Smooth"},w=function(a){return{ctor:"Sharp",_0:a}},x={ctor:"Clipped"},y=F2(function(a,b){return{ctor:"FPath",_0:a,_1:b}}),z=F2(function(a,b){return{ctor:"FShape",_0:a,_1:b}}),A=F4(function(a,b,c,d){return{ctor:"FImage",_0:a,_1:b,_2:c,_3:d}}),B=function(a){return{ctor:"FElement",_0:a}},C=F2(function(a,b){return{ctor:"FGroup",_0:a,_1:b}}),D=F5(function(a,b,c,d,e){return{_:{},form:e,scale:b,theta:a,x:c,y:d}}),E=F6(function(a,b,c,d,e,f){return{_:{},cap:c,color:a,dashOffset:f,dashing:e,join:d,width:b}}),F=function(a){return c.replace([["color",a]],eb)},G=function(a){return c.replace([["color",a],["dashing",d.Cons(8,d.Cons(4,d.Nil))]],eb)},H=function(a){return c.replace([["color",a],["dashing",d.Cons(3,d.Cons(3,d.Nil))]],eb)},I=function(a){return{_:{},form:a,scale:1,theta:0,x:0,y:0}},J=F2(function(a,b){return I(A2(z,l.Right(a),b))}),K=F2(function(a,b){return A2(J,p(a),b)}),L=F2(function(a,b){return A2(J,q(a),b)}),M=F2(function(a,b){return A2(J,r(a),b)}),N=F2(function(a,b){return I(A2(z,l.Left(a),b))}),O=F2(function(a,b){return I(A2(y,a,b))}),P=F4(function(a,b,c,d){return I(A4(A,a,b,c,d))}),Q=function(a){return I(B(a))},R=function(a){return I(A2(C,m.identity,a))},S=F2(function(a,b){return I(A2(C,a,b))}),T=F2(function(a,b){return c.replace([["theta",b.theta+a]],b)}),U=F2(function(a,b){return c.replace([["scale",b.scale*a]],b)}),V=F2(function(a,b){return function(){switch(a.ctor){case"Tuple2":return c.replace([["x",b.x+a._0],["y",b.y+a._1]],b)}e.Case("Line 138, Column 20")}()}),W=F2(function(a,b){return c.replace([["x",b.x+a]],b)}),X=F2(function(a,b){return c.replace([["y",b.y+a]],b)}),Y=function(a){return a},Z=F2(function(a,b){return d.Cons(a,d.Cons(b,d.Nil))}),$=function(a){return a},_=F2(function(a,b){return function(){var c=a/2,e=b/2;return d.Cons({ctor:"Tuple2",_0:0-c,_1:0-e},d.Cons({ctor:"Tuple2",_0:0-c,_1:e},d.Cons({ctor:"Tuple2",_0:c,_1:e},d.Cons({ctor:"Tuple2",_0:c,_1:0-e},d.Nil))))}()}),ab=function(a){return A2(_,a,a)},bb=F2(function(a,b){return function(){var c=function(a){return{ctor:"Tuple2",_0:g*Math.cos(f*a),_1:h*Math.sin(f*a)}},e=50,f=2*Math.PI/e,g=a/2,h=b/2;return A2(i.map,c,d.range(0,e-1))}()}),cb=function(a){return A2(bb,2*a,2*a)},db=F2(function(a,b){return function(){var c=function(a){return{ctor:"Tuple2",_0:b*Math.cos(f*a),_1:b*Math.sin(f*a)}},e=k(a),f=2*Math.PI/e;return A2(i.map,c,d.range(0,a-1))}()}),eb={_:{},cap:s,color:o.black,dashOffset:0,dashing:d.Nil,join:w(10),width:1};a.Native=a.Native||{},a.Native.Graphics=a.Native.Graphics||{};var h=a.Native.Graphics.Collage||{};return h.$op={},h.Form=D,h.Solid=p,h.Texture=q,h.Gradient=r,h.Flat=s,h.Round=t,h.Padded=u,h.Smooth=v,h.Sharp=w,h.Clipped=x,h.LineStyle=E,h.defaultLine=eb,h.solid=F,h.dashed=G,h.dotted=H,h.FPath=y,h.FShape=z,h.FImage=A,h.FElement=B,h.FGroup=C,h.form=I,h.fill=J,h.filled=K,h.textured=L,h.gradient=M,h.outlined=N,h.traced=O,h.sprite=P,h.toForm=Q,h.group=R,h.groupTransform=S,h.rotate=T,h.scale=U,h.move=V,h.moveX=W,h.moveY=X,h.path=Y,h.segment=Z,h.polygon=$,h.rect=_,h.square=ab,h.oval=bb,h.circle=cb,h.ngon=db,a.Graphics=a.Graphics||{},a.Graphics.Collage=h},function(){"use strict";function a(b){if(!("defaultNumberOfKids"in b))return!0;var c=b.kids.length;if(0===c)return!1;if(c>b.defaultNumberOfKids)return!0;for(var d=!1,e=c;e--;)d=d||a(b.kids[e]);return d}ElmRuntime.Display={FULLSCREEN:0,COMPONENT:1,NONE:2},ElmRuntime.counter=0,ElmRuntime.guid=function(){return ElmRuntime.counter++},ElmRuntime.use=function(a){return"function"==typeof a&&(a=a()),a},ElmRuntime.filterDeadInputs=function(b){for(var c=[],d=b.length;d--;)a(b[d])&&c.push(b[d]);return c};for(var b=["ms","moz","webkit","o"],c=0;c0&&(window.location=a.value)}),a===ElmRuntime.Display.NONE)return c(h),{send:i,recv:j};var k=ElmRuntime.use(ElmRuntime.Render.Element);d=c(h).main;var l=Elm.Signal(h);"recv"in d||(d=l.constant(d)),f=d.value,e=ElmRuntime.filterDeadInputs(e),b.appendChild(k.render(f)),h.Native.Window&&h.Native.Window.resizeIfNeeded();var m=k.update;return d=A2(l.lift,n,d),{send:i,recv:j,node:b}}Elm.fullscreen=function(b){var c=document.createElement("style");c.type="text/css",c.innerHTML="html,head,body { padding:0; margin:0; }body { font-family: calibri, helvetica, arial, sans-serif; }",document.head.appendChild(c);var d=document.createElement("div");return document.body.appendChild(d),a(ElmRuntime.Display.FULLSCREEN,d,b)},Elm.byId=function(b,c){var d=document.getElementById(b),e=d.tagName;if("DIV"!==e)throw new Error("Elm.byId must be given a div, not a "+e+".");for(;d.hasChildNodes();)d.removeChild(d.lastChild);return a(ElmRuntime.Display.COMPONENT,d,c)},Elm.worker=function(b){return a(ElmRuntime.Display.NONE,{},b)}}(),ElmRuntime.Render.Utils=function(){"use strict";function a(a){var b=document.createElement(a);return b.style.padding="0",b.style.margin="0",b}function b(a,b){a.appendChild(b)}function c(a){return 1===a._3?"rgb("+a._0+","+a._1+","+a._2+")":"rgba("+a._0+","+a._1+","+a._2+","+a._3+")"}function d(a,b){a.transform=b,a.msTransform=b,a.MozTransform=b,a.webkitTransform=b,a.OTransform=b}function e(a){a.transform="none",a.msTransform="none",a.MozTransform="none",a.webkitTransform="none",a.OTransform="none"}var f=Elm.Native.List({});return{addTo:b,newElement:a,extract:c,fromList:f.toArray,fromString:function(a){return f.toArray(a).join("")},toString:f.fromArray,eq:Elm.Native.Utils({}).eq,addTransform:d,removeTransform:e}},ElmRuntime.Render.Element=function(){"use strict";function h(a,d){if(d.style.width=(0|a.width)+"px",d.style.height=(0|a.height)+"px",1!==a.opacity&&(d.style.opacity=a.opacity),"Just"===a.color.ctor&&(d.style.backgroundColor=c(a.color._0)),""!==a.tag&&(d.id=a.tag),""!==a.href){var e=b("a");return e.href=a.href,e.appendChild(d),e}return d}function i(a,b){switch(b._0.ctor){case"Plain":return j(b._3);case"Fitted":return l(a.width,a.height,b._3);case"Cropped":return m(b,a.width,a.height,b._3);case"Tiled":return k(b._3)}}function j(a){var c=b("img");return c.src=a,c.name=a,c.style.display="block",c}function k(a){var c=b("div");return c.style.backgroundImage="url("+a+")",c}function l(a,c,d){var e=b("div");return e.style.background="url("+d+") no-repeat center",e.style.webkitBackgroundSize="cover",e.style.MozBackgroundSize="cover",e.style.OBackgroundSize="cover",e.style.backgroundSize="cover",e}function m(a,c,d,e){var f=a._0._0,g=b("div");g.style.position="relative",g.style.overflow="hidden";var h=b("img");return h.onload=function(){h.style.position="absolute",h.style.margin="auto";var b=c/a._1,e=d/a._2;h.style.width=(0|this.width*b)+"px",h.style.height=(0|this.height*e)+"px",h.style.left=(0|-f._0*b)+"px",h.style.top=(0|-f._1*e)+"px"},h.src=e,h.name=e,g.appendChild(h),g}function n(a){return a.style.position="absolute",a}function o(a){return a}function p(a){return a.style.styleFloat=a.style.cssFloat="left",a}function q(a,c){for(var d=b("div"),e=c.length;e--;)d.appendChild(a(w(c[e])));return d}function r(a,b){var c=f(b);switch(a.ctor){case"DDown":c.reverse();case"DUp":return q(o,c);case"DRight":c.reverse();case"DLeft":return q(p,c);case"DOut":c.reverse();case"DIn":return q(n,c)}}function s(a){switch(a.ctor){case"Absolute":return a._0+"px";case"Relative":return 100*a._0+"%"}}function t(a,b,c,e){e.style.position="absolute",e.style.margin="auto";var f="";switch(a.horizontal.ctor){case"P":e.style.right=s(a.x);break;case"Z":f="translateX("+(0|-b/2)+"px) ";case"N":e.style.left=s(a.x)}switch(a.vertical.ctor){case"N":e.style.bottom=s(a.y);break;case"Z":f+="translateY("+(0|-c/2)+"px)";case"P":e.style.top=s(a.y)}return""!==f&&d(e.style,f),e}function u(a,c){var d=w(c);t(a,c.props.width,c.props.height,d);var e=b("div");return e.style.position="relative",e.style.overflow="hidden",e.appendChild(d),e}function v(a){var c=b("div");return c.innerHTML=a,c}function w(a){return h(a.props,x(a))}function x(a){var c=a.element;switch(c.ctor){case"Image":return i(a.props,c);case"Flow":return r(c._0,c._1);case"Container":return u(c._0,c._1);case"Spacer":return b("div");case"RawHtml":return v(c._0);case"Custom":return c.render(c.model)}}function y(a,b,c){if("A"===a.tagName&&(a=a.firstChild),b.props.id===c.props.id)return z(a,b,c);if(b.element.ctor!==c.element.ctor)return a.parentNode.replaceChild(w(c),a),!0;var d=c.element,h=b.element;switch(d.ctor){case"Spacer":break;case"RawHtml":d._0!==h._0&&(a.innerHTML=d._0);break;case"Image":if("Plain"!==d._0.ctor)d._3!==h._3&&(a.src=d._3);else if(!g(d,h)||c.props.width!==b.props.width||c.props.height!==b.props.height)return a.parentNode.replaceChild(w(c),a),!0;break;case"Flow":for(var i=f(d._1),j=i.length;j--;)i[j]=i[j].element.ctor;if(d._0.ctor!==h._0.ctor)return a.parentNode.replaceChild(w(c),a),!0;var k=f(d._1),l=a.childNodes;if(k.length!==l.length)return a.parentNode.replaceChild(w(c),a),!0;var m=f(h._1),q=function(a){return a};switch(d._0.ctor){case"DDown":case"DUp":q=o;break;case"DRight":case"DLeft":q=p;break;case"DOut":case"DIn":q=n}for(var j=l.length;j--;)y(l[j],m[j],k[j]),q(l[j]);break;case"Container":var r=a.firstChild;y(r,h._1,d._1)||(d._0.horizontal.ctor!==h._0.horizontal.ctor&&(r.style.left=r.style.right="none",e(r.style)),d._0.vertical.ctor!==h._0.vertical.ctor&&(r.style.top=r.style.bottom="none",e(r.style))),t(d._0,d._1.props.width,d._1.props.height,r);break;case"Custom":if(h.type!==d.type)return a.parentNode.replaceChild(w(c),a);var s=d.update(a,h.model,d.model);if(s)return}z(a,b,c)}function z(a,d,e){var f=e.props,g=d.props,h=a;f.width!==g.width&&(h.style.width=(0|f.width)+"px"),f.height!==g.height&&(h.style.height=(0|f.height)+"px"),1!==f.opacity&&f.opacity!==g.opacity&&(h.style.opacity=f.opacity);var i="Just"===f.color.ctor?c(f.color._0):"transparent";if(h.style.backgroundColor!==i&&(h.style.backgroundColor=i),f.tag!==g.tag&&(h.id=f.tag),f.href!==g.href)if(""===g.href){var j=b("a");j.href=f.href,j.appendChild(h),h.parentNode.replaceChild(j,h)}else a.parentNode.href=f.href}var a=ElmRuntime.use(ElmRuntime.Render.Utils),b=a.newElement,c=a.extract,d=a.addTransform,e=a.removeTransform,f=a.fromList,g=a.eq;return{render:w,update:y}},ElmRuntime.Render.Collage=function(){"use strict";function i(a,b){var c=f(b),d=c.length-1;if(!(0>=d)){for(a.moveTo(c[d]._0,c[d]._1);d--;)a.lineTo(c[d]._0,c[d]._1);b.closed&&(d=c.length-1,a.lineTo(c[d]._0,c[d]._1))}}function j(a,b,c){"Nil"===b.dashing.ctor?i(a,c):k(a,b,c),a.stroke()}function k(a,b,c){var d=f(c);c.closed&&d.push(d[0]);var e=f(b.dashing),g=d.length-1;if(!(0>=g)){var h=d[g]._0,i=d[g]._1,j=0,k=0,l=0,m=0,n=0,q=0,r=e.length,s=!0,t=e[0];for(a.moveTo(h,i);g--;){for(j=d[g]._0,k=d[g]._1,l=j-h,m=k-i,n=Math.sqrt(l*l+m*m);n>=t;)h+=l*t/n,i+=m*t/n,a[s?"lineTo":"moveTo"](h,i),l=j-h,m=k-i,n=Math.sqrt(l*l+m*m),s=!s,q=(q+1)%r,t=e[q];n>0&&(a[s?"lineTo":"moveTo"](j,k),t-=n),h=j,i=k}}}function l(a,b,c){a.lineWidth=b.width;var d=b.cap.ctor;a.lineCap="Flat"===d?"butt":"Round"===d?"round":"square";var f=b.join.ctor;return a.lineJoin="Smooth"===f?"round":"Sharp"===f?"miter":"bevel",a.miterLimit=b.join._0||10,a.strokeStyle=e(b.color),j(a,b,c)}function m(a,b,c){var d=new Image;return d.src=g(c),d.onload=a,b.createPattern(d,"repeat")}function n(a,b){var c,d=[];if("Linear"===b.ctor){var g=b._0,h=b._1;c=a.createLinearGradient(g._0,-g._1,h._0,-h._1),d=f(b._2)}else{var g=b._0,i=b._2;c=a.createRadialGradient(g._0,-g._1,b._1,i._0,-i._1,b._3),d=f(b._4)}for(var j=d.length,k=0;j>k;++k){var l=d[k];c.addColorStop(l._0,e(l._1))}return c}function o(a,b,c,d){i(b,d);var f=c.ctor;b.fillStyle="Solid"===f?e(c._0):"Texture"===f?m(a,b,c._0):n(b,c._0),b.fill()}function p(a,b,c){var d=new Image;d.onload=a,d.src=g(c._3);var e=c._0,f=c._1,h=c._2,i=h._0,j=h._1,k=e,l=f,m=-e/2,n=-f/2,o=e,p=f;b.drawImage(d,i,j,k,l,m,n,o,p)}function q(a,b,c){b.save();var d=c.x,e=c.y,f=c.theta,g=c.scale;(0!==d||0!==e)&&b.translate(d,e),0!==f&&b.rotate(f),b.scale(g,-g),b.beginPath();var h=c.form;switch(h.ctor){case"FPath":l(b,h._0,h._1);break;case"FImage":p(a,b,h);break;case"FShape":"Left"===h._0.ctor?(h._1.closed=!0,l(b,h._0._0,h._1)):o(a,b,h._0._0,h._1)}b.restore()}function r(a){var c=a.scale,d=A6(b.matrix,c,0,0,c,c*a.x,c*a.y),e=a.theta;return 0!==e&&(d=A2(b.multiply,d,b.rotation(e))),d}function s(a,c,d,e){for(var f=d.form._0.props,g=A6(b.matrix,1,0,0,1,(a-f.width)/2,(c-f.height)/2),h=e.length,i=0;h>i;++i)g=A2(b.multiply,g,e[i]);return g=A2(b.multiply,g,r(d)),"matrix("+g[0]+","+g[3]+","+-g[1]+","+-g[4]+","+g[2]+","+g[5]+")"}function t(a){function d(){return cd;++d)if(b=c[d].peekNext())return b;return""}function f(a){for(;!c[0].peekNext();)c.shift(),d.pop(),a.restore();var e=c[0].next(),f=e.form;if("FGroup"===f.ctor){c.unshift(t(f._1));var g=A2(b.multiply,f._0,r(e));a.save(),a.transform(g[0],g[3],g[1],g[4],g[2],g[5]),d.push(g)}return e}function g(){return d}var c=[t(a)],d=[];return{peekNext:e,next:f,transforms:g}}function v(a,b){var c=d("canvas");return c.style.width=a+"px",c.style.height=b+"px",c.style.display="block",c.style.position="absolute",c.width=a,c.height=b,c}function w(a){var b=d("div");return y(b,a,a),b}function x(b,c,e){function i(a,d){d.translate(b/2,c/2);for(var e=a.length,f=0;e>f;++f){var g=a[f];d.save(),d.transform(g[0],g[3],g[1],g[4],g[2],g[5])}return d}function j(a){for(;g