Skip to content

Instantly share code, notes, and snippets.

@danneu
Created August 27, 2018 15:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save danneu/3df9a5e5615710b8dd91a5715fba6b82 to your computer and use it in GitHub Desktop.
Save danneu/3df9a5e5615710b8dd91a5715fba6b82 to your computer and use it in GitHub Desktop.
--mangle turned off to make the output easier to compare. after gzip, the first one compresses to 6.8KB.
function(){!function(scope){"use strict";function F(arity,fun,wrapper){return wrapper.a=arity,wrapper.f=fun,wrapper}function F2(fun){return F(2,fun,function(a){return function(b){return fun(a,b)}})}function F3(fun){return F(3,fun,function(a){return function(b){return function(c){return fun(a,b,c)}}})}function F4(fun){return F(4,fun,function(a){return function(b){return function(c){return function(d){return fun(a,b,c,d)}}}})}function F5(fun){return F(5,fun,function(a){return function(b){return function(c){return function(d){return function(e){return fun(a,b,c,d,e)}}}}})}function A2(fun,a,b){return 2===fun.a?fun.f(a,b):fun(a)(b)}function A3(fun,a,b,c){return 3===fun.a?fun.f(a,b,c):fun(a)(b)(c)}function A4(fun,a,b,c,d){return 4===fun.a?fun.f(a,b,c,d):fun(a)(b)(c)(d)}function A5(fun,a,b,c,d,e){return 5===fun.a?fun.f(a,b,c,d,e):fun(a)(b)(c)(d)(e)}var _List_Nil={$:0};function _List_Cons(hd,tl){return{$:1,a:hd,b:tl}}var _List_cons=F2(_List_Cons);function _List_fromArray(arr){for(var out=_List_Nil,i=arr.length;i--;)out=_List_Cons(arr[i],out);return out}function _Utils_cmp(x,y,ord){if("object"!=typeof x)return x===y?0:y>x?-1:1;if(!x.$)return(ord=_Utils_cmp(x.a,y.a))?ord:(ord=_Utils_cmp(x.b,y.b))?ord:_Utils_cmp(x.c,y.c);for(;x.b&&y.b&&!(ord=_Utils_cmp(x.a,y.a));x=x.b,y=y.b);return ord||(x.b?1:y.b?-1:0)}var _Utils_Tuple0=0;function _Utils_Tuple2(a,b){return{a:a,b:b}}var _JsArray_initialize=F3(function(size,offset,func){for(var result=Array(size),i=0;size>i;i++)result[i]=func(offset+i);return result}),_JsArray_initializeFromList=F2(function(max,ls){for(var result=Array(max),i=0;max>i&&ls.b;i++)result[i]=ls.a,ls=ls.b;return result.length=i,_Utils_Tuple2(result,ls)});function _Debug_crash(identifier){throw Error("https://github.com/elm/core/blob/1.0.0/hints/"+identifier+".md")}var _Basics_ceiling=Math.ceil,_Basics_floor=Math.floor,_Basics_log=Math.log;var _Json_run=F2(function(decoder,value){return _Json_runHelp(decoder,_Json_unwrap(value))});function _Json_runHelp(decoder,value){switch(decoder.$){case 3:return"boolean"==typeof value?elm$core$Result$Ok(value):_Json_expecting("a BOOL",value);case 2:return"number"!=typeof value?_Json_expecting("an INT",value):value>-2147483647&&2147483647>value&&(0|value)===value?elm$core$Result$Ok(value):!isFinite(value)||value%1?_Json_expecting("an INT",value):elm$core$Result$Ok(value);case 4:return"number"==typeof value?elm$core$Result$Ok(value):_Json_expecting("a FLOAT",value);case 6:return"string"==typeof value?elm$core$Result$Ok(value):value instanceof String?elm$core$Result$Ok(value+""):_Json_expecting("a STRING",value);case 9:return null===value?elm$core$Result$Ok(decoder.c):_Json_expecting("null",value);case 5:return elm$core$Result$Ok(_Json_wrap(value));case 7:return Array.isArray(value)?_Json_runArrayDecoder(decoder.b,value,_List_fromArray):_Json_expecting("a LIST",value);case 8:return Array.isArray(value)?_Json_runArrayDecoder(decoder.b,value,_Json_toElmArray):_Json_expecting("an ARRAY",value);case 10:var field=decoder.d;if("object"!=typeof value||null===value||!(field in value))return _Json_expecting("an OBJECT with a field named `"+field+"`",value);var result=_Json_runHelp(decoder.b,value[field]);return elm$core$Result$isOk(result)?result:elm$core$Result$Err(A2(elm$json$Json$Decode$Field,field,result.a));case 11:var index=decoder.e;if(!Array.isArray(value))return _Json_expecting("an ARRAY",value);if(index>=value.length)return _Json_expecting("a LONGER array. Need index "+index+" but only see "+value.length+" entries",value);result=_Json_runHelp(decoder.b,value[index]);return elm$core$Result$isOk(result)?result:elm$core$Result$Err(A2(elm$json$Json$Decode$Index,index,result.a));case 12:if("object"!=typeof value||null===value||Array.isArray(value))return _Json_expecting("an OBJECT",value);var keyValuePairs=_List_Nil;for(var key in value)if(value.hasOwnProperty(key)){result=_Json_runHelp(decoder.b,value[key]);if(!elm$core$Result$isOk(result))return elm$core$Result$Err(A2(elm$json$Json$Decode$Field,key,result.a));keyValuePairs=_List_Cons(_Utils_Tuple2(key,result.a),keyValuePairs)}return elm$core$Result$Ok(elm$core$List$reverse(keyValuePairs));case 13:for(var answer=decoder.f,decoders=decoder.g,i=0;decoders.length>i;i++){result=_Json_runHelp(decoders[i],value);if(!elm$core$Result$isOk(result))return result;answer=answer(result.a)}return elm$core$Result$Ok(answer);case 14:result=_Json_runHelp(decoder.b,value);return elm$core$Result$isOk(result)?_Json_runHelp(decoder.h(result.a),value):result;case 15:for(var errors=_List_Nil,temp=decoder.g;temp.b;temp=temp.b){result=_Json_runHelp(temp.a,value);if(elm$core$Result$isOk(result))return result;errors=_List_Cons(result.a,errors)}return elm$core$Result$Err(elm$json$Json$Decode$OneOf(elm$core$List$reverse(errors)));case 1:return elm$core$Result$Err(A2(elm$json$Json$Decode$Failure,decoder.a,_Json_wrap(value)));case 0:return elm$core$Result$Ok(decoder.a)}}function _Json_runArrayDecoder(decoder,value,toElmValue){for(var len=value.length,array=Array(len),i=0;len>i;i++){var result=_Json_runHelp(decoder,value[i]);if(!elm$core$Result$isOk(result))return elm$core$Result$Err(A2(elm$json$Json$Decode$Index,i,result.a));array[i]=result.a}return elm$core$Result$Ok(toElmValue(array))}function _Json_toElmArray(array){return A2(elm$core$Array$initialize,array.length,function(i){return array[i]})}function _Json_expecting(type,value){return elm$core$Result$Err(A2(elm$json$Json$Decode$Failure,"Expecting "+type,_Json_wrap(value)))}function _Json_equality(x,y){if(x===y)return!0;if(x.$!==y.$)return!1;switch(x.$){case 0:case 1:return x.a===y.a;case 3:case 2:case 4:case 6:case 5:return!0;case 9:return x.c===y.c;case 7:case 8:case 12:return _Json_equality(x.b,y.b);case 10:return x.d===y.d&&_Json_equality(x.b,y.b);case 11:return x.e===y.e&&_Json_equality(x.b,y.b);case 13:return x.f===y.f&&_Json_listEquality(x.g,y.g);case 14:return x.h===y.h&&_Json_equality(x.b,y.b);case 15:return _Json_listEquality(x.g,y.g)}}function _Json_listEquality(aDecoders,bDecoders){var len=aDecoders.length;if(len!==bDecoders.length)return!1;for(var i=0;len>i;i++)if(!_Json_equality(aDecoders[i],bDecoders[i]))return!1;return!0}function _Json_wrap(value){return value}function _Json_unwrap(value){return value}_Json_wrap(null);function _Scheduler_succeed(value){return{$:0,a:value}}function _Scheduler_binding(callback){return{$:2,b:callback,c:null}}var _Scheduler_andThen=F2(function(callback,task){return{$:3,b:callback,d:task}});var _Scheduler_guid=0;function _Scheduler_rawSpawn(task){var proc={$:0,e:_Scheduler_guid++,f:task,g:null,h:[]};return _Scheduler_enqueue(proc),proc}function _Scheduler_spawn(task){return _Scheduler_binding(function(callback){callback(_Scheduler_succeed(_Scheduler_rawSpawn(task)))})}function _Scheduler_rawSend(proc,msg){proc.h.push(msg),_Scheduler_enqueue(proc)}var _Scheduler_working=!1,_Scheduler_queue=[];function _Scheduler_enqueue(proc){if(_Scheduler_queue.push(proc),!_Scheduler_working){for(_Scheduler_working=!0;proc=_Scheduler_queue.shift();)_Scheduler_step(proc);_Scheduler_working=!1}}function _Scheduler_step(proc){for(;proc.f;){var rootTag=proc.f.$;if(0===rootTag||1===rootTag){for(;proc.g&&proc.g.$!==rootTag;)proc.g=proc.g.i;if(!proc.g)return;proc.f=proc.g.b(proc.f.a),proc.g=proc.g.i}else{if(2===rootTag)return void(proc.f.c=proc.f.b(function(newRoot){proc.f=newRoot,_Scheduler_enqueue(proc)}));if(5===rootTag){if(0===proc.h.length)return;proc.f=proc.f.b(proc.h.shift())}else proc.g={$:3===rootTag?0:1,b:proc.f.b,i:proc.g},proc.f=proc.f.d}}}function _Platform_initialize(flagDecoder,args,init,update,subscriptions,stepperBuilder){var result=A2(_Json_run,flagDecoder,_Json_wrap(args?args.flags:void 0));elm$core$Result$isOk(result)||_Debug_crash(2);var managers={},model=(result=init(result.a)).a,stepper=stepperBuilder(sendToApp,model),ports=function(managers,sendToApp){var ports;for(var key in _Platform_effectManagers){var manager=_Platform_effectManagers[key];manager.a&&((ports=ports||{})[key]=manager.a(key,sendToApp)),managers[key]=_Platform_instantiateManager(manager,sendToApp)}return ports}(managers,sendToApp);function sendToApp(msg,viewMetadata){stepper(model=(result=A2(update,msg,model)).a,viewMetadata),_Platform_dispatchEffects(managers,result.b,subscriptions(model))}return _Platform_dispatchEffects(managers,result.b,subscriptions(model)),ports?{ports:ports}:{}}var _Platform_effectManagers={};function _Platform_instantiateManager(info,sendToApp){var router={g:sendToApp,h:void 0},onEffects=info.c,onSelfMsg=info.d,cmdMap=info.e,subMap=info.f;return router.h=_Scheduler_rawSpawn(A2(_Scheduler_andThen,function loop(state){return A2(_Scheduler_andThen,loop,{$:5,b:function(msg){var value=msg.a;return 0===msg.$?A3(onSelfMsg,router,value,state):cmdMap&&subMap?A4(onEffects,router,value.i,value.j,state):A3(onEffects,router,cmdMap?value.i:value.j,state)}})},info.b))}var _Platform_sendToApp=F2(function(router,msg){return _Scheduler_binding(function(callback){router.g(msg),callback(_Scheduler_succeed(_Utils_Tuple0))})});function _Platform_leaf(home){return function(value){return{$:1,k:home,l:value}}}function _Platform_batch(list){return{$:2,m:list}}function _Platform_dispatchEffects(managers,cmdBag,subBag){var effectsDict={};for(var home in _Platform_gatherEffects(!0,cmdBag,effectsDict,null),_Platform_gatherEffects(!1,subBag,effectsDict,null),managers)_Scheduler_rawSend(managers[home],{$:"fx",a:effectsDict[home]||{i:_List_Nil,j:_List_Nil}})}function _Platform_gatherEffects(isCmd,bag,effectsDict,taggers){switch(bag.$){case 1:var home=bag.k,effect=function(isCmd,home,taggers,value){return A2(isCmd?_Platform_effectManagers[home].e:_Platform_effectManagers[home].f,function(x){for(var temp=taggers;temp;temp=temp.q)x=temp.p(x);return x},value)}(isCmd,home,taggers,bag.l);return void(effectsDict[home]=function(isCmd,newEffect,effects){return effects=effects||{i:_List_Nil,j:_List_Nil},isCmd?effects.i=_List_Cons(newEffect,effects.i):effects.j=_List_Cons(newEffect,effects.j),effects}(isCmd,effect,effectsDict[home]));case 2:for(var list=bag.m;list.b;list=list.b)_Platform_gatherEffects(isCmd,list.a,effectsDict,taggers);return;case 3:return void _Platform_gatherEffects(isCmd,bag.o,effectsDict,{p:bag.n,q:taggers})}}var _VirtualDom_divertHrefToApp;var _VirtualDom_doc="undefined"!=typeof document?document:{};function _VirtualDom_appendChild(parent,child){parent.appendChild(child)}function _VirtualDom_text(string){return{$:0,a:string}}var _VirtualDom_node=F2(function(namespace,tag){return F2(function(factList,kidList){for(var kids=[],descendantsCount=0;kidList.b;kidList=kidList.b){var kid=kidList.a;descendantsCount+=kid.b||0,kids.push(kid)}return descendantsCount+=kids.length,{$:1,c:tag,d:_VirtualDom_organizeFacts(factList),e:kids,f:namespace,b:descendantsCount}})})(void 0);F2(function(namespace,tag){return F2(function(factList,kidList){for(var kids=[],descendantsCount=0;kidList.b;kidList=kidList.b){var kid=kidList.a;descendantsCount+=kid.b.b||0,kids.push(kid)}return descendantsCount+=kids.length,{$:2,c:tag,d:_VirtualDom_organizeFacts(factList),e:kids,f:namespace,b:descendantsCount}})})(void 0);var _VirtualDom_style=F2(function(key,value){return{$:"a1",n:key,o:value}}),_VirtualDom_property=F2(function(key,value){return{$:"a2",n:key,o:value}}),_VirtualDom_attribute=F2(function(key,value){return{$:"a3",n:key,o:value}});var _VirtualDom_passiveSupported;function _VirtualDom_organizeFacts(factList){for(var facts={};factList.b;factList=factList.b){var entry=factList.a,tag=entry.$,key=entry.n,value=entry.o;if("a2"!==tag){var subFacts=facts[tag]||(facts[tag]={});"a3"===tag&&"class"===key?_VirtualDom_addClass(subFacts,key,value):subFacts[key]=value}else"className"===key?_VirtualDom_addClass(facts,key,_Json_unwrap(value)):facts[key]=_Json_unwrap(value)}return facts}function _VirtualDom_addClass(object,key,newClass){var classes=object[key];object[key]=classes?classes+" "+newClass:newClass}function _VirtualDom_render(vNode,eventNode){var tag=vNode.$;if(5===tag)return _VirtualDom_render(vNode.k||(vNode.k=vNode.m()),eventNode);if(0===tag)return _VirtualDom_doc.createTextNode(vNode.a);if(4===tag){for(var subNode=vNode.k,tagger=vNode.j;4===subNode.$;)"object"!=typeof tagger?tagger=[tagger,subNode.j]:tagger.push(subNode.j),subNode=subNode.k;var subEventRoot={j:tagger,p:eventNode};return(domNode=_VirtualDom_render(subNode,subEventRoot)).elm_event_node_ref=subEventRoot,domNode}if(3===tag)return _VirtualDom_applyFacts(domNode=vNode.h(vNode.g),eventNode,vNode.d),domNode;var domNode=vNode.f?_VirtualDom_doc.createElementNS(vNode.f,vNode.c):_VirtualDom_doc.createElement(vNode.c);_VirtualDom_divertHrefToApp&&"a"==vNode.c&&domNode.addEventListener("click",_VirtualDom_divertHrefToApp(domNode)),_VirtualDom_applyFacts(domNode,eventNode,vNode.d);for(var kids=vNode.e,i=0;kids.length>i;i++)_VirtualDom_appendChild(domNode,_VirtualDom_render(1===tag?kids[i]:kids[i].b,eventNode));return domNode}function _VirtualDom_applyFacts(domNode,eventNode,facts){for(var key in facts){var value=facts[key];"a1"===key?_VirtualDom_applyStyles(domNode,value):"a0"===key?_VirtualDom_applyEvents(domNode,eventNode,value):"a3"===key?_VirtualDom_applyAttrs(domNode,value):"a4"===key?_VirtualDom_applyAttrsNS(domNode,value):("value"!==key||"checked"!==key||domNode[key]!==value)&&(domNode[key]=value)}}function _VirtualDom_applyStyles(domNode,styles){var domNodeStyle=domNode.style;for(var key in styles)domNodeStyle[key]=styles[key]}function _VirtualDom_applyAttrs(domNode,attrs){for(var key in attrs){var value=attrs[key];value?domNode.setAttribute(key,value):domNode.removeAttribute(key)}}function _VirtualDom_applyAttrsNS(domNode,nsAttrs){for(var key in nsAttrs){var pair=nsAttrs[key],namespace=pair.f,value=pair.o;value?domNode.setAttributeNS(namespace,key,value):domNode.removeAttributeNS(namespace,key)}}function _VirtualDom_applyEvents(domNode,eventNode,events){var allCallbacks=domNode.elmFs||(domNode.elmFs={});for(var key in events){var newHandler=events[key],oldCallback=allCallbacks[key];if(newHandler){if(oldCallback){if(oldCallback.q.$===newHandler.$){oldCallback.q=newHandler;continue}domNode.removeEventListener(key,oldCallback)}oldCallback=_VirtualDom_makeCallback(eventNode,newHandler),domNode.addEventListener(key,oldCallback,_VirtualDom_passiveSupported&&{passive:2>elm$virtual_dom$VirtualDom$toHandlerInt(newHandler)}),allCallbacks[key]=oldCallback}else domNode.removeEventListener(key,oldCallback),allCallbacks[key]=void 0}}try{window.addEventListener("t",null,Object.defineProperty({},"passive",{get:function(){_VirtualDom_passiveSupported=!0}}))}catch(e){}function _VirtualDom_makeCallback(eventNode,initialHandler){function callback(event){var handler=callback.q,result=_Json_runHelp(handler.a,event);if(elm$core$Result$isOk(result)){for(var tagger,tag=elm$virtual_dom$VirtualDom$toHandlerInt(handler),value=result.a,message=tag?3>tag?value.a:value.k:value,stopPropagation=1==tag?value.b:3==tag&&value.M,currentEventNode=(stopPropagation&&event.stopPropagation(),(2==tag?value.b:3==tag&&value.K)&&event.preventDefault(),eventNode);tagger=currentEventNode.j;){if("function"==typeof tagger)message=tagger(message);else for(var i=tagger.length;i--;)message=tagger[i](message);currentEventNode=currentEventNode.p}currentEventNode(message,stopPropagation)}}return callback.q=initialHandler,callback}function _VirtualDom_equalEvents(x,y){return x.$==y.$&&_Json_equality(x.a,y.a)}function _VirtualDom_diff(x,y){var patches=[];return _VirtualDom_diffHelp(x,y,patches,0),patches}function _VirtualDom_pushPatch(patches,type,index,data){var patch={$:type,r:index,s:data,t:void 0,u:void 0};return patches.push(patch),patch}function _VirtualDom_diffHelp(x,y,patches,index){if(x!==y){var xType=x.$,yType=y.$;if(xType!==yType){if(1!==xType||2!==yType)return void _VirtualDom_pushPatch(patches,0,index,y);y=function(keyedNode){for(var keyedKids=keyedNode.e,len=keyedKids.length,kids=Array(len),i=0;len>i;i++)kids[i]=keyedKids[i].b;return{$:1,c:keyedNode.c,d:keyedNode.d,e:kids,f:keyedNode.f,b:keyedNode.b}}(y),yType=1}switch(yType){case 5:for(var xRefs=x.l,yRefs=y.l,i=xRefs.length,same=i===yRefs.length;same&&i--;)same=xRefs[i]===yRefs[i];if(same)return void(y.k=x.k);y.k=y.m();var subPatches=[];return _VirtualDom_diffHelp(x.k,y.k,subPatches,0),void(subPatches.length>0&&_VirtualDom_pushPatch(patches,1,index,subPatches));case 4:for(var xTaggers=x.j,yTaggers=y.j,nesting=!1,xSubNode=x.k;4===xSubNode.$;)nesting=!0,"object"!=typeof xTaggers?xTaggers=[xTaggers,xSubNode.j]:xTaggers.push(xSubNode.j),xSubNode=xSubNode.k;for(var ySubNode=y.k;4===ySubNode.$;)nesting=!0,"object"!=typeof yTaggers?yTaggers=[yTaggers,ySubNode.j]:yTaggers.push(ySubNode.j),ySubNode=ySubNode.k;return nesting&&xTaggers.length!==yTaggers.length?void _VirtualDom_pushPatch(patches,0,index,y):((nesting?function(as,bs){for(var i=0;as.length>i;i++)if(as[i]!==bs[i])return!1;return!0}(xTaggers,yTaggers):xTaggers===yTaggers)||_VirtualDom_pushPatch(patches,2,index,yTaggers),void _VirtualDom_diffHelp(xSubNode,ySubNode,patches,index+1));case 0:return void(x.a!==y.a&&_VirtualDom_pushPatch(patches,3,index,y.a));case 1:return void _VirtualDom_diffNodes(x,y,patches,index,_VirtualDom_diffKids);case 2:return void _VirtualDom_diffNodes(x,y,patches,index,_VirtualDom_diffKeyedKids);case 3:if(x.h!==y.h)return void _VirtualDom_pushPatch(patches,0,index,y);var factsDiff=_VirtualDom_diffFacts(x.d,y.d);factsDiff&&_VirtualDom_pushPatch(patches,4,index,factsDiff);var patch=y.i(x.g,y.g);return void(patch&&_VirtualDom_pushPatch(patches,5,index,patch))}}}function _VirtualDom_diffNodes(x,y,patches,index,diffKids){if(x.c===y.c&&x.f===y.f){var factsDiff=_VirtualDom_diffFacts(x.d,y.d);factsDiff&&_VirtualDom_pushPatch(patches,4,index,factsDiff),diffKids(x,y,patches,index)}else _VirtualDom_pushPatch(patches,0,index,y)}function _VirtualDom_diffFacts(x,y,category){var diff;for(var xKey in x)if("a1"!==xKey&&"a0"!==xKey&&"a3"!==xKey&&"a4"!==xKey)if(xKey in y){var xValue=x[xKey],yValue=y[xKey];xValue===yValue&&"value"!==xKey&&"checked"!==xKey||"a0"===category&&_VirtualDom_equalEvents(xValue,yValue)||((diff=diff||{})[xKey]=yValue)}else(diff=diff||{})[xKey]=category?"a1"===category?"":"a0"===category||"a3"===category?void 0:{f:x[xKey].f,o:void 0}:"string"==typeof x[xKey]?"":null;else{var subDiff=_VirtualDom_diffFacts(x[xKey],y[xKey]||{},xKey);subDiff&&((diff=diff||{})[xKey]=subDiff)}for(var yKey in y)yKey in x||((diff=diff||{})[yKey]=y[yKey]);return diff}function _VirtualDom_diffKids(xParent,yParent,patches,index){var xKids=xParent.e,yKids=yParent.e,xLen=xKids.length,yLen=yKids.length;xLen>yLen?_VirtualDom_pushPatch(patches,6,index,{v:yLen,i:xLen-yLen}):yLen>xLen&&_VirtualDom_pushPatch(patches,7,index,{v:xLen,e:yKids});for(var minLen=yLen>xLen?xLen:yLen,i=0;minLen>i;i++){var xKid=xKids[i];_VirtualDom_diffHelp(xKid,yKids[i],patches,++index),index+=xKid.b||0}}function _VirtualDom_diffKeyedKids(xParent,yParent,patches,rootIndex){for(var localPatches=[],changes={},inserts=[],xKids=xParent.e,yKids=yParent.e,xLen=xKids.length,yLen=yKids.length,xIndex=0,yIndex=0,index=rootIndex;xLen>xIndex&&yLen>yIndex;){var xKey=(x=xKids[xIndex]).a,yKey=(y=yKids[yIndex]).a,xNode=x.b,yNode=y.b;if(xKey!==yKey){var xNext=xKids[xIndex+1],yNext=yKids[yIndex+1];if(xNext)var xNextKey=xNext.a,xNextNode=xNext.b,oldMatch=yKey===xNextKey;if(yNext)var yNextKey=yNext.a,yNextNode=yNext.b,newMatch=xKey===yNextKey;if(newMatch&&oldMatch)_VirtualDom_diffHelp(xNode,yNextNode,localPatches,++index),_VirtualDom_insertNode(changes,localPatches,xKey,yNode,yIndex,inserts),index+=xNode.b||0,_VirtualDom_removeNode(changes,localPatches,xKey,xNextNode,++index),index+=xNextNode.b||0,xIndex+=2,yIndex+=2;else if(newMatch)index++,_VirtualDom_insertNode(changes,localPatches,yKey,yNode,yIndex,inserts),_VirtualDom_diffHelp(xNode,yNextNode,localPatches,index),index+=xNode.b||0,xIndex+=1,yIndex+=2;else if(oldMatch)_VirtualDom_removeNode(changes,localPatches,xKey,xNode,++index),index+=xNode.b||0,_VirtualDom_diffHelp(xNextNode,yNode,localPatches,++index),index+=xNextNode.b||0,xIndex+=2,yIndex+=1;else{if(!xNext||xNextKey!==yNextKey)break;_VirtualDom_removeNode(changes,localPatches,xKey,xNode,++index),_VirtualDom_insertNode(changes,localPatches,yKey,yNode,yIndex,inserts),index+=xNode.b||0,_VirtualDom_diffHelp(xNextNode,yNextNode,localPatches,++index),index+=xNextNode.b||0,xIndex+=2,yIndex+=2}}else _VirtualDom_diffHelp(xNode,yNode,localPatches,++index),index+=xNode.b||0,xIndex++,yIndex++}for(;xLen>xIndex;){var x;_VirtualDom_removeNode(changes,localPatches,(x=xKids[xIndex]).a,xNode=x.b,++index),index+=xNode.b||0,xIndex++}for(;yLen>yIndex;){var y,endInserts=endInserts||[];_VirtualDom_insertNode(changes,localPatches,(y=yKids[yIndex]).a,y.b,void 0,endInserts),yIndex++}(localPatches.length>0||inserts.length>0||endInserts)&&_VirtualDom_pushPatch(patches,8,rootIndex,{w:localPatches,x:inserts,y:endInserts})}var _VirtualDom_POSTFIX="_elmW6BL";function _VirtualDom_insertNode(changes,localPatches,key,vnode,yIndex,inserts){var entry=changes[key];if(!entry)return inserts.push({r:yIndex,A:entry={c:0,z:vnode,r:yIndex,s:void 0}}),void(changes[key]=entry);if(1===entry.c){inserts.push({r:yIndex,A:entry}),entry.c=2;var subPatches=[];return _VirtualDom_diffHelp(entry.z,vnode,subPatches,entry.r),entry.r=yIndex,void(entry.s.s={w:subPatches,A:entry})}_VirtualDom_insertNode(changes,localPatches,key+_VirtualDom_POSTFIX,vnode,yIndex,inserts)}function _VirtualDom_removeNode(changes,localPatches,key,vnode,index){var entry=changes[key];if(entry){if(0===entry.c){entry.c=2;var subPatches=[];return _VirtualDom_diffHelp(vnode,entry.z,subPatches,index),void _VirtualDom_pushPatch(localPatches,9,index,{w:subPatches,A:entry})}_VirtualDom_removeNode(changes,localPatches,key+_VirtualDom_POSTFIX,vnode,index)}else{var patch=_VirtualDom_pushPatch(localPatches,9,index,void 0);changes[key]={c:1,z:vnode,r:index,s:patch}}}function _VirtualDom_addDomNodes(domNode,vNode,patches,eventNode){!function _VirtualDom_addDomNodesHelp(domNode,vNode,patches,i,low,high,eventNode){var patch=patches[i];var index=patch.r;for(;index===low;){var patchType=patch.$;if(1===patchType)_VirtualDom_addDomNodes(domNode,vNode.k,patch.s,eventNode);else if(8===patchType){patch.t=domNode,patch.u=eventNode;var subPatches=patch.s.w;subPatches.length>0&&_VirtualDom_addDomNodesHelp(domNode,vNode,subPatches,0,low,high,eventNode)}else if(9===patchType){patch.t=domNode,patch.u=eventNode;var data=patch.s;if(data){data.A.s=domNode;var subPatches=data.w;subPatches.length>0&&_VirtualDom_addDomNodesHelp(domNode,vNode,subPatches,0,low,high,eventNode)}}else patch.t=domNode,patch.u=eventNode;if(!(patch=patches[++i])||(index=patch.r)>high)return i}var tag=vNode.$;if(4===tag){for(var subNode=vNode.k;4===subNode.$;)subNode=subNode.k;return _VirtualDom_addDomNodesHelp(domNode,subNode,patches,i,low+1,high,domNode.elm_event_node_ref)}var vKids=vNode.e;var childNodes=domNode.childNodes;for(var j=0;vKids.length>j;j++){low++;var vKid=1===tag?vKids[j]:vKids[j].b,nextLow=low+(vKid.b||0);if(index>=low&&nextLow>=index&&(i=_VirtualDom_addDomNodesHelp(childNodes[j],vKid,patches,i,low,nextLow,eventNode),!(patch=patches[i])||(index=patch.r)>high))return i;low=nextLow}return i}(domNode,vNode,patches,0,0,vNode.b,eventNode)}function _VirtualDom_applyPatches(rootDomNode,oldVirtualNode,patches,eventNode){return 0===patches.length?rootDomNode:(_VirtualDom_addDomNodes(rootDomNode,oldVirtualNode,patches,eventNode),_VirtualDom_applyPatchesHelp(rootDomNode,patches))}function _VirtualDom_applyPatchesHelp(rootDomNode,patches){for(var i=0;patches.length>i;i++){var patch=patches[i],localDomNode=patch.t,newNode=_VirtualDom_applyPatch(localDomNode,patch);localDomNode===rootDomNode&&(rootDomNode=newNode)}return rootDomNode}function _VirtualDom_applyPatch(domNode,patch){switch(patch.$){case 0:return function(domNode,vNode,eventNode){var parentNode=domNode.parentNode,newNode=_VirtualDom_render(vNode,eventNode);newNode.elm_event_node_ref||(newNode.elm_event_node_ref=domNode.elm_event_node_ref);parentNode&&newNode!==domNode&&parentNode.replaceChild(newNode,domNode);return newNode}(domNode,patch.s,patch.u);case 4:return _VirtualDom_applyFacts(domNode,patch.u,patch.s),domNode;case 3:return domNode.replaceData(0,domNode.length,patch.s),domNode;case 1:return _VirtualDom_applyPatchesHelp(domNode,patch.s);case 2:return domNode.elm_event_node_ref?domNode.elm_event_node_ref.j=patch.s:domNode.elm_event_node_ref={j:patch.s,p:patch.u},domNode;case 6:for(var data=patch.s,i=0;data.i>i;i++)domNode.removeChild(domNode.childNodes[data.v]);return domNode;case 7:for(var kids=(data=patch.s).e,theEnd=domNode.childNodes[i=data.v];kids.length>i;i++)domNode.insertBefore(_VirtualDom_render(kids[i],patch.u),theEnd);return domNode;case 9:if(!(data=patch.s))return domNode.parentNode.removeChild(domNode),domNode;var entry=data.A;return void 0!==entry.r&&domNode.parentNode.removeChild(domNode),entry.s=_VirtualDom_applyPatchesHelp(domNode,data.w),domNode;case 8:return function(domNode,patch){var data=patch.s,frag=function(endInserts,patch){if(!endInserts)return;for(var frag=_VirtualDom_doc.createDocumentFragment(),i=0;endInserts.length>i;i++){var insert=endInserts[i],entry=insert.A;_VirtualDom_appendChild(frag,2===entry.c?entry.s:_VirtualDom_render(entry.z,patch.u))}return frag}(data.y,patch);domNode=_VirtualDom_applyPatchesHelp(domNode,data.w);for(var inserts=data.x,i=0;inserts.length>i;i++){var insert=inserts[i],entry=insert.A,node=2===entry.c?entry.s:_VirtualDom_render(entry.z,patch.u);domNode.insertBefore(node,domNode.childNodes[insert.r])}frag&&_VirtualDom_appendChild(domNode,frag);return domNode}(domNode,patch);case 5:return patch.s(domNode);default:_Debug_crash(10)}}function _VirtualDom_virtualize(node){if(3===node.nodeType)return _VirtualDom_text(node.textContent);if(1!==node.nodeType)return _VirtualDom_text("");for(var attrList=_List_Nil,attrs=node.attributes,i=attrs.length;i--;){var attr=attrs[i];attrList=_List_Cons(A2(_VirtualDom_attribute,attr.name,attr.value),attrList)}var tag=node.tagName.toLowerCase(),kidList=_List_Nil,kids=node.childNodes;for(i=kids.length;i--;)kidList=_List_Cons(_VirtualDom_virtualize(kids[i]),kidList);return A3(_VirtualDom_node,tag,attrList,kidList)}var _Browser_element=F4(function(impl,flagDecoder,debugMetadata,args){return _Platform_initialize(flagDecoder,args,impl.as,impl.aA,impl.ay,function(sendToApp,initialModel){var view=impl.aC,domNode=args.node,currNode=_VirtualDom_virtualize(domNode);return _Browser_makeAnimator(initialModel,function(model){var nextNode=view(model),patches=_VirtualDom_diff(currNode,nextNode);domNode=_VirtualDom_applyPatches(domNode,currNode,patches,sendToApp),currNode=nextNode})})}),_Browser_requestAnimationFrame="undefined"!=typeof requestAnimationFrame?requestAnimationFrame:function(callback){setTimeout(callback,1e3/60)};function _Browser_makeAnimator(model,draw){draw(model);var state=0;function updateIfNeeded(){state=1===state?0:(_Browser_requestAnimationFrame(updateIfNeeded),draw(model),1)}return function(nextModel,isSync){model=nextModel,isSync?(draw(model),2===state&&(state=1)):(0===state&&_Browser_requestAnimationFrame(updateIfNeeded),state=2)}}var _Browser_fakeNode={addEventListener:function(){},removeEventListener:function(){}};"undefined"!=typeof document&&document,"undefined"!=typeof window&&window;var subMap,elm$core$Result$isOk=function(result){return!result.$},elm$core$List$cons=_List_cons,elm$core$Array$Array_elm_builtin=F4(function(a,b,c,d){return{$:0,a:a,b:b,c:c,d:d}}),elm$core$Basics$ceiling=_Basics_ceiling,elm$core$Basics$logBase=F2(function(base,number){return _Basics_log(number)/_Basics_log(base)}),elm$core$Array$shiftStep=elm$core$Basics$ceiling(A2(elm$core$Basics$logBase,2,32)),elm$core$Elm$JsArray$empty=[],elm$core$Array$empty=A4(elm$core$Array$Array_elm_builtin,0,elm$core$Array$shiftStep,elm$core$Elm$JsArray$empty,elm$core$Elm$JsArray$empty),elm$core$Elm$JsArray$initializeFromList=_JsArray_initializeFromList,elm$core$List$foldl=F3(function(func,acc,list){for(;;){if(!list.b)return acc;var xs=list.b,$temp$func=func,$temp$acc=A2(func,list.a,acc);func=$temp$func,acc=$temp$acc,list=xs}}),elm$core$List$reverse=function(list){return A3(elm$core$List$foldl,elm$core$List$cons,_List_Nil,list)},elm$core$Array$compressNodes=F2(function(nodes,acc){for(;;){var _n0=A2(elm$core$Elm$JsArray$initializeFromList,32,nodes),remainingNodes=_n0.b,newAcc=A2(elm$core$List$cons,{$:0,a:_n0.a},acc);if(!remainingNodes.b)return elm$core$List$reverse(newAcc);nodes=remainingNodes,acc=newAcc}}),elm$core$Array$treeFromBuilder=F2(function(nodeList,nodeListSize){for(;;){var newNodeSize=elm$core$Basics$ceiling(nodeListSize/32);if(1===newNodeSize)return A2(elm$core$Elm$JsArray$initializeFromList,32,nodeList).a;nodeList=A2(elm$core$Array$compressNodes,nodeList,_List_Nil),nodeListSize=newNodeSize}}),elm$core$Basics$floor=_Basics_floor,elm$core$Basics$max=F2(function(x,y){return _Utils_cmp(x,y)>0?x:y}),elm$core$Elm$JsArray$length=function(array){return array.length},elm$core$Array$builderToArray=F2(function(reverseNodeList,builder){if(builder.a){var treeLen=32*builder.a,depth=elm$core$Basics$floor(A2(elm$core$Basics$logBase,32,treeLen-1)),correctNodeList=reverseNodeList?elm$core$List$reverse(builder.d):builder.d,tree=A2(elm$core$Array$treeFromBuilder,correctNodeList,builder.a);return A4(elm$core$Array$Array_elm_builtin,elm$core$Elm$JsArray$length(builder.c)+treeLen,A2(elm$core$Basics$max,5,depth*elm$core$Array$shiftStep),tree,builder.c)}return A4(elm$core$Array$Array_elm_builtin,elm$core$Elm$JsArray$length(builder.c),elm$core$Array$shiftStep,elm$core$Elm$JsArray$empty,builder.c)}),elm$core$Elm$JsArray$initialize=_JsArray_initialize,elm$core$Array$initializeHelp=F5(function(fn,fromIndex,len,nodeList,tail){for(;;){if(0>fromIndex)return A2(elm$core$Array$builderToArray,!1,{d:nodeList,a:len/32|0,c:tail});var leaf={$:1,a:A3(elm$core$Elm$JsArray$initialize,32,fromIndex,fn)};fn=fn,fromIndex=fromIndex-32,len=len,nodeList=A2(elm$core$List$cons,leaf,nodeList),tail=tail}}),elm$core$Array$initialize=F2(function(len,fn){if(len>0){var tailLen=len%32;return A5(elm$core$Array$initializeHelp,fn,len-tailLen-32,len,_List_Nil,A3(elm$core$Elm$JsArray$initialize,tailLen,len-tailLen,fn))}return elm$core$Array$empty}),elm$core$Result$Err=function(a){return{$:1,a:a}},elm$core$Result$Ok=function(a){return{$:0,a:a}},elm$json$Json$Decode$Failure=F2(function(a,b){return{$:3,a:a,b:b}}),elm$json$Json$Decode$Field=F2(function(a,b){return{$:0,a:a,b:b}}),elm$json$Json$Decode$Index=F2(function(a,b){return{$:1,a:a,b:b}}),elm$json$Json$Decode$OneOf=function(a){return{$:2,a:a}},elm$core$Platform$Cmd$none=_Platform_batch(_List_Nil),elm$core$Platform$Sub$none=_Platform_batch(_List_Nil),author$project$Main$update=F2(function(msg,model){return _Utils_Tuple2(model,elm$core$Platform$Cmd$none)}),elm$json$Json$Decode$succeed=function(msg){return{$:0,a:msg}},elm$virtual_dom$VirtualDom$toHandlerInt=function(handler){switch(handler.$){case 0:return 0;case 1:return 1;case 2:return 2;default:return 3}},elm$html$Html$div=_VirtualDom_node("div"),elm$html$Html$h1=_VirtualDom_node("h1"),elm$html$Html$img=_VirtualDom_node("img"),elm$html$Html$text=_VirtualDom_text,elm$json$Json$Encode$string=_Json_wrap,elm$html$Html$Attributes$stringProperty=F2(function(key,string){return A2(_VirtualDom_property,key,elm$json$Json$Encode$string(string))}),elm$html$Html$Attributes$style=_VirtualDom_style,elm$core$Task$succeed=_Scheduler_succeed,elm$core$Task$init=elm$core$Task$succeed(0),elm$core$List$foldrHelper=F4(function(fn,acc,ctr,ls){if(ls.b){var a=ls.a,r1=ls.b;if(r1.b){var b=r1.a,r2=r1.b;if(r2.b){var c=r2.a,r3=r2.b;if(r3.b){var r4=r3.b;return A2(fn,a,A2(fn,b,A2(fn,c,A2(fn,r3.a,ctr>500?A3(elm$core$List$foldl,fn,acc,elm$core$List$reverse(r4)):A4(elm$core$List$foldrHelper,fn,acc,ctr+1,r4)))))}return A2(fn,a,A2(fn,b,A2(fn,c,acc)))}return A2(fn,a,A2(fn,b,acc))}return A2(fn,a,acc)}return acc}),elm$core$List$foldr=F3(function(fn,acc,ls){return A4(elm$core$List$foldrHelper,fn,acc,0,ls)}),elm$core$List$map=F2(function(f,xs){return A3(elm$core$List$foldr,F2(function(x,acc){return A2(elm$core$List$cons,f(x),acc)}),_List_Nil,xs)}),elm$core$Task$andThen=_Scheduler_andThen,elm$core$Task$map=F2(function(func,taskA){return A2(elm$core$Task$andThen,function(a){return elm$core$Task$succeed(func(a))},taskA)}),elm$core$Task$map2=F3(function(func,taskA,taskB){return A2(elm$core$Task$andThen,function(a){return A2(elm$core$Task$andThen,function(b){return elm$core$Task$succeed(A2(func,a,b))},taskB)},taskA)}),elm$core$Platform$sendToApp=_Platform_sendToApp,elm$core$Task$spawnCmd=F2(function(router,_n0){var task=_n0;return _Scheduler_spawn(A2(elm$core$Task$andThen,elm$core$Platform$sendToApp(router),task))});_Platform_effectManagers.Task={b:elm$core$Task$init,c:F3(function(router,commands){return A2(elm$core$Task$map,function(){return 0},(tasks=A2(elm$core$List$map,elm$core$Task$spawnCmd(router),commands),A3(elm$core$List$foldr,elm$core$Task$map2(elm$core$List$cons),elm$core$Task$succeed(_List_Nil),tasks)));var tasks}),d:F3(function(){return elm$core$Task$succeed(0)}),e:F2(function(tagger,_n0){return A2(elm$core$Task$map,tagger,_n0)}),f:subMap};_Platform_leaf("Task");var exports,author$project$Main$main=_Browser_element({as:function(){return _Utils_Tuple2({},elm$core$Platform$Cmd$none)},ay:function(){return elm$core$Platform$Sub$none},aA:author$project$Main$update,aC:function(){return A2(elm$html$Html$div,_List_fromArray([A2(elm$html$Html$Attributes$style,"text-align","center")]),_List_fromArray([A2(elm$html$Html$img,_List_fromArray([(url="/img/elm.png",A2(elm$html$Html$Attributes$stringProperty,"src",/^\s*(javascript:|data:text\/html)/i.test(value=url)?"":value))]),_List_Nil),A2(elm$html$Html$h1,_List_fromArray([A2(elm$html$Html$Attributes$style,"font-family","sans-serif")]),_List_fromArray([elm$html$Html$text("Hello, world")]))]));var url,value}});exports={Main:{init:author$project$Main$main(elm$json$Json$Decode$succeed({}))(0)}},scope.Elm?function _Platform_mergeExportsProd(obj,exports){for(var name in exports)name in obj?"init"==name?_Debug_crash(6):_Platform_mergeExportsProd(obj[name],exports[name]):obj[name]=exports[name]}(scope.Elm,exports):scope.Elm=exports}(this)}]);
function(){!function(scope){"use strict";function F(arity,fun,wrapper){return wrapper.a=arity,wrapper.f=fun,wrapper}function F2(fun){return F(2,fun,function(a){return function(b){return fun(a,b)}})}function F3(fun){return F(3,fun,function(a){return function(b){return function(c){return fun(a,b,c)}}})}function F4(fun){return F(4,fun,function(a){return function(b){return function(c){return function(d){return fun(a,b,c,d)}}}})}function F5(fun){return F(5,fun,function(a){return function(b){return function(c){return function(d){return function(e){return fun(a,b,c,d,e)}}}}})}function F6(fun){return F(6,fun,function(a){return function(b){return function(c){return function(d){return function(e){return function(f){return fun(a,b,c,d,e,f)}}}}}})}function F7(fun){return F(7,fun,function(a){return function(b){return function(c){return function(d){return function(e){return function(f){return function(g){return fun(a,b,c,d,e,f,g)}}}}}}})}function F8(fun){return F(8,fun,function(a){return function(b){return function(c){return function(d){return function(e){return function(f){return function(g){return function(h){return fun(a,b,c,d,e,f,g,h)}}}}}}}})}function F9(fun){return F(9,fun,function(a){return function(b){return function(c){return function(d){return function(e){return function(f){return function(g){return function(h){return function(i){return fun(a,b,c,d,e,f,g,h,i)}}}}}}}}})}function A2(fun,a,b){return 2===fun.a?fun.f(a,b):fun(a)(b)}function A3(fun,a,b,c){return 3===fun.a?fun.f(a,b,c):fun(a)(b)(c)}function A4(fun,a,b,c,d){return 4===fun.a?fun.f(a,b,c,d):fun(a)(b)(c)(d)}function A5(fun,a,b,c,d,e){return 5===fun.a?fun.f(a,b,c,d,e):fun(a)(b)(c)(d)(e)}function A6(fun,a,b,c,d,e,f){return 6===fun.a?fun.f(a,b,c,d,e,f):fun(a)(b)(c)(d)(e)(f)}var _List_Nil={$:0};function _List_Cons(hd,tl){return{$:1,a:hd,b:tl}}var _List_cons=F2(_List_Cons);function _List_fromArray(arr){for(var out=_List_Nil,i=arr.length;i--;)out=_List_Cons(arr[i],out);return out}function _List_toArray(xs){for(var out=[];xs.b;xs=xs.b)out.push(xs.a);return out}var _List_map2=F3(function(f,xs,ys){for(var arr=[];xs.b&&ys.b;xs=xs.b,ys=ys.b)arr.push(A2(f,xs.a,ys.a));return _List_fromArray(arr)});F4(function(f,xs,ys,zs){for(var arr=[];xs.b&&ys.b&&zs.b;xs=xs.b,ys=ys.b,zs=zs.b)arr.push(A3(f,xs.a,ys.a,zs.a));return _List_fromArray(arr)}),F5(function(f,ws,xs,ys,zs){for(var arr=[];ws.b&&xs.b&&ys.b&&zs.b;ws=ws.b,xs=xs.b,ys=ys.b,zs=zs.b)arr.push(A4(f,ws.a,xs.a,ys.a,zs.a));return _List_fromArray(arr)}),F6(function(f,vs,ws,xs,ys,zs){for(var arr=[];vs.b&&ws.b&&xs.b&&ys.b&&zs.b;vs=vs.b,ws=ws.b,xs=xs.b,ys=ys.b,zs=zs.b)arr.push(A5(f,vs.a,ws.a,xs.a,ys.a,zs.a));return _List_fromArray(arr)}),F2(function(f,xs){return _List_fromArray(_List_toArray(xs).sort(function(a,b){return _Utils_cmp(f(a),f(b))}))}),F2(function(f,xs){return _List_fromArray(_List_toArray(xs).sort(function(a,b){var ord=A2(f,a,b);return ord===elm$core$Basics$EQ?0:ord===elm$core$Basics$LT?-1:1}))});function _Utils_eq(x,y){for(var pair,stack=[],isEqual=_Utils_eqHelp(x,y,0,stack);isEqual&&(pair=stack.pop());isEqual=_Utils_eqHelp(pair.a,pair.b,0,stack));return isEqual}function _Utils_eqHelp(x,y,depth,stack){if(depth>100)return stack.push(_Utils_Tuple2(x,y)),!0;if(x===y)return!0;if("object"!=typeof x||null===x||null===y)return"function"==typeof x&&_Debug_crash(5),!1;for(var key in 0>x.$&&(x=elm$core$Dict$toList(x),y=elm$core$Dict$toList(y)),x)if(!_Utils_eqHelp(x[key],y[key],depth+1,stack))return!1;return!0}F2(_Utils_eq),F2(function(a,b){return!_Utils_eq(a,b)});function _Utils_cmp(x,y,ord){if("object"!=typeof x)return x===y?0:y>x?-1:1;if(!x.$)return(ord=_Utils_cmp(x.a,y.a))?ord:(ord=_Utils_cmp(x.b,y.b))?ord:_Utils_cmp(x.c,y.c);for(;x.b&&y.b&&!(ord=_Utils_cmp(x.a,y.a));x=x.b,y=y.b);return ord||(x.b?1:y.b?-1:0)}F2(function(a,b){return 0>_Utils_cmp(a,b)}),F2(function(a,b){return 1>_Utils_cmp(a,b)}),F2(function(a,b){return _Utils_cmp(a,b)>0}),F2(function(a,b){return _Utils_cmp(a,b)>=0}),F2(function(x,y){var n=_Utils_cmp(x,y);return 0>n?elm$core$Basics$LT:n?elm$core$Basics$GT:elm$core$Basics$EQ});var _Utils_Tuple0=0;function _Utils_Tuple2(a,b){return{a:a,b:b}}function _Utils_chr(c){return c}F2(function(xs,ys){if("string"==typeof xs)return xs+ys;if(!xs.b)return ys;var root=_List_Cons(xs.a,ys);xs=xs.b;for(var curr=root;xs.b;xs=xs.b)curr=curr.b=_List_Cons(xs.a,ys);return root});var _JsArray_initialize=F3(function(size,offset,func){for(var result=Array(size),i=0;size>i;i++)result[i]=func(offset+i);return result}),_JsArray_initializeFromList=F2(function(max,ls){for(var result=Array(max),i=0;max>i&&ls.b;i++)result[i]=ls.a,ls=ls.b;return result.length=i,_Utils_Tuple2(result,ls)}),_JsArray_foldr=(F2(function(index,array){return array[index]}),F3(function(index,value,array){for(var length=array.length,result=Array(length),i=0;length>i;i++)result[i]=array[i];return result[index]=value,result}),F2(function(value,array){for(var length=array.length,result=Array(length+1),i=0;length>i;i++)result[i]=array[i];return result[length]=value,result}),F3(function(func,acc,array){for(var length=array.length,i=0;length>i;i++)acc=A2(func,array[i],acc);return acc}),F3(function(func,acc,array){for(var i=array.length-1;i>=0;i--)acc=A2(func,array[i],acc);return acc}));F2(function(func,array){for(var length=array.length,result=Array(length),i=0;length>i;i++)result[i]=func(array[i]);return result}),F3(function(func,offset,array){for(var length=array.length,result=Array(length),i=0;length>i;i++)result[i]=A2(func,offset+i,array[i]);return result}),F3(function(from,to,array){return array.slice(from,to)}),F3(function(n,dest,source){var destLen=dest.length,itemsToCopy=n-destLen;itemsToCopy>source.length&&(itemsToCopy=source.length);for(var result=Array(destLen+itemsToCopy),i=0;destLen>i;i++)result[i]=dest[i];for(i=0;itemsToCopy>i;i++)result[i+destLen]=source[i];return result}),F2(function(tag,value){return value}),F2(function(tag,value){return console.log(tag+": <internals>"),value});function _Debug_crash(identifier){throw Error("https://github.com/elm/core/blob/1.0.0/hints/"+identifier+".md")}F2(function(a,b){return a+b}),F2(function(a,b){return a-b}),F2(function(a,b){return a*b}),F2(function(a,b){return a/b}),F2(function(a,b){return a/b|0}),F2(Math.pow),F2(function(b,a){return a%b}),F2(function(modulus,x){var answer=x%modulus;return 0===modulus?_Debug_crash(11):answer>0&&0>modulus||0>answer&&modulus>0?answer+modulus:answer}),F2(Math.atan2);var _Basics_ceiling=Math.ceil,_Basics_floor=Math.floor,_Basics_log=Math.log;F2(function(a,b){return a&&b}),F2(function(a,b){return a||b}),F2(function(a,b){return a!==b});F2(function(chr,str){return chr+str});F2(function(a,b){return a+b});F2(function(func,string){for(var len=string.length,array=Array(len),i=0;len>i;){var word=string.charCodeAt(i);55296>word||word>56319?(array[i]=func(_Utils_chr(string[i])),i++):(array[i]=func(_Utils_chr(string[i]+string[i+1])),i+=2)}return array.join("")}),F2(function(isGood,str){for(var arr=[],len=str.length,i=0;len>i;){var char=str[i],word=str.charCodeAt(i);i++,55296>word||word>56319||(char+=str[i],i++),isGood(_Utils_chr(char))&&arr.push(char)}return arr.join("")});F3(function(func,state,string){for(var len=string.length,i=0;len>i;){var char=string[i],word=string.charCodeAt(i);i++,55296>word||word>56319||(char+=string[i],i++),state=A2(func,_Utils_chr(char),state)}return state}),F3(function(func,state,string){for(var i=string.length;i--;){var char=string[i],word=string.charCodeAt(i);56320>word||word>57343||(char=string[--i]+char),state=A2(func,_Utils_chr(char),state)}return state});var _String_split=F2(function(sep,str){return str.split(sep)}),_String_join=F2(function(sep,strs){return strs.join(sep)}),_String_slice=F3(function(start,end,str){return str.slice(start,end)});F2(function(isGood,string){for(var i=string.length;i--;){var char=string[i],word=string.charCodeAt(i);if(56320>word||word>57343||(char=string[--i]+char),isGood(_Utils_chr(char)))return!0}return!1});var _String_all=F2(function(isGood,string){for(var i=string.length;i--;){var char=string[i],word=string.charCodeAt(i);if(56320>word||word>57343||(char=string[--i]+char),!isGood(_Utils_chr(char)))return!1}return!0}),_String_contains=F2(function(sub,str){return str.indexOf(sub)>-1}),_String_indexes=(F2(function(sub,str){return 0===str.indexOf(sub)}),F2(function(sub,str){return str.length>=sub.length&&str.lastIndexOf(sub)===str.length-sub.length}),F2(function(sub,str){var subLen=sub.length;if(1>subLen)return _List_Nil;for(var i=0,is=[];(i=str.indexOf(sub,i))>-1;)is.push(i),i+=subLen;return _List_fromArray(is)}));F2(function(field,decoder){return{$:10,d:field,b:decoder}}),F2(function(index,decoder){return{$:11,e:index,b:decoder}});function _Json_mapMany(f,decoders){return{$:13,f:f,g:decoders}}F2(function(callback,decoder){return{$:14,b:decoder,h:callback}});var _Json_map1=F2(function(f,d1){return _Json_mapMany(f,[d1])}),_Json_map2=F3(function(f,d1,d2){return _Json_mapMany(f,[d1,d2])}),_Json_run=(F4(function(f,d1,d2,d3){return _Json_mapMany(f,[d1,d2,d3])}),F5(function(f,d1,d2,d3,d4){return _Json_mapMany(f,[d1,d2,d3,d4])}),F6(function(f,d1,d2,d3,d4,d5){return _Json_mapMany(f,[d1,d2,d3,d4,d5])}),F7(function(f,d1,d2,d3,d4,d5,d6){return _Json_mapMany(f,[d1,d2,d3,d4,d5,d6])}),F8(function(f,d1,d2,d3,d4,d5,d6,d7){return _Json_mapMany(f,[d1,d2,d3,d4,d5,d6,d7])}),F9(function(f,d1,d2,d3,d4,d5,d6,d7,d8){return _Json_mapMany(f,[d1,d2,d3,d4,d5,d6,d7,d8])}),F2(function(decoder,string){try{return _Json_runHelp(decoder,JSON.parse(string))}catch(e){return elm$core$Result$Err(A2(elm$json$Json$Decode$Failure,"This is not valid JSON! "+e.message,_Json_wrap(string)))}}),F2(function(decoder,value){return _Json_runHelp(decoder,_Json_unwrap(value))}));function _Json_runHelp(decoder,value){switch(decoder.$){case 3:return"boolean"==typeof value?elm$core$Result$Ok(value):_Json_expecting("a BOOL",value);case 2:return"number"!=typeof value?_Json_expecting("an INT",value):value>-2147483647&&2147483647>value&&(0|value)===value?elm$core$Result$Ok(value):!isFinite(value)||value%1?_Json_expecting("an INT",value):elm$core$Result$Ok(value);case 4:return"number"==typeof value?elm$core$Result$Ok(value):_Json_expecting("a FLOAT",value);case 6:return"string"==typeof value?elm$core$Result$Ok(value):value instanceof String?elm$core$Result$Ok(value+""):_Json_expecting("a STRING",value);case 9:return null===value?elm$core$Result$Ok(decoder.c):_Json_expecting("null",value);case 5:return elm$core$Result$Ok(_Json_wrap(value));case 7:return Array.isArray(value)?_Json_runArrayDecoder(decoder.b,value,_List_fromArray):_Json_expecting("a LIST",value);case 8:return Array.isArray(value)?_Json_runArrayDecoder(decoder.b,value,_Json_toElmArray):_Json_expecting("an ARRAY",value);case 10:var field=decoder.d;if("object"!=typeof value||null===value||!(field in value))return _Json_expecting("an OBJECT with a field named `"+field+"`",value);var result=_Json_runHelp(decoder.b,value[field]);return elm$core$Result$isOk(result)?result:elm$core$Result$Err(A2(elm$json$Json$Decode$Field,field,result.a));case 11:var index=decoder.e;if(!Array.isArray(value))return _Json_expecting("an ARRAY",value);if(index>=value.length)return _Json_expecting("a LONGER array. Need index "+index+" but only see "+value.length+" entries",value);result=_Json_runHelp(decoder.b,value[index]);return elm$core$Result$isOk(result)?result:elm$core$Result$Err(A2(elm$json$Json$Decode$Index,index,result.a));case 12:if("object"!=typeof value||null===value||Array.isArray(value))return _Json_expecting("an OBJECT",value);var keyValuePairs=_List_Nil;for(var key in value)if(value.hasOwnProperty(key)){result=_Json_runHelp(decoder.b,value[key]);if(!elm$core$Result$isOk(result))return elm$core$Result$Err(A2(elm$json$Json$Decode$Field,key,result.a));keyValuePairs=_List_Cons(_Utils_Tuple2(key,result.a),keyValuePairs)}return elm$core$Result$Ok(elm$core$List$reverse(keyValuePairs));case 13:for(var answer=decoder.f,decoders=decoder.g,i=0;decoders.length>i;i++){result=_Json_runHelp(decoders[i],value);if(!elm$core$Result$isOk(result))return result;answer=answer(result.a)}return elm$core$Result$Ok(answer);case 14:result=_Json_runHelp(decoder.b,value);return elm$core$Result$isOk(result)?_Json_runHelp(decoder.h(result.a),value):result;case 15:for(var errors=_List_Nil,temp=decoder.g;temp.b;temp=temp.b){result=_Json_runHelp(temp.a,value);if(elm$core$Result$isOk(result))return result;errors=_List_Cons(result.a,errors)}return elm$core$Result$Err(elm$json$Json$Decode$OneOf(elm$core$List$reverse(errors)));case 1:return elm$core$Result$Err(A2(elm$json$Json$Decode$Failure,decoder.a,_Json_wrap(value)));case 0:return elm$core$Result$Ok(decoder.a)}}function _Json_runArrayDecoder(decoder,value,toElmValue){for(var len=value.length,array=Array(len),i=0;len>i;i++){var result=_Json_runHelp(decoder,value[i]);if(!elm$core$Result$isOk(result))return elm$core$Result$Err(A2(elm$json$Json$Decode$Index,i,result.a));array[i]=result.a}return elm$core$Result$Ok(toElmValue(array))}function _Json_toElmArray(array){return A2(elm$core$Array$initialize,array.length,function(i){return array[i]})}function _Json_expecting(type,value){return elm$core$Result$Err(A2(elm$json$Json$Decode$Failure,"Expecting "+type,_Json_wrap(value)))}function _Json_equality(x,y){if(x===y)return!0;if(x.$!==y.$)return!1;switch(x.$){case 0:case 1:return x.a===y.a;case 3:case 2:case 4:case 6:case 5:return!0;case 9:return x.c===y.c;case 7:case 8:case 12:return _Json_equality(x.b,y.b);case 10:return x.d===y.d&&_Json_equality(x.b,y.b);case 11:return x.e===y.e&&_Json_equality(x.b,y.b);case 13:return x.f===y.f&&_Json_listEquality(x.g,y.g);case 14:return x.h===y.h&&_Json_equality(x.b,y.b);case 15:return _Json_listEquality(x.g,y.g)}}function _Json_listEquality(aDecoders,bDecoders){var len=aDecoders.length;if(len!==bDecoders.length)return!1;for(var i=0;len>i;i++)if(!_Json_equality(aDecoders[i],bDecoders[i]))return!1;return!0}var _Json_encode=F2(function(indentLevel,value){return JSON.stringify(_Json_unwrap(value),null,indentLevel)+""});function _Json_wrap(value){return value}function _Json_unwrap(value){return value}F3(function(key,value,object){return object[key]=_Json_unwrap(value),object});_Json_wrap(null);function _Scheduler_succeed(value){return{$:0,a:value}}function _Scheduler_binding(callback){return{$:2,b:callback,c:null}}var _Scheduler_andThen=F2(function(callback,task){return{$:3,b:callback,d:task}});F2(function(callback,task){return{$:4,b:callback,d:task}});var _Scheduler_guid=0;function _Scheduler_rawSpawn(task){var proc={$:0,e:_Scheduler_guid++,f:task,g:null,h:[]};return _Scheduler_enqueue(proc),proc}function _Scheduler_spawn(task){return _Scheduler_binding(function(callback){callback(_Scheduler_succeed(_Scheduler_rawSpawn(task)))})}function _Scheduler_rawSend(proc,msg){proc.h.push(msg),_Scheduler_enqueue(proc)}var _Scheduler_send=F2(function(proc,msg){return _Scheduler_binding(function(callback){_Scheduler_rawSend(proc,msg),callback(_Scheduler_succeed(_Utils_Tuple0))})});var _Scheduler_working=!1,_Scheduler_queue=[];function _Scheduler_enqueue(proc){if(_Scheduler_queue.push(proc),!_Scheduler_working){for(_Scheduler_working=!0;proc=_Scheduler_queue.shift();)_Scheduler_step(proc);_Scheduler_working=!1}}function _Scheduler_step(proc){for(;proc.f;){var rootTag=proc.f.$;if(0===rootTag||1===rootTag){for(;proc.g&&proc.g.$!==rootTag;)proc.g=proc.g.i;if(!proc.g)return;proc.f=proc.g.b(proc.f.a),proc.g=proc.g.i}else{if(2===rootTag)return void(proc.f.c=proc.f.b(function(newRoot){proc.f=newRoot,_Scheduler_enqueue(proc)}));if(5===rootTag){if(0===proc.h.length)return;proc.f=proc.f.b(proc.h.shift())}else proc.g={$:3===rootTag?0:1,b:proc.f.b,i:proc.g},proc.f=proc.f.d}}}F4(function(impl,flagDecoder,debugMetadata,args){return _Platform_initialize(flagDecoder,args,impl.as,impl.aA,impl.ay,function(){return function(){}})});function _Platform_initialize(flagDecoder,args,init,update,subscriptions,stepperBuilder){var result=A2(_Json_run,flagDecoder,_Json_wrap(args?args.flags:void 0));elm$core$Result$isOk(result)||_Debug_crash(2);var managers={},model=(result=init(result.a)).a,stepper=stepperBuilder(sendToApp,model),ports=function(managers,sendToApp){var ports;for(var key in _Platform_effectManagers){var manager=_Platform_effectManagers[key];manager.a&&((ports=ports||{})[key]=manager.a(key,sendToApp)),managers[key]=_Platform_instantiateManager(manager,sendToApp)}return ports}(managers,sendToApp);function sendToApp(msg,viewMetadata){result=A2(update,msg,model),stepper(model=result.a,viewMetadata),_Platform_dispatchEffects(managers,result.b,subscriptions(model))}return _Platform_dispatchEffects(managers,result.b,subscriptions(model)),ports?{ports:ports}:{}}var _Platform_effectManagers={};function _Platform_instantiateManager(info,sendToApp){var router={g:sendToApp,h:void 0},onEffects=info.c,onSelfMsg=info.d,cmdMap=info.e,subMap=info.f;return router.h=_Scheduler_rawSpawn(A2(_Scheduler_andThen,function loop(state){return A2(_Scheduler_andThen,loop,{$:5,b:function(msg){var value=msg.a;return 0===msg.$?A3(onSelfMsg,router,value,state):cmdMap&&subMap?A4(onEffects,router,value.i,value.j,state):A3(onEffects,router,cmdMap?value.i:value.j,state)}})},info.b))}var _Platform_sendToApp=F2(function(router,msg){return _Scheduler_binding(function(callback){router.g(msg),callback(_Scheduler_succeed(_Utils_Tuple0))})});F2(function(router,msg){return A2(_Scheduler_send,router.h,{$:0,a:msg})});function _Platform_leaf(home){return function(value){return{$:1,k:home,l:value}}}function _Platform_batch(list){return{$:2,m:list}}F2(function(tagger,bag){return{$:3,n:tagger,o:bag}});function _Platform_dispatchEffects(managers,cmdBag,subBag){var effectsDict={};for(var home in _Platform_gatherEffects(!0,cmdBag,effectsDict,null),_Platform_gatherEffects(!1,subBag,effectsDict,null),managers)_Scheduler_rawSend(managers[home],{$:"fx",a:effectsDict[home]||{i:_List_Nil,j:_List_Nil}})}function _Platform_gatherEffects(isCmd,bag,effectsDict,taggers){switch(bag.$){case 1:var home=bag.k,effect=function(isCmd,home,taggers,value){return A2(isCmd?_Platform_effectManagers[home].e:_Platform_effectManagers[home].f,function(x){for(var temp=taggers;temp;temp=temp.q)x=temp.p(x);return x},value)}(isCmd,home,taggers,bag.l);return void(effectsDict[home]=function(isCmd,newEffect,effects){return effects=effects||{i:_List_Nil,j:_List_Nil},isCmd?effects.i=_List_Cons(newEffect,effects.i):effects.j=_List_Cons(newEffect,effects.j),effects}(isCmd,effect,effectsDict[home]));case 2:for(var list=bag.m;list.b;list=list.b)_Platform_gatherEffects(isCmd,list.a,effectsDict,taggers);return;case 3:return void _Platform_gatherEffects(isCmd,bag.o,effectsDict,{p:bag.n,q:taggers})}}F2(function(tagger,value){return value});var _VirtualDom_divertHrefToApp;F2(function(tagger,finalTagger){return function(value){return tagger(finalTagger(value))}});var _VirtualDom_doc="undefined"!=typeof document?document:{};function _VirtualDom_appendChild(parent,child){parent.appendChild(child)}F4(function(virtualNode,flagDecoder,debugMetadata,args){var node=args.node;return node.parentNode.replaceChild(_VirtualDom_render(virtualNode,function(){}),node),{}});function _VirtualDom_text(string){return{$:0,a:string}}var _VirtualDom_node=F2(function(namespace,tag){return F2(function(factList,kidList){for(var kids=[],descendantsCount=0;kidList.b;kidList=kidList.b){var kid=kidList.a;descendantsCount+=kid.b||0,kids.push(kid)}return descendantsCount+=kids.length,{$:1,c:tag,d:_VirtualDom_organizeFacts(factList),e:kids,f:namespace,b:descendantsCount}})})(void 0);F2(function(namespace,tag){return F2(function(factList,kidList){for(var kids=[],descendantsCount=0;kidList.b;kidList=kidList.b){var kid=kidList.a;descendantsCount+=kid.b.b||0,kids.push(kid)}return descendantsCount+=kids.length,{$:2,c:tag,d:_VirtualDom_organizeFacts(factList),e:kids,f:namespace,b:descendantsCount}})})(void 0);F2(function(tagger,node){return{$:4,j:tagger,k:node,b:1+(node.b||0)}});function _VirtualDom_thunk(refs,thunk){return{$:5,l:refs,m:thunk,k:void 0}}F2(function(func,a){return _VirtualDom_thunk([func,a],function(){return func(a)})}),F3(function(func,a,b){return _VirtualDom_thunk([func,a,b],function(){return A2(func,a,b)})}),F4(function(func,a,b,c){return _VirtualDom_thunk([func,a,b,c],function(){return A3(func,a,b,c)})}),F5(function(func,a,b,c,d){return _VirtualDom_thunk([func,a,b,c,d],function(){return A4(func,a,b,c,d)})}),F6(function(func,a,b,c,d,e){return _VirtualDom_thunk([func,a,b,c,d,e],function(){return A5(func,a,b,c,d,e)})}),F7(function(func,a,b,c,d,e,f){return _VirtualDom_thunk([func,a,b,c,d,e,f],function(){return A6(func,a,b,c,d,e,f)})}),F8(function(func,a,b,c,d,e,f,g){return _VirtualDom_thunk([func,a,b,c,d,e,f,g],function(){return function(fun,a,b,c,d,e,f,g){return 7===fun.a?fun.f(a,b,c,d,e,f,g):fun(a)(b)(c)(d)(e)(f)(g)}(func,a,b,c,d,e,f,g)})}),F9(function(func,a,b,c,d,e,f,g,h){return _VirtualDom_thunk([func,a,b,c,d,e,f,g,h],function(){return function(fun,a,b,c,d,e,f,g,h){return 8===fun.a?fun.f(a,b,c,d,e,f,g,h):fun(a)(b)(c)(d)(e)(f)(g)(h)}(func,a,b,c,d,e,f,g,h)})});var _VirtualDom_on=F2(function(key,handler){return{$:"a0",n:key,o:handler}}),_VirtualDom_style=F2(function(key,value){return{$:"a1",n:key,o:value}}),_VirtualDom_property=F2(function(key,value){return{$:"a2",n:key,o:value}}),_VirtualDom_attribute=F2(function(key,value){return{$:"a3",n:key,o:value}});F3(function(namespace,key,value){return{$:"a4",n:key,o:{f:namespace,o:value}}});F2(function(func,attr){return"a0"===attr.$?A2(_VirtualDom_on,attr.n,function(func,handler){var tag=elm$virtual_dom$VirtualDom$toHandlerInt(handler);return{$:handler.$,a:tag?A3(elm$json$Json$Decode$map2,3>tag?_VirtualDom_mapEventTuple:_VirtualDom_mapEventRecord,elm$json$Json$Decode$succeed(func),handler.a):A2(elm$json$Json$Decode$map,func,handler.a)}}(func,attr.o)):attr});var _VirtualDom_passiveSupported,_VirtualDom_mapEventTuple=F2(function(func,tuple){return _Utils_Tuple2(func(tuple.a),tuple.b)}),_VirtualDom_mapEventRecord=F2(function(func,record){return{k:func(record.k),M:record.M,K:record.K}});function _VirtualDom_organizeFacts(factList){for(var facts={};factList.b;factList=factList.b){var entry=factList.a,tag=entry.$,key=entry.n,value=entry.o;if("a2"!==tag){var subFacts=facts[tag]||(facts[tag]={});"a3"===tag&&"class"===key?_VirtualDom_addClass(subFacts,key,value):subFacts[key]=value}else"className"===key?_VirtualDom_addClass(facts,key,_Json_unwrap(value)):facts[key]=_Json_unwrap(value)}return facts}function _VirtualDom_addClass(object,key,newClass){var classes=object[key];object[key]=classes?classes+" "+newClass:newClass}function _VirtualDom_render(vNode,eventNode){var tag=vNode.$;if(5===tag)return _VirtualDom_render(vNode.k||(vNode.k=vNode.m()),eventNode);if(0===tag)return _VirtualDom_doc.createTextNode(vNode.a);if(4===tag){for(var subNode=vNode.k,tagger=vNode.j;4===subNode.$;)"object"!=typeof tagger?tagger=[tagger,subNode.j]:tagger.push(subNode.j),subNode=subNode.k;var subEventRoot={j:tagger,p:eventNode};return(domNode=_VirtualDom_render(subNode,subEventRoot)).elm_event_node_ref=subEventRoot,domNode}if(3===tag)return _VirtualDom_applyFacts(domNode=vNode.h(vNode.g),eventNode,vNode.d),domNode;var domNode=vNode.f?_VirtualDom_doc.createElementNS(vNode.f,vNode.c):_VirtualDom_doc.createElement(vNode.c);_VirtualDom_divertHrefToApp&&"a"==vNode.c&&domNode.addEventListener("click",_VirtualDom_divertHrefToApp(domNode)),_VirtualDom_applyFacts(domNode,eventNode,vNode.d);for(var kids=vNode.e,i=0;kids.length>i;i++)_VirtualDom_appendChild(domNode,_VirtualDom_render(1===tag?kids[i]:kids[i].b,eventNode));return domNode}function _VirtualDom_applyFacts(domNode,eventNode,facts){for(var key in facts){var value=facts[key];"a1"===key?_VirtualDom_applyStyles(domNode,value):"a0"===key?_VirtualDom_applyEvents(domNode,eventNode,value):"a3"===key?_VirtualDom_applyAttrs(domNode,value):"a4"===key?_VirtualDom_applyAttrsNS(domNode,value):("value"!==key||"checked"!==key||domNode[key]!==value)&&(domNode[key]=value)}}function _VirtualDom_applyStyles(domNode,styles){var domNodeStyle=domNode.style;for(var key in styles)domNodeStyle[key]=styles[key]}function _VirtualDom_applyAttrs(domNode,attrs){for(var key in attrs){var value=attrs[key];value?domNode.setAttribute(key,value):domNode.removeAttribute(key)}}function _VirtualDom_applyAttrsNS(domNode,nsAttrs){for(var key in nsAttrs){var pair=nsAttrs[key],namespace=pair.f,value=pair.o;value?domNode.setAttributeNS(namespace,key,value):domNode.removeAttributeNS(namespace,key)}}function _VirtualDom_applyEvents(domNode,eventNode,events){var allCallbacks=domNode.elmFs||(domNode.elmFs={});for(var key in events){var newHandler=events[key],oldCallback=allCallbacks[key];if(newHandler){if(oldCallback){if(oldCallback.q.$===newHandler.$){oldCallback.q=newHandler;continue}domNode.removeEventListener(key,oldCallback)}oldCallback=_VirtualDom_makeCallback(eventNode,newHandler),domNode.addEventListener(key,oldCallback,_VirtualDom_passiveSupported&&{passive:2>elm$virtual_dom$VirtualDom$toHandlerInt(newHandler)}),allCallbacks[key]=oldCallback}else domNode.removeEventListener(key,oldCallback),allCallbacks[key]=void 0}}try{window.addEventListener("t",null,Object.defineProperty({},"passive",{get:function(){_VirtualDom_passiveSupported=!0}}))}catch(e){}function _VirtualDom_makeCallback(eventNode,initialHandler){function callback(event){var handler=callback.q,result=_Json_runHelp(handler.a,event);if(elm$core$Result$isOk(result)){for(var tagger,tag=elm$virtual_dom$VirtualDom$toHandlerInt(handler),value=result.a,message=tag?3>tag?value.a:value.k:value,stopPropagation=1==tag?value.b:3==tag&&value.M,currentEventNode=(stopPropagation&&event.stopPropagation(),(2==tag?value.b:3==tag&&value.K)&&event.preventDefault(),eventNode);tagger=currentEventNode.j;){if("function"==typeof tagger)message=tagger(message);else for(var i=tagger.length;i--;)message=tagger[i](message);currentEventNode=currentEventNode.p}currentEventNode(message,stopPropagation)}}return callback.q=initialHandler,callback}function _VirtualDom_equalEvents(x,y){return x.$==y.$&&_Json_equality(x.a,y.a)}function _VirtualDom_diff(x,y){var patches=[];return _VirtualDom_diffHelp(x,y,patches,0),patches}function _VirtualDom_pushPatch(patches,type,index,data){var patch={$:type,r:index,s:data,t:void 0,u:void 0};return patches.push(patch),patch}function _VirtualDom_diffHelp(x,y,patches,index){if(x!==y){var xType=x.$,yType=y.$;if(xType!==yType){if(1!==xType||2!==yType)return void _VirtualDom_pushPatch(patches,0,index,y);y=function(keyedNode){for(var keyedKids=keyedNode.e,len=keyedKids.length,kids=Array(len),i=0;len>i;i++)kids[i]=keyedKids[i].b;return{$:1,c:keyedNode.c,d:keyedNode.d,e:kids,f:keyedNode.f,b:keyedNode.b}}(y),yType=1}switch(yType){case 5:for(var xRefs=x.l,yRefs=y.l,i=xRefs.length,same=i===yRefs.length;same&&i--;)same=xRefs[i]===yRefs[i];if(same)return void(y.k=x.k);y.k=y.m();var subPatches=[];return _VirtualDom_diffHelp(x.k,y.k,subPatches,0),void(subPatches.length>0&&_VirtualDom_pushPatch(patches,1,index,subPatches));case 4:for(var xTaggers=x.j,yTaggers=y.j,nesting=!1,xSubNode=x.k;4===xSubNode.$;)nesting=!0,"object"!=typeof xTaggers?xTaggers=[xTaggers,xSubNode.j]:xTaggers.push(xSubNode.j),xSubNode=xSubNode.k;for(var ySubNode=y.k;4===ySubNode.$;)nesting=!0,"object"!=typeof yTaggers?yTaggers=[yTaggers,ySubNode.j]:yTaggers.push(ySubNode.j),ySubNode=ySubNode.k;return nesting&&xTaggers.length!==yTaggers.length?void _VirtualDom_pushPatch(patches,0,index,y):((nesting?function(as,bs){for(var i=0;as.length>i;i++)if(as[i]!==bs[i])return!1;return!0}(xTaggers,yTaggers):xTaggers===yTaggers)||_VirtualDom_pushPatch(patches,2,index,yTaggers),void _VirtualDom_diffHelp(xSubNode,ySubNode,patches,index+1));case 0:return void(x.a!==y.a&&_VirtualDom_pushPatch(patches,3,index,y.a));case 1:return void _VirtualDom_diffNodes(x,y,patches,index,_VirtualDom_diffKids);case 2:return void _VirtualDom_diffNodes(x,y,patches,index,_VirtualDom_diffKeyedKids);case 3:if(x.h!==y.h)return void _VirtualDom_pushPatch(patches,0,index,y);var factsDiff=_VirtualDom_diffFacts(x.d,y.d);factsDiff&&_VirtualDom_pushPatch(patches,4,index,factsDiff);var patch=y.i(x.g,y.g);return void(patch&&_VirtualDom_pushPatch(patches,5,index,patch))}}}function _VirtualDom_diffNodes(x,y,patches,index,diffKids){if(x.c===y.c&&x.f===y.f){var factsDiff=_VirtualDom_diffFacts(x.d,y.d);factsDiff&&_VirtualDom_pushPatch(patches,4,index,factsDiff),diffKids(x,y,patches,index)}else _VirtualDom_pushPatch(patches,0,index,y)}function _VirtualDom_diffFacts(x,y,category){var diff;for(var xKey in x)if("a1"!==xKey&&"a0"!==xKey&&"a3"!==xKey&&"a4"!==xKey)if(xKey in y){var xValue=x[xKey],yValue=y[xKey];xValue===yValue&&"value"!==xKey&&"checked"!==xKey||"a0"===category&&_VirtualDom_equalEvents(xValue,yValue)||((diff=diff||{})[xKey]=yValue)}else(diff=diff||{})[xKey]=category?"a1"===category?"":"a0"===category||"a3"===category?void 0:{f:x[xKey].f,o:void 0}:"string"==typeof x[xKey]?"":null;else{var subDiff=_VirtualDom_diffFacts(x[xKey],y[xKey]||{},xKey);subDiff&&((diff=diff||{})[xKey]=subDiff)}for(var yKey in y)yKey in x||((diff=diff||{})[yKey]=y[yKey]);return diff}function _VirtualDom_diffKids(xParent,yParent,patches,index){var xKids=xParent.e,yKids=yParent.e,xLen=xKids.length,yLen=yKids.length;xLen>yLen?_VirtualDom_pushPatch(patches,6,index,{v:yLen,i:xLen-yLen}):yLen>xLen&&_VirtualDom_pushPatch(patches,7,index,{v:xLen,e:yKids});for(var minLen=yLen>xLen?xLen:yLen,i=0;minLen>i;i++){var xKid=xKids[i];_VirtualDom_diffHelp(xKid,yKids[i],patches,++index),index+=xKid.b||0}}function _VirtualDom_diffKeyedKids(xParent,yParent,patches,rootIndex){for(var localPatches=[],changes={},inserts=[],xKids=xParent.e,yKids=yParent.e,xLen=xKids.length,yLen=yKids.length,xIndex=0,yIndex=0,index=rootIndex;xLen>xIndex&&yLen>yIndex;){var xKey=(x=xKids[xIndex]).a,yKey=(y=yKids[yIndex]).a,xNode=x.b,yNode=y.b;if(xKey!==yKey){var xNext=xKids[xIndex+1],yNext=yKids[yIndex+1];if(xNext)var xNextKey=xNext.a,xNextNode=xNext.b,oldMatch=yKey===xNextKey;if(yNext)var yNextKey=yNext.a,yNextNode=yNext.b,newMatch=xKey===yNextKey;if(newMatch&&oldMatch)_VirtualDom_diffHelp(xNode,yNextNode,localPatches,++index),_VirtualDom_insertNode(changes,localPatches,xKey,yNode,yIndex,inserts),index+=xNode.b||0,_VirtualDom_removeNode(changes,localPatches,xKey,xNextNode,++index),index+=xNextNode.b||0,xIndex+=2,yIndex+=2;else if(newMatch)index++,_VirtualDom_insertNode(changes,localPatches,yKey,yNode,yIndex,inserts),_VirtualDom_diffHelp(xNode,yNextNode,localPatches,index),index+=xNode.b||0,xIndex+=1,yIndex+=2;else if(oldMatch)_VirtualDom_removeNode(changes,localPatches,xKey,xNode,++index),index+=xNode.b||0,_VirtualDom_diffHelp(xNextNode,yNode,localPatches,++index),index+=xNextNode.b||0,xIndex+=2,yIndex+=1;else{if(!xNext||xNextKey!==yNextKey)break;_VirtualDom_removeNode(changes,localPatches,xKey,xNode,++index),_VirtualDom_insertNode(changes,localPatches,yKey,yNode,yIndex,inserts),index+=xNode.b||0,_VirtualDom_diffHelp(xNextNode,yNextNode,localPatches,++index),index+=xNextNode.b||0,xIndex+=2,yIndex+=2}}else _VirtualDom_diffHelp(xNode,yNode,localPatches,++index),index+=xNode.b||0,xIndex++,yIndex++}for(;xLen>xIndex;){var x;_VirtualDom_removeNode(changes,localPatches,(x=xKids[xIndex]).a,xNode=x.b,++index),index+=xNode.b||0,xIndex++}for(;yLen>yIndex;){var y,endInserts=endInserts||[];_VirtualDom_insertNode(changes,localPatches,(y=yKids[yIndex]).a,y.b,void 0,endInserts),yIndex++}(localPatches.length>0||inserts.length>0||endInserts)&&_VirtualDom_pushPatch(patches,8,rootIndex,{w:localPatches,x:inserts,y:endInserts})}var _VirtualDom_POSTFIX="_elmW6BL";function _VirtualDom_insertNode(changes,localPatches,key,vnode,yIndex,inserts){var entry=changes[key];if(!entry)return inserts.push({r:yIndex,A:entry={c:0,z:vnode,r:yIndex,s:void 0}}),void(changes[key]=entry);if(1===entry.c){inserts.push({r:yIndex,A:entry}),entry.c=2;var subPatches=[];return _VirtualDom_diffHelp(entry.z,vnode,subPatches,entry.r),entry.r=yIndex,void(entry.s.s={w:subPatches,A:entry})}_VirtualDom_insertNode(changes,localPatches,key+_VirtualDom_POSTFIX,vnode,yIndex,inserts)}function _VirtualDom_removeNode(changes,localPatches,key,vnode,index){var entry=changes[key];if(entry){if(0===entry.c){entry.c=2;var subPatches=[];return _VirtualDom_diffHelp(vnode,entry.z,subPatches,index),void _VirtualDom_pushPatch(localPatches,9,index,{w:subPatches,A:entry})}_VirtualDom_removeNode(changes,localPatches,key+_VirtualDom_POSTFIX,vnode,index)}else{var patch=_VirtualDom_pushPatch(localPatches,9,index,void 0);changes[key]={c:1,z:vnode,r:index,s:patch}}}function _VirtualDom_addDomNodes(domNode,vNode,patches,eventNode){!function _VirtualDom_addDomNodesHelp(domNode,vNode,patches,i,low,high,eventNode){var patch=patches[i];var index=patch.r;for(;index===low;){var patchType=patch.$;if(1===patchType)_VirtualDom_addDomNodes(domNode,vNode.k,patch.s,eventNode);else if(8===patchType){patch.t=domNode,patch.u=eventNode;var subPatches=patch.s.w;subPatches.length>0&&_VirtualDom_addDomNodesHelp(domNode,vNode,subPatches,0,low,high,eventNode)}else if(9===patchType){patch.t=domNode,patch.u=eventNode;var data=patch.s;if(data){data.A.s=domNode;var subPatches=data.w;subPatches.length>0&&_VirtualDom_addDomNodesHelp(domNode,vNode,subPatches,0,low,high,eventNode)}}else patch.t=domNode,patch.u=eventNode;if(!(patch=patches[++i])||(index=patch.r)>high)return i}var tag=vNode.$;if(4===tag){for(var subNode=vNode.k;4===subNode.$;)subNode=subNode.k;return _VirtualDom_addDomNodesHelp(domNode,subNode,patches,i,low+1,high,domNode.elm_event_node_ref)}var vKids=vNode.e;var childNodes=domNode.childNodes;for(var j=0;vKids.length>j;j++){low++;var vKid=1===tag?vKids[j]:vKids[j].b,nextLow=low+(vKid.b||0);if(index>=low&&nextLow>=index&&(i=_VirtualDom_addDomNodesHelp(childNodes[j],vKid,patches,i,low,nextLow,eventNode),!(patch=patches[i])||(index=patch.r)>high))return i;low=nextLow}return i}(domNode,vNode,patches,0,0,vNode.b,eventNode)}function _VirtualDom_applyPatches(rootDomNode,oldVirtualNode,patches,eventNode){return 0===patches.length?rootDomNode:(_VirtualDom_addDomNodes(rootDomNode,oldVirtualNode,patches,eventNode),_VirtualDom_applyPatchesHelp(rootDomNode,patches))}function _VirtualDom_applyPatchesHelp(rootDomNode,patches){for(var i=0;patches.length>i;i++){var patch=patches[i],localDomNode=patch.t,newNode=_VirtualDom_applyPatch(localDomNode,patch);localDomNode===rootDomNode&&(rootDomNode=newNode)}return rootDomNode}function _VirtualDom_applyPatch(domNode,patch){switch(patch.$){case 0:return function(domNode,vNode,eventNode){var parentNode=domNode.parentNode,newNode=_VirtualDom_render(vNode,eventNode);newNode.elm_event_node_ref||(newNode.elm_event_node_ref=domNode.elm_event_node_ref);parentNode&&newNode!==domNode&&parentNode.replaceChild(newNode,domNode);return newNode}(domNode,patch.s,patch.u);case 4:return _VirtualDom_applyFacts(domNode,patch.u,patch.s),domNode;case 3:return domNode.replaceData(0,domNode.length,patch.s),domNode;case 1:return _VirtualDom_applyPatchesHelp(domNode,patch.s);case 2:return domNode.elm_event_node_ref?domNode.elm_event_node_ref.j=patch.s:domNode.elm_event_node_ref={j:patch.s,p:patch.u},domNode;case 6:for(var data=patch.s,i=0;data.i>i;i++)domNode.removeChild(domNode.childNodes[data.v]);return domNode;case 7:for(var kids=(data=patch.s).e,theEnd=domNode.childNodes[i=data.v];kids.length>i;i++)domNode.insertBefore(_VirtualDom_render(kids[i],patch.u),theEnd);return domNode;case 9:if(!(data=patch.s))return domNode.parentNode.removeChild(domNode),domNode;var entry=data.A;return void 0!==entry.r&&domNode.parentNode.removeChild(domNode),entry.s=_VirtualDom_applyPatchesHelp(domNode,data.w),domNode;case 8:return function(domNode,patch){var data=patch.s,frag=function(endInserts,patch){if(!endInserts)return;for(var frag=_VirtualDom_doc.createDocumentFragment(),i=0;endInserts.length>i;i++){var insert=endInserts[i],entry=insert.A;_VirtualDom_appendChild(frag,2===entry.c?entry.s:_VirtualDom_render(entry.z,patch.u))}return frag}(data.y,patch);domNode=_VirtualDom_applyPatchesHelp(domNode,data.w);for(var inserts=data.x,i=0;inserts.length>i;i++){var insert=inserts[i],entry=insert.A,node=2===entry.c?entry.s:_VirtualDom_render(entry.z,patch.u);domNode.insertBefore(node,domNode.childNodes[insert.r])}frag&&_VirtualDom_appendChild(domNode,frag);return domNode}(domNode,patch);case 5:return patch.s(domNode);default:_Debug_crash(10)}}function _VirtualDom_virtualize(node){if(3===node.nodeType)return _VirtualDom_text(node.textContent);if(1!==node.nodeType)return _VirtualDom_text("");for(var attrList=_List_Nil,attrs=node.attributes,i=attrs.length;i--;){var attr=attrs[i];attrList=_List_Cons(A2(_VirtualDom_attribute,attr.name,attr.value),attrList)}var tag=node.tagName.toLowerCase(),kidList=_List_Nil,kids=node.childNodes;for(i=kids.length;i--;)kidList=_List_Cons(_VirtualDom_virtualize(kids[i]),kidList);return A3(_VirtualDom_node,tag,attrList,kidList)}var _Browser_element=F4(function(impl,flagDecoder,debugMetadata,args){return _Platform_initialize(flagDecoder,args,impl.as,impl.aA,impl.ay,function(sendToApp,initialModel){var view=impl.aC,domNode=args.node,currNode=_VirtualDom_virtualize(domNode);return _Browser_makeAnimator(initialModel,function(model){var nextNode=view(model),patches=_VirtualDom_diff(currNode,nextNode);domNode=_VirtualDom_applyPatches(domNode,currNode,patches,sendToApp),currNode=nextNode})})}),_Browser_requestAnimationFrame=(F4(function(impl,flagDecoder,debugMetadata,args){return _Platform_initialize(flagDecoder,args,impl.as,impl.aA,impl.ay,function(sendToApp,initialModel){var divertHrefToApp=impl.B&&impl.B(sendToApp),view=impl.aC,title=_VirtualDom_doc.title,bodyNode=_VirtualDom_doc.body,currNode=_VirtualDom_virtualize(bodyNode);return _Browser_makeAnimator(initialModel,function(model){_VirtualDom_divertHrefToApp=divertHrefToApp;var doc=view(model),nextNode=_VirtualDom_node("body")(_List_Nil)(doc.al),patches=_VirtualDom_diff(currNode,nextNode);bodyNode=_VirtualDom_applyPatches(bodyNode,currNode,patches,sendToApp),currNode=nextNode,_VirtualDom_divertHrefToApp=0,title!==doc.az&&(_VirtualDom_doc.title=title=doc.az)})})}),"undefined"!=typeof requestAnimationFrame?requestAnimationFrame:function(callback){setTimeout(callback,1e3/60)});function _Browser_makeAnimator(model,draw){draw(model);var state=0;function updateIfNeeded(){state=1===state?0:(_Browser_requestAnimationFrame(updateIfNeeded),draw(model),1)}return function(nextModel,isSync){model=nextModel,isSync?(draw(model),2===state&&(state=1)):(0===state&&_Browser_requestAnimationFrame(updateIfNeeded),state=2)}}F2(function(key,n){return A2(elm$core$Task$perform,elm$core$Basics$never,_Scheduler_binding(function(){n&&history.go(n),key()}))}),F2(function(key,url){return A2(elm$core$Task$perform,elm$core$Basics$never,_Scheduler_binding(function(){history.pushState({},"",url),key()}))}),F2(function(key,url){return A2(elm$core$Task$perform,elm$core$Basics$never,_Scheduler_binding(function(){history.replaceState({},"",url),key()}))});var _Browser_fakeNode={addEventListener:function(){},removeEventListener:function(){}},_Browser_window=("undefined"!=typeof document&&document,"undefined"!=typeof window?window:_Browser_fakeNode);F3(function(node,eventName,sendToSelf){return _Scheduler_spawn(_Scheduler_binding(function(){function handler(event){_Scheduler_rawSpawn(sendToSelf(event))}return node.addEventListener(eventName,handler,_VirtualDom_passiveSupported&&{passive:!0}),function(){node.removeEventListener(eventName,handler)}}))}),F2(function(decoder,event){var result=_Json_runHelp(decoder,event);return elm$core$Result$isOk(result)?elm$core$Maybe$Just(result.a):elm$core$Maybe$Nothing});function _Browser_withNode(id,doStuff){return _Scheduler_binding(function(callback){_Browser_requestAnimationFrame(function(){var node=document.getElementById(id);callback(node?_Scheduler_succeed(doStuff(node)):{$:1,a:elm$browser$Browser$Dom$NotFound(id)})})})}F2(function(functionName,id){return _Browser_withNode(id,function(node){return node[functionName](),_Utils_Tuple0})});F2(function(x,y){return doStuff=function(){return _Browser_window.scroll(x,y),_Utils_Tuple0},_Scheduler_binding(function(callback){_Browser_requestAnimationFrame(function(){callback(_Scheduler_succeed(doStuff()))})});var doStuff});F3(function(id,x,y){return _Browser_withNode(id,function(node){return node.scrollLeft=x,node.scrollTop=y,_Utils_Tuple0})});var subMap,elm$core$Result$isOk=function(result){return!result.$},elm$core$Basics$EQ=1,elm$core$Basics$GT=2,elm$core$Basics$LT=0,elm$core$Dict$foldr=F3(function(func,acc,t){for(;;){if(-2===t.$)return acc;var left=t.d,$temp$func=func,$temp$acc=A3(func,t.b,t.c,A3(elm$core$Dict$foldr,func,acc,t.e));func=$temp$func,acc=$temp$acc,t=left}}),elm$core$List$cons=_List_cons,elm$core$Dict$toList=function(dict){return A3(elm$core$Dict$foldr,F3(function(key,value,list){return A2(elm$core$List$cons,_Utils_Tuple2(key,value),list)}),_List_Nil,dict)},elm$core$Elm$JsArray$foldr=_JsArray_foldr,elm$core$Array$Array_elm_builtin=(F3(function(func,baseCase,_n0){var tree=_n0.c,tail=_n0.d,helper=F2(function(node,acc){return A3(elm$core$Elm$JsArray$foldr,node.$?func:helper,acc,node.a)});return A3(elm$core$Elm$JsArray$foldr,helper,A3(elm$core$Elm$JsArray$foldr,func,baseCase,tail),tree)}),F4(function(a,b,c,d){return{$:0,a:a,b:b,c:c,d:d}})),elm$core$Basics$ceiling=_Basics_ceiling,elm$core$Basics$logBase=F2(function(base,number){return _Basics_log(number)/_Basics_log(base)}),elm$core$Array$shiftStep=elm$core$Basics$ceiling(A2(elm$core$Basics$logBase,2,32)),elm$core$Elm$JsArray$empty=[],elm$core$Array$empty=A4(elm$core$Array$Array_elm_builtin,0,elm$core$Array$shiftStep,elm$core$Elm$JsArray$empty,elm$core$Elm$JsArray$empty),elm$core$Elm$JsArray$initializeFromList=_JsArray_initializeFromList,elm$core$List$foldl=F3(function(func,acc,list){for(;;){if(!list.b)return acc;var xs=list.b,$temp$func=func,$temp$acc=A2(func,list.a,acc);func=$temp$func,acc=$temp$acc,list=xs}}),elm$core$List$reverse=function(list){return A3(elm$core$List$foldl,elm$core$List$cons,_List_Nil,list)},elm$core$Array$compressNodes=F2(function(nodes,acc){for(;;){var _n0=A2(elm$core$Elm$JsArray$initializeFromList,32,nodes),remainingNodes=_n0.b,newAcc=A2(elm$core$List$cons,{$:0,a:_n0.a},acc);if(!remainingNodes.b)return elm$core$List$reverse(newAcc);nodes=remainingNodes,acc=newAcc}}),elm$core$Array$treeFromBuilder=(F2(function(x,f){return f(x)}),F2(function(nodeList,nodeListSize){for(;;){var newNodeSize=elm$core$Basics$ceiling(nodeListSize/32);if(1===newNodeSize)return A2(elm$core$Elm$JsArray$initializeFromList,32,nodeList).a;nodeList=A2(elm$core$Array$compressNodes,nodeList,_List_Nil),nodeListSize=newNodeSize}})),elm$core$Basics$floor=(F2(function(f,x){return f(x)}),_Basics_floor),elm$core$Basics$max=F2(function(x,y){return _Utils_cmp(x,y)>0?x:y}),elm$core$Elm$JsArray$length=function(array){return array.length},elm$core$Array$builderToArray=F2(function(reverseNodeList,builder){if(builder.a){var treeLen=32*builder.a,depth=elm$core$Basics$floor(A2(elm$core$Basics$logBase,32,treeLen-1)),correctNodeList=reverseNodeList?elm$core$List$reverse(builder.d):builder.d,tree=A2(elm$core$Array$treeFromBuilder,correctNodeList,builder.a);return A4(elm$core$Array$Array_elm_builtin,elm$core$Elm$JsArray$length(builder.c)+treeLen,A2(elm$core$Basics$max,5,depth*elm$core$Array$shiftStep),tree,builder.c)}return A4(elm$core$Array$Array_elm_builtin,elm$core$Elm$JsArray$length(builder.c),elm$core$Array$shiftStep,elm$core$Elm$JsArray$empty,builder.c)}),elm$core$Elm$JsArray$initialize=_JsArray_initialize,elm$core$Array$initializeHelp=F5(function(fn,fromIndex,len,nodeList,tail){for(;;){if(0>fromIndex)return A2(elm$core$Array$builderToArray,!1,{d:nodeList,a:len/32|0,c:tail});var leaf={$:1,a:A3(elm$core$Elm$JsArray$initialize,32,fromIndex,fn)};fn=fn,fromIndex=fromIndex-32,len=len,nodeList=A2(elm$core$List$cons,leaf,nodeList),tail=tail}}),elm$core$Array$initialize=F2(function(len,fn){if(len>0){var tailLen=len%32,tail=A3(elm$core$Elm$JsArray$initialize,tailLen,len-tailLen,fn);return A5(elm$core$Array$initializeHelp,fn,len-tailLen-32,len,_List_Nil,tail)}return elm$core$Array$empty}),elm$core$Maybe$Just=function(a){return{$:0,a:a}},elm$core$Maybe$Nothing={$:1},elm$core$Result$Err=function(a){return{$:1,a:a}},elm$core$Result$Ok=function(a){return{$:0,a:a}},elm$json$Json$Decode$Failure=F2(function(a,b){return{$:3,a:a,b:b}}),elm$json$Json$Decode$Field=F2(function(a,b){return{$:0,a:a,b:b}}),elm$json$Json$Decode$Index=F2(function(a,b){return{$:1,a:a,b:b}}),elm$json$Json$Decode$OneOf=function(a){return{$:2,a:a}},elm$core$Char$toCode=function(char){var code=char.charCodeAt(0);return 55296>code||code>56319?code:1024*(code-55296)+char.charCodeAt(1)-56320+65536},elm$core$Char$isLower=function(_char){var code=elm$core$Char$toCode(_char);return code>=97&&122>=code},elm$core$Char$isUpper=function(_char){var code=elm$core$Char$toCode(_char);return 90>=code&&code>=65},elm$core$Char$isAlpha=function(_char){return elm$core$Char$isLower(_char)||elm$core$Char$isUpper(_char)},elm$core$Char$isAlphaNum=function(_char){return elm$core$Char$isLower(_char)||elm$core$Char$isUpper(_char)||function(_char){var code=elm$core$Char$toCode(_char);return 57>=code&&code>=48}(_char)},elm$core$List$length=function(xs){return A3(elm$core$List$foldl,F2(function(_n0,i){return i+1}),0,xs)},elm$core$List$map2=_List_map2,elm$core$List$rangeHelp=F3(function(lo,hi,list){for(;;){if(_Utils_cmp(lo,hi)>=1)return list;var $temp$lo=lo,$temp$hi=hi-1,$temp$list=A2(elm$core$List$cons,hi,list);lo=$temp$lo,hi=$temp$hi,list=$temp$list}}),elm$core$List$range=F2(function(lo,hi){return A3(elm$core$List$rangeHelp,lo,hi,_List_Nil)}),elm$core$List$indexedMap=F2(function(f,xs){return A3(elm$core$List$map2,f,A2(elm$core$List$range,0,elm$core$List$length(xs)-1),xs)}),elm$core$String$all=_String_all,elm$core$String$fromInt=function(number){return number+""},elm$core$String$join=F2(function(sep,chunks){return A2(_String_join,sep,_List_toArray(chunks))}),elm$core$String$uncons=function(string){var word=string.charCodeAt(0);return word?elm$core$Maybe$Just(55296>word||word>56319?_Utils_Tuple2(_Utils_chr(string[0]),string.slice(1)):_Utils_Tuple2(_Utils_chr(string[0]+string[1]),string.slice(2))):elm$core$Maybe$Nothing},elm$core$String$split=F2(function(sep,string){return _List_fromArray(A2(_String_split,sep,string))}),elm$json$Json$Decode$indent=function(str){return A2(elm$core$String$join,"\n ",A2(elm$core$String$split,"\n",str))},elm$json$Json$Encode$encode=_Json_encode,elm$json$Json$Decode$errorOneOf=F2(function(i,error){return"\n\n("+elm$core$String$fromInt(i+1)+") "+elm$json$Json$Decode$indent(elm$json$Json$Decode$errorToString(error))}),elm$json$Json$Decode$errorToString=function(error){return A2(elm$json$Json$Decode$errorToStringHelp,error,_List_Nil)},elm$json$Json$Decode$errorToStringHelp=F2(function(error,context){errorToStringHelp:for(;;)switch(error.$){case 0:var f=error.a,err=error.b,isSimple=function(){var _n1=elm$core$String$uncons(f);if(1===_n1.$)return!1;var _n2=_n1.a,rest=_n2.b;return elm$core$Char$isAlpha(_n2.a)&&A2(elm$core$String$all,elm$core$Char$isAlphaNum,rest)}(),$temp$error=err,$temp$context=A2(elm$core$List$cons,isSimple?"."+f:"['"+f+"']",context);error=$temp$error,context=$temp$context;continue errorToStringHelp;case 1:err=error.b;var indexName="["+elm$core$String$fromInt(error.a)+"]";$temp$error=err,$temp$context=A2(elm$core$List$cons,indexName,context);error=$temp$error,context=$temp$context;continue errorToStringHelp;case 2:var errors=error.a;if(errors.b){if(errors.b.b){var introduction=(context.b?"The Json.Decode.oneOf at json"+A2(elm$core$String$join,"",elm$core$List$reverse(context)):"Json.Decode.oneOf")+" failed in the following "+elm$core$String$fromInt(elm$core$List$length(errors))+" ways:";return A2(elm$core$String$join,"\n\n",A2(elm$core$List$cons,introduction,A2(elm$core$List$indexedMap,elm$json$Json$Decode$errorOneOf,errors)))}error=$temp$error=err=errors.a,context=$temp$context=context;continue errorToStringHelp}return"Ran into a Json.Decode.oneOf with no possibilities"+(context.b?" at json"+A2(elm$core$String$join,"",elm$core$List$reverse(context)):"!");default:var msg=error.a,json=error.b;return(introduction=context.b?"Problem with the value at json"+A2(elm$core$String$join,"",elm$core$List$reverse(context))+":\n\n ":"Problem with the given value:\n\n")+(elm$json$Json$Decode$indent(A2(elm$json$Json$Encode$encode,4,json))+"\n\n")+msg}}),elm$core$Platform$Cmd$none=_Platform_batch(_List_Nil),elm$core$Platform$Sub$none=_Platform_batch(_List_Nil),author$project$Main$update=F2(function(msg,model){return _Utils_Tuple2(model,elm$core$Platform$Cmd$none)}),elm$core$Basics$identity=function(x){return x},elm$json$Json$Decode$map=_Json_map1,elm$json$Json$Decode$map2=_Json_map2,elm$json$Json$Decode$succeed=function(msg){return{$:0,a:msg}},elm$virtual_dom$VirtualDom$toHandlerInt=function(handler){switch(handler.$){case 0:return 0;case 1:return 1;case 2:return 2;default:return 3}},elm$html$Html$div=_VirtualDom_node("div"),elm$html$Html$h1=_VirtualDom_node("h1"),elm$html$Html$img=_VirtualDom_node("img"),elm$html$Html$text=_VirtualDom_text,elm$json$Json$Encode$string=_Json_wrap,elm$html$Html$Attributes$stringProperty=F2(function(key,string){return A2(_VirtualDom_property,key,elm$json$Json$Encode$string(string))}),elm$html$Html$Attributes$style=_VirtualDom_style,elm$browser$Browser$Dom$NotFound=elm$core$Basics$identity,elm$core$Basics$never=function(_n0){for(;;){_n0=_n0}},elm$core$Task$succeed=_Scheduler_succeed,elm$core$Task$init=elm$core$Task$succeed(0),elm$core$List$foldrHelper=F4(function(fn,acc,ctr,ls){if(ls.b){var a=ls.a,r1=ls.b;if(r1.b){var b=r1.a,r2=r1.b;if(r2.b){var c=r2.a,r3=r2.b;if(r3.b){var r4=r3.b;return A2(fn,a,A2(fn,b,A2(fn,c,A2(fn,r3.a,ctr>500?A3(elm$core$List$foldl,fn,acc,elm$core$List$reverse(r4)):A4(elm$core$List$foldrHelper,fn,acc,ctr+1,r4)))))}return A2(fn,a,A2(fn,b,A2(fn,c,acc)))}return A2(fn,a,A2(fn,b,acc))}return A2(fn,a,acc)}return acc}),elm$core$List$foldr=F3(function(fn,acc,ls){return A4(elm$core$List$foldrHelper,fn,acc,0,ls)}),elm$core$List$map=F2(function(f,xs){return A3(elm$core$List$foldr,F2(function(x,acc){return A2(elm$core$List$cons,f(x),acc)}),_List_Nil,xs)}),elm$core$Task$andThen=_Scheduler_andThen,elm$core$Task$map=F2(function(func,taskA){return A2(elm$core$Task$andThen,function(a){return elm$core$Task$succeed(func(a))},taskA)}),elm$core$Task$map2=F3(function(func,taskA,taskB){return A2(elm$core$Task$andThen,function(a){return A2(elm$core$Task$andThen,function(b){return elm$core$Task$succeed(A2(func,a,b))},taskB)},taskA)}),elm$core$Platform$sendToApp=_Platform_sendToApp,elm$core$Task$spawnCmd=F2(function(router,_n0){var task=_n0;return _Scheduler_spawn(A2(elm$core$Task$andThen,elm$core$Platform$sendToApp(router),task))}),elm$core$Task$onEffects=F3(function(router,commands){return A2(elm$core$Task$map,function(){return 0},(tasks=A2(elm$core$List$map,elm$core$Task$spawnCmd(router),commands),A3(elm$core$List$foldr,elm$core$Task$map2(elm$core$List$cons),elm$core$Task$succeed(_List_Nil),tasks)));var tasks}),elm$core$Task$onSelfMsg=F3(function(){return elm$core$Task$succeed(0)}),elm$core$Task$cmdMap=F2(function(tagger,_n0){return A2(elm$core$Task$map,tagger,_n0)});_Platform_effectManagers.Task={b:elm$core$Task$init,c:elm$core$Task$onEffects,d:elm$core$Task$onSelfMsg,e:elm$core$Task$cmdMap,f:subMap};var exports,elm$core$Task$command=_Platform_leaf("Task"),elm$core$Task$perform=F2(function(toMessage,task){return elm$core$Task$command(A2(elm$core$Task$map,toMessage,task))}),elm$core$String$length=function(str){return str.length},elm$core$String$slice=_String_slice,elm$core$String$dropLeft=F2(function(n,string){return 1>n?string:A3(elm$core$String$slice,n,elm$core$String$length(string),string)}),elm$core$String$indexes=_String_indexes,elm$core$String$isEmpty=function(string){return""===string},elm$core$String$left=F2(function(n,string){return 1>n?"":A3(elm$core$String$slice,0,n,string)}),elm$core$String$contains=_String_contains,elm$core$String$toInt=function(str){for(var total=0,code0=str.charCodeAt(0),start=43==code0||45==code0?1:0,i=start;str.length>i;++i){var code=str.charCodeAt(i);if(48>code||code>57)return elm$core$Maybe$Nothing;total=10*total+code-48}return i==start?elm$core$Maybe$Nothing:elm$core$Maybe$Just(45==code0?-total:total)},elm$url$Url$Url=F6(function(protocol,host,port_,path,query,fragment){return{S:fragment,T:host,X:path,Z:port_,ab:protocol,ac:query}}),elm$url$Url$chompBeforePath=F5(function(protocol,path,params,frag,str){if(elm$core$String$isEmpty(str)||A2(elm$core$String$contains,"@",str))return elm$core$Maybe$Nothing;var _n0=A2(elm$core$String$indexes,":",str);if(_n0.b){if(_n0.b.b)return elm$core$Maybe$Nothing;var i=_n0.a,_n1=elm$core$String$toInt(A2(elm$core$String$dropLeft,i+1,str));if(1===_n1.$)return elm$core$Maybe$Nothing;var port_=_n1;return elm$core$Maybe$Just(A6(elm$url$Url$Url,protocol,A2(elm$core$String$left,i,str),port_,path,params,frag))}return elm$core$Maybe$Just(A6(elm$url$Url$Url,protocol,str,elm$core$Maybe$Nothing,path,params,frag))}),elm$url$Url$chompBeforeQuery=F4(function(protocol,params,frag,str){if(elm$core$String$isEmpty(str))return elm$core$Maybe$Nothing;var _n0=A2(elm$core$String$indexes,"/",str);if(_n0.b){var i=_n0.a;return A5(elm$url$Url$chompBeforePath,protocol,A2(elm$core$String$dropLeft,i,str),params,frag,A2(elm$core$String$left,i,str))}return A5(elm$url$Url$chompBeforePath,protocol,"/",params,frag,str)}),elm$url$Url$chompBeforeFragment=F3(function(protocol,frag,str){if(elm$core$String$isEmpty(str))return elm$core$Maybe$Nothing;var _n0=A2(elm$core$String$indexes,"?",str);if(_n0.b){var i=_n0.a;return A4(elm$url$Url$chompBeforeQuery,protocol,elm$core$Maybe$Just(A2(elm$core$String$dropLeft,i+1,str)),frag,A2(elm$core$String$left,i,str))}return A4(elm$url$Url$chompBeforeQuery,protocol,elm$core$Maybe$Nothing,frag,str)}),author$project$Main$main=(F2(function(protocol,str){if(elm$core$String$isEmpty(str))return elm$core$Maybe$Nothing;var _n0=A2(elm$core$String$indexes,"#",str);if(_n0.b){var i=_n0.a;return A3(elm$url$Url$chompBeforeFragment,protocol,elm$core$Maybe$Just(A2(elm$core$String$dropLeft,i+1,str)),A2(elm$core$String$left,i,str))}return A3(elm$url$Url$chompBeforeFragment,protocol,elm$core$Maybe$Nothing,str)}),_Browser_element({as:function(){return _Utils_Tuple2({},elm$core$Platform$Cmd$none)},ay:function(){return elm$core$Platform$Sub$none},aA:author$project$Main$update,aC:function(){return A2(elm$html$Html$div,_List_fromArray([A2(elm$html$Html$Attributes$style,"text-align","center")]),_List_fromArray([A2(elm$html$Html$img,_List_fromArray([(url="/img/elm.png",A2(elm$html$Html$Attributes$stringProperty,"src",/^\s*(javascript:|data:text\/html)/i.test(value=url)?"":value))]),_List_Nil),A2(elm$html$Html$h1,_List_fromArray([A2(elm$html$Html$Attributes$style,"font-family","sans-serif")]),_List_fromArray([elm$html$Html$text("Hello, world")]))]));var url,value}}));exports={Main:{init:author$project$Main$main(elm$json$Json$Decode$succeed({}))(0)}},scope.Elm?function _Platform_mergeExportsProd(obj,exports){for(var name in exports)name in obj?"init"==name?_Debug_crash(6):_Platform_mergeExportsProd(obj[name],exports[name]):obj[name]=exports[name]}(scope.Elm,exports):scope.Elm=exports}(this)}]);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment